From 6533fd97f421c34ec801da2c503fa59e993ffdbf Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Thu, 16 Jan 2014 19:05:27 -0800 Subject: [PATCH 01/72] Add tests for mustache on node.js Also tweak the output print newlines slightly so that each time ends up on its own line. --- mediawiki/test1.php | 4 ++-- mediawiki/test1b-incid.php | 4 ++-- mediawiki/test2-loop.php | 4 ++-- mediawiki/test3-itterator.php | 4 ++-- mustache-node/test1.js | 11 +++++++++ mustache-node/test1b-incid.js | 12 ++++++++++ mustache-node/test2-loop-lambda.js | 34 +++++++++++++++++++++++++++ mustache-node/test2-loop.js | 35 ++++++++++++++++++++++++++++ mustache-node/test3-itterator.js | 29 +++++++++++++++++++++++ mustache/test1.php | 4 ++-- mustache/test1b-incid.php | 4 ++-- mustache/test2-loop-lambda.php | 4 ++-- mustache/test2-loop.php | 4 ++-- mustache/test3-itterator.php | 4 ++-- runall.sh | 34 +++++++++++++++++++++++++++ twigcache_file/test1.php | 4 ++-- twigcache_file/test1b-incid.php | 4 ++-- twigcache_file/test2-loop.php | 4 ++-- twigcache_file/test3-itterator.php | 4 ++-- twignocache/test1.php | 4 ++-- twignocache/test1b-incid.php | 4 ++-- twignocache/test2-loop.php | 4 ++-- twignocache/test3-itterator.php | 4 ++-- twignocache_file/test1.php | 4 ++-- twignocache_file/test1b-incid.php | 4 ++-- twignocache_file/test2-loop.php | 4 ++-- twignocache_file/test3-itterator.php | 4 ++-- 27 files changed, 197 insertions(+), 42 deletions(-) create mode 100644 mustache-node/test1.js create mode 100644 mustache-node/test1b-incid.js create mode 100644 mustache-node/test2-loop-lambda.js create mode 100644 mustache-node/test2-loop.js create mode 100644 mustache-node/test3-itterator.js mode change 100644 => 100755 runall.sh diff --git a/mediawiki/test1.php b/mediawiki/test1.php index e071a82..2716ec2 100644 --- a/mediawiki/test1.php +++ b/mediawiki/test1.php @@ -11,5 +11,5 @@ $vars['body'] = 'my div\'s body'; $html = Html::element( 'div', array( 'id' => $vars['id'] ), $vars['body'] ); } -echo "time: " . ( microtime(true) - $time_start ); -echo "\n$html\n"; +echo "time: " . ( microtime(true) - $time_start ) . "\n"; +echo "$html\n"; diff --git a/mediawiki/test1b-incid.php b/mediawiki/test1b-incid.php index 30a3961..651176c 100644 --- a/mediawiki/test1b-incid.php +++ b/mediawiki/test1b-incid.php @@ -11,5 +11,5 @@ $vars['body'] = 'my div\'s body'; $html = Html::element( 'div', array( 'id' => $vars['id'] ), $vars['body'] ); } -echo "time: " . ( microtime(true) - $time_start ); -echo "\n$html\n"; +echo "time: " . ( microtime(true) - $time_start ) . "\n"; +echo "$html\n"; diff --git a/mediawiki/test2-loop.php b/mediawiki/test2-loop.php index 47d0519..6d4bdbd 100644 --- a/mediawiki/test2-loop.php +++ b/mediawiki/test2-loop.php @@ -31,5 +31,5 @@ $body ); } -echo "time: " . ( microtime(true) - $time_start ); -#echo "\n$html\n"; +echo "time: " . ( microtime(true) - $time_start ) . "\n"; +#echo "$html\n"; diff --git a/mediawiki/test3-itterator.php b/mediawiki/test3-itterator.php index 2de6d14..baaae54 100644 --- a/mediawiki/test3-itterator.php +++ b/mediawiki/test3-itterator.php @@ -31,5 +31,5 @@ $body ); } -echo "time: " . ( microtime(true) - $time_start ); -#echo "\n$html\n"; +echo "time: " . ( microtime(true) - $time_start ) . "\n"; +#echo "$html\n"; diff --git a/mustache-node/test1.js b/mustache-node/test1.js new file mode 100644 index 0000000..4464860 --- /dev/null +++ b/mustache-node/test1.js @@ -0,0 +1,11 @@ +var mustache = require('mustache'); + +var startTime = new Date(), + vars = {}; +for ( n=0; n <= 100000; ++n ) { + vars.id = "divid"; + vars.body = 'my div\'s body'; + html = mustache.render('
{{ body }}
', vars ); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +console.log(html); diff --git a/mustache-node/test1b-incid.js b/mustache-node/test1b-incid.js new file mode 100644 index 0000000..1d55b5a --- /dev/null +++ b/mustache-node/test1b-incid.js @@ -0,0 +1,12 @@ +var mustache = require('mustache'); + + +var startTime = new Date(), + vars = {}; +for ( n=0; n <= 100000; ++n ) { + vars.id = "divid" + n; + vars.body = 'my div\'s body'; + html = mustache.render('
{{ body }}
', vars ); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +console.log(html); diff --git a/mustache-node/test2-loop-lambda.js b/mustache-node/test2-loop-lambda.js new file mode 100644 index 0000000..d0919f5 --- /dev/null +++ b/mustache-node/test2-loop-lambda.js @@ -0,0 +1,34 @@ +var mustache = require('mustache'); + +function mt_rand () { + //[0..1] * PHP mt_getrandmax() + return Math.floor(Math.random() * 2147483647); +} + +function array_rand (arr) { + var i = Math.floor( Math.random() * arr.length ); + return arr[i]; +} + +var vars = {}, + items = {}; + +for ( var n=0; n <= 1000; ++n ) { + items['a' + mt_rand()] = new Date().getTime(); +} + +var startTime = new Date(); +for ( n=0; n <= 1000; ++n ) { + var key = array_rand(Object.keys(items)); + items[key] = 'b' + mt_rand(); + vars.items = Object.keys(items); + vars.id = "divid"; + vars.body = 'my div\'s body'; + vars.getvalues = function() { + var index = mustache.render(this); + return items[index]; + }; + html = mustache.render('
{{# items }}
{{# getvalues }}{{ . }}{{/ getvalues }}
{{/ items }}
', vars ); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +//console.log(html); diff --git a/mustache-node/test2-loop.js b/mustache-node/test2-loop.js new file mode 100644 index 0000000..d133ab9 --- /dev/null +++ b/mustache-node/test2-loop.js @@ -0,0 +1,35 @@ +var mustache = require('mustache'); + +function mt_rand () { + //[0..1] * PHP mt_getrandmax() + return Math.floor(Math.random() * 2147483647); +} + +function array_rand (arr) { + var i = Math.floor( Math.random() * arr.length ); + return arr[i]; +} + +var vars = {}, + items = {}; + +for ( var n=0; n <= 1000; ++n ) { + items['a' + mt_rand()] = new Date().getTime(); +} + +var startTime = new Date(); +for ( n=0; n <= 1000; ++n ) { + var key = array_rand(Object.keys(items)); + items[key] = 'b' + mt_rand(); + vars.id = "divid"; + vars.body = 'my div\'s body'; + var m_items = []; + for(key in items) { + var val = items[key]; + m_items.push({ key: key, val: val }); + } + vars.m_items = m_items; + html = mustache.render('
{{# m_items }}
{{ val }}
{{/ m_items }}
', vars ); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +//console.log(html); diff --git a/mustache-node/test3-itterator.js b/mustache-node/test3-itterator.js new file mode 100644 index 0000000..9f14adb --- /dev/null +++ b/mustache-node/test3-itterator.js @@ -0,0 +1,29 @@ +var mustache = require('mustache'); + +function mt_rand () { + //[0..1] * PHP mt_getrandmax() + return Math.floor(Math.random() * 2147483647); +} + +function array_rand (arr) { + var i = Math.floor( Math.random() * arr.length ); + return arr[i]; +} + +var vars = {}, + items = []; + +for ( var n=0; n <= 1000; ++n ) { + items[n] = "value:" + mt_rand(); +} + +var startTime = new Date(); +for ( n=0; n <= 1000; ++n ) { + var key = Math.floor( Math.random() * items.length ); + items[key] = 'b:' + mt_rand(); + vars.items = items; + vars.body = 'my div\'s body'; + html = mustache.render('
{{# items }}

{{ . }}

{{/ items }}
', vars ); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +console.log(html); diff --git a/mustache/test1.php b/mustache/test1.php index 1b24a53..3439ef4 100644 --- a/mustache/test1.php +++ b/mustache/test1.php @@ -10,6 +10,6 @@ $vars['body'] = 'my div\'s body'; $html = $engine->render('
{{ body }}
', $vars ); } -echo "time: " . ( microtime(true) - $time_start ); -echo "\n$html\n"; +echo "time: " . ( microtime(true) - $time_start ) . "\n"; +echo "$html\n"; diff --git a/mustache/test1b-incid.php b/mustache/test1b-incid.php index 53a9819..90a30da 100644 --- a/mustache/test1b-incid.php +++ b/mustache/test1b-incid.php @@ -10,7 +10,7 @@ $vars['body'] = 'my div\'s body'; $html = $engine->render('
{{ body }}
', $vars ); } -echo "time: " . ( microtime(true) - $time_start ); -echo "\n$html\n"; +echo "time: " . ( microtime(true) - $time_start ) . "\n"; +echo "$html\n"; diff --git a/mustache/test2-loop-lambda.php b/mustache/test2-loop-lambda.php index de2b1fe..941d6b6 100644 --- a/mustache/test2-loop-lambda.php +++ b/mustache/test2-loop-lambda.php @@ -23,6 +23,6 @@ $html = @$engine->render('
{{# items }}
{{# getvalues }}{{ . }}{{/ getvalues }}
{{/ items }}
', $vars ); } -echo "time: " . ( microtime(true) - $time_start ); -echo "\n$html\n"; +echo "time: " . ( microtime(true) - $time_start ) . "\n"; +#echo "$html\n"; diff --git a/mustache/test2-loop.php b/mustache/test2-loop.php index 0b0f1d7..abc2fba 100644 --- a/mustache/test2-loop.php +++ b/mustache/test2-loop.php @@ -23,6 +23,6 @@ $vars['m_items'] = $m_items; $html = @$engine->render('
{{# m_items }}
{{ val }}
{{/ m_items }}
', $vars ); } -echo "time: " . ( microtime(true) - $time_start ); -echo "\n$html\n"; +echo "time: " . ( microtime(true) - $time_start ) . "\n"; +#echo "$html\n"; diff --git a/mustache/test3-itterator.php b/mustache/test3-itterator.php index 32eccaa..20e8f4a 100644 --- a/mustache/test3-itterator.php +++ b/mustache/test3-itterator.php @@ -18,6 +18,6 @@ $vars['body'] = 'my div\'s body'; $html = $engine->render('
{{# items }}

{{ . }}

{{/ items }}
', $vars ); } -echo "time: " . ( microtime(true) - $time_start ); -#echo "\n$html\n"; +echo "time: " . ( microtime(true) - $time_start ) . "\n"; +#echo "$html\n"; diff --git a/runall.sh b/runall.sh old mode 100644 new mode 100755 index 6e9b699..84e7d63 --- a/runall.sh +++ b/runall.sh @@ -151,5 +151,39 @@ done cd .. +echo ">>>>>>>>>> Mustache <<<<<<<<<<<<<" +cd mustache-node +echo "*** test1 (`pwd`)***" +for i in {1..10} +do + node test1.js +done + +echo "*** test1b (`pwd`)***" +for i in {1..10} +do + node test1b-incid.js +done + +echo "*** test2 (`pwd`)***" +for i in {1..10} +do + node test2-loop.js +done + +echo "*** test2 lambda (`pwd`)***" +for i in {1..10} +do + test2-loop-lambda.js +done + +echo "*** test3 (`pwd`)***" +for i in {1..10} +do + node test3-itterator.js +done + +cd .. + echo "done" diff --git a/twigcache_file/test1.php b/twigcache_file/test1.php index 5ea4ecc..f75ed50 100644 --- a/twigcache_file/test1.php +++ b/twigcache_file/test1.php @@ -14,6 +14,6 @@ $vars['body'] = 'my div\'s body'; $html = $twig->render( 'test1_singlediv.html', $vars ); } -echo "time: " . ( microtime(true) - $time_start ); -echo "\n$html\n"; +echo "time: " . ( microtime(true) - $time_start ) . "\n"; +echo "$html\n"; diff --git a/twigcache_file/test1b-incid.php b/twigcache_file/test1b-incid.php index e35e4ca..2e7636d 100644 --- a/twigcache_file/test1b-incid.php +++ b/twigcache_file/test1b-incid.php @@ -14,6 +14,6 @@ $vars['body'] = 'my div\'s body'; $html = $twig->render( 'test1_singlediv.html', $vars ); } -echo "time: " . ( microtime(true) - $time_start ); -echo "\n$html\n"; +echo "time: " . ( microtime(true) - $time_start ) . "\n"; +echo "$html\n"; diff --git a/twigcache_file/test2-loop.php b/twigcache_file/test2-loop.php index 12c47d0..9aaf2b3 100644 --- a/twigcache_file/test2-loop.php +++ b/twigcache_file/test2-loop.php @@ -22,6 +22,6 @@ $vars['body'] = 'my div\'s body'; $html = $twig->render( 'test2_multidiv.html', $vars ); } -echo "time: " . ( microtime(true) - $time_start ); -#echo "\n$html\n"; +echo "time: " . ( microtime(true) - $time_start ) . "\n"; +#echo "$html\n"; diff --git a/twigcache_file/test3-itterator.php b/twigcache_file/test3-itterator.php index 2a88bc3..3386400 100644 --- a/twigcache_file/test3-itterator.php +++ b/twigcache_file/test3-itterator.php @@ -22,6 +22,6 @@ $vars['body'] = 'my div\'s body'; $html = $twig->render( 'test3.html', $vars ); } -echo "time: " . ( microtime(true) - $time_start ); -#echo "\n$html\n"; +echo "time: " . ( microtime(true) - $time_start ) . "\n"; +#echo "$html\n"; diff --git a/twignocache/test1.php b/twignocache/test1.php index 8bc3808..bd25e7a 100644 --- a/twignocache/test1.php +++ b/twignocache/test1.php @@ -12,6 +12,6 @@ $vars['body'] = 'my div\'s body'; $html = $twig->render('
{{ body }}
', $vars ); } -echo "time: " . ( microtime(true) - $time_start ); -echo "\n$html\n"; +echo "time: " . ( microtime(true) - $time_start ) . "\n"; +echo "$html\n"; diff --git a/twignocache/test1b-incid.php b/twignocache/test1b-incid.php index bb9a3f2..1125d07 100644 --- a/twignocache/test1b-incid.php +++ b/twignocache/test1b-incid.php @@ -12,7 +12,7 @@ $vars['body'] = 'my div\'s body'; $html = $twig->render('
{{ body }}
', $vars ); } -echo "time: " . ( microtime(true) - $time_start ); -echo "\n$html\n"; +echo "time: " . ( microtime(true) - $time_start ) . "\n"; +echo "$html\n"; diff --git a/twignocache/test2-loop.php b/twignocache/test2-loop.php index 71c83ae..e2d7d30 100644 --- a/twignocache/test2-loop.php +++ b/twignocache/test2-loop.php @@ -20,6 +20,6 @@ $vars['body'] = 'my div\'s body'; $html = $twig->render('
{% for key, item in items %}
{{ item }}
{% endfor %}
', $vars ); } -echo "time: " . ( microtime(true) - $time_start ); -#echo "\n$html\n"; +echo "time: " . ( microtime(true) - $time_start ) . "\n"; +#echo "$html\n"; diff --git a/twignocache/test3-itterator.php b/twignocache/test3-itterator.php index d1c236a..9ccbc70 100644 --- a/twignocache/test3-itterator.php +++ b/twignocache/test3-itterator.php @@ -20,6 +20,6 @@ $vars['body'] = 'my div\'s body'; $html = $twig->render('
{% for item in items %}

{{ item }}

{% endfor %}
', $vars ); } -echo "time: " . ( microtime(true) - $time_start ); -#echo "\n$html\n"; +echo "time: " . ( microtime(true) - $time_start ) . "\n"; +#echo "$html\n"; diff --git a/twignocache_file/test1.php b/twignocache_file/test1.php index a2d343d..048da72 100644 --- a/twignocache_file/test1.php +++ b/twignocache_file/test1.php @@ -12,6 +12,6 @@ $vars['body'] = 'my div\'s body'; $html = $twig->render( 'test1_singlediv.html', $vars ); } -echo "time: " . ( microtime(true) - $time_start ); -echo "\n$html\n"; +echo "time: " . ( microtime(true) - $time_start ) . "\n"; +echo "$html\n"; diff --git a/twignocache_file/test1b-incid.php b/twignocache_file/test1b-incid.php index 905603b..80e7350 100644 --- a/twignocache_file/test1b-incid.php +++ b/twignocache_file/test1b-incid.php @@ -12,6 +12,6 @@ $vars['body'] = 'my div\'s body'; $html = $twig->render( 'test1_singlediv.html', $vars ); } -echo "time: " . ( microtime(true) - $time_start ); -echo "\n$html\n"; +echo "time: " . ( microtime(true) - $time_start ) . "\n"; +echo "$html\n"; diff --git a/twignocache_file/test2-loop.php b/twignocache_file/test2-loop.php index 7247bc1..98a35d3 100644 --- a/twignocache_file/test2-loop.php +++ b/twignocache_file/test2-loop.php @@ -22,6 +22,6 @@ $vars['body'] = 'my div\'s body'; $html = $twig->render( 'test2_multidiv.html', $vars ); } -echo "time: " . ( microtime(true) - $time_start ); -#echo "\n$html\n"; +echo "time: " . ( microtime(true) - $time_start ) . "\n"; +#echo "$html\n"; diff --git a/twignocache_file/test3-itterator.php b/twignocache_file/test3-itterator.php index e735a50..e01129d 100644 --- a/twignocache_file/test3-itterator.php +++ b/twignocache_file/test3-itterator.php @@ -22,6 +22,6 @@ $vars['body'] = 'my div\'s body'; $html = $twig->render( 'test3.html', $vars ); } -echo "time: " . ( microtime(true) - $time_start ); -#echo "\n$html\n"; +echo "time: " . ( microtime(true) - $time_start ) . "\n"; +#echo "$html\n"; From 49395ef8d6ad6faaef6c3d8a9f43460af585fe73 Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Thu, 16 Jan 2014 19:10:07 -0800 Subject: [PATCH 02/72] Add package.json and node_modules --- .../node_modules/mustache/.gitmodules | 3 + mustache-node/node_modules/mustache/.jshintrc | 5 + .../node_modules/mustache/.npmignore | 2 + mustache-node/node_modules/mustache/.rvmrc | 2 + .../node_modules/mustache/.travis.yml | 4 + mustache-node/node_modules/mustache/CHANGES | 56 ++ mustache-node/node_modules/mustache/LICENSE | 10 + mustache-node/node_modules/mustache/README.md | 458 ++++++++++++++ mustache-node/node_modules/mustache/Rakefile | 69 +++ .../node_modules/mustache/mustache.js | 570 ++++++++++++++++++ .../node_modules/mustache/mustache.js.nuspec | 14 + .../node_modules/mustache/package.json | 36 ++ .../mustache/wrappers/dojo/mustache.js.post | 4 + .../mustache/wrappers/dojo/mustache.js.pre | 9 + .../mustache/wrappers/jquery/mustache.js.post | 13 + .../mustache/wrappers/jquery/mustache.js.pre | 9 + .../wrappers/mootools/mustache.js.post | 5 + .../wrappers/mootools/mustache.js.pre | 2 + .../wrappers/qooxdoo/mustache.js.post | 9 + .../mustache/wrappers/qooxdoo/mustache.js.pre | 164 +++++ .../mustache/wrappers/yui3/mustache.js.post | 4 + .../mustache/wrappers/yui3/mustache.js.pre | 1 + mustache-node/package.json | 6 + 23 files changed, 1455 insertions(+) create mode 100644 mustache-node/node_modules/mustache/.gitmodules create mode 100644 mustache-node/node_modules/mustache/.jshintrc create mode 100644 mustache-node/node_modules/mustache/.npmignore create mode 100644 mustache-node/node_modules/mustache/.rvmrc create mode 100644 mustache-node/node_modules/mustache/.travis.yml create mode 100644 mustache-node/node_modules/mustache/CHANGES create mode 100644 mustache-node/node_modules/mustache/LICENSE create mode 100644 mustache-node/node_modules/mustache/README.md create mode 100644 mustache-node/node_modules/mustache/Rakefile create mode 100644 mustache-node/node_modules/mustache/mustache.js create mode 100644 mustache-node/node_modules/mustache/mustache.js.nuspec create mode 100644 mustache-node/node_modules/mustache/package.json create mode 100644 mustache-node/node_modules/mustache/wrappers/dojo/mustache.js.post create mode 100644 mustache-node/node_modules/mustache/wrappers/dojo/mustache.js.pre create mode 100644 mustache-node/node_modules/mustache/wrappers/jquery/mustache.js.post create mode 100644 mustache-node/node_modules/mustache/wrappers/jquery/mustache.js.pre create mode 100644 mustache-node/node_modules/mustache/wrappers/mootools/mustache.js.post create mode 100644 mustache-node/node_modules/mustache/wrappers/mootools/mustache.js.pre create mode 100644 mustache-node/node_modules/mustache/wrappers/qooxdoo/mustache.js.post create mode 100644 mustache-node/node_modules/mustache/wrappers/qooxdoo/mustache.js.pre create mode 100644 mustache-node/node_modules/mustache/wrappers/yui3/mustache.js.post create mode 100644 mustache-node/node_modules/mustache/wrappers/yui3/mustache.js.pre create mode 100644 mustache-node/package.json diff --git a/mustache-node/node_modules/mustache/.gitmodules b/mustache-node/node_modules/mustache/.gitmodules new file mode 100644 index 0000000..9e2fdf8 --- /dev/null +++ b/mustache-node/node_modules/mustache/.gitmodules @@ -0,0 +1,3 @@ +[submodule "test/spec"] + path = test/spec + url = https://github.com/mustache/spec diff --git a/mustache-node/node_modules/mustache/.jshintrc b/mustache-node/node_modules/mustache/.jshintrc new file mode 100644 index 0000000..28dff71 --- /dev/null +++ b/mustache-node/node_modules/mustache/.jshintrc @@ -0,0 +1,5 @@ +{ + "eqnull": true, + "evil": true +} + diff --git a/mustache-node/node_modules/mustache/.npmignore b/mustache-node/node_modules/mustache/.npmignore new file mode 100644 index 0000000..76e579a --- /dev/null +++ b/mustache-node/node_modules/mustache/.npmignore @@ -0,0 +1,2 @@ +test + diff --git a/mustache-node/node_modules/mustache/.rvmrc b/mustache-node/node_modules/mustache/.rvmrc new file mode 100644 index 0000000..449fdc8 --- /dev/null +++ b/mustache-node/node_modules/mustache/.rvmrc @@ -0,0 +1,2 @@ +rvm use --create 1.8.7@mustache.js + diff --git a/mustache-node/node_modules/mustache/.travis.yml b/mustache-node/node_modules/mustache/.travis.yml new file mode 100644 index 0000000..3d839b0 --- /dev/null +++ b/mustache-node/node_modules/mustache/.travis.yml @@ -0,0 +1,4 @@ +language: node_js +node_js: + - 0.6 + diff --git a/mustache-node/node_modules/mustache/CHANGES b/mustache-node/node_modules/mustache/CHANGES new file mode 100644 index 0000000..c3546e0 --- /dev/null +++ b/mustache-node/node_modules/mustache/CHANGES @@ -0,0 +1,56 @@ += 0.8.1 / 3 Jan 2014 + + * Fix usage of partial templates. + += 0.8.0 / 2 Dec 2013 + + * Remove compile* writer functions, use mustache.parse instead. Smaller API. + * Throw an error when rendering a template that contains higher-order sections and + the original template is not provided. + * Remove low-level Context.make function. + * Better code readability and inline documentation. + * Stop caching templates by name. + += 0.7.3 / 5 Nov 2013 + + * Don't require the original template to be passed to the rendering function + when using compiled templates. This is still required when using higher-order + functions in order to be able to extract the portion of the template + that was contained by that section. Fixes #262. + * Performance improvements. + += 0.7.2 / 27 Dec 2012 + + * Fixed a rendering bug (#274) when using nested higher-order sections. + * Better error reporting on failed parse. + * Converted tests to use mocha instead of vows. + += 0.7.1 / 6 Dec 2012 + + * Handle empty templates gracefully. Fixes #265, #267, and #270. + * Cache partials by template, not by name. Fixes #257. + * Added Mustache.compileTokens to compile the output of Mustache.parse. Fixes + #258. + += 0.7.0 / 10 Sep 2012 + + * Rename Renderer => Writer. + * Allow partials to be loaded dynamically using a callback (thanks + @TiddoLangerak for the suggestion). + * Fixed a bug with higher-order sections that prevented them from being + passed the raw text of the section from the original template. + * More concise token format. Tokens also include start/end indices in the + original template. + * High-level API is consistent with the Writer API. + * Allow partials to be passed to the pre-compiled function (thanks + @fallenice). + * Don't use eval (thanks @cweider). + += 0.6.0 / 31 Aug 2012 + + * Use JavaScript's definition of falsy when determining whether to render an + inverted section or not. Issue #186. + * Use Mustache.escape to escape values inside {{}}. This function may be + reassigned to alter the default escaping behavior. Issue #244. + * Fixed a bug that clashed with QUnit (thanks @kannix). + * Added volo support (thanks @guybedford). diff --git a/mustache-node/node_modules/mustache/LICENSE b/mustache-node/node_modules/mustache/LICENSE new file mode 100644 index 0000000..6626848 --- /dev/null +++ b/mustache-node/node_modules/mustache/LICENSE @@ -0,0 +1,10 @@ +The MIT License + +Copyright (c) 2009 Chris Wanstrath (Ruby) +Copyright (c) 2010 Jan Lehnardt (JavaScript) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/mustache-node/node_modules/mustache/README.md b/mustache-node/node_modules/mustache/README.md new file mode 100644 index 0000000..729f152 --- /dev/null +++ b/mustache-node/node_modules/mustache/README.md @@ -0,0 +1,458 @@ +# mustache.js - Logic-less {{mustache}} templates with JavaScript + +> What could be more logical awesome than no logic at all? + +[mustache.js](http://github.com/janl/mustache.js) is an implementation of the [mustache](http://mustache.github.com/) template system in JavaScript. + +[Mustache](http://mustache.github.com/) is a logic-less template syntax. It can be used for HTML, config files, source code - anything. It works by expanding tags in a template using values provided in a hash or object. + +We call it "logic-less" because there are no if statements, else clauses, or for loops. Instead there are only tags. Some tags are replaced with a value, some nothing, and others a series of values. + +For a language-agnostic overview of mustache's template syntax, see the `mustache(5)` [manpage](http://mustache.github.com/mustache.5.html). + +## Where to use mustache.js? + +You can use mustache.js to render mustache templates anywhere you can use JavaScript. This includes web browsers, server-side environments such as [node](http://nodejs.org/), and [CouchDB](http://couchdb.apache.org/) views. + +mustache.js ships with support for both the [CommonJS](http://www.commonjs.org/) module API and the [Asynchronous Module Definition](https://github.com/amdjs/amdjs-api/wiki/AMD) API, or AMD. + +## Who uses mustache.js? + +An updated list of mustache.js users is kept [on the Github wiki](http://wiki.github.com/janl/mustache.js/beard-competition). Add yourself or your company if you use mustache.js! + +## Usage + +Below is quick example how to use mustache.js: + +```js +var view = { + title: "Joe", + calc: function () { + return 2 + 4; + } +}; + +var output = Mustache.render("{{title}} spends {{calc}}", view); +``` + +In this example, the `Mustache.render` function takes two parameters: 1) the [mustache](http://mustache.github.com/) template and 2) a `view` object that contains the data and code needed to render the template. + +## Templates + +A [mustache](http://mustache.github.com/) template is a string that contains any number of mustache tags. Tags are indicated by the double mustaches that surround them. `{{person}}` is a tag, as is `{{#person}}`. In both examples we refer to `person` as the tag's key. + +There are several types of tags available in mustache.js. + +### Variables + +The most basic tag type is a simple variable. A `{{name}}` tag renders the value of the `name` key in the current context. If there is no such key, nothing is rendered. + +All variables are HTML-escaped by default. If you want to render unescaped HTML, use the triple mustache: `{{{name}}}`. You can also use `&` to unescape a variable. + +View: + +```json +{ + "name": "Chris", + "company": "GitHub" +} +``` + +Template: + +```html +* {{name}} +* {{age}} +* {{company}} +* {{{company}}} +* {{&company}} +``` + +Output: + +```html +* Chris +* +* <b>GitHub</b> +* GitHub +* GitHub +``` + +JavaScript's dot notation may be used to access keys that are properties of objects in a view. + +View: + +```json +{ + "name": { + "first": "Michael", + "last": "Jackson" + }, + "age": "RIP" +} +``` + +Template: + +```html +* {{name.first}} {{name.last}} +* {{age}} +``` + +Output: + +```html +* Michael Jackson +* RIP +``` + +### Sections + +Sections render blocks of text one or more times, depending on the value of the key in the current context. + +A section begins with a pound and ends with a slash. That is, `{{#person}}` begins a `person` section, while `{{/person}}` ends it. The text between the two tags is referred to as that section's "block". + +The behavior of the section is determined by the value of the key. + +#### False Values or Empty Lists + +If the `person` key does not exist, or exists and has a value of `null`, `undefined`, `false`, `0`, or `NaN`, or is an empty string or an empty list, the block will not be rendered. + +View: + +```json +{ + "person": false +} +``` + +Template: + +```html +Shown. +{{#person}} +Never shown! +{{/person}} +``` + +Output: + +```html +Shown. +``` + +#### Non-Empty Lists + +If the `person` key exists and is not `null`, `undefined`, or `false`, and is not an empty list the block will be rendered one or more times. + +When the value is a list, the block is rendered once for each item in the list. The context of the block is set to the current item in the list for each iteration. In this way we can loop over collections. + +View: + +```json +{ + "stooges": [ + { "name": "Moe" }, + { "name": "Larry" }, + { "name": "Curly" } + ] +} +``` + +Template: + +```html +{{#stooges}} +{{name}} +{{/stooges}} +``` + +Output: + +```html +Moe +Larry +Curly +``` + +When looping over an array of strings, a `.` can be used to refer to the current item in the list. + +View: + +```json +{ + "musketeers": ["Athos", "Aramis", "Porthos", "D'Artagnan"] +} +``` + +Template: + +```html +{{#musketeers}} +* {{.}} +{{/musketeers}} +``` + +Output: + +```html +* Athos +* Aramis +* Porthos +* D'Artagnan +``` + +If the value of a section variable is a function, it will be called in the context of the current item in the list on each iteration. + +View: + +```js +{ + "beatles": [ + { "firstName": "John", "lastName": "Lennon" }, + { "firstName": "Paul", "lastName": "McCartney" }, + { "firstName": "George", "lastName": "Harrison" }, + { "firstName": "Ringo", "lastName": "Starr" } + ], + "name": function () { + return this.firstName + " " + this.lastName; + } +} +``` + +Template: + +```html +{{#beatles}} +* {{name}} +{{/beatles}} +``` + +Output: + +```html +* John Lennon +* Paul McCartney +* George Harrison +* Ringo Starr +``` + +#### Functions + +If the value of a section key is a function, it is called with the section's literal block of text, un-rendered, as its first argument. The second argument is a special rendering function that uses the current view as its view argument. It is called in the context of the current view object. + +View: + +```js +{ + "name": "Tater", + "bold": function () { + return function (text, render) { + return "" + render(text) + ""; + } + } +} +``` + +Template: + +```html +{{#bold}}Hi {{name}}.{{/bold}} +``` + +Output: + +```html +Hi Tater. +``` + +### Inverted Sections + +An inverted section opens with `{{^section}}` instead of `{{#section}}`. The block of an inverted section is rendered only if the value of that section's tag is `null`, `undefined`, `false`, or an empty list. + +View: + +```json +{ + "repos": [] +} +``` + +Template: + +```html +{{#repos}}{{name}}{{/repos}} +{{^repos}}No repos :({{/repos}} +``` + +Output: + +```html +No repos :( +``` + +### Comments + +Comments begin with a bang and are ignored. The following template: + +```html +

Today{{! ignore me }}.

+``` + +Will render as follows: + +```html +

Today.

+``` + +Comments may contain newlines. + +### Partials + +Partials begin with a greater than sign, like {{> box}}. + +Partials are rendered at runtime (as opposed to compile time), so recursive partials are possible. Just avoid infinite loops. + +They also inherit the calling context. Whereas in ERB you may have this: + +```html+erb +<%= partial :next_more, :start => start, :size => size %> +``` + +Mustache requires only this: + +```html +{{> next_more}} +``` + +Why? Because the `next_more.mustache` file will inherit the `size` and `start` variables from the calling context. In this way you may want to think of partials as includes, or template expansion, even though it's not literally true. + +For example, this template and partial: + + base.mustache: +

Names

+ {{#names}} + {{> user}} + {{/names}} + + user.mustache: + {{name}} + +Can be thought of as a single, expanded template: + +```html +

Names

+{{#names}} + {{name}} +{{/names}} +``` + +In mustache.js an object of partials may be passed as the third argument to `Mustache.render`. The object should be keyed by the name of the partial, and its value should be the partial text. + +```js +Mustache.render(template, view, { + user: userTemplate +}); +``` + +### Set Delimiter + +Set Delimiter tags start with an equals sign and change the tag delimiters from `{{` and `}}` to custom strings. + +Consider the following contrived example: + +``` +* {{ default_tags }} +{{=<% %>=}} +* <% erb_style_tags %> +<%={{ }}=%> +* {{ default_tags_again }} +``` + +Here we have a list with three items. The first item uses the default tag style, the second uses ERB style as defined by the Set Delimiter tag, and the third returns to the default style after yet another Set Delimiter declaration. + +According to [ctemplates](http://google-ctemplate.googlecode.com/svn/trunk/doc/howto.html), this "is useful for languages like TeX, where double-braces may occur in the text and are awkward to use for markup." + +Custom delimiters may not contain whitespace or the equals sign. + +## Pre-parsing and Caching Templates + +By default, when mustache.js first parses a template it keeps the full parsed token tree in a cache. The next time it sees that same template it skips the parsing step and renders the template much more quickly. If you'd like, you can do this ahead of time using `mustache.parse`. + +```js +Mustache.parse(template); + +// Then, sometime later. +Mustache.render(template, view); +``` + +## Plugins for JavaScript Libraries + +mustache.js may be built specifically for several different client libraries, including the following: + + - [jQuery](http://jquery.com/) + - [MooTools](http://mootools.net/) + - [Dojo](http://www.dojotoolkit.org/) + - [YUI](http://developer.yahoo.com/yui/) + - [qooxdoo](http://qooxdoo.org/) + +These may be built using [Rake](http://rake.rubyforge.org/) and one of the following commands: + + $ rake jquery + $ rake mootools + $ rake dojo + $ rake yui3 + $ rake qooxdoo + +## Testing + +The mustache.js test suite uses the [mocha](http://visionmedia.github.com/mocha/) testing framework. In order to run the tests you'll need to install [node](http://nodejs.org/). Once that's done you can install mocha using [npm](http://npmjs.org/). + + $ npm install -g mocha + +You also need to install the sub module containing [Mustache specifications](http://github.com/mustache/spec) in the project root. + + $ git submodule init + $ git submodule update + +Then run the tests. + + $ mocha test + +The test suite consists of both unit and integration tests. If a template isn't rendering correctly for you, you can make a test for it by doing the following: + + 1. Create a template file named `mytest.mustache` in the `test/_files` + directory. Replace `mytest` with the name of your test. + 2. Create a corresponding view file named `mytest.js` in the same directory. + This file should contain a JavaScript object literal enclosed in + parentheses. See any of the other view files for an example. + 3. Create a file with the expected output in `mytest.txt` in the same + directory. + +Then, you can run the test with: + + $ TEST=mytest mocha test/render-test.js + +## Thanks + +mustache.js wouldn't kick ass if it weren't for these fine souls: + + * Chris Wanstrath / defunkt + * Alexander Lang / langalex + * Sebastian Cohnen / tisba + * J Chris Anderson / jchris + * Tom Robinson / tlrobinson + * Aaron Quint / quirkey + * Douglas Crockford + * Nikita Vasilyev / NV + * Elise Wood / glytch + * Damien Mathieu / dmathieu + * Jakub Kuźma / qoobaa + * Will Leinweber / will + * dpree + * Jason Smith / jhs + * Aaron Gibralter / agibralter + * Ross Boucher / boucher + * Matt Sanford / mzsanford + * Ben Cherry / bcherry + * Michael Jackson / mjijackson diff --git a/mustache-node/node_modules/mustache/Rakefile b/mustache-node/node_modules/mustache/Rakefile new file mode 100644 index 0000000..c019087 --- /dev/null +++ b/mustache-node/node_modules/mustache/Rakefile @@ -0,0 +1,69 @@ +require 'rake' +require 'rake/clean' + +task :default => :test + +def minified_file + ENV['FILE'] || 'mustache.min.js' +end + +task :install_mocha do + sh "npm install -g mocha" if `which mocha`.empty? +end + +task :install_uglify do + sh "npm install -g uglify-js" if `which uglifyjs`.empty? +end + +task :install_jshint do + sh "npm install -g jshint" if `which jshint`.empty? +end + +desc "Run all tests" +task :test => :install_mocha do + sh "mocha test" +end + +desc "Make a compressed build in #{minified_file}" +task :minify => :install_uglify do + sh "uglifyjs mustache.js > #{minified_file}" +end + +desc "Run JSHint" +task :hint => :install_jshint do + sh "jshint mustache.js" +end + +# Creates a task that uses the various template wrappers to make a wrapped +# output file. There is some extra complexity because Dojo and YUI use +# different final locations. +def templated_build(name, final_location=nil) + short = name.downcase + source = File.join("wrappers", short) + dependencies = ["mustache.js"] + Dir.glob("#{source}/*.tpl.*") + target_js = final_location.nil? ? "#{short}.mustache.js" : "mustache.js" + + desc "Package for #{name}" + task short.to_sym => dependencies do + puts "Packaging for #{name}" + + mkdir_p final_location unless final_location.nil? + + sources = [ "#{source}/mustache.js.pre", 'mustache.js', "#{source}/mustache.js.post" ] + relative_name = "#{final_location || '.'}/#{target_js}" + + open(relative_name, 'w') do |f| + sources.each {|source| f << File.read(source) } + end + + puts "Done, see #{relative_name}" + end + + CLEAN.include(final_location.nil? ? target_js : final_location) +end + +templated_build "jQuery" +templated_build "MooTools" +templated_build "Dojo", "dojox/string" +templated_build "YUI3", "yui3/mustache" +templated_build "qooxdoo" diff --git a/mustache-node/node_modules/mustache/mustache.js b/mustache-node/node_modules/mustache/mustache.js new file mode 100644 index 0000000..3a84b74 --- /dev/null +++ b/mustache-node/node_modules/mustache/mustache.js @@ -0,0 +1,570 @@ +/*! + * mustache.js - Logic-less {{mustache}} templates with JavaScript + * http://github.com/janl/mustache.js + */ + +/*global define: false*/ + +(function (root, factory) { + if (typeof exports === "object" && exports) { + factory(exports); // CommonJS + } else { + var mustache = {}; + factory(mustache); + if (typeof define === "function" && define.amd) { + define(mustache); // AMD + } else { + root.Mustache = mustache; // + +``` + +## Documentation + +### Collections + +* [each](#each) +* [map](#map) +* [filter](#filter) +* [reject](#reject) +* [reduce](#reduce) +* [detect](#detect) +* [sortBy](#sortBy) +* [some](#some) +* [every](#every) +* [concat](#concat) + +### Control Flow + +* [series](#series) +* [parallel](#parallel) +* [whilst](#whilst) +* [doWhilst](#doWhilst) +* [until](#until) +* [doUntil](#doUntil) +* [forever](#forever) +* [waterfall](#waterfall) +* [compose](#compose) +* [applyEach](#applyEach) +* [queue](#queue) +* [cargo](#cargo) +* [auto](#auto) +* [iterator](#iterator) +* [apply](#apply) +* [nextTick](#nextTick) +* [times](#times) +* [timesSeries](#timesSeries) + +### Utils + +* [memoize](#memoize) +* [unmemoize](#unmemoize) +* [log](#log) +* [dir](#dir) +* [noConflict](#noConflict) + + +## Collections + + + +### each(arr, iterator, callback) + +Applies an iterator function to each item in an array, in parallel. +The iterator is called with an item from the list and a callback for when it +has finished. If the iterator passes an error to this callback, the main +callback for the each function is immediately called with the error. + +Note, that since this function applies the iterator to each item in parallel +there is no guarantee that the iterator functions will complete in order. + +__Arguments__ + +* arr - An array to iterate over. +* iterator(item, callback) - A function to apply to each item in the array. + The iterator is passed a callback(err) which must be called once it has + completed. If no error has occured, the callback should be run without + arguments or with an explicit null argument. +* callback(err) - A callback which is called after all the iterator functions + have finished, or an error has occurred. + +__Example__ + +```js +// assuming openFiles is an array of file names and saveFile is a function +// to save the modified contents of that file: + +async.each(openFiles, saveFile, function(err){ + // if any of the saves produced an error, err would equal that error +}); +``` + +--------------------------------------- + + + +### eachSeries(arr, iterator, callback) + +The same as each only the iterator is applied to each item in the array in +series. The next iterator is only called once the current one has completed +processing. This means the iterator functions will complete in order. + + +--------------------------------------- + + + +### eachLimit(arr, limit, iterator, callback) + +The same as each only no more than "limit" iterators will be simultaneously +running at any time. + +Note that the items are not processed in batches, so there is no guarantee that + the first "limit" iterator functions will complete before any others are +started. + +__Arguments__ + +* arr - An array to iterate over. +* limit - The maximum number of iterators to run at any time. +* iterator(item, callback) - A function to apply to each item in the array. + The iterator is passed a callback(err) which must be called once it has + completed. If no error has occured, the callback should be run without + arguments or with an explicit null argument. +* callback(err) - A callback which is called after all the iterator functions + have finished, or an error has occurred. + +__Example__ + +```js +// Assume documents is an array of JSON objects and requestApi is a +// function that interacts with a rate-limited REST api. + +async.eachLimit(documents, 20, requestApi, function(err){ + // if any of the saves produced an error, err would equal that error +}); +``` + +--------------------------------------- + + +### map(arr, iterator, callback) + +Produces a new array of values by mapping each value in the given array through +the iterator function. The iterator is called with an item from the array and a +callback for when it has finished processing. The callback takes 2 arguments, +an error and the transformed item from the array. If the iterator passes an +error to this callback, the main callback for the map function is immediately +called with the error. + +Note, that since this function applies the iterator to each item in parallel +there is no guarantee that the iterator functions will complete in order, however +the results array will be in the same order as the original array. + +__Arguments__ + +* arr - An array to iterate over. +* iterator(item, callback) - A function to apply to each item in the array. + The iterator is passed a callback(err, transformed) which must be called once + it has completed with an error (which can be null) and a transformed item. +* callback(err, results) - A callback which is called after all the iterator + functions have finished, or an error has occurred. Results is an array of the + transformed items from the original array. + +__Example__ + +```js +async.map(['file1','file2','file3'], fs.stat, function(err, results){ + // results is now an array of stats for each file +}); +``` + +--------------------------------------- + + +### mapSeries(arr, iterator, callback) + +The same as map only the iterator is applied to each item in the array in +series. The next iterator is only called once the current one has completed +processing. The results array will be in the same order as the original. + + +--------------------------------------- + + +### mapLimit(arr, limit, iterator, callback) + +The same as map only no more than "limit" iterators will be simultaneously +running at any time. + +Note that the items are not processed in batches, so there is no guarantee that + the first "limit" iterator functions will complete before any others are +started. + +__Arguments__ + +* arr - An array to iterate over. +* limit - The maximum number of iterators to run at any time. +* iterator(item, callback) - A function to apply to each item in the array. + The iterator is passed a callback(err, transformed) which must be called once + it has completed with an error (which can be null) and a transformed item. +* callback(err, results) - A callback which is called after all the iterator + functions have finished, or an error has occurred. Results is an array of the + transformed items from the original array. + +__Example__ + +```js +async.map(['file1','file2','file3'], 1, fs.stat, function(err, results){ + // results is now an array of stats for each file +}); +``` + +--------------------------------------- + + +### filter(arr, iterator, callback) + +__Alias:__ select + +Returns a new array of all the values which pass an async truth test. +_The callback for each iterator call only accepts a single argument of true or +false, it does not accept an error argument first!_ This is in-line with the +way node libraries work with truth tests like fs.exists. This operation is +performed in parallel, but the results array will be in the same order as the +original. + +__Arguments__ + +* arr - An array to iterate over. +* iterator(item, callback) - A truth test to apply to each item in the array. + The iterator is passed a callback(truthValue) which must be called with a + boolean argument once it has completed. +* callback(results) - A callback which is called after all the iterator + functions have finished. + +__Example__ + +```js +async.filter(['file1','file2','file3'], fs.exists, function(results){ + // results now equals an array of the existing files +}); +``` + +--------------------------------------- + + +### filterSeries(arr, iterator, callback) + +__alias:__ selectSeries + +The same as filter only the iterator is applied to each item in the array in +series. The next iterator is only called once the current one has completed +processing. The results array will be in the same order as the original. + +--------------------------------------- + + +### reject(arr, iterator, callback) + +The opposite of filter. Removes values that pass an async truth test. + +--------------------------------------- + + +### rejectSeries(arr, iterator, callback) + +The same as reject, only the iterator is applied to each item in the array +in series. + + +--------------------------------------- + + +### reduce(arr, memo, iterator, callback) + +__aliases:__ inject, foldl + +Reduces a list of values into a single value using an async iterator to return +each successive step. Memo is the initial state of the reduction. This +function only operates in series. For performance reasons, it may make sense to +split a call to this function into a parallel map, then use the normal +Array.prototype.reduce on the results. This function is for situations where +each step in the reduction needs to be async, if you can get the data before +reducing it then it's probably a good idea to do so. + +__Arguments__ + +* arr - An array to iterate over. +* memo - The initial state of the reduction. +* iterator(memo, item, callback) - A function applied to each item in the + array to produce the next step in the reduction. The iterator is passed a + callback(err, reduction) which accepts an optional error as its first + argument, and the state of the reduction as the second. If an error is + passed to the callback, the reduction is stopped and the main callback is + immediately called with the error. +* callback(err, result) - A callback which is called after all the iterator + functions have finished. Result is the reduced value. + +__Example__ + +```js +async.reduce([1,2,3], 0, function(memo, item, callback){ + // pointless async: + process.nextTick(function(){ + callback(null, memo + item) + }); +}, function(err, result){ + // result is now equal to the last value of memo, which is 6 +}); +``` + +--------------------------------------- + + +### reduceRight(arr, memo, iterator, callback) + +__Alias:__ foldr + +Same as reduce, only operates on the items in the array in reverse order. + + +--------------------------------------- + + +### detect(arr, iterator, callback) + +Returns the first value in a list that passes an async truth test. The +iterator is applied in parallel, meaning the first iterator to return true will +fire the detect callback with that result. That means the result might not be +the first item in the original array (in terms of order) that passes the test. + +If order within the original array is important then look at detectSeries. + +__Arguments__ + +* arr - An array to iterate over. +* iterator(item, callback) - A truth test to apply to each item in the array. + The iterator is passed a callback(truthValue) which must be called with a + boolean argument once it has completed. +* callback(result) - A callback which is called as soon as any iterator returns + true, or after all the iterator functions have finished. Result will be + the first item in the array that passes the truth test (iterator) or the + value undefined if none passed. + +__Example__ + +```js +async.detect(['file1','file2','file3'], fs.exists, function(result){ + // result now equals the first file in the list that exists +}); +``` + +--------------------------------------- + + +### detectSeries(arr, iterator, callback) + +The same as detect, only the iterator is applied to each item in the array +in series. This means the result is always the first in the original array (in +terms of array order) that passes the truth test. + + +--------------------------------------- + + +### sortBy(arr, iterator, callback) + +Sorts a list by the results of running each value through an async iterator. + +__Arguments__ + +* arr - An array to iterate over. +* iterator(item, callback) - A function to apply to each item in the array. + The iterator is passed a callback(err, sortValue) which must be called once it + has completed with an error (which can be null) and a value to use as the sort + criteria. +* callback(err, results) - A callback which is called after all the iterator + functions have finished, or an error has occurred. Results is the items from + the original array sorted by the values returned by the iterator calls. + +__Example__ + +```js +async.sortBy(['file1','file2','file3'], function(file, callback){ + fs.stat(file, function(err, stats){ + callback(err, stats.mtime); + }); +}, function(err, results){ + // results is now the original array of files sorted by + // modified date +}); +``` + +--------------------------------------- + + +### some(arr, iterator, callback) + +__Alias:__ any + +Returns true if at least one element in the array satisfies an async test. +_The callback for each iterator call only accepts a single argument of true or +false, it does not accept an error argument first!_ This is in-line with the +way node libraries work with truth tests like fs.exists. Once any iterator +call returns true, the main callback is immediately called. + +__Arguments__ + +* arr - An array to iterate over. +* iterator(item, callback) - A truth test to apply to each item in the array. + The iterator is passed a callback(truthValue) which must be called with a + boolean argument once it has completed. +* callback(result) - A callback which is called as soon as any iterator returns + true, or after all the iterator functions have finished. Result will be + either true or false depending on the values of the async tests. + +__Example__ + +```js +async.some(['file1','file2','file3'], fs.exists, function(result){ + // if result is true then at least one of the files exists +}); +``` + +--------------------------------------- + + +### every(arr, iterator, callback) + +__Alias:__ all + +Returns true if every element in the array satisfies an async test. +_The callback for each iterator call only accepts a single argument of true or +false, it does not accept an error argument first!_ This is in-line with the +way node libraries work with truth tests like fs.exists. + +__Arguments__ + +* arr - An array to iterate over. +* iterator(item, callback) - A truth test to apply to each item in the array. + The iterator is passed a callback(truthValue) which must be called with a + boolean argument once it has completed. +* callback(result) - A callback which is called after all the iterator + functions have finished. Result will be either true or false depending on + the values of the async tests. + +__Example__ + +```js +async.every(['file1','file2','file3'], fs.exists, function(result){ + // if result is true then every file exists +}); +``` + +--------------------------------------- + + +### concat(arr, iterator, callback) + +Applies an iterator to each item in a list, concatenating the results. Returns the +concatenated list. The iterators are called in parallel, and the results are +concatenated as they return. There is no guarantee that the results array will +be returned in the original order of the arguments passed to the iterator function. + +__Arguments__ + +* arr - An array to iterate over +* iterator(item, callback) - A function to apply to each item in the array. + The iterator is passed a callback(err, results) which must be called once it + has completed with an error (which can be null) and an array of results. +* callback(err, results) - A callback which is called after all the iterator + functions have finished, or an error has occurred. Results is an array containing + the concatenated results of the iterator function. + +__Example__ + +```js +async.concat(['dir1','dir2','dir3'], fs.readdir, function(err, files){ + // files is now a list of filenames that exist in the 3 directories +}); +``` + +--------------------------------------- + + +### concatSeries(arr, iterator, callback) + +Same as async.concat, but executes in series instead of parallel. + + +## Control Flow + + +### series(tasks, [callback]) + +Run an array of functions in series, each one running once the previous +function has completed. If any functions in the series pass an error to its +callback, no more functions are run and the callback for the series is +immediately called with the value of the error. Once the tasks have completed, +the results are passed to the final callback as an array. + +It is also possible to use an object instead of an array. Each property will be +run as a function and the results will be passed to the final callback as an object +instead of an array. This can be a more readable way of handling results from +async.series. + + +__Arguments__ + +* tasks - An array or object containing functions to run, each function is passed + a callback(err, result) it must call on completion with an error (which can + be null) and an optional result value. +* callback(err, results) - An optional callback to run once all the functions + have completed. This function gets a results array (or object) containing all + the result arguments passed to the task callbacks. + +__Example__ + +```js +async.series([ + function(callback){ + // do some stuff ... + callback(null, 'one'); + }, + function(callback){ + // do some more stuff ... + callback(null, 'two'); + } +], +// optional callback +function(err, results){ + // results is now equal to ['one', 'two'] +}); + + +// an example using an object instead of an array +async.series({ + one: function(callback){ + setTimeout(function(){ + callback(null, 1); + }, 200); + }, + two: function(callback){ + setTimeout(function(){ + callback(null, 2); + }, 100); + } +}, +function(err, results) { + // results is now equal to: {one: 1, two: 2} +}); +``` + +--------------------------------------- + + +### parallel(tasks, [callback]) + +Run an array of functions in parallel, without waiting until the previous +function has completed. If any of the functions pass an error to its +callback, the main callback is immediately called with the value of the error. +Once the tasks have completed, the results are passed to the final callback as an +array. + +It is also possible to use an object instead of an array. Each property will be +run as a function and the results will be passed to the final callback as an object +instead of an array. This can be a more readable way of handling results from +async.parallel. + + +__Arguments__ + +* tasks - An array or object containing functions to run, each function is passed + a callback(err, result) it must call on completion with an error (which can + be null) and an optional result value. +* callback(err, results) - An optional callback to run once all the functions + have completed. This function gets a results array (or object) containing all + the result arguments passed to the task callbacks. + +__Example__ + +```js +async.parallel([ + function(callback){ + setTimeout(function(){ + callback(null, 'one'); + }, 200); + }, + function(callback){ + setTimeout(function(){ + callback(null, 'two'); + }, 100); + } +], +// optional callback +function(err, results){ + // the results array will equal ['one','two'] even though + // the second function had a shorter timeout. +}); + + +// an example using an object instead of an array +async.parallel({ + one: function(callback){ + setTimeout(function(){ + callback(null, 1); + }, 200); + }, + two: function(callback){ + setTimeout(function(){ + callback(null, 2); + }, 100); + } +}, +function(err, results) { + // results is now equals to: {one: 1, two: 2} +}); +``` + +--------------------------------------- + + +### parallelLimit(tasks, limit, [callback]) + +The same as parallel only the tasks are executed in parallel with a maximum of "limit" +tasks executing at any time. + +Note that the tasks are not executed in batches, so there is no guarantee that +the first "limit" tasks will complete before any others are started. + +__Arguments__ + +* tasks - An array or object containing functions to run, each function is passed + a callback(err, result) it must call on completion with an error (which can + be null) and an optional result value. +* limit - The maximum number of tasks to run at any time. +* callback(err, results) - An optional callback to run once all the functions + have completed. This function gets a results array (or object) containing all + the result arguments passed to the task callbacks. + +--------------------------------------- + + +### whilst(test, fn, callback) + +Repeatedly call fn, while test returns true. Calls the callback when stopped, +or an error occurs. + +__Arguments__ + +* test() - synchronous truth test to perform before each execution of fn. +* fn(callback) - A function to call each time the test passes. The function is + passed a callback(err) which must be called once it has completed with an + optional error argument. +* callback(err) - A callback which is called after the test fails and repeated + execution of fn has stopped. + +__Example__ + +```js +var count = 0; + +async.whilst( + function () { return count < 5; }, + function (callback) { + count++; + setTimeout(callback, 1000); + }, + function (err) { + // 5 seconds have passed + } +); +``` + +--------------------------------------- + + +### doWhilst(fn, test, callback) + +The post check version of whilst. To reflect the difference in the order of operations `test` and `fn` arguments are switched. `doWhilst` is to `whilst` as `do while` is to `while` in plain JavaScript. + +--------------------------------------- + + +### until(test, fn, callback) + +Repeatedly call fn, until test returns true. Calls the callback when stopped, +or an error occurs. + +The inverse of async.whilst. + +--------------------------------------- + + +### doUntil(fn, test, callback) + +Like doWhilst except the test is inverted. Note the argument ordering differs from `until`. + +--------------------------------------- + + +### forever(fn, callback) + +Calls the asynchronous function 'fn' repeatedly, in series, indefinitely. +If an error is passed to fn's callback then 'callback' is called with the +error, otherwise it will never be called. + +--------------------------------------- + + +### waterfall(tasks, [callback]) + +Runs an array of functions in series, each passing their results to the next in +the array. However, if any of the functions pass an error to the callback, the +next function is not executed and the main callback is immediately called with +the error. + +__Arguments__ + +* tasks - An array of functions to run, each function is passed a + callback(err, result1, result2, ...) it must call on completion. The first + argument is an error (which can be null) and any further arguments will be + passed as arguments in order to the next task. +* callback(err, [results]) - An optional callback to run once all the functions + have completed. This will be passed the results of the last task's callback. + + + +__Example__ + +```js +async.waterfall([ + function(callback){ + callback(null, 'one', 'two'); + }, + function(arg1, arg2, callback){ + callback(null, 'three'); + }, + function(arg1, callback){ + // arg1 now equals 'three' + callback(null, 'done'); + } +], function (err, result) { + // result now equals 'done' +}); +``` + +--------------------------------------- + +### compose(fn1, fn2...) + +Creates a function which is a composition of the passed asynchronous +functions. Each function consumes the return value of the function that +follows. Composing functions f(), g() and h() would produce the result of +f(g(h())), only this version uses callbacks to obtain the return values. + +Each function is executed with the `this` binding of the composed function. + +__Arguments__ + +* functions... - the asynchronous functions to compose + + +__Example__ + +```js +function add1(n, callback) { + setTimeout(function () { + callback(null, n + 1); + }, 10); +} + +function mul3(n, callback) { + setTimeout(function () { + callback(null, n * 3); + }, 10); +} + +var add1mul3 = async.compose(mul3, add1); + +add1mul3(4, function (err, result) { + // result now equals 15 +}); +``` + +--------------------------------------- + +### applyEach(fns, args..., callback) + +Applies the provided arguments to each function in the array, calling the +callback after all functions have completed. If you only provide the first +argument then it will return a function which lets you pass in the +arguments as if it were a single function call. + +__Arguments__ + +* fns - the asynchronous functions to all call with the same arguments +* args... - any number of separate arguments to pass to the function +* callback - the final argument should be the callback, called when all + functions have completed processing + + +__Example__ + +```js +async.applyEach([enableSearch, updateSchema], 'bucket', callback); + +// partial application example: +async.each( + buckets, + async.applyEach([enableSearch, updateSchema]), + callback +); +``` + +--------------------------------------- + + +### applyEachSeries(arr, iterator, callback) + +The same as applyEach only the functions are applied in series. + +--------------------------------------- + + +### queue(worker, concurrency) + +Creates a queue object with the specified concurrency. Tasks added to the +queue will be processed in parallel (up to the concurrency limit). If all +workers are in progress, the task is queued until one is available. Once +a worker has completed a task, the task's callback is called. + +__Arguments__ + +* worker(task, callback) - An asynchronous function for processing a queued + task, which must call its callback(err) argument when finished, with an + optional error as an argument. +* concurrency - An integer for determining how many worker functions should be + run in parallel. + +__Queue objects__ + +The queue object returned by this function has the following properties and +methods: + +* length() - a function returning the number of items waiting to be processed. +* concurrency - an integer for determining how many worker functions should be + run in parallel. This property can be changed after a queue is created to + alter the concurrency on-the-fly. +* push(task, [callback]) - add a new task to the queue, the callback is called + once the worker has finished processing the task. + instead of a single task, an array of tasks can be submitted. the respective callback is used for every task in the list. +* unshift(task, [callback]) - add a new task to the front of the queue. +* saturated - a callback that is called when the queue length hits the concurrency and further tasks will be queued +* empty - a callback that is called when the last item from the queue is given to a worker +* drain - a callback that is called when the last item from the queue has returned from the worker + +__Example__ + +```js +// create a queue object with concurrency 2 + +var q = async.queue(function (task, callback) { + console.log('hello ' + task.name); + callback(); +}, 2); + + +// assign a callback +q.drain = function() { + console.log('all items have been processed'); +} + +// add some items to the queue + +q.push({name: 'foo'}, function (err) { + console.log('finished processing foo'); +}); +q.push({name: 'bar'}, function (err) { + console.log('finished processing bar'); +}); + +// add some items to the queue (batch-wise) + +q.push([{name: 'baz'},{name: 'bay'},{name: 'bax'}], function (err) { + console.log('finished processing bar'); +}); + +// add some items to the front of the queue + +q.unshift({name: 'bar'}, function (err) { + console.log('finished processing bar'); +}); +``` + +--------------------------------------- + + +### cargo(worker, [payload]) + +Creates a cargo object with the specified payload. Tasks added to the +cargo will be processed altogether (up to the payload limit). If the +worker is in progress, the task is queued until it is available. Once +the worker has completed some tasks, each callback of those tasks is called. + +__Arguments__ + +* worker(tasks, callback) - An asynchronous function for processing an array of + queued tasks, which must call its callback(err) argument when finished, with + an optional error as an argument. +* payload - An optional integer for determining how many tasks should be + processed per round; if omitted, the default is unlimited. + +__Cargo objects__ + +The cargo object returned by this function has the following properties and +methods: + +* length() - a function returning the number of items waiting to be processed. +* payload - an integer for determining how many tasks should be + process per round. This property can be changed after a cargo is created to + alter the payload on-the-fly. +* push(task, [callback]) - add a new task to the queue, the callback is called + once the worker has finished processing the task. + instead of a single task, an array of tasks can be submitted. the respective callback is used for every task in the list. +* saturated - a callback that is called when the queue length hits the concurrency and further tasks will be queued +* empty - a callback that is called when the last item from the queue is given to a worker +* drain - a callback that is called when the last item from the queue has returned from the worker + +__Example__ + +```js +// create a cargo object with payload 2 + +var cargo = async.cargo(function (tasks, callback) { + for(var i=0; i +### auto(tasks, [callback]) + +Determines the best order for running functions based on their requirements. +Each function can optionally depend on other functions being completed first, +and each function is run as soon as its requirements are satisfied. If any of +the functions pass an error to their callback, that function will not complete +(so any other functions depending on it will not run) and the main callback +will be called immediately with the error. Functions also receive an object +containing the results of functions which have completed so far. + +Note, all functions are called with a results object as a second argument, +so it is unsafe to pass functions in the tasks object which cannot handle the +extra argument. For example, this snippet of code: + +```js +async.auto({ + readData: async.apply(fs.readFile, 'data.txt', 'utf-8'); +}, callback); +``` + +will have the effect of calling readFile with the results object as the last +argument, which will fail: + +```js +fs.readFile('data.txt', 'utf-8', cb, {}); +``` + +Instead, wrap the call to readFile in a function which does not forward the +results object: + +```js +async.auto({ + readData: function(cb, results){ + fs.readFile('data.txt', 'utf-8', cb); + } +}, callback); +``` + +__Arguments__ + +* tasks - An object literal containing named functions or an array of + requirements, with the function itself the last item in the array. The key + used for each function or array is used when specifying requirements. The + function receives two arguments: (1) a callback(err, result) which must be + called when finished, passing an error (which can be null) and the result of + the function's execution, and (2) a results object, containing the results of + the previously executed functions. +* callback(err, results) - An optional callback which is called when all the + tasks have been completed. The callback will receive an error as an argument + if any tasks pass an error to their callback. Results will always be passed + but if an error occurred, no other tasks will be performed, and the results + object will only contain partial results. + + +__Example__ + +```js +async.auto({ + get_data: function(callback){ + // async code to get some data + }, + make_folder: function(callback){ + // async code to create a directory to store a file in + // this is run at the same time as getting the data + }, + write_file: ['get_data', 'make_folder', function(callback){ + // once there is some data and the directory exists, + // write the data to a file in the directory + callback(null, filename); + }], + email_link: ['write_file', function(callback, results){ + // once the file is written let's email a link to it... + // results.write_file contains the filename returned by write_file. + }] +}); +``` + +This is a fairly trivial example, but to do this using the basic parallel and +series functions would look like this: + +```js +async.parallel([ + function(callback){ + // async code to get some data + }, + function(callback){ + // async code to create a directory to store a file in + // this is run at the same time as getting the data + } +], +function(err, results){ + async.series([ + function(callback){ + // once there is some data and the directory exists, + // write the data to a file in the directory + }, + function(callback){ + // once the file is written let's email a link to it... + } + ]); +}); +``` + +For a complicated series of async tasks using the auto function makes adding +new tasks much easier and makes the code more readable. + + +--------------------------------------- + + +### iterator(tasks) + +Creates an iterator function which calls the next function in the array, +returning a continuation to call the next one after that. It's also possible to +'peek' the next iterator by doing iterator.next(). + +This function is used internally by the async module but can be useful when +you want to manually control the flow of functions in series. + +__Arguments__ + +* tasks - An array of functions to run. + +__Example__ + +```js +var iterator = async.iterator([ + function(){ sys.p('one'); }, + function(){ sys.p('two'); }, + function(){ sys.p('three'); } +]); + +node> var iterator2 = iterator(); +'one' +node> var iterator3 = iterator2(); +'two' +node> iterator3(); +'three' +node> var nextfn = iterator2.next(); +node> nextfn(); +'three' +``` + +--------------------------------------- + + +### apply(function, arguments..) + +Creates a continuation function with some arguments already applied, a useful +shorthand when combined with other control flow functions. Any arguments +passed to the returned function are added to the arguments originally passed +to apply. + +__Arguments__ + +* function - The function you want to eventually apply all arguments to. +* arguments... - Any number of arguments to automatically apply when the + continuation is called. + +__Example__ + +```js +// using apply + +async.parallel([ + async.apply(fs.writeFile, 'testfile1', 'test1'), + async.apply(fs.writeFile, 'testfile2', 'test2'), +]); + + +// the same process without using apply + +async.parallel([ + function(callback){ + fs.writeFile('testfile1', 'test1', callback); + }, + function(callback){ + fs.writeFile('testfile2', 'test2', callback); + } +]); +``` + +It's possible to pass any number of additional arguments when calling the +continuation: + +```js +node> var fn = async.apply(sys.puts, 'one'); +node> fn('two', 'three'); +one +two +three +``` + +--------------------------------------- + + +### nextTick(callback) + +Calls the callback on a later loop around the event loop. In node.js this just +calls process.nextTick, in the browser it falls back to setImmediate(callback) +if available, otherwise setTimeout(callback, 0), which means other higher priority +events may precede the execution of the callback. + +This is used internally for browser-compatibility purposes. + +__Arguments__ + +* callback - The function to call on a later loop around the event loop. + +__Example__ + +```js +var call_order = []; +async.nextTick(function(){ + call_order.push('two'); + // call_order now equals ['one','two'] +}); +call_order.push('one') +``` + + +### times(n, callback) + +Calls the callback n times and accumulates results in the same manner +you would use with async.map. + +__Arguments__ + +* n - The number of times to run the function. +* callback - The function to call n times. + +__Example__ + +```js +// Pretend this is some complicated async factory +var createUser = function(id, callback) { + callback(null, { + id: 'user' + id + }) +} +// generate 5 users +async.times(5, function(n, next){ + createUser(n, function(err, user) { + next(err, user) + }) +}, function(err, users) { + // we should now have 5 users +}); +``` + + +### timesSeries(n, callback) + +The same as times only the iterator is applied to each item in the array in +series. The next iterator is only called once the current one has completed +processing. The results array will be in the same order as the original. + + +## Utils + + +### memoize(fn, [hasher]) + +Caches the results of an async function. When creating a hash to store function +results against, the callback is omitted from the hash and an optional hash +function can be used. + +The cache of results is exposed as the `memo` property of the function returned +by `memoize`. + +__Arguments__ + +* fn - the function you to proxy and cache results from. +* hasher - an optional function for generating a custom hash for storing + results, it has all the arguments applied to it apart from the callback, and + must be synchronous. + +__Example__ + +```js +var slow_fn = function (name, callback) { + // do something + callback(null, result); +}; +var fn = async.memoize(slow_fn); + +// fn can now be used as if it were slow_fn +fn('some name', function () { + // callback +}); +``` + + +### unmemoize(fn) + +Undoes a memoized function, reverting it to the original, unmemoized +form. Comes handy in tests. + +__Arguments__ + +* fn - the memoized function + + +### log(function, arguments) + +Logs the result of an async function to the console. Only works in node.js or +in browsers that support console.log and console.error (such as FF and Chrome). +If multiple arguments are returned from the async function, console.log is +called on each argument in order. + +__Arguments__ + +* function - The function you want to eventually apply all arguments to. +* arguments... - Any number of arguments to apply to the function. + +__Example__ + +```js +var hello = function(name, callback){ + setTimeout(function(){ + callback(null, 'hello ' + name); + }, 1000); +}; +``` +```js +node> async.log(hello, 'world'); +'hello world' +``` + +--------------------------------------- + + +### dir(function, arguments) + +Logs the result of an async function to the console using console.dir to +display the properties of the resulting object. Only works in node.js or +in browsers that support console.dir and console.error (such as FF and Chrome). +If multiple arguments are returned from the async function, console.dir is +called on each argument in order. + +__Arguments__ + +* function - The function you want to eventually apply all arguments to. +* arguments... - Any number of arguments to apply to the function. + +__Example__ + +```js +var hello = function(name, callback){ + setTimeout(function(){ + callback(null, {hello: name}); + }, 1000); +}; +``` +```js +node> async.dir(hello, 'world'); +{hello: 'world'} +``` + +--------------------------------------- + + +### noConflict() + +Changes the value of async back to its original value, returning a reference to the +async object. diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/async/component.json b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/async/component.json new file mode 100644 index 0000000..bbb0115 --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/async/component.json @@ -0,0 +1,11 @@ +{ + "name": "async", + "repo": "caolan/async", + "description": "Higher-order functions and common patterns for asynchronous code", + "version": "0.1.23", + "keywords": [], + "dependencies": {}, + "development": {}, + "main": "lib/async.js", + "scripts": [ "lib/async.js" ] +} diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/async/lib/async.js b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/async/lib/async.js new file mode 100755 index 0000000..cb6320d --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/async/lib/async.js @@ -0,0 +1,955 @@ +/*global setImmediate: false, setTimeout: false, console: false */ +(function () { + + var async = {}; + + // global on the server, window in the browser + var root, previous_async; + + root = this; + if (root != null) { + previous_async = root.async; + } + + async.noConflict = function () { + root.async = previous_async; + return async; + }; + + function only_once(fn) { + var called = false; + return function() { + if (called) throw new Error("Callback was already called."); + called = true; + fn.apply(root, arguments); + } + } + + //// cross-browser compatiblity functions //// + + var _each = function (arr, iterator) { + if (arr.forEach) { + return arr.forEach(iterator); + } + for (var i = 0; i < arr.length; i += 1) { + iterator(arr[i], i, arr); + } + }; + + var _map = function (arr, iterator) { + if (arr.map) { + return arr.map(iterator); + } + var results = []; + _each(arr, function (x, i, a) { + results.push(iterator(x, i, a)); + }); + return results; + }; + + var _reduce = function (arr, iterator, memo) { + if (arr.reduce) { + return arr.reduce(iterator, memo); + } + _each(arr, function (x, i, a) { + memo = iterator(memo, x, i, a); + }); + return memo; + }; + + var _keys = function (obj) { + if (Object.keys) { + return Object.keys(obj); + } + var keys = []; + for (var k in obj) { + if (obj.hasOwnProperty(k)) { + keys.push(k); + } + } + return keys; + }; + + //// exported async module functions //// + + //// nextTick implementation with browser-compatible fallback //// + if (typeof process === 'undefined' || !(process.nextTick)) { + if (typeof setImmediate === 'function') { + async.nextTick = function (fn) { + // not a direct alias for IE10 compatibility + setImmediate(fn); + }; + async.setImmediate = async.nextTick; + } + else { + async.nextTick = function (fn) { + setTimeout(fn, 0); + }; + async.setImmediate = async.nextTick; + } + } + else { + async.nextTick = process.nextTick; + if (typeof setImmediate !== 'undefined') { + async.setImmediate = setImmediate; + } + else { + async.setImmediate = async.nextTick; + } + } + + async.each = function (arr, iterator, callback) { + callback = callback || function () {}; + if (!arr.length) { + return callback(); + } + var completed = 0; + _each(arr, function (x) { + iterator(x, only_once(function (err) { + if (err) { + callback(err); + callback = function () {}; + } + else { + completed += 1; + if (completed >= arr.length) { + callback(null); + } + } + })); + }); + }; + async.forEach = async.each; + + async.eachSeries = function (arr, iterator, callback) { + callback = callback || function () {}; + if (!arr.length) { + return callback(); + } + var completed = 0; + var iterate = function () { + iterator(arr[completed], function (err) { + if (err) { + callback(err); + callback = function () {}; + } + else { + completed += 1; + if (completed >= arr.length) { + callback(null); + } + else { + iterate(); + } + } + }); + }; + iterate(); + }; + async.forEachSeries = async.eachSeries; + + async.eachLimit = function (arr, limit, iterator, callback) { + var fn = _eachLimit(limit); + fn.apply(null, [arr, iterator, callback]); + }; + async.forEachLimit = async.eachLimit; + + var _eachLimit = function (limit) { + + return function (arr, iterator, callback) { + callback = callback || function () {}; + if (!arr.length || limit <= 0) { + return callback(); + } + var completed = 0; + var started = 0; + var running = 0; + + (function replenish () { + if (completed >= arr.length) { + return callback(); + } + + while (running < limit && started < arr.length) { + started += 1; + running += 1; + iterator(arr[started - 1], function (err) { + if (err) { + callback(err); + callback = function () {}; + } + else { + completed += 1; + running -= 1; + if (completed >= arr.length) { + callback(); + } + else { + replenish(); + } + } + }); + } + })(); + }; + }; + + + var doParallel = function (fn) { + return function () { + var args = Array.prototype.slice.call(arguments); + return fn.apply(null, [async.each].concat(args)); + }; + }; + var doParallelLimit = function(limit, fn) { + return function () { + var args = Array.prototype.slice.call(arguments); + return fn.apply(null, [_eachLimit(limit)].concat(args)); + }; + }; + var doSeries = function (fn) { + return function () { + var args = Array.prototype.slice.call(arguments); + return fn.apply(null, [async.eachSeries].concat(args)); + }; + }; + + + var _asyncMap = function (eachfn, arr, iterator, callback) { + var results = []; + arr = _map(arr, function (x, i) { + return {index: i, value: x}; + }); + eachfn(arr, function (x, callback) { + iterator(x.value, function (err, v) { + results[x.index] = v; + callback(err); + }); + }, function (err) { + callback(err, results); + }); + }; + async.map = doParallel(_asyncMap); + async.mapSeries = doSeries(_asyncMap); + async.mapLimit = function (arr, limit, iterator, callback) { + return _mapLimit(limit)(arr, iterator, callback); + }; + + var _mapLimit = function(limit) { + return doParallelLimit(limit, _asyncMap); + }; + + // reduce only has a series version, as doing reduce in parallel won't + // work in many situations. + async.reduce = function (arr, memo, iterator, callback) { + async.eachSeries(arr, function (x, callback) { + iterator(memo, x, function (err, v) { + memo = v; + callback(err); + }); + }, function (err) { + callback(err, memo); + }); + }; + // inject alias + async.inject = async.reduce; + // foldl alias + async.foldl = async.reduce; + + async.reduceRight = function (arr, memo, iterator, callback) { + var reversed = _map(arr, function (x) { + return x; + }).reverse(); + async.reduce(reversed, memo, iterator, callback); + }; + // foldr alias + async.foldr = async.reduceRight; + + var _filter = function (eachfn, arr, iterator, callback) { + var results = []; + arr = _map(arr, function (x, i) { + return {index: i, value: x}; + }); + eachfn(arr, function (x, callback) { + iterator(x.value, function (v) { + if (v) { + results.push(x); + } + callback(); + }); + }, function (err) { + callback(_map(results.sort(function (a, b) { + return a.index - b.index; + }), function (x) { + return x.value; + })); + }); + }; + async.filter = doParallel(_filter); + async.filterSeries = doSeries(_filter); + // select alias + async.select = async.filter; + async.selectSeries = async.filterSeries; + + var _reject = function (eachfn, arr, iterator, callback) { + var results = []; + arr = _map(arr, function (x, i) { + return {index: i, value: x}; + }); + eachfn(arr, function (x, callback) { + iterator(x.value, function (v) { + if (!v) { + results.push(x); + } + callback(); + }); + }, function (err) { + callback(_map(results.sort(function (a, b) { + return a.index - b.index; + }), function (x) { + return x.value; + })); + }); + }; + async.reject = doParallel(_reject); + async.rejectSeries = doSeries(_reject); + + var _detect = function (eachfn, arr, iterator, main_callback) { + eachfn(arr, function (x, callback) { + iterator(x, function (result) { + if (result) { + main_callback(x); + main_callback = function () {}; + } + else { + callback(); + } + }); + }, function (err) { + main_callback(); + }); + }; + async.detect = doParallel(_detect); + async.detectSeries = doSeries(_detect); + + async.some = function (arr, iterator, main_callback) { + async.each(arr, function (x, callback) { + iterator(x, function (v) { + if (v) { + main_callback(true); + main_callback = function () {}; + } + callback(); + }); + }, function (err) { + main_callback(false); + }); + }; + // any alias + async.any = async.some; + + async.every = function (arr, iterator, main_callback) { + async.each(arr, function (x, callback) { + iterator(x, function (v) { + if (!v) { + main_callback(false); + main_callback = function () {}; + } + callback(); + }); + }, function (err) { + main_callback(true); + }); + }; + // all alias + async.all = async.every; + + async.sortBy = function (arr, iterator, callback) { + async.map(arr, function (x, callback) { + iterator(x, function (err, criteria) { + if (err) { + callback(err); + } + else { + callback(null, {value: x, criteria: criteria}); + } + }); + }, function (err, results) { + if (err) { + return callback(err); + } + else { + var fn = function (left, right) { + var a = left.criteria, b = right.criteria; + return a < b ? -1 : a > b ? 1 : 0; + }; + callback(null, _map(results.sort(fn), function (x) { + return x.value; + })); + } + }); + }; + + async.auto = function (tasks, callback) { + callback = callback || function () {}; + var keys = _keys(tasks); + if (!keys.length) { + return callback(null); + } + + var results = {}; + + var listeners = []; + var addListener = function (fn) { + listeners.unshift(fn); + }; + var removeListener = function (fn) { + for (var i = 0; i < listeners.length; i += 1) { + if (listeners[i] === fn) { + listeners.splice(i, 1); + return; + } + } + }; + var taskComplete = function () { + _each(listeners.slice(0), function (fn) { + fn(); + }); + }; + + addListener(function () { + if (_keys(results).length === keys.length) { + callback(null, results); + callback = function () {}; + } + }); + + _each(keys, function (k) { + var task = (tasks[k] instanceof Function) ? [tasks[k]]: tasks[k]; + var taskCallback = function (err) { + var args = Array.prototype.slice.call(arguments, 1); + if (args.length <= 1) { + args = args[0]; + } + if (err) { + var safeResults = {}; + _each(_keys(results), function(rkey) { + safeResults[rkey] = results[rkey]; + }); + safeResults[k] = args; + callback(err, safeResults); + // stop subsequent errors hitting callback multiple times + callback = function () {}; + } + else { + results[k] = args; + async.setImmediate(taskComplete); + } + }; + var requires = task.slice(0, Math.abs(task.length - 1)) || []; + var ready = function () { + return _reduce(requires, function (a, x) { + return (a && results.hasOwnProperty(x)); + }, true) && !results.hasOwnProperty(k); + }; + if (ready()) { + task[task.length - 1](taskCallback, results); + } + else { + var listener = function () { + if (ready()) { + removeListener(listener); + task[task.length - 1](taskCallback, results); + } + }; + addListener(listener); + } + }); + }; + + async.waterfall = function (tasks, callback) { + callback = callback || function () {}; + if (tasks.constructor !== Array) { + var err = new Error('First argument to waterfall must be an array of functions'); + return callback(err); + } + if (!tasks.length) { + return callback(); + } + var wrapIterator = function (iterator) { + return function (err) { + if (err) { + callback.apply(null, arguments); + callback = function () {}; + } + else { + var args = Array.prototype.slice.call(arguments, 1); + var next = iterator.next(); + if (next) { + args.push(wrapIterator(next)); + } + else { + args.push(callback); + } + async.setImmediate(function () { + iterator.apply(null, args); + }); + } + }; + }; + wrapIterator(async.iterator(tasks))(); + }; + + var _parallel = function(eachfn, tasks, callback) { + callback = callback || function () {}; + if (tasks.constructor === Array) { + eachfn.map(tasks, function (fn, callback) { + if (fn) { + fn(function (err) { + var args = Array.prototype.slice.call(arguments, 1); + if (args.length <= 1) { + args = args[0]; + } + callback.call(null, err, args); + }); + } + }, callback); + } + else { + var results = {}; + eachfn.each(_keys(tasks), function (k, callback) { + tasks[k](function (err) { + var args = Array.prototype.slice.call(arguments, 1); + if (args.length <= 1) { + args = args[0]; + } + results[k] = args; + callback(err); + }); + }, function (err) { + callback(err, results); + }); + } + }; + + async.parallel = function (tasks, callback) { + _parallel({ map: async.map, each: async.each }, tasks, callback); + }; + + async.parallelLimit = function(tasks, limit, callback) { + _parallel({ map: _mapLimit(limit), each: _eachLimit(limit) }, tasks, callback); + }; + + async.series = function (tasks, callback) { + callback = callback || function () {}; + if (tasks.constructor === Array) { + async.mapSeries(tasks, function (fn, callback) { + if (fn) { + fn(function (err) { + var args = Array.prototype.slice.call(arguments, 1); + if (args.length <= 1) { + args = args[0]; + } + callback.call(null, err, args); + }); + } + }, callback); + } + else { + var results = {}; + async.eachSeries(_keys(tasks), function (k, callback) { + tasks[k](function (err) { + var args = Array.prototype.slice.call(arguments, 1); + if (args.length <= 1) { + args = args[0]; + } + results[k] = args; + callback(err); + }); + }, function (err) { + callback(err, results); + }); + } + }; + + async.iterator = function (tasks) { + var makeCallback = function (index) { + var fn = function () { + if (tasks.length) { + tasks[index].apply(null, arguments); + } + return fn.next(); + }; + fn.next = function () { + return (index < tasks.length - 1) ? makeCallback(index + 1): null; + }; + return fn; + }; + return makeCallback(0); + }; + + async.apply = function (fn) { + var args = Array.prototype.slice.call(arguments, 1); + return function () { + return fn.apply( + null, args.concat(Array.prototype.slice.call(arguments)) + ); + }; + }; + + var _concat = function (eachfn, arr, fn, callback) { + var r = []; + eachfn(arr, function (x, cb) { + fn(x, function (err, y) { + r = r.concat(y || []); + cb(err); + }); + }, function (err) { + callback(err, r); + }); + }; + async.concat = doParallel(_concat); + async.concatSeries = doSeries(_concat); + + async.whilst = function (test, iterator, callback) { + if (test()) { + iterator(function (err) { + if (err) { + return callback(err); + } + async.whilst(test, iterator, callback); + }); + } + else { + callback(); + } + }; + + async.doWhilst = function (iterator, test, callback) { + iterator(function (err) { + if (err) { + return callback(err); + } + if (test()) { + async.doWhilst(iterator, test, callback); + } + else { + callback(); + } + }); + }; + + async.until = function (test, iterator, callback) { + if (!test()) { + iterator(function (err) { + if (err) { + return callback(err); + } + async.until(test, iterator, callback); + }); + } + else { + callback(); + } + }; + + async.doUntil = function (iterator, test, callback) { + iterator(function (err) { + if (err) { + return callback(err); + } + if (!test()) { + async.doUntil(iterator, test, callback); + } + else { + callback(); + } + }); + }; + + async.queue = function (worker, concurrency) { + if (concurrency === undefined) { + concurrency = 1; + } + function _insert(q, data, pos, callback) { + if(data.constructor !== Array) { + data = [data]; + } + _each(data, function(task) { + var item = { + data: task, + callback: typeof callback === 'function' ? callback : null + }; + + if (pos) { + q.tasks.unshift(item); + } else { + q.tasks.push(item); + } + + if (q.saturated && q.tasks.length === concurrency) { + q.saturated(); + } + async.setImmediate(q.process); + }); + } + + var workers = 0; + var q = { + tasks: [], + concurrency: concurrency, + saturated: null, + empty: null, + drain: null, + push: function (data, callback) { + _insert(q, data, false, callback); + }, + unshift: function (data, callback) { + _insert(q, data, true, callback); + }, + process: function () { + if (workers < q.concurrency && q.tasks.length) { + var task = q.tasks.shift(); + if (q.empty && q.tasks.length === 0) { + q.empty(); + } + workers += 1; + var next = function () { + workers -= 1; + if (task.callback) { + task.callback.apply(task, arguments); + } + if (q.drain && q.tasks.length + workers === 0) { + q.drain(); + } + q.process(); + }; + var cb = only_once(next); + worker(task.data, cb); + } + }, + length: function () { + return q.tasks.length; + }, + running: function () { + return workers; + } + }; + return q; + }; + + async.cargo = function (worker, payload) { + var working = false, + tasks = []; + + var cargo = { + tasks: tasks, + payload: payload, + saturated: null, + empty: null, + drain: null, + push: function (data, callback) { + if(data.constructor !== Array) { + data = [data]; + } + _each(data, function(task) { + tasks.push({ + data: task, + callback: typeof callback === 'function' ? callback : null + }); + if (cargo.saturated && tasks.length === payload) { + cargo.saturated(); + } + }); + async.setImmediate(cargo.process); + }, + process: function process() { + if (working) return; + if (tasks.length === 0) { + if(cargo.drain) cargo.drain(); + return; + } + + var ts = typeof payload === 'number' + ? tasks.splice(0, payload) + : tasks.splice(0); + + var ds = _map(ts, function (task) { + return task.data; + }); + + if(cargo.empty) cargo.empty(); + working = true; + worker(ds, function () { + working = false; + + var args = arguments; + _each(ts, function (data) { + if (data.callback) { + data.callback.apply(null, args); + } + }); + + process(); + }); + }, + length: function () { + return tasks.length; + }, + running: function () { + return working; + } + }; + return cargo; + }; + + var _console_fn = function (name) { + return function (fn) { + var args = Array.prototype.slice.call(arguments, 1); + fn.apply(null, args.concat([function (err) { + var args = Array.prototype.slice.call(arguments, 1); + if (typeof console !== 'undefined') { + if (err) { + if (console.error) { + console.error(err); + } + } + else if (console[name]) { + _each(args, function (x) { + console[name](x); + }); + } + } + }])); + }; + }; + async.log = _console_fn('log'); + async.dir = _console_fn('dir'); + /*async.info = _console_fn('info'); + async.warn = _console_fn('warn'); + async.error = _console_fn('error');*/ + + async.memoize = function (fn, hasher) { + var memo = {}; + var queues = {}; + hasher = hasher || function (x) { + return x; + }; + var memoized = function () { + var args = Array.prototype.slice.call(arguments); + var callback = args.pop(); + var key = hasher.apply(null, args); + if (key in memo) { + callback.apply(null, memo[key]); + } + else if (key in queues) { + queues[key].push(callback); + } + else { + queues[key] = [callback]; + fn.apply(null, args.concat([function () { + memo[key] = arguments; + var q = queues[key]; + delete queues[key]; + for (var i = 0, l = q.length; i < l; i++) { + q[i].apply(null, arguments); + } + }])); + } + }; + memoized.memo = memo; + memoized.unmemoized = fn; + return memoized; + }; + + async.unmemoize = function (fn) { + return function () { + return (fn.unmemoized || fn).apply(null, arguments); + }; + }; + + async.times = function (count, iterator, callback) { + var counter = []; + for (var i = 0; i < count; i++) { + counter.push(i); + } + return async.map(counter, iterator, callback); + }; + + async.timesSeries = function (count, iterator, callback) { + var counter = []; + for (var i = 0; i < count; i++) { + counter.push(i); + } + return async.mapSeries(counter, iterator, callback); + }; + + async.compose = function (/* functions... */) { + var fns = Array.prototype.reverse.call(arguments); + return function () { + var that = this; + var args = Array.prototype.slice.call(arguments); + var callback = args.pop(); + async.reduce(fns, args, function (newargs, fn, cb) { + fn.apply(that, newargs.concat([function () { + var err = arguments[0]; + var nextargs = Array.prototype.slice.call(arguments, 1); + cb(err, nextargs); + }])) + }, + function (err, results) { + callback.apply(that, [err].concat(results)); + }); + }; + }; + + var _applyEach = function (eachfn, fns /*args...*/) { + var go = function () { + var that = this; + var args = Array.prototype.slice.call(arguments); + var callback = args.pop(); + return eachfn(fns, function (fn, cb) { + fn.apply(that, args.concat([cb])); + }, + callback); + }; + if (arguments.length > 2) { + var args = Array.prototype.slice.call(arguments, 2); + return go.apply(this, args); + } + else { + return go; + } + }; + async.applyEach = doParallel(_applyEach); + async.applyEachSeries = doSeries(_applyEach); + + async.forever = function (fn, callback) { + function next(err) { + if (err) { + if (callback) { + return callback(err); + } + throw err; + } + fn(next); + } + next(); + }; + + // AMD / RequireJS + if (typeof define !== 'undefined' && define.amd) { + define([], function () { + return async; + }); + } + // Node.js + else if (typeof module !== 'undefined' && module.exports) { + module.exports = async; + } + // included directly via \n\n```\n\n## Documentation\n\n### Collections\n\n* [each](#each)\n* [map](#map)\n* [filter](#filter)\n* [reject](#reject)\n* [reduce](#reduce)\n* [detect](#detect)\n* [sortBy](#sortBy)\n* [some](#some)\n* [every](#every)\n* [concat](#concat)\n\n### Control Flow\n\n* [series](#series)\n* [parallel](#parallel)\n* [whilst](#whilst)\n* [doWhilst](#doWhilst)\n* [until](#until)\n* [doUntil](#doUntil)\n* [forever](#forever)\n* [waterfall](#waterfall)\n* [compose](#compose)\n* [applyEach](#applyEach)\n* [queue](#queue)\n* [cargo](#cargo)\n* [auto](#auto)\n* [iterator](#iterator)\n* [apply](#apply)\n* [nextTick](#nextTick)\n* [times](#times)\n* [timesSeries](#timesSeries)\n\n### Utils\n\n* [memoize](#memoize)\n* [unmemoize](#unmemoize)\n* [log](#log)\n* [dir](#dir)\n* [noConflict](#noConflict)\n\n\n## Collections\n\n\n\n### each(arr, iterator, callback)\n\nApplies an iterator function to each item in an array, in parallel.\nThe iterator is called with an item from the list and a callback for when it\nhas finished. If the iterator passes an error to this callback, the main\ncallback for the each function is immediately called with the error.\n\nNote, that since this function applies the iterator to each item in parallel\nthere is no guarantee that the iterator functions will complete in order.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err) which must be called once it has \n completed. If no error has occured, the callback should be run without \n arguments or with an explicit null argument.\n* callback(err) - A callback which is called after all the iterator functions\n have finished, or an error has occurred.\n\n__Example__\n\n```js\n// assuming openFiles is an array of file names and saveFile is a function\n// to save the modified contents of that file:\n\nasync.each(openFiles, saveFile, function(err){\n // if any of the saves produced an error, err would equal that error\n});\n```\n\n---------------------------------------\n\n\n\n### eachSeries(arr, iterator, callback)\n\nThe same as each only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. This means the iterator functions will complete in order.\n\n\n---------------------------------------\n\n\n\n### eachLimit(arr, limit, iterator, callback)\n\nThe same as each only no more than \"limit\" iterators will be simultaneously \nrunning at any time.\n\nNote that the items are not processed in batches, so there is no guarantee that\n the first \"limit\" iterator functions will complete before any others are \nstarted.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* limit - The maximum number of iterators to run at any time.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err) which must be called once it has \n completed. If no error has occured, the callback should be run without \n arguments or with an explicit null argument.\n* callback(err) - A callback which is called after all the iterator functions\n have finished, or an error has occurred.\n\n__Example__\n\n```js\n// Assume documents is an array of JSON objects and requestApi is a\n// function that interacts with a rate-limited REST api.\n\nasync.eachLimit(documents, 20, requestApi, function(err){\n // if any of the saves produced an error, err would equal that error\n});\n```\n\n---------------------------------------\n\n\n### map(arr, iterator, callback)\n\nProduces a new array of values by mapping each value in the given array through\nthe iterator function. The iterator is called with an item from the array and a\ncallback for when it has finished processing. The callback takes 2 arguments, \nan error and the transformed item from the array. If the iterator passes an\nerror to this callback, the main callback for the map function is immediately\ncalled with the error.\n\nNote, that since this function applies the iterator to each item in parallel\nthere is no guarantee that the iterator functions will complete in order, however\nthe results array will be in the same order as the original array.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err, transformed) which must be called once \n it has completed with an error (which can be null) and a transformed item.\n* callback(err, results) - A callback which is called after all the iterator\n functions have finished, or an error has occurred. Results is an array of the\n transformed items from the original array.\n\n__Example__\n\n```js\nasync.map(['file1','file2','file3'], fs.stat, function(err, results){\n // results is now an array of stats for each file\n});\n```\n\n---------------------------------------\n\n\n### mapSeries(arr, iterator, callback)\n\nThe same as map only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n\n---------------------------------------\n\n\n### mapLimit(arr, limit, iterator, callback)\n\nThe same as map only no more than \"limit\" iterators will be simultaneously \nrunning at any time.\n\nNote that the items are not processed in batches, so there is no guarantee that\n the first \"limit\" iterator functions will complete before any others are \nstarted.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* limit - The maximum number of iterators to run at any time.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err, transformed) which must be called once \n it has completed with an error (which can be null) and a transformed item.\n* callback(err, results) - A callback which is called after all the iterator\n functions have finished, or an error has occurred. Results is an array of the\n transformed items from the original array.\n\n__Example__\n\n```js\nasync.map(['file1','file2','file3'], 1, fs.stat, function(err, results){\n // results is now an array of stats for each file\n});\n```\n\n---------------------------------------\n\n\n### filter(arr, iterator, callback)\n\n__Alias:__ select\n\nReturns a new array of all the values which pass an async truth test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like fs.exists. This operation is\nperformed in parallel, but the results array will be in the same order as the\noriginal.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback(truthValue) which must be called with a \n boolean argument once it has completed.\n* callback(results) - A callback which is called after all the iterator\n functions have finished.\n\n__Example__\n\n```js\nasync.filter(['file1','file2','file3'], fs.exists, function(results){\n // results now equals an array of the existing files\n});\n```\n\n---------------------------------------\n\n\n### filterSeries(arr, iterator, callback)\n\n__alias:__ selectSeries\n\nThe same as filter only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n---------------------------------------\n\n\n### reject(arr, iterator, callback)\n\nThe opposite of filter. Removes values that pass an async truth test.\n\n---------------------------------------\n\n\n### rejectSeries(arr, iterator, callback)\n\nThe same as reject, only the iterator is applied to each item in the array\nin series.\n\n\n---------------------------------------\n\n\n### reduce(arr, memo, iterator, callback)\n\n__aliases:__ inject, foldl\n\nReduces a list of values into a single value using an async iterator to return\neach successive step. Memo is the initial state of the reduction. This\nfunction only operates in series. For performance reasons, it may make sense to\nsplit a call to this function into a parallel map, then use the normal\nArray.prototype.reduce on the results. This function is for situations where\neach step in the reduction needs to be async, if you can get the data before\nreducing it then it's probably a good idea to do so.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* memo - The initial state of the reduction.\n* iterator(memo, item, callback) - A function applied to each item in the\n array to produce the next step in the reduction. The iterator is passed a\n callback(err, reduction) which accepts an optional error as its first \n argument, and the state of the reduction as the second. If an error is \n passed to the callback, the reduction is stopped and the main callback is \n immediately called with the error.\n* callback(err, result) - A callback which is called after all the iterator\n functions have finished. Result is the reduced value.\n\n__Example__\n\n```js\nasync.reduce([1,2,3], 0, function(memo, item, callback){\n // pointless async:\n process.nextTick(function(){\n callback(null, memo + item)\n });\n}, function(err, result){\n // result is now equal to the last value of memo, which is 6\n});\n```\n\n---------------------------------------\n\n\n### reduceRight(arr, memo, iterator, callback)\n\n__Alias:__ foldr\n\nSame as reduce, only operates on the items in the array in reverse order.\n\n\n---------------------------------------\n\n\n### detect(arr, iterator, callback)\n\nReturns the first value in a list that passes an async truth test. The\niterator is applied in parallel, meaning the first iterator to return true will\nfire the detect callback with that result. That means the result might not be\nthe first item in the original array (in terms of order) that passes the test.\n\nIf order within the original array is important then look at detectSeries.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback(truthValue) which must be called with a \n boolean argument once it has completed.\n* callback(result) - A callback which is called as soon as any iterator returns\n true, or after all the iterator functions have finished. Result will be\n the first item in the array that passes the truth test (iterator) or the\n value undefined if none passed.\n\n__Example__\n\n```js\nasync.detect(['file1','file2','file3'], fs.exists, function(result){\n // result now equals the first file in the list that exists\n});\n```\n\n---------------------------------------\n\n\n### detectSeries(arr, iterator, callback)\n\nThe same as detect, only the iterator is applied to each item in the array\nin series. This means the result is always the first in the original array (in\nterms of array order) that passes the truth test.\n\n\n---------------------------------------\n\n\n### sortBy(arr, iterator, callback)\n\nSorts a list by the results of running each value through an async iterator.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err, sortValue) which must be called once it\n has completed with an error (which can be null) and a value to use as the sort\n criteria.\n* callback(err, results) - A callback which is called after all the iterator\n functions have finished, or an error has occurred. Results is the items from\n the original array sorted by the values returned by the iterator calls.\n\n__Example__\n\n```js\nasync.sortBy(['file1','file2','file3'], function(file, callback){\n fs.stat(file, function(err, stats){\n callback(err, stats.mtime);\n });\n}, function(err, results){\n // results is now the original array of files sorted by\n // modified date\n});\n```\n\n---------------------------------------\n\n\n### some(arr, iterator, callback)\n\n__Alias:__ any\n\nReturns true if at least one element in the array satisfies an async test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like fs.exists. Once any iterator\ncall returns true, the main callback is immediately called.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback(truthValue) which must be called with a \n boolean argument once it has completed.\n* callback(result) - A callback which is called as soon as any iterator returns\n true, or after all the iterator functions have finished. Result will be\n either true or false depending on the values of the async tests.\n\n__Example__\n\n```js\nasync.some(['file1','file2','file3'], fs.exists, function(result){\n // if result is true then at least one of the files exists\n});\n```\n\n---------------------------------------\n\n\n### every(arr, iterator, callback)\n\n__Alias:__ all\n\nReturns true if every element in the array satisfies an async test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like fs.exists.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback(truthValue) which must be called with a \n boolean argument once it has completed.\n* callback(result) - A callback which is called after all the iterator\n functions have finished. Result will be either true or false depending on\n the values of the async tests.\n\n__Example__\n\n```js\nasync.every(['file1','file2','file3'], fs.exists, function(result){\n // if result is true then every file exists\n});\n```\n\n---------------------------------------\n\n\n### concat(arr, iterator, callback)\n\nApplies an iterator to each item in a list, concatenating the results. Returns the\nconcatenated list. The iterators are called in parallel, and the results are\nconcatenated as they return. There is no guarantee that the results array will\nbe returned in the original order of the arguments passed to the iterator function.\n\n__Arguments__\n\n* arr - An array to iterate over\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err, results) which must be called once it \n has completed with an error (which can be null) and an array of results.\n* callback(err, results) - A callback which is called after all the iterator\n functions have finished, or an error has occurred. Results is an array containing\n the concatenated results of the iterator function.\n\n__Example__\n\n```js\nasync.concat(['dir1','dir2','dir3'], fs.readdir, function(err, files){\n // files is now a list of filenames that exist in the 3 directories\n});\n```\n\n---------------------------------------\n\n\n### concatSeries(arr, iterator, callback)\n\nSame as async.concat, but executes in series instead of parallel.\n\n\n## Control Flow\n\n\n### series(tasks, [callback])\n\nRun an array of functions in series, each one running once the previous\nfunction has completed. If any functions in the series pass an error to its\ncallback, no more functions are run and the callback for the series is\nimmediately called with the value of the error. Once the tasks have completed,\nthe results are passed to the final callback as an array.\n\nIt is also possible to use an object instead of an array. Each property will be\nrun as a function and the results will be passed to the final callback as an object\ninstead of an array. This can be a more readable way of handling results from\nasync.series.\n\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed\n a callback(err, result) it must call on completion with an error (which can\n be null) and an optional result value.\n* callback(err, results) - An optional callback to run once all the functions\n have completed. This function gets a results array (or object) containing all \n the result arguments passed to the task callbacks.\n\n__Example__\n\n```js\nasync.series([\n function(callback){\n // do some stuff ...\n callback(null, 'one');\n },\n function(callback){\n // do some more stuff ...\n callback(null, 'two');\n }\n],\n// optional callback\nfunction(err, results){\n // results is now equal to ['one', 'two']\n});\n\n\n// an example using an object instead of an array\nasync.series({\n one: function(callback){\n setTimeout(function(){\n callback(null, 1);\n }, 200);\n },\n two: function(callback){\n setTimeout(function(){\n callback(null, 2);\n }, 100);\n }\n},\nfunction(err, results) {\n // results is now equal to: {one: 1, two: 2}\n});\n```\n\n---------------------------------------\n\n\n### parallel(tasks, [callback])\n\nRun an array of functions in parallel, without waiting until the previous\nfunction has completed. If any of the functions pass an error to its\ncallback, the main callback is immediately called with the value of the error.\nOnce the tasks have completed, the results are passed to the final callback as an\narray.\n\nIt is also possible to use an object instead of an array. Each property will be\nrun as a function and the results will be passed to the final callback as an object\ninstead of an array. This can be a more readable way of handling results from\nasync.parallel.\n\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed \n a callback(err, result) it must call on completion with an error (which can\n be null) and an optional result value.\n* callback(err, results) - An optional callback to run once all the functions\n have completed. This function gets a results array (or object) containing all \n the result arguments passed to the task callbacks.\n\n__Example__\n\n```js\nasync.parallel([\n function(callback){\n setTimeout(function(){\n callback(null, 'one');\n }, 200);\n },\n function(callback){\n setTimeout(function(){\n callback(null, 'two');\n }, 100);\n }\n],\n// optional callback\nfunction(err, results){\n // the results array will equal ['one','two'] even though\n // the second function had a shorter timeout.\n});\n\n\n// an example using an object instead of an array\nasync.parallel({\n one: function(callback){\n setTimeout(function(){\n callback(null, 1);\n }, 200);\n },\n two: function(callback){\n setTimeout(function(){\n callback(null, 2);\n }, 100);\n }\n},\nfunction(err, results) {\n // results is now equals to: {one: 1, two: 2}\n});\n```\n\n---------------------------------------\n\n\n### parallelLimit(tasks, limit, [callback])\n\nThe same as parallel only the tasks are executed in parallel with a maximum of \"limit\" \ntasks executing at any time.\n\nNote that the tasks are not executed in batches, so there is no guarantee that \nthe first \"limit\" tasks will complete before any others are started.\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed \n a callback(err, result) it must call on completion with an error (which can\n be null) and an optional result value.\n* limit - The maximum number of tasks to run at any time.\n* callback(err, results) - An optional callback to run once all the functions\n have completed. This function gets a results array (or object) containing all \n the result arguments passed to the task callbacks.\n\n---------------------------------------\n\n\n### whilst(test, fn, callback)\n\nRepeatedly call fn, while test returns true. Calls the callback when stopped,\nor an error occurs.\n\n__Arguments__\n\n* test() - synchronous truth test to perform before each execution of fn.\n* fn(callback) - A function to call each time the test passes. The function is\n passed a callback(err) which must be called once it has completed with an \n optional error argument.\n* callback(err) - A callback which is called after the test fails and repeated\n execution of fn has stopped.\n\n__Example__\n\n```js\nvar count = 0;\n\nasync.whilst(\n function () { return count < 5; },\n function (callback) {\n count++;\n setTimeout(callback, 1000);\n },\n function (err) {\n // 5 seconds have passed\n }\n);\n```\n\n---------------------------------------\n\n\n### doWhilst(fn, test, callback)\n\nThe post check version of whilst. To reflect the difference in the order of operations `test` and `fn` arguments are switched. `doWhilst` is to `whilst` as `do while` is to `while` in plain JavaScript.\n\n---------------------------------------\n\n\n### until(test, fn, callback)\n\nRepeatedly call fn, until test returns true. Calls the callback when stopped,\nor an error occurs.\n\nThe inverse of async.whilst.\n\n---------------------------------------\n\n\n### doUntil(fn, test, callback)\n\nLike doWhilst except the test is inverted. Note the argument ordering differs from `until`.\n\n---------------------------------------\n\n\n### forever(fn, callback)\n\nCalls the asynchronous function 'fn' repeatedly, in series, indefinitely.\nIf an error is passed to fn's callback then 'callback' is called with the\nerror, otherwise it will never be called.\n\n---------------------------------------\n\n\n### waterfall(tasks, [callback])\n\nRuns an array of functions in series, each passing their results to the next in\nthe array. However, if any of the functions pass an error to the callback, the\nnext function is not executed and the main callback is immediately called with\nthe error.\n\n__Arguments__\n\n* tasks - An array of functions to run, each function is passed a \n callback(err, result1, result2, ...) it must call on completion. The first\n argument is an error (which can be null) and any further arguments will be \n passed as arguments in order to the next task.\n* callback(err, [results]) - An optional callback to run once all the functions\n have completed. This will be passed the results of the last task's callback.\n\n\n\n__Example__\n\n```js\nasync.waterfall([\n function(callback){\n callback(null, 'one', 'two');\n },\n function(arg1, arg2, callback){\n callback(null, 'three');\n },\n function(arg1, callback){\n // arg1 now equals 'three'\n callback(null, 'done');\n }\n], function (err, result) {\n // result now equals 'done' \n});\n```\n\n---------------------------------------\n\n### compose(fn1, fn2...)\n\nCreates a function which is a composition of the passed asynchronous\nfunctions. Each function consumes the return value of the function that\nfollows. Composing functions f(), g() and h() would produce the result of\nf(g(h())), only this version uses callbacks to obtain the return values.\n\nEach function is executed with the `this` binding of the composed function.\n\n__Arguments__\n\n* functions... - the asynchronous functions to compose\n\n\n__Example__\n\n```js\nfunction add1(n, callback) {\n setTimeout(function () {\n callback(null, n + 1);\n }, 10);\n}\n\nfunction mul3(n, callback) {\n setTimeout(function () {\n callback(null, n * 3);\n }, 10);\n}\n\nvar add1mul3 = async.compose(mul3, add1);\n\nadd1mul3(4, function (err, result) {\n // result now equals 15\n});\n```\n\n---------------------------------------\n\n### applyEach(fns, args..., callback)\n\nApplies the provided arguments to each function in the array, calling the\ncallback after all functions have completed. If you only provide the first\nargument then it will return a function which lets you pass in the\narguments as if it were a single function call.\n\n__Arguments__\n\n* fns - the asynchronous functions to all call with the same arguments\n* args... - any number of separate arguments to pass to the function\n* callback - the final argument should be the callback, called when all\n functions have completed processing\n\n\n__Example__\n\n```js\nasync.applyEach([enableSearch, updateSchema], 'bucket', callback);\n\n// partial application example:\nasync.each(\n buckets,\n async.applyEach([enableSearch, updateSchema]),\n callback\n);\n```\n\n---------------------------------------\n\n\n### applyEachSeries(arr, iterator, callback)\n\nThe same as applyEach only the functions are applied in series.\n\n---------------------------------------\n\n\n### queue(worker, concurrency)\n\nCreates a queue object with the specified concurrency. Tasks added to the\nqueue will be processed in parallel (up to the concurrency limit). If all\nworkers are in progress, the task is queued until one is available. Once\na worker has completed a task, the task's callback is called.\n\n__Arguments__\n\n* worker(task, callback) - An asynchronous function for processing a queued\n task, which must call its callback(err) argument when finished, with an \n optional error as an argument.\n* concurrency - An integer for determining how many worker functions should be\n run in parallel.\n\n__Queue objects__\n\nThe queue object returned by this function has the following properties and\nmethods:\n\n* length() - a function returning the number of items waiting to be processed.\n* concurrency - an integer for determining how many worker functions should be\n run in parallel. This property can be changed after a queue is created to\n alter the concurrency on-the-fly.\n* push(task, [callback]) - add a new task to the queue, the callback is called\n once the worker has finished processing the task.\n instead of a single task, an array of tasks can be submitted. the respective callback is used for every task in the list.\n* unshift(task, [callback]) - add a new task to the front of the queue.\n* saturated - a callback that is called when the queue length hits the concurrency and further tasks will be queued\n* empty - a callback that is called when the last item from the queue is given to a worker\n* drain - a callback that is called when the last item from the queue has returned from the worker\n\n__Example__\n\n```js\n// create a queue object with concurrency 2\n\nvar q = async.queue(function (task, callback) {\n console.log('hello ' + task.name);\n callback();\n}, 2);\n\n\n// assign a callback\nq.drain = function() {\n console.log('all items have been processed');\n}\n\n// add some items to the queue\n\nq.push({name: 'foo'}, function (err) {\n console.log('finished processing foo');\n});\nq.push({name: 'bar'}, function (err) {\n console.log('finished processing bar');\n});\n\n// add some items to the queue (batch-wise)\n\nq.push([{name: 'baz'},{name: 'bay'},{name: 'bax'}], function (err) {\n console.log('finished processing bar');\n});\n\n// add some items to the front of the queue\n\nq.unshift({name: 'bar'}, function (err) {\n console.log('finished processing bar');\n});\n```\n\n---------------------------------------\n\n\n### cargo(worker, [payload])\n\nCreates a cargo object with the specified payload. Tasks added to the\ncargo will be processed altogether (up to the payload limit). If the\nworker is in progress, the task is queued until it is available. Once\nthe worker has completed some tasks, each callback of those tasks is called.\n\n__Arguments__\n\n* worker(tasks, callback) - An asynchronous function for processing an array of\n queued tasks, which must call its callback(err) argument when finished, with \n an optional error as an argument.\n* payload - An optional integer for determining how many tasks should be\n processed per round; if omitted, the default is unlimited.\n\n__Cargo objects__\n\nThe cargo object returned by this function has the following properties and\nmethods:\n\n* length() - a function returning the number of items waiting to be processed.\n* payload - an integer for determining how many tasks should be\n process per round. This property can be changed after a cargo is created to\n alter the payload on-the-fly.\n* push(task, [callback]) - add a new task to the queue, the callback is called\n once the worker has finished processing the task.\n instead of a single task, an array of tasks can be submitted. the respective callback is used for every task in the list.\n* saturated - a callback that is called when the queue length hits the concurrency and further tasks will be queued\n* empty - a callback that is called when the last item from the queue is given to a worker\n* drain - a callback that is called when the last item from the queue has returned from the worker\n\n__Example__\n\n```js\n// create a cargo object with payload 2\n\nvar cargo = async.cargo(function (tasks, callback) {\n for(var i=0; i\n### auto(tasks, [callback])\n\nDetermines the best order for running functions based on their requirements.\nEach function can optionally depend on other functions being completed first,\nand each function is run as soon as its requirements are satisfied. If any of\nthe functions pass an error to their callback, that function will not complete\n(so any other functions depending on it will not run) and the main callback\nwill be called immediately with the error. Functions also receive an object\ncontaining the results of functions which have completed so far.\n\nNote, all functions are called with a results object as a second argument, \nso it is unsafe to pass functions in the tasks object which cannot handle the\nextra argument. For example, this snippet of code:\n\n```js\nasync.auto({\n readData: async.apply(fs.readFile, 'data.txt', 'utf-8');\n}, callback);\n```\n\nwill have the effect of calling readFile with the results object as the last\nargument, which will fail:\n\n```js\nfs.readFile('data.txt', 'utf-8', cb, {});\n```\n\nInstead, wrap the call to readFile in a function which does not forward the \nresults object:\n\n```js\nasync.auto({\n readData: function(cb, results){\n fs.readFile('data.txt', 'utf-8', cb);\n }\n}, callback);\n```\n\n__Arguments__\n\n* tasks - An object literal containing named functions or an array of\n requirements, with the function itself the last item in the array. The key\n used for each function or array is used when specifying requirements. The \n function receives two arguments: (1) a callback(err, result) which must be \n called when finished, passing an error (which can be null) and the result of \n the function's execution, and (2) a results object, containing the results of\n the previously executed functions.\n* callback(err, results) - An optional callback which is called when all the\n tasks have been completed. The callback will receive an error as an argument\n if any tasks pass an error to their callback. Results will always be passed\n\tbut if an error occurred, no other tasks will be performed, and the results\n\tobject will only contain partial results.\n \n\n__Example__\n\n```js\nasync.auto({\n get_data: function(callback){\n // async code to get some data\n },\n make_folder: function(callback){\n // async code to create a directory to store a file in\n // this is run at the same time as getting the data\n },\n write_file: ['get_data', 'make_folder', function(callback){\n // once there is some data and the directory exists,\n // write the data to a file in the directory\n callback(null, filename);\n }],\n email_link: ['write_file', function(callback, results){\n // once the file is written let's email a link to it...\n // results.write_file contains the filename returned by write_file.\n }]\n});\n```\n\nThis is a fairly trivial example, but to do this using the basic parallel and\nseries functions would look like this:\n\n```js\nasync.parallel([\n function(callback){\n // async code to get some data\n },\n function(callback){\n // async code to create a directory to store a file in\n // this is run at the same time as getting the data\n }\n],\nfunction(err, results){\n async.series([\n function(callback){\n // once there is some data and the directory exists,\n // write the data to a file in the directory\n },\n function(callback){\n // once the file is written let's email a link to it...\n }\n ]);\n});\n```\n\nFor a complicated series of async tasks using the auto function makes adding\nnew tasks much easier and makes the code more readable.\n\n\n---------------------------------------\n\n\n### iterator(tasks)\n\nCreates an iterator function which calls the next function in the array,\nreturning a continuation to call the next one after that. It's also possible to\n'peek' the next iterator by doing iterator.next().\n\nThis function is used internally by the async module but can be useful when\nyou want to manually control the flow of functions in series.\n\n__Arguments__\n\n* tasks - An array of functions to run.\n\n__Example__\n\n```js\nvar iterator = async.iterator([\n function(){ sys.p('one'); },\n function(){ sys.p('two'); },\n function(){ sys.p('three'); }\n]);\n\nnode> var iterator2 = iterator();\n'one'\nnode> var iterator3 = iterator2();\n'two'\nnode> iterator3();\n'three'\nnode> var nextfn = iterator2.next();\nnode> nextfn();\n'three'\n```\n\n---------------------------------------\n\n\n### apply(function, arguments..)\n\nCreates a continuation function with some arguments already applied, a useful\nshorthand when combined with other control flow functions. Any arguments\npassed to the returned function are added to the arguments originally passed\nto apply.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to automatically apply when the\n continuation is called.\n\n__Example__\n\n```js\n// using apply\n\nasync.parallel([\n async.apply(fs.writeFile, 'testfile1', 'test1'),\n async.apply(fs.writeFile, 'testfile2', 'test2'),\n]);\n\n\n// the same process without using apply\n\nasync.parallel([\n function(callback){\n fs.writeFile('testfile1', 'test1', callback);\n },\n function(callback){\n fs.writeFile('testfile2', 'test2', callback);\n }\n]);\n```\n\nIt's possible to pass any number of additional arguments when calling the\ncontinuation:\n\n```js\nnode> var fn = async.apply(sys.puts, 'one');\nnode> fn('two', 'three');\none\ntwo\nthree\n```\n\n---------------------------------------\n\n\n### nextTick(callback)\n\nCalls the callback on a later loop around the event loop. In node.js this just\ncalls process.nextTick, in the browser it falls back to setImmediate(callback)\nif available, otherwise setTimeout(callback, 0), which means other higher priority\nevents may precede the execution of the callback.\n\nThis is used internally for browser-compatibility purposes.\n\n__Arguments__\n\n* callback - The function to call on a later loop around the event loop.\n\n__Example__\n\n```js\nvar call_order = [];\nasync.nextTick(function(){\n call_order.push('two');\n // call_order now equals ['one','two']\n});\ncall_order.push('one')\n```\n\n\n### times(n, callback)\n\nCalls the callback n times and accumulates results in the same manner\nyou would use with async.map.\n\n__Arguments__\n\n* n - The number of times to run the function.\n* callback - The function to call n times.\n\n__Example__\n\n```js\n// Pretend this is some complicated async factory\nvar createUser = function(id, callback) {\n callback(null, {\n id: 'user' + id\n })\n}\n// generate 5 users\nasync.times(5, function(n, next){\n createUser(n, function(err, user) {\n next(err, user)\n })\n}, function(err, users) {\n // we should now have 5 users\n});\n```\n\n\n### timesSeries(n, callback)\n\nThe same as times only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n\n## Utils\n\n\n### memoize(fn, [hasher])\n\nCaches the results of an async function. When creating a hash to store function\nresults against, the callback is omitted from the hash and an optional hash\nfunction can be used.\n\nThe cache of results is exposed as the `memo` property of the function returned\nby `memoize`.\n\n__Arguments__\n\n* fn - the function you to proxy and cache results from.\n* hasher - an optional function for generating a custom hash for storing\n results, it has all the arguments applied to it apart from the callback, and\n must be synchronous.\n\n__Example__\n\n```js\nvar slow_fn = function (name, callback) {\n // do something\n callback(null, result);\n};\nvar fn = async.memoize(slow_fn);\n\n// fn can now be used as if it were slow_fn\nfn('some name', function () {\n // callback\n});\n```\n\n\n### unmemoize(fn)\n\nUndoes a memoized function, reverting it to the original, unmemoized\nform. Comes handy in tests.\n\n__Arguments__\n\n* fn - the memoized function\n\n\n### log(function, arguments)\n\nLogs the result of an async function to the console. Only works in node.js or\nin browsers that support console.log and console.error (such as FF and Chrome).\nIf multiple arguments are returned from the async function, console.log is\ncalled on each argument in order.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to apply to the function.\n\n__Example__\n\n```js\nvar hello = function(name, callback){\n setTimeout(function(){\n callback(null, 'hello ' + name);\n }, 1000);\n};\n```\n```js\nnode> async.log(hello, 'world');\n'hello world'\n```\n\n---------------------------------------\n\n\n### dir(function, arguments)\n\nLogs the result of an async function to the console using console.dir to\ndisplay the properties of the resulting object. Only works in node.js or\nin browsers that support console.dir and console.error (such as FF and Chrome).\nIf multiple arguments are returned from the async function, console.dir is\ncalled on each argument in order.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to apply to the function.\n\n__Example__\n\n```js\nvar hello = function(name, callback){\n setTimeout(function(){\n callback(null, {hello: name});\n }, 1000);\n};\n```\n```js\nnode> async.dir(hello, 'world');\n{hello: 'world'}\n```\n\n---------------------------------------\n\n\n### noConflict()\n\nChanges the value of async back to its original value, returning a reference to the\nasync object.\n", + "readmeFilename": "README.md", + "_id": "async@0.2.9", + "_from": "async@~0.2.6" +} diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/.npmignore b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/.npmignore new file mode 100644 index 0000000..3dddf3f --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/.npmignore @@ -0,0 +1,2 @@ +dist/* +node_modules/* diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/.travis.yml b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/.travis.yml new file mode 100644 index 0000000..ddc9c4f --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/.travis.yml @@ -0,0 +1,4 @@ +language: node_js +node_js: + - 0.8 + - "0.10" \ No newline at end of file diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/CHANGELOG.md b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/CHANGELOG.md new file mode 100644 index 0000000..98b90d5 --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/CHANGELOG.md @@ -0,0 +1,112 @@ +# Change Log + +## 0.1.31 + +* Delay parsing the mappings in SourceMapConsumer until queried for a source + location. + +* Support Sass source maps (which at the time of writing deviate from the spec + in small ways) in SourceMapConsumer. + +## 0.1.30 + +* Do not join source root with a source, when the source is a data URI. + +* Extend the test runner to allow running single specific test files at a time. + +* Performance improvements in `SourceNode.prototype.walk` and + `SourceMapConsumer.prototype.eachMapping`. + +* Source map browser builds will now work inside Workers. + +* Better error messages when attempting to add an invalid mapping to a + `SourceMapGenerator`. + +## 0.1.29 + +* Allow duplicate entries in the `names` and `sources` arrays of source maps + (usually from TypeScript) we are parsing. Fixes github isse 72. + +## 0.1.28 + +* Skip duplicate mappings when creating source maps from SourceNode; github + issue 75. + +## 0.1.27 + +* Don't throw an error when the `file` property is missing in SourceMapConsumer, + we don't use it anyway. + +## 0.1.26 + +* Fix SourceNode.fromStringWithSourceMap for empty maps. Fixes github issue 70. + +## 0.1.25 + +* Make compatible with browserify + +## 0.1.24 + +* Fix issue with absolute paths and `file://` URIs. See + https://bugzilla.mozilla.org/show_bug.cgi?id=885597 + +## 0.1.23 + +* Fix issue with absolute paths and sourcesContent, github issue 64. + +## 0.1.22 + +* Ignore duplicate mappings in SourceMapGenerator. Fixes github issue 21. + +## 0.1.21 + +* Fixed handling of sources that start with a slash so that they are relative to + the source root's host. + +## 0.1.20 + +* Fixed github issue #43: absolute URLs aren't joined with the source root + anymore. + +## 0.1.19 + +* Using Travis CI to run tests. + +## 0.1.18 + +* Fixed a bug in the handling of sourceRoot. + +## 0.1.17 + +* Added SourceNode.fromStringWithSourceMap. + +## 0.1.16 + +* Added missing documentation. + +* Fixed the generating of empty mappings in SourceNode. + +## 0.1.15 + +* Added SourceMapGenerator.applySourceMap. + +## 0.1.14 + +* The sourceRoot is now handled consistently. + +## 0.1.13 + +* Added SourceMapGenerator.fromSourceMap. + +## 0.1.12 + +* SourceNode now generates empty mappings too. + +## 0.1.11 + +* Added name support to SourceNode. + +## 0.1.10 + +* Added sourcesContent support to the customer and generator. + diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/LICENSE b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/LICENSE new file mode 100644 index 0000000..ed1b7cf --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/LICENSE @@ -0,0 +1,28 @@ + +Copyright (c) 2009-2011, Mozilla Foundation and contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the names of the Mozilla Foundation nor the names of project + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/Makefile.dryice.js b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/Makefile.dryice.js new file mode 100644 index 0000000..d6fc26a --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/Makefile.dryice.js @@ -0,0 +1,166 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +var path = require('path'); +var fs = require('fs'); +var copy = require('dryice').copy; + +function removeAmdefine(src) { + src = String(src).replace( + /if\s*\(typeof\s*define\s*!==\s*'function'\)\s*{\s*var\s*define\s*=\s*require\('amdefine'\)\(module,\s*require\);\s*}\s*/g, + ''); + src = src.replace( + /\b(define\(.*)('amdefine',?)/gm, + '$1'); + return src; +} +removeAmdefine.onRead = true; + +function makeNonRelative(src) { + return src + .replace(/require\('.\//g, 'require(\'source-map/') + .replace(/\.\.\/\.\.\/lib\//g, ''); +} +makeNonRelative.onRead = true; + +function buildBrowser() { + console.log('\nCreating dist/source-map.js'); + + var project = copy.createCommonJsProject({ + roots: [ path.join(__dirname, 'lib') ] + }); + + copy({ + source: [ + 'build/mini-require.js', + { + project: project, + require: [ 'source-map/source-map-generator', + 'source-map/source-map-consumer', + 'source-map/source-node'] + }, + 'build/suffix-browser.js' + ], + filter: [ + copy.filter.moduleDefines, + removeAmdefine + ], + dest: 'dist/source-map.js' + }); +} + +function buildBrowserMin() { + console.log('\nCreating dist/source-map.min.js'); + + copy({ + source: 'dist/source-map.js', + filter: copy.filter.uglifyjs, + dest: 'dist/source-map.min.js' + }); +} + +function buildFirefox() { + console.log('\nCreating dist/SourceMap.jsm'); + + var project = copy.createCommonJsProject({ + roots: [ path.join(__dirname, 'lib') ] + }); + + copy({ + source: [ + 'build/prefix-source-map.jsm', + { + project: project, + require: [ 'source-map/source-map-consumer', + 'source-map/source-map-generator', + 'source-map/source-node' ] + }, + 'build/suffix-source-map.jsm' + ], + filter: [ + copy.filter.moduleDefines, + removeAmdefine, + makeNonRelative + ], + dest: 'dist/SourceMap.jsm' + }); + + // Create dist/test/Utils.jsm + console.log('\nCreating dist/test/Utils.jsm'); + + project = copy.createCommonJsProject({ + roots: [ __dirname, path.join(__dirname, 'lib') ] + }); + + copy({ + source: [ + 'build/prefix-utils.jsm', + 'build/assert-shim.js', + { + project: project, + require: [ 'test/source-map/util' ] + }, + 'build/suffix-utils.jsm' + ], + filter: [ + copy.filter.moduleDefines, + removeAmdefine, + makeNonRelative + ], + dest: 'dist/test/Utils.jsm' + }); + + function isTestFile(f) { + return /^test\-.*?\.js/.test(f); + } + + var testFiles = fs.readdirSync(path.join(__dirname, 'test', 'source-map')).filter(isTestFile); + + testFiles.forEach(function (testFile) { + console.log('\nCreating', path.join('dist', 'test', testFile.replace(/\-/g, '_'))); + + copy({ + source: [ + 'build/test-prefix.js', + path.join('test', 'source-map', testFile), + 'build/test-suffix.js' + ], + filter: [ + removeAmdefine, + makeNonRelative, + function (input, source) { + return input.replace('define(', + 'define("' + + path.join('test', 'source-map', testFile.replace(/\.js$/, '')) + + '", ["require", "exports", "module"], '); + }, + function (input, source) { + return input.replace('{THIS_MODULE}', function () { + return "test/source-map/" + testFile.replace(/\.js$/, ''); + }); + } + ], + dest: path.join('dist', 'test', testFile.replace(/\-/g, '_')) + }); + }); +} + +function ensureDir(name) { + var dirExists = false; + try { + dirExists = fs.statSync(name).isDirectory(); + } catch (err) {} + + if (!dirExists) { + fs.mkdirSync(name, 0777); + } +} + +ensureDir("dist"); +ensureDir("dist/test"); +buildFirefox(); +buildBrowser(); +buildBrowserMin(); diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/README.md b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/README.md new file mode 100644 index 0000000..c20437b --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/README.md @@ -0,0 +1,434 @@ +# Source Map + +This is a library to generate and consume the source map format +[described here][format]. + +This library is written in the Asynchronous Module Definition format, and works +in the following environments: + +* Modern Browsers supporting ECMAScript 5 (either after the build, or with an + AMD loader such as RequireJS) + +* Inside Firefox (as a JSM file, after the build) + +* With NodeJS versions 0.8.X and higher + +## Node + + $ npm install source-map + +## Building from Source (for everywhere else) + +Install Node and then run + + $ git clone https://fitzgen@github.com/mozilla/source-map.git + $ cd source-map + $ npm link . + +Next, run + + $ node Makefile.dryice.js + +This should spew a bunch of stuff to stdout, and create the following files: + +* `dist/source-map.js` - The unminified browser version. + +* `dist/source-map.min.js` - The minified browser version. + +* `dist/SourceMap.jsm` - The JavaScript Module for inclusion in Firefox source. + +## Examples + +### Consuming a source map + + var rawSourceMap = { + version: 3, + file: 'min.js', + names: ['bar', 'baz', 'n'], + sources: ['one.js', 'two.js'], + sourceRoot: 'http://example.com/www/js/', + mappings: 'CAAC,IAAI,IAAM,SAAUA,GAClB,OAAOC,IAAID;CCDb,IAAI,IAAM,SAAUE,GAClB,OAAOA' + }; + + var smc = new SourceMapConsumer(rawSourceMap); + + console.log(smc.sources); + // [ 'http://example.com/www/js/one.js', + // 'http://example.com/www/js/two.js' ] + + console.log(smc.originalPositionFor({ + line: 2, + column: 28 + })); + // { source: 'http://example.com/www/js/two.js', + // line: 2, + // column: 10, + // name: 'n' } + + console.log(smc.generatedPositionFor({ + source: 'http://example.com/www/js/two.js', + line: 2, + column: 10 + })); + // { line: 2, column: 28 } + + smc.eachMapping(function (m) { + // ... + }); + +### Generating a source map + +In depth guide: +[**Compiling to JavaScript, and Debugging with Source Maps**](https://hacks.mozilla.org/2013/05/compiling-to-javascript-and-debugging-with-source-maps/) + +#### With SourceNode (high level API) + + function compile(ast) { + switch (ast.type) { + case 'BinaryExpression': + return new SourceNode( + ast.location.line, + ast.location.column, + ast.location.source, + [compile(ast.left), " + ", compile(ast.right)] + ); + case 'Literal': + return new SourceNode( + ast.location.line, + ast.location.column, + ast.location.source, + String(ast.value) + ); + // ... + default: + throw new Error("Bad AST"); + } + } + + var ast = parse("40 + 2", "add.js"); + console.log(compile(ast).toStringWithSourceMap({ + file: 'add.js' + })); + // { code: '40 + 2', + // map: [object SourceMapGenerator] } + +#### With SourceMapGenerator (low level API) + + var map = new SourceMapGenerator({ + file: "source-mapped.js" + }); + + map.addMapping({ + generated: { + line: 10, + column: 35 + }, + source: "foo.js", + original: { + line: 33, + column: 2 + }, + name: "christopher" + }); + + console.log(map.toString()); + // '{"version":3,"file":"source-mapped.js","sources":["foo.js"],"names":["christopher"],"mappings":";;;;;;;;;mCAgCEA"}' + +## API + +Get a reference to the module: + + // NodeJS + var sourceMap = require('source-map'); + + // Browser builds + var sourceMap = window.sourceMap; + + // Inside Firefox + let sourceMap = {}; + Components.utils.import('resource:///modules/devtools/SourceMap.jsm', sourceMap); + +### SourceMapConsumer + +A SourceMapConsumer instance represents a parsed source map which we can query +for information about the original file positions by giving it a file position +in the generated source. + +#### new SourceMapConsumer(rawSourceMap) + +The only parameter is the raw source map (either as a string which can be +`JSON.parse`'d, or an object). According to the spec, source maps have the +following attributes: + +* `version`: Which version of the source map spec this map is following. + +* `sources`: An array of URLs to the original source files. + +* `names`: An array of identifiers which can be referrenced by individual + mappings. + +* `sourceRoot`: Optional. The URL root from which all sources are relative. + +* `sourcesContent`: Optional. An array of contents of the original source files. + +* `mappings`: A string of base64 VLQs which contain the actual mappings. + +* `file`: The generated filename this source map is associated with. + +#### SourceMapConsumer.prototype.originalPositionFor(generatedPosition) + +Returns the original source, line, and column information for the generated +source's line and column positions provided. The only argument is an object with +the following properties: + +* `line`: The line number in the generated source. + +* `column`: The column number in the generated source. + +and an object is returned with the following properties: + +* `source`: The original source file, or null if this information is not + available. + +* `line`: The line number in the original source, or null if this information is + not available. + +* `column`: The column number in the original source, or null or null if this + information is not available. + +* `name`: The original identifier, or null if this information is not available. + +#### SourceMapConsumer.prototype.generatedPositionFor(originalPosition) + +Returns the generated line and column information for the original source, +line, and column positions provided. The only argument is an object with +the following properties: + +* `source`: The filename of the original source. + +* `line`: The line number in the original source. + +* `column`: The column number in the original source. + +and an object is returned with the following properties: + +* `line`: The line number in the generated source, or null. + +* `column`: The column number in the generated source, or null. + +#### SourceMapConsumer.prototype.sourceContentFor(source) + +Returns the original source content for the source provided. The only +argument is the URL of the original source file. + +#### SourceMapConsumer.prototype.eachMapping(callback, context, order) + +Iterate over each mapping between an original source/line/column and a +generated line/column in this source map. + +* `callback`: The function that is called with each mapping. Mappings have the + form `{ source, generatedLine, generatedColumn, originalLine, originalColumn, + name }` + +* `context`: Optional. If specified, this object will be the value of `this` + every time that `callback` is called. + +* `order`: Either `SourceMapConsumer.GENERATED_ORDER` or + `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to iterate over + the mappings sorted by the generated file's line/column order or the + original's source/line/column order, respectively. Defaults to + `SourceMapConsumer.GENERATED_ORDER`. + +### SourceMapGenerator + +An instance of the SourceMapGenerator represents a source map which is being +built incrementally. + +#### new SourceMapGenerator(startOfSourceMap) + +To create a new one, you must pass an object with the following properties: + +* `file`: The filename of the generated source that this source map is + associated with. + +* `sourceRoot`: An optional root for all relative URLs in this source map. + +#### SourceMapGenerator.fromSourceMap(sourceMapConsumer) + +Creates a new SourceMapGenerator based on a SourceMapConsumer + +* `sourceMapConsumer` The SourceMap. + +#### SourceMapGenerator.prototype.addMapping(mapping) + +Add a single mapping from original source line and column to the generated +source's line and column for this source map being created. The mapping object +should have the following properties: + +* `generated`: An object with the generated line and column positions. + +* `original`: An object with the original line and column positions. + +* `source`: The original source file (relative to the sourceRoot). + +* `name`: An optional original token name for this mapping. + +#### SourceMapGenerator.prototype.setSourceContent(sourceFile, sourceContent) + +Set the source content for an original source file. + +* `sourceFile` the URL of the original source file. + +* `sourceContent` the content of the source file. + +#### SourceMapGenerator.prototype.applySourceMap(sourceMapConsumer[, sourceFile]) + +Applies a SourceMap for a source file to the SourceMap. +Each mapping to the supplied source file is rewritten using the +supplied SourceMap. Note: The resolution for the resulting mappings +is the minimium of this map and the supplied map. + +* `sourceMapConsumer`: The SourceMap to be applied. + +* `sourceFile`: Optional. The filename of the source file. + If omitted, sourceMapConsumer.file will be used. + +#### SourceMapGenerator.prototype.toString() + +Renders the source map being generated to a string. + +### SourceNode + +SourceNodes provide a way to abstract over interpolating and/or concatenating +snippets of generated JavaScript source code, while maintaining the line and +column information associated between those snippets and the original source +code. This is useful as the final intermediate representation a compiler might +use before outputting the generated JS and source map. + +#### new SourceNode(line, column, source[, chunk[, name]]) + +* `line`: The original line number associated with this source node, or null if + it isn't associated with an original line. + +* `column`: The original column number associated with this source node, or null + if it isn't associated with an original column. + +* `source`: The original source's filename. + +* `chunk`: Optional. Is immediately passed to `SourceNode.prototype.add`, see + below. + +* `name`: Optional. The original identifier. + +#### SourceNode.fromStringWithSourceMap(code, sourceMapConsumer) + +Creates a SourceNode from generated code and a SourceMapConsumer. + +* `code`: The generated code + +* `sourceMapConsumer` The SourceMap for the generated code + +#### SourceNode.prototype.add(chunk) + +Add a chunk of generated JS to this source node. + +* `chunk`: A string snippet of generated JS code, another instance of + `SourceNode`, or an array where each member is one of those things. + +#### SourceNode.prototype.prepend(chunk) + +Prepend a chunk of generated JS to this source node. + +* `chunk`: A string snippet of generated JS code, another instance of + `SourceNode`, or an array where each member is one of those things. + +#### SourceNode.prototype.setSourceContent(sourceFile, sourceContent) + +Set the source content for a source file. This will be added to the +`SourceMap` in the `sourcesContent` field. + +* `sourceFile`: The filename of the source file + +* `sourceContent`: The content of the source file + +#### SourceNode.prototype.walk(fn) + +Walk over the tree of JS snippets in this node and its children. The walking +function is called once for each snippet of JS and is passed that snippet and +the its original associated source's line/column location. + +* `fn`: The traversal function. + +#### SourceNode.prototype.walkSourceContents(fn) + +Walk over the tree of SourceNodes. The walking function is called for each +source file content and is passed the filename and source content. + +* `fn`: The traversal function. + +#### SourceNode.prototype.join(sep) + +Like `Array.prototype.join` except for SourceNodes. Inserts the separator +between each of this source node's children. + +* `sep`: The separator. + +#### SourceNode.prototype.replaceRight(pattern, replacement) + +Call `String.prototype.replace` on the very right-most source snippet. Useful +for trimming whitespace from the end of a source node, etc. + +* `pattern`: The pattern to replace. + +* `replacement`: The thing to replace the pattern with. + +#### SourceNode.prototype.toString() + +Return the string representation of this source node. Walks over the tree and +concatenates all the various snippets together to one string. + +### SourceNode.prototype.toStringWithSourceMap(startOfSourceMap) + +Returns the string representation of this tree of source nodes, plus a +SourceMapGenerator which contains all the mappings between the generated and +original sources. + +The arguments are the same as those to `new SourceMapGenerator`. + +## Tests + +[![Build Status](https://travis-ci.org/mozilla/source-map.png?branch=master)](https://travis-ci.org/mozilla/source-map) + +Install NodeJS version 0.8.0 or greater, then run `node test/run-tests.js`. + +To add new tests, create a new file named `test/test-.js` +and export your test functions with names that start with "test", for example + + exports["test doing the foo bar"] = function (assert, util) { + ... + }; + +The new test will be located automatically when you run the suite. + +The `util` argument is the test utility module located at `test/source-map/util`. + +The `assert` argument is a cut down version of node's assert module. You have +access to the following assertion functions: + +* `doesNotThrow` + +* `equal` + +* `ok` + +* `strictEqual` + +* `throws` + +(The reason for the restricted set of test functions is because we need the +tests to run inside Firefox's test suite as well and so the assert module is +shimmed in that environment. See `build/assert-shim.js`.) + +[format]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit +[feature]: https://wiki.mozilla.org/DevTools/Features/SourceMap +[Dryice]: https://github.com/mozilla/dryice diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/assert-shim.js b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/assert-shim.js new file mode 100644 index 0000000..daa1a62 --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/assert-shim.js @@ -0,0 +1,56 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +define('test/source-map/assert', ['exports'], function (exports) { + + let do_throw = function (msg) { + throw new Error(msg); + }; + + exports.init = function (throw_fn) { + do_throw = throw_fn; + }; + + exports.doesNotThrow = function (fn) { + try { + fn(); + } + catch (e) { + do_throw(e.message); + } + }; + + exports.equal = function (actual, expected, msg) { + msg = msg || String(actual) + ' != ' + String(expected); + if (actual != expected) { + do_throw(msg); + } + }; + + exports.ok = function (val, msg) { + msg = msg || String(val) + ' is falsey'; + if (!Boolean(val)) { + do_throw(msg); + } + }; + + exports.strictEqual = function (actual, expected, msg) { + msg = msg || String(actual) + ' !== ' + String(expected); + if (actual !== expected) { + do_throw(msg); + } + }; + + exports.throws = function (fn) { + try { + fn(); + do_throw('Expected an error to be thrown, but it wasn\'t.'); + } + catch (e) { + } + }; + +}); diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/mini-require.js b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/mini-require.js new file mode 100644 index 0000000..0daf453 --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/mini-require.js @@ -0,0 +1,152 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +/** + * Define a module along with a payload. + * @param {string} moduleName Name for the payload + * @param {ignored} deps Ignored. For compatibility with CommonJS AMD Spec + * @param {function} payload Function with (require, exports, module) params + */ +function define(moduleName, deps, payload) { + if (typeof moduleName != "string") { + throw new TypeError('Expected string, got: ' + moduleName); + } + + if (arguments.length == 2) { + payload = deps; + } + + if (moduleName in define.modules) { + throw new Error("Module already defined: " + moduleName); + } + define.modules[moduleName] = payload; +}; + +/** + * The global store of un-instantiated modules + */ +define.modules = {}; + + +/** + * We invoke require() in the context of a Domain so we can have multiple + * sets of modules running separate from each other. + * This contrasts with JSMs which are singletons, Domains allows us to + * optionally load a CommonJS module twice with separate data each time. + * Perhaps you want 2 command lines with a different set of commands in each, + * for example. + */ +function Domain() { + this.modules = {}; + this._currentModule = null; +} + +(function () { + + /** + * Lookup module names and resolve them by calling the definition function if + * needed. + * There are 2 ways to call this, either with an array of dependencies and a + * callback to call when the dependencies are found (which can happen + * asynchronously in an in-page context) or with a single string an no callback + * where the dependency is resolved synchronously and returned. + * The API is designed to be compatible with the CommonJS AMD spec and + * RequireJS. + * @param {string[]|string} deps A name, or names for the payload + * @param {function|undefined} callback Function to call when the dependencies + * are resolved + * @return {undefined|object} The module required or undefined for + * array/callback method + */ + Domain.prototype.require = function(deps, callback) { + if (Array.isArray(deps)) { + var params = deps.map(function(dep) { + return this.lookup(dep); + }, this); + if (callback) { + callback.apply(null, params); + } + return undefined; + } + else { + return this.lookup(deps); + } + }; + + function normalize(path) { + var bits = path.split('/'); + var i = 1; + while (i < bits.length) { + if (bits[i] === '..') { + bits.splice(i-1, 1); + } else if (bits[i] === '.') { + bits.splice(i, 1); + } else { + i++; + } + } + return bits.join('/'); + } + + function join(a, b) { + a = a.trim(); + b = b.trim(); + if (/^\//.test(b)) { + return b; + } else { + return a.replace(/\/*$/, '/') + b; + } + } + + function dirname(path) { + var bits = path.split('/'); + bits.pop(); + return bits.join('/'); + } + + /** + * Lookup module names and resolve them by calling the definition function if + * needed. + * @param {string} moduleName A name for the payload to lookup + * @return {object} The module specified by aModuleName or null if not found. + */ + Domain.prototype.lookup = function(moduleName) { + if (/^\./.test(moduleName)) { + moduleName = normalize(join(dirname(this._currentModule), moduleName)); + } + + if (moduleName in this.modules) { + var module = this.modules[moduleName]; + return module; + } + + if (!(moduleName in define.modules)) { + throw new Error("Module not defined: " + moduleName); + } + + var module = define.modules[moduleName]; + + if (typeof module == "function") { + var exports = {}; + var previousModule = this._currentModule; + this._currentModule = moduleName; + module(this.require.bind(this), exports, { id: moduleName, uri: "" }); + this._currentModule = previousModule; + module = exports; + } + + // cache the resulting module object for next time + this.modules[moduleName] = module; + + return module; + }; + +}()); + +define.Domain = Domain; +define.globalDomain = new Domain(); +var require = define.globalDomain.require.bind(define.globalDomain); diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/prefix-source-map.jsm b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/prefix-source-map.jsm new file mode 100644 index 0000000..ee2539d --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/prefix-source-map.jsm @@ -0,0 +1,20 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +/* + * WARNING! + * + * Do not edit this file directly, it is built from the sources at + * https://github.com/mozilla/source-map/ + */ + +/////////////////////////////////////////////////////////////////////////////// + + +this.EXPORTED_SYMBOLS = [ "SourceMapConsumer", "SourceMapGenerator", "SourceNode" ]; + +Components.utils.import('resource://gre/modules/devtools/Require.jsm'); diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/prefix-utils.jsm b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/prefix-utils.jsm new file mode 100644 index 0000000..80341d4 --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/prefix-utils.jsm @@ -0,0 +1,18 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +/* + * WARNING! + * + * Do not edit this file directly, it is built from the sources at + * https://github.com/mozilla/source-map/ + */ + +Components.utils.import('resource://gre/modules/devtools/Require.jsm'); +Components.utils.import('resource://gre/modules/devtools/SourceMap.jsm'); + +this.EXPORTED_SYMBOLS = [ "define", "runSourceMapTests" ]; diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/suffix-browser.js b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/suffix-browser.js new file mode 100644 index 0000000..fb29ff5 --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/suffix-browser.js @@ -0,0 +1,8 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/////////////////////////////////////////////////////////////////////////////// + +this.sourceMap = { + SourceMapConsumer: require('source-map/source-map-consumer').SourceMapConsumer, + SourceMapGenerator: require('source-map/source-map-generator').SourceMapGenerator, + SourceNode: require('source-map/source-node').SourceNode +}; diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/suffix-source-map.jsm b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/suffix-source-map.jsm new file mode 100644 index 0000000..cf3c2d8 --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/suffix-source-map.jsm @@ -0,0 +1,6 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/////////////////////////////////////////////////////////////////////////////// + +this.SourceMapConsumer = require('source-map/source-map-consumer').SourceMapConsumer; +this.SourceMapGenerator = require('source-map/source-map-generator').SourceMapGenerator; +this.SourceNode = require('source-map/source-node').SourceNode; diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/suffix-utils.jsm b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/suffix-utils.jsm new file mode 100644 index 0000000..b31b84c --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/suffix-utils.jsm @@ -0,0 +1,21 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +function runSourceMapTests(modName, do_throw) { + let mod = require(modName); + let assert = require('test/source-map/assert'); + let util = require('test/source-map/util'); + + assert.init(do_throw); + + for (let k in mod) { + if (/^test/.test(k)) { + mod[k](assert, util); + } + } + +} +this.runSourceMapTests = runSourceMapTests; diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/test-prefix.js b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/test-prefix.js new file mode 100644 index 0000000..1b13f30 --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/test-prefix.js @@ -0,0 +1,8 @@ +/* + * WARNING! + * + * Do not edit this file directly, it is built from the sources at + * https://github.com/mozilla/source-map/ + */ + +Components.utils.import('resource://test/Utils.jsm'); diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/test-suffix.js b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/test-suffix.js new file mode 100644 index 0000000..bec2de3 --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/test-suffix.js @@ -0,0 +1,3 @@ +function run_test() { + runSourceMapTests('{THIS_MODULE}', do_throw); +} diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map.js b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map.js new file mode 100644 index 0000000..121ad24 --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map.js @@ -0,0 +1,8 @@ +/* + * Copyright 2009-2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE.txt or: + * http://opensource.org/licenses/BSD-3-Clause + */ +exports.SourceMapGenerator = require('./source-map/source-map-generator').SourceMapGenerator; +exports.SourceMapConsumer = require('./source-map/source-map-consumer').SourceMapConsumer; +exports.SourceNode = require('./source-map/source-node').SourceNode; diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/array-set.js b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/array-set.js new file mode 100644 index 0000000..40f9a18 --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/array-set.js @@ -0,0 +1,97 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module, require); +} +define(function (require, exports, module) { + + var util = require('./util'); + + /** + * A data structure which is a combination of an array and a set. Adding a new + * member is O(1), testing for membership is O(1), and finding the index of an + * element is O(1). Removing elements from the set is not supported. Only + * strings are supported for membership. + */ + function ArraySet() { + this._array = []; + this._set = {}; + } + + /** + * Static method for creating ArraySet instances from an existing array. + */ + ArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) { + var set = new ArraySet(); + for (var i = 0, len = aArray.length; i < len; i++) { + set.add(aArray[i], aAllowDuplicates); + } + return set; + }; + + /** + * Add the given string to this set. + * + * @param String aStr + */ + ArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) { + var isDuplicate = this.has(aStr); + var idx = this._array.length; + if (!isDuplicate || aAllowDuplicates) { + this._array.push(aStr); + } + if (!isDuplicate) { + this._set[util.toSetString(aStr)] = idx; + } + }; + + /** + * Is the given string a member of this set? + * + * @param String aStr + */ + ArraySet.prototype.has = function ArraySet_has(aStr) { + return Object.prototype.hasOwnProperty.call(this._set, + util.toSetString(aStr)); + }; + + /** + * What is the index of the given string in the array? + * + * @param String aStr + */ + ArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) { + if (this.has(aStr)) { + return this._set[util.toSetString(aStr)]; + } + throw new Error('"' + aStr + '" is not in the set.'); + }; + + /** + * What is the element at the given index? + * + * @param Number aIdx + */ + ArraySet.prototype.at = function ArraySet_at(aIdx) { + if (aIdx >= 0 && aIdx < this._array.length) { + return this._array[aIdx]; + } + throw new Error('No element indexed by ' + aIdx); + }; + + /** + * Returns the array representation of this set (which has the proper indices + * indicated by indexOf). Note that this is a copy of the internal array used + * for storing the members so that no one can mess with internal state. + */ + ArraySet.prototype.toArray = function ArraySet_toArray() { + return this._array.slice(); + }; + + exports.ArraySet = ArraySet; + +}); diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/base64-vlq.js b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/base64-vlq.js new file mode 100644 index 0000000..1b67bb3 --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/base64-vlq.js @@ -0,0 +1,144 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + * + * Based on the Base 64 VLQ implementation in Closure Compiler: + * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java + * + * Copyright 2011 The Closure Compiler Authors. All rights reserved. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module, require); +} +define(function (require, exports, module) { + + var base64 = require('./base64'); + + // A single base 64 digit can contain 6 bits of data. For the base 64 variable + // length quantities we use in the source map spec, the first bit is the sign, + // the next four bits are the actual value, and the 6th bit is the + // continuation bit. The continuation bit tells us whether there are more + // digits in this value following this digit. + // + // Continuation + // | Sign + // | | + // V V + // 101011 + + var VLQ_BASE_SHIFT = 5; + + // binary: 100000 + var VLQ_BASE = 1 << VLQ_BASE_SHIFT; + + // binary: 011111 + var VLQ_BASE_MASK = VLQ_BASE - 1; + + // binary: 100000 + var VLQ_CONTINUATION_BIT = VLQ_BASE; + + /** + * Converts from a two-complement value to a value where the sign bit is + * is placed in the least significant bit. For example, as decimals: + * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary) + * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary) + */ + function toVLQSigned(aValue) { + return aValue < 0 + ? ((-aValue) << 1) + 1 + : (aValue << 1) + 0; + } + + /** + * Converts to a two-complement value from a value where the sign bit is + * is placed in the least significant bit. For example, as decimals: + * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1 + * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2 + */ + function fromVLQSigned(aValue) { + var isNegative = (aValue & 1) === 1; + var shifted = aValue >> 1; + return isNegative + ? -shifted + : shifted; + } + + /** + * Returns the base 64 VLQ encoded value. + */ + exports.encode = function base64VLQ_encode(aValue) { + var encoded = ""; + var digit; + + var vlq = toVLQSigned(aValue); + + do { + digit = vlq & VLQ_BASE_MASK; + vlq >>>= VLQ_BASE_SHIFT; + if (vlq > 0) { + // There are still more digits in this value, so we must make sure the + // continuation bit is marked. + digit |= VLQ_CONTINUATION_BIT; + } + encoded += base64.encode(digit); + } while (vlq > 0); + + return encoded; + }; + + /** + * Decodes the next base 64 VLQ value from the given string and returns the + * value and the rest of the string. + */ + exports.decode = function base64VLQ_decode(aStr) { + var i = 0; + var strLen = aStr.length; + var result = 0; + var shift = 0; + var continuation, digit; + + do { + if (i >= strLen) { + throw new Error("Expected more digits in base 64 VLQ value."); + } + digit = base64.decode(aStr.charAt(i++)); + continuation = !!(digit & VLQ_CONTINUATION_BIT); + digit &= VLQ_BASE_MASK; + result = result + (digit << shift); + shift += VLQ_BASE_SHIFT; + } while (continuation); + + return { + value: fromVLQSigned(result), + rest: aStr.slice(i) + }; + }; + +}); diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/base64.js b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/base64.js new file mode 100644 index 0000000..863cc46 --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/base64.js @@ -0,0 +1,42 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module, require); +} +define(function (require, exports, module) { + + var charToIntMap = {}; + var intToCharMap = {}; + + 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' + .split('') + .forEach(function (ch, index) { + charToIntMap[ch] = index; + intToCharMap[index] = ch; + }); + + /** + * Encode an integer in the range of 0 to 63 to a single base 64 digit. + */ + exports.encode = function base64_encode(aNumber) { + if (aNumber in intToCharMap) { + return intToCharMap[aNumber]; + } + throw new TypeError("Must be between 0 and 63: " + aNumber); + }; + + /** + * Decode a single base 64 digit to an integer. + */ + exports.decode = function base64_decode(aChar) { + if (aChar in charToIntMap) { + return charToIntMap[aChar]; + } + throw new TypeError("Not a valid base 64 digit: " + aChar); + }; + +}); diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/binary-search.js b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/binary-search.js new file mode 100644 index 0000000..ff347c6 --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/binary-search.js @@ -0,0 +1,81 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module, require); +} +define(function (require, exports, module) { + + /** + * Recursive implementation of binary search. + * + * @param aLow Indices here and lower do not contain the needle. + * @param aHigh Indices here and higher do not contain the needle. + * @param aNeedle The element being searched for. + * @param aHaystack The non-empty array being searched. + * @param aCompare Function which takes two elements and returns -1, 0, or 1. + */ + function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare) { + // This function terminates when one of the following is true: + // + // 1. We find the exact element we are looking for. + // + // 2. We did not find the exact element, but we can return the next + // closest element that is less than that element. + // + // 3. We did not find the exact element, and there is no next-closest + // element which is less than the one we are searching for, so we + // return null. + var mid = Math.floor((aHigh - aLow) / 2) + aLow; + var cmp = aCompare(aNeedle, aHaystack[mid], true); + if (cmp === 0) { + // Found the element we are looking for. + return aHaystack[mid]; + } + else if (cmp > 0) { + // aHaystack[mid] is greater than our needle. + if (aHigh - mid > 1) { + // The element is in the upper half. + return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare); + } + // We did not find an exact match, return the next closest one + // (termination case 2). + return aHaystack[mid]; + } + else { + // aHaystack[mid] is less than our needle. + if (mid - aLow > 1) { + // The element is in the lower half. + return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare); + } + // The exact needle element was not found in this haystack. Determine if + // we are in termination case (2) or (3) and return the appropriate thing. + return aLow < 0 + ? null + : aHaystack[aLow]; + } + } + + /** + * This is an implementation of binary search which will always try and return + * the next lowest value checked if there is no exact hit. This is because + * mappings between original and generated line/col pairs are single points, + * and there is an implicit region between each of them, so a miss just means + * that you aren't on the very start of a region. + * + * @param aNeedle The element you are looking for. + * @param aHaystack The array that is being searched. + * @param aCompare A function which takes the needle and an element in the + * array and returns -1, 0, or 1 depending on whether the needle is less + * than, equal to, or greater than the element, respectively. + */ + exports.search = function search(aNeedle, aHaystack, aCompare) { + return aHaystack.length > 0 + ? recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack, aCompare) + : null; + }; + +}); diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-map-consumer.js b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-map-consumer.js new file mode 100644 index 0000000..a3b9dc0 --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-map-consumer.js @@ -0,0 +1,477 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module, require); +} +define(function (require, exports, module) { + + var util = require('./util'); + var binarySearch = require('./binary-search'); + var ArraySet = require('./array-set').ArraySet; + var base64VLQ = require('./base64-vlq'); + + /** + * A SourceMapConsumer instance represents a parsed source map which we can + * query for information about the original file positions by giving it a file + * position in the generated source. + * + * The only parameter is the raw source map (either as a JSON string, or + * already parsed to an object). According to the spec, source maps have the + * following attributes: + * + * - version: Which version of the source map spec this map is following. + * - sources: An array of URLs to the original source files. + * - names: An array of identifiers which can be referrenced by individual mappings. + * - sourceRoot: Optional. The URL root from which all sources are relative. + * - sourcesContent: Optional. An array of contents of the original source files. + * - mappings: A string of base64 VLQs which contain the actual mappings. + * - file: The generated file this source map is associated with. + * + * Here is an example source map, taken from the source map spec[0]: + * + * { + * version : 3, + * file: "out.js", + * sourceRoot : "", + * sources: ["foo.js", "bar.js"], + * names: ["src", "maps", "are", "fun"], + * mappings: "AA,AB;;ABCDE;" + * } + * + * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1# + */ + function SourceMapConsumer(aSourceMap) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = JSON.parse(aSourceMap.replace(/^\)\]\}'/, '')); + } + + var version = util.getArg(sourceMap, 'version'); + var sources = util.getArg(sourceMap, 'sources'); + // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which + // requires the array) to play nice here. + var names = util.getArg(sourceMap, 'names', []); + var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null); + var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null); + var mappings = util.getArg(sourceMap, 'mappings'); + var file = util.getArg(sourceMap, 'file', null); + + // Once again, Sass deviates from the spec and supplies the version as a + // string rather than a number, so we use loose equality checking here. + if (version != this._version) { + throw new Error('Unsupported version: ' + version); + } + + // Pass `true` below to allow duplicate names and sources. While source maps + // are intended to be compressed and deduplicated, the TypeScript compiler + // sometimes generates source maps with duplicates in them. See Github issue + // #72 and bugzil.la/889492. + this._names = ArraySet.fromArray(names, true); + this._sources = ArraySet.fromArray(sources, true); + + this.sourceRoot = sourceRoot; + this.sourcesContent = sourcesContent; + this._mappings = mappings; + this.file = file; + } + + /** + * Create a SourceMapConsumer from a SourceMapGenerator. + * + * @param SourceMapGenerator aSourceMap + * The source map that will be consumed. + * @returns SourceMapConsumer + */ + SourceMapConsumer.fromSourceMap = + function SourceMapConsumer_fromSourceMap(aSourceMap) { + var smc = Object.create(SourceMapConsumer.prototype); + + smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true); + smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true); + smc.sourceRoot = aSourceMap._sourceRoot; + smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(), + smc.sourceRoot); + smc.file = aSourceMap._file; + + smc.__generatedMappings = aSourceMap._mappings.slice() + .sort(util.compareByGeneratedPositions); + smc.__originalMappings = aSourceMap._mappings.slice() + .sort(util.compareByOriginalPositions); + + return smc; + }; + + /** + * The version of the source mapping spec that we are consuming. + */ + SourceMapConsumer.prototype._version = 3; + + /** + * The list of original sources. + */ + Object.defineProperty(SourceMapConsumer.prototype, 'sources', { + get: function () { + return this._sources.toArray().map(function (s) { + return this.sourceRoot ? util.join(this.sourceRoot, s) : s; + }, this); + } + }); + + // `__generatedMappings` and `__originalMappings` are arrays that hold the + // parsed mapping coordinates from the source map's "mappings" attribute. They + // are lazily instantiated, accessed via the `_generatedMappings` and + // `_originalMappings` getters respectively, and we only parse the mappings + // and create these arrays once queried for a source location. We jump through + // these hoops because there can be many thousands of mappings, and parsing + // them is expensive, so we only want to do it if we must. + // + // Each object in the arrays is of the form: + // + // { + // generatedLine: The line number in the generated code, + // generatedColumn: The column number in the generated code, + // source: The path to the original source file that generated this + // chunk of code, + // originalLine: The line number in the original source that + // corresponds to this chunk of generated code, + // originalColumn: The column number in the original source that + // corresponds to this chunk of generated code, + // name: The name of the original symbol which generated this chunk of + // code. + // } + // + // All properties except for `generatedLine` and `generatedColumn` can be + // `null`. + // + // `_generatedMappings` is ordered by the generated positions. + // + // `_originalMappings` is ordered by the original positions. + + SourceMapConsumer.prototype.__generatedMappings = null; + Object.defineProperty(SourceMapConsumer.prototype, '_generatedMappings', { + get: function () { + if (!this.__generatedMappings) { + this.__generatedMappings = []; + this.__originalMappings = []; + this._parseMappings(this._mappings, this.sourceRoot); + } + + return this.__generatedMappings; + } + }); + + SourceMapConsumer.prototype.__originalMappings = null; + Object.defineProperty(SourceMapConsumer.prototype, '_originalMappings', { + get: function () { + if (!this.__originalMappings) { + this.__generatedMappings = []; + this.__originalMappings = []; + this._parseMappings(this._mappings, this.sourceRoot); + } + + return this.__originalMappings; + } + }); + + /** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ + SourceMapConsumer.prototype._parseMappings = + function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { + var generatedLine = 1; + var previousGeneratedColumn = 0; + var previousOriginalLine = 0; + var previousOriginalColumn = 0; + var previousSource = 0; + var previousName = 0; + var mappingSeparator = /^[,;]/; + var str = aStr; + var mapping; + var temp; + + while (str.length > 0) { + if (str.charAt(0) === ';') { + generatedLine++; + str = str.slice(1); + previousGeneratedColumn = 0; + } + else if (str.charAt(0) === ',') { + str = str.slice(1); + } + else { + mapping = {}; + mapping.generatedLine = generatedLine; + + // Generated column. + temp = base64VLQ.decode(str); + mapping.generatedColumn = previousGeneratedColumn + temp.value; + previousGeneratedColumn = mapping.generatedColumn; + str = temp.rest; + + if (str.length > 0 && !mappingSeparator.test(str.charAt(0))) { + // Original source. + temp = base64VLQ.decode(str); + mapping.source = this._sources.at(previousSource + temp.value); + previousSource += temp.value; + str = temp.rest; + if (str.length === 0 || mappingSeparator.test(str.charAt(0))) { + throw new Error('Found a source, but no line and column'); + } + + // Original line. + temp = base64VLQ.decode(str); + mapping.originalLine = previousOriginalLine + temp.value; + previousOriginalLine = mapping.originalLine; + // Lines are stored 0-based + mapping.originalLine += 1; + str = temp.rest; + if (str.length === 0 || mappingSeparator.test(str.charAt(0))) { + throw new Error('Found a source and line, but no column'); + } + + // Original column. + temp = base64VLQ.decode(str); + mapping.originalColumn = previousOriginalColumn + temp.value; + previousOriginalColumn = mapping.originalColumn; + str = temp.rest; + + if (str.length > 0 && !mappingSeparator.test(str.charAt(0))) { + // Original name. + temp = base64VLQ.decode(str); + mapping.name = this._names.at(previousName + temp.value); + previousName += temp.value; + str = temp.rest; + } + } + + this.__generatedMappings.push(mapping); + if (typeof mapping.originalLine === 'number') { + this.__originalMappings.push(mapping); + } + } + } + + this.__originalMappings.sort(util.compareByOriginalPositions); + }; + + /** + * Find the mapping that best matches the hypothetical "needle" mapping that + * we are searching for in the given "haystack" of mappings. + */ + SourceMapConsumer.prototype._findMapping = + function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName, + aColumnName, aComparator) { + // To return the position we are searching for, we must first find the + // mapping for the given position and then return the opposite position it + // points to. Because the mappings are sorted, we can use binary search to + // find the best mapping. + + if (aNeedle[aLineName] <= 0) { + throw new TypeError('Line must be greater than or equal to 1, got ' + + aNeedle[aLineName]); + } + if (aNeedle[aColumnName] < 0) { + throw new TypeError('Column must be greater than or equal to 0, got ' + + aNeedle[aColumnName]); + } + + return binarySearch.search(aNeedle, aMappings, aComparator); + }; + + /** + * Returns the original source, line, and column information for the generated + * source's line and column positions provided. The only argument is an object + * with the following properties: + * + * - line: The line number in the generated source. + * - column: The column number in the generated source. + * + * and an object is returned with the following properties: + * + * - source: The original source file, or null. + * - line: The line number in the original source, or null. + * - column: The column number in the original source, or null. + * - name: The original identifier, or null. + */ + SourceMapConsumer.prototype.originalPositionFor = + function SourceMapConsumer_originalPositionFor(aArgs) { + var needle = { + generatedLine: util.getArg(aArgs, 'line'), + generatedColumn: util.getArg(aArgs, 'column') + }; + + var mapping = this._findMapping(needle, + this._generatedMappings, + "generatedLine", + "generatedColumn", + util.compareByGeneratedPositions); + + if (mapping) { + var source = util.getArg(mapping, 'source', null); + if (source && this.sourceRoot) { + source = util.join(this.sourceRoot, source); + } + return { + source: source, + line: util.getArg(mapping, 'originalLine', null), + column: util.getArg(mapping, 'originalColumn', null), + name: util.getArg(mapping, 'name', null) + }; + } + + return { + source: null, + line: null, + column: null, + name: null + }; + }; + + /** + * Returns the original source content. The only argument is the url of the + * original source file. Returns null if no original source content is + * availible. + */ + SourceMapConsumer.prototype.sourceContentFor = + function SourceMapConsumer_sourceContentFor(aSource) { + if (!this.sourcesContent) { + return null; + } + + if (this.sourceRoot) { + aSource = util.relative(this.sourceRoot, aSource); + } + + if (this._sources.has(aSource)) { + return this.sourcesContent[this._sources.indexOf(aSource)]; + } + + var url; + if (this.sourceRoot + && (url = util.urlParse(this.sourceRoot))) { + // XXX: file:// URIs and absolute paths lead to unexpected behavior for + // many users. We can help them out when they expect file:// URIs to + // behave like it would if they were running a local HTTP server. See + // https://bugzilla.mozilla.org/show_bug.cgi?id=885597. + var fileUriAbsPath = aSource.replace(/^file:\/\//, ""); + if (url.scheme == "file" + && this._sources.has(fileUriAbsPath)) { + return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)] + } + + if ((!url.path || url.path == "/") + && this._sources.has("/" + aSource)) { + return this.sourcesContent[this._sources.indexOf("/" + aSource)]; + } + } + + throw new Error('"' + aSource + '" is not in the SourceMap.'); + }; + + /** + * Returns the generated line and column information for the original source, + * line, and column positions provided. The only argument is an object with + * the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. + * - column: The column number in the original source. + * + * and an object is returned with the following properties: + * + * - line: The line number in the generated source, or null. + * - column: The column number in the generated source, or null. + */ + SourceMapConsumer.prototype.generatedPositionFor = + function SourceMapConsumer_generatedPositionFor(aArgs) { + var needle = { + source: util.getArg(aArgs, 'source'), + originalLine: util.getArg(aArgs, 'line'), + originalColumn: util.getArg(aArgs, 'column') + }; + + if (this.sourceRoot) { + needle.source = util.relative(this.sourceRoot, needle.source); + } + + var mapping = this._findMapping(needle, + this._originalMappings, + "originalLine", + "originalColumn", + util.compareByOriginalPositions); + + if (mapping) { + return { + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null) + }; + } + + return { + line: null, + column: null + }; + }; + + SourceMapConsumer.GENERATED_ORDER = 1; + SourceMapConsumer.ORIGINAL_ORDER = 2; + + /** + * Iterate over each mapping between an original source/line/column and a + * generated line/column in this source map. + * + * @param Function aCallback + * The function that is called with each mapping. + * @param Object aContext + * Optional. If specified, this object will be the value of `this` every + * time that `aCallback` is called. + * @param aOrder + * Either `SourceMapConsumer.GENERATED_ORDER` or + * `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to + * iterate over the mappings sorted by the generated file's line/column + * order or the original's source/line/column order, respectively. Defaults to + * `SourceMapConsumer.GENERATED_ORDER`. + */ + SourceMapConsumer.prototype.eachMapping = + function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) { + var context = aContext || null; + var order = aOrder || SourceMapConsumer.GENERATED_ORDER; + + var mappings; + switch (order) { + case SourceMapConsumer.GENERATED_ORDER: + mappings = this._generatedMappings; + break; + case SourceMapConsumer.ORIGINAL_ORDER: + mappings = this._originalMappings; + break; + default: + throw new Error("Unknown order of iteration."); + } + + var sourceRoot = this.sourceRoot; + mappings.map(function (mapping) { + var source = mapping.source; + if (source && sourceRoot) { + source = util.join(sourceRoot, source); + } + return { + source: source, + generatedLine: mapping.generatedLine, + generatedColumn: mapping.generatedColumn, + originalLine: mapping.originalLine, + originalColumn: mapping.originalColumn, + name: mapping.name + }; + }).forEach(aCallback, context); + }; + + exports.SourceMapConsumer = SourceMapConsumer; + +}); diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-map-generator.js b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-map-generator.js new file mode 100644 index 0000000..48ead7d --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-map-generator.js @@ -0,0 +1,380 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module, require); +} +define(function (require, exports, module) { + + var base64VLQ = require('./base64-vlq'); + var util = require('./util'); + var ArraySet = require('./array-set').ArraySet; + + /** + * An instance of the SourceMapGenerator represents a source map which is + * being built incrementally. To create a new one, you must pass an object + * with the following properties: + * + * - file: The filename of the generated source. + * - sourceRoot: An optional root for all URLs in this source map. + */ + function SourceMapGenerator(aArgs) { + this._file = util.getArg(aArgs, 'file'); + this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null); + this._sources = new ArraySet(); + this._names = new ArraySet(); + this._mappings = []; + this._sourcesContents = null; + } + + SourceMapGenerator.prototype._version = 3; + + /** + * Creates a new SourceMapGenerator based on a SourceMapConsumer + * + * @param aSourceMapConsumer The SourceMap. + */ + SourceMapGenerator.fromSourceMap = + function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) { + var sourceRoot = aSourceMapConsumer.sourceRoot; + var generator = new SourceMapGenerator({ + file: aSourceMapConsumer.file, + sourceRoot: sourceRoot + }); + aSourceMapConsumer.eachMapping(function (mapping) { + var newMapping = { + generated: { + line: mapping.generatedLine, + column: mapping.generatedColumn + } + }; + + if (mapping.source) { + newMapping.source = mapping.source; + if (sourceRoot) { + newMapping.source = util.relative(sourceRoot, newMapping.source); + } + + newMapping.original = { + line: mapping.originalLine, + column: mapping.originalColumn + }; + + if (mapping.name) { + newMapping.name = mapping.name; + } + } + + generator.addMapping(newMapping); + }); + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content) { + generator.setSourceContent(sourceFile, content); + } + }); + return generator; + }; + + /** + * Add a single mapping from original source line and column to the generated + * source's line and column for this source map being created. The mapping + * object should have the following properties: + * + * - generated: An object with the generated line and column positions. + * - original: An object with the original line and column positions. + * - source: The original source file (relative to the sourceRoot). + * - name: An optional original token name for this mapping. + */ + SourceMapGenerator.prototype.addMapping = + function SourceMapGenerator_addMapping(aArgs) { + var generated = util.getArg(aArgs, 'generated'); + var original = util.getArg(aArgs, 'original', null); + var source = util.getArg(aArgs, 'source', null); + var name = util.getArg(aArgs, 'name', null); + + this._validateMapping(generated, original, source, name); + + if (source && !this._sources.has(source)) { + this._sources.add(source); + } + + if (name && !this._names.has(name)) { + this._names.add(name); + } + + this._mappings.push({ + generatedLine: generated.line, + generatedColumn: generated.column, + originalLine: original != null && original.line, + originalColumn: original != null && original.column, + source: source, + name: name + }); + }; + + /** + * Set the source content for a source file. + */ + SourceMapGenerator.prototype.setSourceContent = + function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) { + var source = aSourceFile; + if (this._sourceRoot) { + source = util.relative(this._sourceRoot, source); + } + + if (aSourceContent !== null) { + // Add the source content to the _sourcesContents map. + // Create a new _sourcesContents map if the property is null. + if (!this._sourcesContents) { + this._sourcesContents = {}; + } + this._sourcesContents[util.toSetString(source)] = aSourceContent; + } else { + // Remove the source file from the _sourcesContents map. + // If the _sourcesContents map is empty, set the property to null. + delete this._sourcesContents[util.toSetString(source)]; + if (Object.keys(this._sourcesContents).length === 0) { + this._sourcesContents = null; + } + } + }; + + /** + * Applies the mappings of a sub-source-map for a specific source file to the + * source map being generated. Each mapping to the supplied source file is + * rewritten using the supplied source map. Note: The resolution for the + * resulting mappings is the minimium of this map and the supplied map. + * + * @param aSourceMapConsumer The source map to be applied. + * @param aSourceFile Optional. The filename of the source file. + * If omitted, SourceMapConsumer's file property will be used. + */ + SourceMapGenerator.prototype.applySourceMap = + function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile) { + // If aSourceFile is omitted, we will use the file property of the SourceMap + if (!aSourceFile) { + aSourceFile = aSourceMapConsumer.file; + } + var sourceRoot = this._sourceRoot; + // Make "aSourceFile" relative if an absolute Url is passed. + if (sourceRoot) { + aSourceFile = util.relative(sourceRoot, aSourceFile); + } + // Applying the SourceMap can add and remove items from the sources and + // the names array. + var newSources = new ArraySet(); + var newNames = new ArraySet(); + + // Find mappings for the "aSourceFile" + this._mappings.forEach(function (mapping) { + if (mapping.source === aSourceFile && mapping.originalLine) { + // Check if it can be mapped by the source map, then update the mapping. + var original = aSourceMapConsumer.originalPositionFor({ + line: mapping.originalLine, + column: mapping.originalColumn + }); + if (original.source !== null) { + // Copy mapping + if (sourceRoot) { + mapping.source = util.relative(sourceRoot, original.source); + } else { + mapping.source = original.source; + } + mapping.originalLine = original.line; + mapping.originalColumn = original.column; + if (original.name !== null && mapping.name !== null) { + // Only use the identifier name if it's an identifier + // in both SourceMaps + mapping.name = original.name; + } + } + } + + var source = mapping.source; + if (source && !newSources.has(source)) { + newSources.add(source); + } + + var name = mapping.name; + if (name && !newNames.has(name)) { + newNames.add(name); + } + + }, this); + this._sources = newSources; + this._names = newNames; + + // Copy sourcesContents of applied map. + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content) { + if (sourceRoot) { + sourceFile = util.relative(sourceRoot, sourceFile); + } + this.setSourceContent(sourceFile, content); + } + }, this); + }; + + /** + * A mapping can have one of the three levels of data: + * + * 1. Just the generated position. + * 2. The Generated position, original position, and original source. + * 3. Generated and original position, original source, as well as a name + * token. + * + * To maintain consistency, we validate that any new mapping being added falls + * in to one of these categories. + */ + SourceMapGenerator.prototype._validateMapping = + function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource, + aName) { + if (aGenerated && 'line' in aGenerated && 'column' in aGenerated + && aGenerated.line > 0 && aGenerated.column >= 0 + && !aOriginal && !aSource && !aName) { + // Case 1. + return; + } + else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated + && aOriginal && 'line' in aOriginal && 'column' in aOriginal + && aGenerated.line > 0 && aGenerated.column >= 0 + && aOriginal.line > 0 && aOriginal.column >= 0 + && aSource) { + // Cases 2 and 3. + return; + } + else { + throw new Error('Invalid mapping: ' + JSON.stringify({ + generated: aGenerated, + source: aSource, + orginal: aOriginal, + name: aName + })); + } + }; + + /** + * Serialize the accumulated mappings in to the stream of base 64 VLQs + * specified by the source map format. + */ + SourceMapGenerator.prototype._serializeMappings = + function SourceMapGenerator_serializeMappings() { + var previousGeneratedColumn = 0; + var previousGeneratedLine = 1; + var previousOriginalColumn = 0; + var previousOriginalLine = 0; + var previousName = 0; + var previousSource = 0; + var result = ''; + var mapping; + + // The mappings must be guaranteed to be in sorted order before we start + // serializing them or else the generated line numbers (which are defined + // via the ';' separators) will be all messed up. Note: it might be more + // performant to maintain the sorting as we insert them, rather than as we + // serialize them, but the big O is the same either way. + this._mappings.sort(util.compareByGeneratedPositions); + + for (var i = 0, len = this._mappings.length; i < len; i++) { + mapping = this._mappings[i]; + + if (mapping.generatedLine !== previousGeneratedLine) { + previousGeneratedColumn = 0; + while (mapping.generatedLine !== previousGeneratedLine) { + result += ';'; + previousGeneratedLine++; + } + } + else { + if (i > 0) { + if (!util.compareByGeneratedPositions(mapping, this._mappings[i - 1])) { + continue; + } + result += ','; + } + } + + result += base64VLQ.encode(mapping.generatedColumn + - previousGeneratedColumn); + previousGeneratedColumn = mapping.generatedColumn; + + if (mapping.source) { + result += base64VLQ.encode(this._sources.indexOf(mapping.source) + - previousSource); + previousSource = this._sources.indexOf(mapping.source); + + // lines are stored 0-based in SourceMap spec version 3 + result += base64VLQ.encode(mapping.originalLine - 1 + - previousOriginalLine); + previousOriginalLine = mapping.originalLine - 1; + + result += base64VLQ.encode(mapping.originalColumn + - previousOriginalColumn); + previousOriginalColumn = mapping.originalColumn; + + if (mapping.name) { + result += base64VLQ.encode(this._names.indexOf(mapping.name) + - previousName); + previousName = this._names.indexOf(mapping.name); + } + } + } + + return result; + }; + + SourceMapGenerator.prototype._generateSourcesContent = + function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) { + return aSources.map(function (source) { + if (!this._sourcesContents) { + return null; + } + if (aSourceRoot) { + source = util.relative(aSourceRoot, source); + } + var key = util.toSetString(source); + return Object.prototype.hasOwnProperty.call(this._sourcesContents, + key) + ? this._sourcesContents[key] + : null; + }, this); + }; + + /** + * Externalize the source map. + */ + SourceMapGenerator.prototype.toJSON = + function SourceMapGenerator_toJSON() { + var map = { + version: this._version, + file: this._file, + sources: this._sources.toArray(), + names: this._names.toArray(), + mappings: this._serializeMappings() + }; + if (this._sourceRoot) { + map.sourceRoot = this._sourceRoot; + } + if (this._sourcesContents) { + map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot); + } + + return map; + }; + + /** + * Render the source map being generated to a string. + */ + SourceMapGenerator.prototype.toString = + function SourceMapGenerator_toString() { + return JSON.stringify(this); + }; + + exports.SourceMapGenerator = SourceMapGenerator; + +}); diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-node.js b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-node.js new file mode 100644 index 0000000..626cb65 --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-node.js @@ -0,0 +1,371 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module, require); +} +define(function (require, exports, module) { + + var SourceMapGenerator = require('./source-map-generator').SourceMapGenerator; + var util = require('./util'); + + /** + * SourceNodes provide a way to abstract over interpolating/concatenating + * snippets of generated JavaScript source code while maintaining the line and + * column information associated with the original source code. + * + * @param aLine The original line number. + * @param aColumn The original column number. + * @param aSource The original source's filename. + * @param aChunks Optional. An array of strings which are snippets of + * generated JS, or other SourceNodes. + * @param aName The original identifier. + */ + function SourceNode(aLine, aColumn, aSource, aChunks, aName) { + this.children = []; + this.sourceContents = {}; + this.line = aLine === undefined ? null : aLine; + this.column = aColumn === undefined ? null : aColumn; + this.source = aSource === undefined ? null : aSource; + this.name = aName === undefined ? null : aName; + if (aChunks != null) this.add(aChunks); + } + + /** + * Creates a SourceNode from generated code and a SourceMapConsumer. + * + * @param aGeneratedCode The generated code + * @param aSourceMapConsumer The SourceMap for the generated code + */ + SourceNode.fromStringWithSourceMap = + function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer) { + // The SourceNode we want to fill with the generated code + // and the SourceMap + var node = new SourceNode(); + + // The generated code + // Processed fragments are removed from this array. + var remainingLines = aGeneratedCode.split('\n'); + + // We need to remember the position of "remainingLines" + var lastGeneratedLine = 1, lastGeneratedColumn = 0; + + // The generate SourceNodes we need a code range. + // To extract it current and last mapping is used. + // Here we store the last mapping. + var lastMapping = null; + + aSourceMapConsumer.eachMapping(function (mapping) { + if (lastMapping === null) { + // We add the generated code until the first mapping + // to the SourceNode without any mapping. + // Each line is added as separate string. + while (lastGeneratedLine < mapping.generatedLine) { + node.add(remainingLines.shift() + "\n"); + lastGeneratedLine++; + } + if (lastGeneratedColumn < mapping.generatedColumn) { + var nextLine = remainingLines[0]; + node.add(nextLine.substr(0, mapping.generatedColumn)); + remainingLines[0] = nextLine.substr(mapping.generatedColumn); + lastGeneratedColumn = mapping.generatedColumn; + } + } else { + // We add the code from "lastMapping" to "mapping": + // First check if there is a new line in between. + if (lastGeneratedLine < mapping.generatedLine) { + var code = ""; + // Associate full lines with "lastMapping" + do { + code += remainingLines.shift() + "\n"; + lastGeneratedLine++; + lastGeneratedColumn = 0; + } while (lastGeneratedLine < mapping.generatedLine); + // When we reached the correct line, we add code until we + // reach the correct column too. + if (lastGeneratedColumn < mapping.generatedColumn) { + var nextLine = remainingLines[0]; + code += nextLine.substr(0, mapping.generatedColumn); + remainingLines[0] = nextLine.substr(mapping.generatedColumn); + lastGeneratedColumn = mapping.generatedColumn; + } + // Create the SourceNode. + addMappingWithCode(lastMapping, code); + } else { + // There is no new line in between. + // Associate the code between "lastGeneratedColumn" and + // "mapping.generatedColumn" with "lastMapping" + var nextLine = remainingLines[0]; + var code = nextLine.substr(0, mapping.generatedColumn - + lastGeneratedColumn); + remainingLines[0] = nextLine.substr(mapping.generatedColumn - + lastGeneratedColumn); + lastGeneratedColumn = mapping.generatedColumn; + addMappingWithCode(lastMapping, code); + } + } + lastMapping = mapping; + }, this); + // We have processed all mappings. + // Associate the remaining code in the current line with "lastMapping" + // and add the remaining lines without any mapping + addMappingWithCode(lastMapping, remainingLines.join("\n")); + + // Copy sourcesContent into SourceNode + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content) { + node.setSourceContent(sourceFile, content); + } + }); + + return node; + + function addMappingWithCode(mapping, code) { + if (mapping === null || mapping.source === undefined) { + node.add(code); + } else { + node.add(new SourceNode(mapping.originalLine, + mapping.originalColumn, + mapping.source, + code, + mapping.name)); + } + } + }; + + /** + * Add a chunk of generated JS to this source node. + * + * @param aChunk A string snippet of generated JS code, another instance of + * SourceNode, or an array where each member is one of those things. + */ + SourceNode.prototype.add = function SourceNode_add(aChunk) { + if (Array.isArray(aChunk)) { + aChunk.forEach(function (chunk) { + this.add(chunk); + }, this); + } + else if (aChunk instanceof SourceNode || typeof aChunk === "string") { + if (aChunk) { + this.children.push(aChunk); + } + } + else { + throw new TypeError( + "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk + ); + } + return this; + }; + + /** + * Add a chunk of generated JS to the beginning of this source node. + * + * @param aChunk A string snippet of generated JS code, another instance of + * SourceNode, or an array where each member is one of those things. + */ + SourceNode.prototype.prepend = function SourceNode_prepend(aChunk) { + if (Array.isArray(aChunk)) { + for (var i = aChunk.length-1; i >= 0; i--) { + this.prepend(aChunk[i]); + } + } + else if (aChunk instanceof SourceNode || typeof aChunk === "string") { + this.children.unshift(aChunk); + } + else { + throw new TypeError( + "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk + ); + } + return this; + }; + + /** + * Walk over the tree of JS snippets in this node and its children. The + * walking function is called once for each snippet of JS and is passed that + * snippet and the its original associated source's line/column location. + * + * @param aFn The traversal function. + */ + SourceNode.prototype.walk = function SourceNode_walk(aFn) { + var chunk; + for (var i = 0, len = this.children.length; i < len; i++) { + chunk = this.children[i]; + if (chunk instanceof SourceNode) { + chunk.walk(aFn); + } + else { + if (chunk !== '') { + aFn(chunk, { source: this.source, + line: this.line, + column: this.column, + name: this.name }); + } + } + } + }; + + /** + * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between + * each of `this.children`. + * + * @param aSep The separator. + */ + SourceNode.prototype.join = function SourceNode_join(aSep) { + var newChildren; + var i; + var len = this.children.length; + if (len > 0) { + newChildren = []; + for (i = 0; i < len-1; i++) { + newChildren.push(this.children[i]); + newChildren.push(aSep); + } + newChildren.push(this.children[i]); + this.children = newChildren; + } + return this; + }; + + /** + * Call String.prototype.replace on the very right-most source snippet. Useful + * for trimming whitespace from the end of a source node, etc. + * + * @param aPattern The pattern to replace. + * @param aReplacement The thing to replace the pattern with. + */ + SourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) { + var lastChild = this.children[this.children.length - 1]; + if (lastChild instanceof SourceNode) { + lastChild.replaceRight(aPattern, aReplacement); + } + else if (typeof lastChild === 'string') { + this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement); + } + else { + this.children.push(''.replace(aPattern, aReplacement)); + } + return this; + }; + + /** + * Set the source content for a source file. This will be added to the SourceMapGenerator + * in the sourcesContent field. + * + * @param aSourceFile The filename of the source file + * @param aSourceContent The content of the source file + */ + SourceNode.prototype.setSourceContent = + function SourceNode_setSourceContent(aSourceFile, aSourceContent) { + this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent; + }; + + /** + * Walk over the tree of SourceNodes. The walking function is called for each + * source file content and is passed the filename and source content. + * + * @param aFn The traversal function. + */ + SourceNode.prototype.walkSourceContents = + function SourceNode_walkSourceContents(aFn) { + for (var i = 0, len = this.children.length; i < len; i++) { + if (this.children[i] instanceof SourceNode) { + this.children[i].walkSourceContents(aFn); + } + } + + var sources = Object.keys(this.sourceContents); + for (var i = 0, len = sources.length; i < len; i++) { + aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]); + } + }; + + /** + * Return the string representation of this source node. Walks over the tree + * and concatenates all the various snippets together to one string. + */ + SourceNode.prototype.toString = function SourceNode_toString() { + var str = ""; + this.walk(function (chunk) { + str += chunk; + }); + return str; + }; + + /** + * Returns the string representation of this source node along with a source + * map. + */ + SourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) { + var generated = { + code: "", + line: 1, + column: 0 + }; + var map = new SourceMapGenerator(aArgs); + var sourceMappingActive = false; + var lastOriginalSource = null; + var lastOriginalLine = null; + var lastOriginalColumn = null; + var lastOriginalName = null; + this.walk(function (chunk, original) { + generated.code += chunk; + if (original.source !== null + && original.line !== null + && original.column !== null) { + if(lastOriginalSource !== original.source + || lastOriginalLine !== original.line + || lastOriginalColumn !== original.column + || lastOriginalName !== original.name) { + map.addMapping({ + source: original.source, + original: { + line: original.line, + column: original.column + }, + generated: { + line: generated.line, + column: generated.column + }, + name: original.name + }); + } + lastOriginalSource = original.source; + lastOriginalLine = original.line; + lastOriginalColumn = original.column; + lastOriginalName = original.name; + sourceMappingActive = true; + } else if (sourceMappingActive) { + map.addMapping({ + generated: { + line: generated.line, + column: generated.column + } + }); + lastOriginalSource = null; + sourceMappingActive = false; + } + chunk.split('').forEach(function (ch) { + if (ch === '\n') { + generated.line++; + generated.column = 0; + } else { + generated.column++; + } + }); + }); + this.walkSourceContents(function (sourceFile, sourceContent) { + map.setSourceContent(sourceFile, sourceContent); + }); + + return { code: generated.code, map: map }; + }; + + exports.SourceNode = SourceNode; + +}); diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/util.js b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/util.js new file mode 100644 index 0000000..87946d3 --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/util.js @@ -0,0 +1,205 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module, require); +} +define(function (require, exports, module) { + + /** + * This is a helper function for getting values from parameter/options + * objects. + * + * @param args The object we are extracting values from + * @param name The name of the property we are getting. + * @param defaultValue An optional value to return if the property is missing + * from the object. If this is not specified and the property is missing, an + * error will be thrown. + */ + function getArg(aArgs, aName, aDefaultValue) { + if (aName in aArgs) { + return aArgs[aName]; + } else if (arguments.length === 3) { + return aDefaultValue; + } else { + throw new Error('"' + aName + '" is a required argument.'); + } + } + exports.getArg = getArg; + + var urlRegexp = /([\w+\-.]+):\/\/((\w+:\w+)@)?([\w.]+)?(:(\d+))?(\S+)?/; + var dataUrlRegexp = /^data:.+\,.+/; + + function urlParse(aUrl) { + var match = aUrl.match(urlRegexp); + if (!match) { + return null; + } + return { + scheme: match[1], + auth: match[3], + host: match[4], + port: match[6], + path: match[7] + }; + } + exports.urlParse = urlParse; + + function urlGenerate(aParsedUrl) { + var url = aParsedUrl.scheme + "://"; + if (aParsedUrl.auth) { + url += aParsedUrl.auth + "@" + } + if (aParsedUrl.host) { + url += aParsedUrl.host; + } + if (aParsedUrl.port) { + url += ":" + aParsedUrl.port + } + if (aParsedUrl.path) { + url += aParsedUrl.path; + } + return url; + } + exports.urlGenerate = urlGenerate; + + function join(aRoot, aPath) { + var url; + + if (aPath.match(urlRegexp) || aPath.match(dataUrlRegexp)) { + return aPath; + } + + if (aPath.charAt(0) === '/' && (url = urlParse(aRoot))) { + url.path = aPath; + return urlGenerate(url); + } + + return aRoot.replace(/\/$/, '') + '/' + aPath; + } + exports.join = join; + + /** + * Because behavior goes wacky when you set `__proto__` on objects, we + * have to prefix all the strings in our set with an arbitrary character. + * + * See https://github.com/mozilla/source-map/pull/31 and + * https://github.com/mozilla/source-map/issues/30 + * + * @param String aStr + */ + function toSetString(aStr) { + return '$' + aStr; + } + exports.toSetString = toSetString; + + function fromSetString(aStr) { + return aStr.substr(1); + } + exports.fromSetString = fromSetString; + + function relative(aRoot, aPath) { + aRoot = aRoot.replace(/\/$/, ''); + + var url = urlParse(aRoot); + if (aPath.charAt(0) == "/" && url && url.path == "/") { + return aPath.slice(1); + } + + return aPath.indexOf(aRoot + '/') === 0 + ? aPath.substr(aRoot.length + 1) + : aPath; + } + exports.relative = relative; + + function strcmp(aStr1, aStr2) { + var s1 = aStr1 || ""; + var s2 = aStr2 || ""; + return (s1 > s2) - (s1 < s2); + } + + /** + * Comparator between two mappings where the original positions are compared. + * + * Optionally pass in `true` as `onlyCompareGenerated` to consider two + * mappings with the same original source/line/column, but different generated + * line and column the same. Useful when searching for a mapping with a + * stubbed out mapping. + */ + function compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) { + var cmp; + + cmp = strcmp(mappingA.source, mappingB.source); + if (cmp) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp || onlyCompareOriginal) { + return cmp; + } + + cmp = strcmp(mappingA.name, mappingB.name); + if (cmp) { + return cmp; + } + + cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp) { + return cmp; + } + + return mappingA.generatedColumn - mappingB.generatedColumn; + }; + exports.compareByOriginalPositions = compareByOriginalPositions; + + /** + * Comparator between two mappings where the generated positions are + * compared. + * + * Optionally pass in `true` as `onlyCompareGenerated` to consider two + * mappings with the same generated line and column, but different + * source/name/original line and column the same. Useful when searching for a + * mapping with a stubbed out mapping. + */ + function compareByGeneratedPositions(mappingA, mappingB, onlyCompareGenerated) { + var cmp; + + cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp) { + return cmp; + } + + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp || onlyCompareGenerated) { + return cmp; + } + + cmp = strcmp(mappingA.source, mappingB.source); + if (cmp) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp) { + return cmp; + } + + return strcmp(mappingA.name, mappingB.name); + }; + exports.compareByGeneratedPositions = compareByGeneratedPositions; + +}); diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/LICENSE b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/LICENSE new file mode 100644 index 0000000..f33d665 --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/LICENSE @@ -0,0 +1,58 @@ +amdefine is released under two licenses: new BSD, and MIT. You may pick the +license that best suits your development needs. The text of both licenses are +provided below. + + +The "New" BSD License: +---------------------- + +Copyright (c) 2011, The Dojo Foundation +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of the Dojo Foundation nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + +MIT License +----------- + +Copyright (c) 2011, The Dojo Foundation + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/README.md b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/README.md new file mode 100644 index 0000000..c6995c0 --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/README.md @@ -0,0 +1,171 @@ +# amdefine + +A module that can be used to implement AMD's define() in Node. This allows you +to code to the AMD API and have the module work in node programs without +requiring those other programs to use AMD. + +## Usage + +**1)** Update your package.json to indicate amdefine as a dependency: + +```javascript + "dependencies": { + "amdefine": ">=0.1.0" + } +``` + +Then run `npm install` to get amdefine into your project. + +**2)** At the top of each module that uses define(), place this code: + +```javascript +if (typeof define !== 'function') { var define = require('amdefine')(module) } +``` + +**Only use these snippets** when loading amdefine. If you preserve the basic structure, +with the braces, it will be stripped out when using the [RequireJS optimizer](#optimizer). + +You can add spaces, line breaks and even require amdefine with a local path, but +keep the rest of the structure to get the stripping behavior. + +As you may know, because `if` statements in JavaScript don't have their own scope, the var +declaration in the above snippet is made whether the `if` expression is truthy or not. If +RequireJS is loaded then the declaration is superfluous because `define` is already already +declared in the same scope in RequireJS. Fortunately JavaScript handles multiple `var` +declarations of the same variable in the same scope gracefully. + +If you want to deliver amdefine.js with your code rather than specifying it as a dependency +with npm, then just download the latest release and refer to it using a relative path: + +[Latest Version](https://github.com/jrburke/amdefine/raw/latest/amdefine.js) + +### amdefine/intercept + +Consider this very experimental. + +Instead of pasting the piece of text for the amdefine setup of a `define` +variable in each module you create or consume, you can use `amdefine/intercept` +instead. It will automatically insert the above snippet in each .js file loaded +by Node. + +**Warning**: you should only use this if you are creating an application that +is consuming AMD style defined()'d modules that are distributed via npm and want +to run that code in Node. + +For library code where you are not sure if it will be used by others in Node or +in the browser, then explicitly depending on amdefine and placing the code +snippet above is suggested path, instead of using `amdefine/intercept`. The +intercept module affects all .js files loaded in the Node app, and it is +inconsiderate to modify global state like that unless you are also controlling +the top level app. + +#### Why distribute AMD-style nodes via npm? + +npm has a lot of weaknesses for front-end use (installed layout is not great, +should have better support for the `baseUrl + moduleID + '.js' style of loading, +single file JS installs), but some people want a JS package manager and are +willing to live with those constraints. If that is you, but still want to author +in AMD style modules to get dynamic require([]), better direct source usage and +powerful loader plugin support in the browser, then this tool can help. + +#### amdefine/intercept usage + +Just require it in your top level app module (for example index.js, server.js): + +```javascript +require('amdefine/intercept'); +``` + +The module does not return a value, so no need to assign the result to a local +variable. + +Then just require() code as you normally would with Node's require(). Any .js +loaded after the intercept require will have the amdefine check injected in +the .js source as it is loaded. It does not modify the source on disk, just +prepends some content to the text of the module as it is loaded by Node. + +#### How amdefine/intercept works + +It overrides the `Module._extensions['.js']` in Node to automatically prepend +the amdefine snippet above. So, it will affect any .js file loaded by your +app. + +## define() usage + +It is best if you use the anonymous forms of define() in your module: + +```javascript +define(function (require) { + var dependency = require('dependency'); +}); +``` + +or + +```javascript +define(['dependency'], function (dependency) { + +}); +``` + +## RequireJS optimizer integration. + +Version 1.0.3 of the [RequireJS optimizer](http://requirejs.org/docs/optimization.html) +will have support for stripping the `if (typeof define !== 'function')` check +mentioned above, so you can include this snippet for code that runs in the +browser, but avoid taking the cost of the if() statement once the code is +optimized for deployment. + +## Node 0.4 Support + +If you want to support Node 0.4, then add `require` as the second parameter to amdefine: + +```javascript +//Only if you want Node 0.4. If using 0.5 or later, use the above snippet. +if (typeof define !== 'function') { var define = require('amdefine')(module, require) } +``` + +## Limitations + +### Synchronous vs Asynchronous + +amdefine creates a define() function that is callable by your code. It will +execute and trace dependencies and call the factory function *synchronously*, +to keep the behavior in line with Node's synchronous dependency tracing. + +The exception: calling AMD's callback-style require() from inside a factory +function. The require callback is called on process.nextTick(): + +```javascript +define(function (require) { + require(['a'], function(a) { + //'a' is loaded synchronously, but + //this callback is called on process.nextTick(). + }); +}); +``` + +### Loader Plugins + +Loader plugins are supported as long as they call their load() callbacks +synchronously. So ones that do network requests will not work. However plugins +like [text](http://requirejs.org/docs/api.html#text) can load text files locally. + +The plugin API's `load.fromText()` is **not supported** in amdefine, so this means +transpiler plugins like the [CoffeeScript loader plugin](https://github.com/jrburke/require-cs) +will not work. This may be fixable, but it is a bit complex, and I do not have +enough node-fu to figure it out yet. See the source for amdefine.js if you want +to get an idea of the issues involved. + +## Tests + +To run the tests, cd to **tests** and run: + +``` +node all.js +node all-intercept.js +``` + +## License + +New BSD and MIT. Check the LICENSE file for all the details. diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/amdefine.js b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/amdefine.js new file mode 100644 index 0000000..53bf5a6 --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/amdefine.js @@ -0,0 +1,299 @@ +/** vim: et:ts=4:sw=4:sts=4 + * @license amdefine 0.1.0 Copyright (c) 2011, The Dojo Foundation All Rights Reserved. + * Available via the MIT or new BSD license. + * see: http://github.com/jrburke/amdefine for details + */ + +/*jslint node: true */ +/*global module, process */ +'use strict'; + +/** + * Creates a define for node. + * @param {Object} module the "module" object that is defined by Node for the + * current module. + * @param {Function} [requireFn]. Node's require function for the current module. + * It only needs to be passed in Node versions before 0.5, when module.require + * did not exist. + * @returns {Function} a define function that is usable for the current node + * module. + */ +function amdefine(module, requireFn) { + 'use strict'; + var defineCache = {}, + loaderCache = {}, + alreadyCalled = false, + path = require('path'), + makeRequire, stringRequire; + + /** + * Trims the . and .. from an array of path segments. + * It will keep a leading path segment if a .. will become + * the first path segment, to help with module name lookups, + * which act like paths, but can be remapped. But the end result, + * all paths that use this function should look normalized. + * NOTE: this method MODIFIES the input array. + * @param {Array} ary the array of path segments. + */ + function trimDots(ary) { + var i, part; + for (i = 0; ary[i]; i+= 1) { + part = ary[i]; + if (part === '.') { + ary.splice(i, 1); + i -= 1; + } else if (part === '..') { + if (i === 1 && (ary[2] === '..' || ary[0] === '..')) { + //End of the line. Keep at least one non-dot + //path segment at the front so it can be mapped + //correctly to disk. Otherwise, there is likely + //no path mapping for a path starting with '..'. + //This can still fail, but catches the most reasonable + //uses of .. + break; + } else if (i > 0) { + ary.splice(i - 1, 2); + i -= 2; + } + } + } + } + + function normalize(name, baseName) { + var baseParts; + + //Adjust any relative paths. + if (name && name.charAt(0) === '.') { + //If have a base name, try to normalize against it, + //otherwise, assume it is a top-level require that will + //be relative to baseUrl in the end. + if (baseName) { + baseParts = baseName.split('/'); + baseParts = baseParts.slice(0, baseParts.length - 1); + baseParts = baseParts.concat(name.split('/')); + trimDots(baseParts); + name = baseParts.join('/'); + } + } + + return name; + } + + /** + * Create the normalize() function passed to a loader plugin's + * normalize method. + */ + function makeNormalize(relName) { + return function (name) { + return normalize(name, relName); + }; + } + + function makeLoad(id) { + function load(value) { + loaderCache[id] = value; + } + + load.fromText = function (id, text) { + //This one is difficult because the text can/probably uses + //define, and any relative paths and requires should be relative + //to that id was it would be found on disk. But this would require + //bootstrapping a module/require fairly deeply from node core. + //Not sure how best to go about that yet. + throw new Error('amdefine does not implement load.fromText'); + }; + + return load; + } + + makeRequire = function (systemRequire, exports, module, relId) { + function amdRequire(deps, callback) { + if (typeof deps === 'string') { + //Synchronous, single module require('') + return stringRequire(systemRequire, exports, module, deps, relId); + } else { + //Array of dependencies with a callback. + + //Convert the dependencies to modules. + deps = deps.map(function (depName) { + return stringRequire(systemRequire, exports, module, depName, relId); + }); + + //Wait for next tick to call back the require call. + process.nextTick(function () { + callback.apply(null, deps); + }); + } + } + + amdRequire.toUrl = function (filePath) { + if (filePath.indexOf('.') === 0) { + return normalize(filePath, path.dirname(module.filename)); + } else { + return filePath; + } + }; + + return amdRequire; + }; + + //Favor explicit value, passed in if the module wants to support Node 0.4. + requireFn = requireFn || function req() { + return module.require.apply(module, arguments); + }; + + function runFactory(id, deps, factory) { + var r, e, m, result; + + if (id) { + e = loaderCache[id] = {}; + m = { + id: id, + uri: __filename, + exports: e + }; + r = makeRequire(requireFn, e, m, id); + } else { + //Only support one define call per file + if (alreadyCalled) { + throw new Error('amdefine with no module ID cannot be called more than once per file.'); + } + alreadyCalled = true; + + //Use the real variables from node + //Use module.exports for exports, since + //the exports in here is amdefine exports. + e = module.exports; + m = module; + r = makeRequire(requireFn, e, m, module.id); + } + + //If there are dependencies, they are strings, so need + //to convert them to dependency values. + if (deps) { + deps = deps.map(function (depName) { + return r(depName); + }); + } + + //Call the factory with the right dependencies. + if (typeof factory === 'function') { + result = factory.apply(m.exports, deps); + } else { + result = factory; + } + + if (result !== undefined) { + m.exports = result; + if (id) { + loaderCache[id] = m.exports; + } + } + } + + stringRequire = function (systemRequire, exports, module, id, relId) { + //Split the ID by a ! so that + var index = id.indexOf('!'), + originalId = id, + prefix, plugin; + + if (index === -1) { + id = normalize(id, relId); + + //Straight module lookup. If it is one of the special dependencies, + //deal with it, otherwise, delegate to node. + if (id === 'require') { + return makeRequire(systemRequire, exports, module, relId); + } else if (id === 'exports') { + return exports; + } else if (id === 'module') { + return module; + } else if (loaderCache.hasOwnProperty(id)) { + return loaderCache[id]; + } else if (defineCache[id]) { + runFactory.apply(null, defineCache[id]); + return loaderCache[id]; + } else { + if(systemRequire) { + return systemRequire(originalId); + } else { + throw new Error('No module with ID: ' + id); + } + } + } else { + //There is a plugin in play. + prefix = id.substring(0, index); + id = id.substring(index + 1, id.length); + + plugin = stringRequire(systemRequire, exports, module, prefix, relId); + + if (plugin.normalize) { + id = plugin.normalize(id, makeNormalize(relId)); + } else { + //Normalize the ID normally. + id = normalize(id, relId); + } + + if (loaderCache[id]) { + return loaderCache[id]; + } else { + plugin.load(id, makeRequire(systemRequire, exports, module, relId), makeLoad(id), {}); + + return loaderCache[id]; + } + } + }; + + //Create a define function specific to the module asking for amdefine. + function define(id, deps, factory) { + if (Array.isArray(id)) { + factory = deps; + deps = id; + id = undefined; + } else if (typeof id !== 'string') { + factory = id; + id = deps = undefined; + } + + if (deps && !Array.isArray(deps)) { + factory = deps; + deps = undefined; + } + + if (!deps) { + deps = ['require', 'exports', 'module']; + } + + //Set up properties for this module. If an ID, then use + //internal cache. If no ID, then use the external variables + //for this node module. + if (id) { + //Put the module in deep freeze until there is a + //require call for it. + defineCache[id] = [id, deps, factory]; + } else { + runFactory(id, deps, factory); + } + } + + //define.require, which has access to all the values in the + //cache. Useful for AMD modules that all have IDs in the file, + //but need to finally export a value to node based on one of those + //IDs. + define.require = function (id) { + if (loaderCache[id]) { + return loaderCache[id]; + } + + if (defineCache[id]) { + runFactory.apply(null, defineCache[id]); + return loaderCache[id]; + } + }; + + define.amd = {}; + + return define; +} + +module.exports = amdefine; diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/intercept.js b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/intercept.js new file mode 100644 index 0000000..771a983 --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/intercept.js @@ -0,0 +1,36 @@ +/*jshint node: true */ +var inserted, + Module = require('module'), + fs = require('fs'), + existingExtFn = Module._extensions['.js'], + amdefineRegExp = /amdefine\.js/; + +inserted = "if (typeof define !== 'function') {var define = require('amdefine')(module)}"; + +//From the node/lib/module.js source: +function stripBOM(content) { + // Remove byte order marker. This catches EF BB BF (the UTF-8 BOM) + // because the buffer-to-string conversion in `fs.readFileSync()` + // translates it to FEFF, the UTF-16 BOM. + if (content.charCodeAt(0) === 0xFEFF) { + content = content.slice(1); + } + return content; +} + +//Also adapted from the node/lib/module.js source: +function intercept(module, filename) { + var content = stripBOM(fs.readFileSync(filename, 'utf8')); + + if (!amdefineRegExp.test(module.id)) { + content = inserted + content; + } + + module._compile(content, filename); +} + +intercept._id = 'amdefine/intercept'; + +if (!existingExtFn._id || existingExtFn._id !== intercept._id) { + Module._extensions['.js'] = intercept; +} diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/package.json b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/package.json new file mode 100644 index 0000000..8caf15c --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/package.json @@ -0,0 +1,36 @@ +{ + "name": "amdefine", + "description": "Provide AMD's define() API for declaring modules in the AMD format", + "version": "0.1.0", + "homepage": "http://github.com/jrburke/amdefine", + "author": { + "name": "James Burke", + "email": "jrburke@gmail.com", + "url": "http://github.com/jrburke" + }, + "licenses": [ + { + "type": "BSD", + "url": "https://github.com/jrburke/amdefine/blob/master/LICENSE" + }, + { + "type": "MIT", + "url": "https://github.com/jrburke/amdefine/blob/master/LICENSE" + } + ], + "repository": { + "type": "git", + "url": "https://github.com/jrburke/amdefine.git" + }, + "main": "./amdefine.js", + "engines": { + "node": ">=0.4.2" + }, + "readme": "# amdefine\n\nA module that can be used to implement AMD's define() in Node. This allows you\nto code to the AMD API and have the module work in node programs without\nrequiring those other programs to use AMD.\n\n## Usage\n\n**1)** Update your package.json to indicate amdefine as a dependency:\n\n```javascript\n \"dependencies\": {\n \"amdefine\": \">=0.1.0\"\n }\n```\n\nThen run `npm install` to get amdefine into your project.\n\n**2)** At the top of each module that uses define(), place this code:\n\n```javascript\nif (typeof define !== 'function') { var define = require('amdefine')(module) }\n```\n\n**Only use these snippets** when loading amdefine. If you preserve the basic structure,\nwith the braces, it will be stripped out when using the [RequireJS optimizer](#optimizer).\n\nYou can add spaces, line breaks and even require amdefine with a local path, but\nkeep the rest of the structure to get the stripping behavior.\n\nAs you may know, because `if` statements in JavaScript don't have their own scope, the var\ndeclaration in the above snippet is made whether the `if` expression is truthy or not. If\nRequireJS is loaded then the declaration is superfluous because `define` is already already\ndeclared in the same scope in RequireJS. Fortunately JavaScript handles multiple `var`\ndeclarations of the same variable in the same scope gracefully.\n\nIf you want to deliver amdefine.js with your code rather than specifying it as a dependency\nwith npm, then just download the latest release and refer to it using a relative path:\n\n[Latest Version](https://github.com/jrburke/amdefine/raw/latest/amdefine.js)\n\n### amdefine/intercept\n\nConsider this very experimental.\n\nInstead of pasting the piece of text for the amdefine setup of a `define`\nvariable in each module you create or consume, you can use `amdefine/intercept`\ninstead. It will automatically insert the above snippet in each .js file loaded\nby Node.\n\n**Warning**: you should only use this if you are creating an application that\nis consuming AMD style defined()'d modules that are distributed via npm and want\nto run that code in Node.\n\nFor library code where you are not sure if it will be used by others in Node or\nin the browser, then explicitly depending on amdefine and placing the code\nsnippet above is suggested path, instead of using `amdefine/intercept`. The\nintercept module affects all .js files loaded in the Node app, and it is\ninconsiderate to modify global state like that unless you are also controlling\nthe top level app.\n\n#### Why distribute AMD-style nodes via npm?\n\nnpm has a lot of weaknesses for front-end use (installed layout is not great,\nshould have better support for the `baseUrl + moduleID + '.js' style of loading,\nsingle file JS installs), but some people want a JS package manager and are\nwilling to live with those constraints. If that is you, but still want to author\nin AMD style modules to get dynamic require([]), better direct source usage and\npowerful loader plugin support in the browser, then this tool can help.\n\n#### amdefine/intercept usage\n\nJust require it in your top level app module (for example index.js, server.js):\n\n```javascript\nrequire('amdefine/intercept');\n```\n\nThe module does not return a value, so no need to assign the result to a local\nvariable.\n\nThen just require() code as you normally would with Node's require(). Any .js\nloaded after the intercept require will have the amdefine check injected in\nthe .js source as it is loaded. It does not modify the source on disk, just\nprepends some content to the text of the module as it is loaded by Node.\n\n#### How amdefine/intercept works\n\nIt overrides the `Module._extensions['.js']` in Node to automatically prepend\nthe amdefine snippet above. So, it will affect any .js file loaded by your\napp.\n\n## define() usage\n\nIt is best if you use the anonymous forms of define() in your module:\n\n```javascript\ndefine(function (require) {\n var dependency = require('dependency');\n});\n```\n\nor\n\n```javascript\ndefine(['dependency'], function (dependency) {\n\n});\n```\n\n## RequireJS optimizer integration. \n\nVersion 1.0.3 of the [RequireJS optimizer](http://requirejs.org/docs/optimization.html)\nwill have support for stripping the `if (typeof define !== 'function')` check\nmentioned above, so you can include this snippet for code that runs in the\nbrowser, but avoid taking the cost of the if() statement once the code is\noptimized for deployment.\n\n## Node 0.4 Support\n\nIf you want to support Node 0.4, then add `require` as the second parameter to amdefine:\n\n```javascript\n//Only if you want Node 0.4. If using 0.5 or later, use the above snippet.\nif (typeof define !== 'function') { var define = require('amdefine')(module, require) }\n```\n\n## Limitations\n\n### Synchronous vs Asynchronous\n\namdefine creates a define() function that is callable by your code. It will\nexecute and trace dependencies and call the factory function *synchronously*,\nto keep the behavior in line with Node's synchronous dependency tracing.\n\nThe exception: calling AMD's callback-style require() from inside a factory\nfunction. The require callback is called on process.nextTick():\n\n```javascript\ndefine(function (require) {\n require(['a'], function(a) {\n //'a' is loaded synchronously, but\n //this callback is called on process.nextTick().\n });\n});\n```\n\n### Loader Plugins\n\nLoader plugins are supported as long as they call their load() callbacks\nsynchronously. So ones that do network requests will not work. However plugins\nlike [text](http://requirejs.org/docs/api.html#text) can load text files locally.\n\nThe plugin API's `load.fromText()` is **not supported** in amdefine, so this means\ntranspiler plugins like the [CoffeeScript loader plugin](https://github.com/jrburke/require-cs)\nwill not work. This may be fixable, but it is a bit complex, and I do not have\nenough node-fu to figure it out yet. See the source for amdefine.js if you want\nto get an idea of the issues involved.\n\n## Tests\n\nTo run the tests, cd to **tests** and run:\n\n```\nnode all.js\nnode all-intercept.js\n```\n\n## License\n\nNew BSD and MIT. Check the LICENSE file for all the details.\n", + "readmeFilename": "README.md", + "bugs": { + "url": "https://github.com/jrburke/amdefine/issues" + }, + "_id": "amdefine@0.1.0", + "_from": "amdefine@>=0.0.4" +} diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/package.json b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/package.json new file mode 100644 index 0000000..f59e820 --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/package.json @@ -0,0 +1,110 @@ +{ + "name": "source-map", + "description": "Generates and consumes source maps", + "version": "0.1.31", + "homepage": "https://github.com/mozilla/source-map", + "author": { + "name": "Nick Fitzgerald", + "email": "nfitzgerald@mozilla.com" + }, + "contributors": [ + { + "name": "Tobias Koppers", + "email": "tobias.koppers@googlemail.com" + }, + { + "name": "Duncan Beevers", + "email": "duncan@dweebd.com" + }, + { + "name": "Stephen Crane", + "email": "scrane@mozilla.com" + }, + { + "name": "Ryan Seddon", + "email": "seddon.ryan@gmail.com" + }, + { + "name": "Miles Elam", + "email": "miles.elam@deem.com" + }, + { + "name": "Mihai Bazon", + "email": "mihai.bazon@gmail.com" + }, + { + "name": "Michael Ficarra", + "email": "github.public.email@michael.ficarra.me" + }, + { + "name": "Todd Wolfson", + "email": "todd@twolfson.com" + }, + { + "name": "Alexander Solovyov", + "email": "alexander@solovyov.net" + }, + { + "name": "Felix Gnass", + "email": "fgnass@gmail.com" + }, + { + "name": "Conrad Irwin", + "email": "conrad.irwin@gmail.com" + }, + { + "name": "usrbincc", + "email": "usrbincc@yahoo.com" + }, + { + "name": "David Glasser", + "email": "glasser@davidglasser.net" + }, + { + "name": "Chase Douglas", + "email": "chase@newrelic.com" + }, + { + "name": "Evan Wallace", + "email": "evan.exe@gmail.com" + }, + { + "name": "Heather Arthur", + "email": "fayearthur@gmail.com" + } + ], + "repository": { + "type": "git", + "url": "http://github.com/mozilla/source-map.git" + }, + "directories": { + "lib": "./lib" + }, + "main": "./lib/source-map.js", + "engines": { + "node": ">=0.8.0" + }, + "licenses": [ + { + "type": "BSD", + "url": "http://opensource.org/licenses/BSD-3-Clause" + } + ], + "dependencies": { + "amdefine": ">=0.0.4" + }, + "devDependencies": { + "dryice": ">=0.4.8" + }, + "scripts": { + "test": "node test/run-tests.js", + "build": "node Makefile.dryice.js" + }, + "readme": "# Source Map\n\nThis is a library to generate and consume the source map format\n[described here][format].\n\nThis library is written in the Asynchronous Module Definition format, and works\nin the following environments:\n\n* Modern Browsers supporting ECMAScript 5 (either after the build, or with an\n AMD loader such as RequireJS)\n\n* Inside Firefox (as a JSM file, after the build)\n\n* With NodeJS versions 0.8.X and higher\n\n## Node\n\n $ npm install source-map\n\n## Building from Source (for everywhere else)\n\nInstall Node and then run\n\n $ git clone https://fitzgen@github.com/mozilla/source-map.git\n $ cd source-map\n $ npm link .\n\nNext, run\n\n $ node Makefile.dryice.js\n\nThis should spew a bunch of stuff to stdout, and create the following files:\n\n* `dist/source-map.js` - The unminified browser version.\n\n* `dist/source-map.min.js` - The minified browser version.\n\n* `dist/SourceMap.jsm` - The JavaScript Module for inclusion in Firefox source.\n\n## Examples\n\n### Consuming a source map\n\n var rawSourceMap = {\n version: 3,\n file: 'min.js',\n names: ['bar', 'baz', 'n'],\n sources: ['one.js', 'two.js'],\n sourceRoot: 'http://example.com/www/js/',\n mappings: 'CAAC,IAAI,IAAM,SAAUA,GAClB,OAAOC,IAAID;CCDb,IAAI,IAAM,SAAUE,GAClB,OAAOA'\n };\n\n var smc = new SourceMapConsumer(rawSourceMap);\n\n console.log(smc.sources);\n // [ 'http://example.com/www/js/one.js',\n // 'http://example.com/www/js/two.js' ]\n\n console.log(smc.originalPositionFor({\n line: 2,\n column: 28\n }));\n // { source: 'http://example.com/www/js/two.js',\n // line: 2,\n // column: 10,\n // name: 'n' }\n\n console.log(smc.generatedPositionFor({\n source: 'http://example.com/www/js/two.js',\n line: 2,\n column: 10\n }));\n // { line: 2, column: 28 }\n\n smc.eachMapping(function (m) {\n // ...\n });\n\n### Generating a source map\n\nIn depth guide:\n[**Compiling to JavaScript, and Debugging with Source Maps**](https://hacks.mozilla.org/2013/05/compiling-to-javascript-and-debugging-with-source-maps/)\n\n#### With SourceNode (high level API)\n\n function compile(ast) {\n switch (ast.type) {\n case 'BinaryExpression':\n return new SourceNode(\n ast.location.line,\n ast.location.column,\n ast.location.source,\n [compile(ast.left), \" + \", compile(ast.right)]\n );\n case 'Literal':\n return new SourceNode(\n ast.location.line,\n ast.location.column,\n ast.location.source,\n String(ast.value)\n );\n // ...\n default:\n throw new Error(\"Bad AST\");\n }\n }\n\n var ast = parse(\"40 + 2\", \"add.js\");\n console.log(compile(ast).toStringWithSourceMap({\n file: 'add.js'\n }));\n // { code: '40 + 2',\n // map: [object SourceMapGenerator] }\n\n#### With SourceMapGenerator (low level API)\n\n var map = new SourceMapGenerator({\n file: \"source-mapped.js\"\n });\n\n map.addMapping({\n generated: {\n line: 10,\n column: 35\n },\n source: \"foo.js\",\n original: {\n line: 33,\n column: 2\n },\n name: \"christopher\"\n });\n\n console.log(map.toString());\n // '{\"version\":3,\"file\":\"source-mapped.js\",\"sources\":[\"foo.js\"],\"names\":[\"christopher\"],\"mappings\":\";;;;;;;;;mCAgCEA\"}'\n\n## API\n\nGet a reference to the module:\n\n // NodeJS\n var sourceMap = require('source-map');\n\n // Browser builds\n var sourceMap = window.sourceMap;\n\n // Inside Firefox\n let sourceMap = {};\n Components.utils.import('resource:///modules/devtools/SourceMap.jsm', sourceMap);\n\n### SourceMapConsumer\n\nA SourceMapConsumer instance represents a parsed source map which we can query\nfor information about the original file positions by giving it a file position\nin the generated source.\n\n#### new SourceMapConsumer(rawSourceMap)\n\nThe only parameter is the raw source map (either as a string which can be\n`JSON.parse`'d, or an object). According to the spec, source maps have the\nfollowing attributes:\n\n* `version`: Which version of the source map spec this map is following.\n\n* `sources`: An array of URLs to the original source files.\n\n* `names`: An array of identifiers which can be referrenced by individual\n mappings.\n\n* `sourceRoot`: Optional. The URL root from which all sources are relative.\n\n* `sourcesContent`: Optional. An array of contents of the original source files.\n\n* `mappings`: A string of base64 VLQs which contain the actual mappings.\n\n* `file`: The generated filename this source map is associated with.\n\n#### SourceMapConsumer.prototype.originalPositionFor(generatedPosition)\n\nReturns the original source, line, and column information for the generated\nsource's line and column positions provided. The only argument is an object with\nthe following properties:\n\n* `line`: The line number in the generated source.\n\n* `column`: The column number in the generated source.\n\nand an object is returned with the following properties:\n\n* `source`: The original source file, or null if this information is not\n available.\n\n* `line`: The line number in the original source, or null if this information is\n not available.\n\n* `column`: The column number in the original source, or null or null if this\n information is not available.\n\n* `name`: The original identifier, or null if this information is not available.\n\n#### SourceMapConsumer.prototype.generatedPositionFor(originalPosition)\n\nReturns the generated line and column information for the original source,\nline, and column positions provided. The only argument is an object with\nthe following properties:\n\n* `source`: The filename of the original source.\n\n* `line`: The line number in the original source.\n\n* `column`: The column number in the original source.\n\nand an object is returned with the following properties:\n\n* `line`: The line number in the generated source, or null.\n\n* `column`: The column number in the generated source, or null.\n\n#### SourceMapConsumer.prototype.sourceContentFor(source)\n\nReturns the original source content for the source provided. The only\nargument is the URL of the original source file.\n\n#### SourceMapConsumer.prototype.eachMapping(callback, context, order)\n\nIterate over each mapping between an original source/line/column and a\ngenerated line/column in this source map.\n\n* `callback`: The function that is called with each mapping. Mappings have the\n form `{ source, generatedLine, generatedColumn, originalLine, originalColumn,\n name }`\n\n* `context`: Optional. If specified, this object will be the value of `this`\n every time that `callback` is called.\n\n* `order`: Either `SourceMapConsumer.GENERATED_ORDER` or\n `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to iterate over\n the mappings sorted by the generated file's line/column order or the\n original's source/line/column order, respectively. Defaults to\n `SourceMapConsumer.GENERATED_ORDER`.\n\n### SourceMapGenerator\n\nAn instance of the SourceMapGenerator represents a source map which is being\nbuilt incrementally.\n\n#### new SourceMapGenerator(startOfSourceMap)\n\nTo create a new one, you must pass an object with the following properties:\n\n* `file`: The filename of the generated source that this source map is\n associated with.\n\n* `sourceRoot`: An optional root for all relative URLs in this source map.\n\n#### SourceMapGenerator.fromSourceMap(sourceMapConsumer)\n\nCreates a new SourceMapGenerator based on a SourceMapConsumer\n\n* `sourceMapConsumer` The SourceMap.\n\n#### SourceMapGenerator.prototype.addMapping(mapping)\n\nAdd a single mapping from original source line and column to the generated\nsource's line and column for this source map being created. The mapping object\nshould have the following properties:\n\n* `generated`: An object with the generated line and column positions.\n\n* `original`: An object with the original line and column positions.\n\n* `source`: The original source file (relative to the sourceRoot).\n\n* `name`: An optional original token name for this mapping.\n\n#### SourceMapGenerator.prototype.setSourceContent(sourceFile, sourceContent)\n\nSet the source content for an original source file.\n\n* `sourceFile` the URL of the original source file.\n\n* `sourceContent` the content of the source file.\n\n#### SourceMapGenerator.prototype.applySourceMap(sourceMapConsumer[, sourceFile])\n\nApplies a SourceMap for a source file to the SourceMap.\nEach mapping to the supplied source file is rewritten using the\nsupplied SourceMap. Note: The resolution for the resulting mappings\nis the minimium of this map and the supplied map.\n\n* `sourceMapConsumer`: The SourceMap to be applied.\n\n* `sourceFile`: Optional. The filename of the source file.\n If omitted, sourceMapConsumer.file will be used.\n\n#### SourceMapGenerator.prototype.toString()\n\nRenders the source map being generated to a string.\n\n### SourceNode\n\nSourceNodes provide a way to abstract over interpolating and/or concatenating\nsnippets of generated JavaScript source code, while maintaining the line and\ncolumn information associated between those snippets and the original source\ncode. This is useful as the final intermediate representation a compiler might\nuse before outputting the generated JS and source map.\n\n#### new SourceNode(line, column, source[, chunk[, name]])\n\n* `line`: The original line number associated with this source node, or null if\n it isn't associated with an original line.\n\n* `column`: The original column number associated with this source node, or null\n if it isn't associated with an original column.\n\n* `source`: The original source's filename.\n\n* `chunk`: Optional. Is immediately passed to `SourceNode.prototype.add`, see\n below.\n\n* `name`: Optional. The original identifier.\n\n#### SourceNode.fromStringWithSourceMap(code, sourceMapConsumer)\n\nCreates a SourceNode from generated code and a SourceMapConsumer.\n\n* `code`: The generated code\n\n* `sourceMapConsumer` The SourceMap for the generated code\n\n#### SourceNode.prototype.add(chunk)\n\nAdd a chunk of generated JS to this source node.\n\n* `chunk`: A string snippet of generated JS code, another instance of\n `SourceNode`, or an array where each member is one of those things.\n\n#### SourceNode.prototype.prepend(chunk)\n\nPrepend a chunk of generated JS to this source node.\n\n* `chunk`: A string snippet of generated JS code, another instance of\n `SourceNode`, or an array where each member is one of those things.\n\n#### SourceNode.prototype.setSourceContent(sourceFile, sourceContent)\n\nSet the source content for a source file. This will be added to the\n`SourceMap` in the `sourcesContent` field.\n\n* `sourceFile`: The filename of the source file\n\n* `sourceContent`: The content of the source file\n\n#### SourceNode.prototype.walk(fn)\n\nWalk over the tree of JS snippets in this node and its children. The walking\nfunction is called once for each snippet of JS and is passed that snippet and\nthe its original associated source's line/column location.\n\n* `fn`: The traversal function.\n\n#### SourceNode.prototype.walkSourceContents(fn)\n\nWalk over the tree of SourceNodes. The walking function is called for each\nsource file content and is passed the filename and source content.\n\n* `fn`: The traversal function.\n\n#### SourceNode.prototype.join(sep)\n\nLike `Array.prototype.join` except for SourceNodes. Inserts the separator\nbetween each of this source node's children.\n\n* `sep`: The separator.\n\n#### SourceNode.prototype.replaceRight(pattern, replacement)\n\nCall `String.prototype.replace` on the very right-most source snippet. Useful\nfor trimming whitespace from the end of a source node, etc.\n\n* `pattern`: The pattern to replace.\n\n* `replacement`: The thing to replace the pattern with.\n\n#### SourceNode.prototype.toString()\n\nReturn the string representation of this source node. Walks over the tree and\nconcatenates all the various snippets together to one string.\n\n### SourceNode.prototype.toStringWithSourceMap(startOfSourceMap)\n\nReturns the string representation of this tree of source nodes, plus a\nSourceMapGenerator which contains all the mappings between the generated and\noriginal sources.\n\nThe arguments are the same as those to `new SourceMapGenerator`.\n\n## Tests\n\n[![Build Status](https://travis-ci.org/mozilla/source-map.png?branch=master)](https://travis-ci.org/mozilla/source-map)\n\nInstall NodeJS version 0.8.0 or greater, then run `node test/run-tests.js`.\n\nTo add new tests, create a new file named `test/test-.js`\nand export your test functions with names that start with \"test\", for example\n\n exports[\"test doing the foo bar\"] = function (assert, util) {\n ...\n };\n\nThe new test will be located automatically when you run the suite.\n\nThe `util` argument is the test utility module located at `test/source-map/util`.\n\nThe `assert` argument is a cut down version of node's assert module. You have\naccess to the following assertion functions:\n\n* `doesNotThrow`\n\n* `equal`\n\n* `ok`\n\n* `strictEqual`\n\n* `throws`\n\n(The reason for the restricted set of test functions is because we need the\ntests to run inside Firefox's test suite as well and so the assert module is\nshimmed in that environment. See `build/assert-shim.js`.)\n\n[format]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit\n[feature]: https://wiki.mozilla.org/DevTools/Features/SourceMap\n[Dryice]: https://github.com/mozilla/dryice\n", + "readmeFilename": "README.md", + "bugs": { + "url": "https://github.com/mozilla/source-map/issues" + }, + "_id": "source-map@0.1.31", + "_from": "source-map@~0.1.7" +} diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/run-tests.js b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/run-tests.js new file mode 100755 index 0000000..626c53f --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/run-tests.js @@ -0,0 +1,71 @@ +#!/usr/bin/env node +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +var assert = require('assert'); +var fs = require('fs'); +var path = require('path'); +var util = require('./source-map/util'); + +function run(tests) { + var failures = []; + var total = 0; + var passed = 0; + + for (var i = 0; i < tests.length; i++) { + for (var k in tests[i].testCase) { + if (/^test/.test(k)) { + total++; + try { + tests[i].testCase[k](assert, util); + passed++; + } + catch (e) { + console.log('FAILED ' + tests[i].name + ': ' + k + '!'); + console.log(e.stack); + } + } + } + } + + console.log(""); + console.log(passed + ' / ' + total + ' tests passed.'); + console.log(""); + + failures.forEach(function (f) { + }); + + return failures.length; +} + +var code; + +process.stdout.on('close', function () { + process.exit(code); +}); + +function isTestFile(f) { + var testToRun = process.argv[2]; + return testToRun + ? path.basename(testToRun) === f + : /^test\-.*?\.js/.test(f); +} + +function toModule(f) { + return './source-map/' + f.replace(/\.js$/, ''); +} + +var requires = fs.readdirSync(path.join(__dirname, 'source-map')) + .filter(isTestFile) + .map(toModule); + +code = run(requires.map(require).map(function (mod, i) { + return { + name: requires[i], + testCase: mod + }; +})); +process.exit(code); diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-api.js b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-api.js new file mode 100644 index 0000000..3801233 --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-api.js @@ -0,0 +1,26 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2012 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module, require); +} +define(function (require, exports, module) { + + var sourceMap; + try { + sourceMap = require('../../lib/source-map'); + } catch (e) { + sourceMap = {}; + Components.utils.import('resource:///modules/devtools/SourceMap.jsm', sourceMap); + } + + exports['test that the api is properly exposed in the top level'] = function (assert, util) { + assert.equal(typeof sourceMap.SourceMapGenerator, "function"); + assert.equal(typeof sourceMap.SourceMapConsumer, "function"); + assert.equal(typeof sourceMap.SourceNode, "function"); + }; + +}); diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-array-set.js b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-array-set.js new file mode 100644 index 0000000..b5797ed --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-array-set.js @@ -0,0 +1,104 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module, require); +} +define(function (require, exports, module) { + + var ArraySet = require('../../lib/source-map/array-set').ArraySet; + + function makeTestSet() { + var set = new ArraySet(); + for (var i = 0; i < 100; i++) { + set.add(String(i)); + } + return set; + } + + exports['test .has() membership'] = function (assert, util) { + var set = makeTestSet(); + for (var i = 0; i < 100; i++) { + assert.ok(set.has(String(i))); + } + }; + + exports['test .indexOf() elements'] = function (assert, util) { + var set = makeTestSet(); + for (var i = 0; i < 100; i++) { + assert.strictEqual(set.indexOf(String(i)), i); + } + }; + + exports['test .at() indexing'] = function (assert, util) { + var set = makeTestSet(); + for (var i = 0; i < 100; i++) { + assert.strictEqual(set.at(i), String(i)); + } + }; + + exports['test creating from an array'] = function (assert, util) { + var set = ArraySet.fromArray(['foo', 'bar', 'baz', 'quux', 'hasOwnProperty']); + + assert.ok(set.has('foo')); + assert.ok(set.has('bar')); + assert.ok(set.has('baz')); + assert.ok(set.has('quux')); + assert.ok(set.has('hasOwnProperty')); + + assert.strictEqual(set.indexOf('foo'), 0); + assert.strictEqual(set.indexOf('bar'), 1); + assert.strictEqual(set.indexOf('baz'), 2); + assert.strictEqual(set.indexOf('quux'), 3); + + assert.strictEqual(set.at(0), 'foo'); + assert.strictEqual(set.at(1), 'bar'); + assert.strictEqual(set.at(2), 'baz'); + assert.strictEqual(set.at(3), 'quux'); + }; + + exports['test that you can add __proto__; see github issue #30'] = function (assert, util) { + var set = new ArraySet(); + set.add('__proto__'); + assert.ok(set.has('__proto__')); + assert.strictEqual(set.at(0), '__proto__'); + assert.strictEqual(set.indexOf('__proto__'), 0); + }; + + exports['test .fromArray() with duplicates'] = function (assert, util) { + var set = ArraySet.fromArray(['foo', 'foo']); + assert.ok(set.has('foo')); + assert.strictEqual(set.at(0), 'foo'); + assert.strictEqual(set.indexOf('foo'), 0); + assert.strictEqual(set.toArray().length, 1); + + set = ArraySet.fromArray(['foo', 'foo'], true); + assert.ok(set.has('foo')); + assert.strictEqual(set.at(0), 'foo'); + assert.strictEqual(set.at(1), 'foo'); + assert.strictEqual(set.indexOf('foo'), 0); + assert.strictEqual(set.toArray().length, 2); + }; + + exports['test .add() with duplicates'] = function (assert, util) { + var set = new ArraySet(); + set.add('foo'); + + set.add('foo'); + assert.ok(set.has('foo')); + assert.strictEqual(set.at(0), 'foo'); + assert.strictEqual(set.indexOf('foo'), 0); + assert.strictEqual(set.toArray().length, 1); + + set.add('foo', true); + assert.ok(set.has('foo')); + assert.strictEqual(set.at(0), 'foo'); + assert.strictEqual(set.at(1), 'foo'); + assert.strictEqual(set.indexOf('foo'), 0); + assert.strictEqual(set.toArray().length, 2); + }; + +}); diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64-vlq.js b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64-vlq.js new file mode 100644 index 0000000..653a874 --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64-vlq.js @@ -0,0 +1,24 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module, require); +} +define(function (require, exports, module) { + + var base64VLQ = require('../../lib/source-map/base64-vlq'); + + exports['test normal encoding and decoding'] = function (assert, util) { + var result; + for (var i = -255; i < 256; i++) { + result = base64VLQ.decode(base64VLQ.encode(i)); + assert.ok(result); + assert.equal(result.value, i); + assert.equal(result.rest, ""); + } + }; + +}); diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64.js b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64.js new file mode 100644 index 0000000..ff3a244 --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64.js @@ -0,0 +1,35 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module, require); +} +define(function (require, exports, module) { + + var base64 = require('../../lib/source-map/base64'); + + exports['test out of range encoding'] = function (assert, util) { + assert.throws(function () { + base64.encode(-1); + }); + assert.throws(function () { + base64.encode(64); + }); + }; + + exports['test out of range decoding'] = function (assert, util) { + assert.throws(function () { + base64.decode('='); + }); + }; + + exports['test normal encoding and decoding'] = function (assert, util) { + for (var i = 0; i < 64; i++) { + assert.equal(base64.decode(base64.encode(i)), i); + } + }; + +}); diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-binary-search.js b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-binary-search.js new file mode 100644 index 0000000..ee30683 --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-binary-search.js @@ -0,0 +1,54 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module, require); +} +define(function (require, exports, module) { + + var binarySearch = require('../../lib/source-map/binary-search'); + + function numberCompare(a, b) { + return a - b; + } + + exports['test too high'] = function (assert, util) { + var needle = 30; + var haystack = [2,4,6,8,10,12,14,16,18,20]; + + assert.doesNotThrow(function () { + binarySearch.search(needle, haystack, numberCompare); + }); + + assert.equal(binarySearch.search(needle, haystack, numberCompare), 20); + }; + + exports['test too low'] = function (assert, util) { + var needle = 1; + var haystack = [2,4,6,8,10,12,14,16,18,20]; + + assert.doesNotThrow(function () { + binarySearch.search(needle, haystack, numberCompare); + }); + + assert.equal(binarySearch.search(needle, haystack, numberCompare), null); + }; + + exports['test exact search'] = function (assert, util) { + var needle = 4; + var haystack = [2,4,6,8,10,12,14,16,18,20]; + + assert.equal(binarySearch.search(needle, haystack, numberCompare), 4); + }; + + exports['test fuzzy search'] = function (assert, util) { + var needle = 19; + var haystack = [2,4,6,8,10,12,14,16,18,20]; + + assert.equal(binarySearch.search(needle, haystack, numberCompare), 18); + }; + +}); diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-dog-fooding.js b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-dog-fooding.js new file mode 100644 index 0000000..d831b92 --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-dog-fooding.js @@ -0,0 +1,72 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module, require); +} +define(function (require, exports, module) { + + var SourceMapConsumer = require('../../lib/source-map/source-map-consumer').SourceMapConsumer; + var SourceMapGenerator = require('../../lib/source-map/source-map-generator').SourceMapGenerator; + + exports['test eating our own dog food'] = function (assert, util) { + var smg = new SourceMapGenerator({ + file: 'testing.js', + sourceRoot: '/wu/tang' + }); + + smg.addMapping({ + source: 'gza.coffee', + original: { line: 1, column: 0 }, + generated: { line: 2, column: 2 } + }); + + smg.addMapping({ + source: 'gza.coffee', + original: { line: 2, column: 0 }, + generated: { line: 3, column: 2 } + }); + + smg.addMapping({ + source: 'gza.coffee', + original: { line: 3, column: 0 }, + generated: { line: 4, column: 2 } + }); + + smg.addMapping({ + source: 'gza.coffee', + original: { line: 4, column: 0 }, + generated: { line: 5, column: 2 } + }); + + var smc = new SourceMapConsumer(smg.toString()); + + // Exact + util.assertMapping(2, 2, '/wu/tang/gza.coffee', 1, 0, null, smc, assert); + util.assertMapping(3, 2, '/wu/tang/gza.coffee', 2, 0, null, smc, assert); + util.assertMapping(4, 2, '/wu/tang/gza.coffee', 3, 0, null, smc, assert); + util.assertMapping(5, 2, '/wu/tang/gza.coffee', 4, 0, null, smc, assert); + + // Fuzzy + + // Original to generated + util.assertMapping(2, 0, null, null, null, null, smc, assert, true); + util.assertMapping(2, 9, '/wu/tang/gza.coffee', 1, 0, null, smc, assert, true); + util.assertMapping(3, 0, '/wu/tang/gza.coffee', 1, 0, null, smc, assert, true); + util.assertMapping(3, 9, '/wu/tang/gza.coffee', 2, 0, null, smc, assert, true); + util.assertMapping(4, 0, '/wu/tang/gza.coffee', 2, 0, null, smc, assert, true); + util.assertMapping(4, 9, '/wu/tang/gza.coffee', 3, 0, null, smc, assert, true); + util.assertMapping(5, 0, '/wu/tang/gza.coffee', 3, 0, null, smc, assert, true); + util.assertMapping(5, 9, '/wu/tang/gza.coffee', 4, 0, null, smc, assert, true); + + // Generated to original + util.assertMapping(2, 2, '/wu/tang/gza.coffee', 1, 1, null, smc, assert, null, true); + util.assertMapping(3, 2, '/wu/tang/gza.coffee', 2, 3, null, smc, assert, null, true); + util.assertMapping(4, 2, '/wu/tang/gza.coffee', 3, 6, null, smc, assert, null, true); + util.assertMapping(5, 2, '/wu/tang/gza.coffee', 4, 9, null, smc, assert, null, true); + }; + +}); diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-map-consumer.js b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-map-consumer.js new file mode 100644 index 0000000..f2c65a7 --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-map-consumer.js @@ -0,0 +1,451 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module, require); +} +define(function (require, exports, module) { + + var SourceMapConsumer = require('../../lib/source-map/source-map-consumer').SourceMapConsumer; + var SourceMapGenerator = require('../../lib/source-map/source-map-generator').SourceMapGenerator; + + exports['test that we can instantiate with a string or an objects'] = function (assert, util) { + assert.doesNotThrow(function () { + var map = new SourceMapConsumer(util.testMap); + }); + assert.doesNotThrow(function () { + var map = new SourceMapConsumer(JSON.stringify(util.testMap)); + }); + }; + + exports['test that the `sources` field has the original sources'] = function (assert, util) { + var map = new SourceMapConsumer(util.testMap); + var sources = map.sources; + + assert.equal(sources[0], '/the/root/one.js'); + assert.equal(sources[1], '/the/root/two.js'); + assert.equal(sources.length, 2); + }; + + exports['test that the source root is reflected in a mapping\'s source field'] = function (assert, util) { + var map = new SourceMapConsumer(util.testMap); + var mapping; + + mapping = map.originalPositionFor({ + line: 2, + column: 1 + }); + assert.equal(mapping.source, '/the/root/two.js'); + + mapping = map.originalPositionFor({ + line: 1, + column: 1 + }); + assert.equal(mapping.source, '/the/root/one.js'); + }; + + exports['test mapping tokens back exactly'] = function (assert, util) { + var map = new SourceMapConsumer(util.testMap); + + util.assertMapping(1, 1, '/the/root/one.js', 1, 1, null, map, assert); + util.assertMapping(1, 5, '/the/root/one.js', 1, 5, null, map, assert); + util.assertMapping(1, 9, '/the/root/one.js', 1, 11, null, map, assert); + util.assertMapping(1, 18, '/the/root/one.js', 1, 21, 'bar', map, assert); + util.assertMapping(1, 21, '/the/root/one.js', 2, 3, null, map, assert); + util.assertMapping(1, 28, '/the/root/one.js', 2, 10, 'baz', map, assert); + util.assertMapping(1, 32, '/the/root/one.js', 2, 14, 'bar', map, assert); + + util.assertMapping(2, 1, '/the/root/two.js', 1, 1, null, map, assert); + util.assertMapping(2, 5, '/the/root/two.js', 1, 5, null, map, assert); + util.assertMapping(2, 9, '/the/root/two.js', 1, 11, null, map, assert); + util.assertMapping(2, 18, '/the/root/two.js', 1, 21, 'n', map, assert); + util.assertMapping(2, 21, '/the/root/two.js', 2, 3, null, map, assert); + util.assertMapping(2, 28, '/the/root/two.js', 2, 10, 'n', map, assert); + }; + + exports['test mapping tokens fuzzy'] = function (assert, util) { + var map = new SourceMapConsumer(util.testMap); + + // Finding original positions + util.assertMapping(1, 20, '/the/root/one.js', 1, 21, 'bar', map, assert, true); + util.assertMapping(1, 30, '/the/root/one.js', 2, 10, 'baz', map, assert, true); + util.assertMapping(2, 12, '/the/root/two.js', 1, 11, null, map, assert, true); + + // Finding generated positions + util.assertMapping(1, 18, '/the/root/one.js', 1, 22, 'bar', map, assert, null, true); + util.assertMapping(1, 28, '/the/root/one.js', 2, 13, 'baz', map, assert, null, true); + util.assertMapping(2, 9, '/the/root/two.js', 1, 16, null, map, assert, null, true); + }; + + exports['test creating source map consumers with )]}\' prefix'] = function (assert, util) { + assert.doesNotThrow(function () { + var map = new SourceMapConsumer(")]}'" + JSON.stringify(util.testMap)); + }); + }; + + exports['test eachMapping'] = function (assert, util) { + var map = new SourceMapConsumer(util.testMap); + var previousLine = -Infinity; + var previousColumn = -Infinity; + map.eachMapping(function (mapping) { + assert.ok(mapping.generatedLine >= previousLine); + + if (mapping.source) { + assert.equal(mapping.source.indexOf(util.testMap.sourceRoot), 0); + } + + if (mapping.generatedLine === previousLine) { + assert.ok(mapping.generatedColumn >= previousColumn); + previousColumn = mapping.generatedColumn; + } + else { + previousLine = mapping.generatedLine; + previousColumn = -Infinity; + } + }); + }; + + exports['test iterating over mappings in a different order'] = function (assert, util) { + var map = new SourceMapConsumer(util.testMap); + var previousLine = -Infinity; + var previousColumn = -Infinity; + var previousSource = ""; + map.eachMapping(function (mapping) { + assert.ok(mapping.source >= previousSource); + + if (mapping.source === previousSource) { + assert.ok(mapping.originalLine >= previousLine); + + if (mapping.originalLine === previousLine) { + assert.ok(mapping.originalColumn >= previousColumn); + previousColumn = mapping.originalColumn; + } + else { + previousLine = mapping.originalLine; + previousColumn = -Infinity; + } + } + else { + previousSource = mapping.source; + previousLine = -Infinity; + previousColumn = -Infinity; + } + }, null, SourceMapConsumer.ORIGINAL_ORDER); + }; + + exports['test that we can set the context for `this` in eachMapping'] = function (assert, util) { + var map = new SourceMapConsumer(util.testMap); + var context = {}; + map.eachMapping(function () { + assert.equal(this, context); + }, context); + }; + + exports['test that the `sourcesContent` field has the original sources'] = function (assert, util) { + var map = new SourceMapConsumer(util.testMapWithSourcesContent); + var sourcesContent = map.sourcesContent; + + assert.equal(sourcesContent[0], ' ONE.foo = function (bar) {\n return baz(bar);\n };'); + assert.equal(sourcesContent[1], ' TWO.inc = function (n) {\n return n + 1;\n };'); + assert.equal(sourcesContent.length, 2); + }; + + exports['test that we can get the original sources for the sources'] = function (assert, util) { + var map = new SourceMapConsumer(util.testMapWithSourcesContent); + var sources = map.sources; + + assert.equal(map.sourceContentFor(sources[0]), ' ONE.foo = function (bar) {\n return baz(bar);\n };'); + assert.equal(map.sourceContentFor(sources[1]), ' TWO.inc = function (n) {\n return n + 1;\n };'); + assert.equal(map.sourceContentFor("one.js"), ' ONE.foo = function (bar) {\n return baz(bar);\n };'); + assert.equal(map.sourceContentFor("two.js"), ' TWO.inc = function (n) {\n return n + 1;\n };'); + assert.throws(function () { + map.sourceContentFor(""); + }, Error); + assert.throws(function () { + map.sourceContentFor("/the/root/three.js"); + }, Error); + assert.throws(function () { + map.sourceContentFor("three.js"); + }, Error); + }; + + exports['test sourceRoot + generatedPositionFor'] = function (assert, util) { + var map = new SourceMapGenerator({ + sourceRoot: 'foo/bar', + file: 'baz.js' + }); + map.addMapping({ + original: { line: 1, column: 1 }, + generated: { line: 2, column: 2 }, + source: 'bang.coffee' + }); + map.addMapping({ + original: { line: 5, column: 5 }, + generated: { line: 6, column: 6 }, + source: 'bang.coffee' + }); + map = new SourceMapConsumer(map.toString()); + + // Should handle without sourceRoot. + var pos = map.generatedPositionFor({ + line: 1, + column: 1, + source: 'bang.coffee' + }); + + assert.equal(pos.line, 2); + assert.equal(pos.column, 2); + + // Should handle with sourceRoot. + var pos = map.generatedPositionFor({ + line: 1, + column: 1, + source: 'foo/bar/bang.coffee' + }); + + assert.equal(pos.line, 2); + assert.equal(pos.column, 2); + }; + + exports['test sourceRoot + originalPositionFor'] = function (assert, util) { + var map = new SourceMapGenerator({ + sourceRoot: 'foo/bar', + file: 'baz.js' + }); + map.addMapping({ + original: { line: 1, column: 1 }, + generated: { line: 2, column: 2 }, + source: 'bang.coffee' + }); + map = new SourceMapConsumer(map.toString()); + + var pos = map.originalPositionFor({ + line: 2, + column: 2, + }); + + // Should always have the prepended source root + assert.equal(pos.source, 'foo/bar/bang.coffee'); + assert.equal(pos.line, 1); + assert.equal(pos.column, 1); + }; + + exports['test github issue #56'] = function (assert, util) { + var map = new SourceMapGenerator({ + sourceRoot: 'http://', + file: 'www.example.com/foo.js' + }); + map.addMapping({ + original: { line: 1, column: 1 }, + generated: { line: 2, column: 2 }, + source: 'www.example.com/original.js' + }); + map = new SourceMapConsumer(map.toString()); + + var sources = map.sources; + assert.equal(sources.length, 1); + assert.equal(sources[0], 'http://www.example.com/original.js'); + }; + + exports['test github issue #43'] = function (assert, util) { + var map = new SourceMapGenerator({ + sourceRoot: 'http://example.com', + file: 'foo.js' + }); + map.addMapping({ + original: { line: 1, column: 1 }, + generated: { line: 2, column: 2 }, + source: 'http://cdn.example.com/original.js' + }); + map = new SourceMapConsumer(map.toString()); + + var sources = map.sources; + assert.equal(sources.length, 1, + 'Should only be one source.'); + assert.equal(sources[0], 'http://cdn.example.com/original.js', + 'Should not be joined with the sourceRoot.'); + }; + + exports['test absolute path, but same host sources'] = function (assert, util) { + var map = new SourceMapGenerator({ + sourceRoot: 'http://example.com/foo/bar', + file: 'foo.js' + }); + map.addMapping({ + original: { line: 1, column: 1 }, + generated: { line: 2, column: 2 }, + source: '/original.js' + }); + map = new SourceMapConsumer(map.toString()); + + var sources = map.sources; + assert.equal(sources.length, 1, + 'Should only be one source.'); + assert.equal(sources[0], 'http://example.com/original.js', + 'Source should be relative the host of the source root.'); + }; + + exports['test github issue #64'] = function (assert, util) { + var map = new SourceMapConsumer({ + "version": 3, + "file": "foo.js", + "sourceRoot": "http://example.com/", + "sources": ["/a"], + "names": [], + "mappings": "AACA", + "sourcesContent": ["foo"] + }); + + assert.equal(map.sourceContentFor("a"), "foo"); + assert.equal(map.sourceContentFor("/a"), "foo"); + }; + + exports['test bug 885597'] = function (assert, util) { + var map = new SourceMapConsumer({ + "version": 3, + "file": "foo.js", + "sourceRoot": "file:///Users/AlGore/Invented/The/Internet/", + "sources": ["/a"], + "names": [], + "mappings": "AACA", + "sourcesContent": ["foo"] + }); + + var s = map.sources[0]; + assert.equal(map.sourceContentFor(s), "foo"); + }; + + exports['test github issue #72, duplicate sources'] = function (assert, util) { + var map = new SourceMapConsumer({ + "version": 3, + "file": "foo.js", + "sources": ["source1.js", "source1.js", "source3.js"], + "names": [], + "mappings": ";EAAC;;IAEE;;MEEE", + "sourceRoot": "http://example.com" + }); + + var pos = map.originalPositionFor({ + line: 2, + column: 2 + }); + assert.equal(pos.source, 'http://example.com/source1.js'); + assert.equal(pos.line, 1); + assert.equal(pos.column, 1); + + var pos = map.originalPositionFor({ + line: 4, + column: 4 + }); + assert.equal(pos.source, 'http://example.com/source1.js'); + assert.equal(pos.line, 3); + assert.equal(pos.column, 3); + + var pos = map.originalPositionFor({ + line: 6, + column: 6 + }); + assert.equal(pos.source, 'http://example.com/source3.js'); + assert.equal(pos.line, 5); + assert.equal(pos.column, 5); + }; + + exports['test github issue #72, duplicate names'] = function (assert, util) { + var map = new SourceMapConsumer({ + "version": 3, + "file": "foo.js", + "sources": ["source.js"], + "names": ["name1", "name1", "name3"], + "mappings": ";EAACA;;IAEEA;;MAEEE", + "sourceRoot": "http://example.com" + }); + + var pos = map.originalPositionFor({ + line: 2, + column: 2 + }); + assert.equal(pos.name, 'name1'); + assert.equal(pos.line, 1); + assert.equal(pos.column, 1); + + var pos = map.originalPositionFor({ + line: 4, + column: 4 + }); + assert.equal(pos.name, 'name1'); + assert.equal(pos.line, 3); + assert.equal(pos.column, 3); + + var pos = map.originalPositionFor({ + line: 6, + column: 6 + }); + assert.equal(pos.name, 'name3'); + assert.equal(pos.line, 5); + assert.equal(pos.column, 5); + }; + + exports['test SourceMapConsumer.fromSourceMap'] = function (assert, util) { + var smg = new SourceMapGenerator({ + sourceRoot: 'http://example.com/', + file: 'foo.js' + }); + smg.addMapping({ + original: { line: 1, column: 1 }, + generated: { line: 2, column: 2 }, + source: 'bar.js' + }); + smg.addMapping({ + original: { line: 2, column: 2 }, + generated: { line: 4, column: 4 }, + source: 'baz.js', + name: 'dirtMcGirt' + }); + smg.setSourceContent('baz.js', 'baz.js content'); + + var smc = SourceMapConsumer.fromSourceMap(smg); + assert.equal(smc.file, 'foo.js'); + assert.equal(smc.sourceRoot, 'http://example.com/'); + assert.equal(smc.sources.length, 2); + assert.equal(smc.sources[0], 'http://example.com/bar.js'); + assert.equal(smc.sources[1], 'http://example.com/baz.js'); + assert.equal(smc.sourceContentFor('baz.js'), 'baz.js content'); + + var pos = smc.originalPositionFor({ + line: 2, + column: 2 + }); + assert.equal(pos.line, 1); + assert.equal(pos.column, 1); + assert.equal(pos.source, 'http://example.com/bar.js'); + assert.equal(pos.name, null); + + pos = smc.generatedPositionFor({ + line: 1, + column: 1, + source: 'http://example.com/bar.js' + }); + assert.equal(pos.line, 2); + assert.equal(pos.column, 2); + + pos = smc.originalPositionFor({ + line: 4, + column: 4 + }); + assert.equal(pos.line, 2); + assert.equal(pos.column, 2); + assert.equal(pos.source, 'http://example.com/baz.js'); + assert.equal(pos.name, 'dirtMcGirt'); + + pos = smc.generatedPositionFor({ + line: 2, + column: 2, + source: 'http://example.com/baz.js' + }); + assert.equal(pos.line, 4); + assert.equal(pos.column, 4); + }; +}); diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-map-generator.js b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-map-generator.js new file mode 100644 index 0000000..ba292f5 --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-map-generator.js @@ -0,0 +1,417 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module, require); +} +define(function (require, exports, module) { + + var SourceMapGenerator = require('../../lib/source-map/source-map-generator').SourceMapGenerator; + var SourceMapConsumer = require('../../lib/source-map/source-map-consumer').SourceMapConsumer; + var SourceNode = require('../../lib/source-map/source-node').SourceNode; + var util = require('./util'); + + exports['test some simple stuff'] = function (assert, util) { + var map = new SourceMapGenerator({ + file: 'foo.js', + sourceRoot: '.' + }); + assert.ok(true); + }; + + exports['test JSON serialization'] = function (assert, util) { + var map = new SourceMapGenerator({ + file: 'foo.js', + sourceRoot: '.' + }); + assert.equal(map.toString(), JSON.stringify(map)); + }; + + exports['test adding mappings (case 1)'] = function (assert, util) { + var map = new SourceMapGenerator({ + file: 'generated-foo.js', + sourceRoot: '.' + }); + + assert.doesNotThrow(function () { + map.addMapping({ + generated: { line: 1, column: 1 } + }); + }); + }; + + exports['test adding mappings (case 2)'] = function (assert, util) { + var map = new SourceMapGenerator({ + file: 'generated-foo.js', + sourceRoot: '.' + }); + + assert.doesNotThrow(function () { + map.addMapping({ + generated: { line: 1, column: 1 }, + source: 'bar.js', + original: { line: 1, column: 1 } + }); + }); + }; + + exports['test adding mappings (case 3)'] = function (assert, util) { + var map = new SourceMapGenerator({ + file: 'generated-foo.js', + sourceRoot: '.' + }); + + assert.doesNotThrow(function () { + map.addMapping({ + generated: { line: 1, column: 1 }, + source: 'bar.js', + original: { line: 1, column: 1 }, + name: 'someToken' + }); + }); + }; + + exports['test adding mappings (invalid)'] = function (assert, util) { + var map = new SourceMapGenerator({ + file: 'generated-foo.js', + sourceRoot: '.' + }); + + // Not enough info. + assert.throws(function () { + map.addMapping({}); + }); + + // Original file position, but no source. + assert.throws(function () { + map.addMapping({ + generated: { line: 1, column: 1 }, + original: { line: 1, column: 1 } + }); + }); + }; + + exports['test that the correct mappings are being generated'] = function (assert, util) { + var map = new SourceMapGenerator({ + file: 'min.js', + sourceRoot: '/the/root' + }); + + map.addMapping({ + generated: { line: 1, column: 1 }, + original: { line: 1, column: 1 }, + source: 'one.js' + }); + map.addMapping({ + generated: { line: 1, column: 5 }, + original: { line: 1, column: 5 }, + source: 'one.js' + }); + map.addMapping({ + generated: { line: 1, column: 9 }, + original: { line: 1, column: 11 }, + source: 'one.js' + }); + map.addMapping({ + generated: { line: 1, column: 18 }, + original: { line: 1, column: 21 }, + source: 'one.js', + name: 'bar' + }); + map.addMapping({ + generated: { line: 1, column: 21 }, + original: { line: 2, column: 3 }, + source: 'one.js' + }); + map.addMapping({ + generated: { line: 1, column: 28 }, + original: { line: 2, column: 10 }, + source: 'one.js', + name: 'baz' + }); + map.addMapping({ + generated: { line: 1, column: 32 }, + original: { line: 2, column: 14 }, + source: 'one.js', + name: 'bar' + }); + + map.addMapping({ + generated: { line: 2, column: 1 }, + original: { line: 1, column: 1 }, + source: 'two.js' + }); + map.addMapping({ + generated: { line: 2, column: 5 }, + original: { line: 1, column: 5 }, + source: 'two.js' + }); + map.addMapping({ + generated: { line: 2, column: 9 }, + original: { line: 1, column: 11 }, + source: 'two.js' + }); + map.addMapping({ + generated: { line: 2, column: 18 }, + original: { line: 1, column: 21 }, + source: 'two.js', + name: 'n' + }); + map.addMapping({ + generated: { line: 2, column: 21 }, + original: { line: 2, column: 3 }, + source: 'two.js' + }); + map.addMapping({ + generated: { line: 2, column: 28 }, + original: { line: 2, column: 10 }, + source: 'two.js', + name: 'n' + }); + + map = JSON.parse(map.toString()); + + util.assertEqualMaps(assert, map, util.testMap); + }; + + exports['test that source content can be set'] = function (assert, util) { + var map = new SourceMapGenerator({ + file: 'min.js', + sourceRoot: '/the/root' + }); + map.addMapping({ + generated: { line: 1, column: 1 }, + original: { line: 1, column: 1 }, + source: 'one.js' + }); + map.addMapping({ + generated: { line: 2, column: 1 }, + original: { line: 1, column: 1 }, + source: 'two.js' + }); + map.setSourceContent('one.js', 'one file content'); + + map = JSON.parse(map.toString()); + assert.equal(map.sources[0], 'one.js'); + assert.equal(map.sources[1], 'two.js'); + assert.equal(map.sourcesContent[0], 'one file content'); + assert.equal(map.sourcesContent[1], null); + }; + + exports['test .fromSourceMap'] = function (assert, util) { + var map = SourceMapGenerator.fromSourceMap(new SourceMapConsumer(util.testMap)); + util.assertEqualMaps(assert, map.toJSON(), util.testMap); + }; + + exports['test .fromSourceMap with sourcesContent'] = function (assert, util) { + var map = SourceMapGenerator.fromSourceMap( + new SourceMapConsumer(util.testMapWithSourcesContent)); + util.assertEqualMaps(assert, map.toJSON(), util.testMapWithSourcesContent); + }; + + exports['test applySourceMap'] = function (assert, util) { + var node = new SourceNode(null, null, null, [ + new SourceNode(2, 0, 'fileX', 'lineX2\n'), + 'genA1\n', + new SourceNode(2, 0, 'fileY', 'lineY2\n'), + 'genA2\n', + new SourceNode(1, 0, 'fileX', 'lineX1\n'), + 'genA3\n', + new SourceNode(1, 0, 'fileY', 'lineY1\n') + ]); + var mapStep1 = node.toStringWithSourceMap({ + file: 'fileA' + }).map; + mapStep1.setSourceContent('fileX', 'lineX1\nlineX2\n'); + mapStep1 = mapStep1.toJSON(); + + node = new SourceNode(null, null, null, [ + 'gen1\n', + new SourceNode(1, 0, 'fileA', 'lineA1\n'), + new SourceNode(2, 0, 'fileA', 'lineA2\n'), + new SourceNode(3, 0, 'fileA', 'lineA3\n'), + new SourceNode(4, 0, 'fileA', 'lineA4\n'), + new SourceNode(1, 0, 'fileB', 'lineB1\n'), + new SourceNode(2, 0, 'fileB', 'lineB2\n'), + 'gen2\n' + ]); + var mapStep2 = node.toStringWithSourceMap({ + file: 'fileGen' + }).map; + mapStep2.setSourceContent('fileB', 'lineB1\nlineB2\n'); + mapStep2 = mapStep2.toJSON(); + + node = new SourceNode(null, null, null, [ + 'gen1\n', + new SourceNode(2, 0, 'fileX', 'lineA1\n'), + new SourceNode(2, 0, 'fileA', 'lineA2\n'), + new SourceNode(2, 0, 'fileY', 'lineA3\n'), + new SourceNode(4, 0, 'fileA', 'lineA4\n'), + new SourceNode(1, 0, 'fileB', 'lineB1\n'), + new SourceNode(2, 0, 'fileB', 'lineB2\n'), + 'gen2\n' + ]); + var expectedMap = node.toStringWithSourceMap({ + file: 'fileGen' + }).map; + expectedMap.setSourceContent('fileX', 'lineX1\nlineX2\n'); + expectedMap.setSourceContent('fileB', 'lineB1\nlineB2\n'); + expectedMap = expectedMap.toJSON(); + + // apply source map "mapStep1" to "mapStep2" + var generator = SourceMapGenerator.fromSourceMap(new SourceMapConsumer(mapStep2)); + generator.applySourceMap(new SourceMapConsumer(mapStep1)); + var actualMap = generator.toJSON(); + + util.assertEqualMaps(assert, actualMap, expectedMap); + }; + + exports['test sorting with duplicate generated mappings'] = function (assert, util) { + var map = new SourceMapGenerator({ + file: 'test.js' + }); + map.addMapping({ + generated: { line: 3, column: 0 }, + original: { line: 2, column: 0 }, + source: 'a.js' + }); + map.addMapping({ + generated: { line: 2, column: 0 } + }); + map.addMapping({ + generated: { line: 2, column: 0 } + }); + map.addMapping({ + generated: { line: 1, column: 0 }, + original: { line: 1, column: 0 }, + source: 'a.js' + }); + + util.assertEqualMaps(assert, map.toJSON(), { + version: 3, + file: 'test.js', + sources: ['a.js'], + names: [], + mappings: 'AAAA;A;AACA' + }); + }; + + exports['test ignore duplicate mappings.'] = function (assert, util) { + var init = { file: 'min.js', sourceRoot: '/the/root' }; + var map1, map2; + + // null original source location + var nullMapping1 = { + generated: { line: 1, column: 0 } + }; + var nullMapping2 = { + generated: { line: 2, column: 2 } + }; + + map1 = new SourceMapGenerator(init); + map2 = new SourceMapGenerator(init); + + map1.addMapping(nullMapping1); + map1.addMapping(nullMapping1); + + map2.addMapping(nullMapping1); + + util.assertEqualMaps(assert, map1.toJSON(), map2.toJSON()); + + map1.addMapping(nullMapping2); + map1.addMapping(nullMapping1); + + map2.addMapping(nullMapping2); + + util.assertEqualMaps(assert, map1.toJSON(), map2.toJSON()); + + // original source location + var srcMapping1 = { + generated: { line: 1, column: 0 }, + original: { line: 11, column: 0 }, + source: 'srcMapping1.js' + }; + var srcMapping2 = { + generated: { line: 2, column: 2 }, + original: { line: 11, column: 0 }, + source: 'srcMapping2.js' + }; + + map1 = new SourceMapGenerator(init); + map2 = new SourceMapGenerator(init); + + map1.addMapping(srcMapping1); + map1.addMapping(srcMapping1); + + map2.addMapping(srcMapping1); + + util.assertEqualMaps(assert, map1.toJSON(), map2.toJSON()); + + map1.addMapping(srcMapping2); + map1.addMapping(srcMapping1); + + map2.addMapping(srcMapping2); + + util.assertEqualMaps(assert, map1.toJSON(), map2.toJSON()); + + // full original source and name information + var fullMapping1 = { + generated: { line: 1, column: 0 }, + original: { line: 11, column: 0 }, + source: 'fullMapping1.js', + name: 'fullMapping1' + }; + var fullMapping2 = { + generated: { line: 2, column: 2 }, + original: { line: 11, column: 0 }, + source: 'fullMapping2.js', + name: 'fullMapping2' + }; + + map1 = new SourceMapGenerator(init); + map2 = new SourceMapGenerator(init); + + map1.addMapping(fullMapping1); + map1.addMapping(fullMapping1); + + map2.addMapping(fullMapping1); + + util.assertEqualMaps(assert, map1.toJSON(), map2.toJSON()); + + map1.addMapping(fullMapping2); + map1.addMapping(fullMapping1); + + map2.addMapping(fullMapping2); + + util.assertEqualMaps(assert, map1.toJSON(), map2.toJSON()); + }; + + exports['test github issue #72, check for duplicate names or sources'] = function (assert, util) { + var map = new SourceMapGenerator({ + file: 'test.js' + }); + map.addMapping({ + generated: { line: 1, column: 1 }, + original: { line: 2, column: 2 }, + source: 'a.js', + name: 'foo' + }); + map.addMapping({ + generated: { line: 3, column: 3 }, + original: { line: 4, column: 4 }, + source: 'a.js', + name: 'foo' + }); + util.assertEqualMaps(assert, map.toJSON(), { + version: 3, + file: 'test.js', + sources: ['a.js'], + names: ['foo'], + mappings: 'CACEA;;GAEEA' + }); + }; + +}); diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-node.js b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-node.js new file mode 100644 index 0000000..6e0eca8 --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-node.js @@ -0,0 +1,365 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module, require); +} +define(function (require, exports, module) { + + var SourceMapGenerator = require('../../lib/source-map/source-map-generator').SourceMapGenerator; + var SourceMapConsumer = require('../../lib/source-map/source-map-consumer').SourceMapConsumer; + var SourceNode = require('../../lib/source-map/source-node').SourceNode; + + exports['test .add()'] = function (assert, util) { + var node = new SourceNode(null, null, null); + + // Adding a string works. + node.add('function noop() {}'); + + // Adding another source node works. + node.add(new SourceNode(null, null, null)); + + // Adding an array works. + node.add(['function foo() {', + new SourceNode(null, null, null, + 'return 10;'), + '}']); + + // Adding other stuff doesn't. + assert.throws(function () { + node.add({}); + }); + assert.throws(function () { + node.add(function () {}); + }); + }; + + exports['test .prepend()'] = function (assert, util) { + var node = new SourceNode(null, null, null); + + // Prepending a string works. + node.prepend('function noop() {}'); + assert.equal(node.children[0], 'function noop() {}'); + assert.equal(node.children.length, 1); + + // Prepending another source node works. + node.prepend(new SourceNode(null, null, null)); + assert.equal(node.children[0], ''); + assert.equal(node.children[1], 'function noop() {}'); + assert.equal(node.children.length, 2); + + // Prepending an array works. + node.prepend(['function foo() {', + new SourceNode(null, null, null, + 'return 10;'), + '}']); + assert.equal(node.children[0], 'function foo() {'); + assert.equal(node.children[1], 'return 10;'); + assert.equal(node.children[2], '}'); + assert.equal(node.children[3], ''); + assert.equal(node.children[4], 'function noop() {}'); + assert.equal(node.children.length, 5); + + // Prepending other stuff doesn't. + assert.throws(function () { + node.prepend({}); + }); + assert.throws(function () { + node.prepend(function () {}); + }); + }; + + exports['test .toString()'] = function (assert, util) { + assert.equal((new SourceNode(null, null, null, + ['function foo() {', + new SourceNode(null, null, null, 'return 10;'), + '}'])).toString(), + 'function foo() {return 10;}'); + }; + + exports['test .join()'] = function (assert, util) { + assert.equal((new SourceNode(null, null, null, + ['a', 'b', 'c', 'd'])).join(', ').toString(), + 'a, b, c, d'); + }; + + exports['test .walk()'] = function (assert, util) { + var node = new SourceNode(null, null, null, + ['(function () {\n', + ' ', new SourceNode(1, 0, 'a.js', ['someCall()']), ';\n', + ' ', new SourceNode(2, 0, 'b.js', ['if (foo) bar()']), ';\n', + '}());']); + var expected = [ + { str: '(function () {\n', source: null, line: null, column: null }, + { str: ' ', source: null, line: null, column: null }, + { str: 'someCall()', source: 'a.js', line: 1, column: 0 }, + { str: ';\n', source: null, line: null, column: null }, + { str: ' ', source: null, line: null, column: null }, + { str: 'if (foo) bar()', source: 'b.js', line: 2, column: 0 }, + { str: ';\n', source: null, line: null, column: null }, + { str: '}());', source: null, line: null, column: null }, + ]; + var i = 0; + node.walk(function (chunk, loc) { + assert.equal(expected[i].str, chunk); + assert.equal(expected[i].source, loc.source); + assert.equal(expected[i].line, loc.line); + assert.equal(expected[i].column, loc.column); + i++; + }); + }; + + exports['test .replaceRight'] = function (assert, util) { + var node; + + // Not nested + node = new SourceNode(null, null, null, 'hello world'); + node.replaceRight(/world/, 'universe'); + assert.equal(node.toString(), 'hello universe'); + + // Nested + node = new SourceNode(null, null, null, + [new SourceNode(null, null, null, 'hey sexy mama, '), + new SourceNode(null, null, null, 'want to kill all humans?')]); + node.replaceRight(/kill all humans/, 'watch Futurama'); + assert.equal(node.toString(), 'hey sexy mama, want to watch Futurama?'); + }; + + exports['test .toStringWithSourceMap()'] = function (assert, util) { + var node = new SourceNode(null, null, null, + ['(function () {\n', + ' ', + new SourceNode(1, 0, 'a.js', 'someCall', 'originalCall'), + new SourceNode(1, 8, 'a.js', '()'), + ';\n', + ' ', new SourceNode(2, 0, 'b.js', ['if (foo) bar()']), ';\n', + '}());']); + var map = node.toStringWithSourceMap({ + file: 'foo.js' + }).map; + + assert.ok(map instanceof SourceMapGenerator, 'map instanceof SourceMapGenerator'); + map = new SourceMapConsumer(map.toString()); + + var actual; + + actual = map.originalPositionFor({ + line: 1, + column: 4 + }); + assert.equal(actual.source, null); + assert.equal(actual.line, null); + assert.equal(actual.column, null); + + actual = map.originalPositionFor({ + line: 2, + column: 2 + }); + assert.equal(actual.source, 'a.js'); + assert.equal(actual.line, 1); + assert.equal(actual.column, 0); + assert.equal(actual.name, 'originalCall'); + + actual = map.originalPositionFor({ + line: 3, + column: 2 + }); + assert.equal(actual.source, 'b.js'); + assert.equal(actual.line, 2); + assert.equal(actual.column, 0); + + actual = map.originalPositionFor({ + line: 3, + column: 16 + }); + assert.equal(actual.source, null); + assert.equal(actual.line, null); + assert.equal(actual.column, null); + + actual = map.originalPositionFor({ + line: 4, + column: 2 + }); + assert.equal(actual.source, null); + assert.equal(actual.line, null); + assert.equal(actual.column, null); + }; + + exports['test .fromStringWithSourceMap()'] = function (assert, util) { + var node = SourceNode.fromStringWithSourceMap( + util.testGeneratedCode, + new SourceMapConsumer(util.testMap)); + + var result = node.toStringWithSourceMap({ + file: 'min.js' + }); + var map = result.map; + var code = result.code; + + assert.equal(code, util.testGeneratedCode); + assert.ok(map instanceof SourceMapGenerator, 'map instanceof SourceMapGenerator'); + map = map.toJSON(); + assert.equal(map.version, util.testMap.version); + assert.equal(map.file, util.testMap.file); + assert.equal(map.mappings, util.testMap.mappings); + }; + + exports['test .fromStringWithSourceMap() empty map'] = function (assert, util) { + var node = SourceNode.fromStringWithSourceMap( + util.testGeneratedCode, + new SourceMapConsumer(util.emptyMap)); + var result = node.toStringWithSourceMap({ + file: 'min.js' + }); + var map = result.map; + var code = result.code; + + assert.equal(code, util.testGeneratedCode); + assert.ok(map instanceof SourceMapGenerator, 'map instanceof SourceMapGenerator'); + map = map.toJSON(); + assert.equal(map.version, util.emptyMap.version); + assert.equal(map.file, util.emptyMap.file); + assert.equal(map.mappings.length, util.emptyMap.mappings.length); + assert.equal(map.mappings, util.emptyMap.mappings); + }; + + exports['test .fromStringWithSourceMap() complex version'] = function (assert, util) { + var input = new SourceNode(null, null, null, [ + "(function() {\n", + " var Test = {};\n", + " ", new SourceNode(1, 0, "a.js", "Test.A = { value: 1234 };\n"), + " ", new SourceNode(2, 0, "a.js", "Test.A.x = 'xyz';"), "\n", + "}());\n", + "/* Generated Source */"]); + input = input.toStringWithSourceMap({ + file: 'foo.js' + }); + + var node = SourceNode.fromStringWithSourceMap( + input.code, + new SourceMapConsumer(input.map.toString())); + + var result = node.toStringWithSourceMap({ + file: 'foo.js' + }); + var map = result.map; + var code = result.code; + + assert.equal(code, input.code); + assert.ok(map instanceof SourceMapGenerator, 'map instanceof SourceMapGenerator'); + map = map.toJSON(); + var inputMap = input.map.toJSON(); + util.assertEqualMaps(assert, map, inputMap); + }; + + exports['test .fromStringWithSourceMap() merging duplicate mappings'] = function (assert, util) { + var input = new SourceNode(null, null, null, [ + new SourceNode(1, 0, "a.js", "(function"), + new SourceNode(1, 0, "a.js", "() {\n"), + " ", + new SourceNode(1, 0, "a.js", "var Test = "), + new SourceNode(1, 0, "b.js", "{};\n"), + new SourceNode(2, 0, "b.js", "Test"), + new SourceNode(2, 0, "b.js", ".A", "A"), + new SourceNode(2, 20, "b.js", " = { value: 1234 };\n", "A"), + "}());\n", + "/* Generated Source */" + ]); + input = input.toStringWithSourceMap({ + file: 'foo.js' + }); + + var correctMap = new SourceMapGenerator({ + file: 'foo.js' + }); + correctMap.addMapping({ + generated: { line: 1, column: 0 }, + source: 'a.js', + original: { line: 1, column: 0 } + }); + correctMap.addMapping({ + generated: { line: 2, column: 0 } + }); + correctMap.addMapping({ + generated: { line: 2, column: 2 }, + source: 'a.js', + original: { line: 1, column: 0 } + }); + correctMap.addMapping({ + generated: { line: 2, column: 13 }, + source: 'b.js', + original: { line: 1, column: 0 } + }); + correctMap.addMapping({ + generated: { line: 3, column: 0 }, + source: 'b.js', + original: { line: 2, column: 0 } + }); + correctMap.addMapping({ + generated: { line: 3, column: 4 }, + source: 'b.js', + name: 'A', + original: { line: 2, column: 0 } + }); + correctMap.addMapping({ + generated: { line: 3, column: 6 }, + source: 'b.js', + name: 'A', + original: { line: 2, column: 20 } + }); + correctMap.addMapping({ + generated: { line: 4, column: 0 } + }); + + var inputMap = input.map.toJSON(); + correctMap = correctMap.toJSON(); + util.assertEqualMaps(assert, correctMap, inputMap); + }; + + exports['test setSourceContent with toStringWithSourceMap'] = function (assert, util) { + var aNode = new SourceNode(1, 1, 'a.js', 'a'); + aNode.setSourceContent('a.js', 'someContent'); + var node = new SourceNode(null, null, null, + ['(function () {\n', + ' ', aNode, + ' ', new SourceNode(1, 1, 'b.js', 'b'), + '}());']); + node.setSourceContent('b.js', 'otherContent'); + var map = node.toStringWithSourceMap({ + file: 'foo.js' + }).map; + + assert.ok(map instanceof SourceMapGenerator, 'map instanceof SourceMapGenerator'); + map = new SourceMapConsumer(map.toString()); + + assert.equal(map.sources.length, 2); + assert.equal(map.sources[0], 'a.js'); + assert.equal(map.sources[1], 'b.js'); + assert.equal(map.sourcesContent.length, 2); + assert.equal(map.sourcesContent[0], 'someContent'); + assert.equal(map.sourcesContent[1], 'otherContent'); + }; + + exports['test walkSourceContents'] = function (assert, util) { + var aNode = new SourceNode(1, 1, 'a.js', 'a'); + aNode.setSourceContent('a.js', 'someContent'); + var node = new SourceNode(null, null, null, + ['(function () {\n', + ' ', aNode, + ' ', new SourceNode(1, 1, 'b.js', 'b'), + '}());']); + node.setSourceContent('b.js', 'otherContent'); + var results = []; + node.walkSourceContents(function (sourceFile, sourceContent) { + results.push([sourceFile, sourceContent]); + }); + assert.equal(results.length, 2); + assert.equal(results[0][0], 'a.js'); + assert.equal(results[0][1], 'someContent'); + assert.equal(results[1][0], 'b.js'); + assert.equal(results[1][1], 'otherContent'); + }; +}); diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/util.js b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/util.js new file mode 100644 index 0000000..288046b --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/util.js @@ -0,0 +1,161 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module, require); +} +define(function (require, exports, module) { + + var util = require('../../lib/source-map/util'); + + // This is a test mapping which maps functions from two different files + // (one.js and two.js) to a minified generated source. + // + // Here is one.js: + // + // ONE.foo = function (bar) { + // return baz(bar); + // }; + // + // Here is two.js: + // + // TWO.inc = function (n) { + // return n + 1; + // }; + // + // And here is the generated code (min.js): + // + // ONE.foo=function(a){return baz(a);}; + // TWO.inc=function(a){return a+1;}; + exports.testGeneratedCode = " ONE.foo=function(a){return baz(a);};\n"+ + " TWO.inc=function(a){return a+1;};"; + exports.testMap = { + version: 3, + file: 'min.js', + names: ['bar', 'baz', 'n'], + sources: ['one.js', 'two.js'], + sourceRoot: '/the/root', + mappings: 'CAAC,IAAI,IAAM,SAAUA,GAClB,OAAOC,IAAID;CCDb,IAAI,IAAM,SAAUE,GAClB,OAAOA' + }; + exports.testMapWithSourcesContent = { + version: 3, + file: 'min.js', + names: ['bar', 'baz', 'n'], + sources: ['one.js', 'two.js'], + sourcesContent: [ + ' ONE.foo = function (bar) {\n' + + ' return baz(bar);\n' + + ' };', + ' TWO.inc = function (n) {\n' + + ' return n + 1;\n' + + ' };' + ], + sourceRoot: '/the/root', + mappings: 'CAAC,IAAI,IAAM,SAAUA,GAClB,OAAOC,IAAID;CCDb,IAAI,IAAM,SAAUE,GAClB,OAAOA' + }; + exports.emptyMap = { + version: 3, + file: 'min.js', + names: [], + sources: [], + mappings: '' + }; + + + function assertMapping(generatedLine, generatedColumn, originalSource, + originalLine, originalColumn, name, map, assert, + dontTestGenerated, dontTestOriginal) { + if (!dontTestOriginal) { + var origMapping = map.originalPositionFor({ + line: generatedLine, + column: generatedColumn + }); + assert.equal(origMapping.name, name, + 'Incorrect name, expected ' + JSON.stringify(name) + + ', got ' + JSON.stringify(origMapping.name)); + assert.equal(origMapping.line, originalLine, + 'Incorrect line, expected ' + JSON.stringify(originalLine) + + ', got ' + JSON.stringify(origMapping.line)); + assert.equal(origMapping.column, originalColumn, + 'Incorrect column, expected ' + JSON.stringify(originalColumn) + + ', got ' + JSON.stringify(origMapping.column)); + + var expectedSource; + + if (originalSource && map.sourceRoot && originalSource.indexOf(map.sourceRoot) === 0) { + expectedSource = originalSource; + } else if (originalSource) { + expectedSource = map.sourceRoot + ? util.join(map.sourceRoot, originalSource) + : originalSource; + } else { + expectedSource = null; + } + + assert.equal(origMapping.source, expectedSource, + 'Incorrect source, expected ' + JSON.stringify(expectedSource) + + ', got ' + JSON.stringify(origMapping.source)); + } + + if (!dontTestGenerated) { + var genMapping = map.generatedPositionFor({ + source: originalSource, + line: originalLine, + column: originalColumn + }); + assert.equal(genMapping.line, generatedLine, + 'Incorrect line, expected ' + JSON.stringify(generatedLine) + + ', got ' + JSON.stringify(genMapping.line)); + assert.equal(genMapping.column, generatedColumn, + 'Incorrect column, expected ' + JSON.stringify(generatedColumn) + + ', got ' + JSON.stringify(genMapping.column)); + } + } + exports.assertMapping = assertMapping; + + function assertEqualMaps(assert, actualMap, expectedMap) { + assert.equal(actualMap.version, expectedMap.version, "version mismatch"); + assert.equal(actualMap.file, expectedMap.file, "file mismatch"); + assert.equal(actualMap.names.length, + expectedMap.names.length, + "names length mismatch: " + + actualMap.names.join(", ") + " != " + expectedMap.names.join(", ")); + for (var i = 0; i < actualMap.names.length; i++) { + assert.equal(actualMap.names[i], + expectedMap.names[i], + "names[" + i + "] mismatch: " + + actualMap.names.join(", ") + " != " + expectedMap.names.join(", ")); + } + assert.equal(actualMap.sources.length, + expectedMap.sources.length, + "sources length mismatch: " + + actualMap.sources.join(", ") + " != " + expectedMap.sources.join(", ")); + for (var i = 0; i < actualMap.sources.length; i++) { + assert.equal(actualMap.sources[i], + expectedMap.sources[i], + "sources[" + i + "] length mismatch: " + + actualMap.sources.join(", ") + " != " + expectedMap.sources.join(", ")); + } + assert.equal(actualMap.sourceRoot, + expectedMap.sourceRoot, + "sourceRoot mismatch: " + + actualMap.sourceRoot + " != " + expectedMap.sourceRoot); + assert.equal(actualMap.mappings, expectedMap.mappings, + "mappings mismatch:\nActual: " + actualMap.mappings + "\nExpected: " + expectedMap.mappings); + if (actualMap.sourcesContent) { + assert.equal(actualMap.sourcesContent.length, + expectedMap.sourcesContent.length, + "sourcesContent length mismatch"); + for (var i = 0; i < actualMap.sourcesContent.length; i++) { + assert.equal(actualMap.sourcesContent[i], + expectedMap.sourcesContent[i], + "sourcesContent[" + i + "] mismatch"); + } + } + } + exports.assertEqualMaps = assertEqualMaps; + +}); diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/package.json b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/package.json new file mode 100644 index 0000000..4037228 --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/package.json @@ -0,0 +1,39 @@ +{ + "name": "uglify-js", + "description": "JavaScript parser, mangler/compressor and beautifier toolkit", + "homepage": "http://lisperator.net/uglifyjs", + "main": "tools/node.js", + "version": "2.3.6", + "engines": { + "node": ">=0.4.0" + }, + "maintainers": [ + { + "name": "Mihai Bazon", + "email": "mihai.bazon@gmail.com", + "url": "http://lisperator.net/" + } + ], + "repository": { + "type": "git", + "url": "https://github.com/mishoo/UglifyJS2.git" + }, + "dependencies": { + "async": "~0.2.6", + "source-map": "~0.1.7", + "optimist": "~0.3.5" + }, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "scripts": { + "test": "node test/run-tests.js" + }, + "readme": "UglifyJS 2\n==========\n[![Build Status](https://travis-ci.org/mishoo/UglifyJS2.png)](https://travis-ci.org/mishoo/UglifyJS2)\n\nUglifyJS is a JavaScript parser, minifier, compressor or beautifier toolkit.\n\nThis page documents the command line utility. For\n[API and internals documentation see my website](http://lisperator.net/uglifyjs/).\nThere's also an\n[in-browser online demo](http://lisperator.net/uglifyjs/#demo) (for Firefox,\nChrome and probably Safari).\n\nInstall\n-------\n\nFirst make sure you have installed the latest version of [node.js](http://nodejs.org/)\n(You may need to restart your computer after this step).\n\nFrom NPM for use as a command line app:\n\n npm install uglify-js -g\n\nFrom NPM for programmatic use:\n\n npm install uglify-js\n\nFrom Git:\n\n git clone git://github.com/mishoo/UglifyJS2.git\n cd UglifyJS2\n npm link .\n\nUsage\n-----\n\n uglifyjs [input files] [options]\n\nUglifyJS2 can take multiple input files. It's recommended that you pass the\ninput files first, then pass the options. UglifyJS will parse input files\nin sequence and apply any compression options. The files are parsed in the\nsame global scope, that is, a reference from a file to some\nvariable/function declared in another file will be matched properly.\n\nIf you want to read from STDIN instead, pass a single dash instead of input\nfiles.\n\nThe available options are:\n\n --source-map Specify an output file where to generate source map.\n [string]\n --source-map-root The path to the original source to be included in the\n source map. [string]\n --source-map-url The path to the source map to be added in //@\n sourceMappingURL. Defaults to the value passed with\n --source-map. [string]\n --in-source-map Input source map, useful if you're compressing JS that was\n generated from some other original code.\n --screw-ie8 Pass this flag if you don't care about full compliance with\n Internet Explorer 6-8 quirks (by default UglifyJS will try\n to be IE-proof).\n -p, --prefix Skip prefix for original filenames that appear in source\n maps. For example -p 3 will drop 3 directories from file\n names and ensure they are relative paths.\n -o, --output Output file (default STDOUT).\n -b, --beautify Beautify output/specify output options. [string]\n -m, --mangle Mangle names/pass mangler options. [string]\n -r, --reserved Reserved names to exclude from mangling.\n -c, --compress Enable compressor/pass compressor options. Pass options\n like -c hoist_vars=false,if_return=false. Use -c with no\n argument to use the default compression options. [string]\n -d, --define Global definitions [string]\n --comments Preserve copyright comments in the output. By default this\n works like Google Closure, keeping JSDoc-style comments\n that contain \"@license\" or \"@preserve\". You can optionally\n pass one of the following arguments to this flag:\n - \"all\" to keep all comments\n - a valid JS regexp (needs to start with a slash) to keep\n only comments that match.\n Note that currently not *all* comments can be kept when\n compression is on, because of dead code removal or\n cascading statements into sequences. [string]\n --stats Display operations run time on STDERR. [boolean]\n --acorn Use Acorn for parsing. [boolean]\n --spidermonkey Assume input files are SpiderMonkey AST format (as JSON).\n [boolean]\n --self Build itself (UglifyJS2) as a library (implies\n --wrap=UglifyJS --export-all) [boolean]\n --wrap Embed everything in a big function, making the “exports”\n and “global” variables available. You need to pass an\n argument to this option to specify the name that your\n module will take when included in, say, a browser.\n [string]\n --export-all Only used when --wrap, this tells UglifyJS to add code to\n automatically export all globals. [boolean]\n --lint Display some scope warnings [boolean]\n -v, --verbose Verbose [boolean]\n -V, --version Print version number and exit. [boolean]\n\nSpecify `--output` (`-o`) to declare the output file. Otherwise the output\ngoes to STDOUT.\n\n## Source map options\n\nUglifyJS2 can generate a source map file, which is highly useful for\ndebugging your compressed JavaScript. To get a source map, pass\n`--source-map output.js.map` (full path to the file where you want the\nsource map dumped).\n\nAdditionally you might need `--source-map-root` to pass the URL where the\noriginal files can be found. In case you are passing full paths to input\nfiles to UglifyJS, you can use `--prefix` (`-p`) to specify the number of\ndirectories to drop from the path prefix when declaring files in the source\nmap.\n\nFor example:\n\n uglifyjs /home/doe/work/foo/src/js/file1.js \\\n /home/doe/work/foo/src/js/file2.js \\\n -o foo.min.js \\\n --source-map foo.min.js.map \\\n --source-map-root http://foo.com/src \\\n -p 5 -c -m\n\nThe above will compress and mangle `file1.js` and `file2.js`, will drop the\noutput in `foo.min.js` and the source map in `foo.min.js.map`. The source\nmapping will refer to `http://foo.com/src/js/file1.js` and\n`http://foo.com/src/js/file2.js` (in fact it will list `http://foo.com/src`\nas the source map root, and the original files as `js/file1.js` and\n`js/file2.js`).\n\n### Composed source map\n\nWhen you're compressing JS code that was output by a compiler such as\nCoffeeScript, mapping to the JS code won't be too helpful. Instead, you'd\nlike to map back to the original code (i.e. CoffeeScript). UglifyJS has an\noption to take an input source map. Assuming you have a mapping from\nCoffeeScript → compiled JS, UglifyJS can generate a map from CoffeeScript →\ncompressed JS by mapping every token in the compiled JS to its original\nlocation.\n\nTo use this feature you need to pass `--in-source-map\n/path/to/input/source.map`. Normally the input source map should also point\nto the file containing the generated JS, so if that's correct you can omit\ninput files from the command line.\n\n## Mangler options\n\nTo enable the mangler you need to pass `--mangle` (`-m`). The following\n(comma-separated) options are supported:\n\n- `sort` — to assign shorter names to most frequently used variables. This\n saves a few hundred bytes on jQuery before gzip, but the output is\n _bigger_ after gzip (and seems to happen for other libraries I tried it\n on) therefore it's not enabled by default.\n\n- `toplevel` — mangle names declared in the toplevel scope (disabled by\n default).\n\n- `eval` — mangle names visible in scopes where `eval` or `when` are used\n (disabled by default).\n\nWhen mangling is enabled but you want to prevent certain names from being\nmangled, you can declare those names with `--reserved` (`-r`) — pass a\ncomma-separated list of names. For example:\n\n uglifyjs ... -m -r '$,require,exports'\n\nto prevent the `require`, `exports` and `$` names from being changed.\n\n## Compressor options\n\nYou need to pass `--compress` (`-c`) to enable the compressor. Optionally\nyou can pass a comma-separated list of options. Options are in the form\n`foo=bar`, or just `foo` (the latter implies a boolean option that you want\nto set `true`; it's effectively a shortcut for `foo=true`).\n\n- `sequences` -- join consecutive simple statements using the comma operator\n- `properties` -- rewrite property access using the dot notation, for\n example `foo[\"bar\"] → foo.bar`\n- `dead_code` -- remove unreachable code\n- `drop_debugger` -- remove `debugger;` statements\n- `unsafe` (default: false) -- apply \"unsafe\" transformations (discussion below)\n- `conditionals` -- apply optimizations for `if`-s and conditional\n expressions\n- `comparisons` -- apply certain optimizations to binary nodes, for example:\n `!(a <= b) → a > b` (only when `unsafe`), attempts to negate binary nodes,\n e.g. `a = !b && !c && !d && !e → a=!(b||c||d||e)` etc.\n- `evaluate` -- attempt to evaluate constant expressions\n- `booleans` -- various optimizations for boolean context, for example `!!a\n ? b : c → a ? b : c`\n- `loops` -- optimizations for `do`, `while` and `for` loops when we can\n statically determine the condition\n- `unused` -- drop unreferenced functions and variables\n- `hoist_funs` -- hoist function declarations\n- `hoist_vars` (default: false) -- hoist `var` declarations (this is `false`\n by default because it seems to increase the size of the output in general)\n- `if_return` -- optimizations for if/return and if/continue\n- `join_vars` -- join consecutive `var` statements\n- `cascade` -- small optimization for sequences, transform `x, x` into `x`\n and `x = something(), x` into `x = something()`\n- `warnings` -- display warnings when dropping unreachable code or unused\n declarations etc.\n\n### The `unsafe` option\n\nIt enables some transformations that *might* break code logic in certain\ncontrived cases, but should be fine for most code. You might want to try it\non your own code, it should reduce the minified size. Here's what happens\nwhen this flag is on:\n\n- `new Array(1, 2, 3)` or `Array(1, 2, 3)` → `[1, 2, 3 ]`\n- `new Object()` → `{}`\n- `String(exp)` or `exp.toString()` → `\"\" + exp`\n- `new Object/RegExp/Function/Error/Array (...)` → we discard the `new`\n- `typeof foo == \"undefined\"` → `foo === void 0`\n- `void 0` → `\"undefined\"` (if there is a variable named \"undefined\" in\n scope; we do it because the variable name will be mangled, typically\n reduced to a single character).\n\n### Conditional compilation\n\nYou can use the `--define` (`-d`) switch in order to declare global\nvariables that UglifyJS will assume to be constants (unless defined in\nscope). For example if you pass `--define DEBUG=false` then, coupled with\ndead code removal UglifyJS will discard the following from the output:\n```javascript\nif (DEBUG) {\n\tconsole.log(\"debug stuff\");\n}\n```\n\nUglifyJS will warn about the condition being always false and about dropping\nunreachable code; for now there is no option to turn off only this specific\nwarning, you can pass `warnings=false` to turn off *all* warnings.\n\nAnother way of doing that is to declare your globals as constants in a\nseparate file and include it into the build. For example you can have a\n`build/defines.js` file with the following:\n```javascript\nconst DEBUG = false;\nconst PRODUCTION = true;\n// etc.\n```\n\nand build your code like this:\n\n uglifyjs build/defines.js js/foo.js js/bar.js... -c\n\nUglifyJS will notice the constants and, since they cannot be altered, it\nwill evaluate references to them to the value itself and drop unreachable\ncode as usual. The possible downside of this approach is that the build\nwill contain the `const` declarations.\n\n\n## Beautifier options\n\nThe code generator tries to output shortest code possible by default. In\ncase you want beautified output, pass `--beautify` (`-b`). Optionally you\ncan pass additional arguments that control the code output:\n\n- `beautify` (default `true`) -- whether to actually beautify the output.\n Passing `-b` will set this to true, but you might need to pass `-b` even\n when you want to generate minified code, in order to specify additional\n arguments, so you can use `-b beautify=false` to override it.\n- `indent-level` (default 4)\n- `indent-start` (default 0) -- prefix all lines by that many spaces\n- `quote-keys` (default `false`) -- pass `true` to quote all keys in literal\n objects\n- `space-colon` (default `true`) -- insert a space after the colon signs\n- `ascii-only` (default `false`) -- escape Unicode characters in strings and\n regexps\n- `inline-script` (default `false`) -- escape the slash in occurrences of\n `= (x = f(…)) + * + * For example, let the equation be: + * (a = parseInt('100')) <= a + * + * If a was an integer and has the value of 99, + * (a = parseInt('100')) <= a → 100 <= 100 → true + * + * When transformed incorrectly: + * a >= (a = parseInt('100')) → 99 >= 100 → false + */ + +tranformation_sort_order_equal: { + options = { + comparisons: true, + }; + + input: { (a = parseInt('100')) == a } + expect: { (a = parseInt('100')) == a } +} + +tranformation_sort_order_unequal: { + options = { + comparisons: true, + }; + + input: { (a = parseInt('100')) != a } + expect: { (a = parseInt('100')) != a } +} + +tranformation_sort_order_lesser_or_equal: { + options = { + comparisons: true, + }; + + input: { (a = parseInt('100')) <= a } + expect: { (a = parseInt('100')) <= a } +} +tranformation_sort_order_greater_or_equal: { + options = { + comparisons: true, + }; + + input: { (a = parseInt('100')) >= a } + expect: { (a = parseInt('100')) >= a } +} \ No newline at end of file diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/test/compress/issue-22.js b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/test/compress/issue-22.js new file mode 100644 index 0000000..a8b7bc6 --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/test/compress/issue-22.js @@ -0,0 +1,17 @@ +return_with_no_value_in_if_body: { + options = { conditionals: true }; + input: { + function foo(bar) { + if (bar) { + return; + } else { + return 1; + } + } + } + expect: { + function foo (bar) { + return bar ? void 0 : 1; + } + } +} diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/test/compress/issue-44.js b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/test/compress/issue-44.js new file mode 100644 index 0000000..7a972f9 --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/test/compress/issue-44.js @@ -0,0 +1,31 @@ +issue_44_valid_ast_1: { + options = { unused: true }; + input: { + function a(b) { + for (var i = 0, e = b.qoo(); ; i++) {} + } + } + expect: { + function a(b) { + var i = 0; + for (b.qoo(); ; i++); + } + } +} + +issue_44_valid_ast_2: { + options = { unused: true }; + input: { + function a(b) { + if (foo) for (var i = 0, e = b.qoo(); ; i++) {} + } + } + expect: { + function a(b) { + if (foo) { + var i = 0; + for (b.qoo(); ; i++); + } + } + } +} diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/test/compress/issue-59.js b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/test/compress/issue-59.js new file mode 100644 index 0000000..82b3880 --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/test/compress/issue-59.js @@ -0,0 +1,30 @@ +keep_continue: { + options = { + dead_code: true, + evaluate: true + }; + input: { + while (a) { + if (b) { + switch (true) { + case c(): + d(); + } + continue; + } + f(); + } + } + expect: { + while (a) { + if (b) { + switch (true) { + case c(): + d(); + } + continue; + } + f(); + } + } +} diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/test/compress/labels.js b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/test/compress/labels.js new file mode 100644 index 0000000..044b7a7 --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/test/compress/labels.js @@ -0,0 +1,163 @@ +labels_1: { + options = { if_return: true, conditionals: true, dead_code: true }; + input: { + out: { + if (foo) break out; + console.log("bar"); + } + }; + expect: { + foo || console.log("bar"); + } +} + +labels_2: { + options = { if_return: true, conditionals: true, dead_code: true }; + input: { + out: { + if (foo) print("stuff"); + else break out; + console.log("here"); + } + }; + expect: { + if (foo) { + print("stuff"); + console.log("here"); + } + } +} + +labels_3: { + options = { if_return: true, conditionals: true, dead_code: true }; + input: { + for (var i = 0; i < 5; ++i) { + if (i < 3) continue; + console.log(i); + } + }; + expect: { + for (var i = 0; i < 5; ++i) + i < 3 || console.log(i); + } +} + +labels_4: { + options = { if_return: true, conditionals: true, dead_code: true }; + input: { + out: for (var i = 0; i < 5; ++i) { + if (i < 3) continue out; + console.log(i); + } + }; + expect: { + for (var i = 0; i < 5; ++i) + i < 3 || console.log(i); + } +} + +labels_5: { + options = { if_return: true, conditionals: true, dead_code: true }; + // should keep the break-s in the following + input: { + while (foo) { + if (bar) break; + console.log("foo"); + } + out: while (foo) { + if (bar) break out; + console.log("foo"); + } + }; + expect: { + while (foo) { + if (bar) break; + console.log("foo"); + } + out: while (foo) { + if (bar) break out; + console.log("foo"); + } + } +} + +labels_6: { + input: { + out: break out; + }; + expect: {} +} + +labels_7: { + options = { if_return: true, conditionals: true, dead_code: true }; + input: { + while (foo) { + x(); + y(); + continue; + } + }; + expect: { + while (foo) { + x(); + y(); + } + } +} + +labels_8: { + options = { if_return: true, conditionals: true, dead_code: true }; + input: { + while (foo) { + x(); + y(); + break; + } + }; + expect: { + while (foo) { + x(); + y(); + break; + } + } +} + +labels_9: { + options = { if_return: true, conditionals: true, dead_code: true }; + input: { + out: while (foo) { + x(); + y(); + continue out; + z(); + k(); + } + }; + expect: { + while (foo) { + x(); + y(); + } + } +} + +labels_10: { + options = { if_return: true, conditionals: true, dead_code: true }; + input: { + out: while (foo) { + x(); + y(); + break out; + z(); + k(); + } + }; + expect: { + out: while (foo) { + x(); + y(); + break out; + } + } +} diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/test/compress/loops.js b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/test/compress/loops.js new file mode 100644 index 0000000..cdf1f04 --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/test/compress/loops.js @@ -0,0 +1,123 @@ +while_becomes_for: { + options = { loops: true }; + input: { + while (foo()) bar(); + } + expect: { + for (; foo(); ) bar(); + } +} + +drop_if_break_1: { + options = { loops: true }; + input: { + for (;;) + if (foo()) break; + } + expect: { + for (; !foo();); + } +} + +drop_if_break_2: { + options = { loops: true }; + input: { + for (;bar();) + if (foo()) break; + } + expect: { + for (; bar() && !foo();); + } +} + +drop_if_break_3: { + options = { loops: true }; + input: { + for (;bar();) { + if (foo()) break; + stuff1(); + stuff2(); + } + } + expect: { + for (; bar() && !foo();) { + stuff1(); + stuff2(); + } + } +} + +drop_if_break_4: { + options = { loops: true, sequences: true }; + input: { + for (;bar();) { + x(); + y(); + if (foo()) break; + z(); + k(); + } + } + expect: { + for (; bar() && (x(), y(), !foo());) z(), k(); + } +} + +drop_if_else_break_1: { + options = { loops: true }; + input: { + for (;;) if (foo()) bar(); else break; + } + expect: { + for (; foo(); ) bar(); + } +} + +drop_if_else_break_2: { + options = { loops: true }; + input: { + for (;bar();) { + if (foo()) baz(); + else break; + } + } + expect: { + for (; bar() && foo();) baz(); + } +} + +drop_if_else_break_3: { + options = { loops: true }; + input: { + for (;bar();) { + if (foo()) baz(); + else break; + stuff1(); + stuff2(); + } + } + expect: { + for (; bar() && foo();) { + baz(); + stuff1(); + stuff2(); + } + } +} + +drop_if_else_break_4: { + options = { loops: true, sequences: true }; + input: { + for (;bar();) { + x(); + y(); + if (foo()) baz(); + else break; + z(); + k(); + } + } + expect: { + for (; bar() && (x(), y(), foo());) baz(), z(), k(); + } +} diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/test/compress/properties.js b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/test/compress/properties.js new file mode 100644 index 0000000..8504596 --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/test/compress/properties.js @@ -0,0 +1,54 @@ +keep_properties: { + options = { + properties: false + }; + input: { + a["foo"] = "bar"; + } + expect: { + a["foo"] = "bar"; + } +} + +dot_properties: { + options = { + properties: true + }; + input: { + a["foo"] = "bar"; + a["if"] = "if"; + a["*"] = "asterisk"; + a["\u0EB3"] = "unicode"; + a[""] = "whitespace"; + a["1_1"] = "foo"; + } + expect: { + a.foo = "bar"; + a["if"] = "if"; + a["*"] = "asterisk"; + a.\u0EB3 = "unicode"; + a[""] = "whitespace"; + a["1_1"] = "foo"; + } +} + +dot_properties_es5: { + options = { + properties: true, + screw_ie8: true + }; + input: { + a["foo"] = "bar"; + a["if"] = "if"; + a["*"] = "asterisk"; + a["\u0EB3"] = "unicode"; + a[""] = "whitespace"; + } + expect: { + a.foo = "bar"; + a.if = "if"; + a["*"] = "asterisk"; + a.\u0EB3 = "unicode"; + a[""] = "whitespace"; + } +} diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/test/compress/sequences.js b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/test/compress/sequences.js new file mode 100644 index 0000000..6f63ace --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/test/compress/sequences.js @@ -0,0 +1,161 @@ +make_sequences_1: { + options = { + sequences: true + }; + input: { + foo(); + bar(); + baz(); + } + expect: { + foo(),bar(),baz(); + } +} + +make_sequences_2: { + options = { + sequences: true + }; + input: { + if (boo) { + foo(); + bar(); + baz(); + } else { + x(); + y(); + z(); + } + } + expect: { + if (boo) foo(),bar(),baz(); + else x(),y(),z(); + } +} + +make_sequences_3: { + options = { + sequences: true + }; + input: { + function f() { + foo(); + bar(); + return baz(); + } + function g() { + foo(); + bar(); + throw new Error(); + } + } + expect: { + function f() { + return foo(), bar(), baz(); + } + function g() { + throw foo(), bar(), new Error(); + } + } +} + +make_sequences_4: { + options = { + sequences: true + }; + input: { + x = 5; + if (y) z(); + + x = 5; + for (i = 0; i < 5; i++) console.log(i); + + x = 5; + for (; i < 5; i++) console.log(i); + + x = 5; + switch (y) {} + + x = 5; + with (obj) {} + } + expect: { + if (x = 5, y) z(); + for (x = 5, i = 0; i < 5; i++) console.log(i); + for (x = 5; i < 5; i++) console.log(i); + switch (x = 5, y) {} + with (x = 5, obj); + } +} + +lift_sequences_1: { + options = { sequences: true }; + input: { + foo = !(x(), y(), bar()); + } + expect: { + x(), y(), foo = !bar(); + } +} + +lift_sequences_2: { + options = { sequences: true, evaluate: true }; + input: { + q = 1 + (foo(), bar(), 5) + 7 * (5 / (3 - (a(), (QW=ER), c(), 2))) - (x(), y(), 5); + } + expect: { + foo(), bar(), a(), QW = ER, c(), x(), y(), q = 36 + } +} + +lift_sequences_3: { + options = { sequences: true, conditionals: true }; + input: { + x = (foo(), bar(), baz()) ? 10 : 20; + } + expect: { + foo(), bar(), x = baz() ? 10 : 20; + } +} + +lift_sequences_4: { + options = { side_effects: true }; + input: { + x = (foo, bar, baz); + } + expect: { + x = baz; + } +} + +for_sequences: { + options = { sequences: true }; + input: { + // 1 + foo(); + bar(); + for (; false;); + // 2 + foo(); + bar(); + for (x = 5; false;); + // 3 + x = (foo in bar); + for (; false;); + // 4 + x = (foo in bar); + for (y = 5; false;); + } + expect: { + // 1 + for (foo(), bar(); false;); + // 2 + for (foo(), bar(), x = 5; false;); + // 3 + x = (foo in bar); + for (; false;); + // 4 + x = (foo in bar); + for (y = 5; false;); + } +} diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/test/compress/switch.js b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/test/compress/switch.js new file mode 100644 index 0000000..62e39cf --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/test/compress/switch.js @@ -0,0 +1,260 @@ +constant_switch_1: { + options = { dead_code: true, evaluate: true }; + input: { + switch (1+1) { + case 1: foo(); break; + case 1+1: bar(); break; + case 1+1+1: baz(); break; + } + } + expect: { + bar(); + } +} + +constant_switch_2: { + options = { dead_code: true, evaluate: true }; + input: { + switch (1) { + case 1: foo(); + case 1+1: bar(); break; + case 1+1+1: baz(); + } + } + expect: { + foo(); + bar(); + } +} + +constant_switch_3: { + options = { dead_code: true, evaluate: true }; + input: { + switch (10) { + case 1: foo(); + case 1+1: bar(); break; + case 1+1+1: baz(); + default: + def(); + } + } + expect: { + def(); + } +} + +constant_switch_4: { + options = { dead_code: true, evaluate: true }; + input: { + switch (2) { + case 1: + x(); + if (foo) break; + y(); + break; + case 1+1: + bar(); + default: + def(); + } + } + expect: { + bar(); + def(); + } +} + +constant_switch_5: { + options = { dead_code: true, evaluate: true }; + input: { + switch (1) { + case 1: + x(); + if (foo) break; + y(); + break; + case 1+1: + bar(); + default: + def(); + } + } + expect: { + // the break inside the if ruins our job + // we can still get rid of irrelevant cases. + switch (1) { + case 1: + x(); + if (foo) break; + y(); + } + // XXX: we could optimize this better by inventing an outer + // labeled block, but that's kinda tricky. + } +} + +constant_switch_6: { + options = { dead_code: true, evaluate: true }; + input: { + OUT: { + foo(); + switch (1) { + case 1: + x(); + if (foo) break OUT; + y(); + case 1+1: + bar(); + break; + default: + def(); + } + } + } + expect: { + OUT: { + foo(); + x(); + if (foo) break OUT; + y(); + bar(); + } + } +} + +constant_switch_7: { + options = { dead_code: true, evaluate: true }; + input: { + OUT: { + foo(); + switch (1) { + case 1: + x(); + if (foo) break OUT; + for (var x = 0; x < 10; x++) { + if (x > 5) break; // this break refers to the for, not to the switch; thus it + // shouldn't ruin our optimization + console.log(x); + } + y(); + case 1+1: + bar(); + break; + default: + def(); + } + } + } + expect: { + OUT: { + foo(); + x(); + if (foo) break OUT; + for (var x = 0; x < 10; x++) { + if (x > 5) break; + console.log(x); + } + y(); + bar(); + } + } +} + +constant_switch_8: { + options = { dead_code: true, evaluate: true }; + input: { + OUT: switch (1) { + case 1: + x(); + for (;;) break OUT; + y(); + break; + case 1+1: + bar(); + default: + def(); + } + } + expect: { + OUT: { + x(); + for (;;) break OUT; + y(); + } + } +} + +constant_switch_9: { + options = { dead_code: true, evaluate: true }; + input: { + OUT: switch (1) { + case 1: + x(); + for (;;) if (foo) break OUT; + y(); + case 1+1: + bar(); + default: + def(); + } + } + expect: { + OUT: { + x(); + for (;;) if (foo) break OUT; + y(); + bar(); + def(); + } + } +} + +drop_default_1: { + options = { dead_code: true }; + input: { + switch (foo) { + case 'bar': baz(); + default: + } + } + expect: { + switch (foo) { + case 'bar': baz(); + } + } +} + +drop_default_2: { + options = { dead_code: true }; + input: { + switch (foo) { + case 'bar': baz(); break; + default: + break; + } + } + expect: { + switch (foo) { + case 'bar': baz(); + } + } +} + +keep_default: { + options = { dead_code: true }; + input: { + switch (foo) { + case 'bar': baz(); + default: + something(); + break; + } + } + expect: { + switch (foo) { + case 'bar': baz(); + default: + something(); + } + } +} diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/test/compress/typeof.js b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/test/compress/typeof.js new file mode 100644 index 0000000..cefdd43 --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/test/compress/typeof.js @@ -0,0 +1,25 @@ +typeof_evaluation: { + options = { + evaluate: true + }; + input: { + a = typeof 1; + b = typeof 'test'; + c = typeof []; + d = typeof {}; + e = typeof /./; + f = typeof false; + g = typeof function(){}; + h = typeof undefined; + } + expect: { + a='number'; + b='string'; + c=typeof[]; + d=typeof{}; + e=typeof/./; + f='boolean'; + g='function'; + h='undefined'; + } +} diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/test/run-tests.js b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/test/run-tests.js new file mode 100755 index 0000000..0568c6a --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/test/run-tests.js @@ -0,0 +1,170 @@ +#! /usr/bin/env node + +var U = require("../tools/node"); +var path = require("path"); +var fs = require("fs"); +var assert = require("assert"); +var sys = require("util"); + +var tests_dir = path.dirname(module.filename); + +run_compress_tests(); + +/* -----[ utils ]----- */ + +function tmpl() { + return U.string_template.apply(this, arguments); +} + +function log() { + var txt = tmpl.apply(this, arguments); + sys.puts(txt); +} + +function log_directory(dir) { + log("*** Entering [{dir}]", { dir: dir }); +} + +function log_start_file(file) { + log("--- {file}", { file: file }); +} + +function log_test(name) { + log(" Running test [{name}]", { name: name }); +} + +function find_test_files(dir) { + var files = fs.readdirSync(dir).filter(function(name){ + return /\.js$/i.test(name); + }); + if (process.argv.length > 2) { + var x = process.argv.slice(2); + files = files.filter(function(f){ + return x.indexOf(f) >= 0; + }); + } + return files; +} + +function test_directory(dir) { + return path.resolve(tests_dir, dir); +} + +function as_toplevel(input) { + if (input instanceof U.AST_BlockStatement) input = input.body; + else if (input instanceof U.AST_Statement) input = [ input ]; + else throw new Error("Unsupported input syntax"); + var toplevel = new U.AST_Toplevel({ body: input }); + toplevel.figure_out_scope(); + return toplevel; +} + +function run_compress_tests() { + var dir = test_directory("compress"); + log_directory("compress"); + var files = find_test_files(dir); + function test_file(file) { + log_start_file(file); + function test_case(test) { + log_test(test.name); + var options = U.defaults(test.options, { + warnings: false + }); + var cmp = new U.Compressor(options, true); + var expect = make_code(as_toplevel(test.expect), false); + var input = as_toplevel(test.input); + var input_code = make_code(test.input); + var output = input.transform(cmp); + output.figure_out_scope(); + output = make_code(output, false); + if (expect != output) { + log("!!! failed\n---INPUT---\n{input}\n---OUTPUT---\n{output}\n---EXPECTED---\n{expected}\n\n", { + input: input_code, + output: output, + expected: expect + }); + } + } + var tests = parse_test(path.resolve(dir, file)); + for (var i in tests) if (tests.hasOwnProperty(i)) { + test_case(tests[i]); + } + } + files.forEach(function(file){ + test_file(file); + }); +} + +function parse_test(file) { + var script = fs.readFileSync(file, "utf8"); + var ast = U.parse(script, { + filename: file + }); + var tests = {}; + var tw = new U.TreeWalker(function(node, descend){ + if (node instanceof U.AST_LabeledStatement + && tw.parent() instanceof U.AST_Toplevel) { + var name = node.label.name; + tests[name] = get_one_test(name, node.body); + return true; + } + if (!(node instanceof U.AST_Toplevel)) croak(node); + }); + ast.walk(tw); + return tests; + + function croak(node) { + throw new Error(tmpl("Can't understand test file {file} [{line},{col}]\n{code}", { + file: file, + line: node.start.line, + col: node.start.col, + code: make_code(node, false) + })); + } + + function get_one_test(name, block) { + var test = { name: name, options: {} }; + var tw = new U.TreeWalker(function(node, descend){ + if (node instanceof U.AST_Assign) { + if (!(node.left instanceof U.AST_SymbolRef)) { + croak(node); + } + var name = node.left.name; + test[name] = evaluate(node.right); + return true; + } + if (node instanceof U.AST_LabeledStatement) { + assert.ok( + node.label.name == "input" || node.label.name == "expect", + tmpl("Unsupported label {name} [{line},{col}]", { + name: node.label.name, + line: node.label.start.line, + col: node.label.start.col + }) + ); + var stat = node.body; + if (stat instanceof U.AST_BlockStatement) { + if (stat.body.length == 1) stat = stat.body[0]; + else if (stat.body.length == 0) stat = new U.AST_EmptyStatement(); + } + test[node.label.name] = stat; + return true; + } + }); + block.walk(tw); + return test; + }; +} + +function make_code(ast, beautify) { + if (arguments.length == 1) beautify = true; + var stream = U.OutputStream({ beautify: beautify }); + ast.print(stream); + return stream.get(); +} + +function evaluate(code) { + if (code instanceof U.AST_Node) + code = make_code(code); + return new Function("return(" + code + ")")(); +} diff --git a/handlebars-node/node_modules/handlebars/node_modules/uglify-js/tools/node.js b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/tools/node.js new file mode 100644 index 0000000..c0dd3db --- /dev/null +++ b/handlebars-node/node_modules/handlebars/node_modules/uglify-js/tools/node.js @@ -0,0 +1,165 @@ +var path = require("path"); +var fs = require("fs"); +var vm = require("vm"); +var sys = require("util"); + +var UglifyJS = vm.createContext({ + sys : sys, + console : console, + MOZ_SourceMap : require("source-map") +}); + +function load_global(file) { + file = path.resolve(path.dirname(module.filename), file); + try { + var code = fs.readFileSync(file, "utf8"); + return vm.runInContext(code, UglifyJS, file); + } catch(ex) { + // XXX: in case of a syntax error, the message is kinda + // useless. (no location information). + sys.debug("ERROR in file: " + file + " / " + ex); + process.exit(1); + } +}; + +var FILES = exports.FILES = [ + "../lib/utils.js", + "../lib/ast.js", + "../lib/parse.js", + "../lib/transform.js", + "../lib/scope.js", + "../lib/output.js", + "../lib/compress.js", + "../lib/sourcemap.js", + "../lib/mozilla-ast.js" +].map(function(file){ + return path.join(path.dirname(fs.realpathSync(__filename)), file); +}); + +FILES.forEach(load_global); + +UglifyJS.AST_Node.warn_function = function(txt) { + sys.error("WARN: " + txt); +}; + +// XXX: perhaps we shouldn't export everything but heck, I'm lazy. +for (var i in UglifyJS) { + if (UglifyJS.hasOwnProperty(i)) { + exports[i] = UglifyJS[i]; + } +} + +exports.minify = function(files, options) { + options = UglifyJS.defaults(options, { + outSourceMap : null, + sourceRoot : null, + inSourceMap : null, + fromString : false, + warnings : false, + mangle : {}, + output : null, + compress : {} + }); + if (typeof files == "string") + files = [ files ]; + + // 1. parse + var toplevel = null; + files.forEach(function(file){ + var code = options.fromString + ? file + : fs.readFileSync(file, "utf8"); + toplevel = UglifyJS.parse(code, { + filename: options.fromString ? "?" : file, + toplevel: toplevel + }); + }); + + // 2. compress + if (options.compress) { + var compress = { warnings: options.warnings }; + UglifyJS.merge(compress, options.compress); + toplevel.figure_out_scope(); + var sq = UglifyJS.Compressor(compress); + toplevel = toplevel.transform(sq); + } + + // 3. mangle + if (options.mangle) { + toplevel.figure_out_scope(); + toplevel.compute_char_frequency(); + toplevel.mangle_names(options.mangle); + } + + // 4. output + var inMap = options.inSourceMap; + var output = {}; + if (typeof options.inSourceMap == "string") { + inMap = fs.readFileSync(options.inSourceMap, "utf8"); + } + if (options.outSourceMap) { + output.source_map = UglifyJS.SourceMap({ + file: options.outSourceMap, + orig: inMap, + root: options.sourceRoot + }); + } + if (options.output) { + UglifyJS.merge(output, options.output); + } + var stream = UglifyJS.OutputStream(output); + toplevel.print(stream); + return { + code : stream + "", + map : output.source_map + "" + }; +}; + +// exports.describe_ast = function() { +// function doitem(ctor) { +// var sub = {}; +// ctor.SUBCLASSES.forEach(function(ctor){ +// sub[ctor.TYPE] = doitem(ctor); +// }); +// var ret = {}; +// if (ctor.SELF_PROPS.length > 0) ret.props = ctor.SELF_PROPS; +// if (ctor.SUBCLASSES.length > 0) ret.sub = sub; +// return ret; +// } +// return doitem(UglifyJS.AST_Node).sub; +// } + +exports.describe_ast = function() { + var out = UglifyJS.OutputStream({ beautify: true }); + function doitem(ctor) { + out.print("AST_" + ctor.TYPE); + var props = ctor.SELF_PROPS.filter(function(prop){ + return !/^\$/.test(prop); + }); + if (props.length > 0) { + out.space(); + out.with_parens(function(){ + props.forEach(function(prop, i){ + if (i) out.space(); + out.print(prop); + }); + }); + } + if (ctor.documentation) { + out.space(); + out.print_string(ctor.documentation); + } + if (ctor.SUBCLASSES.length > 0) { + out.space(); + out.with_block(function(){ + ctor.SUBCLASSES.forEach(function(ctor, i){ + out.indent(); + doitem(ctor); + out.newline(); + }); + }); + } + }; + doitem(UglifyJS.AST_Node); + return out + ""; +}; diff --git a/handlebars-node/node_modules/handlebars/package.json b/handlebars-node/node_modules/handlebars/package.json new file mode 100644 index 0000000..b38b7e7 --- /dev/null +++ b/handlebars-node/node_modules/handlebars/package.json @@ -0,0 +1,74 @@ +{ + "name": "handlebars", + "barename": "handlebars", + "version": "1.3.0", + "description": "Handlebars provides the power necessary to let you build semantic templates effectively with no frustration", + "homepage": "http://www.handlebarsjs.com/", + "keywords": [ + "handlebars", + "mustache", + "template", + "html" + ], + "repository": { + "type": "git", + "url": "https://github.com/wycats/handlebars.js.git" + }, + "author": { + "name": "Yehuda Katz" + }, + "license": "MIT", + "readmeFilename": "README.markdown", + "engines": { + "node": ">=0.4.7" + }, + "dependencies": { + "optimist": "~0.3", + "uglify-js": "~2.3" + }, + "optionalDependencies": { + "uglify-js": "~2.3" + }, + "devDependencies": { + "async": "~0.2.9", + "aws-sdk": "~1.5.0", + "benchmark": "~1.0", + "dustjs-linkedin": "~2.0.2", + "eco": "~1.1.0-rc-3", + "grunt": "~0.4.1", + "grunt-cli": "~0.1.10", + "grunt-contrib-clean": "~0.4.1", + "grunt-contrib-concat": "~0.3.0", + "grunt-contrib-connect": "~0.5.0", + "grunt-contrib-copy": "~0.4.1", + "grunt-contrib-jshint": "0.x", + "grunt-contrib-requirejs": "~0.4.1", + "grunt-contrib-uglify": "~0.2.2", + "grunt-contrib-watch": "~0.5.3", + "grunt-saucelabs": "~4.1.2", + "es6-module-packager": "0.x", + "jison": "~0.3.0", + "keen.io": "0.0.3", + "mocha": "*", + "mustache": "~0.7.2", + "semver": "~2.1.0", + "underscore": "~1.5.1" + }, + "main": "lib/index.js", + "bin": { + "handlebars": "bin/handlebars" + }, + "scripts": { + "test": "grunt" + }, + "readme": "[![Travis Build Status](https://travis-ci.org/wycats/handlebars.js.png?branch=master)](https://travis-ci.org/wycats/handlebars.js)\n[![Selenium Test Status](https://saucelabs.com/buildstatus/handlebars)](https://saucelabs.com/u/handlebars)\n\nHandlebars.js\n=============\n\nHandlebars.js is an extension to the [Mustache templating\nlanguage](http://mustache.github.com/) created by Chris Wanstrath.\nHandlebars.js and Mustache are both logicless templating languages that\nkeep the view and the code separated like we all know they should be.\n\nCheckout the official Handlebars docs site at\n[http://www.handlebarsjs.com](http://www.handlebarsjs.com).\n\nInstalling\n----------\nInstalling Handlebars is easy. Simply download the package [from the official site](http://handlebarsjs.com/) or the [bower repository][bower-repo] and add it to your web pages (you should usually use the most recent version).\n\nAlternatively, if you prefer having the latest version of handlebars from\nthe 'master' branch, passing builds of the 'master' branch are automatically\npublished to S3. You may download the latest passing master build by grabbing\na `handlebars-latest.js` file from the [builds page][builds-page]. When the\nbuild is published, it is also available as a `handlebars-gitSHA.js` file on\nthe builds page if you need a version to refer to others.\n`handlebars-runtime.js` builds are also available.\n\n**Note**: The S3 builds page is provided as a convenience for the community,\nbut you should not use it for hosting Handlebars in production.\n\nUsage\n-----\nIn general, the syntax of Handlebars.js templates is a superset\nof Mustache templates. For basic syntax, check out the [Mustache\nmanpage](http://mustache.github.com/mustache.5.html).\n\nOnce you have a template, use the `Handlebars.compile` method to compile\nthe template into a function. The generated function takes a context\nargument, which will be used to render the template.\n\n```js\nvar source = \"

Hello, my name is {{name}}. I am from {{hometown}}. I have \" +\n \"{{kids.length}} kids:

\" +\n \"\";\nvar template = Handlebars.compile(source);\n\nvar data = { \"name\": \"Alan\", \"hometown\": \"Somewhere, TX\",\n \"kids\": [{\"name\": \"Jimmy\", \"age\": \"12\"}, {\"name\": \"Sally\", \"age\": \"4\"}]};\nvar result = template(data);\n\n// Would render:\n//

Hello, my name is Alan. I am from Somewhere, TX. I have 2 kids:

\n// \n```\n\n\nRegistering Helpers\n-------------------\n\nYou can register helpers that Handlebars will use when evaluating your\ntemplate. Here's an example, which assumes that your objects have a URL\nembedded in them, as well as the text for a link:\n\n```js\nHandlebars.registerHelper('link_to', function() {\n return \"\" + this.body + \"\";\n});\n\nvar context = { posts: [{url: \"/hello-world\", body: \"Hello World!\"}] };\nvar source = \"\"\n\nvar template = Handlebars.compile(source);\ntemplate(context);\n\n// Would render:\n//\n// \n```\n\nHelpers take precedence over fields defined on the context. To access a field\nthat is masked by a helper, a path reference may be used. In the example above\na field named `link_to` on the `context` object would be referenced using:\n\n```\n{{./link_to}}\n```\n\nEscaping\n--------\n\nBy default, the `{{expression}}` syntax will escape its contents. This\nhelps to protect you against accidental XSS problems caused by malicious\ndata passed from the server as JSON.\n\nTo explicitly *not* escape the contents, use the triple-mustache\n(`{{{}}}`). You have seen this used in the above example.\n\n\nDifferences Between Handlebars.js and Mustache\n----------------------------------------------\nHandlebars.js adds a couple of additional features to make writing\ntemplates easier and also changes a tiny detail of how partials work.\n\n### Paths\n\nHandlebars.js supports an extended expression syntax that we call paths.\nPaths are made up of typical expressions and . characters. Expressions\nallow you to not only display data from the current context, but to\ndisplay data from contexts that are descendants and ancestors of the\ncurrent context.\n\nTo display data from descendant contexts, use the `.` character. So, for\nexample, if your data were structured like:\n\n```js\nvar data = {\"person\": { \"name\": \"Alan\" }, \"company\": {\"name\": \"Rad, Inc.\" } };\n```\n\nYou could display the person's name from the top-level context with the\nfollowing expression:\n\n```\n{{person.name}}\n```\n\nYou can backtrack using `../`. For example, if you've already traversed\ninto the person object you could still display the company's name with\nan expression like `{{../company.name}}`, so:\n\n```\n{{#person}}{{name}} - {{../company.name}}{{/person}}\n```\n\nwould render:\n\n```\nAlan - Rad, Inc.\n```\n\n### Strings\n\nWhen calling a helper, you can pass paths or Strings as parameters. For\ninstance:\n\n```js\nHandlebars.registerHelper('link_to', function(title, options) {\n return \"\" + title + \"!\"\n});\n\nvar context = { posts: [{url: \"/hello-world\", body: \"Hello World!\"}] };\nvar source = ''\n\nvar template = Handlebars.compile(source);\ntemplate(context);\n\n// Would render:\n//\n// \n```\n\nWhen you pass a String as a parameter to a helper, the literal String\ngets passed to the helper function.\n\n\n### Block Helpers\n\nHandlebars.js also adds the ability to define block helpers. Block\nhelpers are functions that can be called from anywhere in the template.\nHere's an example:\n\n```js\nvar source = \"\";\nHandlebars.registerHelper('link', function(options) {\n return '' + options.fn(this) + '';\n});\nvar template = Handlebars.compile(source);\n\nvar data = { \"people\": [\n { \"name\": \"Alan\", \"id\": 1 },\n { \"name\": \"Yehuda\", \"id\": 2 }\n ]};\ntemplate(data);\n\n// Should render:\n// \n```\n\nWhenever the block helper is called it is given one or more parameters,\nany arguments that are passed in the helper in the call and an `options`\nobject containing the `fn` function which executes the block's child.\nThe block's current context may be accessed through `this`.\n\nBlock helpers have the same syntax as mustache sections but should not be\nconfused with one another. Sections are akin to an implicit `each` or\n`with` statement depending on the input data and helpers are explicit\npieces of code that are free to implement whatever behavior they like.\nThe [mustache spec](http://mustache.github.io/mustache.5.html)\ndefines the exact behavior of sections. In the case of name conflicts,\nhelpers are given priority.\n\n### Partials\n\nYou can register additional templates as partials, which will be used by\nHandlebars when it encounters a partial (`{{> partialName}}`). Partials\ncan either be String templates or compiled template functions. Here's an\nexample:\n\n```js\nvar source = \"\";\n\nHandlebars.registerPartial('link', '{{name}}')\nvar template = Handlebars.compile(source);\n\nvar data = { \"people\": [\n { \"name\": \"Alan\", \"id\": 1 },\n { \"name\": \"Yehuda\", \"id\": 2 }\n ]};\n\ntemplate(data);\n\n// Should render:\n// \n```\n\n### Comments\n\nYou can add comments to your templates with the following syntax:\n\n```js\n{{! This is a comment }}\n```\n\nYou can also use real html comments if you want them to end up in the output.\n\n```html\n
\n {{! This comment will not end up in the output }}\n \n
\n```\n\n\nPrecompiling Templates\n----------------------\n\nHandlebars allows templates to be precompiled and included as javascript\ncode rather than the handlebars template allowing for faster startup time.\n\n### Installation\nThe precompiler script may be installed via npm using the `npm install -g handlebars`\ncommand.\n\n### Usage\n\n
\nPrecompile handlebar templates.\nUsage: handlebars template...\n\nOptions:\n  -a, --amd            Create an AMD format function (allows loading with RequireJS)          [boolean]\n  -f, --output         Output File                                                            [string]\n  -k, --known          Known helpers                                                          [string]\n  -o, --knownOnly      Known helpers only                                                     [boolean]\n  -m, --min            Minimize output                                                        [boolean]\n  -s, --simple         Output template function only.                                         [boolean]\n  -r, --root           Template root. Base value that will be stripped from template names.   [string]\n  -c, --commonjs       Exports CommonJS style, path to Handlebars module                      [string]\n  -h, --handlebarPath  Path to handlebar.js (only valid for amd-style)                        [string]\n  -n, --namespace      Template namespace                                                     [string]\n  -p, --partial        Compiling a partial template                                           [boolean]\n  -d, --data           Include data when compiling                                            [boolean]\n  -e, --extension      Template extension.                                                    [string]\n  -b, --bom            Removes the BOM (Byte Order Mark) from the beginning of the templates. [boolean]\n
\n\nIf using the precompiler's normal mode, the resulting templates will be\nstored to the `Handlebars.templates` object using the relative template\nname sans the extension. These templates may be executed in the same\nmanner as templates.\n\nIf using the simple mode the precompiler will generate a single\njavascript method. To execute this method it must be passed to the using\nthe `Handlebars.template` method and the resulting object may be as\nnormal.\n\n### Optimizations\n\n- Rather than using the full _handlebars.js_ library, implementations that\n do not need to compile templates at runtime may include _handlebars.runtime.js_\n whose min+gzip size is approximately 1k.\n- If a helper is known to exist in the target environment they may be defined\n using the `--known name` argument may be used to optimize accesses to these\n helpers for size and speed.\n- When all helpers are known in advance the `--knownOnly` argument may be used\n to optimize all block helper references.\n- Implementations that do not use `@data` variables can improve performance of\n iteration centric templates by specifying `{data: false}` in the compiler options.\n\nSupported Environments\n----------------------\n\nHandlebars has been designed to work in any ECMAScript 3 environment. This includes\n\n- Node.js\n- Chrome\n- Firefox\n- Safari 5+\n- Opera 11+\n- IE 6+\n\nOlder versions and other runtimes are likely to work but have not been formally\ntested.\n\n[![Selenium Test Status](https://saucelabs.com/browser-matrix/handlebars.svg)](https://saucelabs.com/u/handlebars)\n\nPerformance\n-----------\n\nIn a rough performance test, precompiled Handlebars.js templates (in\nthe original version of Handlebars.js) rendered in about half the\ntime of Mustache templates. It would be a shame if it were any other\nway, since they were precompiled, but the difference in architecture\ndoes have some big performance advantages. Justin Marney, a.k.a.\n[gotascii](http://github.com/gotascii), confirmed that with an\n[independent test](http://sorescode.com/2010/09/12/benchmarks.html). The\nrewritten Handlebars (current version) is faster than the old version,\nand we will have some benchmarks in the near future.\n\n\nBuilding\n--------\n\nTo build handlebars, just run `grunt build`, and the build will output to the `dist` directory.\n\n\nUpgrading\n---------\n\nSee [release-notes.md](https://github.com/wycats/handlebars.js/blob/master/release-notes.md) for upgrade notes.\n\nKnown Issues\n------------\n* Handlebars.js can be cryptic when there's an error while rendering.\n* Using a variable, helper, or partial named `class` causes errors in IE browsers. (Instead, use `className`)\n\nHandlebars in the Wild\n----------------------\n\n* [Assemble](http://assemble.io), by [@jonschlinkert](https://github.com/jonschlinkert)\n and [@doowb](https://github.com/doowb), is a static site generator that uses Handlebars.js\n as its template engine.\n* [CoSchedule](http://coschedule.com) An editorial calendar for WordPress that uses Handlebars.js\n* [Ember.js](http://www.emberjs.com) makes Handlebars.js the primary way to\n structure your views, also with automatic data binding support.\n* [Ghost](https://ghost.org/) Just a blogging platform.\n* [handlebars_assets](http://github.com/leshill/handlebars_assets): A Rails Asset Pipeline gem\n from Les Hill (@leshill).\n* [handlebars-helpers](https://github.com/assemble/handlebars-helpers) is an extensive library\n with 100+ handlebars helpers.\n* [hbs](http://github.com/donpark/hbs): An Express.js view engine adapter for Handlebars.js,\n from Don Park.\n* [jblotus](http://github.com/jblotus) created [http://tryhandlebarsjs.com](http://tryhandlebarsjs.com)\n for anyone who would like to try out Handlebars.js in their browser.\n* [jQuery plugin](http://71104.github.io/jquery-handlebars/): allows you to use\n Handlebars.js with [jQuery](http://jquery.com/).\n* [Lumbar](http://walmartlabs.github.io/lumbar) provides easy module-based template management for\n handlebars projects.\n* [sammy.js](http://github.com/quirkey/sammy) by Aaron Quint, a.k.a. quirkey,\n supports Handlebars.js as one of its template plugins.\n* [SproutCore](http://www.sproutcore.com) uses Handlebars.js as its main\n templating engine, extending it with automatic data binding support.\n* [YUI](http://yuilibrary.com/yui/docs/handlebars/) implements a port of handlebars\n* [Swag](https://github.com/elving/swag) by [@elving](https://github.com/elving) is a growing collection of helpers for handlebars.js. Give your handlebars.js templates some swag son!\n* [DOMBars](https://github.com/blakeembrey/dombars) is a DOM-based templating engine built on the Handlebars parser and runtime\n\nExternal Resources\n------------------\n\n* [Gist about Synchronous and asynchronous loading of external handlebars templates](https://gist.github.com/2287070)\n\nHave a project using Handlebars? Send us a [pull request][pull-request]!\n\nHelping Out\n-----------\n\nTo build Handlebars.js you'll need a few things installed.\n\n* Node.js\n* [Grunt](http://gruntjs.com/getting-started)\n\nProject dependencies may be installed via `npm install`.\n\nTo build Handlebars.js from scratch, you'll want to run `grunt`\nin the root of the project. That will build Handlebars and output the\nresults to the dist/ folder. To re-run tests, run `grunt test` or `npm test`.\nYou can also run our set of benchmarks with `grunt bench`.\n\nThe `grunt dev` implements watching for tests and allows for in browser testing at `http://localhost:9999/spec/`.\n\nIf you notice any problems, please report them to the GitHub issue tracker at\n[http://github.com/wycats/handlebars.js/issues](http://github.com/wycats/handlebars.js/issues).\nFeel free to contact commondream or wycats through GitHub with any other\nquestions or feature requests. To submit changes fork the project and\nsend a pull request.\n\n### Ember testing\n\nThe current ember distribution should be tested as part of the handlebars release process. This requires building the `handlebars-source` gem locally and then executing the ember test script.\n\n```sh\ngrunt build release\nexport HANDLEBARS_PATH=`pwd`\n\ncd $emberRepoDir\nbundle exec rake clean\nbundle exec rake test\n```\n\n### Releasing\n\nHandlebars utilizes the [release yeoman generator][generator-release] to perform most release tasks.\n\nA full release may be completed with the following:\n\n```\nyo release:notes patch\nyo release:release patch\nnpm publish\nyo release:publish cdnjs handlebars.js dist/cdnjs/\nyo release:publish components handlebars.js dist/components/\n\ncd dist/components/\ngem build handlebars-source.gemspec\ngem push handlebars-source-*.gem\n```\n\nAfter this point the handlebars site needs to be updated to point to the new version numbers.\n\nLicense\n-------\nHandlebars.js is released under the MIT license.\n\n[bower-repo]: https://github.com/components/handlebars.js\n[builds-page]: http://builds.handlebarsjs.com.s3.amazonaws.com/bucket-listing.html?sort=lastmod&sortdir=desc\n[generator-release]: https://github.com/walmartlabs/generator-release\n[pull-request]: https://github.com/wycats/handlebars.js/pull/new/master\n", + "bugs": { + "url": "https://github.com/wycats/handlebars.js/issues" + }, + "_id": "handlebars@1.3.0", + "dist": { + "shasum": "80e2bb7a7c0b76e75a254daf09882bfb2b3b597f" + }, + "_from": "handlebars@x.x.x", + "_resolved": "https://registry.npmjs.org/handlebars/-/handlebars-1.3.0.tgz" +} diff --git a/handlebars-node/node_modules/handlebars/release-notes.md b/handlebars-node/node_modules/handlebars/release-notes.md new file mode 100644 index 0000000..3f0fac9 --- /dev/null +++ b/handlebars-node/node_modules/handlebars/release-notes.md @@ -0,0 +1,193 @@ +# Release Notes + +## Development + +[Commits](https://github.com/wycats/handlebars.js/compare/v1.3.0...master) + +## v1.3.0 - January 1st, 2014 +- [#690](https://github.com/wycats/handlebars.js/pull/690) - Added support for subexpressions ([@machty](https://api.github.com/users/machty)) +- [#696](https://github.com/wycats/handlebars.js/pull/696) - Fix for reserved keyword "default" ([@nateirwin](https://api.github.com/users/nateirwin)) +- [#692](https://github.com/wycats/handlebars.js/pull/692) - add line numbers to nodes when parsing ([@fivetanley](https://api.github.com/users/fivetanley)) +- [#695](https://github.com/wycats/handlebars.js/pull/695) - Pull options out from param setup to allow easier extension ([@blakeembrey](https://api.github.com/users/blakeembrey)) +- [#694](https://github.com/wycats/handlebars.js/pull/694) - Make the environment reusable ([@blakeembrey](https://api.github.com/users/blakeembrey)) +- [#636](https://github.com/wycats/handlebars.js/issues/636) - Print line and column of errors ([@sgronblo](https://api.github.com/users/sgronblo)) +- Use literal for data lookup - c1a93d3 +- Add stack handling sanity checks - cd885bf +- Fix stack id "leak" on replaceStack - ddfe457 +- Fix incorrect stack pop when replacing literals - f4d337d + +[Commits](https://github.com/wycats/handlebars.js/compare/v1.2.1...v1.3.0) + +## v1.2.1 - December 26th, 2013 +- [#684](https://github.com/wycats/handlebars.js/pull/684) - Allow any number of trailing characters for valid JavaScript variable ([@blakeembrey](https://api.github.com/users/blakeembrey)) +- [#686](https://github.com/wycats/handlebars.js/pull/686) - Falsy AMD module names in version 1.2.0 ([@kpdecker](https://api.github.com/users/kpdecker)) + +[Commits](https://github.com/wycats/handlebars.js/compare/v1.2.0...v1.2.1) + +## v1.2.0 - December 23rd, 2013 +- [#675](https://github.com/wycats/handlebars.js/issues/675) - Cannot compile empty template for partial ([@erwinw](https://api.github.com/users/erwinw)) +- [#677](https://github.com/wycats/handlebars.js/issues/677) - Triple brace statements fail under IE ([@hamzaCM](https://api.github.com/users/hamzaCM)) +- [#655](https://github.com/wycats/handlebars.js/issues/655) - Loading Handlebars using bower ([@niki4810](https://api.github.com/users/niki4810)) +- [#657](https://github.com/wycats/handlebars.js/pull/657) - Fixes issue where cli compiles non handlebars templates ([@chrishoage](https://api.github.com/users/chrishoage)) +- [#681](https://github.com/wycats/handlebars.js/pull/681) - Adds in-browser testing and Saucelabs CI ([@kpdecker](https://api.github.com/users/kpdecker)) +- [#661](https://github.com/wycats/handlebars.js/pull/661) - Add @first and @index to #each object iteration ([@cgp](https://api.github.com/users/cgp)) +- [#650](https://github.com/wycats/handlebars.js/pull/650) - Handlebars is MIT-licensed ([@thomasboyt](https://api.github.com/users/thomasboyt)) +- [#641](https://github.com/wycats/handlebars.js/pull/641) - Document ember testing process ([@kpdecker](https://api.github.com/users/kpdecker)) +- [#662](https://github.com/wycats/handlebars.js/issues/662) - handlebars-source 1.1.2 is missing from RubyGems. +- [#656](https://github.com/wycats/handlebars.js/issues/656) - Expose COMPILER_REVISION checks as a hook ([@machty](https://api.github.com/users/machty)) +- [#668](https://github.com/wycats/handlebars.js/issues/668) - Consider publishing handlebars-runtime as a separate module on npm ([@dlmanning](https://api.github.com/users/dlmanning)) +- [#679](https://github.com/wycats/handlebars.js/issues/679) - Unable to override invokePartial ([@mattbrailsford](https://api.github.com/users/mattbrailsford)) +- [#646](https://github.com/wycats/handlebars.js/pull/646) - Fix "\\{{" immediately following "\{{" ([@dmarcotte](https://api.github.com/users/dmarcotte)) +- Allow extend to work with non-prototyped objects - eb53f2e +- Add JavascriptCompiler public API tests - 1a751b2 +- Add AST test coverage for more complex paths - ddea5be +- Fix handling of boolean escape in MustacheNode - b4968bb + +Compatibility notes: +- `@index` and `@first` are now supported for `each` iteration on objects +- `Handlebars.VM.checkRevision` and `Handlebars.JavaScriptCompiler.prototype.compilerInfo` now available to modify the version checking behavior. +- Browserify users may link to the runtime library via `require('handlebars/runtime')` + +[Commits](https://github.com/wycats/handlebars.js/compare/v1.1.2...v1.2.0) + +## v1.1.2 - November 5th, 2013 + +- [#645](https://github.com/wycats/handlebars.js/issues/645) - 1.1.1 fails under IE8 ([@kpdecker](https://api.github.com/users/kpdecker)) +- [#644](https://github.com/wycats/handlebars.js/issues/644) - Using precompiled templates (AMD mode) with handlebars.runtime 1.1.1 ([@fddima](https://api.github.com/users/fddima)) + +- Add simple binary utility tests - 96a45a4 +- Fix empty string compilation - eea708a + +[Commits](https://github.com/wycats/handlebars.js/compare/v1.1.1...v1.1.2) + +## v1.1.1 - November 4th, 2013 + +- [#642](https://github.com/wycats/handlebars.js/issues/642) - handlebars 1.1.0 are broken with nodejs + +- Fix release notes link - 17ba258 + +[Commits](https://github.com/wycats/handlebars.js/compare/v1.1.0...v1.1.1) + +## v1.1.0 - November 3rd, 2013 + +- [#628](https://github.com/wycats/handlebars.js/pull/628) - Convert code to ES6 modules ([@kpdecker](https://api.github.com/users/kpdecker)) +- [#336](https://github.com/wycats/handlebars.js/pull/336) - Add whitespace control syntax ([@kpdecker](https://api.github.com/users/kpdecker)) +- [#535](https://github.com/wycats/handlebars.js/pull/535) - Fix for probable JIT error under Safari ([@sorentwo](https://api.github.com/users/sorentwo)) +- [#483](https://github.com/wycats/handlebars.js/issues/483) - Add first and last @ vars to each helper ([@denniskuczynski](https://api.github.com/users/denniskuczynski)) +- [#557](https://github.com/wycats/handlebars.js/pull/557) - `\\{{foo}}` escaping only works in some situations ([@dmarcotte](https://api.github.com/users/dmarcotte)) +- [#552](https://github.com/wycats/handlebars.js/pull/552) - Added BOM removal flag. ([@blessenm](https://api.github.com/users/blessenm)) +- [#543](https://github.com/wycats/handlebars.js/pull/543) - publish passing master builds to s3 ([@fivetanley](https://api.github.com/users/fivetanley)) + +- [#608](https://github.com/wycats/handlebars.js/issues/608) - Add `includeZero` flag to `if` conditional +- [#498](https://github.com/wycats/handlebars.js/issues/498) - `Handlebars.compile` fails on empty string although a single blank works fine +- [#599](https://github.com/wycats/handlebars.js/issues/599) - lambda helpers only receive options if used with arguments +- [#592](https://github.com/wycats/handlebars.js/issues/592) - Optimize array and subprogram performance +- [#571](https://github.com/wycats/handlebars.js/issues/571) - uglify upgrade breaks compatibility with older versions of node +- [#587](https://github.com/wycats/handlebars.js/issues/587) - Partial inside partial breaks? + + +Compatibility notes: +- The project now includes separate artifacts for AMD, CommonJS, and global objects. + - AMD: Users may load the bundled `handlebars.amd.js` or `handlebars.runtime.amd.js` files or load individual modules directly. AMD users should also note that the handlebars object is exposed via the `default` field on the imported object. This [gist](https://gist.github.com/wycats/7417be0dc361a69d5916) provides some discussion of possible compatibility shims. + - CommonJS/Node: Node loading occurs as normal via `require` + - Globals: The `handlebars.js` and `handlebars.runtime.js` files should behave in the same manner as the v1.0.12 / 1.0.0 release. +- Build artifacts have been removed from the repository. [npm][npm], [components/handlebars.js][components], [cdnjs][cdnjs], or the [builds page][builds-page] should now be used as the source of built artifacts. +- Context-stored helpers are now always passed the `options` hash. Previously no-argument helpers did not have this argument. + + +[Commits](https://github.com/wycats/handlebars.js/compare/v1.0.12...v1.1.0) + +## v1.0.12 / 1.0.0 - May 31 2013 + +- [#515](https://github.com/wycats/handlebars.js/issues/515) - Add node require extensions support ([@jjclark1982](https://github.com/jjclark1982)) +- [#517](https://github.com/wycats/handlebars.js/issues/517) - Fix amd precompiler output with directories ([@blessenm](https://github.com/blessenm)) +- [#433](https://github.com/wycats/handlebars.js/issues/433) - Add support for unicode ids +- [#469](https://github.com/wycats/handlebars.js/issues/469) - Add support for `?` in ids +- [#534](https://github.com/wycats/handlebars.js/issues/534) - Protect from object prototype modifications +- [#519](https://github.com/wycats/handlebars.js/issues/519) - Fix partials with . name ([@jamesgorrie](https://github.com/jamesgorrie)) +- [#519](https://github.com/wycats/handlebars.js/issues/519) - Allow ID or strings in partial names +- [#437](https://github.com/wycats/handlebars.js/issues/437) - Require matching brace counts in escaped expressions +- Merge passed partials and helpers with global namespace values +- Add support for complex ids in @data references +- Docs updates + +Compatibility notes: +- The parser is now stricter on `{{{`, requiring that the end token be `}}}`. Templates that do not + follow this convention should add the additional brace value. +- Code that relies on global the namespace being muted when custom helpers or partials are passed will need to explicitly pass an `undefined` value for any helpers that should not be available. +- The compiler version has changed. Precompiled templates with 1.0.12 or higher must use the 1.0.0 or higher runtime. + +[Commits](https://github.com/wycats/handlebars.js/compare/v1.0.11...v1.0.12) + +## v1.0.11 / 1.0.0-rc4 - May 13 2013 + +- [#458](https://github.com/wycats/handlebars.js/issues/458) - Fix `./foo` syntax ([@jpfiset](https://github.com/jpfiset)) +- [#460](https://github.com/wycats/handlebars.js/issues/460) - Allow `:` in unescaped identifers ([@jpfiset](https://github.com/jpfiset)) +- [#471](https://github.com/wycats/handlebars.js/issues/471) - Create release notes (These!) +- [#456](https://github.com/wycats/handlebars.js/issues/456) - Allow escaping of `\\` +- [#211](https://github.com/wycats/handlebars.js/issues/211) - Fix exception in `escapeExpression` +- [#375](https://github.com/wycats/handlebars.js/issues/375) - Escape unicode newlines +- [#461](https://github.com/wycats/handlebars.js/issues/461) - Do not fail when compiling `""` +- [#302](https://github.com/wycats/handlebars.js/issues/302) - Fix sanity check in knownHelpersOnly mode +- [#369](https://github.com/wycats/handlebars.js/issues/369) - Allow registration of multiple helpers and partial by passing definition object +- Add bower package declaration ([@DevinClark](https://github.com/DevinClark)) +- Add NuSpec package declaration ([@MikeMayer](https://github.com/MikeMayer)) +- Handle empty context in `with` ([@thejohnfreeman](https://github.com/thejohnfreeman)) +- Support custom template extensions in CLI ([@matteoagosti](https://github.com/matteoagosti)) +- Fix Rhino support ([@broady](https://github.com/broady)) +- Include contexts in string mode ([@leshill](https://github.com/leshill)) +- Return precompiled scripts when compiling to AMD ([@JamesMaroney](https://github.com/JamesMaroney)) +- Docs updates ([@iangreenleaf](https://github.com/iangreenleaf), [@gilesbowkett](https://github.com/gilesbowkett), [@utkarsh2012](https://github.com/utkarsh2012)) +- Fix `toString` handling under IE and browserify ([@tommydudebreaux](https://github.com/tommydudebreaux)) +- Add program metadata + +[Commits](https://github.com/wycats/handlebars.js/compare/v1.0.10...v1.0.11) + +## v1.0.10 - Node - Feb 27 2013 + +- [#428](https://github.com/wycats/handlebars.js/issues/428) - Fix incorrect rendering of nested programs +- Fix exception message ([@tricknotes](https://github.com/tricknotes)) +- Added negative number literal support +- Concert library to single IIFE +- Add handlebars-source gemspec ([@machty](https://github.com/machty)) + +[Commits](https://github.com/wycats/handlebars.js/compare/v1.0.9...v1.0.10) + +## v1.0.9 - Node - Feb 15 2013 + +- Added `Handlebars.create` API in node module for sandboxed instances ([@tommydudebreaux](https://github.com/tommydudebreaux)) + +[Commits](https://github.com/wycats/handlebars.js/compare/1.0.0-rc.3...v1.0.9) + +## 1.0.0-rc3 - Browser - Feb 14 2013 + +- Prevent use of `this` or `..` in illogical place ([@leshill](https://github.com/leshill)) +- Allow AST passing for `parse`/`compile`/`precompile` ([@machty](https://github.com/machty)) +- Optimize generated output by inlining statements where possible +- Check compiler version when evaluating templates +- Package browser dist in npm package + +[Commits](https://github.com/wycats/handlebars.js/compare/v1.0.8...1.0.0-rc.3) + +## Prior Versions + +When upgrading from the Handlebars 0.9 series, be aware that the +signature for passing custom helpers or partials to templates has +changed. + +Instead of: + +```js +template(context, helpers, partials, [data]) +``` + +Use: + +```js +template(context, {helpers: helpers, partials: partials, data: data}) +``` + +[builds-page]: http://builds.handlebarsjs.com.s3.amazonaws.com/index.html +[cdnjs]: http://cdnjs.com/libraries/handlebars.js/ +[components]: https://github.com/components/handlebars.js +[npm]: https://npmjs.org/package/handlebars diff --git a/handlebars-node/node_modules/handlebars/runtime.js b/handlebars-node/node_modules/handlebars/runtime.js new file mode 100644 index 0000000..b7a7b12 --- /dev/null +++ b/handlebars-node/node_modules/handlebars/runtime.js @@ -0,0 +1,3 @@ +// Create a simple path alias to allow browserify to resolve +// the runtime on a supported path. +module.exports = require('./dist/cjs/handlebars.runtime'); diff --git a/handlebars-node/package.json b/handlebars-node/package.json new file mode 100644 index 0000000..c900ba7 --- /dev/null +++ b/handlebars-node/package.json @@ -0,0 +1,6 @@ +{ + "name": "mustacheTest", + "dependencies": { + "handlebars": "x.x.x" + } +} diff --git a/handlebars-node/test1.js b/handlebars-node/test1.js new file mode 100644 index 0000000..1a45f15 --- /dev/null +++ b/handlebars-node/test1.js @@ -0,0 +1,12 @@ +var handlebars = require('handlebars'); + +var startTime = new Date(), + template = handlebars.compile('
{{ body }}
'); + vars = {}; +for ( n=0; n <= 100000; ++n ) { + vars.id = "divid"; + vars.body = 'my div\'s body'; + html = template(vars); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +console.log(html); diff --git a/handlebars-node/test1b-incid.js b/handlebars-node/test1b-incid.js new file mode 100644 index 0000000..a4875ca --- /dev/null +++ b/handlebars-node/test1b-incid.js @@ -0,0 +1,12 @@ +var handlebars = require('handlebars'); + +var startTime = new Date(), + template = handlebars.compile('
{{ body }}
'), + vars = {}; +for ( n=0; n <= 100000; ++n ) { + vars.id = "divid" + n; + vars.body = 'my div\'s body'; + html = template(vars); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +console.log(html); diff --git a/handlebars-node/test2-loop-lambda.js b/handlebars-node/test2-loop-lambda.js new file mode 100644 index 0000000..34484be --- /dev/null +++ b/handlebars-node/test2-loop-lambda.js @@ -0,0 +1,36 @@ +var handlebars = require('handlebars'); + +function mt_rand () { + //[0..1] * PHP mt_getrandmax() + return Math.floor(Math.random() * 2147483647); +} + +function array_rand (arr) { + var i = Math.floor( Math.random() * arr.length ); + return arr[i]; +} + +var vars = {}, + items = {}; + +for ( var n=0; n <= 1000; ++n ) { + items['a' + mt_rand()] = new Date().getTime(); +} + +var startTime = new Date(), + template = handlebars.compile('
{{# items }}
{{# getvalues }}{{ . }}{{/ getvalues }}
{{/ items }}
'); + +vars.items = Object.keys(items); +vars.getvalues = function() { + var index = mustache.render(this); + return items[index]; +}; +for ( n=0; n <= 1000; ++n ) { + var key = array_rand(vars.items); + items[key] = 'b' + mt_rand(); + vars.id = "divid"; + vars.body = 'my div\'s body'; + html = template(vars); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +//console.log(html); diff --git a/handlebars-node/test2-loop.js b/handlebars-node/test2-loop.js new file mode 100644 index 0000000..493dfd9 --- /dev/null +++ b/handlebars-node/test2-loop.js @@ -0,0 +1,36 @@ +var handlebars = require('handlebars'); + +function mt_rand () { + //[0..1] * PHP mt_getrandmax() + return Math.floor(Math.random() * 2147483647); +} + +function array_rand (arr) { + var i = Math.floor( Math.random() * arr.length ); + return arr[i]; +} + +var vars = {}, + items = {}; + +for ( var n=0; n <= 1000; ++n ) { + items['a' + mt_rand()] = new Date().getTime(); +} + +var startTime = new Date(), + template = handlebars.compile('
{{# m_items }}
{{ val }}
{{/ m_items }}
'); +for ( n=0; n <= 1000; ++n ) { + var key = array_rand(Object.keys(items)); + items[key] = 'b' + mt_rand(); + vars.id = "divid"; + vars.body = 'my div\'s body'; + var m_items = []; + for(key in items) { + var val = items[key]; + m_items.push({ key: key, val: val }); + } + vars.m_items = m_items; + html = template(vars); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +//console.log(html); diff --git a/handlebars-node/test3-itterator.js b/handlebars-node/test3-itterator.js new file mode 100644 index 0000000..ed95485 --- /dev/null +++ b/handlebars-node/test3-itterator.js @@ -0,0 +1,30 @@ +var handlebars = require('handlebars'); + +function mt_rand () { + //[0..1] * PHP mt_getrandmax() + return Math.floor(Math.random() * 2147483647); +} + +function array_rand (arr) { + var i = Math.floor( Math.random() * arr.length ); + return arr[i]; +} + +var vars = {}, + items = []; + +for ( var n=0; n <= 1000; ++n ) { + items[n] = "value:" + mt_rand(); +} + +var startTime = new Date(), + template = handlebars.compile('
{{# items }}

{{ . }}

{{/ items }}
'); +for ( n=0; n <= 1000; ++n ) { + var key = Math.floor( Math.random() * items.length ); + items[key] = 'b:' + mt_rand(); + vars.items = items; + vars.body = 'my div\'s body'; + html = template(vars); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +//console.log(html); diff --git a/mustache-node/test2-loop-lambda.js b/mustache-node/test2-loop-lambda.js index d0919f5..92c28e9 100644 --- a/mustache-node/test2-loop-lambda.js +++ b/mustache-node/test2-loop-lambda.js @@ -18,16 +18,16 @@ for ( var n=0; n <= 1000; ++n ) { } var startTime = new Date(); +vars.items = Object.keys(items); +vars.getvalues = function() { + var index = mustache.render(this); + return items[index]; +}; for ( n=0; n <= 1000; ++n ) { - var key = array_rand(Object.keys(items)); + var key = array_rand(vars.items); items[key] = 'b' + mt_rand(); - vars.items = Object.keys(items); vars.id = "divid"; vars.body = 'my div\'s body'; - vars.getvalues = function() { - var index = mustache.render(this); - return items[index]; - }; html = mustache.render('
{{# items }}
{{# getvalues }}{{ . }}{{/ getvalues }}
{{/ items }}
', vars ); } console.log("time: " + ((new Date() - startTime) / 1000)); diff --git a/runall.sh b/runall.sh index 63c4646..f60011d 100755 --- a/runall.sh +++ b/runall.sh @@ -335,5 +335,39 @@ done cd .. +echo ">>>>>>>>>> Handlebars Node.js <<<<<<<<<<<<<" +cd handlebars-node +echo "*** test1 (`pwd`)***" +for i in {1..10} +do + node test1.js +done + +echo "*** test1b (`pwd`)***" +for i in {1..10} +do + node test1b-incid.js +done + +echo "*** test2 (`pwd`)***" +for i in {1..10} +do + node test2-loop.js +done + +echo "*** test2 lambda (`pwd`)***" +for i in {1..10} +do + node test2-loop-lambda.js +done + +echo "*** test3 (`pwd`)***" +for i in {1..10} +do + node test3-itterator.js +done + +cd .. + echo "done" From 0cc06a7ea2cfa72e3bbc2e49aeaa4c19da00f288 Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Tue, 21 Jan 2014 21:56:41 -0800 Subject: [PATCH 08/72] Add handlebars results --- results-ruthenium-20140121.txt | 76 ++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) diff --git a/results-ruthenium-20140121.txt b/results-ruthenium-20140121.txt index 670b413..4c2eb5d 100644 --- a/results-ruthenium-20140121.txt +++ b/results-ruthenium-20140121.txt @@ -826,4 +826,80 @@ time: 0.719 time: 0.722 time: 0.727 time: 0.722 +>>>>>>>>>> Handlebars Node.js <<<<<<<<<<<<< +*** test1 (/home/gwicke/TwigPerf/handlebars-node)*** +time: 0.238 +
my div's body
+time: 0.236 +
my div's body
+time: 0.237 +
my div's body
+time: 0.237 +
my div's body
+time: 0.122 +
my div's body
+time: 0.119 +
my div's body
+time: 0.121 +
my div's body
+time: 0.118 +
my div's body
+time: 0.118 +
my div's body
+time: 0.123 +
my div's body
+*** test1b (/home/gwicke/TwigPerf/handlebars-node)*** +time: 0.16 +
my div's body
+time: 0.158 +
my div's body
+time: 0.318 +
my div's body
+time: 0.193 +
my div's body
+time: 0.162 +
my div's body
+time: 0.287 +
my div's body
+time: 0.235 +
my div's body
+time: 0.159 +
my div's body
+time: 0.164 +
my div's body
+time: 0.16 +
my div's body
+*** test2 (/home/gwicke/TwigPerf/handlebars-node)*** +time: 0.597 +time: 0.597 +time: 0.589 +time: 0.596 +time: 0.878 +time: 0.87 +time: 0.594 +time: 0.591 +time: 0.984 +time: 0.832 +*** test2 lambda (/home/gwicke/TwigPerf/handlebars-node)*** +time: 1.666 +time: 1.47 +time: 1.252 +time: 1.251 +time: 1.249 +time: 1.5 +time: 1.252 +time: 1.242 +time: 1.235 +time: 1.504 +*** test3 (/home/gwicke/TwigPerf/handlebars-node)*** +time: 0.226 +time: 0.184 +time: 0.183 +time: 0.183 +time: 0.183 +time: 0.184 +time: 0.184 +time: 0.183 +time: 0.184 +time: 0.223 done From 3429ffe84feb7b2a3c8f0ee892af5b12a4e35228 Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Mon, 27 Jan 2014 15:36:30 -0800 Subject: [PATCH 09/72] Add 'quicktemplate' micro lib - JSON intermediate representation: [ '
    ', [ 'foreach', { data: 'items', as: 'item', tpl: [ '', ['text',{data:val}], '' ] } ], '
' ] - small runtime with an interpreter and compiler - ported two tests, both run faster than handlebars.js --- QuickTemplate/quicktemplate.js | 185 +++++++++++++++++++++++++++++++++ QuickTemplate/test1.js | 12 +++ QuickTemplate/test2-loop.js | 37 +++++++ 3 files changed, 234 insertions(+) create mode 100644 QuickTemplate/quicktemplate.js create mode 100644 QuickTemplate/test1.js create mode 100644 QuickTemplate/test2-loop.js diff --git a/QuickTemplate/quicktemplate.js b/QuickTemplate/quicktemplate.js new file mode 100644 index 0000000..d3e4824 --- /dev/null +++ b/QuickTemplate/quicktemplate.js @@ -0,0 +1,185 @@ +function QuickTemplate () { + this.cache = {}; +} + +QuickTemplate.prototype.evalExpr = function (expression, scope) { + if (/^'.*'$/.test(expression)) { + return expression.slice(1,-1); + } else { + var bits = expression.split('.'), + cur = scope, + i = 0; + try { + for (var i = 0; i < bits.length; i++) { + var bit = bits[i]; + if (bit === '__proto__' || bit === 'constructor') { + throw('illegal member ' + bit_); + } + cur = cur[bit]; + } + return cur; + } catch (e) { + console.error(e); + return ''; + } + } +}; + +QuickTemplate.prototype.ctlFn_foreach = function(options, scope, cb) { + // deal with options + var iterable = this.evalExpr(options.data, scope), + // worth compiling the nested template + tpl = this.compile(options.tpl, cb), + l = iterable.length; + for(var i = 0; i < l; i++) { + tpl(iterable[i]); + } +}; + +QuickTemplate.prototype.ctlFn_if = function(options, scope, cb) { + if (this.evalExpr(options.pred, scope)) { + this.render(options.tpl, scope, cb); + } +}; + +QuickTemplate.prototype.ctlFn_ifnot = function(options, scope, cb) { + if (!this.evalExpr(options.pred, scope)) { + this.render(options.tpl, scope, cb); + } +}; + +QuickTemplate.prototype.ctlFn_attr = function(options, scope, cb) { + var self = this; + Object.keys(options).forEach(function(name) { + var attVal = scope[options[name]]; //self.evalExpr(options[name], scope); + if (attVal !== null) { + cb(' ' + name + '="' + + attVal.toString().replace(/"/g, '"') + + '"'); + } + }); +}; + +QuickTemplate.prototype.ctlFn_text = function(options, scope, cb) { + cb(scope[options]); +}; + + +QuickTemplate.prototype.render = function(template, scope, cb) { + var res; + if (!cb) { + res = []; + cb = function(bit) { + res.push(bit); + }; + } + + var self = this, + l = template.length; + for(var i = 0; i < l; i++) { + var bit = template[i], + c = bit.constructor; + if (c === String) { + cb(bit); + } else if (c === Array) { + // control structure + var fnName = bit[0]; + if (fnName === 'text') { + cb(scope[bit[1]]); + } else if ( fnName === 'attr' ) { + var keys = Object.keys(bit[1]); + for (i = 0; i < keys.length; i++) { + var name = keys[i], + attVal = scope[bit[1][name]]; //self.evalExpr(options[name], scope); + if (attVal !== null) { + cb(' ' + name + '="' + + attVal.toString().replace(/"/g, '"') + + '"'); + } + } + } else { + + try { + self['ctlFn_' + bit[0]](bit[1], scope, cb); + } catch(e) { + console.error('Unsupported control function:', bit, e); + } + } + } else { + console.error('Unsupported type:', bit); + } + } + if(res) { + return res.join(''); + } +}; + +QuickTemplate.prototype.assemble = function(template, cb) { + var code = []; + code.push('var attVal;'); + if (!cb) { + code.push('var res = "", cb = function(bit) { res += bit; };'); + } + + var self = this, + l = template.length; + for(var i = 0; i < l; i++) { + var bit = template[i], + c = bit.constructor; + if (c === String) { + // static string + code.push('cb(' + JSON.stringify(bit) + ');'); + } else if (c === Array) { + // control structure + var fnName = bit[0]; + if (fnName === 'text') { + code.push('cb(scope[' + JSON.stringify(bit[1]) + ']);'); + } else if ( fnName === 'attr' ) { + var names = Object.keys(bit[1]); + for(var i = 0; i < names.length; i++) { + var name = names[i]; + code.push('attVal = scope[' + + JSON.stringify(bit[1][name]) + '];'); //self.evalExpr(options[name], scope); + code.push("if (attVal !== null) { " + + "cb(" + JSON.stringify(' ' + name + '="') + + " + (''+attVal).replace(/\"/g, '"') " + + "+ '\"');}"); + } + } else { + // Generic control function call + code.push('try {'); + // call the method + code.push('this[' + JSON.stringify('ctlFn_' + bit[0]) + + '](' + JSON.stringify(bit[1]) + ', scope, cb);'); + code.push('} catch(e) {'); + code.push("console.error('Unsupported control function:', " + + JSON.stringify(bit[0]) + ", e.stack);"); + code.push('}'); + } + } else { + console.error('Unsupported type:', bit); + } + } + if (!cb) { + code.push("return res;"); + } + return code.join('\n'); +}; + +QuickTemplate.prototype.compile = function(template, cb) { + if (template.__tpl) { + return template.__tpl; + } + var self = this, + code = this.assemble(template, cb); + //console.log(code); + var fun = new Function('scope', 'cb', code); + // bind this and cb + var res = function (scope) { + return fun.call(self, scope, cb); + } + template.__tpl = res; + return res; +}; + +module.exports = new QuickTemplate(); diff --git a/QuickTemplate/test1.js b/QuickTemplate/test1.js new file mode 100644 index 0000000..3c86b5f --- /dev/null +++ b/QuickTemplate/test1.js @@ -0,0 +1,12 @@ +var qt = require('./quicktemplate.js'); + +var startTime = new Date(), + vars = {}, + template = qt.compile(['',['text','body'],'']); +for ( n=0; n <= 100000; ++n ) { + vars.id = "divid"; + vars.body = 'my div\'s body'; + html = template(vars); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +console.log(html); diff --git a/QuickTemplate/test2-loop.js b/QuickTemplate/test2-loop.js new file mode 100644 index 0000000..830831c --- /dev/null +++ b/QuickTemplate/test2-loop.js @@ -0,0 +1,37 @@ +var qt = require('./quicktemplate.js'); + +function mt_rand () { + //[0..1] * PHP mt_getrandmax() + return Math.floor(Math.random() * 2147483647); +} + +function array_rand (arr) { + var i = Math.floor( Math.random() * arr.length ); + return arr[i]; +} + +var vars = {}, + items = {}; + +for ( var n=0; n <= 1000; ++n ) { + items['a' + mt_rand()] = new Date().getTime(); +} + +var startTime = new Date(), + template = qt.compile(['',['foreach',{data:'m_items',tpl:['',['text','val'],'']}],'']); +for ( n=0; n <= 1000; ++n ) { + var key = array_rand(Object.keys(items)); + items[key] = 'b' + mt_rand(); + vars.id = "divid"; + vars.body = 'my div\'s body'; + var m_items = []; + for(key in items) { + var val = items[key]; + m_items.push({ key: key, val: val }); + } + vars.m_items = m_items; + html = template(vars); + //console.log(html.length); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +//console.log(html); From 3add400e8f568e3852d61dfa6cc5889efeba95c0 Mon Sep 17 00:00:00 2001 From: "C. Scott Ananian" Date: Tue, 28 Jan 2014 15:48:37 -0500 Subject: [PATCH 10/72] First draft of template substitution engine using htmljs. --- handlebars-htmljs-node/htmljs/html.js | 210 ++++++++++++++++++++++ handlebars-htmljs-node/htmljs/index.js | 15 ++ handlebars-htmljs-node/htmljs/tohtml.js | 157 ++++++++++++++++ handlebars-htmljs-node/htmljs/utils.js | 117 ++++++++++++ handlebars-htmljs-node/test1.js | 24 +++ handlebars-htmljs-node/test1b-incid.js | 24 +++ handlebars-htmljs-node/test2-loop.js | 62 +++++++ handlebars-htmljs-node/test3-itterator.js | 54 ++++++ runall.sh | 33 ++++ 9 files changed, 696 insertions(+) create mode 100644 handlebars-htmljs-node/htmljs/html.js create mode 100644 handlebars-htmljs-node/htmljs/index.js create mode 100644 handlebars-htmljs-node/htmljs/tohtml.js create mode 100644 handlebars-htmljs-node/htmljs/utils.js create mode 100644 handlebars-htmljs-node/test1.js create mode 100644 handlebars-htmljs-node/test1b-incid.js create mode 100644 handlebars-htmljs-node/test2-loop.js create mode 100644 handlebars-htmljs-node/test3-itterator.js diff --git a/handlebars-htmljs-node/htmljs/html.js b/handlebars-htmljs-node/htmljs/html.js new file mode 100644 index 0000000..615a7e2 --- /dev/null +++ b/handlebars-htmljs-node/htmljs/html.js @@ -0,0 +1,210 @@ + +// Tag instances are `instanceof HTML.Tag`. +// +// This is a private constructor. Internally, we set +// `HTML.P.prototype = new HTML.Tag("P")`. +HTML.Tag = function (tagName) { + this.tagName = tagName; + this.attrs = null; + this.children = []; +}; + +// Call all functions and instantiate all components, when fine-grained +// reactivity is not needed (for example, in attributes). +HTML.evaluate = function (node, parentComponent) { + if (node == null) { + return node; + } else if (typeof node === 'function') { + return HTML.evaluate(node(), parentComponent); + } else if (node instanceof Array) { + var result = []; + for (var i = 0; i < node.length; i++) + result.push(HTML.evaluate(node[i], parentComponent)); + return result; + } else if (typeof node.instantiate === 'function') { + // component + var instance = node.instantiate(parentComponent || null); + var content = instance.render('STATIC'); + return HTML.evaluate(content, instance); + } else if (node instanceof HTML.Tag) { + var newChildren = []; + for (var i = 0; i < node.children.length; i++) + newChildren.push(HTML.evaluate(node.children[i], parentComponent)); + var newTag = HTML.getTag(node.tagName).apply(null, newChildren); + newTag.attrs = {}; + for (var k in node.attrs) + newTag.attrs[k] = HTML.evaluate(node.attrs[k], parentComponent); + return newTag; + } else { + return node; + } +}; + +var extendAttrs = function (tgt, src, parentComponent) { + for (var k in src) { + if (k === '$dynamic') + continue; + if (! HTML.isValidAttributeName(k)) + throw new Error("Illegal HTML attribute name: " + k); + var value = HTML.evaluate(src[k], parentComponent); + if (! HTML.isNully(value)) + tgt[k] = value; + } +}; + +// Process the `attrs.$dynamic` directive, if present, returning the final +// attributes dictionary. The value of `attrs.$dynamic` must be an array +// of attributes dictionaries or functions returning attribute dictionaries. +// These attributes are used to extend `attrs` as long as they are non-nully. +// All attributes are "evaluated," calling functions and instantiating +// components. +HTML.evaluateAttributes = function (attrs, parentComponent) { + if (! attrs) + return attrs; + + var result = {}; + extendAttrs(result, attrs, parentComponent); + + if ('$dynamic' in attrs) { + if (! (attrs.$dynamic instanceof Array)) + throw new Error("$dynamic must be an array"); + // iterate over attrs.$dynamic, calling each element if it + // is a function and then using it to extend `result`. + var dynamics = attrs.$dynamic; + for (var i = 0; i < dynamics.length; i++) { + var moreAttrs = dynamics[i]; + if (typeof moreAttrs === 'function') + moreAttrs = moreAttrs(); + extendAttrs(result, moreAttrs, parentComponent); + } + } + + return result; +}; + +HTML.Tag.prototype.evaluateAttributes = function (parentComponent) { + return HTML.evaluateAttributes(this.attrs, parentComponent); +}; + +// Given "P" create the function `HTML.P`. +var makeTagConstructor = function (tagName) { + // Do a little dance so that tags print nicely in the Chrome console. + // First make tag name suitable for insertion into evaluated JS code, + // for security reasons mainly. + var sanitizedName = String(tagName).replace( + /^[^a-zA-Z_]|[^a-zA-Z_0-9]/g, '_') || 'Tag'; + + // Generate a constructor function whose name is the tag name. + // We try to choose generic-sounding variable names in case V8 infers + // them as type names and they show up in the developer console. + // HTMLTag is the constructor function for our specific tag type. + var HTMLTag = (new Function( + '_constructTag', + 'var Tag; return (Tag = function ' + + sanitizedName + '_Tag(/*arguments*/) { ' + + 'return _constructTag(Tag, this, arguments); });'))(_constructTag); + + HTMLTag.prototype = new HTML.Tag(tagName); + HTMLTag.prototype.constructor = HTMLTag; + + return HTMLTag; +}; + +// Given "P", create and assign `HTML.P` if it doesn't already exist. +// Then return it. +HTML.getTag = function (tagName) { + tagName = tagName.toUpperCase(); + + if (! HTML[tagName]) + HTML[tagName] = makeTagConstructor(tagName); + + return HTML[tagName]; +}; + +// Given "P", make sure `HTML.P` exists. +HTML.ensureTag = function (tagName) { + HTML.getTag(tagName); // don't return it +}; + +// When you call either `HTML.P(...)` or `new HTML.P(...)`, +// this function handles the actual implementation. +var _constructTag = function (constructor, instance, args) { + if (! (instance instanceof HTML.Tag)) { + // If you called `HTML.P(...)` without `new`, we don't actually + // have an instance in `this`. Create one by calling `new HTML.P` + // with no arguments (which will invoke `_constructTag` reentrantly, + // but doing essentially nothing). + instance = new constructor; + } + + var i = 0; + var attrs = (args.length && args[0]); + if (attrs && (typeof attrs === 'object') && + (attrs.constructor === Object)) { + instance.attrs = attrs; + i++; + } + instance.children = Array.prototype.slice.call(args, i); + + return instance; +}; + +HTML.CharRef = function (attrs) { + if (! (this instanceof HTML.CharRef)) + // called without `new` + return new HTML.CharRef(attrs); + + if (! (attrs && attrs.html && attrs.str)) + throw new Error( + "HTML.CharRef must be constructed with ({html:..., str:...})"); + + this.html = attrs.html; + this.str = attrs.str; +}; + +HTML.Comment = function (value) { + if (! (this instanceof HTML.Comment)) + // called without `new` + return new HTML.Comment(value); + + if (typeof value !== 'string') + throw new Error('HTML.Comment must be constructed with a string'); + + this.value = value; + // Kill illegal hyphens in comment value (no way to escape them in HTML) + this.sanitizedValue = value.replace(/^-|--+|-$/g, ''); +}; + +HTML.Raw = function (value) { + if (! (this instanceof HTML.Raw)) + // called without `new` + return new HTML.Raw(value); + + if (typeof value !== 'string') + throw new Error('HTML.Raw must be constructed with a string'); + + this.value = value; +}; + +HTML.EmitCode = function (value) { + if (! (this instanceof HTML.EmitCode)) + // called without `new` + return new HTML.EmitCode(value); + + if (typeof value !== 'string') + throw new Error('HTML.EmitCode must be constructed with a string'); + + this.value = value; +}; + +HTML.isTagEnsured = function (t) { + return HTML.isKnownElement(t) || HTML.isKnownSVGElement(t); +}; + +(function () { + for (var i = 0; i < HTML.knownElementNames.length; i++) + HTML.ensureTag(HTML.knownElementNames[i]); + + for (var i = 0; i < HTML.knownSVGElementNames.length; i++) + HTML.ensureTag(HTML.knownSVGElementNames[i]); +})(); diff --git a/handlebars-htmljs-node/htmljs/index.js b/handlebars-htmljs-node/htmljs/index.js new file mode 100644 index 0000000..4aa97a0 --- /dev/null +++ b/handlebars-htmljs-node/htmljs/index.js @@ -0,0 +1,15 @@ +// This is a hacked together node package of the HTMLJS sources found +// in https://github.com/meteor/meteor/tree/shark/packages/htmljs +// as a meteor package. + +// I'm basically just going to concatenate the sources together, hand it +// over to eval, and then return the result in modules.export. +var fs = require('fs'); + +var source = ['utils', 'html', 'tohtml'].map(function(f) { + return fs.readFileSync(__dirname+'/'+f+'.js', 'utf8'); +}).join('\n'); + +eval(source); + +module.exports = HTML; diff --git a/handlebars-htmljs-node/htmljs/tohtml.js b/handlebars-htmljs-node/htmljs/tohtml.js new file mode 100644 index 0000000..bb15115 --- /dev/null +++ b/handlebars-htmljs-node/htmljs/tohtml.js @@ -0,0 +1,157 @@ + +HTML.toHTML = function (node, parentComponent) { + if (node == null) { + // null or undefined + return ''; + } else if ((typeof node === 'string') || (typeof node === 'boolean') || (typeof node === 'number')) { + // string; escape special chars + return HTML.escapeData(String(node)); + } else if (node instanceof Array) { + // array + var parts = []; + for (var i = 0; i < node.length; i++) + parts.push(HTML.toHTML(node[i], parentComponent)); + return parts.join(''); + } else if (typeof node.instantiate === 'function') { + // component + var instance = node.instantiate(parentComponent || null); + var content = instance.render('STATIC'); + // recurse with a new value for parentComponent + return HTML.toHTML(content, instance); + } else if (typeof node === 'function') { + return HTML.toHTML(node(), parentComponent); + } else if (node.toHTML) { + // Tag or something else + return node.toHTML(parentComponent); + } else { + throw new Error("Expected tag, string, array, component, null, undefined, or " + + "object with a toHTML method; found: " + node); + } +}; + +HTML.Comment.prototype.toHTML = function () { + return ''; +}; + +HTML.CharRef.prototype.toHTML = function () { + return this.html; +}; + +HTML.Raw.prototype.toHTML = function () { + return this.value; +}; + +HTML.Tag.prototype.toHTML = function (parentComponent) { + var attrStrs = []; + var attrs = this.evaluateAttributes(parentComponent); + if (attrs) { + for (var k in attrs) { + k = HTML.properCaseAttributeName(k); + var v = HTML.toText(attrs[k], HTML.TEXTMODE.ATTRIBUTE, parentComponent); + attrStrs.push(' ' + k + '="' + v + '"'); + } + } + + var tagName = this.tagName; + var startTag = '<' + HTML.properCaseTagName(tagName) + attrStrs.join('') + '>'; + + var childStrs = []; + var content; + if (tagName === 'TEXTAREA') { + for (var i = 0; i < this.children.length; i++) + childStrs.push(HTML.toText(this.children[i], HTML.TEXTMODE.RCDATA, parentComponent)); + + content = childStrs.join(''); + if (content.slice(0, 1) === '\n') + // TEXTAREA will absorb a newline, so if we see one, add + // another one. + content = '\n' + content; + + } else { + for (var i = 0; i < this.children.length; i++) + childStrs.push(HTML.toHTML(this.children[i], parentComponent)); + + content = childStrs.join(''); + } + + var result = startTag + content; + + if (this.children.length || ! HTML.isVoidElement(tagName)) { + // "Void" elements like BR are the only ones that don't get a close + // tag in HTML5. They shouldn't have contents, either, so we could + // throw an error upon seeing contents here. + result += ''; + } + + return result; +}; + +HTML.TEXTMODE = { + ATTRIBUTE: 1, + RCDATA: 2, + STRING: 3 +}; + +HTML.toText = function (node, textMode, parentComponent) { + if (node == null) { + // null or undefined + return ''; + } else if ((typeof node === 'string') || (typeof node === 'boolean') || (typeof node === 'number')) { + node = String(node); + // string + if (textMode === HTML.TEXTMODE.STRING) { + return node; + } else if (textMode === HTML.TEXTMODE.RCDATA) { + return HTML.escapeData(node); + } else if (textMode === HTML.TEXTMODE.ATTRIBUTE) { + // escape `&` and `"` this time, not `&` and `<` + return node.replace(/&/g, '&').replace(/"/g, '"'); + } else { + throw new Error("Unknown TEXTMODE: " + textMode); + } + } else if (node instanceof Array) { + // array + var parts = []; + for (var i = 0; i < node.length; i++) + parts.push(HTML.toText(node[i], textMode, parentComponent)); + return parts.join(''); + } else if (typeof node === 'function') { + return HTML.toText(node(), textMode, parentComponent); + } else if (typeof node.instantiate === 'function') { + // component + var instance = node.instantiate(parentComponent || null); + var content = instance.render('STATIC'); + return HTML.toText(content, textMode, instance); + } else if (node.toText) { + // Something else + return node.toText(textMode, parentComponent); + } else { + throw new Error("Expected tag, string, array, component, null, undefined, or " + + "object with a toText method; found: " + node); + } + +}; + +HTML.Raw.prototype.toText = function () { + return this.value; +}; + +// used when including templates within {{#markdown}} +HTML.Tag.prototype.toText = function (textMode, parentComponent) { + if (textMode === HTML.TEXTMODE.STRING) + // stringify the tag as HTML, then convert to text + return HTML.toText(this.toHTML(parentComponent), textMode); + else + throw new Error("Can't insert tags in attributes or TEXTAREA elements"); +}; + +HTML.CharRef.prototype.toText = function (textMode) { + if (textMode === HTML.TEXTMODE.STRING) + return this.str; + else if (textMode === HTML.TEXTMODE.RCDATA) + return this.html; + else if (textMode === HTML.TEXTMODE.ATTRIBUTE) + return this.html; + else + throw new Error("Unknown TEXTMODE: " + textMode); +}; diff --git a/handlebars-htmljs-node/htmljs/utils.js b/handlebars-htmljs-node/htmljs/utils.js new file mode 100644 index 0000000..f9d01ea --- /dev/null +++ b/handlebars-htmljs-node/htmljs/utils.js @@ -0,0 +1,117 @@ + +HTML = {}; + +HTML.isNully = function (node) { + if (node == null) + // null or undefined + return true; + + if (node instanceof Array) { + // is it an empty array or an array of all nully items? + for (var i = 0; i < node.length; i++) + if (! HTML.isNully(node[i])) + return false; + return true; + } + + return false; +}; + +HTML.asciiLowerCase = function (str) { + return str.replace(/[A-Z]/g, function (c) { + return String.fromCharCode(c.charCodeAt(0) + 32); + }); +}; + +HTML.escapeData = function (str) { + // string; escape the two special chars in HTML data and RCDATA + return str.replace(/&/g, '&').replace(/` you actually get a `"viewBox"` +// attribute. +HTML.properCaseTagName = function (name) { + var lowered = HTML.asciiLowerCase(name); + return svgCamelCaseElementsMap.hasOwnProperty(lowered) ? + svgCamelCaseElementsMap[lowered] : lowered; +}; + +// See docs for properCaseTagName. +HTML.properCaseAttributeName = function (name) { + var lowered = HTML.asciiLowerCase(name); + return svgCamelCaseAttributesMap.hasOwnProperty(lowered) ? + svgCamelCaseAttributesMap[lowered] : lowered; +}; + +// The HTML spec and the DOM API (in particular `setAttribute`) have different +// definitions of what characters are legal in an attribute. The HTML +// parser is extremely permissive (allowing, for example, ``), while +// `setAttribute` seems to use something like the XML grammar for names (and +// throws an error if a name is invalid, making that attribute unsettable). +// If we knew exactly what grammar browsers used for `setAttribute`, we could +// include various Unicode ranges in what's legal. For now, allow ASCII chars +// that are known to be valid XML, valid HTML, and settable via `setAttribute`: +// +// * Starts with `:`, `_`, `A-Z` or `a-z` +// * Consists of any of those plus `-`, `.`, and `0-9`. +// +// See and +// . +HTML.isValidAttributeName = function (name) { + return /^[:_A-Za-z][:_A-Za-z0-9.\-]*/.test(name); +}; + + +HTML.knownElementNames = 'a abbr acronym address applet area b base basefont bdo big blockquote body br button caption center cite code col colgroup dd del dfn dir div dl dt em fieldset font form frame frameset h1 h2 h3 h4 h5 h6 head hr html i iframe img input ins isindex kbd label legend li link map menu meta noframes noscript object ol optgroup option p param pre q s samp script select small span strike strong style sub sup table tbody td textarea tfoot th thead title tr tt u ul var article aside audio bdi canvas command data datagrid datalist details embed eventsource figcaption figure footer header hgroup keygen mark meter nav output progress ruby rp rt section source summary time track video wbr'.split(' '); + +HTML.voidElementNames = 'area base br col command embed hr img input keygen link meta param source track wbr'.split(' '); + +HTML.knownSVGElementNames = 'a altGlyph altGlyphDef altGlyphItem animate animateColor animateMotion animateTransform circle clipPath color-profile cursor defs desc ellipse feBlend feColorMatrix feComponentTransfer feComposite feConvolveMatrix feDiffuseLighting feDisplacementMap feDistantLight feFlood feFuncA feFuncB feFuncG feFuncR feGaussianBlur feImage feMerge feMergeNode feMorphology feOffset fePointLight feSpecularLighting feSpotLight feTile feTurbulence filter font font-face font-face-format font-face-name font-face-src font-face-uri foreignObject g glyph glyphRef hkern image line linearGradient marker mask metadata missing-glyph path pattern polygon polyline radialGradient rect script set stop style svg switch symbol text textPath title tref tspan use view vkern'.split(' '); + +var YES = {yes:true}; +var makeSet = function (array) { + var set = {}; + for (var i = 0; i < array.length; i++) + set[array[i]] = YES; + return set; +}; + +var voidElementSet = makeSet(HTML.voidElementNames); +var knownElementSet = makeSet(HTML.knownElementNames); +var knownSVGElementSet = makeSet(HTML.knownSVGElementNames); + +HTML.isKnownElement = function (name) { + return knownElementSet[HTML.properCaseTagName(name)] === YES; +}; + +HTML.isVoidElement = function (name) { + return voidElementSet[HTML.properCaseTagName(name)] === YES; +}; + +HTML.isKnownSVGElement = function (name) { + return knownSVGElementSet[HTML.properCaseTagName(name)] === YES; +}; diff --git a/handlebars-htmljs-node/test1.js b/handlebars-htmljs-node/test1.js new file mode 100644 index 0000000..4b2b724 --- /dev/null +++ b/handlebars-htmljs-node/test1.js @@ -0,0 +1,24 @@ +var HTML = require('./htmljs'); + +var Context = function() { }; +Context.prototype.compile = function() { + // hand-compiled to HTMLjs by CSA + // '
{{ body }}
' + var self = this; + return HTML.DIV({id: function() { return self.$id; }}, + function() { return self.$body; }); +}; +Context.prototype.subst = function(t) { + return HTML.toHTML(t); +}; + +var startTime = new Date(), + vars = new Context(), + template = vars.compile(); +for ( n=0; n <= 100000; ++n ) { + vars.$id = "divid"; + vars.$body = 'my div\'s body'; + html = vars.subst(template); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +console.log(html); diff --git a/handlebars-htmljs-node/test1b-incid.js b/handlebars-htmljs-node/test1b-incid.js new file mode 100644 index 0000000..c7afb09 --- /dev/null +++ b/handlebars-htmljs-node/test1b-incid.js @@ -0,0 +1,24 @@ +var HTML = require('./htmljs'); + +var Context = function() { }; +Context.prototype.compile = function() { + // hand-compiled to HTMLjs by CSA + // '
{{ body }}
' + var self = this; + return HTML.DIV({id: function() { return self.$id; }}, + function() { return self.$body; }); +}; +Context.prototype.subst = function(t) { + return HTML.toHTML(t); +}; + +var startTime = new Date(), + vars = new Context(), + template = vars.compile(); +for ( n=0; n <= 100000; ++n ) { + vars.$id = "divid" + n; + vars.$body = 'my div\'s body'; + html = vars.subst(template); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +console.log(html); diff --git a/handlebars-htmljs-node/test2-loop.js b/handlebars-htmljs-node/test2-loop.js new file mode 100644 index 0000000..ad51a0a --- /dev/null +++ b/handlebars-htmljs-node/test2-loop.js @@ -0,0 +1,62 @@ +var HTML = require('./htmljs'); + +var compile = function(vars) { + // hand-compiled to HTMLjs by CSA + // '
{{# m_items }}
{{ val }}
{{/ m_items }}
' + + var each = function(context, pattern) { + var render = function() { + return context.map(function(el) { return pattern(el); }); + }; + return { + instantiate: function(parentComponent) { + return { render: render }; + } + }; + }; + + return HTML.DIV( + {id: function() { return vars.id; }}, + function() { + return each(vars.m_items, function(vars) { + return HTML.DIV( + {id: function() {return vars.key; }}, + function() { return vars.val; }); + }); + }); +}; + +function mt_rand () { + //[0..1] * PHP mt_getrandmax() + return Math.floor(Math.random() * 2147483647); +} + +function array_rand (arr) { + var i = Math.floor( Math.random() * arr.length ); + return arr[i]; +} + +var vars = {}, + items = {}; + +for ( var n=0; n <= 1000; ++n ) { + items['a' + mt_rand()] = new Date().getTime(); +} + +var startTime = new Date(), + template = compile(vars); +for ( n=0; n <= 1000; ++n ) { + var key = array_rand(Object.keys(items)); + items[key] = 'b' + mt_rand(); + vars.id = "divid"; + vars.body = 'my div\'s body'; + var m_items = []; + for(key in items) { + var val = items[key]; + m_items.push({ key: key, val: val }); + } + vars.m_items = m_items; + html = HTML.toHTML(template); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +//console.log(html); diff --git a/handlebars-htmljs-node/test3-itterator.js b/handlebars-htmljs-node/test3-itterator.js new file mode 100644 index 0000000..4e4c61c --- /dev/null +++ b/handlebars-htmljs-node/test3-itterator.js @@ -0,0 +1,54 @@ +var HTML = require('./htmljs'); + +var compile = function(vars) { + // hand-compiled to HTMLjs by CSA + // '
{{# items }}

{{ . }}

{{/ items }}
' + + var each = function(context, pattern) { + var render = function() { + return context.map(function(el) { return pattern(el); }); + }; + return { + instantiate: function(parentComponent) { + return { render: render }; + } + }; + }; + + return HTML.DIV( + {id: function() { return vars.id; }}, + function() { + return each(vars.items, function(vars) { + return HTML.P(function(){ return vars }); + }); + }); +}; + +function mt_rand () { + //[0..1] * PHP mt_getrandmax() + return Math.floor(Math.random() * 2147483647); +} + +function array_rand (arr) { + var i = Math.floor( Math.random() * arr.length ); + return arr[i]; +} + +var vars = {}, + items = []; + +for ( var n=0; n <= 1000; ++n ) { + items[n] = "value:" + mt_rand(); +} + +var startTime = new Date(), + template = compile(vars); +for ( n=0; n <= 1000; ++n ) { + var key = Math.floor( Math.random() * items.length ); + items[key] = 'b:' + mt_rand(); + vars.items = items; + vars.body = 'my div\'s body'; + html = HTML.toHTML(template); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +//console.log(html); diff --git a/runall.sh b/runall.sh index f60011d..48f4245 100755 --- a/runall.sh +++ b/runall.sh @@ -369,5 +369,38 @@ done cd .. +echo ">>>>>>>>>> Handlebars HTMLJS Node.js <<<<<<<<<<<<<" +cd handlebars-htmljs-node +echo "*** test1 (`pwd`)***" +for i in {1..10} +do + node test1.js +done + +echo "*** test1b (`pwd`)***" +for i in {1..10} +do + node test1b-incid.js +done + +echo "*** test2 (`pwd`)***" +for i in {1..10} +do + node test2-loop.js +done + +#echo "*** test2 lambda (`pwd`)***" +#for i in {1..10} +#do +# node test2-loop-lambda.js +#done + +echo "*** test3 (`pwd`)***" +for i in {1..10} +do + node test3-itterator.js +done + +cd .. echo "done" From c17b07f08002dd38ecdb54166190189addf3168b Mon Sep 17 00:00:00 2001 From: "C. Scott Ananian" Date: Tue, 28 Jan 2014 17:16:08 -0500 Subject: [PATCH 11/72] Improve speed of Tag.toHTML in htmljs. --- handlebars-htmljs-node/htmljs/tohtml.js | 42 +++++++++++++++++++++++++ handlebars-htmljs-node/htmljs/utils.js | 1 + 2 files changed, 43 insertions(+) diff --git a/handlebars-htmljs-node/htmljs/tohtml.js b/handlebars-htmljs-node/htmljs/tohtml.js index bb15115..ccf4ee6 100644 --- a/handlebars-htmljs-node/htmljs/tohtml.js +++ b/handlebars-htmljs-node/htmljs/tohtml.js @@ -155,3 +155,45 @@ HTML.CharRef.prototype.toText = function (textMode) { else throw new Error("Unknown TEXTMODE: " + textMode); }; + +/* Build optimized versions of the Tag.prototype.toHTML functions */ +(function() { + var mkFastToHTML = function(tagName) { + tagName = tagName.toUpperCase(); + var source1 = [ + "var k,v,i;", + "var s = '<" + HTML.properCaseTagName(tagName) + "';", + "var attrs = this.evaluateAttributes(parentComponent);", + "if (attrs) {", + " for (k in attrs) {", + " k = HTML.properCaseAttributeName(k);", + " v = HTML.toText(attrs[k], "+HTML.TEXTMODE.ATTRIBUTE+", parentComponent);", + " s += ' ' + k + '=\"' + v + '\"';", + " }", + "}", + "s += '>';" + ].join('\n'); + var source2 = [ + "for (i = 0; i < this.children.length; i++) {", + " s += HTML.toHTML(this.children[i], parentComponent);", + "}", + "s += '';" + ].join('\n'); + var source3 = + "return s;" + + var source = source1; + if (!HTML.isVoidElement(tagName)) { + source += '\n' + source2; + } + source += '\n' + source3; + + var fun = new Function('parentComponent', source); + if (tagName !== 'TEXTAREA') { + HTML[tagName].prototype.toHTML = fun; + } + }; + + for (var i = 0; i < HTML.knownElementNames.length; i++) + mkFastToHTML(HTML.knownElementNames[i]); +})(); diff --git a/handlebars-htmljs-node/htmljs/utils.js b/handlebars-htmljs-node/htmljs/utils.js index f9d01ea..fc9ba8b 100644 --- a/handlebars-htmljs-node/htmljs/utils.js +++ b/handlebars-htmljs-node/htmljs/utils.js @@ -62,6 +62,7 @@ HTML.properCaseTagName = function (name) { // See docs for properCaseTagName. HTML.properCaseAttributeName = function (name) { + if (name==='id') { return name; /* fast path */ } var lowered = HTML.asciiLowerCase(name); return svgCamelCaseAttributesMap.hasOwnProperty(lowered) ? svgCamelCaseAttributesMap[lowered] : lowered; From f665cc2ca6a09228016377c80cb45b050a04ab1a Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Thu, 30 Jan 2014 10:24:30 -0800 Subject: [PATCH 12/72] Minor quicktemplate cleanup * add comment explaining background * fix JSHint warnings, including one bug in the attr handler --- QuickTemplate/quicktemplate.js | 39 +++++++++++++++++++++++++--------- 1 file changed, 29 insertions(+), 10 deletions(-) diff --git a/QuickTemplate/quicktemplate.js b/QuickTemplate/quicktemplate.js index d3e4824..f32f9a5 100644 --- a/QuickTemplate/quicktemplate.js +++ b/QuickTemplate/quicktemplate.js @@ -1,14 +1,33 @@ -function QuickTemplate () { - this.cache = {}; -} +/* + * Prototype JSON template IR evaluator + * + * Motto: Fast but safe! + * + * A string-based template representation that can be compiled from DOM-based + * templates (knockoutjs syntax for example) and can statically enforce + * balancing and contextual sanitization to prevent XSS, for example in href + * and src attributes. The JSON format is compact, can easily be persisted and + * can be evaluated with a tiny library (this file). + * + * Performance is on par with compiled handlebars templates, the fastest + * string-based library in our tests. + * + * Input examples: + * ['',['text','body'],''] + * ['', + * ['foreach',{data:'m_items',tpl:['',['text','val'],'']}], + * ''] + */ + + +function QuickTemplate () { } QuickTemplate.prototype.evalExpr = function (expression, scope) { if (/^'.*'$/.test(expression)) { return expression.slice(1,-1); } else { var bits = expression.split('.'), - cur = scope, - i = 0; + cur = scope; try { for (var i = 0; i < bits.length; i++) { var bit = bits[i]; @@ -88,8 +107,8 @@ QuickTemplate.prototype.render = function(template, scope, cb) { cb(scope[bit[1]]); } else if ( fnName === 'attr' ) { var keys = Object.keys(bit[1]); - for (i = 0; i < keys.length; i++) { - var name = keys[i], + for (var j = 0; j < keys.length; j++) { + var name = keys[j], attVal = scope[bit[1][name]]; //self.evalExpr(options[name], scope); if (attVal !== null) { cb(' ' + name + '="' @@ -136,8 +155,8 @@ QuickTemplate.prototype.assemble = function(template, cb) { code.push('cb(scope[' + JSON.stringify(bit[1]) + ']);'); } else if ( fnName === 'attr' ) { var names = Object.keys(bit[1]); - for(var i = 0; i < names.length; i++) { - var name = names[i]; + for(var j = 0; j < names.length; j++) { + var name = names[j]; code.push('attVal = scope[' + JSON.stringify(bit[1][name]) + '];'); //self.evalExpr(options[name], scope); code.push("if (attVal !== null) { " @@ -177,7 +196,7 @@ QuickTemplate.prototype.compile = function(template, cb) { // bind this and cb var res = function (scope) { return fun.call(self, scope, cb); - } + }; template.__tpl = res; return res; }; From 1251ab9a8007956b3cb7eb813af5ee4b27cf8bbc Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Thu, 30 Jan 2014 14:51:44 -0800 Subject: [PATCH 13/72] First cut of Knockoutjs to JSON IR compiler --- QuickTemplate/DOMCompiler.js | 190 ++++++++++++++++++++++++++ QuickTemplate/KnockoutCompiler.js | 74 ++++++++++ QuickTemplate/KnockoutExpression.js | 118 ++++++++++++++++ QuickTemplate/testKnockoutCompiler.js | 7 + 4 files changed, 389 insertions(+) create mode 100644 QuickTemplate/DOMCompiler.js create mode 100644 QuickTemplate/KnockoutCompiler.js create mode 100644 QuickTemplate/KnockoutExpression.js create mode 100644 QuickTemplate/testKnockoutCompiler.js diff --git a/QuickTemplate/DOMCompiler.js b/QuickTemplate/DOMCompiler.js new file mode 100644 index 0000000..f7d652d --- /dev/null +++ b/QuickTemplate/DOMCompiler.js @@ -0,0 +1,190 @@ +/** + * Stand-alone XMLSerializer for DOM3 documents + */ +"use strict"; + +var htmlns = 'http://www.w3.org/1999/xhtml', + // nodeType constants + ELEMENT_NODE = 1, + ATTRIBUTE_NODE = 2, + TEXT_NODE = 3, + CDATA_SECTION_NODE = 4, + ENTITY_REFERENCE_NODE = 5, + ENTITY_NODE = 6, + PROCESSING_INSTRUCTION_NODE = 7, + COMMENT_NODE = 8, + DOCUMENT_NODE = 9, + DOCUMENT_TYPE_NODE = 10, + DOCUMENT_FRAGMENT_NODE = 11, + NOTATION_NODE = 12; + +/** + * HTML5 void elements + */ +var emptyElements = { + area: true, + base: true, + basefont: true, + bgsound: true, + br: true, + col: true, + command: true, + embed: true, + frame: true, + hr: true, + img: true, + input: true, + keygen: true, + link: true, + meta: true, + param: true, + source: true, + track: true, + wbr: true +}; + +/** + * HTML5 elements with raw (unescaped) content + */ +var hasRawContent = { + style: true, + script: true, + xmp: true, + iframe: true, + noembed: true, + noframes: true, + plaintext: true, + noscript: true +}; + +/** + * Use only very few entities, encode everything else as numeric entity + */ +function _xmlEncoder(c){ + switch(c) { + case '<': return '<'; + case '>': return '>'; + case '&': return '&'; + case '"': return '"'; + default: return '&#' + c.charCodeAt() + ';'; + } +} + +function serializeToString(node, options, cb){ + var child, content; + switch(node.nodeType){ + case ELEMENT_NODE: + var handler = options.handlers.element, + attrs = node.attributes, + ret; + child = node.firstChild; + if (handler) { + ret = handler(node, cb, options); + } + var len = attrs.length; + var nodeName = node.tagName.toLowerCase(), + localName = node.localName; + cb('<' + localName); + for(var i=0;i + (attr.value.match(/'/g) || []).length) + { + // use single quotes + cb(' ' + attr.name + "='" + + attr.value.replace(/[<&']/g, _xmlEncoder) + "'"); + } else { + // use double quotes + cb(' ' + attr.name + '="' + + attr.value.replace(/[<&"]/g, _xmlEncoder) + '"'); + } + } + if (ret.attr) { + cb(ret.attr); + } + if(child || ret.content || !emptyElements[nodeName]) { + cb('>'); + if (ret.content) { + cb(ret.content); + } else if(hasRawContent[nodeName]) { + // if is cdata child node + // TODO: perform context-sensitive escaping? + // Currently this content is not normally part of our DOM, so + // no problem. If it was, we'd probably have to do some + // tag-specific escaping. Examples: + // * < to \u003c in tag, then the paused flag + // may have been set to tell us to stop tokenizing while + // the script is loading + if (paused > 0) { + return; + } + + + switch(typeof tokenizer.lookahead) { + case 'undefined': + codepoint = chars.charCodeAt(nextchar++); + if (scanner_skip_newline) { + scanner_skip_newline = false; + if (codepoint === 0x000A) { + nextchar++; + continue; + } + } + switch(codepoint) { + case 0x000D: + // CR always turns into LF, but if the next character + // is LF, then that second LF is skipped. + if (nextchar < numchars) { + if (chars.charCodeAt(nextchar) === 0x000A) + nextchar++; + } + else { + // We don't know the next char right now, so we + // can't check if it is a LF. So set a flag + scanner_skip_newline = true; + } + + // In either case, emit a LF + tokenizer(0x000A); + + break; + case 0xFFFF: + if (input_complete && nextchar === numchars) { + tokenizer(EOF); // codepoint will be 0xFFFF here + break; + } + /* falls through */ + default: + tokenizer(codepoint); + break; + } + break; + + case 'number': + codepoint = chars.charCodeAt(nextchar); + + // The only tokenizer states that require fixed lookahead + // only consume alphanum characters, so we don't have + // to worry about CR and LF in this case + + // tokenizer wants n chars of lookahead + var n = tokenizer.lookahead; + + if (n < numchars - nextchar) { + // If we can look ahead that far + s = chars.substring(nextchar, nextchar+n); + eof = false; + } + else { // if we don't have that many characters + if (input_complete) { // If no more are coming + // Just return what we have + s = chars.substring(nextchar, numchars); + eof = true; + if (codepoint === 0xFFFF && nextchar === numchars-1) + codepoint = EOF; + } + else { + // Return now and wait for more chars later + return; + } + } + tokenizer(codepoint, s, eof); + break; + case 'string': + codepoint = chars.charCodeAt(nextchar); + + // tokenizer wants characters up to a matching string + pattern = tokenizer.lookahead; + var pos = chars.indexOf(pattern, nextchar); + if (pos !== -1) { + s = chars.substring(nextchar, pos + pattern.length); + eof = false; + } + else { // No match + // If more characters coming, wait for them + if (!input_complete) return; + + // Otherwise, we've got to return what we've got + s = chars.substring(nextchar, numchars); + if (codepoint === 0xFFFF && nextchar === numchars-1) + codepoint = EOF; + eof = true; + } + + // The tokenizer states that require this kind of + // lookahead have to be careful to handle CR characters + // correctly + tokenizer(codepoint, s, eof); + break; + case 'object': + case 'function': + codepoint = chars.charCodeAt(nextchar); + + // tokenizer wants characters that match a regexp + // The only tokenizer states that use regexp lookahead + // are for character entities, and the patterns never + // match CR or LF, so we don't need to worry about that + // here. + + // XXX + // Ideally, I'd use the non-standard y modifier on + // these regexps and set pattern.lastIndex to nextchar. + // But v8 and Node don't support /y, so I have to do + // the substring below + pattern = tokenizer.lookahead; + matched = chars.substring(nextchar).match(pattern); + if (matched) { + // Found a match. + // lastIndex now points to the first char after it + s = matched[0]; + eof = false; + } + else { + // No match. If we're not at the end of input, then + // wait for more chars + if (!input_complete) return; + + // Otherwise, pass an empty string. This is + // different than the string-based lookahead + // above. Regexp-based lookahead is only used + // for character references, and a partial one + // will not parse. Also, a char ref + // terminated with EOF will parse in the if + // branch above, so here we're dealing with + // things that really aren't char refs + s = ""; + eof = true; + } + + tokenizer(codepoint, s, eof); + break; + } + } + } + + + /*** + * Tokenizer utility functions + */ + function addAttribute(namebuf,valuebuf) { + var name = buf2str(namebuf); + var value; + + // Make sure there isn't already an attribute with this name + // If there is, ignore this one. + for(var i = 0; i < attributes.length; i++) { + if (attributes[i][0] === name) return; + } + + if (valuebuf) { + attributes.push([name, buf2str(valuebuf)]); + } + else { + attributes.push([name]); + } + } + + // Shortcut for simple attributes + function handleSimpleAttribute() { + SIMPLEATTR.lastIndex = nextchar-1; + var matched = SIMPLEATTR.exec(chars); + if (!matched) return false; + var name = matched[1]; + var value = matched[2]; + var len = value.length; + switch(value[0]) { + case '"': + case "'": + value = value.substring(1, len-1); + nextchar += (matched[0].length-1); + tokenizer = after_attribute_value_quoted_state; + break; + default: + tokenizer = before_attribute_name_state; + nextchar += (matched[0].length-1); + value = value.substring(0, len-1); + break; + } + + // Make sure there isn't already an attribute with this name + // If there is, ignore this one. + for(var i = 0; i < attributes.length; i++) { + if (attributes[i][0] === name) return true; + } + + attributes.push([name, value]); + return true; + } + + + function pushState() { savedTokenizerStates.push(tokenizer); } + function popState() { tokenizer = savedTokenizerStates.pop(); } + function beginTagName() { + is_end_tag = false; + tagnamebuf.length = 0; + attributes.length = 0; + } + function beginEndTagName() { + is_end_tag = true; + tagnamebuf.length = 0; + attributes.length = 0; + } + + function beginTempBuf() { tempbuf.length = 0; } + function beginAttrName() { attrnamebuf.length = 0; } + function beginAttrValue() { attrvaluebuf.length = 0; } + function beginComment() { commentbuf.length = 0; } + function beginDoctype() { + doctypenamebuf.length = 0; + doctypepublicbuf = null; + doctypesystembuf = null; + } + function beginDoctypePublicId() { doctypepublicbuf = []; } + function beginDoctypeSystemId() { doctypesystembuf = []; } + function forcequirks() { force_quirks = true; } + function cdataAllowed() { + return stack.top && + stack.top.namespaceURI !== "http://www.w3.org/1999/xhtml"; + } + + // Return true if the codepoints in the specified buffer match the + // characters of lasttagname + function appropriateEndTag(buf) { + if (buf.length !== lasttagname.length) return false; + for(var i = 0, n = buf.length; i < n; i++) { + if (buf[i] !== lasttagname.charCodeAt(i)) return false; + } + return true; + } + + function flushText() { + if (textrun.length > 0) { + var s = buf2str(textrun); + textrun.length = 0; + + if (ignore_linefeed) { + ignore_linefeed = false; + if (s[0] === "\n") s = s.substring(1); + if (s.length === 0) return; + } + + insertToken(TEXT, s); + textIncludesNUL = false; + } + ignore_linefeed = false; + } + + // emit a string of chars that match a regexp + // Returns false if no chars matched. + function emitCharsWhile(pattern) { + pattern.lastIndex = nextchar-1; + var match = pattern.exec(chars)[0]; + if (!match) return false; + emitCharString(match); + nextchar += match.length - 1; + return true; + } + + // This is used by CDATA sections + function emitCharString(s) { + if (textrun.length > 0) flushText(); + + if (ignore_linefeed) { + ignore_linefeed = false; + if (s[0] === "\n") s = s.substring(1); + if (s.length === 0) return; + } + + insertToken(TEXT, s); + } + + function emitTag() { + if (is_end_tag) insertToken(ENDTAG, buf2str(tagnamebuf)); + else { + // Remember the last open tag we emitted + var tagname = buf2str(tagnamebuf); + tagnamebuf.length = 0; + lasttagname = tagname; + insertToken(TAG, tagname, attributes); + } + } + + + // A shortcut: look ahead and if this is a open or close tag + // in lowercase with no spaces and no attributes, just emit it now. + function emitSimpleTag() { + SIMPLETAG.lastIndex = nextchar; + var matched = SIMPLETAG.exec(chars); + if (!matched) return false; + var tagname = matched[2]; + var endtag = matched[1]; + if (endtag) { + nextchar += (tagname.length+2); + insertToken(ENDTAG, tagname); + } + else { + nextchar += (tagname.length+1); + lasttagname = tagname; + insertToken(TAG, tagname, NOATTRS); + } + return true; + } + + function emitSelfClosingTag() { + if (is_end_tag) insertToken(ENDTAG, buf2str(tagnamebuf), null, true); + else { + insertToken(TAG, buf2str(tagnamebuf), attributes, true); + } + } + + function emitDoctype() { + insertToken(DOCTYPE, + buf2str(doctypenamebuf), + doctypepublicbuf ? buf2str(doctypepublicbuf) : undefined, + doctypesystembuf ? buf2str(doctypesystembuf) : undefined); + } + + function emitEOF() { + flushText(); + parser(EOF); // EOF never goes to insertForeignContent() + doc.modclock = 1; // Start tracking modifications + } + + // Insert a token, either using the current parser insertio mode + // (for HTML stuff) or using the insertForeignToken() method. + function insertToken(t, value, arg3, arg4) { + flushText(); + var current = stack.top; + + if (!current || current.namespaceURI === NAMESPACE.HTML) { + // This is the common case + parser(t, value, arg3, arg4); + } + else { + // Otherwise we may need to insert this token as foreign content + if (t !== TAG && t !== TEXT) { + insertForeignToken(t, value, arg3, arg4); + } + else { + // But in some cases we treat it as regular content + if ((isMathmlTextIntegrationPoint(current) && + (t === TEXT || + (t === TAG && + value !== "mglyph" && value !== "malignmark"))) || + (t === TAG && + value === "svg" && + current.namespaceURI === NAMESPACE.MATHML && + current.localName === "annotation-xml") || + isHTMLIntegrationPoint(current)) { + + // XXX: the text_integration_mode stuff is an + // attempted bug workaround of mine + text_integration_mode = true; + parser(t, value, arg3, arg4); + text_integration_mode = false; + } + // Otherwise it is foreign content + else { + insertForeignToken(t, value, arg3, arg4); + } + } + } + } + + + /*** + * Tree building utility functions + */ + function insertComment(data) { + stack.top._appendChild(doc.createComment(data)); + } + + function insertText(s) { + if (foster_parent_mode && isA(stack.top, tablesectionrowSet)) { + fosterParent(doc.createTextNode(s)); + } + else { + var lastChild = stack.top.lastChild; + if (lastChild && lastChild.nodeType === Node.TEXT_NODE) { + lastChild.appendData(s); + } + else { + stack.top._appendChild(doc.createTextNode(s)); + } + } + } + + function createHTMLElt(name, attrs) { + // Create the element this way, rather than with + // doc.createElement because createElement() does error + // checking on the element name that we need to avoid here. + var elt = html.createElement(doc, name, null); + + if (attrs) { + for(var i = 0, n = attrs.length; i < n; i++) { + // Use the _ version to avoid testing the validity + // of the attribute name + elt._setAttribute(attrs[i][0], attrs[i][1]); + } + } + // XXX + // If the element is a resettable form element, + // run its reset algorithm now + return elt; + } + + // The in_table insertion mode turns on this flag, and that makes + // insertHTMLElement use the foster parenting algorithm for elements + // tags inside a table + var foster_parent_mode = false; + + function insertHTMLElement(name, attrs) { + var elt = createHTMLElt(name, attrs); + insertElement(elt); + + // XXX + // If this is a form element, set its form attribute property here + if (isA(elt, formassociatedSet)) { + elt._form = form_element_pointer; + } + + return elt; + } + + // Insert the element into the open element or foster parent it + function insertElement(elt) { + if (foster_parent_mode && isA(stack.top, tablesectionrowSet)) { + fosterParent(elt); + } + else { + stack.top._appendChild(elt); + } + + stack.push(elt); + } + + function insertForeignElement(name, attrs, ns) { + var elt = doc.createElementNS(ns, name); + if (attrs) { + for(var i = 0, n = attrs.length; i < n; i++) { + var attr = attrs[i]; + if (attr.length == 2) + elt._setAttribute(attr[0], attr[1]); + else { + elt._setAttributeNS(attr[2], attr[0], attr[1]); + } + } + } + + insertElement(elt); + } + + function fosterParent(elt) { + var parent, before; + + for(var i = stack.elements.length-1; i >= 0; i--) { + if (stack.elements[i] instanceof impl.HTMLTableElement) { + parent = stack.elements[i].parentElement; + if (parent) + before = stack.elements[i]; + else + parent = stack.elements[i-1]; + + break; + } + } + if (!parent) parent = stack.elements[0]; + + if (elt.nodeType === Node.TEXT_NODE) { + var prev; + if (before) prev = before.previousSibling; + else prev = parent.lastChild; + if (prev && prev.nodeType === Node.TEXT_NODE) { + prev.appendData(elt.data); + return; + } + } + if (before) + parent.insertBefore(elt, before); + else + parent._appendChild(elt); + } + + + function resetInsertionMode() { + var last = false; + for(var i = stack.elements.length-1; i >= 0; i--) { + var node = stack.elements[i]; + if (i === 0) { + last = true; + node = fragmentContext; + } + if (node.namespaceURI === NAMESPACE.HTML) { + var tag = node.localName; + switch(tag) { + case "select": + parser = in_select_mode; + return; + case "tr": + parser = in_row_mode; + return; + case "tbody": + case "tfoot": + case "thead": + parser = in_table_body_mode; + return; + case "caption": + parser = in_caption_mode; + return; + case "colgroup": + parser = in_column_group_mode; + return; + case "table": + parser = in_table_mode; + return; + case "head": // Not in_head_mode! + case "body": + parser = in_body_mode; + return; + case "frameset": + parser = in_frameset_mode; + return; + case "html": + parser = before_head_mode; + return; + default: + if (!last && (tag === "td" || tag === "th")) { + parser = in_cell_mode; + return; + } + } + } + if (last) { + parser = in_body_mode; + return; + } + } + } + + + function parseRawText(name, attrs) { + insertHTMLElement(name, attrs); + tokenizer = rawtext_state; + originalInsertionMode = parser; + parser = text_mode; + } + + function parseRCDATA(name, attrs) { + insertHTMLElement(name, attrs); + tokenizer = rcdata_state; + originalInsertionMode = parser; + parser = text_mode; + } + + // Make a copy of element i on the list of active formatting + // elements, using its original attributes, not current + // attributes (which may have been modified by a script) + function afeclone(i) { + return createHTMLElt(afe.list[i].localName, afe.attrs[i]); + } + + + function afereconstruct() { + if (afe.list.length === 0) return; + var entry = afe.list[afe.list.length-1]; + // If the last is a marker , do nothing + if (entry === afe.MARKER) return; + // Or if it is an open element, do nothing + if (stack.elements.lastIndexOf(entry) !== -1) return; + + // Loop backward through the list until we find a marker or an + // open element, and then move forward one from there. + for(var i = afe.list.length-2; i >= 0; i--) { + entry = afe.list[i]; + if (entry === afe.MARKER) break; + if (stack.elements.lastIndexOf(entry) !== -1) break; + } + + // Now loop forward, starting from the element after the current + // one, recreating formatting elements and pushing them back onto + // the list of open elements + for(i = i+1; i < afe.list.length; i++) { + var newelt = afeclone(i); + insertElement(newelt); + afe.list[i] = newelt; + } + } + + // Used by the adoptionAgency() function + var BOOKMARK = {localName:"BM"}; + + function adoptionAgency(tag) { + // Let outer loop counter be zero. + var outer = 0; + + // Outer loop: If outer loop counter is greater than or + // equal to eight, then abort these steps. + while(outer < 8) { + // Increment outer loop counter by one. + outer++; + + // Let the formatting element be the last element in the list + // of active formatting elements that: is between the end of + // the list and the last scope marker in the list, if any, or + // the start of the list otherwise, and has the same tag name + // as the token. + var fmtelt = afe.findElementByTag(tag); + + // If there is no such node, then abort these steps and instead + // act as described in the "any other end tag" entry below. + if (!fmtelt) { + return false; // false means handle by the default case + } + + // Otherwise, if there is such a node, but that node is not in + // the stack of open elements, then this is a parse error; + // remove the element from the list, and abort these steps. + var index = stack.elements.lastIndexOf(fmtelt); + if (index === -1) { + afe.remove(fmtelt); + return true; // true means no more handling required + } + + // Otherwise, if there is such a node, and that node is also in + // the stack of open elements, but the element is not in scope, + // then this is a parse error; ignore the token, and abort + // these steps. + if (!stack.elementInScope(fmtelt)) { + return true; + } + + // Let the furthest block be the topmost node in the stack of + // open elements that is lower in the stack than the formatting + // element, and is an element in the special category. There + // might not be one. + var furthestblock = null, furthestblockindex; + for(var i = index+1; i < stack.elements.length; i++) { + if (isA(stack.elements[i], specialSet)) { + furthestblock = stack.elements[i]; + furthestblockindex = i; + break; + } + } + + // If there is no furthest block, then the UA must skip the + // subsequent steps and instead just pop all the nodes from the + // bottom of the stack of open elements, from the current node + // up to and including the formatting element, and remove the + // formatting element from the list of active formatting + // elements. + if (!furthestblock) { + stack.popElement(fmtelt); + afe.remove(fmtelt); + return true; + } + else { + // Let the common ancestor be the element immediately above + // the formatting element in the stack of open elements. + var ancestor = stack.elements[index-1]; + + // Let a bookmark note the position of the formatting + // element in the list of active formatting elements + // relative to the elements on either side of it in the + // list. + afe.insertAfter(fmtelt, BOOKMARK); + + // Let node and last node be the furthest block. + var node = furthestblock; + var lastnode = furthestblock; + var nodeindex = furthestblockindex; + var nodeafeindex; + + // Let inner loop counter be zero. + var inner = 0; + + // Inner loop: If inner loop counter is greater than + // or equal to three, then abort these steps. + while(inner < 3) { + + // Increment inner loop counter by one. + inner++; + + // Let node be the element immediately above node in + // the stack of open elements, or if node is no longer + // in the stack of open elements (e.g. because it got + // removed by the next step), the element that was + // immediately above node in the stack of open elements + // before node was removed. + node = stack.elements[--nodeindex]; + + // If node is not in the list of active formatting + // elements, then remove node from the stack of open + // elements and then go back to the step labeled inner + // loop. + nodeafeindex = afe.indexOf(node); + if (nodeafeindex === -1) { + stack.removeElement(node); + continue; + } + + // Otherwise, if node is the formatting element, then go + // to the next step in the overall algorithm. + if (node === fmtelt) break; + + // Create an element for the token for which the + // element node was created, replace the entry for node + // in the list of active formatting elements with an + // entry for the new element, replace the entry for + // node in the stack of open elements with an entry for + // the new element, and let node be the new element. + var newelt = afeclone(nodeafeindex); + afe.replace(node, newelt); + stack.elements[nodeindex] = newelt; + node = newelt; + + // If last node is the furthest block, then move the + // aforementioned bookmark to be immediately after the + // new node in the list of active formatting elements. + if (lastnode === furthestblock) { + afe.remove(BOOKMARK); + afe.insertAfter(newelt, BOOKMARK); + } + + // Insert last node into node, first removing it from + // its previous parent node if any. + node._appendChild(lastnode); + + // Let last node be node. + lastnode = node; + } + + // If the common ancestor node is a table, tbody, tfoot, + // thead, or tr element, then, foster parent whatever last + // node ended up being in the previous step, first removing + // it from its previous parent node if any. + if (isA(ancestor, tablesectionrowSet)) { + fosterParent(lastnode); + } + // Otherwise, append whatever last node ended up being in + // the previous step to the common ancestor node, first + // removing it from its previous parent node if any. + else { + ancestor._appendChild(lastnode); + } + + // Create an element for the token for which the + // formatting element was created. + var newelt2 = afeclone(afe.indexOf(fmtelt)); + + // Take all of the child nodes of the furthest block and + // append them to the element created in the last step. + while(furthestblock.hasChildNodes()) { + newelt2._appendChild(furthestblock.firstChild); + } + + // Append that new element to the furthest block. + furthestblock._appendChild(newelt2); + + // Remove the formatting element from the list of active + // formatting elements, and insert the new element into the + // list of active formatting elements at the position of + // the aforementioned bookmark. + afe.remove(fmtelt); + afe.replace(BOOKMARK, newelt2); + + // Remove the formatting element from the stack of open + // elements, and insert the new element into the stack of + // open elements immediately below the position of the + // furthest block in that stack. + stack.removeElement(fmtelt); + var pos = stack.elements.lastIndexOf(furthestblock); + stack.elements.splice(pos+1, 0, newelt2); + } + } + + return true; + } + + // We do this when we get /script in in_text_mode + function handleScriptEnd() { + // XXX: + // This is just a stub implementation right now and doesn't run scripts. + // Getting this method right involves the event loop, URL resolution + // script fetching etc. For now I just want to be able to parse + // documents and test the parser. + + var script = stack.top; + stack.pop(); + parser = originalInsertionMode; + //script._prepare(); + return; + + // XXX: here is what this method is supposed to do + + // Provide a stable state. + + // Let script be the current node (which will be a script + // element). + + // Pop the current node off the stack of open elements. + + // Switch the insertion mode to the original insertion mode. + + // Let the old insertion point have the same value as the current + // insertion point. Let the insertion point be just before the + // next input character. + + // Increment the parser's script nesting level by one. + + // Prepare the script. This might cause some script to execute, + // which might cause new characters to be inserted into the + // tokenizer, and might cause the tokenizer to output more tokens, + // resulting in a reentrant invocation of the parser. + + // Decrement the parser's script nesting level by one. If the + // parser's script nesting level is zero, then set the parser + // pause flag to false. + + // Let the insertion point have the value of the old insertion + // point. (In other words, restore the insertion point to its + // previous value. This value might be the "undefined" value.) + + // At this stage, if there is a pending parsing-blocking script, + // then: + + // If the script nesting level is not zero: + + // Set the parser pause flag to true, and abort the processing + // of any nested invocations of the tokenizer, yielding + // control back to the caller. (Tokenization will resume when + // the caller returns to the "outer" tree construction stage.) + + // The tree construction stage of this particular parser is + // being called reentrantly, say from a call to + // document.write(). + + // Otherwise: + + // Run these steps: + + // Let the script be the pending parsing-blocking + // script. There is no longer a pending + // parsing-blocking script. + + // Block the tokenizer for this instance of the HTML + // parser, such that the event loop will not run tasks + // that invoke the tokenizer. + + // If the parser's Document has a style sheet that is + // blocking scripts or the script's "ready to be + // parser-executed" flag is not set: spin the event + // loop until the parser's Document has no style sheet + // that is blocking scripts and the script's "ready to + // be parser-executed" flag is set. + + // Unblock the tokenizer for this instance of the HTML + // parser, such that tasks that invoke the tokenizer + // can again be run. + + // Let the insertion point be just before the next + // input character. + + // Increment the parser's script nesting level by one + // (it should be zero before this step, so this sets + // it to one). + + // Execute the script. + + // Decrement the parser's script nesting level by + // one. If the parser's script nesting level is zero + // (which it always should be at this point), then set + // the parser pause flag to false. + + // Let the insertion point be undefined again. + + // If there is once again a pending parsing-blocking + // script, then repeat these steps from step 1. + + + } + + function stopParsing() { + // XXX This is just a temporary implementation to get the parser working. + // A full implementation involves scripts and events and the event loop. + + // Remove the link from document to parser. + // This is instead of "set the insertion point to undefined". + // It means that document.write() can't write into the doc anymore. + delete doc._parser; + + stack.elements.length = 0; // pop everything off + + // If there is a window object associated with the document + // then trigger an load event on it + if (doc.defaultView) { + doc.defaultView.dispatchEvent(new impl.Event("load",{})); + } + + } + + /**** + * Tokenizer states + */ + + /** + * This file was partially mechanically generated from + * http://www.whatwg.org/specs/web-apps/current-work/multipage/tokenization.html + * + * After mechanical conversion, it was further converted from + * prose to JS by hand, but the intent is that it is a very + * faithful rendering of the HTML tokenization spec in + * JavaScript. + * + * It is not a goal of this tokenizer to detect or report + * parse errors. + * + * XXX The tokenizer is supposed to work with straight UTF32 + * codepoints. But I don't think it has any dependencies on + * any character outside of the BMP so I think it is safe to + * pass it UTF16 characters. I don't think it will ever change + * state in the middle of a surrogate pair. + */ + + /* + * Each state is represented by a function. For most states, the + * scanner simply passes the next character (as an integer + * codepoint) to the current state function and automatically + * consumes the character. If the state function can't process + * the character it can call pushback() to push it back to the + * scanner. + * + * Some states require lookahead, though. If a state function has + * a lookahead property, then it is invoked differently. In this + * case, the scanner invokes the function with 3 arguments: 1) the + * next codepoint 2) a string of lookahead text 3) a boolean that + * is true if the lookahead goes all the way to the EOF. (XXX + * actually maybe this third is not necessary... the lookahead + * could just include \uFFFF?) + * + * If the lookahead property of a state function is an integer, it + * specifies the number of characters required. If it is a string, + * then the scanner will scan for that string and return all + * characters up to and including that sequence, or up to EOF. If + * the lookahead property is a regexp, then the scanner will match + * the regexp at the current point and return the matching string. + * + * States that require lookahead are responsible for explicitly + * consuming the characters they process. They do this by + * incrementing nextchar by the number of processed characters. + */ + + function data_state(c) { + switch(c) { + case 0x0026: // AMPERSAND + tokenizer = character_reference_in_data_state; + break; + case 0x003C: // LESS-THAN SIGN + if (emitSimpleTag()) // Shortcut for

,

, etc. + break; + tokenizer = tag_open_state; + break; + case 0x0000: // NULL + // Usually null characters emitted by the tokenizer will be + // ignored by the tree builder, but sometimes they'll be + // converted to \uFFFD. I don't want to have the search every + // string emitted to replace NULs, so I'll set a flag + // if I've emitted a NUL. + textrun.push(c); + textIncludesNUL = true; + break; + case -1: // EOF + emitEOF(); + break; + default: + // Instead of just pushing a single character and then + // coming back to the very same place, lookahead and + // emit everything we can at once. + emitCharsWhile(DATATEXT) || textrun.push(c); + break; + } + } + + function character_reference_in_data_state(c, lookahead, eof) { + var char = parseCharRef(lookahead, false); + if (char !== null) { + if (typeof char === "number") textrun.push(char); + else pushAll(textrun, char); // An array of characters + } + else + textrun.push(0x0026); // AMPERSAND; + + tokenizer = data_state; + } + character_reference_in_data_state.lookahead = CHARREF; + + function rcdata_state(c) { + // Save the open tag so we can find a matching close tag + switch(c) { + case 0x0026: // AMPERSAND + tokenizer = character_reference_in_rcdata_state; + break; + case 0x003C: // LESS-THAN SIGN + tokenizer = rcdata_less_than_sign_state; + break; + case 0x0000: // NULL + textrun.push(0xFFFD); // REPLACEMENT CHARACTER + textIncludesNUL = true; + break; + case -1: // EOF + emitEOF(); + break; + default: + textrun.push(c); + break; + } + } + + function character_reference_in_rcdata_state(c, lookahead, eof) { + var char = parseCharRef(lookahead, false); + if (char !== null) { + if (typeof char === "number") textrun.push(char); + else pushAll(textrun, char); // An array of characters + } + else + textrun.push(0x0026); // AMPERSAND; + + tokenizer = rcdata_state; + } + character_reference_in_rcdata_state.lookahead = CHARREF; + + function rawtext_state(c) { + switch(c) { + case 0x003C: // LESS-THAN SIGN + tokenizer = rawtext_less_than_sign_state; + break; + case 0x0000: // NULL + textrun.push(0xFFFD); // REPLACEMENT CHARACTER + break; + case -1: // EOF + emitEOF(); + break; + default: + emitCharsWhile(RAWTEXT) || textrun.push(c); + break; + } + } + + function script_data_state(c) { + switch(c) { + case 0x003C: // LESS-THAN SIGN + tokenizer = script_data_less_than_sign_state; + break; + case 0x0000: // NULL + textrun.push(0xFFFD); // REPLACEMENT CHARACTER + break; + case -1: // EOF + emitEOF(); + break; + default: + emitCharsWhile(RAWTEXT) || textrun.push(c); + break; + } + } + + function plaintext_state(c) { + switch(c) { + case 0x0000: // NULL + textrun.push(0xFFFD); // REPLACEMENT CHARACTER + break; + case -1: // EOF + emitEOF(); + break; + default: + emitCharsWhile(PLAINTEXT) || textrun.push(c); + break; + } + } + + function tag_open_state(c) { + switch(c) { + case 0x0021: // EXCLAMATION MARK + tokenizer = markup_declaration_open_state; + break; + case 0x002F: // SOLIDUS + tokenizer = end_tag_open_state; + break; + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + c += 0x20; // to lowercase + /* falls through */ + + case 0x0061: // [a-z] + case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: + case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: + case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: + case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: + case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: + beginTagName(); + tagnamebuf.push(c); + tokenizer = tag_name_state; + break; + case 0x003F: // QUESTION MARK + nextchar--; // pushback + tokenizer = bogus_comment_state; + break; + default: + textrun.push(0x003C); // LESS-THAN SIGN + nextchar--; // pushback + tokenizer = data_state; + break; + } + } + + function end_tag_open_state(c) { + switch(c) { + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + c += 0x20; // to lowercase + /* falls through */ + + case 0x0061: // [a-z] + case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: + case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: + case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: + case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: + case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: + beginEndTagName(); + tagnamebuf.push(c); + tokenizer = tag_name_state; + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + break; + case -1: // EOF + textrun.push(0x003C); // LESS-THAN SIGN + textrun.push(0x002F); // SOLIDUS + nextchar--; // pushback + tokenizer = data_state; + break; + default: + nextchar--; // pushback + tokenizer = bogus_comment_state; + break; + } + } + + function tag_name_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + tokenizer = before_attribute_name_state; + break; + case 0x002F: // SOLIDUS + tokenizer = self_closing_start_tag_state; + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + emitTag(); + break; + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + tagnamebuf.push(c + 0x0020); + break; + case 0x0000: // NULL + tagnamebuf.push(0xFFFD /* REPLACEMENT CHARACTER */); + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + default: + tagnamebuf.push(c); + // appendCharsWhile(tagnamebuf, TAGNAMECHARS) || tagnamebuf.push(c); + break; + } + } + + function rcdata_less_than_sign_state(c) { + /* identical to the RAWTEXT less-than sign state, except s/RAWTEXT/RCDATA/g */ + if (c === 0x002F) { // SOLIDUS + beginTempBuf(); + tokenizer = rcdata_end_tag_open_state; + } + else { + textrun.push(0x003C); // LESS-THAN SIGN + nextchar--; // pushback + tokenizer = rcdata_state; + } + } + + function rcdata_end_tag_open_state(c) { + /* identical to the RAWTEXT (and Script data) end tag open state, except s/RAWTEXT/RCDATA/g */ + switch(c) { + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + beginEndTagName(); + tagnamebuf.push(c + 0x0020); + tempbuf.push(c); + tokenizer = rcdata_end_tag_name_state; + break; + case 0x0061: // [a-z] + case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: + case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: + case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: + case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: + case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: + beginEndTagName(); + tagnamebuf.push(c); + tempbuf.push(c); + tokenizer = rcdata_end_tag_name_state; + break; + default: + textrun.push(0x003C); // LESS-THAN SIGN + textrun.push(0x002F); // SOLIDUS + nextchar--; // pushback + tokenizer = rcdata_state; + break; + } + } + + function rcdata_end_tag_name_state(c) { + /* identical to the RAWTEXT (and Script data) end tag name state, except s/RAWTEXT/RCDATA/g */ + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + if (appropriateEndTag(tagnamebuf)) { + tokenizer = before_attribute_name_state; + return; + } + break; + case 0x002F: // SOLIDUS + if (appropriateEndTag(tagnamebuf)) { + tokenizer = self_closing_start_tag_state; + return; + } + break; + case 0x003E: // GREATER-THAN SIGN + if (appropriateEndTag(tagnamebuf)) { + tokenizer = data_state; + emitTag(); + return; + } + break; + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + + tagnamebuf.push(c + 0x0020); + tempbuf.push(c); + return; + case 0x0061: // [a-z] + case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: + case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: + case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: + case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: + case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: + + tagnamebuf.push(c); + tempbuf.push(c); + return; + default: + break; + } + + // If we don't return in one of the cases above, then this was not + // an appropriately matching close tag, so back out by emitting all + // the characters as text + textrun.push(0x003C); // LESS-THAN SIGN + textrun.push(0x002F); // SOLIDUS + pushAll(textrun, tempbuf); + nextchar--; // pushback + tokenizer = rcdata_state; + } + + function rawtext_less_than_sign_state(c) { + /* identical to the RCDATA less-than sign state, except s/RCDATA/RAWTEXT/g + */ + if (c === 0x002F) { // SOLIDUS + beginTempBuf(); + tokenizer = rawtext_end_tag_open_state; + } + else { + textrun.push(0x003C); // LESS-THAN SIGN + nextchar--; // pushback + tokenizer = rawtext_state; + } + } + + function rawtext_end_tag_open_state(c) { + /* identical to the RCDATA (and Script data) end tag open state, except s/RCDATA/RAWTEXT/g */ + switch(c) { + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + beginEndTagName(); + tagnamebuf.push(c + 0x0020); + tempbuf.push(c); + tokenizer = rawtext_end_tag_name_state; + break; + case 0x0061: // [a-z] + case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: + case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: + case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: + case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: + case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: + beginEndTagName(); + tagnamebuf.push(c); + tempbuf.push(c); + tokenizer = rawtext_end_tag_name_state; + break; + default: + textrun.push(0x003C); // LESS-THAN SIGN + textrun.push(0x002F); // SOLIDUS + nextchar--; // pushback + tokenizer = rawtext_state; + break; + } + } + + function rawtext_end_tag_name_state(c) { + /* identical to the RCDATA (and Script data) end tag name state, except s/RCDATA/RAWTEXT/g */ + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + if (appropriateEndTag(tagnamebuf)) { + tokenizer = before_attribute_name_state; + return; + } + break; + case 0x002F: // SOLIDUS + if (appropriateEndTag(tagnamebuf)) { + tokenizer = self_closing_start_tag_state; + return; + } + break; + case 0x003E: // GREATER-THAN SIGN + if (appropriateEndTag(tagnamebuf)) { + tokenizer = data_state; + emitTag(); + return; + } + break; + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + tagnamebuf.push(c + 0x0020); + tempbuf.push(c); + return; + case 0x0061: // [a-z] + case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: + case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: + case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: + case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: + case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: + tagnamebuf.push(c); + tempbuf.push(c); + return; + default: + break; + } + + // If we don't return in one of the cases above, then this was not + // an appropriately matching close tag, so back out by emitting all + // the characters as text + textrun.push(0x003C); // LESS-THAN SIGN + textrun.push(0x002F); // SOLIDUS + pushAll(textrun,tempbuf); + nextchar--; // pushback + tokenizer = rawtext_state; + } + + function script_data_less_than_sign_state(c) { + switch(c) { + case 0x002F: // SOLIDUS + beginTempBuf(); + tokenizer = script_data_end_tag_open_state; + break; + case 0x0021: // EXCLAMATION MARK + tokenizer = script_data_escape_start_state; + textrun.push(0x003C); // LESS-THAN SIGN + textrun.push(0x0021); // EXCLAMATION MARK + break; + default: + textrun.push(0x003C); // LESS-THAN SIGN + nextchar--; // pushback + tokenizer = script_data_state; + break; + } + } + + function script_data_end_tag_open_state(c) { + /* identical to the RCDATA (and RAWTEXT) end tag open state, except s/RCDATA/Script data/g */ + switch(c) { + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + beginEndTagName(); + tagnamebuf.push(c + 0x0020); + tempbuf.push(c); + tokenizer = script_data_end_tag_name_state; + break; + case 0x0061: // [a-z] + case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: + case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: + case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: + case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: + case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: + beginEndTagName(); + tagnamebuf.push(c); + tempbuf.push(c); + tokenizer = script_data_end_tag_name_state; + break; + default: + textrun.push(0x003C); // LESS-THAN SIGN + textrun.push(0x002F); // SOLIDUS + nextchar--; // pushback + tokenizer = script_data_state; + break; + } + } + + function script_data_end_tag_name_state(c) { + /* identical to the RCDATA (and RAWTEXT) end tag name state, except s/RCDATA/Script data/g */ + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + if (appropriateEndTag(tagnamebuf)) { + tokenizer = before_attribute_name_state; + return; + } + break; + case 0x002F: // SOLIDUS + if (appropriateEndTag(tagnamebuf)) { + tokenizer = self_closing_start_tag_state; + return; + } + break; + case 0x003E: // GREATER-THAN SIGN + if (appropriateEndTag(tagnamebuf)) { + tokenizer = data_state; + emitTag(); + return; + } + break; + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + + tagnamebuf.push(c + 0x0020); + tempbuf.push(c); + return; + case 0x0061: // [a-z] + case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: + case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: + case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: + case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: + case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: + + tagnamebuf.push(c); + tempbuf.push(c); + return; + default: + break; + } + + // If we don't return in one of the cases above, then this was not + // an appropriately matching close tag, so back out by emitting all + // the characters as text + textrun.push(0x003C); // LESS-THAN SIGN + textrun.push(0x002F); // SOLIDUS + pushAll(textrun,tempbuf); + nextchar--; // pushback + tokenizer = script_data_state; + } + + function script_data_escape_start_state(c) { + if (c === 0x002D) { // HYPHEN-MINUS + tokenizer = script_data_escape_start_dash_state; + textrun.push(0x002D); // HYPHEN-MINUS + } + else { + nextchar--; // pushback + tokenizer = script_data_state; + } + } + + function script_data_escape_start_dash_state(c) { + if (c === 0x002D) { // HYPHEN-MINUS + tokenizer = script_data_escaped_dash_dash_state; + textrun.push(0x002D); // HYPHEN-MINUS + } + else { + nextchar--; // pushback + tokenizer = script_data_state; + } + } + + function script_data_escaped_state(c) { + switch(c) { + case 0x002D: // HYPHEN-MINUS + tokenizer = script_data_escaped_dash_state; + textrun.push(0x002D); // HYPHEN-MINUS + break; + case 0x003C: // LESS-THAN SIGN + tokenizer = script_data_escaped_less_than_sign_state; + break; + case 0x0000: // NULL + textrun.push(0xFFFD); // REPLACEMENT CHARACTER + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + default: + textrun.push(c); + break; + } + } + + function script_data_escaped_dash_state(c) { + switch(c) { + case 0x002D: // HYPHEN-MINUS + tokenizer = script_data_escaped_dash_dash_state; + textrun.push(0x002D); // HYPHEN-MINUS + break; + case 0x003C: // LESS-THAN SIGN + tokenizer = script_data_escaped_less_than_sign_state; + break; + case 0x0000: // NULL + tokenizer = script_data_escaped_state; + textrun.push(0xFFFD); // REPLACEMENT CHARACTER + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + default: + tokenizer = script_data_escaped_state; + textrun.push(c); + break; + } + } + + function script_data_escaped_dash_dash_state(c) { + switch(c) { + case 0x002D: // HYPHEN-MINUS + textrun.push(0x002D); // HYPHEN-MINUS + break; + case 0x003C: // LESS-THAN SIGN + tokenizer = script_data_escaped_less_than_sign_state; + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = script_data_state; + textrun.push(0x003E); // GREATER-THAN SIGN + break; + case 0x0000: // NULL + tokenizer = script_data_escaped_state; + textrun.push(0xFFFD); // REPLACEMENT CHARACTER + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + default: + tokenizer = script_data_escaped_state; + textrun.push(c); + break; + } + } + + function script_data_escaped_less_than_sign_state(c) { + switch(c) { + case 0x002F: // SOLIDUS + beginTempBuf(); + tokenizer = script_data_escaped_end_tag_open_state; + break; + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + beginTempBuf(); + tempbuf.push(c + 0x0020); + tokenizer = script_data_double_escape_start_state; + textrun.push(0x003C); // LESS-THAN SIGN + textrun.push(c); + break; + case 0x0061: // [a-z] + case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: + case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: + case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: + case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: + case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: + beginTempBuf(); + tempbuf.push(c); + tokenizer = script_data_double_escape_start_state; + textrun.push(0x003C); // LESS-THAN SIGN + textrun.push(c); + break; + default: + textrun.push(0x003C); // LESS-THAN SIGN + nextchar--; // pushback + tokenizer = script_data_escaped_state; + break; + } + } + + function script_data_escaped_end_tag_open_state(c) { + switch(c) { + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + beginEndTagName(); + tagnamebuf.push(c + 0x0020); + tempbuf.push(c); + tokenizer = script_data_escaped_end_tag_name_state; + break; + case 0x0061: // [a-z] + case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: + case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: + case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: + case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: + case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: + beginEndTagName(); + tagnamebuf.push(c); + tempbuf.push(c); + tokenizer = script_data_escaped_end_tag_name_state; + break; + default: + textrun.push(0x003C); // LESS-THAN SIGN + textrun.push(0x002F); // SOLIDUS + nextchar--; // pushback + tokenizer = script_data_escaped_state; + break; + } + } + + function script_data_escaped_end_tag_name_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + if (appropriateEndTag(tagnamebuf)) { + tokenizer = before_attribute_name_state; + return; + } + break; + case 0x002F: // SOLIDUS + if (appropriateEndTag(tagnamebuf)) { + tokenizer = self_closing_start_tag_state; + return; + } + break; + case 0x003E: // GREATER-THAN SIGN + if (appropriateEndTag(tagnamebuf)) { + tokenizer = data_state; + emitTag(); + return; + } + break; + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + tagnamebuf.push(c + 0x0020); + tempbuf.push(c); + return; + case 0x0061: // [a-z] + case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: + case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: + case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: + case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: + case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: + tagnamebuf.push(c); + tempbuf.push(c); + return; + default: + break; + } + + // We get here in the default case, and if the closing tagname + // is not an appropriate tagname. + textrun.push(0x003C); // LESS-THAN SIGN + textrun.push(0x002F); // SOLIDUS + pushAll(textrun,tempbuf); + nextchar--; // pushback + tokenizer = script_data_escaped_state; + } + + function script_data_double_escape_start_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + case 0x002F: // SOLIDUS + case 0x003E: // GREATER-THAN SIGN + if (buf2str(tempbuf) === "script") { + tokenizer = script_data_double_escaped_state; + } + else { + tokenizer = script_data_escaped_state; + } + textrun.push(c); + break; + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + tempbuf.push(c + 0x0020); + textrun.push(c); + break; + case 0x0061: // [a-z] + case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: + case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: + case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: + case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: + case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: + tempbuf.push(c); + textrun.push(c); + break; + default: + nextchar--; // pushback + tokenizer = script_data_escaped_state; + break; + } + } + + function script_data_double_escaped_state(c) { + switch(c) { + case 0x002D: // HYPHEN-MINUS + tokenizer = script_data_double_escaped_dash_state; + textrun.push(0x002D); // HYPHEN-MINUS + break; + case 0x003C: // LESS-THAN SIGN + tokenizer = script_data_double_escaped_less_than_sign_state; + textrun.push(0x003C); // LESS-THAN SIGN + break; + case 0x0000: // NULL + textrun.push(0xFFFD); // REPLACEMENT CHARACTER + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + default: + textrun.push(c); + break; + } + } + + function script_data_double_escaped_dash_state(c) { + switch(c) { + case 0x002D: // HYPHEN-MINUS + tokenizer = script_data_double_escaped_dash_dash_state; + textrun.push(0x002D); // HYPHEN-MINUS + break; + case 0x003C: // LESS-THAN SIGN + tokenizer = script_data_double_escaped_less_than_sign_state; + textrun.push(0x003C); // LESS-THAN SIGN + break; + case 0x0000: // NULL + tokenizer = script_data_double_escaped_state; + textrun.push(0xFFFD); // REPLACEMENT CHARACTER + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + default: + tokenizer = script_data_double_escaped_state; + textrun.push(c); + break; + } + } + + function script_data_double_escaped_dash_dash_state(c) { + switch(c) { + case 0x002D: // HYPHEN-MINUS + textrun.push(0x002D); // HYPHEN-MINUS + break; + case 0x003C: // LESS-THAN SIGN + tokenizer = script_data_double_escaped_less_than_sign_state; + textrun.push(0x003C); // LESS-THAN SIGN + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = script_data_state; + textrun.push(0x003E); // GREATER-THAN SIGN + break; + case 0x0000: // NULL + tokenizer = script_data_double_escaped_state; + textrun.push(0xFFFD); // REPLACEMENT CHARACTER + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + default: + tokenizer = script_data_double_escaped_state; + textrun.push(c); + break; + } + } + + function script_data_double_escaped_less_than_sign_state(c) { + if (c === 0x002F) { // SOLIDUS + beginTempBuf(); + tokenizer = script_data_double_escape_end_state; + textrun.push(0x002F); // SOLIDUS + } + else { + nextchar--; // pushback + tokenizer = script_data_double_escaped_state; + } + } + + function script_data_double_escape_end_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + case 0x002F: // SOLIDUS + case 0x003E: // GREATER-THAN SIGN + if (buf2str(tempbuf) === "script") { + tokenizer = script_data_escaped_state; + } + else { + tokenizer = script_data_double_escaped_state; + } + textrun.push(c); + break; + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + tempbuf.push(c + 0x0020); + textrun.push(c); + break; + case 0x0061: // [a-z] + case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: + case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: + case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: + case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: + case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: + tempbuf.push(c); + textrun.push(c); + break; + default: + nextchar--; // pushback + tokenizer = script_data_double_escaped_state; + break; + } + } + + function before_attribute_name_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + /* Ignore the character. */ + break; + case 0x002F: // SOLIDUS + tokenizer = self_closing_start_tag_state; + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + emitTag(); + break; + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + beginAttrName(); + attrnamebuf.push(c + 0x0020); + tokenizer = attribute_name_state; + break; + case 0x0000: // NULL + beginAttrName(); + attrnamebuf.push(0xFFFD); + tokenizer = attribute_name_state; + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + case 0x0022: // QUOTATION MARK + case 0x0027: // APOSTROPHE + case 0x003C: // LESS-THAN SIGN + case 0x003D: // EQUALS SIGN + /* falls through */ + default: + if (handleSimpleAttribute()) break; + beginAttrName(); + attrnamebuf.push(c); + tokenizer = attribute_name_state; + break; + } + } + + function attribute_name_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + tokenizer = after_attribute_name_state; + break; + case 0x002F: // SOLIDUS + addAttribute(attrnamebuf); + tokenizer = self_closing_start_tag_state; + break; + case 0x003D: // EQUALS SIGN + beginAttrValue(); + tokenizer = before_attribute_value_state; + break; + case 0x003E: // GREATER-THAN SIGN + addAttribute(attrnamebuf); + tokenizer = data_state; + emitTag(); + break; + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + attrnamebuf.push(c + 0x0020); + break; + case 0x0000: // NULL + attrnamebuf.push(0xFFFD /* REPLACEMENT CHARACTER */); + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + case 0x0022: // QUOTATION MARK + case 0x0027: // APOSTROPHE + case 0x003C: // LESS-THAN SIGN + /* falls through */ + default: + attrnamebuf.push(c); + break; + } + } + + function after_attribute_name_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + /* Ignore the character. */ + break; + case 0x002F: // SOLIDUS + addAttribute(attrnamebuf); + tokenizer = self_closing_start_tag_state; + break; + case 0x003D: // EQUALS SIGN + beginAttrValue(); + tokenizer = before_attribute_value_state; + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + addAttribute(attrnamebuf); + emitTag(); + break; + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + addAttribute(attrnamebuf); + beginAttrName(); + attrnamebuf.push(c + 0x0020); + tokenizer = attribute_name_state; + break; + case 0x0000: // NULL + addAttribute(attrnamebuf); + beginAttrName(); + attrnamebuf.push(0xFFFD); + tokenizer = attribute_name_state; + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + case 0x0022: // QUOTATION MARK + case 0x0027: // APOSTROPHE + case 0x003C: // LESS-THAN SIGN + /* falls through */ + default: + addAttribute(attrnamebuf); + beginAttrName(); + attrnamebuf.push(c); + tokenizer = attribute_name_state; + break; + } + } + + function before_attribute_value_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + /* Ignore the character. */ + break; + case 0x0022: // QUOTATION MARK + tokenizer = attribute_value_double_quoted_state; + break; + case 0x0026: // AMPERSAND + nextchar--; // pushback + tokenizer = attribute_value_unquoted_state; + break; + case 0x0027: // APOSTROPHE + tokenizer = attribute_value_single_quoted_state; + break; + case 0x0000: // NULL + attrvaluebuf.push(0xFFFD /* REPLACEMENT CHARACTER */); + tokenizer = attribute_value_unquoted_state; + break; + case 0x003E: // GREATER-THAN SIGN + addAttribute(attrnamebuf); + emitTag(); + tokenizer = data_state; + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + case 0x003C: // LESS-THAN SIGN + case 0x003D: // EQUALS SIGN + case 0x0060: // GRAVE ACCENT + /* falls through */ + default: + attrvaluebuf.push(c); + tokenizer = attribute_value_unquoted_state; + break; + } + } + + function attribute_value_double_quoted_state(c) { + switch(c) { + case 0x0022: // QUOTATION MARK + addAttribute(attrnamebuf, attrvaluebuf); + tokenizer = after_attribute_value_quoted_state; + break; + case 0x0026: // AMPERSAND + pushState(); + tokenizer = character_reference_in_attribute_value_state; + break; + case 0x0000: // NULL + attrvaluebuf.push(0xFFFD /* REPLACEMENT CHARACTER */); + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + default: + attrvaluebuf.push(c); + // appendCharsWhile(attrvaluebuf, DBLQUOTEATTRVAL); + break; + } + } + + function attribute_value_single_quoted_state(c) { + switch(c) { + case 0x0027: // APOSTROPHE + addAttribute(attrnamebuf, attrvaluebuf); + tokenizer = after_attribute_value_quoted_state; + break; + case 0x0026: // AMPERSAND + pushState(); + tokenizer = character_reference_in_attribute_value_state; + break; + case 0x0000: // NULL + attrvaluebuf.push(0xFFFD /* REPLACEMENT CHARACTER */); + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + default: + attrvaluebuf.push(c); + // appendCharsWhile(attrvaluebuf, SINGLEQUOTEATTRVAL); + break; + } + } + + function attribute_value_unquoted_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + addAttribute(attrnamebuf, attrvaluebuf); + tokenizer = before_attribute_name_state; + break; + case 0x0026: // AMPERSAND + pushState(); + tokenizer = character_reference_in_attribute_value_state; + break; + case 0x003E: // GREATER-THAN SIGN + addAttribute(attrnamebuf, attrvaluebuf); + tokenizer = data_state; + emitTag(); + break; + case 0x0000: // NULL + attrvaluebuf.push(0xFFFD /* REPLACEMENT CHARACTER */); + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + case 0x0022: // QUOTATION MARK + case 0x0027: // APOSTROPHE + case 0x003C: // LESS-THAN SIGN + case 0x003D: // EQUALS SIGN + case 0x0060: // GRAVE ACCENT + /* falls through */ + default: + attrvaluebuf.push(c); + // appendCharsWhile(attrvaluebuf, UNQUOTEDATTRVAL); + break; + } + } + + function character_reference_in_attribute_value_state(c, lookahead, eof) { + var char = parseCharRef(lookahead, true); + if (char !== null) { + if (typeof char === "number") + attrvaluebuf.push(char); + else { + // An array of numbers + for(var i = 0; i < char.length; i++) { + attrvaluebuf.push(char[i]); + } + } + } + else { + attrvaluebuf.push(0x0026); // AMPERSAND; + } + + popState(); + } + character_reference_in_attribute_value_state.lookahead = ATTRCHARREF; + + function after_attribute_value_quoted_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + tokenizer = before_attribute_name_state; + break; + case 0x002F: // SOLIDUS + tokenizer = self_closing_start_tag_state; + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + emitTag(); + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + default: + nextchar--; // pushback + tokenizer = before_attribute_name_state; + break; + } + } + + function self_closing_start_tag_state(c) { + switch(c) { + case 0x003E: // GREATER-THAN SIGN + // Set the self-closing flag of the current tag token. + tokenizer = data_state; + emitSelfClosingTag(true); + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + default: + nextchar--; // pushback + tokenizer = before_attribute_name_state; + break; + } + } + + function bogus_comment_state(c, lookahead, eof) { + var len = lookahead.length; + + if (eof) { + nextchar += len-1; // don't consume the eof + } + else { + nextchar += len; + } + + var comment = lookahead.substring(0, len-1); + + comment = comment.replace(/\u0000/g,"\uFFFD"); + comment = comment.replace(/\u000D\u000A/g,"\u000A"); + comment = comment.replace(/\u000D/g,"\u000A"); + + insertToken(COMMENT, comment); + tokenizer = data_state; + } + bogus_comment_state.lookahead = ">"; + + function markup_declaration_open_state(c, lookahead, eof) { + if (lookahead[0] === "-" && lookahead[1] === "-") { + nextchar += 2; + beginComment(); + tokenizer = comment_start_state; + return; + } + + if (lookahead.toUpperCase() === "DOCTYPE") { + nextchar += 7; + tokenizer = doctype_state; + } + else if (lookahead === "[CDATA[" && cdataAllowed()) { + nextchar += 7; + tokenizer = cdata_section_state; + } + else { + tokenizer = bogus_comment_state; + } + } + markup_declaration_open_state.lookahead = 7; + + function comment_start_state(c) { + beginComment(); + switch(c) { + case 0x002D: // HYPHEN-MINUS + tokenizer = comment_start_dash_state; + break; + case 0x0000: // NULL + commentbuf.push(0xFFFD /* REPLACEMENT CHARACTER */); + tokenizer = comment_state; + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + insertToken(COMMENT, buf2str(commentbuf)); + break; /* see comment in comment end state */ + case -1: // EOF + insertToken(COMMENT, buf2str(commentbuf)); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + commentbuf.push(c); + tokenizer = comment_state; + break; + } + } + + function comment_start_dash_state(c) { + switch(c) { + case 0x002D: // HYPHEN-MINUS + tokenizer = comment_end_state; + break; + case 0x0000: // NULL + commentbuf.push(0x002D /* HYPHEN-MINUS */); + commentbuf.push(0xFFFD); + tokenizer = comment_state; + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + insertToken(COMMENT, buf2str(commentbuf)); + break; + case -1: // EOF + insertToken(COMMENT, buf2str(commentbuf)); + nextchar--; // pushback + tokenizer = data_state; + break; /* see comment in comment end state */ + default: + commentbuf.push(0x002D /* HYPHEN-MINUS */); + commentbuf.push(c); + tokenizer = comment_state; + break; + } + } + + function comment_state(c) { + switch(c) { + case 0x002D: // HYPHEN-MINUS + tokenizer = comment_end_dash_state; + break; + case 0x0000: // NULL + commentbuf.push(0xFFFD /* REPLACEMENT CHARACTER */); + break; + case -1: // EOF + insertToken(COMMENT, buf2str(commentbuf)); + nextchar--; // pushback + tokenizer = data_state; + break; /* see comment in comment end state */ + default: + commentbuf.push(c); + break; + } + } + + function comment_end_dash_state(c) { + switch(c) { + case 0x002D: // HYPHEN-MINUS + tokenizer = comment_end_state; + break; + case 0x0000: // NULL + commentbuf.push(0x002D /* HYPHEN-MINUS */); + commentbuf.push(0xFFFD); + tokenizer = comment_state; + break; + case -1: // EOF + insertToken(COMMENT, buf2str(commentbuf)); + nextchar--; // pushback + tokenizer = data_state; + break; /* see comment in comment end state */ + default: + commentbuf.push(0x002D /* HYPHEN-MINUS */); + commentbuf.push(c); + tokenizer = comment_state; + break; + } + } + + function comment_end_state(c) { + switch(c) { + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + insertToken(COMMENT, buf2str(commentbuf)); + break; + case 0x0000: // NULL + commentbuf.push(0x002D); + commentbuf.push(0x002D); + commentbuf.push(0xFFFD); + tokenizer = comment_state; + break; + case 0x0021: // EXCLAMATION MARK + tokenizer = comment_end_bang_state; + break; + case 0x002D: // HYPHEN-MINUS + commentbuf.push(0x002D); + break; + case -1: // EOF + insertToken(COMMENT, buf2str(commentbuf)); + nextchar--; // pushback + tokenizer = data_state; + break; /* For security reasons: otherwise, hostile user could put a script in a comment e.g. in a blog comment and then DOS the server so that the end tag isn't read, and then the commented script tag would be treated as live code */ + default: + commentbuf.push(0x002D); + commentbuf.push(0x002D); + commentbuf.push(c); + tokenizer = comment_state; + break; + } + } + + function comment_end_bang_state(c) { + switch(c) { + case 0x002D: // HYPHEN-MINUS + commentbuf.push(0x002D); + commentbuf.push(0x002D); + commentbuf.push(0x0021); + tokenizer = comment_end_dash_state; + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + insertToken(COMMENT, buf2str(commentbuf)); + break; + case 0x0000: // NULL + commentbuf.push(0x002D); + commentbuf.push(0x002D); + commentbuf.push(0x0021); + commentbuf.push(0xFFFD); + tokenizer = comment_state; + break; + case -1: // EOF + insertToken(COMMENT, buf2str(commentbuf)); + nextchar--; // pushback + tokenizer = data_state; + break; /* see comment in comment end state */ + default: + commentbuf.push(0x002D); + commentbuf.push(0x002D); + commentbuf.push(0x0021); + commentbuf.push(c); + tokenizer = comment_state; + break; + } + } + + function doctype_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + tokenizer = before_doctype_name_state; + break; + case -1: // EOF + beginDoctype(); + forcequirks(); + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + nextchar--; // pushback + tokenizer = before_doctype_name_state; + break; + } + } + + function before_doctype_name_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + /* Ignore the character. */ + break; + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + beginDoctype(); + doctypenamebuf.push(c + 0x0020); + tokenizer = doctype_name_state; + break; + case 0x0000: // NULL + beginDoctype(); + doctypenamebuf.push(0xFFFD); + tokenizer = doctype_name_state; + break; + case 0x003E: // GREATER-THAN SIGN + beginDoctype(); + tokenizer = data_state; + forcequirks(); + emitDoctype(); + break; + case -1: // EOF + beginDoctype(); + forcequirks(); + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + beginDoctype(); + doctypenamebuf.push(c); + tokenizer = doctype_name_state; + break; + } + } + + function doctype_name_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + tokenizer = after_doctype_name_state; + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + emitDoctype(); + break; + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + doctypenamebuf.push(c + 0x0020); + break; + case 0x0000: // NULL + doctypenamebuf.push(0xFFFD /* REPLACEMENT CHARACTER */); + break; + case -1: // EOF + forcequirks(); + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + doctypenamebuf.push(c); + break; + } + } + + function after_doctype_name_state(c, lookahead, eof) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + /* Ignore the character. */ + nextchar += 1; + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + nextchar += 1; + emitDoctype(); + break; + case -1: // EOF + forcequirks(); + emitDoctype(); + tokenizer = data_state; + break; + default: + lookahead = lookahead.toUpperCase(); + if (lookahead === "PUBLIC") { + nextchar += 6; + tokenizer = after_doctype_public_keyword_state; + } + else if (lookahead === "SYSTEM") { + nextchar += 6; + tokenizer = after_doctype_system_keyword_state; + } + else { + forcequirks(); + tokenizer = bogus_doctype_state; + } + break; + } + } + after_doctype_name_state.lookahead = 6; + + function after_doctype_public_keyword_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + tokenizer = before_doctype_public_identifier_state; + break; + case 0x0022: // QUOTATION MARK + beginDoctypePublicId(); + tokenizer = doctype_public_identifier_double_quoted_state; + break; + case 0x0027: // APOSTROPHE + beginDoctypePublicId(); + tokenizer = doctype_public_identifier_single_quoted_state; + break; + case 0x003E: // GREATER-THAN SIGN + forcequirks(); + tokenizer = data_state; + emitDoctype(); + break; + case -1: // EOF + forcequirks(); + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + forcequirks(); + tokenizer = bogus_doctype_state; + break; + } + } + + function before_doctype_public_identifier_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + /* Ignore the character. */ + break; + case 0x0022: // QUOTATION MARK + beginDoctypePublicId(); + tokenizer = doctype_public_identifier_double_quoted_state; + break; + case 0x0027: // APOSTROPHE + beginDoctypePublicId(); + tokenizer = doctype_public_identifier_single_quoted_state; + break; + case 0x003E: // GREATER-THAN SIGN + forcequirks(); + tokenizer = data_state; + emitDoctype(); + break; + case -1: // EOF + forcequirks(); + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + forcequirks(); + tokenizer = bogus_doctype_state; + break; + } + } + + function doctype_public_identifier_double_quoted_state(c) { + switch(c) { + case 0x0022: // QUOTATION MARK + tokenizer = after_doctype_public_identifier_state; + break; + case 0x0000: // NULL + doctypepublicbuf.push(0xFFFD /* REPLACEMENT CHARACTER */); + break; + case 0x003E: // GREATER-THAN SIGN + forcequirks(); + tokenizer = data_state; + emitDoctype(); + break; + case -1: // EOF + forcequirks(); + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + doctypepublicbuf.push(c); + break; + } + } + + function doctype_public_identifier_single_quoted_state(c) { + switch(c) { + case 0x0027: // APOSTROPHE + tokenizer = after_doctype_public_identifier_state; + break; + case 0x0000: // NULL + doctypepublicbuf.push(0xFFFD /* REPLACEMENT CHARACTER */); + break; + case 0x003E: // GREATER-THAN SIGN + forcequirks(); + tokenizer = data_state; + emitDoctype(); + break; + case -1: // EOF + forcequirks(); + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + doctypepublicbuf.push(c); + break; + } + } + + function after_doctype_public_identifier_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + tokenizer = between_doctype_public_and_system_identifiers_state; + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + emitDoctype(); + break; + case 0x0022: // QUOTATION MARK + beginDoctypeSystemId(); + tokenizer = doctype_system_identifier_double_quoted_state; + break; + case 0x0027: // APOSTROPHE + beginDoctypeSystemId(); + tokenizer = doctype_system_identifier_single_quoted_state; + break; + case -1: // EOF + forcequirks(); + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + forcequirks(); + tokenizer = bogus_doctype_state; + break; + } + } + + function between_doctype_public_and_system_identifiers_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE Ignore the character. + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + emitDoctype(); + break; + case 0x0022: // QUOTATION MARK + beginDoctypeSystemId(); + tokenizer = doctype_system_identifier_double_quoted_state; + break; + case 0x0027: // APOSTROPHE + beginDoctypeSystemId(); + tokenizer = doctype_system_identifier_single_quoted_state; + break; + case -1: // EOF + forcequirks(); + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + forcequirks(); + tokenizer = bogus_doctype_state; + break; + } + } + + function after_doctype_system_keyword_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + tokenizer = before_doctype_system_identifier_state; + break; + case 0x0022: // QUOTATION MARK + beginDoctypeSystemId(); + tokenizer = doctype_system_identifier_double_quoted_state; + break; + case 0x0027: // APOSTROPHE + beginDoctypeSystemId(); + tokenizer = doctype_system_identifier_single_quoted_state; + break; + case 0x003E: // GREATER-THAN SIGN + forcequirks(); + tokenizer = data_state; + emitDoctype(); + break; + case -1: // EOF + forcequirks(); + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + forcequirks(); + tokenizer = bogus_doctype_state; + break; + } + } + + function before_doctype_system_identifier_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE Ignore the character. + break; + case 0x0022: // QUOTATION MARK + beginDoctypeSystemId(); + tokenizer = doctype_system_identifier_double_quoted_state; + break; + case 0x0027: // APOSTROPHE + beginDoctypeSystemId(); + tokenizer = doctype_system_identifier_single_quoted_state; + break; + case 0x003E: // GREATER-THAN SIGN + forcequirks(); + tokenizer = data_state; + emitDoctype(); + break; + case -1: // EOF + forcequirks(); + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + forcequirks(); + tokenizer = bogus_doctype_state; + break; + } + } + + function doctype_system_identifier_double_quoted_state(c) { + switch(c) { + case 0x0022: // QUOTATION MARK + tokenizer = after_doctype_system_identifier_state; + break; + case 0x0000: // NULL + doctypesystembuf.push(0xFFFD /* REPLACEMENT CHARACTER */); + break; + case 0x003E: // GREATER-THAN SIGN + forcequirks(); + tokenizer = data_state; + emitDoctype(); + break; + case -1: // EOF + forcequirks(); + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + doctypesystembuf.push(c); + break; + } + } + + function doctype_system_identifier_single_quoted_state(c) { + switch(c) { + case 0x0027: // APOSTROPHE + tokenizer = after_doctype_system_identifier_state; + break; + case 0x0000: // NULL + doctypesystembuf.push(0xFFFD /* REPLACEMENT CHARACTER */); + break; + case 0x003E: // GREATER-THAN SIGN + forcequirks(); + tokenizer = data_state; + emitDoctype(); + break; + case -1: // EOF + forcequirks(); + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + doctypesystembuf.push(c); + break; + } + } + + function after_doctype_system_identifier_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + /* Ignore the character. */ + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + emitDoctype(); + break; + case -1: // EOF + forcequirks(); + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + tokenizer = bogus_doctype_state; + /* This does *not* set the DOCTYPE token's force-quirks flag. */ + break; + } + } + + function bogus_doctype_state(c) { + switch(c) { + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + emitDoctype(); + break; + case -1: // EOF + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + /* Ignore the character. */ + break; + } + } + + function cdata_section_state(c, lookahead, eof) { + var len = lookahead.length; + var output; + if (eof) { + nextchar += len-1; // leave the EOF in the scanner + output = lookahead.substring(0, len-1); // don't include the EOF + } + else { + nextchar += len; + output = lookahead.substring(0,len-3); // don't emit the ]]> + } + + if (output.length > 0) { + if (output.indexOf("\u0000") !== -1) + textIncludesNUL = true; + + // XXX Have to deal with CR and CRLF here? + if (output.indexOf("\r") !== -1) { + output = output.replace(/\r\n/, "\n").replace(/\r/, "\n"); + } + + emitCharString(output); + } + + tokenizer = data_state; + } + cdata_section_state.lookahead = "]]>"; + + + /*** + * The tree builder insertion modes + */ + + // 11.2.5.4.1 The "initial" insertion mode + function initial_mode(t, value, arg3, arg4) { + switch(t) { + case 1: // TEXT + value = value.replace(LEADINGWS, ""); // Ignore spaces + if (value.length === 0) return; // Are we done? + break; // Handle anything non-space text below + case 4: // COMMENT + doc._appendChild(doc.createComment(value)); + return; + case 5: // DOCTYPE + var name = value; + var publicid = arg3; + var systemid = arg4; + // Use the constructor directly instead of + // implementation.createDocumentType because the create + // function throws errors on invalid characters, and + // we don't want the parser to throw them. + doc.appendChild(new DocumentType(name,publicid, systemid)); + + // Note that there is no public API for setting quirks mode We can + // do this here because we have access to implementation details + if (force_quirks || + name.toLowerCase() !== "html" || + quirkyPublicIds.test(publicid) || + (systemid && systemid.toLowerCase() === quirkySystemId) || + (systemid === undefined && + conditionallyQuirkyPublicIds.test(publicid))) + doc._quirks = true; + else if (limitedQuirkyPublicIds.test(publicid) || + (systemid !== undefined && + conditionallyQuirkyPublicIds.test(publicid))) + doc._limitedQuirks = true; + parser = before_html_mode; + return; + } + + // tags or non-whitespace text + doc._quirks = true; + parser = before_html_mode; + parser(t,value,arg3,arg4); + } + + // 11.2.5.4.2 The "before html" insertion mode + function before_html_mode(t,value,arg3,arg4) { + var elt; + switch(t) { + case 1: // TEXT + value = value.replace(LEADINGWS, ""); // Ignore spaces + if (value.length === 0) return; // Are we done? + break; // Handle anything non-space text below + case 5: // DOCTYPE + /* ignore the token */ + return; + case 4: // COMMENT + doc._appendChild(doc.createComment(value)); + return; + case 2: // TAG + if (value === "html") { + elt = createHTMLElt(value, arg3); + stack.push(elt); + doc.appendChild(elt); + // XXX: handle application cache here + parser = before_head_mode; + return; + } + break; + case 3: // ENDTAG + switch(value) { + case "html": + case "head": + case "body": + case "br": + break; // fall through on these + default: + return; // ignore most end tags + } + } + + // Anything that didn't get handled above is handled like this: + elt = createHTMLElt("html", null); + stack.push(elt); + doc.appendChild(elt); + // XXX: handle application cache here + parser = before_head_mode; + parser(t,value,arg3,arg4); + } + + // 11.2.5.4.3 The "before head" insertion mode + function before_head_mode(t,value,arg3,arg4) { + switch(t) { + case 1: // TEXT + value = value.replace(LEADINGWS, ""); // Ignore spaces + if (value.length === 0) return; // Are we done? + break; // Handle anything non-space text below + case 5: // DOCTYPE + /* ignore the token */ + return; + case 4: // COMMENT + insertComment(value); + return; + case 2: // TAG + switch(value) { + case "html": + in_body_mode(t,value,arg3,arg4); + return; + case "head": + var elt = insertHTMLElement(value, arg3); + head_element_pointer = elt; + parser = in_head_mode; + return; + } + break; + case 3: // ENDTAG + switch(value) { + case "html": + case "head": + case "body": + case "br": + break; + default: + return; // ignore most end tags + } + } + + // If not handled explicitly above + before_head_mode(TAG, "head", null); // create a head tag + parser(t, value, arg3, arg4); // then try again with this token + } + + function in_head_mode(t, value, arg3, arg4) { + switch(t) { + case 1: // TEXT + var ws = value.match(LEADINGWS); + if (ws) { + insertText(ws[0]); + value = value.substring(ws[0].length); + } + if (value.length === 0) return; + break; // Handle non-whitespace below + case 4: // COMMENT + insertComment(value); + return; + case 5: // DOCTYPE + return; + case 2: // TAG + switch(value) { + case "html": + in_body_mode(t, value, arg3, arg4); + return; + case "meta": + // XXX: + // May need to change the encoding based on this tag + /* falls through */ + case "base": + case "basefont": + case "bgsound": + case "command": + case "link": + insertHTMLElement(value, arg3); + stack.pop(); + return; + case "title": + parseRCDATA(value, arg3); + return; + case "noscript": + if (!scripting_enabled) { + insertHTMLElement(value, arg3); + parser = in_head_noscript_mode; + return; + } + // Otherwise, if scripting is enabled... + /* falls through */ + case "noframes": + case "style": + parseRawText(value,arg3); + return; + case "script": + var elt = createHTMLElt(value, arg3); + elt._parser_inserted = true; + elt._force_async = false; + if (fragment) elt._already_started = true; + flushText(); + stack.top._appendChild(elt); + stack.push(elt); + tokenizer = script_data_state; + originalInsertionMode = parser; + parser = text_mode; + return; + case "head": + return; // ignore it + } + break; + case 3: // ENDTAG + switch(value) { + case "head": + stack.pop(); + parser = after_head_mode; + return; + case "body": + case "html": + case "br": + break; // handle these at the bottom of the function + default: + // ignore any other end tag + return; + } + break; + } + + // If not handled above + in_head_mode(ENDTAG, "head", null); // synthetic + parser(t, value, arg3, arg4); // Then redo this one + } + + // 13.2.5.4.5 The "in head noscript" insertion mode + function in_head_noscript_mode(t, value, arg3, arg4) { + switch(t) { + case 5: // DOCTYPE + return; + case 4: // COMMENT + in_head_mode(t, value); + return; + case 1: // TEXT + var ws = value.match(LEADINGWS); + if (ws) { + in_head_mode(t, ws[0]); + value = value.substring(ws[0].length); + } + if (value.length === 0) return; // no more text + break; // Handle non-whitespace below + case 2: // TAG + switch(value) { + case "html": + in_body_mode(t, value, arg3, arg4); + return; + case "basefont": + case "bgsound": + case "link": + case "meta": + case "noframes": + case "style": + in_head_mode(t, value, arg3); + return; + case "head": + case "noscript": + return; + } + break; + case 3: // ENDTAG + switch(value) { + case "noscript": + stack.pop(); + parser = in_head_mode; + return; + case "br": + break; // goes to the outer default + default: + return; // ignore other end tags + } + break; + } + + // If not handled above + in_head_noscript_mode(ENDTAG, "noscript", null); + parser(t, value, arg3, arg4); + } + + function after_head_mode(t, value, arg3, arg4) { + switch(t) { + case 1: // TEXT + var ws = value.match(LEADINGWS); + if (ws) { + insertText(ws[0]); + value = value.substring(ws[0].length); + } + if (value.length === 0) return; + break; // Handle non-whitespace below + case 4: // COMMENT + insertComment(value); + return; + case 5: // DOCTYPE + return; + case 2: // TAG + switch(value) { + case "html": + in_body_mode(t, value, arg3, arg4); + return; + case "body": + insertHTMLElement(value, arg3); + frameset_ok = false; + parser = in_body_mode; + return; + case "frameset": + insertHTMLElement(value, arg3); + parser = in_frameset_mode; + return; + case "base": + case "basefont": + case "bgsound": + case "link": + case "meta": + case "noframes": + case "script": + case "style": + case "title": + stack.push(head_element_pointer); + in_head_mode(TAG, value, arg3); + stack.removeElement(head_element_pointer); + return; + case "head": + return; + } + break; + case 3: // ENDTAG + switch(value) { + case "body": + case "html": + case "br": + break; + default: + return; // ignore any other end tag + } + break; + } + + after_head_mode(TAG, "body", null); + frameset_ok = true; + parser(t, value, arg3, arg4); + } + + // 13.2.5.4.7 The "in body" insertion mode + function in_body_mode(t,value,arg3,arg4) { + var body, i, node; + switch(t) { + case 1: // TEXT + if (textIncludesNUL) { + value = value.replace(NULCHARS, ""); + if (value.length === 0) return; + } + // If any non-space characters + if (frameset_ok && NONWS.test(value)) + frameset_ok = false; + afereconstruct(); + insertText(value); + return; + case 5: // DOCTYPE + return; + case 4: // COMMENT + insertComment(value); + return; + case -1: // EOF + stopParsing(); + return; + case 2: // TAG + switch(value) { + case "html": + transferAttributes(arg3, stack.elements[0]); + return; + case "base": + case "basefont": + case "bgsound": + case "command": + case "link": + case "meta": + case "noframes": + case "script": + case "style": + case "title": + in_head_mode(TAG, value, arg3); + return; + case "body": + body = stack.elements[1]; + if (!body || !(body instanceof impl.HTMLBodyElement)) + return; + frameset_ok = false; + transferAttributes(arg3, body); + return; + case "frameset": + if (!frameset_ok) return; + body = stack.elements[1]; + if (!body || !(body instanceof impl.HTMLBodyElement)) + return; + if (body.parentNode) body.parentNode.removeChild(body); + while(!(stack.top instanceof impl.HTMLHtmlElement)) + stack.pop(); + insertHTMLElement(value, arg3); + parser = in_frameset_mode; + return; + + case "address": + case "article": + case "aside": + case "blockquote": + case "center": + case "details": + case "dir": + case "div": + case "dl": + case "fieldset": + case "figcaption": + case "figure": + case "footer": + case "header": + case "hgroup": + case "menu": + case "nav": + case "ol": + case "p": + case "section": + case "summary": + case "ul": + if (stack.inButtonScope("p")) in_body_mode(ENDTAG, "p"); + insertHTMLElement(value, arg3); + return; + + case "h1": + case "h2": + case "h3": + case "h4": + case "h5": + case "h6": + if (stack.inButtonScope("p")) in_body_mode(ENDTAG, "p"); + if (stack.top instanceof impl.HTMLHeadingElement) + stack.pop(); + insertHTMLElement(value, arg3); + return; + + case "pre": + case "listing": + if (stack.inButtonScope("p")) in_body_mode(ENDTAG, "p"); + insertHTMLElement(value, arg3); + ignore_linefeed = true; + frameset_ok = false; + return; + + case "form": + if (form_element_pointer) return; + if (stack.inButtonScope("p")) in_body_mode(ENDTAG, "p"); + form_element_pointer = insertHTMLElement(value, arg3); + return; + + case "li": + frameset_ok = false; + for(i = stack.elements.length-1; i >= 0; i--) { + node = stack.elements[i]; + if (node instanceof impl.HTMLLIElement) { + in_body_mode(ENDTAG, "li"); + break; + } + if (isA(node, specialSet) && !isA(node, addressdivpSet)) + break; + } + if (stack.inButtonScope("p")) in_body_mode(ENDTAG, "p"); + insertHTMLElement(value, arg3); + return; + + case "dd": + case "dt": + frameset_ok = false; + for(i = stack.elements.length-1; i >= 0; i--) { + node = stack.elements[i]; + if (isA(node, dddtSet)) { + in_body_mode(ENDTAG, node.localName); + break; + } + if (isA(node, specialSet) && !isA(node, addressdivpSet)) + break; + } + if (stack.inButtonScope("p")) in_body_mode(ENDTAG, "p"); + insertHTMLElement(value, arg3); + return; + + case "plaintext": + if (stack.inButtonScope("p")) in_body_mode(ENDTAG, "p"); + insertHTMLElement(value, arg3); + tokenizer = plaintext_state; + return; + + case "button": + if (stack.inScope("button")) { + in_body_mode(ENDTAG, "button"); + parser(t, value, arg3, arg4); + } + else { + afereconstruct(); + insertHTMLElement(value, arg3); + frameset_ok = false; + } + return; + + case "a": + var activeElement = afe.findElementByTag("a"); + if (activeElement) { + in_body_mode(ENDTAG, value); + afe.remove(activeElement); + stack.removeElement(activeElement); + } + /* falls through */ + + case "b": + case "big": + case "code": + case "em": + case "font": + case "i": + case "s": + case "small": + case "strike": + case "strong": + case "tt": + case "u": + afereconstruct(); + afe.push(insertHTMLElement(value,arg3), arg3); + return; + + case "nobr": + afereconstruct(); + + if (stack.inScope(value)) { + in_body_mode(ENDTAG, value); + afereconstruct(); + } + afe.push(insertHTMLElement(value,arg3), arg3); + return; + + case "applet": + case "marquee": + case "object": + afereconstruct(); + insertHTMLElement(value,arg3); + afe.insertMarker(); + frameset_ok = false; + return; + + case "table": + if (!doc._quirks && stack.inButtonScope("p")) { + in_body_mode(ENDTAG, "p"); + } + insertHTMLElement(value,arg3); + frameset_ok = false; + parser = in_table_mode; + return; + + case "area": + case "br": + case "embed": + case "img": + case "keygen": + case "wbr": + afereconstruct(); + insertHTMLElement(value,arg3); + stack.pop(); + frameset_ok = false; + return; + + case "input": + afereconstruct(); + var elt = insertHTMLElement(value,arg3); + stack.pop(); + var type = elt.getAttribute("type"); + if (!type || type.toLowerCase() !== "hidden") + frameset_ok = false; + return; + + case "param": + case "source": + case "track": + insertHTMLElement(value,arg3); + stack.pop(); + return; + + case "hr": + if (stack.inButtonScope("p")) in_body_mode(ENDTAG, "p"); + insertHTMLElement(value,arg3); + stack.pop(); + frameset_ok = false; + return; + + case "image": + in_body_mode(TAG, "img", arg3, arg4); + return; + + case "isindex": + if (form_element_pointer) return; + (function handleIsIndexTag(attrs) { + var prompt = null; + var formattrs = []; + var newattrs = [["name", "isindex"]]; + for(var i = 0; i < attrs.length; i++) { + var a = attrs[i]; + if (a[0] === "action") { + formattrs.push(a); + } + else if (a[0] === "prompt") { + prompt = a[1]; + } + else if (a[0] !== "name") { + newattrs.push(a); + } + } + + // This default prompt presumably needs localization. + // The space after the colon in this prompt is required + // by the html5lib test cases + if (!prompt) + prompt = "This is a searchable index. " + + "Enter search keywords: "; + + parser(TAG, "form", formattrs); + parser(TAG, "hr", null); + parser(TAG, "label", null); + parser(TEXT, prompt); + parser(TAG, "input", newattrs); + parser(ENDTAG, "label"); + parser(TAG, "hr", null); + parser(ENDTAG, "form"); + }(arg3)); + return; + + case "textarea": + insertHTMLElement(value,arg3); + ignore_linefeed = true; + frameset_ok = false; + tokenizer = rcdata_state; + originalInsertionMode = parser; + parser = text_mode; + return; + + case "xmp": + if (stack.inButtonScope("p")) in_body_mode(ENDTAG, "p"); + afereconstruct(); + frameset_ok = false; + parseRawText(value, arg3); + return; + + case "iframe": + frameset_ok = false; + parseRawText(value, arg3); + return; + + case "noembed": + parseRawText(value,arg3); + return; + + case "noscript": + if (scripting_enabled) { + parseRawText(value,arg3); + return; + } + break; // XXX Otherwise treat it as any other open tag? + + case "select": + afereconstruct(); + insertHTMLElement(value,arg3); + frameset_ok = false; + if (parser === in_table_mode || + parser === in_caption_mode || + parser === in_table_body_mode || + parser === in_row_mode || + parser === in_cell_mode) + parser = in_select_in_table_mode; + else + parser = in_select_mode; + return; + + case "optgroup": + case "option": + if (stack.top instanceof impl.HTMLOptionElement) { + in_body_mode(ENDTAG, "option"); + } + afereconstruct(); + insertHTMLElement(value,arg3); + return; + + case "rp": + case "rt": + if (stack.inScope("ruby")) { + stack.generateImpliedEndTags(); + } + insertHTMLElement(value,arg3); + return; + + case "math": + afereconstruct(); + adjustMathMLAttributes(arg3); + adjustForeignAttributes(arg3); + insertForeignElement(value, arg3, NAMESPACE.MATHML); + if (arg4) // self-closing flag + stack.pop(); + return; + + case "svg": + afereconstruct(); + adjustSVGAttributes(arg3); + adjustForeignAttributes(arg3); + insertForeignElement(value, arg3, NAMESPACE.SVG); + if (arg4) // self-closing flag + stack.pop(); + return; + + case "caption": + case "col": + case "colgroup": + case "frame": + case "head": + case "tbody": + case "td": + case "tfoot": + case "th": + case "thead": + case "tr": + // Ignore table tags if we're not in_table mode + return; + } + + // Handle any other start tag here + // (and also noscript tags when scripting is disabled) + afereconstruct(); + insertHTMLElement(value,arg3); + return; + + case 3: // ENDTAG + switch(value) { + case "body": + if (!stack.inScope("body")) return; + parser = after_body_mode; + return; + case "html": + if (!stack.inScope("body")) return; + parser = after_body_mode; + parser(t, value, arg3); + return; + + case "address": + case "article": + case "aside": + case "blockquote": + case "button": + case "center": + case "details": + case "dir": + case "div": + case "dl": + case "fieldset": + case "figcaption": + case "figure": + case "footer": + case "header": + case "hgroup": + case "listing": + case "menu": + case "nav": + case "ol": + case "pre": + case "section": + case "summary": + case "ul": + // Ignore if there is not a matching open tag + if (!stack.inScope(value)) return; + stack.generateImpliedEndTags(); + stack.popTag(value); + return; + + case "form": + var openform = form_element_pointer; + form_element_pointer = null; + if (!openform || !stack.elementInScope(openform)) return; + stack.generateImpliedEndTags(); + stack.removeElement(openform); + return; + + case "p": + if (!stack.inButtonScope(value)) { + in_body_mode(TAG, value, null); + parser(t, value, arg3, arg4); + } + else { + stack.generateImpliedEndTags(value); + stack.popTag(value); + } + return; + + case "li": + if (!stack.inListItemScope(value)) return; + stack.generateImpliedEndTags(value); + stack.popTag(value); + return; + + case "dd": + case "dt": + if (!stack.inScope(value)) return; + stack.generateImpliedEndTags(value); + stack.popTag(value); + return; + + case "h1": + case "h2": + case "h3": + case "h4": + case "h5": + case "h6": + if (!stack.elementTypeInScope(impl.HTMLHeadingElement)) return; + stack.generateImpliedEndTags(); + stack.popElementType(impl.HTMLHeadingElement); + return; + + case "a": + case "b": + case "big": + case "code": + case "em": + case "font": + case "i": + case "nobr": + case "s": + case "small": + case "strike": + case "strong": + case "tt": + case "u": + var result = adoptionAgency(value); + if (result) return; // If we did something we're done + break; // Go to the "any other end tag" case + + case "applet": + case "marquee": + case "object": + if (!stack.inScope(value)) return; + stack.generateImpliedEndTags(); + stack.popTag(value); + afe.clearToMarker(); + return; + + case "br": + in_body_mode(TAG, value, null); // Turn
into
+ return; + } + + // Any other end tag goes here + for(i = stack.elements.length-1; i >= 0; i--) { + node = stack.elements[i]; + if (node.localName === value) { + stack.generateImpliedEndTags(value); + stack.popElement(node); + break; + } + else if (isA(node, specialSet)) { + return; + } + } + + return; + } + } + + function text_mode(t, value, arg3, arg4) { + switch(t) { + case 1: // TEXT + insertText(value); + return; + case -1: // EOF + if (stack.top instanceof impl.HTMLScriptElement) + stack.top._already_started = true; + stack.pop(); + parser = originalInsertionMode; + parser(t); + return; + case 3: // ENDTAG + if (value === "script") { + handleScriptEnd(); + } + else { + stack.pop(); + parser = originalInsertionMode; + } + return; + default: + // We should never get any other token types + return; + } + } + + function in_table_mode(t, value, arg3, arg4) { + function getTypeAttr(attrs) { + for(var i = 0, n = attrs.length; i < n; i++) { + if (attrs[i][0] === "type") + return attrs[i][1].toLowerCase(); + } + return null; + } + + switch(t) { + case 1: // TEXT + // XXX the text_integration_mode stuff is + // just a hack I made up + if (text_integration_mode) { + in_body_mode(t, value, arg3, arg4); + } + else { + pending_table_text = []; + originalInsertionMode = parser; + parser = in_table_text_mode; + parser(t, value, arg3, arg4); + } + return; + case 4: // COMMENT + insertComment(value); + return; + case 5: // DOCTYPE + return; + case 2: // TAG + switch(value) { + case "caption": + stack.clearToContext(impl.HTMLTableElement); + afe.insertMarker(); + insertHTMLElement(value,arg3); + parser = in_caption_mode; + return; + case "colgroup": + stack.clearToContext(impl.HTMLTableElement); + insertHTMLElement(value,arg3); + parser = in_column_group_mode; + return; + case "col": + in_table_mode(TAG, "colgroup", null); + parser(t, value, arg3, arg4); + return; + case "tbody": + case "tfoot": + case "thead": + stack.clearToContext(impl.HTMLTableElement); + insertHTMLElement(value,arg3); + parser = in_table_body_mode; + return; + case "td": + case "th": + case "tr": + in_table_mode(TAG, "tbody", null); + parser(t, value, arg3, arg4); + return; + + case "table": + var repro = stack.inTableScope(value); + in_table_mode(ENDTAG, value); + if (repro) parser(t, value, arg3, arg4); + return; + + case "style": + case "script": + in_head_mode(t, value, arg3, arg4); + return; + + case "input": + var type = getTypeAttr(arg3); + if (type !== "hidden") break; // to the anything else case + insertHTMLElement(value,arg3); + stack.pop(); + return; + + case "form": + if (form_element_pointer) return; + form_element_pointer = insertHTMLElement(value, arg3); + stack.pop(); + return; + } + break; + case 3: // ENDTAG + switch(value) { + case "table": + if (!stack.inTableScope(value)) return; + stack.popTag(value); + resetInsertionMode(); + return; + case "body": + case "caption": + case "col": + case "colgroup": + case "html": + case "tbody": + case "td": + case "tfoot": + case "th": + case "thead": + case "tr": + return; + } + + break; + case -1: // EOF + stopParsing(); + return; + } + + // This is the anything else case + foster_parent_mode = true; + in_body_mode(t, value, arg3, arg4); + foster_parent_mode = false; + } + + function in_table_text_mode(t, value, arg3, arg4) { + if (t === TEXT) { + if (textIncludesNUL) { + value = value.replace(NULCHARS, ""); + if (value.length === 0) return; + } + pending_table_text.push(value); + } + else { + var s = pending_table_text.join(""); + pending_table_text.length = 0; + if (NONWS.test(s)) { // If any non-whitespace characters + // This must be the same code as the "anything else" + // case of the in_table mode above. + foster_parent_mode = true; + in_body_mode(TEXT, s); + foster_parent_mode = false; + } + else { + insertText(s); + } + parser = originalInsertionMode; + parser(t, value, arg3, arg4); + } + } + + + function in_caption_mode(t, value, arg3, arg4) { + function end_caption() { + if (!stack.inTableScope("caption")) return false; + stack.generateImpliedEndTags(); + stack.popTag("caption"); + afe.clearToMarker(); + parser = in_table_mode; + return true; + } + + switch(t) { + case 2: // TAG + switch(value) { + case "caption": + case "col": + case "colgroup": + case "tbody": + case "td": + case "tfoot": + case "th": + case "thead": + case "tr": + if (end_caption()) parser(t, value, arg3, arg4); + return; + } + break; + case 3: // ENDTAG + switch(value) { + case "caption": + end_caption(); + return; + case "table": + if (end_caption()) parser(t, value, arg3, arg4); + return; + case "body": + case "col": + case "colgroup": + case "html": + case "tbody": + case "td": + case "tfoot": + case "th": + case "thead": + case "tr": + return; + } + break; + } + + // The Anything Else case + in_body_mode(t, value, arg3, arg4); + } + + function in_column_group_mode(t, value, arg3, arg4) { + switch(t) { + case 1: // TEXT + var ws = value.match(LEADINGWS); + if (ws) { + insertText(ws[0]); + value = value.substring(ws[0].length); + } + if (value.length === 0) return; + break; // Handle non-whitespace below + + case 4: // COMMENT + insertComment(value); + return; + case 5: // DOCTYPE + return; + case 2: // TAG + switch(value) { + case "html": + in_body_mode(t, value, arg3, arg4); + return; + case "col": + insertHTMLElement(value, arg3); + stack.pop(); + return; + } + break; + case 3: // ENDTAG + switch(value) { + case "colgroup": + if (stack.top instanceof impl.HTMLHtmlElement) return; + stack.pop(); + parser = in_table_mode; + return; + case "col": + return; + } + break; + case -1: // EOF + if (stack.top instanceof impl.HTMLHtmlElement) { + stopParsing(); + return; + } + break; + } + + // Anything else + if (!(stack.top instanceof impl.HTMLHtmlElement)) { + in_column_group_mode(ENDTAG, "colgroup"); + parser(t, value, arg3, arg4); + } + } + + function in_table_body_mode(t, value, arg3, arg4) { + function endsect() { + if (!stack.inTableScope("tbody") && + !stack.inTableScope("thead") && + !stack.inTableScope("tfoot")) + return; + stack.clearToContext(impl.HTMLTableSectionElement); + in_table_body_mode(ENDTAG, stack.top.localName, null); + parser(t, value, arg3, arg4); + } + + switch(t) { + case 2: // TAG + switch(value) { + case "tr": + stack.clearToContext(impl.HTMLTableSectionElement); + insertHTMLElement(value, arg3); + parser = in_row_mode; + return; + case "th": + case "td": + in_table_body_mode(TAG, "tr", null); + parser(t, value, arg3, arg4); + return; + case "caption": + case "col": + case "colgroup": + case "tbody": + case "tfoot": + case "thead": + endsect(); + return; + } + break; + case 3: // ENDTAG + switch(value) { + case "table": + endsect(); + return; + case "tbody": + case "tfoot": + case "thead": + if (stack.inTableScope(value)) { + stack.clearToContext(impl.HTMLTableSectionElement); + stack.pop(); + parser = in_table_mode; + } + return; + case "body": + case "caption": + case "col": + case "colgroup": + case "html": + case "td": + case "th": + case "tr": + return; + } + break; + } + + // Anything else: + in_table_mode(t, value, arg3, arg4); + } + + function in_row_mode(t, value, arg3, arg4) { + function endrow() { + if (!stack.inTableScope("tr")) return false; + stack.clearToContext(impl.HTMLTableRowElement); + stack.pop(); + parser = in_table_body_mode; + return true; + } + + switch(t) { + case 2: // TAG + switch(value) { + case "th": + case "td": + stack.clearToContext(impl.HTMLTableRowElement); + insertHTMLElement(value, arg3); + parser = in_cell_mode; + afe.insertMarker(); + return; + case "caption": + case "col": + case "colgroup": + case "tbody": + case "tfoot": + case "thead": + case "tr": + if (endrow()) parser(t, value, arg3, arg4); + return; + } + break; + case 3: // ENDTAG + switch(value) { + case "tr": + endrow(); + return; + case "table": + if (endrow()) parser(t, value, arg3, arg4); + return; + case "tbody": + case "tfoot": + case "thead": + if (stack.inTableScope(value)) { + in_row_mode(ENDTAG, "tr"); + parser(t, value, arg3, arg4); + } + return; + case "body": + case "caption": + case "col": + case "colgroup": + case "html": + case "td": + case "th": + return; + } + break; + } + + // anything else + in_table_mode(t, value, arg3, arg4); + } + + function in_cell_mode(t, value, arg3, arg4) { + switch(t) { + case 2: // TAG + switch(value) { + case "caption": + case "col": + case "colgroup": + case "tbody": + case "td": + case "tfoot": + case "th": + case "thead": + case "tr": + if (stack.inTableScope("td")) { + in_cell_mode(ENDTAG, "td"); + parser(t, value, arg3, arg4); + } + else if (stack.inTableScope("th")) { + in_cell_mode(ENDTAG, "th"); + parser(t, value, arg3, arg4); + } + return; + } + break; + case 3: // ENDTAG + switch(value) { + case "td": + case "th": + if (!stack.inTableScope(value)) return; + stack.generateImpliedEndTags(); + stack.popTag(value); + afe.clearToMarker(); + parser = in_row_mode; + return; + + case "body": + case "caption": + case "col": + case "colgroup": + case "html": + return; + + case "table": + case "tbody": + case "tfoot": + case "thead": + case "tr": + if (!stack.inTableScope(value)) return; + in_cell_mode(ENDTAG, stack.inTableScope("td") ? "td" : "th"); + parser(t, value, arg3, arg4); + return; + } + break; + } + + // anything else + in_body_mode(t, value, arg3, arg4); + } + + function in_select_mode(t, value, arg3, arg4) { + switch(t) { + case 1: // TEXT + if (textIncludesNUL) { + value = value.replace(NULCHARS, ""); + if (value.length === 0) return; + } + insertText(value); + return; + case 4: // COMMENT + insertComment(value); + return; + case 5: // DOCTYPE + return; + case -1: // EOF + stopParsing(); + return; + case 2: // TAG + switch(value) { + case "html": + in_body_mode(t, value, arg3, arg4); + return; + case "option": + if (stack.top instanceof impl.HTMLOptionElement) + in_select_mode(ENDTAG, value); + insertHTMLElement(value, arg3); + return; + case "optgroup": + if (stack.top instanceof impl.HTMLOptionElement) + in_select_mode(ENDTAG, "option"); + if (stack.top instanceof impl.HTMLOptGroupElement) + in_select_mode(ENDTAG, value); + insertHTMLElement(value, arg3); + return; + case "select": + in_select_mode(ENDTAG, value); // treat it as a close tag + return; + + case "input": + case "keygen": + case "textarea": + if (!stack.inSelectScope("select")) return; + in_select_mode(ENDTAG, "select"); + parser(t, value, arg3, arg4); + return; + + case "script": + in_head_mode(t, value, arg3, arg4); + return; + } + break; + case 3: // ENDTAG + switch(value) { + case "optgroup": + if (stack.top instanceof impl.HTMLOptionElement && + stack.elements[stack.elements.length-2] instanceof + impl.HTMLOptGroupElement) { + in_select_mode(ENDTAG, "option"); + } + if (stack.top instanceof impl.HTMLOptGroupElement) + stack.pop(); + + return; + + case "option": + if (stack.top instanceof impl.HTMLOptionElement) + stack.pop(); + return; + + case "select": + if (!stack.inSelectScope(value)) return; + stack.popTag(value); + resetInsertionMode(); + return; + } + + break; + } + + // anything else: just ignore the token + } + + function in_select_in_table_mode(t, value, arg3, arg4) { + switch(value) { + case "caption": + case "table": + case "tbody": + case "tfoot": + case "thead": + case "tr": + case "td": + case "th": + switch(t) { + case 2: // TAG + in_select_in_table_mode(ENDTAG, "select"); + parser(t, value, arg3, arg4); + return; + case 3: // ENDTAG + if (stack.inTableScope(value)) { + in_select_in_table_mode(ENDTAG, "select"); + parser(t, value, arg3, arg4); + } + return; + } + } + + // anything else + in_select_mode(t, value, arg3, arg4); + } + + function after_body_mode(t, value, arg3, arg4) { + switch(t) { + case 1: // TEXT + // If any non-space chars, handle below + if (NONWS.test(value)) break; + in_body_mode(t, value); + return; + case 4: // COMMENT + // Append it to the element + stack.elements[0]._appendChild(doc.createComment(value)); + return; + case 5: // DOCTYPE + return; + case -1: // EOF + stopParsing(); + return; + case 2: // TAG + if (value === "html") { + in_body_mode(t, value, arg3, arg4); + return; + } + break; // for any other tags + case 3: // ENDTAG + if (value === "html") { + if (fragment) return; + parser = after_after_body_mode; + return; + } + break; // for any other tags + } + + // anything else + parser = in_body_mode; + parser(t, value, arg3, arg4); + } + + function in_frameset_mode(t, value, arg3, arg4) { + switch(t) { + case 1: // TEXT + // Ignore any non-space characters + value = value.replace(ALLNONWS, ""); + if (value.length > 0) insertText(value); + return; + case 4: // COMMENT + insertComment(value); + return; + case 5: // DOCTYPE + return; + case -1: // EOF + stopParsing(); + return; + case 2: // TAG + switch(value) { + case "html": + in_body_mode(t, value, arg3, arg4); + return; + case "frameset": + insertHTMLElement(value, arg3); + return; + case "frame": + insertHTMLElement(value, arg3); + stack.pop(); + return; + case "noframes": + in_head_mode(t, value, arg3, arg4); + return; + } + break; + case 3: // ENDTAG + if (value === "frameset") { + if (fragment && stack.top instanceof impl.HTMLHtmlElement) + return; + stack.pop(); + if (!fragment && + !(stack.top instanceof impl.HTMLFrameSetElement)) + parser = after_frameset_mode; + return; + } + break; + } + + // ignore anything else + } + + function after_frameset_mode(t, value, arg3, arg4) { + switch(t) { + case 1: // TEXT + // Ignore any non-space characters + value = value.replace(ALLNONWS, ""); + if (value.length > 0) insertText(value); + return; + case 4: // COMMENT + insertComment(value); + return; + case 5: // DOCTYPE + return; + case -1: // EOF + stopParsing(); + return; + case 2: // TAG + switch(value) { + case "html": + in_body_mode(t, value, arg3, arg4); + return; + case "noframes": + in_head_mode(t, value, arg3, arg4); + return; + } + break; + case 3: // ENDTAG + if (value === "html") { + parser = after_after_frameset_mode; + return; + } + break; + } + + // ignore anything else + } + + function after_after_body_mode(t, value, arg3, arg4) { + switch(t) { + case 1: // TEXT + // If any non-space chars, handle below + if (NONWS.test(value)) break; + in_body_mode(t, value, arg3, arg4); + return; + case 4: // COMMENT + doc._appendChild(doc.createComment(value)); + return; + case 5: // DOCTYPE + in_body_mode(t, value, arg3, arg4); + return; + case -1: // EOF + stopParsing(); + return; + case 2: // TAG + if (value === "html") { + in_body_mode(t, value, arg3, arg4); + return; + } + break; + } + + // anything else + parser = in_body_mode; + parser(t, value, arg3, arg4); + } + + function after_after_frameset_mode(t, value, arg3, arg4) { + switch(t) { + case 1: // TEXT + // Ignore any non-space characters + value = value.replace(ALLNONWS, ""); + if (value.length > 0) + in_body_mode(t, value, arg3, arg4); + return; + case 4: // COMMENT + doc._appendChild(doc.createComment(value)); + return; + case 5: // DOCTYPE + in_body_mode(t, value, arg3, arg4); + return; + case -1: // EOF + stopParsing(); + return; + case 2: // TAG + switch(value) { + case "html": + in_body_mode(t, value, arg3, arg4); + return; + case "noframes": + in_head_mode(t, value, arg3, arg4); + return; + } + break; + } + + // ignore anything else + } + + + // 13.2.5.5 The rules for parsing tokens in foreign content + // + // This is like one of the insertion modes above, but is + // invoked somewhat differently when the current token is not HTML. + // See the insertToken() function. + function insertForeignToken(t, value, arg3, arg4) { + // A tag is an HTML font tag if it has a color, font, or size + // attribute. Otherwise we assume it is foreign content + function isHTMLFont(attrs) { + for(var i = 0, n = attrs.length; i < n; i++) { + switch(attrs[i][0]) { + case "color": + case "font": + case "size": + return true; + } + } + return false; + } + + var current; + + switch(t) { + case 1: // TEXT + // If any non-space, non-nul characters + if (frameset_ok && NONWSNONNUL.test(value)) + frameset_ok = false; + if (textIncludesNUL) { + value = value.replace(NULCHARS, "\uFFFD"); + } + insertText(value); + return; + case 4: // COMMENT + insertComment(value); + return; + case 5: // DOCTYPE + // ignore it + return; + case 2: // TAG + switch(value) { + case "font": + if (!isHTMLFont(arg3)) break; + /* falls through */ + case "b": + case "big": + case "blockquote": + case "body": + case "br": + case "center": + case "code": + case "dd": + case "div": + case "dl": + case "dt": + case "em": + case "embed": + case "h1": + case "h2": + case "h3": + case "h4": + case "h5": + case "h6": + case "head": + case "hr": + case "i": + case "img": + case "li": + case "listing": + case "menu": + case "meta": + case "nobr": + case "ol": + case "p": + case "pre": + case "ruby": + case "s": + case "small": + case "span": + case "strong": + case "strike": + case "sub": + case "sup": + case "table": + case "tt": + case "u": + case "ul": + case "var": + do { + stack.pop(); + current = stack.top; + } while(current.namespaceURI !== NAMESPACE.HTML && + !isMathmlTextIntegrationPoint(current) && + !isHTMLIntegrationPoint(current)); + + insertToken(t, value, arg3, arg4); // reprocess + return; + } + + // Any other start tag case goes here + current = stack.top; + if (current.namespaceURI === NAMESPACE.MATHML) { + adjustMathMLAttributes(arg3); + } + else if (current.namespaceURI === NAMESPACE.SVG) { + value = adjustSVGTagName(value); + adjustSVGAttributes(arg3); + } + adjustForeignAttributes(arg3); + + insertForeignElement(value, arg3, current.namespaceURI); + if (arg4) // the self-closing flag + stack.pop(); + return; + + case 3: // ENDTAG + current = stack.top; + if (value === "script" && + current.namespaceURI === NAMESPACE.SVG && + current.localName === "script") { + + stack.pop(); + + // XXX + // Deal with SVG scripts here + } + else { + // The any other end tag case + var i = stack.elements.length-1; + var node = stack.elements[i]; + for(;;) { + if (node.localName.toLowerCase() === value) { + stack.popElement(node); + break; + } + node = stack.elements[--i]; + // If non-html, keep looping + if (node.namespaceURI !== NAMESPACE.HTML) + continue; + // Otherwise process the end tag as html + parser(t, value, arg3, arg4); + break; + } + } + return; + } + } + + + /*** + * parsing code for character references + */ + + // Parse a character reference from s and return a codepoint or an + // array of codepoints or null if there is no valid char ref in s. + function parseCharRef(s, isattr) { + var len = s.length; + var rv; + if (len === 0) return null; // No character reference matched + + if (s[0] === "#") { // Numeric character reference + var codepoint; + + if (s[1] === "x" || s[1] === "X") { + // Hex + codepoint = parseInt(s.substring(2), 16); + } + else { + // Decimal + codepoint = parseInt(s.substring(1), 10); + } + + if (s[len-1] === ";") // If the string ends with a semicolon + nextchar += len; // Consume all the chars + else + nextchar += len-1; // Otherwise, all but the last character + + if (codepoint in numericCharRefReplacements) { + codepoint = numericCharRefReplacements[codepoint]; + } + else if (codepoint > 0x10FFFF || (codepoint >= 0xD800 && codepoint < 0xE000)) { + codepoint = 0xFFFD; + } + + if (codepoint <= 0xFFFF) return codepoint; + + codepoint = codepoint - 0x10000; + return [0xD800 + (codepoint >> 10), + 0xDC00 + (codepoint & 0x03FF)]; + } + else { + // Named character reference + // We have to be able to parse some named char refs even when + // the semicolon is omitted, but have to match the longest one + // possible. So if the lookahead doesn't end with semicolon + // then we have to loop backward looking for longest to shortest + // matches. Fortunately, the names that don't require semis + // are all between 2 and 6 characters long. + + if (s[len-1] === ";") { + rv = namedCharRefs[s]; + if (rv !== undefined) { + nextchar += len; // consume all the characters + return rv; + } + } + + // If it didn't end with a semicolon, see if we can match + // everything but the terminating character + len--; // Ignore whatever the terminating character is + rv = namedCharRefsNoSemi[s.substring(0, len)]; + if (rv !== undefined) { + nextchar += len; + return rv; + } + + // If it still didn't match, and we're not parsing a + // character reference in an attribute value, then try + // matching shorter substrings. + if (!isattr) { + len--; + if (len > 6) len = 6; // Maximum possible match length + while(len >= 2) { + rv = namedCharRefsNoSemi[s.substring(0, len)]; + if (rv !== undefined) { + nextchar += len; + return rv; + } + len--; + } + } + + // Couldn't find any match + return null; + } + } + + + /*** + * Finally, this is the end of the HTMLParser() factory function. + * It returns the htmlparser object with the append() and end() methods. + */ + + // Sneak another method into the htmlparser object to allow us to run + // tokenizer tests. This can be commented out in production code. + // This is a hook for testing the tokenizer. It has to be here + // because the tokenizer details are all hidden away within the closure. + // It should return an array of tokens generated while parsing the + // input string. + htmlparser.testTokenizer = function(input, initialState, lastStartTag, charbychar) { + var tokens = []; + + switch(initialState) { + case "PCDATA state": + tokenizer = data_state; + break; + case "RCDATA state": + tokenizer = rcdata_state; + break; + case "RAWTEXT state": + tokenizer = rawtext_state; + break; + case "PLAINTEXT state": + tokenizer = plaintext_state; + break; + } + + if (lastStartTag) { + lasttagname = lastStartTag; + } + + insertToken = function(t, value, arg3, arg4) { + flushText(); + switch(t) { + case 1: // TEXT + if (tokens.length > 0 && + tokens[tokens.length-1][0] === "Character") { + tokens[tokens.length-1][1] += value; + } + else push(tokens, ["Character", value]); + break; + case 4: // COMMENT + push(tokens,["Comment", value]); + break; + case 5: // DOCTYPE + push(tokens,["DOCTYPE", value, + arg3 === undefined ? null : arg3, + arg4 === undefined ? null : arg4, + !force_quirks]); + break; + case 2: // TAG + var attrs = {}; + for(var i = 0; i < arg3.length; i++) { + // XXX: does attribute order matter? + var a = arg3[i]; + if (a.length === 1) { + attrs[a[0]] = ""; + } + else { + attrs[a[0]] = a[1]; + } + } + var token = ["StartTag", value, attrs]; + if (arg4) token.push(true); + tokens.push(token); + break; + case 3: // ENDTAG + tokens.push(["EndTag", value]); + break; + case -1: // EOF + break; + } + }; + + if (!charbychar) { + this.parse(input, true); + } + else { + for(var i = 0; i < input.length; i++) { + this.parse(input[i]); + } + this.parse("", true); + } + return tokens; + }; + + // Return the parser object from the HTMLParser() factory function + return htmlparser; +} diff --git a/QuickTemplate/node_modules/domino/lib/Leaf.js b/QuickTemplate/node_modules/domino/lib/Leaf.js new file mode 100644 index 0000000..794d5bc --- /dev/null +++ b/QuickTemplate/node_modules/domino/lib/Leaf.js @@ -0,0 +1,24 @@ +module.exports = Leaf; + +var HierarchyRequestError = require('./utils').HierarchyRequestError; +var Node = require('./Node'); +var NodeList = require('./NodeList'); + +// This class defines common functionality for node subtypes that +// can never have children +function Leaf() { +} + +Leaf.prototype = Object.create(Node.prototype, { + hasChildNodes: { value: function() { return false; }}, + firstChild: { value: null }, + lastChild: { value: null }, + insertBefore: { value: HierarchyRequestError }, + replaceChild: { value: HierarchyRequestError }, + removeChild: { value: HierarchyRequestError }, + appendChild: { value: HierarchyRequestError }, + childNodes: { get: function() { + if (!this._childNodes) this._childNodes = []; + return this._childNodes; + }} +}); diff --git a/QuickTemplate/node_modules/domino/lib/Location.js b/QuickTemplate/node_modules/domino/lib/Location.js new file mode 100644 index 0000000..a528705 --- /dev/null +++ b/QuickTemplate/node_modules/domino/lib/Location.js @@ -0,0 +1,58 @@ +var URL = require('./URL'); +var URLDecompositionAttributes = require('./URLDecompositionAttributes'); + +module.exports = Location; + +function Location(window, href) { + this._window = window; + this._href = href; +} + +Location.prototype = Object.create(URLDecompositionAttributes.prototype, { + constructor: { value: Location }, + // The concrete methods that the superclass needs + getInput: { value: function() { return this.href; }}, + setOutput: { value: function(v) { this.href = v; }}, + + // Special behavior when href is set + href: { + get: function() { return this._href; }, + set: function(v) { this.assign(v); } + }, + + assign: { value: function(url) { + // Resolve the new url against the current one + // XXX: + // This is not actually correct. It should be resolved against + // the URL of the document of the script. For now, though, I only + // support a single window and there is only one base url. + // So this is good enough for now. + var current = new URL(this._href); + var newurl = current.resolve(url); + + // Save the new url + this._href = newurl; + + // Start loading the new document! + // XXX + // This is just something hacked together. + // The real algorithm is: http://www.whatwg.org/specs/web-apps/current-work/multipage/history.html#navigate + }}, + + replace: { value: function(url) { + // XXX + // Since we aren't tracking history yet, replace is the same as assign + this.assign(url); + }}, + + reload: { value: function() { + // XXX: + // Actually, the spec is a lot more complicated than this + this.assign(this.href); + }}, + + toString: { value: function() { + return this.href; + }} + +}); diff --git a/QuickTemplate/node_modules/domino/lib/MouseEvent.js b/QuickTemplate/node_modules/domino/lib/MouseEvent.js new file mode 100644 index 0000000..1c8820f --- /dev/null +++ b/QuickTemplate/node_modules/domino/lib/MouseEvent.js @@ -0,0 +1,51 @@ +var UIEvent = require('./UIEvent'); + +module.exports = MouseEvent; + +function MouseEvent() { + // Just use the superclass constructor to initialize + UIEvent.call(this); + + this.screenX = this.screenY = this.clientX = this.clientY = 0; + this.ctrlKey = this.altKey = this.shiftKey = this.metaKey = false; + this.button = 0; + this.buttons = 1; + this.relatedTarget = null; +} +MouseEvent.prototype = Object.create(UIEvent.prototype, { + constructor: { value: MouseEvent }, + initMouseEvent: { value: function(type, bubbles, cancelable, + view, detail, + screenX, screenY, clientX, clientY, + ctrlKey, altKey, shiftKey, metaKey, + button, relatedTarget) { + + this.initEvent(type, bubbles, cancelable, view, detail); + this.screenX = screenX; + this.screenY = screenY; + this.clientX = clientX; + this.clientY = clientY; + this.ctrlKey = ctrlKey; + this.altKey = altKey; + this.shiftKey = shiftKey; + this.metaKey = metaKey; + this.button = button; + switch(button) { + case 0: this.buttons = 1; break; + case 1: this.buttons = 4; break; + case 2: this.buttons = 2; break; + default: this.buttons = 0; break; + } + this.relatedTarget = relatedTarget; + }}, + + getModifierState: { value: function(key) { + switch(key) { + case "Alt": return this.altKey; + case "Control": return this.ctrlKey; + case "Shift": return this.shiftKey; + case "Meta": return this.metaKey; + default: return false; + } + }} +}); diff --git a/QuickTemplate/node_modules/domino/lib/MutationConstants.js b/QuickTemplate/node_modules/domino/lib/MutationConstants.js new file mode 100644 index 0000000..315342e --- /dev/null +++ b/QuickTemplate/node_modules/domino/lib/MutationConstants.js @@ -0,0 +1,8 @@ +module.exports = { + VALUE: 1, // The value of a Text, Comment or PI node changed + ATTR: 2, // A new attribute was added or an attribute value and/or prefix changed + REMOVE_ATTR: 3, // An attribute was removed + REMOVE: 4, // A node was removed + MOVE: 5, // A node was moved + INSERT: 6 // A node (or a subtree of nodes) was inserted +}; \ No newline at end of file diff --git a/QuickTemplate/node_modules/domino/lib/Node.js b/QuickTemplate/node_modules/domino/lib/Node.js new file mode 100644 index 0000000..5cc083d --- /dev/null +++ b/QuickTemplate/node_modules/domino/lib/Node.js @@ -0,0 +1,641 @@ +module.exports = Node; + +var EventTarget = require('./EventTarget'); +var utils = require('./utils'); +var NAMESPACE = utils.NAMESPACE; + +// All nodes have a nodeType and an ownerDocument. +// Once inserted, they also have a parentNode. +// This is an abstract class; all nodes in a document are instances +// of a subtype, so all the properties are defined by more specific +// constructors. +function Node() { +} + +var ELEMENT_NODE = Node.ELEMENT_NODE = 1; +var ATTRIBUTE_NODE = Node.ATTRIBUTE_NODE = 2; +var TEXT_NODE = Node.TEXT_NODE = 3; +var CDATA_SECTION_NODE = Node.CDATA_SECTION_NODE = 4; +var ENTITY_REFERENCE_NODE = Node.ENTITY_REFERENCE_NODE = 5; +var ENTITY_NODE = Node.ENTITY_NODE = 6; +var PROCESSING_INSTRUCTION_NODE = Node.PROCESSING_INSTRUCTION_NODE = 7; +var COMMENT_NODE = Node.COMMENT_NODE = 8; +var DOCUMENT_NODE = Node.DOCUMENT_NODE = 9; +var DOCUMENT_TYPE_NODE = Node.DOCUMENT_TYPE_NODE = 10; +var DOCUMENT_FRAGMENT_NODE = Node.DOCUMENT_FRAGMENT_NODE = 11; +var NOTATION_NODE = Node.NOTATION_NODE = 12; + +var DOCUMENT_POSITION_DISCONNECTED = Node.DOCUMENT_POSITION_DISCONNECTED = 0x01; +var DOCUMENT_POSITION_PRECEDING = Node.DOCUMENT_POSITION_PRECEDING = 0x02; +var DOCUMENT_POSITION_FOLLOWING = Node.DOCUMENT_POSITION_FOLLOWING = 0x04; +var DOCUMENT_POSITION_CONTAINS = Node.DOCUMENT_POSITION_CONTAINS = 0x08; +var DOCUMENT_POSITION_CONTAINED_BY = Node.DOCUMENT_POSITION_CONTAINED_BY = 0x10; +var DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 0x20; + +var hasRawContent = { + STYLE: true, + SCRIPT: true, + XMP: true, + IFRAME: true, + NOEMBED: true, + NOFRAMES: true, + PLAINTEXT: true, + NOSCRIPT: true +}; + +var emptyElements = { + area: true, + base: true, + basefont: true, + bgsound: true, + br: true, + col: true, + command: true, + embed: true, + frame: true, + hr: true, + img: true, + input: true, + keygen: true, + link: true, + meta: true, + param: true, + source: true, + track: true, + wbr: true +}; + +var extraNewLine = { + pre: true, + textarea: true, + listing: true +}; + +Node.prototype = Object.create(EventTarget.prototype, { + + // Node that are not inserted into the tree inherit a null parent + parentNode: { value: null, writable: true }, + + // XXX: the baseURI attribute is defined by dom core, but + // a correct implementation of it requires HTML features, so + // we'll come back to this later. + baseURI: { get: utils.nyi }, + + parentElement: { get: function() { + return (this.parentNode && this.parentNode.nodeType===ELEMENT_NODE) ? this.parentNode : null; + }}, + + hasChildNodes: { value: function() { // Overridden in leaf.js + return this.childNodes.length > 0; + }}, + + firstChild: { get: function() { + return this.childNodes.length === 0 ? null : this.childNodes[0]; + }}, + + lastChild: { get: function() { + return this.childNodes.length === 0 ? null : this.childNodes[this.childNodes.length-1]; + }}, + + previousSibling: { get: function() { + if (!this.parentNode) return null; + var sibs = this.parentNode.childNodes, i = this.index; + return i === 0 ? null : sibs[i-1]; + }}, + + nextSibling: { get: function() { + if (!this.parentNode) return null; + var sibs = this.parentNode.childNodes, i = this.index; + return i+1 === sibs.length ? null : sibs[i+1]; + }}, + + insertBefore: { value: function insertBefore(child, refChild) { + var parent = this; + if (refChild === null) return this.appendChild(child); + if (refChild.parentNode !== parent) utils.NotFoundError(); + if (child.isAncestor(parent)) utils.HierarchyRequestError(); + if (child.nodeType === DOCUMENT_NODE) utils.HierarchyRequestError(); + parent.ensureSameDoc(child); + child.insert(parent, refChild.index); + return child; + }}, + + + appendChild: { value: function(child) { + var parent = this; + if (child.isAncestor(parent)) { + utils.HierarchyRequestError(); + } + if (child.nodeType === DOCUMENT_NODE) utils.HierarchyRequestError(); + parent.ensureSameDoc(child); + return parent._appendChild(child); + }}, + + _appendChild: { value: function(child) { + child.insert(this, this.childNodes.length); + return child; + }}, + + removeChild: { value: function removeChild(child) { + var parent = this; + if (child.parentNode !== parent) utils.NotFoundError(); + child.remove(); + return child; + }}, + + replaceChild: { value: function replaceChild(newChild, oldChild) { + var parent = this; + if (oldChild.parentNode !== parent) utils.NotFoundError(); + if (newChild.isAncestor(parent)) utils.HierarchyRequestError(); + parent.ensureSameDoc(newChild); + + var refChild = oldChild.nextSibling; + oldChild.remove(); + parent.insertBefore(newChild, refChild); + return oldChild; + }}, + + compareDocumentPosition: { value: function compareDocumentPosition(that){ + // Basic algorithm for finding the relative position of two nodes. + // Make a list the ancestors of each node, starting with the + // document element and proceeding down to the nodes themselves. + // Then, loop through the lists, looking for the first element + // that differs. The order of those two elements give the + // order of their descendant nodes. Or, if one list is a prefix + // of the other one, then that node contains the other. + + if (this === that) return 0; + + // If they're not owned by the same document or if one is rooted + // and one is not, then they're disconnected. + if (this.doc != that.doc || + this.rooted !== that.rooted) + return (DOCUMENT_POSITION_DISCONNECTED + + DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC); + + // Get arrays of ancestors for this and that + var these = [], those = []; + for(var n = this; n !== null; n = n.parentNode) these.push(n); + for(n = that; n !== null; n = n.parentNode) those.push(n); + these.reverse(); // So we start with the outermost + those.reverse(); + + if (these[0] !== those[0]) // No common ancestor + return (DOCUMENT_POSITION_DISCONNECTED + + DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC); + + n = Math.min(these.length, those.length); + for(var i = 1; i < n; i++) { + if (these[i] !== those[i]) { + // We found two different ancestors, so compare + // their positions + if (these[i].index < those[i].index) + return DOCUMENT_POSITION_FOLLOWING; + else + return DOCUMENT_POSITION_PRECEDING; + } + } + + // If we get to here, then one of the nodes (the one with the + // shorter list of ancestors) contains the other one. + if (these.length < those.length) + return (DOCUMENT_POSITION_FOLLOWING + + DOCUMENT_POSITION_CONTAINED_BY); + else + return (DOCUMENT_POSITION_PRECEDING + + DOCUMENT_POSITION_CONTAINS); + }}, + + isSameNode: {value : function isSameNode(node) { + return this === node; + }}, + + + // This method implements the generic parts of node equality testing + // and defers to the (non-recursive) type-specific isEqual() method + // defined by subclasses + isEqualNode: { value: function isEqualNode(node) { + if (!node) return false; + if (node.nodeType !== this.nodeType) return false; + + // Check for same number of children + // Check for children this way because it is more efficient + // for childless leaf nodes. + var n; // number of child nodes + if (!this.firstChild) { + n = 0; + if (node.firstChild) return false; + } + else { + n = this.childNodes.length; + if (node.childNodes.length != n) return false; + } + + // Check type-specific properties for equality + if (!this.isEqual(node)) return false; + + // Now check children for equality + for(var i = 0; i < n; i++) { + var c1 = this.childNodes[i], c2 = node.childNodes[i]; + if (!c1.isEqualNode(c2)) return false; + } + + return true; + }}, + + // This method delegates shallow cloning to a clone() method + // that each concrete subclass must implement + cloneNode: { value: function(deep) { + // Clone this node + var clone = this.clone(); + + // Handle the recursive case if necessary + if (deep && this.firstChild) { + for(var i = 0, n = this.childNodes.length; i < n; i++) { + clone._appendChild(this.childNodes[i].cloneNode(true)); + } + } + + return clone; + }}, + + lookupPrefix: { value: function lookupPrefix(ns) { + var e; + if (ns === '') return null; + switch(this.nodeType) { + case ELEMENT_NODE: + return this.locateNamespacePrefix(ns); + case DOCUMENT_NODE: + e = this.documentElement; + return e ? e.locateNamespacePrefix(ns) : null; + case DOCUMENT_TYPE_NODE: + case DOCUMENT_FRAGMENT_NODE: + return null; + default: + e = this.parentElement; + return e ? e.locateNamespacePrefix(ns) : null; + } + }}, + + + lookupNamespaceURI: {value: function lookupNamespaceURI(prefix) { + var e; + switch(this.nodeType) { + case ELEMENT_NODE: + return this.locateNamespace(prefix); + case DOCUMENT_NODE: + e = this.documentElement; + return e ? e.locateNamespace(prefix) : null; + case DOCUMENT_TYPE_NODE: + case DOCUMENT_FRAGMENT_NODE: + return null; + default: + e = this.parentElement; + return e ? e.locateNamespace(prefix) : null; + } + }}, + + isDefaultNamespace: { value: function isDefaultNamespace(ns) { + var defaultns = this.lookupNamespaceURI(null); + if (defaultns == null) defaultns = ''; + return ns === defaultns; + }}, + + // Utility methods for nodes. Not part of the DOM + + // Return the index of this node in its parent. + // Throw if no parent, or if this node is not a child of its parent + index: { get: function() { + utils.assert(this.parentNode); + var kids = this.parentNode.childNodes; + if (this._index == undefined || kids[this._index] != this) { + this._index = kids.indexOf(this); + utils.assert(this._index != -1); + } + return this._index; + }}, + + // Return true if this node is equal to or is an ancestor of that node + // Note that nodes are considered to be ancestors of themselves + isAncestor: { value: function(that) { + // If they belong to different documents, then they're unrelated. + if (this.doc != that.doc) return false; + // If one is rooted and one isn't then they're not related + if (this.rooted !== that.rooted) return false; + + // Otherwise check by traversing the parentNode chain + for(var e = that; e; e = e.parentNode) { + if (e === this) return true; + } + return false; + }}, + + // DOMINO Changed the behavior to conform with the specs. See: + // https://groups.google.com/d/topic/mozilla.dev.platform/77sIYcpdDmc/discussion + ensureSameDoc: { value: function(that) { + if (that.ownerDocument === null) { + that.ownerDocument = this.doc; + } + else if(that.ownerDocument !== this.doc) { + utils.WrongDocumentError(); + } + }}, + + // Remove this node from its parent + remove: { value: function remove() { + // Send mutation events if necessary + if (this.rooted) this.doc.mutateRemove(this); + + // Remove this node from its parents array of children + this.parentNode.childNodes.splice(this.index, 1); + + // Update the structure id for all ancestors + this.parentNode.modify(); + + // Forget this node's parent + this.parentNode = undefined; + }}, + + // Remove all of this node's children. This is a minor + // optimization that only calls modify() once. + removeChildren: { value: function removeChildren() { + var n = this.childNodes.length; + if (n) { + var root = this.rooted ? this.ownerDocument : null; + for(var i = 0; i < n; i++) { + if (root) root.mutateRemove(this.childNodes[i]); + this.childNodes[i].parentNode = undefined; + } + this.childNodes.length = 0; // Forget all children + this.modify(); // Update last modified type once only + } + }}, + + // Insert this node as a child of parent at the specified index, + // firing mutation events as necessary + insert: { value: function insert(parent, index) { + var child = this, kids = parent.childNodes; + + // If we are already a child of the specified parent, then t + // the index may have to be adjusted. + if (child.parentNode === parent) { + var currentIndex = child.index; + // If we're not moving the node, we're done now + // XXX: or do DOM mutation events still have to be fired? + if (currentIndex === index) return; + + // If the child is before the spot it is to be inserted at, + // then when it is removed, the index of that spot will be + // reduced. + if (currentIndex < index) index--; + } + + // Special case for document fragments + // XXX: it is not at all clear that I'm handling this correctly. + // Scripts should never get to see partially + // inserted fragments, I think. See: + // http://lists.w3.org/Archives/Public/www-dom/2011OctDec/0130.html + if (child.nodeType === DOCUMENT_FRAGMENT_NODE) { + var c; + while((c = child.firstChild)) + c.insert(parent, index++); + return; + } + + // If both the child and the parent are rooted, then we want to + // transplant the child without uprooting and rerooting it. + if (child.rooted && parent.rooted) { + // Remove the child from its current position in the tree + // without calling remove(), since we don't want to uproot it. + var curpar = child.parentNode, curidx = child.index; + child.parentNode.childNodes.splice(child.index, 1); + curpar.modify(); + + // And insert it as a child of its new parent + child.parentNode = parent; + kids.splice(index, 0, child); + child._index = index; // Optimization + parent.modify(); + + // Generate a move mutation event + parent.doc.mutateMove(child); + } + else { + // If the child already has a parent, it needs to be + // removed from that parent, which may also uproot it + if (child.parentNode) child.remove(); + + // Now insert the child into the parent's array of children + child.parentNode = parent; + kids.splice(index, 0, child); + + child._index = index; // Optimization + + // And root the child if necessary + if (parent.rooted) { + parent.modify(); + parent.doc.mutateInsert(child); + } + } + }}, + + + // Return the lastModTime value for this node. (For use as a + // cache invalidation mechanism. If the node does not already + // have one, initialize it from the owner document's modclock + // property. (Note that modclock does not return the actual + // time; it is simply a counter incremented on each document + // modification) + lastModTime: { get: function() { + if (!this._lastModTime) { + this._lastModTime = this.doc.modclock; + } + return this._lastModTime; + }}, + + // Increment the owner document's modclock and use the new + // value to update the lastModTime value for this node and + // all of its ancestors. Nodes that have never had their + // lastModTime value queried do not need to have a + // lastModTime property set on them since there is no + // previously queried value to ever compare the new value + // against, so only update nodes that already have a + // _lastModTime property. + modify: { value: function() { + if (this.doc.modclock) { // Skip while doc.modclock == 0 + var time = ++this.doc.modclock; + for(var n = this; n; n = n.parentElement) { + if (n._lastModTime) { + n._lastModTime = time; + } + } + } + }}, + + // This attribute is not part of the DOM but is quite helpful. + // It returns the document with which a node is associated. Usually + // this is the ownerDocument. But ownerDocument is null for the + // document object itself, so this is a handy way to get the document + // regardless of the node type + doc: { get: function() { + return this.ownerDocument || this; + }}, + + + // If the node has a nid (node id), then it is rooted in a document + rooted: { get: function() { + return !!this._nid; + }}, + + normalize: { value: function() { + for (var i=0; i < this.childNodes.length; i++) { + var child = this.childNodes[i]; + + if (child.normalize) { + child.normalize(); + } + + if (child.nodeValue === "") { + this.removeChild(child); + i--; + continue; + } + + if (i) { + var prevChild = this.childNodes[i-1]; + + if (child.nodeType === Node.TEXT_NODE && + prevChild.nodeType === Node.TEXT_NODE) { + + // remove the child and decrement i + prevChild.appendData(child.nodeValue); + + this.removeChild(child); + i--; + } + } + } + }}, + + // Convert the children of a node to an HTML string. + // This is used by the innerHTML getter + // The serialization spec is at: + // http://www.whatwg.org/specs/web-apps/current-work/multipage/the-end.html#serializing-html-fragments + serialize: { value: function() { + var s = ''; + for(var i = 0, n = this.childNodes.length; i < n; i++) { + var kid = this.childNodes[i]; + switch(kid.nodeType) { + case 1: //ELEMENT_NODE + var ns = kid.namespaceURI; + var html = ns == NAMESPACE.HTML; + var tagname = (html || ns == NAMESPACE.SVG || ns == NAMESPACE.MATHML) ? kid.localName : kid.tagName; + + s += '<' + tagname; + + for(var j = 0, k = kid._numattrs; j < k; j++) { + var a = kid._attr(j); + s += ' ' + attrname(a); + if (a.value !== undefined) s += '="' + escapeAttr(a.value) + '"'; + } + s += '>'; + + if (!(html && emptyElements[tagname])) { + var ss = kid.serialize(); + if (html && extraNewLine[tagname] && ss.charAt(0)==='\n') s += '\n'; + // Serialize children and add end tag for all others + s += ss; + s += ''; + } + break; + case 3: //TEXT_NODE + case 4: //CDATA_SECTION_NODE + var parenttag; + if (this.nodeType === ELEMENT_NODE && + this.namespaceURI === NAMESPACE.HTML) + parenttag = this.tagName; + else + parenttag = ''; + + s += hasRawContent[parenttag] ? kid.data : escape(kid.data); + break; + case 8: //COMMENT_NODE + s += ''; + break; + case 7: //PROCESSING_INSTRUCTION_NODE + s += ''; + break; + case 10: //DOCUMENT_TYPE_NODE + s += ''; + break; + default: + utils.InvalidState(); + } + } + + return s; + }}, + + // mirror node type properties in the prototype, so they are present + // in instances of Node (and subclasses) + ELEMENT_NODE: { value: ELEMENT_NODE }, + ATTRIBUTE_NODE: { value: ATTRIBUTE_NODE }, + TEXT_NODE: { value: TEXT_NODE }, + CDATA_SECTION_NODE: { value: CDATA_SECTION_NODE }, + ENTITY_REFERENCE_NODE: { value: ENTITY_REFERENCE_NODE }, + ENTITY_NODE: { value: ENTITY_NODE }, + PROCESSING_INSTRUCTION_NODE: { value: PROCESSING_INSTRUCTION_NODE }, + COMMENT_NODE: { value: COMMENT_NODE }, + DOCUMENT_NODE: { value: DOCUMENT_NODE }, + DOCUMENT_TYPE_NODE: { value: DOCUMENT_TYPE_NODE }, + DOCUMENT_FRAGMENT_NODE: { value: DOCUMENT_FRAGMENT_NODE }, + NOTATION_NODE: { value: NOTATION_NODE } +}); + +function escape(s) { + return s.replace(/[&<>\u00A0]/g, function(c) { + switch(c) { + case '&': return '&'; + case '<': return '<'; + case '>': return '>'; + case '\u00A0': return ' '; + } + }); +} + +function escapeAttr(s) { + return s.replace(/[&"\u00A0]/g, function(c) { + switch(c) { + case '&': return '&'; + case '"': return '"'; + case '\u00A0': return ' '; + } + }); +} + +function attrname(a) { + var ns = a.namespaceURI; + if (!ns) + return a.localName; + if (ns == NAMESPACE.XML) + return 'xml:' + a.localName; + if (ns == NAMESPACE.XLINK) + return 'xlink:' + a.localName; + + if (ns == NAMESPACE.XMLNS) { + if (a.localName === 'xmlns') return 'xmlns'; + else return 'xmlns:' + a.localName; + } + return a.name; +} + diff --git a/QuickTemplate/node_modules/domino/lib/NodeFilter.js b/QuickTemplate/node_modules/domino/lib/NodeFilter.js new file mode 100644 index 0000000..db9697e --- /dev/null +++ b/QuickTemplate/node_modules/domino/lib/NodeFilter.js @@ -0,0 +1,23 @@ +var NodeFilter = { + // Constants for acceptNode() + FILTER_ACCEPT: 1, + FILTER_REJECT: 2, + FILTER_SKIP: 3, + + // Constants for whatToShow + SHOW_ALL: 0xFFFFFFFF, + SHOW_ELEMENT: 0x1, + SHOW_ATTRIBUTE: 0x2, // historical + SHOW_TEXT: 0x4, + SHOW_CDATA_SECTION: 0x8, // historical + SHOW_ENTITY_REFERENCE: 0x10, // historical + SHOW_ENTITY: 0x20, // historical + SHOW_PROCESSING_INSTRUCTION: 0x40, + SHOW_COMMENT: 0x80, + SHOW_DOCUMENT: 0x100, + SHOW_DOCUMENT_TYPE: 0x200, + SHOW_DOCUMENT_FRAGMENT: 0x400, + SHOW_NOTATION: 0x800 // historical +}; + +module.exports = (NodeFilter.constructor = NodeFilter.prototype = NodeFilter); diff --git a/QuickTemplate/node_modules/domino/lib/NodeList.js b/QuickTemplate/node_modules/domino/lib/NodeList.js new file mode 100644 index 0000000..b67d655 --- /dev/null +++ b/QuickTemplate/node_modules/domino/lib/NodeList.js @@ -0,0 +1,11 @@ +module.exports = NodeList; + +function item(i) { + return this[i]; +} + +function NodeList(a) { + if (!a) a = []; + a.item = item; + return a; +} diff --git a/QuickTemplate/node_modules/domino/lib/ProcessingInstruction.js b/QuickTemplate/node_modules/domino/lib/ProcessingInstruction.js new file mode 100644 index 0000000..c18d382 --- /dev/null +++ b/QuickTemplate/node_modules/domino/lib/ProcessingInstruction.js @@ -0,0 +1,35 @@ +module.exports = ProcessingInstruction; + +var Node = require('./Node'); +var Leaf = require('./Leaf'); + +function ProcessingInstruction(doc, target, data) { + this.nodeType = Node.PROCESSING_INSTRUCTION_NODE; + this.ownerDocument = doc; + this.target = target; + this._data = data; +} + +var nodeValue = { + get: function() { return this._data; }, + set: function(v) { + this._data = v; + if (this.rooted) this.ownerDocument.mutateValue(this); + } +}; + +ProcessingInstruction.prototype = Object.create(Leaf.prototype, { + nodeName: { get: function() { return this.target; }}, + nodeValue: nodeValue, + textContent: nodeValue, + data: nodeValue, + + // Utility methods + clone: { value: function clone() { + return new ProcessingInstruction(this.ownerDocument, this.target, this._data); + }}, + isEqual: { value: function isEqual(n) { + return this.target === n.target && this._data === n._data; + }} + +}); diff --git a/QuickTemplate/node_modules/domino/lib/Text.js b/QuickTemplate/node_modules/domino/lib/Text.js new file mode 100644 index 0000000..be40ff7 --- /dev/null +++ b/QuickTemplate/node_modules/domino/lib/Text.js @@ -0,0 +1,61 @@ +module.exports = Text; + +var utils = require('./utils'); +var Node = require('./Node'); +var CharacterData = require('./CharacterData'); + +function Text(doc, data) { + this.nodeType = Node.TEXT_NODE; + this.ownerDocument = doc; + this._data = data; + this._index = undefined; +} + +var nodeValue = { + get: function() { return this._data; }, + set: function(v) { + if (v === this._data) return; + this._data = v; + if (this.rooted) + this.ownerDocument.mutateValue(this); + if (this.parentNode && + this.parentNode._textchangehook) + this.parentNode._textchangehook(this); + } +}; + +Text.prototype = Object.create(CharacterData.prototype, { + nodeName: { value: "#text" }, + // These three attributes are all the same. + // The data attribute has a [TreatNullAs=EmptyString] but we'll + // implement that at the interface level + nodeValue: nodeValue, + textContent: nodeValue, + data: nodeValue, + + splitText: { value: function splitText(offset) { + if (offset > this._data.length || offset < 0) utils.IndexSizeError(); + + var newdata = this._data.substring(offset), + newnode = this.ownerDocument.createTextNode(newdata); + this.data = this.data.substring(0, offset); + + var parent = this.parentNode; + if (parent !== null) + parent.insertBefore(newnode, this.nextSibling); + + return newnode; + }}, + + // XXX + // wholeText and replaceWholeText() are not implemented yet because + // the DOMCore specification is considering removing or altering them. + wholeText: {get: utils.nyi }, + replaceWholeText: { value: utils.nyi }, + + // Utility methods + clone: { value: function clone() { + return new Text(this.ownerDocument, this._data); + }}, + +}); diff --git a/QuickTemplate/node_modules/domino/lib/TreeWalker.js b/QuickTemplate/node_modules/domino/lib/TreeWalker.js new file mode 100644 index 0000000..2bfe662 --- /dev/null +++ b/QuickTemplate/node_modules/domino/lib/TreeWalker.js @@ -0,0 +1,311 @@ +module.exports = TreeWalker; + +var NodeFilter = require('./NodeFilter'); + +var mapChild = { + first: 'firstChild', + last: 'lastChild', + next: 'firstChild', + previous: 'lastChild' +}; + +var mapSibling = { + next: 'nextSibling', + previous: 'previousSibling' +}; + +/* Private methods and helpers */ + +/** + * @spec http://www.w3.org/TR/dom/#concept-traverse-children + * @method + * @access private + * @param {TreeWalker} tw + * @param {string} type One of 'first' or 'last'. + * @return {Node|null} + */ +function traverseChildren(tw, type) { + var child, node, parent, result, sibling; + node = tw.currentNode[mapChild[type]]; + while (node !== null) { + result = tw.filter.acceptNode(node); + if (result === NodeFilter.FILTER_ACCEPT) { + tw.currentNode = node; + return node; + } + if (result === NodeFilter.FILTER_SKIP) { + child = node[mapChild[type]]; + if (child !== null) { + node = child; + continue; + } + } + while (node !== null) { + sibling = node[mapChild[type]]; + if (sibling !== null) { + node = sibling; + break; + } + parent = node.parentNode; + if (parent === null || parent === tw.root || parent === tw.currentNode) { + return null; + } + else { + node = parent; + } + } + } + return null; +}; + +/** + * @spec http://www.w3.org/TR/dom/#concept-traverse-siblings + * @method + * @access private + * @param {TreeWalker} tw + * @param {TreeWalker} type One of 'next' or 'previous'. + * @return {Node|nul} + */ +function traverseSiblings(tw, type) { + var node, result, sibling; + node = tw.currentNode; + if (node === tw.root) { + return null; + } + while (true) { + sibling = node[mapSibling[type]]; + while (sibling !== null) { + node = sibling; + result = tw.filter.acceptNode(node); + if (result === NodeFilter.FILTER_ACCEPT) { + tw.currentNode = node; + return node; + } + sibling = node[mapChild[type]]; + if (result === NodeFilter.FILTER_REJECT) { + sibling = node[mapSibling[type]]; + } + } + node = node.parentNode; + if (node === null || node === tw.root) { + return null; + } + if (tw.filter.acceptNode(node) === NodeFilter.FILTER_ACCEPT) { + return null; + } + } +}; + +/** + * @based on WebKit's NodeTraversal::nextSkippingChildren + * https://trac.webkit.org/browser/trunk/Source/WebCore/dom/NodeTraversal.h?rev=137221#L103 + */ +function nextSkippingChildren(node, stayWithin) { + if (node === stayWithin) { + return null; + } + if (node.nextSibling !== null) { + return node.nextSibling; + } + + /** + * @based on WebKit's NodeTraversal::nextAncestorSibling + * https://trac.webkit.org/browser/trunk/Source/WebCore/dom/NodeTraversal.cpp?rev=137221#L43 + */ + while (node.parentNode !== null) { + node = node.parentNode; + if (node === stayWithin) { + return null; + } + if (node.nextSibling !== null) { + return node.nextSibling; + } + } + return null; +}; + +/* Public API */ + +/** + * Implemented version: http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker + * Latest version: http://www.w3.org/TR/dom/#interface-treewalker + * + * @constructor + * @param {Node} root + * @param {number} whatToShow [optional] + * @param {Function} filter [optional] + * @throws Error + */ +function TreeWalker(root, whatToShow, filter) { + var tw = this, active = false; + + if (!root || !root.nodeType) { + throw new Error('DOMException: NOT_SUPPORTED_ERR'); + } + + tw.root = root; + tw.whatToShow = Number(whatToShow) || 0; + + tw.currentNode = root; + + if (typeof filter == 'function') { + filter = null; + } + + tw.filter = Object.create(NodeFilter.prototype); + + /** + * @method + * @param {Node} node + * @return {Number} Constant NodeFilter.FILTER_ACCEPT, + * NodeFilter.FILTER_REJECT or NodeFilter.FILTER_SKIP. + */ + tw.filter.acceptNode = function (node) { + var result; + if (active) { + throw new Error('DOMException: INVALID_STATE_ERR'); + } + + // Maps nodeType to whatToShow + if (!(((1 << (node.nodeType - 1)) & tw.whatToShow))) { + return NodeFilter.FILTER_SKIP; + } + + if (filter === null) { + return NodeFilter.FILTER_ACCEPT; + } + + active = true; + result = filter(node); + active = false; + + return result; + }; +}; + +TreeWalker.prototype = { + + constructor: TreeWalker, + + /** + * @spec http://www.w3.org/TR/dom/#dom-treewalker-parentnode + * @method + * @return {Node|null} + */ + parentNode: function () { + var node = this.currentNode; + while (node !== null && node !== this.root) { + node = node.parentNode; + if (node !== null && this.filter.acceptNode(node) === NodeFilter.FILTER_ACCEPT) { + this.currentNode = node; + return node; + } + } + return null; + }, + + /** + * @spec http://www.w3.org/TR/dom/#dom-treewalker-firstchild + * @method + * @return {Node|null} + */ + firstChild: function () { + return traverseChildren(this, 'first'); + }, + + /** + * @spec http://www.w3.org/TR/dom/#dom-treewalker-lastchild + * @method + * @return {Node|null} + */ + lastChild: function () { + return traverseChildren(this, 'last'); + }, + + /** + * @spec http://www.w3.org/TR/dom/#dom-treewalker-previoussibling + * @method + * @return {Node|null} + */ + previousSibling: function () { + return traverseSiblings(this, 'previous'); + }, + + /** + * @spec http://www.w3.org/TR/dom/#dom-treewalker-nextsibling + * @method + * @return {Node|null} + */ + nextSibling: function () { + return traverseSiblings(this, 'next'); + }, + + /** + * @spec http://www.w3.org/TR/dom/#dom-treewalker-previousnode + * @method + * @return {Node|null} + */ + previousNode: function () { + var node, result, sibling; + node = this.currentNode; + while (node !== this.root) { + sibling = node.previousSibling; + while (sibling !== null) { + node = sibling; + result = this.filter.acceptNode(node); + while (result !== NodeFilter.FILTER_REJECT && node.lastChild !== null) { + node = node.lastChild; + result = this.filter.acceptNode(node); + } + if (result === NodeFilter.FILTER_ACCEPT) { + this.currentNode = node; + return node; + } + } + if (node === this.root || node.parentNode === null) { + return null; + } + node = node.parentNode; + if (this.filter.acceptNode(node) === NodeFilter.FILTER_ACCEPT) { + this.currentNode = node; + return node; + } + } + return null; + }, + + /** + * @spec http://www.w3.org/TR/dom/#dom-treewalker-nextnode + * @method + * @return {Node|null} + */ + nextNode: function () { + var node, result, following; + node = this.currentNode; + result = NodeFilter.FILTER_ACCEPT; + + while (true) { + while (result !== NodeFilter.FILTER_REJECT && node.firstChild !== null) { + node = node.firstChild; + result = this.filter.acceptNode(node); + if (result === NodeFilter.FILTER_ACCEPT) { + this.currentNode = node; + return node; + } + } + following = nextSkippingChildren(node, this.root); + if (following !== null) { + node = following; + } + else { + return null; + } + result = this.filter.acceptNode(node); + if (result === NodeFilter.FILTER_ACCEPT) { + this.currentNode = node; + return node; + } + } + } +}; + diff --git a/QuickTemplate/node_modules/domino/lib/UIEvent.js b/QuickTemplate/node_modules/domino/lib/UIEvent.js new file mode 100644 index 0000000..6cd5e5f --- /dev/null +++ b/QuickTemplate/node_modules/domino/lib/UIEvent.js @@ -0,0 +1,18 @@ +var Event = require('./Event'); + +module.exports = UIEvent; + +function UIEvent() { + // Just use the superclass constructor to initialize + Event.call(this); + this.view = null; // FF uses the current window + this.detail = 0; +} +UIEvent.prototype = Object.create(Event.prototype, { + constructor: { value: UIEvent }, + initUIEvent: { value: function(type, bubbles, cancelable, view, detail) { + this.initEvent(type, bubbles, cancelable); + this.view = view; + this.detail = detail; + }} +}); diff --git a/QuickTemplate/node_modules/domino/lib/URL.js b/QuickTemplate/node_modules/domino/lib/URL.js new file mode 100644 index 0000000..a0e476c --- /dev/null +++ b/QuickTemplate/node_modules/domino/lib/URL.js @@ -0,0 +1,166 @@ +module.exports = URL; + +function URL(url) { + if (!url) return Object.create(URL.prototype); + // Can't use String.trim() since it defines whitespace differently than HTML + this.url = url.replace(/^[ \t\n\r\f]+|[ \t\n\r\f]+$/g, ""); + + // See http://tools.ietf.org/html/rfc3986#appendix-B + var match = URL.pattern.exec(this.url); + if (match) { + if (match[2]) this.scheme = match[2]; + if (match[4]) { + // XXX ignoring userinfo before the hostname + if (match[4].match(URL.portPattern)) { + var pos = match[4].lastIndexOf(':'); + this.host = match[4].substring(0, pos); + this.port = match[4].substring(pos+1); + } + else { + this.host = match[4]; + } + } + if (match[5]) this.path = match[5]; + if (match[6]) this.query = match[7]; + if (match[8]) this.fragment = match[9]; + } +} + +URL.pattern = /^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/; +URL.portPattern = /:\d+$/; +URL.authorityPattern = /^[^:\/?#]+:\/\//; +URL.hierarchyPattern = /^[^:\/?#]+:\//; + +// Return a percentEncoded version of s. +// S should be a single-character string +// XXX: needs to do utf-8 encoding? +URL.percentEncode = function percentEncode(s) { + var c = charCodeAt(s, 0); + if (c < 256) return "%" + c.toString(16); + else throw Error("can't percent-encode codepoints > 255 yet"); +}; + +URL.prototype = { + constructor: URL, + + // XXX: not sure if this is the precise definition of absolute + isAbsolute: function() { return !!this.scheme; }, + isAuthorityBased: function() { + return URL.authorityPattern.test(this.url); + }, + isHierarchical: function() { + return URL.hierarchyPattern.test(this.url); + }, + + toString: function() { + var s = ""; + if (this.scheme !== undefined) s += this.scheme + ":"; + if (this.host !== undefined) s += "//" + this.host; + if (this.port !== undefined) s += ":" + this.port; + if (this.path !== undefined) s += this.path; + if (this.query !== undefined) s += "?" + this.query; + if (this.fragment !== undefined) s += "#" + this.fragment; + return s; + }, + + // See: http://tools.ietf.org/html/rfc3986#section-5.2 + resolve: function(relative) { + var base = this; // The base url we're resolving against + var r = new URL(relative); // The relative reference url to resolve + var t = new URL(); // The absolute target url we will return + + if (r.scheme !== undefined) { + t.scheme = r.scheme; + t.host = r.host; + t.port = r.port; + t.path = remove_dot_segments(r.path); + t.query = r.query; + } + else { + t.scheme = base.scheme; + if (r.host !== undefined) { + t.host = r.host; + t.port = r.port; + t.path = remove_dot_segments(r.path); + t.query = r.query; + } + else { + t.host = base.host; + t.port = base.port; + if (!r.path) { // undefined or empty + t.path = base.path; + if (r.query !== undefined) + t.query = r.query; + else + t.query = base.query; + } + else { + if (r.path.charAt(0) === "/") { + t.path = remove_dot_segments(r.path); + } + else { + t.path = merge(base.path, r.path); + t.path = remove_dot_segments(t.path); + } + t.query = r.query; + } + } + } + t.fragment = r.fragment; + + return t.toString(); + + + function merge(basepath, refpath) { + if (base.host !== undefined && !base.path) + return "/" + refpath; + + var lastslash = basepath.lastIndexOf("/"); + if (lastslash === -1) + return refpath; + else + return basepath.substring(0, lastslash+1) + refpath; + } + + function remove_dot_segments(path) { + if (!path) return path; // For "" or undefined + + var output = ""; + while(path.length > 0) { + if (path === "." || path === "..") { + path = ""; + break; + } + + var twochars = path.substring(0,2); + var threechars = path.substring(0,3); + var fourchars = path.substring(0,4); + if (threechars === "../") { + path = path.substring(3); + } + else if (twochars === "./") { + path = path.substring(2); + } + else if (threechars === "/./") { + path = "/" + path.substring(3); + } + else if (twochars === "/." && path.length === 2) { + path = "/"; + } + else if (fourchars === "/../" || + (threechars === "/.." && path.length === 3)) { + path = "/" + path.substring(4); + + output = output.replace(/\/?[^\/]*$/, ""); + } + else { + var segment = path.match(/(\/?([^\/]*))/)[0]; + output += segment; + path = path.substring(segment.length); + } + } + + return output; + } + }, +}; diff --git a/QuickTemplate/node_modules/domino/lib/URLDecompositionAttributes.js b/QuickTemplate/node_modules/domino/lib/URLDecompositionAttributes.js new file mode 100644 index 0000000..4fa1ced --- /dev/null +++ b/QuickTemplate/node_modules/domino/lib/URLDecompositionAttributes.js @@ -0,0 +1,163 @@ +var URL = require('./URL'); + +module.exports = URLDecompositionAttributes; + +// This is an abstract superclass for Location, HTMLAnchorElement and +// other types that have the standard complement of "URL decomposition +// IDL attributes". +// Subclasses must define getInput() and setOutput() methods. +// The getter and setter methods parse and rebuild the URL on each +// invocation; there is no attempt to cache the value and be more efficient +function URLDecompositionAttributes() {} +URLDecompositionAttributes.prototype = { + constructor: URLDecompositionAttributes, + + get protocol() { + var url = new URL(this.getInput()); + if (url.isAbsolute()) return url.scheme + ":"; + else return ""; + }, + + get host() { + var url = new URL(this.getInput()); + if (url.isAbsolute() && url.isAuthorityBased()) + return url.host + (url.port ? (":" + url.port) : ""); + else + return ""; + }, + + get hostname() { + var url = new URL(this.getInput()); + if (url.isAbsolute() && url.isAuthorityBased()) + return url.host; + else + return ""; + }, + + get port() { + var url = new URL(this.getInput()); + if (url.isAbsolute() && url.isAuthorityBased() && url.port!==undefined) + return url.port; + else + return ""; + }, + + get pathname() { + var url = new URL(this.getInput()); + if (url.isAbsolute() && url.isHierarchical()) + return url.path; + else + return ""; + }, + + get search() { + var url = new URL(this.getInput()); + if (url.isAbsolute() && url.isHierarchical() && url.query!==undefined) + return "?" + url.query; + else + return ""; + }, + + get hash() { + var url = new URL(this.getInput()); + if (url.isAbsolute() && url.fragment != undefined) + return "#" + url.fragment; + else + return ""; + }, + + + set protocol(v) { + var output = this.getInput(); + var url = new URL(output); + if (url.isAbsolute()) { + v = v.replace(/:+$/, ""); + v = v.replace(/[^-+\.a-zA-z0-9]/g, URL.percentEncode); + if (v.length > 0) { + url.scheme = v; + output = url.toString(); + } + } + this.setOutput(output); + }, + + set host(v) { + var output = this.getInput(); + var url = new URL(output); + if (url.isAbsolute() && url.isAuthorityBased()) { + v = v.replace(/[^-+\._~!$&'()*,;:=a-zA-z0-9]/g, URL.percentEncode); + if (v.length > 0) { + url.host = v; + delete url.port; + output = url.toString(); + } + } + this.setOutput(output); + }, + + set hostname(v) { + var output = this.getInput(); + var url = new URL(output); + if (url.isAbsolute() && url.isAuthorityBased()) { + v = v.replace(/^\/+/, ""); + v = v.replace(/[^-+\._~!$&'()*,;:=a-zA-z0-9]/g, URL.percentEncode); + if (v.length > 0) { + url.host = v; + output = url.toString(); + } + } + this.setOutput(output); + }, + + set port(v) { + var output = this.getInput(); + var url = new URL(output); + if (url.isAbsolute() && url.isAuthorityBased()) { + v = v.replace(/[^0-9].*$/, ""); + v = v.replace(/^0+/, ""); + if (v.length === 0) v = "0"; + if (parseInt(v, 10) <= 65535) { + url.port = v; + output = url.toString(); + } + } + this.setOutput(output); + }, + + set pathname(v) { + var output = this.getInput(); + var url = new URL(output); + if (url.isAbsolute() && url.isHierarchical()) { + if (v.charAt(0) !== "/") + v = "/" + v; + v = v.replace(/[^-+\._~!$&'()*,;:=@\/a-zA-z0-9]/g, URL.percentEncode); + url.path = v; + output = url.toString(); + } + this.setOutput(output); + }, + + set search(v) { + var output = this.getInput(); + var url = new URL(output); + if (url.isAbsolute() && url.isHierarchical()) { + if (v.charAt(0) !== "?") v = v.substring(1); + v = v.replace(/[^-+\._~!$&'()*,;:=@\/?a-zA-z0-9]/g, URL.percentEncode); + url.query = v; + output = url.toString(); + } + this.setOutput(output); + }, + + set hash(v) { + var output = this.getInput(); + var url = new URL(output); + if (url.isAbsolute()) { + if (v.charAt(0) !== "#") v = v.substring(1); + v = v.replace(/[^-+\._~!$&'()*,;:=@\/?a-zA-z0-9]/g, URL.percentEncode); + url.fragment = v; + output = url.toString(); + } + this.setOutput(output); + } +}; diff --git a/QuickTemplate/node_modules/domino/lib/Window.js b/QuickTemplate/node_modules/domino/lib/Window.js new file mode 100644 index 0000000..a539aa5 --- /dev/null +++ b/QuickTemplate/node_modules/domino/lib/Window.js @@ -0,0 +1,70 @@ +var DOMImplementation = require('./DOMImplementation'); +var Node = require('./Node'); +var Document = require('./Document'); +var DocumentFragment = require('./DocumentFragment'); +var EventTarget = require('./EventTarget'); +var Location = require('./Location'); +var utils = require('./utils'); + +module.exports = Window; + +function Window(document) { + this.document = document || new DOMImplementation().createHTMLDocument(""); + this.document._scripting_enabled = true; + this.document.defaultView = this; + this.location = new Location(this, "about:blank"); +} + +Window.prototype = Object.create(EventTarget.prototype, { + _run: { value: function(code, file) { + if (file) code += '\n//@ sourceURL=' + file; + with(this) eval(code); + }}, + console: { value: console }, + history: { value: { + back: utils.nyi, + forward: utils.nyi, + go: utils.nyi + }}, + navigator: { value: { + appName: "node", + appVersion: "0.1", + platform: "JavaScript", + userAgent: "dom" + }}, + + // Self-referential properties + window: { get: function() { return this; }}, + self: { get: function() { return this; }}, + frames: { get: function() { return this; }}, + + // Self-referential properties for a top-level window + parent: { get: function() { return this; }}, + top: { get: function() { return this; }}, + + // We don't support any other windows for now + length: { value: 0 }, // no frames + frameElement: { value: null }, // not part of a frame + opener: { value: null }, // not opened by another window + + // The onload event handler. + // XXX: need to support a bunch of other event types, too, + // and have them interoperate with document.body. + + onload: { + get: function() { + return this._getEventHandler("load"); + }, + set: function(v) { + this._setEventHandler("load", v); + } + }, + + // XXX This is a completely broken implementation + getComputedStyle: { value: function getComputedStyle(elt) { + return elt.style; + }} + +}); + +utils.expose(require('./impl'), Window); diff --git a/QuickTemplate/node_modules/domino/lib/attributes.js b/QuickTemplate/node_modules/domino/lib/attributes.js new file mode 100644 index 0000000..ea6af8a --- /dev/null +++ b/QuickTemplate/node_modules/domino/lib/attributes.js @@ -0,0 +1,112 @@ +exports.property = function(attr) { + if (Array.isArray(attr.type)) { + var valid = {}; + attr.type.forEach(function(val) { + valid[val.value || val] = val.alias || val; + }); + var defaultValue = attr.implied ? '' : valid[0]; + return { + get: function() { + var v = this._getattr(attr.name); + if (v === null) return defaultValue; + + v = valid[v.toLowerCase()]; + if (v !== undefined) return v; + return defaultValue; + }, + set: function(v) { + this._setattr(attr.name, v); + } + }; + } + else if (attr.type == Boolean) { + return { + get: function() { + return this.hasAttribute(attr.name); + }, + set: function(v) { + if (v) { + this._setattr(attr.name, ''); + } + else { + this.removeAttribute(attr.name); + } + } + }; + } + else if (attr.type == Number) { + return numberPropDesc(attr); + } + else if (!attr.type || attr.type == String) { + return { + get: function() { return this._getattr(attr.name) || ''; }, + set: function(v) { this._setattr(attr.name, v); } + }; + } + else if (typeof attr.type == 'function') { + return attr.type(attr.name, attr); + } + throw new Error('Invalid attribute definition'); +}; + +// See http://www.whatwg.org/specs/web-apps/current-work/#reflect +// +// defval is the default value. If it is a function, then that function +// will be invoked as a method of the element to obtain the default. +// If no default is specified for a given attribute, then the default +// depends on the type of the attribute, but since this function handles +// 4 integer cases, you must specify the default value in each call +// +// min and max define a valid range for getting the attribute. +// +// setmin defines a minimum value when setting. If the value is less +// than that, then throw INDEX_SIZE_ERR. +// +// Conveniently, JavaScript's parseInt function appears to be +// compatible with HTML's 'rules for parsing integers' +function numberPropDesc(a) { + var def; + if(typeof a.default == 'function') { + def = a.default; + } + else if(typeof a.default == 'number') { + def = function() { return a.default; }; + } + else { + def = function() { utils.assert(false); }; + } + + return { + get: function() { + var v = this._getattr(a.name); + var n = a.float ? parseFloat(v) : parseInt(v, 10); + if (!isFinite(n) || (a.min !== undefined && n < a.min) || (a.max !== undefined && n > a.max)) { + return def.call(this); + } + return n; + }, + set: function(v) { + if (a.setmin !== undefined && v < a.setmin) { + utils.IndexSizeError(a.name + ' set to ' + v); + } + this._setattr(a.name, String(v)); + } + }; +} + +// This is a utility function for setting up change handler functions +// for attributes like 'id' that require special handling when they change. +exports.registerChangeHandler = function(c, name, handler) { + var p = c.prototype; + + // If p does not already have its own _attributeChangeHandlers + // then create one for it, inheriting from the inherited + // _attributeChangeHandlers. At the top (for the Element class) the + // _attributeChangeHandlers object will be created with a null prototype. + if (!Object.hasOwnProperty(p, '_attributeChangeHandlers')) { + p._attributeChangeHandlers = + Object.create(p._attributeChangeHandlers || null); + } + + p._attributeChangeHandlers[name] = handler; +}; \ No newline at end of file diff --git a/QuickTemplate/node_modules/domino/lib/cssparser.js b/QuickTemplate/node_modules/domino/lib/cssparser.js new file mode 100644 index 0000000..69ad278 --- /dev/null +++ b/QuickTemplate/node_modules/domino/lib/cssparser.js @@ -0,0 +1,5644 @@ +/*! +Parser-Lib +Copyright (c) 2009-2011 Nicholas C. Zakas. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +*/ +/* Build time: 12-January-2012 01:05:23 */ +var parserlib = {}; +(function(){ + +/** + * A generic base to inherit from for any object + * that needs event handling. + * @class EventTarget + * @constructor + */ +function EventTarget(){ + + /** + * The array of listeners for various events. + * @type Object + * @property _listeners + * @private + */ + this._listeners = {}; +} + +EventTarget.prototype = { + + //restore constructor + constructor: EventTarget, + + /** + * Adds a listener for a given event type. + * @param {String} type The type of event to add a listener for. + * @param {Function} listener The function to call when the event occurs. + * @return {void} + * @method addListener + */ + addListener: function(type, listener){ + if (!this._listeners[type]){ + this._listeners[type] = []; + } + + this._listeners[type].push(listener); + }, + + /** + * Fires an event based on the passed-in object. + * @param {Object|String} event An object with at least a 'type' attribute + * or a string indicating the event name. + * @return {void} + * @method fire + */ + fire: function(event){ + if (typeof event == "string"){ + event = { type: event }; + } + if (typeof event.target != "undefined"){ + event.target = this; + } + + if (typeof event.type == "undefined"){ + throw new Error("Event object missing 'type' property."); + } + + if (this._listeners[event.type]){ + + //create a copy of the array and use that so listeners can't chane + var listeners = this._listeners[event.type].concat(); + for (var i=0, len=listeners.length; i < len; i++){ + listeners[i].call(this, event); + } + } + }, + + /** + * Removes a listener for a given event type. + * @param {String} type The type of event to remove a listener from. + * @param {Function} listener The function to remove from the event. + * @return {void} + * @method removeListener + */ + removeListener: function(type, listener){ + if (this._listeners[type]){ + var listeners = this._listeners[type]; + for (var i=0, len=listeners.length; i < len; i++){ + if (listeners[i] === listener){ + listeners.splice(i, 1); + break; + } + } + + + } + } +}; +/** + * Convenient way to read through strings. + * @namespace parserlib.util + * @class StringReader + * @constructor + * @param {String} text The text to read. + */ +function StringReader(text){ + + /** + * The input text with line endings normalized. + * @property _input + * @type String + * @private + */ + this._input = text.replace(/\n\r?/g, "\n"); + + + /** + * The row for the character to be read next. + * @property _line + * @type int + * @private + */ + this._line = 1; + + + /** + * The column for the character to be read next. + * @property _col + * @type int + * @private + */ + this._col = 1; + + /** + * The index of the character in the input to be read next. + * @property _cursor + * @type int + * @private + */ + this._cursor = 0; +} + +StringReader.prototype = { + + //restore constructor + constructor: StringReader, + + //------------------------------------------------------------------------- + // Position info + //------------------------------------------------------------------------- + + /** + * Returns the column of the character to be read next. + * @return {int} The column of the character to be read next. + * @method getCol + */ + getCol: function(){ + return this._col; + }, + + /** + * Returns the row of the character to be read next. + * @return {int} The row of the character to be read next. + * @method getLine + */ + getLine: function(){ + return this._line ; + }, + + /** + * Determines if you're at the end of the input. + * @return {Boolean} True if there's no more input, false otherwise. + * @method eof + */ + eof: function(){ + return (this._cursor == this._input.length); + }, + + //------------------------------------------------------------------------- + // Basic reading + //------------------------------------------------------------------------- + + /** + * Reads the next character without advancing the cursor. + * @param {int} count How many characters to look ahead (default is 1). + * @return {String} The next character or null if there is no next character. + * @method peek + */ + peek: function(count){ + var c = null; + count = (typeof count == "undefined" ? 1 : count); + + //if we're not at the end of the input... + if (this._cursor < this._input.length){ + + //get character and increment cursor and column + c = this._input.charAt(this._cursor + count - 1); + } + + return c; + }, + + /** + * Reads the next character from the input and adjusts the row and column + * accordingly. + * @return {String} The next character or null if there is no next character. + * @method read + */ + read: function(){ + var c = null; + + //if we're not at the end of the input... + if (this._cursor < this._input.length){ + + //if the last character was a newline, increment row count + //and reset column count + if (this._input.charAt(this._cursor) == "\n"){ + this._line++; + this._col=1; + } else { + this._col++; + } + + //get character and increment cursor and column + c = this._input.charAt(this._cursor++); + } + + return c; + }, + + //------------------------------------------------------------------------- + // Misc + //------------------------------------------------------------------------- + + /** + * Saves the current location so it can be returned to later. + * @method mark + * @return {void} + */ + mark: function(){ + this._bookmark = { + cursor: this._cursor, + line: this._line, + col: this._col + }; + }, + + reset: function(){ + if (this._bookmark){ + this._cursor = this._bookmark.cursor; + this._line = this._bookmark.line; + this._col = this._bookmark.col; + delete this._bookmark; + } + }, + + //------------------------------------------------------------------------- + // Advanced reading + //------------------------------------------------------------------------- + + /** + * Reads up to and including the given string. Throws an error if that + * string is not found. + * @param {String} pattern The string to read. + * @return {String} The string when it is found. + * @throws Error when the string pattern is not found. + * @method readTo + */ + readTo: function(pattern){ + + var buffer = "", + c; + + /* + * First, buffer must be the same length as the pattern. + * Then, buffer must end with the pattern or else reach the + * end of the input. + */ + while (buffer.length < pattern.length || buffer.lastIndexOf(pattern) != buffer.length - pattern.length){ + c = this.read(); + if (c){ + buffer += c; + } else { + throw new Error("Expected \"" + pattern + "\" at line " + this._line + ", col " + this._col + "."); + } + } + + return buffer; + + }, + + /** + * Reads characters while each character causes the given + * filter function to return true. The function is passed + * in each character and either returns true to continue + * reading or false to stop. + * @param {Function} filter The function to read on each character. + * @return {String} The string made up of all characters that passed the + * filter check. + * @method readWhile + */ + readWhile: function(filter){ + + var buffer = "", + c = this.read(); + + while(c !== null && filter(c)){ + buffer += c; + c = this.read(); + } + + return buffer; + + }, + + /** + * Reads characters that match either text or a regular expression and + * returns those characters. If a match is found, the row and column + * are adjusted; if no match is found, the reader's state is unchanged. + * reading or false to stop. + * @param {String|RegExp} matchter If a string, then the literal string + * value is searched for. If a regular expression, then any string + * matching the pattern is search for. + * @return {String} The string made up of all characters that matched or + * null if there was no match. + * @method readMatch + */ + readMatch: function(matcher){ + + var source = this._input.substring(this._cursor), + value = null; + + //if it's a string, just do a straight match + if (typeof matcher == "string"){ + if (source.indexOf(matcher) === 0){ + value = this.readCount(matcher.length); + } + } else if (matcher instanceof RegExp){ + if (matcher.test(source)){ + value = this.readCount(RegExp.lastMatch.length); + } + } + + return value; + }, + + + /** + * Reads a given number of characters. If the end of the input is reached, + * it reads only the remaining characters and does not throw an error. + * @param {int} count The number of characters to read. + * @return {String} The string made up the read characters. + * @method readCount + */ + readCount: function(count){ + var buffer = ""; + + while(count--){ + buffer += this.read(); + } + + return buffer; + } + +}; +/** + * Type to use when a syntax error occurs. + * @class SyntaxError + * @namespace parserlib.util + * @constructor + * @param {String} message The error message. + * @param {int} line The line at which the error occurred. + * @param {int} col The column at which the error occurred. + */ +function SyntaxError(message, line, col){ + + /** + * The column at which the error occurred. + * @type int + * @property col + */ + this.col = col; + + /** + * The line at which the error occurred. + * @type int + * @property line + */ + this.line = line; + + /** + * The text representation of the unit. + * @type String + * @property text + */ + this.message = message; + +} + +//inherit from Error +SyntaxError.prototype = new Error(); +/** + * Base type to represent a single syntactic unit. + * @class SyntaxUnit + * @namespace parserlib.util + * @constructor + * @param {String} text The text of the unit. + * @param {int} line The line of text on which the unit resides. + * @param {int} col The column of text on which the unit resides. + */ +function SyntaxUnit(text, line, col, type){ + + + /** + * The column of text on which the unit resides. + * @type int + * @property col + */ + this.col = col; + + /** + * The line of text on which the unit resides. + * @type int + * @property line + */ + this.line = line; + + /** + * The text representation of the unit. + * @type String + * @property text + */ + this.text = text; + + /** + * The type of syntax unit. + * @type int + * @property type + */ + this.type = type; +} + +/** + * Create a new syntax unit based solely on the given token. + * Convenience method for creating a new syntax unit when + * it represents a single token instead of multiple. + * @param {Object} token The token object to represent. + * @return {parserlib.util.SyntaxUnit} The object representing the token. + * @static + * @method fromToken + */ +SyntaxUnit.fromToken = function(token){ + return new SyntaxUnit(token.value, token.startLine, token.startCol); +}; + +SyntaxUnit.prototype = { + + //restore constructor + constructor: SyntaxUnit, + + /** + * Returns the text representation of the unit. + * @return {String} The text representation of the unit. + * @method valueOf + */ + valueOf: function(){ + return this.toString(); + }, + + /** + * Returns the text representation of the unit. + * @return {String} The text representation of the unit. + * @method toString + */ + toString: function(){ + return this.text; + } + +}; +/** + * Generic TokenStream providing base functionality. + * @class TokenStreamBase + * @namespace parserlib.util + * @constructor + * @param {String|StringReader} input The text to tokenize or a reader from + * which to read the input. + */ +function TokenStreamBase(input, tokenData){ + + /** + * The string reader for easy access to the text. + * @type StringReader + * @property _reader + * @private + */ + //this._reader = (typeof input == "string") ? new StringReader(input) : input; + this._reader = input ? new StringReader(input.toString()) : null; + + /** + * Token object for the last consumed token. + * @type Token + * @property _token + * @private + */ + this._token = null; + + /** + * The array of token information. + * @type Array + * @property _tokenData + * @private + */ + this._tokenData = tokenData; + + /** + * Lookahead token buffer. + * @type Array + * @property _lt + * @private + */ + this._lt = []; + + /** + * Lookahead token buffer index. + * @type int + * @property _ltIndex + * @private + */ + this._ltIndex = 0; + + this._ltIndexCache = []; +} + +/** + * Accepts an array of token information and outputs + * an array of token data containing key-value mappings + * and matching functions that the TokenStream needs. + * @param {Array} tokens An array of token descriptors. + * @return {Array} An array of processed token data. + * @method createTokenData + * @static + */ +TokenStreamBase.createTokenData = function(tokens){ + + var nameMap = [], + typeMap = {}, + tokenData = tokens.concat([]), + i = 0, + len = tokenData.length+1; + + tokenData.UNKNOWN = -1; + tokenData.unshift({name:"EOF"}); + + for (; i < len; i++){ + nameMap.push(tokenData[i].name); + tokenData[tokenData[i].name] = i; + if (tokenData[i].text){ + typeMap[tokenData[i].text] = i; + } + } + + tokenData.name = function(tt){ + return nameMap[tt]; + }; + + tokenData.type = function(c){ + return typeMap[c]; + }; + + return tokenData; +}; + +TokenStreamBase.prototype = { + + //restore constructor + constructor: TokenStreamBase, + + //------------------------------------------------------------------------- + // Matching methods + //------------------------------------------------------------------------- + + /** + * Determines if the next token matches the given token type. + * If so, that token is consumed; if not, the token is placed + * back onto the token stream. You can pass in any number of + * token types and this will return true if any of the token + * types is found. + * @param {int|int[]} tokenTypes Either a single token type or an array of + * token types that the next token might be. If an array is passed, + * it's assumed that the token can be any of these. + * @param {variant} channel (Optional) The channel to read from. If not + * provided, reads from the default (unnamed) channel. + * @return {Boolean} True if the token type matches, false if not. + * @method match + */ + match: function(tokenTypes, channel){ + + //always convert to an array, makes things easier + if (!(tokenTypes instanceof Array)){ + tokenTypes = [tokenTypes]; + } + + var tt = this.get(channel), + i = 0, + len = tokenTypes.length; + + while(i < len){ + if (tt == tokenTypes[i++]){ + return true; + } + } + + //no match found, put the token back + this.unget(); + return false; + }, + + /** + * Determines if the next token matches the given token type. + * If so, that token is consumed; if not, an error is thrown. + * @param {int|int[]} tokenTypes Either a single token type or an array of + * token types that the next token should be. If an array is passed, + * it's assumed that the token must be one of these. + * @param {variant} channel (Optional) The channel to read from. If not + * provided, reads from the default (unnamed) channel. + * @return {void} + * @method mustMatch + */ + mustMatch: function(tokenTypes, channel){ + + var token; + + //always convert to an array, makes things easier + if (!(tokenTypes instanceof Array)){ + tokenTypes = [tokenTypes]; + } + + if (!this.match.apply(this, arguments)){ + token = this.LT(1); + throw new SyntaxError("Expected " + this._tokenData[tokenTypes[0]].name + + " at line " + token.startLine + ", col " + token.startCol + ".", token.startLine, token.startCol); + } + }, + + //------------------------------------------------------------------------- + // Consuming methods + //------------------------------------------------------------------------- + + /** + * Keeps reading from the token stream until either one of the specified + * token types is found or until the end of the input is reached. + * @param {int|int[]} tokenTypes Either a single token type or an array of + * token types that the next token should be. If an array is passed, + * it's assumed that the token must be one of these. + * @param {variant} channel (Optional) The channel to read from. If not + * provided, reads from the default (unnamed) channel. + * @return {void} + * @method advance + */ + advance: function(tokenTypes, channel){ + + while(this.LA(0) != 0 && !this.match(tokenTypes, channel)){ + this.get(); + } + + return this.LA(0); + }, + + /** + * Consumes the next token from the token stream. + * @return {int} The token type of the token that was just consumed. + * @method get + */ + get: function(channel){ + + var tokenInfo = this._tokenData, + reader = this._reader, + value, + i =0, + len = tokenInfo.length, + found = false, + token, + info; + + //check the lookahead buffer first + if (this._lt.length && this._ltIndex >= 0 && this._ltIndex < this._lt.length){ + + i++; + this._token = this._lt[this._ltIndex++]; + info = tokenInfo[this._token.type]; + + //obey channels logic + while((info.channel !== undefined && channel !== info.channel) && + this._ltIndex < this._lt.length){ + this._token = this._lt[this._ltIndex++]; + info = tokenInfo[this._token.type]; + i++; + } + + //here be dragons + if ((info.channel === undefined || channel === info.channel) && + this._ltIndex <= this._lt.length){ + this._ltIndexCache.push(i); + return this._token.type; + } + } + + //call token retriever method + token = this._getToken(); + + //if it should be hidden, don't save a token + if (token.type > -1 && !tokenInfo[token.type].hide){ + + //apply token channel + token.channel = tokenInfo[token.type].channel; + + //save for later + this._token = token; + this._lt.push(token); + + //save space that will be moved (must be done before array is truncated) + this._ltIndexCache.push(this._lt.length - this._ltIndex + i); + + //keep the buffer under 5 items + if (this._lt.length > 5){ + this._lt.shift(); + } + + //also keep the shift buffer under 5 items + if (this._ltIndexCache.length > 5){ + this._ltIndexCache.shift(); + } + + //update lookahead index + this._ltIndex = this._lt.length; + } + + /* + * Skip to the next token if: + * 1. The token type is marked as hidden. + * 2. The token type has a channel specified and it isn't the current channel. + */ + info = tokenInfo[token.type]; + if (info && + (info.hide || + (info.channel !== undefined && channel !== info.channel))){ + return this.get(channel); + } else { + //return just the type + return token.type; + } + }, + + /** + * Looks ahead a certain number of tokens and returns the token type at + * that position. This will throw an error if you lookahead past the + * end of input, past the size of the lookahead buffer, or back past + * the first token in the lookahead buffer. + * @param {int} The index of the token type to retrieve. 0 for the + * current token, 1 for the next, -1 for the previous, etc. + * @return {int} The token type of the token in the given position. + * @method LA + */ + LA: function(index){ + var total = index, + tt; + if (index > 0){ + //TODO: Store 5 somewhere + if (index > 5){ + throw new Error("Too much lookahead."); + } + + //get all those tokens + while(total){ + tt = this.get(); + total--; + } + + //unget all those tokens + while(total < index){ + this.unget(); + total++; + } + } else if (index < 0){ + + if(this._lt[this._ltIndex+index]){ + tt = this._lt[this._ltIndex+index].type; + } else { + throw new Error("Too much lookbehind."); + } + + } else { + tt = this._token.type; + } + + return tt; + + }, + + /** + * Looks ahead a certain number of tokens and returns the token at + * that position. This will throw an error if you lookahead past the + * end of input, past the size of the lookahead buffer, or back past + * the first token in the lookahead buffer. + * @param {int} The index of the token type to retrieve. 0 for the + * current token, 1 for the next, -1 for the previous, etc. + * @return {Object} The token of the token in the given position. + * @method LA + */ + LT: function(index){ + + //lookahead first to prime the token buffer + this.LA(index); + + //now find the token, subtract one because _ltIndex is already at the next index + return this._lt[this._ltIndex+index-1]; + }, + + /** + * Returns the token type for the next token in the stream without + * consuming it. + * @return {int} The token type of the next token in the stream. + * @method peek + */ + peek: function(){ + return this.LA(1); + }, + + /** + * Returns the actual token object for the last consumed token. + * @return {Token} The token object for the last consumed token. + * @method token + */ + token: function(){ + return this._token; + }, + + /** + * Returns the name of the token for the given token type. + * @param {int} tokenType The type of token to get the name of. + * @return {String} The name of the token or "UNKNOWN_TOKEN" for any + * invalid token type. + * @method tokenName + */ + tokenName: function(tokenType){ + if (tokenType < 0 || tokenType > this._tokenData.length){ + return "UNKNOWN_TOKEN"; + } else { + return this._tokenData[tokenType].name; + } + }, + + /** + * Returns the token type value for the given token name. + * @param {String} tokenName The name of the token whose value should be returned. + * @return {int} The token type value for the given token name or -1 + * for an unknown token. + * @method tokenName + */ + tokenType: function(tokenName){ + return this._tokenData[tokenName] || -1; + }, + + /** + * Returns the last consumed token to the token stream. + * @method unget + */ + unget: function(){ + //if (this._ltIndex > -1){ + if (this._ltIndexCache.length){ + this._ltIndex -= this._ltIndexCache.pop();//--; + this._token = this._lt[this._ltIndex - 1]; + } else { + throw new Error("Too much lookahead."); + } + } + +}; + + +parserlib.util = { +StringReader: StringReader, +SyntaxError : SyntaxError, +SyntaxUnit : SyntaxUnit, +EventTarget : EventTarget, +TokenStreamBase : TokenStreamBase +}; +})(); +/* +Parser-Lib +Copyright (c) 2009-2011 Nicholas C. Zakas. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +*/ +/* Build time: 12-January-2012 01:05:23 */ +(function(){ +var EventTarget = parserlib.util.EventTarget, +TokenStreamBase = parserlib.util.TokenStreamBase, +StringReader = parserlib.util.StringReader, +SyntaxError = parserlib.util.SyntaxError, +SyntaxUnit = parserlib.util.SyntaxUnit; + +var Colors = { + aliceblue :"#f0f8ff", + antiquewhite :"#faebd7", + aqua :"#00ffff", + aquamarine :"#7fffd4", + azure :"#f0ffff", + beige :"#f5f5dc", + bisque :"#ffe4c4", + black :"#000000", + blanchedalmond :"#ffebcd", + blue :"#0000ff", + blueviolet :"#8a2be2", + brown :"#a52a2a", + burlywood :"#deb887", + cadetblue :"#5f9ea0", + chartreuse :"#7fff00", + chocolate :"#d2691e", + coral :"#ff7f50", + cornflowerblue :"#6495ed", + cornsilk :"#fff8dc", + crimson :"#dc143c", + cyan :"#00ffff", + darkblue :"#00008b", + darkcyan :"#008b8b", + darkgoldenrod :"#b8860b", + darkgray :"#a9a9a9", + darkgreen :"#006400", + darkkhaki :"#bdb76b", + darkmagenta :"#8b008b", + darkolivegreen :"#556b2f", + darkorange :"#ff8c00", + darkorchid :"#9932cc", + darkred :"#8b0000", + darksalmon :"#e9967a", + darkseagreen :"#8fbc8f", + darkslateblue :"#483d8b", + darkslategray :"#2f4f4f", + darkturquoise :"#00ced1", + darkviolet :"#9400d3", + deeppink :"#ff1493", + deepskyblue :"#00bfff", + dimgray :"#696969", + dodgerblue :"#1e90ff", + firebrick :"#b22222", + floralwhite :"#fffaf0", + forestgreen :"#228b22", + fuchsia :"#ff00ff", + gainsboro :"#dcdcdc", + ghostwhite :"#f8f8ff", + gold :"#ffd700", + goldenrod :"#daa520", + gray :"#808080", + green :"#008000", + greenyellow :"#adff2f", + honeydew :"#f0fff0", + hotpink :"#ff69b4", + indianred :"#cd5c5c", + indigo :"#4b0082", + ivory :"#fffff0", + khaki :"#f0e68c", + lavender :"#e6e6fa", + lavenderblush :"#fff0f5", + lawngreen :"#7cfc00", + lemonchiffon :"#fffacd", + lightblue :"#add8e6", + lightcoral :"#f08080", + lightcyan :"#e0ffff", + lightgoldenrodyellow :"#fafad2", + lightgrey :"#d3d3d3", + lightgreen :"#90ee90", + lightpink :"#ffb6c1", + lightsalmon :"#ffa07a", + lightseagreen :"#20b2aa", + lightskyblue :"#87cefa", + lightslategray :"#778899", + lightsteelblue :"#b0c4de", + lightyellow :"#ffffe0", + lime :"#00ff00", + limegreen :"#32cd32", + linen :"#faf0e6", + magenta :"#ff00ff", + maroon :"#800000", + mediumaquamarine:"#66cdaa", + mediumblue :"#0000cd", + mediumorchid :"#ba55d3", + mediumpurple :"#9370d8", + mediumseagreen :"#3cb371", + mediumslateblue :"#7b68ee", + mediumspringgreen :"#00fa9a", + mediumturquoise :"#48d1cc", + mediumvioletred :"#c71585", + midnightblue :"#191970", + mintcream :"#f5fffa", + mistyrose :"#ffe4e1", + moccasin :"#ffe4b5", + navajowhite :"#ffdead", + navy :"#000080", + oldlace :"#fdf5e6", + olive :"#808000", + olivedrab :"#6b8e23", + orange :"#ffa500", + orangered :"#ff4500", + orchid :"#da70d6", + palegoldenrod :"#eee8aa", + palegreen :"#98fb98", + paleturquoise :"#afeeee", + palevioletred :"#d87093", + papayawhip :"#ffefd5", + peachpuff :"#ffdab9", + peru :"#cd853f", + pink :"#ffc0cb", + plum :"#dda0dd", + powderblue :"#b0e0e6", + purple :"#800080", + red :"#ff0000", + rosybrown :"#bc8f8f", + royalblue :"#4169e1", + saddlebrown :"#8b4513", + salmon :"#fa8072", + sandybrown :"#f4a460", + seagreen :"#2e8b57", + seashell :"#fff5ee", + sienna :"#a0522d", + silver :"#c0c0c0", + skyblue :"#87ceeb", + slateblue :"#6a5acd", + slategray :"#708090", + snow :"#fffafa", + springgreen :"#00ff7f", + steelblue :"#4682b4", + tan :"#d2b48c", + teal :"#008080", + thistle :"#d8bfd8", + tomato :"#ff6347", + turquoise :"#40e0d0", + violet :"#ee82ee", + wheat :"#f5deb3", + white :"#ffffff", + whitesmoke :"#f5f5f5", + yellow :"#ffff00", + yellowgreen :"#9acd32" +}; +/** + * Represents a selector combinator (whitespace, +, >). + * @namespace parserlib.css + * @class Combinator + * @extends parserlib.util.SyntaxUnit + * @constructor + * @param {String} text The text representation of the unit. + * @param {int} line The line of text on which the unit resides. + * @param {int} col The column of text on which the unit resides. + */ +function Combinator(text, line, col){ + + SyntaxUnit.call(this, text, line, col, Parser.COMBINATOR_TYPE); + + /** + * The type of modifier. + * @type String + * @property type + */ + this.type = "unknown"; + + //pretty simple + if (/^\s+$/.test(text)){ + this.type = "descendant"; + } else if (text == ">"){ + this.type = "child"; + } else if (text == "+"){ + this.type = "adjacent-sibling"; + } else if (text == "~"){ + this.type = "sibling"; + } + +} + +Combinator.prototype = new SyntaxUnit(); +Combinator.prototype.constructor = Combinator; + +/** + * Represents a media feature, such as max-width:500. + * @namespace parserlib.css + * @class MediaFeature + * @extends parserlib.util.SyntaxUnit + * @constructor + * @param {SyntaxUnit} name The name of the feature. + * @param {SyntaxUnit} value The value of the feature or null if none. + */ +function MediaFeature(name, value){ + + SyntaxUnit.call(this, "(" + name + (value !== null ? ":" + value : "") + ")", name.startLine, name.startCol, Parser.MEDIA_FEATURE_TYPE); + + /** + * The name of the media feature + * @type String + * @property name + */ + this.name = name; + + /** + * The value for the feature or null if there is none. + * @type SyntaxUnit + * @property value + */ + this.value = value; +} + +MediaFeature.prototype = new SyntaxUnit(); +MediaFeature.prototype.constructor = MediaFeature; + +/** + * Represents an individual media query. + * @namespace parserlib.css + * @class MediaQuery + * @extends parserlib.util.SyntaxUnit + * @constructor + * @param {String} modifier The modifier "not" or "only" (or null). + * @param {String} mediaType The type of media (i.e., "print"). + * @param {Array} parts Array of selectors parts making up this selector. + * @param {int} line The line of text on which the unit resides. + * @param {int} col The column of text on which the unit resides. + */ +function MediaQuery(modifier, mediaType, features, line, col){ + + SyntaxUnit.call(this, (modifier ? modifier + " ": "") + (mediaType ? mediaType + " " : "") + features.join(" and "), line, col, Parser.MEDIA_QUERY_TYPE); + + /** + * The media modifier ("not" or "only") + * @type String + * @property modifier + */ + this.modifier = modifier; + + /** + * The mediaType (i.e., "print") + * @type String + * @property mediaType + */ + this.mediaType = mediaType; + + /** + * The parts that make up the selector. + * @type Array + * @property features + */ + this.features = features; + +} + +MediaQuery.prototype = new SyntaxUnit(); +MediaQuery.prototype.constructor = MediaQuery; + +/** + * A CSS3 parser. + * @namespace parserlib.css + * @class Parser + * @constructor + * @param {Object} options (Optional) Various options for the parser: + * starHack (true|false) to allow IE6 star hack as valid, + * underscoreHack (true|false) to interpret leading underscores + * as IE6-7 targeting for known properties, ieFilters (true|false) + * to indicate that IE < 8 filters should be accepted and not throw + * syntax errors. + */ +function Parser(options){ + + //inherit event functionality + EventTarget.call(this); + + + this.options = options || {}; + + this._tokenStream = null; +} + +//Static constants +Parser.DEFAULT_TYPE = 0; +Parser.COMBINATOR_TYPE = 1; +Parser.MEDIA_FEATURE_TYPE = 2; +Parser.MEDIA_QUERY_TYPE = 3; +Parser.PROPERTY_NAME_TYPE = 4; +Parser.PROPERTY_VALUE_TYPE = 5; +Parser.PROPERTY_VALUE_PART_TYPE = 6; +Parser.SELECTOR_TYPE = 7; +Parser.SELECTOR_PART_TYPE = 8; +Parser.SELECTOR_SUB_PART_TYPE = 9; + +Parser.prototype = function(){ + + var proto = new EventTarget(), //new prototype + prop, + additions = { + + //restore constructor + constructor: Parser, + + //instance constants - yuck + DEFAULT_TYPE : 0, + COMBINATOR_TYPE : 1, + MEDIA_FEATURE_TYPE : 2, + MEDIA_QUERY_TYPE : 3, + PROPERTY_NAME_TYPE : 4, + PROPERTY_VALUE_TYPE : 5, + PROPERTY_VALUE_PART_TYPE : 6, + SELECTOR_TYPE : 7, + SELECTOR_PART_TYPE : 8, + SELECTOR_SUB_PART_TYPE : 9, + + //----------------------------------------------------------------- + // Grammar + //----------------------------------------------------------------- + + _stylesheet: function(){ + + /* + * stylesheet + * : [ CHARSET_SYM S* STRING S* ';' ]? + * [S|CDO|CDC]* [ import [S|CDO|CDC]* ]* + * [ namespace [S|CDO|CDC]* ]* + * [ [ ruleset | media | page | font_face | keyframes ] [S|CDO|CDC]* ]* + * ; + */ + + var tokenStream = this._tokenStream, + charset = null, + token, + tt; + + this.fire("startstylesheet"); + + //try to read character set + this._charset(); + + this._skipCruft(); + + //try to read imports - may be more than one + while (tokenStream.peek() == Tokens.IMPORT_SYM){ + this._import(); + this._skipCruft(); + } + + //try to read namespaces - may be more than one + while (tokenStream.peek() == Tokens.NAMESPACE_SYM){ + this._namespace(); + this._skipCruft(); + } + + //get the next token + tt = tokenStream.peek(); + + //try to read the rest + while(tt > Tokens.EOF){ + + try { + + switch(tt){ + case Tokens.MEDIA_SYM: + this._media(); + this._skipCruft(); + break; + case Tokens.PAGE_SYM: + this._page(); + this._skipCruft(); + break; + case Tokens.FONT_FACE_SYM: + this._font_face(); + this._skipCruft(); + break; + case Tokens.KEYFRAMES_SYM: + this._keyframes(); + this._skipCruft(); + break; + case Tokens.S: + this._readWhitespace(); + break; + default: + if(!this._ruleset()){ + + //error handling for known issues + switch(tt){ + case Tokens.CHARSET_SYM: + token = tokenStream.LT(1); + this._charset(false); + throw new SyntaxError("@charset not allowed here.", token.startLine, token.startCol); + case Tokens.IMPORT_SYM: + token = tokenStream.LT(1); + this._import(false); + throw new SyntaxError("@import not allowed here.", token.startLine, token.startCol); + case Tokens.NAMESPACE_SYM: + token = tokenStream.LT(1); + this._namespace(false); + throw new SyntaxError("@namespace not allowed here.", token.startLine, token.startCol); + default: + tokenStream.get(); //get the last token + this._unexpectedToken(tokenStream.token()); + } + + } + } + } catch(ex) { + if (ex instanceof SyntaxError && !this.options.strict){ + this.fire({ + type: "error", + error: ex, + message: ex.message, + line: ex.line, + col: ex.col + }); + } else { + throw ex; + } + } + + tt = tokenStream.peek(); + } + + if (tt != Tokens.EOF){ + this._unexpectedToken(tokenStream.token()); + } + + this.fire("endstylesheet"); + }, + + _charset: function(emit){ + var tokenStream = this._tokenStream, + charset, + token, + line, + col; + + if (tokenStream.match(Tokens.CHARSET_SYM)){ + line = tokenStream.token().startLine; + col = tokenStream.token().startCol; + + this._readWhitespace(); + tokenStream.mustMatch(Tokens.STRING); + + token = tokenStream.token(); + charset = token.value; + + this._readWhitespace(); + tokenStream.mustMatch(Tokens.SEMICOLON); + + if (emit !== false){ + this.fire({ + type: "charset", + charset:charset, + line: line, + col: col + }); + } + } + }, + + _import: function(emit){ + /* + * import + * : IMPORT_SYM S* + * [STRING|URI] S* media_query_list? ';' S* + */ + + var tokenStream = this._tokenStream, + tt, + uri, + importToken, + mediaList = []; + + //read import symbol + tokenStream.mustMatch(Tokens.IMPORT_SYM); + importToken = tokenStream.token(); + this._readWhitespace(); + + tokenStream.mustMatch([Tokens.STRING, Tokens.URI]); + + //grab the URI value + uri = tokenStream.token().value.replace(/(?:url\()?["']([^"']+)["']\)?/, "$1"); + + this._readWhitespace(); + + mediaList = this._media_query_list(); + + //must end with a semicolon + tokenStream.mustMatch(Tokens.SEMICOLON); + this._readWhitespace(); + + if (emit !== false){ + this.fire({ + type: "import", + uri: uri, + media: mediaList, + line: importToken.startLine, + col: importToken.startCol + }); + } + + }, + + _namespace: function(emit){ + /* + * namespace + * : NAMESPACE_SYM S* [namespace_prefix S*]? [STRING|URI] S* ';' S* + */ + + var tokenStream = this._tokenStream, + line, + col, + prefix, + uri; + + //read import symbol + tokenStream.mustMatch(Tokens.NAMESPACE_SYM); + line = tokenStream.token().startLine; + col = tokenStream.token().startCol; + this._readWhitespace(); + + //it's a namespace prefix - no _namespace_prefix() method because it's just an IDENT + if (tokenStream.match(Tokens.IDENT)){ + prefix = tokenStream.token().value; + this._readWhitespace(); + } + + tokenStream.mustMatch([Tokens.STRING, Tokens.URI]); + /*if (!tokenStream.match(Tokens.STRING)){ + tokenStream.mustMatch(Tokens.URI); + }*/ + + //grab the URI value + uri = tokenStream.token().value.replace(/(?:url\()?["']([^"']+)["']\)?/, "$1"); + + this._readWhitespace(); + + //must end with a semicolon + tokenStream.mustMatch(Tokens.SEMICOLON); + this._readWhitespace(); + + if (emit !== false){ + this.fire({ + type: "namespace", + prefix: prefix, + uri: uri, + line: line, + col: col + }); + } + + }, + + _media: function(){ + /* + * media + * : MEDIA_SYM S* media_query_list S* '{' S* ruleset* '}' S* + * ; + */ + var tokenStream = this._tokenStream, + line, + col, + mediaList;// = []; + + //look for @media + tokenStream.mustMatch(Tokens.MEDIA_SYM); + line = tokenStream.token().startLine; + col = tokenStream.token().startCol; + + this._readWhitespace(); + + mediaList = this._media_query_list(); + + tokenStream.mustMatch(Tokens.LBRACE); + this._readWhitespace(); + + this.fire({ + type: "startmedia", + media: mediaList, + line: line, + col: col + }); + + while(true) { + if (tokenStream.peek() == Tokens.PAGE_SYM){ + this._page(); + } else if (!this._ruleset()){ + break; + } + } + + tokenStream.mustMatch(Tokens.RBRACE); + this._readWhitespace(); + + this.fire({ + type: "endmedia", + media: mediaList, + line: line, + col: col + }); + }, + + + //CSS3 Media Queries + _media_query_list: function(){ + /* + * media_query_list + * : S* [media_query [ ',' S* media_query ]* ]? + * ; + */ + var tokenStream = this._tokenStream, + mediaList = []; + + + this._readWhitespace(); + + if (tokenStream.peek() == Tokens.IDENT || tokenStream.peek() == Tokens.LPAREN){ + mediaList.push(this._media_query()); + } + + while(tokenStream.match(Tokens.COMMA)){ + this._readWhitespace(); + mediaList.push(this._media_query()); + } + + return mediaList; + }, + + /* + * Note: "expression" in the grammar maps to the _media_expression + * method. + + */ + _media_query: function(){ + /* + * media_query + * : [ONLY | NOT]? S* media_type S* [ AND S* expression ]* + * | expression [ AND S* expression ]* + * ; + */ + var tokenStream = this._tokenStream, + type = null, + ident = null, + token = null, + expressions = []; + + if (tokenStream.match(Tokens.IDENT)){ + ident = tokenStream.token().value.toLowerCase(); + + //since there's no custom tokens for these, need to manually check + if (ident != "only" && ident != "not"){ + tokenStream.unget(); + ident = null; + } else { + token = tokenStream.token(); + } + } + + this._readWhitespace(); + + if (tokenStream.peek() == Tokens.IDENT){ + type = this._media_type(); + if (token === null){ + token = tokenStream.token(); + } + } else if (tokenStream.peek() == Tokens.LPAREN){ + if (token === null){ + token = tokenStream.LT(1); + } + expressions.push(this._media_expression()); + } + + if (type === null && expressions.length === 0){ + return null; + } else { + this._readWhitespace(); + while (tokenStream.match(Tokens.IDENT)){ + if (tokenStream.token().value.toLowerCase() != "and"){ + this._unexpectedToken(tokenStream.token()); + } + + this._readWhitespace(); + expressions.push(this._media_expression()); + } + } + + return new MediaQuery(ident, type, expressions, token.startLine, token.startCol); + }, + + //CSS3 Media Queries + _media_type: function(){ + /* + * media_type + * : IDENT + * ; + */ + return this._media_feature(); + }, + + /** + * Note: in CSS3 Media Queries, this is called "expression". + * Renamed here to avoid conflict with CSS3 Selectors + * definition of "expression". Also note that "expr" in the + * grammar now maps to "expression" from CSS3 selectors. + * @method _media_expression + * @private + */ + _media_expression: function(){ + /* + * expression + * : '(' S* media_feature S* [ ':' S* expr ]? ')' S* + * ; + */ + var tokenStream = this._tokenStream, + feature = null, + token, + expression = null; + + tokenStream.mustMatch(Tokens.LPAREN); + + feature = this._media_feature(); + this._readWhitespace(); + + if (tokenStream.match(Tokens.COLON)){ + this._readWhitespace(); + token = tokenStream.LT(1); + expression = this._expression(); + } + + tokenStream.mustMatch(Tokens.RPAREN); + this._readWhitespace(); + + return new MediaFeature(feature, (expression ? new SyntaxUnit(expression, token.startLine, token.startCol) : null)); + }, + + //CSS3 Media Queries + _media_feature: function(){ + /* + * media_feature + * : IDENT + * ; + */ + var tokenStream = this._tokenStream; + + tokenStream.mustMatch(Tokens.IDENT); + + return SyntaxUnit.fromToken(tokenStream.token()); + }, + + //CSS3 Paged Media + _page: function(){ + /* + * page: + * PAGE_SYM S* IDENT? pseudo_page? S* + * '{' S* [ declaration | margin ]? [ ';' S* [ declaration | margin ]? ]* '}' S* + * ; + */ + var tokenStream = this._tokenStream, + line, + col, + identifier = null, + pseudoPage = null; + + //look for @page + tokenStream.mustMatch(Tokens.PAGE_SYM); + line = tokenStream.token().startLine; + col = tokenStream.token().startCol; + + this._readWhitespace(); + + if (tokenStream.match(Tokens.IDENT)){ + identifier = tokenStream.token().value; + + //The value 'auto' may not be used as a page name and MUST be treated as a syntax error. + if (identifier.toLowerCase() === "auto"){ + this._unexpectedToken(tokenStream.token()); + } + } + + //see if there's a colon upcoming + if (tokenStream.peek() == Tokens.COLON){ + pseudoPage = this._pseudo_page(); + } + + this._readWhitespace(); + + this.fire({ + type: "startpage", + id: identifier, + pseudo: pseudoPage, + line: line, + col: col + }); + + this._readDeclarations(true, true); + + this.fire({ + type: "endpage", + id: identifier, + pseudo: pseudoPage, + line: line, + col: col + }); + + }, + + //CSS3 Paged Media + _margin: function(){ + /* + * margin : + * margin_sym S* '{' declaration [ ';' S* declaration? ]* '}' S* + * ; + */ + var tokenStream = this._tokenStream, + line, + col, + marginSym = this._margin_sym(); + + if (marginSym){ + line = tokenStream.token().startLine; + col = tokenStream.token().startCol; + + this.fire({ + type: "startpagemargin", + margin: marginSym, + line: line, + col: col + }); + + this._readDeclarations(true); + + this.fire({ + type: "endpagemargin", + margin: marginSym, + line: line, + col: col + }); + return true; + } else { + return false; + } + }, + + //CSS3 Paged Media + _margin_sym: function(){ + + /* + * margin_sym : + * TOPLEFTCORNER_SYM | + * TOPLEFT_SYM | + * TOPCENTER_SYM | + * TOPRIGHT_SYM | + * TOPRIGHTCORNER_SYM | + * BOTTOMLEFTCORNER_SYM | + * BOTTOMLEFT_SYM | + * BOTTOMCENTER_SYM | + * BOTTOMRIGHT_SYM | + * BOTTOMRIGHTCORNER_SYM | + * LEFTTOP_SYM | + * LEFTMIDDLE_SYM | + * LEFTBOTTOM_SYM | + * RIGHTTOP_SYM | + * RIGHTMIDDLE_SYM | + * RIGHTBOTTOM_SYM + * ; + */ + + var tokenStream = this._tokenStream; + + if(tokenStream.match([Tokens.TOPLEFTCORNER_SYM, Tokens.TOPLEFT_SYM, + Tokens.TOPCENTER_SYM, Tokens.TOPRIGHT_SYM, Tokens.TOPRIGHTCORNER_SYM, + Tokens.BOTTOMLEFTCORNER_SYM, Tokens.BOTTOMLEFT_SYM, + Tokens.BOTTOMCENTER_SYM, Tokens.BOTTOMRIGHT_SYM, + Tokens.BOTTOMRIGHTCORNER_SYM, Tokens.LEFTTOP_SYM, + Tokens.LEFTMIDDLE_SYM, Tokens.LEFTBOTTOM_SYM, Tokens.RIGHTTOP_SYM, + Tokens.RIGHTMIDDLE_SYM, Tokens.RIGHTBOTTOM_SYM])) + { + return SyntaxUnit.fromToken(tokenStream.token()); + } else { + return null; + } + + }, + + _pseudo_page: function(){ + /* + * pseudo_page + * : ':' IDENT + * ; + */ + + var tokenStream = this._tokenStream; + + tokenStream.mustMatch(Tokens.COLON); + tokenStream.mustMatch(Tokens.IDENT); + + //TODO: CSS3 Paged Media says only "left", "center", and "right" are allowed + + return tokenStream.token().value; + }, + + _font_face: function(){ + /* + * font_face + * : FONT_FACE_SYM S* + * '{' S* declaration [ ';' S* declaration ]* '}' S* + * ; + */ + var tokenStream = this._tokenStream, + line, + col; + + //look for @page + tokenStream.mustMatch(Tokens.FONT_FACE_SYM); + line = tokenStream.token().startLine; + col = tokenStream.token().startCol; + + this._readWhitespace(); + + this.fire({ + type: "startfontface", + line: line, + col: col + }); + + this._readDeclarations(true); + + this.fire({ + type: "endfontface", + line: line, + col: col + }); + }, + + _operator: function(){ + + /* + * operator + * : '/' S* | ',' S* | /( empty )/ + * ; + */ + + var tokenStream = this._tokenStream, + token = null; + + if (tokenStream.match([Tokens.SLASH, Tokens.COMMA])){ + token = tokenStream.token(); + this._readWhitespace(); + } + return token ? PropertyValuePart.fromToken(token) : null; + + }, + + _combinator: function(){ + + /* + * combinator + * : PLUS S* | GREATER S* | TILDE S* | S+ + * ; + */ + + var tokenStream = this._tokenStream, + value = null, + token; + + if(tokenStream.match([Tokens.PLUS, Tokens.GREATER, Tokens.TILDE])){ + token = tokenStream.token(); + value = new Combinator(token.value, token.startLine, token.startCol); + this._readWhitespace(); + } + + return value; + }, + + _unary_operator: function(){ + + /* + * unary_operator + * : '-' | '+' + * ; + */ + + var tokenStream = this._tokenStream; + + if (tokenStream.match([Tokens.MINUS, Tokens.PLUS])){ + return tokenStream.token().value; + } else { + return null; + } + }, + + _property: function(){ + + /* + * property + * : IDENT S* + * ; + */ + + var tokenStream = this._tokenStream, + value = null, + hack = null, + tokenValue, + token, + line, + col; + + //check for star hack - throws error if not allowed + if (tokenStream.peek() == Tokens.STAR && this.options.starHack){ + tokenStream.get(); + token = tokenStream.token(); + hack = token.value; + line = token.startLine; + col = token.startCol; + } + + if(tokenStream.match(Tokens.IDENT)){ + token = tokenStream.token(); + tokenValue = token.value; + + //check for underscore hack - no error if not allowed because it's valid CSS syntax + if (tokenValue.charAt(0) == "_" && this.options.underscoreHack){ + hack = "_"; + tokenValue = tokenValue.substring(1); + } + + value = new PropertyName(tokenValue, hack, (line||token.startLine), (col||token.startCol)); + this._readWhitespace(); + } + + return value; + }, + + //Augmented with CSS3 Selectors + _ruleset: function(){ + /* + * ruleset + * : selectors_group + * '{' S* declaration? [ ';' S* declaration? ]* '}' S* + * ; + */ + + var tokenStream = this._tokenStream, + tt, + selectors; + + + /* + * Error Recovery: If even a single selector fails to parse, + * then the entire ruleset should be thrown away. + */ + try { + selectors = this._selectors_group(); + } catch (ex){ + if (ex instanceof SyntaxError && !this.options.strict){ + + //fire error event + this.fire({ + type: "error", + error: ex, + message: ex.message, + line: ex.line, + col: ex.col + }); + + //skip over everything until closing brace + tt = tokenStream.advance([Tokens.RBRACE]); + if (tt == Tokens.RBRACE){ + //if there's a right brace, the rule is finished so don't do anything + } else { + //otherwise, rethrow the error because it wasn't handled properly + throw ex; + } + + } else { + //not a syntax error, rethrow it + throw ex; + } + + //trigger parser to continue + return true; + } + + //if it got here, all selectors parsed + if (selectors){ + + this.fire({ + type: "startrule", + selectors: selectors, + line: selectors[0].line, + col: selectors[0].col + }); + + this._readDeclarations(true); + + this.fire({ + type: "endrule", + selectors: selectors, + line: selectors[0].line, + col: selectors[0].col + }); + + } + + return selectors; + + }, + + //CSS3 Selectors + _selectors_group: function(){ + + /* + * selectors_group + * : selector [ COMMA S* selector ]* + * ; + */ + var tokenStream = this._tokenStream, + selectors = [], + selector; + + selector = this._selector(); + if (selector !== null){ + + selectors.push(selector); + while(tokenStream.match(Tokens.COMMA)){ + this._readWhitespace(); + selector = this._selector(); + if (selector !== null){ + selectors.push(selector); + } else { + this._unexpectedToken(tokenStream.LT(1)); + } + } + } + + return selectors.length ? selectors : null; + }, + + //CSS3 Selectors + _selector: function(){ + /* + * selector + * : simple_selector_sequence [ combinator simple_selector_sequence ]* + * ; + */ + + var tokenStream = this._tokenStream, + selector = [], + nextSelector = null, + combinator = null, + ws = null; + + //if there's no simple selector, then there's no selector + nextSelector = this._simple_selector_sequence(); + if (nextSelector === null){ + return null; + } + + selector.push(nextSelector); + + do { + + //look for a combinator + combinator = this._combinator(); + + if (combinator !== null){ + selector.push(combinator); + nextSelector = this._simple_selector_sequence(); + + //there must be a next selector + if (nextSelector === null){ + this._unexpectedToken(this.LT(1)); + } else { + + //nextSelector is an instance of SelectorPart + selector.push(nextSelector); + } + } else { + + //if there's not whitespace, we're done + if (this._readWhitespace()){ + + //add whitespace separator + ws = new Combinator(tokenStream.token().value, tokenStream.token().startLine, tokenStream.token().startCol); + + //combinator is not required + combinator = this._combinator(); + + //selector is required if there's a combinator + nextSelector = this._simple_selector_sequence(); + if (nextSelector === null){ + if (combinator !== null){ + this._unexpectedToken(tokenStream.LT(1)); + } + } else { + + if (combinator !== null){ + selector.push(combinator); + } else { + selector.push(ws); + } + + selector.push(nextSelector); + } + } else { + break; + } + + } + } while(true); + + return new Selector(selector, selector[0].line, selector[0].col); + }, + + //CSS3 Selectors + _simple_selector_sequence: function(){ + /* + * simple_selector_sequence + * : [ type_selector | universal ] + * [ HASH | class | attrib | pseudo | negation ]* + * | [ HASH | class | attrib | pseudo | negation ]+ + * ; + */ + + var tokenStream = this._tokenStream, + + //parts of a simple selector + elementName = null, + modifiers = [], + + //complete selector text + selectorText= "", + + //the different parts after the element name to search for + components = [ + //HASH + function(){ + return tokenStream.match(Tokens.HASH) ? + new SelectorSubPart(tokenStream.token().value, "id", tokenStream.token().startLine, tokenStream.token().startCol) : + null; + }, + this._class, + this._attrib, + this._pseudo, + this._negation + ], + i = 0, + len = components.length, + component = null, + found = false, + line, + col; + + + //get starting line and column for the selector + line = tokenStream.LT(1).startLine; + col = tokenStream.LT(1).startCol; + + elementName = this._type_selector(); + if (!elementName){ + elementName = this._universal(); + } + + if (elementName !== null){ + selectorText += elementName; + } + + while(true){ + + //whitespace means we're done + if (tokenStream.peek() === Tokens.S){ + break; + } + + //check for each component + while(i < len && component === null){ + component = components[i++].call(this); + } + + if (component === null){ + + //we don't have a selector + if (selectorText === ""){ + return null; + } else { + break; + } + } else { + i = 0; + modifiers.push(component); + selectorText += component.toString(); + component = null; + } + } + + + return selectorText !== "" ? + new SelectorPart(elementName, modifiers, selectorText, line, col) : + null; + }, + + //CSS3 Selectors + _type_selector: function(){ + /* + * type_selector + * : [ namespace_prefix ]? element_name + * ; + */ + + var tokenStream = this._tokenStream, + ns = this._namespace_prefix(), + elementName = this._element_name(); + + if (!elementName){ + /* + * Need to back out the namespace that was read due to both + * type_selector and universal reading namespace_prefix + * first. Kind of hacky, but only way I can figure out + * right now how to not change the grammar. + */ + if (ns){ + tokenStream.unget(); + if (ns.length > 1){ + tokenStream.unget(); + } + } + + return null; + } else { + if (ns){ + elementName.text = ns + elementName.text; + elementName.col -= ns.length; + } + return elementName; + } + }, + + //CSS3 Selectors + _class: function(){ + /* + * class + * : '.' IDENT + * ; + */ + + var tokenStream = this._tokenStream, + token; + + if (tokenStream.match(Tokens.DOT)){ + tokenStream.mustMatch(Tokens.IDENT); + token = tokenStream.token(); + return new SelectorSubPart("." + token.value, "class", token.startLine, token.startCol - 1); + } else { + return null; + } + + }, + + //CSS3 Selectors + _element_name: function(){ + /* + * element_name + * : IDENT + * ; + */ + + var tokenStream = this._tokenStream, + token; + + if (tokenStream.match(Tokens.IDENT)){ + token = tokenStream.token(); + return new SelectorSubPart(token.value, "elementName", token.startLine, token.startCol); + + } else { + return null; + } + }, + + //CSS3 Selectors + _namespace_prefix: function(){ + /* + * namespace_prefix + * : [ IDENT | '*' ]? '|' + * ; + */ + var tokenStream = this._tokenStream, + value = ""; + + //verify that this is a namespace prefix + if (tokenStream.LA(1) === Tokens.PIPE || tokenStream.LA(2) === Tokens.PIPE){ + + if(tokenStream.match([Tokens.IDENT, Tokens.STAR])){ + value += tokenStream.token().value; + } + + tokenStream.mustMatch(Tokens.PIPE); + value += "|"; + + } + + return value.length ? value : null; + }, + + //CSS3 Selectors + _universal: function(){ + /* + * universal + * : [ namespace_prefix ]? '*' + * ; + */ + var tokenStream = this._tokenStream, + value = "", + ns; + + ns = this._namespace_prefix(); + if(ns){ + value += ns; + } + + if(tokenStream.match(Tokens.STAR)){ + value += "*"; + } + + return value.length ? value : null; + + }, + + //CSS3 Selectors + _attrib: function(){ + /* + * attrib + * : '[' S* [ namespace_prefix ]? IDENT S* + * [ [ PREFIXMATCH | + * SUFFIXMATCH | + * SUBSTRINGMATCH | + * '=' | + * INCLUDES | + * DASHMATCH ] S* [ IDENT | STRING ] S* + * ]? ']' + * ; + */ + + var tokenStream = this._tokenStream, + value = null, + ns, + token; + + if (tokenStream.match(Tokens.LBRACKET)){ + token = tokenStream.token(); + value = token.value; + value += this._readWhitespace(); + + ns = this._namespace_prefix(); + + if (ns){ + value += ns; + } + + tokenStream.mustMatch(Tokens.IDENT); + value += tokenStream.token().value; + value += this._readWhitespace(); + + if(tokenStream.match([Tokens.PREFIXMATCH, Tokens.SUFFIXMATCH, Tokens.SUBSTRINGMATCH, + Tokens.EQUALS, Tokens.INCLUDES, Tokens.DASHMATCH])){ + + value += tokenStream.token().value; + value += this._readWhitespace(); + + tokenStream.mustMatch([Tokens.IDENT, Tokens.STRING]); + value += tokenStream.token().value; + value += this._readWhitespace(); + } + + tokenStream.mustMatch(Tokens.RBRACKET); + + return new SelectorSubPart(value + "]", "attribute", token.startLine, token.startCol); + } else { + return null; + } + }, + + //CSS3 Selectors + _pseudo: function(){ + + /* + * pseudo + * : ':' ':'? [ IDENT | functional_pseudo ] + * ; + */ + + var tokenStream = this._tokenStream, + pseudo = null, + colons = ":", + line, + col; + + if (tokenStream.match(Tokens.COLON)){ + + if (tokenStream.match(Tokens.COLON)){ + colons += ":"; + } + + if (tokenStream.match(Tokens.IDENT)){ + pseudo = tokenStream.token().value; + line = tokenStream.token().startLine; + col = tokenStream.token().startCol - colons.length; + } else if (tokenStream.peek() == Tokens.FUNCTION){ + line = tokenStream.LT(1).startLine; + col = tokenStream.LT(1).startCol - colons.length; + pseudo = this._functional_pseudo(); + } + + if (pseudo){ + pseudo = new SelectorSubPart(colons + pseudo, "pseudo", line, col); + } + } + + return pseudo; + }, + + //CSS3 Selectors + _functional_pseudo: function(){ + /* + * functional_pseudo + * : FUNCTION S* expression ')' + * ; + */ + + var tokenStream = this._tokenStream, + value = null; + + if(tokenStream.match(Tokens.FUNCTION)){ + value = tokenStream.token().value; + value += this._readWhitespace(); + value += this._expression(); + tokenStream.mustMatch(Tokens.RPAREN); + value += ")"; + } + + return value; + }, + + //CSS3 Selectors + _expression: function(){ + /* + * expression + * : [ [ PLUS | '-' | DIMENSION | NUMBER | STRING | IDENT ] S* ]+ + * ; + */ + + var tokenStream = this._tokenStream, + value = ""; + + while(tokenStream.match([Tokens.PLUS, Tokens.MINUS, Tokens.DIMENSION, + Tokens.NUMBER, Tokens.STRING, Tokens.IDENT, Tokens.LENGTH, + Tokens.FREQ, Tokens.ANGLE, Tokens.TIME, + Tokens.RESOLUTION])){ + + value += tokenStream.token().value; + value += this._readWhitespace(); + } + + return value.length ? value : null; + + }, + + //CSS3 Selectors + _negation: function(){ + /* + * negation + * : NOT S* negation_arg S* ')' + * ; + */ + + var tokenStream = this._tokenStream, + line, + col, + value = "", + arg, + subpart = null; + + if (tokenStream.match(Tokens.NOT)){ + value = tokenStream.token().value; + line = tokenStream.token().startLine; + col = tokenStream.token().startCol; + value += this._readWhitespace(); + arg = this._negation_arg(); + value += arg; + value += this._readWhitespace(); + tokenStream.match(Tokens.RPAREN); + value += tokenStream.token().value; + + subpart = new SelectorSubPart(value, "not", line, col); + subpart.args.push(arg); + } + + return subpart; + }, + + //CSS3 Selectors + _negation_arg: function(){ + /* + * negation_arg + * : type_selector | universal | HASH | class | attrib | pseudo + * ; + */ + + var tokenStream = this._tokenStream, + args = [ + this._type_selector, + this._universal, + function(){ + return tokenStream.match(Tokens.HASH) ? + new SelectorSubPart(tokenStream.token().value, "id", tokenStream.token().startLine, tokenStream.token().startCol) : + null; + }, + this._class, + this._attrib, + this._pseudo + ], + arg = null, + i = 0, + len = args.length, + elementName, + line, + col, + part; + + line = tokenStream.LT(1).startLine; + col = tokenStream.LT(1).startCol; + + while(i < len && arg === null){ + + arg = args[i].call(this); + i++; + } + + //must be a negation arg + if (arg === null){ + this._unexpectedToken(tokenStream.LT(1)); + } + + //it's an element name + if (arg.type == "elementName"){ + part = new SelectorPart(arg, [], arg.toString(), line, col); + } else { + part = new SelectorPart(null, [arg], arg.toString(), line, col); + } + + return part; + }, + + _declaration: function(){ + + /* + * declaration + * : property ':' S* expr prio? + * | /( empty )/ + * ; + */ + + var tokenStream = this._tokenStream, + property = null, + expr = null, + prio = null, + error = null, + invalid = null; + + property = this._property(); + if (property !== null){ + + tokenStream.mustMatch(Tokens.COLON); + this._readWhitespace(); + + expr = this._expr(); + + //if there's no parts for the value, it's an error + if (!expr || expr.length === 0){ + this._unexpectedToken(tokenStream.LT(1)); + } + + prio = this._prio(); + + try { + this._validateProperty(property, expr); + } catch (ex) { + invalid = ex; + } + + this.fire({ + type: "property", + property: property, + value: expr, + important: prio, + line: property.line, + col: property.col, + invalid: invalid + }); + + return true; + } else { + return false; + } + }, + + _prio: function(){ + /* + * prio + * : IMPORTANT_SYM S* + * ; + */ + + var tokenStream = this._tokenStream, + result = tokenStream.match(Tokens.IMPORTANT_SYM); + + this._readWhitespace(); + return result; + }, + + _expr: function(){ + /* + * expr + * : term [ operator term ]* + * ; + */ + + var tokenStream = this._tokenStream, + values = [], + //valueParts = [], + value = null, + operator = null; + + value = this._term(); + if (value !== null){ + + values.push(value); + + do { + operator = this._operator(); + + //if there's an operator, keep building up the value parts + if (operator){ + values.push(operator); + } /*else { + //if there's not an operator, you have a full value + values.push(new PropertyValue(valueParts, valueParts[0].line, valueParts[0].col)); + valueParts = []; + }*/ + + value = this._term(); + + if (value === null){ + break; + } else { + values.push(value); + } + } while(true); + } + + //cleanup + /*if (valueParts.length){ + values.push(new PropertyValue(valueParts, valueParts[0].line, valueParts[0].col)); + }*/ + + return values.length > 0 ? new PropertyValue(values, values[0].startLine, values[0].startCol) : null; + }, + + _term: function(){ + + /* + * term + * : unary_operator? + * [ NUMBER S* | PERCENTAGE S* | LENGTH S* | ANGLE S* | + * TIME S* | FREQ S* | function | ie_function ] + * | STRING S* | IDENT S* | URI S* | UNICODERANGE S* | hexcolor + * ; + */ + + var tokenStream = this._tokenStream, + unary = null, + value = null, + line, + col; + + //returns the operator or null + unary = this._unary_operator(); + if (unary !== null){ + line = tokenStream.token().startLine; + col = tokenStream.token().startCol; + } + + //exception for IE filters + if (tokenStream.peek() == Tokens.IE_FUNCTION && this.options.ieFilters){ + + value = this._ie_function(); + if (unary === null){ + line = tokenStream.token().startLine; + col = tokenStream.token().startCol; + } + + //see if there's a simple match + } else if (tokenStream.match([Tokens.NUMBER, Tokens.PERCENTAGE, Tokens.LENGTH, + Tokens.ANGLE, Tokens.TIME, + Tokens.FREQ, Tokens.STRING, Tokens.IDENT, Tokens.URI, Tokens.UNICODE_RANGE])){ + + value = tokenStream.token().value; + if (unary === null){ + line = tokenStream.token().startLine; + col = tokenStream.token().startCol; + } + this._readWhitespace(); + } else { + + //see if it's a color + value = this._hexcolor(); + if (value === null){ + + //if there's no unary, get the start of the next token for line/col info + if (unary === null){ + line = tokenStream.LT(1).startLine; + col = tokenStream.LT(1).startCol; + } + + //has to be a function + if (value === null){ + + /* + * This checks for alpha(opacity=0) style of IE + * functions. IE_FUNCTION only presents progid: style. + */ + if (tokenStream.LA(3) == Tokens.EQUALS && this.options.ieFilters){ + value = this._ie_function(); + } else { + value = this._function(); + } + } + + /*if (value === null){ + return null; + //throw new Error("Expected identifier at line " + tokenStream.token().startLine + ", character " + tokenStream.token().startCol + "."); + }*/ + + } else { + if (unary === null){ + line = tokenStream.token().startLine; + col = tokenStream.token().startCol; + } + } + + } + + return value !== null ? + new PropertyValuePart(unary !== null ? unary + value : value, line, col) : + null; + + }, + + _function: function(){ + + /* + * function + * : FUNCTION S* expr ')' S* + * ; + */ + + var tokenStream = this._tokenStream, + functionText = null, + expr = null, + lt; + + if (tokenStream.match(Tokens.FUNCTION)){ + functionText = tokenStream.token().value; + this._readWhitespace(); + expr = this._expr(); + functionText += expr; + + //START: Horrible hack in case it's an IE filter + if (this.options.ieFilters && tokenStream.peek() == Tokens.EQUALS){ + do { + + if (this._readWhitespace()){ + functionText += tokenStream.token().value; + } + + //might be second time in the loop + if (tokenStream.LA(0) == Tokens.COMMA){ + functionText += tokenStream.token().value; + } + + tokenStream.match(Tokens.IDENT); + functionText += tokenStream.token().value; + + tokenStream.match(Tokens.EQUALS); + functionText += tokenStream.token().value; + + //functionText += this._term(); + lt = tokenStream.peek(); + while(lt != Tokens.COMMA && lt != Tokens.S && lt != Tokens.RPAREN){ + tokenStream.get(); + functionText += tokenStream.token().value; + lt = tokenStream.peek(); + } + } while(tokenStream.match([Tokens.COMMA, Tokens.S])); + } + + //END: Horrible Hack + + tokenStream.match(Tokens.RPAREN); + functionText += ")"; + this._readWhitespace(); + } + + return functionText; + }, + + _ie_function: function(){ + + /* (My own extension) + * ie_function + * : IE_FUNCTION S* IDENT '=' term [S* ','? IDENT '=' term]+ ')' S* + * ; + */ + + var tokenStream = this._tokenStream, + functionText = null, + expr = null, + lt; + + //IE function can begin like a regular function, too + if (tokenStream.match([Tokens.IE_FUNCTION, Tokens.FUNCTION])){ + functionText = tokenStream.token().value; + + do { + + if (this._readWhitespace()){ + functionText += tokenStream.token().value; + } + + //might be second time in the loop + if (tokenStream.LA(0) == Tokens.COMMA){ + functionText += tokenStream.token().value; + } + + tokenStream.match(Tokens.IDENT); + functionText += tokenStream.token().value; + + tokenStream.match(Tokens.EQUALS); + functionText += tokenStream.token().value; + + //functionText += this._term(); + lt = tokenStream.peek(); + while(lt != Tokens.COMMA && lt != Tokens.S && lt != Tokens.RPAREN){ + tokenStream.get(); + functionText += tokenStream.token().value; + lt = tokenStream.peek(); + } + } while(tokenStream.match([Tokens.COMMA, Tokens.S])); + + tokenStream.match(Tokens.RPAREN); + functionText += ")"; + this._readWhitespace(); + } + + return functionText; + }, + + _hexcolor: function(){ + /* + * There is a constraint on the color that it must + * have either 3 or 6 hex-digits (i.e., [0-9a-fA-F]) + * after the "#"; e.g., "#000" is OK, but "#abcd" is not. + * + * hexcolor + * : HASH S* + * ; + */ + + var tokenStream = this._tokenStream, + token, + color = null; + + if(tokenStream.match(Tokens.HASH)){ + + //need to do some validation here + + token = tokenStream.token(); + color = token.value; + if (!/#[a-f0-9]{3,6}/i.test(color)){ + throw new SyntaxError("Expected a hex color but found '" + color + "' at line " + token.startLine + ", col " + token.startCol + ".", token.startLine, token.startCol); + } + this._readWhitespace(); + } + + return color; + }, + + //----------------------------------------------------------------- + // Animations methods + //----------------------------------------------------------------- + + _keyframes: function(){ + + /* + * keyframes: + * : KEYFRAMES_SYM S* keyframe_name S* '{' S* keyframe_rule* '}' { + * ; + */ + var tokenStream = this._tokenStream, + token, + tt, + name; + + tokenStream.mustMatch(Tokens.KEYFRAMES_SYM); + this._readWhitespace(); + name = this._keyframe_name(); + + this._readWhitespace(); + tokenStream.mustMatch(Tokens.LBRACE); + + this.fire({ + type: "startkeyframes", + name: name, + line: name.line, + col: name.col + }); + + this._readWhitespace(); + tt = tokenStream.peek(); + + //check for key + while(tt == Tokens.IDENT || tt == Tokens.PERCENTAGE) { + this._keyframe_rule(); + this._readWhitespace(); + tt = tokenStream.peek(); + } + + this.fire({ + type: "endkeyframes", + name: name, + line: name.line, + col: name.col + }); + + this._readWhitespace(); + tokenStream.mustMatch(Tokens.RBRACE); + + }, + + _keyframe_name: function(){ + + /* + * keyframe_name: + * : IDENT + * | STRING + * ; + */ + var tokenStream = this._tokenStream, + token; + + tokenStream.mustMatch([Tokens.IDENT, Tokens.STRING]); + return SyntaxUnit.fromToken(tokenStream.token()); + }, + + _keyframe_rule: function(){ + + /* + * keyframe_rule: + * : key_list S* + * '{' S* declaration [ ';' S* declaration ]* '}' S* + * ; + */ + var tokenStream = this._tokenStream, + token, + keyList = this._key_list(); + + this.fire({ + type: "startkeyframerule", + keys: keyList, + line: keyList[0].line, + col: keyList[0].col + }); + + this._readDeclarations(true); + + this.fire({ + type: "endkeyframerule", + keys: keyList, + line: keyList[0].line, + col: keyList[0].col + }); + + }, + + _key_list: function(){ + + /* + * key_list: + * : key [ S* ',' S* key]* + * ; + */ + var tokenStream = this._tokenStream, + token, + key, + keyList = []; + + //must be least one key + keyList.push(this._key()); + + this._readWhitespace(); + + while(tokenStream.match(Tokens.COMMA)){ + this._readWhitespace(); + keyList.push(this._key()); + this._readWhitespace(); + } + + return keyList; + }, + + _key: function(){ + /* + * There is a restriction that IDENT can be only "from" or "to". + * + * key + * : PERCENTAGE + * | IDENT + * ; + */ + + var tokenStream = this._tokenStream, + token; + + if (tokenStream.match(Tokens.PERCENTAGE)){ + return SyntaxUnit.fromToken(tokenStream.token()); + } else if (tokenStream.match(Tokens.IDENT)){ + token = tokenStream.token(); + + if (/from|to/i.test(token.value)){ + return SyntaxUnit.fromToken(token); + } + + tokenStream.unget(); + } + + //if it gets here, there wasn't a valid token, so time to explode + this._unexpectedToken(tokenStream.LT(1)); + }, + + //----------------------------------------------------------------- + // Helper methods + //----------------------------------------------------------------- + + /** + * Not part of CSS grammar, but useful for skipping over + * combination of white space and HTML-style comments. + * @return {void} + * @method _skipCruft + * @private + */ + _skipCruft: function(){ + while(this._tokenStream.match([Tokens.S, Tokens.CDO, Tokens.CDC])){ + //noop + } + }, + + /** + * Not part of CSS grammar, but this pattern occurs frequently + * in the official CSS grammar. Split out here to eliminate + * duplicate code. + * @param {Boolean} checkStart Indicates if the rule should check + * for the left brace at the beginning. + * @param {Boolean} readMargins Indicates if the rule should check + * for margin patterns. + * @return {void} + * @method _readDeclarations + * @private + */ + _readDeclarations: function(checkStart, readMargins){ + /* + * Reads the pattern + * S* '{' S* declaration [ ';' S* declaration ]* '}' S* + * or + * S* '{' S* [ declaration | margin ]? [ ';' S* [ declaration | margin ]? ]* '}' S* + * Note that this is how it is described in CSS3 Paged Media, but is actually incorrect. + * A semicolon is only necessary following a delcaration is there's another declaration + * or margin afterwards. + */ + var tokenStream = this._tokenStream, + tt; + + + this._readWhitespace(); + + if (checkStart){ + tokenStream.mustMatch(Tokens.LBRACE); + } + + this._readWhitespace(); + + try { + + while(true){ + + if (readMargins && this._margin()){ + //noop + } else if (this._declaration()){ + if (!tokenStream.match(Tokens.SEMICOLON)){ + break; + } + } else { + break; + } + + //if ((!this._margin() && !this._declaration()) || !tokenStream.match(Tokens.SEMICOLON)){ + // break; + //} + this._readWhitespace(); + } + + tokenStream.mustMatch(Tokens.RBRACE); + this._readWhitespace(); + + } catch (ex) { + if (ex instanceof SyntaxError && !this.options.strict){ + + //fire error event + this.fire({ + type: "error", + error: ex, + message: ex.message, + line: ex.line, + col: ex.col + }); + + //see if there's another declaration + tt = tokenStream.advance([Tokens.SEMICOLON, Tokens.RBRACE]); + if (tt == Tokens.SEMICOLON){ + //if there's a semicolon, then there might be another declaration + this._readDeclarations(false, readMargins); + } else if (tt == Tokens.RBRACE){ + //if there's a right brace, the rule is finished so don't do anything + } else { + //otherwise, rethrow the error because it wasn't handled properly + throw ex; + } + + } else { + //not a syntax error, rethrow it + throw ex; + } + } + + }, + + /** + * In some cases, you can end up with two white space tokens in a + * row. Instead of making a change in every function that looks for + * white space, this function is used to match as much white space + * as necessary. + * @method _readWhitespace + * @return {String} The white space if found, empty string if not. + * @private + */ + _readWhitespace: function(){ + + var tokenStream = this._tokenStream, + ws = ""; + + while(tokenStream.match(Tokens.S)){ + ws += tokenStream.token().value; + } + + return ws; + }, + + + /** + * Throws an error when an unexpected token is found. + * @param {Object} token The token that was found. + * @method _unexpectedToken + * @return {void} + * @private + */ + _unexpectedToken: function(token){ + throw new SyntaxError("Unexpected token '" + token.value + "' at line " + token.startLine + ", col " + token.startCol + ".", token.startLine, token.startCol); + }, + + /** + * Helper method used for parsing subparts of a style sheet. + * @return {void} + * @method _verifyEnd + * @private + */ + _verifyEnd: function(){ + if (this._tokenStream.LA(1) != Tokens.EOF){ + this._unexpectedToken(this._tokenStream.LT(1)); + } + }, + + //----------------------------------------------------------------- + // Validation methods + //----------------------------------------------------------------- + _validateProperty: function(property, value){ + var name = property.text.toLowerCase(), + validation, + i, len; + + if (Properties[name]){ + + if (typeof Properties[name] == "function"){ + Properties[name](value); + } + + //otherwise, no validation available yet + } else if (name.indexOf("-") !== 0){ //vendor prefixed are ok + throw new ValidationError("Unknown property '" + property + "'.", property.line, property.col); + } + }, + + //----------------------------------------------------------------- + // Parsing methods + //----------------------------------------------------------------- + + parse: function(input){ + this._tokenStream = new TokenStream(input, Tokens); + this._stylesheet(); + }, + + parseStyleSheet: function(input){ + //just passthrough + return this.parse(input); + }, + + parseMediaQuery: function(input){ + this._tokenStream = new TokenStream(input, Tokens); + var result = this._media_query(); + + //if there's anything more, then it's an invalid selector + this._verifyEnd(); + + //otherwise return result + return result; + }, + + /** + * Parses a property value (everything after the semicolon). + * @return {parserlib.css.PropertyValue} The property value. + * @throws parserlib.util.SyntaxError If an unexpected token is found. + * @method parserPropertyValue + */ + parsePropertyValue: function(input){ + + this._tokenStream = new TokenStream(input, Tokens); + this._readWhitespace(); + + var result = this._expr(); + + //okay to have a trailing white space + this._readWhitespace(); + + //if there's anything more, then it's an invalid selector + this._verifyEnd(); + + //otherwise return result + return result; + }, + + /** + * Parses a complete CSS rule, including selectors and + * properties. + * @param {String} input The text to parser. + * @return {Boolean} True if the parse completed successfully, false if not. + * @method parseRule + */ + parseRule: function(input){ + this._tokenStream = new TokenStream(input, Tokens); + + //skip any leading white space + this._readWhitespace(); + + var result = this._ruleset(); + + //skip any trailing white space + this._readWhitespace(); + + //if there's anything more, then it's an invalid selector + this._verifyEnd(); + + //otherwise return result + return result; + }, + + /** + * Parses a single CSS selector (no comma) + * @param {String} input The text to parse as a CSS selector. + * @return {Selector} An object representing the selector. + * @throws parserlib.util.SyntaxError If an unexpected token is found. + * @method parseSelector + */ + parseSelector: function(input){ + + this._tokenStream = new TokenStream(input, Tokens); + + //skip any leading white space + this._readWhitespace(); + + var result = this._selector(); + + //skip any trailing white space + this._readWhitespace(); + + //if there's anything more, then it's an invalid selector + this._verifyEnd(); + + //otherwise return result + return result; + }, + + /** + * Parses an HTML style attribute: a set of CSS declarations + * separated by semicolons. + * @param {String} input The text to parse as a style attribute + * @return {void} + * @method parseStyleAttribute + */ + parseStyleAttribute: function(input){ + input += "}"; // for error recovery in _readDeclarations() + this._tokenStream = new TokenStream(input, Tokens); + this._readDeclarations(); + } + }; + + //copy over onto prototype + for (prop in additions){ + proto[prop] = additions[prop]; + } + + return proto; +}(); + + +/* +nth + : S* [ ['-'|'+']? INTEGER? {N} [ S* ['-'|'+'] S* INTEGER ]? | + ['-'|'+']? INTEGER | {O}{D}{D} | {E}{V}{E}{N} ] S* + ; +*/ +//This file will likely change a lot! Very experimental! + +var ValidationType = { + + "absolute-size": function(part){ + return this.identifier(part, "xx-small | x-small | small | medium | large | x-large | xx-large"); + }, + + "attachment": function(part){ + return this.identifier(part, "scroll | fixed | local"); + }, + + "box": function(part){ + return this.identifier(part, "padding-box | border-box | content-box"); + }, + + "relative-size": function(part){ + return this.identifier(part, "smaller | larger"); + }, + + "identifier": function(part, options){ + var text = part.text.toString().toLowerCase(), + args = options.split(" | "), + i, len, found = false; + + + for (i=0,len=args.length; i < len && !found; i++){ + if (text == args[i]){ + found = true; + } + } + + return found; + }, + + "length": function(part){ + return part.type == "length" || part.type == "number" || part.type == "integer" || part == "0"; + }, + + "color": function(part){ + return part.type == "color" || part == "transparent"; + }, + + "number": function(part){ + return part.type == "number" || this.integer(part); + }, + + "integer": function(part){ + return part.type == "integer"; + }, + + "angle": function(part){ + return part.type == "angle"; + }, + + "uri": function(part){ + return part.type == "uri"; + }, + + "image": function(part){ + return this.uri(part); + }, + + "bg-image": function(part){ + return this.image(part) || part == "none"; + }, + + "percentage": function(part){ + return part.type == "percentage" || part == "0"; + }, + + "border-width": function(part){ + return this.length(part) || this.identifier(part, "thin | medium | thick"); + }, + + "border-style": function(part){ + return this.identifier(part, "none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset"); + }, + + "margin-width": function(part){ + return this.length(part) || this.percentage(part) || this.identifier(part, "auto"); + }, + + "padding-width": function(part){ + return this.length(part) || this.percentage(part); + } +}; + + + + + + + +var Properties = { + + //A + "alignment-adjust": 1, + "alignment-baseline": 1, + "animation": 1, + "animation-delay": 1, + "animation-direction": { multi: [ "normal | alternate" ], separator: "," }, + "animation-duration": 1, + "animation-fill-mode": 1, + "animation-iteration-count": { multi: [ "number", "infinite"], separator: "," }, + "animation-name": 1, + "animation-play-state": { multi: [ "running | paused" ], separator: "," }, + "animation-timing-function": 1, + "appearance": 1, + "azimuth": 1, + + //B + "backface-visibility": 1, + "background": 1, + "background-attachment": { multi: [ "attachment" ], separator: "," }, + "background-break": 1, + "background-clip": { multi: [ "box" ], separator: "," }, + "background-color": [ "color", "inherit" ], + "background-image": { multi: [ "bg-image" ], separator: "," }, + "background-origin": { multi: [ "box" ], separator: "," }, + "background-position": 1, + "background-repeat": [ "repeat | repeat-x | repeat-y | no-repeat | inherit" ], + "background-size": 1, + "baseline-shift": 1, + "binding": 1, + "bleed": 1, + "bookmark-label": 1, + "bookmark-level": 1, + "bookmark-state": 1, + "bookmark-target": 1, + "border": 1, + "border-bottom": 1, + "border-bottom-color": 1, + "border-bottom-left-radius": 1, + "border-bottom-right-radius": 1, + "border-bottom-style": [ "border-style" ], + "border-bottom-width": [ "border-width" ], + "border-collapse": [ "collapse | separate | inherit" ], + "border-color": { multi: [ "color", "inherit" ], max: 4 }, + "border-image": 1, + "border-image-outset": { multi: [ "length", "number" ], max: 4 }, + "border-image-repeat": { multi: [ "stretch | repeat | round" ], max: 2 }, + "border-image-slice": 1, + "border-image-source": [ "image", "none" ], + "border-image-width": { multi: [ "length", "percentage", "number", "auto" ], max: 4 }, + "border-left": 1, + "border-left-color": [ "color", "inherit" ], + "border-left-style": [ "border-style" ], + "border-left-width": [ "border-width" ], + "border-radius": 1, + "border-right": 1, + "border-right-color": [ "color", "inherit" ], + "border-right-style": [ "border-style" ], + "border-right-width": [ "border-width" ], + "border-spacing": 1, + "border-style": { multi: [ "border-style" ], max: 4 }, + "border-top": 1, + "border-top-color": [ "color", "inherit" ], + "border-top-left-radius": 1, + "border-top-right-radius": 1, + "border-top-style": [ "border-style" ], + "border-top-width": [ "border-width" ], + "border-width": { multi: [ "border-width" ], max: 4 }, + "bottom": [ "margin-width", "inherit" ], + "box-align": [ "start | end | center | baseline | stretch" ], //http://www.w3.org/TR/2009/WD-css3-flexbox-20090723/ + "box-decoration-break": [ "slice |clone" ], + "box-direction": [ "normal | reverse | inherit" ], + "box-flex": [ "number" ], + "box-flex-group": [ "integer" ], + "box-lines": [ "single | multiple" ], + "box-ordinal-group": [ "integer" ], + "box-orient": [ "horizontal | vertical | inline-axis | block-axis | inherit" ], + "box-pack": [ "start | end | center | justify" ], + "box-shadow": 1, + "box-sizing": [ "content-box | border-box | inherit" ], + "break-after": [ "auto | always | avoid | left | right | page | column | avoid-page | avoid-column" ], + "break-before": [ "auto | always | avoid | left | right | page | column | avoid-page | avoid-column" ], + "break-inside": [ "auto | avoid | avoid-page | avoid-column" ], + + //C + "caption-side": [ "top | bottom | inherit" ], + "clear": [ "none | right | left | both | inherit" ], + "clip": 1, + "color": [ "color", "inherit" ], + "color-profile": 1, + "column-count": [ "integer", "auto" ], //http://www.w3.org/TR/css3-multicol/ + "column-fill": [ "auto | balance" ], + "column-gap": [ "length", "normal" ], + "column-rule": 1, + "column-rule-color": [ "color" ], + "column-rule-style": [ "border-style" ], + "column-rule-width": [ "border-width" ], + "column-span": [ "none | all" ], + "column-width": [ "length", "auto" ], + "columns": 1, + "content": 1, + "counter-increment": 1, + "counter-reset": 1, + "crop": 1, + "cue": [ "cue-after | cue-before | inherit" ], + "cue-after": 1, + "cue-before": 1, + "cursor": 1, + + //D + "direction": [ "ltr | rtl | inherit" ], + "display": [ "inline | block | list-item | inline-block | table | inline-table | table-row-group | table-header-group | table-footer-group | table-row | table-column-group | table-column | table-cell | table-caption | box | inline-box | grid | inline-grid", "none | inherit" ], + "dominant-baseline": 1, + "drop-initial-after-adjust": 1, + "drop-initial-after-align": 1, + "drop-initial-before-adjust": 1, + "drop-initial-before-align": 1, + "drop-initial-size": 1, + "drop-initial-value": 1, + + //E + "elevation": 1, + "empty-cells": [ "show | hide | inherit" ], + + //F + "filter": 1, + "fit": [ "fill | hidden | meet | slice" ], + "fit-position": 1, + "float": [ "left | right | none | inherit" ], + "float-offset": 1, + "font": 1, + "font-family": 1, + "font-size": [ "absolute-size", "relative-size", "length", "percentage", "inherit" ], + "font-size-adjust": 1, + "font-stretch": 1, + "font-style": [ "normal | italic | oblique | inherit" ], + "font-variant": [ "normal | small-caps | inherit" ], + "font-weight": [ "normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | inherit" ], + + //G + "grid-cell-stacking": [ "columns | rows | layer" ], + "grid-column": 1, + "grid-columns": 1, + "grid-column-align": [ "start | end | center | stretch" ], + "grid-column-sizing": 1, + "grid-column-span": [ "integer" ], + "grid-flow": [ "none | rows | columns" ], + "grid-layer": [ "integer" ], + "grid-row": 1, + "grid-rows": 1, + "grid-row-align": [ "start | end | center | stretch" ], + "grid-row-span": [ "integer" ], + "grid-row-sizing": 1, + + //H + "hanging-punctuation": 1, + "height": [ "margin-width", "inherit" ], + "hyphenate-after": 1, + "hyphenate-before": 1, + "hyphenate-character": [ "string", "auto" ], + "hyphenate-lines": 1, + "hyphenate-resource": 1, + "hyphens": [ "none | manual | auto" ], + + //I + "icon": 1, + "image-orientation": [ "angle", "auto" ], + "image-rendering": 1, + "image-resolution": 1, + "inline-box-align": 1, + + //L + "left": [ "margin-width", "inherit" ], + "letter-spacing": [ "length", "normal | inherit" ], + "line-height": [ "number", "length", "percentage", "normal | inherit"], + "line-break": [ "auto | loose | normal | strict" ], + "line-stacking": 1, + "line-stacking-ruby": 1, + "line-stacking-shift": 1, + "line-stacking-strategy": 1, + "list-style": 1, + "list-style-image": [ "uri", "none | inherit" ], + "list-style-position": [ "inside | outside | inherit" ], + "list-style-type": [ "disc | circle | square | decimal | decimal-leading-zero | lower-roman | upper-roman | lower-greek | lower-latin | upper-latin | armenian | georgian | lower-alpha | upper-alpha | none | inherit" ], + + //M + "margin": { multi: [ "margin-width", "inherit" ], max: 4 }, + "margin-bottom": [ "margin-width", "inherit" ], + "margin-left": [ "margin-width", "inherit" ], + "margin-right": [ "margin-width", "inherit" ], + "margin-top": [ "margin-width", "inherit" ], + "mark": 1, + "mark-after": 1, + "mark-before": 1, + "marks": 1, + "marquee-direction": 1, + "marquee-play-count": 1, + "marquee-speed": 1, + "marquee-style": 1, + "max-height": [ "length", "percentage", "none | inherit" ], + "max-width": [ "length", "percentage", "none | inherit" ], + "min-height": [ "length", "percentage", "inherit" ], + "min-width": [ "length", "percentage", "inherit" ], + "move-to": 1, + + //N + "nav-down": 1, + "nav-index": 1, + "nav-left": 1, + "nav-right": 1, + "nav-up": 1, + + //O + "opacity": [ "number", "inherit" ], + "orphans": [ "integer", "inherit" ], + "outline": 1, + "outline-color": [ "color", "invert | inherit" ], + "outline-offset": 1, + "outline-style": [ "border-style", "inherit" ], + "outline-width": [ "border-width", "inherit" ], + "overflow": [ "visible | hidden | scroll | auto | inherit" ], + "overflow-style": 1, + "overflow-x": 1, + "overflow-y": 1, + + //P + "padding": { multi: [ "padding-width", "inherit" ], max: 4 }, + "padding-bottom": [ "padding-width", "inherit" ], + "padding-left": [ "padding-width", "inherit" ], + "padding-right": [ "padding-width", "inherit" ], + "padding-top": [ "padding-width", "inherit" ], + "page": 1, + "page-break-after": [ "auto | always | avoid | left | right | inherit" ], + "page-break-before": [ "auto | always | avoid | left | right | inherit" ], + "page-break-inside": [ "auto | avoid | inherit" ], + "page-policy": 1, + "pause": 1, + "pause-after": 1, + "pause-before": 1, + "perspective": 1, + "perspective-origin": 1, + "phonemes": 1, + "pitch": 1, + "pitch-range": 1, + "play-during": 1, + "position": [ "static | relative | absolute | fixed | inherit" ], + "presentation-level": 1, + "punctuation-trim": 1, + + //Q + "quotes": 1, + + //R + "rendering-intent": 1, + "resize": 1, + "rest": 1, + "rest-after": 1, + "rest-before": 1, + "richness": 1, + "right": [ "margin-width", "inherit" ], + "rotation": 1, + "rotation-point": 1, + "ruby-align": 1, + "ruby-overhang": 1, + "ruby-position": 1, + "ruby-span": 1, + + //S + "size": 1, + "speak": [ "normal | none | spell-out | inherit" ], + "speak-header": [ "once | always | inherit" ], + "speak-numeral": [ "digits | continuous | inherit" ], + "speak-punctuation": [ "code | none | inherit" ], + "speech-rate": 1, + "src" : 1, + "stress": 1, + "string-set": 1, + + "table-layout": [ "auto | fixed | inherit" ], + "tab-size": [ "integer", "length" ], + "target": 1, + "target-name": 1, + "target-new": 1, + "target-position": 1, + "text-align": [ "left | right | center | justify | inherit" ], + "text-align-last": 1, + "text-decoration": 1, + "text-emphasis": 1, + "text-height": 1, + "text-indent": [ "length", "percentage", "inherit" ], + "text-justify": [ "auto | none | inter-word | inter-ideograph | inter-cluster | distribute | kashida" ], + "text-outline": 1, + "text-overflow": 1, + "text-shadow": 1, + "text-transform": [ "capitalize | uppercase | lowercase | none | inherit" ], + "text-wrap": [ "normal | none | avoid" ], + "top": [ "margin-width", "inherit" ], + "transform": 1, + "transform-origin": 1, + "transform-style": 1, + "transition": 1, + "transition-delay": 1, + "transition-duration": 1, + "transition-property": 1, + "transition-timing-function": 1, + + //U + "unicode-bidi": [ "normal | embed | bidi-override | inherit" ], + "user-modify": [ "read-only | read-write | write-only | inherit" ], + "user-select": [ "none | text | toggle | element | elements | all | inherit" ], + + //V + "vertical-align": [ "percentage", "length", "baseline | sub | super | top | text-top | middle | bottom | text-bottom | inherit" ], + "visibility": [ "visible | hidden | collapse | inherit" ], + "voice-balance": 1, + "voice-duration": 1, + "voice-family": 1, + "voice-pitch": 1, + "voice-pitch-range": 1, + "voice-rate": 1, + "voice-stress": 1, + "voice-volume": 1, + "volume": 1, + + //W + "white-space": [ "normal | pre | nowrap | pre-wrap | pre-line | inherit" ], + "white-space-collapse": 1, + "widows": [ "integer", "inherit" ], + "width": [ "length", "percentage", "auto", "inherit" ], + "word-break": [ "normal | keep-all | break-all" ], + "word-spacing": [ "length", "normal | inherit" ], + "word-wrap": 1, + + //Z + "z-index": [ "integer", "auto | inherit" ], + "zoom": [ "number", "percentage", "normal" ] +}; + +//Create validation functions for strings +(function(){ + var prop; + for (prop in Properties){ + if (Properties.hasOwnProperty(prop)){ + if (Properties[prop] instanceof Array){ + Properties[prop] = (function(values){ + return function(value){ + var valid = false, + msg = [], + part = value.parts[0]; + + if (value.parts.length != 1){ + throw new ValidationError("Expected 1 value but found " + value.parts.length + ".", value.line, value.col); + } + + for (var i=0, len=values.length; i < len && !valid; i++){ + if (typeof ValidationType[values[i]] == "undefined"){ + valid = valid || ValidationType.identifier(part, values[i]); + msg.push("one of (" + values[i] + ")"); + } else { + valid = valid || ValidationType[values[i]](part); + msg.push(values[i]); + } + } + + if (!valid){ + throw new ValidationError("Expected " + msg.join(" or ") + " but found '" + value + "'.", value.line, value.col); + } + }; + })(Properties[prop]); + } else if (typeof Properties[prop] == "object"){ + Properties[prop] = (function(spec){ + return function(value){ + var valid, + i, len, j, count, + msg, + values, + last, + parts = value.parts; + + //if there's a maximum set, use it (max can't be 0) + if (spec.max) { + if (parts.length > spec.max){ + throw new ValidationError("Expected a max of " + spec.max + " property values but found " + parts.length + ".", value.line, value.col); + } + } + + if (spec.multi){ + values = spec.multi; + } + + for (i=0, len=parts.length; i < len; i++){ + msg = []; + valid = false; + + if (spec.separator && parts[i].type == "operator"){ + + //two operators in a row - not allowed? + if ((last && last.type == "operator")){ + msg = msg.concat(values); + } else if (i == len-1){ + msg = msg.concat("end of line"); + } else if (parts[i] != spec.separator){ + msg.push("'" + spec.separator + "'"); + } else { + valid = true; + } + } else { + + for (j=0, count=values.length; j < count; j++){ + if (typeof ValidationType[values[j]] == "undefined"){ + if(ValidationType.identifier(parts[i], values[j])){ + valid = true; + break; + } + msg.push("one of (" + values[j] + ")"); + } else { + if (ValidationType[values[j]](parts[i])){ + valid = true; + break; + } + msg.push(values[j]); + } + } + } + + + if (!valid) { + throw new ValidationError("Expected " + msg.join(" or ") + " but found '" + parts[i] + "'.", value.line, value.col); + } + + + last = parts[i]; + } + + }; + })(Properties[prop]); + } + } + } +})(); +/** + * Represents a selector combinator (whitespace, +, >). + * @namespace parserlib.css + * @class PropertyName + * @extends parserlib.util.SyntaxUnit + * @constructor + * @param {String} text The text representation of the unit. + * @param {String} hack The type of IE hack applied ("*", "_", or null). + * @param {int} line The line of text on which the unit resides. + * @param {int} col The column of text on which the unit resides. + */ +function PropertyName(text, hack, line, col){ + + SyntaxUnit.call(this, text, line, col, Parser.PROPERTY_NAME_TYPE); + + /** + * The type of IE hack applied ("*", "_", or null). + * @type String + * @property hack + */ + this.hack = hack; + +} + +PropertyName.prototype = new SyntaxUnit(); +PropertyName.prototype.constructor = PropertyName; +PropertyName.prototype.toString = function(){ + return (this.hack ? this.hack : "") + this.text; +}; +/** + * Represents a single part of a CSS property value, meaning that it represents + * just everything single part between ":" and ";". If there are multiple values + * separated by commas, this type represents just one of the values. + * @param {String[]} parts An array of value parts making up this value. + * @param {int} line The line of text on which the unit resides. + * @param {int} col The column of text on which the unit resides. + * @namespace parserlib.css + * @class PropertyValue + * @extends parserlib.util.SyntaxUnit + * @constructor + */ +function PropertyValue(parts, line, col){ + + SyntaxUnit.call(this, parts.join(" "), line, col, Parser.PROPERTY_VALUE_TYPE); + + /** + * The parts that make up the selector. + * @type Array + * @property parts + */ + this.parts = parts; + +} + +PropertyValue.prototype = new SyntaxUnit(); +PropertyValue.prototype.constructor = PropertyValue; + +/** + * Represents a single part of a CSS property value, meaning that it represents + * just one part of the data between ":" and ";". + * @param {String} text The text representation of the unit. + * @param {int} line The line of text on which the unit resides. + * @param {int} col The column of text on which the unit resides. + * @namespace parserlib.css + * @class PropertyValuePart + * @extends parserlib.util.SyntaxUnit + * @constructor + */ +function PropertyValuePart(text, line, col){ + + SyntaxUnit.call(this, text, line, col, Parser.PROPERTY_VALUE_PART_TYPE); + + /** + * Indicates the type of value unit. + * @type String + * @property type + */ + this.type = "unknown"; + + //figure out what type of data it is + + var temp; + + //it is a measurement? + if (/^([+\-]?[\d\.]+)([a-z]+)$/i.test(text)){ //dimension + this.type = "dimension"; + this.value = +RegExp.$1; + this.units = RegExp.$2; + + //try to narrow down + switch(this.units.toLowerCase()){ + + case "em": + case "rem": + case "ex": + case "px": + case "cm": + case "mm": + case "in": + case "pt": + case "pc": + this.type = "length"; + break; + + case "deg": + case "rad": + case "grad": + this.type = "angle"; + break; + + case "ms": + case "s": + this.type = "time"; + break; + + case "hz": + case "khz": + this.type = "frequency"; + break; + + case "dpi": + case "dpcm": + this.type = "resolution"; + break; + + //default + + } + + } else if (/^([+\-]?[\d\.]+)%$/i.test(text)){ //percentage + this.type = "percentage"; + this.value = +RegExp.$1; + } else if (/^([+\-]?[\d\.]+)%$/i.test(text)){ //percentage + this.type = "percentage"; + this.value = +RegExp.$1; + } else if (/^([+\-]?\d+)$/i.test(text)){ //integer + this.type = "integer"; + this.value = +RegExp.$1; + } else if (/^([+\-]?[\d\.]+)$/i.test(text)){ //number + this.type = "number"; + this.value = +RegExp.$1; + + } else if (/^#([a-f0-9]{3,6})/i.test(text)){ //hexcolor + this.type = "color"; + temp = RegExp.$1; + if (temp.length == 3){ + this.red = parseInt(temp.charAt(0)+temp.charAt(0),16); + this.green = parseInt(temp.charAt(1)+temp.charAt(1),16); + this.blue = parseInt(temp.charAt(2)+temp.charAt(2),16); + } else { + this.red = parseInt(temp.substring(0,2),16); + this.green = parseInt(temp.substring(2,4),16); + this.blue = parseInt(temp.substring(4,6),16); + } + } else if (/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/i.test(text)){ //rgb() color with absolute numbers + this.type = "color"; + this.red = +RegExp.$1; + this.green = +RegExp.$2; + this.blue = +RegExp.$3; + } else if (/^rgb\(\s*(\d+)%\s*,\s*(\d+)%\s*,\s*(\d+)%\s*\)/i.test(text)){ //rgb() color with percentages + this.type = "color"; + this.red = +RegExp.$1 * 255 / 100; + this.green = +RegExp.$2 * 255 / 100; + this.blue = +RegExp.$3 * 255 / 100; + } else if (/^rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([\d\.]+)\s*\)/i.test(text)){ //rgba() color with absolute numbers + this.type = "color"; + this.red = +RegExp.$1; + this.green = +RegExp.$2; + this.blue = +RegExp.$3; + this.alpha = +RegExp.$4; + } else if (/^rgba\(\s*(\d+)%\s*,\s*(\d+)%\s*,\s*(\d+)%\s*,\s*([\d\.]+)\s*\)/i.test(text)){ //rgba() color with percentages + this.type = "color"; + this.red = +RegExp.$1 * 255 / 100; + this.green = +RegExp.$2 * 255 / 100; + this.blue = +RegExp.$3 * 255 / 100; + this.alpha = +RegExp.$4; + } else if (/^hsl\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*\)/i.test(text)){ //hsl() + this.type = "color"; + this.hue = +RegExp.$1; + this.saturation = +RegExp.$2 / 100; + this.lightness = +RegExp.$3 / 100; + } else if (/^hsla\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*,\s*([\d\.]+)\s*\)/i.test(text)){ //hsla() color with percentages + this.type = "color"; + this.hue = +RegExp.$1; + this.saturation = +RegExp.$2 / 100; + this.lightness = +RegExp.$3 / 100; + this.alpha = +RegExp.$4; + } else if (/^url\(["']?([^\)"']+)["']?\)/i.test(text)){ //URI + this.type = "uri"; + this.uri = RegExp.$1; + } else if (/^["'][^"']*["']/.test(text)){ //string + this.type = "string"; + this.value = eval(text); + } else if (Colors[text.toLowerCase()]){ //named color + this.type = "color"; + temp = Colors[text.toLowerCase()].substring(1); + this.red = parseInt(temp.substring(0,2),16); + this.green = parseInt(temp.substring(2,4),16); + this.blue = parseInt(temp.substring(4,6),16); + } else if (/^[\,\/]$/.test(text)){ + this.type = "operator"; + this.value = text; + } else if (/^[a-z\-\u0080-\uFFFF][a-z0-9\-\u0080-\uFFFF]*$/i.test(text)){ + this.type = "identifier"; + this.value = text; + } + +} + +PropertyValuePart.prototype = new SyntaxUnit(); +PropertyValuePart.prototype.constructor = PropertyValue; + +/** + * Create a new syntax unit based solely on the given token. + * Convenience method for creating a new syntax unit when + * it represents a single token instead of multiple. + * @param {Object} token The token object to represent. + * @return {parserlib.css.PropertyValuePart} The object representing the token. + * @static + * @method fromToken + */ +PropertyValuePart.fromToken = function(token){ + return new PropertyValuePart(token.value, token.startLine, token.startCol); +}; +var Pseudos = { + ":first-letter": 1, + ":first-line": 1, + ":before": 1, + ":after": 1 +}; + +Pseudos.ELEMENT = 1; +Pseudos.CLASS = 2; + +Pseudos.isElement = function(pseudo){ + return pseudo.indexOf("::") === 0 || Pseudos[pseudo.toLowerCase()] == Pseudos.ELEMENT; +}; +/** + * Represents an entire single selector, including all parts but not + * including multiple selectors (those separated by commas). + * @namespace parserlib.css + * @class Selector + * @extends parserlib.util.SyntaxUnit + * @constructor + * @param {Array} parts Array of selectors parts making up this selector. + * @param {int} line The line of text on which the unit resides. + * @param {int} col The column of text on which the unit resides. + */ +function Selector(parts, line, col){ + + SyntaxUnit.call(this, parts.join(" "), line, col, Parser.SELECTOR_TYPE); + + /** + * The parts that make up the selector. + * @type Array + * @property parts + */ + this.parts = parts; + + /** + * The specificity of the selector. + * @type parserlib.css.Specificity + * @property specificity + */ + this.specificity = Specificity.calculate(this); + +} + +Selector.prototype = new SyntaxUnit(); +Selector.prototype.constructor = Selector; + +/** + * Represents a single part of a selector string, meaning a single set of + * element name and modifiers. This does not include combinators such as + * spaces, +, >, etc. + * @namespace parserlib.css + * @class SelectorPart + * @extends parserlib.util.SyntaxUnit + * @constructor + * @param {String} elementName The element name in the selector or null + * if there is no element name. + * @param {Array} modifiers Array of individual modifiers for the element. + * May be empty if there are none. + * @param {String} text The text representation of the unit. + * @param {int} line The line of text on which the unit resides. + * @param {int} col The column of text on which the unit resides. + */ +function SelectorPart(elementName, modifiers, text, line, col){ + + SyntaxUnit.call(this, text, line, col, Parser.SELECTOR_PART_TYPE); + + /** + * The tag name of the element to which this part + * of the selector affects. + * @type String + * @property elementName + */ + this.elementName = elementName; + + /** + * The parts that come after the element name, such as class names, IDs, + * pseudo classes/elements, etc. + * @type Array + * @property modifiers + */ + this.modifiers = modifiers; + +} + +SelectorPart.prototype = new SyntaxUnit(); +SelectorPart.prototype.constructor = SelectorPart; + +/** + * Represents a selector modifier string, meaning a class name, element name, + * element ID, pseudo rule, etc. + * @namespace parserlib.css + * @class SelectorSubPart + * @extends parserlib.util.SyntaxUnit + * @constructor + * @param {String} text The text representation of the unit. + * @param {String} type The type of selector modifier. + * @param {int} line The line of text on which the unit resides. + * @param {int} col The column of text on which the unit resides. + */ +function SelectorSubPart(text, type, line, col){ + + SyntaxUnit.call(this, text, line, col, Parser.SELECTOR_SUB_PART_TYPE); + + /** + * The type of modifier. + * @type String + * @property type + */ + this.type = type; + + /** + * Some subparts have arguments, this represents them. + * @type Array + * @property args + */ + this.args = []; + +} + +SelectorSubPart.prototype = new SyntaxUnit(); +SelectorSubPart.prototype.constructor = SelectorSubPart; + +/** + * Represents a selector's specificity. + * @namespace parserlib.css + * @class Specificity + * @constructor + * @param {int} a Should be 1 for inline styles, zero for stylesheet styles + * @param {int} b Number of ID selectors + * @param {int} c Number of classes and pseudo classes + * @param {int} d Number of element names and pseudo elements + */ +function Specificity(a, b, c, d){ + this.a = a; + this.b = b; + this.c = c; + this.d = d; +} + +Specificity.prototype = { + constructor: Specificity, + + /** + * Compare this specificity to another. + * @param {Specificity} other The other specificity to compare to. + * @return {int} -1 if the other specificity is larger, 1 if smaller, 0 if equal. + * @method compare + */ + compare: function(other){ + var comps = ["a", "b", "c", "d"], + i, len; + + for (i=0, len=comps.length; i < len; i++){ + if (this[comps[i]] < other[comps[i]]){ + return -1; + } else if (this[comps[i]] > other[comps[i]]){ + return 1; + } + } + + return 0; + }, + + /** + * Creates a numeric value for the specificity. + * @return {int} The numeric value for the specificity. + * @method valueOf + */ + valueOf: function(){ + return (this.a * 1000) + (this.b * 100) + (this.c * 10) + this.d; + }, + + /** + * Returns a string representation for specificity. + * @return {String} The string representation of specificity. + * @method toString + */ + toString: function(){ + return this.a + "," + this.b + "," + this.c + "," + this.d; + } + +}; + +/** + * Calculates the specificity of the given selector. + * @param {parserlib.css.Selector} The selector to calculate specificity for. + * @return {parserlib.css.Specificity} The specificity of the selector. + * @static + * @method calculate + */ +Specificity.calculate = function(selector){ + + var i, len, + b=0, c=0, d=0; + + function updateValues(part){ + + var i, j, len, num, + modifier; + + if (part.elementName && part.text.charAt(part.text.length-1) != "*") { + d++; + } + + for (i=0, len=part.modifiers.length; i < len; i++){ + modifier = part.modifiers[i]; + switch(modifier.type){ + case "class": + case "attribute": + c++; + break; + + case "id": + b++; + break; + + case "pseudo": + if (Pseudos.isElement(modifier.text)){ + d++; + } else { + c++; + } + break; + + case "not": + for (j=0, num=modifier.args.length; j < num; j++){ + updateValues(modifier.args[j]); + } + } + } + } + + for (i=0, len=selector.parts.length; i < len; i++){ + part = selector.parts[i]; + + if (part instanceof SelectorPart){ + updateValues(part); + } + } + + return new Specificity(0, b, c, d); +}; + + +var h = /^[0-9a-fA-F]$/, + nonascii = /^[\u0080-\uFFFF]$/, + nl = /\n|\r\n|\r|\f/; + +//----------------------------------------------------------------------------- +// Helper functions +//----------------------------------------------------------------------------- + + +function isHexDigit(c){ + return c != null && h.test(c); +} + +function isDigit(c){ + return c != null && /\d/.test(c); +} + +function isWhitespace(c){ + return c != null && /\s/.test(c); +} + +function isNewLine(c){ + return c != null && nl.test(c); +} + +function isNameStart(c){ + return c != null && (/[a-z_\u0080-\uFFFF\\]/i.test(c)); +} + +function isNameChar(c){ + return c != null && (isNameStart(c) || /[0-9\-\\]/.test(c)); +} + +function isIdentStart(c){ + return c != null && (isNameStart(c) || /\-\\/.test(c)); +} + +function mix(receiver, supplier){ + for (var prop in supplier){ + if (supplier.hasOwnProperty(prop)){ + receiver[prop] = supplier[prop]; + } + } + return receiver; +} + +//----------------------------------------------------------------------------- +// CSS Token Stream +//----------------------------------------------------------------------------- + + +/** + * A token stream that produces CSS tokens. + * @param {String|Reader} input The source of text to tokenize. + * @constructor + * @class TokenStream + * @namespace parserlib.css + */ +function TokenStream(input){ + TokenStreamBase.call(this, input, Tokens); +} + +TokenStream.prototype = mix(new TokenStreamBase(), { + + /** + * Overrides the TokenStreamBase method of the same name + * to produce CSS tokens. + * @param {variant} channel The name of the channel to use + * for the next token. + * @return {Object} A token object representing the next token. + * @method _getToken + * @private + */ + _getToken: function(channel){ + + var c, + reader = this._reader, + token = null, + startLine = reader.getLine(), + startCol = reader.getCol(); + + c = reader.read(); + + + while(c){ + switch(c){ + + /* + * Potential tokens: + * - COMMENT + * - SLASH + * - CHAR + */ + case "/": + + if(reader.peek() == "*"){ + token = this.commentToken(c, startLine, startCol); + } else { + token = this.charToken(c, startLine, startCol); + } + break; + + /* + * Potential tokens: + * - DASHMATCH + * - INCLUDES + * - PREFIXMATCH + * - SUFFIXMATCH + * - SUBSTRINGMATCH + * - CHAR + */ + case "|": + case "~": + case "^": + case "$": + case "*": + if(reader.peek() == "="){ + token = this.comparisonToken(c, startLine, startCol); + } else { + token = this.charToken(c, startLine, startCol); + } + break; + + /* + * Potential tokens: + * - STRING + * - INVALID + */ + case "\"": + case "'": + token = this.stringToken(c, startLine, startCol); + break; + + /* + * Potential tokens: + * - HASH + * - CHAR + */ + case "#": + if (isNameChar(reader.peek())){ + token = this.hashToken(c, startLine, startCol); + } else { + token = this.charToken(c, startLine, startCol); + } + break; + + /* + * Potential tokens: + * - DOT + * - NUMBER + * - DIMENSION + * - PERCENTAGE + */ + case ".": + if (isDigit(reader.peek())){ + token = this.numberToken(c, startLine, startCol); + } else { + token = this.charToken(c, startLine, startCol); + } + break; + + /* + * Potential tokens: + * - CDC + * - MINUS + * - NUMBER + * - DIMENSION + * - PERCENTAGE + */ + case "-": + if (reader.peek() == "-"){ //could be closing HTML-style comment + token = this.htmlCommentEndToken(c, startLine, startCol); + } else if (isNameStart(reader.peek())){ + token = this.identOrFunctionToken(c, startLine, startCol); + } else { + token = this.charToken(c, startLine, startCol); + } + break; + + /* + * Potential tokens: + * - IMPORTANT_SYM + * - CHAR + */ + case "!": + token = this.importantToken(c, startLine, startCol); + break; + + /* + * Any at-keyword or CHAR + */ + case "@": + token = this.atRuleToken(c, startLine, startCol); + break; + + /* + * Potential tokens: + * - NOT + * - CHAR + */ + case ":": + token = this.notToken(c, startLine, startCol); + break; + + /* + * Potential tokens: + * - CDO + * - CHAR + */ + case "<": + token = this.htmlCommentStartToken(c, startLine, startCol); + break; + + /* + * Potential tokens: + * - UNICODE_RANGE + * - URL + * - CHAR + */ + case "U": + case "u": + if (reader.peek() == "+"){ + token = this.unicodeRangeToken(c, startLine, startCol); + break; + } + /*falls through*/ + + default: + + /* + * Potential tokens: + * - NUMBER + * - DIMENSION + * - LENGTH + * - FREQ + * - TIME + * - EMS + * - EXS + * - ANGLE + */ + if (isDigit(c)){ + token = this.numberToken(c, startLine, startCol); + } else + + /* + * Potential tokens: + * - S + */ + if (isWhitespace(c)){ + token = this.whitespaceToken(c, startLine, startCol); + } else + + /* + * Potential tokens: + * - IDENT + */ + if (isIdentStart(c)){ + token = this.identOrFunctionToken(c, startLine, startCol); + } else + + /* + * Potential tokens: + * - CHAR + * - PLUS + */ + { + token = this.charToken(c, startLine, startCol); + } + + + + + + + } + + //make sure this token is wanted + //TODO: check channel + break; + + c = reader.read(); + } + + if (!token && c == null){ + token = this.createToken(Tokens.EOF,null,startLine,startCol); + } + + return token; + }, + + //------------------------------------------------------------------------- + // Methods to create tokens + //------------------------------------------------------------------------- + + /** + * Produces a token based on available data and the current + * reader position information. This method is called by other + * private methods to create tokens and is never called directly. + * @param {int} tt The token type. + * @param {String} value The text value of the token. + * @param {int} startLine The beginning line for the character. + * @param {int} startCol The beginning column for the character. + * @param {Object} options (Optional) Specifies a channel property + * to indicate that a different channel should be scanned + * and/or a hide property indicating that the token should + * be hidden. + * @return {Object} A token object. + * @method createToken + */ + createToken: function(tt, value, startLine, startCol, options){ + var reader = this._reader; + options = options || {}; + + return { + value: value, + type: tt, + channel: options.channel, + hide: options.hide || false, + startLine: startLine, + startCol: startCol, + endLine: reader.getLine(), + endCol: reader.getCol() + }; + }, + + //------------------------------------------------------------------------- + // Methods to create specific tokens + //------------------------------------------------------------------------- + + /** + * Produces a token for any at-rule. If the at-rule is unknown, then + * the token is for a single "@" character. + * @param {String} first The first character for the token. + * @param {int} startLine The beginning line for the character. + * @param {int} startCol The beginning column for the character. + * @return {Object} A token object. + * @method atRuleToken + */ + atRuleToken: function(first, startLine, startCol){ + var rule = first, + reader = this._reader, + tt = Tokens.CHAR, + valid = false, + ident, + c; + + /* + * First, mark where we are. There are only four @ rules, + * so anything else is really just an invalid token. + * Basically, if this doesn't match one of the known @ + * rules, just return '@' as an unknown token and allow + * parsing to continue after that point. + */ + reader.mark(); + + //try to find the at-keyword + ident = this.readName(); + rule = first + ident; + tt = Tokens.type(rule.toLowerCase()); + + //if it's not valid, use the first character only and reset the reader + if (tt == Tokens.CHAR || tt == Tokens.UNKNOWN){ + tt = Tokens.CHAR; + rule = first; + reader.reset(); + } + + return this.createToken(tt, rule, startLine, startCol); + }, + + /** + * Produces a character token based on the given character + * and location in the stream. If there's a special (non-standard) + * token name, this is used; otherwise CHAR is used. + * @param {String} c The character for the token. + * @param {int} startLine The beginning line for the character. + * @param {int} startCol The beginning column for the character. + * @return {Object} A token object. + * @method charToken + */ + charToken: function(c, startLine, startCol){ + var tt = Tokens.type(c); + + if (tt == -1){ + tt = Tokens.CHAR; + } + + return this.createToken(tt, c, startLine, startCol); + }, + + /** + * Produces a character token based on the given character + * and location in the stream. If there's a special (non-standard) + * token name, this is used; otherwise CHAR is used. + * @param {String} first The first character for the token. + * @param {int} startLine The beginning line for the character. + * @param {int} startCol The beginning column for the character. + * @return {Object} A token object. + * @method commentToken + */ + commentToken: function(first, startLine, startCol){ + var reader = this._reader, + comment = this.readComment(first); + + return this.createToken(Tokens.COMMENT, comment, startLine, startCol); + }, + + /** + * Produces a comparison token based on the given character + * and location in the stream. The next character must be + * read and is already known to be an equals sign. + * @param {String} c The character for the token. + * @param {int} startLine The beginning line for the character. + * @param {int} startCol The beginning column for the character. + * @return {Object} A token object. + * @method comparisonToken + */ + comparisonToken: function(c, startLine, startCol){ + var reader = this._reader, + comparison = c + reader.read(), + tt = Tokens.type(comparison) || Tokens.CHAR; + + return this.createToken(tt, comparison, startLine, startCol); + }, + + /** + * Produces a hash token based on the specified information. The + * first character provided is the pound sign (#) and then this + * method reads a name afterward. + * @param {String} first The first character (#) in the hash name. + * @param {int} startLine The beginning line for the character. + * @param {int} startCol The beginning column for the character. + * @return {Object} A token object. + * @method hashToken + */ + hashToken: function(first, startLine, startCol){ + var reader = this._reader, + name = this.readName(first); + + return this.createToken(Tokens.HASH, name, startLine, startCol); + }, + + /** + * Produces a CDO or CHAR token based on the specified information. The + * first character is provided and the rest is read by the function to determine + * the correct token to create. + * @param {String} first The first character in the token. + * @param {int} startLine The beginning line for the character. + * @param {int} startCol The beginning column for the character. + * @return {Object} A token object. + * @method htmlCommentStartToken + */ + htmlCommentStartToken: function(first, startLine, startCol){ + var reader = this._reader, + text = first; + + reader.mark(); + text += reader.readCount(3); + + if (text == ""){ + return this.createToken(Tokens.CDC, text, startLine, startCol); + } else { + reader.reset(); + return this.charToken(first, startLine, startCol); + } + }, + + /** + * Produces an IDENT or FUNCTION token based on the specified information. The + * first character is provided and the rest is read by the function to determine + * the correct token to create. + * @param {String} first The first character in the identifier. + * @param {int} startLine The beginning line for the character. + * @param {int} startCol The beginning column for the character. + * @return {Object} A token object. + * @method identOrFunctionToken + */ + identOrFunctionToken: function(first, startLine, startCol){ + var reader = this._reader, + ident = this.readName(first), + tt = Tokens.IDENT; + + //if there's a left paren immediately after, it's a URI or function + if (reader.peek() == "("){ + ident += reader.read(); + if (ident.toLowerCase() == "url("){ + tt = Tokens.URI; + ident = this.readURI(ident); + + //didn't find a valid URL or there's no closing paren + if (ident.toLowerCase() == "url("){ + tt = Tokens.FUNCTION; + } + } else { + tt = Tokens.FUNCTION; + } + } else if (reader.peek() == ":"){ //might be an IE function + + //IE-specific functions always being with progid: + if (ident.toLowerCase() == "progid"){ + ident += reader.readTo("("); + tt = Tokens.IE_FUNCTION; + } + } + + return this.createToken(tt, ident, startLine, startCol); + }, + + /** + * Produces an IMPORTANT_SYM or CHAR token based on the specified information. The + * first character is provided and the rest is read by the function to determine + * the correct token to create. + * @param {String} first The first character in the token. + * @param {int} startLine The beginning line for the character. + * @param {int} startCol The beginning column for the character. + * @return {Object} A token object. + * @method importantToken + */ + importantToken: function(first, startLine, startCol){ + var reader = this._reader, + important = first, + tt = Tokens.CHAR, + temp, + c; + + reader.mark(); + c = reader.read(); + + while(c){ + + //there can be a comment in here + if (c == "/"){ + + //if the next character isn't a star, then this isn't a valid !important token + if (reader.peek() != "*"){ + break; + } else { + temp = this.readComment(c); + if (temp == ""){ //broken! + break; + } + } + } else if (isWhitespace(c)){ + important += c + this.readWhitespace(); + } else if (/i/i.test(c)){ + temp = reader.readCount(8); + if (/mportant/i.test(temp)){ + important += c + temp; + tt = Tokens.IMPORTANT_SYM; + + } + break; //we're done + } else { + break; + } + + c = reader.read(); + } + + if (tt == Tokens.CHAR){ + reader.reset(); + return this.charToken(first, startLine, startCol); + } else { + return this.createToken(tt, important, startLine, startCol); + } + + + }, + + /** + * Produces a NOT or CHAR token based on the specified information. The + * first character is provided and the rest is read by the function to determine + * the correct token to create. + * @param {String} first The first character in the token. + * @param {int} startLine The beginning line for the character. + * @param {int} startCol The beginning column for the character. + * @return {Object} A token object. + * @method notToken + */ + notToken: function(first, startLine, startCol){ + var reader = this._reader, + text = first; + + reader.mark(); + text += reader.readCount(4); + + if (text.toLowerCase() == ":not("){ + return this.createToken(Tokens.NOT, text, startLine, startCol); + } else { + reader.reset(); + return this.charToken(first, startLine, startCol); + } + }, + + /** + * Produces a number token based on the given character + * and location in the stream. This may return a token of + * NUMBER, EMS, EXS, LENGTH, ANGLE, TIME, FREQ, DIMENSION, + * or PERCENTAGE. + * @param {String} first The first character for the token. + * @param {int} startLine The beginning line for the character. + * @param {int} startCol The beginning column for the character. + * @return {Object} A token object. + * @method numberToken + */ + numberToken: function(first, startLine, startCol){ + var reader = this._reader, + value = this.readNumber(first), + ident, + tt = Tokens.NUMBER, + c = reader.peek(); + + if (isIdentStart(c)){ + ident = this.readName(reader.read()); + value += ident; + + if (/^em$|^ex$|^px$|^gd$|^rem$|^vw$|^vh$|^vm$|^ch$|^cm$|^mm$|^in$|^pt$|^pc$/i.test(ident)){ + tt = Tokens.LENGTH; + } else if (/^deg|^rad$|^grad$/i.test(ident)){ + tt = Tokens.ANGLE; + } else if (/^ms$|^s$/i.test(ident)){ + tt = Tokens.TIME; + } else if (/^hz$|^khz$/i.test(ident)){ + tt = Tokens.FREQ; + } else if (/^dpi$|^dpcm$/i.test(ident)){ + tt = Tokens.RESOLUTION; + } else { + tt = Tokens.DIMENSION; + } + + } else if (c == "%"){ + value += reader.read(); + tt = Tokens.PERCENTAGE; + } + + return this.createToken(tt, value, startLine, startCol); + }, + + /** + * Produces a string token based on the given character + * and location in the stream. Since strings may be indicated + * by single or double quotes, a failure to match starting + * and ending quotes results in an INVALID token being generated. + * The first character in the string is passed in and then + * the rest are read up to and including the final quotation mark. + * @param {String} first The first character in the string. + * @param {int} startLine The beginning line for the character. + * @param {int} startCol The beginning column for the character. + * @return {Object} A token object. + * @method stringToken + */ + stringToken: function(first, startLine, startCol){ + var delim = first, + string = first, + reader = this._reader, + prev = first, + tt = Tokens.STRING, + c = reader.read(); + + while(c){ + string += c; + + //if the delimiter is found with an escapement, we're done. + if (c == delim && prev != "\\"){ + break; + } + + //if there's a newline without an escapement, it's an invalid string + if (isNewLine(reader.peek()) && c != "\\"){ + tt = Tokens.INVALID; + break; + } + + //save previous and get next + prev = c; + c = reader.read(); + } + + //if c is null, that means we're out of input and the string was never closed + if (c == null){ + tt = Tokens.INVALID; + } + + return this.createToken(tt, string, startLine, startCol); + }, + + unicodeRangeToken: function(first, startLine, startCol){ + var reader = this._reader, + value = first, + temp, + tt = Tokens.CHAR; + + //then it should be a unicode range + if (reader.peek() == "+"){ + reader.mark(); + value += reader.read(); + value += this.readUnicodeRangePart(true); + + //ensure there's an actual unicode range here + if (value.length == 2){ + reader.reset(); + } else { + + tt = Tokens.UNICODE_RANGE; + + //if there's a ? in the first part, there can't be a second part + if (value.indexOf("?") == -1){ + + if (reader.peek() == "-"){ + reader.mark(); + temp = reader.read(); + temp += this.readUnicodeRangePart(false); + + //if there's not another value, back up and just take the first + if (temp.length == 1){ + reader.reset(); + } else { + value += temp; + } + } + + } + } + } + + return this.createToken(tt, value, startLine, startCol); + }, + + /** + * Produces a S token based on the specified information. Since whitespace + * may have multiple characters, this consumes all whitespace characters + * into a single token. + * @param {String} first The first character in the token. + * @param {int} startLine The beginning line for the character. + * @param {int} startCol The beginning column for the character. + * @return {Object} A token object. + * @method whitespaceToken + */ + whitespaceToken: function(first, startLine, startCol){ + var reader = this._reader, + value = first + this.readWhitespace(); + return this.createToken(Tokens.S, value, startLine, startCol); + }, + + + + + //------------------------------------------------------------------------- + // Methods to read values from the string stream + //------------------------------------------------------------------------- + + readUnicodeRangePart: function(allowQuestionMark){ + var reader = this._reader, + part = "", + c = reader.peek(); + + //first read hex digits + while(isHexDigit(c) && part.length < 6){ + reader.read(); + part += c; + c = reader.peek(); + } + + //then read question marks if allowed + if (allowQuestionMark){ + while(c == "?" && part.length < 6){ + reader.read(); + part += c; + c = reader.peek(); + } + } + + //there can't be any other characters after this point + + return part; + }, + + readWhitespace: function(){ + var reader = this._reader, + whitespace = "", + c = reader.peek(); + + while(isWhitespace(c)){ + reader.read(); + whitespace += c; + c = reader.peek(); + } + + return whitespace; + }, + readNumber: function(first){ + var reader = this._reader, + number = first, + hasDot = (first == "."), + c = reader.peek(); + + + while(c){ + if (isDigit(c)){ + number += reader.read(); + } else if (c == "."){ + if (hasDot){ + break; + } else { + hasDot = true; + number += reader.read(); + } + } else { + break; + } + + c = reader.peek(); + } + + return number; + }, + readString: function(){ + var reader = this._reader, + delim = reader.read(), + string = delim, + prev = delim, + c = reader.peek(); + + while(c){ + c = reader.read(); + string += c; + + //if the delimiter is found with an escapement, we're done. + if (c == delim && prev != "\\"){ + break; + } + + //if there's a newline without an escapement, it's an invalid string + if (isNewLine(reader.peek()) && c != "\\"){ + string = ""; + break; + } + + //save previous and get next + prev = c; + c = reader.peek(); + } + + //if c is null, that means we're out of input and the string was never closed + if (c == null){ + string = ""; + } + + return string; + }, + readURI: function(first){ + var reader = this._reader, + uri = first, + inner = "", + c = reader.peek(); + + reader.mark(); + + //skip whitespace before + while(c && isWhitespace(c)){ + reader.read(); + c = reader.peek(); + } + + //it's a string + if (c == "'" || c == "\""){ + inner = this.readString(); + } else { + inner = this.readURL(); + } + + c = reader.peek(); + + //skip whitespace after + while(c && isWhitespace(c)){ + reader.read(); + c = reader.peek(); + } + + //if there was no inner value or the next character isn't closing paren, it's not a URI + if (inner == "" || c != ")"){ + uri = first; + reader.reset(); + } else { + uri += inner + reader.read(); + } + + return uri; + }, + readURL: function(){ + var reader = this._reader, + url = "", + c = reader.peek(); + + //TODO: Check for escape and nonascii + while (/^[!#$%&\\*-~]$/.test(c)){ + url += reader.read(); + c = reader.peek(); + } + + return url; + + }, + readName: function(first){ + var reader = this._reader, + ident = first || "", + c = reader.peek(); + + while(true){ + if (c == "\\"){ + ident += this.readEscape(reader.read()); + c = reader.peek(); + } else if(c && isNameChar(c)){ + ident += reader.read(); + c = reader.peek(); + } else { + break; + } + } + + return ident; + }, + + readEscape: function(first){ + var reader = this._reader, + cssEscape = first || "", + i = 0, + c = reader.peek(); + + if (isHexDigit(c)){ + do { + cssEscape += reader.read(); + c = reader.peek(); + } while(c && isHexDigit(c) && ++i < 6); + } + + if (cssEscape.length == 3 && /\s/.test(c) || + cssEscape.length == 7 || cssEscape.length == 1){ + reader.read(); + } else { + c = ""; + } + + return cssEscape + c; + }, + + readComment: function(first){ + var reader = this._reader, + comment = first || "", + c = reader.read(); + + if (c == "*"){ + while(c){ + comment += c; + + //look for end of comment + if (comment.length > 2 && c == "*" && reader.peek() == "/"){ + comment += reader.read(); + break; + } + + c = reader.read(); + } + + return comment; + } else { + return ""; + } + + } +}); + +var Tokens = [ + + /* + * The following token names are defined in CSS3 Grammar: http://www.w3.org/TR/css3-syntax/#lexical + */ + + //HTML-style comments + { name: "CDO"}, + { name: "CDC"}, + + //ignorables + { name: "S", whitespace: true/*, channel: "ws"*/}, + { name: "COMMENT", comment: true, hide: true, channel: "comment" }, + + //attribute equality + { name: "INCLUDES", text: "~="}, + { name: "DASHMATCH", text: "|="}, + { name: "PREFIXMATCH", text: "^="}, + { name: "SUFFIXMATCH", text: "$="}, + { name: "SUBSTRINGMATCH", text: "*="}, + + //identifier types + { name: "STRING"}, + { name: "IDENT"}, + { name: "HASH"}, + + //at-keywords + { name: "IMPORT_SYM", text: "@import"}, + { name: "PAGE_SYM", text: "@page"}, + { name: "MEDIA_SYM", text: "@media"}, + { name: "FONT_FACE_SYM", text: "@font-face"}, + { name: "CHARSET_SYM", text: "@charset"}, + { name: "NAMESPACE_SYM", text: "@namespace"}, + //{ name: "ATKEYWORD"}, + + //CSS3 animations + { name: "KEYFRAMES_SYM", text: [ "@keyframes", "@-webkit-keyframes", "@-moz-keyframes" ] }, + + //important symbol + { name: "IMPORTANT_SYM"}, + + //measurements + { name: "LENGTH"}, + { name: "ANGLE"}, + { name: "TIME"}, + { name: "FREQ"}, + { name: "DIMENSION"}, + { name: "PERCENTAGE"}, + { name: "NUMBER"}, + + //functions + { name: "URI"}, + { name: "FUNCTION"}, + + //Unicode ranges + { name: "UNICODE_RANGE"}, + + /* + * The following token names are defined in CSS3 Selectors: http://www.w3.org/TR/css3-selectors/#selector-syntax + */ + + //invalid string + { name: "INVALID"}, + + //combinators + { name: "PLUS", text: "+" }, + { name: "GREATER", text: ">"}, + { name: "COMMA", text: ","}, + { name: "TILDE", text: "~"}, + + //modifier + { name: "NOT"}, + + /* + * Defined in CSS3 Paged Media + */ + { name: "TOPLEFTCORNER_SYM", text: "@top-left-corner"}, + { name: "TOPLEFT_SYM", text: "@top-left"}, + { name: "TOPCENTER_SYM", text: "@top-center"}, + { name: "TOPRIGHT_SYM", text: "@top-right"}, + { name: "TOPRIGHTCORNER_SYM", text: "@top-right-corner"}, + { name: "BOTTOMLEFTCORNER_SYM", text: "@bottom-left-corner"}, + { name: "BOTTOMLEFT_SYM", text: "@bottom-left"}, + { name: "BOTTOMCENTER_SYM", text: "@bottom-center"}, + { name: "BOTTOMRIGHT_SYM", text: "@bottom-right"}, + { name: "BOTTOMRIGHTCORNER_SYM", text: "@bottom-right-corner"}, + { name: "LEFTTOP_SYM", text: "@left-top"}, + { name: "LEFTMIDDLE_SYM", text: "@left-middle"}, + { name: "LEFTBOTTOM_SYM", text: "@left-bottom"}, + { name: "RIGHTTOP_SYM", text: "@right-top"}, + { name: "RIGHTMIDDLE_SYM", text: "@right-middle"}, + { name: "RIGHTBOTTOM_SYM", text: "@right-bottom"}, + + /* + * The following token names are defined in CSS3 Media Queries: http://www.w3.org/TR/css3-mediaqueries/#syntax + */ + /*{ name: "MEDIA_ONLY", state: "media"}, + { name: "MEDIA_NOT", state: "media"}, + { name: "MEDIA_AND", state: "media"},*/ + { name: "RESOLUTION", state: "media"}, + + /* + * The following token names are not defined in any CSS specification but are used by the lexer. + */ + + //not a real token, but useful for stupid IE filters + { name: "IE_FUNCTION" }, + + //part of CSS3 grammar but not the Flex code + { name: "CHAR" }, + + //TODO: Needed? + //Not defined as tokens, but might as well be + { + name: "PIPE", + text: "|" + }, + { + name: "SLASH", + text: "/" + }, + { + name: "MINUS", + text: "-" + }, + { + name: "STAR", + text: "*" + }, + + { + name: "LBRACE", + text: "{" + }, + { + name: "RBRACE", + text: "}" + }, + { + name: "LBRACKET", + text: "[" + }, + { + name: "RBRACKET", + text: "]" + }, + { + name: "EQUALS", + text: "=" + }, + { + name: "COLON", + text: ":" + }, + { + name: "SEMICOLON", + text: ";" + }, + + { + name: "LPAREN", + text: "(" + }, + { + name: "RPAREN", + text: ")" + }, + { + name: "DOT", + text: "." + } +]; + +(function(){ + + var nameMap = [], + typeMap = {}; + + Tokens.UNKNOWN = -1; + Tokens.unshift({name:"EOF"}); + for (var i=0, len = Tokens.length; i < len; i++){ + nameMap.push(Tokens[i].name); + Tokens[Tokens[i].name] = i; + if (Tokens[i].text){ + if (Tokens[i].text instanceof Array){ + for (var j=0; j < Tokens[i].text.length; j++){ + typeMap[Tokens[i].text[j]] = i; + } + } else { + typeMap[Tokens[i].text] = i; + } + } + } + + Tokens.name = function(tt){ + return nameMap[tt]; + }; + + Tokens.type = function(c){ + return typeMap[c] || -1; + }; + +})(); + + + +/** + * Type to use when a validation error occurs. + * @class ValidationError + * @namespace parserlib.util + * @constructor + * @param {String} message The error message. + * @param {int} line The line at which the error occurred. + * @param {int} col The column at which the error occurred. + */ +function ValidationError(message, line, col){ + + /** + * The column at which the error occurred. + * @type int + * @property col + */ + this.col = col; + + /** + * The line at which the error occurred. + * @type int + * @property line + */ + this.line = line; + + /** + * The text representation of the unit. + * @type String + * @property text + */ + this.message = message; + +} + +//inherit from Error +ValidationError.prototype = new Error(); + +parserlib.css = { +Colors :Colors, +Combinator :Combinator, +Parser :Parser, +PropertyName :PropertyName, +PropertyValue :PropertyValue, +PropertyValuePart :PropertyValuePart, +MediaFeature :MediaFeature, +MediaQuery :MediaQuery, +Selector :Selector, +SelectorPart :SelectorPart, +SelectorSubPart :SelectorSubPart, +Specificity :Specificity, +TokenStream :TokenStream, +Tokens :Tokens, +ValidationError :ValidationError +}; +})(); + +(function(){ +for(var prop in parserlib){ +exports[prop] = parserlib[prop]; +} +})(); diff --git a/QuickTemplate/node_modules/domino/lib/events.js b/QuickTemplate/node_modules/domino/lib/events.js new file mode 100644 index 0000000..2431a51 --- /dev/null +++ b/QuickTemplate/node_modules/domino/lib/events.js @@ -0,0 +1,6 @@ +module.exports = { + Event: require('./Event'), + UIEvent: require('./UIEvent'), + MouseEvent: require('./MouseEvent'), + CustomEvent: require('./CustomEvent') +}; diff --git a/QuickTemplate/node_modules/domino/lib/htmlelts.js b/QuickTemplate/node_modules/domino/lib/htmlelts.js new file mode 100644 index 0000000..58d6f15 --- /dev/null +++ b/QuickTemplate/node_modules/domino/lib/htmlelts.js @@ -0,0 +1,1109 @@ +var Node = require('./Node'); +var Element = require('./Element'); +var CSSStyleDeclaration = require('./CSSStyleDeclaration'); +var NAMESPACE = require('./utils').NAMESPACE; +var attributes = require('./attributes'); +var utils = require('./utils'); + +var impl = exports.elements = {}; +var tagNameToImpl = {}; + +exports.createElement = function(doc, localName, prefix) { + var impl = tagNameToImpl[localName] || HTMLUnknownElement; + return new impl(doc, localName, prefix); +}; + +function define(spec) { + var c = spec.ctor; + if (c) { + var props = spec.props || {}; + if (spec.attributes) { + for (var n in spec.attributes) { + var attr = spec.attributes[n]; + if (typeof attr != 'object' || Array.isArray(attr)) attr = {type: attr}; + if (!attr.name) attr.name = n.toLowerCase(); + props[n] = attributes.property(attr); + } + } + props.constructor = { value : c }; + c.prototype = Object.create((spec.superclass || HTMLElement).prototype, props); + if (spec.events) { + addEventHandlers(c, spec.events); + } + impl[c.name] = c; + } + else { + c = HTMLElement; + } + (spec.tags || spec.tag && [spec.tag] || []).forEach(function(tag) { + tagNameToImpl[tag] = c; + }); + return c; +} + +function EventHandlerBuilder(body, document, form, element) { + this.body = body; + this.document = document; + this.form = form; + this.element = element; +} + +EventHandlerBuilder.prototype.build = function build() { + try { + with(this.document.defaultView || {}) + with(this.document) + with(this.form) + with(this.element) + return eval("(function(event){" + this.body + "})"); + } + catch (err) { + return function() { throw err } + } +}; + +function EventHandlerChangeHandler(elt, name, oldval, newval) { + var doc = elt.ownerDocument || {}; + var form = elt.form || {}; + elt[name] = new EventHandlerBuilder(newval, doc, form, elt).build(); +} + +function addEventHandlers(c, eventHandlerTypes) { + var p = c.prototype; + eventHandlerTypes.forEach(function(type) { + // Define the event handler registration IDL attribute for this type + Object.defineProperty(p, "on" + type, { + get: function() { + return this._getEventHandler(type); + }, + set: function(v) { + this._setEventHandler(type, v); + }, + }); + + // Define special behavior for the content attribute as well + attributes.registerChangeHandler(c, "on" + type, EventHandlerChangeHandler); + }); +} + +function URL(attr) { + return { + get: function() { + var v = this._getattr(attr); + return this.doc._resolve(v); + }, + set: function(value) { + this._setattr(attr, value); + } + }; +} + +// XXX: the default value for tabIndex should be 0 if the element is +// focusable and -1 if it is not. But the full definition of focusable +// is actually hard to compute, so for now, I'll follow Firefox and +// just base the default value on the type of the element. +var focusableElements = { + "A":true, "LINK":true, "BUTTON":true, "INPUT":true, + "SELECT":true, "TEXTAREA":true, "COMMAND":true +}; + +var HTMLElement = exports.HTMLElement = define({ + superclass: Element, + ctor: function HTMLElement(doc, localName, prefix) { + Element.call(this, doc, localName, NAMESPACE.HTML, prefix); + }, + props: { + innerHTML: { + get: function() { + return this.serialize(); + }, + set: function(v) { + var parser = this.ownerDocument.implementation.mozHTMLParser( + this.ownerDocument._address, + this); + parser.parse(v, true); + var tmpdoc = parser.document(); + var root = tmpdoc.firstChild; + + // Remove any existing children of this node + while(this.hasChildNodes()) + this.removeChild(this.firstChild); + + // Now copy newly parsed children from the root to this node + this.doc.adoptNode(root); + while(root.hasChildNodes()) { + this.appendChild(root.firstChild); + } + } + }, + style: { get: function() { + if (!this._style) + this._style = new CSSStyleDeclaration(this); + return this._style; + }}, + + click: { value: function() { + if (this._click_in_progress) return; + this._click_in_progress = true; + try { + if (this._pre_click_activation_steps) + this._pre_click_activation_steps(); + + var event = this.ownerDocument.createEvent("MouseEvent"); + event.initMouseEvent("click", true, true, + this.ownerDocument.defaultView, 1, + 0, 0, 0, 0, + // These 4 should be initialized with + // the actually current keyboard state + // somehow... + false, false, false, false, + 0, null + ); + + // Dispatch this as an untrusted event since it is synthetic + var success = this.dispatchEvent(event); + + if (success) { + if (this._post_click_activation_steps) + this._post_click_activation_steps(event); + } + else { + if (this._cancelled_activation_steps) + this._cancelled_activation_steps(); + } + } + finally { + this._click_in_progress = false; + } + }} + }, + attributes: { + title: String, + lang: String, + dir: {type: ["ltr", "rtl", "auto"], implied: true}, + accessKey: String, + hidden: Boolean, + tabIndex: {type: Number, default: function() { + if (this.tagName in focusableElements || + this.contentEditable) + return 0; + else + return -1; + }} + }, + events: [ + "abort", "canplay", "canplaythrough", "change", "click", "contextmenu", + "cuechange", "dblclick", "drag", "dragend", "dragenter", "dragleave", + "dragover", "dragstart", "drop", "durationchange", "emptied", "ended", + "input", "invalid", "keydown", "keypress", "keyup", "loadeddata", + "loadedmetadata", "loadstart", "mousedown", "mousemove", "mouseout", + "mouseover", "mouseup", "mousewheel", "pause", "play", "playing", + "progress", "ratechange", "readystatechange", "reset", "seeked", + "seeking", "select", "show", "stalled", "submit", "suspend", + "timeupdate", "volumechange", "waiting", + + // These last 5 event types will be overriden by HTMLBodyElement + "blur", "error", "focus", "load", "scroll" + ] +}); + + +// XXX: reflect contextmenu as contextMenu, with element type + + +// style: the spec doesn't call this a reflected attribute. +// may want to handle it manually. + +// contentEditable: enumerated, not clear if it is actually +// reflected or requires custom getter/setter. Not listed as +// "limited to known values". Raises syntax_err on bad setting, +// so I think this is custom. + +// contextmenu: content is element id, idl type is an element +// draggable: boolean, but not a reflected attribute +// dropzone: reflected SettableTokenList, experimental, so don't +// implement it right away. + +// data-* attributes: need special handling in setAttribute? +// Or maybe that isn't necessary. Can I just scan the attribute list +// when building the dataset? Liveness and caching issues? + +// microdata attributes: many are simple reflected attributes, but +// I'm not going to implement this now. + + +var HTMLUnknownElement = define({ + ctor: function HTMLUnknownElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + + +var formAssociatedProps = { + // See http://www.w3.org/TR/html5/association-of-controls-and-forms.html#form-owner + form: { get: function() { + return this._form; + }} +}; + +define({ + tag: 'a', + ctor: function HTMLAnchorElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: { + _post_click_activation_steps: { value: function(e) { + if (this.href) { + // Follow the link + // XXX: this is just a quick hack + // XXX: the HTML spec probably requires more than this + this.ownerDocument.defaultView.location = this.href; + } + }}, + blur: { value: function() {}}, + focus: { value: function() {}} + }, + attributes: { + href: URL, + ping: String, + download: String, + target: String, + rel: String, + media: String, + hreflang: String, + type: String + } +}); + +define({ + tag: 'area', + ctor: function HTMLAreaElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + alt: String, + target: String, + download: String, + rel: String, + media: String, + href: URL, + hreflang: String, + type: String, + shape: String, + coords: String + // XXX: also reflect relList + } +}); + +define({ + tag: 'br', + ctor: function HTMLBRElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + tag: 'base', + ctor: function HTMLBaseElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + "target": String + } +}); + + +define({ + tag: 'body', + ctor: function HTMLBodyElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + // Certain event handler attributes on a tag actually set + // handlers for the window rather than just that element. Define + // getters and setters for those here. Note that some of these override + // properties on HTMLElement.prototype. + // XXX: If I add support for , these have to go there, too + // XXX + // When the Window object is implemented, these attribute will have + // to work with the same-named attributes on the Window. + events: [ + "afterprint", "beforeprint", "beforeunload", "blur", "error", + "focus","hashchange", "load", "message", "offline", "online", + "pagehide", "pageshow","popstate","resize","scroll","storage","unload", + ] +}); + +define({ + tag: 'button', + ctor: function HTMLButtonElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: formAssociatedProps, + attributes: { + name: String, + value: String, + disabled: Boolean, + autofocus: Boolean, + type: ["submit", "reset", "button"], + formTarget: String, + formNoValidate: Boolean, + formMethod: ["get", "post"], + formEnctype: [ + "application/x-www-form-urlencoded", "multipart/form-data", "text/plain" + ] + } +}); + +define({ + tag: 'command', + ctor: function HTMLCommandElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + type: ["command", "checkbox", "radio"], + label: String, + disabled: Boolean, + checked: Boolean, + radiogroup: String, + icon: String + } +}); + +define({ + tag: 'dl', + ctor: function HTMLDListElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + tag: 'datalist', + ctor: function HTMLDataListElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + tag: 'details', + ctor: function HTMLDetailsElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + "open": Boolean + } +}); + +define({ + tag: 'div', + ctor: function HTMLDivElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + tag: 'embed', + ctor: function HTMLEmbedElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + src: URL, + type: String, + width: String, + height: String + } +}); + +define({ + tag: 'fieldset', + ctor: function HTMLFieldSetElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: formAssociatedProps, + attributes: { + disabled: Boolean, + name: String + } +}); + +define({ + tag: 'form', + ctor: function HTMLFormElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + action: String, + autocomplete: ['on', 'off'], + name: String, + acceptCharset: {name: "accept-charset"}, + target: String, + noValidate: Boolean, + method: ["get", "post"], + // Both enctype and encoding reflect the enctype content attribute + enctype: ["application/x-www-form-urlencoded", "multipart/form-data", "text/plain"], + encoding: {name: 'enctype', type: ["application/x-www-form-urlencoded", "multipart/form-data", "text/plain"]} + } +}); + +define({ + tag: 'hr', + ctor: function HTMLHRElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + tag: 'head', + ctor: function HTMLHeadElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + tags: ['h1','h2','h3','h4','h5','h6'], + ctor: function HTMLHeadingElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + tag: 'html', + ctor: function HTMLHtmlElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + tag: 'iframe', + ctor: function HTMLIFrameElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + src: URL, + srcdoc: String, + name: String, + width: String, + height: String, + // XXX: sandbox is a reflected settable token list + seamless: Boolean + } +}); + +define({ + tag: 'img', + ctor: function HTMLImageElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + src: URL, + alt: String, + crossOrigin: String, + useMap: String, + isMap: Boolean, + height: { type: Number, default: 0 }, + width: { type: Number, default: 0 } + } +}); + +define({ + tag: 'input', + ctor: function HTMLInputElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: { + form: formAssociatedProps.form, + _post_click_activation_steps: { value: function(e) { + if (this.type == 'checkbox') { + this.checked = !this.checked; + } + else if (this.type == 'radio') { + var group = this.form.getElementsByName(this.name); + for (var i=group.length-1; i >= 0; i--) { + var el = group[i]; + el.checked = el == this; + } + } + }}, + }, + attributes: { + name: String, + disabled: Boolean, + autofocus: Boolean, + accept: String, + alt: String, + max: String, + min: String, + pattern: String, + placeholder: String, + step: String, + dirName: String, + defaultValue: {name: 'value'}, + multiple: Boolean, + required: Boolean, + readOnly: Boolean, + checked: Boolean, + value: String, + src: URL, + defaultChecked: {name: 'checked', type: Boolean}, + size: {type: Number, default: 20, min: 1, setmin: 1}, + maxLength: {min: 0, setmin: 0}, + autocomplete: ["on", "off"], + type: ["text", "hidden", "search", "tel", "url", "email", "password", + "datetime", "date", "month", "week", "time", "datetime-local", + "number", "range", "color", "checkbox", "radio", "file", "submit", + "image", "reset", "button" + ], + formTarget: String, + formNoValidate: Boolean, + formMethod: ["get", "post"], + formEnctype: ["application/x-www-form-urlencoded", "multipart/form-data", "text/plain"] + } +}); + +define({ + tag: 'keygen', + ctor: function HTMLKeygenElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: formAssociatedProps, + attributes: { + name: String, + disabled: Boolean, + autofocus: Boolean, + challenge: String, + keytype: ["rsa"] + } +}); + +define({ + tag: 'li', + ctor: function HTMLLIElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + value: {type: Number, default: 0}, + } +}); + +define({ + tag: 'label', + ctor: function HTMLLabelElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: formAssociatedProps, + attributes: { + htmlFor: {name: 'for'} + } +}); + +define({ + tag: 'legend', + ctor: function HTMLLegendElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + tag: 'link', + ctor: function HTMLLinkElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + // XXX Reflect DOMSettableTokenList sizes also DOMTokenList relList + href: URL, + rel: String, + media: String, + hreflang: String, + type: String + } +}); + +define({ + tag: 'map', + ctor: function HTMLMapElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + name: String + } +}); + +define({ + tag: 'menu', + ctor: function HTMLMenuElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + type: String, + label: String + } +}); + +define({ + tag: 'meta', + ctor: function HTMLMetaElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + name: String, + content: String, + scheme: String, + httpEquiv: {name: 'http-equiv', type: String} + } +}); + +define({ + tag: 'meter', + ctor: function HTMLMeterElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: formAssociatedProps +}); + +define({ + tags: ['ins', 'del'], + ctor: function HTMLModElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + cite: String, + dateTime: String + } +}); + +define({ + tag: 'ol', + ctor: function HTMLOListElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: { + // Utility function (see the start attribute default value). Returns + // the number of
  • children of this element + _numitems: { get: function() { + var items = 0; + this.childNodes.forEach(function(n) { + if (n.nodeType === ELEMENT_NODE && n.tagName === "LI") + items++; + }); + return items; + }} + }, + attributes: { + type: String, + reversed: Boolean, + start: { + type: Number, + default: function() { + // The default value of the start attribute is 1 unless the list is + // reversed. Then it is the # of li children + if (this.reversed) + return this._numitems; + else + return 1; + } + } + } +}); + +define({ + tag: 'object', + ctor: function HTMLObjectElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: formAssociatedProps, + attributes: { + data: String, + type: String, + name: String, + useMap: String, + typeMustMatch: Boolean, + width: String, + height: String + } +}); + +define({ + tag: 'optgroup', + ctor: function HTMLOptGroupElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + disabled: Boolean, + label: String + } +}); + +define({ + tag: 'option', + ctor: function HTMLOptionElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: { + form: { get: function() { + var p = this.parentNode; + while (p && p.nodeType == Node.ELEMENT_NODE) { + if (p.localName == 'select') return p.form; + p = p.parentNode; + } + }} + }, + attributes: { + disabled: Boolean, + defaultSelected: {name: 'selected', type: Boolean}, + label: String + } +}); + +define({ + tag: 'output', + ctor: function HTMLOutputElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: formAssociatedProps, + attributes: { + // XXX Reflect for/htmlFor as a settable token list + name: String + } +}); + +define({ + tag: 'p', + ctor: function HTMLParagraphElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + tag: 'param', + ctor: function HTMLParamElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + name: String, + value: String + } +}); + +define({ + tag: 'pre', + ctor: function HTMLPreElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + tag: 'progress', + ctor: function HTMLProgressElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: formAssociatedProps, + attributes: { + max: {type: Number, float: true, default: 1.0, min: 0} + } +}); + +define({ + tags: ['q', 'blockquote'], + ctor: function HTMLQuoteElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + cite: URL + } +}); + +define({ + tag: 'script', + ctor: function HTMLScriptElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: { + text: { + get: function() { + var s = ""; + for(var i = 0, n = this.childNodes.length; i < n; i++) { + var child = this.childNodes[i]; + if (child.nodeType === Node.TEXT_NODE) + s += child._data; + } + return s; + }, + set: function(value) { + this.removeChildren(); + if (value !== null && value !== "") { + this.appendChild(this.ownerDocument.createTextNode(value)); + } + } + } + }, + attributes: { + src: URL, + type: String, + charset: String, + defer: Boolean, + async: Boolean + } +}); + +define({ + tag: 'select', + ctor: function HTMLSelectElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: { + form: formAssociatedProps.form, + options: { get: function() { + return this.getElementsByTagName('option'); + }} + }, + attributes: { + name: String, + disabled: Boolean, + autofocus: Boolean, + multiple: Boolean, + required: Boolean, + size: {type: Number, default: 0} + } +}); + +define({ + tag: 'source', + ctor: function HTMLSourceElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + src: URL, + type: String, + media: String + } +}); + +define({ + tag: 'span', + ctor: function HTMLSpanElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + tag: 'style', + ctor: function HTMLStyleElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + media: String, + type: String, + scoped: Boolean + } +}); + +define({ + tag: 'caption', + ctor: function HTMLTableCaptionElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + + +define({ + ctor: function HTMLTableCellElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + colSpan: {type: Number, default: 1, min: 1, setmin: 1}, + rowSpan: {type: Number, default: 1} + //XXX Also reflect settable token list headers + } +}); + +define({ + tags: ['col', 'colgroup'], + ctor: function HTMLTableColElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + span: {type: Number, default: 1, min: 1, setmin: 1} + } +}); + +define({ + tag: 'table', + ctor: function HTMLTableElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: { + rows: { get: function() { + return this.getElementsByTagName('tr'); + }} + }, + attributes: { + border: String + } +}); + +define({ + tag: 'tr', + ctor: function HTMLTableRowElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: { + cells: { get: function() { + return this.querySelectorAll('td,th'); + }} + } +}); + +define({ + tags: ['thead', 'tfoot', 'tbody'], + ctor: function HTMLTableSectionElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: { + rows: { get: function() { + return this.getElementsByTagName('tr'); + }} + } +}); + +define({ + tag: 'textarea', + ctor: function HTMLTextAreaElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: formAssociatedProps, + attributes: { + name: String, + disabled: Boolean, + autofocus: Boolean, + placeholder: String, + wrap: String, + dirName: String, + required: Boolean, + readOnly: Boolean, + rows: {type: Number, default: 2, min: 1, setmin: 1}, + cols: {type: Number, default: 20, min: 1, setmin: 1}, + maxLength: {type: Number, min: 0, setmin: 0} + } +}); + +define({ + tag: 'time', + ctor: function HTMLTimeElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + dateTime: String, + pubDate: Boolean + } +}); + +define({ + tag: 'title', + ctor: function HTMLTitleElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: { + text: { get: function() { + return this.textContent; + }} + } +}); + +define({ + tag: 'track', + ctor: function HTMLTrackElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + src: URL, + srclang: String, + label: String, + default: Boolean, + kind: ["subtitles", "captions", "descriptions", "chapters", "metadata"] + } +}); + +define({ + tag: 'ul', + ctor: function HTMLUListElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + ctor: function HTMLMediaElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + src: URL, + crossOrigin: String, + preload: ["metadata", "none", "auto", {value: "", alias: "auto"}], + loop: Boolean, + autoplay: Boolean, + mediaGroup: String, + controls: Boolean, + defaultMuted: {name: "muted", type: Boolean} + } +}); + +define({ + tag: 'audio', + superclass: impl.HTMLMediaElement, + ctor: function HTMLAudioElement(doc, localName, prefix) { + impl.HTMLMediaElement.call(this, doc, localName, prefix); + } +}); + +define({ + tag: 'video', + superclass: impl.HTMLMediaElement, + ctor: function HTMLVideoElement(doc, localName, prefix) { + impl.HTMLMediaElement.call(this, doc, localName, prefix); + }, + attributes: { + poster: String, + width: {type: Number, min: 0, setmin: 0}, + height: {type: Number, min: 0, setmin: 0} + } +}); + +define({ + tag: 'td', + superclass: impl.HTMLTableCellElement, + ctor: function HTMLTableDataCellElement(doc, localName, prefix) { + impl.HTMLTableCellElement.call(this, doc, localName, prefix); + } +}); + +define({ + tag: 'th', + superclass: impl.HTMLTableCellElement, + ctor: function HTMLTableHeaderCellElement(doc, localName, prefix) { + impl.HTMLTableCellElement.call(this, doc, localName, prefix); + }, + attributes: { + scope: ["", "row", "col", "rowgroup", "colgroup"] + } +}); + +define({ + tag: 'frameset', + ctor: function HTMLFrameSetElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + tag: 'frame', + ctor: function HTMLFrameElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + tags: [ + "abbr", "address", "article", "aside", "b", "bdi", "bdo", "canvas", + "cite", "code", "dd", "dfn", "dt", "em", "figcaption", "figure", + "footer", "header", "hgroup", "i", "kbd", "mark", "nav", "noscript", + "rp", "rt", "ruby", "s", "samp", "section", "small", "strong", "sub", + "summary", "sup", "u", "var", "wbr" + ] +}); diff --git a/QuickTemplate/node_modules/domino/lib/impl.js b/QuickTemplate/node_modules/domino/lib/impl.js new file mode 100644 index 0000000..2fcdeb5 --- /dev/null +++ b/QuickTemplate/node_modules/domino/lib/impl.js @@ -0,0 +1,23 @@ +var utils = require('./utils'); + +exports = module.exports = { + CSSStyleDeclaration: require('./CSSStyleDeclaration'), + CharacterData: require('./CharacterData'), + Comment: require('./Comment'), + DOMException: require('./DOMException'), + DOMImplementation: require('./DOMImplementation'), + DOMTokenList: require('./DOMTokenList'), + Document: require('./Document'), + DocumentFragment: require('./DocumentFragment'), + DocumentType: require('./DocumentType'), + Element: require('./Element'), + Node: require('./Node'), + NodeList: require('./NodeList'), + NodeFilter: require('./NodeFilter'), + ProcessingInstruction: require('./ProcessingInstruction'), + Text: require('./Text'), + Window: require('./Window') +}; + +utils.merge(exports, require('./events')); +utils.merge(exports, require('./htmlelts').elements); diff --git a/QuickTemplate/node_modules/domino/lib/index.js b/QuickTemplate/node_modules/domino/lib/index.js new file mode 100644 index 0000000..cc06de9 --- /dev/null +++ b/QuickTemplate/node_modules/domino/lib/index.js @@ -0,0 +1,23 @@ +var DOMImplementation = require('./DOMImplementation'); +var HTMLParser = require('./HTMLParser'); +var Window = require('./Window'); + +exports.createDOMImplementation = function() { + return new DOMImplementation(); +}; + +exports.createDocument = function(html) { + if (html) { + var parser = new HTMLParser(); + parser.parse(html, true); + return parser.document(); + } + return new DOMImplementation().createHTMLDocument(""); +}; + +exports.createWindow = function(html) { + var document = exports.createDocument(html); + return new Window(document); +}; + +exports.impl = require('./impl'); diff --git a/QuickTemplate/node_modules/domino/lib/select.js b/QuickTemplate/node_modules/domino/lib/select.js new file mode 100644 index 0000000..6059cea --- /dev/null +++ b/QuickTemplate/node_modules/domino/lib/select.js @@ -0,0 +1,842 @@ +/** + * Zest (https://github.com/chjj/zest) + * A css selector engine. + * Copyright (c) 2011-2012, Christopher Jeffrey. (MIT Licensed) + */ + +/** + * Helpers + */ + +var compareDocumentPosition = function(a, b) { + return a.compareDocumentPosition(b); +}; + +var order = function(a, b) { + return compareDocumentPosition(a, b) & 2 ? 1 : -1; +}; + +var next = function(el) { + while ((el = el.nextSibling) + && el.nodeType !== 1); + return el; +}; + +var prev = function(el) { + while ((el = el.previousSibling) + && el.nodeType !== 1); + return el; +}; + +var child = function(el) { + if (el = el.firstChild) { + while (el.nodeType !== 1 + && (el = el.nextSibling)); + } + return el; +}; + +var lastChild = function(el) { + if (el = el.lastChild) { + while (el.nodeType !== 1 + && (el = el.previousSibling)); + } + return el; +}; + +var unquote = function(str) { + if (!str) return str; + var ch = str[0]; + return ch === '"' || ch === '\'' + ? str.slice(1, -1) + : str; +}; + +var indexOf = (function() { + if (Array.prototype.indexOf) { + return Array.prototype.indexOf; + } + return function(obj, item) { + var i = this.length; + while (i--) { + if (this[i] === item) return i; + } + return -1; + }; +})(); + +var makeInside = function(start, end) { + var regex = rules.inside.source + .replace(//g, end); + + return new RegExp(regex); +}; + +var replace = function(regex, name, val) { + regex = regex.source; + regex = regex.replace(name, val.source || val); + return new RegExp(regex); +}; + +var truncateUrl = function(url, num) { + return url + .replace(/^(?:\w+:\/\/|\/+)/, '') + .replace(/(?:\/+|\/*#.*?)$/, '') + .split('/', num) + .join('/'); +}; + +/** + * Handle `nth` Selectors + */ + +var parseNth = function(param, test) { + var param = param.replace(/\s+/g, '') + , cap; + + if (param === 'even') { + param = '2n+0'; + } else if (param === 'odd') { + param = '2n+1'; + } else if (!~param.indexOf('n')) { + param = '0n' + param; + } + + cap = /^([+-])?(\d+)?n([+-])?(\d+)?$/.exec(param); + + return { + group: cap[1] === '-' + ? -(cap[2] || 1) + : +(cap[2] || 1), + offset: cap[4] + ? (cap[3] === '-' ? -cap[4] : +cap[4]) + : 0 + }; +}; + +var nth = function(param, test, last) { + var param = parseNth(param) + , group = param.group + , offset = param.offset + , find = !last ? child : lastChild + , advance = !last ? next : prev; + + return function(el) { + if (el.parentNode.nodeType !== 1) return; + + var rel = find(el.parentNode) + , pos = 0; + + while (rel) { + if (test(rel, el)) pos++; + if (rel === el) { + pos -= offset; + return group && pos + ? !(pos % group) && (pos < 0 === group < 0) + : !pos; + } + rel = advance(rel); + } + }; +}; + +/** + * Simple Selectors + */ + +var selectors = { + '*': (function() { + if (false/*function() { + var el = document.createElement('div'); + el.appendChild(document.createComment('')); + return !!el.getElementsByTagName('*')[0]; + }()*/) { + return function(el) { + if (el.nodeType === 1) return true; + }; + } + return function() { + return true; + }; + })(), + 'type': function(type) { + type = type.toLowerCase(); + return function(el) { + return el.nodeName.toLowerCase() === type; + }; + }, + 'attr': function(key, op, val, i) { + op = operators[op]; + return function(el) { + var attr; + switch (key) { + case 'for': + attr = el.htmlFor; + break; + case 'class': + // className is '' when non-existent + // getAttribute('class') is null + attr = el.className; + if (attr === '' && el.getAttribute('class') == null) { + attr = null; + } + break; + case 'href': + attr = el.getAttribute('href', 2); + break; + case 'title': + // getAttribute('title') can be '' when non-existent sometimes? + attr = el.getAttribute('title') || null; + break; + // careful with attributes with special getter functions + case 'id': + case 'lang': + case 'dir': + case 'accessKey': + case 'hidden': + case 'tabIndex': + if (el.getAttribute) { + attr = el.getAttribute(key); + break; + } + default: + if (el.hasAttribute && !el.hasAttribute(key)) { + break; + } + attr = el[key] != null + ? el[key] + : el.getAttribute && el.getAttribute(key); + break; + } + if (attr == null) return; + attr = attr + ''; + if (i) { + attr = attr.toLowerCase(); + val = val.toLowerCase(); + } + return op(attr, val); + }; + }, + ':first-child': function(el) { + return !prev(el) && el.parentNode.nodeType === 1; + }, + ':last-child': function(el) { + return !next(el) && el.parentNode.nodeType === 1; + }, + ':only-child': function(el) { + return !prev(el) && !next(el) + && el.parentNode.nodeType === 1; + }, + ':nth-child': function(param, last) { + return nth(param, function() { + return true; + }, last); + }, + ':nth-last-child': function(param) { + return selectors[':nth-child'](param, true); + }, + ':root': function(el) { + return el.ownerDocument.documentElement === el; + }, + ':empty': function(el) { + return !el.firstChild; + }, + ':not': function(sel) { + var test = compileGroup(sel); + return function(el) { + return !test(el); + }; + }, + ':first-of-type': function(el) { + if (el.parentNode.nodeType !== 1) return; + var type = el.nodeName; + while (el = prev(el)) { + if (el.nodeName === type) return; + } + return true; + }, + ':last-of-type': function(el) { + if (el.parentNode.nodeType !== 1) return; + var type = el.nodeName; + while (el = next(el)) { + if (el.nodeName === type) return; + } + return true; + }, + ':only-of-type': function(el) { + return selectors[':first-of-type'](el) + && selectors[':last-of-type'](el); + }, + ':nth-of-type': function(param, last) { + return nth(param, function(rel, el) { + return rel.nodeName === el.nodeName; + }, last); + }, + ':nth-last-of-type': function(param) { + return selectors[':nth-of-type'](param, true); + }, + ':checked': function(el) { + return !!(el.checked || el.selected); + }, + ':indeterminate': function(el) { + return !selectors[':checked'](el); + }, + ':enabled': function(el) { + return !el.disabled && el.type !== 'hidden'; + }, + ':disabled': function(el) { + return !!el.disabled; + }, + ':target': function(el) { + return el.id === window.location.hash.substring(1); + }, + ':focus': function(el) { + return el === el.ownerDocument.activeElement; + }, + ':matches': function(sel) { + return compileGroup(sel); + }, + ':nth-match': function(param, last) { + var args = param.split(/\s*,\s*/) + , arg = args.shift() + , test = compileGroup(args.join(',')); + + return nth(arg, test, last); + }, + ':nth-last-match': function(param) { + return selectors[':nth-match'](param, true); + }, + ':links-here': function(el) { + return el + '' === window.location + ''; + }, + ':lang': function(param) { + return function(el) { + while (el) { + if (el.lang) return el.lang.indexOf(param) === 0; + el = el.parentNode; + } + }; + }, + ':dir': function(param) { + return function(el) { + while (el) { + if (el.dir) return el.dir === param; + el = el.parentNode; + } + }; + }, + ':scope': function(el, con) { + var context = con || el.ownerDocument; + if (context.nodeType === 9) { + return el === context.documentElement; + } + return el === context; + }, + ':any-link': function(el) { + return typeof el.href === 'string'; + }, + ':local-link': function(el) { + if (el.nodeName) { + return el.href && el.host === window.location.host; + } + var param = +el + 1; + return function(el) { + if (!el.href) return; + + var url = window.location + '' + , href = el + ''; + + return truncateUrl(url, param) === truncateUrl(href, param); + }; + }, + ':default': function(el) { + return !!el.defaultSelected; + }, + ':valid': function(el) { + return el.willValidate || (el.validity && el.validity.valid); + }, + ':invalid': function(el) { + return !selectors[':valid'](el); + }, + ':in-range': function(el) { + return el.value > el.min && el.value <= el.max; + }, + ':out-of-range': function(el) { + return !selectors[':in-range'](el); + }, + ':required': function(el) { + return !!el.required; + }, + ':optional': function(el) { + return !el.required; + }, + ':read-only': function(el) { + if (el.readOnly) return true; + + var attr = el.getAttribute('contenteditable') + , prop = el.contentEditable + , name = el.nodeName.toLowerCase(); + + name = name !== 'input' && name !== 'textarea'; + + return (name || el.disabled) && attr == null && prop !== 'true'; + }, + ':read-write': function(el) { + return !selectors[':read-only'](el); + }, + ':hover': function() { + throw new Error(':hover is not supported.'); + }, + ':active': function() { + throw new Error(':active is not supported.'); + }, + ':link': function() { + throw new Error(':link is not supported.'); + }, + ':visited': function() { + throw new Error(':visited is not supported.'); + }, + ':column': function() { + throw new Error(':column is not supported.'); + }, + ':nth-column': function() { + throw new Error(':nth-column is not supported.'); + }, + ':nth-last-column': function() { + throw new Error(':nth-last-column is not supported.'); + }, + ':current': function() { + throw new Error(':current is not supported.'); + }, + ':past': function() { + throw new Error(':past is not supported.'); + }, + ':future': function() { + throw new Error(':future is not supported.'); + }, + // Non-standard, for compatibility purposes. + ':contains': function(param) { + return function(el) { + var text = el.innerText || el.textContent || el.value || ''; + return !!~text.indexOf(param); + }; + }, + ':has': function(param) { + return function(el) { + return zest(param, el).length > 0; + }; + } + // Potentially add more pseudo selectors for + // compatibility with sizzle and most other + // selector engines (?). +}; + +/** + * Attribute Operators + */ + +var operators = { + '-': function() { + return true; + }, + '=': function(attr, val) { + return attr === val; + }, + '*=': function(attr, val) { + return attr.indexOf(val) !== -1; + }, + '~=': function(attr, val) { + var i = attr.indexOf(val) + , f + , l; + + if (i === -1) return; + f = attr[i - 1]; + l = attr[i + val.length]; + + return (!f || f === ' ') && (!l || l === ' '); + }, + '|=': function(attr, val) { + var i = attr.indexOf(val) + , l; + + if (i !== 0) return; + l = attr[i + val.length]; + + return l === '-' || !l; + }, + '^=': function(attr, val) { + return attr.indexOf(val) === 0; + }, + '$=': function(attr, val) { + return attr.indexOf(val) + val.length === attr.length; + }, + // non-standard + '!=': function(attr, val) { + return attr !== val; + } +}; + +/** + * Combinator Logic + */ + +var combinators = { + ' ': function(test) { + return function(el) { + while (el = el.parentNode) { + if (test(el)) return el; + } + }; + }, + '>': function(test) { + return function(el) { + if (el = el.parentNode) { + return test(el) && el; + } + }; + }, + '+': function(test) { + return function(el) { + if (el = prev(el)) { + return test(el) && el; + } + }; + }, + '~': function(test) { + return function(el) { + while (el = prev(el)) { + if (test(el)) return el; + } + }; + }, + 'noop': function(test) { + return function(el) { + return test(el) && el; + }; + }, + 'ref': function(test, name) { + var node; + + function ref(el) { + var doc = el.ownerDocument + , nodes = doc.getElementsByTagName('*') + , i = nodes.length; + + while (i--) { + node = nodes[i]; + if (ref.test(el)) { + node = null; + return true; + } + } + + node = null; + } + + ref.combinator = function(el) { + if (!node || !node.getAttribute) return; + + var attr = node.getAttribute(name) || ''; + if (attr[0] === '#') attr = attr.substring(1); + + if (attr === el.id && test(node)) { + return node; + } + }; + + return ref; + } +}; + +/** + * Grammar + */ + +var rules = { + qname: /^ *([\w\-]+|\*)/, + simple: /^(?:([.#][\w\-]+)|pseudo|attr)/, + ref: /^ *\/([\w\-]+)\/ */, + combinator: /^(?: +([^ \w*]) +|( )+|([^ \w*]))(?! *$)/, + attr: /^\[([\w\-]+)(?:([^\w]?=)(inside))?\]/, + pseudo: /^(:[\w\-]+)(?:\((inside)\))?/, + inside: /(?:"(?:\\"|[^"])*"|'(?:\\'|[^'])*'|<[^"'>]*>|\\["'>]|[^"'>])*/ +}; + +rules.inside = replace(rules.inside, '[^"\'>]*', rules.inside); +rules.attr = replace(rules.attr, 'inside', makeInside('\\[', '\\]')); +rules.pseudo = replace(rules.pseudo, 'inside', makeInside('\\(', '\\)')); +rules.simple = replace(rules.simple, 'pseudo', rules.pseudo); +rules.simple = replace(rules.simple, 'attr', rules.attr); + +/** + * Compiling + */ + +var compile = function(sel) { + var sel = sel.replace(/^\s+|\s+$/g, '') + , test + , filter = [] + , buff = [] + , subject + , qname + , cap + , op + , ref; + + while (sel) { + if (cap = rules.qname.exec(sel)) { + sel = sel.substring(cap[0].length); + qname = cap[1]; + buff.push(tok(qname, true)); + } else if (cap = rules.simple.exec(sel)) { + sel = sel.substring(cap[0].length); + qname = '*'; + buff.push(tok(qname, true)); + buff.push(tok(cap)); + } else { + throw new Error('Invalid selector.'); + } + + while (cap = rules.simple.exec(sel)) { + sel = sel.substring(cap[0].length); + buff.push(tok(cap)); + } + + if (sel[0] === '!') { + sel = sel.substring(1); + subject = makeSubject(); + subject.qname = qname; + buff.push(subject.simple); + } + + if (cap = rules.ref.exec(sel)) { + sel = sel.substring(cap[0].length); + ref = combinators.ref(makeSimple(buff), cap[1]); + filter.push(ref.combinator); + buff = []; + continue; + } + + if (cap = rules.combinator.exec(sel)) { + sel = sel.substring(cap[0].length); + op = cap[1] || cap[2] || cap[3]; + if (op === ',') { + filter.push(combinators.noop(makeSimple(buff))); + break; + } + } else { + op = 'noop'; + } + + filter.push(combinators[op](makeSimple(buff))); + buff = []; + } + + test = makeTest(filter); + test.qname = qname; + test.sel = sel; + + if (subject) { + subject.lname = test.qname; + + subject.test = test; + subject.qname = subject.qname; + subject.sel = test.sel; + test = subject; + } + + if (ref) { + ref.test = test; + ref.qname = test.qname; + ref.sel = test.sel; + test = ref; + } + + return test; +}; + +var tok = function(cap, qname) { + // qname + if (qname) { + return cap === '*' + ? selectors['*'] + : selectors.type(cap); + } + + // class/id + if (cap[1]) { + return cap[1][0] === '.' + ? selectors.attr('class', '~=', cap[1].substring(1)) + : selectors.attr('id', '=', cap[1].substring(1)); + } + + // pseudo-name + // inside-pseudo + if (cap[2]) { + return cap[3] + ? selectors[cap[2]](unquote(cap[3])) + : selectors[cap[2]]; + } + + // attr name + // attr op + // attr value + if (cap[4]) { + var i; + if (cap[6]) { + i = cap[6].length; + cap[6] = cap[6].replace(/ +i$/, ''); + i = i > cap[6].length; + } + return selectors.attr(cap[4], cap[5] || '-', unquote(cap[6]), i); + } + + throw new Error('Unknown Selector.'); +}; + +var makeSimple = function(func) { + var l = func.length + , i; + + // Potentially make sure + // `el` is truthy. + if (l < 2) return func[0]; + + return function(el) { + if (!el) return; + for (i = 0; i < l; i++) { + if (!func[i](el)) return; + } + return true; + }; +}; + +var makeTest = function(func) { + if (func.length < 2) { + return function(el) { + return !!func[0](el); + }; + } + return function(el) { + var i = func.length; + while (i--) { + if (!(el = func[i](el))) return; + } + return true; + }; +}; + +var makeSubject = function() { + var target; + + function subject(el) { + var node = el.ownerDocument + , scope = node.getElementsByTagName(subject.lname) + , i = scope.length; + + while (i--) { + if (subject.test(scope[i]) && target === el) { + target = null; + return true; + } + } + + target = null; + } + + subject.simple = function(el) { + target = el; + return true; + }; + + return subject; +}; + +var compileGroup = function(sel) { + var test = compile(sel) + , tests = [ test ]; + + while (test.sel) { + test = compile(test.sel); + tests.push(test); + } + + if (tests.length < 2) return test; + + return function(el) { + var l = tests.length + , i = 0; + + for (; i < l; i++) { + if (tests[i](el)) return true; + } + }; +}; + +/** + * Selection + */ + +var find = function(sel, node) { + var results = [] + , test = compile(sel) + , scope = node.getElementsByTagName(test.qname) + , i = 0 + , el; + + while (el = scope[i++]) { + if (test(el)) results.push(el); + } + + if (test.sel) { + while (test.sel) { + test = compile(test.sel); + scope = node.getElementsByTagName(test.qname); + i = 0; + while (el = scope[i++]) { + if (test(el) && !~indexOf.call(results, el)) { + results.push(el); + } + } + } + results.sort(order); + } + + return results; +}; + +/** + * Expose + */ + +module.exports = exports = function(sel, context) { + /* when context isn't a DocumentFragment and the selector is simple: */ + if (context.nodeType !== 11 && !~sel.indexOf(' ')) { + if (sel[0] === '#' && context.rooted && /^#\w+$/.test(sel)) { + return [context.doc.getElementById(sel.substring(1))]; + } + if (sel[0] === '.' && /^\.\w+$/.test(sel)) { + return context.getElementsByClassName(sel.substring(1)); + } + if (/^\w+$/.test(sel)) { + return context.getElementsByTagName(sel); + } + } + /* do things the hard/slow way */ + return find(sel, context); +}; + +exports.selectors = selectors; +exports.operators = operators; +exports.combinators = combinators; + +exports.matches = function(el, sel) { + var test = { sel: sel }; + do { + test = compile(test.sel); + if (test(el)) { return true; } + } while (test.sel); + return false; +}; diff --git a/QuickTemplate/node_modules/domino/lib/utils.js b/QuickTemplate/node_modules/domino/lib/utils.js new file mode 100644 index 0000000..78257cc --- /dev/null +++ b/QuickTemplate/node_modules/domino/lib/utils.js @@ -0,0 +1,66 @@ +var DOMException = require('./DOMException'); +var ERR = DOMException; + +exports.NAMESPACE = { + HTML: 'http://www.w3.org/1999/xhtml', + XML: 'http://www.w3.org/XML/1998/namespace', + XMLNS: 'http://www.w3.org/2000/xmlns/', + MATHML: 'http://www.w3.org/1998/Math/MathML', + SVG: 'http://www.w3.org/2000/svg', + XLINK: 'http://www.w3.org/1999/xlink' +}; + +// +// Shortcut functions for throwing errors of various types. +// +exports.IndexSizeError = function() { throw new DOMException(ERR.INDEX_SIZE_ERR); } +exports.HierarchyRequestError = function() { throw new DOMException(ERR.HIERARCHY_REQUEST_ERR); } +exports.WrongDocumentError = function() { throw new DOMException(ERR.WRONG_DOCUMENT_ERR); } +exports.InvalidCharacterError = function() { throw new DOMException(ERR.INVALID_CHARACTER_ERR); } +exports.NoModificationAllowedError = function() { throw new DOMException(ERR.NO_MODIFICATION_ALLOWED_ERR); } +exports.NotFoundError = function() { throw new DOMException(ERR.NOT_FOUND_ERR); } +exports.NotSupportedError = function() { throw new DOMException(ERR.NOT_SUPPORTED_ERR); } +exports.InvalidStateError = function() { throw new DOMException(ERR.INVALID_STATE_ERR); } +exports.SyntaxError = function() { throw new DOMException(ERR.SYNTAX_ERR); } +exports.InvalidModificationError = function() { throw new DOMException(ERR.INVALID_MODIFICATION_ERR); } +exports.NamespaceError = function() { throw new DOMException(ERR.NAMESPACE_ERR); } +exports.InvalidAccessError = function() { throw new DOMException(ERR.INVALID_ACCESS_ERR); } +exports.TypeMismatchError = function() { throw new DOMException(ERR.TYPE_MISMATCH_ERR); } +exports.SecurityError = function() { throw new DOMException(ERR.SECURITY_ERR); } +exports.NetworkError = function() { throw new DOMException(ERR.NETWORK_ERR); } +exports.AbortError = function() { throw new DOMException(ERR.ABORT_ERR); } +exports.UrlMismatchError = function() { throw new DOMException(ERR.URL_MISMATCH_ERR); } +exports.QuotaExceededError = function() { throw new DOMException(ERR.QUOTA_EXCEEDED_ERR); } +exports.TimeoutError = function() { throw new DOMException(ERR.TIMEOUT_ERR); } +exports.InvalidNodeTypeError = function() { throw new DOMException(ERR.INVALID_NODE_TYPE_ERR); } +exports.DataCloneError = function() { throw new DOMException(ERR.DATA_CLONE_ERR); } + +exports.nyi = function() { + throw new Error("NotYetImplemented"); +} + +exports.assert = function(expr, msg) { + if (!expr) { + throw new Error("Assertion failed: " + (msg || "") + "\n" + new Error().stack); + } +}; + +exports.expose = function(src, c) { + for (var n in src) { + Object.defineProperty(c.prototype, n, {value: src[n] }); + } +}; + +exports.merge = function(a, b) { + for (var n in b) { + a[n] = b[n] + } +}; + +// Compare two nodes based on their document order. This function is intended +// to be passed to sort(). Assumes that the array being sorted does not +// contain duplicates. And that all nodes are connected and comparable. +// Clever code by ppk via jeresig. +exports.documentOrder = function(n,m) { + return 3 - (n.compareDocumentPosition(m) & 6); +}; diff --git a/QuickTemplate/node_modules/domino/lib/xmlnames.js b/QuickTemplate/node_modules/domino/lib/xmlnames.js new file mode 100644 index 0000000..4edb8ab --- /dev/null +++ b/QuickTemplate/node_modules/domino/lib/xmlnames.js @@ -0,0 +1,90 @@ +// This grammar is from the XML and XML Namespace specs. It specifies whether +// a string (such as an element or attribute name) is a valid Name or QName. +// +// Name ::= NameStartChar (NameChar)* +// NameStartChar ::= ":" | [A-Z] | "_" | [a-z] | +// [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | +// [#x370-#x37D] | [#x37F-#x1FFF] | +// [#x200C-#x200D] | [#x2070-#x218F] | +// [#x2C00-#x2FEF] | [#x3001-#xD7FF] | +// [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | +// [#x10000-#xEFFFF] +// +// NameChar ::= NameStartChar | "-" | "." | [0-9] | +// #xB7 | [#x0300-#x036F] | [#x203F-#x2040] +// +// QName ::= PrefixedName| UnprefixedName +// PrefixedName ::= Prefix ':' LocalPart +// UnprefixedName ::= LocalPart +// Prefix ::= NCName +// LocalPart ::= NCName +// NCName ::= Name - (Char* ':' Char*) +// # An XML Name, minus the ":" +// + +exports.isValidName = isValidName; +exports.isValidQName = isValidQName; + +// Most names will be ASCII only. Try matching against simple regexps first +var simplename = /^[_:A-Za-z][-.:\w]+$/; +var simpleqname = /^([_A-Za-z][-.\w]+|[_A-Za-z][-.\w]+:[_A-Za-z][-.\w]+)$/ + +// If the regular expressions above fail, try more complex ones that work +// for any identifiers using codepoints from the Unicode BMP +var ncnamestartchars = "_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02ff\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD"; +var ncnamechars = "-._A-Za-z0-9\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02ff\u0300-\u037D\u037F-\u1FFF\u200C\u200D\u203f\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD"; + +var ncname = "[" + ncnamestartchars + "][" + ncnamechars + "]*"; +var namestartchars = ncnamestartchars + ":"; +var namechars = ncnamechars + ":"; +var name = new RegExp("^[" + namestartchars + "]" + "[" + namechars + "]*$"); +var qname = new RegExp("^(" + ncname + "|" + ncname + ":" + ncname + ")$"); + +// XML says that these characters are also legal: +// [#x10000-#xEFFFF]. So if the patterns above fail, and the +// target string includes surrogates, then try the following +// patterns that allow surrogates and then run an extra validation +// step to make sure that the surrogates are in valid pairs and in +// the right range. Note that since the characters \uf0000 to \u1f0000 +// are not allowed, it means that the high surrogate can only go up to +// \uDB7f instead of \uDBFF. +var hassurrogates = /[\uD800-\uDB7F\uDC00-\uDFFF]/; +var surrogatechars = /[\uD800-\uDB7F\uDC00-\uDFFF]/g; +var surrogatepairs = /[\uD800-\uDB7F][\uDC00-\uDFFF]/g; + +// Modify the variables above to allow surrogates +ncnamestartchars += "\uD800-\uDB7F\uDC00-\uDFFF"; +ncnamechars += "\uD800-\uDB7F\uDC00-\uDFFF"; +ncname = "[" + ncnamestartchars + "][" + ncnamechars + "]*"; +namestartchars = ncnamestartchars + ":"; +namechars = ncnamechars + ":"; + +// Build another set of regexps that include surrogates +var surrogatename = new RegExp("^[" + namestartchars + "]" + "[" + namechars + "]*$"); +var surrogateqname = new RegExp("^(" + ncname + "|" + ncname + ":" + ncname + ")$"); + +function isValidName(s) { + if (simplename.test(s)) return true; // Plain ASCII + if (name.test(s)) return true; // Unicode BMP + + // Maybe the tests above failed because s includes surrogate pairs + // Most likely, though, they failed for some more basic syntax problem + if (!hassurrogates.test(s)) return false; + + // Is the string a valid name if we allow surrogates? + if (!surrogatename.test(s)) return false; + + // Finally, are the surrogates all correctly paired up? + var chars = s.match(surrogatechars), pairs = s.match(surrogatepairs); + return pairs != null && 2*pairs.length === chars.length; +} + +function isValidQName(s) { + if (simpleqname.test(s)) return true; // Plain ASCII + if (qname.test(s)) return true; // Unicode BMP + + if (!hassurrogates.test(s)) return false; + if (!surrogateqname.test(s)) return false; + var chars = s.match(surrogatechars), pairs = s.match(surrogatepairs); + return pairs != null && 2*pairs.length === chars.length; +} diff --git a/QuickTemplate/node_modules/domino/package.json b/QuickTemplate/node_modules/domino/package.json new file mode 100644 index 0000000..78bc25a --- /dev/null +++ b/QuickTemplate/node_modules/domino/package.json @@ -0,0 +1,30 @@ +{ + "name": "domino", + "version": "1.0.15", + "author": { + "name": "Felix Gnass", + "email": "fgnass@gmail.com" + }, + "description": "Server-side DOM implementation based on Mozilla's dom.js", + "homepage": "https://github.com/fgnass/domino", + "main": "./lib", + "repository": { + "type": "git", + "url": "https://github.com/fgnass/domino.git" + }, + "scripts": { + "test": "./node_modules/.bin/mocha", + "test-spec": "./node_modules/.bin/mocha -R spec" + }, + "devDependencies": { + "mocha": "~1.17.0", + "should": "~2.1.0" + }, + "readme": "# Server-side DOM implementation based on Mozilla's dom.js\n\n[![Build Status][1]][2] [![dependency status][3]][4] [![dev dependency status][5]][6]\n\nAs the name might suggest, domino's goal is to provide a DOM in Node.\n\nIn contrast to the original [dom.js](https://github.com/andreasgal/dom.js) project, domino was not designed to run untrusted code. Hence it doesn't have to hide its internals behind a proxy facade which makes the code not only simpler, but also [more performant](https://github.com/fgnass/dombench).\n\nDomino currently doesn't use any harmony features like proxies or WeakMaps and therefore also runs in older Node versions.\n\n## Speed over Compliance\n\nDomino is intended for _building_ pages rather than scraping them. Hence Domino doesn't execute scripts nor does it download external resources.\n\nAlso Domino doesn't implement any properties which have been deprecated in HTML5.\n\nDomino sticks to the [DOM level 4](http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#interface-attr) working draft, which means that Attributes do not inherit the Node interface. Also [Element.attributes](http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-element-attributes) returns a read-only array instead of a NamedNodeMap.\n\nNote that because domino does not use proxies,\n`Element.attributes` is not a true JavaScript array; it is an object\nwith a `length` property and an `item(n)` accessor method. See\n[github issue #27](https://github.com/fgnass/domino/issues/27) for\nfurther discussion.\n\n## CSS Selector Support\n\nDomino provides support for `querySelector()`, `querySelectorAll()`, and `matches()` backed by the [Zest](https://github.com/chjj/zest) selector engine.\n\n## Usage\n\n```javascript\nvar domino = require('domino');\n\nvar window = domino.createWindow('

    Hello world

    ');\nvar document = window.document;\n\nvar h1 = document.querySelector('h1');\nconsole.log(h1.innerHTML);\n```\n\n## Tests\n\nDomino includes test from the [W3C DOM Conformance Suites](http://www.w3.org/DOM/Test/)\nas well as tests from [HTML Working Group](http://www.w3.org/html/wg/wiki/Testing).\n\nThe tests can be run via `npm test` or directly though the [Mocha](http://visionmedia.github.com/mocha/) command line:\n\n![Screenshot](http://fgnass.github.com/images/domino.png)\n\n## License and Credits\n\nThe majority of the code was written by [Andreas Gal](https://github.com/andreasgal/) and [David Flanagan](https://github.com/davidflanagan) as part of the [dom.js](https://github.com/andreasgal/dom.js) project. Please refer to the included LICENSE file for the original copyright notice and disclaimer.\n\n[1]: https://travis-ci.org/fgnass/domino.png\n[2]: https://travis-ci.org/fgnass/domino\n[3]: https://david-dm.org/fgnass/domino.png\n[4]: https://david-dm.org/fgnass/domino\n[5]: https://david-dm.org/fgnass/domino/dev-status.png\n[6]: https://david-dm.org/fgnass/domino#info=devDependencies\n", + "readmeFilename": "README.md", + "bugs": { + "url": "https://github.com/fgnass/domino/issues" + }, + "_id": "domino@1.0.15", + "_from": "domino@x.x.x" +} diff --git a/QuickTemplate/node_modules/domino/test/domino.js b/QuickTemplate/node_modules/domino/test/domino.js new file mode 100644 index 0000000..b83360d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/domino.js @@ -0,0 +1,307 @@ +var domino = require('../lib'); +var fs = require('fs'); +var html = fs.readFileSync(__dirname + '/fixture/doc.html', 'utf8'); + +exports = exports.domino = {}; + +exports.matches = function() { + // see https://developer.mozilla.org/en-US/docs/Web/API/Element.matches + var d = domino.createWindow(html).document; + var h1 = d.getElementById('lorem'); + h1.matches('h1').should.equal(true); + h1.matches('body > h1').should.equal(true); // not rooted + h1.matches('h1 > p').should.equal(false); + h1.matches('h1,h2').should.equal(true); + h1.matches('h2,h1').should.equal(true); +}; + +exports.querySelectorAll = function() { + var window = domino.createWindow(html); + var d = window.document; + var nodeList = d.querySelectorAll('p'); + nodeList.should.have.property('item'); + nodeList.should.have.length(2); + nodeList = d.querySelectorAll('p:not(.foo)'); + nodeList.should.have.length(1); + nodeList = d.querySelectorAll('tt.foo'); + nodeList.should.have.length(2); + nodeList = d.querySelectorAll('tt:not(.bar)'); + nodeList.should.have.length(1); +} + +exports.qsaOrder = function() { + var window = domino.createDocument('

    '); + window.querySelectorAll('h2, h3').map(function(el) { + return el.tagName; + }) + .should.eql(['H2', 'H3', 'H3', 'H2', 'H3']); +} + +exports.orphanQSA = function() { + var document = domino.createDocument('

    foo

    '); + var p = document.createElement('p'); + p.querySelectorAll('p').should.have.length(0); + p.querySelectorAll('p').should.have.length(0); +}; + +exports.gh20 = function() { + var window = domino.createWindow(''); + var frag = window.document.createDocumentFragment(); + frag.querySelectorAll('p').should.have.length(0); + + frag.appendChild(window.document.createElement('p')); + frag.querySelectorAll('p').should.have.length(1); + + frag.appendChild(window.document.createElement('p')); + frag.querySelectorAll('p').should.have.length(2); +}; + +exports.gh22 = function() { + var d=domino.createDocument("

    Hello world

    Hi

    "); + d.querySelectorAll('div').should.have.length(1); + d.body.querySelectorAll('div').should.have.length(1); + d.body.querySelectorAll('h1').should.have.length(1); + d.body.querySelectorAll('p').should.have.length(1); + + var w=domino.createWindow("

    Hello world

    Hi

    "); + d=w.document; + d.querySelectorAll('div').should.have.length(1); + d.body.querySelectorAll('div').should.have.length(1); + d.body.querySelectorAll('h1').should.have.length(1); + d.body.querySelectorAll('p').should.have.length(1); +}; + +exports.gh31 = function() { + var document, heading1, heading2; + + document = domino.createDocument("

    First

    Second

    "); + document.querySelectorAll('h1').should.have.length(2); + heading1 = document.body.querySelector('h1'); + heading1.getElementsByTagName('h1').should.have.length(0); + heading1.querySelectorAll('h1').should.have.length(0); + heading2 = document.body.querySelector('h1 + h1'); + heading2.querySelectorAll('h1').should.have.length(0); +}; + +exports.gh38 = function() { + var d = domino.createDocument('
    Header cellData cell
    '); + var r = d.querySelector('tr'); + r.should.have.property('cells'); + r.cells.should.have.length(2); +}; + +exports.evilHandler = function() { + var window = domino.createDocument('
    '); +}; + +exports.title = function() { + var d = domino.createDocument(html); + if (d.head) { d.documentElement.removeChild(d.head); } + d.should.have.property('head', null); + d.should.have.property('title', ''); + d.querySelectorAll('head > title').should.have.length(0); + + // per the spec, if there is no , then setting Document.title should + // be a no-op. + d.title = "Lorem!"; + d.title.should.equal(''); + d.querySelectorAll('head > title').should.have.length(0); + + // but if there is a , then setting Document.title should create the + // element if necessary. + d.documentElement.insertBefore(d.createElement('head'), d.body); + d.head.should.not.equal(null); + d.title.should.equal(''); + d.title = "Lorem!"; + d.title.should.equal("Lorem!"); + d.querySelectorAll('head > title').should.have.length(1); + + // verify that setting <title> works if there's already a title + d.title = "ipsum"; + d.title.should.equal("ipsum"); + d.querySelectorAll('head > title').should.have.length(1); // still only 1! +}; + +exports.children = function() { + var d = domino.createDocument(html); + var c = d.body.children; + c.should.have.length(4); + c.should.have.property(0); + var a = Array.prototype.slice.call(c); + a.should.be.an.instanceof(Array); + a.should.have.length(4); + d.body.appendChild(d.createElement('p')); + a = Array.prototype.slice.call(c); + a.should.have.length(5); +} + + +exports.attributes1 = function() { + var d = domino.createDocument(); + var el = d.createElement('div'); + el.setAttribute('foo', 'foo'); + el.setAttribute('bar', 'bar'); + el.attributes.should.have.length(2); + el.attributes.item(0).value.should.equal('foo'); + el.removeAttribute('foo'); + el.attributes.should.have.length(1); + el.attributes.item(0).name.should.equal('bar'); + el.setAttribute('baz', 'baz'); + el.attributes.should.have.length(2); + el.attributes.item(1).value.should.equal('baz'); +} + +exports.classList = function() { + var d = domino.createDocument(); + var el = d.body; + el.className = 'foo bar boo'; + + var cl = el.classList; + cl.should.have.length(3); + cl[0].should.equal('foo'); + cl.contains('bar').should.be.ok; + cl.contains('baz').should.not.be.ok; + cl.add('baz'); + cl.contains('baz').should.be.ok; + cl.should.have.length(4); + el.className.should.match(/baz/); + cl.remove('foo'); + cl.should.have.length(3); + el.className.should.not.match(/foo/); + cl[0].should.not.equal('foo'); +} + +exports.attributes2 = function() { + var d = domino.createDocument(); + var div = d.createElement('div'); + div.setAttribute('onclick', 't'); + div.attributes.should.have.property('onclick'); + div.attributes.onclick.should.have.property('value', 't'); + div.removeAttribute('onclick'); + div.attributes.should.not.have.property('onclick'); +} + +exports.jquery = function() { + var window = domino.createWindow(html); + var f = __dirname + '/fixture/jquery-1.9.1.js'; + window._run(fs.readFileSync(f, 'utf8'), f); + window.$.should.be.ok; + window.$('.foo').should.have.length(3); +} + +exports.treeWalker = function() { + var window = domino.createWindow(html); + var d = window.document; + var root = d.getElementById('tw'); + var tw = d.createTreeWalker(root, window.NodeFilter.SHOW_TEXT); + tw.root.should.equal(root); + tw.currentNode.should.equal(root); + tw.whatToShow.should.equal(0x4); + tw.filter.constructor.should.equal(window.NodeFilter.constructor); + + var actual = []; + while (tw.nextNode() !== null) { + actual.push(tw.currentNode); + } + + actual.should.eql([ + root.firstChild.firstChild, + root.firstChild.lastChild.firstChild, + root.lastChild.firstChild, + root.lastChild.lastChild.firstChild + ]); +} + +exports.innerHTML = function() { + var d = domino.createDocument(); + ['pre','textarea','listing'].forEach(function(elementName) { + var div = d.createElement('div') + var el = d.createElement(elementName); + el.innerHTML = "a"; + div.appendChild(el); + // no extraneous newline after element tag in this case + div.innerHTML.should.equal('<'+elementName+'>a</'+elementName+'>'); + el.innerHTML = "\nb"; + // first newline after element is swallowed. needs two. + div.innerHTML.should.equal('<'+elementName+'>\n\nb</'+elementName+'>'); + }); +} + +exports.outerHTML = function() { + var tests = [ + '<body><pre>\n\na\n</pre></body>', + '<body bgcolor="white"><h1 style="color: red">\nOne\n2 & 3</h1></body>', + '<body data-test="<>&"\'"></body>' + ]; + tests.forEach(function(html) { + var d = domino.createDocument(html); + d.body.outerHTML.should.equal(html); + }); +} + +exports.largeAttribute = function() { + var size = 400000; + // work around a performance regression in node 0.4.x - 0.6.x + if (/^v0\.[0-6]\./.test(process.version)) { size = 50000; } + var html = '<body><span data-large="'; + for (var i=0; i<size; i++) { + html += '&'; + } + html += '"></span></body>'; + // this should not crash with a stack overflow! + domino.createDocument(html); +}; + +exports.createTextNodeWithNonString = function() { + var document = domino.createDocument('<html></html>'); + var tests = [ + [false, 'false'], + [NaN, 'NaN'], + [123, '123'], + [{}, '[object Object]'], + [[], ''], + [null, 'null'], + [undefined, 'undefined'], + ]; + for(var i=0; i<tests.length; i++) { + var element = document.createElement('div'); + var textNode = document.createTextNode(tests[i][0]); + element.appendChild(textNode); + element.innerHTML.should.equal(tests[i][1]); + } +}; + +exports.adoption = function() { + // See https://github.com/fgnass/domino/pull/36 + var html = "<b>X<b>Y</b>Z</b>"; + var doc = domino.createDocument(html); + doc.body.innerHTML.should.equal(html); +}; + +exports.attributeSelector = function() { + var html = '<h1>foo</h1><h2 id="x" title="y" lang="en" dir="ltr" ' + + 'accessKey="z" hidden tabIndex="2">bar</h2>'; + var doc = domino.createDocument(html); + var h1 = doc.querySelector('h1'); + h1.matches('*[id]').should.equal(false); + h1.matches('*[title]').should.equal(false); + h1.matches('*[lang]').should.equal(false); + h1.matches('*[dir]').should.equal(false); + h1.matches('*[accessKey]').should.equal(false); + h1.matches('*[hidden]').should.equal(false); + h1.matches('*[tabIndex]').should.equal(false); + + var h2 = doc.querySelector('h2'); + h2.matches('*[id]').should.equal(true); + h2.matches('*[title]').should.equal(true); + h2.matches('*[lang]').should.equal(true); + h2.matches('*[dir]').should.equal(true); + h2.matches('*[accessKey]').should.equal(true); + h2.matches('*[hidden]').should.equal(true); + h2.matches('*[tabIndex]').should.equal(true); + + h1.matches('*[matches]').should.equal(false); + h1.matches('*[querySelector]').should.equal(false); + + h1.matches('*[isHTML]').should.equal(false); +}; diff --git a/QuickTemplate/node_modules/domino/test/fixture/doc.html b/QuickTemplate/node_modules/domino/test/fixture/doc.html new file mode 100644 index 0000000..1174528 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/fixture/doc.html @@ -0,0 +1,13 @@ +<!DOCTYPE html> +<html> +<body> + <h1 id="lorem">Lore Ipsum</h1> + <p> + Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam quis risus eget urna mollis ornare vel eu leo. Donec <a href="https://github.com">git</a> ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue. + </p> + <p class="foo"> + Cras mattis <tt class="foo">consectetur</tt> purus sit amet fermentum. Donec ullamcorper nulla non metus auctor fringilla. Etiam porta sem malesuada magna mollis euismod. Duis mollis, est non commodo luctus, nisi erat porttitor <tt class="foo bar baz">ligula</tt>, eget lacinia odio sem nec elit. Donec ullamcorper nulla non metus auctor fringilla. Donec ullamcorper nulla non metus auctor fringilla. + </p> + <div id="tw"><div id="hello">Hello <em id="world" title="World: The Title">World</em></div><div id="foo" title="Foo: The Title">Foo, <strong id="bar">bar</strong></div></div> +</body> +</html> diff --git a/QuickTemplate/node_modules/domino/test/fixture/jquery-1.9.1.js b/QuickTemplate/node_modules/domino/test/fixture/jquery-1.9.1.js new file mode 100644 index 0000000..6362d0f --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/fixture/jquery-1.9.1.js @@ -0,0 +1,9597 @@ +/*! + * jQuery JavaScript Library v1.9.1 + * http://jquery.com/ + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * + * Copyright 2005, 2012 jQuery Foundation, Inc. and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2013-2-4 + */ +(function( window, undefined ) { + +// Can't do this because several apps including ASP.NET trace +// the stack via arguments.caller.callee and Firefox dies if +// you try to trace through "use strict" call chains. (#13335) +// Support: Firefox 18+ +//"use strict"; +var + // The deferred used on DOM ready + readyList, + + // A central reference to the root jQuery(document) + rootjQuery, + + // Support: IE<9 + // For `typeof node.method` instead of `node.method !== undefined` + core_strundefined = typeof undefined, + + // Use the correct document accordingly with window argument (sandbox) + document = window.document, + location = window.location, + + // Map over jQuery in case of overwrite + _jQuery = window.jQuery, + + // Map over the $ in case of overwrite + _$ = window.$, + + // [[Class]] -> type pairs + class2type = {}, + + // List of deleted data cache ids, so we can reuse them + core_deletedIds = [], + + core_version = "1.9.1", + + // Save a reference to some core methods + core_concat = core_deletedIds.concat, + core_push = core_deletedIds.push, + core_slice = core_deletedIds.slice, + core_indexOf = core_deletedIds.indexOf, + core_toString = class2type.toString, + core_hasOwn = class2type.hasOwnProperty, + core_trim = core_version.trim, + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + // The jQuery object is actually just the init constructor 'enhanced' + return new jQuery.fn.init( selector, context, rootjQuery ); + }, + + // Used for matching numbers + core_pnum = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, + + // Used for splitting on whitespace + core_rnotwhite = /\S+/g, + + // Make sure we trim BOM and NBSP (here's looking at you, Safari 5.0 and IE) + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, + + // A simple way to check for HTML strings + // Prioritize #id over <tag> to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + rquickExpr = /^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/, + + // Match a standalone tag + rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, + + // JSON RegExp + rvalidchars = /^[\],:{}\s]*$/, + rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g, + rvalidescape = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g, + rvalidtokens = /"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g, + + // Matches dashed string for camelizing + rmsPrefix = /^-ms-/, + rdashAlpha = /-([\da-z])/gi, + + // Used by jQuery.camelCase as callback to replace() + fcamelCase = function( all, letter ) { + return letter.toUpperCase(); + }, + + // The ready event handler + completed = function( event ) { + + // readyState === "complete" is good enough for us to call the dom ready in oldIE + if ( document.addEventListener || event.type === "load" || document.readyState === "complete" ) { + detach(); + jQuery.ready(); + } + }, + // Clean-up method for dom ready events + detach = function() { + if ( document.addEventListener ) { + document.removeEventListener( "DOMContentLoaded", completed, false ); + window.removeEventListener( "load", completed, false ); + + } else { + document.detachEvent( "onreadystatechange", completed ); + window.detachEvent( "onload", completed ); + } + }; + +jQuery.fn = jQuery.prototype = { + // The current version of jQuery being used + jquery: core_version, + + constructor: jQuery, + init: function( selector, context, rootjQuery ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) { + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && (match[1] || !context) ) { + + // HANDLE: $(html) -> $(array) + if ( match[1] ) { + context = context instanceof jQuery ? context[0] : context; + + // scripts is true for back-compat + jQuery.merge( this, jQuery.parseHTML( + match[1], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + // Properties of context are called as methods if possible + if ( jQuery.isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[2] ); + + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE and Opera return items + // by name instead of ID + if ( elem.id !== match[2] ) { + return rootjQuery.find( selector ); + } + + // Otherwise, we inject the element directly into the jQuery object + this.length = 1; + this[0] = elem; + } + + this.context = document; + this.selector = selector; + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || rootjQuery ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this.context = this[0] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return rootjQuery.ready( selector ); + } + + if ( selector.selector !== undefined ) { + this.selector = selector.selector; + this.context = selector.context; + } + + return jQuery.makeArray( selector, this ); + }, + + // Start with an empty selector + selector: "", + + // The default length of a jQuery object is 0 + length: 0, + + // The number of elements contained in the matched element set + size: function() { + return this.length; + }, + + toArray: function() { + return core_slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + return num == null ? + + // Return a 'clean' array + this.toArray() : + + // Return just the object + ( num < 0 ? this[ this.length + num ] : this[ num ] ); + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + ret.context = this.context; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + // (You can seed the arguments with an array of args, but this is + // only used internally.) + each: function( callback, args ) { + return jQuery.each( this, callback, args ); + }, + + ready: function( fn ) { + // Add the callback + jQuery.ready.promise().done( fn ); + + return this; + }, + + slice: function() { + return this.pushStack( core_slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map(this, function( elem, i ) { + return callback.call( elem, i, elem ); + })); + }, + + end: function() { + return this.prevObject || this.constructor(null); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: core_push, + sort: [].sort, + splice: [].splice +}; + +// Give the init function the jQuery prototype for later instantiation +jQuery.fn.init.prototype = jQuery.fn; + +jQuery.extend = jQuery.fn.extend = function() { + var src, copyIsArray, copy, name, options, clone, + target = arguments[0] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + target = arguments[1] || {}; + // skip the boolean and the target + i = 2; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction(target) ) { + target = {}; + } + + // extend jQuery itself if only one argument is passed + if ( length === i ) { + target = this; + --i; + } + + for ( ; i < length; i++ ) { + // Only deal with non-null/undefined values + if ( (options = arguments[ i ]) != null ) { + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { + if ( copyIsArray ) { + copyIsArray = false; + clone = src && jQuery.isArray(src) ? src : []; + + } else { + clone = src && jQuery.isPlainObject(src) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend({ + noConflict: function( deep ) { + if ( window.$ === jQuery ) { + window.$ = _$; + } + + if ( deep && window.jQuery === jQuery ) { + window.jQuery = _jQuery; + } + + return jQuery; + }, + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Hold (or release) the ready event + holdReady: function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } + }, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). + if ( !document.body ) { + return setTimeout( jQuery.ready ); + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + + // Trigger any bound ready events + if ( jQuery.fn.trigger ) { + jQuery( document ).trigger("ready").off("ready"); + } + }, + + // See test/unit/core.js for details concerning isFunction. + // Since version 1.3, DOM methods and functions like alert + // aren't supported. They return false on IE (#2968). + isFunction: function( obj ) { + return jQuery.type(obj) === "function"; + }, + + isArray: Array.isArray || function( obj ) { + return jQuery.type(obj) === "array"; + }, + + isWindow: function( obj ) { + return obj != null && obj == obj.window; + }, + + isNumeric: function( obj ) { + return !isNaN( parseFloat(obj) ) && isFinite( obj ); + }, + + type: function( obj ) { + if ( obj == null ) { + return String( obj ); + } + return typeof obj === "object" || typeof obj === "function" ? + class2type[ core_toString.call(obj) ] || "object" : + typeof obj; + }, + + isPlainObject: function( obj ) { + // Must be an Object. + // Because of IE, we also have to check the presence of the constructor property. + // Make sure that DOM nodes and window objects don't pass through, as well + if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { + return false; + } + + try { + // Not own constructor property must be Object + if ( obj.constructor && + !core_hasOwn.call(obj, "constructor") && + !core_hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { + return false; + } + } catch ( e ) { + // IE8,9 Will throw exceptions on certain host objects #9897 + return false; + } + + // Own properties are enumerated firstly, so to speed up, + // if last one is own, then all properties are own. + + var key; + for ( key in obj ) {} + + return key === undefined || core_hasOwn.call( obj, key ); + }, + + isEmptyObject: function( obj ) { + var name; + for ( name in obj ) { + return false; + } + return true; + }, + + error: function( msg ) { + throw new Error( msg ); + }, + + // data: string of html + // context (optional): If specified, the fragment will be created in this context, defaults to document + // keepScripts (optional): If true, will include scripts passed in the html string + parseHTML: function( data, context, keepScripts ) { + if ( !data || typeof data !== "string" ) { + return null; + } + if ( typeof context === "boolean" ) { + keepScripts = context; + context = false; + } + context = context || document; + + var parsed = rsingleTag.exec( data ), + scripts = !keepScripts && []; + + // Single tag + if ( parsed ) { + return [ context.createElement( parsed[1] ) ]; + } + + parsed = jQuery.buildFragment( [ data ], context, scripts ); + if ( scripts ) { + jQuery( scripts ).remove(); + } + return jQuery.merge( [], parsed.childNodes ); + }, + + parseJSON: function( data ) { + // Attempt to parse using the native JSON parser first + if ( window.JSON && window.JSON.parse ) { + return window.JSON.parse( data ); + } + + if ( data === null ) { + return data; + } + + if ( typeof data === "string" ) { + + // Make sure leading/trailing whitespace is removed (IE can't handle it) + data = jQuery.trim( data ); + + if ( data ) { + // Make sure the incoming data is actual JSON + // Logic borrowed from http://json.org/json2.js + if ( rvalidchars.test( data.replace( rvalidescape, "@" ) + .replace( rvalidtokens, "]" ) + .replace( rvalidbraces, "")) ) { + + return ( new Function( "return " + data ) )(); + } + } + } + + jQuery.error( "Invalid JSON: " + data ); + }, + + // Cross-browser xml parsing + parseXML: function( data ) { + var xml, tmp; + if ( !data || typeof data !== "string" ) { + return null; + } + try { + if ( window.DOMParser ) { // Standard + tmp = new DOMParser(); + xml = tmp.parseFromString( data , "text/xml" ); + } else { // IE + xml = new ActiveXObject( "Microsoft.XMLDOM" ); + xml.async = "false"; + xml.loadXML( data ); + } + } catch( e ) { + xml = undefined; + } + if ( !xml || !xml.documentElement || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; + }, + + noop: function() {}, + + // Evaluates a script in a global context + // Workarounds based on findings by Jim Driscoll + // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context + globalEval: function( data ) { + if ( data && jQuery.trim( data ) ) { + // We use execScript on Internet Explorer + // We use an anonymous function so that context is window + // rather than jQuery in Firefox + ( window.execScript || function( data ) { + window[ "eval" ].call( window, data ); + } )( data ); + } + }, + + // Convert dashed to camelCase; used by the css and data modules + // Microsoft forgot to hump their vendor prefix (#9572) + camelCase: function( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + }, + + // args is for internal usage only + each: function( obj, callback, args ) { + var value, + i = 0, + length = obj.length, + isArray = isArraylike( obj ); + + if ( args ) { + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback.apply( obj[ i ], args ); + + if ( value === false ) { + break; + } + } + } else { + for ( i in obj ) { + value = callback.apply( obj[ i ], args ); + + if ( value === false ) { + break; + } + } + } + + // A special, fast, case for the most common use of each + } else { + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback.call( obj[ i ], i, obj[ i ] ); + + if ( value === false ) { + break; + } + } + } else { + for ( i in obj ) { + value = callback.call( obj[ i ], i, obj[ i ] ); + + if ( value === false ) { + break; + } + } + } + } + + return obj; + }, + + // Use native String.trim function wherever possible + trim: core_trim && !core_trim.call("\uFEFF\xA0") ? + function( text ) { + return text == null ? + "" : + core_trim.call( text ); + } : + + // Otherwise use our own trimming functionality + function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArraylike( Object(arr) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + core_push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + var len; + + if ( arr ) { + if ( core_indexOf ) { + return core_indexOf.call( arr, elem, i ); + } + + len = arr.length; + i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0; + + for ( ; i < len; i++ ) { + // Skip accessing in sparse arrays + if ( i in arr && arr[ i ] === elem ) { + return i; + } + } + } + + return -1; + }, + + merge: function( first, second ) { + var l = second.length, + i = first.length, + j = 0; + + if ( typeof l === "number" ) { + for ( ; j < l; j++ ) { + first[ i++ ] = second[ j ]; + } + } else { + while ( second[j] !== undefined ) { + first[ i++ ] = second[ j++ ]; + } + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, inv ) { + var retVal, + ret = [], + i = 0, + length = elems.length; + inv = !!inv; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + retVal = !!callback( elems[ i ], i ); + if ( inv !== retVal ) { + ret.push( elems[ i ] ); + } + } + + return ret; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var value, + i = 0, + length = elems.length, + isArray = isArraylike( elems ), + ret = []; + + // Go through the array, translating each of the items to their + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret[ ret.length ] = value; + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret[ ret.length ] = value; + } + } + } + + // Flatten any nested arrays + return core_concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // Bind a function to a context, optionally partially applying any + // arguments. + proxy: function( fn, context ) { + var args, proxy, tmp; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !jQuery.isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = core_slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( core_slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; + }, + + // Multifunctional method to get and set values of a collection + // The value/s can optionally be executed if it's a function + access: function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + length = elems.length, + bulk = key == null; + + // Sets many values + if ( jQuery.type( key ) === "object" ) { + chainable = true; + for ( i in key ) { + jQuery.access( elems, fn, i, key[i], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !jQuery.isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < length; i++ ) { + fn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) ); + } + } + } + + return chainable ? + elems : + + // Gets + bulk ? + fn.call( elems ) : + length ? fn( elems[0], key ) : emptyGet; + }, + + now: function() { + return ( new Date() ).getTime(); + } +}); + +jQuery.ready.promise = function( obj ) { + if ( !readyList ) { + + readyList = jQuery.Deferred(); + + // Catch cases where $(document).ready() is called after the browser event has already occurred. + // we once tried to use readyState "interactive" here, but it caused issues like the one + // discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15 + if ( document.readyState === "complete" ) { + // Handle it asynchronously to allow scripts the opportunity to delay ready + setTimeout( jQuery.ready ); + + // Standards-based browsers support DOMContentLoaded + } else if ( document.addEventListener ) { + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed, false ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed, false ); + + // If IE event model is used + } else { + // Ensure firing before onload, maybe late but safe also for iframes + document.attachEvent( "onreadystatechange", completed ); + + // A fallback to window.onload, that will always work + window.attachEvent( "onload", completed ); + + // If IE and not a frame + // continually check to see if the document is ready + var top = false; + + try { + top = window.frameElement == null && document.documentElement; + } catch(e) {} + + if ( top && top.doScroll ) { + (function doScrollCheck() { + if ( !jQuery.isReady ) { + + try { + // Use the trick by Diego Perini + // http://javascript.nwbox.com/IEContentLoaded/ + top.doScroll("left"); + } catch(e) { + return setTimeout( doScrollCheck, 50 ); + } + + // detach all dom ready events + detach(); + + // and execute any waiting functions + jQuery.ready(); + } + })(); + } + } + } + return readyList.promise( obj ); +}; + +// Populate the class2type map +jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +}); + +function isArraylike( obj ) { + var length = obj.length, + type = jQuery.type( obj ); + + if ( jQuery.isWindow( obj ) ) { + return false; + } + + if ( obj.nodeType === 1 && length ) { + return true; + } + + return type === "array" || type !== "function" && + ( length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj ); +} + +// All jQuery objects should point back to these +rootjQuery = jQuery(document); +// String to Object options format cache +var optionsCache = {}; + +// Convert String-formatted options into Object-formatted ones and store in cache +function createOptions( options ) { + var object = optionsCache[ options ] = {}; + jQuery.each( options.match( core_rnotwhite ) || [], function( _, flag ) { + object[ flag ] = true; + }); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + ( optionsCache[ options ] || createOptions( options ) ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + // Last fire value (for non-forgettable lists) + memory, + // Flag to know if list was already fired + fired, + // End of the loop when firing + firingLength, + // Index of currently firing callback (modified by remove if needed) + firingIndex, + // First callback to fire (used internally by add and fireWith) + firingStart, + // Actual callback list + list = [], + // Stack of fire calls for repeatable lists + stack = !options.once && [], + // Fire callbacks + fire = function( data ) { + memory = options.memory && data; + fired = true; + firingIndex = firingStart || 0; + firingStart = 0; + firingLength = list.length; + firing = true; + for ( ; list && firingIndex < firingLength; firingIndex++ ) { + if ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) { + memory = false; // To prevent further calls using add + break; + } + } + firing = false; + if ( list ) { + if ( stack ) { + if ( stack.length ) { + fire( stack.shift() ); + } + } else if ( memory ) { + list = []; + } else { + self.disable(); + } + } + }, + // Actual Callbacks object + self = { + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + // First, we save the current length + var start = list.length; + (function add( args ) { + jQuery.each( args, function( _, arg ) { + var type = jQuery.type( arg ); + if ( type === "function" ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && type !== "string" ) { + // Inspect recursively + add( arg ); + } + }); + })( arguments ); + // Do we need to add the callbacks to the + // current firing batch? + if ( firing ) { + firingLength = list.length; + // With memory, if we're not firing then + // we should call right away + } else if ( memory ) { + firingStart = start; + fire( memory ); + } + } + return this; + }, + // Remove a callback from the list + remove: function() { + if ( list ) { + jQuery.each( arguments, function( _, arg ) { + var index; + while( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + // Handle firing indexes + if ( firing ) { + if ( index <= firingLength ) { + firingLength--; + } + if ( index <= firingIndex ) { + firingIndex--; + } + } + } + }); + } + return this; + }, + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? jQuery.inArray( fn, list ) > -1 : !!( list && list.length ); + }, + // Remove all callbacks from the list + empty: function() { + list = []; + return this; + }, + // Have the list do nothing anymore + disable: function() { + list = stack = memory = undefined; + return this; + }, + // Is it disabled? + disabled: function() { + return !list; + }, + // Lock the list in its current state + lock: function() { + stack = undefined; + if ( !memory ) { + self.disable(); + } + return this; + }, + // Is it locked? + locked: function() { + return !stack; + }, + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + if ( list && ( !fired || stack ) ) { + if ( firing ) { + stack.push( args ); + } else { + fire( args ); + } + } + return this; + }, + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; +jQuery.extend({ + + Deferred: function( func ) { + var tuples = [ + // action, add listener, listener list, final state + [ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ], + [ "reject", "fail", jQuery.Callbacks("once memory"), "rejected" ], + [ "notify", "progress", jQuery.Callbacks("memory") ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + then: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + return jQuery.Deferred(function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + var action = tuple[ 0 ], + fn = jQuery.isFunction( fns[ i ] ) && fns[ i ]; + // deferred[ done | fail | progress ] for forwarding actions to newDefer + deferred[ tuple[1] ](function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && jQuery.isFunction( returned.promise ) ) { + returned.promise() + .done( newDefer.resolve ) + .fail( newDefer.reject ) + .progress( newDefer.notify ); + } else { + newDefer[ action + "With" ]( this === promise ? newDefer.promise() : this, fn ? [ returned ] : arguments ); + } + }); + }); + fns = null; + }).promise(); + }, + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Keep pipe for back-compat + promise.pipe = promise.then; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 3 ]; + + // promise[ done | fail | progress ] = list.add + promise[ tuple[1] ] = list.add; + + // Handle state + if ( stateString ) { + list.add(function() { + // state = [ resolved | rejected ] + state = stateString; + + // [ reject_list | resolve_list ].disable; progress_list.lock + }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock ); + } + + // deferred[ resolve | reject | notify ] + deferred[ tuple[0] ] = function() { + deferred[ tuple[0] + "With" ]( this === deferred ? promise : this, arguments ); + return this; + }; + deferred[ tuple[0] + "With" ] = list.fireWith; + }); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( subordinate /* , ..., subordinateN */ ) { + var i = 0, + resolveValues = core_slice.call( arguments ), + length = resolveValues.length, + + // the count of uncompleted subordinates + remaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0, + + // the master Deferred. If resolveValues consist of only a single Deferred, just use that. + deferred = remaining === 1 ? subordinate : jQuery.Deferred(), + + // Update function for both resolve and progress values + updateFunc = function( i, contexts, values ) { + return function( value ) { + contexts[ i ] = this; + values[ i ] = arguments.length > 1 ? core_slice.call( arguments ) : value; + if( values === progressValues ) { + deferred.notifyWith( contexts, values ); + } else if ( !( --remaining ) ) { + deferred.resolveWith( contexts, values ); + } + }; + }, + + progressValues, progressContexts, resolveContexts; + + // add listeners to Deferred subordinates; treat others as resolved + if ( length > 1 ) { + progressValues = new Array( length ); + progressContexts = new Array( length ); + resolveContexts = new Array( length ); + for ( ; i < length; i++ ) { + if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) { + resolveValues[ i ].promise() + .done( updateFunc( i, resolveContexts, resolveValues ) ) + .fail( deferred.reject ) + .progress( updateFunc( i, progressContexts, progressValues ) ); + } else { + --remaining; + } + } + } + + // if we're not waiting on anything, resolve the master + if ( !remaining ) { + deferred.resolveWith( resolveContexts, resolveValues ); + } + + return deferred.promise(); + } +}); +jQuery.support = (function() { + + var support, all, a, + input, select, fragment, + opt, eventName, isSupported, i, + div = document.createElement("div"); + + // Setup + div.setAttribute( "className", "t" ); + div.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>"; + + // Support tests won't run in some limited or non-browser environments + all = div.getElementsByTagName("*"); + a = div.getElementsByTagName("a")[ 0 ]; + if ( !all || !a || !all.length ) { + return {}; + } + + // First batch of tests + select = document.createElement("select"); + opt = select.appendChild( document.createElement("option") ); + input = div.getElementsByTagName("input")[ 0 ]; + + a.style.cssText = "top:1px;float:left;opacity:.5"; + support = { + // Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7) + getSetAttribute: div.className !== "t", + + // IE strips leading whitespace when .innerHTML is used + leadingWhitespace: div.firstChild.nodeType === 3, + + // Make sure that tbody elements aren't automatically inserted + // IE will insert them into empty tables + tbody: !div.getElementsByTagName("tbody").length, + + // Make sure that link elements get serialized correctly by innerHTML + // This requires a wrapper element in IE + htmlSerialize: !!div.getElementsByTagName("link").length, + + // Get the style information from getAttribute + // (IE uses .cssText instead) + style: /top/.test( a.getAttribute("style") ), + + // Make sure that URLs aren't manipulated + // (IE normalizes it by default) + hrefNormalized: a.getAttribute("href") === "/a", + + // Make sure that element opacity exists + // (IE uses filter instead) + // Use a regex to work around a WebKit issue. See #5145 + opacity: /^0.5/.test( a.style.opacity ), + + // Verify style float existence + // (IE uses styleFloat instead of cssFloat) + cssFloat: !!a.style.cssFloat, + + // Check the default checkbox/radio value ("" on WebKit; "on" elsewhere) + checkOn: !!input.value, + + // Make sure that a selected-by-default option has a working selected property. + // (WebKit defaults to false instead of true, IE too, if it's in an optgroup) + optSelected: opt.selected, + + // Tests for enctype support on a form (#6743) + enctype: !!document.createElement("form").enctype, + + // Makes sure cloning an html5 element does not cause problems + // Where outerHTML is undefined, this still works + html5Clone: document.createElement("nav").cloneNode( true ).outerHTML !== "<:nav></:nav>", + + // jQuery.support.boxModel DEPRECATED in 1.8 since we don't support Quirks Mode + boxModel: document.compatMode === "CSS1Compat", + + // Will be defined later + deleteExpando: true, + noCloneEvent: true, + inlineBlockNeedsLayout: false, + shrinkWrapBlocks: false, + reliableMarginRight: true, + boxSizingReliable: true, + pixelPosition: false + }; + + // Make sure checked status is properly cloned + input.checked = true; + support.noCloneChecked = input.cloneNode( true ).checked; + + // Make sure that the options inside disabled selects aren't marked as disabled + // (WebKit marks them as disabled) + select.disabled = true; + support.optDisabled = !opt.disabled; + + // Support: IE<9 + try { + delete div.test; + } catch( e ) { + support.deleteExpando = false; + } + + // Check if we can trust getAttribute("value") + input = document.createElement("input"); + input.setAttribute( "value", "" ); + support.input = input.getAttribute( "value" ) === ""; + + // Check if an input maintains its value after becoming a radio + input.value = "t"; + input.setAttribute( "type", "radio" ); + support.radioValue = input.value === "t"; + + // #11217 - WebKit loses check when the name is after the checked attribute + input.setAttribute( "checked", "t" ); + input.setAttribute( "name", "t" ); + + fragment = document.createDocumentFragment(); + fragment.appendChild( input ); + + // Check if a disconnected checkbox will retain its checked + // value of true after appended to the DOM (IE6/7) + support.appendChecked = input.checked; + + // WebKit doesn't clone checked state correctly in fragments + support.checkClone = fragment.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE<9 + // Opera does not clone events (and typeof div.attachEvent === undefined). + // IE9-10 clones events bound via attachEvent, but they don't trigger with .click() + if ( div.attachEvent ) { + div.attachEvent( "onclick", function() { + support.noCloneEvent = false; + }); + + div.cloneNode( true ).click(); + } + + // Support: IE<9 (lack submit/change bubble), Firefox 17+ (lack focusin event) + // Beware of CSP restrictions (https://developer.mozilla.org/en/Security/CSP), test/csp.php + for ( i in { submit: true, change: true, focusin: true }) { + div.setAttribute( eventName = "on" + i, "t" ); + + support[ i + "Bubbles" ] = eventName in window || div.attributes[ eventName ].expando === false; + } + + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + // Run tests that need a body at doc ready + jQuery(function() { + var container, marginDiv, tds, + divReset = "padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;", + body = document.getElementsByTagName("body")[0]; + + if ( !body ) { + // Return for frameset docs that don't have a body + return; + } + + container = document.createElement("div"); + container.style.cssText = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px"; + + body.appendChild( container ).appendChild( div ); + + // Support: IE8 + // Check if table cells still have offsetWidth/Height when they are set + // to display:none and there are still other visible table cells in a + // table row; if so, offsetWidth/Height are not reliable for use when + // determining if an element has been hidden directly using + // display:none (it is still safe to use offsets if a parent element is + // hidden; don safety goggles and see bug #4512 for more information). + div.innerHTML = "<table><tr><td></td><td>t</td></tr></table>"; + tds = div.getElementsByTagName("td"); + tds[ 0 ].style.cssText = "padding:0;margin:0;border:0;display:none"; + isSupported = ( tds[ 0 ].offsetHeight === 0 ); + + tds[ 0 ].style.display = ""; + tds[ 1 ].style.display = "none"; + + // Support: IE8 + // Check if empty table cells still have offsetWidth/Height + support.reliableHiddenOffsets = isSupported && ( tds[ 0 ].offsetHeight === 0 ); + + // Check box-sizing and margin behavior + div.innerHTML = ""; + div.style.cssText = "box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;"; + support.boxSizing = ( div.offsetWidth === 4 ); + support.doesNotIncludeMarginInBodyOffset = ( body.offsetTop !== 1 ); + + // Use window.getComputedStyle because jsdom on node.js will break without it. + if ( window.getComputedStyle ) { + support.pixelPosition = ( window.getComputedStyle( div, null ) || {} ).top !== "1%"; + support.boxSizingReliable = ( window.getComputedStyle( div, null ) || { width: "4px" } ).width === "4px"; + + // Check if div with explicit width and no margin-right incorrectly + // gets computed margin-right based on width of container. (#3333) + // Fails in WebKit before Feb 2011 nightlies + // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right + marginDiv = div.appendChild( document.createElement("div") ); + marginDiv.style.cssText = div.style.cssText = divReset; + marginDiv.style.marginRight = marginDiv.style.width = "0"; + div.style.width = "1px"; + + support.reliableMarginRight = + !parseFloat( ( window.getComputedStyle( marginDiv, null ) || {} ).marginRight ); + } + + if ( typeof div.style.zoom !== core_strundefined ) { + // Support: IE<8 + // Check if natively block-level elements act like inline-block + // elements when setting their display to 'inline' and giving + // them layout + div.innerHTML = ""; + div.style.cssText = divReset + "width:1px;padding:1px;display:inline;zoom:1"; + support.inlineBlockNeedsLayout = ( div.offsetWidth === 3 ); + + // Support: IE6 + // Check if elements with layout shrink-wrap their children + div.style.display = "block"; + div.innerHTML = "<div></div>"; + div.firstChild.style.width = "5px"; + support.shrinkWrapBlocks = ( div.offsetWidth !== 3 ); + + if ( support.inlineBlockNeedsLayout ) { + // Prevent IE 6 from affecting layout for positioned elements #11048 + // Prevent IE from shrinking the body in IE 7 mode #12869 + // Support: IE<8 + body.style.zoom = 1; + } + } + + body.removeChild( container ); + + // Null elements to avoid leaks in IE + container = div = tds = marginDiv = null; + }); + + // Null elements to avoid leaks in IE + all = select = fragment = opt = a = input = null; + + return support; +})(); + +var rbrace = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/, + rmultiDash = /([A-Z])/g; + +function internalData( elem, name, data, pvt /* Internal Use Only */ ){ + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var thisCache, ret, + internalKey = jQuery.expando, + getByName = typeof name === "string", + + // We have to handle DOM nodes and JS objects differently because IE6-7 + // can't GC object references properly across the DOM-JS boundary + isNode = elem.nodeType, + + // Only DOM nodes need the global jQuery cache; JS object data is + // attached directly to the object so GC can occur automatically + cache = isNode ? jQuery.cache : elem, + + // Only defining an ID for JS objects if its cache already exists allows + // the code to shortcut on the same path as a DOM node with no cache + id = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey; + + // Avoid doing any more work than we need to when trying to get data on an + // object that has no data at all + if ( (!id || !cache[id] || (!pvt && !cache[id].data)) && getByName && data === undefined ) { + return; + } + + if ( !id ) { + // Only DOM nodes need a new unique ID for each element since their data + // ends up in the global cache + if ( isNode ) { + elem[ internalKey ] = id = core_deletedIds.pop() || jQuery.guid++; + } else { + id = internalKey; + } + } + + if ( !cache[ id ] ) { + cache[ id ] = {}; + + // Avoids exposing jQuery metadata on plain JS objects when the object + // is serialized using JSON.stringify + if ( !isNode ) { + cache[ id ].toJSON = jQuery.noop; + } + } + + // An object can be passed to jQuery.data instead of a key/value pair; this gets + // shallow copied over onto the existing cache + if ( typeof name === "object" || typeof name === "function" ) { + if ( pvt ) { + cache[ id ] = jQuery.extend( cache[ id ], name ); + } else { + cache[ id ].data = jQuery.extend( cache[ id ].data, name ); + } + } + + thisCache = cache[ id ]; + + // jQuery data() is stored in a separate object inside the object's internal data + // cache in order to avoid key collisions between internal data and user-defined + // data. + if ( !pvt ) { + if ( !thisCache.data ) { + thisCache.data = {}; + } + + thisCache = thisCache.data; + } + + if ( data !== undefined ) { + thisCache[ jQuery.camelCase( name ) ] = data; + } + + // Check for both converted-to-camel and non-converted data property names + // If a data property was specified + if ( getByName ) { + + // First Try to find as-is property data + ret = thisCache[ name ]; + + // Test for null|undefined property data + if ( ret == null ) { + + // Try to find the camelCased property + ret = thisCache[ jQuery.camelCase( name ) ]; + } + } else { + ret = thisCache; + } + + return ret; +} + +function internalRemoveData( elem, name, pvt ) { + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var i, l, thisCache, + isNode = elem.nodeType, + + // See jQuery.data for more information + cache = isNode ? jQuery.cache : elem, + id = isNode ? elem[ jQuery.expando ] : jQuery.expando; + + // If there is already no cache entry for this object, there is no + // purpose in continuing + if ( !cache[ id ] ) { + return; + } + + if ( name ) { + + thisCache = pvt ? cache[ id ] : cache[ id ].data; + + if ( thisCache ) { + + // Support array or space separated string names for data keys + if ( !jQuery.isArray( name ) ) { + + // try the string as a key before any manipulation + if ( name in thisCache ) { + name = [ name ]; + } else { + + // split the camel cased version by spaces unless a key with the spaces exists + name = jQuery.camelCase( name ); + if ( name in thisCache ) { + name = [ name ]; + } else { + name = name.split(" "); + } + } + } else { + // If "name" is an array of keys... + // When data is initially created, via ("key", "val") signature, + // keys will be converted to camelCase. + // Since there is no way to tell _how_ a key was added, remove + // both plain key and camelCase key. #12786 + // This will only penalize the array argument path. + name = name.concat( jQuery.map( name, jQuery.camelCase ) ); + } + + for ( i = 0, l = name.length; i < l; i++ ) { + delete thisCache[ name[i] ]; + } + + // If there is no data left in the cache, we want to continue + // and let the cache object itself get destroyed + if ( !( pvt ? isEmptyDataObject : jQuery.isEmptyObject )( thisCache ) ) { + return; + } + } + } + + // See jQuery.data for more information + if ( !pvt ) { + delete cache[ id ].data; + + // Don't destroy the parent cache unless the internal data object + // had been the only thing left in it + if ( !isEmptyDataObject( cache[ id ] ) ) { + return; + } + } + + // Destroy the cache + if ( isNode ) { + jQuery.cleanData( [ elem ], true ); + + // Use delete when supported for expandos or `cache` is not a window per isWindow (#10080) + } else if ( jQuery.support.deleteExpando || cache != cache.window ) { + delete cache[ id ]; + + // When all else fails, null + } else { + cache[ id ] = null; + } +} + +jQuery.extend({ + cache: {}, + + // Unique for each copy of jQuery on the page + // Non-digits removed to match rinlinejQuery + expando: "jQuery" + ( core_version + Math.random() ).replace( /\D/g, "" ), + + // The following elements throw uncatchable exceptions if you + // attempt to add expando properties to them. + noData: { + "embed": true, + // Ban all objects except for Flash (which handle expandos) + "object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", + "applet": true + }, + + hasData: function( elem ) { + elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ]; + return !!elem && !isEmptyDataObject( elem ); + }, + + data: function( elem, name, data ) { + return internalData( elem, name, data ); + }, + + removeData: function( elem, name ) { + return internalRemoveData( elem, name ); + }, + + // For internal use only. + _data: function( elem, name, data ) { + return internalData( elem, name, data, true ); + }, + + _removeData: function( elem, name ) { + return internalRemoveData( elem, name, true ); + }, + + // A method for determining if a DOM node can handle the data expando + acceptData: function( elem ) { + // Do not set data on non-element because it will not be cleared (#8335). + if ( elem.nodeType && elem.nodeType !== 1 && elem.nodeType !== 9 ) { + return false; + } + + var noData = elem.nodeName && jQuery.noData[ elem.nodeName.toLowerCase() ]; + + // nodes accept data unless otherwise specified; rejection can be conditional + return !noData || noData !== true && elem.getAttribute("classid") === noData; + } +}); + +jQuery.fn.extend({ + data: function( key, value ) { + var attrs, name, + elem = this[0], + i = 0, + data = null; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = jQuery.data( elem ); + + if ( elem.nodeType === 1 && !jQuery._data( elem, "parsedAttrs" ) ) { + attrs = elem.attributes; + for ( ; i < attrs.length; i++ ) { + name = attrs[i].name; + + if ( !name.indexOf( "data-" ) ) { + name = jQuery.camelCase( name.slice(5) ); + + dataAttr( elem, name, data[ name ] ); + } + } + jQuery._data( elem, "parsedAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each(function() { + jQuery.data( this, key ); + }); + } + + return jQuery.access( this, function( value ) { + + if ( value === undefined ) { + // Try to fetch any internally stored data first + return elem ? dataAttr( elem, key, jQuery.data( elem, key ) ) : null; + } + + this.each(function() { + jQuery.data( this, key, value ); + }); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each(function() { + jQuery.removeData( this, key ); + }); + } +}); + +function dataAttr( elem, key, data ) { + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + + var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase(); + + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = data === "true" ? true : + data === "false" ? false : + data === "null" ? null : + // Only convert to a number if it doesn't change the string + +data + "" === data ? +data : + rbrace.test( data ) ? jQuery.parseJSON( data ) : + data; + } catch( e ) {} + + // Make sure we set the data so it isn't changed later + jQuery.data( elem, key, data ); + + } else { + data = undefined; + } + } + + return data; +} + +// checks a cache object for emptiness +function isEmptyDataObject( obj ) { + var name; + for ( name in obj ) { + + // if the public data object is empty, the private is still empty + if ( name === "data" && jQuery.isEmptyObject( obj[name] ) ) { + continue; + } + if ( name !== "toJSON" ) { + return false; + } + } + + return true; +} +jQuery.extend({ + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = jQuery._data( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || jQuery.isArray(data) ) { + queue = jQuery._data( elem, type, jQuery.makeArray(data) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + hooks.cur = fn; + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // not intended for public consumption - generates a queueHooks object, or returns the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return jQuery._data( elem, key ) || jQuery._data( elem, key, { + empty: jQuery.Callbacks("once memory").add(function() { + jQuery._removeData( elem, type + "queue" ); + jQuery._removeData( elem, key ); + }) + }); + } +}); + +jQuery.fn.extend({ + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[0], type ); + } + + return data === undefined ? + this : + this.each(function() { + var queue = jQuery.queue( this, type, data ); + + // ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[0] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + }); + }, + dequeue: function( type ) { + return this.each(function() { + jQuery.dequeue( this, type ); + }); + }, + // Based off of the plugin by Clint Helfers, with permission. + // http://blindsignals.com/index.php/2009/07/jquery-delay/ + delay: function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = setTimeout( next, time ); + hooks.stop = function() { + clearTimeout( timeout ); + }; + }); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while( i-- ) { + tmp = jQuery._data( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +}); +var nodeHook, boolHook, + rclass = /[\t\r\n]/g, + rreturn = /\r/g, + rfocusable = /^(?:input|select|textarea|button|object)$/i, + rclickable = /^(?:a|area)$/i, + rboolean = /^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i, + ruseDefault = /^(?:checked|selected)$/i, + getSetAttribute = jQuery.support.getSetAttribute, + getSetInput = jQuery.support.input; + +jQuery.fn.extend({ + attr: function( name, value ) { + return jQuery.access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each(function() { + jQuery.removeAttr( this, name ); + }); + }, + + prop: function( name, value ) { + return jQuery.access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + name = jQuery.propFix[ name ] || name; + return this.each(function() { + // try/catch handles cases where IE balks (such as removing a property on window) + try { + this[ name ] = undefined; + delete this[ name ]; + } catch( e ) {} + }); + }, + + addClass: function( value ) { + var classes, elem, cur, clazz, j, + i = 0, + len = this.length, + proceed = typeof value === "string" && value; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( j ) { + jQuery( this ).addClass( value.call( this, j, this.className ) ); + }); + } + + if ( proceed ) { + // The disjunction here is for better compressibility (see removeClass) + classes = ( value || "" ).match( core_rnotwhite ) || []; + + for ( ; i < len; i++ ) { + elem = this[ i ]; + cur = elem.nodeType === 1 && ( elem.className ? + ( " " + elem.className + " " ).replace( rclass, " " ) : + " " + ); + + if ( cur ) { + j = 0; + while ( (clazz = classes[j++]) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + elem.className = jQuery.trim( cur ); + + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, clazz, j, + i = 0, + len = this.length, + proceed = arguments.length === 0 || typeof value === "string" && value; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( j ) { + jQuery( this ).removeClass( value.call( this, j, this.className ) ); + }); + } + if ( proceed ) { + classes = ( value || "" ).match( core_rnotwhite ) || []; + + for ( ; i < len; i++ ) { + elem = this[ i ]; + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( elem.className ? + ( " " + elem.className + " " ).replace( rclass, " " ) : + "" + ); + + if ( cur ) { + j = 0; + while ( (clazz = classes[j++]) ) { + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) >= 0 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + elem.className = value ? jQuery.trim( cur ) : ""; + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isBool = typeof stateVal === "boolean"; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( i ) { + jQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal ); + }); + } + + return this.each(function() { + if ( type === "string" ) { + // toggle individual class names + var className, + i = 0, + self = jQuery( this ), + state = stateVal, + classNames = value.match( core_rnotwhite ) || []; + + while ( (className = classNames[ i++ ]) ) { + // check each className given, space separated list + state = isBool ? state : !self.hasClass( className ); + self[ state ? "addClass" : "removeClass" ]( className ); + } + + // Toggle whole class name + } else if ( type === core_strundefined || type === "boolean" ) { + if ( this.className ) { + // store className if set + jQuery._data( this, "__className__", this.className ); + } + + // If the element has a class name or if we're passed "false", + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || ""; + } + }); + }, + + hasClass: function( selector ) { + var className = " " + selector + " ", + i = 0, + l = this.length; + for ( ; i < l; i++ ) { + if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) >= 0 ) { + return true; + } + } + + return false; + }, + + val: function( value ) { + var ret, hooks, isFunction, + elem = this[0]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) { + return ret; + } + + ret = elem.value; + + return typeof ret === "string" ? + // handle most common string cases + ret.replace(rreturn, "") : + // handle cases where value is null/undef or number + ret == null ? "" : ret; + } + + return; + } + + isFunction = jQuery.isFunction( value ); + + return this.each(function( i ) { + var val, + self = jQuery(this); + + if ( this.nodeType !== 1 ) { + return; + } + + if ( isFunction ) { + val = value.call( this, i, self.val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + } else if ( typeof val === "number" ) { + val += ""; + } else if ( jQuery.isArray( val ) ) { + val = jQuery.map(val, function ( value ) { + return value == null ? "" : value + ""; + }); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + }); + } +}); + +jQuery.extend({ + valHooks: { + option: { + get: function( elem ) { + // attributes.value is undefined in Blackberry 4.7 but + // uses .value. See #6932 + var val = elem.attributes.value; + return !val || val.specified ? elem.value : elem.text; + } + }, + select: { + get: function( elem ) { + var value, option, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one" || index < 0, + values = one ? null : [], + max = one ? index + 1 : options.length, + i = index < 0 ? + max : + one ? index : 0; + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // oldIE doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + // Don't return options that are disabled or in a disabled optgroup + ( jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null ) && + ( !option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var values = jQuery.makeArray( value ); + + jQuery(elem).find("option").each(function() { + this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0; + }); + + if ( !values.length ) { + elem.selectedIndex = -1; + } + return values; + } + } + }, + + attr: function( elem, name, value ) { + var hooks, notxml, ret, + nType = elem.nodeType; + + // don't get/set attributes on text, comment and attribute nodes + if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === core_strundefined ) { + return jQuery.prop( elem, name, value ); + } + + notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); + + // All attributes are lowercase + // Grab necessary hook if one is defined + if ( notxml ) { + name = name.toLowerCase(); + hooks = jQuery.attrHooks[ name ] || ( rboolean.test( name ) ? boolHook : nodeHook ); + } + + if ( value !== undefined ) { + + if ( value === null ) { + jQuery.removeAttr( elem, name ); + + } else if ( hooks && notxml && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) { + return ret; + + } else { + elem.setAttribute( name, value + "" ); + return value; + } + + } else if ( hooks && notxml && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) { + return ret; + + } else { + + // In IE9+, Flash objects don't have .getAttribute (#12945) + // Support: IE9+ + if ( typeof elem.getAttribute !== core_strundefined ) { + ret = elem.getAttribute( name ); + } + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? + undefined : + ret; + } + }, + + removeAttr: function( elem, value ) { + var name, propName, + i = 0, + attrNames = value && value.match( core_rnotwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( (name = attrNames[i++]) ) { + propName = jQuery.propFix[ name ] || name; + + // Boolean attributes get special treatment (#10870) + if ( rboolean.test( name ) ) { + // Set corresponding property to false for boolean attributes + // Also clear defaultChecked/defaultSelected (if appropriate) for IE<8 + if ( !getSetAttribute && ruseDefault.test( name ) ) { + elem[ jQuery.camelCase( "default-" + name ) ] = + elem[ propName ] = false; + } else { + elem[ propName ] = false; + } + + // See #9699 for explanation of this approach (setting first, then removal) + } else { + jQuery.attr( elem, name, "" ); + } + + elem.removeAttribute( getSetAttribute ? name : propName ); + } + } + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !jQuery.support.radioValue && value === "radio" && jQuery.nodeName(elem, "input") ) { + // Setting the type on a radio button after the value resets the value in IE6-9 + // Reset value to default in case type is set after value during creation + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + propFix: { + tabindex: "tabIndex", + readonly: "readOnly", + "for": "htmlFor", + "class": "className", + maxlength: "maxLength", + cellspacing: "cellSpacing", + cellpadding: "cellPadding", + rowspan: "rowSpan", + colspan: "colSpan", + usemap: "useMap", + frameborder: "frameBorder", + contenteditable: "contentEditable" + }, + + prop: function( elem, name, value ) { + var ret, hooks, notxml, + nType = elem.nodeType; + + // don't get/set properties on text, comment and attribute nodes + if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); + + if ( notxml ) { + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) { + return ret; + + } else { + return ( elem[ name ] = value ); + } + + } else { + if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) { + return ret; + + } else { + return elem[ name ]; + } + } + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set + // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + var attributeNode = elem.getAttributeNode("tabindex"); + + return attributeNode && attributeNode.specified ? + parseInt( attributeNode.value, 10 ) : + rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ? + 0 : + undefined; + } + } + } +}); + +// Hook for boolean attributes +boolHook = { + get: function( elem, name ) { + var + // Use .prop to determine if this attribute is understood as boolean + prop = jQuery.prop( elem, name ), + + // Fetch it accordingly + attr = typeof prop === "boolean" && elem.getAttribute( name ), + detail = typeof prop === "boolean" ? + + getSetInput && getSetAttribute ? + attr != null : + // oldIE fabricates an empty string for missing boolean attributes + // and conflates checked/selected into attroperties + ruseDefault.test( name ) ? + elem[ jQuery.camelCase( "default-" + name ) ] : + !!attr : + + // fetch an attribute node for properties not recognized as boolean + elem.getAttributeNode( name ); + + return detail && detail.value !== false ? + name.toLowerCase() : + undefined; + }, + set: function( elem, value, name ) { + if ( value === false ) { + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else if ( getSetInput && getSetAttribute || !ruseDefault.test( name ) ) { + // IE<8 needs the *property* name + elem.setAttribute( !getSetAttribute && jQuery.propFix[ name ] || name, name ); + + // Use defaultChecked and defaultSelected for oldIE + } else { + elem[ jQuery.camelCase( "default-" + name ) ] = elem[ name ] = true; + } + + return name; + } +}; + +// fix oldIE value attroperty +if ( !getSetInput || !getSetAttribute ) { + jQuery.attrHooks.value = { + get: function( elem, name ) { + var ret = elem.getAttributeNode( name ); + return jQuery.nodeName( elem, "input" ) ? + + // Ignore the value *property* by using defaultValue + elem.defaultValue : + + ret && ret.specified ? ret.value : undefined; + }, + set: function( elem, value, name ) { + if ( jQuery.nodeName( elem, "input" ) ) { + // Does not return so that setAttribute is also used + elem.defaultValue = value; + } else { + // Use nodeHook if defined (#1954); otherwise setAttribute is fine + return nodeHook && nodeHook.set( elem, value, name ); + } + } + }; +} + +// IE6/7 do not support getting/setting some attributes with get/setAttribute +if ( !getSetAttribute ) { + + // Use this for any attribute in IE6/7 + // This fixes almost every IE6/7 issue + nodeHook = jQuery.valHooks.button = { + get: function( elem, name ) { + var ret = elem.getAttributeNode( name ); + return ret && ( name === "id" || name === "name" || name === "coords" ? ret.value !== "" : ret.specified ) ? + ret.value : + undefined; + }, + set: function( elem, value, name ) { + // Set the existing or create a new attribute node + var ret = elem.getAttributeNode( name ); + if ( !ret ) { + elem.setAttributeNode( + (ret = elem.ownerDocument.createAttribute( name )) + ); + } + + ret.value = value += ""; + + // Break association with cloned elements by also using setAttribute (#9646) + return name === "value" || value === elem.getAttribute( name ) ? + value : + undefined; + } + }; + + // Set contenteditable to false on removals(#10429) + // Setting to empty string throws an error as an invalid value + jQuery.attrHooks.contenteditable = { + get: nodeHook.get, + set: function( elem, value, name ) { + nodeHook.set( elem, value === "" ? false : value, name ); + } + }; + + // Set width and height to auto instead of 0 on empty string( Bug #8150 ) + // This is for removals + jQuery.each([ "width", "height" ], function( i, name ) { + jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], { + set: function( elem, value ) { + if ( value === "" ) { + elem.setAttribute( name, "auto" ); + return value; + } + } + }); + }); +} + + +// Some attributes require a special call on IE +// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !jQuery.support.hrefNormalized ) { + jQuery.each([ "href", "src", "width", "height" ], function( i, name ) { + jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], { + get: function( elem ) { + var ret = elem.getAttribute( name, 2 ); + return ret == null ? undefined : ret; + } + }); + }); + + // href/src property should get the full normalized URL (#10299/#12915) + jQuery.each([ "href", "src" ], function( i, name ) { + jQuery.propHooks[ name ] = { + get: function( elem ) { + return elem.getAttribute( name, 4 ); + } + }; + }); +} + +if ( !jQuery.support.style ) { + jQuery.attrHooks.style = { + get: function( elem ) { + // Return undefined in the case of empty string + // Note: IE uppercases css property names, but if we were to .toLowerCase() + // .cssText, that would destroy case senstitivity in URL's, like in "background" + return elem.style.cssText || undefined; + }, + set: function( elem, value ) { + return ( elem.style.cssText = value + "" ); + } + }; +} + +// Safari mis-reports the default selected property of an option +// Accessing the parent's selectedIndex property fixes it +if ( !jQuery.support.optSelected ) { + jQuery.propHooks.selected = jQuery.extend( jQuery.propHooks.selected, { + get: function( elem ) { + var parent = elem.parentNode; + + if ( parent ) { + parent.selectedIndex; + + // Make sure that it also works with optgroups, see #5701 + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + return null; + } + }); +} + +// IE6/7 call enctype encoding +if ( !jQuery.support.enctype ) { + jQuery.propFix.enctype = "encoding"; +} + +// Radios and checkboxes getter/setter +if ( !jQuery.support.checkOn ) { + jQuery.each([ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + get: function( elem ) { + // Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified + return elem.getAttribute("value") === null ? "on" : elem.value; + } + }; + }); +} +jQuery.each([ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = jQuery.extend( jQuery.valHooks[ this ], { + set: function( elem, value ) { + if ( jQuery.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0 ); + } + } + }); +}); +var rformElems = /^(?:input|select|textarea)$/i, + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|contextmenu)|click/, + rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)$/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + var tmp, events, t, handleObjIn, + special, eventHandle, handleObj, + handlers, type, namespaces, origType, + elemData = jQuery._data( elem ); + + // Don't attach events to noData or text/comment nodes (but allow plain objects) + if ( !elemData ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !(events = elemData.events) ) { + events = elemData.events = {}; + } + if ( !(eventHandle = elemData.handle) ) { + eventHandle = elemData.handle = function( e ) { + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== core_strundefined && (!e || jQuery.event.triggered !== e.type) ? + jQuery.event.dispatch.apply( eventHandle.elem, arguments ) : + undefined; + }; + // Add elem as a property of the handle fn to prevent a memory leak with IE non-native events + eventHandle.elem = elem; + } + + // Handle multiple events separated by a space + // jQuery(...).bind("mouseover mouseout", fn); + types = ( types || "" ).match( core_rnotwhite ) || [""]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[t] ) || []; + type = origType = tmp[1]; + namespaces = ( tmp[2] || "" ).split( "." ).sort(); + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend({ + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join(".") + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !(handlers = events[ type ]) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener/attachEvent if the special events handler returns false + if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + // Bind the global event handler to the element + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle, false ); + + } else if ( elem.attachEvent ) { + elem.attachEvent( "on" + type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + // Nullify elem to prevent memory leaks in IE + elem = null; + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + var j, handleObj, tmp, + origCount, t, events, + special, handlers, type, + namespaces, origType, + elemData = jQuery.hasData( elem ) && jQuery._data( elem ); + + if ( !elemData || !(events = elemData.events) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( core_rnotwhite ) || [""]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[t] ) || []; + type = origType = tmp[1]; + namespaces = ( tmp[2] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[2] && new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + delete elemData.handle; + + // removeData also checks for emptiness and clears the expando if empty + // so use it instead of delete + jQuery._removeData( elem, "events" ); + } + }, + + trigger: function( event, data, elem, onlyHandlers ) { + var handle, ontype, cur, + bubbleType, special, tmp, i, + eventPath = [ elem || document ], + type = core_hasOwn.call( event, "type" ) ? event.type : event, + namespaces = core_hasOwn.call( event, "namespace" ) ? event.namespace.split(".") : []; + + cur = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf(".") >= 0 ) { + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split("."); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf(":") < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + event.isTrigger = true; + event.namespace = namespaces.join("."); + event.namespace_re = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === (elem.ownerDocument || document) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( (cur = eventPath[i++]) && !event.isPropagationStopped() ) { + + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( jQuery._data( cur, "events" ) || {} )[ event.type ] && jQuery._data( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && jQuery.acceptData( cur ) && handle.apply && handle.apply( cur, data ) === false ) { + event.preventDefault(); + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( (!special._default || special._default.apply( elem.ownerDocument, data ) === false) && + !(type === "click" && jQuery.nodeName( elem, "a" )) && jQuery.acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name name as the event. + // Can't use an .isFunction() check here because IE6/7 fails that test. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && elem[ type ] && !jQuery.isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + try { + elem[ type ](); + } catch ( e ) { + // IE<9 dies on focus/blur to hidden element (#1486,#12518) + // only reproducible on winXP IE8 native, not IE9 in IE8 mode + } + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + dispatch: function( event ) { + + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( event ); + + var i, ret, handleObj, matched, j, + handlerQueue = [], + args = core_slice.call( arguments ), + handlers = ( jQuery._data( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[0] = event; + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( (matched = handlerQueue[ i++ ]) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( (handleObj = matched.handlers[ j++ ]) && !event.isImmediatePropagationStopped() ) { + + // Triggered event must either 1) have no namespace, or + // 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace). + if ( !event.namespace_re || event.namespace_re.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler ) + .apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( (event.result = ret) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var sel, handleObj, matches, i, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + // Black-hole SVG <use> instance trees (#13180) + // Avoid non-left-click bubbling in Firefox (#3861) + if ( delegateCount && cur.nodeType && (!event.button || event.type !== "click") ) { + + for ( ; cur != this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && (cur.disabled !== true || event.type !== "click") ) { + matches = []; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matches[ sel ] === undefined ) { + matches[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) >= 0 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matches[ sel ] ) { + matches.push( handleObj ); + } + } + if ( matches.length ) { + handlerQueue.push({ elem: cur, handlers: matches }); + } + } + } + } + + // Add the remaining (directly-bound) handlers + if ( delegateCount < handlers.length ) { + handlerQueue.push({ elem: this, handlers: handlers.slice( delegateCount ) }); + } + + return handlerQueue; + }, + + fix: function( event ) { + if ( event[ jQuery.expando ] ) { + return event; + } + + // Create a writable copy of the event object and normalize some properties + var i, prop, copy, + type = event.type, + originalEvent = event, + fixHook = this.fixHooks[ type ]; + + if ( !fixHook ) { + this.fixHooks[ type ] = fixHook = + rmouseEvent.test( type ) ? this.mouseHooks : + rkeyEvent.test( type ) ? this.keyHooks : + {}; + } + copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props; + + event = new jQuery.Event( originalEvent ); + + i = copy.length; + while ( i-- ) { + prop = copy[ i ]; + event[ prop ] = originalEvent[ prop ]; + } + + // Support: IE<9 + // Fix target property (#1925) + if ( !event.target ) { + event.target = originalEvent.srcElement || document; + } + + // Support: Chrome 23+, Safari? + // Target should not be a text node (#504, #13143) + if ( event.target.nodeType === 3 ) { + event.target = event.target.parentNode; + } + + // Support: IE<9 + // For mouse/key events, metaKey==false if it's undefined (#3368, #11328) + event.metaKey = !!event.metaKey; + + return fixHook.filter ? fixHook.filter( event, originalEvent ) : event; + }, + + // Includes some event props shared by KeyEvent and MouseEvent + props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), + + fixHooks: {}, + + keyHooks: { + props: "char charCode key keyCode".split(" "), + filter: function( event, original ) { + + // Add which for key events + if ( event.which == null ) { + event.which = original.charCode != null ? original.charCode : original.keyCode; + } + + return event; + } + }, + + mouseHooks: { + props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), + filter: function( event, original ) { + var body, eventDoc, doc, + button = original.button, + fromElement = original.fromElement; + + // Calculate pageX/Y if missing and clientX/Y available + if ( event.pageX == null && original.clientX != null ) { + eventDoc = event.target.ownerDocument || document; + doc = eventDoc.documentElement; + body = eventDoc.body; + + event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 ); + event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 ); + } + + // Add relatedTarget, if necessary + if ( !event.relatedTarget && fromElement ) { + event.relatedTarget = fromElement === event.target ? original.toElement : fromElement; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + // Note: button is not normalized, so don't use it + if ( !event.which && button !== undefined ) { + event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); + } + + return event; + } + }, + + special: { + load: { + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + click: { + // For checkbox, fire native event so checked state will be right + trigger: function() { + if ( jQuery.nodeName( this, "input" ) && this.type === "checkbox" && this.click ) { + this.click(); + return false; + } + } + }, + focus: { + // Fire native event if possible so blur/focus sequence is correct + trigger: function() { + if ( this !== document.activeElement && this.focus ) { + try { + this.focus(); + return false; + } catch ( e ) { + // Support: IE<9 + // If we error on focus to hidden element (#1486, #12518), + // let .trigger() run the handlers + } + } + }, + delegateType: "focusin" + }, + blur: { + trigger: function() { + if ( this === document.activeElement && this.blur ) { + this.blur(); + return false; + } + }, + delegateType: "focusout" + }, + + beforeunload: { + postDispatch: function( event ) { + + // Even when returnValue equals to undefined Firefox will still show alert + if ( event.result !== undefined ) { + event.originalEvent.returnValue = event.result; + } + } + } + }, + + simulate: function( type, elem, event, bubble ) { + // Piggyback on a donor event to simulate a different one. + // Fake originalEvent to avoid donor's stopPropagation, but if the + // simulated event prevents default then we do the same on the donor. + var e = jQuery.extend( + new jQuery.Event(), + event, + { type: type, + isSimulated: true, + originalEvent: {} + } + ); + if ( bubble ) { + jQuery.event.trigger( e, null, elem ); + } else { + jQuery.event.dispatch.call( elem, e ); + } + if ( e.isDefaultPrevented() ) { + event.preventDefault(); + } + } +}; + +jQuery.removeEvent = document.removeEventListener ? + function( elem, type, handle ) { + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle, false ); + } + } : + function( elem, type, handle ) { + var name = "on" + type; + + if ( elem.detachEvent ) { + + // #8545, #7054, preventing memory leaks for custom events in IE6-8 + // detachEvent needed property on element, by name of that event, to properly expose it to GC + if ( typeof elem[ name ] === core_strundefined ) { + elem[ name ] = null; + } + + elem.detachEvent( name, handle ); + } + }; + +jQuery.Event = function( src, props ) { + // Allow instantiation without the 'new' keyword + if ( !(this instanceof jQuery.Event) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = ( src.defaultPrevented || src.returnValue === false || + src.getPreventDefault && src.getPreventDefault() ) ? returnTrue : returnFalse; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + if ( !e ) { + return; + } + + // If preventDefault exists, run it on the original event + if ( e.preventDefault ) { + e.preventDefault(); + + // Support: IE + // Otherwise set the returnValue property of the original event to false + } else { + e.returnValue = false; + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + if ( !e ) { + return; + } + // If stopPropagation exists, run it on the original event + if ( e.stopPropagation ) { + e.stopPropagation(); + } + + // Support: IE + // Set the cancelBubble property of the original event to true + e.cancelBubble = true; + }, + stopImmediatePropagation: function() { + this.isImmediatePropagationStopped = returnTrue; + this.stopPropagation(); + } +}; + +// Create mouseenter/leave events using mouseover/out and event-time checks +jQuery.each({ + mouseenter: "mouseover", + mouseleave: "mouseout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mousenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || (related !== target && !jQuery.contains( target, related )) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +}); + +// IE submit delegation +if ( !jQuery.support.submitBubbles ) { + + jQuery.event.special.submit = { + setup: function() { + // Only need this for delegated form submit events + if ( jQuery.nodeName( this, "form" ) ) { + return false; + } + + // Lazy-add a submit handler when a descendant form may potentially be submitted + jQuery.event.add( this, "click._submit keypress._submit", function( e ) { + // Node name check avoids a VML-related crash in IE (#9807) + var elem = e.target, + form = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.form : undefined; + if ( form && !jQuery._data( form, "submitBubbles" ) ) { + jQuery.event.add( form, "submit._submit", function( event ) { + event._submit_bubble = true; + }); + jQuery._data( form, "submitBubbles", true ); + } + }); + // return undefined since we don't need an event listener + }, + + postDispatch: function( event ) { + // If form was submitted by the user, bubble the event up the tree + if ( event._submit_bubble ) { + delete event._submit_bubble; + if ( this.parentNode && !event.isTrigger ) { + jQuery.event.simulate( "submit", this.parentNode, event, true ); + } + } + }, + + teardown: function() { + // Only need this for delegated form submit events + if ( jQuery.nodeName( this, "form" ) ) { + return false; + } + + // Remove delegated handlers; cleanData eventually reaps submit handlers attached above + jQuery.event.remove( this, "._submit" ); + } + }; +} + +// IE change delegation and checkbox/radio fix +if ( !jQuery.support.changeBubbles ) { + + jQuery.event.special.change = { + + setup: function() { + + if ( rformElems.test( this.nodeName ) ) { + // IE doesn't fire change on a check/radio until blur; trigger it on click + // after a propertychange. Eat the blur-change in special.change.handle. + // This still fires onchange a second time for check/radio after blur. + if ( this.type === "checkbox" || this.type === "radio" ) { + jQuery.event.add( this, "propertychange._change", function( event ) { + if ( event.originalEvent.propertyName === "checked" ) { + this._just_changed = true; + } + }); + jQuery.event.add( this, "click._change", function( event ) { + if ( this._just_changed && !event.isTrigger ) { + this._just_changed = false; + } + // Allow triggered, simulated change events (#11500) + jQuery.event.simulate( "change", this, event, true ); + }); + } + return false; + } + // Delegated event; lazy-add a change handler on descendant inputs + jQuery.event.add( this, "beforeactivate._change", function( e ) { + var elem = e.target; + + if ( rformElems.test( elem.nodeName ) && !jQuery._data( elem, "changeBubbles" ) ) { + jQuery.event.add( elem, "change._change", function( event ) { + if ( this.parentNode && !event.isSimulated && !event.isTrigger ) { + jQuery.event.simulate( "change", this.parentNode, event, true ); + } + }); + jQuery._data( elem, "changeBubbles", true ); + } + }); + }, + + handle: function( event ) { + var elem = event.target; + + // Swallow native change events from checkbox/radio, we already triggered them above + if ( this !== elem || event.isSimulated || event.isTrigger || (elem.type !== "radio" && elem.type !== "checkbox") ) { + return event.handleObj.handler.apply( this, arguments ); + } + }, + + teardown: function() { + jQuery.event.remove( this, "._change" ); + + return !rformElems.test( this.nodeName ); + } + }; +} + +// Create "bubbling" focus and blur events +if ( !jQuery.support.focusinBubbles ) { + jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler while someone wants focusin/focusout + var attaches = 0, + handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + if ( attaches++ === 0 ) { + document.addEventListener( orig, handler, true ); + } + }, + teardown: function() { + if ( --attaches === 0 ) { + document.removeEventListener( orig, handler, true ); + } + } + }; + }); +} + +jQuery.fn.extend({ + + on: function( types, selector, data, fn, /*INTERNAL*/ one ) { + var type, origFn; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + this.on( type, selector, data, types[ type ], one ); + } + return this; + } + + if ( data == null && fn == null ) { + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return this; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return this.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + }); + }, + one: function( types, selector, data, fn ) { + return this.on( types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each(function() { + jQuery.event.remove( this, types, fn, selector ); + }); + }, + + bind: function( types, data, fn ) { + return this.on( types, null, data, fn ); + }, + unbind: function( types, fn ) { + return this.off( types, null, fn ); + }, + + delegate: function( selector, types, data, fn ) { + return this.on( types, selector, data, fn ); + }, + undelegate: function( selector, types, fn ) { + // ( namespace ) or ( selector, types [, fn] ) + return arguments.length === 1 ? this.off( selector, "**" ) : this.off( types, selector || "**", fn ); + }, + + trigger: function( type, data ) { + return this.each(function() { + jQuery.event.trigger( type, data, this ); + }); + }, + triggerHandler: function( type, data ) { + var elem = this[0]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +}); +/*! + * Sizzle CSS Selector Engine + * Copyright 2012 jQuery Foundation and other contributors + * Released under the MIT license + * http://sizzlejs.com/ + */ +(function( window, undefined ) { + +var i, + cachedruns, + Expr, + getText, + isXML, + compile, + hasDuplicate, + outermostContext, + + // Local document vars + setDocument, + document, + docElem, + documentIsXML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + sortOrder, + + // Instance-specific data + expando = "sizzle" + -(new Date()), + preferredDoc = window.document, + support = {}, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + + // General-purpose constants + strundefined = typeof undefined, + MAX_NEGATIVE = 1 << 31, + + // Array methods + arr = [], + pop = arr.pop, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf if we can't use a native one + indexOf = arr.indexOf || function( elem ) { + var i = 0, + len = this.length; + for ( ; i < len; i++ ) { + if ( this[i] === elem ) { + return i; + } + } + return -1; + }, + + + // Regular expressions + + // Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + // http://www.w3.org/TR/css3-syntax/#characters + characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", + + // Loosely modeled on CSS identifier characters + // An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors + // Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = characterEncoding.replace( "w", "w#" ), + + // Acceptable operators http://www.w3.org/TR/selectors/#attribute-selectors + operators = "([*^$|!~]?=)", + attributes = "\\[" + whitespace + "*(" + characterEncoding + ")" + whitespace + + "*(?:" + operators + whitespace + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + identifier + ")|)|)" + whitespace + "*\\]", + + // Prefer arguments quoted, + // then not containing pseudos/brackets, + // then attribute selectors/non-parenthetical expressions, + // then anything else + // These preferences are here to reduce the number of selectors + // needing tokenize in the PSEUDO preFilter + pseudos = ":(" + characterEncoding + ")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|" + attributes.replace( 3, 8 ) + ")*)|.*)\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([\\x20\\t\\r\\n\\f>+~])" + whitespace + "*" ), + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + characterEncoding + ")" ), + "CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ), + "NAME": new RegExp( "^\\[name=['\"]?(" + characterEncoding + ")['\"]?\\]" ), + "TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*" ) + ")" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rsibling = /[\x20\t\r\n\f]*[+~]/, + + rnative = /^[^{]+\{\s*\[native code/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rescape = /'|\\/g, + rattributeQuotes = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g, + + // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = /\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g, + funescape = function( _, escaped ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + return high !== high ? + escaped : + // BMP codepoint + high < 0 ? + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }; + +// Use a stripped-down slice if we can't use a native one +try { + slice.call( preferredDoc.documentElement.childNodes, 0 )[0].nodeType; +} catch ( e ) { + slice = function( i ) { + var elem, + results = []; + while ( (elem = this[i++]) ) { + results.push( elem ); + } + return results; + }; +} + +/** + * For feature detection + * @param {Function} fn The function to test for native support + */ +function isNative( fn ) { + return rnative.test( fn + "" ); +} + +/** + * Create key-value caches of limited size + * @returns {Function(string, Object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var cache, + keys = []; + + return (cache = function( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key += " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key ] = value); + }); +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created div and expects a boolean result + */ +function assert( fn ) { + var div = document.createElement("div"); + + try { + return fn( div ); + } catch (e) { + return false; + } finally { + // release memory in IE + div = null; + } +} + +function Sizzle( selector, context, results, seed ) { + var match, elem, m, nodeType, + // QSA vars + i, groups, old, nid, newContext, newSelector; + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + + context = context || document; + results = results || []; + + if ( !selector || typeof selector !== "string" ) { + return results; + } + + if ( (nodeType = context.nodeType) !== 1 && nodeType !== 9 ) { + return []; + } + + if ( !documentIsXML && !seed ) { + + // Shortcuts + if ( (match = rquickExpr.exec( selector )) ) { + // Speed-up: Sizzle("#ID") + if ( (m = match[1]) ) { + if ( nodeType === 9 ) { + elem = context.getElementById( m ); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE, Opera, and Webkit return items + // by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + } else { + // Context is not a document + if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) && + contains( context, elem ) && elem.id === m ) { + results.push( elem ); + return results; + } + } + + // Speed-up: Sizzle("TAG") + } else if ( match[2] ) { + push.apply( results, slice.call(context.getElementsByTagName( selector ), 0) ); + return results; + + // Speed-up: Sizzle(".CLASS") + } else if ( (m = match[3]) && support.getByClassName && context.getElementsByClassName ) { + push.apply( results, slice.call(context.getElementsByClassName( m ), 0) ); + return results; + } + } + + // QSA path + if ( support.qsa && !rbuggyQSA.test(selector) ) { + old = true; + nid = expando; + newContext = context; + newSelector = nodeType === 9 && selector; + + // qSA works strangely on Element-rooted queries + // We can work around this by specifying an extra ID on the root + // and working up from there (Thanks to Andrew Dupont for the technique) + // IE 8 doesn't work on object elements + if ( nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { + groups = tokenize( selector ); + + if ( (old = context.getAttribute("id")) ) { + nid = old.replace( rescape, "\\$&" ); + } else { + context.setAttribute( "id", nid ); + } + nid = "[id='" + nid + "'] "; + + i = groups.length; + while ( i-- ) { + groups[i] = nid + toSelector( groups[i] ); + } + newContext = rsibling.test( selector ) && context.parentNode || context; + newSelector = groups.join(","); + } + + if ( newSelector ) { + try { + push.apply( results, slice.call( newContext.querySelectorAll( + newSelector + ), 0 ) ); + return results; + } catch(qsaError) { + } finally { + if ( !old ) { + context.removeAttribute("id"); + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Detect xml + * @param {Element|Object} elem An element or a document + */ +isXML = Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = elem && (elem.ownerDocument || elem).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var doc = node ? node.ownerDocument || node : preferredDoc; + + // If no document and documentElement is available, return + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Set our document + document = doc; + docElem = doc.documentElement; + + // Support tests + documentIsXML = isXML( doc ); + + // Check if getElementsByTagName("*") returns only elements + support.tagNameNoComments = assert(function( div ) { + div.appendChild( doc.createComment("") ); + return !div.getElementsByTagName("*").length; + }); + + // Check if attributes should be retrieved by attribute nodes + support.attributes = assert(function( div ) { + div.innerHTML = "<select></select>"; + var type = typeof div.lastChild.getAttribute("multiple"); + // IE8 returns a string for some attributes even when not present + return type !== "boolean" && type !== "string"; + }); + + // Check if getElementsByClassName can be trusted + support.getByClassName = assert(function( div ) { + // Opera can't find a second classname (in 9.6) + div.innerHTML = "<div class='hidden e'></div><div class='hidden'></div>"; + if ( !div.getElementsByClassName || !div.getElementsByClassName("e").length ) { + return false; + } + + // Safari 3.2 caches class attributes and doesn't catch changes + div.lastChild.className = "e"; + return div.getElementsByClassName("e").length === 2; + }); + + // Check if getElementById returns elements by name + // Check if getElementsByName privileges form controls or returns elements by ID + support.getByName = assert(function( div ) { + // Inject content + div.id = expando + 0; + div.innerHTML = "<a name='" + expando + "'></a><div name='" + expando + "'></div>"; + docElem.insertBefore( div, docElem.firstChild ); + + // Test + var pass = doc.getElementsByName && + // buggy browsers will return fewer than the correct 2 + doc.getElementsByName( expando ).length === 2 + + // buggy browsers will return more than the correct 0 + doc.getElementsByName( expando + 0 ).length; + support.getIdNotName = !doc.getElementById( expando ); + + // Cleanup + docElem.removeChild( div ); + + return pass; + }); + + // IE6/7 return modified attributes + Expr.attrHandle = assert(function( div ) { + div.innerHTML = "<a href='#'></a>"; + return div.firstChild && typeof div.firstChild.getAttribute !== strundefined && + div.firstChild.getAttribute("href") === "#"; + }) ? + {} : + { + "href": function( elem ) { + return elem.getAttribute( "href", 2 ); + }, + "type": function( elem ) { + return elem.getAttribute("type"); + } + }; + + // ID find and filter + if ( support.getIdNotName ) { + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== strundefined && !documentIsXML ) { + var m = context.getElementById( id ); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + return m && m.parentNode ? [m] : []; + } + }; + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + } else { + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== strundefined && !documentIsXML ) { + var m = context.getElementById( id ); + + return m ? + m.id === id || typeof m.getAttributeNode !== strundefined && m.getAttributeNode("id").value === id ? + [m] : + undefined : + []; + } + }; + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== strundefined && elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + } + + // Tag + Expr.find["TAG"] = support.tagNameNoComments ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== strundefined ) { + return context.getElementsByTagName( tag ); + } + } : + function( tag, context ) { + var elem, + tmp = [], + i = 0, + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Name + Expr.find["NAME"] = support.getByName && function( tag, context ) { + if ( typeof context.getElementsByName !== strundefined ) { + return context.getElementsByName( name ); + } + }; + + // Class + Expr.find["CLASS"] = support.getByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== strundefined && !documentIsXML ) { + return context.getElementsByClassName( className ); + } + }; + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21), + // no need to also add to buggyMatches since matches checks buggyQSA + // A support test would require too much code (would include document ready) + rbuggyQSA = [ ":focus" ]; + + if ( (support.qsa = isNative(doc.querySelectorAll)) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( div ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explictly + // setting a boolean content attribute, + // since its presence should be enough + // http://bugs.jquery.com/ticket/12359 + div.innerHTML = "<select><option selected=''></option></select>"; + + // IE8 - Some boolean attributes are not treated correctly + if ( !div.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:checked|disabled|ismap|multiple|readonly|selected|value)" ); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !div.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + }); + + assert(function( div ) { + + // Opera 10-12/IE8 - ^= $= *= and empty values + // Should not select anything + div.innerHTML = "<input type='hidden' i=''/>"; + if ( div.querySelectorAll("[i^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:\"\"|'')" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( !div.querySelectorAll(":enabled").length ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + div.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = isNative( (matches = docElem.matchesSelector || + docElem.mozMatchesSelector || + docElem.webkitMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( div ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( div, "div" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( div, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = new RegExp( rbuggyMatches.join("|") ); + + // Element contains another + // Purposefully does not implement inclusive descendent + // As in, an element does not contain itself + contains = isNative(docElem.contains) || docElem.compareDocumentPosition ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + // Document order sorting + sortOrder = docElem.compareDocumentPosition ? + function( a, b ) { + var compare; + + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + if ( (compare = b.compareDocumentPosition && a.compareDocumentPosition && a.compareDocumentPosition( b )) ) { + if ( compare & 1 || a.parentNode && a.parentNode.nodeType === 11 ) { + if ( a === doc || contains( preferredDoc, a ) ) { + return -1; + } + if ( b === doc || contains( preferredDoc, b ) ) { + return 1; + } + return 0; + } + return compare & 4 ? -1 : 1; + } + + return a.compareDocumentPosition ? -1 : 1; + } : + function( a, b ) { + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + + // Parentless nodes are either documents or disconnected + } else if ( !aup || !bup ) { + return a === doc ? -1 : + b === doc ? 1 : + aup ? -1 : + bup ? 1 : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + // Always assume the presence of duplicates if sort doesn't + // pass them to our comparison function (as in Google Chrome). + hasDuplicate = false; + [0, 0].sort( sortOrder ); + support.detectDuplicates = hasDuplicate; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + // Make sure that attribute selectors are quoted + expr = expr.replace( rattributeQuotes, "='$1']" ); + + // rbuggyQSA always contains :focus, so no need for an existence check + if ( support.matchesSelector && !documentIsXML && (!rbuggyMatches || !rbuggyMatches.test(expr)) && !rbuggyQSA.test(expr) ) { + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch(e) {} + } + + return Sizzle( expr, document, null, [elem] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + var val; + + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + if ( !documentIsXML ) { + name = name.toLowerCase(); + } + if ( (val = Expr.attrHandle[ name ]) ) { + return val( elem ); + } + if ( documentIsXML || support.attributes ) { + return elem.getAttribute( name ); + } + return ( (val = elem.getAttributeNode( name )) || elem.getAttribute( name ) ) && elem[ name ] === true ? + name : + val && val.specified ? val.value : null; +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +// Document sorting and removing duplicates +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + i = 1, + j = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + results.sort( sortOrder ); + + if ( hasDuplicate ) { + for ( ; (elem = results[i]); i++ ) { + if ( elem === results[ i - 1 ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + return results; +}; + +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && ( ~b.sourceIndex || MAX_NEGATIVE ) - ( ~a.sourceIndex || MAX_NEGATIVE ); + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +// Returns a function to use in pseudos for input types +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +// Returns a function to use in pseudos for buttons +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +// Returns a function to use in pseudos for positionals +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + for ( ; (node = elem[i]); i++ ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (see #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[5] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[4] ) { + match[2] = match[4]; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeName ) { + if ( nodeName === "*" ) { + return function() { return true; }; + } + + nodeName = nodeName.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( elem.className || (typeof elem.getAttribute !== strundefined && elem.getAttribute("class")) || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, outerCache, node, diff, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) { + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + // Seek `elem` from a previously-cached index + outerCache = parent[ expando ] || (parent[ expando ] = {}); + cache = outerCache[ type ] || []; + nodeIndex = cache[0] === dirruns && cache[1]; + diff = cache[0] === dirruns && cache[2]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + outerCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + // Use previously-cached element index if available + } else if ( useCache && (cache = (elem[ expando ] || (elem[ expando ] = {}))[ type ]) && cache[0] === dirruns ) { + diff = cache[1]; + + // xml :nth-child(...) or :nth-last-child(...) or :nth(-last)?-of-type(...) + } else { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) && ++diff ) { + // Cache the index of each encountered element + if ( useCache ) { + (node[ expando ] || (node[ expando ] = {}))[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf.call( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + return function( elem ) { + return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifider + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsXML ? + elem.getAttribute("xml:lang") || elem.getAttribute("lang") : + elem.lang) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": function( elem ) { + return elem.disabled === false; + }, + + "disabled": function( elem ) { + return elem.disabled === true; + }, + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is only affected by element nodes and content nodes(including text(3), cdata(4)), + // not comment, processing instructions, or others + // Thanks to Diego Perini for the nodeName shortcut + // Greater than "@" means alpha characters (specifically not starting with "#" or "?") + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeName > "@" || elem.nodeType === 3 || elem.nodeType === 4 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + // IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc) + // use getAttribute instead to test this case + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === elem.type ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +function tokenize( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( tokens = [] ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push( { + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + } ); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push( { + value: matched, + type: type, + matches: match + } ); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +} + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + checkNonElements = base && dir === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var data, cache, outerCache, + dirkey = dirruns + " " + doneName; + + // We can't set arbitrary data on XML nodes, so they don't benefit from dir caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + if ( (cache = outerCache[ dir ]) && cache[0] === dirkey ) { + if ( (data = cache[1]) === true || data === cachedruns ) { + return data === true; + } + } else { + cache = outerCache[ dir ] = [ dirkey ]; + cache[1] = matcher( elem, context, xml ) || cachedruns; + if ( cache[1] === true ) { + return true; + } + } + } + } + } + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf.call( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf.call( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + return ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( tokens.slice( 0, i - 1 ) ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + // A counter to specify which element is currently being matched + var matcherCachedRuns = 0, + bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, expandContext ) { + var elem, j, matcher, + setMatched = [], + matchedCount = 0, + i = "0", + unmatched = seed && [], + outermost = expandContext != null, + contextBackup = outermostContext, + // We must always have either seed elements or context + elems = seed || byElement && Expr.find["TAG"]( "*", expandContext && context.parentNode || context ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1); + + if ( outermost ) { + outermostContext = context !== document && context; + cachedruns = matcherCachedRuns; + } + + // Add elements passing elementMatchers directly to results + // Keep `i` a string if there are no elements so `matchedCount` will be "00" below + for ( ; (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context, xml ) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + cachedruns = ++matcherCachedRuns; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // Apply set filters to unmatched elements + matchedCount += i; + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !group ) { + group = tokenize( selector ); + } + i = group.length; + while ( i-- ) { + cached = matcherFromTokens( group[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + } + return cached; +}; + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function select( selector, context, results, seed ) { + var i, tokens, token, type, find, + match = tokenize( selector ); + + if ( !seed ) { + // Try to minimize operations if there is only one group + if ( match.length === 1 ) { + + // Take a shortcut and set the context if the root selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + context.nodeType === 9 && !documentIsXML && + Expr.relative[ tokens[1].type ] ) { + + context = Expr.find["ID"]( token.matches[0].replace( runescape, funescape ), context )[0]; + if ( !context ) { + return results; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && context.parentNode || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, slice.call( seed, 0 ) ); + return results; + } + + break; + } + } + } + } + } + + // Compile and execute a filtering function + // Provide `match` to avoid retokenization if we modified the selector above + compile( selector, match )( + seed, + context, + documentIsXML, + results, + rsibling.test( selector ) + ); + return results; +} + +// Deprecated +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Easy API for creating new setFilters +function setFilters() {} +Expr.filters = setFilters.prototype = Expr.pseudos; +Expr.setFilters = new setFilters(); + +// Initialize with the default document +setDocument(); + +// Override sizzle attribute retrieval +Sizzle.attr = jQuery.attr; +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; +jQuery.expr[":"] = jQuery.expr.pseudos; +jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; + + +})( window ); +var runtil = /Until$/, + rparentsprev = /^(?:parents|prev(?:Until|All))/, + isSimple = /^.[^:#\[\.,]*$/, + rneedsContext = jQuery.expr.match.needsContext, + // methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend({ + find: function( selector ) { + var i, ret, self, + len = this.length; + + if ( typeof selector !== "string" ) { + self = this; + return this.pushStack( jQuery( selector ).filter(function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + }) ); + } + + ret = []; + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, this[ i ], ret ); + } + + // Needed because $( selector, context ) becomes $( context ).find( selector ) + ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret ); + ret.selector = ( this.selector ? this.selector + " " : "" ) + selector; + return ret; + }, + + has: function( target ) { + var i, + targets = jQuery( target, this ), + len = targets.length; + + return this.filter(function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( this, targets[i] ) ) { + return true; + } + } + }); + }, + + not: function( selector ) { + return this.pushStack( winnow(this, selector, false) ); + }, + + filter: function( selector ) { + return this.pushStack( winnow(this, selector, true) ); + }, + + is: function( selector ) { + return !!selector && ( + typeof selector === "string" ? + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + rneedsContext.test( selector ) ? + jQuery( selector, this.context ).index( this[0] ) >= 0 : + jQuery.filter( selector, this ).length > 0 : + this.filter( selector ).length > 0 ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + ret = [], + pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ? + jQuery( selectors, context || this.context ) : + 0; + + for ( ; i < l; i++ ) { + cur = this[i]; + + while ( cur && cur.ownerDocument && cur !== context && cur.nodeType !== 11 ) { + if ( pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors) ) { + ret.push( cur ); + break; + } + cur = cur.parentNode; + } + } + + return this.pushStack( ret.length > 1 ? jQuery.unique( ret ) : ret ); + }, + + // Determine the position of an element within + // the matched set of elements + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[0] && this[0].parentNode ) ? this.first().prevAll().length : -1; + } + + // index in selector + if ( typeof elem === "string" ) { + return jQuery.inArray( this[0], jQuery( elem ) ); + } + + // Locate the position of the desired element + return jQuery.inArray( + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[0] : elem, this ); + }, + + add: function( selector, context ) { + var set = typeof selector === "string" ? + jQuery( selector, context ) : + jQuery.makeArray( selector && selector.nodeType ? [ selector ] : selector ), + all = jQuery.merge( this.get(), set ); + + return this.pushStack( jQuery.unique(all) ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter(selector) + ); + } +}); + +jQuery.fn.andSelf = jQuery.fn.addBack; + +function sibling( cur, dir ) { + do { + cur = cur[ dir ]; + } while ( cur && cur.nodeType !== 1 ); + + return cur; +} + +jQuery.each({ + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return jQuery.dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return jQuery.dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return jQuery.dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return jQuery.dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return jQuery.dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return jQuery.dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return jQuery.sibling( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return jQuery.sibling( elem.firstChild ); + }, + contents: function( elem ) { + return jQuery.nodeName( elem, "iframe" ) ? + elem.contentDocument || elem.contentWindow.document : + jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var ret = jQuery.map( this, fn, until ); + + if ( !runtil.test( name ) ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + ret = jQuery.filter( selector, ret ); + } + + ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; + + if ( this.length > 1 && rparentsprev.test( name ) ) { + ret = ret.reverse(); + } + + return this.pushStack( ret ); + }; +}); + +jQuery.extend({ + filter: function( expr, elems, not ) { + if ( not ) { + expr = ":not(" + expr + ")"; + } + + return elems.length === 1 ? + jQuery.find.matchesSelector(elems[0], expr) ? [ elems[0] ] : [] : + jQuery.find.matches(expr, elems); + }, + + dir: function( elem, dir, until ) { + var matched = [], + cur = elem[ dir ]; + + while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) { + if ( cur.nodeType === 1 ) { + matched.push( cur ); + } + cur = cur[dir]; + } + return matched; + }, + + sibling: function( n, elem ) { + var r = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + r.push( n ); + } + } + + return r; + } +}); + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, keep ) { + + // Can't pass null or undefined to indexOf in Firefox 4 + // Set to 0 to skip string check + qualifier = qualifier || 0; + + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep(elements, function( elem, i ) { + var retVal = !!qualifier.call( elem, i, elem ); + return retVal === keep; + }); + + } else if ( qualifier.nodeType ) { + return jQuery.grep(elements, function( elem ) { + return ( elem === qualifier ) === keep; + }); + + } else if ( typeof qualifier === "string" ) { + var filtered = jQuery.grep(elements, function( elem ) { + return elem.nodeType === 1; + }); + + if ( isSimple.test( qualifier ) ) { + return jQuery.filter(qualifier, filtered, !keep); + } else { + qualifier = jQuery.filter( qualifier, filtered ); + } + } + + return jQuery.grep(elements, function( elem ) { + return ( jQuery.inArray( elem, qualifier ) >= 0 ) === keep; + }); +} +function createSafeFragment( document ) { + var list = nodeNames.split( "|" ), + safeFrag = document.createDocumentFragment(); + + if ( safeFrag.createElement ) { + while ( list.length ) { + safeFrag.createElement( + list.pop() + ); + } + } + return safeFrag; +} + +var nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|" + + "header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", + rinlinejQuery = / jQuery\d+="(?:null|\d+)"/g, + rnoshimcache = new RegExp("<(?:" + nodeNames + ")[\\s/>]", "i"), + rleadingWhitespace = /^\s+/, + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, + rtagName = /<([\w:]+)/, + rtbody = /<tbody/i, + rhtml = /<|&#?\w+;/, + rnoInnerhtml = /<(?:script|style|link)/i, + manipulation_rcheckableType = /^(?:checkbox|radio)$/i, + // checked="checked" or checked + rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, + rscriptType = /^$|\/(?:java|ecma)script/i, + rscriptTypeMasked = /^true\/(.*)/, + rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g, + + // We have to close these tags to support XHTML (#13200) + wrapMap = { + option: [ 1, "<select multiple='multiple'>", "</select>" ], + legend: [ 1, "<fieldset>", "</fieldset>" ], + area: [ 1, "<map>", "</map>" ], + param: [ 1, "<object>", "</object>" ], + thead: [ 1, "<table>", "</table>" ], + tr: [ 2, "<table><tbody>", "</tbody></table>" ], + col: [ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ], + td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ], + + // IE6-8 can't serialize link, script, style, or any html5 (NoScope) tags, + // unless wrapped in a div with non-breaking characters in front of it. + _default: jQuery.support.htmlSerialize ? [ 0, "", "" ] : [ 1, "X<div>", "</div>" ] + }, + safeFragment = createSafeFragment( document ), + fragmentDiv = safeFragment.appendChild( document.createElement("div") ); + +wrapMap.optgroup = wrapMap.option; +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +jQuery.fn.extend({ + text: function( value ) { + return jQuery.access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().append( ( this[0] && this[0].ownerDocument || document ).createTextNode( value ) ); + }, null, value, arguments.length ); + }, + + wrapAll: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each(function(i) { + jQuery(this).wrapAll( html.call(this, i) ); + }); + } + + if ( this[0] ) { + // The elements to wrap the target around + var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true); + + if ( this[0].parentNode ) { + wrap.insertBefore( this[0] ); + } + + wrap.map(function() { + var elem = this; + + while ( elem.firstChild && elem.firstChild.nodeType === 1 ) { + elem = elem.firstChild; + } + + return elem; + }).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each(function(i) { + jQuery(this).wrapInner( html.call(this, i) ); + }); + } + + return this.each(function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + }); + }, + + wrap: function( html ) { + var isFunction = jQuery.isFunction( html ); + + return this.each(function(i) { + jQuery( this ).wrapAll( isFunction ? html.call(this, i) : html ); + }); + }, + + unwrap: function() { + return this.parent().each(function() { + if ( !jQuery.nodeName( this, "body" ) ) { + jQuery( this ).replaceWith( this.childNodes ); + } + }).end(); + }, + + append: function() { + return this.domManip(arguments, true, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.appendChild( elem ); + } + }); + }, + + prepend: function() { + return this.domManip(arguments, true, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.insertBefore( elem, this.firstChild ); + } + }); + }, + + before: function() { + return this.domManip( arguments, false, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + }); + }, + + after: function() { + return this.domManip( arguments, false, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + }); + }, + + // keepData is for internal use only--do not document + remove: function( selector, keepData ) { + var elem, + i = 0; + + for ( ; (elem = this[i]) != null; i++ ) { + if ( !selector || jQuery.filter( selector, [ elem ] ).length > 0 ) { + if ( !keepData && elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem ) ); + } + + if ( elem.parentNode ) { + if ( keepData && jQuery.contains( elem.ownerDocument, elem ) ) { + setGlobalEval( getAll( elem, "script" ) ); + } + elem.parentNode.removeChild( elem ); + } + } + } + + return this; + }, + + empty: function() { + var elem, + i = 0; + + for ( ; (elem = this[i]) != null; i++ ) { + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + } + + // Remove any remaining nodes + while ( elem.firstChild ) { + elem.removeChild( elem.firstChild ); + } + + // If this is a select, ensure that it displays empty (#12336) + // Support: IE<9 + if ( elem.options && jQuery.nodeName( elem, "select" ) ) { + elem.options.length = 0; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function () { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + }); + }, + + html: function( value ) { + return jQuery.access( this, function( value ) { + var elem = this[0] || {}, + i = 0, + l = this.length; + + if ( value === undefined ) { + return elem.nodeType === 1 ? + elem.innerHTML.replace( rinlinejQuery, "" ) : + undefined; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + ( jQuery.support.htmlSerialize || !rnoshimcache.test( value ) ) && + ( jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value ) ) && + !wrapMap[ ( rtagName.exec( value ) || ["", ""] )[1].toLowerCase() ] ) { + + value = value.replace( rxhtmlTag, "<$1></$2>" ); + + try { + for (; i < l; i++ ) { + // Remove element nodes and prevent memory leaks + elem = this[i] || {}; + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch(e) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function( value ) { + var isFunc = jQuery.isFunction( value ); + + // Make sure that the elements are removed from the DOM before they are inserted + // this can help fix replacing a parent with child elements + if ( !isFunc && typeof value !== "string" ) { + value = jQuery( value ).not( this ).detach(); + } + + return this.domManip( [ value ], true, function( elem ) { + var next = this.nextSibling, + parent = this.parentNode; + + if ( parent ) { + jQuery( this ).remove(); + parent.insertBefore( elem, next ); + } + }); + }, + + detach: function( selector ) { + return this.remove( selector, true ); + }, + + domManip: function( args, table, callback ) { + + // Flatten any nested arrays + args = core_concat.apply( [], args ); + + var first, node, hasScripts, + scripts, doc, fragment, + i = 0, + l = this.length, + set = this, + iNoClone = l - 1, + value = args[0], + isFunction = jQuery.isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( isFunction || !( l <= 1 || typeof value !== "string" || jQuery.support.checkClone || !rchecked.test( value ) ) ) { + return this.each(function( index ) { + var self = set.eq( index ); + if ( isFunction ) { + args[0] = value.call( this, index, table ? self.html() : undefined ); + } + self.domManip( args, table, callback ); + }); + } + + if ( l ) { + fragment = jQuery.buildFragment( args, this[ 0 ].ownerDocument, false, this ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + if ( first ) { + table = table && jQuery.nodeName( first, "tr" ); + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( + table && jQuery.nodeName( this[i], "table" ) ? + findOrAppend( this[i], "tbody" ) : + this[i], + node, + i + ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !jQuery._data( node, "globalEval" ) && jQuery.contains( doc, node ) ) { + + if ( node.src ) { + // Hope ajax is available... + jQuery.ajax({ + url: node.src, + type: "GET", + dataType: "script", + async: false, + global: false, + "throws": true + }); + } else { + jQuery.globalEval( ( node.text || node.textContent || node.innerHTML || "" ).replace( rcleanScript, "" ) ); + } + } + } + } + + // Fix #11809: Avoid leaking memory + fragment = first = null; + } + } + + return this; + } +}); + +function findOrAppend( elem, tag ) { + return elem.getElementsByTagName( tag )[0] || elem.appendChild( elem.ownerDocument.createElement( tag ) ); +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + var attr = elem.getAttributeNode("type"); + elem.type = ( attr && attr.specified ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + var match = rscriptTypeMasked.exec( elem.type ); + if ( match ) { + elem.type = match[1]; + } else { + elem.removeAttribute("type"); + } + return elem; +} + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var elem, + i = 0; + for ( ; (elem = elems[i]) != null; i++ ) { + jQuery._data( elem, "globalEval", !refElements || jQuery._data( refElements[i], "globalEval" ) ); + } +} + +function cloneCopyEvent( src, dest ) { + + if ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) { + return; + } + + var type, i, l, + oldData = jQuery._data( src ), + curData = jQuery._data( dest, oldData ), + events = oldData.events; + + if ( events ) { + delete curData.handle; + curData.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + + // make the cloned public data object a copy from the original + if ( curData.data ) { + curData.data = jQuery.extend( {}, curData.data ); + } +} + +function fixCloneNodeIssues( src, dest ) { + var nodeName, e, data; + + // We do not need to do anything for non-Elements + if ( dest.nodeType !== 1 ) { + return; + } + + nodeName = dest.nodeName.toLowerCase(); + + // IE6-8 copies events bound via attachEvent when using cloneNode. + if ( !jQuery.support.noCloneEvent && dest[ jQuery.expando ] ) { + data = jQuery._data( dest ); + + for ( e in data.events ) { + jQuery.removeEvent( dest, e, data.handle ); + } + + // Event data gets referenced instead of copied if the expando gets copied too + dest.removeAttribute( jQuery.expando ); + } + + // IE blanks contents when cloning scripts, and tries to evaluate newly-set text + if ( nodeName === "script" && dest.text !== src.text ) { + disableScript( dest ).text = src.text; + restoreScript( dest ); + + // IE6-10 improperly clones children of object elements using classid. + // IE10 throws NoModificationAllowedError if parent is null, #12132. + } else if ( nodeName === "object" ) { + if ( dest.parentNode ) { + dest.outerHTML = src.outerHTML; + } + + // This path appears unavoidable for IE9. When cloning an object + // element in IE9, the outerHTML strategy above is not sufficient. + // If the src has innerHTML and the destination does not, + // copy the src.innerHTML into the dest.innerHTML. #10324 + if ( jQuery.support.html5Clone && ( src.innerHTML && !jQuery.trim(dest.innerHTML) ) ) { + dest.innerHTML = src.innerHTML; + } + + } else if ( nodeName === "input" && manipulation_rcheckableType.test( src.type ) ) { + // IE6-8 fails to persist the checked state of a cloned checkbox + // or radio button. Worse, IE6-7 fail to give the cloned element + // a checked appearance if the defaultChecked value isn't also set + + dest.defaultChecked = dest.checked = src.checked; + + // IE6-7 get confused and end up setting the value of a cloned + // checkbox/radio button to an empty string instead of "on" + if ( dest.value !== src.value ) { + dest.value = src.value; + } + + // IE6-8 fails to return the selected option to the default selected + // state when cloning options + } else if ( nodeName === "option" ) { + dest.defaultSelected = dest.selected = src.defaultSelected; + + // IE6-8 fails to set the defaultValue to the correct value when + // cloning other types of input fields + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +jQuery.each({ + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + i = 0, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone(true); + jQuery( insert[i] )[ original ]( elems ); + + // Modern browsers can apply jQuery collections as arrays, but oldIE needs a .get() + core_push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +}); + +function getAll( context, tag ) { + var elems, elem, + i = 0, + found = typeof context.getElementsByTagName !== core_strundefined ? context.getElementsByTagName( tag || "*" ) : + typeof context.querySelectorAll !== core_strundefined ? context.querySelectorAll( tag || "*" ) : + undefined; + + if ( !found ) { + for ( found = [], elems = context.childNodes || context; (elem = elems[i]) != null; i++ ) { + if ( !tag || jQuery.nodeName( elem, tag ) ) { + found.push( elem ); + } else { + jQuery.merge( found, getAll( elem, tag ) ); + } + } + } + + return tag === undefined || tag && jQuery.nodeName( context, tag ) ? + jQuery.merge( [ context ], found ) : + found; +} + +// Used in buildFragment, fixes the defaultChecked property +function fixDefaultChecked( elem ) { + if ( manipulation_rcheckableType.test( elem.type ) ) { + elem.defaultChecked = elem.checked; + } +} + +jQuery.extend({ + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var destElements, node, clone, i, srcElements, + inPage = jQuery.contains( elem.ownerDocument, elem ); + + if ( jQuery.support.html5Clone || jQuery.isXMLDoc(elem) || !rnoshimcache.test( "<" + elem.nodeName + ">" ) ) { + clone = elem.cloneNode( true ); + + // IE<=8 does not properly clone detached, unknown element nodes + } else { + fragmentDiv.innerHTML = elem.outerHTML; + fragmentDiv.removeChild( clone = fragmentDiv.firstChild ); + } + + if ( (!jQuery.support.noCloneEvent || !jQuery.support.noCloneChecked) && + (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) { + + // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + // Fix all IE cloning issues + for ( i = 0; (node = srcElements[i]) != null; ++i ) { + // Ensure that the destination node is not null; Fixes #9587 + if ( destElements[i] ) { + fixCloneNodeIssues( node, destElements[i] ); + } + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0; (node = srcElements[i]) != null; i++ ) { + cloneCopyEvent( node, destElements[i] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + destElements = srcElements = node = null; + + // Return the cloned set + return clone; + }, + + buildFragment: function( elems, context, scripts, selection ) { + var j, elem, contains, + tmp, tag, tbody, wrap, + l = elems.length, + + // Ensure a safe fragment + safe = createSafeFragment( context ), + + nodes = [], + i = 0; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( jQuery.type( elem ) === "object" ) { + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || safe.appendChild( context.createElement("div") ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || ["", ""] )[1].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + + tmp.innerHTML = wrap[1] + elem.replace( rxhtmlTag, "<$1></$2>" ) + wrap[2]; + + // Descend through wrappers to the right content + j = wrap[0]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Manually add leading whitespace removed by IE + if ( !jQuery.support.leadingWhitespace && rleadingWhitespace.test( elem ) ) { + nodes.push( context.createTextNode( rleadingWhitespace.exec( elem )[0] ) ); + } + + // Remove IE's autoinserted <tbody> from table fragments + if ( !jQuery.support.tbody ) { + + // String was a <table>, *may* have spurious <tbody> + elem = tag === "table" && !rtbody.test( elem ) ? + tmp.firstChild : + + // String was a bare <thead> or <tfoot> + wrap[1] === "<table>" && !rtbody.test( elem ) ? + tmp : + 0; + + j = elem && elem.childNodes.length; + while ( j-- ) { + if ( jQuery.nodeName( (tbody = elem.childNodes[j]), "tbody" ) && !tbody.childNodes.length ) { + elem.removeChild( tbody ); + } + } + } + + jQuery.merge( nodes, tmp.childNodes ); + + // Fix #12392 for WebKit and IE > 9 + tmp.textContent = ""; + + // Fix #12392 for oldIE + while ( tmp.firstChild ) { + tmp.removeChild( tmp.firstChild ); + } + + // Remember the top-level container for proper cleanup + tmp = safe.lastChild; + } + } + } + + // Fix #11356: Clear elements from fragment + if ( tmp ) { + safe.removeChild( tmp ); + } + + // Reset defaultChecked for any radios and checkboxes + // about to be appended to the DOM in IE 6/7 (#8060) + if ( !jQuery.support.appendChecked ) { + jQuery.grep( getAll( nodes, "input" ), fixDefaultChecked ); + } + + i = 0; + while ( (elem = nodes[ i++ ]) ) { + + // #4087 - If origin and destination elements are the same, and this is + // that element, do not do anything + if ( selection && jQuery.inArray( elem, selection ) !== -1 ) { + continue; + } + + contains = jQuery.contains( elem.ownerDocument, elem ); + + // Append to fragment + tmp = getAll( safe.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( contains ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( (elem = tmp[ j++ ]) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + tmp = null; + + return safe; + }, + + cleanData: function( elems, /* internal */ acceptData ) { + var elem, type, id, data, + i = 0, + internalKey = jQuery.expando, + cache = jQuery.cache, + deleteExpando = jQuery.support.deleteExpando, + special = jQuery.event.special; + + for ( ; (elem = elems[i]) != null; i++ ) { + + if ( acceptData || jQuery.acceptData( elem ) ) { + + id = elem[ internalKey ]; + data = id && cache[ id ]; + + if ( data ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Remove cache only if it was not already removed by jQuery.event.remove + if ( cache[ id ] ) { + + delete cache[ id ]; + + // IE does not allow us to delete expando properties from nodes, + // nor does it have a removeAttribute function on Document nodes; + // we must handle all of these cases + if ( deleteExpando ) { + delete elem[ internalKey ]; + + } else if ( typeof elem.removeAttribute !== core_strundefined ) { + elem.removeAttribute( internalKey ); + + } else { + elem[ internalKey ] = null; + } + + core_deletedIds.push( id ); + } + } + } + } + } +}); +var iframe, getStyles, curCSS, + ralpha = /alpha\([^)]*\)/i, + ropacity = /opacity\s*=\s*([^)]*)/, + rposition = /^(top|right|bottom|left)$/, + // swappable if display is none or starts with table except "table", "table-cell", or "table-caption" + // see here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rmargin = /^margin/, + rnumsplit = new RegExp( "^(" + core_pnum + ")(.*)$", "i" ), + rnumnonpx = new RegExp( "^(" + core_pnum + ")(?!px)[a-z%]+$", "i" ), + rrelNum = new RegExp( "^([+-])=(" + core_pnum + ")", "i" ), + elemdisplay = { BODY: "block" }, + + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: 0, + fontWeight: 400 + }, + + cssExpand = [ "Top", "Right", "Bottom", "Left" ], + cssPrefixes = [ "Webkit", "O", "Moz", "ms" ]; + +// return a css property mapped to a potentially vendor prefixed property +function vendorPropName( style, name ) { + + // shortcut for names that are not vendor prefixed + if ( name in style ) { + return name; + } + + // check for vendor prefixed names + var capName = name.charAt(0).toUpperCase() + name.slice(1), + origName = name, + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in style ) { + return name; + } + } + + return origName; +} + +function isHidden( elem, el ) { + // isHidden might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem ); +} + +function showHide( elements, show ) { + var display, elem, hidden, + values = [], + index = 0, + length = elements.length; + + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + values[ index ] = jQuery._data( elem, "olddisplay" ); + display = elem.style.display; + if ( show ) { + // Reset the inline display of this element to learn if it is + // being hidden by cascaded rules or not + if ( !values[ index ] && display === "none" ) { + elem.style.display = ""; + } + + // Set elements which have been overridden with display: none + // in a stylesheet to whatever the default browser style is + // for such an element + if ( elem.style.display === "" && isHidden( elem ) ) { + values[ index ] = jQuery._data( elem, "olddisplay", css_defaultDisplay(elem.nodeName) ); + } + } else { + + if ( !values[ index ] ) { + hidden = isHidden( elem ); + + if ( display && display !== "none" || !hidden ) { + jQuery._data( elem, "olddisplay", hidden ? display : jQuery.css( elem, "display" ) ); + } + } + } + } + + // Set the display of most of the elements in a second loop + // to avoid the constant reflow + for ( index = 0; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + if ( !show || elem.style.display === "none" || elem.style.display === "" ) { + elem.style.display = show ? values[ index ] || "" : "none"; + } + } + + return elements; +} + +jQuery.fn.extend({ + css: function( name, value ) { + return jQuery.access( this, function( elem, name, value ) { + var len, styles, + map = {}, + i = 0; + + if ( jQuery.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + }, + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + var bool = typeof state === "boolean"; + + return this.each(function() { + if ( bool ? state : isHidden( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + }); + } +}); + +jQuery.extend({ + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Exclude the following css properties to add px + cssNumber: { + "columnCount": true, + "fillOpacity": true, + "fontWeight": true, + "lineHeight": true, + "opacity": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: { + // normalize float css property + "float": jQuery.support.cssFloat ? "cssFloat" : "styleFloat" + }, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = jQuery.camelCase( name ), + style = elem.style; + + name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( style, origName ) ); + + // gets hook for the prefixed version + // followed by the unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // convert relative number strings (+= or -=) to relative numbers. #7345 + if ( type === "string" && (ret = rrelNum.exec( value )) ) { + value = ( ret[1] + 1 ) * ret[2] + parseFloat( jQuery.css( elem, name ) ); + // Fixes bug #9237 + type = "number"; + } + + // Make sure that NaN and null values aren't set. See: #7116 + if ( value == null || type === "number" && isNaN( value ) ) { + return; + } + + // If a number was passed in, add 'px' to the (except for certain CSS properties) + if ( type === "number" && !jQuery.cssNumber[ origName ] ) { + value += "px"; + } + + // Fixes #8908, it can be done more correctly by specifing setters in cssHooks, + // but it would mean to define eight (for every problematic property) identical functions + if ( !jQuery.support.clearCloneStyle && value === "" && name.indexOf("background") === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value, extra )) !== undefined ) { + + // Wrapped to prevent IE from throwing errors when 'invalid' values are provided + // Fixes bug #5509 + try { + style[ name ] = value; + } catch(e) {} + } + + } else { + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) { + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var num, val, hooks, + origName = jQuery.camelCase( name ); + + // Make sure that we're working with the right name + name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( elem.style, origName ) ); + + // gets hook for the prefixed version + // followed by the unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + //convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Return, converting to number if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || jQuery.isNumeric( num ) ? num || 0 : val; + } + return val; + }, + + // A method for quickly swapping in/out CSS properties to get correct calculations + swap: function( elem, options, callback, args ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.apply( elem, args || [] ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; + } +}); + +// NOTE: we've included the "window" in window.getComputedStyle +// because jsdom on node.js will break without it. +if ( window.getComputedStyle ) { + getStyles = function( elem ) { + return window.getComputedStyle( elem, null ); + }; + + curCSS = function( elem, name, _computed ) { + var width, minWidth, maxWidth, + computed = _computed || getStyles( elem ), + + // getPropertyValue is only needed for .css('filter') in IE9, see #12537 + ret = computed ? computed.getPropertyValue( name ) || computed[ name ] : undefined, + style = elem.style; + + if ( computed ) { + + if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Chrome < 17 and Safari 5.0 uses "computed value" instead of "used value" for margin-right + // Safari 5.1.7 (at least) returns percentage for a larger set of values, but width seems to be reliably pixels + // this is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values + if ( rnumnonpx.test( ret ) && rmargin.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret; + }; +} else if ( document.documentElement.currentStyle ) { + getStyles = function( elem ) { + return elem.currentStyle; + }; + + curCSS = function( elem, name, _computed ) { + var left, rs, rsLeft, + computed = _computed || getStyles( elem ), + ret = computed ? computed[ name ] : undefined, + style = elem.style; + + // Avoid setting ret to empty string here + // so we don't default to auto + if ( ret == null && style && style[ name ] ) { + ret = style[ name ]; + } + + // From the awesome hack by Dean Edwards + // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291 + + // If we're not dealing with a regular pixel number + // but a number that has a weird ending, we need to convert it to pixels + // but not position css attributes, as those are proportional to the parent element instead + // and we can't measure the parent instead because it might trigger a "stacking dolls" problem + if ( rnumnonpx.test( ret ) && !rposition.test( name ) ) { + + // Remember the original values + left = style.left; + rs = elem.runtimeStyle; + rsLeft = rs && rs.left; + + // Put in the new values to get a computed value out + if ( rsLeft ) { + rs.left = elem.currentStyle.left; + } + style.left = name === "fontSize" ? "1em" : ret; + ret = style.pixelLeft + "px"; + + // Revert the changed values + style.left = left; + if ( rsLeft ) { + rs.left = rsLeft; + } + } + + return ret === "" ? "auto" : ret; + }; +} + +function setPositiveNumber( elem, value, subtract ) { + var matches = rnumsplit.exec( value ); + return matches ? + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 1 ] - ( subtract || 0 ) ) + ( matches[ 2 ] || "px" ) : + value; +} + +function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) { + var i = extra === ( isBorderBox ? "border" : "content" ) ? + // If we already have the right measurement, avoid augmentation + 4 : + // Otherwise initialize for horizontal or vertical properties + name === "width" ? 1 : 0, + + val = 0; + + for ( ; i < 4; i += 2 ) { + // both box models exclude margin, so add it if we want it + if ( extra === "margin" ) { + val += jQuery.css( elem, extra + cssExpand[ i ], true, styles ); + } + + if ( isBorderBox ) { + // border-box includes padding, so remove it if we want content + if ( extra === "content" ) { + val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // at this point, extra isn't border nor margin, so remove border + if ( extra !== "margin" ) { + val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } else { + // at this point, extra isn't content, so add padding + val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // at this point, extra isn't content nor padding, so add border + if ( extra !== "padding" ) { + val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + return val; +} + +function getWidthOrHeight( elem, name, extra ) { + + // Start with offset property, which is equivalent to the border-box value + var valueIsBorderBox = true, + val = name === "width" ? elem.offsetWidth : elem.offsetHeight, + styles = getStyles( elem ), + isBorderBox = jQuery.support.boxSizing && jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // some non-html elements return undefined for offsetWidth, so check for null/undefined + // svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285 + // MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668 + if ( val <= 0 || val == null ) { + // Fall back to computed then uncomputed css if necessary + val = curCSS( elem, name, styles ); + if ( val < 0 || val == null ) { + val = elem.style[ name ]; + } + + // Computed unit is not pixels. Stop here and return. + if ( rnumnonpx.test(val) ) { + return val; + } + + // we need the check for style in case a browser which returns unreliable values + // for getComputedStyle silently falls back to the reliable elem.style + valueIsBorderBox = isBorderBox && ( jQuery.support.boxSizingReliable || val === elem.style[ name ] ); + + // Normalize "", auto, and prepare for extra + val = parseFloat( val ) || 0; + } + + // use the active box-sizing model to add/subtract irrelevant styles + return ( val + + augmentWidthOrHeight( + elem, + name, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles + ) + ) + "px"; +} + +// Try to determine the default display value of an element +function css_defaultDisplay( nodeName ) { + var doc = document, + display = elemdisplay[ nodeName ]; + + if ( !display ) { + display = actualDisplay( nodeName, doc ); + + // If the simple way fails, read from inside an iframe + if ( display === "none" || !display ) { + // Use the already-created iframe if possible + iframe = ( iframe || + jQuery("<iframe frameborder='0' width='0' height='0'/>") + .css( "cssText", "display:block !important" ) + ).appendTo( doc.documentElement ); + + // Always write a new HTML skeleton so Webkit and Firefox don't choke on reuse + doc = ( iframe[0].contentWindow || iframe[0].contentDocument ).document; + doc.write("<!doctype html><html><body>"); + doc.close(); + + display = actualDisplay( nodeName, doc ); + iframe.detach(); + } + + // Store the correct default display + elemdisplay[ nodeName ] = display; + } + + return display; +} + +// Called ONLY from within css_defaultDisplay +function actualDisplay( name, doc ) { + var elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ), + display = jQuery.css( elem[0], "display" ); + elem.remove(); + return display; +} + +jQuery.each([ "height", "width" ], function( i, name ) { + jQuery.cssHooks[ name ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + // certain elements can have dimension info if we invisibly show them + // however, it must have a current display style that would benefit from this + return elem.offsetWidth === 0 && rdisplayswap.test( jQuery.css( elem, "display" ) ) ? + jQuery.swap( elem, cssShow, function() { + return getWidthOrHeight( elem, name, extra ); + }) : + getWidthOrHeight( elem, name, extra ); + } + }, + + set: function( elem, value, extra ) { + var styles = extra && getStyles( elem ); + return setPositiveNumber( elem, value, extra ? + augmentWidthOrHeight( + elem, + name, + extra, + jQuery.support.boxSizing && jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + styles + ) : 0 + ); + } + }; +}); + +if ( !jQuery.support.opacity ) { + jQuery.cssHooks.opacity = { + get: function( elem, computed ) { + // IE uses filters for opacity + return ropacity.test( (computed && elem.currentStyle ? elem.currentStyle.filter : elem.style.filter) || "" ) ? + ( 0.01 * parseFloat( RegExp.$1 ) ) + "" : + computed ? "1" : ""; + }, + + set: function( elem, value ) { + var style = elem.style, + currentStyle = elem.currentStyle, + opacity = jQuery.isNumeric( value ) ? "alpha(opacity=" + value * 100 + ")" : "", + filter = currentStyle && currentStyle.filter || style.filter || ""; + + // IE has trouble with opacity if it does not have layout + // Force it by setting the zoom level + style.zoom = 1; + + // if setting opacity to 1, and no other filters exist - attempt to remove filter attribute #6652 + // if value === "", then remove inline opacity #12685 + if ( ( value >= 1 || value === "" ) && + jQuery.trim( filter.replace( ralpha, "" ) ) === "" && + style.removeAttribute ) { + + // Setting style.filter to null, "" & " " still leave "filter:" in the cssText + // if "filter:" is present at all, clearType is disabled, we want to avoid this + // style.removeAttribute is IE Only, but so apparently is this code path... + style.removeAttribute( "filter" ); + + // if there is no filter style applied in a css rule or unset inline opacity, we are done + if ( value === "" || currentStyle && !currentStyle.filter ) { + return; + } + } + + // otherwise, set new filter values + style.filter = ralpha.test( filter ) ? + filter.replace( ralpha, opacity ) : + filter + " " + opacity; + } + }; +} + +// These hooks cannot be added until DOM ready because the support test +// for it is not run until after DOM ready +jQuery(function() { + if ( !jQuery.support.reliableMarginRight ) { + jQuery.cssHooks.marginRight = { + get: function( elem, computed ) { + if ( computed ) { + // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right + // Work around by temporarily setting element display to inline-block + return jQuery.swap( elem, { "display": "inline-block" }, + curCSS, [ elem, "marginRight" ] ); + } + } + }; + } + + // Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084 + // getComputedStyle returns percent when specified for top/left/bottom/right + // rather than make the css module depend on the offset module, we just check for it here + if ( !jQuery.support.pixelPosition && jQuery.fn.position ) { + jQuery.each( [ "top", "left" ], function( i, prop ) { + jQuery.cssHooks[ prop ] = { + get: function( elem, computed ) { + if ( computed ) { + computed = curCSS( elem, prop ); + // if curCSS returns percentage, fallback to offset + return rnumnonpx.test( computed ) ? + jQuery( elem ).position()[ prop ] + "px" : + computed; + } + } + }; + }); + } + +}); + +if ( jQuery.expr && jQuery.expr.filters ) { + jQuery.expr.filters.hidden = function( elem ) { + // Support: Opera <= 12.12 + // Opera reports offsetWidths and offsetHeights less than zero on some elements + return elem.offsetWidth <= 0 && elem.offsetHeight <= 0 || + (!jQuery.support.reliableHiddenOffsets && ((elem.style && elem.style.display) || jQuery.css( elem, "display" )) === "none"); + }; + + jQuery.expr.filters.visible = function( elem ) { + return !jQuery.expr.filters.hidden( elem ); + }; +} + +// These hooks are used by animate to expand properties +jQuery.each({ + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // assumes a single number if not a string + parts = typeof value === "string" ? value.split(" ") : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( !rmargin.test( prefix ) ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +}); +var r20 = /%20/g, + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +jQuery.fn.extend({ + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map(function(){ + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + }) + .filter(function(){ + var type = this.type; + // Use .is(":disabled") so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !manipulation_rcheckableType.test( type ) ); + }) + .map(function( i, elem ){ + var val = jQuery( this ).val(); + + return val == null ? + null : + jQuery.isArray( val ) ? + jQuery.map( val, function( val ){ + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + }) : + { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + }).get(); + } +}); + +//Serialize an array of form elements or a set of +//key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, value ) { + // If value is a function, invoke it and return its value + value = jQuery.isFunction( value ) ? value() : ( value == null ? "" : value ); + s[ s.length ] = encodeURIComponent( key ) + "=" + encodeURIComponent( value ); + }; + + // Set traditional to true for jQuery <= 1.3.2 behavior. + if ( traditional === undefined ) { + traditional = jQuery.ajaxSettings && jQuery.ajaxSettings.traditional; + } + + // If an array was passed in, assume that it is an array of form elements. + if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + }); + + } else { + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ).replace( r20, "+" ); +}; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( jQuery.isArray( obj ) ) { + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + // Item is non-scalar (array or object), encode its numeric index. + buildParams( prefix + "[" + ( typeof v === "object" ? i : "" ) + "]", v, traditional, add ); + } + }); + + } else if ( !traditional && jQuery.type( obj ) === "object" ) { + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + // Serialize scalar item. + add( prefix, obj ); + } +} +jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " + + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + + "change select submit keydown keypress keyup error contextmenu").split(" "), function( i, name ) { + + // Handle event binding + jQuery.fn[ name ] = function( data, fn ) { + return arguments.length > 0 ? + this.on( name, null, data, fn ) : + this.trigger( name ); + }; +}); + +jQuery.fn.hover = function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); +}; +var + // Document location + ajaxLocParts, + ajaxLocation, + ajax_nonce = jQuery.now(), + + ajax_rquery = /\?/, + rhash = /#.*$/, + rts = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg, // IE leaves an \r character at EOL + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + rurl = /^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/, + + // Keep a copy of the old load method + _load = jQuery.fn.load, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat("*"); + +// #8138, IE may throw an exception when accessing +// a field from window.location if document.domain has been set +try { + ajaxLocation = location.href; +} catch( e ) { + // Use the href attribute of an A element + // since IE will modify it given document.location + ajaxLocation = document.createElement( "a" ); + ajaxLocation.href = ""; + ajaxLocation = ajaxLocation.href; +} + +// Segment location into parts +ajaxLocParts = rurl.exec( ajaxLocation.toLowerCase() ) || []; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( core_rnotwhite ) || []; + + if ( jQuery.isFunction( func ) ) { + // For each dataType in the dataTypeExpression + while ( (dataType = dataTypes[i++]) ) { + // Prepend if requested + if ( dataType[0] === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + (structure[ dataType ] = structure[ dataType ] || []).unshift( func ); + + // Otherwise append + } else { + (structure[ dataType ] = structure[ dataType ] || []).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if( typeof dataTypeOrTransport === "string" && !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + }); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var deep, key, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || (deep = {}) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +jQuery.fn.load = function( url, params, callback ) { + if ( typeof url !== "string" && _load ) { + return _load.apply( this, arguments ); + } + + var selector, response, type, + self = this, + off = url.indexOf(" "); + + if ( off >= 0 ) { + selector = url.slice( off, url.length ); + url = url.slice( 0, off ); + } + + // If it's a function + if ( jQuery.isFunction( params ) ) { + + // We assume that it's the callback + callback = params; + params = undefined; + + // Otherwise, build a param string + } else if ( params && typeof params === "object" ) { + type = "POST"; + } + + // If we have elements to modify, make the request + if ( self.length > 0 ) { + jQuery.ajax({ + url: url, + + // if "type" variable is undefined, then "GET" method will be used + type: type, + dataType: "html", + data: params + }).done(function( responseText ) { + + // Save response for use in complete callback + response = arguments; + + self.html( selector ? + + // If a selector was specified, locate the right elements in a dummy div + // Exclude scripts to avoid IE 'Permission Denied' errors + jQuery("<div>").append( jQuery.parseHTML( responseText ) ).find( selector ) : + + // Otherwise use the full result + responseText ); + + }).complete( callback && function( jqXHR, status ) { + self.each( callback, response || [ jqXHR.responseText, status, jqXHR ] ); + }); + } + + return this; +}; + +// Attach a bunch of functions for handling common AJAX events +jQuery.each( [ "ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend" ], function( i, type ){ + jQuery.fn[ type ] = function( fn ){ + return this.on( type, fn ); + }; +}); + +jQuery.each( [ "get", "post" ], function( i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + // shift arguments if data argument was omitted + if ( jQuery.isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + return jQuery.ajax({ + url: url, + type: method, + dataType: type, + data: data, + success: callback + }); + }; +}); + +jQuery.extend({ + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: ajaxLocation, + type: "GET", + isLocal: rlocalProtocol.test( ajaxLocParts[ 1 ] ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + + contents: { + xml: /xml/, + html: /html/, + json: /json/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": window.String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": jQuery.parseJSON, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var // Cross-domain detection vars + parts, + // Loop variable + i, + // URL without anti-cache param + cacheURL, + // Response headers as string + responseHeadersString, + // timeout handle + timeoutTimer, + + // To know if global events are to be dispatched + fireGlobals, + + transport, + // Response headers + responseHeaders, + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + // Callbacks context + callbackContext = s.context || s, + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks("once memory"), + // Status-dependent callbacks + statusCode = s.statusCode || {}, + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + // The jqXHR state + state = 0, + // Default abort message + strAbort = "canceled", + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( state === 2 ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( (match = rheaders.exec( responseHeadersString )) ) { + responseHeaders[ match[1].toLowerCase() ] = match[ 2 ]; + } + } + match = responseHeaders[ key.toLowerCase() ]; + } + return match == null ? null : match; + }, + + // Raw string + getAllResponseHeaders: function() { + return state === 2 ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + var lname = name.toLowerCase(); + if ( !state ) { + name = requestHeadersNames[ lname ] = requestHeadersNames[ lname ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( !state ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( state < 2 ) { + for ( code in map ) { + // Lazy-add the new callback in a way that preserves old ones + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } else { + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ).complete = completeDeferred.add; + jqXHR.success = jqXHR.done; + jqXHR.error = jqXHR.fail; + + // Remove hash character (#7531: and string promotion) + // Add protocol if not provided (#5866: IE7 issue with protocol-less urls) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || ajaxLocation ) + "" ).replace( rhash, "" ).replace( rprotocol, ajaxLocParts[ 1 ] + "//" ); + + // Alias method option to type as per ticket #12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = jQuery.trim( s.dataType || "*" ).toLowerCase().match( core_rnotwhite ) || [""]; + + // A cross-domain request is in order when we have a protocol:host:port mismatch + if ( s.crossDomain == null ) { + parts = rurl.exec( s.url.toLowerCase() ); + s.crossDomain = !!( parts && + ( parts[ 1 ] !== ajaxLocParts[ 1 ] || parts[ 2 ] !== ajaxLocParts[ 2 ] || + ( parts[ 3 ] || ( parts[ 1 ] === "http:" ? 80 : 443 ) ) != + ( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === "http:" ? 80 : 443 ) ) ) + ); + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( state === 2 ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + fireGlobals = s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger("ajaxStart"); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + cacheURL = s.url; + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // If data is available, append data to url + if ( s.data ) { + cacheURL = ( s.url += ( ajax_rquery.test( cacheURL ) ? "&" : "?" ) + s.data ); + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add anti-cache in url if needed + if ( s.cache === false ) { + s.url = rts.test( cacheURL ) ? + + // If there is already a '_' parameter, set its value + cacheURL.replace( rts, "$1_=" + ajax_nonce++ ) : + + // Otherwise add one to the end + cacheURL + ( ajax_rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ajax_nonce++; + } + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[0] ] ? + s.accepts[ s.dataTypes[0] ] + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || state === 2 ) ) { + // Abort if not done already and return + return jqXHR.abort(); + } + + // aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + for ( i in { success: 1, error: 1, complete: 1 } ) { + jqXHR[ i ]( s[ i ] ); + } + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = setTimeout(function() { + jqXHR.abort("timeout"); + }, s.timeout ); + } + + try { + state = 1; + transport.send( requestHeaders, done ); + } catch ( e ) { + // Propagate exception as error if not done + if ( state < 2 ) { + done( -1, e ); + // Simply rethrow otherwise + } else { + throw e; + } + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Called once + if ( state === 2 ) { + return; + } + + // State is "done" now + state = 2; + + // Clear timeout if it exists + if ( timeoutTimer ) { + clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // If successful, handle type chaining + if ( status >= 200 && status < 300 || status === 304 ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader("Last-Modified"); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader("etag"); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 ) { + isSuccess = true; + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + isSuccess = true; + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + isSuccess = ajaxConvert( s, response ); + statusText = isSuccess.state; + success = isSuccess.data; + error = isSuccess.error; + isSuccess = !error; + } + } else { + // We extract error from statusText + // then normalize statusText and status for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger("ajaxStop"); + } + } + } + + return jqXHR; + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + } +}); + +/* Handles responses to an ajax request: + * - sets all responseXXX fields accordingly + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + var firstDataType, ct, finalDataType, type, + contents = s.contents, + dataTypes = s.dataTypes, + responseFields = s.responseFields; + + // Fill responseXXX fields + for ( type in responseFields ) { + if ( type in responses ) { + jqXHR[ responseFields[type] ] = responses[ type ]; + } + } + + // Remove auto dataType and get content-type in the process + while( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader("Content-Type"); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[0] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +// Chain conversions given the request and the original response +function ajaxConvert( s, response ) { + var conv2, current, conv, tmp, + converters = {}, + i = 0, + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(), + prev = dataTypes[ 0 ]; + + // Apply the dataFilter if provided + if ( s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + // Convert to each sequential dataType, tolerating list modification + for ( ; (current = dataTypes[++i]); ) { + + // There's only work to do if current dataType is non-auto + if ( current !== "*" ) { + + // Convert response if prev dataType is non-auto and differs from current + if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split(" "); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.splice( i--, 0, current ); + } + + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s["throws"] ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { state: "parsererror", error: conv ? e : "No conversion from " + prev + " to " + current }; + } + } + } + } + + // Update prev for next iteration + prev = current; + } + } + + return { state: "success", data: response }; +} +// Install script dataType +jQuery.ajaxSetup({ + accepts: { + script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /(?:java|ecma)script/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +}); + +// Handle cache's special case and global +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + s.global = false; + } +}); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function(s) { + + // This transport only deals with cross domain requests + if ( s.crossDomain ) { + + var script, + head = document.head || jQuery("head")[0] || document.documentElement; + + return { + + send: function( _, callback ) { + + script = document.createElement("script"); + + script.async = true; + + if ( s.scriptCharset ) { + script.charset = s.scriptCharset; + } + + script.src = s.url; + + // Attach handlers for all browsers + script.onload = script.onreadystatechange = function( _, isAbort ) { + + if ( isAbort || !script.readyState || /loaded|complete/.test( script.readyState ) ) { + + // Handle memory leak in IE + script.onload = script.onreadystatechange = null; + + // Remove the script + if ( script.parentNode ) { + script.parentNode.removeChild( script ); + } + + // Dereference the script + script = null; + + // Callback if not abort + if ( !isAbort ) { + callback( 200, "success" ); + } + } + }; + + // Circumvent IE6 bugs with base elements (#2709 and #4378) by prepending + // Use native DOM manipulation to avoid our domManip AJAX trickery + head.insertBefore( script, head.firstChild ); + }, + + abort: function() { + if ( script ) { + script.onload( undefined, true ); + } + } + }; + } +}); +var oldCallbacks = [], + rjsonp = /(=)\?(?=&|$)|\?\?/; + +// Default jsonp settings +jQuery.ajaxSetup({ + jsonp: "callback", + jsonpCallback: function() { + var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( ajax_nonce++ ) ); + this[ callback ] = true; + return callback; + } +}); + +// Detect, normalize options and install callbacks for jsonp requests +jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { + + var callbackName, overwritten, responseContainer, + jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ? + "url" : + typeof s.data === "string" && !( s.contentType || "" ).indexOf("application/x-www-form-urlencoded") && rjsonp.test( s.data ) && "data" + ); + + // Handle iff the expected data type is "jsonp" or we have a parameter to set + if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) { + + // Get callback name, remembering preexisting value associated with it + callbackName = s.jsonpCallback = jQuery.isFunction( s.jsonpCallback ) ? + s.jsonpCallback() : + s.jsonpCallback; + + // Insert callback into url or form data + if ( jsonProp ) { + s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName ); + } else if ( s.jsonp !== false ) { + s.url += ( ajax_rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName; + } + + // Use data converter to retrieve json after script execution + s.converters["script json"] = function() { + if ( !responseContainer ) { + jQuery.error( callbackName + " was not called" ); + } + return responseContainer[ 0 ]; + }; + + // force json dataType + s.dataTypes[ 0 ] = "json"; + + // Install callback + overwritten = window[ callbackName ]; + window[ callbackName ] = function() { + responseContainer = arguments; + }; + + // Clean-up function (fires after converters) + jqXHR.always(function() { + // Restore preexisting value + window[ callbackName ] = overwritten; + + // Save back as free + if ( s[ callbackName ] ) { + // make sure that re-using the options doesn't screw things around + s.jsonpCallback = originalSettings.jsonpCallback; + + // save the callback name for future use + oldCallbacks.push( callbackName ); + } + + // Call if it was a function and we have a response + if ( responseContainer && jQuery.isFunction( overwritten ) ) { + overwritten( responseContainer[ 0 ] ); + } + + responseContainer = overwritten = undefined; + }); + + // Delegate to script + return "script"; + } +}); +var xhrCallbacks, xhrSupported, + xhrId = 0, + // #5280: Internet Explorer will keep connections alive if we don't abort on unload + xhrOnUnloadAbort = window.ActiveXObject && function() { + // Abort all pending requests + var key; + for ( key in xhrCallbacks ) { + xhrCallbacks[ key ]( undefined, true ); + } + }; + +// Functions to create xhrs +function createStandardXHR() { + try { + return new window.XMLHttpRequest(); + } catch( e ) {} +} + +function createActiveXHR() { + try { + return new window.ActiveXObject("Microsoft.XMLHTTP"); + } catch( e ) {} +} + +// Create the request object +// (This is still attached to ajaxSettings for backward compatibility) +jQuery.ajaxSettings.xhr = window.ActiveXObject ? + /* Microsoft failed to properly + * implement the XMLHttpRequest in IE7 (can't request local files), + * so we use the ActiveXObject when it is available + * Additionally XMLHttpRequest can be disabled in IE7/IE8 so + * we need a fallback. + */ + function() { + return !this.isLocal && createStandardXHR() || createActiveXHR(); + } : + // For all other browsers, use the standard XMLHttpRequest object + createStandardXHR; + +// Determine support properties +xhrSupported = jQuery.ajaxSettings.xhr(); +jQuery.support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +xhrSupported = jQuery.support.ajax = !!xhrSupported; + +// Create transport if the browser can provide an xhr +if ( xhrSupported ) { + + jQuery.ajaxTransport(function( s ) { + // Cross domain only allowed if supported through XMLHttpRequest + if ( !s.crossDomain || jQuery.support.cors ) { + + var callback; + + return { + send: function( headers, complete ) { + + // Get a new xhr + var handle, i, + xhr = s.xhr(); + + // Open the socket + // Passing null username, generates a login popup on Opera (#2865) + if ( s.username ) { + xhr.open( s.type, s.url, s.async, s.username, s.password ); + } else { + xhr.open( s.type, s.url, s.async ); + } + + // Apply custom fields if provided + if ( s.xhrFields ) { + for ( i in s.xhrFields ) { + xhr[ i ] = s.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( s.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( s.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !s.crossDomain && !headers["X-Requested-With"] ) { + headers["X-Requested-With"] = "XMLHttpRequest"; + } + + // Need an extra try/catch for cross domain requests in Firefox 3 + try { + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + } catch( err ) {} + + // Do send the request + // This may raise an exception which is actually + // handled in jQuery.ajax (so no try/catch here) + xhr.send( ( s.hasContent && s.data ) || null ); + + // Listener + callback = function( _, isAbort ) { + var status, responseHeaders, statusText, responses; + + // Firefox throws exceptions when accessing properties + // of an xhr when a network error occurred + // http://helpful.knobs-dials.com/index.php/Component_returned_failure_code:_0x80040111_(NS_ERROR_NOT_AVAILABLE) + try { + + // Was never called and is aborted or complete + if ( callback && ( isAbort || xhr.readyState === 4 ) ) { + + // Only called once + callback = undefined; + + // Do not keep as active anymore + if ( handle ) { + xhr.onreadystatechange = jQuery.noop; + if ( xhrOnUnloadAbort ) { + delete xhrCallbacks[ handle ]; + } + } + + // If it's an abort + if ( isAbort ) { + // Abort it manually if needed + if ( xhr.readyState !== 4 ) { + xhr.abort(); + } + } else { + responses = {}; + status = xhr.status; + responseHeaders = xhr.getAllResponseHeaders(); + + // When requesting binary data, IE6-9 will throw an exception + // on any attempt to access responseText (#11426) + if ( typeof xhr.responseText === "string" ) { + responses.text = xhr.responseText; + } + + // Firefox throws an exception when accessing + // statusText for faulty cross-domain requests + try { + statusText = xhr.statusText; + } catch( e ) { + // We normalize with Webkit giving an empty statusText + statusText = ""; + } + + // Filter status for non standard behaviors + + // If the request is local and we have data: assume a success + // (success with no data won't get notified, that's the best we + // can do given current implementations) + if ( !status && s.isLocal && !s.crossDomain ) { + status = responses.text ? 200 : 404; + // IE - #1450: sometimes returns 1223 when it should be 204 + } else if ( status === 1223 ) { + status = 204; + } + } + } + } catch( firefoxAccessException ) { + if ( !isAbort ) { + complete( -1, firefoxAccessException ); + } + } + + // Call complete if needed + if ( responses ) { + complete( status, statusText, responses, responseHeaders ); + } + }; + + if ( !s.async ) { + // if we're in sync mode we fire the callback + callback(); + } else if ( xhr.readyState === 4 ) { + // (IE6 & IE7) if it's in cache and has been + // retrieved directly we need to fire the callback + setTimeout( callback ); + } else { + handle = ++xhrId; + if ( xhrOnUnloadAbort ) { + // Create the active xhrs callbacks list if needed + // and attach the unload handler + if ( !xhrCallbacks ) { + xhrCallbacks = {}; + jQuery( window ).unload( xhrOnUnloadAbort ); + } + // Add to list of active xhrs callbacks + xhrCallbacks[ handle ] = callback; + } + xhr.onreadystatechange = callback; + } + }, + + abort: function() { + if ( callback ) { + callback( undefined, true ); + } + } + }; + } + }); +} +var fxNow, timerId, + rfxtypes = /^(?:toggle|show|hide)$/, + rfxnum = new RegExp( "^(?:([+-])=|)(" + core_pnum + ")([a-z%]*)$", "i" ), + rrun = /queueHooks$/, + animationPrefilters = [ defaultPrefilter ], + tweeners = { + "*": [function( prop, value ) { + var end, unit, + tween = this.createTween( prop, value ), + parts = rfxnum.exec( value ), + target = tween.cur(), + start = +target || 0, + scale = 1, + maxIterations = 20; + + if ( parts ) { + end = +parts[2]; + unit = parts[3] || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + + // We need to compute starting value + if ( unit !== "px" && start ) { + // Iteratively approximate from a nonzero starting point + // Prefer the current property, because this process will be trivial if it uses the same units + // Fallback to end or a simple constant + start = jQuery.css( tween.elem, prop, true ) || end || 1; + + do { + // If previous iteration zeroed out, double until we get *something* + // Use a string for doubling factor so we don't accidentally see scale as unchanged below + scale = scale || ".5"; + + // Adjust and apply + start = start / scale; + jQuery.style( tween.elem, prop, start + unit ); + + // Update scale, tolerating zero or NaN from tween.cur() + // And breaking the loop if scale is unchanged or perfect, or if we've just had enough + } while ( scale !== (scale = tween.cur() / target) && scale !== 1 && --maxIterations ); + } + + tween.unit = unit; + tween.start = start; + // If a +=/-= token was provided, we're doing a relative animation + tween.end = parts[1] ? start + ( parts[1] + 1 ) * end : end; + } + return tween; + }] + }; + +// Animations created synchronously will run synchronously +function createFxNow() { + setTimeout(function() { + fxNow = undefined; + }); + return ( fxNow = jQuery.now() ); +} + +function createTweens( animation, props ) { + jQuery.each( props, function( prop, value ) { + var collection = ( tweeners[ prop ] || [] ).concat( tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( collection[ index ].call( animation, prop, value ) ) { + + // we're done with this property + return; + } + } + }); +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = animationPrefilters.length, + deferred = jQuery.Deferred().always( function() { + // don't match elem in the :animated selector + delete tick.elem; + }), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + // archaic crash bug won't allow us to use 1 - ( 0.5 || 0 ) (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length ; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ]); + + if ( percent < 1 && length ) { + return remaining; + } else { + deferred.resolveWith( elem, [ animation ] ); + return false; + } + }, + animation = deferred.promise({ + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { specialEasing: {} }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + // if we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length ; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // resolve when we played the last frame + // otherwise, reject + if ( gotoEnd ) { + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + }), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length ; index++ ) { + result = animationPrefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + return result; + } + } + + createTweens( animation, props ); + + if ( jQuery.isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + }) + ); + + // attach callbacks from options + return animation.progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); +} + +function propFilter( props, specialEasing ) { + var value, name, index, easing, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = jQuery.camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( jQuery.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // not quite $.extend, this wont overwrite keys already present. + // also - reusing 'index' from above because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweener: function( props, callback ) { + if ( jQuery.isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.split(" "); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length ; index++ ) { + prop = props[ index ]; + tweeners[ prop ] = tweeners[ prop ] || []; + tweeners[ prop ].unshift( callback ); + } + }, + + prefilter: function( callback, prepend ) { + if ( prepend ) { + animationPrefilters.unshift( callback ); + } else { + animationPrefilters.push( callback ); + } + } +}); + +function defaultPrefilter( elem, props, opts ) { + /*jshint validthis:true */ + var prop, index, length, + value, dataShow, toggle, + tween, hooks, oldfire, + anim = this, + style = elem.style, + orig = {}, + handled = [], + hidden = elem.nodeType && isHidden( elem ); + + // handle queue: false promises + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always(function() { + // doing this makes sure that the complete handler will be called + // before this completes + anim.always(function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + }); + }); + } + + // height/width overflow pass + if ( elem.nodeType === 1 && ( "height" in props || "width" in props ) ) { + // Make sure that nothing sneaks out + // Record all 3 overflow attributes because IE does not + // change the overflow attribute when overflowX and + // overflowY are set to the same value + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Set display property to inline-block for height/width + // animations on inline elements that are having width/height animated + if ( jQuery.css( elem, "display" ) === "inline" && + jQuery.css( elem, "float" ) === "none" ) { + + // inline-level elements accept inline-block; + // block-level elements need to be inline with layout + if ( !jQuery.support.inlineBlockNeedsLayout || css_defaultDisplay( elem.nodeName ) === "inline" ) { + style.display = "inline-block"; + + } else { + style.zoom = 1; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + if ( !jQuery.support.shrinkWrapBlocks ) { + anim.always(function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + }); + } + } + + + // show/hide pass + for ( index in props ) { + value = props[ index ]; + if ( rfxtypes.exec( value ) ) { + delete props[ index ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + continue; + } + handled.push( index ); + } + } + + length = handled.length; + if ( length ) { + dataShow = jQuery._data( elem, "fxshow" ) || jQuery._data( elem, "fxshow", {} ); + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + + // store state if its toggle - enables .stop().toggle() to "reverse" + if ( toggle ) { + dataShow.hidden = !hidden; + } + if ( hidden ) { + jQuery( elem ).show(); + } else { + anim.done(function() { + jQuery( elem ).hide(); + }); + } + anim.done(function() { + var prop; + jQuery._removeData( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + }); + for ( index = 0 ; index < length ; index++ ) { + prop = handled[ index ]; + tween = anim.createTween( prop, hidden ? dataShow[ prop ] : 0 ); + orig[ prop ] = dataShow[ prop ] || jQuery.style( elem, prop ); + + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = tween.start; + if ( hidden ) { + tween.end = tween.start; + tween.start = prop === "width" || prop === "height" ? 1 : 0; + } + } + } + } +} + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || "swing"; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + if ( tween.elem[ tween.prop ] != null && + (!tween.elem.style || tween.elem.style[ tween.prop ] == null) ) { + return tween.elem[ tween.prop ]; + } + + // passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails + // so, simple values such as "10px" are parsed to Float. + // complex values such as "rotate(1rad)" are returned as is. + result = jQuery.css( tween.elem, tween.prop, "" ); + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + // use step hook for back compat - use cssHook if its there - use .style if its + // available and use plain properties where available + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.style && ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || jQuery.cssHooks[ tween.prop ] ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Remove in 2.0 - this supports IE8's panic based approach +// to setting things on disconnected nodes + +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.each([ "toggle", "show", "hide" ], function( i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +}); + +jQuery.fn.extend({ + fadeTo: function( speed, to, easing, callback ) { + + // show any hidden elements after setting opacity to 0 + return this.filter( isHidden ).css( "opacity", 0 ).show() + + // animate to the value specified + .end().animate({ opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + doAnimation.finish = function() { + anim.stop( true ); + }; + // Empty animations, or finishing resolves immediately + if ( empty || jQuery._data( this, "finish" ) ) { + anim.stop( true ); + } + }; + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue && type !== false ) { + this.queue( type || "fx", [] ); + } + + return this.each(function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = jQuery._data( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && (type == null || timers[ index ].queue === type) ) { + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // start the next in the queue if the last step wasn't forced + // timers currently will call their complete callbacks, which will dequeue + // but only if they were gotoEnd + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + }); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each(function() { + var index, + data = jQuery._data( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // enable finishing flag on private data + data.finish = true; + + // empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.cur && hooks.cur.finish ) { + hooks.cur.finish.call( this ); + } + + // look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // turn off finishing flag + delete data.finish; + }); + } +}); + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + attrs = { height: type }, + i = 0; + + // if we include width, step value is 1 to do all cssExpand values, + // if we don't include width, step value is 2 to skip over Left and Right + includeWidth = includeWidth? 1 : 0; + for( ; i < 4 ; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +// Generate shortcuts for custom animations +jQuery.each({ + slideDown: genFx("show"), + slideUp: genFx("hide"), + slideToggle: genFx("toggle"), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +}); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + jQuery.isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing + }; + + opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration : + opt.duration in jQuery.fx.speeds ? jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default; + + // normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( jQuery.isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p*Math.PI ) / 2; + } +}; + +jQuery.timers = []; +jQuery.fx = Tween.prototype.init; +jQuery.fx.tick = function() { + var timer, + timers = jQuery.timers, + i = 0; + + fxNow = jQuery.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + // Checks the timer has not already been removed + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + if ( timer() && jQuery.timers.push( timer ) ) { + jQuery.fx.start(); + } +}; + +jQuery.fx.interval = 13; + +jQuery.fx.start = function() { + if ( !timerId ) { + timerId = setInterval( jQuery.fx.tick, jQuery.fx.interval ); + } +}; + +jQuery.fx.stop = function() { + clearInterval( timerId ); + timerId = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + // Default speed + _default: 400 +}; + +// Back Compat <1.8 extension point +jQuery.fx.step = {}; + +if ( jQuery.expr && jQuery.expr.filters ) { + jQuery.expr.filters.animated = function( elem ) { + return jQuery.grep(jQuery.timers, function( fn ) { + return elem === fn.elem; + }).length; + }; +} +jQuery.fn.offset = function( options ) { + if ( arguments.length ) { + return options === undefined ? + this : + this.each(function( i ) { + jQuery.offset.setOffset( this, options, i ); + }); + } + + var docElem, win, + box = { top: 0, left: 0 }, + elem = this[ 0 ], + doc = elem && elem.ownerDocument; + + if ( !doc ) { + return; + } + + docElem = doc.documentElement; + + // Make sure it's not a disconnected DOM node + if ( !jQuery.contains( docElem, elem ) ) { + return box; + } + + // If we don't have gBCR, just use 0,0 rather than error + // BlackBerry 5, iOS 3 (original iPhone) + if ( typeof elem.getBoundingClientRect !== core_strundefined ) { + box = elem.getBoundingClientRect(); + } + win = getWindow( doc ); + return { + top: box.top + ( win.pageYOffset || docElem.scrollTop ) - ( docElem.clientTop || 0 ), + left: box.left + ( win.pageXOffset || docElem.scrollLeft ) - ( docElem.clientLeft || 0 ) + }; +}; + +jQuery.offset = { + + setOffset: function( elem, options, i ) { + var position = jQuery.css( elem, "position" ); + + // set position first, in-case top/left are set even on static elem + if ( position === "static" ) { + elem.style.position = "relative"; + } + + var curElem = jQuery( elem ), + curOffset = curElem.offset(), + curCSSTop = jQuery.css( elem, "top" ), + curCSSLeft = jQuery.css( elem, "left" ), + calculatePosition = ( position === "absolute" || position === "fixed" ) && jQuery.inArray("auto", [curCSSTop, curCSSLeft]) > -1, + props = {}, curPosition = {}, curTop, curLeft; + + // need to be able to calculate position if either top or left is auto and position is either absolute or fixed + if ( calculatePosition ) { + curPosition = curElem.position(); + curTop = curPosition.top; + curLeft = curPosition.left; + } else { + curTop = parseFloat( curCSSTop ) || 0; + curLeft = parseFloat( curCSSLeft ) || 0; + } + + if ( jQuery.isFunction( options ) ) { + options = options.call( elem, i, curOffset ); + } + + if ( options.top != null ) { + props.top = ( options.top - curOffset.top ) + curTop; + } + if ( options.left != null ) { + props.left = ( options.left - curOffset.left ) + curLeft; + } + + if ( "using" in options ) { + options.using.call( elem, props ); + } else { + curElem.css( props ); + } + } +}; + + +jQuery.fn.extend({ + + position: function() { + if ( !this[ 0 ] ) { + return; + } + + var offsetParent, offset, + parentOffset = { top: 0, left: 0 }, + elem = this[ 0 ]; + + // fixed elements are offset from window (parentOffset = {top:0, left: 0}, because it is it's only offset parent + if ( jQuery.css( elem, "position" ) === "fixed" ) { + // we assume that getBoundingClientRect is available when computed position is fixed + offset = elem.getBoundingClientRect(); + } else { + // Get *real* offsetParent + offsetParent = this.offsetParent(); + + // Get correct offsets + offset = this.offset(); + if ( !jQuery.nodeName( offsetParent[ 0 ], "html" ) ) { + parentOffset = offsetParent.offset(); + } + + // Add offsetParent borders + parentOffset.top += jQuery.css( offsetParent[ 0 ], "borderTopWidth", true ); + parentOffset.left += jQuery.css( offsetParent[ 0 ], "borderLeftWidth", true ); + } + + // Subtract parent offsets and element margins + // note: when an element has margin: auto the offsetLeft and marginLeft + // are the same in Safari causing offset.left to incorrectly be 0 + return { + top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ), + left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true) + }; + }, + + offsetParent: function() { + return this.map(function() { + var offsetParent = this.offsetParent || document.documentElement; + while ( offsetParent && ( !jQuery.nodeName( offsetParent, "html" ) && jQuery.css( offsetParent, "position") === "static" ) ) { + offsetParent = offsetParent.offsetParent; + } + return offsetParent || document.documentElement; + }); + } +}); + + +// Create scrollLeft and scrollTop methods +jQuery.each( {scrollLeft: "pageXOffset", scrollTop: "pageYOffset"}, function( method, prop ) { + var top = /Y/.test( prop ); + + jQuery.fn[ method ] = function( val ) { + return jQuery.access( this, function( elem, method, val ) { + var win = getWindow( elem ); + + if ( val === undefined ) { + return win ? (prop in win) ? win[ prop ] : + win.document.documentElement[ method ] : + elem[ method ]; + } + + if ( win ) { + win.scrollTo( + !top ? val : jQuery( win ).scrollLeft(), + top ? val : jQuery( win ).scrollTop() + ); + + } else { + elem[ method ] = val; + } + }, method, val, arguments.length, null ); + }; +}); + +function getWindow( elem ) { + return jQuery.isWindow( elem ) ? + elem : + elem.nodeType === 9 ? + elem.defaultView || elem.parentWindow : + false; +} +// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods +jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { + jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name }, function( defaultExtra, funcName ) { + // margin is only for outerHeight, outerWidth + jQuery.fn[ funcName ] = function( margin, value ) { + var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ), + extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" ); + + return jQuery.access( this, function( elem, type, value ) { + var doc; + + if ( jQuery.isWindow( elem ) ) { + // As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there + // isn't a whole lot we can do. See pull request at this URL for discussion: + // https://github.com/jquery/jquery/pull/764 + return elem.document.documentElement[ "client" + name ]; + } + + // Get document width or height + if ( elem.nodeType === 9 ) { + doc = elem.documentElement; + + // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], whichever is greatest + // unfortunately, this causes bug #3838 in IE6/8 only, but there is currently no good, small way to fix it. + return Math.max( + elem.body[ "scroll" + name ], doc[ "scroll" + name ], + elem.body[ "offset" + name ], doc[ "offset" + name ], + doc[ "client" + name ] + ); + } + + return value === undefined ? + // Get width or height on the element, requesting but not forcing parseFloat + jQuery.css( elem, type, extra ) : + + // Set width or height on the element + jQuery.style( elem, type, value, extra ); + }, type, chainable ? margin : undefined, chainable, null ); + }; + }); +}); +// Limit scope pollution from any deprecated API +// (function() { + +// })(); +// Expose jQuery to the global object +window.jQuery = window.$ = jQuery; + +// Expose jQuery as an AMD module, but only for AMD loaders that +// understand the issues with loading multiple versions of jQuery +// in a page that all might call define(). The loader will indicate +// they have special allowances for multiple jQuery versions by +// specifying define.amd.jQuery = true. Register as a named module, +// since jQuery can be concatenated with other files that may use define, +// but not use a proper concatenation script that understands anonymous +// AMD modules. A named AMD is safest and most robust way to register. +// Lowercase jquery is used because AMD module names are derived from +// file names, and jQuery is normally delivered in a lowercase file name. +// Do this after creating the global so that if an AMD module wants to call +// noConflict to hide this version of jQuery, it will work. +if ( typeof define === "function" && define.amd && define.amd.jQuery ) { + define( "jquery", [], function () { return jQuery; } ); +} + +})( window ); diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/README.md b/QuickTemplate/node_modules/domino/test/htmlwg/README.md new file mode 100644 index 0000000..a384f97 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/README.md @@ -0,0 +1,3 @@ +# Tests from the HTML Working Group + +See: http://www.w3.org/html/wg/wiki/Testing \ No newline at end of file diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/harness/index.js b/QuickTemplate/node_modules/domino/test/htmlwg/harness/index.js new file mode 100644 index 0000000..59750bc --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/harness/index.js @@ -0,0 +1,45 @@ +var fs = require('fs'); +var assert = require('assert'); +var Path = require('path'); +var domino = require('../../../lib'); + +function read(file) { + return fs.readFileSync(Path.resolve(__dirname, '..', file), 'utf8'); +} + +var testharness = read(__dirname + '/testharness.js'); + +function list(dir, fn) { + var result = {}; + dir = Path.resolve(__dirname, '..', dir); + fs.readdirSync(dir).forEach(function(file) { + var path = Path.join(dir, file); + var stat = fs.statSync(path); + if (stat.isDirectory()) { + result[file] = list(path, fn); + } + else if (file.match(/\.x?html$/)) { + var test = fn(path); + if (test) result[file] = test; + } + }); + return result; +} + +module.exports = function(path) { + return list(path, function(file) { + var html = read(file); + var window = domino.createWindow(html); + window._run(testharness); + var scripts = window.document.getElementsByTagName('script'); + if (scripts.length) { + var script = scripts[scripts.length-1]; + var code = script.textContent; + if (/assert/.test(code)) { + return function() { + window._run(code); + }; + } + } + }); +}; diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/harness/testharness.js b/QuickTemplate/node_modules/domino/test/htmlwg/harness/testharness.js new file mode 100644 index 0000000..49cd5e8 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/harness/testharness.js @@ -0,0 +1,1739 @@ +/* +Distributed under both the W3C Test Suite License [1] and the W3C +3-clause BSD License [2]. To contribute to a W3C Test Suite, see the +policies and contribution forms [3]. + +[1] http://www.w3.org/Consortium/Legal/2008/04-testsuite-license +[2] http://www.w3.org/Consortium/Legal/2008/03-bsd-license +[3] http://www.w3.org/2004/10/27-testcases +*/ + +/* + * == Introduction == + * + * This file provides a framework for writing testcases. It is intended to + * provide a convenient API for making common assertions, and to work both + * for testing synchronous and asynchronous DOM features in a way that + * promotes clear, robust, tests. + * + * == Basic Usage == + * + * To use this file, import the script and the testharnessreport script into + * the test document: + * <script src="/resources/testharness.js"></script> + * <script src="/resources/testharnessreport.js"></script> + * + * Within each file one may define one or more tests. Each test is atomic + * in the sense that a single test has a single result (pass/fail/timeout). + * Within each test one may have a number of asserts. The test fails at the + * first failing assert, and the remainder of the test is (typically) not run. + * + * If the file containing the tests is a HTML file with an element of id "log" + * this will be populated with a table containing the test results after all + * the tests have run. + * + * NOTE: By default tests must be created before the load event fires. For ways + * to create tests after the load event, see "Determining when all tests are + * complete", below + * + * == Synchronous Tests == + * + * To create a synchronous test use the test() function: + * + * test(test_function, name, properties) + * + * test_function is a function that contains the code to test. For example a + * trivial passing test would be: + * + * test(function() {assert_true(true)}, "assert_true with true") + * + * The function passed in is run in the test() call. + * + * properties is an object that overrides default test properties. The recognised properties + * are: + * timeout - the test timeout in ms + * + * e.g. + * test(test_function, "Sample test", {timeout:1000}) + * + * would run test_function with a timeout of 1s. + * + * == Asynchronous Tests == + * + * Testing asynchronous features is somewhat more complex since the result of + * a test may depend on one or more events or other callbacks. The API provided + * for testing these features is indended to be rather low-level but hopefully + * applicable to many situations. + * + * To create a test, one starts by getting a Test object using async_test: + * + * async_test(name, properties) + * + * e.g. + * var t = async_test("Simple async test") + * + * Assertions can be added to the test by calling the step method of the test + * object with a function containing the test assertions: + * + * t.step(function() {assert_true(true)}); + * + * When all the steps are complete, the done() method must be called: + * + * t.done(); + * + * The properties argument is identical to that for test(). + * + * In many cases it is convenient to run a step in response to an event or a + * callback. A convenient method of doing this is through the step_func method + * which returns a function that, when called runs a test step. For example + * + * object.some_event = t.step_func(function(e) {assert_true(e.a)}); + * + * == Making assertions == + * + * Functions for making assertions start assert_ + * The best way to get a list is to look in this file for functions names + * matching that pattern. The general signature is + * + * assert_something(actual, expected, description) + * + * although not all assertions precisely match this pattern e.g. assert_true + * only takes actual and description as arguments. + * + * The description parameter is used to present more useful error messages when + * a test fails + * + * NOTE: All asserts must be located in a test() or a step of an async_test(). + * asserts outside these places won't be detected correctly by the harness + * and may cause a file to stop testing. + * + * == Setup == + * + * Sometimes tests require non-trivial setup that may fail. For this purpose + * there is a setup() function, that may be called with one or two arguments. + * The two argument version is: + * + * setup(func, properties) + * + * The one argument versions may omit either argument. + * func is a function to be run synchronously. setup() becomes a no-op once + * any tests have returned results. Properties are global properties of the test + * harness. Currently recognised properties are: + * + * timeout - The time in ms after which the harness should stop waiting for + * tests to complete (this is different to the per-test timeout + * because async tests do not start their timer until .step is called) + * + * explicit_done - Wait for an explicit call to done() before declaring all tests + * complete (see below) + * + * output_document - The document to which results should be logged. By default this is + * the current document but could be an ancestor document in some cases + * e.g. a SVG test loaded in an HTML wrapper + * + * == Determining when all tests are complete == + * + * By default the test harness will assume there are no more results to come + * when: + * 1) There are no Test objects that have been created but not completed + * 2) The load event on the document has fired + * + * This behaviour can be overridden by setting the explicit_done property to true + * in a call to setup(). If explicit_done is true, the test harness will not assume + * it is done until the global done() function is called. Once done() is called, the + * two conditions above apply like normal. + * + * == Generating tests == + * + * NOTE: this functionality may be removed + * + * There are scenarios in which is is desirable to create a large number of + * (synchronous) tests that are internally similar but vary in the parameters + * used. To make this easier, the generate_tests function allows a single + * function to be called with each set of parameters in a list: + * + * generate_tests(test_function, parameter_lists) + * + * For example: + * + * generate_tests(assert_equals, [ + * ["Sum one and one", 1+1, 2], + * ["Sum one and zero", 1+0, 1] + * ]) + * + * Is equivalent to: + * + * test(function() {assert_equals(1+1, 2)}, "Sum one and one") + * test(function() {assert_equals(1+0, 1)}, "Sum one and zero") + * + * Note that the first item in each parameter list corresponds to the name of + * the test. + * + * == Callback API == + * + * The framework provides callbacks corresponding to 3 events: + * + * start - happens when the first Test is created + * result - happens when a test result is recieved + * complete - happens when all results are recieved + * + * The page defining the tests may add callbacks for these events by calling + * the following methods: + * + * add_start_callback(callback) - callback called with no arguments + * add_result_callback(callback) - callback called with a test argument + * add_completion_callback(callback) - callback called with an array of tests + * and an status object + * + * tests have the following properties: + * status: A status code. This can be compared to the PASS, FAIL, TIMEOUT and + * NOTRUN properties on the test object + * message: A message indicating the reason for failure. In the future this + * will always be a string + * + * The status object gives the overall status of the harness. It has the + * following properties: + * status: Can be compared to the OK, ERROR and TIMEOUT properties + * message: An error message set when the status is ERROR + * + * == External API == + * + * In order to collect the results of multiple pages containing tests, the test + * harness will, when loaded in a nested browsing context, attempt to call + * certain functions in each ancestor browsing context: + * + * start - start_callback + * result - result_callback + * complete - completion_callback + * + * These are given the same arguments as the corresponding internal callbacks + * described above. + * + * == List of assertions == + * + * assert_true(actual, description) + * asserts that /actual/ is strictly true + * + * assert_false(actual, description) + * asserts that /actual/ is strictly false + * + * assert_equals(actual, expected, description) + * asserts that /actual/ is the same value as /expected/ + * + * assert_not_equals(actual, expected, description) + * asserts that /actual/ is a different value to /expected/. Yes, this means + * that "expected" is a misnomer + * + * assert_array_equals(actual, expected, description) + * asserts that /actual/ and /expected/ have the same length and the value of + * each indexed property in /actual/ is the strictly equal to the corresponding + * property value in /expected/ + * + * assert_approx_equals(actual, expected, epsilon, description) + * asserts that /actual/ is a number within +/- /epsilon/ of /expected/ + * + * assert_regexp_match(actual, expected, description) + * asserts that /actual/ matches the regexp /expected/ + * + * assert_own_property(object, property_name, description) + * assert that object has own property property_name + * + * assert_inherits(object, property_name, description) + * assert that object does not have an own property named property_name + * but that property_name is present in the prototype chain for object + * + * assert_idl_attribute(object, attribute_name, description) + * assert that an object that is an instance of some interface has the + * attribute attribute_name following the conditions specified by WebIDL + * + * assert_readonly(object, property_name, description) + * assert that property property_name on object is readonly + * + * assert_throws(code, func, description) + * code - a DOMException/RangeException code as a string, e.g. "HIERARCHY_REQUEST_ERR" + * func - a function that should throw + * + * assert that func throws a DOMException or RangeException (as appropriate) + * with the given code. If an object is passed for code instead of a string, + * checks that the thrown exception has a property called "name" that matches + * the property of code called "name". Note, this function will probably be + * rewritten sometime to make more sense. + * + * assert_unreached(description) + * asserts if called. Used to ensure that some codepath is *not* taken e.g. + * an event does not fire. + * + * assert_exists(object, property_name, description) + * *** deprecated *** + * asserts that object has an own property property_name + * + * assert_not_exists(object, property_name, description) + * *** deprecated *** + * assert that object does not have own property property_name + */ + +(function () +{ + var debug = false; + // default timeout is 5 seconds, test can override if needed + var settings = { + output:true, + timeout:5000, + test_timeout:2000 + }; + + var xhtml_ns = "http://www.w3.org/1999/xhtml"; + + // script_prefix is used by Output.prototype.show_results() to figure out + // where to get testharness.css from. It's enclosed in an extra closure to + // not pollute the library's namespace with variables like "src". + var script_prefix = null; + (function () + { + var scripts = document.getElementsByTagName("script"); + for (var i = 0; i < scripts.length; i++) + { + if (scripts[i].src) + { + var src = scripts[i].src; + } + else if (scripts[i].href) + { + //SVG case + var src = scripts[i].href.baseVal; + } + if (src && src.slice(src.length - "testharness.js".length) === "testharness.js") + { + script_prefix = src.slice(0, src.length - "testharness.js".length); + break; + } + } + })(); + + /* + * API functions + */ + + var name_counter = 0; + function next_default_name() + { + //Don't use document.title to work around an Opera bug in XHTML documents + var prefix = document.title || "Untitled"; + var suffix = name_counter > 0 ? " " + name_counter : ""; + name_counter++; + return prefix + suffix; + } + + function test(func, name, properties) + { + var test_name = name ? name : next_default_name(); + properties = properties ? properties : {}; + var test_obj = new Test(test_name, properties); + test_obj.step(func); + if (test_obj.status === test_obj.NOTRUN) { + test_obj.done(); + } + } + + function async_test(name, properties) + { + var test_name = name ? name : next_default_name(); + properties = properties ? properties : {}; + var test_obj = new Test(test_name, properties); + return test_obj; + } + + function setup(func_or_properties, maybe_properties) + { + var func = null; + var properties = {}; + if (arguments.length === 2) { + func = func_or_properties; + properties = maybe_properties; + } else if (func_or_properties instanceof Function){ + func = func_or_properties; + } else { + properties = func_or_properties; + } + tests.setup(func, properties); + output.setup(properties); + } + + function done() { + tests.end_wait(); + } + + function generate_tests(func, args) { + forEach(args, function(x) + { + var name = x[0]; + test(function() + { + func.apply(this, x.slice(1)); + }, name); + }); + } + + function on_event(object, event, callback) + { + object.addEventListener(event, callback, false); + } + + expose(test, 'test'); + expose(async_test, 'async_test'); + expose(generate_tests, 'generate_tests'); + expose(setup, 'setup'); + expose(done, 'done'); + expose(on_event, 'on_event'); + + /* + * Return a string truncated to the given length, with ... added at the end + * if it was longer. + */ + function truncate(s, len) + { + if (s.length > len) { + return s.substring(0, len - 3) + "..."; + } + return s; + } + + /* + * Convert a value to a nice, human-readable string + */ + function format_value(val) + { + switch (typeof val) + { + case "string": + for (var i = 0; i < 32; i++) + { + var replace = "\\"; + switch (i) { + case 0: replace += "0"; break; + case 1: replace += "x01"; break; + case 2: replace += "x02"; break; + case 3: replace += "x03"; break; + case 4: replace += "x04"; break; + case 5: replace += "x05"; break; + case 6: replace += "x06"; break; + case 7: replace += "x07"; break; + case 8: replace += "b"; break; + case 9: replace += "t"; break; + case 10: replace += "n"; break; + case 11: replace += "v"; break; + case 12: replace += "f"; break; + case 13: replace += "r"; break; + case 14: replace += "x0e"; break; + case 15: replace += "x0f"; break; + case 16: replace += "x10"; break; + case 17: replace += "x11"; break; + case 18: replace += "x12"; break; + case 19: replace += "x13"; break; + case 20: replace += "x14"; break; + case 21: replace += "x15"; break; + case 22: replace += "x16"; break; + case 23: replace += "x17"; break; + case 24: replace += "x18"; break; + case 25: replace += "x19"; break; + case 26: replace += "x1a"; break; + case 27: replace += "x1b"; break; + case 28: replace += "x1c"; break; + case 29: replace += "x1d"; break; + case 30: replace += "x1e"; break; + case 31: replace += "x1f"; break; + } + val = val.replace(RegExp(String.fromCharCode(i), "g"), replace); + } + return '"' + val.replace(/"/g, '\\"') + '"'; + case "boolean": + case "undefined": + return String(val); + case "number": + // In JavaScript, -0 === 0 and String(-0) == "0", so we have to + // special-case. + if (val === -0 && 1/val === -Infinity) + { + return "-0"; + } + return String(val); + case "object": + if (val === null) + { + return "null"; + } + + // Special-case Node objects, since those come up a lot in my tests. I + // ignore namespaces. I use duck-typing instead of instanceof, because + // instanceof doesn't work if the node is from another window (like an + // iframe's contentWindow): + // http://www.w3.org/Bugs/Public/show_bug.cgi?id=12295 + if ("nodeType" in val + && "nodeName" in val + && "nodeValue" in val + && "childNodes" in val) + { + switch (val.nodeType) + { + case Node.ELEMENT_NODE: + var ret = "<" + val.tagName.toLowerCase(); + for (var i = 0; i < val.attributes.length; i++) + { + ret += " " + val.attributes[i].name + '="' + val.attributes[i].value + '"'; + } + ret += ">" + val.innerHTML + "</" + val.tagName.toLowerCase() + ">"; + return "Element node " + truncate(ret, 60); + case Node.TEXT_NODE: + return 'Text node "' + truncate(val.data, 60) + '"'; + case Node.PROCESSING_INSTRUCTION_NODE: + return "ProcessingInstruction node with target " + format_value(truncate(val.target, 60)) + " and data " + format_value(truncate(val.data, 60)); + case Node.COMMENT_NODE: + return "Comment node <!--" + truncate(val.data, 60) + "-->"; + case Node.DOCUMENT_NODE: + return "Document node with " + val.childNodes.length + (val.childNodes.length == 1 ? " child" : " children"); + case Node.DOCUMENT_TYPE_NODE: + return "DocumentType node"; + case Node.DOCUMENT_FRAGMENT_NODE: + return "DocumentFragment node with " + val.childNodes.length + (val.childNodes.length == 1 ? " child" : " children"); + default: + return "Node object of unknown type"; + } + } + + // Fall through to default + default: + return typeof val + ' "' + truncate(String(val), 60) + '"'; + } + } + expose(format_value, "format_value"); + + /* + * Assertions + */ + + function assert_true(actual, description) + { + assert(actual === true, "assert_true", description, + "expected true got ${actual}", {actual:actual}); + }; + expose(assert_true, "assert_true"); + + function assert_false(actual, description) + { + assert(actual === false, "assert_false", description, + "expected false got ${actual}", {actual:actual}); + }; + expose(assert_false, "assert_false"); + + function same_value(x, y) { + if (y !== y) + { + //NaN case + return x !== x; + } + else if (x === 0 && y === 0) { + //Distinguish +0 and -0 + return 1/x === 1/y; + } + else + { + //typical case + return x === y; + } + } + + function assert_equals(actual, expected, description) + { + /* + * Test if two primitives are equal or two objects + * are the same object + */ + assert(same_value(actual, expected), "assert_equals", description, + "expected ${expected} but got ${actual}", + {expected:expected, actual:actual}); + }; + expose(assert_equals, "assert_equals"); + + function assert_not_equals(actual, expected, description) + { + /* + * Test if two primitives are unequal or two objects + * are different objects + */ + assert(!same_value(actual, expected), "assert_not_equals", description, + "got disallowed value ${actual}", + {actual:actual}); + }; + expose(assert_not_equals, "assert_not_equals"); + + function assert_object_equals(actual, expected, description) + { + //This needs to be improved a great deal + function check_equal(expected, actual, stack) + { + stack.push(actual); + + var p; + for (p in actual) + { + assert(expected.hasOwnProperty(p), "assert_object_equals", description, + "unexpected property ${p}", {p:p}); + + if (typeof actual[p] === "object" && actual[p] !== null) + { + if (stack.indexOf(actual[p]) === -1) + { + check_equal(actual[p], expected[p], stack); + } + } + else + { + assert(actual[p] === expected[p], "assert_object_equals", description, + "property ${p} expected ${expected} got ${actual}", + {p:p, expected:expected, actual:actual}); + } + } + for (p in expected) + { + assert(actual.hasOwnProperty(p), + "assert_object_equals", description, + "expected property ${p} missing", {p:p}); + } + stack.pop(); + } + check_equal(actual, expected, []); + }; + expose(assert_object_equals, "assert_object_equals"); + + function assert_array_equals(actual, expected, description) + { + assert(actual.length === expected.length, + "assert_array_equals", description, + "lengths differ, expected ${expected} got ${actual}", + {expected:expected.length, actual:actual.length}); + + for (var i=0; i < actual.length; i++) + { + assert(actual.hasOwnProperty(i) === expected.hasOwnProperty(i), + "assert_array_equals", description, + "property ${i}, property expected to be $expected but was $actual", + {i:i, expected:expected.hasOwnProperty(i) ? "present" : "missing", + actual:actual.hasOwnProperty(i) ? "present" : "missing"}); + assert(expected[i] === actual[i], + "assert_array_equals", description, + "property ${i}, expected ${expected} but got ${actual}", + {i:i, expected:expected[i], actual:actual[i]}); + } + } + expose(assert_array_equals, "assert_array_equals"); + + function assert_approx_equals(actual, expected, epsilon, description) + { + /* + * Test if two primitive numbers are equal withing +/- epsilon + */ + assert(typeof actual === "number", + "assert_approx_equals", description, + "expected a number but got a ${type_actual}", + {type_actual:typeof actual}); + + assert(Math.abs(actual - expected) < epsilon, + "assert_approx_equals", description, + "expected ${expected} +/- ${epsilon} but got ${actual}", + {expected:expected, actual:actual, epsilon:epsilon}); + }; + expose(assert_approx_equals, "assert_approx_equals"); + + function assert_regexp_match(actual, expected, description) { + /* + * Test if a string (actual) matches a regexp (expected) + */ + assert(expected.test(actual), + "assert_regexp_match", description, + "expected ${expected} but got ${actual}", + {expected:expected, actual:actual}); + } + expose(assert_regexp_match, "assert_regexp_match"); + + + function _assert_own_property(name) { + return function(object, property_name, description) + { + assert(object.hasOwnProperty(property_name), + name, description, + "expected property ${p} missing", {p:property_name}); + }; + } + expose(_assert_own_property("assert_exists"), "assert_exists"); + expose(_assert_own_property("assert_own_property"), "assert_own_property"); + + function assert_not_exists(object, property_name, description) + { + assert(!object.hasOwnProperty(property_name), + "assert_not_exists", description, + "unexpected property ${p} found", {p:property_name}); + }; + expose(assert_not_exists, "assert_not_exists"); + + function _assert_inherits(name) { + return function (object, property_name, description) + { + assert(typeof object === "object", + name, description, + "provided value is not an object"); + + assert("hasOwnProperty" in object, + name, description, + "provided value is an object but has no hasOwnProperty method"); + + assert(!object.hasOwnProperty(property_name), + name, description, + "property ${p} found on object expected in prototype chain", + {p:property_name}); + + assert(property_name in object, + name, description, + "property ${p} not found in prototype chain", + {p:property_name}); + }; + } + expose(_assert_inherits("assert_inherits"), "assert_inherits"); + expose(_assert_inherits("assert_idl_attribute"), "assert_idl_attribute"); + + function assert_readonly(object, property_name, description) + { + var initial_value = object[property_name]; + try { + //Note that this can have side effects in the case where + //the property has PutForwards + object[property_name] = initial_value + "a"; //XXX use some other value here? + assert(object[property_name] === initial_value, + "assert_readonly", description, + "changing property ${p} succeeded", + {p:property_name}); + } + finally + { + object[property_name] = initial_value; + } + }; + expose(assert_readonly, "assert_readonly"); + + function assert_throws(code, func, description) + { + try + { + func.call(this); + assert(false, "assert_throws", description, + "${func} did not throw", {func:func}); + } + catch(e) + { + if (e instanceof AssertionError) { + throw(e); + } + if (typeof code === "object") + { + assert(typeof e == "object" && "name" in e && e.name == code.name, + "assert_throws", description, + "${func} threw ${actual} (${actual_name}) expected ${expected} (${expected_name})", + {func:func, actual:e, actual_name:e.name, + expected:code, + expected_name:code.name}); + return; + } + var required_props = {}; + required_props.code = { + INDEX_SIZE_ERR: 1, + HIERARCHY_REQUEST_ERR: 3, + WRONG_DOCUMENT_ERR: 4, + INVALID_CHARACTER_ERR: 5, + NO_MODIFICATION_ALLOWED_ERR: 7, + NOT_FOUND_ERR: 8, + NOT_SUPPORTED_ERR: 9, + INVALID_STATE_ERR: 11, + SYNTAX_ERR: 12, + INVALID_MODIFICATION_ERR: 13, + NAMESPACE_ERR: 14, + INVALID_ACCESS_ERR: 15, + TYPE_MISMATCH_ERR: 17, + SECURITY_ERR: 18, + NETWORK_ERR: 19, + ABORT_ERR: 20, + URL_MISMATCH_ERR: 21, + QUOTA_EXCEEDED_ERR: 22, + TIMEOUT_ERR: 23, + INVALID_NODE_TYPE_ERR: 24, + DATA_CLONE_ERR: 25, + }[code]; + if (required_props.code === undefined) + { + throw new AssertionError('Test bug: unrecognized DOMException code "' + code + '" passed to assert_throws()'); + } + required_props[code] = required_props.code; + //Uncomment this when the latest version of every browser + //actually implements the spec; otherwise it just creates + //zillions of failures. Also do required_props.type. + //required_props.name = code; + // + //We'd like to test that e instanceof the appropriate interface, + //but we can't, because we don't know what window it was created + //in. It might be an instanceof the appropriate interface on some + //unknown other window. TODO: Work around this somehow? + + assert(typeof e == "object", + "assert_throws", description, + "${func} threw ${e} with type ${type}, not an object", + {func:func, e:e, type:typeof e}); + + for (var prop in required_props) + { + assert(typeof e == "object" && prop in e && e[prop] == required_props[prop], + "assert_throws", description, + "${func} threw ${e} that is not a DOMException " + code + ": property ${prop} is equal to ${actual}, expected ${expected}", + {func:func, e:e, prop:prop, actual:e[prop], expected:required_props[prop]}); + } + } + } + expose(assert_throws, "assert_throws"); + + function assert_unreached(description) { + assert(false, "assert_unreached", description, + "Reached unreachable code"); + } + expose(assert_unreached, "assert_unreached"); + + function Test(name, properties) + { + this.name = name; + this.status = this.NOTRUN; + this.timeout_id = null; + this.is_done = false; + + this.timeout_length = properties.timeout ? properties.timeout : settings.test_timeout; + + this.message = null; + + var this_obj = this; + this.steps = []; + + tests.push(this); + } + + Test.prototype = { + PASS:0, + FAIL:1, + TIMEOUT:2, + NOTRUN:3 + }; + + + Test.prototype.step = function(func, this_obj) + { + //In case the test has already failed + if (this.status !== this.NOTRUN) + { + return; + } + + tests.started = true; + + if (this.timeout_id === null) { + this.set_timeout(); + } + + this.steps.push(func); + + if (arguments.length === 1) + { + this_obj = this; + } + + try + { + func.apply(this_obj, Array.prototype.slice.call(arguments, 2)); + } + catch(e) + { + //This can happen if something called synchronously invoked another + //step + if (this.status !== this.NOTRUN) + { + return; + } + this.status = this.FAIL; + this.message = e.message; + if (typeof e.stack != "undefined" && typeof e.message == "string") { + //Try to make it more informative for some exceptions, at least + //in Gecko and WebKit. This results in a stack dump instead of + //just errors like "Cannot read property 'parentNode' of null" + //or "root is null". Makes it a lot longer, of course. + this.message += "(stack: " + e.stack + ")"; + } + this.done(); + if (debug && e.constructor !== AssertionError) { + throw e; + } + } + }; + + Test.prototype.step_func = function(func, this_obj) + { + var test_this = this; + + if (arguments.length === 1) + { + this_obj = test_this; + } + + return function() + { + test_this.step.apply(test_this, [func, this_obj].concat( + Array.prototype.slice.call(arguments))); + }; + }; + + Test.prototype.set_timeout = function() + { + var this_obj = this; + this.timeout_id = setTimeout(function() + { + this_obj.timeout(); + }, this.timeout_length); + }; + + Test.prototype.timeout = function() + { + this.status = this.TIMEOUT; + this.timeout_id = null; + this.message = "Test timed out"; + this.done(); + }; + + Test.prototype.done = function() + { + if (this.is_done) { + return; + } + clearTimeout(this.timeout_id); + if (this.status === this.NOTRUN) + { + this.status = this.PASS; + } + this.is_done = true; + tests.result(this); + }; + + + /* + * Harness + */ + + function TestsStatus() + { + this.status = null; + this.message = null; + } + TestsStatus.prototype = { + OK:0, + ERROR:1, + TIMEOUT:2 + }; + + function Tests() + { + this.tests = []; + this.num_pending = 0; + + this.phases = { + INITIAL:0, + SETUP:1, + HAVE_TESTS:2, + HAVE_RESULTS:3, + COMPLETE:4 + }; + this.phase = this.phases.INITIAL; + + //All tests can't be done until the load event fires + this.all_loaded = false; + this.wait_for_finish = false; + this.processing_callbacks = false; + + this.timeout_length = settings.timeout; + this.timeout_id = null; + this.set_timeout(); + + this.start_callbacks = []; + this.test_done_callbacks = []; + this.all_done_callbacks = []; + + this.status = new TestsStatus(); + + var this_obj = this; + + on_event(window, "load", + function() + { + this_obj.all_loaded = true; + if (this_obj.all_done()) + { + this_obj.complete(); + } + }); + this.properties = {}; + } + + Tests.prototype.setup = function(func, properties) + { + if (this.phase >= this.phases.HAVE_RESULTS) + { + return; + } + if (this.phase < this.phases.SETUP) + { + this.phase = this.phases.SETUP; + } + + for (var p in properties) + { + if (properties.hasOwnProperty(p)) + { + this.properties[p] = properties[p]; + } + } + + if (properties.timeout) + { + this.timeout_length = properties.timeout; + this.set_timeout(); + } + if (properties.explicit_done) + { + this.wait_for_finish = true; + } + + if (func) + { + try + { + func(); + } catch(e) + { + this.status.status = this.status.ERROR; + this.status.message = e; + }; + } + }; + + Tests.prototype.set_timeout = function() + { + var this_obj = this; + clearTimeout(this.timeout_id); + this.timeout_id = setTimeout(function() { + this_obj.timeout(); + }, this.timeout_length); + }; + + Tests.prototype.timeout = function() { + this.status.status = this.status.TIMEOUT; + this.complete(); + }; + + Tests.prototype.end_wait = function() + { + this.wait_for_finish = false; + if (this.all_done()) { + this.complete(); + } + }; + + Tests.prototype.push = function(test) + { + if (this.phase < this.phases.HAVE_TESTS) { + this.notify_start(); + } + this.num_pending++; + this.tests.push(test); + }; + + Tests.prototype.all_done = function() { + return (this.all_loaded && this.num_pending === 0 && + !this.wait_for_finish && !this.processing_callbacks); + }; + + Tests.prototype.start = function() { + this.phase = this.phases.HAVE_TESTS; + this.notify_start(); + }; + + Tests.prototype.notify_start = function() { + var this_obj = this; + forEach (this.start_callbacks, + function(callback) + { + callback(this_obj.properties); + }); + forEach(ancestor_windows(), + function(w) + { + if(w.start_callback) + { + try + { + w.start_callback(this_obj.properties); + } + catch(e) + { + if (debug) + { + throw(e); + } + } + } + }); + }; + + Tests.prototype.result = function(test) + { + if (this.phase > this.phases.HAVE_RESULTS) + { + return; + } + this.phase = this.phases.HAVE_RESULTS; + this.num_pending--; + this.notify_result(test); + }; + + Tests.prototype.notify_result = function(test) { + var this_obj = this; + this.processing_callbacks = true; + forEach(this.test_done_callbacks, + function(callback) + { + callback(test, this_obj); + }); + + forEach(ancestor_windows(), + function(w) + { + if(w.result_callback) + { + try + { + w.result_callback(test); + } + catch(e) + { + if(debug) { + throw e; + } + } + } + }); + this.processing_callbacks = false; + if (this_obj.all_done()) + { + this_obj.complete(); + } + }; + + Tests.prototype.complete = function() { + if (this.phase === this.phases.COMPLETE) { + return; + } + this.phase = this.phases.COMPLETE; + this.notify_complete(); + }; + + Tests.prototype.notify_complete = function() + { + clearTimeout(this.timeout_id); + var this_obj = this; + if (this.status.status === null) + { + this.status.status = this.status.OK; + } + + forEach (this.all_done_callbacks, + function(callback) + { + callback(this_obj.tests, this_obj.status); + }); + + forEach(ancestor_windows(), + function(w) + { + if(w.completion_callback) + { + try + { + w.completion_callback(this_obj.tests, this_obj.status); + } + catch(e) + { + if (debug) + { + throw e; + } + } + } + }); + }; + + var tests = new Tests(); + + function add_start_callback(callback) { + tests.start_callbacks.push(callback); + } + + function add_result_callback(callback) + { + tests.test_done_callbacks.push(callback); + } + + function add_completion_callback(callback) + { + tests.all_done_callbacks.push(callback); + } + + expose(add_start_callback, 'add_start_callback'); + expose(add_result_callback, 'add_result_callback'); + expose(add_completion_callback, 'add_completion_callback'); + + /* + * Output listener + */ + + function Output() { + this.output_document = null; + this.output_node = null; + this.done_count = 0; + this.enabled = settings.output; + this.phase = this.INITIAL; + } + + Output.prototype.INITIAL = 0; + Output.prototype.STARTED = 1; + Output.prototype.HAVE_RESULTS = 2; + Output.prototype.COMPLETE = 3; + + Output.prototype.setup = function(properties) { + if (this.phase > this.INITIAL) { + return; + } + + //If output is disabled in testharnessreport.js the test shouldn't be + //able to override that + this.enabled = this.enabled && (properties.hasOwnProperty("output") ? + properties.output : settings.output); + }; + + Output.prototype.init = function(properties) + { + if (this.phase >= this.STARTED) { + return; + } + if (properties.output_document) { + this.output_document = properties.output_document; + } else { + this.output_document = document; + } + this.phase = this.STARTED; + }; + + Output.prototype.resolve_log = function() + { + if (!this.output_document) { + return; + } + var node = this.output_document.getElementById("log"); + if (node) { + this.output_node = node; + } + }; + + Output.prototype.show_status = function(test) + { + if (this.phase < this.STARTED) + { + this.init(); + } + if (!this.enabled) + { + return; + } + if (this.phase < this.HAVE_RESULTS) + { + this.resolve_log(); + this.phase = this.HAVE_RESULTS; + } + this.done_count++; + if (this.output_node) + { + if (this.done_count < 100 + || (this.done_count < 1000 && this.done_count % 100 == 0) + || this.done_count % 1000 == 0) { + this.output_node.textContent = "Running, " + + this.done_count + " complete, " + + tests.num_pending + " remain"; + } + } + }; + + Output.prototype.show_results = function (tests, harness_status) + { + if (this.phase >= this.COMPLETE) { + return; + } + if (!this.enabled) + { + return; + } + if (!this.output_node) { + this.resolve_log(); + } + this.phase = this.COMPLETE; + + var log = this.output_node; + if (!log) + { + return; + } + var output_document = this.output_document; + + while (log.lastChild) + { + log.removeChild(log.lastChild); + } + + if (script_prefix != null) { + var stylesheet = output_document.createElementNS(xhtml_ns, "link"); + stylesheet.setAttribute("rel", "stylesheet"); + stylesheet.setAttribute("href", script_prefix + "testharness.css"); + var heads = output_document.getElementsByTagName("head"); + if (heads.length) { + heads[0].appendChild(stylesheet); + } + } + + var status_text = {}; + status_text[Test.prototype.PASS] = "Pass"; + status_text[Test.prototype.FAIL] = "Fail"; + status_text[Test.prototype.TIMEOUT] = "Timeout"; + status_text[Test.prototype.NOTRUN] = "Not Run"; + + var status_number = {}; + forEach(tests, function(test) { + var status = status_text[test.status]; + if (status_number.hasOwnProperty(status)) + { + status_number[status] += 1; + } else { + status_number[status] = 1; + } + }); + + function status_class(status) + { + return status.replace(/\s/g, '').toLowerCase(); + } + + var summary_template = ["section", {"id":"summary"}, + ["h2", {}, "Summary"], + ["p", {}, "Found ${num_tests} tests"], + function(vars) { + var rv = [["div", {}]]; + var i=0; + while (status_text.hasOwnProperty(i)) { + if (status_number.hasOwnProperty(status_text[i])) { + var status = status_text[i]; + rv[0].push(["div", {"class":status_class(status)}, + ["label", {}, + ["input", {type:"checkbox", checked:"checked"}], + status_number[status] + " " + status]]); + } + i++; + } + return rv; + }]; + + log.appendChild(render(summary_template, {num_tests:tests.length}, output_document)); + + forEach(output_document.querySelectorAll("section#summary label"), + function(element) + { + on_event(element, "click", + function(e) + { + if (output_document.getElementById("results") === null) + { + e.preventDefault(); + return; + } + var result_class = element.parentNode.getAttribute("class"); + var style_element = output_document.querySelector("style#hide-" + result_class); + var input_element = element.querySelector("input"); + if (!style_element && !input_element.checked) { + style_element = output_document.createElementNS(xhtml_ns, "style"); + style_element.id = "hide-" + result_class; + style_element.innerHTML = "table#results > tbody > tr."+result_class+"{display:none}"; + output_document.body.appendChild(style_element); + } else if (style_element && input_element.checked) { + style_element.parentNode.removeChild(style_element); + } + }); + }); + + // This use of innerHTML plus manual escaping is not recommended in + // general, but is necessary here for performance. Using textContent + // on each individual <td> adds tens of seconds of execution time for + // large test suites (tens of thousands of tests). + function escape_html(s) + { + return s.replace(/\&/g, "&") + .replace(/</g, "<") + .replace(/"/g, """) + .replace(/'/g, "'"); + } + + log.appendChild(document.createElement("section")); + var html = "<h2>Details</h2><table id='results'>" + + "<thead><tr><th>Result</th><th>Test Name</th><th>Message</th></tr></thead>" + + "<tbody>"; + for (var i = 0; i < tests.length; i++) { + html += '<tr class="' + + escape_html(status_class(status_text[tests[i].status])) + + '"><td>' + + escape_html(status_text[tests[i].status]) + + "</td><td>" + + escape_html(tests[i].name) + + "</td><td>" + + escape_html(tests[i].message ? tests[i].message : " ") + + "</td></tr>"; + } + log.lastChild.innerHTML = html + "</tbody></table>"; + }; + + var output = new Output(); + add_start_callback(function (properties) {output.init(properties);}); + add_result_callback(function (test) {output.show_status(tests);}); + add_completion_callback(function (tests, harness_status) {output.show_results(tests, harness_status);}); + + /* + * Template code + * + * A template is just a javascript structure. An element is represented as: + * + * [tag_name, {attr_name:attr_value}, child1, child2] + * + * the children can either be strings (which act like text nodes), other templates or + * functions (see below) + * + * A text node is represented as + * + * ["{text}", value] + * + * String values have a simple substitution syntax; ${foo} represents a variable foo. + * + * It is possible to embed logic in templates by using a function in a place where a + * node would usually go. The function must either return part of a template or null. + * + * In cases where a set of nodes are required as output rather than a single node + * with children it is possible to just use a list + * [node1, node2, node3] + * + * Usage: + * + * render(template, substitutions) - take a template and an object mapping + * variable names to parameters and return either a DOM node or a list of DOM nodes + * + * substitute(template, substitutions) - take a template and variable mapping object, + * make the variable substitutions and return the substituted template + * + */ + + function is_single_node(template) + { + return typeof template[0] === "string"; + } + + function substitute(template, substitutions) + { + if (typeof template === "function") { + var replacement = template(substitutions); + if (replacement) + { + var rv = substitute(replacement, substitutions); + return rv; + } + else + { + return null; + } + } + else if (is_single_node(template)) + { + return substitute_single(template, substitutions); + } + else + { + return filter(map(template, function(x) { + return substitute(x, substitutions); + }), function(x) {return x !== null;}); + } + } + + function substitute_single(template, substitutions) + { + var substitution_re = /\${([^ }]*)}/g; + + function do_substitution(input) { + var components = input.split(substitution_re); + var rv = []; + for (var i=0; i<components.length; i+=2) + { + rv.push(components[i]); + if (components[i+1]) + { + rv.push(String(substitutions[components[i+1]])); + } + } + return rv; + } + + var rv = []; + rv.push(do_substitution(String(template[0])).join("")); + + if (template[0] === "{text}") { + substitute_children(template.slice(1), rv); + } else { + substitute_attrs(template[1], rv); + substitute_children(template.slice(2), rv); + } + + function substitute_attrs(attrs, rv) + { + rv[1] = {}; + for (var name in template[1]) + { + if (attrs.hasOwnProperty(name)) + { + var new_name = do_substitution(name).join(""); + var new_value = do_substitution(attrs[name]).join(""); + rv[1][new_name] = new_value; + }; + } + } + + function substitute_children(children, rv) + { + for (var i=0; i<children.length; i++) + { + if (children[i] instanceof Object) { + var replacement = substitute(children[i], substitutions); + if (replacement !== null) + { + if (is_single_node(replacement)) + { + rv.push(replacement); + } + else + { + extend(rv, replacement); + } + } + } + else + { + extend(rv, do_substitution(String(children[i]))); + } + } + return rv; + } + + return rv; + } + + function make_dom_single(template, doc) + { + var output_document = doc || document; + if (template[0] === "{text}") + { + var element = output_document.createTextNode(""); + for (var i=1; i<template.length; i++) + { + element.data += template[i]; + } + } + else + { + var element = output_document.createElementNS(xhtml_ns, template[0]); + for (var name in template[1]) { + if (template[1].hasOwnProperty(name)) + { + element.setAttribute(name, template[1][name]); + } + } + for (var i=2; i<template.length; i++) + { + if (template[i] instanceof Object) + { + var sub_element = make_dom(template[i]); + element.appendChild(sub_element); + } + else + { + var text_node = output_document.createTextNode(template[i]); + element.appendChild(text_node); + } + } + } + + return element; + } + + + + function make_dom(template, substitutions, output_document) + { + if (is_single_node(template)) + { + return make_dom_single(template, output_document); + } + else + { + return map(template, function(x) { + return make_dom_single(x, output_document); + }); + } + } + + function render(template, substitutions, output_document) + { + return make_dom(substitute(template, substitutions), output_document); + } + + /* + * Utility funcions + */ + function assert(expected_true, function_name, description, error, substitutions) + { + if (expected_true !== true) + { + throw new AssertionError(make_message(function_name, description, + error, substitutions)); + } + } + + function AssertionError(message) + { + this.message = message; + } + + function make_message(function_name, description, error, substitutions) + { + for (var p in substitutions) { + if (substitutions.hasOwnProperty(p)) { + substitutions[p] = format_value(substitutions[p]); + } + } + var node_form = substitute(["{text}", "${function_name}: ${description}" + error], + merge({function_name:function_name, + description:(description?description + " ":"")}, + substitutions)); + return node_form.slice(1).join(""); + } + + function filter(array, callable, thisObj) { + var rv = []; + for (var i=0; i<array.length; i++) + { + if (array.hasOwnProperty(i)) + { + var pass = callable.call(thisObj, array[i], i, array); + if (pass) { + rv.push(array[i]); + } + } + } + return rv; + } + + function map(array, callable, thisObj) + { + var rv = []; + rv.length = array.length; + for (var i=0; i<array.length; i++) + { + if (array.hasOwnProperty(i)) + { + rv[i] = callable.call(thisObj, array[i], i, array); + } + } + return rv; + } + + function extend(array, items) + { + Array.prototype.push.apply(array, items); + } + + function forEach (array, callback, thisObj) + { + for (var i=0; i<array.length; i++) + { + if (array.hasOwnProperty(i)) + { + callback.call(thisObj, array[i], i, array); + } + } + } + + function merge(a,b) + { + var rv = {}; + var p; + for (p in a) + { + rv[p] = a[p]; + } + for (p in b) { + rv[p] = b[p]; + } + return rv; + } + + function expose(object, name) + { + var components = name.split("."); + var target = window; + for (var i=0; i<components.length - 1; i++) + { + if (!(components[i] in target)) + { + target[components[i]] = {}; + } + target = target[components[i]]; + } + target[components[components.length - 1]] = object; + } + + function ancestor_windows() { + //Get the windows [self ... top] as an array + if ("result_cache" in ancestor_windows) + { + return ancestor_windows.result_cache; + } + var rv = [self]; + var w = self; + while (w != w.parent) + { + w = w.parent; + rv.push(w); + } + ancestor_windows.result_cache = rv; + return rv; + } + +})(); +// vim: set expandtab shiftwidth=4 tabstop=4: diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/index.js b/QuickTemplate/node_modules/domino/test/htmlwg/index.js new file mode 100644 index 0000000..26c5390 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/index.js @@ -0,0 +1,2 @@ +var harness = require('./harness'); +module.exports = harness('submission'); diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-01.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-01.html new file mode 100644 index 0000000..fb9e16b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-01.html @@ -0,0 +1,144 @@ +<!DOCTYPE html> +<title>document.getElementsByTagName and foreign parser-inserted +elements + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-02.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-02.html new file mode 100644 index 0000000..d03e63e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-02.html @@ -0,0 +1,25 @@ + +getElementsByTagName and font + + + + + + +
    +
    + + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-01.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-01.html new file mode 100644 index 0000000..4b265c0 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-01.html @@ -0,0 +1,26 @@ + +getElementsByTagName and font + + + + + + +
    +
    + + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-02.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-02.html new file mode 100644 index 0000000..351d4d6 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-02.html @@ -0,0 +1,30 @@ + +getElementsByTagName and font + + + + + + +
    +
    + + + + + + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/browsing-the-web/load-text-plain.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/browsing-the-web/load-text-plain.html new file mode 100644 index 0000000..5a6e403 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/browsing-the-web/load-text-plain.html @@ -0,0 +1,30 @@ + +Page load processing model for text files + + + + + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Document.getElementsByClassName-null-undef.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Document.getElementsByClassName-null-undef.html new file mode 100644 index 0000000..8cd3a22 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Document.getElementsByClassName-null-undef.html @@ -0,0 +1,31 @@ + +getElementsByClassName and null/undefined + + + + + +
    +
    +

    +

    +

    +

    +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Element.getElementsByClassName-null-undef.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Element.getElementsByClassName-null-undef.html new file mode 100644 index 0000000..96c58fa --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Element.getElementsByClassName-null-undef.html @@ -0,0 +1,31 @@ + +getElementsByClassName and null/undefined + + + + + +
    +
    +

    +

    +

    +

    +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-foreign-frameset.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-foreign-frameset.html new file mode 100644 index 0000000..14692ab --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-foreign-frameset.html @@ -0,0 +1,17 @@ + +document.body and a frameset in a foreign namespace + + + + + + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-frameset-and-body.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-frameset-and-body.html new file mode 100644 index 0000000..7a0d51d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-frameset-and-body.html @@ -0,0 +1,18 @@ + +document.body and framesets + + + + + + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-setter-01.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-setter-01.html new file mode 100644 index 0000000..8c53e76 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-setter-01.html @@ -0,0 +1,17 @@ + +Setting document.body to incorrect values + + + + + + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.embeds-document.plugins-01.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.embeds-document.plugins-01.html new file mode 100644 index 0000000..df937fd --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.embeds-document.plugins-01.html @@ -0,0 +1,24 @@ + +document.embeds and document.plugins + + + + + + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByClassName-same.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByClassName-same.html new file mode 100644 index 0000000..03bdbea --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByClassName-same.html @@ -0,0 +1,18 @@ + +Calling getElementsByClassName with the same argument + + + + + +
    +
    +
    +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.html new file mode 100644 index 0000000..4f967cb --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.html @@ -0,0 +1,17 @@ + +getElementsByName and case + + + + + +
    +
    +
    +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.xhtml b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.xhtml new file mode 100644 index 0000000..66ac58c --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.xhtml @@ -0,0 +1,22 @@ + + +getElementsByName and case + + + + + + + +
    +
    +
    +
    + + + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.html new file mode 100644 index 0000000..2a89c30 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.html @@ -0,0 +1,16 @@ + +getElementsByName and ids + + + + + +
    +
    +
    +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.xhtml b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.xhtml new file mode 100644 index 0000000..5925b40 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.xhtml @@ -0,0 +1,21 @@ + + +getElementsByName and ids + + + + + + + +
    +
    +
    +
    + + + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.html new file mode 100644 index 0000000..0193c23 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.html @@ -0,0 +1,28 @@ + +getElementsByName and foreign namespaces + + + + + +
    +
    +

    +a ++ +b + +

    + + +

    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.xhtml b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.xhtml new file mode 100644 index 0000000..98b94f7 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.xhtml @@ -0,0 +1,33 @@ + + +getElementsByName and foreign namespaces + + + + + + + +
    +
    +

    +a ++ +b +

    +

    + +

    +
    + + + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.html new file mode 100644 index 0000000..09461e3 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.html @@ -0,0 +1,122 @@ + +getElementsByName and newly introduced HTML elements + + + + + +
    +
    +
    +
    + +
    +
    +
    + + +
    + + + + + + + + + + +
    + + + + + + + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.xhtml b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.xhtml new file mode 100644 index 0000000..f03c354 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.xhtml @@ -0,0 +1,127 @@ + + +getElementsByName and newly introduced HTML elements + + + + + + + +
    +
    +
    +
    + +
    +
    +
    + + +
    + + + + + + + + + + +
    + + + + + + + +
    + + + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.html new file mode 100644 index 0000000..a8130b4 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.html @@ -0,0 +1,23 @@ + +Calling getElementsByName with null and undefined + + + + + + + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.xhtml b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.xhtml new file mode 100644 index 0000000..fbef6be --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.xhtml @@ -0,0 +1,29 @@ + + +Calling getElementsByName with null and undefined + + + + + + + + + +
    + + + + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.html new file mode 100644 index 0000000..983a5ea --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.html @@ -0,0 +1,24 @@ + +getElementsByName and the param element + + + + + +
    +
    + + + + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.xhtml b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.xhtml new file mode 100644 index 0000000..3a9c452 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.xhtml @@ -0,0 +1,29 @@ + + +getElementsByName and the param element + + + + + + + +
    +
    + + + + +
    + + + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-same.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-same.html new file mode 100644 index 0000000..455f842 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-same.html @@ -0,0 +1,18 @@ + +Calling getElementsByName with the same argument + + + + + +
    +
    +
    +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-01.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-01.html new file mode 100644 index 0000000..9ea949a --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-01.html @@ -0,0 +1,23 @@ + +document.head + + + + + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-02.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-02.html new file mode 100644 index 0000000..7b17ca1 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-02.html @@ -0,0 +1,21 @@ + +document.head + + + + + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-01.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-01.html new file mode 100644 index 0000000..da11061 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-01.html @@ -0,0 +1,33 @@ + +document.title with head blown away + + + + + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-02.xhtml b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-02.xhtml new file mode 100644 index 0000000..c197ca7 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-02.xhtml @@ -0,0 +1,38 @@ + + +document.title with head blown away + + + + + + + +
    + + + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-03.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-03.html new file mode 100644 index 0000000..d4d59bc --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-03.html @@ -0,0 +1,44 @@ + + document.title and space normalization + + + + + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-04.xhtml b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-04.xhtml new file mode 100644 index 0000000..fa7f57a --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-04.xhtml @@ -0,0 +1,49 @@ + + + document.title and space normalization + + + + + + + +
    + + + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-05.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-05.html new file mode 100644 index 0000000..b7f76ef --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-05.html @@ -0,0 +1,41 @@ + +document.title and White_Space characters + + + + + + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-06.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-06.html new file mode 100644 index 0000000..809ede0 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-06.html @@ -0,0 +1,24 @@ + +document.title and the empty string + + + + + + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-07.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-07.html new file mode 100644 index 0000000..d5d6bac --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-07.html @@ -0,0 +1,21 @@ + +Document.title and DOMImplementation.createHTMLDocument + + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/nameditem-01.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/nameditem-01.html new file mode 100644 index 0000000..dcb5a0b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/nameditem-01.html @@ -0,0 +1,19 @@ + +Named items: img id & name + + + + + +
    +
    + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.close-01.xhtml b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.close-01.xhtml new file mode 100644 index 0000000..7ba4624 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.close-01.xhtml @@ -0,0 +1,19 @@ + + +document.close in XHTML + + + + + + +
    + + + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-01.xhtml b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-01.xhtml new file mode 100644 index 0000000..47b92a9 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-01.xhtml @@ -0,0 +1,19 @@ + + +document.open in XHTML + + + + + + +
    + + + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-02.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-02.html new file mode 100644 index 0000000..cea89a9 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-02.html @@ -0,0 +1,17 @@ + +document.open with three arguments + + + + +
    + + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-01.xhtml b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-01.xhtml new file mode 100644 index 0000000..254d786 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-01.xhtml @@ -0,0 +1,19 @@ + + +document.write in XHTML + + + + + + +
    + + + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-02.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-02.html new file mode 100644 index 0000000..dd2e8be --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-02.html @@ -0,0 +1,27 @@ + +document.write and null/undefined + + + + + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-01.xhtml b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-01.xhtml new file mode 100644 index 0000000..b43b33e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-01.xhtml @@ -0,0 +1,19 @@ + + +document.writeln in XHTML + + + + + + +
    + + + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-02.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-02.html new file mode 100644 index 0000000..586cca1 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-02.html @@ -0,0 +1,27 @@ + +document.writeln and null/undefined + + + + + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/elements-in-the-dom/unknown-element.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/elements-in-the-dom/unknown-element.html new file mode 100644 index 0000000..d1dc969 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/elements-in-the-dom/unknown-element.html @@ -0,0 +1,16 @@ + +HTMLUnknownElement + + + + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/events/event-handler-spec-example.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/events/event-handler-spec-example.html new file mode 100644 index 0000000..f6ef11d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/events/event-handler-spec-example.html @@ -0,0 +1,31 @@ + +Event handler invocation order + + +
    + + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/general/interfaces.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/general/interfaces.html new file mode 100644 index 0000000..d36d3bc --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/general/interfaces.html @@ -0,0 +1,163 @@ + +Test of interfaces + + + + + + + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/classlist-nonstring.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/classlist-nonstring.html new file mode 100644 index 0000000..a85641d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/classlist-nonstring.html @@ -0,0 +1,44 @@ + +classList: non-string contains + + + + + + + +
    +
    +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/dataset.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/dataset.html new file mode 100644 index 0000000..fe3e032 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/dataset.html @@ -0,0 +1,28 @@ + +dataset: should return 'undefined' for non-existent properties + + + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/document-dir.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/document-dir.html new file mode 100644 index 0000000..734f922 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/document-dir.html @@ -0,0 +1,25 @@ + + +document.dir + + + + + + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/id-name.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/id-name.html new file mode 100644 index 0000000..080fd80 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/id-name.html @@ -0,0 +1,18 @@ + +id and name attributes and getElementById + + + + + +
    +
    +
    +

    +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01-ref.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01-ref.html new file mode 100644 index 0000000..d2120ad --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01-ref.html @@ -0,0 +1,20 @@ + +Languages + + + + + + +

    All lines below should have a green background.

    +
    +

    {}{lang}{en}

    +

    {}{xml:lang}{en}

    +

    Parent: {}{lang}{en}

    +

    Parent: {}{xml:lang}{en}

    +

    {xml}{lang}{en}

    +

    {xml}{lang}{en} - {lang}{de}

    +

    {xml}{lang}{de} - {lang}{en}

    +
    diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01.html new file mode 100644 index 0000000..6f2a2ae --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01.html @@ -0,0 +1,57 @@ + +Languages + + + + + + +

    All lines below should have a green background.

    +
    +

    {}{lang}{en}

    +

    {}{xml:lang}{en}

    +

    Parent: {}{lang}{en}

    +

    Parent: {}{xml:lang}{en}

    +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy-ref.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy-ref.html new file mode 100644 index 0000000..b203718 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy-ref.html @@ -0,0 +1,9 @@ + +Invalid languages + + + + +
    +

    ABC

    +
    diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy.html new file mode 100644 index 0000000..6b87581 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy.html @@ -0,0 +1,11 @@ + +Invalid languages + + + + + + +
    +

    ABC

    +
    diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01-ref.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01-ref.html new file mode 100644 index 0000000..74f1384 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01-ref.html @@ -0,0 +1,24 @@ + +The style attribute + + + + + + +
    +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01.html new file mode 100644 index 0000000..8412050 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01.html @@ -0,0 +1,25 @@ + +The style attribute + + + + + + +
    +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-01.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-01.html new file mode 100644 index 0000000..9ddcebd --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-01.html @@ -0,0 +1,18 @@ + +document: fg/bg/link/vlink/alink-color + + + + + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-02.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-02.html new file mode 100644 index 0000000..a4eae1d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-02.html @@ -0,0 +1,47 @@ + +document: fg/bg/link/vlink/alink-color + + + + + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-03.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-03.html new file mode 100644 index 0000000..ced3988 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-03.html @@ -0,0 +1,47 @@ + +document: fg/bg/link/vlink/alink-color + + + + + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-04.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-04.html new file mode 100644 index 0000000..a67fecd --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-04.html @@ -0,0 +1,47 @@ + +document: fg/bg/link/vlink/alink-color + + + + + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-01.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-01.html new file mode 100644 index 0000000..735cb0f --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-01.html @@ -0,0 +1,22 @@ + +document.all: willfull violations + + + + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-02.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-02.html new file mode 100644 index 0000000..4721e1f --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-02.html @@ -0,0 +1,13 @@ + +document.all: length + + + + + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-03.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-03.html new file mode 100644 index 0000000..f78e89b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-03.html @@ -0,0 +1,13 @@ + +document.all: index getter + + + + + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-04.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-04.html new file mode 100644 index 0000000..cf16ba5 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-04.html @@ -0,0 +1,19 @@ + +document.all: img@name + + + + + +
    + + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-05.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-05.html new file mode 100644 index 0000000..a568a1e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-05.html @@ -0,0 +1,23 @@ + +document.all: willfull violations + + + + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/heading-obsolete-attributes-01.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/heading-obsolete-attributes-01.html new file mode 100644 index 0000000..5bed010 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/heading-obsolete-attributes-01.html @@ -0,0 +1,16 @@ + +HTMLHeadingElement: obsolete attribute reflecting + + + + + + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/script-IDL-event-htmlfor.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/script-IDL-event-htmlfor.html new file mode 100644 index 0000000..04871d7 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/script-IDL-event-htmlfor.html @@ -0,0 +1,57 @@ + +event and htmlFor IDL attributes of HTMLScriptElement + + + + + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/parsing/comment.dat b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/parsing/comment.dat new file mode 100644 index 0000000..acfcd2e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/parsing/comment.dat @@ -0,0 +1,10 @@ +#data +Comment before head +#errors +#document +| +| +| +| +| "Comment before head" +| <body> diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-01.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-01.html new file mode 100644 index 0000000..84037b6 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-01.html @@ -0,0 +1,13 @@ +<!DOCTYPE html> +<title>document.compatMode: Standards + + + +
    + + + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-02.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-02.html new file mode 100644 index 0000000..ea4b43c --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-02.html @@ -0,0 +1,14 @@ + +document.compatMode: Almost standards + + + +
    + + + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-03.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-03.html new file mode 100644 index 0000000..b8fddb6 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-03.html @@ -0,0 +1,12 @@ +document.compatMode: Quirks + + + +
    + + + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-04.xhtml b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-04.xhtml new file mode 100644 index 0000000..5834aa3 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-04.xhtml @@ -0,0 +1,18 @@ + + + +document.compatMode: Standards + + + + +
    + + + + + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-05.xhtml b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-05.xhtml new file mode 100644 index 0000000..1f038b2 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-05.xhtml @@ -0,0 +1,19 @@ + + + +document.compatMode: Standards + + + + +
    + + + + + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-06.xhtml b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-06.xhtml new file mode 100644 index 0000000..e78a8af --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-06.xhtml @@ -0,0 +1,17 @@ + + +document.compatMode: Standards + + + + +
    + + + + + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/200-textplain.cgi b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/200-textplain.cgi new file mode 100755 index 0000000..f74d295 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/200-textplain.cgi @@ -0,0 +1,5 @@ +#!/usr/bin/env python + +print 'Content-Type: text/plain\r\n', +print +print 'html { color: red; }' diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/404-textcss.cgi b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/404-textcss.cgi new file mode 100755 index 0000000..c0b449f --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/404-textcss.cgi @@ -0,0 +1,6 @@ +#!/usr/bin/env python + +print 'Content-Type: text/css\r\n', +print 'Status: 404 Not Found\r\n', +print +print 'html { color: red; }' diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/support/text/200-textplain.cgi b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/support/text/200-textplain.cgi new file mode 100755 index 0000000..616707e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/support/text/200-textplain.cgi @@ -0,0 +1,5 @@ +#!/usr/bin/env python + +print 'Content-Type: text/plain\r\n', +print +print 'Text' diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-rellist.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-rellist.html new file mode 100644 index 0000000..448231d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-rellist.html @@ -0,0 +1,23 @@ + +link.relList: non-string contains + + + + + + + + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-style-error-01.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-style-error-01.html new file mode 100644 index 0000000..dce6a8f --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-style-error-01.html @@ -0,0 +1,32 @@ + +link: error events + + + + +
    +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-style-element/style-error-01.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-style-element/style-error-01.html new file mode 100644 index 0000000..7c68c27 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-style-element/style-error-01.html @@ -0,0 +1,32 @@ + +style: error events + + + + +
    +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-01.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-01.html new file mode 100644 index 0000000..0d2e120 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-01.html @@ -0,0 +1,25 @@ + +title.text with comment and element children. + + + + +
    + + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-02.xhtml b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-02.xhtml new file mode 100644 index 0000000..4d2385c --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-02.xhtml @@ -0,0 +1,30 @@ + + +title.text with comment and element children. + + + + + + +
    + + + + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-03.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-03.html new file mode 100644 index 0000000..2a56433 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-03.html @@ -0,0 +1,95 @@ + + title.text and space normalization + + + + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-04.xhtml b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-04.xhtml new file mode 100644 index 0000000..d57ee57 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-04.xhtml @@ -0,0 +1,100 @@ + + + title.text and space normalization + + + + + + +
    + + + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/embedded-content/the-video-element/video-tabindex.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/embedded-content/the-video-element/video-tabindex.html new file mode 100644 index 0000000..70af7e9 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/embedded-content/the-video-element/video-tabindex.html @@ -0,0 +1,18 @@ + +tabindex on video elements + + + + +
    +
    + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-interfaces-01.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-interfaces-01.html new file mode 100644 index 0000000..cc61bdf --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-interfaces-01.html @@ -0,0 +1,20 @@ + +form.elements: interfaces + + + + + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-matches.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-matches.html new file mode 100644 index 0000000..149dd09 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-matches.html @@ -0,0 +1,28 @@ + +form.elements: matches + + + + +
    +
    +
    + +
    +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-01.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-01.html new file mode 100644 index 0000000..779361d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-01.html @@ -0,0 +1,43 @@ + +form.elements: namedItem + + + + +
    +
    +
    + + +
    +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-02.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-02.html new file mode 100644 index 0000000..5a74617 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-02.html @@ -0,0 +1,28 @@ + +form.elements: parsing + + + + + +
    +
    +
    + + + + + + +
    +
    +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-input-element/input-textselection-01.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-input-element/input-textselection-01.html new file mode 100644 index 0000000..3e1e79b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-input-element/input-textselection-01.html @@ -0,0 +1,42 @@ + +The selection interface members + + + + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/textarea-type.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/textarea-type.html new file mode 100644 index 0000000..40f3882 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/textarea-type.html @@ -0,0 +1,16 @@ + +The type IDL attribute + + + + +
    + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1-ref.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1-ref.html new file mode 100644 index 0000000..3b68fca --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1-ref.html @@ -0,0 +1,5 @@ + +Dynamic manipulation of textarea.wrap + + + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1a.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1a.html new file mode 100644 index 0000000..f056934 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1a.html @@ -0,0 +1,8 @@ + +Dynamic manipulation of textarea.wrap + + + + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1b.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1b.html new file mode 100644 index 0000000..13c4251 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1b.html @@ -0,0 +1,8 @@ + +Dynamic manipulation of textarea.wrap + + + + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-language-type.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-language-type.html new file mode 100644 index 0000000..1126c50 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-language-type.html @@ -0,0 +1,18 @@ + +Script: combinations of @type and @language + + + + +
    + + + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-01.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-01.html new file mode 100644 index 0000000..42cac65 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-01.html @@ -0,0 +1,24 @@ + +Script @type: unknown parameters + + + + +
    +
    + + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-02.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-02.html new file mode 100644 index 0000000..71c0aa9 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-02.html @@ -0,0 +1,65 @@ + +Script @type: JavaScript types + + + + +
    +
    + + + + + + + + + + + + + + + + + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-noembed-noframes-iframe.xhtml b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-noembed-noframes-iframe.xhtml new file mode 100644 index 0000000..8dd9ceb --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-noembed-noframes-iframe.xhtml @@ -0,0 +1,36 @@ + + +Script inside noembed, noframes and iframe + + + + + +
    + +
    + +<script> +run.push("noembed"); +</script> + + +<script> +run.push("noframes"); +</script> + + +
    + + + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-01.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-01.html new file mode 100644 index 0000000..e21b052 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-01.html @@ -0,0 +1,24 @@ + +insertRow(): INDEX_SIZE_ERR + + + + +
    +
    + + +
    +
    +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-02.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-02.html new file mode 100644 index 0000000..7620099 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-02.html @@ -0,0 +1,34 @@ + +insertRow(): Empty table + + + + +
    +
    +
    +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-getter-01.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-getter-01.html new file mode 100644 index 0000000..35ddf68 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-getter-01.html @@ -0,0 +1,33 @@ + +HTMLAnchorElement.text getting + + + + +
    +
    +a b c +a b c +a b c +a c + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-setter-01.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-setter-01.html new file mode 100644 index 0000000..d042424 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-setter-01.html @@ -0,0 +1,41 @@ + +HTMLAnchorElement.text setting + + + + +
    +
    +a b c +a c +a b c + +
    + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1-ref.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1-ref.html new file mode 100644 index 0000000..6056912 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1-ref.html @@ -0,0 +1,5 @@ + +The hidden attribute + + +

    This line should be visible. diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1a.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1a.html new file mode 100644 index 0000000..edcbf3a --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1a.html @@ -0,0 +1,6 @@ + +The hidden attribute + + +

    This line should be visible. +

    This line should not be visible. + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1d.html b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1d.html new file mode 100644 index 0000000..94d3a7b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1d.html @@ -0,0 +1,10 @@ + +The hidden attribute + + +

    This line should not be visible. + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2-ref.svg b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2-ref.svg new file mode 100644 index 0000000..8aacdc8 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2-ref.svg @@ -0,0 +1,9 @@ + + + + + + + diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2.svg b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2.svg new file mode 100644 index 0000000..9a0db1e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2.svg @@ -0,0 +1,9 @@ + + + + + + + diff --git a/QuickTemplate/node_modules/domino/test/index.js b/QuickTemplate/node_modules/domino/test/index.js new file mode 100644 index 0000000..857dedb --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/index.js @@ -0,0 +1,3 @@ +exports.htmlwg = require('./htmlwg'); +exports.w3c = require('./w3c'); + diff --git a/QuickTemplate/node_modules/domino/test/mocha.opts b/QuickTemplate/node_modules/domino/test/mocha.opts new file mode 100644 index 0000000..eee6dac --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/mocha.opts @@ -0,0 +1,6 @@ +--ui exports +--reporter dot +--require should +--slow 20 +--growl + diff --git a/QuickTemplate/node_modules/domino/test/w3c/README.md b/QuickTemplate/node_modules/domino/test/w3c/README.md new file mode 100644 index 0000000..4791699 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/README.md @@ -0,0 +1,13 @@ +# Document Object Model (DOM) Conformance Test Suites + +http://www.w3.org/DOM/Test/ + +Since domino doesn't implement deprecated DOM features some tests are no longer relevant. These tests have been moved to the `obsolete` directory so that they are excluded from the suite. + +## Attributes vs. Nodes + +The majority of the excluded level1/core tests expect Attributes to inherit from the Node interface which is no longer required in DOM level 4. Also `Element.attributes` no longer returns a NamedNodeMap but a read-only array. + +## Obsolete Attributes + +Another big hunk of excluded tests checks the support of reflected attributes that have become obsolete in HTML 5. diff --git a/QuickTemplate/node_modules/domino/test/w3c/harness/DomTestCase.js b/QuickTemplate/node_modules/domino/test/w3c/harness/DomTestCase.js new file mode 100644 index 0000000..c20e2d2 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/harness/DomTestCase.js @@ -0,0 +1,438 @@ +/* +Copyright (c) 2001-2005 World Wide Web Consortium, +(Massachusetts Institute of Technology, Institut National de +Recherche en Informatique et en Automatique, Keio University). All +Rights Reserved. This program is distributed under the W3C's Software +Intellectual Property License. This program is distributed in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +PURPOSE. +See W3C License http://www.w3.org/Consortium/Legal/ for more details. +*/ + +function assertSize(descr, expected, actual) { + var actualSize; + assertNotNull(descr, actual); + actualSize = actual.length; + assertEquals(descr, expected, actualSize); +} + +function assertEqualsAutoCase(context, descr, expected, actual) { + if (builder.contentType == "text/html") { + if(context == "attribute") { + assertEquals(descr, expected.toLowerCase(), actual.toLowerCase()); + } + else { + assertEquals(descr, expected.toUpperCase(), actual); + } + } + else { + assertEquals(descr, expected, actual); + } +} + + + function assertEqualsCollectionAutoCase(context, descr, expected, actual) { + // + // if they aren't the same size, they aren't equal + assertEquals(descr, expected.length, actual.length); + + // + // if there length is the same, then every entry in the expected list + // must appear once and only once in the actual list + var expectedLen = expected.length; + var expectedValue; + var actualLen = actual.length; + var i; + var j; + var matches; + for(i = 0; i < expectedLen; i++) { + matches = 0; + expectedValue = expected[i]; + for(j = 0; j < actualLen; j++) { + if (builder.contentType == "text/html") { + if (context == "attribute") { + if (expectedValue.toLowerCase() == actual[j].toLowerCase()) { + matches++; + } + } + else { + if (expectedValue.toUpperCase() == actual[j]) { + matches++; + } + } + } + else { + if(expectedValue == actual[j]) { + matches++; + } + } + } + if(matches == 0) { + assert(descr + ": No match found for " + expectedValue,false); + } + if(matches > 1) { + assert(descr + ": Multiple matches found for " + expectedValue, false); + } + } +} + +function assertEqualsCollection(descr, expected, actual) { + // + // if they aren't the same size, they aren't equal + assertEquals(descr, expected.length, actual.length); + // + // if there length is the same, then every entry in the expected list + // must appear once and only once in the actual list + var expectedLen = expected.length; + var expectedValue; + var actualLen = actual.length; + var i; + var j; + var matches; + for(i = 0; i < expectedLen; i++) { + matches = 0; + expectedValue = expected[i]; + for(j = 0; j < actualLen; j++) { + if(expectedValue == actual[j]) { + matches++; + } + } + if(matches == 0) { + assert(descr + ": No match found for " + expectedValue,false); + } + if(matches > 1) { + assert(descr + ": Multiple matches found for " + expectedValue, false); + } + } +} + + +function assertEqualsListAutoCase(context, descr, expected, actual) { + var minLength = expected.length; + if (actual.length < minLength) { + minLength = actual.length; + } + // + for(var i = 0; i < minLength; i++) { + assertEqualsAutoCase(context, descr, expected[i], actual[i]); + } + // + // if they aren't the same size, they aren't equal + assertEquals(descr, expected.length, actual.length); +} + +function assertEqualsList(descr, expected, actual) { + var minLength = expected.length; + if (actual.length < minLength) { + minLength = actual.length; + } + // + for(var i = 0; i < minLength; i++) { + if(expected[i] != actual[i]) { + assertEquals(descr, expected[i], actual[i]); + } + } + // + // if they aren't the same size, they aren't equal + assertEquals(descr, expected.length, actual.length); +} + +function assertInstanceOf(descr, type, obj) { + if(type == "Attr") { + assertEquals(descr,2,obj.nodeType); + var specd = obj.specified; + } +} + +function assertSame(descr, expected, actual) { + if(expected != actual) { + assertEquals(descr, expected.nodeType, actual.nodeType); + assertEquals(descr, expected.nodeValue, actual.nodeValue); + } +} + +function assertURIEquals(assertID, scheme, path, host, file, name, query, fragment, isAbsolute, actual) { + // + // URI must be non-null + assertNotNull(assertID, actual); + + var uri = actual; + + var lastPound = actual.lastIndexOf("#"); + var actualFragment = ""; + if(lastPound != -1) { + // + // substring before pound + // + uri = actual.substring(0,lastPound); + actualFragment = actual.substring(lastPound+1); + } + if(fragment != null) assertEquals(assertID,fragment, actualFragment); + + var lastQuestion = uri.lastIndexOf("?"); + var actualQuery = ""; + if(lastQuestion != -1) { + // + // substring before pound + // + uri = actual.substring(0,lastQuestion); + actualQuery = actual.substring(lastQuestion+1); + } + if(query != null) assertEquals(assertID, query, actualQuery); + + var firstColon = uri.indexOf(":"); + var firstSlash = uri.indexOf("/"); + var actualPath = uri; + var actualScheme = ""; + if(firstColon != -1 && firstColon < firstSlash) { + actualScheme = uri.substring(0,firstColon); + actualPath = uri.substring(firstColon + 1); + } + + if(scheme != null) { + assertEquals(assertID, scheme, actualScheme); + } + + if(path != null) { + assertEquals(assertID, path, actualPath); + } + + if(host != null) { + var actualHost = ""; + if(actualPath.substring(0,2) == "//") { + var termSlash = actualPath.substring(2).indexOf("/") + 2; + actualHost = actualPath.substring(0,termSlash); + } + assertEquals(assertID, host, actualHost); + } + + if(file != null || name != null) { + var actualFile = actualPath; + var finalSlash = actualPath.lastIndexOf("/"); + if(finalSlash != -1) { + actualFile = actualPath.substring(finalSlash+1); + } + if (file != null) { + assertEquals(assertID, file, actualFile); + } + if (name != null) { + var actualName = actualFile; + var finalDot = actualFile.lastIndexOf("."); + if (finalDot != -1) { + actualName = actualName.substring(0, finalDot); + } + assertEquals(assertID, name, actualName); + } + } + + if(isAbsolute != null) { + assertEquals(assertID + ' ' + actualPath, isAbsolute, actualPath.substring(0,1) == "/"); + } +} + + +// size() used by assertSize element +function size(collection) { + return collection.length; +} + +function same(expected, actual) { + return expected === actual; +} + +function getSuffix(contentType) { + switch(contentType) { + case "text/html": + return ".html"; + + case "text/xml": + return ".xml"; + + case "application/xhtml+xml": + return ".xhtml"; + + case "image/svg+xml": + return ".svg"; + + case "text/mathml": + return ".mml"; + } + return ".html"; +} + +function equalsAutoCase(context, expected, actual) { + if (builder.contentType == "text/html") { + if (context == "attribute") { + return expected.toLowerCase() == actual; + } + return expected.toUpperCase() == actual; + } + return expected == actual; +} + +function catchInitializationError(blder, ex) { + if (blder == null) { + alert(ex); + } + else { + blder.initializationError = ex; + blder.initializationFatalError = ex; + } +} + +function checkInitialization(blder, testname) { + if (blder.initializationError != null) { + if (blder.skipIncompatibleTests) { + info(testname + " not run:" + blder.initializationError); + return blder.initializationError; + } + else { + // + // if an exception was thrown + // rethrow it and do not run the test + if (blder.initializationFatalError != null) { + throw blder.initializationFatalError; + } else { + // + // might be recoverable, warn but continue the test + warn(testname + ": " + blder.initializationError); + } + } + } + return null; +} + +function createTempURI(scheme) { + if (scheme == "http") { + return "http://localhost:8080/webdav/tmp" + Math.floor(Math.random() * 100000) + ".xml"; + } + return "file:///tmp/domts" + Math.floor(Math.random() * 100000) + ".xml"; +} + + +function EventMonitor() { + this.atEvents = new Array(); + this.bubbledEvents = new Array(); + this.capturedEvents = new Array(); + this.allEvents = new Array(); +} + +EventMonitor.prototype.handleEvent = function(evt) { + switch(evt.eventPhase) { + case 1: + monitor.capturedEvents[monitor.capturedEvents.length] = evt; + break; + + case 2: + monitor.atEvents[monitor.atEvents.length] = evt; + break; + + case 3: + monitor.bubbledEvents[monitor.bubbledEvents.length] = evt; + break; + } + monitor.allEvents[monitor.allEvents.length] = evt; +} + +function DOMErrorImpl(err) { + this.severity = err.severity; + this.message = err.message; + this.type = err.type; + this.relatedException = err.relatedException; + this.relatedData = err.relatedData; + this.location = err.location; +} + + + +function DOMErrorMonitor() { + this.allErrors = new Array(); +} + +DOMErrorMonitor.prototype.handleError = function(err) { + errorMonitor.allErrors[errorMonitor.allErrors.length] = new DOMErrorImpl(err); +} + +DOMErrorMonitor.prototype.assertLowerSeverity = function(id, severity) { + var i; + for (i = 0; i < errorMonitor.allErrors.length; i++) { + if (errorMonitor.allErrors[i].severity >= severity) { + assertEquals(id, severity - 1, errorMonitor.allErrors[i].severity); + } + } +} + +function UserDataNotification(operation, key, data, src, dst) { + this.operation = operation; + this.key = key; + this.data = data; + this.src = src; + this.dst = dst; +} + +function UserDataMonitor() { + this.allNotifications = new Array(); +} + +UserDataMonitor.prototype.handle = function(operation, key, data, src, dst) { + userDataMonitor.allNotifications[this.allNotifications.length] = + new UserDataNotification(operation, key, data, src, dst); +} + + + + +function checkFeature(feature, version) +{ + if (!builder.hasFeature(feature, version)) + { + // + // don't throw exception so that users can select to ignore the precondition + // + builder.initializationError = "builder does not support feature " + feature + " version " + version; + } +} + +function preload(frame, varname, url) { + return builder.preload(frame, varname, url); +} + +function load(frame, varname, url) { + return builder.load(frame, varname, url); +} + +function getImplementationAttribute(attr) { + return builder.getImplementationAttribute(attr); +} + + +function setImplementationAttribute(attribute, value) { + builder.setImplementationAttribute(attribute, value); +} + +function setAsynchronous(value) { + if (builder.supportsAsyncChange) { + builder.async = value; + } else { + update(); + } +} + + +function toLowerArray(src) { + var newArray = new Array(); + var i; + for (i = 0; i < src.length; i++) { + newArray[i] = src[i].toLowerCase(); + } + return newArray; +} + +function getImplementation() { + return builder.getImplementation(); +} + +function warn(msg) { + //console.log(msg); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/harness/index.js b/QuickTemplate/node_modules/domino/test/w3c/harness/index.js new file mode 100644 index 0000000..2b99432 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/harness/index.js @@ -0,0 +1,86 @@ +var fs = require('fs'); +var vm = require('vm'); +var assert = require('assert'); +var util = require('util'); +var Path = require('path'); +var domino = require('../../../lib'); +var impl = domino.createDOMImplementation(); + +var globals = { + assertEquals: function(message, expected, actual) { + assert.equal(actual, expected, message + ': expected ' + + util.inspect(expected, false, 0) + ' got ' + + util.inspect(actual, false, 0) + ); + }, + assertTrue: function(message, actual) { + globals.assertEquals(message, true, actual); + }, + assertFalse: function(message, actual) { + assert.ok(!actual, message); + }, + assertNull: function(message, actual) { + globals.assertEquals(message, null, actual); + }, + assertNotNull: function(message, actual) { + assert.notEqual(actual, null, message); + }, + console: console +}; + +function list(dir, re, fn) { + dir = Path.resolve(__dirname, '..', dir); + fs.readdirSync(dir).forEach(function(file) { + var path = Path.join(dir, file); + var m = re.exec(path); + if (m) fn.apply(null, m); + }); +} + +module.exports = function(path) { + + function run(file) { + vm.runInContext(fs.readFileSync(file, 'utf8'), ctx, file); + return ctx; + } + + var ctx = vm.createContext(); // create new independent context + Object.keys(globals).forEach(function(k) { + ctx[k] = globals[k]; // shallow clone + }); + + ctx.createConfiguredBuilder = function() { + return { + contentType: 'text/html', + hasFeature: function(feature, version) { + return impl.hasFeature(feature, version); + }, + getImplementation: function() { + return impl; + }, + setImplementationAttribute: function(attr, value) { + // Ignore + }, + preload: function(docRef, name, href) { + return 1; + }, + load: function(docRef, name, href) { + var doc = Path.resolve(__dirname, '..', path, 'files', href) + '.html'; + var html = fs.readFileSync(doc, 'utf8'); + return domino.createDocument(html); + } + }; + }; + + run(__dirname + '/DomTestCase.js'); + + var tests = {}; + list(path, /(.*?)\.js$/, function(file, basename) { + tests[basename] = function() { + run(file); + ctx.setUpPage(); + ctx.runTest(); + }; + }); + return tests; +}; diff --git a/QuickTemplate/node_modules/domino/test/w3c/index.js b/QuickTemplate/node_modules/domino/test/w3c/index.js new file mode 100644 index 0000000..c093a4c --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/index.js @@ -0,0 +1,12 @@ +var suite = require('./harness'); + +exports.level1 = { + core: suite('level1/core/'), + html: suite('level1/html/') +}; +/* +exports.level2 = { + core: suite('level2/core/'), + html: suite('level2/html/') +}; +*/ \ No newline at end of file diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/documentgetdoctypenodtd.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/documentgetdoctypenodtd.js new file mode 100644 index 0000000..7d475f9 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/documentgetdoctypenodtd.js @@ -0,0 +1,110 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/documentgetdoctypenodtd"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + setImplementationAttribute("validating", false); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_nodtdstaff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getDoctype()" method returns null for XML documents + without a document type declaration. + Retrieve the XML document without a DTD and invoke the + "getDoctype()" method. It should return null. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A31 +*/ +function documentgetdoctypenodtd() { + var success; + if(checkInitialization(builder, "documentgetdoctypenodtd") != null) return; + var doc; + var docType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_nodtdstaff"); + docType = doc.doctype; + + assertNull("documentGetDocTypeNoDTDAssert",docType); + +} + + + + +function runTest() { + documentgetdoctypenodtd(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi.js new file mode 100644 index 0000000..3216c53 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi.js @@ -0,0 +1,143 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/documentinvalidcharacterexceptioncreatepi"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + checkFeature("XML", null); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "createProcessingInstruction(target,data) method + raises an INVALID_CHARACTER_ERR DOMException if the + specified tagName contains an invalid character. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-135944439 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-135944439')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function documentinvalidcharacterexceptioncreatepi() { + var success; + if(checkInitialization(builder, "documentinvalidcharacterexceptioncreatepi") != null) return; + var doc; + var badPI; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + + if( + + (builder.contentType == "text/html") + + ) { + + { + success = false; + try { + badPI = doc.createProcessingInstruction("foo","data"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 9); + } + assertTrue("throw_NOT_SUPPORTED_ERR",success); + } + + } + + else { + + { + success = false; + try { + badPI = doc.createProcessingInstruction("invalid^Name","data"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 5); + } + assertTrue("throw_INVALID_CHARACTER_ERR",success); + } + + } + +} + + + + +function runTest() { + documentinvalidcharacterexceptioncreatepi(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi1.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi1.js new file mode 100644 index 0000000..fb6104d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi1.js @@ -0,0 +1,140 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/documentinvalidcharacterexceptioncreatepi1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + checkFeature("XML", null); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Creating a processing instruction with an empty target should cause an INVALID_CHARACTER_ERR. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-135944439 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-135944439')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=525 +*/ +function documentinvalidcharacterexceptioncreatepi1() { + var success; + if(checkInitialization(builder, "documentinvalidcharacterexceptioncreatepi1") != null) return; + var doc; + var badPI; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + + if( + + (builder.contentType == "text/html") + + ) { + + { + success = false; + try { + badPI = doc.createProcessingInstruction("foo","data"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 9); + } + assertTrue("throw_NOT_SUPPORTED_ERR",success); + } + + } + + else { + + { + success = false; + try { + badPI = doc.createProcessingInstruction("","data"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 5); + } + assertTrue("throw_INVALID_CHARACTER_ERR",success); + } + + } + +} + + + + +function runTest() { + documentinvalidcharacterexceptioncreatepi1(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/files/.cvsignore b/QuickTemplate/node_modules/domino/test/w3c/level1/core/files/.cvsignore new file mode 100644 index 0000000..e69de29 diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/files/hc_nodtdstaff.html b/QuickTemplate/node_modules/domino/test/w3c/level1/core/files/hc_nodtdstaff.html new file mode 100644 index 0000000..f98d0be --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/files/hc_nodtdstaff.html @@ -0,0 +1,10 @@ +hc_nodtdstaff +

    + EMP0001 + Margaret Martin + Accountant + 56,000 + Female + 1230 North Ave. Dallas, Texas 98551 +

    + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/files/hc_staff.html b/QuickTemplate/node_modules/domino/test/w3c/level1/core/files/hc_staff.html new file mode 100644 index 0000000..9acf750 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/files/hc_staff.html @@ -0,0 +1,48 @@ + + +hc_staff +

    + EMP0001 + Margaret Martin + Accountant + 56,000 + Female + 1230 North Ave. Dallas, Texas 98551 +

    +

    + EMP0002 + Martha RaynoldsThis is a CDATASection with EntityReference number 2 &ent2; +This is an adjacent CDATASection with a reference to a tab &tab; + Secretary + 35,000 + Female + β Dallas, γ + 98554 +

    +

    + EMP0003 + Roger + Jones + Department Manager + 100,000 + δ + PO Box 27 Irving, texas 98553 +

    +

    + EMP0004 + Jeny Oconnor + Personnel Director + 95,000 + Female + 27 South Road. Dallas, Texas 98556 +

    +

    + EMP0005 + Robert Myers + Computer Specialist + 90,000 + male + 1821 Nordic. Road, Irving Texas 98558 +

    + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/files/staff.dtd b/QuickTemplate/node_modules/domino/test/w3c/level1/core/files/staff.dtd new file mode 100644 index 0000000..02a994d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/files/staff.dtd @@ -0,0 +1,17 @@ + + + + + + + + + + + + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddata.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddata.js new file mode 100644 index 0000000..a479174 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddata.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataappenddata"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "appendData(arg)" method appends a string to the end + of the character data of the node. + + Retrieve the character data from the second child + of the first employee. The appendData(arg) method is + called with arg=", Esquire". The method should append + the specified data to the already existing character + data. The new value return by the "getLength()" method + should be 24. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-32791A2F +*/ +function hc_characterdataappenddata() { + var success; + if(checkInitialization(builder, "hc_characterdataappenddata") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childValue; + var childLength; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.appendData(", Esquire"); + childValue = child.data; + + childLength = childValue.length; + assertEquals("characterdataAppendDataAssert",24,childLength); + +} + + + + +function runTest() { + hc_characterdataappenddata(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddatagetdata.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddatagetdata.js new file mode 100644 index 0000000..4aed0ce --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddatagetdata.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataappenddatagetdata"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + On successful invocation of the "appendData(arg)" + method the "getData()" method provides access to the + concatentation of data and the specified string. + + Retrieve the character data from the second child + of the first employee. The appendData(arg) method is + called with arg=", Esquire". The method should append + the specified data to the already existing character + data. The new value return by the "getData()" method + should be "Margaret Martin, Esquire". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-32791A2F +*/ +function hc_characterdataappenddatagetdata() { + var success; + if(checkInitialization(builder, "hc_characterdataappenddatagetdata") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.appendData(", Esquire"); + childData = child.data; + + assertEquals("characterdataAppendDataGetDataAssert","Margaret Martin, Esquire",childData); + +} + + + + +function runTest() { + hc_characterdataappenddatagetdata(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatabegining.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatabegining.js new file mode 100644 index 0000000..8fc32ed --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatabegining.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatadeletedatabegining"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "deleteData(offset,count)" method removes a range of +characters from the node. Delete data at the beginning +of the character data. + +Retrieve the character data from the last child of the +first employee. The "deleteData(offset,count)" +method is then called with offset=0 and count=16. +The method should delete the characters from position +0 thru position 16. The new value of the character data +should be "Dallas, Texas 98551". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 +*/ +function hc_characterdatadeletedatabegining() { + var success; + if(checkInitialization(builder, "hc_characterdatadeletedatabegining") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.deleteData(0,16); + childData = child.data; + + assertEquals("data","Dallas, Texas 98551",childData); + +} + + + + +function runTest() { + hc_characterdatadeletedatabegining(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataend.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataend.js new file mode 100644 index 0000000..8d567d0 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataend.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatadeletedataend"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "deleteData(offset,count)" method removes a range of + characters from the node. Delete data at the end + of the character data. + + Retrieve the character data from the last child of the + first employee. The "deleteData(offset,count)" + method is then called with offset=30 and count=5. + The method should delete the characters from position + 30 thru position 35. The new value of the character data + should be "1230 North Ave. Dallas, Texas". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 +*/ +function hc_characterdatadeletedataend() { + var success; + if(checkInitialization(builder, "hc_characterdatadeletedataend") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.deleteData(30,5); + childData = child.data; + + assertEquals("characterdataDeleteDataEndAssert","1230 North Ave. Dallas, Texas ",childData); + +} + + + + +function runTest() { + hc_characterdatadeletedataend(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataexceedslength.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataexceedslength.js new file mode 100644 index 0000000..4dccc5e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataexceedslength.js @@ -0,0 +1,125 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatadeletedataexceedslength"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If the sum of the offset and count used in the + "deleteData(offset,count) method is greater than the + length of the character data then all the characters + from the offset to the end of the data are deleted. + + Retrieve the character data from the last child of the + first employee. The "deleteData(offset,count)" + method is then called with offset=4 and count=50. + The method should delete the characters from position 4 + to the end of the data since the offset+count(50+4) + is greater than the length of the character data(35). + The new value of the character data should be "1230". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 +*/ +function hc_characterdatadeletedataexceedslength() { + var success; + if(checkInitialization(builder, "hc_characterdatadeletedataexceedslength") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.deleteData(4,50); + childData = child.data; + + assertEquals("characterdataDeleteDataExceedsLengthAssert","1230",childData); + +} + + + + +function runTest() { + hc_characterdatadeletedataexceedslength(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatagetlengthanddata.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatagetlengthanddata.js new file mode 100644 index 0000000..b3784f3 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatagetlengthanddata.js @@ -0,0 +1,132 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatadeletedatagetlengthanddata"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + On successful invocation of the "deleteData(offset,count)" + method, the "getData()" and "getLength()" methods reflect + the changes. + + Retrieve the character data from the last child of the + first employee. The "deleteData(offset,count)" + method is then called with offset=30 and count=5. + The method should delete the characters from position + 30 thru position 35. The new value of the character data + should be "1230 North Ave. Dallas, Texas" which is + returned by the "getData()" method and "getLength()" + method should return 30". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7D61178C +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 +*/ +function hc_characterdatadeletedatagetlengthanddata() { + var success; + if(checkInitialization(builder, "hc_characterdatadeletedatagetlengthanddata") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + var childLength; + var result = new Array(); + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.deleteData(30,5); + childData = child.data; + + assertEquals("data","1230 North Ave. Dallas, Texas ",childData); + childLength = child.length; + + assertEquals("length",30,childLength); + +} + + + + +function runTest() { + hc_characterdatadeletedatagetlengthanddata(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatamiddle.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatamiddle.js new file mode 100644 index 0000000..9afa810 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatamiddle.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatadeletedatamiddle"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "deleteData(offset,count)" method removes a range of + characters from the node. Delete data in the middle + of the character data. + + Retrieve the character data from the last child of the + first employee. The "deleteData(offset,count)" + method is then called with offset=16 and count=8. + The method should delete the characters from position + 16 thru position 24. The new value of the character data + should be "1230 North Ave. Texas 98551". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 +*/ +function hc_characterdatadeletedatamiddle() { + var success; + if(checkInitialization(builder, "hc_characterdatadeletedatamiddle") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.deleteData(16,8); + childData = child.data; + + assertEquals("characterdataDeleteDataMiddleAssert","1230 North Ave. Texas 98551",childData); + +} + + + + +function runTest() { + hc_characterdatadeletedatamiddle(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatagetdata.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatagetdata.js new file mode 100644 index 0000000..ef16bb0 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatagetdata.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatagetdata"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + + The "getData()" method retrieves the character data + + currently stored in the node. + + Retrieve the character data from the second child + + of the first employee and invoke the "getData()" + + method. The method returns the character data + + string. + + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +*/ +function hc_characterdatagetdata() { + var success; + if(checkInitialization(builder, "hc_characterdatagetdata") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + childData = child.data; + + assertEquals("characterdataGetDataAssert","Margaret Martin",childData); + +} + + + + +function runTest() { + hc_characterdatagetdata(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatagetlength.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatagetlength.js new file mode 100644 index 0000000..214b14c --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatagetlength.js @@ -0,0 +1,119 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatagetlength"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getLength()" method returns the number of characters + stored in this nodes data. + Retrieve the character data from the second + child of the first employee and examine the + value returned by the getLength() method. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7D61178C +*/ +function hc_characterdatagetlength() { + var success; + if(checkInitialization(builder, "hc_characterdatagetlength") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childValue; + var childLength; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + childValue = child.data; + + childLength = childValue.length; + assertEquals("characterdataGetLengthAssert",15,childLength); + +} + + + + +function runTest() { + hc_characterdatagetlength(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative.js new file mode 100644 index 0000000..9d03881 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative.js @@ -0,0 +1,130 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + setImplementationAttribute("signed", true); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "deleteData(offset,count)" method raises an + INDEX_SIZE_ERR DOMException if the specified count + is negative. + + Retrieve the character data of the last child of the + first employee and invoke its "deleteData(offset,count)" + method with offset=10 and count=-3. It should raise the + desired exception since the count is negative. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6531BCCF +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-6531BCCF')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) +*/ +function hc_characterdataindexsizeerrdeletedatacountnegative() { + var success; + if(checkInitialization(builder, "hc_characterdataindexsizeerrdeletedatacountnegative") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childSubstring; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + + { + success = false; + try { + childSubstring = child.substringData(10,-3); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 1); + } + assertTrue("throws_INDEX_SIZE_ERR",success); + } + +} + + + + +function runTest() { + hc_characterdataindexsizeerrdeletedatacountnegative(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetgreater.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetgreater.js new file mode 100644 index 0000000..a66a6c1 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetgreater.js @@ -0,0 +1,131 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrdeletedataoffsetgreater"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "deleteData(offset,count)" method raises an + INDEX_SIZE_ERR DOMException if the specified offset + is greater that the number of characters in the string. + + Retrieve the character data of the last child of the + first employee and invoke its "deleteData(offset,count)" + method with offset=40 and count=3. It should raise the + desired exception since the offset is greater than the + number of characters in the string. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-7C603781')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_characterdataindexsizeerrdeletedataoffsetgreater() { + var success; + if(checkInitialization(builder, "hc_characterdataindexsizeerrdeletedataoffsetgreater") != null) return; + var doc; + var elementList; + var nameNode; + var child; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + + { + success = false; + try { + child.deleteData(40,3); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 1); + } + assertTrue("throw_INDEX_SIZE_ERR",success); + } + +} + + + + +function runTest() { + hc_characterdataindexsizeerrdeletedataoffsetgreater(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetnegative.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetnegative.js new file mode 100644 index 0000000..ca26f7d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetnegative.js @@ -0,0 +1,130 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrdeletedataoffsetnegative"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + setImplementationAttribute("signed", true); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "deleteData(offset,count)" method raises an + INDEX_SIZE_ERR DOMException if the specified offset + is negative. + + Retrieve the character data of the last child of the + first employee and invoke its "deleteData(offset,count)" + method with offset=-5 and count=3. It should raise the + desired exception since the offset is negative. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-7C603781')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 +*/ +function hc_characterdataindexsizeerrdeletedataoffsetnegative() { + var success; + if(checkInitialization(builder, "hc_characterdataindexsizeerrdeletedataoffsetnegative") != null) return; + var doc; + var elementList; + var nameNode; + var child; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + + { + success = false; + try { + child.deleteData(-5,3); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 1); + } + assertTrue("throws_INDEX_SIZE_ERR",success); + } + +} + + + + +function runTest() { + hc_characterdataindexsizeerrdeletedataoffsetnegative(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetgreater.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetgreater.js new file mode 100644 index 0000000..0abfe7e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetgreater.js @@ -0,0 +1,130 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrinsertdataoffsetgreater"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "insertData(offset,arg)" method raises an + INDEX_SIZE_ERR DOMException if the specified offset + is greater than the number of characters in the string. + + Retrieve the character data of the last child of the + first employee and invoke its insertData"(offset,arg)" + method with offset=40 and arg="ABC". It should raise + the desired exception since the offset is greater than + the number of characters in the string. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-7C603781')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_characterdataindexsizeerrinsertdataoffsetgreater() { + var success; + if(checkInitialization(builder, "hc_characterdataindexsizeerrinsertdataoffsetgreater") != null) return; + var doc; + var elementList; + var nameNode; + var child; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + + { + success = false; + try { + child.deleteData(40,3); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 1); + } + assertTrue("throw_INDEX_SIZE_ERR",success); + } + +} + + + + +function runTest() { + hc_characterdataindexsizeerrinsertdataoffsetgreater(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetnegative.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetnegative.js new file mode 100644 index 0000000..4712b94 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetnegative.js @@ -0,0 +1,129 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrinsertdataoffsetnegative"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + setImplementationAttribute("signed", true); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "insertData(offset,arg)" method raises an + INDEX_SIZE_ERR DOMException if the specified offset + is negative. + + Retrieve the character data of the last child of the + first employee and invoke its insertData"(offset,arg)" + method with offset=-5 and arg="ABC". It should raise + the desired exception since the offset is negative. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-E5CBA7FB')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) +*/ +function hc_characterdataindexsizeerrinsertdataoffsetnegative() { + var success; + if(checkInitialization(builder, "hc_characterdataindexsizeerrinsertdataoffsetnegative") != null) return; + var doc; + var elementList; + var nameNode; + var child; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + + { + success = false; + try { + child.replaceData(-5,3,"ABC"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 1); + } + assertTrue("throws_INDEX_SIZE_ERR",success); + } + +} + + + + +function runTest() { + hc_characterdataindexsizeerrinsertdataoffsetnegative(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedatacountnegative.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedatacountnegative.js new file mode 100644 index 0000000..7a2b7d2 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedatacountnegative.js @@ -0,0 +1,131 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrreplacedatacountnegative"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + setImplementationAttribute("signed", true); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "replaceData(offset,count,arg)" method raises an + INDEX_SIZE_ERR DOMException if the specified count + is negative. + + Retrieve the character data of the last child of the + first employee and invoke its + "replaceData(offset,count,arg) method with offset=10 + and count=-3 and arg="ABC". It should raise the + desired exception since the count is negative. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6531BCCF +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-6531BCCF')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) +*/ +function hc_characterdataindexsizeerrreplacedatacountnegative() { + var success; + if(checkInitialization(builder, "hc_characterdataindexsizeerrreplacedatacountnegative") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var badString; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + + { + success = false; + try { + badString = child.substringData(10,-3); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 1); + } + assertTrue("throws_INDEX_SIZE_ERR",success); + } + +} + + + + +function runTest() { + hc_characterdataindexsizeerrreplacedatacountnegative(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetgreater.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetgreater.js new file mode 100644 index 0000000..dc62aa7 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetgreater.js @@ -0,0 +1,131 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrreplacedataoffsetgreater"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "replaceData(offset,count,arg)" method raises an + INDEX_SIZE_ERR DOMException if the specified offset + is greater than the length of the string. + + Retrieve the character data of the last child of the + first employee and invoke its + "replaceData(offset,count,arg) method with offset=40 + and count=3 and arg="ABC". It should raise the + desired exception since the offset is greater than the + length of the string. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-7C603781')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=242 +*/ +function hc_characterdataindexsizeerrreplacedataoffsetgreater() { + var success; + if(checkInitialization(builder, "hc_characterdataindexsizeerrreplacedataoffsetgreater") != null) return; + var doc; + var elementList; + var nameNode; + var child; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + + { + success = false; + try { + child.deleteData(40,3); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 1); + } + assertTrue("throw_INDEX_SIZE_ERR",success); + } + +} + + + + +function runTest() { + hc_characterdataindexsizeerrreplacedataoffsetgreater(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetnegative.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetnegative.js new file mode 100644 index 0000000..af267df --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetnegative.js @@ -0,0 +1,131 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrreplacedataoffsetnegative"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + setImplementationAttribute("signed", true); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "replaceData(offset,count,arg)" method raises an + INDEX_SIZE_ERR DOMException if the specified offset + is negative. + + Retrieve the character data of the last child of the + first employee and invoke its + "replaceData(offset,count,arg) method with offset=-5 + and count=3 and arg="ABC". It should raise the + desired exception since the offset is negative. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-E5CBA7FB')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB +*/ +function hc_characterdataindexsizeerrreplacedataoffsetnegative() { + var success; + if(checkInitialization(builder, "hc_characterdataindexsizeerrreplacedataoffsetnegative") != null) return; + var doc; + var elementList; + var nameNode; + var child; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + + { + success = false; + try { + child.replaceData(-5,3,"ABC"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 1); + } + assertTrue("throws_INDEX_SIZE_ERR",success); + } + +} + + + + +function runTest() { + hc_characterdataindexsizeerrreplacedataoffsetnegative(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringcountnegative.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringcountnegative.js new file mode 100644 index 0000000..2e96dbe --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringcountnegative.js @@ -0,0 +1,130 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrsubstringcountnegative"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + setImplementationAttribute("signed", true); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "substringData(offset,count)" method raises an + INDEX_SIZE_ERR DOMException if the specified count + is negative. + + Retrieve the character data of the last child of the + first employee and invoke its "substringData(offset,count) + method with offset=10 and count=-3. It should raise the + desired exception since the count is negative. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6531BCCF +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-6531BCCF')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) +*/ +function hc_characterdataindexsizeerrsubstringcountnegative() { + var success; + if(checkInitialization(builder, "hc_characterdataindexsizeerrsubstringcountnegative") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var badSubstring; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + + { + success = false; + try { + badSubstring = child.substringData(10,-3); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 1); + } + assertTrue("throws_INDEX_SIZE_ERR",success); + } + +} + + + + +function runTest() { + hc_characterdataindexsizeerrsubstringcountnegative(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringnegativeoffset.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringnegativeoffset.js new file mode 100644 index 0000000..bc2fbf1 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringnegativeoffset.js @@ -0,0 +1,130 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrsubstringnegativeoffset"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + setImplementationAttribute("signed", true); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "substringData(offset,count)" method raises an + INDEX_SIZE_ERR DOMException if the specified offset + is negative. + + Retrieve the character data of the last child of the + first employee and invoke its "substringData(offset,count) + method with offset=-5 and count=3. It should raise the + desired exception since the offset is negative. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6531BCCF +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-6531BCCF')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) +*/ +function hc_characterdataindexsizeerrsubstringnegativeoffset() { + var success; + if(checkInitialization(builder, "hc_characterdataindexsizeerrsubstringnegativeoffset") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var badString; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + + { + success = false; + try { + badString = child.substringData(-5,3); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 1); + } + assertTrue("throws_INDEX_SIZE_ERR",success); + } + +} + + + + +function runTest() { + hc_characterdataindexsizeerrsubstringnegativeoffset(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringoffsetgreater.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringoffsetgreater.js new file mode 100644 index 0000000..65325c7 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringoffsetgreater.js @@ -0,0 +1,131 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrsubstringoffsetgreater"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "substringData(offset,count)" method raises an + INDEX_SIZE_ERR DOMException if the specified offset + is greater than the number of characters in the string. + + Retrieve the character data of the last child of the + first employee and invoke its "substringData(offset,count) + method with offset=40 and count=3. It should raise the + desired exception since the offsets value is greater + than the length. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6531BCCF +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-6531BCCF')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_characterdataindexsizeerrsubstringoffsetgreater() { + var success; + if(checkInitialization(builder, "hc_characterdataindexsizeerrsubstringoffsetgreater") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var badString; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + + { + success = false; + try { + badString = child.substringData(40,3); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 1); + } + assertTrue("throw_INDEX_SIZE_ERR",success); + } + +} + + + + +function runTest() { + hc_characterdataindexsizeerrsubstringoffsetgreater(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatabeginning.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatabeginning.js new file mode 100644 index 0000000..576e855 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatabeginning.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatainsertdatabeginning"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "insertData(offset,arg)" method will insert a string +at the specified character offset. Insert the data at +the beginning of the character data. + +Retrieve the character data from the second child of +the first employee. The "insertData(offset,arg)" +method is then called with offset=0 and arg="Mss.". +The method should insert the string "Mss." at position 0. +The new value of the character data should be +"Mss. Margaret Martin". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3EDB695F +*/ +function hc_characterdatainsertdatabeginning() { + var success; + if(checkInitialization(builder, "hc_characterdatainsertdatabeginning") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.insertData(0,"Mss. "); + childData = child.data; + + assertEquals("characterdataInsertDataBeginningAssert","Mss. Margaret Martin",childData); + +} + + + + +function runTest() { + hc_characterdatainsertdatabeginning(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdataend.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdataend.js new file mode 100644 index 0000000..424f776 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdataend.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatainsertdataend"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "insertData(offset,arg)" method will insert a string + at the specified character offset. Insert the data at + the end of the character data. + + Retrieve the character data from the second child of + the first employee. The "insertData(offset,arg)" + method is then called with offset=15 and arg=", Esquire". + The method should insert the string ", Esquire" at + position 15. The new value of the character data should + be "Margaret Martin, Esquire". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3EDB695F +*/ +function hc_characterdatainsertdataend() { + var success; + if(checkInitialization(builder, "hc_characterdatainsertdataend") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.insertData(15,", Esquire"); + childData = child.data; + + assertEquals("characterdataInsertDataEndAssert","Margaret Martin, Esquire",childData); + +} + + + + +function runTest() { + hc_characterdatainsertdataend(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatamiddle.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatamiddle.js new file mode 100644 index 0000000..081714c --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatamiddle.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatainsertdatamiddle"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "insertData(offset,arg)" method will insert a string + at the specified character offset. Insert the data in + the middle of the character data. + + Retrieve the character data from the second child of + the first employee. The "insertData(offset,arg)" + method is then called with offset=9 and arg="Ann". + The method should insert the string "Ann" at position 9. + The new value of the character data should be + "Margaret Ann Martin". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3EDB695F +*/ +function hc_characterdatainsertdatamiddle() { + var success; + if(checkInitialization(builder, "hc_characterdatainsertdatamiddle") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.insertData(9,"Ann "); + childData = child.data; + + assertEquals("characterdataInsertDataMiddleAssert","Margaret Ann Martin",childData); + +} + + + + +function runTest() { + hc_characterdatainsertdatamiddle(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatabegining.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatabegining.js new file mode 100644 index 0000000..2f5820d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatabegining.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatareplacedatabegining"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "replaceData(offset,count,arg)" method replaces the +characters starting at the specified offset with the +specified string. Test for replacement in the +middle of the data. + +Retrieve the character data from the last child of the +first employee. The "replaceData(offset,count,arg)" +method is then called with offset=5 and count=5 and +arg="South". The method should replace characters five +thru 9 of the character data with "South". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB +*/ +function hc_characterdatareplacedatabegining() { + var success; + if(checkInitialization(builder, "hc_characterdatareplacedatabegining") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.replaceData(0,4,"2500"); + childData = child.data; + + assertEquals("characterdataReplaceDataBeginingAssert","2500 North Ave. Dallas, Texas 98551",childData); + +} + + + + +function runTest() { + hc_characterdatareplacedatabegining(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataend.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataend.js new file mode 100644 index 0000000..8c01d58 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataend.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatareplacedataend"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "replaceData(offset,count,arg)" method replaces the + characters starting at the specified offset with the + specified string. Test for replacement at the + end of the data. + + Retrieve the character data from the last child of the + first employee. The "replaceData(offset,count,arg)" + method is then called with offset=30 and count=5 and + arg="98665". The method should replace characters 30 + thru 34 of the character data with "98665". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB +*/ +function hc_characterdatareplacedataend() { + var success; + if(checkInitialization(builder, "hc_characterdatareplacedataend") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.replaceData(30,5,"98665"); + childData = child.data; + + assertEquals("characterdataReplaceDataEndAssert","1230 North Ave. Dallas, Texas 98665",childData); + +} + + + + +function runTest() { + hc_characterdatareplacedataend(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofarg.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofarg.js new file mode 100644 index 0000000..a9cf8e2 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofarg.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatareplacedataexceedslengthofarg"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "replaceData(offset,count,arg)" method replaces the + characters starting at the specified offset with the + specified string. Test the situation where the length + of the arg string is greater than the specified offset. + + Retrieve the character data from the last child of the + first employee. The "replaceData(offset,count,arg)" + method is then called with offset=0 and count=4 and + arg="260030". The method should replace characters one + thru four with "260030". Note that the length of the + specified string is greater that the specified offset. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB +*/ +function hc_characterdatareplacedataexceedslengthofarg() { + var success; + if(checkInitialization(builder, "hc_characterdatareplacedataexceedslengthofarg") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.replaceData(0,4,"260030"); + childData = child.data; + + assertEquals("characterdataReplaceDataExceedsLengthOfArgAssert","260030 North Ave. Dallas, Texas 98551",childData); + +} + + + + +function runTest() { + hc_characterdatareplacedataexceedslengthofarg(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofdata.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofdata.js new file mode 100644 index 0000000..b2b4205 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofdata.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatareplacedataexceedslengthofdata"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If the sum of the offset and count exceeds the length then + all the characters to the end of the data are replaced. + + Retrieve the character data from the last child of the + first employee. The "replaceData(offset,count,arg)" + method is then called with offset=0 and count=50 and + arg="2600". The method should replace all the characters + with "2600". This is because the sum of the offset and + count exceeds the length of the character data. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB +*/ +function hc_characterdatareplacedataexceedslengthofdata() { + var success; + if(checkInitialization(builder, "hc_characterdatareplacedataexceedslengthofdata") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.replaceData(0,50,"2600"); + childData = child.data; + + assertEquals("characterdataReplaceDataExceedsLengthOfDataAssert","2600",childData); + +} + + + + +function runTest() { + hc_characterdatareplacedataexceedslengthofdata(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatamiddle.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatamiddle.js new file mode 100644 index 0000000..6558cde --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatamiddle.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatareplacedatamiddle"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "replaceData(offset,count,arg)" method replaces the + characters starting at the specified offset with the + specified string. Test for replacement in the + middle of the data. + + Retrieve the character data from the last child of the + first employee. The "replaceData(offset,count,arg)" + method is then called with offset=5 and count=5 and + arg="South". The method should replace characters five + thru 9 of the character data with "South". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB +*/ +function hc_characterdatareplacedatamiddle() { + var success; + if(checkInitialization(builder, "hc_characterdatareplacedatamiddle") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.replaceData(5,5,"South"); + childData = child.data; + + assertEquals("characterdataReplaceDataMiddleAssert","1230 South Ave. Dallas, Texas 98551",childData); + +} + + + + +function runTest() { + hc_characterdatareplacedatamiddle(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatasetnodevalue.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatasetnodevalue.js new file mode 100644 index 0000000..e56ce72 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatasetnodevalue.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatasetnodevalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "setNodeValue()" method changes the character data + currently stored in the node. + Retrieve the character data from the second child + of the first employee and invoke the "setNodeValue()" + method, call "getData()" and compare. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +*/ +function hc_characterdatasetnodevalue() { + var success; + if(checkInitialization(builder, "hc_characterdatasetnodevalue") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + var childValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.nodeValue = "Marilyn Martin"; + + childData = child.data; + + assertEquals("data","Marilyn Martin",childData); + childValue = child.nodeValue; + + assertEquals("value","Marilyn Martin",childValue); + +} + + + + +function runTest() { + hc_characterdatasetnodevalue(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringexceedsvalue.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringexceedsvalue.js new file mode 100644 index 0000000..043dac2 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringexceedsvalue.js @@ -0,0 +1,120 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatasubstringexceedsvalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If the sum of the "offset" and "count" exceeds the + "length" then the "substringData(offset,count)" method + returns all the characters to the end of the data. + + Retrieve the character data from the second child + of the first employee and access part of the data + by using the substringData(offset,count) method + with offset=9 and count=10. The method should return + the substring "Martin" since offset+count > length + (19 > 15). + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6531BCCF +*/ +function hc_characterdatasubstringexceedsvalue() { + var success; + if(checkInitialization(builder, "hc_characterdatasubstringexceedsvalue") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var substring; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + substring = child.substringData(9,10); + assertEquals("characterdataSubStringExceedsValueAssert","Martin",substring); + +} + + + + +function runTest() { + hc_characterdatasubstringexceedsvalue(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringvalue.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringvalue.js new file mode 100644 index 0000000..379e3b0 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringvalue.js @@ -0,0 +1,119 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatasubstringvalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "substringData(offset,count)" method returns the + specified string. + + Retrieve the character data from the second child + of the first employee and access part of the data + by using the substringData(offset,count) method. The + method should return the specified substring starting + at position "offset" and extract "count" characters. + The method should return the string "Margaret". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6531BCCF +*/ +function hc_characterdatasubstringvalue() { + var success; + if(checkInitialization(builder, "hc_characterdatasubstringvalue") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var substring; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + substring = child.substringData(0,8); + assertEquals("characterdataSubStringValueAssert","Margaret",substring); + +} + + + + +function runTest() { + hc_characterdatasubstringvalue(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_commentgetcomment.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_commentgetcomment.js new file mode 100644 index 0000000..b7c76b4 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_commentgetcomment.js @@ -0,0 +1,144 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_commentgetcomment"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + A comment is all the characters between the starting + '' + Retrieve the nodes of the DOM document. Search for a + comment node and the content is its value. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1334481328 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=509 +*/ +function hc_commentgetcomment() { + var success; + if(checkInitialization(builder, "hc_commentgetcomment") != null) return; + var doc; + var elementList; + var child; + var childName; + var childValue; + var commentCount = 0; + var childType; + var attributes; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.childNodes; + + for(var indexN1005E = 0;indexN1005E < elementList.length; indexN1005E++) { + child = elementList.item(indexN1005E); + childType = child.nodeType; + + + if( + (8 == childType) + ) { + childName = child.nodeName; + + assertEquals("nodeName","#comment",childName); + childValue = child.nodeValue; + + assertEquals("nodeValue"," This is comment number 1.",childValue); + attributes = child.attributes; + + assertNull("attributes",attributes); + commentCount += 1; + + } + + } + assertTrue("atMostOneComment", + + (commentCount < 2) +); + +} + + + + +function runTest() { + hc_commentgetcomment(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentcreatecomment.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentcreatecomment.js new file mode 100644 index 0000000..fdd69a8 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentcreatecomment.js @@ -0,0 +1,120 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentcreatecomment"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "createComment(data)" method creates a new Comment + node given the specified string. + Retrieve the entire DOM document and invoke its + "createComment(data)" method. It should create a new + Comment node whose "data" is the specified string. + The content, name and type are retrieved and output. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1334481328 +*/ +function hc_documentcreatecomment() { + var success; + if(checkInitialization(builder, "hc_documentcreatecomment") != null) return; + var doc; + var newCommentNode; + var newCommentValue; + var newCommentName; + var newCommentType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newCommentNode = doc.createComment("This is a new Comment node"); + newCommentValue = newCommentNode.nodeValue; + + assertEquals("value","This is a new Comment node",newCommentValue); + newCommentName = newCommentNode.nodeName; + + assertEquals("strong","#comment",newCommentName); + newCommentType = newCommentNode.nodeType; + + assertEquals("type",8,newCommentType); + +} + + + + +function runTest() { + hc_documentcreatecomment(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentcreatedocumentfragment.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentcreatedocumentfragment.js new file mode 100644 index 0000000..40240c5 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentcreatedocumentfragment.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentcreatedocumentfragment"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "createDocumentFragment()" method creates an empty + DocumentFragment object. + Retrieve the entire DOM document and invoke its + "createDocumentFragment()" method. The content, name, + type and value of the newly created object are output. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-35CB04B5 +*/ +function hc_documentcreatedocumentfragment() { + var success; + if(checkInitialization(builder, "hc_documentcreatedocumentfragment") != null) return; + var doc; + var newDocFragment; + var children; + var length; + var newDocFragmentName; + var newDocFragmentType; + var newDocFragmentValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newDocFragment = doc.createDocumentFragment(); + children = newDocFragment.childNodes; + + length = children.length; + + assertEquals("length",0,length); + newDocFragmentName = newDocFragment.nodeName; + + assertEquals("strong","#document-fragment",newDocFragmentName); + newDocFragmentType = newDocFragment.nodeType; + + assertEquals("type",11,newDocFragmentType); + newDocFragmentValue = newDocFragment.nodeValue; + + assertNull("value",newDocFragmentValue); + +} + + + + +function runTest() { + hc_documentcreatedocumentfragment(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentcreateelement.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentcreateelement.js new file mode 100644 index 0000000..fbba09a --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentcreateelement.js @@ -0,0 +1,121 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentcreateelement"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "createElement(tagName)" method creates an Element + of the type specified. + Retrieve the entire DOM document and invoke its + "createElement(tagName)" method with tagName="acronym". + The method should create an instance of an Element node + whose tagName is "acronym". The NodeName, NodeType + and NodeValue are returned. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-2141741547 +*/ +function hc_documentcreateelement() { + var success; + if(checkInitialization(builder, "hc_documentcreateelement") != null) return; + var doc; + var newElement; + var newElementName; + var newElementType; + var newElementValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newElement = doc.createElement("acronym"); + newElementName = newElement.nodeName; + + assertEqualsAutoCase("element", "strong","acronym",newElementName); + newElementType = newElement.nodeType; + + assertEquals("type",1,newElementType); + newElementValue = newElement.nodeValue; + + assertNull("valueInitiallyNull",newElementValue); + +} + + + + +function runTest() { + hc_documentcreateelement(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentcreateelementcasesensitive.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentcreateelementcasesensitive.js new file mode 100644 index 0000000..a22069f --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentcreateelementcasesensitive.js @@ -0,0 +1,132 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentcreateelementcasesensitive"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The tagName parameter in the "createElement(tagName)" + method is case-sensitive for XML documents. + Retrieve the entire DOM document and invoke its + "createElement(tagName)" method twice. Once for tagName + equal to "acronym" and once for tagName equal to "ACRONYM" + Each call should create a distinct Element node. The + newly created Elements are then assigned attributes + that are retrieved. + + Modified on 27 June 2003 to avoid setting an invalid style + values and checked the node names to see if they matched expectations. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-2141741547 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 +*/ +function hc_documentcreateelementcasesensitive() { + var success; + if(checkInitialization(builder, "hc_documentcreateelementcasesensitive") != null) return; + var doc; + var newElement1; + var newElement2; + var attribute1; + var attribute2; + var nodeName1; + var nodeName2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newElement1 = doc.createElement("ACRONYM"); + newElement2 = doc.createElement("acronym"); + newElement1.setAttribute("lang","EN"); + newElement2.setAttribute("title","Dallas"); + attribute1 = newElement1.getAttribute("lang"); + attribute2 = newElement2.getAttribute("title"); + assertEquals("attrib1","EN",attribute1); + assertEquals("attrib2","Dallas",attribute2); + nodeName1 = newElement1.nodeName; + + nodeName2 = newElement2.nodeName; + + assertEqualsAutoCase("element", "nodeName1","ACRONYM",nodeName1); + assertEqualsAutoCase("element", "nodeName2","acronym",nodeName2); + +} + + + + +function runTest() { + hc_documentcreateelementcasesensitive(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentcreatetextnode.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentcreatetextnode.js new file mode 100644 index 0000000..8b04106 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentcreatetextnode.js @@ -0,0 +1,120 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentcreatetextnode"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "createTextNode(data)" method creates a Text node + given the specfied string. + Retrieve the entire DOM document and invoke its + "createTextNode(data)" method. It should create a + new Text node whose "data" is the specified string. + The NodeName and NodeType are also checked. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1975348127 +*/ +function hc_documentcreatetextnode() { + var success; + if(checkInitialization(builder, "hc_documentcreatetextnode") != null) return; + var doc; + var newTextNode; + var newTextName; + var newTextValue; + var newTextType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newTextNode = doc.createTextNode("This is a new Text node"); + newTextValue = newTextNode.nodeValue; + + assertEquals("value","This is a new Text node",newTextValue); + newTextName = newTextNode.nodeName; + + assertEquals("strong","#text",newTextName); + newTextType = newTextNode.nodeType; + + assertEquals("type",3,newTextType); + +} + + + + +function runTest() { + hc_documentcreatetextnode(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentgetdoctype.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentgetdoctype.js new file mode 100644 index 0000000..c3aa3c5 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentgetdoctype.js @@ -0,0 +1,149 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentgetdoctype"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Access Document.doctype for hc_staff, if not text/html should return DocumentType node. +HTML implementations may return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A31 +*/ +function hc_documentgetdoctype() { + var success; + if(checkInitialization(builder, "hc_documentgetdoctype") != null) return; + var doc; + var docType; + var docTypeName; + var nodeValue; + var attributes; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + docType = doc.doctype; + + + if( + + !( + (builder.contentType == "text/html") +) + + ) { + assertNotNull("docTypeNotNull",docType); + + } + + if( + + (docType != null) + + ) { + docTypeName = docType.name; + + + if( + + (builder.contentType == "image/svg+xml") + + ) { + assertEquals("nodeNameSVG","svg",docTypeName); + + } + + else { + assertEquals("nodeName","html",docTypeName); + + } + nodeValue = docType.nodeValue; + + assertNull("nodeValue",nodeValue); + attributes = docType.attributes; + + assertNull("attributes",attributes); + + } + +} + + + + +function runTest() { + hc_documentgetdoctype(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamelength.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamelength.js new file mode 100644 index 0000000..1eb3e39 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamelength.js @@ -0,0 +1,110 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentgetelementsbytagnamelength"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getElementsByTagName(tagName)" method returns a + NodeList of all the Elements with a given tagName. + + Retrieve the entire DOM document and invoke its + "getElementsByTagName(tagName)" method with tagName + equal to "strong". The method should return a NodeList + that contains 5 elements. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-A6C9094 +*/ +function hc_documentgetelementsbytagnamelength() { + var success; + if(checkInitialization(builder, "hc_documentgetelementsbytagnamelength") != null) return; + var doc; + var nameList; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + nameList = doc.getElementsByTagName("strong"); + assertSize("documentGetElementsByTagNameLengthAssert",5,nameList); + +} + + + + +function runTest() { + hc_documentgetelementsbytagnamelength(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnametotallength.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnametotallength.js new file mode 100644 index 0000000..00fa119 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnametotallength.js @@ -0,0 +1,221 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentgetelementsbytagnametotallength"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the entire DOM document and invoke its + "getElementsByTagName(tagName)" method with tagName + equal to "*". The method should return a NodeList + that contains all the elements of the document. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-A6C9094 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=251 +*/ +function hc_documentgetelementsbytagnametotallength() { + var success; + if(checkInitialization(builder, "hc_documentgetelementsbytagnametotallength") != null) return; + var doc; + var nameList; + expectedNames = new Array(); + expectedNames[0] = "html"; + expectedNames[1] = "head"; + expectedNames[2] = "meta"; + expectedNames[3] = "title"; + expectedNames[4] = "script"; + expectedNames[5] = "script"; + expectedNames[6] = "script"; + expectedNames[7] = "body"; + expectedNames[8] = "p"; + expectedNames[9] = "em"; + expectedNames[10] = "strong"; + expectedNames[11] = "code"; + expectedNames[12] = "sup"; + expectedNames[13] = "var"; + expectedNames[14] = "acronym"; + expectedNames[15] = "p"; + expectedNames[16] = "em"; + expectedNames[17] = "strong"; + expectedNames[18] = "code"; + expectedNames[19] = "sup"; + expectedNames[20] = "var"; + expectedNames[21] = "acronym"; + expectedNames[22] = "p"; + expectedNames[23] = "em"; + expectedNames[24] = "strong"; + expectedNames[25] = "code"; + expectedNames[26] = "sup"; + expectedNames[27] = "var"; + expectedNames[28] = "acronym"; + expectedNames[29] = "p"; + expectedNames[30] = "em"; + expectedNames[31] = "strong"; + expectedNames[32] = "code"; + expectedNames[33] = "sup"; + expectedNames[34] = "var"; + expectedNames[35] = "acronym"; + expectedNames[36] = "p"; + expectedNames[37] = "em"; + expectedNames[38] = "strong"; + expectedNames[39] = "code"; + expectedNames[40] = "sup"; + expectedNames[41] = "var"; + expectedNames[42] = "acronym"; + + svgExpectedNames = new Array(); + svgExpectedNames[0] = "svg"; + svgExpectedNames[1] = "rect"; + svgExpectedNames[2] = "script"; + svgExpectedNames[3] = "head"; + svgExpectedNames[4] = "meta"; + svgExpectedNames[5] = "title"; + svgExpectedNames[6] = "body"; + svgExpectedNames[7] = "p"; + svgExpectedNames[8] = "em"; + svgExpectedNames[9] = "strong"; + svgExpectedNames[10] = "code"; + svgExpectedNames[11] = "sup"; + svgExpectedNames[12] = "var"; + svgExpectedNames[13] = "acronym"; + svgExpectedNames[14] = "p"; + svgExpectedNames[15] = "em"; + svgExpectedNames[16] = "strong"; + svgExpectedNames[17] = "code"; + svgExpectedNames[18] = "sup"; + svgExpectedNames[19] = "var"; + svgExpectedNames[20] = "acronym"; + svgExpectedNames[21] = "p"; + svgExpectedNames[22] = "em"; + svgExpectedNames[23] = "strong"; + svgExpectedNames[24] = "code"; + svgExpectedNames[25] = "sup"; + svgExpectedNames[26] = "var"; + svgExpectedNames[27] = "acronym"; + svgExpectedNames[28] = "p"; + svgExpectedNames[29] = "em"; + svgExpectedNames[30] = "strong"; + svgExpectedNames[31] = "code"; + svgExpectedNames[32] = "sup"; + svgExpectedNames[33] = "var"; + svgExpectedNames[34] = "acronym"; + svgExpectedNames[35] = "p"; + svgExpectedNames[36] = "em"; + svgExpectedNames[37] = "strong"; + svgExpectedNames[38] = "code"; + svgExpectedNames[39] = "sup"; + svgExpectedNames[40] = "var"; + svgExpectedNames[41] = "acronym"; + + var actualNames = new Array(); + + var thisElement; + var thisTag; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + nameList = doc.getElementsByTagName("*"); + for(var indexN10148 = 0;indexN10148 < nameList.length; indexN10148++) { + thisElement = nameList.item(indexN10148); + thisTag = thisElement.tagName; + + actualNames[actualNames.length] = thisTag; + + } + + if( + + (builder.contentType == "image/svg+xml") + + ) { + assertEqualsListAutoCase("element", "svgTagNames",svgExpectedNames,actualNames); + + } + + else { + assertEqualsListAutoCase("element", "tagNames",expectedNames,actualNames); + + } + +} + + + + +function runTest() { + hc_documentgetelementsbytagnametotallength(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamevalue.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamevalue.js new file mode 100644 index 0000000..e9d39ed --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamevalue.js @@ -0,0 +1,120 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentgetelementsbytagnamevalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getElementsByTagName(tagName)" method returns a + NodeList of all the Elements with a given tagName + in a pre-order traversal of the tree. + + Retrieve the entire DOM document and invoke its + "getElementsByTagName(tagName)" method with tagName + equal to "strong". The method should return a NodeList + that contains 5 elements. The FOURTH item in the + list is retrieved and output. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-A6C9094 +*/ +function hc_documentgetelementsbytagnamevalue() { + var success; + if(checkInitialization(builder, "hc_documentgetelementsbytagnamevalue") != null) return; + var doc; + var nameList; + var nameNode; + var firstChild; + var childValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + nameList = doc.getElementsByTagName("strong"); + nameNode = nameList.item(3); + firstChild = nameNode.firstChild; + + childValue = firstChild.nodeValue; + + assertEquals("documentGetElementsByTagNameValueAssert","Jeny Oconnor",childValue); + +} + + + + +function runTest() { + hc_documentgetelementsbytagnamevalue(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentgetimplementation.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentgetimplementation.js new file mode 100644 index 0000000..5bb3f3b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentgetimplementation.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentgetimplementation"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the entire DOM document and invoke its + "getImplementation()" method. If contentType="text/html", + DOMImplementation.hasFeature("HTML","1.0") should be true. + Otherwise, DOMImplementation.hasFeature("XML", "1.0") + should be true. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1B793EBA +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=245 +*/ +function hc_documentgetimplementation() { + var success; + if(checkInitialization(builder, "hc_documentgetimplementation") != null) return; + var doc; + var docImpl; + var xmlstate; + var htmlstate; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + docImpl = doc.implementation; +xmlstate = docImpl.hasFeature("XML","1.0"); +htmlstate = docImpl.hasFeature("HTML","1.0"); + + if( + + (builder.contentType == "text/html") + + ) { + assertTrue("supports_HTML_1.0",htmlstate); + + } + + else { + assertTrue("supports_XML_1.0",xmlstate); + + } + +} + + + + +function runTest() { + hc_documentgetimplementation(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentgetrootnode.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentgetrootnode.js new file mode 100644 index 0000000..e221ff1 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentgetrootnode.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentgetrootnode"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Load a document and invoke its + "getDocumentElement()" method. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-87CD092 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=251 +*/ +function hc_documentgetrootnode() { + var success; + if(checkInitialization(builder, "hc_documentgetrootnode") != null) return; + var doc; + var root; + var rootName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + root = doc.documentElement; + + rootName = root.nodeName; + + + if( + + (builder.contentType == "image/svg+xml") + + ) { + assertEquals("svgTagName","svg",rootName); + + } + + else { + assertEqualsAutoCase("element", "docElemName","html",rootName); + + } + +} + + + + +function runTest() { + hc_documentgetrootnode(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement.js new file mode 100644 index 0000000..624a46a --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentinvalidcharacterexceptioncreateelement"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "createElement(tagName)" method raises an + INVALID_CHARACTER_ERR DOMException if the specified + tagName contains an invalid character. + + Retrieve the entire DOM document and invoke its + "createElement(tagName)" method with the tagName equal + to the string "invalid^Name". Due to the invalid + character the desired EXCEPTION should be raised. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-2141741547 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-2141741547')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-2141741547 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_documentinvalidcharacterexceptioncreateelement() { + var success; + if(checkInitialization(builder, "hc_documentinvalidcharacterexceptioncreateelement") != null) return; + var doc; + var badElement; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + + { + success = false; + try { + badElement = doc.createElement("invalid^Name"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 5); + } + assertTrue("throw_INVALID_CHARACTER_ERR",success); + } + +} + + + + +function runTest() { + hc_documentinvalidcharacterexceptioncreateelement(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement1.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement1.js new file mode 100644 index 0000000..cbf69fe --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement1.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentinvalidcharacterexceptioncreateelement1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Creating an element with an empty name should cause an INVALID_CHARACTER_ERR. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-2141741547 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-2141741547')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-2141741547 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=525 +*/ +function hc_documentinvalidcharacterexceptioncreateelement1() { + var success; + if(checkInitialization(builder, "hc_documentinvalidcharacterexceptioncreateelement1") != null) return; + var doc; + var badElement; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + + { + success = false; + try { + badElement = doc.createElement(""); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 5); + } + assertTrue("throw_INVALID_CHARACTER_ERR",success); + } + +} + + + + +function runTest() { + hc_documentinvalidcharacterexceptioncreateelement1(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenoversion.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenoversion.js new file mode 100644 index 0000000..f723ce5 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenoversion.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_domimplementationfeaturenoversion"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Load a document and invoke its + "getImplementation()" method. This should create a + DOMImplementation object whose "hasFeature(feature, + version)" method is invoked with version equal to "". + If the version is not specified, supporting any version + feature will cause the method to return "true". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-5CED94D7 +* @see http://www.w3.org/2000/11/DOM-Level-2-errata#core-14 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=245 +*/ +function hc_domimplementationfeaturenoversion() { + var success; + if(checkInitialization(builder, "hc_domimplementationfeaturenoversion") != null) return; + var doc; + var domImpl; + var state; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + domImpl = doc.implementation; + + if( + + (builder.contentType == "text/html") + + ) { + state = domImpl.hasFeature("HTML",""); + + } + + else { + state = domImpl.hasFeature("XML",""); + + } + assertTrue("hasFeatureBlank",state); + +} + + + + +function runTest() { + hc_domimplementationfeaturenoversion(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenull.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenull.js new file mode 100644 index 0000000..bfa69f3 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenull.js @@ -0,0 +1,129 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_domimplementationfeaturenull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + setImplementationAttribute("hasNullString", true); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Load a document and invoke its + "getImplementation()" method. This should create a + DOMImplementation object whose "hasFeature(feature, + version)" method is invoked with version equal to null. + If the version is not specified, supporting any version + feature will cause the method to return "true". + +* @author Curt Arnold +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-5CED94D7 +* @see http://www.w3.org/2000/11/DOM-Level-2-errata#core-14 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=245 +*/ +function hc_domimplementationfeaturenull() { + var success; + if(checkInitialization(builder, "hc_domimplementationfeaturenull") != null) return; + var doc; + var domImpl; + var state; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + domImpl = doc.implementation; + + if( + + (builder.contentType == "text/html") + + ) { + state = domImpl.hasFeature("HTML",null); +assertTrue("supports_HTML_null",state); + + } + + else { + state = domImpl.hasFeature("XML",null); +assertTrue("supports_XML_null",state); + + } + +} + + + + +function runTest() { + hc_domimplementationfeaturenull(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturexml.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturexml.js new file mode 100644 index 0000000..acd4d37 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturexml.js @@ -0,0 +1,125 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_domimplementationfeaturexml"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the entire DOM document and invoke its + "getImplementation()" method. This should create a + DOMImplementation object whose "hasFeature(feature, + version)" method is invoked with "feature" equal to "html" or "xml". + The method should return a boolean "true". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-5CED94D7 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=245 +*/ +function hc_domimplementationfeaturexml() { + var success; + if(checkInitialization(builder, "hc_domimplementationfeaturexml") != null) return; + var doc; + var domImpl; + var state; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + domImpl = doc.implementation; + + if( + + (builder.contentType == "text/html") + + ) { + state = domImpl.hasFeature("html","1.0"); +assertTrue("supports_html_1.0",state); + + } + + else { + state = domImpl.hasFeature("xml","1.0"); +assertTrue("supports_xml_1.0",state); + + } + +} + + + + +function runTest() { + hc_domimplementationfeaturexml(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementaddnewattribute.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementaddnewattribute.js new file mode 100644 index 0000000..90d483b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementaddnewattribute.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementaddnewattribute"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "setAttribute(name,value)" method adds a new attribute + to the Element + + Retrieve the last child of the last employee, then + add an attribute to it by invoking the + "setAttribute(name,value)" method. It should create + a "strong" attribute with an assigned value equal to + "value". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68F082 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 +*/ +function hc_elementaddnewattribute() { + var success; + if(checkInitialization(builder, "hc_elementaddnewattribute") != null) return; + var doc; + var elementList; + var testEmployee; + var attrValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(4); + testEmployee.setAttribute("lang","EN-us"); + attrValue = testEmployee.getAttribute("lang"); + assertEquals("attrValue","EN-us",attrValue); + +} + + + + +function runTest() { + hc_elementaddnewattribute(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementchangeattributevalue.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementchangeattributevalue.js new file mode 100644 index 0000000..2777f22 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementchangeattributevalue.js @@ -0,0 +1,119 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementchangeattributevalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "setAttribute(name,value)" method adds a new attribute + to the Element. If the "strong" is already present, then + its value should be changed to the new one that is in + the "value" parameter. + + Retrieve the last child of the fourth employee, then add + an attribute to it by invoking the + "setAttribute(name,value)" method. Since the name of the + used attribute("class") is already present in this + element, then its value should be changed to the new one + of the "value" parameter. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68F082 +*/ +function hc_elementchangeattributevalue() { + var success; + if(checkInitialization(builder, "hc_elementchangeattributevalue") != null) return; + var doc; + var elementList; + var testEmployee; + var attrValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(3); + testEmployee.setAttribute("class","Neither"); + attrValue = testEmployee.getAttribute("class"); + assertEquals("elementChangeAttributeValueAssert","Neither",attrValue); + +} + + + + +function runTest() { + hc_elementchangeattributevalue(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagname.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagname.js new file mode 100644 index 0000000..bed6cfe --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagname.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementgetelementsbytagname"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "getElementsByTagName(name)" method returns a list +of all descendant Elements with the given tag name. +Test for an empty list. + +Create a NodeList of all the descendant elements +using the string "noMatch" as the tagName. +The method should return a NodeList whose length is +"0" since there are not any descendant elements +that match the given tag name. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1938918D +*/ +function hc_elementgetelementsbytagname() { + var success; + if(checkInitialization(builder, "hc_elementgetelementsbytagname") != null) return; + var doc; + var elementList; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + assertSize("elementGetElementsByTagNameAssert",5,elementList); + +} + + + + +function runTest() { + hc_elementgetelementsbytagname(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnameaccessnodelist.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnameaccessnodelist.js new file mode 100644 index 0000000..cd53408 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnameaccessnodelist.js @@ -0,0 +1,144 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementgetelementsbytagnameaccessnodelist"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "getElementsByTagName(name)" method returns a list +of all descendant Elements in the order the children +were encountered in a pre order traversal of the element +tree. + +Create a NodeList of all the descendant elements +using the string "p" as the tagName. +The method should return a NodeList whose length is +"5" in the order the children were encountered. +Access the FOURTH element in the NodeList. The FOURTH +element, the first or second should be an "em" node with +the content "EMP0004". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1938918D +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_elementgetelementsbytagnameaccessnodelist() { + var success; + if(checkInitialization(builder, "hc_elementgetelementsbytagnameaccessnodelist") != null) return; + var doc; + var elementList; + var testEmployee; + var firstC; + var childName; + var nodeType; + var employeeIDNode; + var employeeID; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + testEmployee = elementList.item(3); + firstC = testEmployee.firstChild; + + nodeType = firstC.nodeType; + + + while( + (3 == nodeType) + ) { + firstC = firstC.nextSibling; + + nodeType = firstC.nodeType; + + + } +childName = firstC.nodeName; + + assertEqualsAutoCase("element", "childName","em",childName); + employeeIDNode = firstC.firstChild; + + employeeID = employeeIDNode.nodeValue; + + assertEquals("employeeID","EMP0004",employeeID); + +} + + + + +function runTest() { + hc_elementgetelementsbytagnameaccessnodelist(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamenomatch.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamenomatch.js new file mode 100644 index 0000000..941fd4a --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamenomatch.js @@ -0,0 +1,110 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementgetelementsbytagnamenomatch"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "getElementsByTagName(name)" method returns a list +of all descendant Elements with the given tag name. + +Create a NodeList of all the descendant elements +using the string "employee" as the tagName. +The method should return a NodeList whose length is +"5". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1938918D +*/ +function hc_elementgetelementsbytagnamenomatch() { + var success; + if(checkInitialization(builder, "hc_elementgetelementsbytagnamenomatch") != null) return; + var doc; + var elementList; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("noMatch"); + assertSize("elementGetElementsByTagNameNoMatchNoMatchAssert",0,elementList); + +} + + + + +function runTest() { + hc_elementgetelementsbytagnamenomatch(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamespecialvalue.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamespecialvalue.js new file mode 100644 index 0000000..3b8c10d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamespecialvalue.js @@ -0,0 +1,134 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementgetelementsbytagnamespecialvalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "getElementsByTagName(name)" method may use the +special value "*" to match all tags in the element +tree. + +Create a NodeList of all the descendant elements +of the last employee by using the special value "*". +The method should return all the descendant children(6) +in the order the children were encountered. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1938918D +*/ +function hc_elementgetelementsbytagnamespecialvalue() { + var success; + if(checkInitialization(builder, "hc_elementgetelementsbytagnamespecialvalue") != null) return; + var doc; + var elementList; + var lastEmployee; + var lastempList; + var child; + var childName; + var result = new Array(); + + expectedResult = new Array(); + expectedResult[0] = "em"; + expectedResult[1] = "strong"; + expectedResult[2] = "code"; + expectedResult[3] = "sup"; + expectedResult[4] = "var"; + expectedResult[5] = "acronym"; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + lastEmployee = elementList.item(4); + lastempList = lastEmployee.getElementsByTagName("*"); + for(var indexN10067 = 0;indexN10067 < lastempList.length; indexN10067++) { + child = lastempList.item(indexN10067); + childName = child.nodeName; + + result[result.length] = childName; + + } + assertEqualsListAutoCase("element", "tagNames",expectedResult,result); + +} + + + + +function runTest() { + hc_elementgetelementsbytagnamespecialvalue(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementgettagname.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementgettagname.js new file mode 100644 index 0000000..567d234 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementgettagname.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementgettagname"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Invoke the "getTagName()" method one the + root node. The value returned should be "html" or "svg". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-104682815 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=251 +*/ +function hc_elementgettagname() { + var success; + if(checkInitialization(builder, "hc_elementgettagname") != null) return; + var doc; + var root; + var tagname; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + root = doc.documentElement; + + tagname = root.tagName; + + + if( + + (builder.contentType == "image/svg+xml") + + ) { + assertEquals("svgTagname","svg",tagname); + + } + + else { + assertEqualsAutoCase("element", "tagname","html",tagname); + + } + +} + + + + +function runTest() { + hc_elementgettagname(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception.js new file mode 100644 index 0000000..4d581a3 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception.js @@ -0,0 +1,125 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementinvalidcharacterexception"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "setAttribute(name,value)" method raises an + "INVALID_CHARACTER_ERR DOMException if the specified + name contains an invalid character. + + Retrieve the last child of the first employee and + call its "setAttribute(name,value)" method with + "strong" containing an invalid character. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68F082 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-F68F082')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_elementinvalidcharacterexception() { + var success; + if(checkInitialization(builder, "hc_elementinvalidcharacterexception") != null) return; + var doc; + var elementList; + var testAddress; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddress = elementList.item(0); + + { + success = false; + try { + testAddress.setAttribute("invalid^Name","value"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 5); + } + assertTrue("throw_INVALID_CHARACTER_ERR",success); + } + +} + + + + +function runTest() { + hc_elementinvalidcharacterexception(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception1.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception1.js new file mode 100644 index 0000000..5376968 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception1.js @@ -0,0 +1,119 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementinvalidcharacterexception1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Calling Element.setAttribute with an empty name will cause an INVALID_CHARACTER_ERR. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68F082 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-F68F082')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=525 +*/ +function hc_elementinvalidcharacterexception1() { + var success; + if(checkInitialization(builder, "hc_elementinvalidcharacterexception1") != null) return; + var doc; + var elementList; + var testAddress; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddress = elementList.item(0); + + { + success = false; + try { + testAddress.setAttribute("","value"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 5); + } + assertTrue("throw_INVALID_CHARACTER_ERR",success); + } + +} + + + + +function runTest() { + hc_elementinvalidcharacterexception1(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementnormalize.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementnormalize.js new file mode 100644 index 0000000..c00a5bc --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementnormalize.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementnormalize"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Append a couple of text nodes to the first sup element, normalize the +document element and check that the element has been normalized. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-162CF083 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=546 +*/ +function hc_elementnormalize() { + var success; + if(checkInitialization(builder, "hc_elementnormalize") != null) return; + var doc; + var root; + var elementList; + var testName; + var firstChild; + var childValue; + var textNode; + var retNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("sup"); + testName = elementList.item(0); + textNode = doc.createTextNode(""); + retNode = testName.appendChild(textNode); + textNode = doc.createTextNode(",000"); + retNode = testName.appendChild(textNode); + root = doc.documentElement; + + root.normalize(); + elementList = doc.getElementsByTagName("sup"); + testName = elementList.item(0); + firstChild = testName.firstChild; + + childValue = firstChild.nodeValue; + + assertEquals("elementNormalizeAssert","56,000,000",childValue); + +} + + + + +function runTest() { + hc_elementnormalize(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementremoveattribute.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementremoveattribute.js new file mode 100644 index 0000000..136b4a1 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementremoveattribute.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementremoveattribute"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "removeAttribute(name)" removes an attribute by name. + If the attribute has a default value, it is immediately + replaced. However, there is no default values in the HTML + compatible tests, so its value is "". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6D6AC0F9 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2002Mar/0002.html +*/ +function hc_elementremoveattribute() { + var success; + if(checkInitialization(builder, "hc_elementremoveattribute") != null) return; + var doc; + var elementList; + var testEmployee; + var attrValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(3); + testEmployee.removeAttribute("class"); + attrValue = testEmployee.getAttribute("class"); + assertEquals("attrValue",null,attrValue); //XXX Domino returns null as WebKit and FF do + +} + + + + +function runTest() { + hc_elementremoveattribute(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementretrieveallattributes.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementretrieveallattributes.js new file mode 100644 index 0000000..585b2ce --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementretrieveallattributes.js @@ -0,0 +1,144 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementretrieveallattributes"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Create a list of all the attributes of the last child + of the first "p" element by using the "getAttributes()" + method. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2002Mar/0002.html +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=184 +*/ +function hc_elementretrieveallattributes() { + var success; + if(checkInitialization(builder, "hc_elementretrieveallattributes") != null) return; + var doc; + var addressList; + var testAddress; + var attributes; + var attribute; + var attributeName; + var actual = new Array(); + + htmlExpected = new Array(); + htmlExpected[0] = "title"; + + expected = new Array(); + expected[0] = "title"; + expected[1] = "dir"; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + addressList = doc.getElementsByTagName("acronym"); + testAddress = addressList.item(0); + attributes = testAddress.attributes; + + for(var indexN1006B = 0;indexN1006B < attributes.length; indexN1006B++) { + attribute = attributes.item(indexN1006B); + attributeName = attribute.name; + + actual[actual.length] = attributeName; + + } + + if( + + (builder.contentType == "text/html") + + ) { + assertEqualsCollection("htmlAttributeNames",toLowerArray(htmlExpected),toLowerArray(actual)); + + } + + else { + assertEqualsCollection("attributeNames",toLowerArray(expected),toLowerArray(actual)); + + } + +} + + + + +function runTest() { + hc_elementretrieveallattributes(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementretrieveattrvalue.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementretrieveattrvalue.js new file mode 100644 index 0000000..288afcd --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementretrieveattrvalue.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementretrieveattrvalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getAttribute(name)" method returns an attribute + value by name. + + Retrieve the second address element, then + invoke the 'getAttribute("class")' method. This should + return the value of the attribute("No"). + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-666EE0F9 +*/ +function hc_elementretrieveattrvalue() { + var success; + if(checkInitialization(builder, "hc_elementretrieveattrvalue") != null) return; + var doc; + var elementList; + var testAddress; + var attrValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddress = elementList.item(2); + attrValue = testAddress.getAttribute("class"); + assertEquals("attrValue","No",attrValue); + +} + + + + +function runTest() { + hc_elementretrieveattrvalue(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementretrievetagname.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementretrievetagname.js new file mode 100644 index 0000000..9208b54 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementretrievetagname.js @@ -0,0 +1,118 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementretrievetagname"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getElementsByTagName()" method returns a NodeList + of all descendant elements with a given tagName. + + Invoke the "getElementsByTagName()" method and create + a NodeList of "code" elements. Retrieve the second + "code" element in the list and return the NodeName. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-104682815 +*/ +function hc_elementretrievetagname() { + var success; + if(checkInitialization(builder, "hc_elementretrievetagname") != null) return; + var doc; + var elementList; + var testEmployee; + var strong; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("code"); + testEmployee = elementList.item(1); + strong = testEmployee.nodeName; + + assertEqualsAutoCase("element", "nodename","code",strong); + strong = testEmployee.tagName; + + assertEqualsAutoCase("element", "tagname","code",strong); + +} + + + + +function runTest() { + hc_elementretrievetagname(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_entitiesremovenameditem1.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_entitiesremovenameditem1.js new file mode 100644 index 0000000..54ca9ff --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_entitiesremovenameditem1.js @@ -0,0 +1,133 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_entitiesremovenameditem1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + checkFeature("XML", null); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +An attempt to add remove an entity should result in a NO_MODIFICATION_ERR. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1788794630 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D58B193 +*/ +function hc_entitiesremovenameditem1() { + var success; + if(checkInitialization(builder, "hc_entitiesremovenameditem1") != null) return; + var doc; + var entities; + var docType; + var retval; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + docType = doc.doctype; + + + if( + + !( + (builder.contentType == "text/html") +) + + ) { + assertNotNull("docTypeNotNull",docType); +entities = docType.entities; + + assertNotNull("entitiesNotNull",entities); + + { + success = false; + try { + retval = entities.removeNamedItem("alpha"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 7); + } + assertTrue("throw_NO_MODIFICATION_ALLOWED_ERR",success); + } + + } + +} + + + + +function runTest() { + hc_entitiesremovenameditem1(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_entitiessetnameditem1.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_entitiessetnameditem1.js new file mode 100644 index 0000000..17876c0 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_entitiessetnameditem1.js @@ -0,0 +1,144 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_entitiessetnameditem1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + checkFeature("XML", null); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +An attempt to add an element to the named node map returned by entities should +result in a NO_MODIFICATION_ERR or HIERARCHY_REQUEST_ERR. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1788794630 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788 +*/ +function hc_entitiessetnameditem1() { + var success; + if(checkInitialization(builder, "hc_entitiessetnameditem1") != null) return; + var doc; + var entities; + var docType; + var retval; + var elem; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + docType = doc.doctype; + + + if( + + !( + (builder.contentType == "text/html") +) + + ) { + assertNotNull("docTypeNotNull",docType); +entities = docType.entities; + + assertNotNull("entitiesNotNull",entities); +elem = doc.createElement("br"); + + try { + retval = entities.setNamedItem(elem); + fail("throw_HIER_OR_NO_MOD_ERR"); + + } catch (ex) { + if (typeof(ex.code) != 'undefined') { + switch(ex.code) { + case /* HIERARCHY_REQUEST_ERR */ 3 : + break; + case /* NO_MODIFICATION_ALLOWED_ERR */ 7 : + break; + default: + throw ex; + } + } else { + throw ex; + } + } + + } + +} + + + + +function runTest() { + hc_entitiessetnameditem1(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_namednodemapchildnoderange.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_namednodemapchildnoderange.js new file mode 100644 index 0000000..d70da8d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_namednodemapchildnoderange.js @@ -0,0 +1,141 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapchildnoderange"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Create a NamedNodeMap object from the attributes of the + last child of the third "p" element and traverse the + list from index 0 thru length -1. All indices should + be valid. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6D0FB19E +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=250 +*/ +function hc_namednodemapchildnoderange() { + var success; + if(checkInitialization(builder, "hc_namednodemapchildnoderange") != null) return; + var doc; + var elementList; + var testEmployee; + var attributes; + var child; + var strong; + var length; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(2); + attributes = testEmployee.attributes; + + length = attributes.length; + + + if( + + (builder.contentType == "text/html") + + ) { + assertEquals("htmlLength",2,length); + + } + + else { + assertEquals("length",3,length); + child = attributes.item(2); + assertNotNull("attr2",child); + + } + child = attributes.item(0); + assertNotNull("attr0",child); +child = attributes.item(1); + assertNotNull("attr1",child); +child = attributes.item(3); + assertNull("attr3",child); + +} + + + + +function runTest() { + hc_namednodemapchildnoderange(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_namednodemapnumberofnodes.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_namednodemapnumberofnodes.js new file mode 100644 index 0000000..b703b21 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_namednodemapnumberofnodes.js @@ -0,0 +1,127 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapnumberofnodes"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the second "p" element and evaluate Node.attributes.length. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6D0FB19E +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=250 +*/ +function hc_namednodemapnumberofnodes() { + var success; + if(checkInitialization(builder, "hc_namednodemapnumberofnodes") != null) return; + var doc; + var elementList; + var testEmployee; + var attributes; + var length; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(2); + attributes = testEmployee.attributes; + + length = attributes.length; + + + if( + + (builder.contentType == "text/html") + + ) { + assertEquals("htmlLength",2,length); + + } + + else { + assertEquals("length",3,length); + + } + +} + + + + +function runTest() { + hc_namednodemapnumberofnodes(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeappendchild.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeappendchild.js new file mode 100644 index 0000000..0da5325 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeappendchild.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeappendchild"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the second "p" and append a "br" Element + node to the list of children. The last node in the list + is then retrieved and its NodeName examined. The + "getNodeName()" method should return "br". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_nodeappendchild() { + var success; + if(checkInitialization(builder, "hc_nodeappendchild") != null) return; + var doc; + var elementList; + var employeeNode; + var childList; + var createdNode; + var lchild; + var childName; + var appendedChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.childNodes; + + createdNode = doc.createElement("br"); + appendedChild = employeeNode.appendChild(createdNode); + lchild = employeeNode.lastChild; + + childName = lchild.nodeName; + + assertEqualsAutoCase("element", "nodeName","br",childName); + +} + + + + +function runTest() { + hc_nodeappendchild(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildchildexists.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildchildexists.js new file mode 100644 index 0000000..2c95d9f --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildchildexists.js @@ -0,0 +1,160 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeappendchildchildexists"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If the "newChild" is already in the tree, it is first + removed before the new one is appended. + + Retrieve the "em" second employee and + append the first child to the end of the list. After + the "appendChild(newChild)" method is invoked the first + child should be the one that was second and the last + child should be the one that was first. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodeappendchildchildexists() { + var success; + if(checkInitialization(builder, "hc_nodeappendchildchildexists") != null) return; + var doc; + var elementList; + var childList; + var childNode; + var newChild; + var memberNode; + var memberName; + var refreshedActual = new Array(); + + var actual = new Array(); + + var nodeType; + expected = new Array(); + expected[0] = "strong"; + expected[1] = "code"; + expected[2] = "sup"; + expected[3] = "var"; + expected[4] = "acronym"; + expected[5] = "em"; + + var appendedChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + childNode = elementList.item(1); + childList = childNode.getElementsByTagName("*"); + newChild = childList.item(0); + appendedChild = childNode.appendChild(newChild); + for(var indexN10085 = 0;indexN10085 < childList.length; indexN10085++) { + memberNode = childList.item(indexN10085); + memberName = memberNode.nodeName; + + actual[actual.length] = memberName; + + } + assertEqualsListAutoCase("element", "liveByTagName",expected,actual); + childList = childNode.childNodes; + + for(var indexN1009C = 0;indexN1009C < childList.length; indexN1009C++) { + memberNode = childList.item(indexN1009C); + nodeType = memberNode.nodeType; + + + if( + (1 == nodeType) + ) { + memberName = memberNode.nodeName; + + refreshedActual[refreshedActual.length] = memberName; + + } + + } + assertEqualsListAutoCase("element", "refreshedChildNodes",expected,refreshedActual); + +} + + + + +function runTest() { + hc_nodeappendchildchildexists(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeappendchilddocfragment.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeappendchilddocfragment.js new file mode 100644 index 0000000..f1b95ea --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeappendchilddocfragment.js @@ -0,0 +1,158 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeappendchilddocfragment"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If the "newChild" is a DocumentFragment object then + all its content is added to the child list of this node. + + Create and populate a new DocumentFragment object and + append it to the second employee. After the + "appendChild(newChild)" method is invoked retrieve the + new nodes at the end of the list, they should be the + two Element nodes from the DocumentFragment. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_nodeappendchilddocfragment() { + var success; + if(checkInitialization(builder, "hc_nodeappendchilddocfragment") != null) return; + var doc; + var elementList; + var employeeNode; + var childList; + var newdocFragment; + var newChild1; + var newChild2; + var child; + var childName; + var result = new Array(); + + var appendedChild; + var nodeType; + expected = new Array(); + expected[0] = "em"; + expected[1] = "strong"; + expected[2] = "code"; + expected[3] = "sup"; + expected[4] = "var"; + expected[5] = "acronym"; + expected[6] = "br"; + expected[7] = "b"; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.childNodes; + + newdocFragment = doc.createDocumentFragment(); + newChild1 = doc.createElement("br"); + newChild2 = doc.createElement("b"); + appendedChild = newdocFragment.appendChild(newChild1); + appendedChild = newdocFragment.appendChild(newChild2); + appendedChild = employeeNode.appendChild(newdocFragment); + for(var indexN100A2 = 0;indexN100A2 < childList.length; indexN100A2++) { + child = childList.item(indexN100A2); + nodeType = child.nodeType; + + + if( + (1 == nodeType) + ) { + childName = child.nodeName; + + result[result.length] = childName; + + } + + } + assertEqualsListAutoCase("element", "nodeNames",expected,result); + +} + + + + +function runTest() { + hc_nodeappendchilddocfragment(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildgetnodename.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildgetnodename.js new file mode 100644 index 0000000..f7499c5 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildgetnodename.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeappendchildgetnodename"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "appendChild(newChild)" method returns the node + added. + + Append a newly created node to the child list of the + second employee and check the NodeName returned. The + "getNodeName()" method should return "br". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_nodeappendchildgetnodename() { + var success; + if(checkInitialization(builder, "hc_nodeappendchildgetnodename") != null) return; + var doc; + var elementList; + var employeeNode; + var childList; + var newChild; + var appendNode; + var childName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.childNodes; + + newChild = doc.createElement("br"); + appendNode = employeeNode.appendChild(newChild); + childName = appendNode.nodeName; + + assertEqualsAutoCase("element", "nodeName","br",childName); + +} + + + + +function runTest() { + hc_nodeappendchildgetnodename(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnewchilddiffdocument.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnewchilddiffdocument.js new file mode 100644 index 0000000..1be650b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnewchilddiffdocument.js @@ -0,0 +1,144 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeappendchildnewchilddiffdocument"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var doc1Ref = null; + if (typeof(this.doc1) != 'undefined') { + doc1Ref = this.doc1; + } + docsLoaded += preload(doc1Ref, "doc1", "hc_staff"); + + var doc2Ref = null; + if (typeof(this.doc2) != 'undefined') { + doc2Ref = this.doc2; + } + docsLoaded += preload(doc2Ref, "doc2", "hc_staff"); + + if (docsLoaded == 2) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 2) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "appendChild(newChild)" method raises a + WRONG_DOCUMENT_ERR DOMException if the "newChild" was + created from a different document than the one that + created this node. + + Retrieve the second employee and attempt to append + a node created from a different document. An attempt + to make such a replacement should raise the desired + exception. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NOT_FOUND_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-184E7107')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NOT_FOUND_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_nodeappendchildnewchilddiffdocument() { + var success; + if(checkInitialization(builder, "hc_nodeappendchildnewchilddiffdocument") != null) return; + var doc1; + var doc2; + var newChild; + var elementList; + var elementNode; + var appendedChild; + + var doc1Ref = null; + if (typeof(this.doc1) != 'undefined') { + doc1Ref = this.doc1; + } + doc1 = load(doc1Ref, "doc1", "hc_staff"); + + var doc2Ref = null; + if (typeof(this.doc2) != 'undefined') { + doc2Ref = this.doc2; + } + doc2 = load(doc2Ref, "doc2", "hc_staff"); + newChild = doc1.createElement("br"); + elementList = doc2.getElementsByTagName("p"); + elementNode = elementList.item(1); + + { + success = false; + try { + appendedChild = elementNode.appendChild(newChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 4); + } + assertTrue("throw_WRONG_DOCUMENT_ERR",success); + } + +} + + + + +function runTest() { + hc_nodeappendchildnewchilddiffdocument(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnodeancestor.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnodeancestor.js new file mode 100644 index 0000000..a8ba817 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnodeancestor.js @@ -0,0 +1,132 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeappendchildnodeancestor"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "appendChild(newChild)" method raises a + HIERARCHY_REQUEST_ERR DOMException if the node to + append is one of this node's ancestors. + + Retrieve the second employee and attempt to append + an ancestor node(root node) to it. + An attempt to make such an addition should raise the + desired exception. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='HIERARCHY_REQUEST_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-184E7107')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='HIERARCHY_REQUEST_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +*/ +function hc_nodeappendchildnodeancestor() { + var success; + if(checkInitialization(builder, "hc_nodeappendchildnodeancestor") != null) return; + var doc; + var newChild; + var elementList; + var employeeNode; + var childList; + var oldChild; + var appendedChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newChild = doc.documentElement; + + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + + { + success = false; + try { + appendedChild = employeeNode.appendChild(newChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 3); + } + assertTrue("throw_HIERARCHY_REQUEST_ERR",success); + } + +} + + + + +function runTest() { + hc_nodeappendchildnodeancestor(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeattributenodeattribute.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeattributenodeattribute.js new file mode 100644 index 0000000..e8443db --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeattributenodeattribute.js @@ -0,0 +1,120 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeattributenodeattribute"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "getAttributes()" method invoked on an Attribute +Node returns null. + +Retrieve the first attribute from the last child of the +first employee and invoke the "getAttributes()" method +on the Attribute Node. It should return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +*/ +function hc_nodeattributenodeattribute() { + var success; + if(checkInitialization(builder, "hc_nodeattributenodeattribute") != null) return; + var doc; + var elementList; + var testAddr; + var addrAttr; + var attrNode; + var attrList; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddr = elementList.item(0); + addrAttr = testAddr.attributes; + + attrNode = addrAttr.item(0); + attrList = attrNode.attributes; + + assertNull("nodeAttributeNodeAttributeAssert1",attrList); + +} + + + + +function runTest() { + hc_nodeattributenodeattribute(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodechildnodes.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodechildnodes.js new file mode 100644 index 0000000..855ec35 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodechildnodes.js @@ -0,0 +1,149 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodechildnodes"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + + The "getChildNodes()" method returns a NodeList + that contains all children of this node. + + Retrieve the second employee and check the NodeList + returned by the "getChildNodes()" method. The + length of the list should be 13. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1451460987 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodechildnodes() { + var success; + if(checkInitialization(builder, "hc_nodechildnodes") != null) return; + var doc; + var elementList; + var employeeNode; + var childNode; + var childNodes; + var nodeType; + var childName; + var actual = new Array(); + + expected = new Array(); + expected[0] = "em"; + expected[1] = "strong"; + expected[2] = "code"; + expected[3] = "sup"; + expected[4] = "var"; + expected[5] = "acronym"; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childNodes = employeeNode.childNodes; + + for(var indexN1006C = 0;indexN1006C < childNodes.length; indexN1006C++) { + childNode = childNodes.item(indexN1006C); + nodeType = childNode.nodeType; + + childName = childNode.nodeName; + + + if( + (1 == nodeType) + ) { + actual[actual.length] = childName; + + } + + else { + assertEquals("textNodeType",3,nodeType); + + } + + } + assertEqualsListAutoCase("element", "elementNames",expected,actual); + +} + + + + +function runTest() { + hc_nodechildnodes(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesappendchild.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesappendchild.js new file mode 100644 index 0000000..a262e24 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesappendchild.js @@ -0,0 +1,159 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodechildnodesappendchild"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The NodeList returned by the "getChildNodes()" method + is live. Changes on the node's children are immediately + reflected on the nodes returned in the NodeList. + + Create a NodeList of the children of the second employee + and then add a newly created element that was created + by the "createElement()" method(Document Interface) to + the second employee by using the "appendChild()" method. + The length of the NodeList should reflect this new + addition to the child list. It should return the value 14. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1451460987 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_nodechildnodesappendchild() { + var success; + if(checkInitialization(builder, "hc_nodechildnodesappendchild") != null) return; + var doc; + var elementList; + var employeeNode; + var childList; + var createdNode; + var childNode; + var childName; + var childType; + var textNode; + var actual = new Array(); + + expected = new Array(); + expected[0] = "em"; + expected[1] = "strong"; + expected[2] = "code"; + expected[3] = "sup"; + expected[4] = "var"; + expected[5] = "acronym"; + expected[6] = "br"; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.childNodes; + + createdNode = doc.createElement("br"); + employeeNode = employeeNode.appendChild(createdNode); + for(var indexN10087 = 0;indexN10087 < childList.length; indexN10087++) { + childNode = childList.item(indexN10087); + childName = childNode.nodeName; + + childType = childNode.nodeType; + + + if( + (1 == childType) + ) { + actual[actual.length] = childName; + + } + + else { + assertEquals("textNodeType",3,childType); + + } + + } + assertEqualsListAutoCase("element", "childElements",expected,actual); + +} + + + + +function runTest() { + hc_nodechildnodesappendchild(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesempty.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesempty.js new file mode 100644 index 0000000..612307c --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesempty.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodechildnodesempty"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getChildNodes()" method returns a NodeList + that contains all children of this node. If there + are not any children, this is a NodeList that does not + contain any nodes. + + Retrieve the character data of the second "em" node and + invoke the "getChildNodes()" method. The + NodeList returned should not have any nodes. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1451460987 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodechildnodesempty() { + var success; + if(checkInitialization(builder, "hc_nodechildnodesempty") != null) return; + var doc; + var elementList; + var childList; + var employeeNode; + var textNode; + var length; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("em"); + employeeNode = elementList.item(1); + textNode = employeeNode.firstChild; + + childList = textNode.childNodes; + + length = childList.length; + + assertEquals("length_zero",0,length); + +} + + + + +function runTest() { + hc_nodechildnodesempty(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodecloneattributescopied.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodecloneattributescopied.js new file mode 100644 index 0000000..86f04da --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodecloneattributescopied.js @@ -0,0 +1,149 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodecloneattributescopied"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the second acronym element and invoke + the cloneNode method. The + duplicate node returned by the method should copy the + attributes associated with this node. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=184 +*/ +function hc_nodecloneattributescopied() { + var success; + if(checkInitialization(builder, "hc_nodecloneattributescopied") != null) return; + var doc; + var elementList; + var addressNode; + var clonedNode; + var attributes; + var attributeNode; + var attributeName; + var result = new Array(); + + htmlExpected = new Array(); + htmlExpected[0] = "class"; + htmlExpected[1] = "title"; + + expected = new Array(); + expected[0] = "class"; + expected[1] = "title"; + expected[2] = "dir"; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + addressNode = elementList.item(1); + clonedNode = addressNode.cloneNode(false); + attributes = clonedNode.attributes; + + for(var indexN10076 = 0;indexN10076 < attributes.length; indexN10076++) { + attributeNode = attributes.item(indexN10076); + attributeName = attributeNode.name; + + result[result.length] = attributeName; + + } + + if( + + (builder.contentType == "text/html") + + ) { + assertEqualsCollection("nodeNames_html",toLowerArray(htmlExpected),toLowerArray(result)); + + } + + else { + assertEqualsCollection("nodeNames",expected,result); + + } + +} + + + + +function runTest() { + hc_nodecloneattributescopied(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeclonefalsenocopytext.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeclonefalsenocopytext.js new file mode 100644 index 0000000..8d41464 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeclonefalsenocopytext.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeclonefalsenocopytext"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "cloneNode(deep)" method does not copy text unless it + is deep cloned.(Test for deep=false) + + Retrieve the fourth child of the second employee and + the "cloneNode(deep)" method with deep=false. The + duplicate node returned by the method should not copy + any text data contained in this node. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3A0ED0A4 +*/ +function hc_nodeclonefalsenocopytext() { + var success; + if(checkInitialization(builder, "hc_nodeclonefalsenocopytext") != null) return; + var doc; + var elementList; + var employeeNode; + var childList; + var childNode; + var clonedNode; + var lastChildNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.childNodes; + + childNode = childList.item(3); + clonedNode = childNode.cloneNode(false); + lastChildNode = clonedNode.lastChild; + + assertNull("nodeCloneFalseNoCopyTextAssert1",lastChildNode); + +} + + + + +function runTest() { + hc_nodeclonefalsenocopytext(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeclonegetparentnull.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeclonegetparentnull.js new file mode 100644 index 0000000..ab52c8a --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeclonegetparentnull.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeclonegetparentnull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The duplicate node returned by the "cloneNode(deep)" + method does not have a ParentNode. + + Retrieve the second employee and invoke the + "cloneNode(deep)" method with deep=false. The + duplicate node returned should return null when the + "getParentNode()" is invoked. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3A0ED0A4 +*/ +function hc_nodeclonegetparentnull() { + var success; + if(checkInitialization(builder, "hc_nodeclonegetparentnull") != null) return; + var doc; + var elementList; + var employeeNode; + var clonedNode; + var parentNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + clonedNode = employeeNode.cloneNode(false); + parentNode = clonedNode.parentNode; + + assertNull("nodeCloneGetParentNullAssert1",parentNode); + +} + + + + +function runTest() { + hc_nodeclonegetparentnull(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodefalse.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodefalse.js new file mode 100644 index 0000000..7d48edf --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodefalse.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeclonenodefalse"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "cloneNode(deep)" method returns a copy of the node + only if deep=false. + + Retrieve the second employee and invoke the + "cloneNode(deep)" method with deep=false. The + method should only clone this node. The NodeName and + length of the NodeList are checked. The "getNodeName()" + method should return "employee" and the "getLength()" + method should return 0. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3A0ED0A4 +*/ +function hc_nodeclonenodefalse() { + var success; + if(checkInitialization(builder, "hc_nodeclonenodefalse") != null) return; + var doc; + var elementList; + var employeeNode; + var clonedNode; + var cloneName; + var cloneChildren; + var length; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + clonedNode = employeeNode.cloneNode(false); + cloneName = clonedNode.nodeName; + + assertEqualsAutoCase("element", "strong","p",cloneName); + cloneChildren = clonedNode.childNodes; + + length = cloneChildren.length; + + assertEquals("length",0,length); + +} + + + + +function runTest() { + hc_nodeclonenodefalse(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodetrue.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodetrue.js new file mode 100644 index 0000000..5eba8cd --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodetrue.js @@ -0,0 +1,145 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeclonenodetrue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "cloneNode(deep)" method returns a copy of the node + and the subtree under it if deep=true. + + Retrieve the second employee and invoke the + "cloneNode(deep)" method with deep=true. The + method should clone this node and the subtree under it. + The NodeName of each child in the returned node is + checked to insure the entire subtree under the second + employee was cloned. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3A0ED0A4 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodeclonenodetrue() { + var success; + if(checkInitialization(builder, "hc_nodeclonenodetrue") != null) return; + var doc; + var elementList; + var employeeNode; + var clonedNode; + var clonedList; + var clonedChild; + var clonedChildName; + var origList; + var origChild; + var origChildName; + var result = new Array(); + + var expected = new Array(); + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + origList = employeeNode.childNodes; + + for(var indexN10065 = 0;indexN10065 < origList.length; indexN10065++) { + origChild = origList.item(indexN10065); + origChildName = origChild.nodeName; + + expected[expected.length] = origChildName; + + } + clonedNode = employeeNode.cloneNode(true); + clonedList = clonedNode.childNodes; + + for(var indexN1007B = 0;indexN1007B < clonedList.length; indexN1007B++) { + clonedChild = clonedList.item(indexN1007B); + clonedChildName = clonedChild.nodeName; + + result[result.length] = clonedChildName; + + } + assertEqualsList("clone",expected,result); + +} + + + + +function runTest() { + hc_nodeclonenodetrue(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeclonetruecopytext.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeclonetruecopytext.js new file mode 100644 index 0000000..c12370b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeclonetruecopytext.js @@ -0,0 +1,121 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeclonetruecopytext"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "cloneNode(deep)" method does not copy text unless it + is deep cloned.(Test for deep=true) + + Retrieve the eighth child of the second employee and + the "cloneNode(deep)" method with deep=true. The + duplicate node returned by the method should copy + any text data contained in this node. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3A0ED0A4 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodeclonetruecopytext() { + var success; + if(checkInitialization(builder, "hc_nodeclonetruecopytext") != null) return; + var doc; + var elementList; + var childNode; + var clonedNode; + var lastChildNode; + var childValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("sup"); + childNode = elementList.item(1); + clonedNode = childNode.cloneNode(true); + lastChildNode = clonedNode.lastChild; + + childValue = lastChildNode.nodeValue; + + assertEquals("cloneContainsText","35,000",childValue); + +} + + + + +function runTest() { + hc_nodeclonetruecopytext(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodeattributes.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodeattributes.js new file mode 100644 index 0000000..7e3e2e9 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodeattributes.js @@ -0,0 +1,135 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodecommentnodeattributes"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getAttributes()" method invoked on a Comment + Node returns null. + + Find any comment that is an immediate child of the root + and assert that Node.attributes is null. Then create + a new comment node (in case they had been omitted) and + make the assertion. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1728279322 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=248 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=263 +*/ +function hc_nodecommentnodeattributes() { + var success; + if(checkInitialization(builder, "hc_nodecommentnodeattributes") != null) return; + var doc; + var commentNode; + var nodeList; + var attrList; + var nodeType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + nodeList = doc.childNodes; + + for(var indexN10043 = 0;indexN10043 < nodeList.length; indexN10043++) { + commentNode = nodeList.item(indexN10043); + nodeType = commentNode.nodeType; + + + if( + (8 == nodeType) + ) { + attrList = commentNode.attributes; + + assertNull("existingCommentAttributesNull",attrList); + + } + + } + commentNode = doc.createComment("This is a comment"); + attrList = commentNode.attributes; + + assertNull("createdCommentAttributesNull",attrList); + +} + + + + +function runTest() { + hc_nodecommentnodeattributes(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodename.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodename.js new file mode 100644 index 0000000..de7013a --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodename.js @@ -0,0 +1,134 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodecommentnodename"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The string returned by the "getNodeName()" method for a + Comment Node is "#comment". + + Retrieve the Comment node in the XML file + and check the string returned by the "getNodeName()" + method. It should be equal to "#comment". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1728279322 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=248 +*/ +function hc_nodecommentnodename() { + var success; + if(checkInitialization(builder, "hc_nodecommentnodename") != null) return; + var doc; + var elementList; + var commentNode; + var nodeType; + var commentName; + var commentNodeName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.childNodes; + + for(var indexN10044 = 0;indexN10044 < elementList.length; indexN10044++) { + commentNode = elementList.item(indexN10044); + nodeType = commentNode.nodeType; + + + if( + (8 == nodeType) + ) { + commentNodeName = commentNode.nodeName; + + assertEquals("existingNodeName","#comment",commentNodeName); + + } + + } + commentNode = doc.createComment("This is a comment"); + commentNodeName = commentNode.nodeName; + + assertEquals("createdNodeName","#comment",commentNodeName); + +} + + + + +function runTest() { + hc_nodecommentnodename(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodetype.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodetype.js new file mode 100644 index 0000000..168b918 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodetype.js @@ -0,0 +1,133 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodecommentnodetype"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getNodeType()" method for a Comment Node + returns the constant value 8. + + Retrieve the nodes from the document and check for + a comment node and invoke the "getNodeType()" method. This should + return 8. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1728279322 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=248 +*/ +function hc_nodecommentnodetype() { + var success; + if(checkInitialization(builder, "hc_nodecommentnodetype") != null) return; + var doc; + var testList; + var commentNode; + var commentNodeName; + var nodeType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + testList = doc.childNodes; + + for(var indexN10040 = 0;indexN10040 < testList.length; indexN10040++) { + commentNode = testList.item(indexN10040); + commentNodeName = commentNode.nodeName; + + + if( + ("#comment" == commentNodeName) + ) { + nodeType = commentNode.nodeType; + + assertEquals("existingCommentNodeType",8,nodeType); + + } + + } + commentNode = doc.createComment("This is a comment"); + nodeType = commentNode.nodeType; + + assertEquals("createdCommentNodeType",8,nodeType); + +} + + + + +function runTest() { + hc_nodecommentnodetype(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodevalue.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodevalue.js new file mode 100644 index 0000000..64e35b2 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodevalue.js @@ -0,0 +1,133 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodecommentnodevalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The string returned by the "getNodeValue()" method for a + Comment Node is the content of the comment. + + Retrieve the comment in the XML file and + check the string returned by the "getNodeValue()" method. + It should be equal to "This is comment number 1". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1728279322 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=248 +*/ +function hc_nodecommentnodevalue() { + var success; + if(checkInitialization(builder, "hc_nodecommentnodevalue") != null) return; + var doc; + var elementList; + var commentNode; + var commentName; + var commentValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.childNodes; + + for(var indexN10040 = 0;indexN10040 < elementList.length; indexN10040++) { + commentNode = elementList.item(indexN10040); + commentName = commentNode.nodeName; + + + if( + ("#comment" == commentName) + ) { + commentValue = commentNode.nodeValue; + + assertEquals("value"," This is comment number 1.",commentValue); + + } + + } + commentNode = doc.createComment(" This is a comment"); + commentValue = commentNode.nodeValue; + + assertEquals("createdCommentNodeValue"," This is a comment",commentValue); + +} + + + + +function runTest() { + hc_nodecommentnodevalue(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodename.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodename.js new file mode 100644 index 0000000..4c3b8f2 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodename.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodedocumentfragmentnodename"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The string returned by the "getNodeName()" method for a + DocumentFragment Node is "#document-frament". + + Retrieve the DOM document and invoke the + "createDocumentFragment()" method and check the string + returned by the "getNodeName()" method. It should be + equal to "#document-fragment". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A3 +*/ +function hc_nodedocumentfragmentnodename() { + var success; + if(checkInitialization(builder, "hc_nodedocumentfragmentnodename") != null) return; + var doc; + var docFragment; + var documentFragmentName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + docFragment = doc.createDocumentFragment(); + documentFragmentName = docFragment.nodeName; + + assertEquals("nodeDocumentFragmentNodeNameAssert1","#document-fragment",documentFragmentName); + +} + + + + +function runTest() { + hc_nodedocumentfragmentnodename(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodetype.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodetype.js new file mode 100644 index 0000000..404dcd4 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodetype.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodedocumentfragmentnodetype"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getNodeType()" method for a DocumentFragment Node + returns the constant value 11. + + Invoke the "createDocumentFragment()" method and + examine the NodeType of the document fragment + returned by the "getNodeType()" method. The method + should return 11. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A3 +*/ +function hc_nodedocumentfragmentnodetype() { + var success; + if(checkInitialization(builder, "hc_nodedocumentfragmentnodetype") != null) return; + var doc; + var documentFragmentNode; + var nodeType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + documentFragmentNode = doc.createDocumentFragment(); + nodeType = documentFragmentNode.nodeType; + + assertEquals("nodeDocumentFragmentNodeTypeAssert1",11,nodeType); + +} + + + + +function runTest() { + hc_nodedocumentfragmentnodetype(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodevalue.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodevalue.js new file mode 100644 index 0000000..3817faf --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodevalue.js @@ -0,0 +1,120 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodedocumentfragmentnodevalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The string returned by the "getNodeValue()" method for a + DocumentFragment Node is null. + + Retrieve the DOM document and invoke the + "createDocumentFragment()" method and check the string + returned by the "getNodeValue()" method. It should be + equal to null. + +* @author Curt Arnold +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A3 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 +*/ +function hc_nodedocumentfragmentnodevalue() { + var success; + if(checkInitialization(builder, "hc_nodedocumentfragmentnodevalue") != null) return; + var doc; + var docFragment; + var attrList; + var value; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + docFragment = doc.createDocumentFragment(); + attrList = docFragment.attributes; + + assertNull("attributesNull",attrList); + value = docFragment.nodeValue; + + assertNull("initiallyNull",value); + +} + + + + +function runTest() { + hc_nodedocumentfragmentnodevalue(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodeattribute.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodeattribute.js new file mode 100644 index 0000000..0509317 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodeattribute.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodedocumentnodeattribute"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "getAttributes()" method invoked on a Document +Node returns null. + +Retrieve the DOM Document and invoke the +"getAttributes()" method on the Document Node. +It should return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#i-Document +*/ +function hc_nodedocumentnodeattribute() { + var success; + if(checkInitialization(builder, "hc_nodedocumentnodeattribute") != null) return; + var doc; + var attrList; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + attrList = doc.attributes; + + assertNull("doc_attributes_is_null",attrList); + +} + + + + +function runTest() { + hc_nodedocumentnodeattribute(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodename.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodename.js new file mode 100644 index 0000000..7cdef03 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodename.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodedocumentnodename"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The string returned by the "getNodeName()" method for a + Document Node is "#document". + + Retrieve the DOM document and check the string returned + by the "getNodeName()" method. It should be equal to + "#document". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#i-Document +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 +*/ +function hc_nodedocumentnodename() { + var success; + if(checkInitialization(builder, "hc_nodedocumentnodename") != null) return; + var doc; + var documentName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + documentName = doc.nodeName; + + assertEquals("documentNodeName","#document",documentName); + +} + + + + +function runTest() { + hc_nodedocumentnodename(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodetype.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodetype.js new file mode 100644 index 0000000..12ac065 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodetype.js @@ -0,0 +1,110 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodedocumentnodetype"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "getNodeType()" method for a Document Node +returns the constant value 9. + +Retrieve the document and invoke the "getNodeType()" +method. The method should return 9. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#i-Document +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558 +*/ +function hc_nodedocumentnodetype() { + var success; + if(checkInitialization(builder, "hc_nodedocumentnodetype") != null) return; + var doc; + var nodeType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + nodeType = doc.nodeType; + + assertEquals("nodeDocumentNodeTypeAssert1",9,nodeType); + +} + + + + +function runTest() { + hc_nodedocumentnodetype(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodevalue.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodevalue.js new file mode 100644 index 0000000..6cd8934 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodevalue.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodedocumentnodevalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The string returned by the "getNodeValue()" method for a + Document Node is null. + + Retrieve the DOM Document and check the string returned + by the "getNodeValue()" method. It should be equal to + null. + + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#i-Document +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +*/ +function hc_nodedocumentnodevalue() { + var success; + if(checkInitialization(builder, "hc_nodedocumentnodevalue") != null) return; + var doc; + var documentValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + documentValue = doc.nodeValue; + + assertNull("documentNodeValue",documentValue); + +} + + + + +function runTest() { + hc_nodedocumentnodevalue(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodeattributes.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodeattributes.js new file mode 100644 index 0000000..a3bfcd3 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodeattributes.js @@ -0,0 +1,145 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeelementnodeattributes"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the third "acronym" element and evaluate Node.attributes. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=184 +*/ +function hc_nodeelementnodeattributes() { + var success; + if(checkInitialization(builder, "hc_nodeelementnodeattributes") != null) return; + var doc; + var elementList; + var testAddr; + var addrAttr; + var attrNode; + var attrName; + var attrList = new Array(); + + htmlExpected = new Array(); + htmlExpected[0] = "title"; + htmlExpected[1] = "class"; + + expected = new Array(); + expected[0] = "title"; + expected[1] = "class"; + expected[2] = "dir"; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddr = elementList.item(2); + addrAttr = testAddr.attributes; + + for(var indexN10070 = 0;indexN10070 < addrAttr.length; indexN10070++) { + attrNode = addrAttr.item(indexN10070); + attrName = attrNode.name; + + attrList[attrList.length] = attrName; + + } + + if( + + (builder.contentType == "text/html") + + ) { + assertEqualsCollection("attrNames_html",toLowerArray(htmlExpected),toLowerArray(attrList)); + + } + + else { + assertEqualsCollection("attrNames",expected,attrList); + + } + +} + + + + +function runTest() { + hc_nodeelementnodeattributes(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodename.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodename.js new file mode 100644 index 0000000..693d23e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodename.js @@ -0,0 +1,125 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeelementnodename"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the first Element Node(Root Node) of the + DOM object and check the string returned by the + "getNodeName()" method. It should be equal to its + tagName. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=251 +*/ +function hc_nodeelementnodename() { + var success; + if(checkInitialization(builder, "hc_nodeelementnodename") != null) return; + var doc; + var elementNode; + var elementName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementNode = doc.documentElement; + + elementName = elementNode.nodeName; + + + if( + + (builder.contentType == "image/svg+xml") + + ) { + assertEquals("svgNodeName","svg",elementName); + + } + + else { + assertEqualsAutoCase("element", "nodeName","html",elementName); + + } + +} + + + + +function runTest() { + hc_nodeelementnodename(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodetype.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodetype.js new file mode 100644 index 0000000..56dd936 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodetype.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeelementnodetype"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getNodeType()" method for an Element Node + returns the constant value 1. + + Retrieve the root node and invoke the "getNodeType()" + method. The method should return 1. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558 +*/ +function hc_nodeelementnodetype() { + var success; + if(checkInitialization(builder, "hc_nodeelementnodetype") != null) return; + var doc; + var rootNode; + var nodeType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + rootNode = doc.documentElement; + + nodeType = rootNode.nodeType; + + assertEquals("nodeElementNodeTypeAssert1",1,nodeType); + +} + + + + +function runTest() { + hc_nodeelementnodetype(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodevalue.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodevalue.js new file mode 100644 index 0000000..29124cf --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodevalue.js @@ -0,0 +1,109 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeelementnodevalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The string returned by the "getNodeValue()" method for an + Element Node is null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +*/ +function hc_nodeelementnodevalue() { + var success; + if(checkInitialization(builder, "hc_nodeelementnodevalue") != null) return; + var doc; + var elementNode; + var elementValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementNode = doc.documentElement; + + elementValue = elementNode.nodeValue; + + assertNull("elementNodeValue",elementValue); + +} + + + + +function runTest() { + hc_nodeelementnodevalue(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchild.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchild.js new file mode 100644 index 0000000..a4681f0 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchild.js @@ -0,0 +1,130 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodegetfirstchild"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getFirstChild()" method returns the first child + of this node. + + Retrieve the second employee and invoke the + "getFirstChild()" method. The NodeName returned + should be "#text" or "EM". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-169727388 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodegetfirstchild() { + var success; + if(checkInitialization(builder, "hc_nodegetfirstchild") != null) return; + var doc; + var elementList; + var employeeNode; + var fchildNode; + var childName; + var nodeType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + fchildNode = employeeNode.firstChild; + + childName = fchildNode.nodeName; + + + if( + ("#text" == childName) + ) { + assertEquals("firstChild_w_whitespace","#text",childName); + + } + + else { + assertEqualsAutoCase("element", "firstChild_wo_whitespace","em",childName); + + } + +} + + + + +function runTest() { + hc_nodegetfirstchild(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchildnull.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchildnull.js new file mode 100644 index 0000000..dec151f --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchildnull.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodegetfirstchildnull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If there is not a first child then the "getFirstChild()" + method returns null. + + Retrieve the text of the first "em" element and invoke the "getFirstChild()" method. It + should return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-169727388 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodegetfirstchildnull() { + var success; + if(checkInitialization(builder, "hc_nodegetfirstchildnull") != null) return; + var doc; + var emList; + var emNode; + var emText; + var nullChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + emList = doc.getElementsByTagName("em"); + emNode = emList.item(0); + emText = emNode.firstChild; + + nullChild = emText.firstChild; + + assertNull("nullChild",nullChild); + +} + + + + +function runTest() { + hc_nodegetfirstchildnull(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchild.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchild.js new file mode 100644 index 0000000..712c5ef --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchild.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodegetlastchild"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getLastChild()" method returns the last child + of this node. + + Retrieve the second employee and invoke the + "getLastChild()" method. The NodeName returned + should be "#text". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-61AD09FB +*/ +function hc_nodegetlastchild() { + var success; + if(checkInitialization(builder, "hc_nodegetlastchild") != null) return; + var doc; + var elementList; + var employeeNode; + var lchildNode; + var childName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + lchildNode = employeeNode.lastChild; + + childName = lchildNode.nodeName; + + assertEquals("whitespace","#text",childName); + +} + + + + +function runTest() { + hc_nodegetlastchild(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchildnull.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchildnull.js new file mode 100644 index 0000000..9e5a6ad --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchildnull.js @@ -0,0 +1,118 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodegetlastchildnull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + + If there is not a last child then the "getLastChild()" + method returns null. + + Retrieve the text of the first "em" element and invoke the "getFirstChild()" method. It + should return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-61AD09FB +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodegetlastchildnull() { + var success; + if(checkInitialization(builder, "hc_nodegetlastchildnull") != null) return; + var doc; + var emList; + var emNode; + var emText; + var nullChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + emList = doc.getElementsByTagName("em"); + emNode = emList.item(0); + emText = emNode.firstChild; + + nullChild = emText.lastChild; + + assertNull("nullChild",nullChild); + +} + + + + +function runTest() { + hc_nodegetlastchildnull(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsibling.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsibling.js new file mode 100644 index 0000000..3daca44 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsibling.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodegetnextsibling"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getNextSibling()" method returns the node immediately + following this node. + + Retrieve the first child of the second employee and + invoke the "getNextSibling()" method. It should return + a node with the NodeName of "#text". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6AC54C2F +*/ +function hc_nodegetnextsibling() { + var success; + if(checkInitialization(builder, "hc_nodegetnextsibling") != null) return; + var doc; + var elementList; + var emNode; + var nsNode; + var nsName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("em"); + emNode = elementList.item(1); + nsNode = emNode.nextSibling; + + nsName = nsNode.nodeName; + + assertEquals("whitespace","#text",nsName); + +} + + + + +function runTest() { + hc_nodegetnextsibling(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsiblingnull.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsiblingnull.js new file mode 100644 index 0000000..0f9cb7b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsiblingnull.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodegetnextsiblingnull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + + If there is not a node immediately following this node the + + "getNextSibling()" method returns null. + + + + Retrieve the first child of the second employee and + + invoke the "getNextSibling()" method. It should + + be set to null. + + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6AC54C2F +*/ +function hc_nodegetnextsiblingnull() { + var success; + if(checkInitialization(builder, "hc_nodegetnextsiblingnull") != null) return; + var doc; + var elementList; + var employeeNode; + var lcNode; + var nsNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + lcNode = employeeNode.lastChild; + + nsNode = lcNode.nextSibling; + + assertNull("nodeGetNextSiblingNullAssert1",nsNode); + +} + + + + +function runTest() { + hc_nodegetnextsiblingnull(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocument.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocument.js new file mode 100644 index 0000000..85853b8 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocument.js @@ -0,0 +1,129 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodegetownerdocument"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Evaluate Node.ownerDocument on the second "p" element. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#node-ownerDoc +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=251 +*/ +function hc_nodegetownerdocument() { + var success; + if(checkInitialization(builder, "hc_nodegetownerdocument") != null) return; + var doc; + var elementList; + var docNode; + var ownerDocument; + var docElement; + var elementName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + docNode = elementList.item(1); + ownerDocument = docNode.ownerDocument; + + docElement = ownerDocument.documentElement; + + elementName = docElement.nodeName; + + + if( + + (builder.contentType == "image/svg+xml") + + ) { + assertEquals("svgNodeName","svg",elementName); + + } + + else { + assertEqualsAutoCase("element", "ownerDocElemTagName","html",elementName); + + } + +} + + + + +function runTest() { + hc_nodegetownerdocument(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocumentnull.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocumentnull.js new file mode 100644 index 0000000..67bfd87 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocumentnull.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodegetownerdocumentnull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + + The "getOwnerDocument()" method returns null if the target + + node itself is a document. + + + + Invoke the "getOwnerDocument()" method on the master + + document. The Document returned should be null. + + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#node-ownerDoc +*/ +function hc_nodegetownerdocumentnull() { + var success; + if(checkInitialization(builder, "hc_nodegetownerdocumentnull") != null) return; + var doc; + var ownerDocument; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + ownerDocument = doc.ownerDocument; + + assertNull("nodeGetOwnerDocumentNullAssert1",ownerDocument); + +} + + + + +function runTest() { + hc_nodegetownerdocumentnull(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussibling.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussibling.js new file mode 100644 index 0000000..5434f05 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussibling.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodegetprevioussibling"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getPreviousSibling()" method returns the node + immediately preceding this node. + + Retrieve the second child of the second employee and + invoke the "getPreviousSibling()" method. It should + return a node with a NodeName of "#text". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-640FB3C8 +*/ +function hc_nodegetprevioussibling() { + var success; + if(checkInitialization(builder, "hc_nodegetprevioussibling") != null) return; + var doc; + var elementList; + var nameNode; + var psNode; + var psName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(1); + psNode = nameNode.previousSibling; + + psName = psNode.nodeName; + + assertEquals("whitespace","#text",psName); + +} + + + + +function runTest() { + hc_nodegetprevioussibling(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussiblingnull.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussiblingnull.js new file mode 100644 index 0000000..b1dc787 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussiblingnull.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodegetprevioussiblingnull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + + If there is not a node immediately preceding this node the + + "getPreviousSibling()" method returns null. + + + + Retrieve the first child of the second employee and + + invoke the "getPreviousSibling()" method. It should + + be set to null. + + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-640FB3C8 +*/ +function hc_nodegetprevioussiblingnull() { + var success; + if(checkInitialization(builder, "hc_nodegetprevioussiblingnull") != null) return; + var doc; + var elementList; + var employeeNode; + var fcNode; + var psNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(2); + fcNode = employeeNode.firstChild; + + psNode = fcNode.previousSibling; + + assertNull("nodeGetPreviousSiblingNullAssert1",psNode); + +} + + + + +function runTest() { + hc_nodegetprevioussiblingnull(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodes.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodes.js new file mode 100644 index 0000000..1ff38a9 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodes.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodehaschildnodes"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "hasChildNodes()" method returns true if the node + has children. + + Retrieve the root node("staff") and invoke the + "hasChildNodes()" method. It should return the boolean + value "true". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-810594187 +*/ +function hc_nodehaschildnodes() { + var success; + if(checkInitialization(builder, "hc_nodehaschildnodes") != null) return; + var doc; + var elementList; + var employeeNode; + var state; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + state = employeeNode.hasChildNodes(); + assertTrue("nodeHasChildAssert1",state); + +} + + + + +function runTest() { + hc_nodehaschildnodes(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodesfalse.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodesfalse.js new file mode 100644 index 0000000..f966eba --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodesfalse.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodehaschildnodesfalse"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "hasChildNodes()" method returns false if the node + does not have any children. + + Retrieve the text of the first "em" element and invoke the "hasChildNodes()" method. It + should return false. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1451460987 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-810594187 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodehaschildnodesfalse() { + var success; + if(checkInitialization(builder, "hc_nodehaschildnodesfalse") != null) return; + var doc; + var emList; + var emNode; + var emText; + var hasChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + emList = doc.getElementsByTagName("em"); + emNode = emList.item(0); + emText = emNode.firstChild; + + hasChild = emText.hasChildNodes(); + assertFalse("hasChild",hasChild); + +} + + + + +function runTest() { + hc_nodehaschildnodesfalse(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbefore.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbefore.js new file mode 100644 index 0000000..f73bd6d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbefore.js @@ -0,0 +1,153 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeinsertbefore"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "insertBefore(newChild,refChild)" method inserts the + node "newChild" before the node "refChild". + + Insert a newly created Element node before the second + sup element in the document and check the "newChild" + and "refChild" after insertion for correct placement. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=261 +*/ +function hc_nodeinsertbefore() { + var success; + if(checkInitialization(builder, "hc_nodeinsertbefore") != null) return; + var doc; + var elementList; + var employeeNode; + var childList; + var refChild; + var newChild; + var child; + var childName; + var insertedNode; + var actual = new Array(); + + expected = new Array(); + expected[0] = "em"; + expected[1] = "strong"; + expected[2] = "code"; + expected[3] = "br"; + expected[4] = "sup"; + expected[5] = "var"; + expected[6] = "acronym"; + + var nodeType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("sup"); + refChild = elementList.item(2); + employeeNode = refChild.parentNode; + + childList = employeeNode.childNodes; + + newChild = doc.createElement("br"); + insertedNode = employeeNode.insertBefore(newChild,refChild); + for(var indexN10091 = 0;indexN10091 < childList.length; indexN10091++) { + child = childList.item(indexN10091); + nodeType = child.nodeType; + + + if( + (1 == nodeType) + ) { + childName = child.nodeName; + + actual[actual.length] = childName; + + } + + } + assertEqualsListAutoCase("element", "nodeNames",expected,actual); + +} + + + + +function runTest() { + hc_nodeinsertbefore(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforedocfragment.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforedocfragment.js new file mode 100644 index 0000000..1e132c9 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforedocfragment.js @@ -0,0 +1,141 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeinsertbeforedocfragment"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If the "newChild" is a DocumentFragment object then all + its children are inserted in the same order before the + the "refChild". + + Create a DocumentFragment object and populate it with + two Element nodes. Retrieve the second employee and + insert the newly created DocumentFragment before its + fourth child. The second employee should now have two + extra children("newChild1" and "newChild2") at + positions fourth and fifth respectively. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_nodeinsertbeforedocfragment() { + var success; + if(checkInitialization(builder, "hc_nodeinsertbeforedocfragment") != null) return; + var doc; + var elementList; + var employeeNode; + var childList; + var refChild; + var newdocFragment; + var newChild1; + var newChild2; + var child; + var childName; + var appendedChild; + var insertedNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.childNodes; + + refChild = childList.item(3); + newdocFragment = doc.createDocumentFragment(); + newChild1 = doc.createElement("br"); + newChild2 = doc.createElement("b"); + appendedChild = newdocFragment.appendChild(newChild1); + appendedChild = newdocFragment.appendChild(newChild2); + insertedNode = employeeNode.insertBefore(newdocFragment,refChild); + child = childList.item(3); + childName = child.nodeName; + + assertEqualsAutoCase("element", "childName3","br",childName); + child = childList.item(4); + childName = child.nodeName; + + assertEqualsAutoCase("element", "childName4","b",childName); + +} + + + + +function runTest() { + hc_nodeinsertbeforedocfragment(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchilddiffdocument.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchilddiffdocument.js new file mode 100644 index 0000000..915104f --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchilddiffdocument.js @@ -0,0 +1,147 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeinsertbeforenewchilddiffdocument"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var doc1Ref = null; + if (typeof(this.doc1) != 'undefined') { + doc1Ref = this.doc1; + } + docsLoaded += preload(doc1Ref, "doc1", "hc_staff"); + + var doc2Ref = null; + if (typeof(this.doc2) != 'undefined') { + doc2Ref = this.doc2; + } + docsLoaded += preload(doc2Ref, "doc2", "hc_staff"); + + if (docsLoaded == 2) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 2) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "insertBefore(newChild,refChild)" method raises a + WRONG_DOCUMENT_ERR DOMException if the "newChild" was + created from a different document than the one that + created this node. + + Retrieve the second employee and attempt to insert a new + child that was created from a different document than the + one that created the second employee. An attempt to + insert such a child should raise the desired exception. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='WRONG_DOCUMENT_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-952280727')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='WRONG_DOCUMENT_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_nodeinsertbeforenewchilddiffdocument() { + var success; + if(checkInitialization(builder, "hc_nodeinsertbeforenewchilddiffdocument") != null) return; + var doc1; + var doc2; + var refChild; + var newChild; + var elementList; + var elementNode; + var insertedNode; + + var doc1Ref = null; + if (typeof(this.doc1) != 'undefined') { + doc1Ref = this.doc1; + } + doc1 = load(doc1Ref, "doc1", "hc_staff"); + + var doc2Ref = null; + if (typeof(this.doc2) != 'undefined') { + doc2Ref = this.doc2; + } + doc2 = load(doc2Ref, "doc2", "hc_staff"); + newChild = doc1.createElement("br"); + elementList = doc2.getElementsByTagName("p"); + elementNode = elementList.item(1); + refChild = elementNode.firstChild; + + + { + success = false; + try { + insertedNode = elementNode.insertBefore(newChild,refChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 4); + } + assertTrue("throw_WRONG_DOCUMENT_ERR",success); + } + +} + + + + +function runTest() { + hc_nodeinsertbeforenewchilddiffdocument(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchildexists.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchildexists.js new file mode 100644 index 0000000..f7adaff --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchildexists.js @@ -0,0 +1,151 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeinsertbeforenewchildexists"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If the "newChild" is already in the tree, the + "insertBefore(newChild,refChild)" method must first + remove it before the insertion takes place. + + Insert a node Element ("em") that is already + present in the tree. The existing node should be + removed first and the new one inserted. The node is + inserted at a different position in the tree to assure + that it was indeed inserted. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodeinsertbeforenewchildexists() { + var success; + if(checkInitialization(builder, "hc_nodeinsertbeforenewchildexists") != null) return; + var doc; + var elementList; + var employeeNode; + var childList; + var refChild; + var newChild; + var child; + var childName; + var insertedNode; + expected = new Array(); + expected[0] = "strong"; + expected[1] = "code"; + expected[2] = "sup"; + expected[3] = "var"; + expected[4] = "em"; + expected[5] = "acronym"; + + var result = new Array(); + + var nodeType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.getElementsByTagName("*"); + refChild = childList.item(5); + newChild = childList.item(0); + insertedNode = employeeNode.insertBefore(newChild,refChild); + for(var indexN1008C = 0;indexN1008C < childList.length; indexN1008C++) { + child = childList.item(indexN1008C); + nodeType = child.nodeType; + + + if( + (1 == nodeType) + ) { + childName = child.nodeName; + + result[result.length] = childName; + + } + + } + assertEqualsListAutoCase("element", "childNames",expected,result); + +} + + + + +function runTest() { + hc_nodeinsertbeforenewchildexists(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodeancestor.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodeancestor.js new file mode 100644 index 0000000..cd7c956 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodeancestor.js @@ -0,0 +1,135 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeinsertbeforenodeancestor"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "insertBefore(newChild,refChild)" method raises a + HIERARCHY_REQUEST_ERR DOMException if the node to be + inserted is one of this nodes ancestors. + + Retrieve the second employee and attempt to insert a + node that is one of its ancestors(root node). An + attempt to insert such a node should raise the + desired exception. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='HIERARCHY_REQUEST_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-952280727')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='HIERARCHY_REQUEST_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +*/ +function hc_nodeinsertbeforenodeancestor() { + var success; + if(checkInitialization(builder, "hc_nodeinsertbeforenodeancestor") != null) return; + var doc; + var newChild; + var elementList; + var employeeNode; + var childList; + var refChild; + var insertedNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newChild = doc.documentElement; + + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.childNodes; + + refChild = childList.item(0); + + { + success = false; + try { + insertedNode = employeeNode.insertBefore(newChild,refChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 3); + } + assertTrue("throw_HIERARCHY_REQUEST_ERR",success); + } + +} + + + + +function runTest() { + hc_nodeinsertbeforenodeancestor(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodename.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodename.js new file mode 100644 index 0000000..eeb61c8 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodename.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeinsertbeforenodename"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "insertBefore(newChild,refchild)" method returns + the node being inserted. + + Insert an Element node before the fourth + child of the second employee and check the node + returned from the "insertBefore(newChild,refChild)" + method. The node returned should be "newChild". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_nodeinsertbeforenodename() { + var success; + if(checkInitialization(builder, "hc_nodeinsertbeforenodename") != null) return; + var doc; + var elementList; + var employeeNode; + var childList; + var refChild; + var newChild; + var insertedNode; + var childName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.childNodes; + + refChild = childList.item(3); + newChild = doc.createElement("br"); + insertedNode = employeeNode.insertBefore(newChild,refChild); + childName = insertedNode.nodeName; + + assertEqualsAutoCase("element", "nodeName","br",childName); + +} + + + + +function runTest() { + hc_nodeinsertbeforenodename(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnonexistent.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnonexistent.js new file mode 100644 index 0000000..d4c8f3e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnonexistent.js @@ -0,0 +1,133 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeinsertbeforerefchildnonexistent"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "insertBefore(newChild,refChild)" method raises a + NOT_FOUND_ERR DOMException if the reference child is + not a child of this node. + + Retrieve the second employee and attempt to insert a + new node before a reference node that is not a child + of this node. An attempt to insert before a non child + node should raise the desired exception. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NOT_FOUND_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-952280727')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NOT_FOUND_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_nodeinsertbeforerefchildnonexistent() { + var success; + if(checkInitialization(builder, "hc_nodeinsertbeforerefchildnonexistent") != null) return; + var doc; + var refChild; + var newChild; + var elementList; + var elementNode; + var insertedNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newChild = doc.createElement("br"); + refChild = doc.createElement("b"); + elementList = doc.getElementsByTagName("p"); + elementNode = elementList.item(1); + + { + success = false; + try { + insertedNode = elementNode.insertBefore(newChild,refChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 8); + } + assertTrue("throw_NOT_FOUND_ERR",success); + } + +} + + + + +function runTest() { + hc_nodeinsertbeforerefchildnonexistent(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnull.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnull.js new file mode 100644 index 0000000..a0bf5e4 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnull.js @@ -0,0 +1,131 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeinsertbeforerefchildnull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If the "refChild" is null then the + "insertBefore(newChild,refChild)" method inserts the + node "newChild" at the end of the list of children. + + Retrieve the second employee and invoke the + "insertBefore(newChild,refChild)" method with + refChild=null. Since "refChild" is null the "newChild" + should be added to the end of the list. The last item + in the list is checked after insertion. The last Element + node of the list should be "newChild". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_nodeinsertbeforerefchildnull() { + var success; + if(checkInitialization(builder, "hc_nodeinsertbeforerefchildnull") != null) return; + var doc; + var elementList; + var employeeNode; + var childList; + var refChild = null; + + var newChild; + var child; + var childName; + var insertedNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.childNodes; + + newChild = doc.createElement("br"); + insertedNode = employeeNode.insertBefore(newChild,refChild); + child = employeeNode.lastChild; + + childName = child.nodeName; + + assertEqualsAutoCase("element", "nodeName","br",childName); + +} + + + + +function runTest() { + hc_nodeinsertbeforerefchildnull(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodelistindexequalzero.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodelistindexequalzero.js new file mode 100644 index 0000000..eff64d9 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodelistindexequalzero.js @@ -0,0 +1,135 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodelistindexequalzero"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Create a list of all the children elements of the third + employee and access its first child by using an index + of 0. This should result in the whitspace before "em" being + selected (em when ignoring whitespace). + Further we evaluate its content(by using + the "getNodeName()" method) to ensure the proper + element was accessed. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-844377136 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodelistindexequalzero() { + var success; + if(checkInitialization(builder, "hc_nodelistindexequalzero") != null) return; + var doc; + var elementList; + var employeeNode; + var employeeList; + var child; + var childName; + var length; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(2); + employeeList = employeeNode.childNodes; + + length = employeeList.length; + + child = employeeList.item(0); + childName = child.nodeName; + + + if( + (13 == length) + ) { + assertEquals("childName_w_whitespace","#text",childName); + + } + + else { + assertEqualsAutoCase("element", "childName_wo_whitespace","em",childName); + + } + +} + + + + +function runTest() { + hc_nodelistindexequalzero(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlength.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlength.js new file mode 100644 index 0000000..d169a62 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlength.js @@ -0,0 +1,129 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodelistindexgetlength"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getLength()" method returns the number of nodes + in the list. + + Create a list of all the children elements of the third + employee and invoke the "getLength()" method. + It should contain the value 13. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-203510337 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodelistindexgetlength() { + var success; + if(checkInitialization(builder, "hc_nodelistindexgetlength") != null) return; + var doc; + var elementList; + var employeeNode; + var employeeList; + var length; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(2); + employeeList = employeeNode.childNodes; + + length = employeeList.length; + + + if( + (6 == length) + ) { + assertEquals("length_wo_space",6,length); + + } + + else { + assertEquals("length_w_space",13,length); + + } + +} + + + + +function runTest() { + hc_nodelistindexgetlength(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlengthofemptylist.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlengthofemptylist.js new file mode 100644 index 0000000..9ae4969 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlengthofemptylist.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodelistindexgetlengthofemptylist"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getLength()" method returns the number of nodes + in the list.(Test for EMPTY list) + + Create a list of all the children of the Text node + inside the first child of the third employee and + invoke the "getLength()" method. It should contain + the value 0. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-203510337 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodelistindexgetlengthofemptylist() { + var success; + if(checkInitialization(builder, "hc_nodelistindexgetlengthofemptylist") != null) return; + var doc; + var emList; + var emNode; + var textNode; + var textList; + var length; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + emList = doc.getElementsByTagName("em"); + emNode = emList.item(2); + textNode = emNode.firstChild; + + textList = textNode.childNodes; + + length = textList.length; + + assertEquals("length",0,length); + +} + + + + +function runTest() { + hc_nodelistindexgetlengthofemptylist(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodelistindexnotzero.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodelistindexnotzero.js new file mode 100644 index 0000000..8976e02 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodelistindexnotzero.js @@ -0,0 +1,133 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodelistindexnotzero"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The items in the list are accessible via an integral + index starting from zero. + (Index not equal 0) + + Create a list of all the children elements of the third + employee and access its fourth child by using an index + of 3 and calling getNodeName() which should return + "strong" (no whitespace) or "#text" (with whitespace). + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-844377136 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodelistindexnotzero() { + var success; + if(checkInitialization(builder, "hc_nodelistindexnotzero") != null) return; + var doc; + var elementList; + var employeeNode; + var employeeList; + var child; + var childName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(2); + employeeList = employeeNode.childNodes; + + child = employeeList.item(3); + childName = child.nodeName; + + + if( + ("#text" == childName) + ) { + assertEquals("childName_space","#text",childName); + + } + + else { + assertEqualsAutoCase("element", "childName_strong","strong",childName); + + } + +} + + + + +function runTest() { + hc_nodelistindexnotzero(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnfirstitem.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnfirstitem.js new file mode 100644 index 0000000..117be61 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnfirstitem.js @@ -0,0 +1,129 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodelistreturnfirstitem"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Create a list of all the children elements of the third + employee and access its first child by invoking the + "item(index)" method with an index=0. This should + result in node with a nodeName of "#text" or "em". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-844377136 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodelistreturnfirstitem() { + var success; + if(checkInitialization(builder, "hc_nodelistreturnfirstitem") != null) return; + var doc; + var elementList; + var employeeNode; + var employeeList; + var child; + var childName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(2); + employeeList = employeeNode.childNodes; + + child = employeeList.item(0); + childName = child.nodeName; + + + if( + ("#text" == childName) + ) { + assertEquals("nodeName_w_space","#text",childName); + + } + + else { + assertEqualsAutoCase("element", "nodeName_wo_space","em",childName); + + } + +} + + + + +function runTest() { + hc_nodelistreturnfirstitem(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnlastitem.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnlastitem.js new file mode 100644 index 0000000..b6652fe --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnlastitem.js @@ -0,0 +1,133 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodelistreturnlastitem"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Create a list of all the children elements of the third + employee and access its last child by invoking the + "item(index)" method with an index=length-1. This should + result in node with nodeName="#text" or acronym. +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-844377136 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodelistreturnlastitem() { + var success; + if(checkInitialization(builder, "hc_nodelistreturnlastitem") != null) return; + var doc; + var elementList; + var employeeNode; + var employeeList; + var child; + var childName; + var index; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(2); + employeeList = employeeNode.childNodes; + + index = employeeList.length; + + index -= 1; +child = employeeList.item(index); + childName = child.nodeName; + + + if( + (12 == index) + ) { + assertEquals("lastNodeName_w_whitespace","#text",childName); + + } + + else { + assertEqualsAutoCase("element", "lastNodeName","acronym",childName); + assertEquals("index",5,index); + + } + +} + + + + +function runTest() { + hc_nodelistreturnlastitem(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodelisttraverselist.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodelisttraverselist.js new file mode 100644 index 0000000..dc6862b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodelisttraverselist.js @@ -0,0 +1,149 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodelisttraverselist"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The range of valid child node indices is 0 thru length -1 + + Create a list of all the children elements of the third + employee and traverse the list from index=0 thru + length -1. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-203510337 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-844377136 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodelisttraverselist() { + var success; + if(checkInitialization(builder, "hc_nodelisttraverselist") != null) return; + var doc; + var elementList; + var employeeNode; + var employeeList; + var child; + var childName; + var nodeType; + var result = new Array(); + + expected = new Array(); + expected[0] = "em"; + expected[1] = "strong"; + expected[2] = "code"; + expected[3] = "sup"; + expected[4] = "var"; + expected[5] = "acronym"; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(2); + employeeList = employeeNode.childNodes; + + for(var indexN10073 = 0;indexN10073 < employeeList.length; indexN10073++) { + child = employeeList.item(indexN10073); + nodeType = child.nodeType; + + childName = child.nodeName; + + + if( + (1 == nodeType) + ) { + result[result.length] = childName; + + } + + else { + assertEquals("textNodeType",3,nodeType); + assertEquals("textNodeName","#text",childName); + + } + + } + assertEqualsListAutoCase("element", "nodeNames",expected,result); + +} + + + + +function runTest() { + hc_nodelisttraverselist(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeparentnode.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeparentnode.js new file mode 100644 index 0000000..e3408f6 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeparentnode.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeparentnode"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getParentNode()" method returns the parent + of this node. + + Retrieve the second employee and invoke the + "getParentNode()" method on this node. It should + be set to "body". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1060184317 +*/ +function hc_nodeparentnode() { + var success; + if(checkInitialization(builder, "hc_nodeparentnode") != null) return; + var doc; + var elementList; + var employeeNode; + var parentNode; + var parentName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + parentNode = employeeNode.parentNode; + + parentName = parentNode.nodeName; + + assertEqualsAutoCase("element", "parentNodeName","body",parentName); + +} + + + + +function runTest() { + hc_nodeparentnode(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeparentnodenull.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeparentnodenull.js new file mode 100644 index 0000000..9c80de3 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeparentnodenull.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeparentnodenull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getParentNode()" method invoked on a node that has + just been created and not yet added to the tree is null. + + Create a new "employee" Element node using the + "createElement(name)" method from the Document interface. + Since this new node has not yet been added to the tree, + the "getParentNode()" method will return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1060184317 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_nodeparentnodenull() { + var success; + if(checkInitialization(builder, "hc_nodeparentnodenull") != null) return; + var doc; + var createdNode; + var parentNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + createdNode = doc.createElement("br"); + parentNode = createdNode.parentNode; + + assertNull("parentNode",parentNode); + +} + + + + +function runTest() { + hc_nodeparentnodenull(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_noderemovechild.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_noderemovechild.js new file mode 100644 index 0000000..35e04b2 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_noderemovechild.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_noderemovechild"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "removeChild(oldChild)" method removes the child node + indicated by "oldChild" from the list of children and + returns it. + + Remove the first employee by invoking the + "removeChild(oldChild)" method an checking the + node returned by the "getParentNode()" method. It + should be set to null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_noderemovechild() { + var success; + if(checkInitialization(builder, "hc_noderemovechild") != null) return; + var doc; + var rootNode; + var childList; + var childToRemove; + var removedChild; + var parentNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + rootNode = doc.documentElement; + + childList = rootNode.childNodes; + + childToRemove = childList.item(1); + removedChild = rootNode.removeChild(childToRemove); + parentNode = removedChild.parentNode; + + assertNull("parentNodeNull",parentNode); + +} + + + + +function runTest() { + hc_noderemovechild(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_noderemovechildgetnodename.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_noderemovechildgetnodename.js new file mode 100644 index 0000000..d81a2a9 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_noderemovechildgetnodename.js @@ -0,0 +1,128 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_noderemovechildgetnodename"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "removeChild(oldChild)" method returns + the node being removed. + + Remove the first child of the second employee + and check the NodeName returned by the + "removeChild(oldChild)" method. The returned node + should have a NodeName equal to "#text". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_noderemovechildgetnodename() { + var success; + if(checkInitialization(builder, "hc_noderemovechildgetnodename") != null) return; + var doc; + var elementList; + var employeeNode; + var childList; + var oldChild; + var removedChild; + var childName; + var oldName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.childNodes; + + oldChild = childList.item(0); + oldName = oldChild.nodeName; + + removedChild = employeeNode.removeChild(oldChild); + assertNotNull("notnull",removedChild); +childName = removedChild.nodeName; + + assertEquals("nodeName",oldName,childName); + +} + + + + +function runTest() { + hc_noderemovechildgetnodename(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_noderemovechildnode.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_noderemovechildnode.js new file mode 100644 index 0000000..b6cef22 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_noderemovechildnode.js @@ -0,0 +1,160 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_noderemovechildnode"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "removeChild(oldChild)" method removes the node + indicated by "oldChild". + + Retrieve the second p element and remove its first child. + After the removal, the second p element should have 5 element + children and the first child should now be the child + that used to be at the second position in the list. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_noderemovechildnode() { + var success; + if(checkInitialization(builder, "hc_noderemovechildnode") != null) return; + var doc; + var elementList; + var emList; + var employeeNode; + var childList; + var oldChild; + var child; + var childName; + var length; + var removedChild; + var removedName; + var nodeType; + expected = new Array(); + expected[0] = "strong"; + expected[1] = "code"; + expected[2] = "sup"; + expected[3] = "var"; + expected[4] = "acronym"; + + var actual = new Array(); + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.childNodes; + + emList = employeeNode.getElementsByTagName("em"); + oldChild = emList.item(0); + removedChild = employeeNode.removeChild(oldChild); + removedName = removedChild.nodeName; + + assertEqualsAutoCase("element", "removedName","em",removedName); + for(var indexN10098 = 0;indexN10098 < childList.length; indexN10098++) { + child = childList.item(indexN10098); + nodeType = child.nodeType; + + childName = child.nodeName; + + + if( + (1 == nodeType) + ) { + actual[actual.length] = childName; + + } + + else { + assertEquals("textNodeType",3,nodeType); + assertEquals("textNodeName","#text",childName); + + } + + } + assertEqualsListAutoCase("element", "childNames",expected,actual); + +} + + + + +function runTest() { + hc_noderemovechildnode(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_noderemovechildoldchildnonexistent.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_noderemovechildoldchildnonexistent.js new file mode 100644 index 0000000..7f68dbd --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_noderemovechildoldchildnonexistent.js @@ -0,0 +1,129 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_noderemovechildoldchildnonexistent"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "removeChild(oldChild)" method raises a + NOT_FOUND_ERR DOMException if the old child is + not a child of this node. + + Retrieve the second employee and attempt to remove a + node that is not one of its children. An attempt to + remove such a node should raise the desired exception. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NOT_FOUND_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-1734834066')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NOT_FOUND_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_noderemovechildoldchildnonexistent() { + var success; + if(checkInitialization(builder, "hc_noderemovechildoldchildnonexistent") != null) return; + var doc; + var oldChild; + var elementList; + var elementNode; + var removedChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + oldChild = doc.createElement("br"); + elementList = doc.getElementsByTagName("p"); + elementNode = elementList.item(1); + + { + success = false; + try { + removedChild = elementNode.removeChild(oldChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 8); + } + assertTrue("throw_NOT_FOUND_ERR",success); + } + +} + + + + +function runTest() { + hc_noderemovechildoldchildnonexistent(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodereplacechild.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodereplacechild.js new file mode 100644 index 0000000..db4ba3b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodereplacechild.js @@ -0,0 +1,127 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodereplacechild"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "replaceChild(newChild,oldChild)" method replaces + the node "oldChild" with the node "newChild". + + Replace the first element of the second employee with + a newly created Element node. Check the first position + after the replacement operation is completed. The new + Element should be "newChild". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_nodereplacechild() { + var success; + if(checkInitialization(builder, "hc_nodereplacechild") != null) return; + var doc; + var elementList; + var employeeNode; + var childList; + var oldChild; + var newChild; + var child; + var childName; + var replacedNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.childNodes; + + oldChild = childList.item(0); + newChild = doc.createElement("br"); + replacedNode = employeeNode.replaceChild(newChild,oldChild); + child = childList.item(0); + childName = child.nodeName; + + assertEqualsAutoCase("element", "nodeName","br",childName); + +} + + + + +function runTest() { + hc_nodereplacechild(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchilddiffdocument.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchilddiffdocument.js new file mode 100644 index 0000000..23af319 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchilddiffdocument.js @@ -0,0 +1,147 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodereplacechildnewchilddiffdocument"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var doc1Ref = null; + if (typeof(this.doc1) != 'undefined') { + doc1Ref = this.doc1; + } + docsLoaded += preload(doc1Ref, "doc1", "hc_staff"); + + var doc2Ref = null; + if (typeof(this.doc2) != 'undefined') { + doc2Ref = this.doc2; + } + docsLoaded += preload(doc2Ref, "doc2", "hc_staff"); + + if (docsLoaded == 2) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 2) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "replaceChild(newChild,oldChild)" method raises a + WRONG_DOCUMENT_ERR DOMException if the "newChild" was + created from a different document than the one that + created this node. + + Retrieve the second employee and attempt to replace one + of its children with a node created from a different + document. An attempt to make such a replacement + should raise the desired exception. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NOT_FOUND_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-785887307')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NOT_FOUND_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_nodereplacechildnewchilddiffdocument() { + var success; + if(checkInitialization(builder, "hc_nodereplacechildnewchilddiffdocument") != null) return; + var doc1; + var doc2; + var oldChild; + var newChild; + var elementList; + var elementNode; + var replacedChild; + + var doc1Ref = null; + if (typeof(this.doc1) != 'undefined') { + doc1Ref = this.doc1; + } + doc1 = load(doc1Ref, "doc1", "hc_staff"); + + var doc2Ref = null; + if (typeof(this.doc2) != 'undefined') { + doc2Ref = this.doc2; + } + doc2 = load(doc2Ref, "doc2", "hc_staff"); + newChild = doc1.createElement("br"); + elementList = doc2.getElementsByTagName("p"); + elementNode = elementList.item(1); + oldChild = elementNode.firstChild; + + + { + success = false; + try { + replacedChild = elementNode.replaceChild(newChild,oldChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 4); + } + assertTrue("throw_WRONG_DOCUMENT_ERR",success); + } + +} + + + + +function runTest() { + hc_nodereplacechildnewchilddiffdocument(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchildexists.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchildexists.js new file mode 100644 index 0000000..06be50b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchildexists.js @@ -0,0 +1,155 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodereplacechildnewchildexists"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If the "newChild" is already in the tree, it is first + removed before the new one is added. + + Retrieve the second "p" and replace "acronym" with its "em". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodereplacechildnewchildexists() { + var success; + if(checkInitialization(builder, "hc_nodereplacechildnewchildexists") != null) return; + var doc; + var elementList; + var employeeNode; + var childList; + var oldChild = null; + + var newChild = null; + + var child; + var childName; + var childNode; + var actual = new Array(); + + expected = new Array(); + expected[0] = "strong"; + expected[1] = "code"; + expected[2] = "sup"; + expected[3] = "var"; + expected[4] = "em"; + + var replacedChild; + var nodeType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.getElementsByTagName("*"); + newChild = childList.item(0); + oldChild = childList.item(5); + replacedChild = employeeNode.replaceChild(newChild,oldChild); + assertSame("return_value_same",oldChild,replacedChild); +for(var indexN10094 = 0;indexN10094 < childList.length; indexN10094++) { + childNode = childList.item(indexN10094); + childName = childNode.nodeName; + + nodeType = childNode.nodeType; + + + if( + (1 == nodeType) + ) { + actual[actual.length] = childName; + + } + + else { + assertEquals("textNodeType",3,nodeType); + assertEquals("textNodeName","#text",childName); + + } + + } + assertEqualsListAutoCase("element", "childNames",expected,actual); + +} + + + + +function runTest() { + hc_nodereplacechildnewchildexists(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodeancestor.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodeancestor.js new file mode 100644 index 0000000..5e7b044 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodeancestor.js @@ -0,0 +1,135 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodereplacechildnodeancestor"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "replaceChild(newChild,oldChild)" method raises a + HIERARCHY_REQUEST_ERR DOMException if the node to put + in is one of this node's ancestors. + + Retrieve the second employee and attempt to replace + one of its children with an ancestor node(root node). + An attempt to make such a replacement should raise the + desired exception. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='HIERARCHY_REQUEST_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-785887307')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='HIERARCHY_REQUEST_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 +*/ +function hc_nodereplacechildnodeancestor() { + var success; + if(checkInitialization(builder, "hc_nodereplacechildnodeancestor") != null) return; + var doc; + var newChild; + var elementList; + var employeeNode; + var childList; + var oldChild; + var replacedNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newChild = doc.documentElement; + + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.childNodes; + + oldChild = childList.item(0); + + { + success = false; + try { + replacedNode = employeeNode.replaceChild(newChild,oldChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 3); + } + assertTrue("throw_HIERARCHY_REQUEST_ERR",success); + } + +} + + + + +function runTest() { + hc_nodereplacechildnodeancestor(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodename.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodename.js new file mode 100644 index 0000000..baeab8a --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodename.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodereplacechildnodename"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "replaceChild(newChild,oldChild)" method returns + the node being replaced. + + Replace the second Element of the second employee with + a newly created node Element and check the NodeName + returned by the "replaceChild(newChild,oldChild)" + method. The returned node should have a NodeName equal + to "em". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_nodereplacechildnodename() { + var success; + if(checkInitialization(builder, "hc_nodereplacechildnodename") != null) return; + var doc; + var elementList; + var employeeNode; + var childList; + var oldChild; + var newChild; + var replacedNode; + var childName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.getElementsByTagName("em"); + oldChild = childList.item(0); + newChild = doc.createElement("br"); + replacedNode = employeeNode.replaceChild(newChild,oldChild); + childName = replacedNode.nodeName; + + assertEqualsAutoCase("element", "replacedNodeName","em",childName); + +} + + + + +function runTest() { + hc_nodereplacechildnodename(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildoldchildnonexistent.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildoldchildnonexistent.js new file mode 100644 index 0000000..74ef15c --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildoldchildnonexistent.js @@ -0,0 +1,131 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodereplacechildoldchildnonexistent"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "replaceChild(newChild,oldChild)" method raises a + NOT_FOUND_ERR DOMException if the old child is + not a child of this node. + + Retrieve the second employee and attempt to replace a + node that is not one of its children. An attempt to + replace such a node should raise the desired exception. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NOT_FOUND_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-785887307')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NOT_FOUND_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_nodereplacechildoldchildnonexistent() { + var success; + if(checkInitialization(builder, "hc_nodereplacechildoldchildnonexistent") != null) return; + var doc; + var oldChild; + var newChild; + var elementList; + var elementNode; + var replacedNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newChild = doc.createElement("br"); + oldChild = doc.createElement("b"); + elementList = doc.getElementsByTagName("p"); + elementNode = elementList.item(1); + + { + success = false; + try { + replacedNode = elementNode.replaceChild(newChild,oldChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 8); + } + assertTrue("throw_NOT_FOUND_ERR",success); + } + +} + + + + +function runTest() { + hc_nodereplacechildoldchildnonexistent(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodetextnodeattribute.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodetextnodeattribute.js new file mode 100644 index 0000000..fd1f751 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodetextnodeattribute.js @@ -0,0 +1,118 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodetextnodeattribute"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "getAttributes()" method invoked on a Text +Node returns null. + +Retrieve the Text node from the last child of the +first employee and invoke the "getAttributes()" method +on the Text Node. It should return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1312295772 +*/ +function hc_nodetextnodeattribute() { + var success; + if(checkInitialization(builder, "hc_nodetextnodeattribute") != null) return; + var doc; + var elementList; + var testAddr; + var textNode; + var attrList; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddr = elementList.item(0); + textNode = testAddr.firstChild; + + attrList = textNode.attributes; + + assertNull("text_attributes_is_null",attrList); + +} + + + + +function runTest() { + hc_nodetextnodeattribute(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodetextnodename.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodetextnodename.js new file mode 100644 index 0000000..bad6607 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodetextnodename.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodetextnodename"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The string returned by the "getNodeName()" method for a + Text Node is "#text". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 +*/ +function hc_nodetextnodename() { + var success; + if(checkInitialization(builder, "hc_nodetextnodename") != null) return; + var doc; + var elementList; + var testAddr; + var textNode; + var textName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddr = elementList.item(0); + textNode = testAddr.firstChild; + + textName = textNode.nodeName; + + assertEquals("textNodeName","#text",textName); + +} + + + + +function runTest() { + hc_nodetextnodename(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodetextnodetype.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodetextnodetype.js new file mode 100644 index 0000000..43c358d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodetextnodetype.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodetextnodetype"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + + The "getNodeType()" method for a Text Node + + returns the constant value 3. + + + + Retrieve the Text node from the last child of + + the first employee and invoke the "getNodeType()" + + method. The method should return 3. + + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558 +*/ +function hc_nodetextnodetype() { + var success; + if(checkInitialization(builder, "hc_nodetextnodetype") != null) return; + var doc; + var elementList; + var testAddr; + var textNode; + var nodeType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddr = elementList.item(0); + textNode = testAddr.firstChild; + + nodeType = textNode.nodeType; + + assertEquals("nodeTextNodeTypeAssert1",3,nodeType); + +} + + + + +function runTest() { + hc_nodetextnodetype(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodetextnodevalue.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodetextnodevalue.js new file mode 100644 index 0000000..1a1ec4b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodetextnodevalue.js @@ -0,0 +1,118 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodetextnodevalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The string returned by the "getNodeValue()" method for a + Text Node is the content of the Text node. + + Retrieve the Text node from the last child of the first + employee and check the string returned by the + "getNodeValue()" method. It should be equal to + "1230 North Ave. Dallas, Texas 98551". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +*/ +function hc_nodetextnodevalue() { + var success; + if(checkInitialization(builder, "hc_nodetextnodevalue") != null) return; + var doc; + var elementList; + var testAddr; + var textNode; + var textValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddr = elementList.item(0); + textNode = testAddr.firstChild; + + textValue = textNode.nodeValue; + + assertEquals("textNodeValue","1230 North Ave. Dallas, Texas 98551",textValue); + +} + + + + +function runTest() { + hc_nodetextnodevalue(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodevalue01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodevalue01.js new file mode 100644 index 0000000..c632b22 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodevalue01.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodevalue01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +An element is created, setNodeValue is called with a non-null argument, but getNodeValue +should still return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#i-Document +*/ +function hc_nodevalue01() { + var success; + if(checkInitialization(builder, "hc_nodevalue01") != null) return; + var doc; + var newNode; + var newValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newNode = doc.createElement("acronym"); + newValue = newNode.nodeValue; + + assertNull("initiallyNull",newValue); + newNode.nodeValue = "This should have no effect"; + + newValue = newNode.nodeValue; + + assertNull("nullAfterAttemptedChange",newValue); + +} + + + + +function runTest() { + hc_nodevalue01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodevalue02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodevalue02.js new file mode 100644 index 0000000..80682b9 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodevalue02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodevalue02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +An comment is created, setNodeValue is called with a non-null argument, but getNodeValue +should still return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1728279322 +*/ +function hc_nodevalue02() { + var success; + if(checkInitialization(builder, "hc_nodevalue02") != null) return; + var doc; + var newNode; + var newValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newNode = doc.createComment("This is a new Comment node"); + newValue = newNode.nodeValue; + + assertEquals("initial","This is a new Comment node",newValue); + newNode.nodeValue = "This should have an effect"; + + newValue = newNode.nodeValue; + + assertEquals("afterChange","This should have an effect",newValue); + +} + + + + +function runTest() { + hc_nodevalue02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodevalue04.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodevalue04.js new file mode 100644 index 0000000..40ceb64 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodevalue04.js @@ -0,0 +1,132 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodevalue04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +An document type accessed, setNodeValue is called with a non-null argument, but getNodeValue +should still return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A31 +*/ +function hc_nodevalue04() { + var success; + if(checkInitialization(builder, "hc_nodevalue04") != null) return; + var doc; + var newNode; + var newValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newNode = doc.doctype; + + assertTrue("docTypeNotNullOrDocIsHTML", + + ( + (newNode != null) + || + (builder.contentType == "text/html") +) +); + + if( + + (newNode != null) + + ) { + assertNotNull("docTypeNotNull",newNode); +newValue = newNode.nodeValue; + + assertNull("initiallyNull",newValue); + newNode.nodeValue = "This should have no effect"; + + newValue = newNode.nodeValue; + + assertNull("nullAfterAttemptedChange",newValue); + + } + +} + + + + +function runTest() { + hc_nodevalue04(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodevalue05.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodevalue05.js new file mode 100644 index 0000000..34e2e33 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodevalue05.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodevalue05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +A document fragment is created, setNodeValue is called with a non-null argument, but getNodeValue +should still return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A3 +*/ +function hc_nodevalue05() { + var success; + if(checkInitialization(builder, "hc_nodevalue05") != null) return; + var doc; + var newNode; + var newValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newNode = doc.createDocumentFragment(); + newValue = newNode.nodeValue; + + assertNull("initiallyNull",newValue); + newNode.nodeValue = "This should have no effect"; + + newValue = newNode.nodeValue; + + assertNull("nullAfterAttemptedChange",newValue); + +} + + + + +function runTest() { + hc_nodevalue05(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodevalue06.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodevalue06.js new file mode 100644 index 0000000..6cb9ac7 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodevalue06.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodevalue06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var newNodeRef = null; + if (typeof(this.newNode) != 'undefined') { + newNodeRef = this.newNode; + } + docsLoaded += preload(newNodeRef, "newNode", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +An document is accessed, setNodeValue is called with a non-null argument, but getNodeValue +should still return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#i-Document +*/ +function hc_nodevalue06() { + var success; + if(checkInitialization(builder, "hc_nodevalue06") != null) return; + var newNode; + var newValue; + + var newNodeRef = null; + if (typeof(this.newNode) != 'undefined') { + newNodeRef = this.newNode; + } + newNode = load(newNodeRef, "newNode", "hc_staff"); + newValue = newNode.nodeValue; + + assertNull("initiallyNull",newValue); + newNode.nodeValue = "This should have no effect"; + + newValue = newNode.nodeValue; + + assertNull("nullAfterAttemptedChange",newValue); + +} + + + + +function runTest() { + hc_nodevalue06(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodevalue07.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodevalue07.js new file mode 100644 index 0000000..867a682 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodevalue07.js @@ -0,0 +1,134 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodevalue07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + checkFeature("XML", null); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +An Entity is accessed, setNodeValue is called with a non-null argument, but getNodeValue +should still return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-527DCFF2 +*/ +function hc_nodevalue07() { + var success; + if(checkInitialization(builder, "hc_nodevalue07") != null) return; + var doc; + var newNode; + var newValue; + var nodeMap; + var docType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + docType = doc.doctype; + + + if( + + !( + (builder.contentType == "text/html") +) + + ) { + assertNotNull("docTypeNotNull",docType); +nodeMap = docType.entities; + + assertNotNull("entitiesNotNull",nodeMap); +newNode = nodeMap.getNamedItem("alpha"); + assertNotNull("entityNotNull",newNode); +newValue = newNode.nodeValue; + + assertNull("initiallyNull",newValue); + newNode.nodeValue = "This should have no effect"; + + newValue = newNode.nodeValue; + + assertNull("nullAfterAttemptedChange",newValue); + + } + +} + + + + +function runTest() { + hc_nodevalue07(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodevalue08.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodevalue08.js new file mode 100644 index 0000000..6bbab84 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodevalue08.js @@ -0,0 +1,134 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodevalue08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + checkFeature("XML", null); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +An notation is accessed, setNodeValue is called with a non-null argument, but getNodeValue +should still return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-5431D1B9 +*/ +function hc_nodevalue08() { + var success; + if(checkInitialization(builder, "hc_nodevalue08") != null) return; + var doc; + var docType; + var newNode; + var newValue; + var nodeMap; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + docType = doc.doctype; + + + if( + + !( + (builder.contentType == "text/html") +) + + ) { + assertNotNull("docTypeNotNull",docType); +nodeMap = docType.notations; + + assertNotNull("notationsNotNull",nodeMap); +newNode = nodeMap.getNamedItem("notation1"); + assertNotNull("notationNotNull",newNode); +newValue = newNode.nodeValue; + + assertNull("initiallyNull",newValue); + newNode.nodeValue = "This should have no effect"; + + newValue = newNode.nodeValue; + + assertNull("nullAfterAttemptedChange",newValue); + + } + +} + + + + +function runTest() { + hc_nodevalue08(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_notationsremovenameditem1.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_notationsremovenameditem1.js new file mode 100644 index 0000000..28d3cc6 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_notationsremovenameditem1.js @@ -0,0 +1,133 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_notationsremovenameditem1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + checkFeature("XML", null); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +An attempt to add remove an notation should result in a NO_MODIFICATION_ERR. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D46829EF +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D58B193 +*/ +function hc_notationsremovenameditem1() { + var success; + if(checkInitialization(builder, "hc_notationsremovenameditem1") != null) return; + var doc; + var notations; + var docType; + var retval; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + docType = doc.doctype; + + + if( + + !( + (builder.contentType == "text/html") +) + + ) { + assertNotNull("docTypeNotNull",docType); +notations = docType.notations; + + assertNotNull("notationsNotNull",notations); + + { + success = false; + try { + retval = notations.removeNamedItem("notation1"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 7); + } + assertTrue("throw_NO_MODIFICATION_ALLOWED_ERR",success); + } + + } + +} + + + + +function runTest() { + hc_notationsremovenameditem1(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_notationssetnameditem1.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_notationssetnameditem1.js new file mode 100644 index 0000000..0ae1333 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_notationssetnameditem1.js @@ -0,0 +1,144 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_notationssetnameditem1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + checkFeature("XML", null); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +An attempt to add an element to the named node map returned by notations should +result in a NO_MODIFICATION_ERR or HIERARCHY_REQUEST_ERR. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D46829EF +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788 +*/ +function hc_notationssetnameditem1() { + var success; + if(checkInitialization(builder, "hc_notationssetnameditem1") != null) return; + var doc; + var notations; + var docType; + var retval; + var elem; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + docType = doc.doctype; + + + if( + + !( + (builder.contentType == "text/html") +) + + ) { + assertNotNull("docTypeNotNull",docType); +notations = docType.notations; + + assertNotNull("notationsNotNull",notations); +elem = doc.createElement("br"); + + try { + retval = notations.setNamedItem(elem); + fail("throw_HIER_OR_NO_MOD_ERR"); + + } catch (ex) { + if (typeof(ex.code) != 'undefined') { + switch(ex.code) { + case /* HIERARCHY_REQUEST_ERR */ 3 : + break; + case /* NO_MODIFICATION_ALLOWED_ERR */ 7 : + break; + default: + throw ex; + } + } else { + throw ex; + } + } + + } + +} + + + + +function runTest() { + hc_notationssetnameditem1(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerrnegativeoffset.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerrnegativeoffset.js new file mode 100644 index 0000000..965648b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerrnegativeoffset.js @@ -0,0 +1,130 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_textindexsizeerrnegativeoffset"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + setImplementationAttribute("signed", true); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "splitText(offset)" method raises an + INDEX_SIZE_ERR DOMException if the specified offset is + negative. + + Retrieve the textual data from the second child of the + third employee and invoke the "splitText(offset)" method. + The desired exception should be raised since the offset + is a negative number. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-38853C1D +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-38853C1D')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) +*/ +function hc_textindexsizeerrnegativeoffset() { + var success; + if(checkInitialization(builder, "hc_textindexsizeerrnegativeoffset") != null) return; + var doc; + var elementList; + var nameNode; + var textNode; + var splitNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(2); + textNode = nameNode.firstChild; + + + { + success = false; + try { + splitNode = textNode.splitText(-69); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 1); + } + assertTrue("throws_INDEX_SIZE_ERR",success); + } + +} + + + + +function runTest() { + hc_textindexsizeerrnegativeoffset(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerroffsetoutofbounds.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerroffsetoutofbounds.js new file mode 100644 index 0000000..170d435 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerroffsetoutofbounds.js @@ -0,0 +1,131 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_textindexsizeerroffsetoutofbounds"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "splitText(offset)" method raises an + INDEX_SIZE_ERR DOMException if the specified offset is + greater than the number of characters in the Text node. + + Retrieve the textual data from the second child of the + third employee and invoke the "splitText(offset)" method. + The desired exception should be raised since the offset + is a greater than the number of characters in the Text + node. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-38853C1D +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-38853C1D')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_textindexsizeerroffsetoutofbounds() { + var success; + if(checkInitialization(builder, "hc_textindexsizeerroffsetoutofbounds") != null) return; + var doc; + var elementList; + var nameNode; + var textNode; + var splitNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(2); + textNode = nameNode.firstChild; + + + { + success = false; + try { + splitNode = textNode.splitText(300); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 1); + } + assertTrue("throw_INDEX_SIZE_ERR",success); + } + +} + + + + +function runTest() { + hc_textindexsizeerroffsetoutofbounds(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_textparseintolistofelements.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_textparseintolistofelements.js new file mode 100644 index 0000000..71d362f --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_textparseintolistofelements.js @@ -0,0 +1,169 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_textparseintolistofelements"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the textual data from the last child of the + second employee. That node is composed of two + EntityReference nodes and two Text nodes. After + the content node is parsed, the "acronym" Element + should contain four children with each one of the + EntityReferences containing one child. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1451460987 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-11C98490 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-745549614 +*/ +function hc_textparseintolistofelements() { + var success; + if(checkInitialization(builder, "hc_textparseintolistofelements") != null) return; + var doc; + var elementList; + var addressNode; + var childList; + var child; + var value; + var grandChild; + var length; + var result = new Array(); + + expectedNormal = new Array(); + expectedNormal[0] = "β"; + expectedNormal[1] = " Dallas, "; + expectedNormal[2] = "γ"; + expectedNormal[3] = "\n 98554"; + + expectedExpanded = new Array(); + expectedExpanded[0] = "β Dallas, γ\n 98554"; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + addressNode = elementList.item(1); + childList = addressNode.childNodes; + + length = childList.length; + + for(var indexN1007C = 0;indexN1007C < childList.length; indexN1007C++) { + child = childList.item(indexN1007C); + value = child.nodeValue; + + + if( + + (value == null) + + ) { + grandChild = child.firstChild; + + assertNotNull("grandChildNotNull",grandChild); +value = grandChild.nodeValue; + + result[result.length] = value; + + } + + else { + result[result.length] = value; + + } + + } + + if( + (1 == length) + ) { + assertEqualsList("assertEqCoalescing",expectedExpanded,result); + + } + + else { + assertEqualsList("assertEqNormal",expectedNormal,result); + + } + +} + + + + +function runTest() { + hc_textparseintolistofelements(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_textsplittextfour.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_textsplittextfour.js new file mode 100644 index 0000000..ece64c2 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_textsplittextfour.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_textsplittextfour"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "splitText(offset)" method returns the new Text node. + + Retrieve the textual data from the last child of the + first employee and invoke the "splitText(offset)" method. + The method should return the new Text node. The offset + value used for this test is 30. The "getNodeValue()" + method is called to check that the new node now contains + the characters at and after position 30. + (Starting count at 0) + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-38853C1D +*/ +function hc_textsplittextfour() { + var success; + if(checkInitialization(builder, "hc_textsplittextfour") != null) return; + var doc; + var elementList; + var addressNode; + var textNode; + var splitNode; + var value; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + addressNode = elementList.item(0); + textNode = addressNode.firstChild; + + splitNode = textNode.splitText(30); + value = splitNode.nodeValue; + + assertEquals("textSplitTextFourAssert","98551",value); + +} + + + + +function runTest() { + hc_textsplittextfour(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_textsplittextone.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_textsplittextone.js new file mode 100644 index 0000000..2e089c5 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_textsplittextone.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_textsplittextone"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "splitText(offset)" method breaks the Text node into + two Text nodes at the specified offset keeping each node + as siblings in the tree. + + Retrieve the textual data from the second child of the + third employee and invoke the "splitText(offset)" method. + The method splits the Text node into two new sibling + Text nodes keeping both of them in the tree. This test + checks the "nextSibling()" method of the original node + to ensure that the two nodes are indeed siblings. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-38853C1D +*/ +function hc_textsplittextone() { + var success; + if(checkInitialization(builder, "hc_textsplittextone") != null) return; + var doc; + var elementList; + var nameNode; + var textNode; + var splitNode; + var secondPart; + var value; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(2); + textNode = nameNode.firstChild; + + splitNode = textNode.splitText(7); + secondPart = textNode.nextSibling; + + value = secondPart.nodeValue; + + assertEquals("textSplitTextOneAssert","Jones",value); + +} + + + + +function runTest() { + hc_textsplittextone(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_textsplittextthree.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_textsplittextthree.js new file mode 100644 index 0000000..6992628 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_textsplittextthree.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_textsplittextthree"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + After the "splitText(offset)" method breaks the Text node + into two Text nodes, the new Text node contains all the + content at and after the offset point. + + Retrieve the textual data from the second child of the + third employee and invoke the "splitText(offset)" method. + The new Text node should contain all the content + at and after the offset point. The "getNodeValue()" + method is called to check that the new node now contains + the characters at and after position seven. + (Starting count at 0) + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-38853C1D +*/ +function hc_textsplittextthree() { + var success; + if(checkInitialization(builder, "hc_textsplittextthree") != null) return; + var doc; + var elementList; + var nameNode; + var textNode; + var splitNode; + var value; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(2); + textNode = nameNode.firstChild; + + splitNode = textNode.splitText(6); + value = splitNode.nodeValue; + + assertEquals("textSplitTextThreeAssert"," Jones",value); + +} + + + + +function runTest() { + hc_textsplittextthree(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_textsplittexttwo.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_textsplittexttwo.js new file mode 100644 index 0000000..8778694 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_textsplittexttwo.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_textsplittexttwo"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + After the "splitText(offset)" method breaks the Text node + into two Text nodes, the original node contains all the + content up to the offset point. + + Retrieve the textual data from the second child of the + third employee and invoke the "splitText(offset)" method. + The original Text node should contain all the content + up to the offset point. The "getNodeValue()" method + is called to check that the original node now contains + the first five characters. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-38853C1D +*/ +function hc_textsplittexttwo() { + var success; + if(checkInitialization(builder, "hc_textsplittexttwo") != null) return; + var doc; + var elementList; + var nameNode; + var textNode; + var splitNode; + var value; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(2); + textNode = nameNode.firstChild; + + splitNode = textNode.splitText(5); + value = textNode.nodeValue; + + assertEquals("textSplitTextTwoAssert","Roger",value); + +} + + + + +function runTest() { + hc_textsplittexttwo(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_textwithnomarkup.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_textwithnomarkup.js new file mode 100644 index 0000000..2b3bae9 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_textwithnomarkup.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_textwithnomarkup"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If there is not any markup inside an Element or Attr node + content, then the text is contained in a single object + implementing the Text interface that is the only child + of the element. + + Retrieve the textual data from the second child of the + third employee. That Text node contains a block of + multiple text lines without markup, so they should be + treated as a single Text node. The "getNodeValue()" + method should contain the combination of the two lines. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1312295772 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +*/ +function hc_textwithnomarkup() { + var success; + if(checkInitialization(builder, "hc_textwithnomarkup") != null) return; + var doc; + var elementList; + var nameNode; + var nodeV; + var value; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(2); + nodeV = nameNode.firstChild; + + value = nodeV.nodeValue; + + assertEquals("textWithNoMarkupAssert","Roger\n Jones",value); + +} + + + + +function runTest() { + hc_textwithnomarkup(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref.js new file mode 100644 index 0000000..ce7e127 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref.js @@ -0,0 +1,143 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/documentinvalidcharacterexceptioncreateentref"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + checkFeature("XML", null); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "createEntityReference(tagName)" method raises an + INVALID_CHARACTER_ERR DOMException if the specified + tagName contains an invalid character. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-392B75AE +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-392B75AE')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function documentinvalidcharacterexceptioncreateentref() { + var success; + if(checkInitialization(builder, "documentinvalidcharacterexceptioncreateentref") != null) return; + var doc; + var badEntityRef; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + + if( + + (builder.contentType == "text/html") + + ) { + + { + success = false; + try { + badEntityRef = doc.createEntityReference("foo"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 9); + } + assertTrue("throw_NOT_SUPPORTED_ERR",success); + } + + } + + else { + + { + success = false; + try { + badEntityRef = doc.createEntityReference("invalid^Name"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 5); + } + assertTrue("throw_INVALID_CHARACTER_ERR",success); + } + + } + +} + + + + +function runTest() { + documentinvalidcharacterexceptioncreateentref(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref1.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref1.js new file mode 100644 index 0000000..b4d1ec9 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref1.js @@ -0,0 +1,140 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/documentinvalidcharacterexceptioncreateentref1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + checkFeature("XML", null); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Creating an entity reference with an empty name should cause an INVALID_CHARACTER_ERR. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-392B75AE +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-392B75AE')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=525 +*/ +function documentinvalidcharacterexceptioncreateentref1() { + var success; + if(checkInitialization(builder, "documentinvalidcharacterexceptioncreateentref1") != null) return; + var doc; + var badEntityRef; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + + if( + + (builder.contentType == "text/html") + + ) { + + { + success = false; + try { + badEntityRef = doc.createEntityReference("foo"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 9); + } + assertTrue("throw_NOT_SUPPORTED_ERR",success); + } + + } + + else { + + { + success = false; + try { + badEntityRef = doc.createEntityReference(""); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 5); + } + assertTrue("throw_INVALID_CHARACTER_ERR",success); + } + + } + +} + + + + +function runTest() { + documentinvalidcharacterexceptioncreateentref1(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild1.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild1.js new file mode 100644 index 0000000..0bb0ad9 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild1.js @@ -0,0 +1,132 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrappendchild1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Appends a text node to an attribute and checks if the value of +the attribute is changed. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +*/ +function hc_attrappendchild1() { + var success; + if(checkInitialization(builder, "hc_attrappendchild1") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var lastChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + textNode = doc.createTextNode("terday"); + retval = titleAttr.appendChild(textNode); + value = titleAttr.value; + + assertEquals("attrValue","Yesterday",value); + value = titleAttr.nodeValue; + + assertEquals("attrNodeValue","Yesterday",value); + value = retval.nodeValue; + + assertEquals("retvalValue","terday",value); + lastChild = titleAttr.lastChild; + + value = lastChild.nodeValue; + + assertEquals("lastChildValue","terday",value); + +} + + + + +function runTest() { + hc_attrappendchild1(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild2.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild2.js new file mode 100644 index 0000000..ac53896 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild2.js @@ -0,0 +1,127 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrappendchild2"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Attempts to append an element to the child nodes of an attribute. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +*/ +function hc_attrappendchild2() { + var success; + if(checkInitialization(builder, "hc_attrappendchild2") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var newChild; + var retval; + var lastChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + newChild = doc.createElement("terday"); + + { + success = false; + try { + retval = titleAttr.appendChild(newChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 3); + } + assertTrue("throw_HIERARCHY_REQUEST_ERR",success); + } + +} + + + + +function runTest() { + hc_attrappendchild2(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild3.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild3.js new file mode 100644 index 0000000..66adc3d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild3.js @@ -0,0 +1,138 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrappendchild3"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Appends a document fragment to an attribute and checks if the value of +the attribute is changed. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +*/ +function hc_attrappendchild3() { + var success; + if(checkInitialization(builder, "hc_attrappendchild3") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var terNode; + var dayNode; + var retval; + var lastChild; + var docFrag; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + terNode = doc.createTextNode("ter"); + dayNode = doc.createTextNode("day"); + docFrag = doc.createDocumentFragment(); + retval = docFrag.appendChild(terNode); + retval = docFrag.appendChild(dayNode); + retval = titleAttr.appendChild(docFrag); + value = titleAttr.value; + + assertEquals("attrValue","Yesterday",value); + value = titleAttr.nodeValue; + + assertEquals("attrNodeValue","Yesterday",value); + value = retval.nodeValue; + + assertNull("retvalValue",value); + lastChild = titleAttr.lastChild; + + value = lastChild.nodeValue; + + assertEquals("lastChildValue","day",value); + +} + + + + +function runTest() { + hc_attrappendchild3(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild4.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild4.js new file mode 100644 index 0000000..dc70102 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild4.js @@ -0,0 +1,152 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrappendchild4"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + checkFeature("XML", null); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Attempt to append a CDATASection to an attribute which should result +in a HIERARCHY_REQUEST_ERR. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +*/ +function hc_attrappendchild4() { + var success; + if(checkInitialization(builder, "hc_attrappendchild4") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var lastChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + + if( + + (builder.contentType == "text/html") + + ) { + + { + success = false; + try { + textNode = doc.createCDATASection("terday"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 9); + } + assertTrue("throw_NOT_SUPPORTED_ERR",success); + } + + } + + else { + textNode = doc.createCDATASection("terday"); + + { + success = false; + try { + retval = titleAttr.appendChild(textNode); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 3); + } + assertTrue("throw_HIERARCHY_REQUEST_ERR",success); + } + + } + +} + + + + +function runTest() { + hc_attrappendchild4(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild5.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild5.js new file mode 100644 index 0000000..c9e8855 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild5.js @@ -0,0 +1,141 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrappendchild5"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + var otherDocRef = null; + if (typeof(this.otherDoc) != 'undefined') { + otherDocRef = this.otherDoc; + } + docsLoaded += preload(otherDocRef, "otherDoc", "hc_staff"); + + if (docsLoaded == 2) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 2) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Attempt to append a node from another document to an attribute which should result +in a WRONG_DOCUMENT_ERR. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +*/ +function hc_attrappendchild5() { + var success; + if(checkInitialization(builder, "hc_attrappendchild5") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var lastChild; + var otherDoc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + + var otherDocRef = null; + if (typeof(this.otherDoc) != 'undefined') { + otherDocRef = this.otherDoc; + } + otherDoc = load(otherDocRef, "otherDoc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + textNode = otherDoc.createTextNode("terday"); + + { + success = false; + try { + retval = titleAttr.appendChild(textNode); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 4); + } + assertTrue("throw_WRONG_DOCUMENT_ERR",success); + } + +} + + + + +function runTest() { + hc_attrappendchild5(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild6.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild6.js new file mode 100644 index 0000000..01b3d80 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild6.js @@ -0,0 +1,127 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrappendchild6"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Creates an new attribute node and appends a text node. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +*/ +function hc_attrappendchild6() { + var success; + if(checkInitialization(builder, "hc_attrappendchild6") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var lastChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + titleAttr = doc.createAttribute("title"); + textNode = doc.createTextNode("Yesterday"); + retval = titleAttr.appendChild(textNode); + value = titleAttr.value; + + assertEquals("attrValue","Yesterday",value); + value = titleAttr.nodeValue; + + assertEquals("attrNodeValue","Yesterday",value); + value = retval.nodeValue; + + assertEquals("retvalValue","Yesterday",value); + lastChild = titleAttr.lastChild; + + value = lastChild.nodeValue; + + assertEquals("lastChildValue","Yesterday",value); + +} + + + + +function runTest() { + hc_attrappendchild6(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes1.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes1.js new file mode 100644 index 0000000..ac088f4 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes1.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrchildnodes1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Checks that Node.childNodes for an attribute node contains +the expected text node. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1451460987 +*/ +function hc_attrchildnodes1() { + var success; + if(checkInitialization(builder, "hc_attrchildnodes1") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var childNodes; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + childNodes = titleAttr.childNodes; + + assertSize("childNodesSize",1,childNodes); +textNode = childNodes.item(0); + value = textNode.nodeValue; + + assertEquals("child1IsYes","Yes",value); + textNode = childNodes.item(1); + assertNull("secondItemIsNull",textNode); + +} + + + + +function runTest() { + hc_attrchildnodes1(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes2.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes2.js new file mode 100644 index 0000000..c6c6cd5 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes2.js @@ -0,0 +1,130 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrchildnodes2"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Checks Node.childNodes for an attribute with multiple child nodes. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1451460987 +*/ +function hc_attrchildnodes2() { + var success; + if(checkInitialization(builder, "hc_attrchildnodes2") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var childNodes; + var retval; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + childNodes = titleAttr.childNodes; + + textNode = doc.createTextNode("terday"); + retval = titleAttr.appendChild(textNode); + assertSize("childNodesSize",2,childNodes); +textNode = childNodes.item(0); + value = textNode.nodeValue; + + assertEquals("child1IsYes","Yes",value); + textNode = childNodes.item(1); + value = textNode.nodeValue; + + assertEquals("child2IsTerday","terday",value); + textNode = childNodes.item(2); + assertNull("thirdItemIsNull",textNode); + +} + + + + +function runTest() { + hc_attrchildnodes2(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrclonenode1.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrclonenode1.js new file mode 100644 index 0000000..7667e85 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrclonenode1.js @@ -0,0 +1,132 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrclonenode1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Appends a text node to an attribute and clones the node. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3A0ED0A4 +*/ +function hc_attrclonenode1() { + var success; + if(checkInitialization(builder, "hc_attrclonenode1") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var lastChild; + var clonedTitle; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + textNode = doc.createTextNode("terday"); + retval = titleAttr.appendChild(textNode); + clonedTitle = titleAttr.cloneNode(false); + textNode.nodeValue = "text_node_not_cloned"; + + value = clonedTitle.value; + + assertEquals("attrValue","Yesterday",value); + value = clonedTitle.nodeValue; + + assertEquals("attrNodeValue","Yesterday",value); + lastChild = clonedTitle.lastChild; + + value = lastChild.nodeValue; + + assertEquals("lastChildValue","terday",value); + +} + + + + +function runTest() { + hc_attrclonenode1(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatedocumentfragment.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatedocumentfragment.js new file mode 100644 index 0000000..b35e00f --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatedocumentfragment.js @@ -0,0 +1,138 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrcreatedocumentfragment"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Create a new DocumentFragment and add a newly created Element node(with one attribute). + Once the element is added, its attribute should be available as an attribute associated + with an Element within a DocumentFragment. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-35CB04B5 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68F082 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A3 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=184 +*/ +function hc_attrcreatedocumentfragment() { + var success; + if(checkInitialization(builder, "hc_attrcreatedocumentfragment") != null) return; + var doc; + var docFragment; + var newOne; + var domesticNode; + var attributes; + var attribute; + var attrName; + var appendedChild; + var langAttrCount = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + docFragment = doc.createDocumentFragment(); + newOne = doc.createElement("html"); + newOne.setAttribute("lang","EN"); + appendedChild = docFragment.appendChild(newOne); + domesticNode = docFragment.firstChild; + + attributes = domesticNode.attributes; + + for(var indexN10078 = 0;indexN10078 < attributes.length; indexN10078++) { + attribute = attributes.item(indexN10078); + attrName = attribute.nodeName; + + + if( + equalsAutoCase("attribute", "lang", attrName) + ) { + langAttrCount += 1; + + } + + } + assertEquals("hasLangAttr",1,langAttrCount); + +} + + + + +function runTest() { + hc_attrcreatedocumentfragment(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode.js new file mode 100644 index 0000000..0298426 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode.js @@ -0,0 +1,127 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrcreatetextnode"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "setValue()" method for an attribute creates a + Text node with the unparsed content of the string. + Retrieve the attribute named "class" from the last + child of of the fourth employee and assign the "Y&ent1;" + string to its value attribute. This value is not yet + parsed and therefore should still be the same upon + retrieval. This test uses the "getNamedItem(name)" method + from the NamedNodeMap interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-221662474 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2002Apr/0057.html +*/ +function hc_attrcreatetextnode() { + var success; + if(checkInitialization(builder, "hc_attrcreatetextnode") != null) return; + var doc; + var addressList; + var testNode; + var attributes; + var streetAttr; + var value; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + addressList = doc.getElementsByTagName("acronym"); + testNode = addressList.item(3); + attributes = testNode.attributes; + + streetAttr = attributes.getNamedItem("class"); + streetAttr.value = "Y&ent1;"; + + value = streetAttr.value; + + assertEquals("value","Y&ent1;",value); + value = streetAttr.nodeValue; + + assertEquals("nodeValue","Y&ent1;",value); + +} + + + + +function runTest() { + hc_attrcreatetextnode(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode2.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode2.js new file mode 100644 index 0000000..bfa0d05 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode2.js @@ -0,0 +1,127 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrcreatetextnode2"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "setNodeValue()" method for an attribute creates a + Text node with the unparsed content of the string. + Retrieve the attribute named "class" from the last + child of of the fourth employee and assign the "Y&ent1;" + string to its value attribute. This value is not yet + parsed and therefore should still be the same upon + retrieval. This test uses the "getNamedItem(name)" method + from the NamedNodeMap interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2002Apr/0057.html +*/ +function hc_attrcreatetextnode2() { + var success; + if(checkInitialization(builder, "hc_attrcreatetextnode2") != null) return; + var doc; + var addressList; + var testNode; + var attributes; + var streetAttr; + var value; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + addressList = doc.getElementsByTagName("acronym"); + testNode = addressList.item(3); + attributes = testNode.attributes; + + streetAttr = attributes.getNamedItem("class"); + streetAttr.nodeValue = "Y&ent1;"; + + value = streetAttr.value; + + assertEquals("value","Y&ent1;",value); + value = streetAttr.nodeValue; + + assertEquals("nodeValue","Y&ent1;",value); + +} + + + + +function runTest() { + hc_attrcreatetextnode2(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attreffectivevalue.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attreffectivevalue.js new file mode 100644 index 0000000..89a41c0 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attreffectivevalue.js @@ -0,0 +1,118 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attreffectivevalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If an Attr is explicitly assigned any value, then that value is the attributes effective value. + Retrieve the attribute named "domestic" from the last child of of the first employee + and examine its nodeValue attribute. This test uses the "getNamedItem(name)" method + from the NamedNodeMap interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1074577549 +*/ +function hc_attreffectivevalue() { + var success; + if(checkInitialization(builder, "hc_attreffectivevalue") != null) return; + var doc; + var addressList; + var testNode; + var attributes; + var domesticAttr; + var value; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + addressList = doc.getElementsByTagName("acronym"); + testNode = addressList.item(0); + attributes = testNode.attributes; + + domesticAttr = attributes.getNamedItem("title"); + value = domesticAttr.nodeValue; + + assertEquals("attrEffectiveValueAssert","Yes",value); + +} + + + + +function runTest() { + hc_attreffectivevalue(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrfirstchild.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrfirstchild.js new file mode 100644 index 0000000..68f8b52 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrfirstchild.js @@ -0,0 +1,127 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrfirstchild"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Checks that Node.firstChild for an attribute node contains +the expected text node. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-169727388 +*/ +function hc_attrfirstchild() { + var success; + if(checkInitialization(builder, "hc_attrfirstchild") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var otherChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + textNode = titleAttr.firstChild; + + assertNotNull("textNodeNotNull",textNode); +value = textNode.nodeValue; + + assertEquals("child1IsYes","Yes",value); + otherChild = textNode.nextSibling; + + assertNull("nextSiblingIsNull",otherChild); + otherChild = textNode.previousSibling; + + assertNull("previousSiblingIsNull",otherChild); + +} + + + + +function runTest() { + hc_attrfirstchild(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue1.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue1.js new file mode 100644 index 0000000..9ee328c --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue1.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrgetvalue1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Checks the value of an attribute that contains entity references. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-221662474 +*/ +function hc_attrgetvalue1() { + var success; + if(checkInitialization(builder, "hc_attrgetvalue1") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var lastChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("class"); + value = titleAttr.value; + + assertEquals("attrValue1","Yα",value); + +} + + + + +function runTest() { + hc_attrgetvalue1(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue2.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue2.js new file mode 100644 index 0000000..94cc2ae --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue2.js @@ -0,0 +1,146 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrgetvalue2"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + checkFeature("XML", null); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Checks the value of an attribute that contains entity references. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-221662474 +*/ +function hc_attrgetvalue2() { + var success; + if(checkInitialization(builder, "hc_attrgetvalue2") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var firstChild; + var alphaRef; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("class"); + + if( + + (builder.contentType == "text/html") + + ) { + + { + success = false; + try { + alphaRef = doc.createEntityReference("alpha"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 9); + } + assertTrue("throw_NOT_SUPPORTED_ERR",success); + } + + } + + else { + alphaRef = doc.createEntityReference("alpha"); + firstChild = titleAttr.firstChild; + + retval = titleAttr.insertBefore(alphaRef,firstChild); + value = titleAttr.value; + + assertEquals("attrValue1","αYα",value); + + } + +} + + + + +function runTest() { + hc_attrgetvalue2(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrhaschildnodes.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrhaschildnodes.js new file mode 100644 index 0000000..71487c3 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrhaschildnodes.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrhaschildnodes"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Checks that Node.hasChildNodes() is true for an attribute with content. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-810594187 +*/ +function hc_attrhaschildnodes() { + var success; + if(checkInitialization(builder, "hc_attrhaschildnodes") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var hasChildNodes; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + hasChildNodes = titleAttr.hasChildNodes(); + assertTrue("hasChildrenIsTrue",hasChildNodes); + +} + + + + +function runTest() { + hc_attrhaschildnodes(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore1.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore1.js new file mode 100644 index 0000000..89aa99e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore1.js @@ -0,0 +1,140 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrinsertbefore1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Appends a text node to an attribute and checks if the value of +the attribute is changed. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +*/ +function hc_attrinsertbefore1() { + var success; + if(checkInitialization(builder, "hc_attrinsertbefore1") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var firstChild; + var lastChild; + var refChild = null; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + textNode = doc.createTextNode("terday"); + retval = titleAttr.insertBefore(textNode,refChild); + value = titleAttr.value; + + assertEquals("attrValue","Yesterday",value); + value = titleAttr.nodeValue; + + assertEquals("attrNodeValue","Yesterday",value); + value = retval.nodeValue; + + assertEquals("retvalValue","terday",value); + firstChild = titleAttr.firstChild; + + value = firstChild.nodeValue; + + assertEquals("firstChildValue","Yes",value); + lastChild = titleAttr.lastChild; + + value = lastChild.nodeValue; + + assertEquals("lastChildValue","terday",value); + +} + + + + +function runTest() { + hc_attrinsertbefore1(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore2.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore2.js new file mode 100644 index 0000000..cc4f50e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore2.js @@ -0,0 +1,141 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrinsertbefore2"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Prepends a text node to an attribute and checks if the value of +the attribute is changed. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +*/ +function hc_attrinsertbefore2() { + var success; + if(checkInitialization(builder, "hc_attrinsertbefore2") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var lastChild; + var firstChild; + var refChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + textNode = doc.createTextNode("terday"); + refChild = titleAttr.firstChild; + + retval = titleAttr.insertBefore(textNode,refChild); + value = titleAttr.value; + + assertEquals("attrValue","terdayYes",value); + value = titleAttr.nodeValue; + + assertEquals("attrNodeValue","terdayYes",value); + value = retval.nodeValue; + + assertEquals("retvalValue","terday",value); + firstChild = titleAttr.firstChild; + + value = firstChild.nodeValue; + + assertEquals("firstChildValue","terday",value); + lastChild = titleAttr.lastChild; + + value = lastChild.nodeValue; + + assertEquals("lastChildValue","Yes",value); + +} + + + + +function runTest() { + hc_attrinsertbefore2(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore3.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore3.js new file mode 100644 index 0000000..3cb24cd --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore3.js @@ -0,0 +1,146 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrinsertbefore3"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Appends a document fragment to an attribute and checks if the value of +the attribute is changed. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +*/ +function hc_attrinsertbefore3() { + var success; + if(checkInitialization(builder, "hc_attrinsertbefore3") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var terNode; + var dayNode; + var docFrag; + var retval; + var firstChild; + var lastChild; + var refChild = null; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + terNode = doc.createTextNode("ter"); + dayNode = doc.createTextNode("day"); + docFrag = doc.createDocumentFragment(); + retval = docFrag.appendChild(terNode); + retval = docFrag.appendChild(dayNode); + retval = titleAttr.insertBefore(docFrag,refChild); + value = titleAttr.value; + + assertEquals("attrValue","Yesterday",value); + value = titleAttr.nodeValue; + + assertEquals("attrNodeValue","Yesterday",value); + value = retval.nodeValue; + + assertNull("retvalValue",value); + firstChild = titleAttr.firstChild; + + value = firstChild.nodeValue; + + assertEquals("firstChildValue","Yes",value); + lastChild = titleAttr.lastChild; + + value = lastChild.nodeValue; + + assertEquals("lastChildValue","day",value); + +} + + + + +function runTest() { + hc_attrinsertbefore3(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore4.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore4.js new file mode 100644 index 0000000..700e61d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore4.js @@ -0,0 +1,147 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrinsertbefore4"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Prepends a document fragment to an attribute and checks if the value of +the attribute is changed. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +*/ +function hc_attrinsertbefore4() { + var success; + if(checkInitialization(builder, "hc_attrinsertbefore4") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var terNode; + var dayNode; + var docFrag; + var retval; + var firstChild; + var lastChild; + var refChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + terNode = doc.createTextNode("ter"); + dayNode = doc.createTextNode("day"); + docFrag = doc.createDocumentFragment(); + retval = docFrag.appendChild(terNode); + retval = docFrag.appendChild(dayNode); + refChild = titleAttr.firstChild; + + retval = titleAttr.insertBefore(docFrag,refChild); + value = titleAttr.value; + + assertEquals("attrValue","terdayYes",value); + value = titleAttr.nodeValue; + + assertEquals("attrNodeValue","terdayYes",value); + value = retval.nodeValue; + + assertNull("retvalValue",value); + firstChild = titleAttr.firstChild; + + value = firstChild.nodeValue; + + assertEquals("firstChildValue","ter",value); + lastChild = titleAttr.lastChild; + + value = lastChild.nodeValue; + + assertEquals("lastChildValue","Yes",value); + +} + + + + +function runTest() { + hc_attrinsertbefore4(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore5.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore5.js new file mode 100644 index 0000000..a9737ed --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore5.js @@ -0,0 +1,153 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrinsertbefore5"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + checkFeature("XML", null); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Attempt to append a CDATASection to an attribute which should result +in a HIERARCHY_REQUEST_ERR. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +*/ +function hc_attrinsertbefore5() { + var success; + if(checkInitialization(builder, "hc_attrinsertbefore5") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var refChild = null; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + + if( + + (builder.contentType == "text/html") + + ) { + + { + success = false; + try { + textNode = doc.createCDATASection("terday"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 9); + } + assertTrue("throw_NOT_SUPPORTED_ERR",success); + } + + } + + else { + textNode = doc.createCDATASection("terday"); + + { + success = false; + try { + retval = titleAttr.insertBefore(textNode,refChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 3); + } + assertTrue("throw_HIERARCHY_REQUEST_ERR",success); + } + + } + +} + + + + +function runTest() { + hc_attrinsertbefore5(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore6.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore6.js new file mode 100644 index 0000000..dc04f62 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore6.js @@ -0,0 +1,142 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrinsertbefore6"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + var otherDocRef = null; + if (typeof(this.otherDoc) != 'undefined') { + otherDocRef = this.otherDoc; + } + docsLoaded += preload(otherDocRef, "otherDoc", "hc_staff"); + + if (docsLoaded == 2) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 2) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Attempt to append a text node from another document to an attribute which should result +in a WRONG_DOCUMENT_ERR. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +*/ +function hc_attrinsertbefore6() { + var success; + if(checkInitialization(builder, "hc_attrinsertbefore6") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var refChild = null; + + var otherDoc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + + var otherDocRef = null; + if (typeof(this.otherDoc) != 'undefined') { + otherDocRef = this.otherDoc; + } + otherDoc = load(otherDocRef, "otherDoc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + textNode = otherDoc.createTextNode("terday"); + + { + success = false; + try { + retval = titleAttr.insertBefore(textNode,refChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 4); + } + assertTrue("throw_WRONG_DOCUMENT_ERR",success); + } + +} + + + + +function runTest() { + hc_attrinsertbefore6(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore7.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore7.js new file mode 100644 index 0000000..f014502 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore7.js @@ -0,0 +1,160 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrinsertbefore7"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + checkFeature("XML", null); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Appends a document fragment containing a CDATASection to an attribute. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +*/ +function hc_attrinsertbefore7() { + var success; + if(checkInitialization(builder, "hc_attrinsertbefore7") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var terNode; + var dayNode; + var docFrag; + var retval; + var firstChild; + var lastChild; + var refChild = null; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + terNode = doc.createTextNode("ter"); + + if( + + (builder.contentType == "text/html") + + ) { + + { + success = false; + try { + dayNode = doc.createCDATASection("day"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 9); + } + assertTrue("throw_NOT_SUPPORTED_ERR",success); + } + + } + + else { + dayNode = doc.createCDATASection("day"); + docFrag = doc.createDocumentFragment(); + retval = docFrag.appendChild(terNode); + retval = docFrag.appendChild(dayNode); + + { + success = false; + try { + retval = titleAttr.insertBefore(docFrag,refChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 3); + } + assertTrue("throw_HIERARCHY_REQUEST_ERR",success); + } + + } + +} + + + + +function runTest() { + hc_attrinsertbefore7(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrlastchild.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrlastchild.js new file mode 100644 index 0000000..1df7342 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrlastchild.js @@ -0,0 +1,127 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrlastchild"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Checks that Node.lastChild for an attribute node contains +the expected text node. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-61AD09FB +*/ +function hc_attrlastchild() { + var success; + if(checkInitialization(builder, "hc_attrlastchild") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var otherChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + textNode = titleAttr.firstChild; + + assertNotNull("textNodeNotNull",textNode); +value = textNode.nodeValue; + + assertEquals("child1IsYes","Yes",value); + otherChild = textNode.nextSibling; + + assertNull("nextSiblingIsNull",otherChild); + otherChild = textNode.previousSibling; + + assertNull("previousSiblingIsNull",otherChild); + +} + + + + +function runTest() { + hc_attrlastchild(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrname.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrname.js new file mode 100644 index 0000000..890fae1 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrname.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrname"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the attribute named class from the last + child of of the second "p" element and examine its + NodeName. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1112119403 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html +*/ +function hc_attrname() { + var success; + if(checkInitialization(builder, "hc_attrname") != null) return; + var doc; + var addressList; + var testNode; + var attributes; + var streetAttr; + var strong1; + var strong2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + addressList = doc.getElementsByTagName("acronym"); + testNode = addressList.item(1); + attributes = testNode.attributes; + + streetAttr = attributes.getNamedItem("class"); + strong1 = streetAttr.nodeName; + + strong2 = streetAttr.name; + + assertEqualsAutoCase("attribute", "nodeName","class",strong1); + assertEqualsAutoCase("attribute", "name","class",strong2); + +} + + + + +function runTest() { + hc_attrname(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnextsiblingnull.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnextsiblingnull.js new file mode 100644 index 0000000..12fc9f9 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnextsiblingnull.js @@ -0,0 +1,118 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrnextsiblingnull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "getNextSibling()" method for an Attr node should return null. +Retrieve the attribute named "domestic" from the last child of of the +first employee and examine its NextSibling node. This test uses the +"getNamedItem(name)" method from the NamedNodeMap interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6AC54C2F +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +*/ +function hc_attrnextsiblingnull() { + var success; + if(checkInitialization(builder, "hc_attrnextsiblingnull") != null) return; + var doc; + var addressList; + var testNode; + var attributes; + var domesticAttr; + var s; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + addressList = doc.getElementsByTagName("acronym"); + testNode = addressList.item(0); + attributes = testNode.attributes; + + domesticAttr = attributes.getNamedItem("title"); + s = domesticAttr.nextSibling; + + assertNull("attrNextSiblingNullAssert",s); + +} + + + + +function runTest() { + hc_attrnextsiblingnull(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnormalize.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnormalize.js new file mode 100644 index 0000000..d9f5e29 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnormalize.js @@ -0,0 +1,133 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrnormalize"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Appends a text node to an attribute, normalizes the attribute +and checks for a single child node. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-162CF083 +*/ +function hc_attrnormalize() { + var success; + if(checkInitialization(builder, "hc_attrnormalize") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var firstChild; + var secondChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + textNode = doc.createTextNode("terday"); + retval = titleAttr.appendChild(textNode); + textNode = doc.createTextNode(""); + retval = titleAttr.appendChild(textNode); + testNode.normalize(); + value = titleAttr.nodeValue; + + assertEquals("attrNodeValue","Yesterday",value); + firstChild = titleAttr.firstChild; + + value = firstChild.nodeValue; + + assertEquals("firstChildValue","Yesterday",value); + secondChild = firstChild.nextSibling; + + assertNull("secondChildIsNull",secondChild); + +} + + + + +function runTest() { + hc_attrnormalize(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrparentnodenull.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrparentnodenull.js new file mode 100644 index 0000000..3c6a403 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrparentnodenull.js @@ -0,0 +1,118 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrparentnodenull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "getParentNode()" method for an Attr node should return null. Retrieve +the attribute named "domestic" from the last child of the first employee +and examine its parentNode attribute. This test also uses the "getNamedItem(name)" +method from the NamedNodeMap interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1060184317 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +*/ +function hc_attrparentnodenull() { + var success; + if(checkInitialization(builder, "hc_attrparentnodenull") != null) return; + var doc; + var addressList; + var testNode; + var attributes; + var domesticAttr; + var s; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + addressList = doc.getElementsByTagName("acronym"); + testNode = addressList.item(0); + attributes = testNode.attributes; + + domesticAttr = attributes.getNamedItem("title"); + s = domesticAttr.parentNode; + + assertNull("attrParentNodeNullAssert",s); + +} + + + + +function runTest() { + hc_attrparentnodenull(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrprevioussiblingnull.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrprevioussiblingnull.js new file mode 100644 index 0000000..2773718 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrprevioussiblingnull.js @@ -0,0 +1,118 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrprevioussiblingnull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "getPreviousSibling()" method for an Attr node should return null. +Retrieve the attribute named "domestic" from the last child of of the +first employee and examine its PreviousSibling node. This test uses the +"getNamedItem(name)" method from the NamedNodeMap interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-640FB3C8 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +*/ +function hc_attrprevioussiblingnull() { + var success; + if(checkInitialization(builder, "hc_attrprevioussiblingnull") != null) return; + var doc; + var addressList; + var testNode; + var attributes; + var domesticAttr; + var s; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + addressList = doc.getElementsByTagName("acronym"); + testNode = addressList.item(0); + attributes = testNode.attributes; + + domesticAttr = attributes.getNamedItem("title"); + s = domesticAttr.previousSibling; + + assertNull("attrPreviousSiblingNullAssert",s); + +} + + + + +function runTest() { + hc_attrprevioussiblingnull(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild1.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild1.js new file mode 100644 index 0000000..5f98746 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild1.js @@ -0,0 +1,131 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrremovechild1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Removes the child node of an attribute and checks that the value is empty. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066 +*/ +function hc_attrremovechild1() { + var success; + if(checkInitialization(builder, "hc_attrremovechild1") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var firstChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + textNode = titleAttr.firstChild; + + assertNotNull("attrChildNotNull",textNode); +retval = titleAttr.removeChild(textNode); + value = titleAttr.value; + + assertEquals("attrValue","",value); + value = titleAttr.nodeValue; + + assertEquals("attrNodeValue","",value); + value = retval.nodeValue; + + assertEquals("retvalValue","Yes",value); + firstChild = titleAttr.firstChild; + + assertNull("firstChildNull",firstChild); + +} + + + + +function runTest() { + hc_attrremovechild1(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild2.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild2.js new file mode 100644 index 0000000..3e19f4e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild2.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrremovechild2"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Attempts to remove a freshly created text node which should result in a NOT_FOUND_ERR exception. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066 +*/ +function hc_attrremovechild2() { + var success; + if(checkInitialization(builder, "hc_attrremovechild2") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + textNode = doc.createTextNode("Yesterday"); + + { + success = false; + try { + retval = titleAttr.removeChild(textNode); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 8); + } + assertTrue("throw_NOT_FOUND_ERR",success); + } + +} + + + + +function runTest() { + hc_attrremovechild2(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild1.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild1.js new file mode 100644 index 0000000..ff499e5 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild1.js @@ -0,0 +1,135 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrreplacechild1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Replaces a text node of an attribute and checks if the value of +the attribute is changed. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 +*/ +function hc_attrreplacechild1() { + var success; + if(checkInitialization(builder, "hc_attrreplacechild1") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var firstChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + textNode = doc.createTextNode("terday"); + firstChild = titleAttr.firstChild; + + assertNotNull("attrChildNotNull",firstChild); +retval = titleAttr.replaceChild(textNode,firstChild); + value = titleAttr.value; + + assertEquals("attrValue","terday",value); + value = titleAttr.nodeValue; + + assertEquals("attrNodeValue","terday",value); + value = retval.nodeValue; + + assertEquals("retvalValue","Yes",value); + firstChild = titleAttr.firstChild; + + value = firstChild.nodeValue; + + assertEquals("firstChildValue","terday",value); + +} + + + + +function runTest() { + hc_attrreplacechild1(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild2.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild2.js new file mode 100644 index 0000000..c26d316 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild2.js @@ -0,0 +1,141 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrreplacechild2"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Replaces a text node of an attribute with a document fragment and checks if the value of +the attribute is changed. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 +*/ +function hc_attrreplacechild2() { + var success; + if(checkInitialization(builder, "hc_attrreplacechild2") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var terNode; + var dayNode; + var docFrag; + var retval; + var firstChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + terNode = doc.createTextNode("ter"); + dayNode = doc.createTextNode("day"); + docFrag = doc.createDocumentFragment(); + retval = docFrag.appendChild(terNode); + retval = docFrag.appendChild(dayNode); + firstChild = titleAttr.firstChild; + + assertNotNull("attrChildNotNull",firstChild); +retval = titleAttr.replaceChild(docFrag,firstChild); + value = titleAttr.value; + + assertEquals("attrValue","terday",value); + value = titleAttr.nodeValue; + + assertEquals("attrNodeValue","terday",value); + value = retval.nodeValue; + + assertEquals("retvalValue","Yes",value); + firstChild = titleAttr.firstChild; + + value = firstChild.nodeValue; + + assertEquals("firstChildValue","ter",value); + +} + + + + +function runTest() { + hc_attrreplacechild2(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue1.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue1.js new file mode 100644 index 0000000..457f7b6 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue1.js @@ -0,0 +1,135 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrsetvalue1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Sets Attr.value on an attribute that only has a simple value. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-221662474 +*/ +function hc_attrsetvalue1() { + var success; + if(checkInitialization(builder, "hc_attrsetvalue1") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var retval; + var firstChild; + var otherChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + firstChild = titleAttr.firstChild; + + assertNotNull("attrChildNotNull",firstChild); +titleAttr.value = "Tomorrow"; + + firstChild.nodeValue = "impl reused node"; + + value = titleAttr.value; + + assertEquals("attrValue","Tomorrow",value); + value = titleAttr.nodeValue; + + assertEquals("attrNodeValue","Tomorrow",value); + firstChild = titleAttr.lastChild; + + value = firstChild.nodeValue; + + assertEquals("firstChildValue","Tomorrow",value); + otherChild = firstChild.nextSibling; + + assertNull("nextSiblingIsNull",otherChild); + +} + + + + +function runTest() { + hc_attrsetvalue1(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue2.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue2.js new file mode 100644 index 0000000..029d7d5 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue2.js @@ -0,0 +1,138 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrsetvalue2"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Sets Attr.value on an attribute that should contain multiple child nodes. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-221662474 +*/ +function hc_attrsetvalue2() { + var success; + if(checkInitialization(builder, "hc_attrsetvalue2") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var firstChild; + var otherChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + textNode = doc.createTextNode("terday"); + retval = titleAttr.appendChild(textNode); + firstChild = titleAttr.firstChild; + + assertNotNull("attrChildNotNull",firstChild); +titleAttr.value = "Tomorrow"; + + firstChild.nodeValue = "impl reused node"; + + value = titleAttr.value; + + assertEquals("attrValue","Tomorrow",value); + value = titleAttr.nodeValue; + + assertEquals("attrNodeValue","Tomorrow",value); + firstChild = titleAttr.lastChild; + + value = firstChild.nodeValue; + + assertEquals("firstChildValue","Tomorrow",value); + otherChild = firstChild.nextSibling; + + assertNull("nextSiblingIsNull",otherChild); + +} + + + + +function runTest() { + hc_attrsetvalue2(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvalue.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvalue.js new file mode 100644 index 0000000..deb504d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvalue.js @@ -0,0 +1,121 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrspecifiedvalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getSpecified()" method for an Attr node should + be set to true if the attribute was explicitly given + a value. + Retrieve the attribute named "domestic" from the last + child of of the first employee and examine the value + returned by the "getSpecified()" method. This test uses + the "getNamedItem(name)" method from the NamedNodeMap + interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-862529273 +*/ +function hc_attrspecifiedvalue() { + var success; + if(checkInitialization(builder, "hc_attrspecifiedvalue") != null) return; + var doc; + var addressList; + var testNode; + var attributes; + var domesticAttr; + var state; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + addressList = doc.getElementsByTagName("acronym"); + testNode = addressList.item(0); + attributes = testNode.attributes; + + domesticAttr = attributes.getNamedItem("title"); + state = domesticAttr.specified; + + assertTrue("acronymTitleSpecified",state); + +} + + + + +function runTest() { + hc_attrspecifiedvalue(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvaluechanged.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvaluechanged.js new file mode 100644 index 0000000..fd65931 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvaluechanged.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrspecifiedvaluechanged"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getSpecified()" method for an Attr node should return true if the + value of the attribute is changed. + Retrieve the attribute named "class" from the last + child of of the THIRD employee and change its + value to "Yes"(which is the default DTD value). This + should cause the "getSpecified()" method to be true. + This test uses the "setAttribute(name,value)" method + from the Element interface and the "getNamedItem(name)" + method from the NamedNodeMap interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-862529273 +*/ +function hc_attrspecifiedvaluechanged() { + var success; + if(checkInitialization(builder, "hc_attrspecifiedvaluechanged") != null) return; + var doc; + var addressList; + var testNode; + var attributes; + var streetAttr; + var state; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + addressList = doc.getElementsByTagName("acronym"); + testNode = addressList.item(2); + testNode.setAttribute("class","Yα"); + attributes = testNode.attributes; + + streetAttr = attributes.getNamedItem("class"); + state = streetAttr.specified; + + assertTrue("acronymClassSpecified",state); + +} + + + + +function runTest() { + hc_attrspecifiedvaluechanged(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentcreateattribute.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentcreateattribute.js new file mode 100644 index 0000000..31284f3 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentcreateattribute.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentcreateattribute"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the entire DOM document and invoke its + "createAttribute(name)" method. It should create a + new Attribute node with the given name. The name, value + and type of the newly created object are retrieved and + output. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1084891198 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 +*/ +function hc_documentcreateattribute() { + var success; + if(checkInitialization(builder, "hc_documentcreateattribute") != null) return; + var doc; + var newAttrNode; + var attrValue; + var attrName; + var attrType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newAttrNode = doc.createAttribute("title"); + attrValue = newAttrNode.nodeValue; + + assertEquals("value","",attrValue); + attrName = newAttrNode.nodeName; + + assertEqualsAutoCase("attribute", "name","title",attrName); + attrType = newAttrNode.nodeType; + + assertEquals("type",2,attrType); + +} + + + + +function runTest() { + hc_documentcreateattribute(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute.js new file mode 100644 index 0000000..9038f2e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentinvalidcharacterexceptioncreateattribute"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "createAttribute(tagName)" method raises an + INVALID_CHARACTER_ERR DOMException if the specified + tagName contains an invalid character. + + Retrieve the entire DOM document and invoke its + "createAttribute(tagName)" method with the tagName equal + to the string "invalid^Name". Due to the invalid + character the desired EXCEPTION should be raised. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1084891198 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-1084891198')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1084891198 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_documentinvalidcharacterexceptioncreateattribute() { + var success; + if(checkInitialization(builder, "hc_documentinvalidcharacterexceptioncreateattribute") != null) return; + var doc; + var createdAttr; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + + { + success = false; + try { + createdAttr = doc.createAttribute("invalid^Name"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 5); + } + assertTrue("throw_INVALID_CHARACTER_ERR",success); + } + +} + + + + +function runTest() { + hc_documentinvalidcharacterexceptioncreateattribute(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute1.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute1.js new file mode 100644 index 0000000..4f9933d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute1.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentinvalidcharacterexceptioncreateattribute1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Creating an attribute with an empty name should cause an INVALID_CHARACTER_ERR. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1084891198 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-1084891198')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1084891198 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=525 +*/ +function hc_documentinvalidcharacterexceptioncreateattribute1() { + var success; + if(checkInitialization(builder, "hc_documentinvalidcharacterexceptioncreateattribute1") != null) return; + var doc; + var createdAttr; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + + { + success = false; + try { + createdAttr = doc.createAttribute(""); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 5); + } + assertTrue("throw_INVALID_CHARACTER_ERR",success); + } + +} + + + + +function runTest() { + hc_documentinvalidcharacterexceptioncreateattribute1(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementassociatedattribute.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementassociatedattribute.js new file mode 100644 index 0000000..c3642a9 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementassociatedattribute.js @@ -0,0 +1,119 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementassociatedattribute"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the first attribute from the last child of + the first employee and invoke the "getSpecified()" + method. This test is only intended to show that + Elements can actually have attributes. This test uses + the "getNamedItem(name)" method from the NamedNodeMap + interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 +*/ +function hc_elementassociatedattribute() { + var success; + if(checkInitialization(builder, "hc_elementassociatedattribute") != null) return; + var doc; + var elementList; + var testEmployee; + var attributes; + var domesticAttr; + var specified; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(0); + attributes = testEmployee.attributes; + + domesticAttr = attributes.getNamedItem("title"); + specified = domesticAttr.specified; + + assertTrue("acronymTitleSpecified",specified); + +} + + + + +function runTest() { + hc_elementassociatedattribute(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementcreatenewattribute.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementcreatenewattribute.js new file mode 100644 index 0000000..aad9aa1 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementcreatenewattribute.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementcreatenewattribute"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "setAttributeNode(newAttr)" method adds a new + attribute to the Element. + + Retrieve first address element and add + a new attribute node to it by invoking its + "setAttributeNode(newAttr)" method. This test makes use + of the "createAttribute(name)" method from the Document + interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 +*/ +function hc_elementcreatenewattribute() { + var success; + if(checkInitialization(builder, "hc_elementcreatenewattribute") != null) return; + var doc; + var elementList; + var testAddress; + var newAttribute; + var oldAttr; + var districtAttr; + var attrVal; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddress = elementList.item(0); + newAttribute = doc.createAttribute("lang"); + oldAttr = testAddress.setAttributeNode(newAttribute); + assertNull("old_attr_doesnt_exist",oldAttr); + districtAttr = testAddress.getAttributeNode("lang"); + assertNotNull("new_district_accessible",districtAttr); +attrVal = testAddress.getAttribute("lang"); + assertEquals("attr_value","",attrVal); + +} + + + + +function runTest() { + hc_elementcreatenewattribute(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenode.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenode.js new file mode 100644 index 0000000..17b0106 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenode.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementgetattributenode"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the attribute "title" from the last child + of the first "p" element and check its node name. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-217A91B8 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html +*/ +function hc_elementgetattributenode() { + var success; + if(checkInitialization(builder, "hc_elementgetattributenode") != null) return; + var doc; + var elementList; + var testEmployee; + var domesticAttr; + var nodeName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(0); + domesticAttr = testEmployee.getAttributeNode("title"); + nodeName = domesticAttr.nodeName; + + assertEqualsAutoCase("attribute", "nodeName","title",nodeName); + +} + + + + +function runTest() { + hc_elementgetattributenode(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenodenull.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenodenull.js new file mode 100644 index 0000000..2c9a905 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenodenull.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementgetattributenodenull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getAttributeNode(name)" method retrieves an + attribute node by name. It should return null if the + "strong" attribute does not exist. + + Retrieve the last child of the first employee and attempt + to retrieve a non-existing attribute. The method should + return "null". The non-existing attribute to be used + is "invalidAttribute". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-217A91B8 +*/ +function hc_elementgetattributenodenull() { + var success; + if(checkInitialization(builder, "hc_elementgetattributenodenull") != null) return; + var doc; + var elementList; + var testEmployee; + var domesticAttr; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(0); + domesticAttr = testEmployee.getAttributeNode("invalidAttribute"); + assertNull("elementGetAttributeNodeNullAssert",domesticAttr); + +} + + + + +function runTest() { + hc_elementgetattributenodenull(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetelementempty.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetelementempty.js new file mode 100644 index 0000000..b4ddf55 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetelementempty.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementgetelementempty"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getAttribute(name)" method returns an empty + string if no value was assigned to an attribute and + no default value was given in the DTD file. + + Retrieve the last child of the last employee, then + invoke "getAttribute(name)" method, where "strong" is an + attribute without a specified or DTD default value. + The "getAttribute(name)" method should return the empty + string. This method makes use of the + "createAttribute(newAttr)" method from the Document + interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-666EE0F9 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 +*/ +function hc_elementgetelementempty() { + var success; + if(checkInitialization(builder, "hc_elementgetelementempty") != null) return; + var doc; + var newAttribute; + var elementList; + var testEmployee; + var domesticAttr; + var attrValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newAttribute = doc.createAttribute("lang"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(3); + domesticAttr = testEmployee.setAttributeNode(newAttribute); + attrValue = testEmployee.getAttribute("lang"); + assertEquals("elementGetElementEmptyAssert","",attrValue); + +} + + + + +function runTest() { + hc_elementgetelementempty(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementinuseattributeerr.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementinuseattributeerr.js new file mode 100644 index 0000000..fa2fd0a --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementinuseattributeerr.js @@ -0,0 +1,131 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementinuseattributeerr"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "setAttributeNode(newAttr)" method raises an + "INUSE_ATTRIBUTE_ERR DOMException if the "newAttr" + is already an attribute of another element. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INUSE_ATTRIBUTE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-887236154')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INUSE_ATTRIBUTE_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=244 +*/ +function hc_elementinuseattributeerr() { + var success; + if(checkInitialization(builder, "hc_elementinuseattributeerr") != null) return; + var doc; + var newAttribute; + var addressElementList; + var testAddress; + var newElement; + var attrAddress; + var appendedChild; + var setAttr1; + var setAttr2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + addressElementList = doc.getElementsByTagName("body"); + testAddress = addressElementList.item(0); + newElement = doc.createElement("p"); + appendedChild = testAddress.appendChild(newElement); + newAttribute = doc.createAttribute("title"); + setAttr1 = newElement.setAttributeNode(newAttribute); + + { + success = false; + try { + setAttr2 = testAddress.setAttributeNode(newAttribute); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 10); + } + assertTrue("throw_INUSE_ATTRIBUTE_ERR",success); + } + +} + + + + +function runTest() { + hc_elementinuseattributeerr(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnormalize2.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnormalize2.js new file mode 100644 index 0000000..b2197ed --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnormalize2.js @@ -0,0 +1,129 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementnormalize2"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Add an empty text node to an existing attribute node, normalize the containing element +and check that the attribute node has eliminated the empty text. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-162CF083 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=482 +*/ +function hc_elementnormalize2() { + var success; + if(checkInitialization(builder, "hc_elementnormalize2") != null) return; + var doc; + var root; + var elementList; + var element; + var firstChild; + var secondChild; + var childValue; + var emptyText; + var attrNode; + var retval; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + root = doc.documentElement; + + emptyText = doc.createTextNode(""); + elementList = root.getElementsByTagName("acronym"); + element = elementList.item(0); + attrNode = element.getAttributeNode("title"); + retval = attrNode.appendChild(emptyText); + element.normalize(); + attrNode = element.getAttributeNode("title"); + firstChild = attrNode.firstChild; + + childValue = firstChild.nodeValue; + + assertEquals("firstChild","Yes",childValue); + secondChild = firstChild.nextSibling; + + assertNull("secondChildNull",secondChild); + +} + + + + +function runTest() { + hc_elementnormalize2(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnotfounderr.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnotfounderr.js new file mode 100644 index 0000000..ad15587 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnotfounderr.js @@ -0,0 +1,130 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementnotfounderr"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "removeAttributeNode(oldAttr)" method raises a + NOT_FOUND_ERR DOMException if the "oldAttr" attribute + is not an attribute of the element. + + Retrieve the last employee and attempt to remove + a non existing attribute node. This should cause the + intended exception to be raised. This test makes use + of the "createAttribute(name)" method from the Document + interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INUSE_ATTRIBUTE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D589198 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-D589198')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INUSE_ATTRIBUTE_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_elementnotfounderr() { + var success; + if(checkInitialization(builder, "hc_elementnotfounderr") != null) return; + var doc; + var oldAttribute; + var addressElementList; + var testAddress; + var attrAddress; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + addressElementList = doc.getElementsByTagName("acronym"); + testAddress = addressElementList.item(4); + oldAttribute = doc.createAttribute("title"); + + { + success = false; + try { + attrAddress = testAddress.removeAttributeNode(oldAttribute); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 8); + } + assertTrue("throw_NOT_FOUND_ERR",success); + } + +} + + + + +function runTest() { + hc_elementnotfounderr(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributeaftercreate.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributeaftercreate.js new file mode 100644 index 0000000..724a3e8 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributeaftercreate.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementremoveattributeaftercreate"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "removeAttributeNode(oldAttr)" method removes the + specified attribute. + + Retrieve the last child of the third employee, add a + new "lang" attribute to it and then try to remove it. + To verify that the node was removed use the + "getNamedItem(name)" method from the NamedNodeMap + interface. It also uses the "getAttributes()" method + from the Node interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D589198 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 +*/ +function hc_elementremoveattributeaftercreate() { + var success; + if(checkInitialization(builder, "hc_elementremoveattributeaftercreate") != null) return; + var doc; + var elementList; + var testEmployee; + var newAttribute; + var attributes; + var districtAttr; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(2); + newAttribute = doc.createAttribute("lang"); + districtAttr = testEmployee.setAttributeNode(newAttribute); + districtAttr = testEmployee.removeAttributeNode(newAttribute); + attributes = testEmployee.attributes; + + districtAttr = attributes.getNamedItem("lang"); + assertNull("removed_item_null",districtAttr); + +} + + + + +function runTest() { + hc_elementremoveattributeaftercreate(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributenode.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributenode.js new file mode 100644 index 0000000..58bf730 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributenode.js @@ -0,0 +1,119 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementremoveattributenode"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "removeAttributeNode(oldAttr)" method returns the + node that was removed. + + Retrieve the last child of the third employee and + remove its "class" Attr node. The method should + return the old attribute node. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D589198 +*/ +function hc_elementremoveattributenode() { + var success; + if(checkInitialization(builder, "hc_elementremoveattributenode") != null) return; + var doc; + var elementList; + var testEmployee; + var streetAttr; + var removedAttr; + var removedValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(2); + streetAttr = testEmployee.getAttributeNode("class"); + removedAttr = testEmployee.removeAttributeNode(streetAttr); + assertNotNull("removedAttrNotNull",removedAttr); +removedValue = removedAttr.value; + + assertEquals("elementRemoveAttributeNodeAssert","No",removedValue); + +} + + + + +function runTest() { + hc_elementremoveattributenode(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceattributewithself.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceattributewithself.js new file mode 100644 index 0000000..14b1f7d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceattributewithself.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementreplaceattributewithself"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +This test calls setAttributeNode to replace an attribute with itself. +Since the node is not an attribute of another Element, it would +be inappropriate to throw an INUSE_ATTRIBUTE_ERR. + +This test was derived from elementinuserattributeerr which +inadvertanly made this test. + +* @author Curt Arnold +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154 +*/ +function hc_elementreplaceattributewithself() { + var success; + if(checkInitialization(builder, "hc_elementreplaceattributewithself") != null) return; + var doc; + var elementList; + var testEmployee; + var streetAttr; + var replacedAttr; + var value; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(2); + streetAttr = testEmployee.getAttributeNode("class"); + replacedAttr = testEmployee.setAttributeNode(streetAttr); + assertSame("replacedAttr",streetAttr,replacedAttr); + +} + + + + +function runTest() { + hc_elementreplaceattributewithself(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattribute.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattribute.js new file mode 100644 index 0000000..949ac3b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattribute.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementreplaceexistingattribute"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "setAttributeNode(newAttr)" method adds a new + attribute to the Element. If the "newAttr" Attr node is + already present in this element, it should replace the + existing one. + + Retrieve the last child of the third employee and add a + new attribute node by invoking the "setAttributeNode(new + Attr)" method. The new attribute node to be added is + "class", which is already present in this element. The + method should replace the existing Attr node with the + new one. This test uses the "createAttribute(name)" + method from the Document interface. + +* @author Curt Arnold +*/ +function hc_elementreplaceexistingattribute() { + var success; + if(checkInitialization(builder, "hc_elementreplaceexistingattribute") != null) return; + var doc; + var elementList; + var testEmployee; + var newAttribute; + var strong; + var setAttr; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(2); + newAttribute = doc.createAttribute("class"); + setAttr = testEmployee.setAttributeNode(newAttribute); + strong = testEmployee.getAttribute("class"); + assertEquals("replacedValue","",strong); + +} + + + + +function runTest() { + hc_elementreplaceexistingattribute(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattributegevalue.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattributegevalue.js new file mode 100644 index 0000000..0318918 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattributegevalue.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementreplaceexistingattributegevalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +If the "setAttributeNode(newAttr)" method replaces an +existing Attr node with the same name, then it should +return the previously existing Attr node. + +Retrieve the last child of the third employee and add a +new attribute node. The new attribute node is "class", +which is already present in this Element. The method +should return the existing Attr node(old "class" Attr). +This test uses the "createAttribute(name)" method +from the Document interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154 +*/ +function hc_elementreplaceexistingattributegevalue() { + var success; + if(checkInitialization(builder, "hc_elementreplaceexistingattributegevalue") != null) return; + var doc; + var elementList; + var testEmployee; + var newAttribute; + var streetAttr; + var value; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(2); + newAttribute = doc.createAttribute("class"); + streetAttr = testEmployee.setAttributeNode(newAttribute); + assertNotNull("previousAttrNotNull",streetAttr); +value = streetAttr.value; + + assertEquals("previousAttrValue","No",value); + +} + + + + +function runTest() { + hc_elementreplaceexistingattributegevalue(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementsetattributenodenull.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementsetattributenodenull.js new file mode 100644 index 0000000..65db9d7 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementsetattributenodenull.js @@ -0,0 +1,120 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementsetattributenodenull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "setAttributeNode(newAttr)" method returns the + null value if no previously existing Attr node with the + same name was replaced. + + Retrieve the last child of the third employee and add a + new attribute to it. The new attribute node added is + "lang", which is not part of this Element. The + method should return the null value. + This test uses the "createAttribute(name)" + method from the Document interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 +*/ +function hc_elementsetattributenodenull() { + var success; + if(checkInitialization(builder, "hc_elementsetattributenodenull") != null) return; + var doc; + var elementList; + var testEmployee; + var newAttribute; + var districtAttr; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(2); + newAttribute = doc.createAttribute("lang"); + districtAttr = testEmployee.setAttributeNode(newAttribute); + assertNull("elementSetAttributeNodeNullAssert",districtAttr); + +} + + + + +function runTest() { + hc_elementsetattributenodenull(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementwrongdocumenterr.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementwrongdocumenterr.js new file mode 100644 index 0000000..e17340c --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementwrongdocumenterr.js @@ -0,0 +1,147 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementwrongdocumenterr"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var doc1Ref = null; + if (typeof(this.doc1) != 'undefined') { + doc1Ref = this.doc1; + } + docsLoaded += preload(doc1Ref, "doc1", "hc_staff"); + + var doc2Ref = null; + if (typeof(this.doc2) != 'undefined') { + doc2Ref = this.doc2; + } + docsLoaded += preload(doc2Ref, "doc2", "hc_staff"); + + if (docsLoaded == 2) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 2) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "setAttributeNode(newAttr)" method raises an + "WRONG_DOCUMENT_ERR DOMException if the "newAttr" + was created from a different document than the one that + created this document. + + Retrieve the last employee and attempt to set a new + attribute node for its "employee" element. The new + attribute was created from a document other than the + one that created this element, therefore a + WRONG_DOCUMENT_ERR DOMException should be raised. + + This test uses the "createAttribute(newAttr)" method + from the Document interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='WRONG_DOCUMENT_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-887236154')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='WRONG_DOCUMENT_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_elementwrongdocumenterr() { + var success; + if(checkInitialization(builder, "hc_elementwrongdocumenterr") != null) return; + var doc1; + var doc2; + var newAttribute; + var addressElementList; + var testAddress; + var attrAddress; + + var doc1Ref = null; + if (typeof(this.doc1) != 'undefined') { + doc1Ref = this.doc1; + } + doc1 = load(doc1Ref, "doc1", "hc_staff"); + + var doc2Ref = null; + if (typeof(this.doc2) != 'undefined') { + doc2Ref = this.doc2; + } + doc2 = load(doc2Ref, "doc2", "hc_staff"); + newAttribute = doc2.createAttribute("newAttribute"); + addressElementList = doc1.getElementsByTagName("acronym"); + testAddress = addressElementList.item(4); + + { + success = false; + try { + attrAddress = testAddress.setAttributeNode(newAttribute); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 4); + } + assertTrue("throw_WRONG_DOCUMENT_ERR",success); + } + +} + + + + +function runTest() { + hc_elementwrongdocumenterr(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapgetnameditem.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapgetnameditem.js new file mode 100644 index 0000000..f8f9478 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapgetnameditem.js @@ -0,0 +1,121 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapgetnameditem"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the second "p" element and create a NamedNodeMap + listing of the attributes of the last child. Once the + list is created an invocation of the "getNamedItem(name)" + method is done with name="title". This should result + in the title Attr node being returned. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1074577549 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html +*/ +function hc_namednodemapgetnameditem() { + var success; + if(checkInitialization(builder, "hc_namednodemapgetnameditem") != null) return; + var doc; + var elementList; + var testEmployee; + var attributes; + var domesticAttr; + var attrName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(1); + attributes = testEmployee.attributes; + + domesticAttr = attributes.getNamedItem("title"); + attrName = domesticAttr.name; + + assertEqualsAutoCase("attribute", "nodeName","title",attrName); + +} + + + + +function runTest() { + hc_namednodemapgetnameditem(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapinuseattributeerr.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapinuseattributeerr.js new file mode 100644 index 0000000..fdf0c15 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapinuseattributeerr.js @@ -0,0 +1,139 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapinuseattributeerr"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "setNamedItem(arg)" method raises a +INUSE_ATTRIBUTE_ERR DOMException if "arg" is an +Attr that is already in an attribute of another Element. + +Create a NamedNodeMap object from the attributes of the +last child of the third employee and attempt to add +an attribute that is already being used by the first +employee. This should raise the desired exception. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INUSE_ATTRIBUTE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-1025163788')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INUSE_ATTRIBUTE_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_namednodemapinuseattributeerr() { + var success; + if(checkInitialization(builder, "hc_namednodemapinuseattributeerr") != null) return; + var doc; + var elementList; + var firstNode; + var testNode; + var attributes; + var domesticAttr; + var setAttr; + var setNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + firstNode = elementList.item(0); + domesticAttr = doc.createAttribute("title"); + domesticAttr.value = "Yα"; + + setAttr = firstNode.setAttributeNode(domesticAttr); + elementList = doc.getElementsByTagName("acronym"); + testNode = elementList.item(2); + attributes = testNode.attributes; + + + { + success = false; + try { + setNode = attributes.setNamedItem(domesticAttr); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 10); + } + assertTrue("throw_INUSE_ATTRIBUTE_ERR",success); + } + +} + + + + +function runTest() { + hc_namednodemapinuseattributeerr(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapnotfounderr.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapnotfounderr.js new file mode 100644 index 0000000..67467c3 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapnotfounderr.js @@ -0,0 +1,131 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapnotfounderr"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "removeNamedItem(name)" method raises a + NOT_FOUND_ERR DOMException if there is not a node + named "strong" in the map. + + Create a NamedNodeMap object from the attributes of the + last child of the third employee and attempt to remove + the "lang" attribute. There is not a node named + "lang" in the list and therefore the desired + exception should be raised. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INUSE_ATTRIBUTE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D58B193 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-D58B193')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INUSE_ATTRIBUTE_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 +*/ +function hc_namednodemapnotfounderr() { + var success; + if(checkInitialization(builder, "hc_namednodemapnotfounderr") != null) return; + var doc; + var elementList; + var testEmployee; + var attributes; + var removedNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(2); + attributes = testEmployee.attributes; + + + { + success = false; + try { + removedNode = attributes.removeNamedItem("lang"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 8); + } + assertTrue("throw_NOT_FOUND_ERR",success); + } + +} + + + + +function runTest() { + hc_namednodemapnotfounderr(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapremovenameditem.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapremovenameditem.js new file mode 100644 index 0000000..1370fa9 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapremovenameditem.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapremovenameditem"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "removeNamedItem(name)" method removes a node + specified by name. + + Retrieve the third employee and create a NamedNodeMap + object of the attributes of the last child. Once the + list is created invoke the "removeNamedItem(name)" + method with name="class". This should result + in the removal of the specified attribute. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D58B193 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2002Mar/0002.html +*/ +function hc_namednodemapremovenameditem() { + var success; + if(checkInitialization(builder, "hc_namednodemapremovenameditem") != null) return; + var doc; + var elementList; + var newAttribute; + var testAddress; + var attributes; + var streetAttr; + var specified; + var removedNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddress = elementList.item(2); + attributes = testAddress.attributes; + + removedNode = attributes.removeNamedItem("class"); + streetAttr = attributes.getNamedItem("class"); + assertNull("isnull",streetAttr); + +} + + + + +function runTest() { + hc_namednodemapremovenameditem(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnattrnode.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnattrnode.js new file mode 100644 index 0000000..bfb396b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnattrnode.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapreturnattrnode"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the second p element and create a NamedNodeMap + listing of the attributes of the last child. Once the + list is created an invocation of the "getNamedItem(name)" + method is done with name="class". This should result + in the method returning an Attr node. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1074577549 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1112119403 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 +*/ +function hc_namednodemapreturnattrnode() { + var success; + if(checkInitialization(builder, "hc_namednodemapreturnattrnode") != null) return; + var doc; + var elementList; + var testEmployee; + var attributes; + var streetAttr; + var attrName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(1); + attributes = testEmployee.attributes; + + streetAttr = attributes.getNamedItem("class"); + assertInstanceOf("typeAssert","Attr",streetAttr); +attrName = streetAttr.nodeName; + + assertEqualsAutoCase("attribute", "nodeName","class",attrName); + attrName = streetAttr.name; + + assertEqualsAutoCase("attribute", "name","class",attrName); + +} + + + + +function runTest() { + hc_namednodemapreturnattrnode(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnfirstitem.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnfirstitem.js new file mode 100644 index 0000000..9b17c3f --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnfirstitem.js @@ -0,0 +1,150 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapreturnfirstitem"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "item(index)" method returns the indexth item in + the map(test for first item). + + Retrieve the second "acronym" get the NamedNodeMap of the attributes. Since the + DOM does not specify an order of these nodes the contents + of the FIRST node can contain either "title", "class" or "dir". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=184 +*/ +function hc_namednodemapreturnfirstitem() { + var success; + if(checkInitialization(builder, "hc_namednodemapreturnfirstitem") != null) return; + var doc; + var elementList; + var testAddress; + var attributes; + var child; + var nodeName; + htmlExpected = new Array(); + htmlExpected[0] = "title"; + htmlExpected[1] = "class"; + + expected = new Array(); + expected[0] = "title"; + expected[1] = "class"; + expected[2] = "dir"; + + var actual = new Array(); + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddress = elementList.item(1); + attributes = testAddress.attributes; + + for(var indexN10070 = 0;indexN10070 < attributes.length; indexN10070++) { + child = attributes.item(indexN10070); + nodeName = child.nodeName; + + actual[actual.length] = nodeName; + + } + + if( + + (builder.contentType == "text/html") + + ) { + assertEqualsCollection("attrName_html",toLowerArray(htmlExpected),toLowerArray(actual)); + + } + + else { + assertEqualsCollection("attrName",expected,actual); + + } + +} + + + + +function runTest() { + hc_namednodemapreturnfirstitem(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnlastitem.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnlastitem.js new file mode 100644 index 0000000..90422c8 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnlastitem.js @@ -0,0 +1,152 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapreturnlastitem"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "item(index)" method returns the indexth item in + the map(test for last item). + + Retrieve the second "acronym" and get the attribute name. Since the + DOM does not specify an order of these nodes the contents + of the LAST node can contain either "title" or "class". + The test should return "true" if the LAST node is either + of these values. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=184 +*/ +function hc_namednodemapreturnlastitem() { + var success; + if(checkInitialization(builder, "hc_namednodemapreturnlastitem") != null) return; + var doc; + var elementList; + var testEmployee; + var attributes; + var child; + var nodeName; + htmlExpected = new Array(); + htmlExpected[0] = "title"; + htmlExpected[1] = "class"; + + expected = new Array(); + expected[0] = "title"; + expected[1] = "class"; + expected[2] = "dir"; + + var actual = new Array(); + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(1); + attributes = testEmployee.attributes; + + for(var indexN10070 = 0;indexN10070 < attributes.length; indexN10070++) { + child = attributes.item(indexN10070); + nodeName = child.nodeName; + + actual[actual.length] = nodeName; + + } + + if( + + (builder.contentType == "text/html") + + ) { + assertEqualsCollection("attrName_html",toLowerArray(htmlExpected),toLowerArray(actual)); + + } + + else { + assertEqualsCollection("attrName",expected,actual); + + } + +} + + + + +function runTest() { + hc_namednodemapreturnlastitem(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnnull.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnnull.js new file mode 100644 index 0000000..04cb17e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnnull.js @@ -0,0 +1,121 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapreturnnull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getNamedItem(name)" method returns null of the + specified name did not identify any node in the map. + + Retrieve the second employee and create a NamedNodeMap + listing of the attributes of the last child. Once the + list is created an invocation of the "getNamedItem(name)" + method is done with name="lang". This name does not + match any names in the list therefore the method should + return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1074577549 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_namednodemapreturnnull() { + var success; + if(checkInitialization(builder, "hc_namednodemapreturnnull") != null) return; + var doc; + var elementList; + var testEmployee; + var attributes; + var districtNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(1); + attributes = testEmployee.attributes; + + districtNode = attributes.getNamedItem("lang"); + assertNull("langAttrNull",districtNode); + +} + + + + +function runTest() { + hc_namednodemapreturnnull(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditem.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditem.js new file mode 100644 index 0000000..ffba08a --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditem.js @@ -0,0 +1,131 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapsetnameditem"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the second "p" element and create a NamedNodeMap + object from the attributes of the last child by + invoking the "getAttributes()" method. Once the + list is created an invocation of the "setNamedItem(arg)" + method is done with arg=newAttr, where newAttr is a + new Attr Node previously created. The "setNamedItem(arg)" + method should add then new node to the NamedNodeItem + object by using its "nodeName" attribute("lang'). + This node is then retrieved using the "getNamedItem(name)" + method. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 +*/ +function hc_namednodemapsetnameditem() { + var success; + if(checkInitialization(builder, "hc_namednodemapsetnameditem") != null) return; + var doc; + var elementList; + var newAttribute; + var testAddress; + var attributes; + var districtNode; + var attrName; + var setNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddress = elementList.item(1); + newAttribute = doc.createAttribute("lang"); + attributes = testAddress.attributes; + + setNode = attributes.setNamedItem(newAttribute); + districtNode = attributes.getNamedItem("lang"); + attrName = districtNode.nodeName; + + assertEqualsAutoCase("attribute", "nodeName","lang",attrName); + +} + + + + +function runTest() { + hc_namednodemapsetnameditem(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemreturnvalue.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemreturnvalue.js new file mode 100644 index 0000000..0d82c40 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemreturnvalue.js @@ -0,0 +1,132 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapsetnameditemreturnvalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If the "setNamedItem(arg)" method replaces an already + existing node with the same name then the already + existing node is returned. + + Retrieve the third employee and create a NamedNodeMap + object from the attributes of the last child by + invoking the "getAttributes()" method. Once the + list is created an invocation of the "setNamedItem(arg)" + method is done with arg=newAttr, where newAttr is a + new Attr Node previously created and whose node name + already exists in the map. The "setNamedItem(arg)" + method should replace the already existing node with + the new one and return the existing node. + This test uses the "createAttribute(name)" method from + the document interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9 +*/ +function hc_namednodemapsetnameditemreturnvalue() { + var success; + if(checkInitialization(builder, "hc_namednodemapsetnameditemreturnvalue") != null) return; + var doc; + var elementList; + var newAttribute; + var testAddress; + var attributes; + var newNode; + var attrValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddress = elementList.item(2); + newAttribute = doc.createAttribute("class"); + attributes = testAddress.attributes; + + newNode = attributes.setNamedItem(newAttribute); + assertNotNull("previousAttrNotNull",newNode); +attrValue = newNode.nodeValue; + + assertEquals("previousAttrValue","No",attrValue); + +} + + + + +function runTest() { + hc_namednodemapsetnameditemreturnvalue(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemthatexists.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemthatexists.js new file mode 100644 index 0000000..7ba88c4 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemthatexists.js @@ -0,0 +1,134 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapsetnameditemthatexists"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If the node to be added by the "setNamedItem(arg)" method + already exists in the NamedNodeMap, it is replaced by + the new one. + + Retrieve the second employee and create a NamedNodeMap + object from the attributes of the last child by + invoking the "getAttributes()" method. Once the + list is created an invocation of the "setNamedItem(arg)" + method is done with arg=newAttr, where newAttr is a + new Attr Node previously created and whose node name + already exists in the map. The "setNamedItem(arg)" + method should replace the already existing node with + the new one. + This node is then retrieved using the "getNamedItem(name)" + method. This test uses the "createAttribute(name)" + method from the document interface + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9 +*/ +function hc_namednodemapsetnameditemthatexists() { + var success; + if(checkInitialization(builder, "hc_namednodemapsetnameditemthatexists") != null) return; + var doc; + var elementList; + var newAttribute; + var testAddress; + var attributes; + var districtNode; + var attrValue; + var setNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddress = elementList.item(1); + newAttribute = doc.createAttribute("class"); + attributes = testAddress.attributes; + + setNode = attributes.setNamedItem(newAttribute); + districtNode = attributes.getNamedItem("class"); + attrValue = districtNode.nodeValue; + + assertEquals("namednodemapSetNamedItemThatExistsAssert","",attrValue); + +} + + + + +function runTest() { + hc_namednodemapsetnameditemthatexists(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemwithnewvalue.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemwithnewvalue.js new file mode 100644 index 0000000..0ecee32 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemwithnewvalue.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapsetnameditemwithnewvalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If the "setNamedItem(arg)" method does not replace an + existing node with the same name then it returns null. + + Retrieve the third employee and create a NamedNodeMap + object from the attributes of the last child. + Once the list is created the "setNamedItem(arg)" method + is invoked with arg=newAttr, where newAttr is a + newly created Attr Node and whose node name + already exists in the map. The "setNamedItem(arg)" + method should add the new node and return null. + This test uses the "createAttribute(name)" method from + the document interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 +*/ +function hc_namednodemapsetnameditemwithnewvalue() { + var success; + if(checkInitialization(builder, "hc_namednodemapsetnameditemwithnewvalue") != null) return; + var doc; + var elementList; + var newAttribute; + var testAddress; + var attributes; + var newNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddress = elementList.item(2); + newAttribute = doc.createAttribute("lang"); + attributes = testAddress.attributes; + + newNode = attributes.setNamedItem(newAttribute); + assertNull("prevValueNull",newNode); + +} + + + + +function runTest() { + hc_namednodemapsetnameditemwithnewvalue(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapwrongdocumenterr.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapwrongdocumenterr.js new file mode 100644 index 0000000..bde21e4 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapwrongdocumenterr.js @@ -0,0 +1,149 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapwrongdocumenterr"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var doc1Ref = null; + if (typeof(this.doc1) != 'undefined') { + doc1Ref = this.doc1; + } + docsLoaded += preload(doc1Ref, "doc1", "hc_staff"); + + var doc2Ref = null; + if (typeof(this.doc2) != 'undefined') { + doc2Ref = this.doc2; + } + docsLoaded += preload(doc2Ref, "doc2", "hc_staff"); + + if (docsLoaded == 2) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 2) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "setNamedItem(arg)" method raises a + WRONG_DOCUMENT_ERR DOMException if "arg" was created + from a different document than the one that created + the NamedNodeMap. + + Create a NamedNodeMap object from the attributes of the + last child of the third employee and attempt to add + another Attr node to it that was created from a + different DOM document. This should raise the desired + exception. This method uses the "createAttribute(name)" + method from the Document interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='WRONG_DOCUMENT_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-1025163788')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='WRONG_DOCUMENT_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_namednodemapwrongdocumenterr() { + var success; + if(checkInitialization(builder, "hc_namednodemapwrongdocumenterr") != null) return; + var doc1; + var doc2; + var elementList; + var testAddress; + var attributes; + var newAttribute; + var strong; + var setNode; + + var doc1Ref = null; + if (typeof(this.doc1) != 'undefined') { + doc1Ref = this.doc1; + } + doc1 = load(doc1Ref, "doc1", "hc_staff"); + + var doc2Ref = null; + if (typeof(this.doc2) != 'undefined') { + doc2Ref = this.doc2; + } + doc2 = load(doc2Ref, "doc2", "hc_staff"); + elementList = doc1.getElementsByTagName("acronym"); + testAddress = elementList.item(2); + newAttribute = doc2.createAttribute("newAttribute"); + attributes = testAddress.attributes; + + + { + success = false; + try { + setNode = attributes.setNamedItem(newAttribute); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 4); + } + assertTrue("throw_WRONG_DOCUMENT_ERR",success); + } + +} + + + + +function runTest() { + hc_namednodemapwrongdocumenterr(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeappendchildinvalidnodetype.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeappendchildinvalidnodetype.js new file mode 100644 index 0000000..854d1c3 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeappendchildinvalidnodetype.js @@ -0,0 +1,130 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeappendchildinvalidnodetype"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "appendChild(newChild)" method raises a + HIERARCHY_REQUEST_ERR DOMException if this node is of + a type that does not allow children of the type "newChild" + to be inserted. + + Retrieve the root node and attempt to append a newly + created Attr node. An Element node cannot have children + of the "Attr" type, therefore the desired exception + should be raised. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='HIERARCHY_REQUEST_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-184E7107')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='HIERARCHY_REQUEST_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_nodeappendchildinvalidnodetype() { + var success; + if(checkInitialization(builder, "hc_nodeappendchildinvalidnodetype") != null) return; + var doc; + var rootNode; + var newChild; + var appendedChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + rootNode = doc.documentElement; + + newChild = doc.createAttribute("newAttribute"); + + { + success = false; + try { + appendedChild = rootNode.appendChild(newChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 3); + } + assertTrue("throw_HIERARCHY_REQUEST_ERR",success); + } + +} + + + + +function runTest() { + hc_nodeappendchildinvalidnodetype(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodename.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodename.js new file mode 100644 index 0000000..20b8e71 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodename.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeattributenodename"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the Attribute named "title" from the last + child of the first p element and check the string returned + by the "getNodeName()" method. It should be equal to + "title". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 +*/ +function hc_nodeattributenodename() { + var success; + if(checkInitialization(builder, "hc_nodeattributenodename") != null) return; + var doc; + var elementList; + var testAddr; + var addrAttr; + var attrName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddr = elementList.item(0); + addrAttr = testAddr.getAttributeNode("title"); + attrName = addrAttr.nodeName; + + assertEqualsAutoCase("attribute", "nodeName","title",attrName); + +} + + + + +function runTest() { + hc_nodeattributenodename(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodetype.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodetype.js new file mode 100644 index 0000000..41d7f10 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodetype.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeattributenodetype"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + + The "getNodeType()" method for an Attribute Node + + returns the constant value 2. + + + + Retrieve the first attribute from the last child of + + the first employee and invoke the "getNodeType()" + + method. The method should return 2. + + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558 +*/ +function hc_nodeattributenodetype() { + var success; + if(checkInitialization(builder, "hc_nodeattributenodetype") != null) return; + var doc; + var elementList; + var testAddr; + var addrAttr; + var nodeType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddr = elementList.item(0); + addrAttr = testAddr.getAttributeNode("title"); + nodeType = addrAttr.nodeType; + + assertEquals("nodeAttrNodeTypeAssert1",2,nodeType); + +} + + + + +function runTest() { + hc_nodeattributenodetype(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodevalue.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodevalue.js new file mode 100644 index 0000000..679a9dd --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodevalue.js @@ -0,0 +1,118 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeattributenodevalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + + The string returned by the "getNodeValue()" method for an + Attribute Node is the value of the Attribute. + + Retrieve the Attribute named "title" from the last + child of the first "p" and check the string returned + by the "getNodeValue()" method. It should be equal to + "Yes". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +*/ +function hc_nodeattributenodevalue() { + var success; + if(checkInitialization(builder, "hc_nodeattributenodevalue") != null) return; + var doc; + var elementList; + var testAddr; + var addrAttr; + var attrValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddr = elementList.item(0); + addrAttr = testAddr.getAttributeNode("title"); + attrValue = addrAttr.nodeValue; + + assertEquals("nodeValue","Yes",attrValue); + +} + + + + +function runTest() { + hc_nodeattributenodevalue(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeinsertbeforeinvalidnodetype.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeinsertbeforeinvalidnodetype.js new file mode 100644 index 0000000..e467f33 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeinsertbeforeinvalidnodetype.js @@ -0,0 +1,136 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeinsertbeforeinvalidnodetype"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "insertBefore(newChild,refChild)" method raises a + HIERARCHY_REQUEST_ERR DOMException if this node is of + a type that does not allow children of the type "newChild" + to be inserted. + + Retrieve the root node and attempt to insert a newly + created Attr node. An Element node cannot have children + of the "Attr" type, therefore the desired exception + should be raised. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='HIERARCHY_REQUEST_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-952280727')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='HIERARCHY_REQUEST_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=406 +*/ +function hc_nodeinsertbeforeinvalidnodetype() { + var success; + if(checkInitialization(builder, "hc_nodeinsertbeforeinvalidnodetype") != null) return; + var doc; + var rootNode; + var newChild; + var elementList; + var refChild; + var insertedNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newChild = doc.createAttribute("title"); + elementList = doc.getElementsByTagName("p"); + refChild = elementList.item(1); + rootNode = refChild.parentNode; + + + { + success = false; + try { + insertedNode = rootNode.insertBefore(newChild,refChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 3); + } + assertTrue("throw_HIERARCHY_REQUEST_ERR",success); + } + +} + + + + +function runTest() { + hc_nodeinsertbeforeinvalidnodetype(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodereplacechildinvalidnodetype.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodereplacechildinvalidnodetype.js new file mode 100644 index 0000000..789f5cf --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodereplacechildinvalidnodetype.js @@ -0,0 +1,136 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodereplacechildinvalidnodetype"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "replaceChild(newChild,oldChild)" method raises a + HIERARCHY_REQUEST_ERR DOMException if this node is of + a type that does not allow children of the type "newChild" + to be inserted. + + Retrieve the root node and attempt to replace + one of its children with a newly created Attr node. + An Element node cannot have children of the "Attr" + type, therefore the desired exception should be raised. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='HIERARCHY_REQUEST_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-785887307')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='HIERARCHY_REQUEST_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=406 +*/ +function hc_nodereplacechildinvalidnodetype() { + var success; + if(checkInitialization(builder, "hc_nodereplacechildinvalidnodetype") != null) return; + var doc; + var rootNode; + var newChild; + var elementList; + var oldChild; + var replacedChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newChild = doc.createAttribute("lang"); + elementList = doc.getElementsByTagName("p"); + oldChild = elementList.item(1); + rootNode = oldChild.parentNode; + + + { + success = false; + try { + replacedChild = rootNode.replaceChild(newChild,oldChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 3); + } + assertTrue("throw_HIERARCHY_REQUEST_ERR",success); + } + +} + + + + +function runTest() { + hc_nodereplacechildinvalidnodetype(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodevalue03.js b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodevalue03.js new file mode 100644 index 0000000..e61671a --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodevalue03.js @@ -0,0 +1,138 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodevalue03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +An entity reference is created, setNodeValue is called with a non-null argument, but getNodeValue +should still return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-11C98490 +*/ +function hc_nodevalue03() { + var success; + if(checkInitialization(builder, "hc_nodevalue03") != null) return; + var doc; + var newNode; + var newValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + + if( + + (builder.contentType == "text/html") + + ) { + + { + success = false; + try { + newNode = doc.createEntityReference("ent1"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 9); + } + assertTrue("throw_NOT_SUPPORTED_ERR",success); + } + + } + + else { + newNode = doc.createEntityReference("ent1"); + assertNotNull("createdEntRefNotNull",newNode); +newValue = newNode.nodeValue; + + assertNull("initiallyNull",newValue); + newNode.nodeValue = "This should have no effect"; + + newValue = newNode.nodeValue; + + assertNull("nullAfterAttemptedChange",newValue); + + } + +} + + + + +function runTest() { + hc_nodevalue03(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement01.js new file mode 100644 index 0000000..a9265cc --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement01.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The accessKey attribute is a single character access key to give + access to the form control. + + Retrieve the accessKey attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-89647724 +*/ +function HTMLAnchorElement01() { + var success; + if(checkInitialization(builder, "HTMLAnchorElement01") != null) return; + var nodeList; + var testNode; + var vaccesskey; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vaccesskey = testNode.accessKey; + + assertEquals("accessKeyLink","g",vaccesskey); + +} + + + + +function runTest() { + HTMLAnchorElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement04.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement04.js new file mode 100644 index 0000000..01e2e2d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement04.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The href attribute contains the URL of the linked resource. + + Retrieve the href attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88517319 +*/ +function HTMLAnchorElement04() { + var success; + if(checkInitialization(builder, "HTMLAnchorElement04") != null) return; + var nodeList; + var testNode; + var vhref; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vhref = testNode.href; + + assertURIEquals("hrefLink",null,null,null,"submit.gif",null,null,null,null,vhref); + +} + + + + +function runTest() { + HTMLAnchorElement04(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement05.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement05.js new file mode 100644 index 0000000..61ef509 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement05.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The hreflang attribute contains the language code of the linked resource. + + Retrieve the hreflang attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87358513 +*/ +function HTMLAnchorElement05() { + var success; + if(checkInitialization(builder, "HTMLAnchorElement05") != null) return; + var nodeList; + var testNode; + var vhreflink; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vhreflink = testNode.hreflang; + + assertEquals("hreflangLink","en",vhreflink); + +} + + + + +function runTest() { + HTMLAnchorElement05(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement07.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement07.js new file mode 100644 index 0000000..996450d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement07.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The rel attribute contains the forward link type. + + Retrieve the rel attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-3815891 +*/ +function HTMLAnchorElement07() { + var success; + if(checkInitialization(builder, "HTMLAnchorElement07") != null) return; + var nodeList; + var testNode; + var vrel; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vrel = testNode.rel; + + assertEquals("relLink","GLOSSARY",vrel); + +} + + + + +function runTest() { + HTMLAnchorElement07(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement10.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement10.js new file mode 100644 index 0000000..a64af76 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement10.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The tabIndex attribute contains an index that represents the elements + position in the tabbing order. + + Retrieve the tabIndex attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-41586466 +*/ +function HTMLAnchorElement10() { + var success; + if(checkInitialization(builder, "HTMLAnchorElement10") != null) return; + var nodeList; + var testNode; + var vtabindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtabindex = testNode.tabIndex; + + assertEquals("tabIndexLink",22,vtabindex); + +} + + + + +function runTest() { + HTMLAnchorElement10(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement11.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement11.js new file mode 100644 index 0000000..2c82789 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement11.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor2"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The target attribute specifies the frame to render the source in. + + Retrieve the target attribute and examine it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6414197 +*/ +function HTMLAnchorElement11() { + var success; + if(checkInitialization(builder, "HTMLAnchorElement11") != null) return; + var nodeList; + var testNode; + var vtarget; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor2"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtarget = testNode.target; + + assertEquals("targetLink","dynamic",vtarget); + +} + + + + +function runTest() { + HTMLAnchorElement11(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement12.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement12.js new file mode 100644 index 0000000..604cbcb --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement12.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The type attribute contains the advisory content model. + + Retrieve the type attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63938221 +*/ +function HTMLAnchorElement12() { + var success; + if(checkInitialization(builder, "HTMLAnchorElement12") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","image/gif",vtype); + +} + + + + +function runTest() { + HTMLAnchorElement12(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement13.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement13.js new file mode 100644 index 0000000..81f1ee6 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement13.js @@ -0,0 +1,107 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement13"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +HTMLAnchorElement.blur should surrender input focus. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-65068939 +*/ +function HTMLAnchorElement13() { + var success; + if(checkInitialization(builder, "HTMLAnchorElement13") != null) return; + var nodeList; + var testNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + testNode.blur(); + +} + + + + +function runTest() { + HTMLAnchorElement13(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement14.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement14.js new file mode 100644 index 0000000..f45f091 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement14.js @@ -0,0 +1,107 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement14"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +HTMLAnchorElement.focus should capture input focus. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-47150313 +*/ +function HTMLAnchorElement14() { + var success; + if(checkInitialization(builder, "HTMLAnchorElement14") != null) return; + var nodeList; + var testNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + testNode.focus(); + +} + + + + +function runTest() { + HTMLAnchorElement14(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAreaElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAreaElement01.js new file mode 100644 index 0000000..ef529b4 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAreaElement01.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAreaElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "area"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The accessKey attribute specifies a single character access key to + give access to the control form. + + Retrieve the accessKey attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-57944457 +*/ +function HTMLAreaElement01() { + var success; + if(checkInitialization(builder, "HTMLAreaElement01") != null) return; + var nodeList; + var testNode; + var vaccesskey; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "area"); + nodeList = doc.getElementsByTagName("area"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vaccesskey = testNode.accessKey; + + assertEquals("alignLink","a",vaccesskey); + +} + + + + +function runTest() { + HTMLAreaElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAreaElement02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAreaElement02.js new file mode 100644 index 0000000..95cca4d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAreaElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAreaElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "area"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The alt attribute specifies an alternate text for user agents not + rendering the normal content of this element. + + Retrieve the alt attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39775416 +*/ +function HTMLAreaElement02() { + var success; + if(checkInitialization(builder, "HTMLAreaElement02") != null) return; + var nodeList; + var testNode; + var valt; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "area"); + nodeList = doc.getElementsByTagName("area"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valt = testNode.alt; + + assertEquals("altLink","Domain",valt); + +} + + + + +function runTest() { + HTMLAreaElement02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAreaElement03.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAreaElement03.js new file mode 100644 index 0000000..0f2e564 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAreaElement03.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAreaElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "area"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The coords attribute specifies a comma-seperated list of lengths, + defining an active region geometry. + + Retrieve the coords attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-66021476 +*/ +function HTMLAreaElement03() { + var success; + if(checkInitialization(builder, "HTMLAreaElement03") != null) return; + var nodeList; + var testNode; + var vcoords; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "area"); + nodeList = doc.getElementsByTagName("area"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcoords = testNode.coords; + + assertEquals("coordsLink","0,2,45,45",vcoords); + +} + + + + +function runTest() { + HTMLAreaElement03(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAreaElement04.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAreaElement04.js new file mode 100644 index 0000000..2c1cd85 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAreaElement04.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAreaElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "area"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The href attribute specifies the URI of the linked resource. + + Retrieve the href attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-34672936 +*/ +function HTMLAreaElement04() { + var success; + if(checkInitialization(builder, "HTMLAreaElement04") != null) return; + var nodeList; + var testNode; + var vhref; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "area"); + nodeList = doc.getElementsByTagName("area"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vhref = testNode.href; + + assertURIEquals("hrefLink",null,null,null,"dletter.html",null,null,null,null,vhref); + +} + + + + +function runTest() { + HTMLAreaElement04(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAreaElement05.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAreaElement05.js new file mode 100644 index 0000000..d7e8c3a --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAreaElement05.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAreaElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "area"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The noHref attribute specifies that this area is inactive. + + Retrieve the noHref attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-61826871 +*/ +function HTMLAreaElement05() { + var success; + if(checkInitialization(builder, "HTMLAreaElement05") != null) return; + var nodeList; + var testNode; + var vnohref; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "area"); + nodeList = doc.getElementsByTagName("area"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vnohref = testNode.noHref; + + assertFalse("noHrefLink",vnohref); + +} + + + + +function runTest() { + HTMLAreaElement05(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAreaElement06.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAreaElement06.js new file mode 100644 index 0000000..04e39eb --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAreaElement06.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAreaElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "area"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The shape attribute specifies the shape of the active area. + + Retrieve the shape attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-85683271 +*/ +function HTMLAreaElement06() { + var success; + if(checkInitialization(builder, "HTMLAreaElement06") != null) return; + var nodeList; + var testNode; + var vshape; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "area"); + nodeList = doc.getElementsByTagName("area"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vshape = testNode.shape; + + assertEquals("shapeLink","rect".toLowerCase(),vshape.toLowerCase()); + +} + + + + +function runTest() { + HTMLAreaElement06(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAreaElement07.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAreaElement07.js new file mode 100644 index 0000000..0324425 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAreaElement07.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAreaElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "area"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The tabIndex attribute specifies an index that represents the element's + position in the tabbing order. + + Retrieve the tabIndex attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-8722121 +*/ +function HTMLAreaElement07() { + var success; + if(checkInitialization(builder, "HTMLAreaElement07") != null) return; + var nodeList; + var testNode; + var vtabindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "area"); + nodeList = doc.getElementsByTagName("area"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtabindex = testNode.tabIndex; + + assertEquals("tabIndexLink",10,vtabindex); + +} + + + + +function runTest() { + HTMLAreaElement07(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAreaElement08.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAreaElement08.js new file mode 100644 index 0000000..6ae1dde --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAreaElement08.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAreaElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "area2"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The target specifies the frame to render the resource in. + + Retrieve the target attribute and examine it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-46054682 +*/ +function HTMLAreaElement08() { + var success; + if(checkInitialization(builder, "HTMLAreaElement08") != null) return; + var nodeList; + var testNode; + var vtarget; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "area2"); + nodeList = doc.getElementsByTagName("area"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtarget = testNode.target; + + assertEquals("targetLink","dynamic",vtarget); + +} + + + + +function runTest() { + HTMLAreaElement08(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLButtonElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLButtonElement01.js new file mode 100644 index 0000000..b78f113 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLButtonElement01.js @@ -0,0 +1,116 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLButtonElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns the FORM element containing this control. + + Retrieve the form attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71254493 +*/ +function HTMLButtonElement01() { + var success; + if(checkInitialization(builder, "HTMLButtonElement01") != null) return; + var nodeList; + var testNode; + var fNode; + var vform; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + fNode = testNode.form; + + vform = fNode.id; + + assertEquals("formLink","form2",vform); + +} + + + + +function runTest() { + HTMLButtonElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLButtonElement02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLButtonElement02.js new file mode 100644 index 0000000..d603116 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLButtonElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLButtonElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns null if control in not within the context of + form. + + Retrieve the form attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71254493 +*/ +function HTMLButtonElement02() { + var success; + if(checkInitialization(builder, "HTMLButtonElement02") != null) return; + var nodeList; + var testNode; + var vform; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vform = testNode.form; + + assertNull("formNullLink",vform); + +} + + + + +function runTest() { + HTMLButtonElement02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLButtonElement03.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLButtonElement03.js new file mode 100644 index 0000000..80f2a82 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLButtonElement03.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLButtonElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The accessKey attribute returns a single character access key to + give access to the form control. + + Retrieve the accessKey attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-73169431 +*/ +function HTMLButtonElement03() { + var success; + if(checkInitialization(builder, "HTMLButtonElement03") != null) return; + var nodeList; + var testNode; + var vaccesskey; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vaccesskey = testNode.accessKey; + + assertEquals("accessKeyLink","f",vaccesskey); + +} + + + + +function runTest() { + HTMLButtonElement03(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLButtonElement04.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLButtonElement04.js new file mode 100644 index 0000000..f21d7a5 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLButtonElement04.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLButtonElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The disabled attribute specifies whether the control is unavailable + in this context. + + Retrieve the disabled attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-92757155 +*/ +function HTMLButtonElement04() { + var success; + if(checkInitialization(builder, "HTMLButtonElement04") != null) return; + var nodeList; + var testNode; + var vdisabled; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vdisabled = testNode.disabled; + + assertTrue("disabledLink",vdisabled); + +} + + + + +function runTest() { + HTMLButtonElement04(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLButtonElement05.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLButtonElement05.js new file mode 100644 index 0000000..753b536 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLButtonElement05.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLButtonElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The name attribute is the form control or object name when submitted + with a form. + + Retrieve the name attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-11029910 +*/ +function HTMLButtonElement05() { + var success; + if(checkInitialization(builder, "HTMLButtonElement05") != null) return; + var nodeList; + var testNode; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vname = testNode.name; + + assertEquals("nameLink","disabledButton",vname); + +} + + + + +function runTest() { + HTMLButtonElement05(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLButtonElement06.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLButtonElement06.js new file mode 100644 index 0000000..9ece4a2 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLButtonElement06.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLButtonElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The tabIndex attribute specifies an index that represents the element's + position in the tabbing order. + + Retrieve the tabIndex attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39190908 +*/ +function HTMLButtonElement06() { + var success; + if(checkInitialization(builder, "HTMLButtonElement06") != null) return; + var nodeList; + var testNode; + var vtabindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vtabindex = testNode.tabIndex; + + assertEquals("tabIndexLink",20,vtabindex); + +} + + + + +function runTest() { + HTMLButtonElement06(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLButtonElement07.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLButtonElement07.js new file mode 100644 index 0000000..94e674e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLButtonElement07.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLButtonElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The type attribute specifies the type of button. + + Retrieve the type attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-27430092 +*/ +function HTMLButtonElement07() { + var success; + if(checkInitialization(builder, "HTMLButtonElement07") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","reset",vtype); + +} + + + + +function runTest() { + HTMLButtonElement07(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLButtonElement08.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLButtonElement08.js new file mode 100644 index 0000000..316bf15 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLButtonElement08.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLButtonElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The value attribute specifies the current control value. + + Retrieve the value attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-72856782 +*/ +function HTMLButtonElement08() { + var success; + if(checkInitialization(builder, "HTMLButtonElement08") != null) return; + var nodeList; + var testNode; + var vvalue; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vvalue = testNode.value; + + assertEquals("valueLink","Reset Disabled Button",vvalue); + +} + + + + +function runTest() { + HTMLButtonElement08(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument01.js new file mode 100644 index 0000000..57ce0ab --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument01.js @@ -0,0 +1,109 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute is the specified title as a string. + + Retrieve the title attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-18446827 +*/ +function HTMLDocument01() { + var success; + if(checkInitialization(builder, "HTMLDocument01") != null) return; + var nodeList; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + vtitle = doc.title; + + assertEquals("titleLink","NIST DOM HTML Test - DOCUMENT",vtitle); + +} + + + + +function runTest() { + HTMLDocument01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument05.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument05.js new file mode 100644 index 0000000..cbbd213 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument05.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The body attribute is the element that contains the content for the + document. + + Retrieve the body attribute and examine its value for the id attribute. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-56360201 +*/ +function HTMLDocument05() { + var success; + if(checkInitialization(builder, "HTMLDocument05") != null) return; + var nodeList; + var testNode; + var vbody; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + vbody = doc.body; + + vid = vbody.id; + + assertEquals("idLink","TEST-BODY",vid); + +} + + + + +function runTest() { + HTMLDocument05(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument15.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument15.js new file mode 100644 index 0000000..f60d2b7 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument15.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument15"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The getElementById method returns the Element whose id is given by + elementId. If no such element exists, returns null. + + Retrieve the element whose id is "mapid". + Check the value of the element. + + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-36113835 +* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-26809268 +* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-getElBId +*/ +function HTMLDocument15() { + var success; + if(checkInitialization(builder, "HTMLDocument15") != null) return; + var elementNode; + var elementValue; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + elementNode = doc.getElementById("mapid"); + elementValue = elementNode.nodeName; + + assertEqualsAutoCase("element", "elementId","map",elementValue); + +} + + + + +function runTest() { + HTMLDocument15(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument16.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument16.js new file mode 100644 index 0000000..a6c0543 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument16.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument16"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The getElementById method returns the Element whose id is given by + elementId. If no such element exists, returns null. + + Retrieve the element whose id is "noid". + The value returned should be null since there are not any elements with + an id of "noid". + + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-36113835 +* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-26809268 +* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-getElBId +*/ +function HTMLDocument16() { + var success; + if(checkInitialization(builder, "HTMLDocument16") != null) return; + var elementNode; + var elementValue; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + elementNode = doc.getElementById("noid"); + assertNull("elementId",elementNode); + +} + + + + +function runTest() { + HTMLDocument16(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument17.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument17.js new file mode 100644 index 0000000..e9226e1 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument17.js @@ -0,0 +1,119 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument17"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Clears the current document using HTMLDocument.open immediately followed by close. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-72161170 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98948567 +*/ +function HTMLDocument17() { + var success; + if(checkInitialization(builder, "HTMLDocument17") != null) return; + var doc; + var bodyElem; + var bodyChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + doc.open(); + doc.close(); + bodyElem = doc.body; + + + if( + + (bodyElem != null) + + ) { + bodyChild = bodyElem.firstChild; + + assertNull("bodyContainsChildren",bodyChild); + + } + +} + + + + +function runTest() { + HTMLDocument17(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument18.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument18.js new file mode 100644 index 0000000..254593e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument18.js @@ -0,0 +1,102 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument18"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Calls HTMLDocument.close on a document that has not been opened for modification. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98948567 +*/ +function HTMLDocument18() { + var success; + if(checkInitialization(builder, "HTMLDocument18") != null) return; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + doc.close(); + +} + + + + +function runTest() { + HTMLDocument18(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument19.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument19.js new file mode 100644 index 0000000..7137836 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument19.js @@ -0,0 +1,129 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument19"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Replaces the current document with a valid HTML document using HTMLDocument.open, write and close. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-72161170 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98948567 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75233634 +*/ +function HTMLDocument19() { + var success; + if(checkInitialization(builder, "HTMLDocument19") != null) return; + var doc; + var docElem; + var title; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + doc.open(); + + if( + + (builder.contentType == "text/html") + + ) { + doc.write(""); + + } + + else { + doc.write(""); + + } + doc.write(""); + doc.write("Replacement"); + doc.write(""); + doc.write("

    "); + doc.write("Hello, World."); + doc.write("

    "); + doc.write(""); + doc.write(""); + doc.close(); + +} + + + + +function runTest() { + HTMLDocument19(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument20.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument20.js new file mode 100644 index 0000000..38bb598 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument20.js @@ -0,0 +1,129 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument20"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Replaces the current document with a valid HTML document using HTMLDocument.open, writeln and close. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-72161170 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98948567 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-35318390 +*/ +function HTMLDocument20() { + var success; + if(checkInitialization(builder, "HTMLDocument20") != null) return; + var doc; + var docElem; + var title; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + doc.open(); + + if( + + (builder.contentType == "text/html") + + ) { + doc.writeln(""); + + } + + else { + doc.writeln(""); + + } + doc.writeln(""); + doc.writeln("Replacement"); + doc.writeln(""); + doc.writeln("

    "); + doc.writeln("Hello, World."); + doc.writeln("

    "); + doc.writeln(""); + doc.writeln(""); + doc.close(); + +} + + + + +function runTest() { + HTMLDocument20(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument21.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument21.js new file mode 100644 index 0000000..52f94df --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument21.js @@ -0,0 +1,138 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument21"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Replaces the current document checks that writeln adds a new line. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-72161170 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98948567 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75233634 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-35318390 +*/ +function HTMLDocument21() { + var success; + if(checkInitialization(builder, "HTMLDocument21") != null) return; + var doc; + var docElem; + var preElems; + var preElem; + var preText; + var preValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + doc.open(); + + if( + + (builder.contentType == "text/html") + + ) { + doc.writeln(""); + + } + + else { + doc.writeln(""); + + } + doc.writeln(""); + doc.writeln("Replacement"); + doc.writeln(""); + doc.write("
    ");
    +      doc.writeln("Hello, World.");
    +      doc.writeln("Hello, World.");
    +      doc.writeln("
    "); + doc.write("
    ");
    +      doc.write("Hello, World.");
    +      doc.write("Hello, World.");
    +      doc.writeln("
    "); + doc.writeln(""); + doc.writeln(""); + doc.close(); + +} + + + + +function runTest() { + HTMLDocument21(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement01.js new file mode 100644 index 0000000..e9c3c43 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the HEAD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement01() { + var success; + if(checkInitialization(builder, "HTMLElement01") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("head"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-HEAD",vid); + +} + + + + +function runTest() { + HTMLElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement02.js new file mode 100644 index 0000000..8af6509 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement02.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the SUB element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement02() { + var success; + if(checkInitialization(builder, "HTMLElement02") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("sub"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-SUB",vid); + +} + + + + +function runTest() { + HTMLElement02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement03.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement03.js new file mode 100644 index 0000000..c9a9da2 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement03.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the SUP element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement03() { + var success; + if(checkInitialization(builder, "HTMLElement03") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("sup"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-SUP",vid); + +} + + + + +function runTest() { + HTMLElement03(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement04.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement04.js new file mode 100644 index 0000000..bb6af3a --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement04.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the SPAN element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement04() { + var success; + if(checkInitialization(builder, "HTMLElement04") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("span"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-SPAN",vid); + +} + + + + +function runTest() { + HTMLElement04(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement05.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement05.js new file mode 100644 index 0000000..056d122 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement05.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the BDO element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement05() { + var success; + if(checkInitialization(builder, "HTMLElement05") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("bdo"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-BDO",vid); + +} + + + + +function runTest() { + HTMLElement05(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement06.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement06.js new file mode 100644 index 0000000..80434d0 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement06.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the TT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement06() { + var success; + if(checkInitialization(builder, "HTMLElement06") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("tt"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-TT",vid); + +} + + + + +function runTest() { + HTMLElement06(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement07.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement07.js new file mode 100644 index 0000000..c18742c --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement07.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the I element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement07() { + var success; + if(checkInitialization(builder, "HTMLElement07") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("i"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-I",vid); + +} + + + + +function runTest() { + HTMLElement07(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement08.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement08.js new file mode 100644 index 0000000..0772de1 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement08.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the B element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement08() { + var success; + if(checkInitialization(builder, "HTMLElement08") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("b"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-B",vid); + +} + + + + +function runTest() { + HTMLElement08(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement09.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement09.js new file mode 100644 index 0000000..fab7c70 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement09.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the U element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement09() { + var success; + if(checkInitialization(builder, "HTMLElement09") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("u"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-U",vid); + +} + + + + +function runTest() { + HTMLElement09(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement10.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement10.js new file mode 100644 index 0000000..4c7cf44 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement10.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the S element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement10() { + var success; + if(checkInitialization(builder, "HTMLElement10") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("s"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-S",vid); + +} + + + + +function runTest() { + HTMLElement10(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement100.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement100.js new file mode 100644 index 0000000..cb483aa --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement100.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement100"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the SMALL element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement100() { + var success; + if(checkInitialization(builder, "HTMLElement100") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("small"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement100(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement101.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement101.js new file mode 100644 index 0000000..544027c --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement101.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement101"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the EM element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement101() { + var success; + if(checkInitialization(builder, "HTMLElement101") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("em"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement101(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement102.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement102.js new file mode 100644 index 0000000..674d54e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement102.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement102"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the STRONG element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement102() { + var success; + if(checkInitialization(builder, "HTMLElement102") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("strong"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement102(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement103.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement103.js new file mode 100644 index 0000000..5d1e1b7 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement103.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement103"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the DFN element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement103() { + var success; + if(checkInitialization(builder, "HTMLElement103") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dfn"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement103(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement104.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement104.js new file mode 100644 index 0000000..9007dd7 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement104.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement104"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the CODE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement104() { + var success; + if(checkInitialization(builder, "HTMLElement104") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("code"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement104(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement105.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement105.js new file mode 100644 index 0000000..228ebf0 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement105.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement105"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the SAMP element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement105() { + var success; + if(checkInitialization(builder, "HTMLElement105") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("samp"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement105(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement106.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement106.js new file mode 100644 index 0000000..03c7706 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement106.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement106"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the KBD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement106() { + var success; + if(checkInitialization(builder, "HTMLElement106") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("kbd"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement106(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement107.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement107.js new file mode 100644 index 0000000..459db0a --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement107.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement107"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the VAR element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement107() { + var success; + if(checkInitialization(builder, "HTMLElement107") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("var"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement107(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement108.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement108.js new file mode 100644 index 0000000..6a7bfd7 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement108.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement108"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the CITE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement108() { + var success; + if(checkInitialization(builder, "HTMLElement108") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("cite"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement108(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement109.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement109.js new file mode 100644 index 0000000..f4237b7 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement109.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement109"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the ACRONYM element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement109() { + var success; + if(checkInitialization(builder, "HTMLElement109") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("acronym"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement109(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement11.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement11.js new file mode 100644 index 0000000..6ba22ad --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement11.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the STRIKE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement11() { + var success; + if(checkInitialization(builder, "HTMLElement11") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("strike"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-STRIKE",vid); + +} + + + + +function runTest() { + HTMLElement11(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement110.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement110.js new file mode 100644 index 0000000..2a16af3 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement110.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement110"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the ABBR element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement110() { + var success; + if(checkInitialization(builder, "HTMLElement110") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("abbr"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement110(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement111.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement111.js new file mode 100644 index 0000000..4a0a562 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement111.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement111"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the DD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement111() { + var success; + if(checkInitialization(builder, "HTMLElement111") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dd"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement111(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement112.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement112.js new file mode 100644 index 0000000..c8c4f41 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement112.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement112"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the DT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement112() { + var success; + if(checkInitialization(builder, "HTMLElement112") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dt"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement112(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement113.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement113.js new file mode 100644 index 0000000..e7dde6f --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement113.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement113"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the NOFRAMES element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement113() { + var success; + if(checkInitialization(builder, "HTMLElement113") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("noframes"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement113(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement114.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement114.js new file mode 100644 index 0000000..c51bd98 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement114.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement114"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the NOSCRIPT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement114() { + var success; + if(checkInitialization(builder, "HTMLElement114") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("noscript"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement114(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement115.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement115.js new file mode 100644 index 0000000..fdd9ba4 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement115.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement115"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the ADDRESS element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement115() { + var success; + if(checkInitialization(builder, "HTMLElement115") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("address"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement115(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement116.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement116.js new file mode 100644 index 0000000..9008915 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement116.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement116"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the CENTER element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement116() { + var success; + if(checkInitialization(builder, "HTMLElement116") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("center"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement116(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement117.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement117.js new file mode 100644 index 0000000..0ee8c6e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement117.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement117"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the HEAD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement117() { + var success; + if(checkInitialization(builder, "HTMLElement117") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("head"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","HEAD-class",vclassname); + +} + + + + +function runTest() { + HTMLElement117(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement118.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement118.js new file mode 100644 index 0000000..818a97d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement118.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement118"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the SUB element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement118() { + var success; + if(checkInitialization(builder, "HTMLElement118") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("sub"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","SUB-class",vclassname); + +} + + + + +function runTest() { + HTMLElement118(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement119.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement119.js new file mode 100644 index 0000000..58898f3 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement119.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement119"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the SUP element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement119() { + var success; + if(checkInitialization(builder, "HTMLElement119") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("sup"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","SUP-class",vclassname); + +} + + + + +function runTest() { + HTMLElement119(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement12.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement12.js new file mode 100644 index 0000000..59393fa --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement12.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the BIG element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement12() { + var success; + if(checkInitialization(builder, "HTMLElement12") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("big"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-BIG",vid); + +} + + + + +function runTest() { + HTMLElement12(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement120.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement120.js new file mode 100644 index 0000000..3298278 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement120.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement120"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the SPAN element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement120() { + var success; + if(checkInitialization(builder, "HTMLElement120") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("span"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","SPAN-class",vclassname); + +} + + + + +function runTest() { + HTMLElement120(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement121.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement121.js new file mode 100644 index 0000000..ef69745 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement121.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement121"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the BDO element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement121() { + var success; + if(checkInitialization(builder, "HTMLElement121") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("bdo"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","BDO-class",vclassname); + +} + + + + +function runTest() { + HTMLElement121(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement122.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement122.js new file mode 100644 index 0000000..4285f67 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement122.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement122"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the TT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement122() { + var success; + if(checkInitialization(builder, "HTMLElement122") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("tt"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","TT-class",vclassname); + +} + + + + +function runTest() { + HTMLElement122(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement123.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement123.js new file mode 100644 index 0000000..5381e18 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement123.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement123"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the I element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement123() { + var success; + if(checkInitialization(builder, "HTMLElement123") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("i"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","I-class",vclassname); + +} + + + + +function runTest() { + HTMLElement123(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement124.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement124.js new file mode 100644 index 0000000..15097e0 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement124.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement124"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the B element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement124() { + var success; + if(checkInitialization(builder, "HTMLElement124") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("b"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","B-class",vclassname); + +} + + + + +function runTest() { + HTMLElement124(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement125.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement125.js new file mode 100644 index 0000000..22af864 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement125.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement125"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the U element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement125() { + var success; + if(checkInitialization(builder, "HTMLElement125") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("u"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","U-class",vclassname); + +} + + + + +function runTest() { + HTMLElement125(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement126.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement126.js new file mode 100644 index 0000000..4026e7e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement126.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement126"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the S element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement126() { + var success; + if(checkInitialization(builder, "HTMLElement126") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("s"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","S-class",vclassname); + +} + + + + +function runTest() { + HTMLElement126(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement127.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement127.js new file mode 100644 index 0000000..b302bcf --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement127.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement127"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the STRIKE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement127() { + var success; + if(checkInitialization(builder, "HTMLElement127") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("strike"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","STRIKE-class",vclassname); + +} + + + + +function runTest() { + HTMLElement127(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement128.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement128.js new file mode 100644 index 0000000..490a3ea --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement128.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement128"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the BIG element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement128() { + var success; + if(checkInitialization(builder, "HTMLElement128") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("big"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","BIG-class",vclassname); + +} + + + + +function runTest() { + HTMLElement128(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement129.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement129.js new file mode 100644 index 0000000..0a46d87 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement129.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement129"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the SMALL element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement129() { + var success; + if(checkInitialization(builder, "HTMLElement129") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("small"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","SMALL-class",vclassname); + +} + + + + +function runTest() { + HTMLElement129(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement13.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement13.js new file mode 100644 index 0000000..6ff3486 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement13.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement13"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the SMALL element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement13() { + var success; + if(checkInitialization(builder, "HTMLElement13") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("small"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-SMALL",vid); + +} + + + + +function runTest() { + HTMLElement13(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement130.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement130.js new file mode 100644 index 0000000..f5a10fe --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement130.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement130"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the EM element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement130() { + var success; + if(checkInitialization(builder, "HTMLElement130") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("em"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","EM-class",vclassname); + +} + + + + +function runTest() { + HTMLElement130(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement131.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement131.js new file mode 100644 index 0000000..fff3d81 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement131.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement131"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the STRONG element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement131() { + var success; + if(checkInitialization(builder, "HTMLElement131") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("strong"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","STRONG-class",vclassname); + +} + + + + +function runTest() { + HTMLElement131(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement132.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement132.js new file mode 100644 index 0000000..6f617cd --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement132.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement132"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the DFN element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement132() { + var success; + if(checkInitialization(builder, "HTMLElement132") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dfn"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","DFN-class",vclassname); + +} + + + + +function runTest() { + HTMLElement132(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement133.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement133.js new file mode 100644 index 0000000..10ffd29 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement133.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement133"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the CODE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement133() { + var success; + if(checkInitialization(builder, "HTMLElement133") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("code"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","CODE-class",vclassname); + +} + + + + +function runTest() { + HTMLElement133(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement134.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement134.js new file mode 100644 index 0000000..2c452d2 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement134.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement134"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the SAMP element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement134() { + var success; + if(checkInitialization(builder, "HTMLElement134") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("samp"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","SAMP-class",vclassname); + +} + + + + +function runTest() { + HTMLElement134(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement135.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement135.js new file mode 100644 index 0000000..b726eb2 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement135.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement135"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the KBD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement135() { + var success; + if(checkInitialization(builder, "HTMLElement135") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("kbd"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","KBD-class",vclassname); + +} + + + + +function runTest() { + HTMLElement135(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement136.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement136.js new file mode 100644 index 0000000..b790ea0 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement136.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement136"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the VAR element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement136() { + var success; + if(checkInitialization(builder, "HTMLElement136") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("var"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","VAR-class",vclassname); + +} + + + + +function runTest() { + HTMLElement136(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement137.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement137.js new file mode 100644 index 0000000..44cc553 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement137.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement137"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the CITE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement137() { + var success; + if(checkInitialization(builder, "HTMLElement137") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("cite"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","CITE-class",vclassname); + +} + + + + +function runTest() { + HTMLElement137(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement138.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement138.js new file mode 100644 index 0000000..2a2df22 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement138.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement138"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the ACRONYM element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement138() { + var success; + if(checkInitialization(builder, "HTMLElement138") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("acronym"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","ACRONYM-class",vclassname); + +} + + + + +function runTest() { + HTMLElement138(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement139.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement139.js new file mode 100644 index 0000000..1ecef9a --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement139.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement139"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the ABBR element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement139() { + var success; + if(checkInitialization(builder, "HTMLElement139") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("abbr"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","ABBR-class",vclassname); + +} + + + + +function runTest() { + HTMLElement139(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement14.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement14.js new file mode 100644 index 0000000..24c045b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement14.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement14"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the EM element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement14() { + var success; + if(checkInitialization(builder, "HTMLElement14") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("em"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-EM",vid); + +} + + + + +function runTest() { + HTMLElement14(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement140.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement140.js new file mode 100644 index 0000000..d9522c1 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement140.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement140"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the DD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement140() { + var success; + if(checkInitialization(builder, "HTMLElement140") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dd"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","DD-class",vclassname); + +} + + + + +function runTest() { + HTMLElement140(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement141.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement141.js new file mode 100644 index 0000000..ccd7acf --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement141.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement141"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the DT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement141() { + var success; + if(checkInitialization(builder, "HTMLElement141") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dt"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","DT-class",vclassname); + +} + + + + +function runTest() { + HTMLElement141(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement142.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement142.js new file mode 100644 index 0000000..9ba56ba --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement142.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement142"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the NOFRAMES element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement142() { + var success; + if(checkInitialization(builder, "HTMLElement142") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("noframes"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","NOFRAMES-class",vclassname); + +} + + + + +function runTest() { + HTMLElement142(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement143.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement143.js new file mode 100644 index 0000000..6fa2949 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement143.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement143"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the NOSCRIPT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement143() { + var success; + if(checkInitialization(builder, "HTMLElement143") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("noscript"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","NOSCRIPT-class",vclassname); + +} + + + + +function runTest() { + HTMLElement143(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement144.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement144.js new file mode 100644 index 0000000..0005aac --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement144.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement144"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the ADDRESS element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement144() { + var success; + if(checkInitialization(builder, "HTMLElement144") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("address"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","ADDRESS-class",vclassname); + +} + + + + +function runTest() { + HTMLElement144(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement145.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement145.js new file mode 100644 index 0000000..360b7f5 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement145.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement145"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the CENTER element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement145() { + var success; + if(checkInitialization(builder, "HTMLElement145") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("center"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","CENTER-class",vclassname); + +} + + + + +function runTest() { + HTMLElement145(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement15.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement15.js new file mode 100644 index 0000000..d1a7937 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement15.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement15"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the STRONG element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement15() { + var success; + if(checkInitialization(builder, "HTMLElement15") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("strong"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-STRONG",vid); + +} + + + + +function runTest() { + HTMLElement15(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement16.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement16.js new file mode 100644 index 0000000..f4af647 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement16.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement16"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the DFN element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement16() { + var success; + if(checkInitialization(builder, "HTMLElement16") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dfn"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-DFN",vid); + +} + + + + +function runTest() { + HTMLElement16(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement17.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement17.js new file mode 100644 index 0000000..ac7623c --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement17.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement17"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the CODE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement17() { + var success; + if(checkInitialization(builder, "HTMLElement17") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("code"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-CODE",vid); + +} + + + + +function runTest() { + HTMLElement17(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement18.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement18.js new file mode 100644 index 0000000..4b35a26 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement18.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement18"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the SAMP element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement18() { + var success; + if(checkInitialization(builder, "HTMLElement18") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("samp"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-SAMP",vid); + +} + + + + +function runTest() { + HTMLElement18(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement19.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement19.js new file mode 100644 index 0000000..5482f26 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement19.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement19"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the KBD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement19() { + var success; + if(checkInitialization(builder, "HTMLElement19") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("kbd"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-KBD",vid); + +} + + + + +function runTest() { + HTMLElement19(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement20.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement20.js new file mode 100644 index 0000000..d50a352 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement20.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement20"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the VAR element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement20() { + var success; + if(checkInitialization(builder, "HTMLElement20") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("var"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-VAR",vid); + +} + + + + +function runTest() { + HTMLElement20(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement21.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement21.js new file mode 100644 index 0000000..a33c682 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement21.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement21"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the CITE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement21() { + var success; + if(checkInitialization(builder, "HTMLElement21") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("cite"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-CITE",vid); + +} + + + + +function runTest() { + HTMLElement21(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement22.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement22.js new file mode 100644 index 0000000..2c94717 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement22.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement22"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the ACRONYM element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement22() { + var success; + if(checkInitialization(builder, "HTMLElement22") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("acronym"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-ACRONYM",vid); + +} + + + + +function runTest() { + HTMLElement22(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement23.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement23.js new file mode 100644 index 0000000..9897a08 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement23.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement23"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the ABBR element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement23() { + var success; + if(checkInitialization(builder, "HTMLElement23") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("abbr"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-ABBR",vid); + +} + + + + +function runTest() { + HTMLElement23(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement24.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement24.js new file mode 100644 index 0000000..e7d45ef --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement24.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement24"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the DD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement24() { + var success; + if(checkInitialization(builder, "HTMLElement24") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dd"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-DD",vid); + +} + + + + +function runTest() { + HTMLElement24(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement25.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement25.js new file mode 100644 index 0000000..3129f44 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement25.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement25"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the DT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement25() { + var success; + if(checkInitialization(builder, "HTMLElement25") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dt"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-DT",vid); + +} + + + + +function runTest() { + HTMLElement25(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement26.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement26.js new file mode 100644 index 0000000..5eb2657 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement26.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement26"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the NOFRAMES element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement26() { + var success; + if(checkInitialization(builder, "HTMLElement26") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("noframes"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-NOFRAMES",vid); + +} + + + + +function runTest() { + HTMLElement26(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement27.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement27.js new file mode 100644 index 0000000..180cbc7 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement27.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement27"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the NOSCRIPT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement27() { + var success; + if(checkInitialization(builder, "HTMLElement27") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("noscript"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-NOSCRIPT",vid); + +} + + + + +function runTest() { + HTMLElement27(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement28.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement28.js new file mode 100644 index 0000000..d851c15 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement28.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement28"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the ADDRESS element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement28() { + var success; + if(checkInitialization(builder, "HTMLElement28") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("address"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-ADDRESS",vid); + +} + + + + +function runTest() { + HTMLElement28(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement29.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement29.js new file mode 100644 index 0000000..7612c4c --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement29.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement29"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the CENTER element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement29() { + var success; + if(checkInitialization(builder, "HTMLElement29") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("center"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-CENTER",vid); + +} + + + + +function runTest() { + HTMLElement29(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement30.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement30.js new file mode 100644 index 0000000..4eaa63b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement30.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement30"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the HEAD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement30() { + var success; + if(checkInitialization(builder, "HTMLElement30") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("head"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","HEAD Element",vtitle); + +} + + + + +function runTest() { + HTMLElement30(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement31.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement31.js new file mode 100644 index 0000000..b7fdc98 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement31.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement31"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the SUB element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement31() { + var success; + if(checkInitialization(builder, "HTMLElement31") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("sub"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","SUB Element",vtitle); + +} + + + + +function runTest() { + HTMLElement31(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement32.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement32.js new file mode 100644 index 0000000..b48c310 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement32.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement32"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the SUP element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement32() { + var success; + if(checkInitialization(builder, "HTMLElement32") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("sup"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","SUP Element",vtitle); + +} + + + + +function runTest() { + HTMLElement32(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement33.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement33.js new file mode 100644 index 0000000..4b6824f --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement33.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement33"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the SPAN element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement33() { + var success; + if(checkInitialization(builder, "HTMLElement33") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("span"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","SPAN Element",vtitle); + +} + + + + +function runTest() { + HTMLElement33(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement34.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement34.js new file mode 100644 index 0000000..1340f7b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement34.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement34"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the BDO element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement34() { + var success; + if(checkInitialization(builder, "HTMLElement34") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("bdo"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","BDO Element",vtitle); + +} + + + + +function runTest() { + HTMLElement34(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement35.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement35.js new file mode 100644 index 0000000..4264639 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement35.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement35"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the TT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement35() { + var success; + if(checkInitialization(builder, "HTMLElement35") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("tt"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","TT Element",vtitle); + +} + + + + +function runTest() { + HTMLElement35(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement36.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement36.js new file mode 100644 index 0000000..5c10480 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement36.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement36"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the I element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement36() { + var success; + if(checkInitialization(builder, "HTMLElement36") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("i"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","I Element",vtitle); + +} + + + + +function runTest() { + HTMLElement36(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement37.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement37.js new file mode 100644 index 0000000..68dcf12 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement37.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement37"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the B element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement37() { + var success; + if(checkInitialization(builder, "HTMLElement37") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("b"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","B Element",vtitle); + +} + + + + +function runTest() { + HTMLElement37(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement38.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement38.js new file mode 100644 index 0000000..607ba1c --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement38.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement38"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the U element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement38() { + var success; + if(checkInitialization(builder, "HTMLElement38") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("u"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","U Element",vtitle); + +} + + + + +function runTest() { + HTMLElement38(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement39.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement39.js new file mode 100644 index 0000000..c85be70 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement39.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement39"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the S element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement39() { + var success; + if(checkInitialization(builder, "HTMLElement39") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("s"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","S Element",vtitle); + +} + + + + +function runTest() { + HTMLElement39(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement40.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement40.js new file mode 100644 index 0000000..0bd9f65 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement40.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement40"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the STRIKE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement40() { + var success; + if(checkInitialization(builder, "HTMLElement40") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("strike"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","STRIKE Element",vtitle); + +} + + + + +function runTest() { + HTMLElement40(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement41.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement41.js new file mode 100644 index 0000000..792e1f4 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement41.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement41"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the BIG element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement41() { + var success; + if(checkInitialization(builder, "HTMLElement41") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("big"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","BIG Element",vtitle); + +} + + + + +function runTest() { + HTMLElement41(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement42.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement42.js new file mode 100644 index 0000000..2dfb6b2 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement42.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement42"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the SMALL element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement42() { + var success; + if(checkInitialization(builder, "HTMLElement42") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("small"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","SMALL Element",vtitle); + +} + + + + +function runTest() { + HTMLElement42(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement43.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement43.js new file mode 100644 index 0000000..afa4cad --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement43.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement43"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the EM element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement43() { + var success; + if(checkInitialization(builder, "HTMLElement43") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("em"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","EM Element",vtitle); + +} + + + + +function runTest() { + HTMLElement43(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement44.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement44.js new file mode 100644 index 0000000..d327e32 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement44.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement44"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the STRONG element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement44() { + var success; + if(checkInitialization(builder, "HTMLElement44") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("strong"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","STRONG Element",vtitle); + +} + + + + +function runTest() { + HTMLElement44(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement45.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement45.js new file mode 100644 index 0000000..fbac213 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement45.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement45"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the DFN element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement45() { + var success; + if(checkInitialization(builder, "HTMLElement45") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dfn"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","DFN Element",vtitle); + +} + + + + +function runTest() { + HTMLElement45(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement46.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement46.js new file mode 100644 index 0000000..825fb8f --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement46.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement46"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the CODE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement46() { + var success; + if(checkInitialization(builder, "HTMLElement46") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("code"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","CODE Element",vtitle); + +} + + + + +function runTest() { + HTMLElement46(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement47.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement47.js new file mode 100644 index 0000000..d5a3383 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement47.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement47"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the SAMP element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement47() { + var success; + if(checkInitialization(builder, "HTMLElement47") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("samp"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","SAMP Element",vtitle); + +} + + + + +function runTest() { + HTMLElement47(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement48.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement48.js new file mode 100644 index 0000000..4245e28 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement48.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement48"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the KBD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement48() { + var success; + if(checkInitialization(builder, "HTMLElement48") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("kbd"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","KBD Element",vtitle); + +} + + + + +function runTest() { + HTMLElement48(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement49.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement49.js new file mode 100644 index 0000000..0b4099b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement49.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement49"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the VAR element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement49() { + var success; + if(checkInitialization(builder, "HTMLElement49") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("var"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","VAR Element",vtitle); + +} + + + + +function runTest() { + HTMLElement49(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement50.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement50.js new file mode 100644 index 0000000..d1ebdf7 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement50.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement50"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the CITE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement50() { + var success; + if(checkInitialization(builder, "HTMLElement50") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("cite"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","CITE Element",vtitle); + +} + + + + +function runTest() { + HTMLElement50(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement51.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement51.js new file mode 100644 index 0000000..f512269 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement51.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement51"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the ACRONYM element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement51() { + var success; + if(checkInitialization(builder, "HTMLElement51") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("acronym"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","ACRONYM Element",vtitle); + +} + + + + +function runTest() { + HTMLElement51(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement52.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement52.js new file mode 100644 index 0000000..97ed7ce --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement52.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement52"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the ABBR element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement52() { + var success; + if(checkInitialization(builder, "HTMLElement52") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("abbr"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","ABBR Element",vtitle); + +} + + + + +function runTest() { + HTMLElement52(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement53.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement53.js new file mode 100644 index 0000000..c725643 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement53.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement53"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the DD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement53() { + var success; + if(checkInitialization(builder, "HTMLElement53") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dd"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","DD Element",vtitle); + +} + + + + +function runTest() { + HTMLElement53(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement54.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement54.js new file mode 100644 index 0000000..64859fe --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement54.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement54"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the DT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement54() { + var success; + if(checkInitialization(builder, "HTMLElement54") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dt"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","DT Element",vtitle); + +} + + + + +function runTest() { + HTMLElement54(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement55.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement55.js new file mode 100644 index 0000000..c5d6dfe --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement55.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement55"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the NOFRAMES element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement55() { + var success; + if(checkInitialization(builder, "HTMLElement55") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("noframes"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","NOFRAMES Element",vtitle); + +} + + + + +function runTest() { + HTMLElement55(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement56.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement56.js new file mode 100644 index 0000000..7f83399 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement56.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement56"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the NOSCRIPT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement56() { + var success; + if(checkInitialization(builder, "HTMLElement56") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("noscript"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","NOSCRIPT Element",vtitle); + +} + + + + +function runTest() { + HTMLElement56(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement57.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement57.js new file mode 100644 index 0000000..d9a2697 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement57.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement57"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the ADDRESS element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement57() { + var success; + if(checkInitialization(builder, "HTMLElement57") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("address"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","ADDRESS Element",vtitle); + +} + + + + +function runTest() { + HTMLElement57(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement58.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement58.js new file mode 100644 index 0000000..3716161 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement58.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement58"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the CENTER element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement58() { + var success; + if(checkInitialization(builder, "HTMLElement58") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("center"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","CENTER Element",vtitle); + +} + + + + +function runTest() { + HTMLElement58(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement59.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement59.js new file mode 100644 index 0000000..9361262 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement59.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement59"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the HEAD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement59() { + var success; + if(checkInitialization(builder, "HTMLElement59") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("head"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement59(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement60.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement60.js new file mode 100644 index 0000000..c5de5ce --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement60.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement60"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the SUB element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement60() { + var success; + if(checkInitialization(builder, "HTMLElement60") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("sub"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement60(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement61.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement61.js new file mode 100644 index 0000000..acc368b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement61.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement61"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the SUP element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement61() { + var success; + if(checkInitialization(builder, "HTMLElement61") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("sup"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement61(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement62.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement62.js new file mode 100644 index 0000000..7c61525 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement62.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement62"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the SPAN element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement62() { + var success; + if(checkInitialization(builder, "HTMLElement62") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("span"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement62(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement63.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement63.js new file mode 100644 index 0000000..6b7d3d2 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement63.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement63"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the BDO element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement63() { + var success; + if(checkInitialization(builder, "HTMLElement63") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("bdo"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement63(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement64.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement64.js new file mode 100644 index 0000000..a9efc97 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement64.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement64"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the TT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement64() { + var success; + if(checkInitialization(builder, "HTMLElement64") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("tt"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement64(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement65.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement65.js new file mode 100644 index 0000000..9ad20a3 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement65.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement65"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the I element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement65() { + var success; + if(checkInitialization(builder, "HTMLElement65") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("i"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement65(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement66.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement66.js new file mode 100644 index 0000000..aa8539e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement66.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement66"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the B element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement66() { + var success; + if(checkInitialization(builder, "HTMLElement66") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("b"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement66(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement67.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement67.js new file mode 100644 index 0000000..5591270 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement67.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement67"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the U element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement67() { + var success; + if(checkInitialization(builder, "HTMLElement67") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("u"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement67(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement68.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement68.js new file mode 100644 index 0000000..3cecb74 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement68.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement68"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the S element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement68() { + var success; + if(checkInitialization(builder, "HTMLElement68") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("s"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement68(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement69.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement69.js new file mode 100644 index 0000000..f872bbc --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement69.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement69"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the STRIKE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement69() { + var success; + if(checkInitialization(builder, "HTMLElement69") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("strike"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement69(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement70.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement70.js new file mode 100644 index 0000000..25765c8 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement70.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement70"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the BIG element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement70() { + var success; + if(checkInitialization(builder, "HTMLElement70") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("big"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement70(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement71.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement71.js new file mode 100644 index 0000000..374a076 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement71.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement71"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the SMALL element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement71() { + var success; + if(checkInitialization(builder, "HTMLElement71") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("small"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement71(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement72.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement72.js new file mode 100644 index 0000000..2a4d6bf --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement72.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement72"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the EM element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement72() { + var success; + if(checkInitialization(builder, "HTMLElement72") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("em"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement72(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement73.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement73.js new file mode 100644 index 0000000..bb8d09d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement73.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement73"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the STRONG element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement73() { + var success; + if(checkInitialization(builder, "HTMLElement73") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("strong"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement73(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement74.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement74.js new file mode 100644 index 0000000..1a8355e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement74.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement74"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the DFN element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement74() { + var success; + if(checkInitialization(builder, "HTMLElement74") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dfn"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement74(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement75.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement75.js new file mode 100644 index 0000000..383cc45 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement75.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement75"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the CODE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement75() { + var success; + if(checkInitialization(builder, "HTMLElement75") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("code"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement75(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement76.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement76.js new file mode 100644 index 0000000..c6ae96c --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement76.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement76"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the SAMP element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement76() { + var success; + if(checkInitialization(builder, "HTMLElement76") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("samp"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement76(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement77.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement77.js new file mode 100644 index 0000000..e81fd64 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement77.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement77"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the KBD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement77() { + var success; + if(checkInitialization(builder, "HTMLElement77") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("kbd"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement77(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement78.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement78.js new file mode 100644 index 0000000..57379e9 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement78.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement78"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the VAR element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement78() { + var success; + if(checkInitialization(builder, "HTMLElement78") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("var"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement78(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement79.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement79.js new file mode 100644 index 0000000..950cd88 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement79.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement79"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the CITE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement79() { + var success; + if(checkInitialization(builder, "HTMLElement79") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("cite"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement79(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement80.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement80.js new file mode 100644 index 0000000..a8d8f7e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement80.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement80"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the ACRONYM element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement80() { + var success; + if(checkInitialization(builder, "HTMLElement80") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("acronym"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement80(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement81.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement81.js new file mode 100644 index 0000000..b32bd02 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement81.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement81"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the ABBR element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement81() { + var success; + if(checkInitialization(builder, "HTMLElement81") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("abbr"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement81(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement82.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement82.js new file mode 100644 index 0000000..95bc905 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement82.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement82"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the DD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement82() { + var success; + if(checkInitialization(builder, "HTMLElement82") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dd"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement82(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement83.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement83.js new file mode 100644 index 0000000..978178e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement83.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement83"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the DT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement83() { + var success; + if(checkInitialization(builder, "HTMLElement83") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dt"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement83(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement84.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement84.js new file mode 100644 index 0000000..82424d2 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement84.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement84"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the NOFRAMES element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement84() { + var success; + if(checkInitialization(builder, "HTMLElement84") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("noframes"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement84(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement85.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement85.js new file mode 100644 index 0000000..4345c91 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement85.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement85"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the NOSCRIPT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement85() { + var success; + if(checkInitialization(builder, "HTMLElement85") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("noscript"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement85(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement86.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement86.js new file mode 100644 index 0000000..e451df9 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement86.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement86"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the ADDRESS element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement86() { + var success; + if(checkInitialization(builder, "HTMLElement86") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("address"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement86(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement87.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement87.js new file mode 100644 index 0000000..1ee2256 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement87.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement87"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the CENTER element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement87() { + var success; + if(checkInitialization(builder, "HTMLElement87") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("center"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement87(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement88.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement88.js new file mode 100644 index 0000000..9d5851a --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement88.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement88"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the HEAD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement88() { + var success; + if(checkInitialization(builder, "HTMLElement88") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("head"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement88(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement89.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement89.js new file mode 100644 index 0000000..20b337d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement89.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement89"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the SUB element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement89() { + var success; + if(checkInitialization(builder, "HTMLElement89") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("sub"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement89(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement90.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement90.js new file mode 100644 index 0000000..bf60dd9 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement90.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement90"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the SUP element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement90() { + var success; + if(checkInitialization(builder, "HTMLElement90") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("sup"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement90(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement91.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement91.js new file mode 100644 index 0000000..5fd73af --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement91.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement91"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the SPAN element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement91() { + var success; + if(checkInitialization(builder, "HTMLElement91") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("span"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement91(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement92.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement92.js new file mode 100644 index 0000000..36be79b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement92.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement92"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the BDO element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement92() { + var success; + if(checkInitialization(builder, "HTMLElement92") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("bdo"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement92(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement93.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement93.js new file mode 100644 index 0000000..eab5171 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement93.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement93"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the TT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement93() { + var success; + if(checkInitialization(builder, "HTMLElement93") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("tt"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement93(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement94.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement94.js new file mode 100644 index 0000000..00ee75d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement94.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement94"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the I element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement94() { + var success; + if(checkInitialization(builder, "HTMLElement94") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("i"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement94(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement95.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement95.js new file mode 100644 index 0000000..5c89e6b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement95.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement95"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the B element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement95() { + var success; + if(checkInitialization(builder, "HTMLElement95") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("b"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement95(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement96.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement96.js new file mode 100644 index 0000000..eecad7b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement96.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement96"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the U element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement96() { + var success; + if(checkInitialization(builder, "HTMLElement96") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("u"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement96(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement97.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement97.js new file mode 100644 index 0000000..b383f5a --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement97.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement97"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the S element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement97() { + var success; + if(checkInitialization(builder, "HTMLElement97") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("s"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement97(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement98.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement98.js new file mode 100644 index 0000000..19a60b0 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement98.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement98"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the STRIKE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement98() { + var success; + if(checkInitialization(builder, "HTMLElement98") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("strike"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement98(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement99.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement99.js new file mode 100644 index 0000000..8ea7258 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement99.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement99"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the BIG element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement99() { + var success; + if(checkInitialization(builder, "HTMLElement99") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("big"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement99(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement01.js new file mode 100644 index 0000000..c308420 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement01.js @@ -0,0 +1,116 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFieldSetElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "fieldset"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns the FORM element containing this control. + + Retrieve the form attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75392630 +*/ +function HTMLFieldSetElement01() { + var success; + if(checkInitialization(builder, "HTMLFieldSetElement01") != null) return; + var nodeList; + var testNode; + var vform; + var fNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "fieldset"); + nodeList = doc.getElementsByTagName("fieldset"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + fNode = testNode.form; + + vform = fNode.id; + + assertEquals("formLink","form2",vform); + +} + + + + +function runTest() { + HTMLFieldSetElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement02.js new file mode 100644 index 0000000..c63c92c --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFieldSetElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "fieldset"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns null if control in not within the context of + form. + + Retrieve the form attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75392630 +*/ +function HTMLFieldSetElement02() { + var success; + if(checkInitialization(builder, "HTMLFieldSetElement02") != null) return; + var nodeList; + var testNode; + var vform; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "fieldset"); + nodeList = doc.getElementsByTagName("fieldset"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vform = testNode.form; + + assertNull("formNullLink",vform); + +} + + + + +function runTest() { + HTMLFieldSetElement02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLFormElement03.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLFormElement03.js new file mode 100644 index 0000000..a4b79bb --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLFormElement03.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFormElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "form"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id(name) attribute specifies the name of the form. + + Retrieve the id attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-22051454 +*/ +function HTMLFormElement03() { + var success; + if(checkInitialization(builder, "HTMLFormElement03") != null) return; + var nodeList; + var testNode; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "form"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vname = testNode.id; + + assertEquals("nameLink","form1",vname); + +} + + + + +function runTest() { + HTMLFormElement03(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLFormElement04.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLFormElement04.js new file mode 100644 index 0000000..1343e02 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLFormElement04.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFormElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "form"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The acceptCharset attribute specifies the list of character sets + supported by the server. + + Retrieve the acceptCharset attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-19661795 +*/ +function HTMLFormElement04() { + var success; + if(checkInitialization(builder, "HTMLFormElement04") != null) return; + var nodeList; + var testNode; + var vacceptcharset; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "form"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vacceptcharset = testNode.acceptCharset; + + assertEquals("acceptCharsetLink","US-ASCII",vacceptcharset); + +} + + + + +function runTest() { + HTMLFormElement04(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLFormElement05.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLFormElement05.js new file mode 100644 index 0000000..ac05c42 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLFormElement05.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFormElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "form"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The action attribute specifies the server-side form handler. + + Retrieve the action attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-74049184 +*/ +function HTMLFormElement05() { + var success; + if(checkInitialization(builder, "HTMLFormElement05") != null) return; + var nodeList; + var testNode; + var vaction; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "form"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vaction = testNode.action; + + assertURIEquals("actionLink",null,null,null,"getData.pl",null,null,null,null,vaction); + +} + + + + +function runTest() { + HTMLFormElement05(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLFormElement06.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLFormElement06.js new file mode 100644 index 0000000..d61fb0c --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLFormElement06.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFormElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "form"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The enctype attribute specifies the content of the submitted form. + + Retrieve the enctype attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-84227810 +*/ +function HTMLFormElement06() { + var success; + if(checkInitialization(builder, "HTMLFormElement06") != null) return; + var nodeList; + var testNode; + var venctype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "form"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + venctype = testNode.enctype; + + assertEquals("enctypeLink","application/x-www-form-urlencoded",venctype); + +} + + + + +function runTest() { + HTMLFormElement06(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLFormElement07.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLFormElement07.js new file mode 100644 index 0000000..3516b4e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLFormElement07.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFormElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "form"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The method attribute specifies the HTTP method used to submit the form. + + Retrieve the method attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-82545539 +*/ +function HTMLFormElement07() { + var success; + if(checkInitialization(builder, "HTMLFormElement07") != null) return; + var nodeList; + var testNode; + var vmethod; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "form"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vmethod = testNode.method; + + assertEquals("methodLink","post",vmethod); + +} + + + + +function runTest() { + HTMLFormElement07(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLFormElement08.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLFormElement08.js new file mode 100644 index 0000000..93655ba --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLFormElement08.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFormElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "form2"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The target attribute specifies the frame to render the resource in. + + Retrieve the target attribute and examine it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6512890 +*/ +function HTMLFormElement08() { + var success; + if(checkInitialization(builder, "HTMLFormElement08") != null) return; + var nodeList; + var testNode; + var vtarget; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "form2"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtarget = testNode.target; + + assertEquals("targetLink","dynamic",vtarget); + +} + + + + +function runTest() { + HTMLFormElement08(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement03.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement03.js new file mode 100644 index 0000000..7c3cf5d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement03.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIFrameElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "iframe"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The height attribute specifies the frame height. + + Retrieve the height attribute of the first IFRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-1678118 +*/ +function HTMLIFrameElement03() { + var success; + if(checkInitialization(builder, "HTMLIFrameElement03") != null) return; + var nodeList; + var testNode; + var vheight; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "iframe"); + nodeList = doc.getElementsByTagName("iframe"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vheight = testNode.height; + + assertEquals("heightLink","50",vheight); + +} + + + + +function runTest() { + HTMLIFrameElement03(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement07.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement07.js new file mode 100644 index 0000000..8eda1d9 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement07.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIFrameElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "iframe"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The name attribute specifies the frame name(object of the target + attribute). + + Retrieve the name attribute of the first IFRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96819659 +*/ +function HTMLIFrameElement07() { + var success; + if(checkInitialization(builder, "HTMLIFrameElement07") != null) return; + var nodeList; + var testNode; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "iframe"); + nodeList = doc.getElementsByTagName("iframe"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vname = testNode.name; + + assertEquals("nameLink","Iframe1",vname); + +} + + + + +function runTest() { + HTMLIFrameElement07(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement09.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement09.js new file mode 100644 index 0000000..05f227d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement09.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIFrameElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "iframe"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The src attribute specifies a URI designating the initial frame contents. + + Retrieve the src attribute of the first FRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-43933957 +*/ +function HTMLIFrameElement09() { + var success; + if(checkInitialization(builder, "HTMLIFrameElement09") != null) return; + var nodeList; + var testNode; + var vsrc; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "iframe"); + nodeList = doc.getElementsByTagName("iframe"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vsrc = testNode.src; + + assertURIEquals("srcLink",null,null,null,null,"right",null,null,null,vsrc); + +} + + + + +function runTest() { + HTMLIFrameElement09(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement10.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement10.js new file mode 100644 index 0000000..87df1f5 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement10.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIFrameElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "iframe"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The width attribute specifies the frame width. + + Retrieve the width attribute of the first IFRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-67133005 +*/ +function HTMLIFrameElement10() { + var success; + if(checkInitialization(builder, "HTMLIFrameElement10") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "iframe"); + nodeList = doc.getElementsByTagName("iframe"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vwidth = testNode.width; + + assertEquals("widthLink","60",vwidth); + +} + + + + +function runTest() { + HTMLIFrameElement10(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLImageElement05.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLImageElement05.js new file mode 100644 index 0000000..b11671f --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLImageElement05.js @@ -0,0 +1,125 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "img"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The height attribute overrides the natural "height" of the image. Retrieve the height attribute and examine its value. + + This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-91561496 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 +*/ +function HTMLImageElement05() { + var success; + if(checkInitialization(builder, "HTMLImageElement05") != null) return; + var nodeList; + var testNode; + var vheight; + var doc; + var domImpl; + var hasHTML2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "img"); + domImpl = doc.implementation; +hasHTML2 = domImpl.hasFeature("HTML","2.0"); + + if( + + !hasHTML2 + ) { + nodeList = doc.getElementsByTagName("img"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vheight = testNode.height; + + assertEquals("heightLink","47",vheight); + + } + +} + + + + +function runTest() { + HTMLImageElement05(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLImageElement06.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLImageElement06.js new file mode 100644 index 0000000..babd977 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLImageElement06.js @@ -0,0 +1,128 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "img"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The hspace attribute specifies the horizontal space to the left and + right of this image. + + Retrieve the hspace attribute and examine its value. + + This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-53675471 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 +*/ +function HTMLImageElement06() { + var success; + if(checkInitialization(builder, "HTMLImageElement06") != null) return; + var nodeList; + var testNode; + var vhspace; + var doc; + var domImpl; + var hasHTML2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "img"); + domImpl = doc.implementation; +hasHTML2 = domImpl.hasFeature("HTML","2.0"); + + if( + + !hasHTML2 + ) { + nodeList = doc.getElementsByTagName("img"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vhspace = testNode.hspace; + + assertEquals("hspaceLink","4",vhspace); + + } + +} + + + + +function runTest() { + HTMLImageElement06(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLImageElement07.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLImageElement07.js new file mode 100644 index 0000000..0e7cd06 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLImageElement07.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "img"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The isMap attribute indicates the use of server-side image map. + + Retrieve the isMap attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-58983880 +*/ +function HTMLImageElement07() { + var success; + if(checkInitialization(builder, "HTMLImageElement07") != null) return; + var nodeList; + var testNode; + var vismap; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "img"); + nodeList = doc.getElementsByTagName("img"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vismap = testNode.isMap; + + assertFalse("isMapLink",vismap); + +} + + + + +function runTest() { + HTMLImageElement07(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLImageElement09.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLImageElement09.js new file mode 100644 index 0000000..c362b82 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLImageElement09.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "img"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The src attribute contains an URI designating the source of this image. + + Retrieve the src attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87762984 +*/ +function HTMLImageElement09() { + var success; + if(checkInitialization(builder, "HTMLImageElement09") != null) return; + var nodeList; + var testNode; + var vsrc; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "img"); + nodeList = doc.getElementsByTagName("img"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vsrc = testNode.src; + + assertURIEquals("srcLink",null,null,null,"dts.gif",null,null,null,null,vsrc); + +} + + + + +function runTest() { + HTMLImageElement09(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLImageElement11.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLImageElement11.js new file mode 100644 index 0000000..b21b839 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLImageElement11.js @@ -0,0 +1,128 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "img"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The vspace attribute specifies the vertical space above and below this + image. + + Retrieve the vspace attribute and examine its value. + + This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-85374897 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 +*/ +function HTMLImageElement11() { + var success; + if(checkInitialization(builder, "HTMLImageElement11") != null) return; + var nodeList; + var testNode; + var vvspace; + var doc; + var domImpl; + var hasHTML2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "img"); + domImpl = doc.implementation; +hasHTML2 = domImpl.hasFeature("HTML","2.0"); + + if( + + !hasHTML2 + ) { + nodeList = doc.getElementsByTagName("img"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vvspace = testNode.vspace; + + assertEquals("vspaceLink","10",vvspace); + + } + +} + + + + +function runTest() { + HTMLImageElement11(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLImageElement12.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLImageElement12.js new file mode 100644 index 0000000..ef8d61b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLImageElement12.js @@ -0,0 +1,127 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "img"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The width attribute overrides the natural "width" of the image. + + Retrieve the width attribute and examine its value. + + This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-13839076 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 +*/ +function HTMLImageElement12() { + var success; + if(checkInitialization(builder, "HTMLImageElement12") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + var domImpl; + var hasHTML2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "img"); + domImpl = doc.implementation; +hasHTML2 = domImpl.hasFeature("HTML","2.0"); + + if( + + !hasHTML2 + ) { + nodeList = doc.getElementsByTagName("img"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vwidth = testNode.width; + + assertEquals("widthLink","115",vwidth); + + } + +} + + + + +function runTest() { + HTMLImageElement12(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement01.js new file mode 100644 index 0000000..9dd8135 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement01.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The defaultValue attribute represents the HTML value of the attribute + when the type attribute has the value of "Text", "File" or "Password". + + Retrieve the defaultValue attribute of the 1st INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-26091157 +*/ +function HTMLInputElement01() { + var success; + if(checkInitialization(builder, "HTMLInputElement01") != null) return; + var nodeList; + var testNode; + var vdefaultvalue; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(0); + vdefaultvalue = testNode.defaultValue; + + assertEquals("defaultValueLink","Password",vdefaultvalue); + +} + + + + +function runTest() { + HTMLInputElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement02.js new file mode 100644 index 0000000..80257f5 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement02.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The defaultChecked attribute represents the HTML checked attribute of + the element when the type attribute has the value checkbox or radio. + + Retrieve the defaultValue attribute of the 4th INPUT element and + examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-20509171 +*/ +function HTMLInputElement02() { + var success; + if(checkInitialization(builder, "HTMLInputElement02") != null) return; + var nodeList; + var testNode; + var vdefaultchecked; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(3); + vdefaultchecked = testNode.defaultChecked; + + assertTrue("defaultCheckedLink",vdefaultchecked); + +} + + + + +function runTest() { + HTMLInputElement02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement03.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement03.js new file mode 100644 index 0000000..27a48c2 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement03.js @@ -0,0 +1,116 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns the FORM element containing this control. + + Retrieve the form attribute of the 1st INPUT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63239895 +*/ +function HTMLInputElement03() { + var success; + if(checkInitialization(builder, "HTMLInputElement03") != null) return; + var nodeList; + var testNode; + var vform; + var fNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(0); + fNode = testNode.form; + + vform = fNode.id; + + assertEquals("formLink","form1",vform); + +} + + + + +function runTest() { + HTMLInputElement03(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement04.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement04.js new file mode 100644 index 0000000..3d32ebd --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement04.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The accept attribute is a comma-seperated list of content types that + a server processing this form will handle correctly. + + Retrieve the accept attribute of the 9th INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-15328520 +*/ +function HTMLInputElement04() { + var success; + if(checkInitialization(builder, "HTMLInputElement04") != null) return; + var nodeList; + var testNode; + var vaccept; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(8); + vaccept = testNode.accept; + + assertEquals("acceptLink","GIF,JPEG",vaccept); + +} + + + + +function runTest() { + HTMLInputElement04(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement05.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement05.js new file mode 100644 index 0000000..a9acc28 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement05.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The accessKey attribute is a single character access key to give access + to the form control. + + Retrieve the accessKey attribute of the 2nd INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59914154 +*/ +function HTMLInputElement05() { + var success; + if(checkInitialization(builder, "HTMLInputElement05") != null) return; + var nodeList; + var testNode; + var vaccesskey; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(1); + vaccesskey = testNode.accessKey; + + assertEquals("accesskeyLink","c",vaccesskey); + +} + + + + +function runTest() { + HTMLInputElement05(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement07.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement07.js new file mode 100644 index 0000000..27b046d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement07.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The alt attribute alternates text for user agents not rendering the + normal content of this element. + + Retrieve the alt attribute of the 1st INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-92701314 +*/ +function HTMLInputElement07() { + var success; + if(checkInitialization(builder, "HTMLInputElement07") != null) return; + var nodeList; + var testNode; + var valt; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(0); + valt = testNode.alt; + + assertEquals("altLink","Password entry",valt); + +} + + + + +function runTest() { + HTMLInputElement07(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement08.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement08.js new file mode 100644 index 0000000..f4aad49 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement08.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The checked attribute represents the current state of the corresponding + form control when type has the value Radio or Checkbox. + + Retrieve the accept attribute of the 3rd INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-30233917 +*/ +function HTMLInputElement08() { + var success; + if(checkInitialization(builder, "HTMLInputElement08") != null) return; + var nodeList; + var testNode; + var vchecked; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(2); + vchecked = testNode.checked; + + assertTrue("checkedLink",vchecked); + +} + + + + +function runTest() { + HTMLInputElement08(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement09.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement09.js new file mode 100644 index 0000000..5ec9a0e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement09.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The disabled attribute has a TRUE value if it is explicitly set. + + Retrieve the disabled attribute of the 7th INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-50886781 +*/ +function HTMLInputElement09() { + var success; + if(checkInitialization(builder, "HTMLInputElement09") != null) return; + var nodeList; + var testNode; + var vdisabled; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(6); + vdisabled = testNode.disabled; + + assertTrue("disabledLink",vdisabled); + +} + + + + +function runTest() { + HTMLInputElement09(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement10.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement10.js new file mode 100644 index 0000000..10564f6 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement10.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The maxLength attribute is the maximum number of text characters for text + fields, when type has the value of Text or Password. + + Retrieve the maxLenght attribute of the 1st INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-54719353 +*/ +function HTMLInputElement10() { + var success; + if(checkInitialization(builder, "HTMLInputElement10") != null) return; + var nodeList; + var testNode; + var vmaxlength; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(0); + vmaxlength = testNode.maxLength; + + assertEquals("maxlengthLink",5,vmaxlength); + +} + + + + +function runTest() { + HTMLInputElement10(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement11.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement11.js new file mode 100644 index 0000000..ff44902 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement11.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The name attribute is the form control or object name when submitted with + a form. + + Retrieve the name attribute of the 1st INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-89658498 +*/ +function HTMLInputElement11() { + var success; + if(checkInitialization(builder, "HTMLInputElement11") != null) return; + var nodeList; + var testNode; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(0); + vname = testNode.name; + + assertEquals("nameLink","Password",vname); + +} + + + + +function runTest() { + HTMLInputElement11(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement12.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement12.js new file mode 100644 index 0000000..30dac7e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement12.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The readOnly attribute indicates that this control is read-only when + type has a value of text or password only. + + Retrieve the readOnly attribute of the 1st INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88461592 +*/ +function HTMLInputElement12() { + var success; + if(checkInitialization(builder, "HTMLInputElement12") != null) return; + var nodeList; + var testNode; + var vreadonly; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(0); + vreadonly = testNode.readOnly; + + assertTrue("readonlyLink",vreadonly); + +} + + + + +function runTest() { + HTMLInputElement12(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement13.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement13.js new file mode 100644 index 0000000..2e82ba7 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement13.js @@ -0,0 +1,130 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement13"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The size attribute contains the size information. Its precise meaning + is specific to each type of field. + + Retrieve the size attribute of the 1st INPUT element and examine + its value. + + This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. + + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-79659438 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 +*/ +function HTMLInputElement13() { + var success; + if(checkInitialization(builder, "HTMLInputElement13") != null) return; + var nodeList; + var testNode; + var vsize; + var doc; + var domImpl; + var hasHTML2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + domImpl = doc.implementation; +hasHTML2 = domImpl.hasFeature("HTML","2.0"); + + if( + + !hasHTML2 + ) { + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(0); + vsize = testNode.size; + + assertEquals("sizeLink","25",vsize); + + } + +} + + + + +function runTest() { + HTMLInputElement13(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement14.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement14.js new file mode 100644 index 0000000..112fe07 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement14.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement14"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The src attribute specifies the location of the image to decorate the + graphical submit button when the type has the value Image. + + Retrieve the src attribute of the 8th INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-97320704 +*/ +function HTMLInputElement14() { + var success; + if(checkInitialization(builder, "HTMLInputElement14") != null) return; + var nodeList; + var testNode; + var vsrc; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(7); + vsrc = testNode.src; + + assertURIEquals("srcLink",null,null,null,"submit.gif",null,null,null,null,vsrc); + +} + + + + +function runTest() { + HTMLInputElement14(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement15.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement15.js new file mode 100644 index 0000000..2fd0c1d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement15.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement15"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The tabIndex attribute is an index that represents the elements position + in the tabbing order. + + Retrieve the tabIndex attribute of the 3rd INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-62176355 +*/ +function HTMLInputElement15() { + var success; + if(checkInitialization(builder, "HTMLInputElement15") != null) return; + var nodeList; + var testNode; + var vtabindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(2); + vtabindex = testNode.tabIndex; + + assertEquals("tabindexLink",9,vtabindex); + +} + + + + +function runTest() { + HTMLInputElement15(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement16.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement16.js new file mode 100644 index 0000000..335cf12 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement16.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement16"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The type attribute is the type of control created. + + Retrieve the type attribute of the 1st INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-62883744 +*/ +function HTMLInputElement16() { + var success; + if(checkInitialization(builder, "HTMLInputElement16") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","password",vtype); + +} + + + + +function runTest() { + HTMLInputElement16(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement18.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement18.js new file mode 100644 index 0000000..9d34ac1 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement18.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement18"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The value attribute is the current content of the corresponding form + control when the type attribute has the value Text, File or Password. + + Retrieve the value attribute of the 2nd INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-49531485 +*/ +function HTMLInputElement18() { + var success; + if(checkInitialization(builder, "HTMLInputElement18") != null) return; + var nodeList; + var testNode; + var vvalue; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(1); + vvalue = testNode.value; + + assertEquals("valueLink","ReHire",vvalue); + +} + + + + +function runTest() { + HTMLInputElement18(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement21.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement21.js new file mode 100644 index 0000000..cb7f7f4 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement21.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement21"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +HTMLInputElement.click should change the state of checked on a radio button. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-2651361 +*/ +function HTMLInputElement21() { + var success; + if(checkInitialization(builder, "HTMLInputElement21") != null) return; + var nodeList; + var testNode; + var doc; + var checked; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(1); + checked = testNode.checked; + + assertFalse("notCheckedBeforeClick",checked); +testNode.click(); + checked = testNode.checked; + + assertTrue("checkedAfterClick",checked); + +} + + + + +function runTest() { + HTMLInputElement21(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLIElement02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLIElement02.js new file mode 100644 index 0000000..bdaff41 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLIElement02.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLIElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "li"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The value attribute is a reset sequence number when used in OL. + + Retrieve the value attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-45496263 +*/ +function HTMLLIElement02() { + var success; + if(checkInitialization(builder, "HTMLLIElement02") != null) return; + var nodeList; + var testNode; + var vvalue; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "li"); + nodeList = doc.getElementsByTagName("li"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vvalue = testNode.value; + + assertEquals("valueLink",2,vvalue); + +} + + + + +function runTest() { + HTMLLIElement02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLabelElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLabelElement01.js new file mode 100644 index 0000000..927b3aa --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLabelElement01.js @@ -0,0 +1,116 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLabelElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "label"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns the FORM element containing this control. + + Retrieve the form attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-32480901 +*/ +function HTMLLabelElement01() { + var success; + if(checkInitialization(builder, "HTMLLabelElement01") != null) return; + var nodeList; + var testNode; + var vform; + var fNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "label"); + nodeList = doc.getElementsByTagName("label"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + fNode = testNode.form; + + vform = fNode.id; + + assertEquals("formLink","form1",vform); + +} + + + + +function runTest() { + HTMLLabelElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLabelElement02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLabelElement02.js new file mode 100644 index 0000000..f7c908b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLabelElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLabelElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "label"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns null if control in not within the context of + form. + + Retrieve the form attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-32480901 +*/ +function HTMLLabelElement02() { + var success; + if(checkInitialization(builder, "HTMLLabelElement02") != null) return; + var nodeList; + var testNode; + var vform; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "label"); + nodeList = doc.getElementsByTagName("label"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vform = testNode.form; + + assertNull("formNullLink",vform); + +} + + + + +function runTest() { + HTMLLabelElement02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLabelElement03.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLabelElement03.js new file mode 100644 index 0000000..380802d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLabelElement03.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLabelElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "label"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The accessKey attribute is a single character access key to give access + to the form control. + + Retrieve the accessKey attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-43589892 +*/ +function HTMLLabelElement03() { + var success; + if(checkInitialization(builder, "HTMLLabelElement03") != null) return; + var nodeList; + var testNode; + var vaccesskey; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "label"); + nodeList = doc.getElementsByTagName("label"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vaccesskey = testNode.accessKey; + + assertEquals("accesskeyLink","b",vaccesskey); + +} + + + + +function runTest() { + HTMLLabelElement03(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLabelElement04.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLabelElement04.js new file mode 100644 index 0000000..1a5681d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLabelElement04.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLabelElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "label"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The htmlFor attribute links this label with another form control by + id attribute. + + Retrieve the htmlFor attribute of the first LABEL element + and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96509813 +*/ +function HTMLLabelElement04() { + var success; + if(checkInitialization(builder, "HTMLLabelElement04") != null) return; + var nodeList; + var testNode; + var vhtmlfor; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "label"); + nodeList = doc.getElementsByTagName("label"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vhtmlfor = testNode.htmlFor; + + assertEquals("htmlForLink","input1",vhtmlfor); + +} + + + + +function runTest() { + HTMLLabelElement04(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLinkElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLinkElement01.js new file mode 100644 index 0000000..cf0bb6a --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLinkElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLinkElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "link"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The disabled attribute enables/disables the link. + + Retrieve the disabled attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87355129 +*/ +function HTMLLinkElement01() { + var success; + if(checkInitialization(builder, "HTMLLinkElement01") != null) return; + var nodeList; + var testNode; + var vdisabled; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "link"); + nodeList = doc.getElementsByTagName("link"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vdisabled = testNode.disabled; + + assertFalse("disabled",vdisabled); + +} + + + + +function runTest() { + HTMLLinkElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLinkElement03.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLinkElement03.js new file mode 100644 index 0000000..d8856f9 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLinkElement03.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLinkElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "link"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The href attribute specifies the URI of the linked resource. + + Retrieve the href attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33532588 +*/ +function HTMLLinkElement03() { + var success; + if(checkInitialization(builder, "HTMLLinkElement03") != null) return; + var nodeList; + var testNode; + var vhref; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "link"); + nodeList = doc.getElementsByTagName("link"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vhref = testNode.href; + + assertURIEquals("hrefLink",null,null,null,"glossary.html",null,null,null,null,vhref); + +} + + + + +function runTest() { + HTMLLinkElement03(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLinkElement04.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLinkElement04.js new file mode 100644 index 0000000..e3012bd --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLinkElement04.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLinkElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "link"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The hreflang attribute specifies the language code of the linked resource. + + Retrieve the hreflang attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-85145682 +*/ +function HTMLLinkElement04() { + var success; + if(checkInitialization(builder, "HTMLLinkElement04") != null) return; + var nodeList; + var testNode; + var vhreflang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "link"); + nodeList = doc.getElementsByTagName("link"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vhreflang = testNode.hreflang; + + assertEquals("hreflangLink","en",vhreflang); + +} + + + + +function runTest() { + HTMLLinkElement04(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLinkElement05.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLinkElement05.js new file mode 100644 index 0000000..35b59ca --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLinkElement05.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLinkElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "link"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The media attribute specifies the targeted media. + + Retrieve the media attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75813125 +*/ +function HTMLLinkElement05() { + var success; + if(checkInitialization(builder, "HTMLLinkElement05") != null) return; + var nodeList; + var testNode; + var vmedia; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "link"); + nodeList = doc.getElementsByTagName("link"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vmedia = testNode.media; + + assertEquals("mediaLink","screen",vmedia); + +} + + + + +function runTest() { + HTMLLinkElement05(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLinkElement06.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLinkElement06.js new file mode 100644 index 0000000..d9004b9 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLinkElement06.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLinkElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "link"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The rel attribute specifies the forward link type. + + Retrieve the rel attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-41369587 +*/ +function HTMLLinkElement06() { + var success; + if(checkInitialization(builder, "HTMLLinkElement06") != null) return; + var nodeList; + var testNode; + var vrel; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "link"); + nodeList = doc.getElementsByTagName("link"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vrel = testNode.rel; + + assertEquals("relLink","Glossary",vrel); + +} + + + + +function runTest() { + HTMLLinkElement06(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLinkElement08.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLinkElement08.js new file mode 100644 index 0000000..001e995 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLinkElement08.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLinkElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "link"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The type attribute specifies the advisory content type. + + Retrieve the type attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-32498296 +*/ +function HTMLLinkElement08() { + var success; + if(checkInitialization(builder, "HTMLLinkElement08") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "link"); + nodeList = doc.getElementsByTagName("link"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","text/html",vtype); + +} + + + + +function runTest() { + HTMLLinkElement08(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLMapElement02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLMapElement02.js new file mode 100644 index 0000000..5ba184f --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLMapElement02.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLMapElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "map"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The name attribute names the map(for use with usemap). + + Retrieve the name attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52696514 +*/ +function HTMLMapElement02() { + var success; + if(checkInitialization(builder, "HTMLMapElement02") != null) return; + var nodeList; + var testNode; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "map"); + nodeList = doc.getElementsByTagName("map"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vname = testNode.name; + + assertEquals("mapLink","mapid",vname); + +} + + + + +function runTest() { + HTMLMapElement02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLMetaElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLMetaElement01.js new file mode 100644 index 0000000..e344809 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLMetaElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLMetaElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "meta"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The content attribute specifies associated information. + + Retrieve the content attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87670826 +*/ +function HTMLMetaElement01() { + var success; + if(checkInitialization(builder, "HTMLMetaElement01") != null) return; + var nodeList; + var testNode; + var vcontent; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "meta"); + nodeList = doc.getElementsByTagName("meta"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcontent = testNode.content; + + assertEquals("contentLink","text/html; CHARSET=utf-8",vcontent); + +} + + + + +function runTest() { + HTMLMetaElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLMetaElement02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLMetaElement02.js new file mode 100644 index 0000000..3da9693 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLMetaElement02.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLMetaElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "meta"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The httpEquiv attribute specifies an HTTP respnse header name. + + Retrieve the httpEquiv attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-77289449 +*/ +function HTMLMetaElement02() { + var success; + if(checkInitialization(builder, "HTMLMetaElement02") != null) return; + var nodeList; + var testNode; + var vhttpequiv; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "meta"); + nodeList = doc.getElementsByTagName("meta"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vhttpequiv = testNode.httpEquiv; + + assertEquals("httpEquivLink","Content-Type",vhttpequiv); + +} + + + + +function runTest() { + HTMLMetaElement02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLMetaElement03.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLMetaElement03.js new file mode 100644 index 0000000..3554091 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLMetaElement03.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLMetaElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "meta"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The name attribute specifies the meta information name. + + Retrieve the name attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-31037081 +*/ +function HTMLMetaElement03() { + var success; + if(checkInitialization(builder, "HTMLMetaElement03") != null) return; + var nodeList; + var testNode; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "meta"); + nodeList = doc.getElementsByTagName("meta"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vname = testNode.name; + + assertEquals("nameLink","Meta-Name",vname); + +} + + + + +function runTest() { + HTMLMetaElement03(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLMetaElement04.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLMetaElement04.js new file mode 100644 index 0000000..2ba7efd --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLMetaElement04.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLMetaElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "meta"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The scheme attribute specifies a select form of content. + + Retrieve the scheme attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-35993789 +*/ +function HTMLMetaElement04() { + var success; + if(checkInitialization(builder, "HTMLMetaElement04") != null) return; + var nodeList; + var testNode; + var vscheme; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "meta"); + nodeList = doc.getElementsByTagName("meta"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vscheme = testNode.scheme; + + assertEquals("schemeLink","NIST",vscheme); + +} + + + + +function runTest() { + HTMLMetaElement04(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLModElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLModElement01.js new file mode 100644 index 0000000..9840f14 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLModElement01.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLModElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "mod"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The cite attribute specifies an URI designating a document that describes + the reason for the change. + + Retrieve the cite attribute of the INS element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75101708 +*/ +function HTMLModElement01() { + var success; + if(checkInitialization(builder, "HTMLModElement01") != null) return; + var nodeList; + var testNode; + var vcite; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "mod"); + nodeList = doc.getElementsByTagName("ins"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcite = testNode.cite; + + assertURIEquals("citeLink",null,null,null,"ins-reasons.html",null,null,null,null,vcite); + +} + + + + +function runTest() { + HTMLModElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLModElement02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLModElement02.js new file mode 100644 index 0000000..fe3fa8e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLModElement02.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLModElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "mod"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dateTime attribute specifies the date and time of the change. + + Retrieve the dateTime attribute of the INS element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88432678 +*/ +function HTMLModElement02() { + var success; + if(checkInitialization(builder, "HTMLModElement02") != null) return; + var nodeList; + var testNode; + var vdatetime; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "mod"); + nodeList = doc.getElementsByTagName("ins"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdatetime = testNode.dateTime; + + assertEquals("dateTimeLink","January 1, 2002",vdatetime); + +} + + + + +function runTest() { + HTMLModElement02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLModElement03.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLModElement03.js new file mode 100644 index 0000000..e796da6 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLModElement03.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLModElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "mod"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The cite attribute specifies an URI designating a document that describes + the reason for the change. + + Retrieve the cite attribute of the DEL element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75101708 +*/ +function HTMLModElement03() { + var success; + if(checkInitialization(builder, "HTMLModElement03") != null) return; + var nodeList; + var testNode; + var vcite; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "mod"); + nodeList = doc.getElementsByTagName("del"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcite = testNode.cite; + + assertURIEquals("citeLink",null,null,null,"del-reasons.html",null,null,null,null,vcite); + +} + + + + +function runTest() { + HTMLModElement03(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLModElement04.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLModElement04.js new file mode 100644 index 0000000..1150082 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLModElement04.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLModElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "mod"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dateTime attribute specifies the date and time of the change. + + Retrieve the dateTime attribute of the DEL element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88432678 +*/ +function HTMLModElement04() { + var success; + if(checkInitialization(builder, "HTMLModElement04") != null) return; + var nodeList; + var testNode; + var vdatetime; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "mod"); + nodeList = doc.getElementsByTagName("del"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdatetime = testNode.dateTime; + + assertEquals("dateTimeLink","January 2, 2002",vdatetime); + +} + + + + +function runTest() { + HTMLModElement04(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOListElement02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOListElement02.js new file mode 100644 index 0000000..f7a44be --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOListElement02.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOListElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "olist"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The start attribute specifies the starting sequence number. + + Retrieve the start attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14793325 +*/ +function HTMLOListElement02() { + var success; + if(checkInitialization(builder, "HTMLOListElement02") != null) return; + var nodeList; + var testNode; + var vstart; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "olist"); + nodeList = doc.getElementsByTagName("ol"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vstart = testNode.start; + + assertEquals("startLink",1,vstart); + +} + + + + +function runTest() { + HTMLOListElement02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOListElement03.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOListElement03.js new file mode 100644 index 0000000..8731b7c --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOListElement03.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOListElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "olist"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The type attribute specifies the numbering style. + + Retrieve the type attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40971103 +*/ +function HTMLOListElement03() { + var success; + if(checkInitialization(builder, "HTMLOListElement03") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "olist"); + nodeList = doc.getElementsByTagName("ol"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","1",vtype); + +} + + + + +function runTest() { + HTMLOListElement03(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement01.js new file mode 100644 index 0000000..c70af00 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement01.js @@ -0,0 +1,116 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object2"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns the FORM element containing this control. + + Retrieve the form attribute and examine its value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-46094773 +*/ +function HTMLObjectElement01() { + var success; + if(checkInitialization(builder, "HTMLObjectElement01") != null) return; + var nodeList; + var testNode; + var fNode; + var vform; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object2"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + fNode = testNode.form; + + vform = fNode.id; + + assertEquals("idLink","object2",vform); + +} + + + + +function runTest() { + HTMLObjectElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement08.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement08.js new file mode 100644 index 0000000..9bab5c1 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement08.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The data attribute specifies the URI of the location of the objects data. + + Retrieve the data attribute of the first OBJECT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-81766986 +*/ +function HTMLObjectElement08() { + var success; + if(checkInitialization(builder, "HTMLObjectElement08") != null) return; + var nodeList; + var testNode; + var vdata; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vdata = testNode.data; + + assertURIEquals("dataLink",null,null,null,"logo.gif",null,null,null,null,vdata); + +} + + + + +function runTest() { + HTMLObjectElement08(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement10.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement10.js new file mode 100644 index 0000000..17cb218 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement10.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The height attribute overrides the value of the actual height of the + object. + + Retrieve the height attribute of the first OBJECT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88925838 +*/ +function HTMLObjectElement10() { + var success; + if(checkInitialization(builder, "HTMLObjectElement10") != null) return; + var nodeList; + var testNode; + var vheight; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vheight = testNode.height; + + assertEquals("heightLink","60",vheight); + +} + + + + +function runTest() { + HTMLObjectElement10(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement11.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement11.js new file mode 100644 index 0000000..8915326 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement11.js @@ -0,0 +1,129 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The hspace attribute specifies the horizontal space to the left and right + of this image, applet or object. + + Retrieve the hspace attribute of the first OBJECT element and examine + its value. + + This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-17085376 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 +*/ +function HTMLObjectElement11() { + var success; + if(checkInitialization(builder, "HTMLObjectElement11") != null) return; + var nodeList; + var testNode; + var vhspace; + var doc; + var domImpl; + var hasHTML2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + domImpl = doc.implementation; +hasHTML2 = domImpl.hasFeature("HTML","2.0"); + + if( + + !hasHTML2 + ) { + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vhspace = testNode.hspace; + + assertEquals("hspaceLink","0",vhspace); + + } + +} + + + + +function runTest() { + HTMLObjectElement11(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement13.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement13.js new file mode 100644 index 0000000..af2e44b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement13.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement13"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The tabIndex attribute specifies the elements position in the tabbing + order. + + Retrieve the tabIndex attribute of the first OBJECT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-27083787 +*/ +function HTMLObjectElement13() { + var success; + if(checkInitialization(builder, "HTMLObjectElement13") != null) return; + var nodeList; + var testNode; + var vtabindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vtabindex = testNode.tabIndex; + + assertEquals("tabIndexLink",0,vtabindex); + +} + + + + +function runTest() { + HTMLObjectElement13(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement14.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement14.js new file mode 100644 index 0000000..b52c2b6 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement14.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement14"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The type attribute specifies the content type for data downloaded via + the data attribute. + + Retrieve the type attribute of the first OBJECT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-91665621 +*/ +function HTMLObjectElement14() { + var success; + if(checkInitialization(builder, "HTMLObjectElement14") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","image/gif",vtype); + +} + + + + +function runTest() { + HTMLObjectElement14(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement15.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement15.js new file mode 100644 index 0000000..2a497b1 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement15.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement15"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The useMap attribute specifies the used client-side image map. + + Retrieve the useMap attribute of the first OBJECT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6649772 +*/ +function HTMLObjectElement15() { + var success; + if(checkInitialization(builder, "HTMLObjectElement15") != null) return; + var nodeList; + var testNode; + var vusemap; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vusemap = testNode.useMap; + + assertEquals("useMapLink","#DivLogo-map",vusemap); + +} + + + + +function runTest() { + HTMLObjectElement15(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement16.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement16.js new file mode 100644 index 0000000..85adf7d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement16.js @@ -0,0 +1,129 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement16"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The vspace attribute specifies the vertical space above or below this + image, applet or object. + + Retrieve the vspace attribute of the first OBJECT element and examine + its value. + + This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-8682483 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 +*/ +function HTMLObjectElement16() { + var success; + if(checkInitialization(builder, "HTMLObjectElement16") != null) return; + var nodeList; + var testNode; + var vvspace; + var doc; + var domImpl; + var hasHTML2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + domImpl = doc.implementation; +hasHTML2 = domImpl.hasFeature("HTML","2.0"); + + if( + + !hasHTML2 + ) { + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vvspace = testNode.vspace; + + assertEquals("vspaceLink","0",vvspace); + + } + +} + + + + +function runTest() { + HTMLObjectElement16(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement17.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement17.js new file mode 100644 index 0000000..e76e4d8 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement17.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement17"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The width attribute overrides the original width value. + + Retrieve the width attribute of the first OBJECT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-38538620 +*/ +function HTMLObjectElement17() { + var success; + if(checkInitialization(builder, "HTMLObjectElement17") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vwidth = testNode.width; + + assertEquals("widthLink","550",vwidth); + +} + + + + +function runTest() { + HTMLObjectElement17(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement18.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement18.js new file mode 100644 index 0000000..f299c61 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement18.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement18"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The name attribute specifies form control or object name when submitted + with a form. + + Retrieve the name attribute of the second OBJECT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-20110362 +*/ +function HTMLObjectElement18() { + var success; + if(checkInitialization(builder, "HTMLObjectElement18") != null) return; + var nodeList; + var testNode; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vname = testNode.name; + + assertEquals("vspaceLink","OBJECT2",vname); + +} + + + + +function runTest() { + HTMLObjectElement18(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement19.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement19.js new file mode 100644 index 0000000..a1157ff --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement19.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement19"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object2"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns null if control in not within the context of + form. + + Retrieve the form attribute and examine its value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-46094773 +*/ +function HTMLObjectElement19() { + var success; + if(checkInitialization(builder, "HTMLObjectElement19") != null) return; + var nodeList; + var testNode; + var vform; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object2"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vform = testNode.form; + + assertNull("formNullLink",vform); + +} + + + + +function runTest() { + HTMLObjectElement19(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement01.js new file mode 100644 index 0000000..088c526 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement01.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptGroupElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "optgroup"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The disabled attribute indicates that the control is unavailable in + this context. + + Retrieve the disabled attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-15518803 +*/ +function HTMLOptGroupElement01() { + var success; + if(checkInitialization(builder, "HTMLOptGroupElement01") != null) return; + var nodeList; + var testNode; + var vdisabled; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "optgroup"); + nodeList = doc.getElementsByTagName("optgroup"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vdisabled = testNode.disabled; + + assertTrue("disabledLink",vdisabled); + +} + + + + +function runTest() { + HTMLOptGroupElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement02.js new file mode 100644 index 0000000..4c5f323 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement02.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptGroupElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "optgroup"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The label attribute specifies the label assigned to this option group. + + Retrieve the label attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95806054 +*/ +function HTMLOptGroupElement02() { + var success; + if(checkInitialization(builder, "HTMLOptGroupElement02") != null) return; + var nodeList; + var testNode; + var vlabel; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "optgroup"); + nodeList = doc.getElementsByTagName("optgroup"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vlabel = testNode.label; + + assertEquals("labelLink","Regular Employees",vlabel); + +} + + + + +function runTest() { + HTMLOptGroupElement02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOptionElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOptionElement01.js new file mode 100644 index 0000000..9cea72a --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOptionElement01.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptionElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "option"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns the FORM element containing this control. + + Retrieve the form attribute from the first SELECT element + and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-17116503 +*/ +function HTMLOptionElement01() { + var success; + if(checkInitialization(builder, "HTMLOptionElement01") != null) return; + var nodeList; + var testNode; + var vform; + var fNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "option"); + nodeList = doc.getElementsByTagName("option"); + assertSize("Asize",10,nodeList); +testNode = nodeList.item(0); + fNode = testNode.form; + + vform = fNode.id; + + assertEquals("formLink","form1",vform); + +} + + + + +function runTest() { + HTMLOptionElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOptionElement02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOptionElement02.js new file mode 100644 index 0000000..4914f41 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOptionElement02.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptionElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "option"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns null if control in not within the context of + a form. + + Retrieve the first OPTION attribute from the second select element and + examine its form element. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-17116503 +*/ +function HTMLOptionElement02() { + var success; + if(checkInitialization(builder, "HTMLOptionElement02") != null) return; + var nodeList; + var testNode; + var vform; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "option"); + nodeList = doc.getElementsByTagName("option"); + assertSize("Asize",10,nodeList); +testNode = nodeList.item(6); + vform = testNode.form; + + assertNull("formNullLink",vform); + +} + + + + +function runTest() { + HTMLOptionElement02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOptionElement03.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOptionElement03.js new file mode 100644 index 0000000..d9e340b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOptionElement03.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptionElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "option"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The defaultSelected attribute contains the value of the selected + attribute. + + Retrieve the defaultSelected attribute from the first OPTION element + and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-37770574 +*/ +function HTMLOptionElement03() { + var success; + if(checkInitialization(builder, "HTMLOptionElement03") != null) return; + var nodeList; + var testNode; + var vdefaultselected; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "option"); + nodeList = doc.getElementsByTagName("option"); + assertSize("Asize",10,nodeList); +testNode = nodeList.item(0); + vdefaultselected = testNode.defaultSelected; + + assertTrue("defaultSelectedLink",vdefaultselected); + +} + + + + +function runTest() { + HTMLOptionElement03(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOptionElement06.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOptionElement06.js new file mode 100644 index 0000000..18638e5 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOptionElement06.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptionElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "option"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The disabled attribute indicates that this control is not available + within this context. + + Retrieve the disabled attribute from the last OPTION element + and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-23482473 +*/ +function HTMLOptionElement06() { + var success; + if(checkInitialization(builder, "HTMLOptionElement06") != null) return; + var nodeList; + var testNode; + var vdisabled; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "option"); + nodeList = doc.getElementsByTagName("option"); + assertSize("Asize",10,nodeList); +testNode = nodeList.item(9); + vdisabled = testNode.disabled; + + assertTrue("disabledLink",vdisabled); + +} + + + + +function runTest() { + HTMLOptionElement06(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOptionElement07.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOptionElement07.js new file mode 100644 index 0000000..9cc670f --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOptionElement07.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptionElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "option"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The label attribute is used in hierarchical menus. It specifies + a shorter label for an option that the content of the OPTION element. + + Retrieve the label attribute from the second OPTION element + and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40736115 +*/ +function HTMLOptionElement07() { + var success; + if(checkInitialization(builder, "HTMLOptionElement07") != null) return; + var nodeList; + var testNode; + var vlabel; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "option"); + nodeList = doc.getElementsByTagName("option"); + assertSize("Asize",10,nodeList); +testNode = nodeList.item(1); + vlabel = testNode.label; + + assertEquals("labelLink","l1",vlabel); + +} + + + + +function runTest() { + HTMLOptionElement07(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOptionElement08.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOptionElement08.js new file mode 100644 index 0000000..d6e4b22 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOptionElement08.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptionElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "option"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The selected attribute indicates the current state of the corresponding + form control in an interactive user-agent. + + Retrieve the selected attribute from the first OPTION element + and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-70874476 +*/ +function HTMLOptionElement08() { + var success; + if(checkInitialization(builder, "HTMLOptionElement08") != null) return; + var nodeList; + var testNode; + var vselected; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "option"); + nodeList = doc.getElementsByTagName("option"); + assertSize("Asize",10,nodeList); +testNode = nodeList.item(0); + vselected = testNode.defaultSelected; + + assertTrue("selectedLink",vselected); + +} + + + + +function runTest() { + HTMLOptionElement08(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLParamElement02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLParamElement02.js new file mode 100644 index 0000000..338cbfe --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLParamElement02.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLParamElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "param"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The value attribute specifies the value of the run-time parameter. + + Retrieve the value attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-77971357 +*/ +function HTMLParamElement02() { + var success; + if(checkInitialization(builder, "HTMLParamElement02") != null) return; + var nodeList; + var testNode; + var vvalue; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "param"); + nodeList = doc.getElementsByTagName("param"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vvalue = testNode.value; + + assertURIEquals("valueLink",null,null,null,"file.gif",null,null,null,null,vvalue); + +} + + + + +function runTest() { + HTMLParamElement02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement01.js new file mode 100644 index 0000000..d46c2aa --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement01.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLQuoteElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "quote"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The cite attribute specifies a URI designating a source document + or message. + + Retrieve the cite attribute from the Q element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-53895598 +*/ +function HTMLQuoteElement01() { + var success; + if(checkInitialization(builder, "HTMLQuoteElement01") != null) return; + var nodeList; + var testNode; + var vcite; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "quote"); + nodeList = doc.getElementsByTagName("q"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcite = testNode.cite; + + assertURIEquals("citeLink",null,null,null,"Q.html",null,null,null,null,vcite); + +} + + + + +function runTest() { + HTMLQuoteElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement02.js new file mode 100644 index 0000000..f0b002b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement02.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLQuoteElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "quote"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The cite attribute specifies a URI designating a source document + or message. + + Retrieve the cite attribute from the BLOCKQUOTE element and + examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-53895598 +*/ +function HTMLQuoteElement02() { + var success; + if(checkInitialization(builder, "HTMLQuoteElement02") != null) return; + var nodeList; + var testNode; + var vcite; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "quote"); + nodeList = doc.getElementsByTagName("blockquote"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcite = testNode.cite; + + assertURIEquals("citeLink",null,null,null,"BLOCKQUOTE.html",null,null,null,null,vcite); + +} + + + + +function runTest() { + HTMLQuoteElement02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLScriptElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLScriptElement01.js new file mode 100644 index 0000000..95f6b58 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLScriptElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLScriptElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "script"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The text attribute specifies the script content of the element. + + Retrieve the text attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-46872999 +*/ +function HTMLScriptElement01() { + var success; + if(checkInitialization(builder, "HTMLScriptElement01") != null) return; + var nodeList; + var testNode; + var vtext; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "script"); + nodeList = doc.getElementsByTagName("script"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtext = testNode.text; + + assertEquals("textLink","var a=2;",vtext); + +} + + + + +function runTest() { + HTMLScriptElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLScriptElement02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLScriptElement02.js new file mode 100644 index 0000000..a85f04f --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLScriptElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLScriptElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "script"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The charset attribute specifies the character encoding of the linked + resource. + + Retrieve the charset attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-35305677 +*/ +function HTMLScriptElement02() { + var success; + if(checkInitialization(builder, "HTMLScriptElement02") != null) return; + var nodeList; + var testNode; + var vcharset; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "script"); + nodeList = doc.getElementsByTagName("script"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcharset = testNode.charset; + + assertEquals("charsetLink","US-ASCII",vcharset); + +} + + + + +function runTest() { + HTMLScriptElement02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLScriptElement03.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLScriptElement03.js new file mode 100644 index 0000000..cd60d5d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLScriptElement03.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLScriptElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "script"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The defer attribute specifies the user agent can defer processing of + the script. + + Retrieve the defer attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93788534 +*/ +function HTMLScriptElement03() { + var success; + if(checkInitialization(builder, "HTMLScriptElement03") != null) return; + var nodeList; + var testNode; + var vdefer; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "script"); + nodeList = doc.getElementsByTagName("script"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdefer = testNode.defer; + + assertTrue("deferLink",vdefer); + +} + + + + +function runTest() { + HTMLScriptElement03(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLScriptElement04.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLScriptElement04.js new file mode 100644 index 0000000..fe417e3 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLScriptElement04.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLScriptElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "script"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The src attribute specifies a URI designating an external script. + + Retrieve the src attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75147231 +*/ +function HTMLScriptElement04() { + var success; + if(checkInitialization(builder, "HTMLScriptElement04") != null) return; + var nodeList; + var testNode; + var vsrc; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "script"); + nodeList = doc.getElementsByTagName("script"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vsrc = testNode.src; + + assertURIEquals("srcLink",null,null,null,"script1.js",null,null,null,null,vsrc); + +} + + + + +function runTest() { + HTMLScriptElement04(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLScriptElement05.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLScriptElement05.js new file mode 100644 index 0000000..96a717b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLScriptElement05.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLScriptElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "script"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The type attribute specifies the content of the script language. + + Retrieve the type attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-30534818 +*/ +function HTMLScriptElement05() { + var success; + if(checkInitialization(builder, "HTMLScriptElement05") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "script"); + nodeList = doc.getElementsByTagName("script"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","text/javaScript",vtype); + +} + + + + +function runTest() { + HTMLScriptElement05(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLScriptElement06.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLScriptElement06.js new file mode 100644 index 0000000..a1275eb --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLScriptElement06.js @@ -0,0 +1,109 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLScriptElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "script"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +htmlFor is described as for future use. Test accesses the value, but makes no assertions about its value. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-66979266 +*/ +function HTMLScriptElement06() { + var success; + if(checkInitialization(builder, "HTMLScriptElement06") != null) return; + var nodeList; + var testNode; + var htmlFor; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "script"); + nodeList = doc.getElementsByTagName("script"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + htmlFor = testNode.htmlFor; + + +} + + + + +function runTest() { + HTMLScriptElement06(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLScriptElement07.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLScriptElement07.js new file mode 100644 index 0000000..a3c1976 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLScriptElement07.js @@ -0,0 +1,109 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLScriptElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "script"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +event is described as for future use. Test accesses the value, but makes no assertions about its value. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-56700403 +*/ +function HTMLScriptElement07() { + var success; + if(checkInitialization(builder, "HTMLScriptElement07") != null) return; + var nodeList; + var testNode; + var event; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "script"); + nodeList = doc.getElementsByTagName("script"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + event = testNode.event; + + +} + + + + +function runTest() { + HTMLScriptElement07(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement03.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement03.js new file mode 100644 index 0000000..a7dda0c --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement03.js @@ -0,0 +1,118 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The selectedIndex attribute specifies the ordinal index of the selected + option. If no element is selected -1 is returned. + + Retrieve the selectedIndex attribute from the second SELECT element and + examine its value. + + Per http://www.w3.org/TR/html401/interact/forms.html#h-17.6.1, + without an explicit selected attribute, user agent behavior is + undefined. There is no way to coerce no option to be selected. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-85676760 +*/ +function HTMLSelectElement03() { + var success; + if(checkInitialization(builder, "HTMLSelectElement03") != null) return; + var nodeList; + var testNode; + var vselectedindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vselectedindex = testNode.selectedIndex; + + +} + + + + +function runTest() { + HTMLSelectElement03(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement06.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement06.js new file mode 100644 index 0000000..14f8f6a --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement06.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns the FORM element containing this control. + + Retrieve the form attribute from the first SELECT element + and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-20489458 +*/ +function HTMLSelectElement06() { + var success; + if(checkInitialization(builder, "HTMLSelectElement06") != null) return; + var nodeList; + var testNode; + var vform; + var fNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + fNode = testNode.form; + + vform = fNode.id; + + assertEquals("formLink","form1",vform); + +} + + + + +function runTest() { + HTMLSelectElement06(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement07.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement07.js new file mode 100644 index 0000000..047585c --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement07.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns null if control in not within the context of + a form. + + Retrieve the second SELECT element and + examine its form element. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-20489458 +*/ +function HTMLSelectElement07() { + var success; + if(checkInitialization(builder, "HTMLSelectElement07") != null) return; + var nodeList; + var testNode; + var vform; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vform = testNode.form; + + assertNull("formNullLink",vform); + +} + + + + +function runTest() { + HTMLSelectElement07(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement08.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement08.js new file mode 100644 index 0000000..5617296 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement08.js @@ -0,0 +1,134 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The options attribute returns a collection of OPTION elements contained + by this element. + + Retrieve the options attribute from the first SELECT element and + examine the items of the returned collection. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-30606413 +*/ +function HTMLSelectElement08() { + var success; + if(checkInitialization(builder, "HTMLSelectElement08") != null) return; + var nodeList; + var optionsnodeList; + var testNode; + var vareas; + var doc; + var optionName; + var voption; + var result = new Array(); + + expectedOptions = new Array(); + expectedOptions[0] = "option"; + expectedOptions[1] = "option"; + expectedOptions[2] = "option"; + expectedOptions[3] = "option"; + expectedOptions[4] = "option"; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + optionsnodeList = testNode.options; + + for(var indexN65648 = 0;indexN65648 < optionsnodeList.length; indexN65648++) { + voption = optionsnodeList.item(indexN65648); + optionName = voption.nodeName; + + result[result.length] = optionName; + + } + assertEqualsListAutoCase("element", "optionsLink",expectedOptions,result); + +} + + + + +function runTest() { + HTMLSelectElement08(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement09.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement09.js new file mode 100644 index 0000000..41a9ca9 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement09.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The disabled attribute indicates that this control is not available + within this context. + + Retrieve the disabled attribute from the third SELECT element + and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-79102918 +*/ +function HTMLSelectElement09() { + var success; + if(checkInitialization(builder, "HTMLSelectElement09") != null) return; + var nodeList; + var testNode; + var vdisabled; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(2); + vdisabled = testNode.disabled; + + assertTrue("disabledLink",vdisabled); + +} + + + + +function runTest() { + HTMLSelectElement09(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement10.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement10.js new file mode 100644 index 0000000..2a05689 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement10.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The multiple attribute(if true) indicates that multiple OPTION elements + may be selected + + Retrieve the multiple attribute from the first SELECT element + and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-13246613 +*/ +function HTMLSelectElement10() { + var success; + if(checkInitialization(builder, "HTMLSelectElement10") != null) return; + var nodeList; + var testNode; + var vmultiple; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vmultiple = testNode.multiple; + + assertTrue("multipleLink",vmultiple); + +} + + + + +function runTest() { + HTMLSelectElement10(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement11.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement11.js new file mode 100644 index 0000000..7fa1223 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement11.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The name attribute specifies the form control or object name when + submitted with a form. + + Retrieve the name attribute from the first SELECT element and + examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-41636323 +*/ +function HTMLSelectElement11() { + var success; + if(checkInitialization(builder, "HTMLSelectElement11") != null) return; + var nodeList; + var testNode; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vname = testNode.name; + + assertEquals("nameLink","select1",vname); + +} + + + + +function runTest() { + HTMLSelectElement11(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement12.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement12.js new file mode 100644 index 0000000..d534194 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement12.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The size attribute specifies the number of visible rows. + + Retrieve the size attribute from the first SELECT element and + examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-18293826 +*/ +function HTMLSelectElement12() { + var success; + if(checkInitialization(builder, "HTMLSelectElement12") != null) return; + var nodeList; + var testNode; + var vsize; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vsize = testNode.size; + + assertEquals("sizeLink",1,vsize); + +} + + + + +function runTest() { + HTMLSelectElement12(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement13.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement13.js new file mode 100644 index 0000000..12e9402 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement13.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement13"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The tabIndex attribute specifies an index that represents the elements + position in the tabbing order. + + Retrieve the tabIndex attribute from the first SELECT element and + examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40676705 +*/ +function HTMLSelectElement13() { + var success; + if(checkInitialization(builder, "HTMLSelectElement13") != null) return; + var nodeList; + var testNode; + var vtabindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vtabindex = testNode.tabIndex; + + assertEquals("tabIndexLink",7,vtabindex); + +} + + + + +function runTest() { + HTMLSelectElement13(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLStyleElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLStyleElement01.js new file mode 100644 index 0000000..e63f631 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLStyleElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLStyleElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "style"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The disabled attribute enables/disables the stylesheet. + + Retrieve the disabled attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-51162010 +*/ +function HTMLStyleElement01() { + var success; + if(checkInitialization(builder, "HTMLStyleElement01") != null) return; + var nodeList; + var testNode; + var vdisabled; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "style"); + nodeList = doc.getElementsByTagName("style"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdisabled = testNode.disabled; + + assertFalse("disabledLink",vdisabled); + +} + + + + +function runTest() { + HTMLStyleElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLStyleElement02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLStyleElement02.js new file mode 100644 index 0000000..c547c7d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLStyleElement02.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLStyleElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "style"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The media attribute identifies the intended medium of the style info. + + Retrieve the media attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76412738 +*/ +function HTMLStyleElement02() { + var success; + if(checkInitialization(builder, "HTMLStyleElement02") != null) return; + var nodeList; + var testNode; + var vmedia; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "style"); + nodeList = doc.getElementsByTagName("style"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vmedia = testNode.media; + + assertEquals("mediaLink","screen",vmedia); + +} + + + + +function runTest() { + HTMLStyleElement02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLStyleElement03.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLStyleElement03.js new file mode 100644 index 0000000..c085c22 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLStyleElement03.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLStyleElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "style"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The type attribute specifies the style sheet language(Internet media type). + + Retrieve the type attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-22472002 +*/ +function HTMLStyleElement03() { + var success; + if(checkInitialization(builder, "HTMLStyleElement03") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "style"); + nodeList = doc.getElementsByTagName("style"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","text/css",vtype); + +} + + + + +function runTest() { + HTMLStyleElement03(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement15.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement15.js new file mode 100644 index 0000000..6d22965 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement15.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement15"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The colSpan attribute specifies the number of columns spanned by a table + header(TH) cell. + + Retrieve the colspan attribute of the second TH element and examine its + value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-84645244 +*/ +function HTMLTableCellElement15() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement15") != null) return; + var nodeList; + var testNode; + var vcolspan; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vcolspan = testNode.colSpan; + + assertEquals("colSpanLink",1,vcolspan); + +} + + + + +function runTest() { + HTMLTableCellElement15(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement16.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement16.js new file mode 100644 index 0000000..d6e385f --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement16.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement16"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The colSpan attribute specifies the number of columns spanned by a + table data(TD) cell. + + Retrieve the colSpan attribute of the second TD element and examine its + value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-84645244 +*/ +function HTMLTableCellElement16() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement16") != null) return; + var nodeList; + var testNode; + var vcolspan; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vcolspan = testNode.colSpan; + + assertEquals("colSpanLink",1,vcolspan); + +} + + + + +function runTest() { + HTMLTableCellElement16(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement23.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement23.js new file mode 100644 index 0000000..5375f82 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement23.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement23"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The rowSpan attribute specifies the number of rows spanned by a table + header(TH) cell. + + Retrieve the rowSpan attribute of the second TH element and examine its + value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-48237625 +*/ +function HTMLTableCellElement23() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement23") != null) return; + var nodeList; + var testNode; + var vrowspan; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vrowspan = testNode.rowSpan; + + assertEquals("rowSpanLink",1,vrowspan); + +} + + + + +function runTest() { + HTMLTableCellElement23(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement24.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement24.js new file mode 100644 index 0000000..6120e16 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement24.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement24"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The rowSpan attribute specifies the number of rows spanned by a + table data(TD) cell. + + Retrieve the rowSpan attribute of the second TD element and examine its + value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-48237625 +*/ +function HTMLTableCellElement24() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement24") != null) return; + var nodeList; + var testNode; + var vrowspan; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vrowspan = testNode.rowSpan; + + assertEquals("rowSpanLink",1,vrowspan); + +} + + + + +function runTest() { + HTMLTableCellElement24(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement25.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement25.js new file mode 100644 index 0000000..37c99c4 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement25.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement25"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The scope attribute specifies the scope covered by header cells. + + Retrieve the scope attribute from the second TH element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-36139952 +*/ +function HTMLTableCellElement25() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement25") != null) return; + var nodeList; + var testNode; + var vscope; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vscope = testNode.scope; + + assertEquals("scopeLink","col",vscope); + +} + + + + +function runTest() { + HTMLTableCellElement25(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableColElement07.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableColElement07.js new file mode 100644 index 0000000..2d09b66 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableColElement07.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The span attribute indicates the number of columns in a group or affected + by a grouping(COL). + + Retrieve the span attribute of the COL element and examine its + value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96511335 +*/ +function HTMLTableColElement07() { + var success; + if(checkInitialization(builder, "HTMLTableColElement07") != null) return; + var nodeList; + var testNode; + var vspan; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("col"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vspan = testNode.span; + + assertEquals("spanLink",1,vspan); + +} + + + + +function runTest() { + HTMLTableColElement07(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableColElement08.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableColElement08.js new file mode 100644 index 0000000..672827f --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableColElement08.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The span attribute indicates the number of columns in a group or affected + by a grouping(COLGROUP). + + Retrieve the span attribute of the COLGROUP element and examine its + value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96511335 +*/ +function HTMLTableColElement08() { + var success; + if(checkInitialization(builder, "HTMLTableColElement08") != null) return; + var nodeList; + var testNode; + var vspan; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("colgroup"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vspan = testNode.span; + + assertEquals("spanLink",2,vspan); + +} + + + + +function runTest() { + HTMLTableColElement08(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableElement02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableElement02.js new file mode 100644 index 0000000..116127e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableElement02.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The caption attribute returns the tables CAPTION or void if it does not + exist. + + Retrieve the CAPTION element from within the first TABLE element. + Since one does not exist it should be void. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14594520 +*/ +function HTMLTableElement02() { + var success; + if(checkInitialization(builder, "HTMLTableElement02") != null) return; + var nodeList; + var testNode; + var vcaption; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vcaption = testNode.caption; + + assertNull("captionLink",vcaption); + +} + + + + +function runTest() { + HTMLTableElement02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableElement04.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableElement04.js new file mode 100644 index 0000000..bb664eb --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableElement04.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The tHead attribute returns the tables THEAD or null if it does not + exist. + + Retrieve the THEAD element from within the first TABLE element. + Since one does not exist it should be null. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-9530944 +*/ +function HTMLTableElement04() { + var success; + if(checkInitialization(builder, "HTMLTableElement04") != null) return; + var nodeList; + var testNode; + var vsection; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vsection = testNode.tHead; + + assertNull("sectionLink",vsection); + +} + + + + +function runTest() { + HTMLTableElement04(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableElement06.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableElement06.js new file mode 100644 index 0000000..d61ca57 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableElement06.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The tFoot attribute returns the tables TFOOT or null if it does not + exist. + + Retrieve the TFOOT element from within the first TABLE element. + Since one does not exist it should be null. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097 +*/ +function HTMLTableElement06() { + var success; + if(checkInitialization(builder, "HTMLTableElement06") != null) return; + var nodeList; + var testNode; + var vsection; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vsection = testNode.tFoot; + + assertNull("sectionLink",vsection); + +} + + + + +function runTest() { + HTMLTableElement06(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableElement07.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableElement07.js new file mode 100644 index 0000000..b050fc4 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableElement07.js @@ -0,0 +1,132 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The rows attribute returns a collection of all the rows in the table, + including al in THEAD, TFOOT, all TBODY elements. + + Retrieve the rows attribute from the second TABLE element and + examine the items of the returned collection. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6156016 +*/ +function HTMLTableElement07() { + var success; + if(checkInitialization(builder, "HTMLTableElement07") != null) return; + var nodeList; + var rowsnodeList; + var testNode; + var doc; + var rowName; + var vrow; + var result = new Array(); + + expectedOptions = new Array(); + expectedOptions[0] = "tr"; + expectedOptions[1] = "tr"; + expectedOptions[2] = "tr"; + expectedOptions[3] = "tr"; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + rowsnodeList = testNode.rows; + + for(var indexN65641 = 0;indexN65641 < rowsnodeList.length; indexN65641++) { + vrow = rowsnodeList.item(indexN65641); + rowName = vrow.nodeName; + + result[result.length] = rowName; + + } + assertEqualsListAutoCase("element", "rowsLink",expectedOptions,result); + +} + + + + +function runTest() { + HTMLTableElement07(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableElement12.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableElement12.js new file mode 100644 index 0000000..1ffdd80 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableElement12.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The border attribute specifies the width of the border around the table. + + Retrieve the border attribute of the first TABLE element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-50969400 +*/ +function HTMLTableElement12() { + var success; + if(checkInitialization(builder, "HTMLTableElement12") != null) return; + var nodeList; + var testNode; + var vborder; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vborder = testNode.border; + + assertEquals("borderLink","4",vborder); + +} + + + + +function runTest() { + HTMLTableElement12(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableRowElement05.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableRowElement05.js new file mode 100644 index 0000000..77dd707 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableRowElement05.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The cells attribute specifies the collection of cells in this row. + + Retrieve the fourth TR element and examine the value of + the cells length attribute. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-67349879 +*/ +function HTMLTableRowElement05() { + var success; + if(checkInitialization(builder, "HTMLTableRowElement05") != null) return; + var nodeList; + var cellsnodeList; + var testNode; + var vcells; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(3); + cellsnodeList = testNode.cells; + + vcells = cellsnodeList.length; + + assertEquals("cellsLink",6,vcells); + +} + + + + +function runTest() { + HTMLTableRowElement05(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement13.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement13.js new file mode 100644 index 0000000..5f1c565 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement13.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement13"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The rows attribute specifies the collection of rows in this table section. + + Retrieve the first THEAD element and examine the value of + the rows length attribute. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52092650 +*/ +function HTMLTableSectionElement13() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement13") != null) return; + var nodeList; + var rowsnodeList; + var testNode; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("thead"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink",1,vrows); + +} + + + + +function runTest() { + HTMLTableSectionElement13(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement14.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement14.js new file mode 100644 index 0000000..d27f24b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement14.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement14"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The rows attribute specifies the collection of rows in this table section. + + Retrieve the first TFOOT element and examine the value of + the rows length attribute. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52092650 +*/ +function HTMLTableSectionElement14() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement14") != null) return; + var nodeList; + var rowsnodeList; + var testNode; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tfoot"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink",1,vrows); + +} + + + + +function runTest() { + HTMLTableSectionElement14(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement15.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement15.js new file mode 100644 index 0000000..6937129 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement15.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement15"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The rows attribute specifies the collection of rows in this table section. + + Retrieve the first TBODY element and examine the value of + the rows length attribute. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52092650 +*/ +function HTMLTableSectionElement15() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement15") != null) return; + var nodeList; + var rowsnodeList; + var testNode; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tbody"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink",2,vrows); + +} + + + + +function runTest() { + HTMLTableSectionElement15(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement02.js new file mode 100644 index 0000000..400e39f --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement02.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns the FORM element containing this control. + + Retrieve the form attribute from the first TEXTAREA element + and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-18911464 +*/ +function HTMLTextAreaElement02() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement02") != null) return; + var nodeList; + var testNode; + var vform; + var fNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + fNode = testNode.form; + + vform = fNode.id; + + assertEquals("formLink","form1",vform); + +} + + + + +function runTest() { + HTMLTextAreaElement02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement03.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement03.js new file mode 100644 index 0000000..f9eaa66 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement03.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns null if control in not within the context of + a form. + + Retrieve the second TEXTAREA element and + examine its form element. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-18911464 +*/ +function HTMLTextAreaElement03() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement03") != null) return; + var nodeList; + var testNode; + var vform; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vform = testNode.form; + + assertNull("formNullLink",vform); + +} + + + + +function runTest() { + HTMLTextAreaElement03(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement04.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement04.js new file mode 100644 index 0000000..f1ce5ba --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement04.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The accessKey attribute specifies a single character access key to + give access to the form control. + + Retrieve the accessKey attribute of the 1st TEXTAREA element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93102991 +*/ +function HTMLTextAreaElement04() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement04") != null) return; + var nodeList; + var testNode; + var vaccesskey; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vaccesskey = testNode.accessKey; + + assertEquals("accessKeyLink","c",vaccesskey); + +} + + + + +function runTest() { + HTMLTextAreaElement04(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement05.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement05.js new file mode 100644 index 0000000..ffb050a --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement05.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The cols attribute specifies the width of control(in characters). + + Retrieve the cols attribute of the 1st TEXTAREA element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-51387225 +*/ +function HTMLTextAreaElement05() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement05") != null) return; + var nodeList; + var testNode; + var vcols; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vcols = testNode.cols; + + assertEquals("colsLink",20,vcols); + +} + + + + +function runTest() { + HTMLTextAreaElement05(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement06.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement06.js new file mode 100644 index 0000000..3e8271a --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement06.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The disabled attribute specifies the control is unavailable in this + context. + + Retrieve the disabled attribute from the 2nd TEXTAREA element and + examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98725443 +*/ +function HTMLTextAreaElement06() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement06") != null) return; + var nodeList; + var testNode; + var vdisabled; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vdisabled = testNode.disabled; + + assertTrue("disabledLink",vdisabled); + +} + + + + +function runTest() { + HTMLTextAreaElement06(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement07.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement07.js new file mode 100644 index 0000000..b1e6d71 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement07.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The name attribute specifies the form control or object name when + submitted with a form. + + Retrieve the name attribute of the 1st TEXTAREA element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-70715578 +*/ +function HTMLTextAreaElement07() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement07") != null) return; + var nodeList; + var testNode; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vname = testNode.name; + + assertEquals("nameLink","text1",vname); + +} + + + + +function runTest() { + HTMLTextAreaElement07(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement08.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement08.js new file mode 100644 index 0000000..31714f9 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement08.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The readOnly attribute specifies this control is read-only. + + Retrieve the readOnly attribute from the 3rd TEXTAREA element and + examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39131423 +*/ +function HTMLTextAreaElement08() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement08") != null) return; + var nodeList; + var testNode; + var vreadonly; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(2); + vreadonly = testNode.readOnly; + + assertTrue("readOnlyLink",vreadonly); + +} + + + + +function runTest() { + HTMLTextAreaElement08(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement09.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement09.js new file mode 100644 index 0000000..baef099 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement09.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The rows attribute specifies the number of text rowns. + + Retrieve the rows attribute of the 1st TEXTAREA element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-46975887 +*/ +function HTMLTextAreaElement09() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement09") != null) return; + var nodeList; + var testNode; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vrows = testNode.rows; + + assertEquals("rowsLink",7,vrows); + +} + + + + +function runTest() { + HTMLTextAreaElement09(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement10.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement10.js new file mode 100644 index 0000000..762fef3 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement10.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The tabIndex attribute is an index that represents the element's position + in the tabbing order. + + Retrieve the tabIndex attribute of the 1st TEXTAREA element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-60363303 +*/ +function HTMLTextAreaElement10() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement10") != null) return; + var nodeList; + var testNode; + var vtabindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vtabindex = testNode.tabIndex; + + assertEquals("tabIndexLink",5,vtabindex); + +} + + + + +function runTest() { + HTMLTextAreaElement10(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTitleElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTitleElement01.js new file mode 100644 index 0000000..ba4ad26 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTitleElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTitleElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "title"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The text attribute is the specified title as a string. + + Retrieve the text attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-77500413 +*/ +function HTMLTitleElement01() { + var success; + if(checkInitialization(builder, "HTMLTitleElement01") != null) return; + var nodeList; + var testNode; + var vtext; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "title"); + nodeList = doc.getElementsByTagName("title"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtext = testNode.text; + + assertEquals("textLink","NIST DOM HTML Test - TITLE",vtext); + +} + + + + +function runTest() { + HTMLTitleElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/anchor01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/anchor01.js new file mode 100644 index 0000000..f185f5a --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/anchor01.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/anchor01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +A single character access key to give access to the form control. +The value of attribute accessKey of the anchor element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-89647724 +*/ +function anchor01() { + var success; + if(checkInitialization(builder, "anchor01") != null) return; + var nodeList; + var testNode; + var vaccesskey; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vaccesskey = testNode.accessKey; + + assertEquals("accessKeyLink","g",vaccesskey); + +} + + + + +function runTest() { + anchor01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/anchor04.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/anchor04.js new file mode 100644 index 0000000..1a578ef --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/anchor04.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/anchor04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The URI of the linked resource. +The value of attribute href of the anchor element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88517319 +*/ +function anchor04() { + var success; + if(checkInitialization(builder, "anchor04") != null) return; + var nodeList; + var testNode; + var vhref; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vhref = testNode.href; + + assertURIEquals("hrefLink",null,null,null,"submit.gif",null,null,null,true,vhref); + +} + + + + +function runTest() { + anchor04(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/anchor05.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/anchor05.js new file mode 100644 index 0000000..5b0103a --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/anchor05.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/anchor05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Advisory content type. +The value of attribute type of the anchor element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63938221 +*/ +function anchor05() { + var success; + if(checkInitialization(builder, "anchor05") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","image/gif",vtype); + +} + + + + +function runTest() { + anchor05(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/area01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/area01.js new file mode 100644 index 0000000..8fe9f88 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/area01.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/area01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "area"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-66021476 +*/ +function area01() { + var success; + if(checkInitialization(builder, "area01") != null) return; + var nodeList; + var testNode; + var vcoords; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "area"); + nodeList = doc.getElementsByTagName("area"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcoords = testNode.coords; + + assertEquals("coordsLink","0,2,45,45",vcoords); + +} + + + + +function runTest() { + area01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/area02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/area02.js new file mode 100644 index 0000000..59d16a8 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/area02.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/area02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "area"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-61826871 +*/ +function area02() { + var success; + if(checkInitialization(builder, "area02") != null) return; + var nodeList; + var testNode; + var vnohref; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "area"); + nodeList = doc.getElementsByTagName("area"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vnohref = testNode.noHref; + + assertFalse("noHrefLink",vnohref); + +} + + + + +function runTest() { + area02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/area03.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/area03.js new file mode 100644 index 0000000..b335beb --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/area03.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/area03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "area"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-8722121 +*/ +function area03() { + var success; + if(checkInitialization(builder, "area03") != null) return; + var nodeList; + var testNode; + var vtabindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "area"); + nodeList = doc.getElementsByTagName("area"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtabindex = testNode.tabIndex; + + assertEquals("tabIndexLink",10,vtabindex); + +} + + + + +function runTest() { + area03(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/area04.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/area04.js new file mode 100644 index 0000000..daefea2 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/area04.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/area04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "area"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-57944457 +*/ +function area04() { + var success; + if(checkInitialization(builder, "area04") != null) return; + var nodeList; + var testNode; + var vaccesskey; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "area"); + nodeList = doc.getElementsByTagName("area"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vaccesskey = testNode.accessKey; + + assertEquals("accessKeyLink","a",vaccesskey); + +} + + + + +function runTest() { + area04(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/button01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/button01.js new file mode 100644 index 0000000..68151af --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/button01.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/button01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Returns the FORM element containing this control. Returns null if this control is not within the context of a form. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71254493 +*/ +function button01() { + var success; + if(checkInitialization(builder, "button01") != null) return; + var nodeList; + var testNode; + var vform; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vform = testNode.form; + + assertNull("formLink",vform); + +} + + + + +function runTest() { + button01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/button02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/button02.js new file mode 100644 index 0000000..e8f45a4 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/button02.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/button02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The value of attribute name of the form element which contains this button is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71254493 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function button02() { + var success; + if(checkInitialization(builder, "button02") != null) return; + var nodeList; + var testNode; + var formNode; + var vfname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + formNode = testNode.form; + + vfname = formNode.id; + + assertEquals("formLink","form2",vfname); + +} + + + + +function runTest() { + button02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/button03.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/button03.js new file mode 100644 index 0000000..4ae81ac --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/button03.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/button03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The value of attribute action of the form element which contains this button is read and checked against the expected value + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71254493 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-74049184 +*/ +function button03() { + var success; + if(checkInitialization(builder, "button03") != null) return; + var nodeList; + var testNode; + var formNode; + var vfaction; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + formNode = testNode.form; + + vfaction = formNode.action; + + assertEquals("formLink","...",vfaction); + +} + + + + +function runTest() { + button03(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/button04.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/button04.js new file mode 100644 index 0000000..ff7e32b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/button04.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/button04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The value of attribute method of the form element which contains this button is read and checked against the expected value + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71254493 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-82545539 +*/ +function button04() { + var success; + if(checkInitialization(builder, "button04") != null) return; + var nodeList; + var testNode; + var formNode; + var vfmethod; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + formNode = testNode.form; + + vfmethod = formNode.method; + + assertEquals("formLink","POST".toLowerCase(),vfmethod.toLowerCase()); + +} + + + + +function runTest() { + button04(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/button05.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/button05.js new file mode 100644 index 0000000..1bc6767 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/button05.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/button05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +A single character access key to give access to the form control. +The value of attribute accessKey of the button element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-73169431 +*/ +function button05() { + var success; + if(checkInitialization(builder, "button05") != null) return; + var nodeList; + var testNode; + var vakey; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vakey = testNode.accessKey; + + assertEquals("accessKeyLink","f".toLowerCase(),vakey.toLowerCase()); + +} + + + + +function runTest() { + button05(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/button06.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/button06.js new file mode 100644 index 0000000..84f4118 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/button06.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/button06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Index that represents the element's position in the tabbing order. +The value of attribute tabIndex of the button element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39190908 +*/ +function button06() { + var success; + if(checkInitialization(builder, "button06") != null) return; + var nodeList; + var testNode; + var vtabIndex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vtabIndex = testNode.tabIndex; + + assertEquals("tabIndexLink",20,vtabIndex); + +} + + + + +function runTest() { + button06(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/button07.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/button07.js new file mode 100644 index 0000000..e619d04 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/button07.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/button07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The type of button +The value of attribute type of the button element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-27430092 +*/ +function button07() { + var success; + if(checkInitialization(builder, "button07") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","reset",vtype); + +} + + + + +function runTest() { + button07(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/button08.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/button08.js new file mode 100644 index 0000000..24062ed --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/button08.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/button08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The control is unavailable in this context. +The boolean value of attribute disabled of the button element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-92757155 +*/ +function button08() { + var success; + if(checkInitialization(builder, "button08") != null) return; + var nodeList; + var testNode; + var vdisabled; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vdisabled = testNode.disabled; + + assertTrue("disabledLink",vdisabled); + +} + + + + +function runTest() { + button08(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/button09.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/button09.js new file mode 100644 index 0000000..4db3697 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/button09.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/button09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The current form control value. +The value of attribute value of the button element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-72856782 +*/ +function button09() { + var success; + if(checkInitialization(builder, "button09") != null) return; + var nodeList; + var testNode; + var vvalue; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vvalue = testNode.value; + + assertEquals("typeLink","Reset Disabled Button",vvalue); + +} + + + + +function runTest() { + button09(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/doc01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/doc01.js new file mode 100644 index 0000000..4565ccf --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/doc01.js @@ -0,0 +1,106 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/doc01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Retrieve the title attribute of HTMLDocument and examine it's value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-18446827 +*/ +function doc01() { + var success; + if(checkInitialization(builder, "doc01") != null) return; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + vtitle = doc.title; + + assertEquals("titleLink","NIST DOM HTML Test - Anchor",vtitle); + +} + + + + +function runTest() { + doc01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/.cvsignore b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/.cvsignore new file mode 100644 index 0000000..30d6772 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/.cvsignore @@ -0,0 +1,6 @@ +xhtml1-frameset.dtd +xhtml1-strict.dtd +xhtml1-transitional.dtd +xhtml-lat1.ent +xhtml-special.ent +xhtml-symbol.ent diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/HTMLDocument04.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/HTMLDocument04.html new file mode 100644 index 0000000..6e56eac --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/HTMLDocument04.html @@ -0,0 +1,36 @@ + + + + +NIST DOM HTML Test - DOCUMENT + + +
    +

    + + + +

    +
    +

    + +Domain +Domain + +

    +

    +DTS IMAGE LOGO +

    +

    + + + + + + +

    +

    +View Submit Button +

    + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/anchor.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/anchor.html new file mode 100644 index 0000000..952e8d9 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/anchor.html @@ -0,0 +1,12 @@ + + + + +NIST DOM HTML Test - Anchor + + +

    +View Submit Button +

    + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/anchor2.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/anchor2.html new file mode 100644 index 0000000..1b04fb9 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/anchor2.html @@ -0,0 +1,13 @@ + + + + +NIST DOM HTML Test - Anchor + + +

    +View Submit Button +

    + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/applet.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/applet.html new file mode 100644 index 0000000..d721cf1 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/applet.html @@ -0,0 +1,12 @@ + + + + +NIST DOM HTML Test - Applet + + +

    + +

    + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/applet2.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/applet2.html new file mode 100644 index 0000000..0379ed1 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/applet2.html @@ -0,0 +1,12 @@ + + + + +NIST DOM HTML Test - Applet + + +

    + +

    + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/area.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/area.html new file mode 100644 index 0000000..dddff68 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/area.html @@ -0,0 +1,14 @@ + + + + +NIST DOM HTML Test - Area + + +

    + +Domain + +

    + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/area2.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/area2.html new file mode 100644 index 0000000..f1ae081 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/area2.html @@ -0,0 +1,15 @@ + + + + +NIST DOM HTML Test - Area + + +

    + +Domain + +

    + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/base.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/base.html new file mode 100644 index 0000000..53d151d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/base.html @@ -0,0 +1,11 @@ + + + + + +NIST DOM HTML Test - Base + + +

    Some Text

    + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/base2.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/base2.html new file mode 100644 index 0000000..c9e0d1a --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/base2.html @@ -0,0 +1,15 @@ + + + + + +NIST DOM HTML Test - Base2 + + + + + + + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/basefont.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/basefont.html new file mode 100644 index 0000000..e3753f7 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/basefont.html @@ -0,0 +1,12 @@ + + + + +NIST DOM HTML Test - BaseFont + + +

    + +

    + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/body.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/body.html new file mode 100644 index 0000000..6468cd0 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/body.html @@ -0,0 +1,10 @@ + + + + +NIST DOM HTML Test - Body + + +

    Hello, World

    + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/br.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/br.html new file mode 100644 index 0000000..0a3a3d4 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/br.html @@ -0,0 +1,12 @@ + + + + +NIST DOM HTML Test - BR + + +

    +
    +

    + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/button.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/button.html new file mode 100644 index 0000000..c891ba4 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/button.html @@ -0,0 +1,21 @@ + + + + +NIST DOM HTML Test - Button + + +
    +

    + +

    +
    + + + + +
    + +
    + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/collection.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/collection.html new file mode 100644 index 0000000..885202d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/collection.html @@ -0,0 +1,79 @@ + + + + +NIST DOM HTML Test - SELECT + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table Caption
    Employee IdEmployee NamePositionSalaryGenderAddress
    next page ...next page ...next page ...next page ...next page ...next page ...
    EMP0001Margaret MartinAccountant56,000Female1230 North Ave. Dallas, Texas 98551
    EMP0002Martha RaynoldsSecretary35,000Female1900 Dallas Road Dallas, Texas 98554
    +
    +

    + +

    +
    +

    + +

    +

    + +

    + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/directory.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/directory.html new file mode 100644 index 0000000..0e2f460 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/directory.html @@ -0,0 +1,14 @@ + + + + +NIST DOM HTML Test - Directory + + + +
  • DIR item number 1.
  • +
  • DIR item number 2.
  • +
  • DIR item number 3.
  • +
    + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/div.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/div.html new file mode 100644 index 0000000..6b83646 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/div.html @@ -0,0 +1,10 @@ + + + + +NIST DOM HTML Test - DIV + + +
    The DIV element is a generic block container. This text should be centered.
    + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/dl.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/dl.html new file mode 100644 index 0000000..5dec3af --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/dl.html @@ -0,0 +1,15 @@ + + + + +NIST DOM HTML Test - DL + + +
    +
    Accountant
    +
    56,000
    +
    Female
    +
    1230 North Ave. Dallas, Texas 98551
    +
    + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/document.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/document.html new file mode 100644 index 0000000..9cd9c8a --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/document.html @@ -0,0 +1,36 @@ + + + + +NIST DOM HTML Test - DOCUMENT + + +
    +

    + + + +

    +
    +

    + +Domain +Domain + +

    +

    +DTS IMAGE LOGO +

    +

    + + + + + + +

    +

    +View Submit Button +

    + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/element.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/element.html new file mode 100644 index 0000000..a0c198e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/element.html @@ -0,0 +1,81 @@ + + + + +NIST DOM HTML Test - Element + + +
    + +
    +
    +

    Test Lists

    +
    +
    +
      +
    1. EMP0001 +
        +
      • Margaret Martin +
        +
        Accountant
        +
        56,000
        +
        Female
        +
        1230 North Ave. Dallas, Texas 98551
        +
        +
      • +
      +
    2. +
    +
    +Bold +
    +
    +
    DT element
    +
    +
    +Bidirectional algorithm overide + +
    +Italicized +
    + +
    +Teletype +
    +Subscript +
    +SuperScript +
    +Strike Through (S) +
    +Strike Through (STRIKE) +
    +Small +
    +Big +
    +Emphasis +
    +Strong +
    + + 10 Computer Code Fragment 20 Temp = 10 + Temp = 20 + *2 + Temp + Citation + +
    +Temp +
    +NIST +
    +
    Gaithersburg, MD 20899
    +
    +Not +
    + +
    +Underlined + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/fieldset.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/fieldset.html new file mode 100644 index 0000000..312ea44 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/fieldset.html @@ -0,0 +1,23 @@ + + + + +NIST DOM HTML Test - FieldSet + + +
    +
    +All data entered must be valid +
    +
    + + + + +
    +
    +All data entered must be valid +
    +
    + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/font.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/font.html new file mode 100644 index 0000000..894e442 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/font.html @@ -0,0 +1,10 @@ + + + + +NIST DOM HTML Test - Font + + +Test Tables + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/form.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/form.html new file mode 100644 index 0000000..d8bf024 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/form.html @@ -0,0 +1,17 @@ + + + + +NIST DOM HTML Test - FORM + + +
    +

    + + + +

    +
    + + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/form2.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/form2.html new file mode 100644 index 0000000..c44b672 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/form2.html @@ -0,0 +1,17 @@ + + + + +NIST DOM HTML Test - FORM + + +
    +

    + + + +

    +
    + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/form3.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/form3.html new file mode 100644 index 0000000..543d09e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/form3.html @@ -0,0 +1,17 @@ + + + + +FORM3 + + +
    +

    + + + +

    +
    + + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/frame.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/frame.html new file mode 100644 index 0000000..41182c9 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/frame.html @@ -0,0 +1,14 @@ + + + + +NIST DOM HTML Test - FRAME + + + + + + + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/frameset.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/frameset.html new file mode 100644 index 0000000..f208fe0 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/frameset.html @@ -0,0 +1,14 @@ + + + + +NIST DOM HTML Test - FRAMESET + + + + + + + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/head.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/head.html new file mode 100644 index 0000000..5bbb8c0 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/head.html @@ -0,0 +1,11 @@ + + + + +NIST DOM HTML Test - HEAD + + +

    Hello, World.

    + + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/heading.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/heading.html new file mode 100644 index 0000000..90d388c --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/heading.html @@ -0,0 +1,16 @@ + + + + +NIST DOM HTML Test - HEADING + + +

    Head Element 1

    +

    Head Element 2

    +

    Head Element 3

    +

    Head Element 4

    +
    Head Element 5
    +
    Head Element 6
    + + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/hr.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/hr.html new file mode 100644 index 0000000..9c4facc --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/hr.html @@ -0,0 +1,11 @@ + + + + +NIST DOM HTML Test - HR + + +
    + + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/html.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/html.html new file mode 100644 index 0000000..2c91731 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/html.html @@ -0,0 +1,12 @@ + + + + +NIST DOM HTML Test - Html + + +

    Hello, World.

    + + + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/iframe.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/iframe.html new file mode 100644 index 0000000..0a44fc3 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/iframe.html @@ -0,0 +1,10 @@ + + + + +NIST DOM HTML Test - IFRAME + + + + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/img.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/img.html new file mode 100644 index 0000000..b4e8b27 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/img.html @@ -0,0 +1,13 @@ + + + + +NIST DOM HTML Test - IMG + + +

    +DTS IMAGE LOGO +

    + + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/input.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/input.html new file mode 100644 index 0000000..c36e87d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/input.html @@ -0,0 +1,60 @@ + + + + +NIST DOM HTML Test - INPUT + + + + + + +
    Under a FORM control +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    +ReHire +
    +NewHire +
    Hours available to work +EarlyMornings +
    +Afternoon +
    +Evenings +
    +Closing +
    +
    + +
    + +
    +
    +
    + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/isindex.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/isindex.html new file mode 100644 index 0000000..0fd50ce --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/isindex.html @@ -0,0 +1,14 @@ + + + + +NIST DOM HTML Test - ISINDEX + + +
    + + + + + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/label.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/label.html new file mode 100644 index 0000000..d0abc04 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/label.html @@ -0,0 +1,21 @@ + + + + +NIST DOM HTML Test - LABEL + + +
    +

    + + +

    +
    +

    + + +

    + + + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/legend.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/legend.html new file mode 100644 index 0000000..53160ee --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/legend.html @@ -0,0 +1,22 @@ + + + + +NIST DOM HTML Test - LEGEND + + +
    +
    +Enter Password1: + +
    +
    +
    +Enter Password2: + +
    + + + + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/li.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/li.html new file mode 100644 index 0000000..0c97b4c --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/li.html @@ -0,0 +1,23 @@ + + + + +NIST DOM HTML Test - LI + + +
      +
    1. EMP0001 +
        +
      • Margaret Martin +
        +
        Accountant
        +
        56,000
        +
        Female
        +
        +
      • +
      +
    2. +
    + + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/link.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/link.html new file mode 100644 index 0000000..2d4c082 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/link.html @@ -0,0 +1,15 @@ + + + + +NIST DOM HTML Test - LINK + + + + +

    +
    +

    + + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/link2.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/link2.html new file mode 100644 index 0000000..12fac9d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/link2.html @@ -0,0 +1,15 @@ + + + + +NIST DOM HTML Test - LINK + + + + +

    +
    +

    + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/map.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/map.html new file mode 100644 index 0000000..a636fa5 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/map.html @@ -0,0 +1,16 @@ + + + + +NIST DOM HTML Test - MAP + + +

    + +Domain1 +Domain2 +Domain3 + +

    + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/menu.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/menu.html new file mode 100644 index 0000000..e07204f --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/menu.html @@ -0,0 +1,15 @@ + + + + +NIST DOM HTML Test - MENU + + + +
  • Interview
  • +
  • Paperwork
  • +
  • Give start date
  • +
    + + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/meta.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/meta.html new file mode 100644 index 0000000..e88fe8f --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/meta.html @@ -0,0 +1,13 @@ + + + + +NIST DOM HTML Test - META + + +

    +
    +

    + + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/mod.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/mod.html new file mode 100644 index 0000000..1ab7969 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/mod.html @@ -0,0 +1,15 @@ + + + + +NIST DOM HTML Test - MOD + + +

    +The INS element is used to indicate that a section of a document had been inserted. +
    +The DEL element is used to indicate that a section of a document had been removed. +

    + + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/object.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/object.html new file mode 100644 index 0000000..7960549 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/object.html @@ -0,0 +1,18 @@ + + + + +NIST DOM HTML Test - OBJECT + + +

    + +

    +
    +

    + +

    +
    + + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/object2.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/object2.html new file mode 100644 index 0000000..0a39363 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/object2.html @@ -0,0 +1,17 @@ + + + + +NIST DOM HTML Test - OBJECT + + +

    + +

    +
    +

    + +

    +
    + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/olist.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/olist.html new file mode 100644 index 0000000..f69c9de --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/olist.html @@ -0,0 +1,32 @@ + + + + +NIST DOM HTML Test - OLIST + + +
      +
    1. EMP0001 +
        +
      • Margaret Martin +
        +
        Accountant
        +
        56,000
        +
        +
      • +
      +
    2. +
    3. EMP0002 +
        +
      • Martha Raynolds +
        +
        Secretary
        +
        35,000
        +
        +
      • +
      +
    4. +
    + + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/optgroup.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/optgroup.html new file mode 100644 index 0000000..a354af8 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/optgroup.html @@ -0,0 +1,25 @@ + + + + +NIST DOM HTML Test - OPTGROUP + + +
    +

    + +

    +
    + + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/option.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/option.html new file mode 100644 index 0000000..83707c3 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/option.html @@ -0,0 +1,36 @@ + + + + +NIST DOM HTML Test - OPTION + + +
    +

    + +

    +
    +

    + +

    + + + + + + + + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/paragraph.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/paragraph.html new file mode 100644 index 0000000..0da4836 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/paragraph.html @@ -0,0 +1,13 @@ + + + + +NIST DOM HTML Test - PARAGRAPH + + +

    +TEXT +

    + + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/param.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/param.html new file mode 100644 index 0000000..290e626 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/param.html @@ -0,0 +1,14 @@ + + + + +NIST DOM HTML Test - PARAM + + +

    + + + +

    + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/pre.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/pre.html new file mode 100644 index 0000000..2a40206 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/pre.html @@ -0,0 +1,17 @@ + + + + +NIST DOM HTML Test - PRE + + +
    The PRE is used to indicate pre-formatted text.  Visual agents may:
    +
    +                leave white space intact.
    +                May render text with a fixed-pitch font.
    +                May disable automatic word wrap.
    +                Must not disable bidirectional processing.
    +
    + + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/quote.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/quote.html new file mode 100644 index 0000000..6bad2b8 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/quote.html @@ -0,0 +1,16 @@ + + + + +NIST DOM HTML Test - QUOTE + + +

    +The Q element is intended for short quotations +

    +
    +

    The BLOCKQUOTE element is used for long quotations.

    +
    + + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/script.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/script.html new file mode 100644 index 0000000..362860b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/script.html @@ -0,0 +1,11 @@ + + + + +NIST DOM HTML Test - SCRIPT + + + + + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/select.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/select.html new file mode 100644 index 0000000..7820624 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/select.html @@ -0,0 +1,44 @@ + + + + +NIST DOM HTML Test - SELECT + + +
    +

    + +

    +
    +

    + +

    +

    + +

    + + + + + + + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/style.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/style.html new file mode 100644 index 0000000..c3df424 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/style.html @@ -0,0 +1,12 @@ + + + + + +NIST DOM HTML Test - STYLE + + +

    Hello, World.

    + + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/table.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/table.html new file mode 100644 index 0000000..b8f151e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/table.html @@ -0,0 +1,78 @@ + + + + +NIST DOM HTML Test - TABLE + + + + + + + + + +
    IdNamePositionSalary
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table Caption
    Employee IdEmployee NamePositionSalaryGenderAddress
    next page ...next page ...next page ...next page ...next page ...next page ...
    EMP0001Margaret MartinAccountant56,000Female1230 North Ave. Dallas, Texas 98551
    EMP0002Martha RaynoldsSecretary35,000Female1900 Dallas Road Dallas, Texas 98554
    + + + + + + + + + + + + + + + + +
    +
    +
    +
    + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/table1.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/table1.html new file mode 100644 index 0000000..8f5d19b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/table1.html @@ -0,0 +1,12 @@ + + + + +NIST DOM HTML Test - TABLE + + + + +
    HTML can't abide empty table
    + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/tablecaption.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/tablecaption.html new file mode 100644 index 0000000..f9181c7 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/tablecaption.html @@ -0,0 +1,25 @@ + + + + +NIST DOM HTML Test - TABLECAPTION + + + + + + + + + + +
    CAPTION 1
    Employee IdEmployee NamePositionSalary
    + + + + + + + + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/tablecell.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/tablecell.html new file mode 100644 index 0000000..c9adef2 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/tablecell.html @@ -0,0 +1,23 @@ + + + + +NIST DOM HTML Test - TABLECELL + + + + + + + + + + + + + + + +
    Employee IdEmployee NamePositionSalary
    EMP0001Margaret MartinAccountant56,000
    + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/tablecol.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/tablecol.html new file mode 100644 index 0000000..c72a948 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/tablecol.html @@ -0,0 +1,35 @@ + + + + +NIST DOM HTML Test - TABLECOL + + + +++ + + + + + + + + + + + + +
    IdNamePositionSalary
    EMP0001MartinAccountant56,000
    + + + + + + + + + + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/tablerow.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/tablerow.html new file mode 100644 index 0000000..9e76a4c --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/tablerow.html @@ -0,0 +1,59 @@ + + + + +NIST DOM HTML Test - TABLEROW + + + + + + + + + +
    IdNamePositionSalary
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table Caption
    Employee IdEmployee NamePositionSalaryGenderAddress
    next page ...next page ...next page ...next page ...next page ...next page ...
    EMP0001Margaret MartinAccountant56,000Female1230 North Ave. Dallas, Texas 98551
    EMP0002Martha RaynoldsSecretary35,000Female1900 Dallas Road Dallas, Texas 98554
    + + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/tablesection.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/tablesection.html new file mode 100644 index 0000000..0c1a5f7 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/tablesection.html @@ -0,0 +1,62 @@ + + + + +NIST DOM HTML Test - TABLESECTION + + + + + + + + + + + +
    IdNamePositionSalary
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table Caption
    Employee IdEmployee NamePositionSalaryGenderAddress
    next page ...next page ...next page ...next page ...next page ...next page ...
    EMP0001Margaret MartinAccountant56,000Female1230 North Ave. Dallas, Texas 98551
    EMP0002Martha RaynoldsSecretary35,000Female1900 Dallas Road Dallas, Texas 98554
    + + + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/textarea.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/textarea.html new file mode 100644 index 0000000..b9aedc4 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/textarea.html @@ -0,0 +1,26 @@ + + + + +NIST DOM HTML Test - TEXTAREA + + +
    +

    + + + +

    +
    +

    + + + + + + +

    + + + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/title.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/title.html new file mode 100644 index 0000000..2078ee9 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/title.html @@ -0,0 +1,13 @@ + + + + +NIST DOM HTML Test - TITLE + + +

    +
    +

    + + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/ulist.html b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/ulist.html new file mode 100644 index 0000000..75498e2 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/ulist.html @@ -0,0 +1,36 @@ + + + + +NIST DOM HTML Test - ULIST + + +
      +
    1. EMP0001 +
        +
      • Margaret Martin +
        +
        Accountant
        +
        56,000
        +
        Female
        +
        1230 North Ave. Dallas, Texas 98551
        +
        +
      • +
      +
    2. +
    3. EMP0002 +
        +
      • Martha Raynolds +
        +
        Secretary
        +
        35,000
        +
        Female
        +
        1900 Dallas Road. Dallas, Texas 98554
        +
        +
      • +
      +
    4. +
    + + + diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/hasFeature01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/hasFeature01.js new file mode 100644 index 0000000..d717032 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/hasFeature01.js @@ -0,0 +1,96 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/hasFeature01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + if (docsLoaded == 0) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 0) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +hasFeature("hTmL", null) should return true. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-5CED94D7 +*/ +function hasFeature01() { + var success; + if(checkInitialization(builder, "hasFeature01") != null) return; + var doc; + var domImpl; + var version = null; + + var state; + domImpl = getImplementation(); +state = domImpl.hasFeature("hTmL",version); +assertTrue("hasHTMLnull",state); + +} + + + + +function runTest() { + hasFeature01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument02.js new file mode 100644 index 0000000..4d3d8e5 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument02.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The referrer attribute returns the URI of the page that linked to this + page. + + Retrieve the referrer attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95229140 +*/ +function HTMLDocument02() { + var success; + if(checkInitialization(builder, "HTMLDocument02") != null) return; + var nodeList; + var testNode; + var vreferrer; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + vreferrer = doc.referrer; + + assertEquals("referrerLink","",vreferrer); + +} + + + + +function runTest() { + HTMLDocument02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument03.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument03.js new file mode 100644 index 0000000..884dd1a --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument03.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The domain attribute specifies the domain name of the server that served + the document, or null if the server cannot be identified by a domain name. + + Retrieve the domain attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-2250147 +*/ +function HTMLDocument03() { + var success; + if(checkInitialization(builder, "HTMLDocument03") != null) return; + var nodeList; + var testNode; + var vdomain; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + vdomain = doc.domain; + + assertEquals("domainLink","",vdomain); + +} + + + + +function runTest() { + HTMLDocument03(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument04.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument04.js new file mode 100644 index 0000000..c8c7669 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument04.js @@ -0,0 +1,110 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "HTMLDocument04"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The URL attribute specifies the absolute URI of the document. + + Retrieve the URL attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-46183437 +*/ +function HTMLDocument04() { + var success; + if(checkInitialization(builder, "HTMLDocument04") != null) return; + var nodeList; + var testNode; + var vurl; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "HTMLDocument04"); + vurl = doc.URL; + + assertURIEquals("URLLink",null,null,null,null,"HTMLDocument04",null,null,true,vurl); + +} + + + + +function runTest() { + HTMLDocument04(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument07.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument07.js new file mode 100644 index 0000000..4223896 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument07.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The images attribute returns a collection of all IMG elements in a document. + + Retrieve the images attribute from the document and examine its value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-90379117 +*/ +function HTMLDocument07() { + var success; + if(checkInitialization(builder, "HTMLDocument07") != null) return; + var nodeList; + var testNode; + var vimages; + var vlength; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + vimages = doc.images; + + vlength = vimages.length; + + assertEquals("lengthLink",1,vlength); + +} + + + + +function runTest() { + HTMLDocument07(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument09.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument09.js new file mode 100644 index 0000000..bea426e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument09.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The links attribute returns a collection of all AREA and A elements + in a document with a value for the href attribute. + + Retrieve the links attribute from the document and examine its value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-7068919 +*/ +function HTMLDocument09() { + var success; + if(checkInitialization(builder, "HTMLDocument09") != null) return; + var nodeList; + var testNode; + var vlinks; + var vlength; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + vlinks = doc.links; + + vlength = vlinks.length; + + assertEquals("lengthLink",3,vlength); + +} + + + + +function runTest() { + HTMLDocument09(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument10.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument10.js new file mode 100644 index 0000000..0595c99 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument10.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The forms attribute returns a collection of all the forms in a document. + + Retrieve the forms attribute from the document and examine its value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-1689064 +*/ +function HTMLDocument10() { + var success; + if(checkInitialization(builder, "HTMLDocument10") != null) return; + var nodeList; + var testNode; + var vforms; + var vlength; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + vforms = doc.forms; + + vlength = vforms.length; + + assertEquals("lengthLink",1,vlength); + +} + + + + +function runTest() { + HTMLDocument10(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument12.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument12.js new file mode 100644 index 0000000..9be7e7b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument12.js @@ -0,0 +1,109 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The cookie attribute returns the cookies associated with this document. + + Retrieve the cookie attribute and examine its value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-8747038 +*/ +function HTMLDocument12() { + var success; + if(checkInitialization(builder, "HTMLDocument12") != null) return; + var nodeList; + var vcookie; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + vcookie = doc.cookie; + + assertEquals("cookieLink","",vcookie); + +} + + + + +function runTest() { + HTMLDocument12(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement01.js new file mode 100644 index 0000000..11aefe8 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement01.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFormElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "form"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The elements attribute specifies a collection of all control element + in the form. + + Retrieve the elements attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76728479 +*/ +function HTMLFormElement01() { + var success; + if(checkInitialization(builder, "HTMLFormElement01") != null) return; + var nodeList; + var elementnodeList; + var testNode; + var velements; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "form"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + elementnodeList = testNode.elements; + + velements = elementnodeList.length; + + assertEquals("elementsLink",3,velements); + +} + + + + +function runTest() { + HTMLFormElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement09.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement09.js new file mode 100644 index 0000000..07c97ae --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement09.js @@ -0,0 +1,107 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFormElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "form2"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +HTMLFormElement.reset restores the forms default values. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76767677 +*/ +function HTMLFormElement09() { + var success; + if(checkInitialization(builder, "HTMLFormElement09") != null) return; + var nodeList; + var testNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "form2"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + testNode.reset(); + +} + + + + +function runTest() { + HTMLFormElement09(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement10.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement10.js new file mode 100644 index 0000000..fd8a2a1 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement10.js @@ -0,0 +1,107 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFormElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "form3"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +HTMLFormElement.submit submits the form. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76767676 +*/ +function HTMLFormElement10() { + var success; + if(checkInitialization(builder, "HTMLFormElement10") != null) return; + var nodeList; + var testNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "form3"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + testNode.submit(); + +} + + + + +function runTest() { + HTMLFormElement10(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement19.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement19.js new file mode 100644 index 0000000..5141acf --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement19.js @@ -0,0 +1,107 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement19"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +HTMLInputElement.blur should surrender input focus. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-26838235 +*/ +function HTMLInputElement19() { + var success; + if(checkInitialization(builder, "HTMLInputElement19") != null) return; + var nodeList; + var testNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(1); + testNode.blur(); + +} + + + + +function runTest() { + HTMLInputElement19(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement20.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement20.js new file mode 100644 index 0000000..aac64e9 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement20.js @@ -0,0 +1,107 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement20"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +HTMLInputElement.focus should capture input focus. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-65996295 +*/ +function HTMLInputElement20() { + var success; + if(checkInitialization(builder, "HTMLInputElement20") != null) return; + var nodeList; + var testNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(1); + testNode.focus(); + +} + + + + +function runTest() { + HTMLInputElement20(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement22.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement22.js new file mode 100644 index 0000000..a1ce02e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement22.js @@ -0,0 +1,108 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement22"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +HTMLInputElement.select should select the contents of a text area. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-34677168 +*/ +function HTMLInputElement22() { + var success; + if(checkInitialization(builder, "HTMLInputElement22") != null) return; + var nodeList; + var testNode; + var doc; + var checked; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(0); + testNode.select(); + +} + + + + +function runTest() { + HTMLInputElement22(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement01.js new file mode 100644 index 0000000..925bfca --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement01.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The type attribute is the string "select-multiple" when multiple + attribute is true. + + Retrieve the type attribute from the first SELECT element and + examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-58783172 +*/ +function HTMLSelectElement01() { + var success; + if(checkInitialization(builder, "HTMLSelectElement01") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","select-multiple",vtype); + +} + + + + +function runTest() { + HTMLSelectElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement02.js new file mode 100644 index 0000000..cf4665b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement02.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The selectedIndex attribute specifies the ordinal index of the selected + option. + + Retrieve the selectedIndex attribute from the first SELECT element and + examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-85676760 +*/ +function HTMLSelectElement02() { + var success; + if(checkInitialization(builder, "HTMLSelectElement02") != null) return; + var nodeList; + var testNode; + var vselectedindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vselectedindex = testNode.selectedIndex; + + assertEquals("selectedIndexLink",0,vselectedindex); + +} + + + + +function runTest() { + HTMLSelectElement02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement04.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement04.js new file mode 100644 index 0000000..149ee9c --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement04.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The value attribute specifies the current form control value. + + Retrieve the value attribute from the first SELECT element and + examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59351919 +*/ +function HTMLSelectElement04() { + var success; + if(checkInitialization(builder, "HTMLSelectElement04") != null) return; + var nodeList; + var testNode; + var vvalue; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vvalue = testNode.value; + + assertEquals("valueLink","EMP1",vvalue); + +} + + + + +function runTest() { + HTMLSelectElement04(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement05.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement05.js new file mode 100644 index 0000000..0ad9c9d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement05.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The length attribute specifies the number of options in this select. + + Retrieve the length attribute from the first SELECT element and + examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-5933486 +*/ +function HTMLSelectElement05() { + var success; + if(checkInitialization(builder, "HTMLSelectElement05") != null) return; + var nodeList; + var testNode; + var vlength; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vlength = testNode.length; + + assertEquals("lengthLink",5,vlength); + +} + + + + +function runTest() { + HTMLSelectElement05(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement14.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement14.js new file mode 100644 index 0000000..c41c697 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement14.js @@ -0,0 +1,107 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement14"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +focus should give the select element input focus. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-32130014 +*/ +function HTMLSelectElement14() { + var success; + if(checkInitialization(builder, "HTMLSelectElement14") != null) return; + var nodeList; + var testNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + testNode.focus(); + +} + + + + +function runTest() { + HTMLSelectElement14(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement15.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement15.js new file mode 100644 index 0000000..43bd641 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement15.js @@ -0,0 +1,107 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement15"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +blur should surrender input focus. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-28216144 +*/ +function HTMLSelectElement15() { + var success; + if(checkInitialization(builder, "HTMLSelectElement15") != null) return; + var nodeList; + var testNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + testNode.blur(); + +} + + + + +function runTest() { + HTMLSelectElement15(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement16.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement16.js new file mode 100644 index 0000000..e7175a2 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement16.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement16"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Removes an option using HTMLSelectElement.remove. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33404570 +*/ +function HTMLSelectElement16() { + var success; + if(checkInitialization(builder, "HTMLSelectElement16") != null) return; + var nodeList; + var testNode; + var doc; + var optLength; + var selected; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + testNode.remove(0); + optLength = testNode.length; + + assertEquals("optLength",4,optLength); + selected = testNode.selectedIndex; + + assertEquals("selected",-1,selected); + +} + + + + +function runTest() { + HTMLSelectElement16(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement17.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement17.js new file mode 100644 index 0000000..4f8a99f --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement17.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement17"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Removes a non-existant option using HTMLSelectElement.remove. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33404570 +*/ +function HTMLSelectElement17() { + var success; + if(checkInitialization(builder, "HTMLSelectElement17") != null) return; + var nodeList; + var testNode; + var doc; + var optLength; + var selected; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + testNode.remove(6); + optLength = testNode.length; + + assertEquals("optLength",5,optLength); + selected = testNode.selectedIndex; + + assertEquals("selected",0,selected); + +} + + + + +function runTest() { + HTMLSelectElement17(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement18.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement18.js new file mode 100644 index 0000000..74d793c --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement18.js @@ -0,0 +1,133 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement18"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Add a new option at the end of an select using HTMLSelectElement.add. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14493106 +*/ +function HTMLSelectElement18() { + var success; + if(checkInitialization(builder, "HTMLSelectElement18") != null) return; + var nodeList; + var testNode; + var doc; + var optLength; + var selected; + var newOpt; + var newOptText; + var opt; + var optText; + var optValue; + var retNode; + var nullNode = null; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + newOpt = doc.createElement("option"); + newOptText = doc.createTextNode("EMP31415"); + retNode = newOpt.appendChild(newOptText); + testNode.add(newOpt,nullNode); + optLength = testNode.length; + + assertEquals("optLength",6,optLength); + selected = testNode.selectedIndex; + + assertEquals("selected",0,selected); + opt = testNode.lastChild; + + optText = opt.firstChild; + + optValue = optText.nodeValue; + + assertEquals("lastValue","EMP31415",optValue); + +} + + + + +function runTest() { + HTMLSelectElement18(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement19.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement19.js new file mode 100644 index 0000000..8e4dcc1 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement19.js @@ -0,0 +1,137 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement19"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Add a new option before the selected node using HTMLSelectElement.add. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14493106 +*/ +function HTMLSelectElement19() { + var success; + if(checkInitialization(builder, "HTMLSelectElement19") != null) return; + var nodeList; + var testNode; + var doc; + var optLength; + var selected; + var newOpt; + var newOptText; + var opt; + var optText; + var optValue; + var retNode; + var options; + var selectedNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + newOpt = doc.createElement("option"); + newOptText = doc.createTextNode("EMP31415"); + retNode = newOpt.appendChild(newOptText); + options = testNode.options; + + selectedNode = options.item(0); + testNode.add(newOpt,selectedNode); + optLength = testNode.length; + + assertEquals("optLength",6,optLength); + selected = testNode.selectedIndex; + + assertEquals("selected",1,selected); + options = testNode.options; + + opt = options.item(0); + optText = opt.firstChild; + + optValue = optText.nodeValue; + + assertEquals("lastValue","EMP31415",optValue); + +} + + + + +function runTest() { + HTMLSelectElement19(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement08.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement08.js new file mode 100644 index 0000000..4105582 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement08.js @@ -0,0 +1,129 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The tBodies attribute returns a collection of all the defined + table bodies. + + Retrieve the tBodies attribute from the second TABLE element and + examine the items of the returned collection. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63206416 +*/ +function HTMLTableElement08() { + var success; + if(checkInitialization(builder, "HTMLTableElement08") != null) return; + var nodeList; + var tbodiesnodeList; + var testNode; + var doc; + var tbodiesName; + var vtbodies; + var result = new Array(); + + expectedOptions = new Array(); + expectedOptions[0] = "tbody"; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + tbodiesnodeList = testNode.tBodies; + + for(var indexN65632 = 0;indexN65632 < tbodiesnodeList.length; indexN65632++) { + vtbodies = tbodiesnodeList.item(indexN65632); + tbodiesName = vtbodies.nodeName; + + result[result.length] = tbodiesName; + + } + assertEqualsListAutoCase("element", "tbodiesLink",expectedOptions,result); + +} + + + + +function runTest() { + HTMLTableElement08(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement09.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement09.js new file mode 100644 index 0000000..83a420a --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement09.js @@ -0,0 +1,132 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The tBodies attribute returns a collection of all the defined + table bodies. + + Retrieve the tBodies attribute from the third TABLE element and + examine the items of the returned collection. Tests multiple TBODY + elements. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63206416 +*/ +function HTMLTableElement09() { + var success; + if(checkInitialization(builder, "HTMLTableElement09") != null) return; + var nodeList; + var tbodiesnodeList; + var testNode; + var doc; + var tbodiesName; + var vtbodies; + var result = new Array(); + + expectedOptions = new Array(); + expectedOptions[0] = "tbody"; + expectedOptions[1] = "tbody"; + expectedOptions[2] = "tbody"; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(2); + tbodiesnodeList = testNode.tBodies; + + for(var indexN65638 = 0;indexN65638 < tbodiesnodeList.length; indexN65638++) { + vtbodies = tbodiesnodeList.item(indexN65638); + tbodiesName = vtbodies.nodeName; + + result[result.length] = tbodiesName; + + } + assertEqualsListAutoCase("element", "tbodiesLink",expectedOptions,result); + +} + + + + +function runTest() { + HTMLTableElement09(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement19.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement19.js new file mode 100644 index 0000000..e9d5d98 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement19.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement19"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The createTHead() method creates a table header row or returns + an existing one. + + Create a new THEAD element on the first TABLE element. The first + TABLE element should return null to make sure one doesn't exist. + After creation of the THEAD element the value is once again + checked and should not be null. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-70313345 +*/ +function HTMLTableElement19() { + var success; + if(checkInitialization(builder, "HTMLTableElement19") != null) return; + var nodeList; + var testNode; + var vsection1; + var vsection2; + var newHead; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vsection1 = testNode.tHead; + + assertNull("vsection1Id",vsection1); + newHead = testNode.createTHead(); + vsection2 = testNode.tHead; + + assertNotNull("vsection2Id",vsection2); + +} + + + + +function runTest() { + HTMLTableElement19(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement20.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement20.js new file mode 100644 index 0000000..b2aba77 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement20.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement20"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The createTHead() method creates a table header row or returns + an existing one. + + Try to create a new THEAD element on the second TABLE element. + Since a THEAD element already exists in the TABLE element a new + THEAD element is not created and information from the already + existing THEAD element is returned. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-70313345 +*/ +function HTMLTableElement20() { + var success; + if(checkInitialization(builder, "HTMLTableElement20") != null) return; + var nodeList; + var testNode; + var vsection; + var newHead; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + newHead = testNode.createTHead(); + vsection = testNode.tHead; + + valign = vsection.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLTableElement20(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement21.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement21.js new file mode 100644 index 0000000..2c3145b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement21.js @@ -0,0 +1,139 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement21"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The deleteTHead() method deletes the header from the table. + + The deleteTHead() method will delete the THEAD Element from the + second TABLE element. First make sure that the THEAD element exists + and then count the number of rows. After the THEAD element is + deleted there should be one less row. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-38310198 +*/ +function HTMLTableElement21() { + var success; + if(checkInitialization(builder, "HTMLTableElement21") != null) return; + var nodeList; + var rowsnodeList; + var testNode; + var vsection1; + var vsection2; + var vrows; + var doc; + var result = new Array(); + + expectedResult = new Array(); + expectedResult[0] = 4; + expectedResult[1] = 3; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vsection1 = testNode.tHead; + + assertNotNull("vsection1Id",vsection1); +rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + result[result.length] = vrows; +testNode.deleteTHead(); + vsection2 = testNode.tHead; + + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + result[result.length] = vrows; +assertEqualsList("rowsLink",expectedResult,result); + +} + + + + +function runTest() { + HTMLTableElement21(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement22.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement22.js new file mode 100644 index 0000000..e725f71 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement22.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement22"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The createTFoot() method creates a table footer row or returns + an existing one. + + Create a new TFOOT element on the first TABLE element. The first + TABLE element should return null to make sure one doesn't exist. + After creation of the TFOOT element the value is once again + checked and should not be null. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-8453710 +*/ +function HTMLTableElement22() { + var success; + if(checkInitialization(builder, "HTMLTableElement22") != null) return; + var nodeList; + var testNode; + var vsection1; + var vsection2; + var newFoot; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vsection1 = testNode.tFoot; + + assertNull("vsection1Id",vsection1); + newFoot = testNode.createTFoot(); + vsection2 = testNode.tFoot; + + assertNotNull("vsection2Id",vsection2); + +} + + + + +function runTest() { + HTMLTableElement22(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement23.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement23.js new file mode 100644 index 0000000..1e24500 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement23.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement23"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The createTFoot() method creates a table footer row or returns + an existing one. + + Try to create a new TFOOT element on the second TABLE element. + Since a TFOOT element already exists in the TABLE element a new + TFOOT element is not created and information from the already + existing TFOOT element is returned. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-8453710 +*/ +function HTMLTableElement23() { + var success; + if(checkInitialization(builder, "HTMLTableElement23") != null) return; + var nodeList; + var testNode; + var vsection; + var newFoot; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + newFoot = testNode.createTFoot(); + vsection = testNode.tFoot; + + valign = vsection.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLTableElement23(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement24.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement24.js new file mode 100644 index 0000000..efa614f --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement24.js @@ -0,0 +1,139 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement24"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The deleteTFoot() method deletes the footer from the table. + + The deleteTFoot() method will delete the TFOOT Element from the + second TABLE element. First make sure that the TFOOT element exists + and then count the number of rows. After the TFOOT element is + deleted there should be one less row. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78363258 +*/ +function HTMLTableElement24() { + var success; + if(checkInitialization(builder, "HTMLTableElement24") != null) return; + var nodeList; + var rowsnodeList; + var testNode; + var vsection1; + var vsection2; + var vrows; + var doc; + var result = new Array(); + + expectedResult = new Array(); + expectedResult[0] = 4; + expectedResult[1] = 3; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vsection1 = testNode.tFoot; + + assertNotNull("vsection1Id",vsection1); +rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + result[result.length] = vrows; +testNode.deleteTFoot(); + vsection2 = testNode.tFoot; + + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + result[result.length] = vrows; +assertEqualsList("rowsLink",expectedResult,result); + +} + + + + +function runTest() { + HTMLTableElement24(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement25.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement25.js new file mode 100644 index 0000000..aeaa566 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement25.js @@ -0,0 +1,121 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement25"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The createCaption() method creates a new table caption object or returns + an existing one. + + Create a new CAPTION element on the first TABLE element. Since + one does not currently exist the CAPTION element is created. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96920263 +*/ +function HTMLTableElement25() { + var success; + if(checkInitialization(builder, "HTMLTableElement25") != null) return; + var nodeList; + var testNode; + var vsection1; + var vsection2; + var newCaption; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vsection1 = testNode.caption; + + assertNull("vsection1Id",vsection1); + newCaption = testNode.createCaption(); + vsection2 = testNode.caption; + + assertNotNull("vsection2Id",vsection2); + +} + + + + +function runTest() { + HTMLTableElement25(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement26.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement26.js new file mode 100644 index 0000000..358d245 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement26.js @@ -0,0 +1,125 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement26"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The createCaption() method creates a new table caption object or returns + an existing one. + + Create a new CAPTION element on the first TABLE element. Since + one currently exists the CAPTION element is not created and you + can get the align attribute from the CAPTION element that exists. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96920263 +*/ +function HTMLTableElement26() { + var success; + if(checkInitialization(builder, "HTMLTableElement26") != null) return; + var nodeList; + var testNode; + var vsection1; + var vcaption; + var newCaption; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vsection1 = testNode.caption; + + assertNotNull("vsection1Id",vsection1); +newCaption = testNode.createCaption(); + vcaption = testNode.caption; + + valign = vcaption.align; + + assertEquals("alignLink","top",valign); + +} + + + + +function runTest() { + HTMLTableElement26(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement27.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement27.js new file mode 100644 index 0000000..415636a --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement27.js @@ -0,0 +1,119 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement27"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The deleteCaption() method deletes the table caption. + + Delete the CAPTION element on the second TABLE element. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-22930071 +*/ +function HTMLTableElement27() { + var success; + if(checkInitialization(builder, "HTMLTableElement27") != null) return; + var nodeList; + var testNode; + var vsection1; + var vsection2; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vsection1 = testNode.caption; + + assertNotNull("vsection1Id",vsection1); +testNode.deleteCaption(); + vsection2 = testNode.caption; + + assertNull("vsection2Id",vsection2); + +} + + + + +function runTest() { + HTMLTableElement27(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement28.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement28.js new file mode 100644 index 0000000..d87b1a9 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement28.js @@ -0,0 +1,133 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement28"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The insertRow() method inserts a new empty table row. + + Retrieve the second TABLE element and invoke the insertRow() method + with an index of 0. Currently the zero indexed row is in the THEAD + section of the TABLE. The number of rows in the THEAD section before + insertion of the new row is one. After the new row is inserted the number + of rows in the THEAD section is two. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39872903 +*/ +function HTMLTableElement28() { + var success; + if(checkInitialization(builder, "HTMLTableElement28") != null) return; + var nodeList; + var testNode; + var newRow; + var rowsnodeList; + var vsection1; + var vsection2; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vsection1 = testNode.tHead; + + rowsnodeList = vsection1.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink1",1,vrows); + newRow = testNode.insertRow(0); + vsection2 = testNode.tHead; + + rowsnodeList = vsection2.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink2",2,vrows); + +} + + + + +function runTest() { + HTMLTableElement28(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement29.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement29.js new file mode 100644 index 0000000..e681547 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement29.js @@ -0,0 +1,137 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement29"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The insertRow() method inserts a new empty table row. + + Retrieve the second TABLE element and invoke the insertRow() method + with an index of two. Currently the 2nd indexed row is in the TBODY + section of the TABLE. The number of rows in the TBODY section before + insertion of the new row is two. After the new row is inserted the number + of rows in the TBODY section is three. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39872903 +*/ +function HTMLTableElement29() { + var success; + if(checkInitialization(builder, "HTMLTableElement29") != null) return; + var nodeList; + var tbodiesnodeList; + var testNode; + var bodyNode; + var newRow; + var rowsnodeList; + var vsection1; + var vsection2; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + tbodiesnodeList = testNode.tBodies; + + bodyNode = tbodiesnodeList.item(0); + rowsnodeList = bodyNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink1",2,vrows); + newRow = testNode.insertRow(2); + tbodiesnodeList = testNode.tBodies; + + bodyNode = tbodiesnodeList.item(0); + rowsnodeList = bodyNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink2",3,vrows); + +} + + + + +function runTest() { + HTMLTableElement29(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement30.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement30.js new file mode 100644 index 0000000..8606249 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement30.js @@ -0,0 +1,144 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement30"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The insertRow() method inserts a new empty table row. + + Retrieve the second TABLE element and invoke the insertRow() method + with an index of four. After the new row is inserted the number of rows + in the table should be five. + Also the number of rows in the TFOOT section before + insertion of the new row is one. After the new row is inserted the number + of rows in the TFOOT section is two. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39872903 +*/ +function HTMLTableElement30() { + var success; + if(checkInitialization(builder, "HTMLTableElement30") != null) return; + var nodeList; + var tbodiesnodeList; + var testNode; + var newRow; + var rowsnodeList; + var vsection1; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink1",4,vrows); + vsection1 = testNode.tFoot; + + rowsnodeList = vsection1.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink",1,vrows); + newRow = testNode.insertRow(4); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink2",5,vrows); + vsection1 = testNode.tFoot; + + rowsnodeList = vsection1.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink3",2,vrows); + +} + + + + +function runTest() { + HTMLTableElement30(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement31.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement31.js new file mode 100644 index 0000000..a8f7a59 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement31.js @@ -0,0 +1,138 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement31"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table1"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The insertRow() method inserts a new empty table row. In addition, when + the table is empty the row is inserted into a TBODY which is created + and inserted into the table. + + Load the table1 file which has a non-empty table element. + Create an empty TABLE element and append to the document. + Check to make sure that the empty TABLE element doesn't + have a TBODY element. Insert a new row into the empty + TABLE element. Check for existence of the a TBODY element + in the table. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39872903 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2002Aug/0019.html +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=502 +*/ +function HTMLTableElement31() { + var success; + if(checkInitialization(builder, "HTMLTableElement31") != null) return; + var nodeList; + var testNode; + var tableNode; + var tbodiesnodeList; + var newRow; + var doc; + var table; + var tbodiesLength; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table1"); + nodeList = doc.getElementsByTagName("body"); + assertSize("tableSize1",1,nodeList); +testNode = nodeList.item(0); + table = doc.createElement("table"); + tableNode = testNode.appendChild(table); + nodeList = doc.getElementsByTagName("table"); + assertSize("tableSize2",2,nodeList); +tbodiesnodeList = tableNode.tBodies; + + tbodiesLength = tbodiesnodeList.length; + + assertEquals("Asize3",0,tbodiesLength); + newRow = tableNode.insertRow(0); + tbodiesnodeList = tableNode.tBodies; + + tbodiesLength = tbodiesnodeList.length; + + assertEquals("Asize4",1,tbodiesLength); + +} + + + + +function runTest() { + HTMLTableElement31(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement32.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement32.js new file mode 100644 index 0000000..71c45ad --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement32.js @@ -0,0 +1,125 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement32"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The deleteRow() method deletes a table row. + + Retrieve the second TABLE element and invoke the deleteRow() method + with an index of 0(first row). Currently there are four rows in the + table. After the deleteRow() method is called there should be + three rows in the table. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-13114938 +*/ +function HTMLTableElement32() { + var success; + if(checkInitialization(builder, "HTMLTableElement32") != null) return; + var nodeList; + var testNode; + var rowsnodeList; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink1",4,vrows); + testNode.deleteRow(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink2",3,vrows); + +} + + + + +function runTest() { + HTMLTableElement32(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement33.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement33.js new file mode 100644 index 0000000..e839d22 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement33.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement33"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The deleteRow() method deletes a table row. + + Retrieve the second TABLE element and invoke the deleteRow() method + with an index of 3(last row). Currently there are four rows in the + table. The deleteRow() method is called and now there should be three. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-13114938 +*/ +function HTMLTableElement33() { + var success; + if(checkInitialization(builder, "HTMLTableElement33") != null) return; + var nodeList; + var testNode; + var rowsnodeList; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink1",4,vrows); + testNode.deleteRow(3); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink2",3,vrows); + +} + + + + +function runTest() { + HTMLTableElement33(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableRowElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableRowElement01.js new file mode 100644 index 0000000..1e0ea89 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableRowElement01.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The rowIndex attribute specifies the index of the row, relative to the + entire table, starting from 0. This is in document tree order and + not display order. The rowIndex does not take into account sections + (THEAD, TFOOT, or TBODY) within the table. + + Retrieve the third TR element within the document and examine + its rowIndex value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-67347567 +*/ +function HTMLTableRowElement01() { + var success; + if(checkInitialization(builder, "HTMLTableRowElement01") != null) return; + var nodeList; + var testNode; + var vrowindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(3); + vrowindex = testNode.rowIndex; + + assertEquals("rowIndexLink",1,vrowindex); + +} + + + + +function runTest() { + HTMLTableRowElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement13.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement13.js new file mode 100644 index 0000000..ed45bbb --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement13.js @@ -0,0 +1,107 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement13"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Calling HTMLTextAreaElement.blur should surrender input focus. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6750689 +*/ +function HTMLTextAreaElement13() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement13") != null) return; + var nodeList; + var testNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + testNode.blur(); + +} + + + + +function runTest() { + HTMLTextAreaElement13(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement14.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement14.js new file mode 100644 index 0000000..01e6bab --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement14.js @@ -0,0 +1,107 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement14"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Calling HTMLTextAreaElement.focus should capture input focus. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39055426 +*/ +function HTMLTextAreaElement14() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement14") != null) return; + var nodeList; + var testNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + testNode.focus(); + +} + + + + +function runTest() { + HTMLTextAreaElement14(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement15.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement15.js new file mode 100644 index 0000000..d10c2f0 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement15.js @@ -0,0 +1,107 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement15"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Calling HTMLTextAreaElement.select should select the text area. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-48880622 +*/ +function HTMLTextAreaElement15() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement15") != null) return; + var nodeList; + var testNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + testNode.select(); + +} + + + + +function runTest() { + HTMLTextAreaElement15(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/object01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/object01.js new file mode 100644 index 0000000..269c72b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/object01.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Returns the FORM element containing this control. Returns null if this control is not within the context of a form. +The value of attribute form of the object element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-46094773 +*/ +function object01() { + var success; + if(checkInitialization(builder, "object01") != null) return; + var nodeList; + var testNode; + var vform; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vform = testNode.form; + + assertNull("formLink",vform); + +} + + + + +function runTest() { + object01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/object06.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/object06.js new file mode 100644 index 0000000..947ee95 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/object06.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +A URI specifying the location of the object's data. +The value of attribute data of the object element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-81766986 +*/ +function object06() { + var success; + if(checkInitialization(builder, "object06") != null) return; + var nodeList; + var testNode; + var vdata; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vdata = testNode.data; + + assertEquals("dataLink","./pix/logo.gif",vdata); + +} + + + + +function runTest() { + object06(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/object07.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/object07.js new file mode 100644 index 0000000..1f28258 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/object07.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The value of attribute height of the object element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88925838 +*/ +function object07() { + var success; + if(checkInitialization(builder, "object07") != null) return; + var nodeList; + var testNode; + var vheight; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vheight = testNode.height; + + assertEquals("heightLink","60",vheight); + +} + + + + +function runTest() { + object07(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/object08.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/object08.js new file mode 100644 index 0000000..1157c1a --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/object08.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Horizontal space to the left and right of this image, applet, or object. +The value of attribute hspace of the object element is read and checked against the expected value. + + This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-17085376 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 +*/ +function object08() { + var success; + if(checkInitialization(builder, "object08") != null) return; + var nodeList; + var testNode; + var vhspace; + var doc; + var domImpl; + var hasHTML2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + domImpl = doc.implementation; +hasHTML2 = domImpl.hasFeature("HTML","2.0"); + + if( + + !hasHTML2 + ) { + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vhspace = testNode.hspace; + + assertEquals("hspaceLink","0",vhspace); + + } + +} + + + + +function runTest() { + object08(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/object10.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/object10.js new file mode 100644 index 0000000..6e930b9 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/object10.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Index that represents the element's position in the tabbing order. +The value of attribute tabIndex of the object element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-27083787 +*/ +function object10() { + var success; + if(checkInitialization(builder, "object10") != null) return; + var nodeList; + var testNode; + var vtabindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vtabindex = testNode.tabIndex; + + assertEquals("tabIndexLink",0,vtabindex); + +} + + + + +function runTest() { + object10(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/object11.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/object11.js new file mode 100644 index 0000000..6b6e67b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/object11.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Content type for data downloaded via data attribute. +The value of attribute type of the object element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-91665621 +*/ +function object11() { + var success; + if(checkInitialization(builder, "object11") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","image/gif",vtype); + +} + + + + +function runTest() { + object11(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/object12.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/object12.js new file mode 100644 index 0000000..fcb6bac --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/object12.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The value of attribute usemap of the object element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6649772 +*/ +function object12() { + var success; + if(checkInitialization(builder, "object12") != null) return; + var nodeList; + var testNode; + var vusemap; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vusemap = testNode.useMap; + + assertEquals("useMapLink","#DivLogo-map",vusemap); + +} + + + + +function runTest() { + object12(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/object13.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/object13.js new file mode 100644 index 0000000..a130490 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/object13.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object13"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Vertical space above and below this image, applet, or object. +The value of attribute vspace of the object element is read and checked against the expected value. + + This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-8682483 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 +*/ +function object13() { + var success; + if(checkInitialization(builder, "object13") != null) return; + var nodeList; + var testNode; + var vvspace; + var doc; + var domImpl; + var hasHTML2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + domImpl = doc.implementation; +hasHTML2 = domImpl.hasFeature("HTML","2.0"); + + if( + + !hasHTML2 + ) { + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vvspace = testNode.vspace; + + assertEquals("vspaceLink","0",vvspace); + + } + +} + + + + +function runTest() { + object13(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/object14.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/object14.js new file mode 100644 index 0000000..3d8df0d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/object14.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object14"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The value of attribute width of the object element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-38538620 +*/ +function object14() { + var success; + if(checkInitialization(builder, "object14") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vwidth = testNode.width; + + assertEquals("widthLink","550",vwidth); + +} + + + + +function runTest() { + object14(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement02.js new file mode 100644 index 0000000..6eeb796 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The charset attribute indicates the character encoding of the linked + resource. + + Retrieve the charset attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-67619266 +*/ +function HTMLAnchorElement02() { + var success; + if(checkInitialization(builder, "HTMLAnchorElement02") != null) return; + var nodeList; + var testNode; + var vcharset; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcharset = testNode.charset; + + assertEquals("charsetLink","US-ASCII",vcharset); + +} + + + + +function runTest() { + HTMLAnchorElement02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement03.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement03.js new file mode 100644 index 0000000..d43eadc --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement03.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The coords attribute is a comma-seperated list of lengths, defining + an active region geometry. + + Retrieve the coords attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-92079539 +*/ +function HTMLAnchorElement03() { + var success; + if(checkInitialization(builder, "HTMLAnchorElement03") != null) return; + var nodeList; + var testNode; + var vcoords; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcoords = testNode.coords; + + assertEquals("coordsLink","0,0,100,100",vcoords); + +} + + + + +function runTest() { + HTMLAnchorElement03(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement06.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement06.js new file mode 100644 index 0000000..003c17a --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement06.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The name attribute contains the anchor name. + + Retrieve the name attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-32783304 +*/ +function HTMLAnchorElement06() { + var success; + if(checkInitialization(builder, "HTMLAnchorElement06") != null) return; + var nodeList; + var testNode; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vname = testNode.name; + + assertEquals("nameLink","Anchor",vname); + +} + + + + +function runTest() { + HTMLAnchorElement06(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement08.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement08.js new file mode 100644 index 0000000..4f5746e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement08.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The rev attribute contains the reverse link type + + Retrieve the rev attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-58259771 +*/ +function HTMLAnchorElement08() { + var success; + if(checkInitialization(builder, "HTMLAnchorElement08") != null) return; + var nodeList; + var testNode; + var vrev; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vrev = testNode.rev; + + assertEquals("revLink","STYLESHEET",vrev); + +} + + + + +function runTest() { + HTMLAnchorElement08(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement09.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement09.js new file mode 100644 index 0000000..cb2225d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement09.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The shape attribute contains the shape of the active area. + + Retrieve the shape attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-49899808 +*/ +function HTMLAnchorElement09() { + var success; + if(checkInitialization(builder, "HTMLAnchorElement09") != null) return; + var nodeList; + var testNode; + var vshape; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vshape = testNode.shape; + + assertEquals("shapeLink","rect",vshape); + +} + + + + +function runTest() { + HTMLAnchorElement09(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement01.js new file mode 100644 index 0000000..ce480ba --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement01.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "applet"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the alignment of the object(Vertically + or Horizontally) with respect to its surrounding text. + + Retrieve the align attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-8049912 +*/ +function HTMLAppletElement01() { + var success; + if(checkInitialization(builder, "HTMLAppletElement01") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "applet"); + nodeList = doc.getElementsByTagName("applet"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","bottom".toLowerCase(),valign.toLowerCase()); + +} + + + + +function runTest() { + HTMLAppletElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement02.js new file mode 100644 index 0000000..b9c1827 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "applet"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The alt attribute specifies the alternate text for user agents not + rendering the normal context of this element. + + Retrieve the alt attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-58610064 +*/ +function HTMLAppletElement02() { + var success; + if(checkInitialization(builder, "HTMLAppletElement02") != null) return; + var nodeList; + var testNode; + var valt; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "applet"); + nodeList = doc.getElementsByTagName("applet"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valt = testNode.alt; + + assertEquals("altLink","Applet Number 1",valt); + +} + + + + +function runTest() { + HTMLAppletElement02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement03.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement03.js new file mode 100644 index 0000000..d8b68e1 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement03.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "applet"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The archive attribute specifies a comma-seperated archive list. + + Retrieve the archive attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14476360 +*/ +function HTMLAppletElement03() { + var success; + if(checkInitialization(builder, "HTMLAppletElement03") != null) return; + var nodeList; + var testNode; + var varchive; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "applet"); + nodeList = doc.getElementsByTagName("applet"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + varchive = testNode.archive; + + assertEquals("archiveLink","",varchive); + +} + + + + +function runTest() { + HTMLAppletElement03(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement04.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement04.js new file mode 100644 index 0000000..32ff6d8 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement04.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "applet"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The code attribute specifies the applet class file. + + Retrieve the code attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-61509645 +*/ +function HTMLAppletElement04() { + var success; + if(checkInitialization(builder, "HTMLAppletElement04") != null) return; + var nodeList; + var testNode; + var vcode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "applet"); + nodeList = doc.getElementsByTagName("applet"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcode = testNode.code; + + assertEquals("codeLink","org/w3c/domts/DOMTSApplet.class",vcode); + +} + + + + +function runTest() { + HTMLAppletElement04(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement05.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement05.js new file mode 100644 index 0000000..a6a3c4b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement05.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "applet"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The codeBase attribute specifies an optional base URI for the applet. + + Retrieve the codeBase attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6581160 +*/ +function HTMLAppletElement05() { + var success; + if(checkInitialization(builder, "HTMLAppletElement05") != null) return; + var nodeList; + var testNode; + var vcodebase; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "applet"); + nodeList = doc.getElementsByTagName("applet"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcodebase = testNode.codeBase; + + assertEquals("codebase","applets",vcodebase); + +} + + + + +function runTest() { + HTMLAppletElement05(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement06.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement06.js new file mode 100644 index 0000000..1b0bab9 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement06.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "applet"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The height attribute overrides the height. + + Retrieve the height attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-90184867 +*/ +function HTMLAppletElement06() { + var success; + if(checkInitialization(builder, "HTMLAppletElement06") != null) return; + var nodeList; + var testNode; + var vheight; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "applet"); + nodeList = doc.getElementsByTagName("applet"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vheight = testNode.height; + + assertEquals("heightLink","306",vheight); + +} + + + + +function runTest() { + HTMLAppletElement06(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement07.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement07.js new file mode 100644 index 0000000..505cf2d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement07.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "applet"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The hspace attribute specifies the horizontal space to the left + and right of this image, applet, or object. Retrieve the hspace attribute and examine its value. + + This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-1567197 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 +*/ +function HTMLAppletElement07() { + var success; + if(checkInitialization(builder, "HTMLAppletElement07") != null) return; + var nodeList; + var testNode; + var vhspace; + var doc; + var domImpl; + var hasHTML2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "applet"); + domImpl = doc.implementation; +hasHTML2 = domImpl.hasFeature("HTML","2.0"); + + if( + + !hasHTML2 + ) { + nodeList = doc.getElementsByTagName("applet"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vhspace = testNode.hspace; + + assertEquals("hspaceLink","0",vhspace); + + } + +} + + + + +function runTest() { + HTMLAppletElement07(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement08.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement08.js new file mode 100644 index 0000000..1ed0b30 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement08.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "applet"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The name attribute specifies the name of the applet. + + Retrieve the name attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39843695 +*/ +function HTMLAppletElement08() { + var success; + if(checkInitialization(builder, "HTMLAppletElement08") != null) return; + var nodeList; + var testNode; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "applet"); + nodeList = doc.getElementsByTagName("applet"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vname = testNode.name; + + assertEquals("nameLink","applet1",vname); + +} + + + + +function runTest() { + HTMLAppletElement08(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement09.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement09.js new file mode 100644 index 0000000..2f0f765 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement09.js @@ -0,0 +1,127 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "applet"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The vspace attribute specifies the vertical space above and below + this image, applet or object. Retrieve the vspace attribute and examine its value. + + This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. + + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-22637173 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 +*/ +function HTMLAppletElement09() { + var success; + if(checkInitialization(builder, "HTMLAppletElement09") != null) return; + var nodeList; + var testNode; + var vvspace; + var doc; + var domImpl; + var hasHTML2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "applet"); + domImpl = doc.implementation; +hasHTML2 = domImpl.hasFeature("HTML","2.0"); + + if( + + !hasHTML2 + ) { + nodeList = doc.getElementsByTagName("applet"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vvspace = testNode.vspace; + + assertEquals("vspaceLink","0",vvspace); + + } + +} + + + + +function runTest() { + HTMLAppletElement09(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement10.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement10.js new file mode 100644 index 0000000..3578b0b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement10.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "applet"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The width attribute overrides the regular width. + + Retrieve the width attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-16526327 +*/ +function HTMLAppletElement10() { + var success; + if(checkInitialization(builder, "HTMLAppletElement10") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "applet"); + nodeList = doc.getElementsByTagName("applet"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vwidth = testNode.width; + + assertEquals("widthLink","301",vwidth); + +} + + + + +function runTest() { + HTMLAppletElement10(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement11.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement11.js new file mode 100644 index 0000000..3aeee28 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement11.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "applet2"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The object attribute specifies the serialized applet file. + + Retrieve the object attribute and examine its value. + +* @author NIST +* @author Rick Rivello +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93681523 +*/ +function HTMLAppletElement11() { + var success; + if(checkInitialization(builder, "HTMLAppletElement11") != null) return; + var nodeList; + var testNode; + var vobject; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "applet2"); + nodeList = doc.getElementsByTagName("applet"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vobject = testNode.object; + + assertEquals("object","DOMTSApplet.dat",vobject); + +} + + + + +function runTest() { + HTMLAppletElement11(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBRElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBRElement01.js new file mode 100644 index 0000000..0bfafb2 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBRElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLBRElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "br"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The clear attribute specifies control flow of text around floats. + + Retrieve the clear attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-82703081 +*/ +function HTMLBRElement01() { + var success; + if(checkInitialization(builder, "HTMLBRElement01") != null) return; + var nodeList; + var testNode; + var vclear; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "br"); + nodeList = doc.getElementsByTagName("br"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclear = testNode.clear; + + assertEquals("clearLink","none",vclear); + +} + + + + +function runTest() { + HTMLBRElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement01.js new file mode 100644 index 0000000..c2d252c --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLBaseFontElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "basefont"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The color attribute specifies the base font's color. + + Retrieve the color attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87502302 +*/ +function HTMLBaseFontElement01() { + var success; + if(checkInitialization(builder, "HTMLBaseFontElement01") != null) return; + var nodeList; + var testNode; + var vcolor; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "basefont"); + nodeList = doc.getElementsByTagName("basefont"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcolor = testNode.color; + + assertEquals("colorLink","#000000",vcolor); + +} + + + + +function runTest() { + HTMLBaseFontElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement02.js new file mode 100644 index 0000000..9da696e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement02.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLBaseFontElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "basefont"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The face attribute specifies the base font's face identifier. + + Retrieve the face attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88128969 +*/ +function HTMLBaseFontElement02() { + var success; + if(checkInitialization(builder, "HTMLBaseFontElement02") != null) return; + var nodeList; + var testNode; + var vface; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "basefont"); + nodeList = doc.getElementsByTagName("basefont"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vface = testNode.face; + + assertEquals("faceLink","arial,helvitica",vface); + +} + + + + +function runTest() { + HTMLBaseFontElement02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement03.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement03.js new file mode 100644 index 0000000..3c1d788 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement03.js @@ -0,0 +1,125 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLBaseFontElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "basefont"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The size attribute specifies the base font's size. Retrieve the size attribute and examine its value. + + This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-38930424 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 +*/ +function HTMLBaseFontElement03() { + var success; + if(checkInitialization(builder, "HTMLBaseFontElement03") != null) return; + var nodeList; + var testNode; + var vsize; + var doc; + var domImpl; + var hasHTML2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "basefont"); + domImpl = doc.implementation; +hasHTML2 = domImpl.hasFeature("HTML","2.0"); + + if( + + !hasHTML2 + ) { + nodeList = doc.getElementsByTagName("basefont"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vsize = testNode.size; + + assertEquals("sizeLink","4",vsize); + + } + +} + + + + +function runTest() { + HTMLBaseFontElement03(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement01.js new file mode 100644 index 0000000..2496d66 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLBodyElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "body"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The aLink attribute specifies the color of active links. + + Retrieve the aLink attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59424581 +*/ +function HTMLBodyElement01() { + var success; + if(checkInitialization(builder, "HTMLBodyElement01") != null) return; + var nodeList; + var testNode; + var valink; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "body"); + nodeList = doc.getElementsByTagName("body"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valink = testNode.aLink; + + assertEquals("aLinkLink","#0000ff",valink); + +} + + + + +function runTest() { + HTMLBodyElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement02.js new file mode 100644 index 0000000..5b92d5a --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLBodyElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "body"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The background attribute specifies the URI fo the background texture + tile image. + + Retrieve the background attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-37574810 +*/ +function HTMLBodyElement02() { + var success; + if(checkInitialization(builder, "HTMLBodyElement02") != null) return; + var nodeList; + var testNode; + var vbackground; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "body"); + nodeList = doc.getElementsByTagName("body"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vbackground = testNode.background; + + assertEquals("backgroundLink","./pix/back1.gif",vbackground); + +} + + + + +function runTest() { + HTMLBodyElement02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement03.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement03.js new file mode 100644 index 0000000..1814654 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement03.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLBodyElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "body"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The bgColor attribute specifies the document background color. + + Retrieve the bgColor attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-24940084 +*/ +function HTMLBodyElement03() { + var success; + if(checkInitialization(builder, "HTMLBodyElement03") != null) return; + var nodeList; + var testNode; + var vbgcolor; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "body"); + nodeList = doc.getElementsByTagName("body"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vbgcolor = testNode.bgColor; + + assertEquals("bgColorLink","#ffff00",vbgcolor); + +} + + + + +function runTest() { + HTMLBodyElement03(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement04.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement04.js new file mode 100644 index 0000000..5f1d65d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement04.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLBodyElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "body"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The link attribute specifies the color of links that are not active + and unvisited. + + Retrieve the link attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-7662206 +*/ +function HTMLBodyElement04() { + var success; + if(checkInitialization(builder, "HTMLBodyElement04") != null) return; + var nodeList; + var testNode; + var vlink; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "body"); + nodeList = doc.getElementsByTagName("body"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlink = testNode.link; + + assertEquals("linkLink","#ff0000",vlink); + +} + + + + +function runTest() { + HTMLBodyElement04(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement05.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement05.js new file mode 100644 index 0000000..d3bde6c --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement05.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLBodyElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "body"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The text attribute specifies the document text color. + + Retrieve the text attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-73714763 +*/ +function HTMLBodyElement05() { + var success; + if(checkInitialization(builder, "HTMLBodyElement05") != null) return; + var nodeList; + var testNode; + var vtext; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "body"); + nodeList = doc.getElementsByTagName("body"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtext = testNode.text; + + assertEquals("textLink","#000000",vtext); + +} + + + + +function runTest() { + HTMLBodyElement05(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement06.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement06.js new file mode 100644 index 0000000..16cae78 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement06.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLBodyElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "body"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The vLink attribute specifies the color of links that have been + visited by the user. + + Retrieve the vLink attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83224305 +*/ +function HTMLBodyElement06() { + var success; + if(checkInitialization(builder, "HTMLBodyElement06") != null) return; + var nodeList; + var testNode; + var vvlink; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "body"); + nodeList = doc.getElementsByTagName("body"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vvlink = testNode.vLink; + + assertEquals("vLinkLink","#00ffff",vvlink); + +} + + + + +function runTest() { + HTMLBodyElement06(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection01.js new file mode 100644 index 0000000..6c4d68d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection01.js @@ -0,0 +1,121 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "collection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + An individual node may be accessed by either ordinal index, the node's + name or id attributes. (Test ordinal index). + + Retrieve the first TABLE element and create a HTMLCollection by invoking + the "rows" attribute. The item located at ordinal index 0 is further + retrieved and its "rowIndex" attribute is examined. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33262535 +*/ +function HTMLCollection01() { + var success; + if(checkInitialization(builder, "HTMLCollection01") != null) return; + var nodeList; + var testNode; + var rowNode; + var rowsnodeList; + var vrowindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "collection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + rowNode = rowsnodeList.item(0); + vrowindex = rowNode.rowIndex; + + assertEquals("rowIndexLink",0,vrowindex); + +} + + + + +function runTest() { + HTMLCollection01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection02.js new file mode 100644 index 0000000..1a08fe1 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection02.js @@ -0,0 +1,121 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "collection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + An individual node may be accessed by either ordinal index, the node's + name or id attributes. (Test node name). + + Retrieve the first FORM element and create a HTMLCollection by invoking + the elements attribute. The first SELECT element is further retrieved + using the elements name attribute. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76728479 +*/ +function HTMLCollection02() { + var success; + if(checkInitialization(builder, "HTMLCollection02") != null) return; + var nodeList; + var testNode; + var formNode; + var formsnodeList; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "collection"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + formsnodeList = testNode.elements; + + formNode = formsnodeList.namedItem("select1"); + vname = formNode.nodeName; + + assertEqualsAutoCase("element", "nameIndexLink","SELECT",vname); + +} + + + + +function runTest() { + HTMLCollection02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection03.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection03.js new file mode 100644 index 0000000..1c002fd --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection03.js @@ -0,0 +1,121 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "collection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + An individual node may be accessed by either ordinal index, the node's + name or id attributes. (Test id attribute). + + Retrieve the first FORM element and create a HTMLCollection by invoking + the "element" attribute. The first SELECT element is further retrieved + using the elements id. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-21069976 +*/ +function HTMLCollection03() { + var success; + if(checkInitialization(builder, "HTMLCollection03") != null) return; + var nodeList; + var testNode; + var formNode; + var formsnodeList; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "collection"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + formsnodeList = testNode.elements; + + formNode = formsnodeList.namedItem("selectId"); + vname = formNode.nodeName; + + assertEqualsAutoCase("element", "nameIndexLink","select",vname); + +} + + + + +function runTest() { + HTMLCollection03(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection04.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection04.js new file mode 100644 index 0000000..0082417 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection04.js @@ -0,0 +1,133 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "collection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + HTMLCollections are live, they are automatically updated when the + underlying document is changed. + + Create a HTMLCollection object by invoking the rows attribute of the + first TABLE element and examine its length, then add a new row and + re-examine the length. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40057551 +*/ +function HTMLCollection04() { + var success; + if(checkInitialization(builder, "HTMLCollection04") != null) return; + var nodeList; + var testNode; + var rowLength1; + var rowLength2; + var rowsnodeList; + var newRow; + var vrowindex; + var doc; + var result = new Array(); + + expectedResult = new Array(); + expectedResult[0] = 4; + expectedResult[1] = 5; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "collection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + rowLength1 = rowsnodeList.length; + + result[result.length] = rowLength1; +newRow = testNode.insertRow(4); + rowLength2 = rowsnodeList.length; + + result[result.length] = rowLength2; +assertEqualsList("rowIndexLink",expectedResult,result); + +} + + + + +function runTest() { + HTMLCollection04(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection05.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection05.js new file mode 100644 index 0000000..efe0226 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection05.js @@ -0,0 +1,118 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "collection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The length attribute specifies the length or size of the list. + + Retrieve the first TABLE element and create a HTMLCollection by invoking + the "rows" attribute. Retrieve the length attribute of the HTMLCollection + object. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40057551 +*/ +function HTMLCollection05() { + var success; + if(checkInitialization(builder, "HTMLCollection05") != null) return; + var nodeList; + var testNode; + var rowsnodeList; + var rowLength; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "collection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + rowLength = rowsnodeList.length; + + assertEquals("rowIndexLink",4,rowLength); + +} + + + + +function runTest() { + HTMLCollection05(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection06.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection06.js new file mode 100644 index 0000000..0c274cc --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection06.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "collection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + An item(index) method retrieves an item specified by ordinal index + (Test for index=0). + + Retrieve the first TABLE element and create a HTMLCollection by invoking + the "rows" attribute. The item located at ordinal index 0 is further + retrieved and its "rowIndex" attribute is examined. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6156016 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33262535 +*/ +function HTMLCollection06() { + var success; + if(checkInitialization(builder, "HTMLCollection06") != null) return; + var nodeList; + var testNode; + var rowNode; + var rowsnodeList; + var vrowindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "collection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + rowNode = rowsnodeList.item(0); + vrowindex = rowNode.rowIndex; + + assertEquals("rowIndexLink",0,vrowindex); + +} + + + + +function runTest() { + HTMLCollection06(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection07.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection07.js new file mode 100644 index 0000000..2b167d8 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection07.js @@ -0,0 +1,121 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "collection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + An item(index) method retrieves an item specified by ordinal index + (Test for index=3). + + Retrieve the first TABLE element and create a HTMLCollection by invoking + the "rows" attribute. The item located at ordinal index 3 is further + retrieved and its "rowIndex" attribute is examined. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33262535 +*/ +function HTMLCollection07() { + var success; + if(checkInitialization(builder, "HTMLCollection07") != null) return; + var nodeList; + var testNode; + var rowNode; + var rowsnodeList; + var vrowindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "collection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + rowNode = rowsnodeList.item(3); + vrowindex = rowNode.rowIndex; + + assertEquals("rowIndexLink",3,vrowindex); + +} + + + + +function runTest() { + HTMLCollection07(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection08.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection08.js new file mode 100644 index 0000000..7069f49 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection08.js @@ -0,0 +1,121 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "collection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Nodes in a HTMLCollection object are numbered in tree order. + (Depth-first traversal order). + + Retrieve the first TABLE element and create a HTMLCollection by invoking + the "rows" attribute. Access the item in the third ordinal index. The + resulting rowIndex attribute is examined and should be two. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33262535 +*/ +function HTMLCollection08() { + var success; + if(checkInitialization(builder, "HTMLCollection08") != null) return; + var nodeList; + var testNode; + var rowNode; + var rowsnodeList; + var vrowindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "collection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + rowNode = rowsnodeList.item(2); + vrowindex = rowNode.rowIndex; + + assertEquals("rowIndexLink",2,vrowindex); + +} + + + + +function runTest() { + HTMLCollection08(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection09.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection09.js new file mode 100644 index 0000000..6e75f07 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection09.js @@ -0,0 +1,118 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "collection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The item(index) method returns null if the index is out of range. + + Retrieve the first TABLE element and create a HTMLCollection by invoking + the "rows" attribute. Invoke the item(index) method with an index + of 5. This index is out of range and should return null. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33262535 +*/ +function HTMLCollection09() { + var success; + if(checkInitialization(builder, "HTMLCollection09") != null) return; + var nodeList; + var testNode; + var rowNode; + var rowsnodeList; + var vrowindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "collection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + rowNode = rowsnodeList.item(5); + assertNull("rowIndexLink",rowNode); + +} + + + + +function runTest() { + HTMLCollection09(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection10.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection10.js new file mode 100644 index 0000000..9a823d4 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection10.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "collection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The namedItem(name) method retrieves a node using a name. It first + searches for a node with a matching id attribute. If it doesn't find + one, it then searches for a Node with a matching name attribute, but only + on those elements that are allowed a name attribute. + + Retrieve the first FORM element and create a HTMLCollection by invoking + the elements attribute. The first SELECT element is further retrieved + using the elements name attribute since the id attribute doesn't match. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-21069976 +*/ +function HTMLCollection10() { + var success; + if(checkInitialization(builder, "HTMLCollection10") != null) return; + var nodeList; + var testNode; + var formNode; + var formsnodeList; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "collection"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + formsnodeList = testNode.elements; + + formNode = formsnodeList.namedItem("select1"); + vname = formNode.nodeName; + + assertEqualsAutoCase("element", "nameIndexLink","SELECT",vname); + +} + + + + +function runTest() { + HTMLCollection10(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection11.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection11.js new file mode 100644 index 0000000..2874b39 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection11.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "collection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The namedItem(name) method retrieves a node using a name. It first + searches for a node with a matching id attribute. If it doesn't find + one, it then searches for a Node with a matching name attribute, but only + on those elements that are allowed a name attribute. + + Retrieve the first FORM element and create a HTMLCollection by invoking + the elements attribute. The first SELECT element is further retrieved + using the elements id attribute. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76728479 +*/ +function HTMLCollection11() { + var success; + if(checkInitialization(builder, "HTMLCollection11") != null) return; + var nodeList; + var testNode; + var formNode; + var formsnodeList; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "collection"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + formsnodeList = testNode.elements; + + formNode = formsnodeList.namedItem("selectId"); + vname = formNode.nodeName; + + assertEqualsAutoCase("element", "nameIndexLink","select",vname); + +} + + + + +function runTest() { + HTMLCollection11(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection12.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection12.js new file mode 100644 index 0000000..7325273 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection12.js @@ -0,0 +1,121 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "collection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The namedItem(name) method retrieves a node using a name. It first + searches for a node with a matching id attribute. If it doesn't find + one, it then searches for a Node with a matching name attribute, but only + on those elements that are allowed a name attribute. If there isn't + a matching node the method returns null. + + Retrieve the first FORM element and create a HTMLCollection by invoking + the elements attribute. The method returns null since there is not a + match of the name or id attribute. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-21069976 +*/ +function HTMLCollection12() { + var success; + if(checkInitialization(builder, "HTMLCollection12") != null) return; + var nodeList; + var testNode; + var formNode; + var formsnodeList; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "collection"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + formsnodeList = testNode.elements; + + formNode = formsnodeList.namedItem("select9"); + assertNull("nameIndexLink",formNode); + +} + + + + +function runTest() { + HTMLCollection12(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDirectoryElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDirectoryElement01.js new file mode 100644 index 0000000..471233a --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDirectoryElement01.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDirectoryElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "directory"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The compact attribute specifies a boolean value on whether to display + the list more compactly. + + Retrieve the compact attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75317739 +*/ +function HTMLDirectoryElement01() { + var success; + if(checkInitialization(builder, "HTMLDirectoryElement01") != null) return; + var nodeList; + var testNode; + var vcompact; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "directory"); + nodeList = doc.getElementsByTagName("dir"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcompact = testNode.compact; + + assertTrue("compactLink",vcompact); + +} + + + + +function runTest() { + HTMLDirectoryElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDivElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDivElement01.js new file mode 100644 index 0000000..4557401 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDivElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDivElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "div"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal text alignment. + + Retrieve the align attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-70908791 +*/ +function HTMLDivElement01() { + var success; + if(checkInitialization(builder, "HTMLDivElement01") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "div"); + nodeList = doc.getElementsByTagName("div"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLDivElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDlistElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDlistElement01.js new file mode 100644 index 0000000..1ce061f --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDlistElement01.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDlistElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "dl"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The compact attribute specifies a boolean value on whether to display + the list more compactly. + + Retrieve the compact attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-21738539 +*/ +function HTMLDlistElement01() { + var success; + if(checkInitialization(builder, "HTMLDlistElement01") != null) return; + var nodeList; + var testNode; + var vcompact; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "dl"); + nodeList = doc.getElementsByTagName("dl"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcompact = testNode.compact; + + assertTrue("compactLink",vcompact); + +} + + + + +function runTest() { + HTMLDlistElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument08.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument08.js new file mode 100644 index 0000000..3469421 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument08.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The applets attribute returns a collection of all OBJECT elements that + include applets abd APPLET elements in a document. + + Retrieve the applets attribute from the document and examine its value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-85113862 +*/ +function HTMLDocument08() { + var success; + if(checkInitialization(builder, "HTMLDocument08") != null) return; + var nodeList; + var testNode; + var vapplets; + var vlength; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + vapplets = doc.applets; + + vlength = vapplets.length; + + assertEquals("length",4,vlength); + +} + + + + +function runTest() { + HTMLDocument08(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument11.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument11.js new file mode 100644 index 0000000..a05690e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument11.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The anchors attribute returns a collection of all A elements with values + for the name attribute. + + Retrieve the anchors attribute from the document and examine its value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-7577272 +*/ +function HTMLDocument11() { + var success; + if(checkInitialization(builder, "HTMLDocument11") != null) return; + var nodeList; + var testNode; + var vanchors; + var vlength; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + vanchors = doc.anchors; + + vlength = vanchors.length; + + assertEquals("lengthLink",1,vlength); + +} + + + + +function runTest() { + HTMLDocument11(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument13.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument13.js new file mode 100644 index 0000000..af26d5a --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument13.js @@ -0,0 +1,109 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument13"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The getElementsByName method returns the (possibly empty) collection + of elements whose name value is given by the elementName. + + Retrieve all the elements whose name attribute is "mapid". + Check the length of the nodelist. It should be 1. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71555259 +*/ +function HTMLDocument13() { + var success; + if(checkInitialization(builder, "HTMLDocument13") != null) return; + var nodeList; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + nodeList = doc.getElementsByName("mapid"); + assertSize("Asize",1,nodeList); + +} + + + + +function runTest() { + HTMLDocument13(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument14.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument14.js new file mode 100644 index 0000000..ebb16dd --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument14.js @@ -0,0 +1,110 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument14"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The getElementsByName method returns the (possibly empty) collection + of elements whose name value is given by the elementName. + + Retrieve all the elements whose name attribute is "noid". + Check the length of the nodelist. It should be 0 since + the id "noid" does not exist. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71555259 +*/ +function HTMLDocument14() { + var success; + if(checkInitialization(builder, "HTMLDocument14") != null) return; + var nodeList; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + nodeList = doc.getElementsByName("noid"); + assertSize("Asize",0,nodeList); + +} + + + + +function runTest() { + HTMLDocument14(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement01.js new file mode 100644 index 0000000..a9696c0 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFontElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "font"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The color attribute specifies the font's color. + + Retrieve the color attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-53532975 +*/ +function HTMLFontElement01() { + var success; + if(checkInitialization(builder, "HTMLFontElement01") != null) return; + var nodeList; + var testNode; + var vcolor; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "font"); + nodeList = doc.getElementsByTagName("font"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcolor = testNode.color; + + assertEquals("colorLink","#000000",vcolor); + +} + + + + +function runTest() { + HTMLFontElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement02.js new file mode 100644 index 0000000..1e10269 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFontElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "font"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The face attribute specifies the font's face identifier. + + Retrieve the face attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-55715655 +* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#HTML-HTMLFormElement-length +*/ +function HTMLFontElement02() { + var success; + if(checkInitialization(builder, "HTMLFontElement02") != null) return; + var nodeList; + var testNode; + var vface; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "font"); + nodeList = doc.getElementsByTagName("font"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vface = testNode.face; + + assertEquals("faceLink","arial,helvetica",vface); + +} + + + + +function runTest() { + HTMLFontElement02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement03.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement03.js new file mode 100644 index 0000000..437a36e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement03.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFontElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "font"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The size attribute specifies the font's size. + + Retrieve the size attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-90127284 +*/ +function HTMLFontElement03() { + var success; + if(checkInitialization(builder, "HTMLFontElement03") != null) return; + var nodeList; + var testNode; + var vsize; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "font"); + nodeList = doc.getElementsByTagName("font"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vsize = testNode.size; + + assertEquals("sizeLink","4",vsize); + +} + + + + +function runTest() { + HTMLFontElement03(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFormElement02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFormElement02.js new file mode 100644 index 0000000..40b962b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFormElement02.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFormElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "form"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The length attribute specifies the number of form controls + in the form. + + Retrieve the length attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40002357 +* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#HTML-HTMLFormElement-length +*/ +function HTMLFormElement02() { + var success; + if(checkInitialization(builder, "HTMLFormElement02") != null) return; + var nodeList; + var testNode; + var vlength; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "form"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlength = testNode.length; + + assertEquals("lengthLink",3,vlength); + +} + + + + +function runTest() { + HTMLFormElement02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement01.js new file mode 100644 index 0000000..977208c --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement01.js @@ -0,0 +1,116 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFrameElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "frame"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The frameBorder attribute specifies the request for frame borders. + (frameBorder=1 A border is drawn) + (FrameBorder=0 A border is not drawn) + + Retrieve the frameBorder attribute of the first FRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-11858633 +*/ +function HTMLFrameElement01() { + var success; + if(checkInitialization(builder, "HTMLFrameElement01") != null) return; + var nodeList; + var testNode; + var vframeborder; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "frame"); + nodeList = doc.getElementsByTagName("frame"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vframeborder = testNode.frameBorder; + + assertEquals("frameborderLink","1",vframeborder); + +} + + + + +function runTest() { + HTMLFrameElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement02.js new file mode 100644 index 0000000..31ba4dc --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement02.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFrameElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "frame"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The longDesc attribute specifies a URI designating a long description + of this image or frame. + + Retrieve the longDesc attribute of the first FRAME element and examine + its value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-7836998 +*/ +function HTMLFrameElement02() { + var success; + if(checkInitialization(builder, "HTMLFrameElement02") != null) return; + var nodeList; + var testNode; + var vlongdesc; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "frame"); + nodeList = doc.getElementsByTagName("frame"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vlongdesc = testNode.longDesc; + + assertEquals("longdescLink","about:blank",vlongdesc); + +} + + + + +function runTest() { + HTMLFrameElement02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement03.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement03.js new file mode 100644 index 0000000..7820c3a --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement03.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFrameElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "frame"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The marginHeight attribute specifies the frame margin height, in pixels. + + Retrieve the marginHeight attribute of the first FRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-55569778 +*/ +function HTMLFrameElement03() { + var success; + if(checkInitialization(builder, "HTMLFrameElement03") != null) return; + var nodeList; + var testNode; + var vmarginheight; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "frame"); + nodeList = doc.getElementsByTagName("frame"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vmarginheight = testNode.marginHeight; + + assertEquals("marginheightLink","10",vmarginheight); + +} + + + + +function runTest() { + HTMLFrameElement03(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement04.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement04.js new file mode 100644 index 0000000..702daf4 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement04.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFrameElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "frame"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The marginWidth attribute specifies the frame margin width, in pixels. + + Retrieve the marginWidth attribute of the first FRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-8369969 +*/ +function HTMLFrameElement04() { + var success; + if(checkInitialization(builder, "HTMLFrameElement04") != null) return; + var nodeList; + var testNode; + var vmarginwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "frame"); + nodeList = doc.getElementsByTagName("frame"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vmarginwidth = testNode.marginWidth; + + assertEquals("marginwidthLink","5",vmarginwidth); + +} + + + + +function runTest() { + HTMLFrameElement04(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement05.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement05.js new file mode 100644 index 0000000..6a59d13 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement05.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFrameElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "frame"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The name attribute specifies the frame name(object of the target + attribute). + + Retrieve the name attribute of the first FRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-91128709 +*/ +function HTMLFrameElement05() { + var success; + if(checkInitialization(builder, "HTMLFrameElement05") != null) return; + var nodeList; + var testNode; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "frame"); + nodeList = doc.getElementsByTagName("frame"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vname = testNode.name; + + assertEquals("nameLink","Frame1",vname); + +} + + + + +function runTest() { + HTMLFrameElement05(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement06.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement06.js new file mode 100644 index 0000000..06f7e07 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement06.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFrameElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "frame"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The noResize attribute specifies if the user can resize the frame. When + true, forbid user from resizing frame. + + Retrieve the noResize attribute of the first FRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-80766578 +*/ +function HTMLFrameElement06() { + var success; + if(checkInitialization(builder, "HTMLFrameElement06") != null) return; + var nodeList; + var testNode; + var vnoresize; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "frame"); + nodeList = doc.getElementsByTagName("frame"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vnoresize = testNode.noResize; + + assertTrue("noresizeLink",vnoresize); + +} + + + + +function runTest() { + HTMLFrameElement06(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement07.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement07.js new file mode 100644 index 0000000..878a942 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement07.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFrameElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "frame"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The scrolling attribute specifies whether or not the frame should have + scrollbars. + + Retrieve the scrolling attribute of the first FRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-45411424 +*/ +function HTMLFrameElement07() { + var success; + if(checkInitialization(builder, "HTMLFrameElement07") != null) return; + var nodeList; + var testNode; + var vscrolling; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "frame"); + nodeList = doc.getElementsByTagName("frame"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vscrolling = testNode.scrolling; + + assertEquals("scrollingLink","yes",vscrolling); + +} + + + + +function runTest() { + HTMLFrameElement07(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement08.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement08.js new file mode 100644 index 0000000..541b5f4 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement08.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFrameElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "frame"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The src attribute specifies a URI designating the initial frame contents. + + Retrieve the src attribute of the first FRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78799535 +*/ +function HTMLFrameElement08() { + var success; + if(checkInitialization(builder, "HTMLFrameElement08") != null) return; + var nodeList; + var testNode; + var vsrc; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "frame"); + nodeList = doc.getElementsByTagName("frame"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vsrc = testNode.src; + + assertURIEquals("srcLink",null,null,null,null,"right",null,null,null,vsrc); + +} + + + + +function runTest() { + HTMLFrameElement08(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement01.js new file mode 100644 index 0000000..a8ed24f --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement01.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFrameSetElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "frameset"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The cols attribute specifies the number of columns of frames in the + frameset. + + Retrieve the cols attribute of the first FRAMESET element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98869594 +*/ +function HTMLFrameSetElement01() { + var success; + if(checkInitialization(builder, "HTMLFrameSetElement01") != null) return; + var nodeList; + var testNode; + var vcols; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "frameset"); + nodeList = doc.getElementsByTagName("frameset"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vcols = testNode.cols; + + assertEquals("colsLink","20, 80",vcols); + +} + + + + +function runTest() { + HTMLFrameSetElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement02.js new file mode 100644 index 0000000..e7bc555 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement02.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFrameSetElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "frameset"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The rows attribute specifies the number of rows of frames in the + frameset. + + Retrieve the rows attribute of the second FRAMESET element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-19739247 +*/ +function HTMLFrameSetElement02() { + var success; + if(checkInitialization(builder, "HTMLFrameSetElement02") != null) return; + var nodeList; + var testNode; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "frameset"); + nodeList = doc.getElementsByTagName("frameset"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vrows = testNode.rows; + + assertEquals("rowsLink","100, 200",vrows); + +} + + + + +function runTest() { + HTMLFrameSetElement02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement01.js new file mode 100644 index 0000000..31599c0 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHRElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hr"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the rule alignment on the page. + + Retrieve the align attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-15235012 +*/ +function HTMLHRElement01() { + var success; + if(checkInitialization(builder, "HTMLHRElement01") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hr"); + nodeList = doc.getElementsByTagName("hr"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLHRElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement02.js new file mode 100644 index 0000000..215b4c6 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHRElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hr"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The noShade attribute specifies that the rule should be drawn as + a solid color. + + Retrieve the noShade attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-79813978 +*/ +function HTMLHRElement02() { + var success; + if(checkInitialization(builder, "HTMLHRElement02") != null) return; + var nodeList; + var testNode; + var vnoshade; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hr"); + nodeList = doc.getElementsByTagName("hr"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vnoshade = testNode.noShade; + + assertTrue("noShadeLink",vnoshade); + +} + + + + +function runTest() { + HTMLHRElement02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement03.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement03.js new file mode 100644 index 0000000..405472f --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement03.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHRElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hr"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The size attribute specifies the height of the rule. + + Retrieve the size attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-77612587 +*/ +function HTMLHRElement03() { + var success; + if(checkInitialization(builder, "HTMLHRElement03") != null) return; + var nodeList; + var testNode; + var vsize; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hr"); + nodeList = doc.getElementsByTagName("hr"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vsize = testNode.size; + + assertEquals("sizeLink","5",vsize); + +} + + + + +function runTest() { + HTMLHRElement03(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement04.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement04.js new file mode 100644 index 0000000..0ffdfa0 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement04.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHRElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hr"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The width attribute specifies the width of the rule. + + Retrieve the width attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87744198 +*/ +function HTMLHRElement04() { + var success; + if(checkInitialization(builder, "HTMLHRElement04") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hr"); + nodeList = doc.getElementsByTagName("hr"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vwidth = testNode.width; + + assertEquals("widthLink","400",vwidth); + +} + + + + +function runTest() { + HTMLHRElement04(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadElement01.js new file mode 100644 index 0000000..cea3273 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHeadElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "head"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The profile attribute specifies a URI designating a metadata profile. + + Retrieve the profile attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96921909 +*/ +function HTMLHeadElement01() { + var success; + if(checkInitialization(builder, "HTMLHeadElement01") != null) return; + var nodeList; + var testNode; + var vprofile; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "head"); + nodeList = doc.getElementsByTagName("head"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vprofile = testNode.profile; + + assertURIEquals("profileLink",null,null,null,"profile",null,null,null,null,vprofile); + +} + + + + +function runTest() { + HTMLHeadElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement01.js new file mode 100644 index 0000000..46395cc --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHeadingElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "heading"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal text alignment(H1). + + Retrieve the align attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6796462 +*/ +function HTMLHeadingElement01() { + var success; + if(checkInitialization(builder, "HTMLHeadingElement01") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "heading"); + nodeList = doc.getElementsByTagName("h1"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLHeadingElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement02.js new file mode 100644 index 0000000..9e38da7 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement02.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHeadingElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "heading"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal text alignment(H2). + + Retrieve the align attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6796462 +*/ +function HTMLHeadingElement02() { + var success; + if(checkInitialization(builder, "HTMLHeadingElement02") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "heading"); + nodeList = doc.getElementsByTagName("h2"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","left",valign); + +} + + + + +function runTest() { + HTMLHeadingElement02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement03.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement03.js new file mode 100644 index 0000000..f0400e4 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement03.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHeadingElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "heading"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal text alignment(H3). + + Retrieve the align attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6796462 +*/ +function HTMLHeadingElement03() { + var success; + if(checkInitialization(builder, "HTMLHeadingElement03") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "heading"); + nodeList = doc.getElementsByTagName("h3"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","right",valign); + +} + + + + +function runTest() { + HTMLHeadingElement03(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement04.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement04.js new file mode 100644 index 0000000..0a48815 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement04.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHeadingElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "heading"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal text alignment(H4). + + Retrieve the align attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6796462 +*/ +function HTMLHeadingElement04() { + var success; + if(checkInitialization(builder, "HTMLHeadingElement04") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "heading"); + nodeList = doc.getElementsByTagName("h4"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","justify",valign); + +} + + + + +function runTest() { + HTMLHeadingElement04(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement05.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement05.js new file mode 100644 index 0000000..67de088 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement05.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHeadingElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "heading"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal text alignment(H5). + + Retrieve the align attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6796462 +*/ +function HTMLHeadingElement05() { + var success; + if(checkInitialization(builder, "HTMLHeadingElement05") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "heading"); + nodeList = doc.getElementsByTagName("h5"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLHeadingElement05(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement06.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement06.js new file mode 100644 index 0000000..97218f9 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement06.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHeadingElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "heading"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal text alignment(H6). + + Retrieve the align attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6796462 +*/ +function HTMLHeadingElement06() { + var success; + if(checkInitialization(builder, "HTMLHeadingElement06") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "heading"); + nodeList = doc.getElementsByTagName("h6"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","left",valign); + +} + + + + +function runTest() { + HTMLHeadingElement06(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHtmlElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHtmlElement01.js new file mode 100644 index 0000000..5e62cdb --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHtmlElement01.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHtmlElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "html"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The version attribute specifies version information about the document's + DTD. + + Retrieve the version attribute and examine its value. + + Test is only applicable to HTML, version attribute is not supported in XHTML. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-9383775 +*/ +function HTMLHtmlElement01() { + var success; + if(checkInitialization(builder, "HTMLHtmlElement01") != null) return; + var nodeList; + var testNode; + var vversion; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "html"); + nodeList = doc.getElementsByTagName("html"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vversion = testNode.version; + + + if( + + (builder.contentType == "text/html") + + ) { + assertEquals("versionLink","-//W3C//DTD HTML 4.01 Transitional//EN",vversion); + + } + +} + + + + +function runTest() { + HTMLHtmlElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement01.js new file mode 100644 index 0000000..591f57e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement01.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIFrameElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "iframe"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute aligns this object(vertically or horizontally with + respect to its surrounding text. + + Retrieve the align attribute of the first IFRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-11309947 +*/ +function HTMLIFrameElement01() { + var success; + if(checkInitialization(builder, "HTMLIFrameElement01") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "iframe"); + nodeList = doc.getElementsByTagName("iframe"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","top",valign); + +} + + + + +function runTest() { + HTMLIFrameElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement02.js new file mode 100644 index 0000000..28326df --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement02.js @@ -0,0 +1,116 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIFrameElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "iframe"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The frameBorder attribute specifies the request for frame borders. + (frameBorder=1 A border is drawn) + (FrameBorder=0 A border is not drawn) + + Retrieve the frameBorder attribute of the first IFRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-22463410 +*/ +function HTMLIFrameElement02() { + var success; + if(checkInitialization(builder, "HTMLIFrameElement02") != null) return; + var nodeList; + var testNode; + var vframeborder; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "iframe"); + nodeList = doc.getElementsByTagName("iframe"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vframeborder = testNode.frameBorder; + + assertEquals("frameborderLink","1",vframeborder); + +} + + + + +function runTest() { + HTMLIFrameElement02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement04.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement04.js new file mode 100644 index 0000000..cc3bd41 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement04.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIFrameElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "iframe"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The longDesc attribute specifies a URI designating a long description + of this image or frame. + + Retrieve the longDesc attribute of the first IFRAME element and examine + its value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-70472105 +*/ +function HTMLIFrameElement04() { + var success; + if(checkInitialization(builder, "HTMLIFrameElement04") != null) return; + var nodeList; + var testNode; + var vlongdesc; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "iframe"); + nodeList = doc.getElementsByTagName("iframe"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlongdesc = testNode.longDesc; + + assertEquals("longdescLink","about:blank",vlongdesc); + +} + + + + +function runTest() { + HTMLIFrameElement04(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement05.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement05.js new file mode 100644 index 0000000..1f03bea --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement05.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIFrameElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "iframe"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The marginWidth attribute specifies the frame margin width, in pixels. + + Retrieve the marginWidth attribute of the first FRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-66486595 +*/ +function HTMLIFrameElement05() { + var success; + if(checkInitialization(builder, "HTMLIFrameElement05") != null) return; + var nodeList; + var testNode; + var vmarginwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "iframe"); + nodeList = doc.getElementsByTagName("iframe"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vmarginwidth = testNode.marginWidth; + + assertEquals("marginwidthLink","5",vmarginwidth); + +} + + + + +function runTest() { + HTMLIFrameElement05(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement06.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement06.js new file mode 100644 index 0000000..9081c4c --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement06.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIFrameElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "iframe"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The marginHeight attribute specifies the frame margin height, in pixels. + + Retrieve the marginHeight attribute of the first IFRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-91371294 +*/ +function HTMLIFrameElement06() { + var success; + if(checkInitialization(builder, "HTMLIFrameElement06") != null) return; + var nodeList; + var testNode; + var vmarginheight; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "iframe"); + nodeList = doc.getElementsByTagName("iframe"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vmarginheight = testNode.marginHeight; + + assertEquals("marginheightLink","10",vmarginheight); + +} + + + + +function runTest() { + HTMLIFrameElement06(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement08.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement08.js new file mode 100644 index 0000000..2c1a4a8 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement08.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIFrameElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "iframe"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The scrolling attribute specifies whether or not the frame should have + scrollbars. + + Retrieve the scrolling attribute of the first FRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-36369822 +*/ +function HTMLIFrameElement08() { + var success; + if(checkInitialization(builder, "HTMLIFrameElement08") != null) return; + var nodeList; + var testNode; + var vscrolling; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "iframe"); + nodeList = doc.getElementsByTagName("iframe"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vscrolling = testNode.scrolling; + + assertEquals("scrollingLink","yes",vscrolling); + +} + + + + +function runTest() { + HTMLIFrameElement08(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement01.js new file mode 100644 index 0000000..48a4806 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "img"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The name attribute specifies the name of the element. + + Retrieve the name attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-47534097 +*/ +function HTMLImageElement01() { + var success; + if(checkInitialization(builder, "HTMLImageElement01") != null) return; + var nodeList; + var testNode; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "img"); + nodeList = doc.getElementsByTagName("img"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vname = testNode.name; + + assertEquals("nameLink","IMAGE-1",vname); + +} + + + + +function runTest() { + HTMLImageElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement02.js new file mode 100644 index 0000000..549b1e7 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "img"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute aligns this object with respect to its surrounding + text. + + Retrieve the align attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-3211094 +*/ +function HTMLImageElement02() { + var success; + if(checkInitialization(builder, "HTMLImageElement02") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "img"); + nodeList = doc.getElementsByTagName("img"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","middle",valign); + +} + + + + +function runTest() { + HTMLImageElement02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement03.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement03.js new file mode 100644 index 0000000..1dcf05e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement03.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "img"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The alt attribute specifies an alternative text for user agenst not + rendering the normal content of this element. + + Retrieve the alt attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95636861 +*/ +function HTMLImageElement03() { + var success; + if(checkInitialization(builder, "HTMLImageElement03") != null) return; + var nodeList; + var testNode; + var valt; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "img"); + nodeList = doc.getElementsByTagName("img"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valt = testNode.alt; + + assertEquals("altLink","DTS IMAGE LOGO",valt); + +} + + + + +function runTest() { + HTMLImageElement03(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement04.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement04.js new file mode 100644 index 0000000..9015271 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement04.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "img"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The border attribute specifies the width of the border around the image. + + Retrieve the border attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-136671 +*/ +function HTMLImageElement04() { + var success; + if(checkInitialization(builder, "HTMLImageElement04") != null) return; + var nodeList; + var testNode; + var vborder; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "img"); + nodeList = doc.getElementsByTagName("img"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vborder = testNode.border; + + assertEquals("borderLink","0",vborder); + +} + + + + +function runTest() { + HTMLImageElement04(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement08.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement08.js new file mode 100644 index 0000000..1a63d60 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement08.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "img"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The longDesc attribute contains an URI designating a long description + of this image or frame. + + Retrieve the longDesc attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-77376969 +*/ +function HTMLImageElement08() { + var success; + if(checkInitialization(builder, "HTMLImageElement08") != null) return; + var nodeList; + var testNode; + var vlongdesc; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "img"); + nodeList = doc.getElementsByTagName("img"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlongdesc = testNode.longDesc; + + assertURIEquals("longDescLink",null,null,null,"desc.html",null,null,null,null,vlongdesc); + +} + + + + +function runTest() { + HTMLImageElement08(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement10.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement10.js new file mode 100644 index 0000000..52012c9 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement10.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "img"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The useMap attribute specifies to use the client-side image map. + + Retrieve the useMap attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-35981181 +*/ +function HTMLImageElement10() { + var success; + if(checkInitialization(builder, "HTMLImageElement10") != null) return; + var nodeList; + var testNode; + var vusemap; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "img"); + nodeList = doc.getElementsByTagName("img"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vusemap = testNode.useMap; + + assertEquals("useMapLink","#DTS-MAP",vusemap); + +} + + + + +function runTest() { + HTMLImageElement10(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement14.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement14.js new file mode 100644 index 0000000..65212eb --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement14.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement14"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "img"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The lowSrc attribute specifies an URI designating a long description of +this image or frame. + +Retrieve the lowSrc attribute of the first IMG element and examine +its value. Should be "" since lowSrc is not a valid attribute for IMG. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-91256910 +*/ +function HTMLImageElement14() { + var success; + if(checkInitialization(builder, "HTMLImageElement14") != null) return; + var nodeList; + var testNode; + var vlow; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "img"); + nodeList = doc.getElementsByTagName("img"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlow = testNode.lowSrc; + + assertEquals("lowLink","",vlow); + +} + + + + +function runTest() { + HTMLImageElement14(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement06.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement06.js new file mode 100644 index 0000000..52d1b31 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement06.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute aligns this object(vertically or horizontally) + with respect to the surrounding text. + + Retrieve the align attribute of the 4th INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96991182 +*/ +function HTMLInputElement06() { + var success; + if(checkInitialization(builder, "HTMLInputElement06") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(3); + valign = testNode.align; + + assertEquals("alignLink","bottom".toLowerCase(),valign.toLowerCase()); + +} + + + + +function runTest() { + HTMLInputElement06(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement17.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement17.js new file mode 100644 index 0000000..c0ebbf5 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement17.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement17"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The useMap attribute specifies the use of the client-side image map. + + Retrieve the useMap attribute of the 8th INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-32463706 +*/ +function HTMLInputElement17() { + var success; + if(checkInitialization(builder, "HTMLInputElement17") != null) return; + var nodeList; + var testNode; + var vusemap; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(7); + vusemap = testNode.useMap; + + assertEquals("usemapLink","#submit-map",vusemap); + +} + + + + +function runTest() { + HTMLInputElement17(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement01.js new file mode 100644 index 0000000..d125608 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement01.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIsIndexElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "isindex"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns the FORM element containing this control. + + Retrieve the form attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87069980 +*/ +function HTMLIsIndexElement01() { + var success; + if(checkInitialization(builder, "HTMLIsIndexElement01") != null) return; + var nodeList; + var testNode; + var vform; + var fNode; + var doc; + var prompt; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "isindex"); + nodeList = doc.getElementsByTagName("isindex"); + testNode = nodeList.item(0); + assertNotNull("notnull",testNode); +prompt = testNode.prompt; + + assertEquals("IsIndex.Prompt","New Employee: ",prompt); + fNode = testNode.form; + + assertNotNull("formNotNull",fNode); +vform = fNode.id; + + assertEquals("formLink","form1",vform); + assertSize("Asize",2,nodeList); + +} + + + + +function runTest() { + HTMLIsIndexElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement02.js new file mode 100644 index 0000000..76bbf9c --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement02.js @@ -0,0 +1,119 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIsIndexElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "isindex"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns null if control in not within the context of + form. + + Retrieve the form attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87069980 +*/ +function HTMLIsIndexElement02() { + var success; + if(checkInitialization(builder, "HTMLIsIndexElement02") != null) return; + var nodeList; + var testNode; + var vform; + var doc; + var prompt; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "isindex"); + nodeList = doc.getElementsByTagName("isindex"); + testNode = nodeList.item(1); + assertNotNull("notnull",testNode); +prompt = testNode.prompt; + + assertEquals("IsIndex.Prompt","Old Employee: ",prompt); + vform = testNode.form; + + assertNull("formNullLink",vform); + assertSize("Asize",2,nodeList); + +} + + + + +function runTest() { + HTMLIsIndexElement02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement03.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement03.js new file mode 100644 index 0000000..86d0c13 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement03.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIsIndexElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "isindex"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The prompt attribute specifies the prompt message. + + Retrieve the prompt attribute of the 1st isindex element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33589862 +*/ +function HTMLIsIndexElement03() { + var success; + if(checkInitialization(builder, "HTMLIsIndexElement03") != null) return; + var nodeList; + var testNode; + var vprompt; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "isindex"); + nodeList = doc.getElementsByTagName("isindex"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vprompt = testNode.prompt; + + assertEquals("promptLink","New Employee: ",vprompt); + +} + + + + +function runTest() { + HTMLIsIndexElement03(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLIElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLIElement01.js new file mode 100644 index 0000000..1a95bb2 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLIElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLIElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "li"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The type attribute is a list item bullet style. + + Retrieve the type attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52387668 +*/ +function HTMLLIElement01() { + var success; + if(checkInitialization(builder, "HTMLLIElement01") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "li"); + nodeList = doc.getElementsByTagName("li"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","square",vtype); + +} + + + + +function runTest() { + HTMLLIElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement01.js new file mode 100644 index 0000000..cd03965 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement01.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLegendElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "legend"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns the FORM element containing this control. + + Retrieve the form attribute from the first LEGEND element + and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-29594519 +*/ +function HTMLLegendElement01() { + var success; + if(checkInitialization(builder, "HTMLLegendElement01") != null) return; + var nodeList; + var testNode; + var vform; + var fNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "legend"); + nodeList = doc.getElementsByTagName("legend"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + fNode = testNode.form; + + vform = fNode.id; + + assertEquals("formLink","form1",vform); + +} + + + + +function runTest() { + HTMLLegendElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement02.js new file mode 100644 index 0000000..b8395cc --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLegendElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "legend"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns null if control in not within the context of + form. + + Retrieve the second ELEMENT and examine its form element. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-29594519 +*/ +function HTMLLegendElement02() { + var success; + if(checkInitialization(builder, "HTMLLegendElement02") != null) return; + var nodeList; + var testNode; + var vform; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "legend"); + nodeList = doc.getElementsByTagName("legend"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vform = testNode.form; + + assertNull("formNullLink",vform); + +} + + + + +function runTest() { + HTMLLegendElement02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement03.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement03.js new file mode 100644 index 0000000..33fabad --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement03.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLegendElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "legend"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The accessKey attribute is a single character access key to give access + to the form control. + + Retrieve the accessKey attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-11297832 +*/ +function HTMLLegendElement03() { + var success; + if(checkInitialization(builder, "HTMLLegendElement03") != null) return; + var nodeList; + var testNode; + var vaccesskey; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "legend"); + nodeList = doc.getElementsByTagName("legend"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vaccesskey = testNode.accessKey; + + assertEquals("accesskeyLink","b",vaccesskey); + +} + + + + +function runTest() { + HTMLLegendElement03(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement04.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement04.js new file mode 100644 index 0000000..510d114 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement04.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLegendElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "legend"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the text alignment relative to FIELDSET. + + Retrieve the align attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-79538067 +*/ +function HTMLLegendElement04() { + var success; + if(checkInitialization(builder, "HTMLLegendElement04") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "legend"); + nodeList = doc.getElementsByTagName("legend"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","top",valign); + +} + + + + +function runTest() { + HTMLLegendElement04(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement02.js new file mode 100644 index 0000000..7768bee --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLinkElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "link"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The charset attribute indicates the character encoding of the linked + resource. + + Retrieve the charset attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63954491 +*/ +function HTMLLinkElement02() { + var success; + if(checkInitialization(builder, "HTMLLinkElement02") != null) return; + var nodeList; + var testNode; + var vcharset; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "link"); + nodeList = doc.getElementsByTagName("link"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vcharset = testNode.charset; + + assertEquals("charsetLink","Latin-1",vcharset); + +} + + + + +function runTest() { + HTMLLinkElement02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement07.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement07.js new file mode 100644 index 0000000..c5597f8 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement07.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLinkElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "link"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The rev attribute specifies the reverse link type. + + Retrieve the rev attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40715461 +*/ +function HTMLLinkElement07() { + var success; + if(checkInitialization(builder, "HTMLLinkElement07") != null) return; + var nodeList; + var testNode; + var vrev; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "link"); + nodeList = doc.getElementsByTagName("link"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vrev = testNode.rev; + + assertEquals("revLink","stylesheet",vrev); + +} + + + + +function runTest() { + HTMLLinkElement07(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement09.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement09.js new file mode 100644 index 0000000..050f9b8 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement09.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLinkElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "link2"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The target attribute specifies the frame to render the resource in. + + Retrieve the target attribute and examine it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-84183095 +*/ +function HTMLLinkElement09() { + var success; + if(checkInitialization(builder, "HTMLLinkElement09") != null) return; + var nodeList; + var testNode; + var vtarget; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "link2"); + nodeList = doc.getElementsByTagName("link"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vtarget = testNode.target; + + assertEquals("targetLink","dynamic",vtarget); + +} + + + + +function runTest() { + HTMLLinkElement09(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMapElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMapElement01.js new file mode 100644 index 0000000..ab2b9c4 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMapElement01.js @@ -0,0 +1,116 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLMapElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "map"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The areas attribute is a list of areas defined for the image map. + + Retrieve the areas attribute and find the number of areas defined. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71838730 +*/ +function HTMLMapElement01() { + var success; + if(checkInitialization(builder, "HTMLMapElement01") != null) return; + var nodeList; + var areasnodeList; + var testNode; + var vareas; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "map"); + nodeList = doc.getElementsByTagName("map"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + areasnodeList = testNode.areas; + + vareas = areasnodeList.length; + + assertEquals("areasLink",3,vareas); + +} + + + + +function runTest() { + HTMLMapElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMenuElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMenuElement01.js new file mode 100644 index 0000000..c2ff01d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMenuElement01.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLMenuElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "menu"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The compact attribute specifies a boolean value on whether to display + the list more compactly. + + Retrieve the compact attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-68436464 +*/ +function HTMLMenuElement01() { + var success; + if(checkInitialization(builder, "HTMLMenuElement01") != null) return; + var nodeList; + var testNode; + var vcompact; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "menu"); + nodeList = doc.getElementsByTagName("menu"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcompact = testNode.compact; + + assertTrue("compactLink",vcompact); + +} + + + + +function runTest() { + HTMLMenuElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOListElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOListElement01.js new file mode 100644 index 0000000..05aa1e6 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOListElement01.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOListElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "olist"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The compact attribute specifies a boolean value on whether to display + the list more compactly. + + Retrieve the compact attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76448506 +*/ +function HTMLOListElement01() { + var success; + if(checkInitialization(builder, "HTMLOListElement01") != null) return; + var nodeList; + var testNode; + var vcompact; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "olist"); + nodeList = doc.getElementsByTagName("ol"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcompact = testNode.compact; + + assertTrue("compactLink",vcompact); + +} + + + + +function runTest() { + HTMLOListElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement02.js new file mode 100644 index 0000000..1cbaaa3 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The code attribute specifies an Applet class file. + +Retrieve the code attribute of the second OBJECT element and examine +its value. Should be "" since CODE is not a valid attribute for OBJECT. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75241146 +*/ +function HTMLObjectElement02() { + var success; + if(checkInitialization(builder, "HTMLObjectElement02") != null) return; + var nodeList; + var testNode; + var vcode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vcode = testNode.code; + + assertEquals("codeLink","",vcode); + +} + + + + +function runTest() { + HTMLObjectElement02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement03.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement03.js new file mode 100644 index 0000000..0e37e00 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement03.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the alignment of this object with respect + to its surrounding text. + + Retrieve the align attribute of the first OBJECT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-16962097 +*/ +function HTMLObjectElement03() { + var success; + if(checkInitialization(builder, "HTMLObjectElement03") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","middle",valign); + +} + + + + +function runTest() { + HTMLObjectElement03(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement04.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement04.js new file mode 100644 index 0000000..8200dd1 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement04.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The archive attribute specifies a space-separated list of archives. + + Retrieve the archive attribute of the first OBJECT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-47783837 +*/ +function HTMLObjectElement04() { + var success; + if(checkInitialization(builder, "HTMLObjectElement04") != null) return; + var nodeList; + var testNode; + var varchive; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + varchive = testNode.archive; + + assertEquals("archiveLink","",varchive); + +} + + + + +function runTest() { + HTMLObjectElement04(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement05.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement05.js new file mode 100644 index 0000000..699a281 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement05.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The border attribute specifies the widht of the border around the object. + + Retrieve the border attribute of the first OBJECT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-82818419 +*/ +function HTMLObjectElement05() { + var success; + if(checkInitialization(builder, "HTMLObjectElement05") != null) return; + var nodeList; + var testNode; + var vborder; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vborder = testNode.border; + + assertEquals("borderLink","0",vborder); + +} + + + + +function runTest() { + HTMLObjectElement05(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement06.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement06.js new file mode 100644 index 0000000..fbc1b94 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement06.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The codeBase attribute specifies the base URI for the classid, data and + archive attributes. + + Retrieve the codeBase attribute of the first OBJECT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-25709136 +*/ +function HTMLObjectElement06() { + var success; + if(checkInitialization(builder, "HTMLObjectElement06") != null) return; + var nodeList; + var testNode; + var vcodebase; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vcodebase = testNode.codeBase; + + assertURIEquals("codebaseLink",null,"//xw2k.sdct.itl.nist.gov/brady/dom/",null,null,null,null,null,null,vcodebase); + +} + + + + +function runTest() { + HTMLObjectElement06(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement07.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement07.js new file mode 100644 index 0000000..e893e0f --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement07.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The codeType attribute specifies the data downloaded via the classid + attribute. + + Retrieve the codeType attribute of the second OBJECT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-19945008 +*/ +function HTMLObjectElement07() { + var success; + if(checkInitialization(builder, "HTMLObjectElement07") != null) return; + var nodeList; + var testNode; + var vcodetype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vcodetype = testNode.codeType; + + assertEquals("codetypeLink","image/gif",vcodetype); + +} + + + + +function runTest() { + HTMLObjectElement07(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement09.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement09.js new file mode 100644 index 0000000..3309870 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement09.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The declare attribute specifies this object should be declared only and + no instance of it should be created. + + Retrieve the declare attribute of the second OBJECT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-942770 +*/ +function HTMLObjectElement09() { + var success; + if(checkInitialization(builder, "HTMLObjectElement09") != null) return; + var nodeList; + var testNode; + var vdeclare; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vdeclare = testNode.declare; + + assertTrue("declareLink",vdeclare); + +} + + + + +function runTest() { + HTMLObjectElement09(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement12.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement12.js new file mode 100644 index 0000000..ac365bb --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement12.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The standby attribute specifies a message to render while loading the + object. + + Retrieve the standby attribute of the first OBJECT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-25039673 +*/ +function HTMLObjectElement12() { + var success; + if(checkInitialization(builder, "HTMLObjectElement12") != null) return; + var nodeList; + var testNode; + var vstandby; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vstandby = testNode.standby; + + assertEquals("alignLink","Loading Image ...",vstandby); + +} + + + + +function runTest() { + HTMLObjectElement12(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement04.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement04.js new file mode 100644 index 0000000..838554c --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement04.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptionElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "option"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The text attribute contains the text contained within the option element. + + Retrieve the text attribute from the second OPTION element + and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-48154426 +*/ +function HTMLOptionElement04() { + var success; + if(checkInitialization(builder, "HTMLOptionElement04") != null) return; + var nodeList; + var testNode; + var vtext; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "option"); + nodeList = doc.getElementsByTagName("option"); + assertSize("Asize",10,nodeList); +testNode = nodeList.item(1); + vtext = testNode.text; + + assertEquals("textLink","EMP10002",vtext); + +} + + + + +function runTest() { + HTMLOptionElement04(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement05.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement05.js new file mode 100644 index 0000000..c3965f9 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement05.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptionElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "option"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The index attribute indicates th index of this OPTION in ints parent + SELECT. + + Retrieve the index attribute from the seventh OPTION element + and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14038413 +*/ +function HTMLOptionElement05() { + var success; + if(checkInitialization(builder, "HTMLOptionElement05") != null) return; + var nodeList; + var testNode; + var vindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "option"); + nodeList = doc.getElementsByTagName("option"); + assertSize("Asize",10,nodeList); +testNode = nodeList.item(6); + vindex = testNode.index; + + assertEquals("indexLink",1,vindex); + +} + + + + +function runTest() { + HTMLOptionElement05(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement09.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement09.js new file mode 100644 index 0000000..c10ea1c --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement09.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptionElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "option"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The value attribute contains the current form control value. + + Retrieve the value attribute from the first OPTION element + and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6185554 +*/ +function HTMLOptionElement09() { + var success; + if(checkInitialization(builder, "HTMLOptionElement09") != null) return; + var nodeList; + var testNode; + var vvalue; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "option"); + nodeList = doc.getElementsByTagName("option"); + assertSize("Asize",10,nodeList); +testNode = nodeList.item(0); + vvalue = testNode.value; + + assertEquals("valueLink","10001",vvalue); + +} + + + + +function runTest() { + HTMLOptionElement09(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParagraphElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParagraphElement01.js new file mode 100644 index 0000000..64a86e0 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParagraphElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLParagraphElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "paragraph"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal text alignment. + + Retrieve the align attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-53465507 +*/ +function HTMLParagraphElement01() { + var success; + if(checkInitialization(builder, "HTMLParagraphElement01") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "paragraph"); + nodeList = doc.getElementsByTagName("p"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLParagraphElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement01.js new file mode 100644 index 0000000..c3d6c44 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLParamElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "param"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The name attribute specifies the name of the run-time parameter. + + Retrieve the name attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59871447 +*/ +function HTMLParamElement01() { + var success; + if(checkInitialization(builder, "HTMLParamElement01") != null) return; + var nodeList; + var testNode; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "param"); + nodeList = doc.getElementsByTagName("param"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vname = testNode.name; + + assertEquals("nameLink","image3",vname); + +} + + + + +function runTest() { + HTMLParamElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement03.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement03.js new file mode 100644 index 0000000..48efd58 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement03.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLParamElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "param"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The valueType attribute specifies information about the meaning of the + value specified by the value attribute. + + Retrieve the valueType attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-23931872 +*/ +function HTMLParamElement03() { + var success; + if(checkInitialization(builder, "HTMLParamElement03") != null) return; + var nodeList; + var testNode; + var vvaluetype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "param"); + nodeList = doc.getElementsByTagName("param"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vvaluetype = testNode.valueType; + + assertEquals("valueTypeLink","ref",vvaluetype); + +} + + + + +function runTest() { + HTMLParamElement03(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement04.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement04.js new file mode 100644 index 0000000..c6523e3 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement04.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLParamElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "param"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The type attribute specifies the content type for the value attribute + when valuetype has the value ref. + + Retrieve the type attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-18179888 +*/ +function HTMLParamElement04() { + var success; + if(checkInitialization(builder, "HTMLParamElement04") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "param"); + nodeList = doc.getElementsByTagName("param"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","image/gif",vtype); + +} + + + + +function runTest() { + HTMLParamElement04(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLPreElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLPreElement01.js new file mode 100644 index 0000000..b2c16f3 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLPreElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLPreElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "pre"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The width attribute specifies the fixed width for content. + + Retrieve the width attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-13894083 +*/ +function HTMLPreElement01() { + var success; + if(checkInitialization(builder, "HTMLPreElement01") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "pre"); + nodeList = doc.getElementsByTagName("pre"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vwidth = testNode.width; + + assertEquals("widthLink",277,vwidth); + +} + + + + +function runTest() { + HTMLPreElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCaptionElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCaptionElement01.js new file mode 100644 index 0000000..e5947a8 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCaptionElement01.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCaptionElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecaption"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the caption alignment with respect to + the table. + + Retrieve the align attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-79875068 +*/ +function HTMLTableCaptionElement01() { + var success; + if(checkInitialization(builder, "HTMLTableCaptionElement01") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecaption"); + nodeList = doc.getElementsByTagName("caption"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","top",valign); + +} + + + + +function runTest() { + HTMLTableCaptionElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement01.js new file mode 100644 index 0000000..dcc8a80 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement01.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The cellIndex attribute specifies the index of this cell in the row(TH). + + Retrieve the cellIndex attribute of the first TH element and examine its + value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-80748363 +*/ +function HTMLTableCellElement01() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement01") != null) return; + var nodeList; + var testNode; + var vcellindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(0); + vcellindex = testNode.cellIndex; + + assertEquals("cellIndexLink",0,vcellindex); + +} + + + + +function runTest() { + HTMLTableCellElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement02.js new file mode 100644 index 0000000..049c770 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The cellIndex attribute specifies the index of this cell in the row(TD). + + Retrieve the cellIndex attribute of the first TD element and examine its + value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-80748363 +*/ +function HTMLTableCellElement02() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement02") != null) return; + var nodeList; + var testNode; + var vcellindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(0); + vcellindex = testNode.cellIndex; + + assertEquals("cellIndexLink",0,vcellindex); + +} + + + + +function runTest() { + HTMLTableCellElement02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement03.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement03.js new file mode 100644 index 0000000..72ffe5f --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement03.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The abbr attribute specifies the abbreviation for table header cells(TH). + + Retrieve the abbr attribute from the second TH element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-74444037 +*/ +function HTMLTableCellElement03() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement03") != null) return; + var nodeList; + var testNode; + var vabbr; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vabbr = testNode.abbr; + + assertEquals("abbrLink","hd1",vabbr); + +} + + + + +function runTest() { + HTMLTableCellElement03(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement04.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement04.js new file mode 100644 index 0000000..2d41fe9 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement04.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The abbr attribute specifies the abbreviation for table data cells(TD). + + Retrieve the abbr attribute from the second TD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-74444037 +*/ +function HTMLTableCellElement04() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement04") != null) return; + var nodeList; + var testNode; + var vabbr; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vabbr = testNode.abbr; + + assertEquals("abbrLink","hd2",vabbr); + +} + + + + +function runTest() { + HTMLTableCellElement04(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement05.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement05.js new file mode 100644 index 0000000..90da834 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement05.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal alignment for table + header cells(TH). + + Retrieve the align attribute from the second TH element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98433879 +*/ +function HTMLTableCellElement05() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement05") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLTableCellElement05(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement06.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement06.js new file mode 100644 index 0000000..99ab7a0 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement06.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal alignment for table + data cells(TD). + + Retrieve the align attribute from the second TD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98433879 +*/ +function HTMLTableCellElement06() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement06") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLTableCellElement06(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement07.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement07.js new file mode 100644 index 0000000..b0e9c20 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement07.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The axis attribute specifies the names group of related headers for table + header cells(TH). + + Retrieve the align attribute from the second TH element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76554418 +*/ +function HTMLTableCellElement07() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement07") != null) return; + var nodeList; + var testNode; + var vaxis; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vaxis = testNode.axis; + + assertEquals("axisLink","center",vaxis); + +} + + + + +function runTest() { + HTMLTableCellElement07(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement08.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement08.js new file mode 100644 index 0000000..c051a8f --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement08.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The axis attribute specifies the names group of related headers for table + data cells(TD). + + Retrieve the axis attribute from the second TD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76554418 +*/ +function HTMLTableCellElement08() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement08") != null) return; + var nodeList; + var testNode; + var vaxis; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vaxis = testNode.axis; + + assertEquals("axisLink","center",vaxis); + +} + + + + +function runTest() { + HTMLTableCellElement08(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement09.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement09.js new file mode 100644 index 0000000..05d1444 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement09.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The bgColor attribute specifies the cells background color for + table header cells(TH). + + Retrieve the bgColor attribute from the second TH element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88135431 +*/ +function HTMLTableCellElement09() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement09") != null) return; + var nodeList; + var testNode; + var vbgcolor; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vbgcolor = testNode.bgColor; + + assertEquals("bgColorLink","#00FFFF".toLowerCase(),vbgcolor.toLowerCase()); + +} + + + + +function runTest() { + HTMLTableCellElement09(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement10.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement10.js new file mode 100644 index 0000000..798f16f --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement10.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The bgColor attribute specifies the cells background color for table + data cells(TD). + + Retrieve the bgColor attribute from the second TD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88135431 +*/ +function HTMLTableCellElement10() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement10") != null) return; + var nodeList; + var testNode; + var vbgcolor; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vbgcolor = testNode.bgColor; + + assertEquals("bgColorLink","#FF0000".toLowerCase(),vbgcolor.toLowerCase()); + +} + + + + +function runTest() { + HTMLTableCellElement10(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement11.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement11.js new file mode 100644 index 0000000..452831c --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement11.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The char attribute specifies the alignment character for cells in a column + of table header cells(TH). + + Retrieve the char attribute from the second TH element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-30914780 +*/ +function HTMLTableCellElement11() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement11") != null) return; + var nodeList; + var testNode; + var vch; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vch = testNode.ch; + + assertEquals("chLink",":",vch); + +} + + + + +function runTest() { + HTMLTableCellElement11(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement12.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement12.js new file mode 100644 index 0000000..d27b212 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement12.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The char attribute specifies the alignment character for cells in a column + of table data cells(TD). + + Retrieve the char attribute from the second TD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-30914780 +*/ +function HTMLTableCellElement12() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement12") != null) return; + var nodeList; + var testNode; + var vch; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vch = testNode.ch; + + assertEquals("chLink",":",vch); + +} + + + + +function runTest() { + HTMLTableCellElement12(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement13.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement13.js new file mode 100644 index 0000000..5604e67 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement13.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement13"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The charoff attribute specifies the offset of alignment characacter + of table header cells(TH). + + Retrieve the charoff attribute from the second TH element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-20144310 +*/ +function HTMLTableCellElement13() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement13") != null) return; + var nodeList; + var testNode; + var vcharoff; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vcharoff = testNode.chOff; + + assertEquals("chOffLink","1",vcharoff); + +} + + + + +function runTest() { + HTMLTableCellElement13(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement14.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement14.js new file mode 100644 index 0000000..ae6b77c --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement14.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement14"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The charoff attribute specifies the offset of alignment character + of table data cells(TD). + + Retrieve the charoff attribute from the second TD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-20144310 +*/ +function HTMLTableCellElement14() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement14") != null) return; + var nodeList; + var testNode; + var vcharoff; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vcharoff = testNode.chOff; + + assertEquals("chOffLink","1",vcharoff); + +} + + + + +function runTest() { + HTMLTableCellElement14(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement17.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement17.js new file mode 100644 index 0000000..abd17f1 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement17.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement17"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The headers attribute specifies a list of id attribute values for + table header cells(TH). + + Retrieve the headers attribute from the second TH element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-89104817 +*/ +function HTMLTableCellElement17() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement17") != null) return; + var nodeList; + var testNode; + var vheaders; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vheaders = testNode.headers; + + assertEquals("headersLink","header-1",vheaders); + +} + + + + +function runTest() { + HTMLTableCellElement17(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement18.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement18.js new file mode 100644 index 0000000..fec2282 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement18.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement18"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The headers attribute specifies a list of id attribute values for + table data cells(TD). + + Retrieve the headers attribute from the second TD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-89104817 +*/ +function HTMLTableCellElement18() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement18") != null) return; + var nodeList; + var testNode; + var vheaders; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vheaders = testNode.headers; + + assertEquals("headersLink","header-3",vheaders); + +} + + + + +function runTest() { + HTMLTableCellElement18(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement19.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement19.js new file mode 100644 index 0000000..73ab423 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement19.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement19"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The height attribute specifies the cell height. + + Retrieve the height attribute from the second TH element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83679212 +*/ +function HTMLTableCellElement19() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement19") != null) return; + var nodeList; + var testNode; + var vheight; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vheight = testNode.height; + + assertEquals("heightLink","50",vheight); + +} + + + + +function runTest() { + HTMLTableCellElement19(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement20.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement20.js new file mode 100644 index 0000000..cf122ff --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement20.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement20"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The height attribute specifies the cell height. + + Retrieve the height attribute from the second TD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83679212 +*/ +function HTMLTableCellElement20() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement20") != null) return; + var nodeList; + var testNode; + var vheight; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vheight = testNode.height; + + assertEquals("heightLink","50",vheight); + +} + + + + +function runTest() { + HTMLTableCellElement20(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement21.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement21.js new file mode 100644 index 0000000..68edd32 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement21.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement21"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The noWrap attribute supresses word wrapping. + + Retrieve the noWrap attribute of the second TH Element and + examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-62922045 +*/ +function HTMLTableCellElement21() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement21") != null) return; + var nodeList; + var testNode; + var vnowrap; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vnowrap = testNode.noWrap; + + assertTrue("noWrapLink",vnowrap); + +} + + + + +function runTest() { + HTMLTableCellElement21(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement22.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement22.js new file mode 100644 index 0000000..441ee84 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement22.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement22"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The noWrap attribute supresses word wrapping. + + Retrieve the noWrap attribute of the second TD Element and + examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-62922045 +*/ +function HTMLTableCellElement22() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement22") != null) return; + var nodeList; + var testNode; + var vnowrap; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vnowrap = testNode.noWrap; + + assertTrue("noWrapLink",vnowrap); + +} + + + + +function runTest() { + HTMLTableCellElement22(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement26.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement26.js new file mode 100644 index 0000000..36813b2 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement26.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement26"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The scope attribute specifies the scope covered by data cells. + + Retrieve the scope attribute from the second TD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-36139952 +*/ +function HTMLTableCellElement26() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement26") != null) return; + var nodeList; + var testNode; + var vscope; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vscope = testNode.scope; + + assertEquals("scopeLink","col",vscope); + +} + + + + +function runTest() { + HTMLTableCellElement26(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement27.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement27.js new file mode 100644 index 0000000..a861962 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement27.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement27"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The vAlign attribute specifies the vertical alignment of data in cell. + + Retrieve the vAlign attribute from the second TH element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-58284221 +*/ +function HTMLTableCellElement27() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement27") != null) return; + var nodeList; + var testNode; + var vvalign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vvalign = testNode.vAlign; + + assertEquals("vAlignLink","middle",vvalign); + +} + + + + +function runTest() { + HTMLTableCellElement27(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement28.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement28.js new file mode 100644 index 0000000..00c1c9f --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement28.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement28"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The vAlign attribute specifies the vertical alignment of data in cell. + + Retrieve the vAlign attribute from the second TD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-58284221 +*/ +function HTMLTableCellElement28() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement28") != null) return; + var nodeList; + var testNode; + var vvalign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vvalign = testNode.vAlign; + + assertEquals("vAlignLink","middle",vvalign); + +} + + + + +function runTest() { + HTMLTableCellElement28(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement29.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement29.js new file mode 100644 index 0000000..1655b67 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement29.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement29"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The width attribute specifies the cells width. + + Retrieve the width attribute from the second TH element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-27480795 +*/ +function HTMLTableCellElement29() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement29") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vwidth = testNode.width; + + assertEquals("widthLink","170",vwidth); + +} + + + + +function runTest() { + HTMLTableCellElement29(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement30.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement30.js new file mode 100644 index 0000000..6f54987 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement30.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement30"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The width attribute specifies the cells width. + + Retrieve the width attribute from the second TD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-27480795 +*/ +function HTMLTableCellElement30() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement30") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vwidth = testNode.width; + + assertEquals("widthLink","175",vwidth); + +} + + + + +function runTest() { + HTMLTableCellElement30(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement01.js new file mode 100644 index 0000000..7b58a8e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement01.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal alignment of cell data + in column(COL). + + Retrieve the align attribute from the COL element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-31128447 +*/ +function HTMLTableColElement01() { + var success; + if(checkInitialization(builder, "HTMLTableColElement01") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("col"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLTableColElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement02.js new file mode 100644 index 0000000..637aa7a --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement02.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal alignment of cell data + in column(COLGROUP). + + Retrieve the align attribute from the COLGROUP element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-31128447 +*/ +function HTMLTableColElement02() { + var success; + if(checkInitialization(builder, "HTMLTableColElement02") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("colgroup"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLTableColElement02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement03.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement03.js new file mode 100644 index 0000000..754b82e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement03.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The char attribute specifies the alignment character for cells + in a column(COL). + + Retrieve the char attribute from the COL element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-9447412 +*/ +function HTMLTableColElement03() { + var success; + if(checkInitialization(builder, "HTMLTableColElement03") != null) return; + var nodeList; + var testNode; + var vch; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("col"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vch = testNode.ch; + + assertEquals("chLink","*",vch); + +} + + + + +function runTest() { + HTMLTableColElement03(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement04.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement04.js new file mode 100644 index 0000000..89c959f --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement04.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The char attribute specifies the alignment character for cells + in a column(COLGROUP). + + Retrieve the char attribute from the COLGROUP element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-9447412 +*/ +function HTMLTableColElement04() { + var success; + if(checkInitialization(builder, "HTMLTableColElement04") != null) return; + var nodeList; + var testNode; + var vch; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("colgroup"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vch = testNode.ch; + + assertEquals("chLink","$",vch); + +} + + + + +function runTest() { + HTMLTableColElement04(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement05.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement05.js new file mode 100644 index 0000000..b959a5f --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement05.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The charoff attribute specifies offset of alignment character(COL). + + Retrieve the charoff attribute from the COL element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-57779225 +*/ +function HTMLTableColElement05() { + var success; + if(checkInitialization(builder, "HTMLTableColElement05") != null) return; + var nodeList; + var testNode; + var vchoff; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("col"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vchoff = testNode.chOff; + + assertEquals("chLink","20",vchoff); + +} + + + + +function runTest() { + HTMLTableColElement05(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement06.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement06.js new file mode 100644 index 0000000..5c7275c --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement06.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The charoff attribute specifies offset of alignment character(COLGROUP). + + Retrieve the charoff attribute from the COLGROUP element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-57779225 +*/ +function HTMLTableColElement06() { + var success; + if(checkInitialization(builder, "HTMLTableColElement06") != null) return; + var nodeList; + var testNode; + var vchoff; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("colgroup"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vchoff = testNode.chOff; + + assertEquals("chLink","15",vchoff); + +} + + + + +function runTest() { + HTMLTableColElement06(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement09.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement09.js new file mode 100644 index 0000000..8b49c29 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement09.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The vAlign attribute specifies the vertical alignment of cell data + in column(COL). + + Retrieve the vAlign attribute from the COL element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83291710 +*/ +function HTMLTableColElement09() { + var success; + if(checkInitialization(builder, "HTMLTableColElement09") != null) return; + var nodeList; + var testNode; + var vvalign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("col"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vvalign = testNode.vAlign; + + assertEquals("vAlignLink","middle",vvalign); + +} + + + + +function runTest() { + HTMLTableColElement09(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement10.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement10.js new file mode 100644 index 0000000..a18ec5c --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement10.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The vAlign attribute specifies the vertical alignment of cell data + in column(COLGROUP). + + Retrieve the vAlign attribute from the COLGROUP element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83291710 +*/ +function HTMLTableColElement10() { + var success; + if(checkInitialization(builder, "HTMLTableColElement10") != null) return; + var nodeList; + var testNode; + var vvalign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("colgroup"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vvalign = testNode.vAlign; + + assertEquals("vAlignLink","middle",vvalign); + +} + + + + +function runTest() { + HTMLTableColElement10(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement11.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement11.js new file mode 100644 index 0000000..690c21f --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement11.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The width attribute specifies the default column width(COL). + + Retrieve the width attribute from the COL element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-25196799 +*/ +function HTMLTableColElement11() { + var success; + if(checkInitialization(builder, "HTMLTableColElement11") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("col"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vwidth = testNode.width; + + assertEquals("widthLink","20",vwidth); + +} + + + + +function runTest() { + HTMLTableColElement11(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement12.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement12.js new file mode 100644 index 0000000..00a0106 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement12.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The width attribute specifies the default column width(COLGORUP). + + Retrieve the width attribute from the COLGROUP element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-25196799 +*/ +function HTMLTableColElement12() { + var success; + if(checkInitialization(builder, "HTMLTableColElement12") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("colgroup"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vwidth = testNode.width; + + assertEquals("widthLink","20",vwidth); + +} + + + + +function runTest() { + HTMLTableColElement12(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement01.js new file mode 100644 index 0000000..e293873 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement01.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The caption attribute returns the tables CAPTION. + + Retrieve the align attribute of the CAPTION element from the second + TABLE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14594520 +*/ +function HTMLTableElement01() { + var success; + if(checkInitialization(builder, "HTMLTableElement01") != null) return; + var nodeList; + var testNode; + var vcaption; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vcaption = testNode.caption; + + valign = vcaption.align; + + assertEquals("alignLink","top",valign); + +} + + + + +function runTest() { + HTMLTableElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement03.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement03.js new file mode 100644 index 0000000..15a53ff --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement03.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The tHead attribute returns the tables THEAD. + + Retrieve the align attribute of the THEAD element from the second + TABLE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-9530944 +*/ +function HTMLTableElement03() { + var success; + if(checkInitialization(builder, "HTMLTableElement03") != null) return; + var nodeList; + var testNode; + var vsection; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vsection = testNode.tHead; + + valign = vsection.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLTableElement03(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement05.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement05.js new file mode 100644 index 0000000..e3ca76a --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement05.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The tFoot attribute returns the tables TFOOT. + + Retrieve the align attribute of the TFOOT element from the second + TABLE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097 +*/ +function HTMLTableElement05() { + var success; + if(checkInitialization(builder, "HTMLTableElement05") != null) return; + var nodeList; + var testNode; + var vsection; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vsection = testNode.tFoot; + + valign = vsection.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLTableElement05(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement10.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement10.js new file mode 100644 index 0000000..bbd3801 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement10.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the table's position with respect to the + rest of the document. + + Retrieve the align attribute of the first TABLE element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-23180977 +*/ +function HTMLTableElement10() { + var success; + if(checkInitialization(builder, "HTMLTableElement10") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLTableElement10(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement11.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement11.js new file mode 100644 index 0000000..f8172e4 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement11.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The bgColor attribute specifies cell background color. + + Retrieve the bgColor attribute of the first TABLE element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83532985 +*/ +function HTMLTableElement11() { + var success; + if(checkInitialization(builder, "HTMLTableElement11") != null) return; + var nodeList; + var testNode; + var vbgcolor; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vbgcolor = testNode.bgColor; + + assertEquals("bgColorLink","#ff0000",vbgcolor); + +} + + + + +function runTest() { + HTMLTableElement11(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement13.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement13.js new file mode 100644 index 0000000..4f2ba8f --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement13.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement13"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The cellpadding attribute specifies the horizontal and vertical space + between cell content and cell borders. + + Retrieve the cellpadding attribute of the first TABLE element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59162158 +*/ +function HTMLTableElement13() { + var success; + if(checkInitialization(builder, "HTMLTableElement13") != null) return; + var nodeList; + var testNode; + var vcellpadding; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vcellpadding = testNode.cellPadding; + + assertEquals("cellPaddingLink","2",vcellpadding); + +} + + + + +function runTest() { + HTMLTableElement13(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement14.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement14.js new file mode 100644 index 0000000..d2ff13f --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement14.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement14"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The cellSpacing attribute specifies the horizontal and vertical separation + between cells. + + Retrieve the cellSpacing attribute of the first TABLE element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-68907883 +*/ +function HTMLTableElement14() { + var success; + if(checkInitialization(builder, "HTMLTableElement14") != null) return; + var nodeList; + var testNode; + var cellSpacing; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + cellSpacing = testNode.cellSpacing; + + assertEquals("cellSpacingLink","2",cellSpacing); + +} + + + + +function runTest() { + HTMLTableElement14(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement15.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement15.js new file mode 100644 index 0000000..5f5f8da --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement15.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement15"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The frame attribute specifies which external table borders to render. + + Retrieve the frame attribute of the first TABLE element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64808476 +*/ +function HTMLTableElement15() { + var success; + if(checkInitialization(builder, "HTMLTableElement15") != null) return; + var nodeList; + var testNode; + var vframe; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vframe = testNode.frame; + + assertEquals("frameLink","border",vframe); + +} + + + + +function runTest() { + HTMLTableElement15(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement16.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement16.js new file mode 100644 index 0000000..54cdbe0 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement16.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement16"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The rules attribute specifies which internal table borders to render. + + Retrieve the rules attribute of the first TABLE element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-26347553 +*/ +function HTMLTableElement16() { + var success; + if(checkInitialization(builder, "HTMLTableElement16") != null) return; + var nodeList; + var testNode; + var vrules; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vrules = testNode.rules; + + assertEquals("rulesLink","all",vrules); + +} + + + + +function runTest() { + HTMLTableElement16(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement17.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement17.js new file mode 100644 index 0000000..361a908 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement17.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement17"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The summary attribute is a description about the purpose or structure + of a table. + + Retrieve the summary attribute of the first TABLE element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-44998528 +*/ +function HTMLTableElement17() { + var success; + if(checkInitialization(builder, "HTMLTableElement17") != null) return; + var nodeList; + var testNode; + var vsummary; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vsummary = testNode.summary; + + assertEquals("summaryLink","HTML Control Table",vsummary); + +} + + + + +function runTest() { + HTMLTableElement17(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement18.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement18.js new file mode 100644 index 0000000..ca51828 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement18.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement18"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The width attribute specifies the desired table width. + + Retrieve the width attribute of the first TABLE element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-77447361 +*/ +function HTMLTableElement18() { + var success; + if(checkInitialization(builder, "HTMLTableElement18") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vwidth = testNode.width; + + assertEquals("widthLink","680",vwidth); + +} + + + + +function runTest() { + HTMLTableElement18(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement02.js new file mode 100644 index 0000000..63d0e5e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement02.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The sectionRowIndex attribute specifies the index of this row, relative + to the current section(THEAD, TFOOT, or TBODY),starting from 0. + + Retrieve the second TR(1st In THEAD) element within the document and + examine its sectionRowIndex value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-79105901 +*/ +function HTMLTableRowElement02() { + var success; + if(checkInitialization(builder, "HTMLTableRowElement02") != null) return; + var nodeList; + var testNode; + var vsectionrowindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(1); + vsectionrowindex = testNode.sectionRowIndex; + + assertEquals("sectionRowIndexLink",0,vsectionrowindex); + +} + + + + +function runTest() { + HTMLTableRowElement02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement03.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement03.js new file mode 100644 index 0000000..6c2f8aa --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement03.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The sectionRowIndex attribute specifies the index of this row, relative + to the current section(THEAD, TFOOT, or TBODY),starting from 0. + + Retrieve the third TR(1st In TFOOT) element within the document and + examine its sectionRowIndex value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-79105901 +*/ +function HTMLTableRowElement03() { + var success; + if(checkInitialization(builder, "HTMLTableRowElement03") != null) return; + var nodeList; + var testNode; + var vsectionrowindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(2); + vsectionrowindex = testNode.sectionRowIndex; + + assertEquals("sectionRowIndexLink",0,vsectionrowindex); + +} + + + + +function runTest() { + HTMLTableRowElement03(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement04.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement04.js new file mode 100644 index 0000000..bea897c --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement04.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The sectionRowIndex attribute specifies the index of this row, relative + to the current section(THEAD, TFOOT, or TBODY),starting from 0. + + Retrieve the fifth TR(2nd In TBODY) element within the document and + examine its sectionRowIndex value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-79105901 +*/ +function HTMLTableRowElement04() { + var success; + if(checkInitialization(builder, "HTMLTableRowElement04") != null) return; + var nodeList; + var testNode; + var vsectionrowindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(4); + vsectionrowindex = testNode.sectionRowIndex; + + assertEquals("sectionRowIndexLink",1,vsectionrowindex); + +} + + + + +function runTest() { + HTMLTableRowElement04(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement06.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement06.js new file mode 100644 index 0000000..4251d3d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement06.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal alignment of data within + cells of this row. + + Retrieve the align attribute of the second TR element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-74098257 +*/ +function HTMLTableRowElement06() { + var success; + if(checkInitialization(builder, "HTMLTableRowElement06") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(1); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLTableRowElement06(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement07.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement07.js new file mode 100644 index 0000000..0c2c25a --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement07.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The bgColor attribute specifies the background color of rows. + + Retrieve the bgColor attribute of the second TR element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-18161327 +*/ +function HTMLTableRowElement07() { + var success; + if(checkInitialization(builder, "HTMLTableRowElement07") != null) return; + var nodeList; + var testNode; + var vbgcolor; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(1); + vbgcolor = testNode.bgColor; + + assertEquals("bgColorLink","#00FFFF".toLowerCase(),vbgcolor.toLowerCase()); + +} + + + + +function runTest() { + HTMLTableRowElement07(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement08.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement08.js new file mode 100644 index 0000000..a46b6d7 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement08.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The ch attribute specifies the alignment character for cells in a column. + + Retrieve the char attribute of the second TR element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-16230502 +*/ +function HTMLTableRowElement08() { + var success; + if(checkInitialization(builder, "HTMLTableRowElement08") != null) return; + var nodeList; + var testNode; + var vch; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(1); + vch = testNode.ch; + + assertEquals("chLink","*",vch); + +} + + + + +function runTest() { + HTMLTableRowElement08(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement09.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement09.js new file mode 100644 index 0000000..5857a65 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement09.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The chOff attribute specifies the offset of alignment character. + + Retrieve the charoff attribute of the second TR element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-68207461 +*/ +function HTMLTableRowElement09() { + var success; + if(checkInitialization(builder, "HTMLTableRowElement09") != null) return; + var nodeList; + var testNode; + var vchoff; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(1); + vchoff = testNode.chOff; + + assertEquals("charOffLink","1",vchoff); + +} + + + + +function runTest() { + HTMLTableRowElement09(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement10.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement10.js new file mode 100644 index 0000000..2025f05 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement10.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The vAlign attribute specifies the vertical alignment of data within + cells of this row. + + Retrieve the vAlign attribute of the second TR element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-90000058 +*/ +function HTMLTableRowElement10() { + var success; + if(checkInitialization(builder, "HTMLTableRowElement10") != null) return; + var nodeList; + var testNode; + var vvalign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(1); + vvalign = testNode.vAlign; + + assertEquals("vAlignLink","middle",vvalign); + +} + + + + +function runTest() { + HTMLTableRowElement10(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement11.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement11.js new file mode 100644 index 0000000..8ab3b31 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement11.js @@ -0,0 +1,144 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The insertCell() method inserts an empty TD cell into this row. + + + Retrieve the fourth TR element and examine the value of + the cells length attribute which should be set to six. + Check the value of the first TD element. Invoke the + insertCell() which will create an empty TD cell at the + zero index position. Check the value of the newly created + cell and make sure it is null and also the numbers of cells + should now be seven. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-68927016 +*/ +function HTMLTableRowElement11() { + var success; + if(checkInitialization(builder, "HTMLTableRowElement11") != null) return; + var nodeList; + var cellsnodeList; + var testNode; + var trNode; + var cellNode; + var value; + var newCell; + var vcells; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(3); + cellsnodeList = testNode.cells; + + vcells = cellsnodeList.length; + + assertEquals("cellsLink1",6,vcells); + trNode = cellsnodeList.item(0); + cellNode = trNode.firstChild; + + value = cellNode.nodeValue; + + assertEquals("value1Link","EMP0001",value); + newCell = testNode.insertCell(0); + testNode = nodeList.item(3); + cellsnodeList = testNode.cells; + + vcells = cellsnodeList.length; + + assertEquals("cellsLink2",7,vcells); + trNode = cellsnodeList.item(0); + cellNode = trNode.firstChild; + + assertNull("value2Link",cellNode); + +} + + + + +function runTest() { + HTMLTableRowElement11(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement12.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement12.js new file mode 100644 index 0000000..f0b1490 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement12.js @@ -0,0 +1,143 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The insertCell() method inserts an empty TD cell into this row. + + + Retrieve the fourth TR element and examine the value of + the cells length attribute which should be set to six. + Check the value of the last TD element. Invoke the + insertCell() which will append the empty cell to the end of the list. + Check the value of the newly created cell and make sure it is null + and also the numbers of cells should now be seven. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-68927016 +*/ +function HTMLTableRowElement12() { + var success; + if(checkInitialization(builder, "HTMLTableRowElement12") != null) return; + var nodeList; + var cellsnodeList; + var testNode; + var trNode; + var cellNode; + var value; + var newCell; + var vcells; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(3); + cellsnodeList = testNode.cells; + + vcells = cellsnodeList.length; + + assertEquals("cellsLink1",6,vcells); + trNode = cellsnodeList.item(5); + cellNode = trNode.firstChild; + + value = cellNode.nodeValue; + + assertEquals("value1Link","1230 North Ave. Dallas, Texas 98551",value); + newCell = testNode.insertCell(6); + testNode = nodeList.item(3); + cellsnodeList = testNode.cells; + + vcells = cellsnodeList.length; + + assertEquals("cellsLink2",7,vcells); + trNode = cellsnodeList.item(6); + cellNode = trNode.firstChild; + + assertNull("value2Link",cellNode); + +} + + + + +function runTest() { + HTMLTableRowElement12(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement13.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement13.js new file mode 100644 index 0000000..4f249d0 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement13.js @@ -0,0 +1,144 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement13"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The deleteCell() method deletes a cell from the current row. + + + Retrieve the fourth TR element and examine the value of + the cells length attribute which should be set to six. + Check the value of the first TD element. Invoke the + deleteCell() method which will delete a cell from the current row. + Check the value of the cell at the zero index and also check + the number of cells which should now be five. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-11738598 +*/ +function HTMLTableRowElement13() { + var success; + if(checkInitialization(builder, "HTMLTableRowElement13") != null) return; + var nodeList; + var cellsnodeList; + var testNode; + var trNode; + var cellNode; + var value; + var vcells; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(3); + cellsnodeList = testNode.cells; + + vcells = cellsnodeList.length; + + assertEquals("cellsLink1",6,vcells); + trNode = cellsnodeList.item(0); + cellNode = trNode.firstChild; + + value = cellNode.nodeValue; + + assertEquals("value1Link","EMP0001",value); + testNode.deleteCell(0); + testNode = nodeList.item(3); + cellsnodeList = testNode.cells; + + vcells = cellsnodeList.length; + + assertEquals("cellsLink2",5,vcells); + trNode = cellsnodeList.item(0); + cellNode = trNode.firstChild; + + value = cellNode.nodeValue; + + assertEquals("value2Link","Margaret Martin",value); + +} + + + + +function runTest() { + HTMLTableRowElement13(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement14.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement14.js new file mode 100644 index 0000000..e9cef6e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement14.js @@ -0,0 +1,144 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement14"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The deleteCell() method deletes a cell from the current row. + + + Retrieve the fourth TR element and examine the value of + the cells length attribute which should be set to six. + Check the value of the third(index 2) TD element. Invoke the + deleteCell() method which will delete a cell from the current row. + Check the value of the third cell(index 2) and also check + the number of cells which should now be five. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-11738598 +*/ +function HTMLTableRowElement14() { + var success; + if(checkInitialization(builder, "HTMLTableRowElement14") != null) return; + var nodeList; + var cellsnodeList; + var testNode; + var trNode; + var cellNode; + var value; + var vcells; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(3); + cellsnodeList = testNode.cells; + + vcells = cellsnodeList.length; + + assertEquals("cellsLink1",6,vcells); + trNode = cellsnodeList.item(2); + cellNode = trNode.firstChild; + + value = cellNode.nodeValue; + + assertEquals("value1Link","Accountant",value); + testNode.deleteCell(2); + testNode = nodeList.item(3); + cellsnodeList = testNode.cells; + + vcells = cellsnodeList.length; + + assertEquals("cellsLink2",5,vcells); + trNode = cellsnodeList.item(2); + cellNode = trNode.firstChild; + + value = cellNode.nodeValue; + + assertEquals("value2Link","56,000",value); + +} + + + + +function runTest() { + HTMLTableRowElement14(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement01.js new file mode 100644 index 0000000..306d52e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement01.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal alignment of data within + cells. + + Retrieve the align attribute of the first THEAD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40530119 +*/ +function HTMLTableSectionElement01() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement01") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("thead"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLTableSectionElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement02.js new file mode 100644 index 0000000..a2aee27 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement02.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal alignment of data within + cells. + + Retrieve the align attribute of the first TFOOT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40530119 +*/ +function HTMLTableSectionElement02() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement02") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tfoot"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLTableSectionElement02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement03.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement03.js new file mode 100644 index 0000000..9f106d7 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement03.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal alignment of data within + cells. + + Retrieve the align attribute of the first TBODY element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40530119 +*/ +function HTMLTableSectionElement03() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement03") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tbody"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLTableSectionElement03(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement04.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement04.js new file mode 100644 index 0000000..0013a9a --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement04.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The ch attribute specifies the alignment character for cells in a + column. + + Retrieve the char attribute of the first THEAD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83470012 +*/ +function HTMLTableSectionElement04() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement04") != null) return; + var nodeList; + var testNode; + var vch; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("thead"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vch = testNode.ch; + + assertEquals("chLink","*",vch); + +} + + + + +function runTest() { + HTMLTableSectionElement04(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement05.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement05.js new file mode 100644 index 0000000..85c8b7d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement05.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The ch attribute specifies the alignment character for cells in a + column. + + Retrieve the char attribute of the first TFOOT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83470012 +*/ +function HTMLTableSectionElement05() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement05") != null) return; + var nodeList; + var testNode; + var vch; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tfoot"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vch = testNode.ch; + + assertEquals("chLink","+",vch); + +} + + + + +function runTest() { + HTMLTableSectionElement05(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement06.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement06.js new file mode 100644 index 0000000..4e58b00 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement06.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The ch attribute specifies the alignment character for cells in a + column. + + Retrieve the char attribute of the first TBODY element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83470012 +*/ +function HTMLTableSectionElement06() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement06") != null) return; + var nodeList; + var testNode; + var vch; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tbody"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vch = testNode.ch; + + assertEquals("chLink","$",vch); + +} + + + + +function runTest() { + HTMLTableSectionElement06(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement07.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement07.js new file mode 100644 index 0000000..97ee9de --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement07.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The chOff attribute specifies the offset of alignment character. + + Retrieve the charoff attribute of the first THEAD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-53459732 +*/ +function HTMLTableSectionElement07() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement07") != null) return; + var nodeList; + var testNode; + var vcharoff; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("thead"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcharoff = testNode.chOff; + + assertEquals("chOffLink","1",vcharoff); + +} + + + + +function runTest() { + HTMLTableSectionElement07(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement08.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement08.js new file mode 100644 index 0000000..bbec905 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement08.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The chOff attribute specifies the offset of alignment character. + + Retrieve the charoff attribute of the first TFOOT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-53459732 +*/ +function HTMLTableSectionElement08() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement08") != null) return; + var nodeList; + var testNode; + var vcharoff; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tfoot"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcharoff = testNode.chOff; + + assertEquals("chOffLink","2",vcharoff); + +} + + + + +function runTest() { + HTMLTableSectionElement08(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement09.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement09.js new file mode 100644 index 0000000..b3c67c8 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement09.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The chOff attribute specifies the offset of alignment character. + + Retrieve the charoff attribute of the first TBODY element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-53459732 +*/ +function HTMLTableSectionElement09() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement09") != null) return; + var nodeList; + var testNode; + var vcharoff; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tbody"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vcharoff = testNode.chOff; + + assertEquals("chOffLink","3",vcharoff); + +} + + + + +function runTest() { + HTMLTableSectionElement09(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement10.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement10.js new file mode 100644 index 0000000..71cacac --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement10.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The vAlign attribute specifies the vertical alignment of cell data in + column. + + Retrieve the vAlign attribute of the first THEAD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-4379116 +*/ +function HTMLTableSectionElement10() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement10") != null) return; + var nodeList; + var testNode; + var vvalign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("thead"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vvalign = testNode.vAlign; + + assertEquals("vAlignLink","middle",vvalign); + +} + + + + +function runTest() { + HTMLTableSectionElement10(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement11.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement11.js new file mode 100644 index 0000000..7b6b25b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement11.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The vAlign attribute specifies the vertical alignment of cell data in + column. + + Retrieve the vAlign attribute of the first TFOOT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-4379116 +*/ +function HTMLTableSectionElement11() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement11") != null) return; + var nodeList; + var testNode; + var vvalign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tfoot"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vvalign = testNode.vAlign; + + assertEquals("vAlignLink","middle",vvalign); + +} + + + + +function runTest() { + HTMLTableSectionElement11(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement12.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement12.js new file mode 100644 index 0000000..9652f0b --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement12.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The vAlign attribute specifies the vertical alignment of cell data in + column. + + Retrieve the vAlign attribute of the first TBODY element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-4379116 +*/ +function HTMLTableSectionElement12() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement12") != null) return; + var nodeList; + var testNode; + var vvalign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tbody"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vvalign = testNode.vAlign; + + assertEquals("vAlignLink","middle",vvalign); + +} + + + + +function runTest() { + HTMLTableSectionElement12(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement16.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement16.js new file mode 100644 index 0000000..91df5f1 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement16.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement16"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The insertRow() method inserts a new empty table row. + + Retrieve the first THEAD element and invoke the insertRow() method + with an index of 0. The nuber of rows in the THEAD section before + insertion of the new row is one. After the new row is inserted the number + of rows in the THEAD section is two. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93995626 +*/ +function HTMLTableSectionElement16() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement16") != null) return; + var nodeList; + var testNode; + var newRow; + var rowsnodeList; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("thead"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink1",1,vrows); + newRow = testNode.insertRow(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink2",2,vrows); + +} + + + + +function runTest() { + HTMLTableSectionElement16(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement17.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement17.js new file mode 100644 index 0000000..9ee6ced --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement17.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement17"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The insertRow() method inserts a new empty table row. + + Retrieve the first TFOOT element and invoke the insertRow() method + with an index of 0. The nuber of rows in the TFOOT section before + insertion of the new row is one. After the new row is inserted the number + of rows in the TFOOT section is two. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93995626 +*/ +function HTMLTableSectionElement17() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement17") != null) return; + var nodeList; + var testNode; + var newRow; + var rowsnodeList; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tfoot"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink1",1,vrows); + newRow = testNode.insertRow(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink2",2,vrows); + +} + + + + +function runTest() { + HTMLTableSectionElement17(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement18.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement18.js new file mode 100644 index 0000000..e7d06d2 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement18.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement18"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The insertRow() method inserts a new empty table row. + + Retrieve the first TBODY element and invoke the insertRow() method + with an index of 0. The nuber of rows in the TBODY section before + insertion of the new row is two. After the new row is inserted the number + of rows in the TBODY section is three. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93995626 +*/ +function HTMLTableSectionElement18() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement18") != null) return; + var nodeList; + var testNode; + var newRow; + var rowsnodeList; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tbody"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink1",2,vrows); + newRow = testNode.insertRow(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink2",3,vrows); + +} + + + + +function runTest() { + HTMLTableSectionElement18(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement19.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement19.js new file mode 100644 index 0000000..2324e7e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement19.js @@ -0,0 +1,127 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement19"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The insertRow() method inserts a new empty table row. + + Retrieve the first THEAD element and invoke the insertRow() method + with an index of 1. The nuber of rows in the THEAD section before + insertion of the new row is one therefore the new row is appended. + After the new row is inserted the number of rows in the THEAD + section is two. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93995626 +*/ +function HTMLTableSectionElement19() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement19") != null) return; + var nodeList; + var testNode; + var newRow; + var rowsnodeList; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("thead"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink1",1,vrows); + newRow = testNode.insertRow(1); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink2",2,vrows); + +} + + + + +function runTest() { + HTMLTableSectionElement19(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement20.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement20.js new file mode 100644 index 0000000..c0f3ad0 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement20.js @@ -0,0 +1,127 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement20"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The insertRow() method inserts a new empty table row. + + Retrieve the first TFOOT element and invoke the insertRow() method + with an index of one. The nuber of rows in the TFOOT section before + insertion of the new row is one therefore the new row is appended. + After the new row is inserted the number of rows in the TFOOT section + is two. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93995626 +*/ +function HTMLTableSectionElement20() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement20") != null) return; + var nodeList; + var testNode; + var newRow; + var rowsnodeList; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tfoot"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink1",1,vrows); + newRow = testNode.insertRow(1); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink2",2,vrows); + +} + + + + +function runTest() { + HTMLTableSectionElement20(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement21.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement21.js new file mode 100644 index 0000000..24a8ada --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement21.js @@ -0,0 +1,128 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement21"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The insertRow() method inserts a new empty table row. + + Retrieve the first TBODY element and invoke the insertRow() method + with an index of two. The number of rows in the TBODY section before + insertion of the new row is two therefore the row is appended. + After the new row is inserted the number of rows in the TBODY section is + three. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93995626 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=502 +*/ +function HTMLTableSectionElement21() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement21") != null) return; + var nodeList; + var testNode; + var newRow; + var rowsnodeList; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tbody"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink1",2,vrows); + newRow = testNode.insertRow(2); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink2",3,vrows); + +} + + + + +function runTest() { + HTMLTableSectionElement21(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement22.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement22.js new file mode 100644 index 0000000..2df6822 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement22.js @@ -0,0 +1,125 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement22"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The deleteRow() method deletes a row from this section. + + Retrieve the first THEAD element and invoke the deleteRow() method + with an index of 0. The nuber of rows in the THEAD section before + the deletion of the row is one. After the row is deleted the number + of rows in the THEAD section is zero. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-5625626 +*/ +function HTMLTableSectionElement22() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement22") != null) return; + var nodeList; + var testNode; + var rowsnodeList; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("thead"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink1",1,vrows); + testNode.deleteRow(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink2",0,vrows); + +} + + + + +function runTest() { + HTMLTableSectionElement22(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement23.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement23.js new file mode 100644 index 0000000..c22f00c --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement23.js @@ -0,0 +1,125 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement23"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The deleteRow() method deletes a row from this section. + + Retrieve the first TFOOT element and invoke the deleteRow() method + with an index of 0. The nuber of rows in the TFOOT section before + the deletion of the row is one. After the row is deleted the number + of rows in the TFOOT section is zero. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-5625626 +*/ +function HTMLTableSectionElement23() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement23") != null) return; + var nodeList; + var testNode; + var rowsnodeList; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tfoot"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink1",1,vrows); + testNode.deleteRow(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink2",0,vrows); + +} + + + + +function runTest() { + HTMLTableSectionElement23(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement24.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement24.js new file mode 100644 index 0000000..4624ff6 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement24.js @@ -0,0 +1,125 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement24"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The deleteRow() method deletes a row from this section. + + Retrieve the first TBODY element and invoke the deleteRow() method + with an index of 0. The nuber of rows in the TBODY section before + the deletion of the row is two. After the row is deleted the number + of rows in the TBODY section is one. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-5625626 +*/ +function HTMLTableSectionElement24() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement24") != null) return; + var nodeList; + var testNode; + var rowsnodeList; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tbody"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink1",2,vrows); + testNode.deleteRow(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink2",1,vrows); + +} + + + + +function runTest() { + HTMLTableSectionElement24(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement01.js new file mode 100644 index 0000000..0b75781 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement01.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The defaultValue attribute represents the HTML value of the attribute + when the type attribute has the value of "Text", "File" or "Password". + + Retrieve the defaultValue attribute of the 2nd TEXTAREA element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-36152213 +*/ +function HTMLTextAreaElement01() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement01") != null) return; + var nodeList; + var testNode; + var vdefaultvalue; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vdefaultvalue = testNode.defaultValue; + + assertEquals("defaultValueLink","TEXTAREA2",vdefaultvalue); + +} + + + + +function runTest() { + HTMLTextAreaElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement11.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement11.js new file mode 100644 index 0000000..62831fa --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement11.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The type attribute specifies the type of this form control. + + Retrieve the type attribute of the 1st TEXTAREA element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-24874179 +* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#HTML-HTMLTextAreaElement-type +*/ +function HTMLTextAreaElement11() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement11") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","textarea",vtype); + +} + + + + +function runTest() { + HTMLTextAreaElement11(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement12.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement12.js new file mode 100644 index 0000000..da12ed7 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement12.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The value attribute represents the current contents of the corresponding + form control, in an interactive user agent. + + Retrieve the value attribute of the 1st TEXTAREA element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-70715579 +*/ +function HTMLTextAreaElement12() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement12") != null) return; + var nodeList; + var testNode; + var vvalue; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vvalue = testNode.value; + + assertEquals("valueLink","TEXTAREA1",vvalue); + +} + + + + +function runTest() { + HTMLTextAreaElement12(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement01.js new file mode 100644 index 0000000..171a30d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement01.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLUListElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "ulist"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The compact attribute specifies whether to reduce spacing between list + items. + + Retrieve the compact attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39864178 +*/ +function HTMLUListElement01() { + var success; + if(checkInitialization(builder, "HTMLUListElement01") != null) return; + var nodeList; + var testNode; + var vcompact; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "ulist"); + nodeList = doc.getElementsByTagName("ul"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vcompact = testNode.compact; + + assertTrue("compactLink",vcompact); + +} + + + + +function runTest() { + HTMLUListElement01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement02.js new file mode 100644 index 0000000..98abae2 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement02.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLUListElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "ulist"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The type attribute specifies the bullet style. + + Retrieve the type attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96874670 +*/ +function HTMLUListElement02() { + var success; + if(checkInitialization(builder, "HTMLUListElement02") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "ulist"); + nodeList = doc.getElementsByTagName("ul"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","disc",vtype); + +} + + + + +function runTest() { + HTMLUListElement02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/anchor02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/anchor02.js new file mode 100644 index 0000000..26d3306 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/anchor02.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/anchor02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The character encoding of the linked resource. +The value of attribute charset of the anchor element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-67619266 +*/ +function anchor02() { + var success; + if(checkInitialization(builder, "anchor02") != null) return; + var nodeList; + var testNode; + var vcharset; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcharset = testNode.charset; + + assertEquals("charsetLink","US-ASCII",vcharset); + +} + + + + +function runTest() { + anchor02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/anchor03.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/anchor03.js new file mode 100644 index 0000000..81b3723 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/anchor03.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/anchor03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Comma-separated list of lengths, defining an active region geometry. +The value of attribute coords of the anchor element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-92079539 +*/ +function anchor03() { + var success; + if(checkInitialization(builder, "anchor03") != null) return; + var nodeList; + var testNode; + var vcoords; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcoords = testNode.coords; + + assertEquals("coordsLink","0,0,100,100",vcoords); + +} + + + + +function runTest() { + anchor03(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/anchor06.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/anchor06.js new file mode 100644 index 0000000..3ba7b19 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/anchor06.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/anchor06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The shape of the active area. The coordinates are given by coords +The value of attribute shape of the anchor element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-49899808 +*/ +function anchor06() { + var success; + if(checkInitialization(builder, "anchor06") != null) return; + var nodeList; + var testNode; + var vshape; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vshape = testNode.shape; + + assertEquals("shapeLink","rect",vshape); + +} + + + + +function runTest() { + anchor06(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/basefont01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/basefont01.js new file mode 100644 index 0000000..32d6edd --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/basefont01.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/basefont01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "basefont"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The value of attribute color of the basefont element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87502302 +*/ +function basefont01() { + var success; + if(checkInitialization(builder, "basefont01") != null) return; + var nodeList; + var testNode; + var vcolor; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "basefont"); + nodeList = doc.getElementsByTagName("basefont"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcolor = testNode.color; + + assertEquals("colorLink","#000000",vcolor); + +} + + + + +function runTest() { + basefont01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/body01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/body01.js new file mode 100644 index 0000000..16617e8 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/body01.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/body01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "body"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Color of active links (after mouse-button down, but before mouse-button up). +The value of attribute alink of the body element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59424581 +*/ +function body01() { + var success; + if(checkInitialization(builder, "body01") != null) return; + var nodeList; + var testNode; + var valink; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "body"); + nodeList = doc.getElementsByTagName("body"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valink = testNode.aLink; + + assertEquals("aLinkLink","#0000ff",valink); + +} + + + + +function runTest() { + body01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/dlist01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/dlist01.js new file mode 100644 index 0000000..e85d5ce --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/dlist01.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/dlist01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "dl"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-21738539 +*/ +function dlist01() { + var success; + if(checkInitialization(builder, "dlist01") != null) return; + var nodeList; + var testNode; + var vcompact; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "dl"); + nodeList = doc.getElementsByTagName("dl"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcompact = testNode.compact; + + assertTrue("compactLink",vcompact); + +} + + + + +function runTest() { + dlist01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/object02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/object02.js new file mode 100644 index 0000000..72bf106 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/object02.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Aligns this object (vertically or horizontally) with respect to its surrounding text. +The value of attribute align of the object element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-16962097 +*/ +function object02() { + var success; + if(checkInitialization(builder, "object02") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","middle",valign); + +} + + + + +function runTest() { + object02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/object03.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/object03.js new file mode 100644 index 0000000..0be0bfe --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/object03.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Space-separated list of archives +The value of attribute archive of the object element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-47783837 +*/ +function object03() { + var success; + if(checkInitialization(builder, "object03") != null) return; + var nodeList; + var testNode; + var varchive; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + varchive = testNode.archive; + + assertEquals("archiveLink","",varchive); + +} + + + + +function runTest() { + object03(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/object04.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/object04.js new file mode 100644 index 0000000..4807d6a --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/object04.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Width of border around the object. +The value of attribute border of the object element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-82818419 +*/ +function object04() { + var success; + if(checkInitialization(builder, "object04") != null) return; + var nodeList; + var testNode; + var vborder; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vborder = testNode.border; + + assertEquals("borderLink","0",vborder); + +} + + + + +function runTest() { + object04(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/object05.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/object05.js new file mode 100644 index 0000000..50d0a15 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/object05.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Base URI for classid, data, and archive attributes. +The value of attribute codebase of the object element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-25709136 +*/ +function object05() { + var success; + if(checkInitialization(builder, "object05") != null) return; + var nodeList; + var testNode; + var vcodebase; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vcodebase = testNode.codeBase; + + assertEquals("codebaseLink","http://xw2k.sdct.itl.nist.gov/brady/dom/",vcodebase); + +} + + + + +function runTest() { + object05(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/object09.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/object09.js new file mode 100644 index 0000000..9e7275e --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/object09.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Message to render while loading the object. +The value of attribute standby of the object element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-25039673 +*/ +function object09() { + var success; + if(checkInitialization(builder, "object09") != null) return; + var nodeList; + var testNode; + var vstandby; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vstandby = testNode.standby; + + assertEquals("standbyLink","Loading Image ...",vstandby); + +} + + + + +function runTest() { + object09(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/object15.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/object15.js new file mode 100644 index 0000000..805240f --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/object15.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object15"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Content type for data downloaded via classid attribute. +The value of attribute codetype of the object element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-19945008 +*/ +function object15() { + var success; + if(checkInitialization(builder, "object15") != null) return; + var nodeList; + var testNode; + var vcodetype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vcodetype = testNode.codeType; + + assertEquals("codeTypeLink","image/gif",vcodetype); + +} + + + + +function runTest() { + object15(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table02.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table02.js new file mode 100644 index 0000000..b64d882 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table02.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Caption alignment with respect to the table. +The value of attribute align of the tablecaption element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14594520 +*/ +function table02() { + var success; + if(checkInitialization(builder, "table02") != null) return; + var nodeList; + var testNode; + var vcaption; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vcaption = testNode.caption; + + valign = vcaption.align; + + assertEquals("alignLink","top",valign); + +} + + + + +function runTest() { + table02(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table03.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table03.js new file mode 100644 index 0000000..94a91d2 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table03.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Alignment character for cells in a column. +The value of attribute ch of the tablesection element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-9530944 +*/ +function table03() { + var success; + if(checkInitialization(builder, "table03") != null) return; + var nodeList; + var testNode; + var vsection; + var vch; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vsection = testNode.tHead; + + vch = vsection.ch; + + assertEquals("chLink","*",vch); + +} + + + + +function runTest() { + table03(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table04.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table04.js new file mode 100644 index 0000000..b102221 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table04.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Horizontal alignment of data in cells. +The value of attribute align of the tablesection element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-9530944 +*/ +function table04() { + var success; + if(checkInitialization(builder, "table04") != null) return; + var nodeList; + var testNode; + var vsection; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vsection = testNode.tHead; + + valign = vsection.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + table04(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table06.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table06.js new file mode 100644 index 0000000..8b56579 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table06.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Vertical alignment of data in cells. +The value of attribute valign of the tablesection element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097 +*/ +function table06() { + var success; + if(checkInitialization(builder, "table06") != null) return; + var nodeList; + var testNode; + var vsection; + var vvAlign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vsection = testNode.tFoot; + + vvAlign = vsection.vAlign; + + assertEquals("vAlignLink","middle",vvAlign); + +} + + + + +function runTest() { + table06(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table07.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table07.js new file mode 100644 index 0000000..fc052b1 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table07.js @@ -0,0 +1,118 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The collection of rows in this table section. +The value of attribute rows of the tablesection element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097 +*/ +function table07() { + var success; + if(checkInitialization(builder, "table07") != null) return; + var nodeList; + var testNode; + var vsection; + var vcollection; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vsection = testNode.tFoot; + + vcollection = vsection.rows; + + vrows = vcollection.length; + + assertEquals("vrowsLink",1,vrows); + +} + + + + +function runTest() { + table07(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table08.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table08.js new file mode 100644 index 0000000..b8d998c --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table08.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Horizontal alignment of data in cells. +The value of attribute align of the tablesection element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097 +*/ +function table08() { + var success; + if(checkInitialization(builder, "table08") != null) return; + var nodeList; + var testNode; + var vsection; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vsection = testNode.tFoot; + + valign = vsection.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + table08(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table09.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table09.js new file mode 100644 index 0000000..e47dec3 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table09.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Vertical alignment of data in cells. +The value of attribute valign of the table element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-9530944 +*/ +function table09() { + var success; + if(checkInitialization(builder, "table09") != null) return; + var nodeList; + var testNode; + var vsection; + var vvalign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vsection = testNode.tHead; + + vvalign = vsection.vAlign; + + assertEquals("alignLink","middle",vvalign); + +} + + + + +function runTest() { + table09(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table10.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table10.js new file mode 100644 index 0000000..146787d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table10.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Alignment character for cells in a column. +The value of attribute ch of the tablesection element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097 +*/ +function table10() { + var success; + if(checkInitialization(builder, "table10") != null) return; + var nodeList; + var testNode; + var vsection; + var vch; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vsection = testNode.tFoot; + + vch = vsection.ch; + + assertEquals("chLink","+",vch); + +} + + + + +function runTest() { + table10(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table12.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table12.js new file mode 100644 index 0000000..cf01790 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table12.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Offset of alignment character. +The value of attribute choff of the tablesection element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097 +*/ +function table12() { + var success; + if(checkInitialization(builder, "table12") != null) return; + var nodeList; + var testNode; + var vsection; + var vchoff; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vsection = testNode.tHead; + + vchoff = vsection.chOff; + + assertEquals("choffLink","1",vchoff); + +} + + + + +function runTest() { + table12(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table15.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table15.js new file mode 100644 index 0000000..909bb10 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table15.js @@ -0,0 +1,118 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table15"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The collection of rows in this table section. +The value of attribute rows of the tablesection element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097 +*/ +function table15() { + var success; + if(checkInitialization(builder, "table15") != null) return; + var nodeList; + var testNode; + var vsection; + var vcollection; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vsection = testNode.tHead; + + vcollection = vsection.rows; + + vrows = vcollection.length; + + assertEquals("vrowsLink",1,vrows); + +} + + + + +function runTest() { + table15(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table17.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table17.js new file mode 100644 index 0000000..c362aa6 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table17.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table17"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Offset of alignment character. +The value of attribute chOff of the tablesection element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097 +*/ +function table17() { + var success; + if(checkInitialization(builder, "table17") != null) return; + var nodeList; + var testNode; + var vsection; + var vchoff; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vsection = testNode.tFoot; + + vchoff = vsection.chOff; + + assertEquals("choffLink","2",vchoff); + +} + + + + +function runTest() { + table17(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table18.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table18.js new file mode 100644 index 0000000..6312b86 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table18.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table18"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The index of this cell in the row. +The value of attribute cellIndex of the tablecell element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-80748363 +*/ +function table18() { + var success; + if(checkInitialization(builder, "table18") != null) return; + var nodeList; + var testNode; + var vcindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vcindex = testNode.cellIndex; + + assertEquals("cellIndexLink",1,vcindex); + +} + + + + +function runTest() { + table18(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table19.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table19.js new file mode 100644 index 0000000..b340f60 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table19.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table19"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Abbreviation for header cells. +The index of this cell in the row. +The value of attribute abbr of the tablecell element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-74444037 +*/ +function table19() { + var success; + if(checkInitialization(builder, "table19") != null) return; + var nodeList; + var testNode; + var vabbr; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vabbr = testNode.abbr; + + assertEquals("abbrLink","hd2",vabbr); + +} + + + + +function runTest() { + table19(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table20.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table20.js new file mode 100644 index 0000000..15d0f9a --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table20.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table20"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Names group of related headers. +The value of attribute axis of the tablecell element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76554418 +*/ +function table20() { + var success; + if(checkInitialization(builder, "table20") != null) return; + var nodeList; + var testNode; + var vaxis; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vaxis = testNode.axis; + + assertEquals("axisLink","center",vaxis); + +} + + + + +function runTest() { + table20(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table21.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table21.js new file mode 100644 index 0000000..26b7227 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table21.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table21"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Horizontal alignment of data in cell. +The value of attribute align of the tablecell element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98433879 +*/ +function table21() { + var success; + if(checkInitialization(builder, "table21") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + table21(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table22.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table22.js new file mode 100644 index 0000000..686ca1f --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table22.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table22"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Cell background color. +The value of attribute bgColor of the tablecell element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88135431 +*/ +function table22() { + var success; + if(checkInitialization(builder, "table22") != null) return; + var nodeList; + var testNode; + var vbgcolor; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vbgcolor = testNode.bgColor; + + assertEquals("bgcolorLink","#FF0000".toLowerCase(),vbgcolor.toLowerCase()); + +} + + + + +function runTest() { + table22(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table23.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table23.js new file mode 100644 index 0000000..7ba050c --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table23.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table23"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Alignment character for cells in a column. +The value of attribute char of the tablecell element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-30914780 +*/ +function table23() { + var success; + if(checkInitialization(builder, "table23") != null) return; + var nodeList; + var testNode; + var vch; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vch = testNode.ch; + + assertEquals("chLink",":",vch); + +} + + + + +function runTest() { + table23(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table24.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table24.js new file mode 100644 index 0000000..01828ff --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table24.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table24"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +offset of alignment character. +The value of attribute chOff of the tablecell element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-20144310 +*/ +function table24() { + var success; + if(checkInitialization(builder, "table24") != null) return; + var nodeList; + var testNode; + var vchoff; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vchoff = testNode.chOff; + + assertEquals("chOffLink","1",vchoff); + +} + + + + +function runTest() { + table24(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table26.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table26.js new file mode 100644 index 0000000..c5560be --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table26.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table26"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The value of attribute height of the tablecell element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83679212 +*/ +function table26() { + var success; + if(checkInitialization(builder, "table26") != null) return; + var nodeList; + var testNode; + var vheight; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vheight = testNode.height; + + assertEquals("heightLink","50",vheight); + +} + + + + +function runTest() { + table26(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table27.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table27.js new file mode 100644 index 0000000..f2ceb93 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table27.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table27"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Suppress word wrapping. +The value of attribute nowrap of the tablecell element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-62922045 +*/ +function table27() { + var success; + if(checkInitialization(builder, "table27") != null) return; + var nodeList; + var testNode; + var vnowrap; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vnowrap = testNode.noWrap; + + assertTrue("nowrapLink",vnowrap); + +} + + + + +function runTest() { + table27(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table29.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table29.js new file mode 100644 index 0000000..df78641 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table29.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table29"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Scope covered by header cells. +The value of attribute scope of the tablecell element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-36139952 +*/ +function table29() { + var success; + if(checkInitialization(builder, "table29") != null) return; + var nodeList; + var testNode; + var vscope; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vscope = testNode.scope; + + assertEquals("scopeLink","col",vscope); + +} + + + + +function runTest() { + table29(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table30.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table30.js new file mode 100644 index 0000000..542b61c --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table30.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table30"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +List of id attribute values for header cells. +The value of attribute headers of the tablecell element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-89104817 +*/ +function table30() { + var success; + if(checkInitialization(builder, "table30") != null) return; + var nodeList; + var testNode; + var vheaders; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vheaders = testNode.headers; + + assertEquals("headersLink","header-3",vheaders); + +} + + + + +function runTest() { + table30(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table31.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table31.js new file mode 100644 index 0000000..9d83aae --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table31.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table31"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Vertical alignment of data in cell. +The value of attribute valign of the tablecell element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-58284221 +*/ +function table31() { + var success; + if(checkInitialization(builder, "table31") != null) return; + var nodeList; + var testNode; + var vvalign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vvalign = testNode.vAlign; + + assertEquals("vAlignLink","middle",vvalign); + +} + + + + +function runTest() { + table31(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table32.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table32.js new file mode 100644 index 0000000..bfa2719 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table32.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table32"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +cell width. +The value of attribute width of the table element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-27480795 +*/ +function table32() { + var success; + if(checkInitialization(builder, "table32") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vwidth = testNode.width; + + assertEquals("vwidthLink","175",vwidth); + +} + + + + +function runTest() { + table32(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table33.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table33.js new file mode 100644 index 0000000..0813b82 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table33.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table33"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Specifies the table's position with respect to the rest of the document. +The value of attribute align of the table element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-23180977 +*/ +function table33() { + var success; + if(checkInitialization(builder, "table33") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + table33(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table35.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table35.js new file mode 100644 index 0000000..26e1e43 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table35.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table35"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Cell background color. +The value of attribute bgcolor of the table element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83532985 +*/ +function table35() { + var success; + if(checkInitialization(builder, "table35") != null) return; + var nodeList; + var testNode; + var vbgcolor; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vbgcolor = testNode.bgColor; + + assertEquals("bgcolorLink","#ff0000",vbgcolor); + +} + + + + +function runTest() { + table35(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table36.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table36.js new file mode 100644 index 0000000..dd39fa1 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table36.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table36"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Specifies which external table borders to render. +The value of attribute frame of the table element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64808476 +*/ +function table36() { + var success; + if(checkInitialization(builder, "table36") != null) return; + var nodeList; + var testNode; + var vframe; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vframe = testNode.frame; + + assertEquals("frameLink","border",vframe); + +} + + + + +function runTest() { + table36(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table37.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table37.js new file mode 100644 index 0000000..7e23568 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table37.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table37"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Specifies the horizontal and vertical space between cell content and cell borders. The value of attribute cellpadding of the table element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59162158 +*/ +function table37() { + var success; + if(checkInitialization(builder, "table37") != null) return; + var nodeList; + var testNode; + var vcellpadding; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vcellpadding = testNode.cellPadding; + + assertEquals("cellpaddingLink","2",vcellpadding); + +} + + + + +function runTest() { + table37(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table38.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table38.js new file mode 100644 index 0000000..0710edc --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table38.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table38"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Specifies the horizontal and vertical separation between cells. +The value of attribute cellspacing of the table element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-68907883 +*/ +function table38() { + var success; + if(checkInitialization(builder, "table38") != null) return; + var nodeList; + var testNode; + var vcellspacing; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vcellspacing = testNode.cellSpacing; + + assertEquals("cellspacingLink","2",vcellspacing); + +} + + + + +function runTest() { + table38(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table39.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table39.js new file mode 100644 index 0000000..eb4ce79 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table39.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table39"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Supplementary description about the purpose or structure of a table. +The value of attribute summary of the table element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-44998528 +*/ +function table39() { + var success; + if(checkInitialization(builder, "table39") != null) return; + var nodeList; + var testNode; + var vsummary; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vsummary = testNode.summary; + + assertEquals("summaryLink","HTML Control Table",vsummary); + +} + + + + +function runTest() { + table39(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table40.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table40.js new file mode 100644 index 0000000..ab7baa9 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table40.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table40"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Specifies which internal table borders to render. +The value of attribute rules of the table element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-26347553 +*/ +function table40() { + var success; + if(checkInitialization(builder, "table40") != null) return; + var nodeList; + var testNode; + var vrules; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vrules = testNode.rules; + + assertEquals("rulesLink","all",vrules); + +} + + + + +function runTest() { + table40(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table41.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table41.js new file mode 100644 index 0000000..d3f524f --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table41.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table41"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Specifies the desired table width. +The value of attribute width of the table element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-77447361 +*/ +function table41() { + var success; + if(checkInitialization(builder, "table41") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vwidth = testNode.width; + + assertEquals("widthLink","680",vwidth); + +} + + + + +function runTest() { + table41(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table42.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table42.js new file mode 100644 index 0000000..06394b2 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table42.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table42"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Horizontal alignment of data within cells of this row. +The value of attribute align of the tablerow element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-74098257 +*/ +function table42() { + var success; + if(checkInitialization(builder, "table42") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",8,nodeList); +testNode = nodeList.item(1); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + table42(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table43.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table43.js new file mode 100644 index 0000000..2fb11a0 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table43.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table43"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Background color for rows. +The value of attribute bgcolor of the tablerow element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-18161327 +*/ +function table43() { + var success; + if(checkInitialization(builder, "table43") != null) return; + var nodeList; + var testNode; + var vbgcolor; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",8,nodeList); +testNode = nodeList.item(1); + vbgcolor = testNode.bgColor; + + assertEquals("bgcolorLink","#00FFFF".toLowerCase(),vbgcolor.toLowerCase()); + +} + + + + +function runTest() { + table43(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table44.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table44.js new file mode 100644 index 0000000..78c2cdb --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table44.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table44"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Vertical alignment of data within cells of this row. +The value of attribute valign of the tablerow element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-90000058 +*/ +function table44() { + var success; + if(checkInitialization(builder, "table44") != null) return; + var nodeList; + var testNode; + var vvalign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",8,nodeList); +testNode = nodeList.item(1); + vvalign = testNode.vAlign; + + assertEquals("valignLink","middle",vvalign); + +} + + + + +function runTest() { + table44(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table45.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table45.js new file mode 100644 index 0000000..a762d79 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table45.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table45"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Alignment character for cells in a column. +The value of attribute ch of the tablerow element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-16230502 +*/ +function table45() { + var success; + if(checkInitialization(builder, "table45") != null) return; + var nodeList; + var testNode; + var vch; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(1); + vch = testNode.ch; + + assertEquals("vchLink","*",vch); + +} + + + + +function runTest() { + table45(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table46.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table46.js new file mode 100644 index 0000000..76f88ac --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table46.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table46"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Offset of alignment character. +The value of attribute choff of the tablerow element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-68207461 +*/ +function table46() { + var success; + if(checkInitialization(builder, "table46") != null) return; + var nodeList; + var testNode; + var vchoff; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(1); + vchoff = testNode.chOff; + + assertEquals("choffLink","1",vchoff); + +} + + + + +function runTest() { + table46(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table47.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table47.js new file mode 100644 index 0000000..592c778 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table47.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table47"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The index of this row, relative to the entire table. +The value of attribute rowIndex of the table element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-67347567 +*/ +function table47() { + var success; + if(checkInitialization(builder, "table47") != null) return; + var nodeList; + var testNode; + var vrindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(4); + vrindex = testNode.rowIndex; + + assertEquals("rowIndexLink",2,vrindex); + +} + + + + +function runTest() { + table47(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table48.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table48.js new file mode 100644 index 0000000..4ec5b61 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table48.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table48"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Horizontal alignment of cell data in column. +The value of attribute align of the tablecol element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-74098257 +*/ +function table48() { + var success; + if(checkInitialization(builder, "table48") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("col"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + table48(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table49.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table49.js new file mode 100644 index 0000000..e362b47 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table49.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table49"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Alignment character for cells in a column. +The value of attribute ch of the tablecol element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-16230502 +*/ +function table49() { + var success; + if(checkInitialization(builder, "table49") != null) return; + var nodeList; + var testNode; + var vch; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("col"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vch = testNode.ch; + + assertEquals("chLink","*",vch); + +} + + + + +function runTest() { + table49(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table50.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table50.js new file mode 100644 index 0000000..d27f07d --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table50.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table50"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Offset of alignment character. +The value of attribute choff of the tablecol element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-68207461 +*/ +function table50() { + var success; + if(checkInitialization(builder, "table50") != null) return; + var nodeList; + var testNode; + var vchoff; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("col"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vchoff = testNode.chOff; + + assertEquals("chOffLink","20",vchoff); + +} + + + + +function runTest() { + table50(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table52.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table52.js new file mode 100644 index 0000000..6b9b274 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table52.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table52"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Vertical alignment of cell data in column. +The value of attribute valign of the tablecol element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83291710 +*/ +function table52() { + var success; + if(checkInitialization(builder, "table52") != null) return; + var nodeList; + var testNode; + var vvalign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("col"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vvalign = testNode.vAlign; + + assertEquals("vAlignLink","middle",vvalign); + +} + + + + +function runTest() { + table52(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table53.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table53.js new file mode 100644 index 0000000..1a42944 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table53.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table53"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Default column width. +The value of attribute width of the tablecol element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-25196799 +*/ +function table53() { + var success; + if(checkInitialization(builder, "table53") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("col"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vwidth = testNode.width; + + assertEquals("widthLink","20",vwidth); + +} + + + + +function runTest() { + table53(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/table01.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/table01.js new file mode 100644 index 0000000..b561015 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/table01.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table1"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Returns the table's CAPTION, or void if none exists. +The value of attribute caption of the table element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14594520 +*/ +function table01() { + var success; + if(checkInitialization(builder, "table01") != null) return; + var nodeList; + var testNode; + var vcaption; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table1"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcaption = testNode.caption; + + assertNull("captionLink",vcaption); + +} + + + + +function runTest() { + table01(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/table25.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/table25.js new file mode 100644 index 0000000..504eb18 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/table25.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table25"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Number of columns spanned by cell. +The value of attribute colspan of the tablecell element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-84645244 +*/ +function table25() { + var success; + if(checkInitialization(builder, "table25") != null) return; + var nodeList; + var testNode; + var vcolspan; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vcolspan = testNode.colSpan; + + assertEquals("colSpanLink",1,vcolspan); + +} + + + + +function runTest() { + table25(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/table28.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/table28.js new file mode 100644 index 0000000..b3ceab8 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/table28.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table28"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Number of rows spanned by cell. +The value of attribute rowspan of the tablecell element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-48237625 +*/ +function table28() { + var success; + if(checkInitialization(builder, "table28") != null) return; + var nodeList; + var testNode; + var vrowspan; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vrowspan = testNode.rowSpan; + + assertEquals("rowSpanLink",1,vrowspan); + +} + + + + +function runTest() { + table28(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/table34.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/table34.js new file mode 100644 index 0000000..673fa06 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/table34.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table34"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The width of the border around the table. +The value of attribute border of the table element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-50969400 +*/ +function table34() { + var success; + if(checkInitialization(builder, "table34") != null) return; + var nodeList; + var testNode; + var vborder; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vborder = testNode.border; + + assertEquals("borderLink","4",vborder); + +} + + + + +function runTest() { + table34(); +} diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/table51.js b/QuickTemplate/node_modules/domino/test/w3c/level1/html/table51.js new file mode 100644 index 0000000..b6588b4 --- /dev/null +++ b/QuickTemplate/node_modules/domino/test/w3c/level1/html/table51.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table51"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Indicates the number of columns in a group or affected by a grouping. +The value of attribute span of the tablecol element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96511335 +*/ +function table51() { + var success; + if(checkInitialization(builder, "table51") != null) return; + var nodeList; + var testNode; + var vspan; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("col"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vspan = testNode.span; + + assertEquals("spanLink",1,vspan); + +} + + + + +function runTest() { + table51(); +} diff --git a/QuickTemplate/package.json b/QuickTemplate/package.json new file mode 100644 index 0000000..a336004 --- /dev/null +++ b/QuickTemplate/package.json @@ -0,0 +1,6 @@ +{ + "name": "mustacheTest", + "dependencies": { + "domino": "x.x.x" + } +} diff --git a/QuickTemplate/testKnockoutCompiler.js b/QuickTemplate/testKnockoutCompiler.js index 2d3c763..1570034 100644 --- a/QuickTemplate/testKnockoutCompiler.js +++ b/QuickTemplate/testKnockoutCompiler.js @@ -1,7 +1,10 @@ var c = require('./KnockoutCompiler.js'); -console.log( - JSON.stringify( - c.compile('
    ') - , null, 2) - ); +function test(input) { + console.log(JSON.stringify(c.compile(input), null, 2)); +} + +test('
    ' + + '
    '); + +test('
    Hello world
    '); From 642fa0d78e64cd0e20f6b30d4609ede66e27e6e0 Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Thu, 30 Jan 2014 15:02:50 -0800 Subject: [PATCH 15/72] Fix if predicate handling --- QuickTemplate/KnockoutCompiler.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/QuickTemplate/KnockoutCompiler.js b/QuickTemplate/KnockoutCompiler.js index 1ff085c..9d8ed86 100644 --- a/QuickTemplate/KnockoutCompiler.js +++ b/QuickTemplate/KnockoutCompiler.js @@ -45,13 +45,18 @@ function handleNode(node, cb, options) { } if (bindObj['if'] || bindObj.ifnot) { - var newOptions = { + + var name = bindObj['if'] ? 'if' : 'ifnot'; + newOptions = { innerXML: true, handlers: options.handlers }; tpl = new DOMCompiler().compile(node, newOptions); return { - content: [bindObj['if'] ? 'if' : 'ifnot', {tpl: tpl}] + content: [name, { + tpl: tpl, + data: bindObj[name] + }] }; } } From 64791373443f193200a27abcbf63d772834e30b8 Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Thu, 30 Jan 2014 15:34:14 -0800 Subject: [PATCH 16/72] Use evalExpr everywhere, various fixes, test execution too --- QuickTemplate/KnockoutExpression.js | 4 ++-- QuickTemplate/quicktemplate.js | 30 ++++++++++++++---------- QuickTemplate/testKnockoutCompiler.js | 33 +++++++++++++++++++++++---- 3 files changed, 48 insertions(+), 19 deletions(-) diff --git a/QuickTemplate/KnockoutExpression.js b/QuickTemplate/KnockoutExpression.js index c248835..1e282da 100644 --- a/QuickTemplate/KnockoutExpression.js +++ b/QuickTemplate/KnockoutExpression.js @@ -58,10 +58,10 @@ function parseObjectLiteral(objectLiteralString) { } else if (/^\d+\.?\d*$/.test(values)) { // Number values = Number(values); - } else if (/^'.*'$/.test(values)) { + } else if (/^".*"$/.test(values)) { // Quoted string literal, normalize to double // quote - values = '"' + values.slice(1, -1).replace(/"/g, '\\"') + '"'; + values = "'" + values.slice(1, -1).replace(/'/g, "\\'") + "'"; } if (values) { diff --git a/QuickTemplate/quicktemplate.js b/QuickTemplate/quicktemplate.js index f32f9a5..97eb69c 100644 --- a/QuickTemplate/quicktemplate.js +++ b/QuickTemplate/quicktemplate.js @@ -25,7 +25,12 @@ function QuickTemplate () { } QuickTemplate.prototype.evalExpr = function (expression, scope) { if (/^'.*'$/.test(expression)) { return expression.slice(1,-1); + } else if (scope[expression] !== undefined) { + // Simple case / fast path + return scope[expression]; } else { + // Somewhat dodgy attempt to limit the power of expressions to dot + // notation for now var bits = expression.split('.'), cur = scope; try { @@ -56,13 +61,13 @@ QuickTemplate.prototype.ctlFn_foreach = function(options, scope, cb) { }; QuickTemplate.prototype.ctlFn_if = function(options, scope, cb) { - if (this.evalExpr(options.pred, scope)) { + if (this.evalExpr(options.data, scope)) { this.render(options.tpl, scope, cb); } }; QuickTemplate.prototype.ctlFn_ifnot = function(options, scope, cb) { - if (!this.evalExpr(options.pred, scope)) { + if (!this.evalExpr(options.data, scope)) { this.render(options.tpl, scope, cb); } }; @@ -70,7 +75,7 @@ QuickTemplate.prototype.ctlFn_ifnot = function(options, scope, cb) { QuickTemplate.prototype.ctlFn_attr = function(options, scope, cb) { var self = this; Object.keys(options).forEach(function(name) { - var attVal = scope[options[name]]; //self.evalExpr(options[name], scope); + var attVal = self.evalExpr(options[name], scope); if (attVal !== null) { cb(' ' + name + '="' + attVal.toString().replace(/"/g, '"') @@ -79,9 +84,10 @@ QuickTemplate.prototype.ctlFn_attr = function(options, scope, cb) { }); }; -QuickTemplate.prototype.ctlFn_text = function(options, scope, cb) { - cb(scope[options]); -}; +// Actually handled inline for performance +//QuickTemplate.prototype.ctlFn_text = function(options, scope, cb) { +// cb(this.evalExpr(options, scope)); +//}; QuickTemplate.prototype.render = function(template, scope, cb) { @@ -104,12 +110,12 @@ QuickTemplate.prototype.render = function(template, scope, cb) { // control structure var fnName = bit[0]; if (fnName === 'text') { - cb(scope[bit[1]]); + cb(this.evalExpr(bit[1], scope)); } else if ( fnName === 'attr' ) { var keys = Object.keys(bit[1]); for (var j = 0; j < keys.length; j++) { var name = keys[j], - attVal = scope[bit[1][name]]; //self.evalExpr(options[name], scope); + attVal = self.evalExpr(options[name], scope); if (attVal !== null) { cb(' ' + name + '="' + attVal.toString().replace(/"/g, '"') @@ -135,7 +141,7 @@ QuickTemplate.prototype.render = function(template, scope, cb) { QuickTemplate.prototype.assemble = function(template, cb) { var code = []; - code.push('var attVal;'); + code.push('var attVal, evalExpr = this.evalExpr;'); if (!cb) { code.push('var res = "", cb = function(bit) { res += bit; };'); } @@ -152,13 +158,13 @@ QuickTemplate.prototype.assemble = function(template, cb) { // control structure var fnName = bit[0]; if (fnName === 'text') { - code.push('cb(scope[' + JSON.stringify(bit[1]) + ']);'); + code.push('cb(evalExpr(' + JSON.stringify(bit[1]) + ', scope));'); } else if ( fnName === 'attr' ) { var names = Object.keys(bit[1]); for(var j = 0; j < names.length; j++) { var name = names[j]; - code.push('attVal = scope[' - + JSON.stringify(bit[1][name]) + '];'); //self.evalExpr(options[name], scope); + code.push('attVal = evalExpr(' + JSON.stringify(bit[1][name]) + + ', scope);'); code.push("if (attVal !== null) { " + "cb(" + JSON.stringify(' ' + name + '="') + " + (''+attVal).replace(/\"/g, '"') " diff --git a/QuickTemplate/testKnockoutCompiler.js b/QuickTemplate/testKnockoutCompiler.js index 1570034..cf0d40d 100644 --- a/QuickTemplate/testKnockoutCompiler.js +++ b/QuickTemplate/testKnockoutCompiler.js @@ -1,10 +1,33 @@ -var c = require('./KnockoutCompiler.js'); +var c = require('./KnockoutCompiler.js'), + qt = require('./quicktemplate.js'); function test(input) { - console.log(JSON.stringify(c.compile(input), null, 2)); + var json = c.compile(input), + tpl = qt.compile(json); + console.log(JSON.stringify(json, null, 2)); + console.log(tpl({ + items: [ + { + key: 'key1', + value: 'value1' + }, + { + key: 'key2', + value: 'value2' + } + ], + name: 'Some name', + content: 'Some sample content', + id: 'mw1234', + predTrue: true, + predTrue: false + })); } -test('
    ' - + '
    '); +test('
    ' + + '
    '); -test('
    Hello world
    '); +test('
    Hello world
    '); +test('
    Hello world
    '); +// constant +test('
    Hello world
    '); From 66d6e02fbdf7ef192ef2aa902ff339ccfb5509d6 Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Thu, 30 Jan 2014 15:40:03 -0800 Subject: [PATCH 17/72] Fix test data --- QuickTemplate/testKnockoutCompiler.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/QuickTemplate/testKnockoutCompiler.js b/QuickTemplate/testKnockoutCompiler.js index cf0d40d..2576a4b 100644 --- a/QuickTemplate/testKnockoutCompiler.js +++ b/QuickTemplate/testKnockoutCompiler.js @@ -20,7 +20,7 @@ function test(input) { content: 'Some sample content', id: 'mw1234', predTrue: true, - predTrue: false + predFalse: false })); } From 932fd37ce1904231a1ab426ed9a04a73eff76927 Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Thu, 30 Jan 2014 15:44:27 -0800 Subject: [PATCH 18/72] Strip data-bind and prettier test output --- QuickTemplate/KnockoutCompiler.js | 2 ++ QuickTemplate/testKnockoutCompiler.js | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/QuickTemplate/KnockoutCompiler.js b/QuickTemplate/KnockoutCompiler.js index 9d8ed86..713f9b3 100644 --- a/QuickTemplate/KnockoutCompiler.js +++ b/QuickTemplate/KnockoutCompiler.js @@ -11,6 +11,8 @@ function handleNode(node, cb, options) { // let processing continue return false; } + // XXX: keep this for client-side re-execution? + node.removeAttribute('data-bind'); var bindObj = KnockoutExpression.parseObjectLiteral(dataBind), tpl, ret = {}; diff --git a/QuickTemplate/testKnockoutCompiler.js b/QuickTemplate/testKnockoutCompiler.js index 2576a4b..be43bd4 100644 --- a/QuickTemplate/testKnockoutCompiler.js +++ b/QuickTemplate/testKnockoutCompiler.js @@ -4,7 +4,12 @@ var c = require('./KnockoutCompiler.js'), function test(input) { var json = c.compile(input), tpl = qt.compile(json); + console.log('========================='); + console.log('Knockout template:'); + console.log(input); + console.log('QT JSON:'); console.log(JSON.stringify(json, null, 2)); + console.log('Rendered HTML:'); console.log(tpl({ items: [ { From 9505691ab395f32e81cf80942ec04ea477003dae Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Thu, 30 Jan 2014 16:01:09 -0800 Subject: [PATCH 19/72] Minor testKnockoutCompiler formatting / comments --- QuickTemplate/testKnockoutCompiler.js | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/QuickTemplate/testKnockoutCompiler.js b/QuickTemplate/testKnockoutCompiler.js index be43bd4..97ec3f2 100644 --- a/QuickTemplate/testKnockoutCompiler.js +++ b/QuickTemplate/testKnockoutCompiler.js @@ -2,15 +2,13 @@ var c = require('./KnockoutCompiler.js'), qt = require('./quicktemplate.js'); function test(input) { + // compile the knockout template to QT JSON var json = c.compile(input), + // now compile the QT JSON to a JS method + // could also interpret it with qt.render(json, testData); tpl = qt.compile(json); - console.log('========================='); - console.log('Knockout template:'); - console.log(input); - console.log('QT JSON:'); - console.log(JSON.stringify(json, null, 2)); - console.log('Rendered HTML:'); - console.log(tpl({ + + var testData = { items: [ { key: 'key1', @@ -26,7 +24,15 @@ function test(input) { id: 'mw1234', predTrue: true, predFalse: false - })); + }; + + console.log('========================='); + console.log('Knockout template:'); + console.log(input); + console.log('QT JSON:'); + console.log(JSON.stringify(json, null, 2)); + console.log('Rendered HTML:'); + console.log(tpl(testData)); } test('
    ' From b3f8b7cfcd54fab6abccb9a290833496c7d12aba Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Thu, 30 Jan 2014 17:12:30 -0800 Subject: [PATCH 20/72] Speed up expression eval by handling common case inline * directly dereference static ids from scope without function call, but fall back to the full method for complex expressions * add jshintrc --- QuickTemplate/.jshintrc | 33 ++++++++++++++ QuickTemplate/KnockoutExpression.js | 2 +- QuickTemplate/quicktemplate.js | 66 +++++++++++++++++---------- QuickTemplate/testKnockoutCompiler.js | 10 +++- 4 files changed, 85 insertions(+), 26 deletions(-) create mode 100644 QuickTemplate/.jshintrc diff --git a/QuickTemplate/.jshintrc b/QuickTemplate/.jshintrc new file mode 100644 index 0000000..e1ed177 --- /dev/null +++ b/QuickTemplate/.jshintrc @@ -0,0 +1,33 @@ +{ + "predef": [ + "ve", + + "setImmediate", + + "QUnit" + ], + + "bitwise": true, + "laxbreak": true, + "curly": true, + "eqeqeq": true, + "immed": true, + "latedef": true, + "newcap": true, + "noarg": true, + "noempty": true, + "nonew": true, + "regexp": false, + "undef": true, + "strict": true, + "trailing": true, + + "smarttabs": true, + "multistr": true, + + "node": true, + + "nomen": false, + "loopfunc": true + //"onevar": true +} diff --git a/QuickTemplate/KnockoutExpression.js b/QuickTemplate/KnockoutExpression.js index 1e282da..3c9d925 100644 --- a/QuickTemplate/KnockoutExpression.js +++ b/QuickTemplate/KnockoutExpression.js @@ -55,7 +55,7 @@ function parseObjectLiteral(objectLiteralString) { if (/^{.*}$/.test(values)) { // parse object literals recursively values = parseObjectLiteral(values); - } else if (/^\d+\.?\d*$/.test(values)) { + } else if (/^\d+[.]?\d*$/.test(values)) { // Number values = Number(values); } else if (/^".*"$/.test(values)) { diff --git a/QuickTemplate/quicktemplate.js b/QuickTemplate/quicktemplate.js index 97eb69c..4b25cd9 100644 --- a/QuickTemplate/quicktemplate.js +++ b/QuickTemplate/quicktemplate.js @@ -23,32 +23,51 @@ function QuickTemplate () { } QuickTemplate.prototype.evalExpr = function (expression, scope) { - if (/^'.*'$/.test(expression)) { - return expression.slice(1,-1); - } else if (scope[expression] !== undefined) { - // Simple case / fast path + // Simple case / fast path + if (/^[a-zA-Z_]+$/.test(expression)) { return scope[expression]; - } else { - // Somewhat dodgy attempt to limit the power of expressions to dot - // notation for now - var bits = expression.split('.'), - cur = scope; - try { - for (var i = 0; i < bits.length; i++) { - var bit = bits[i]; - if (bit === '__proto__' || bit === 'constructor') { - throw('illegal member ' + bit_); - } - cur = cur[bit]; + } + + // String literal + if (/^'.*'$/.test(expression)) { + return expression.slice(1,-1).replace(/\\'/g, "'"); + } + + + // Somewhat dodgy attempt to limit the power of expressions to dot + // notation for now + var bits = (''+expression).split('.'), + cur = scope; + try { + for (var i = 0; i < bits.length; i++) { + var bit = bits[i]; + if (bit === '__proto__' || bit === 'constructor') { + throw('illegal member ' + bit_); } - return cur; - } catch (e) { - console.error(e); - return ''; + cur = cur[bit]; } + return cur; + } catch (e) { + console.error(e); + return ''; } }; +/* + * Optimized evalExpr stub for the code generator + * + * Directly dereference the scope for simple expressions (the common case), + * and fall back to the full method otherwise. + */ +function evalExprStub(expr) { + if (/^[a-zA-Z_]+$/.test(expr)) { + // fast case + return 'scope[' + JSON.stringify(expr) + ']'; + } else { + return 'evalExpr(' + JSON.stringify(expr) + ', scope)'; + } +} + QuickTemplate.prototype.ctlFn_foreach = function(options, scope, cb) { // deal with options var iterable = this.evalExpr(options.data, scope), @@ -139,6 +158,7 @@ QuickTemplate.prototype.render = function(template, scope, cb) { } }; + QuickTemplate.prototype.assemble = function(template, cb) { var code = []; code.push('var attVal, evalExpr = this.evalExpr;'); @@ -157,14 +177,14 @@ QuickTemplate.prototype.assemble = function(template, cb) { } else if (c === Array) { // control structure var fnName = bit[0]; + if (fnName === 'text') { - code.push('cb(evalExpr(' + JSON.stringify(bit[1]) + ', scope));'); + code.push('cb(' + evalExprStub(bit[1]) + ');'); } else if ( fnName === 'attr' ) { var names = Object.keys(bit[1]); for(var j = 0; j < names.length; j++) { var name = names[j]; - code.push('attVal = evalExpr(' + JSON.stringify(bit[1][name]) - + ', scope);'); + code.push('attVal = ' + evalExprStub(bit[1][name]) + ';'); code.push("if (attVal !== null) { " + "cb(" + JSON.stringify(' ' + name + '="') + " + (''+attVal).replace(/\"/g, '"') " diff --git a/QuickTemplate/testKnockoutCompiler.js b/QuickTemplate/testKnockoutCompiler.js index 97ec3f2..190f34d 100644 --- a/QuickTemplate/testKnockoutCompiler.js +++ b/QuickTemplate/testKnockoutCompiler.js @@ -40,5 +40,11 @@ test('
    ' test('
    Hello world
    '); test('
    Hello world
    '); -// constant -test('
    Hello world
    '); +// constant string +test('
    Hello world
    '); + +// constant number +test('
    Hello world
    '); + +// arithmetic expression +test('
    Hello world
    '); From e2b9a2cc1b103a75f04ca976f0b31035475239cd Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Thu, 30 Jan 2014 17:18:39 -0800 Subject: [PATCH 21/72] Fix jshint warnings in Knockout expression parser --- QuickTemplate/KnockoutExpression.js | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/QuickTemplate/KnockoutExpression.js b/QuickTemplate/KnockoutExpression.js index 3c9d925..d5776ce 100644 --- a/QuickTemplate/KnockoutExpression.js +++ b/QuickTemplate/KnockoutExpression.js @@ -1,6 +1,7 @@ /* * Based on knockout/src/binding/expressionRewriting.js */ +"use strict"; // The following regular expressions will be used to split an object-literal string into tokens @@ -10,7 +11,7 @@ var stringDouble = '"(?:[^"\\\\]|\\\\.)*"', stringSingle = "'(?:[^'\\\\]|\\\\.)*'", // Matches a regular expression (text enclosed by slashes), but will also match sets of divisions // as a regular expression (this is handled by the parsing loop below). - stringRegexp = '/(?:[^/\\\\]|\\\\.)*/\w*', + stringRegexp = '/(?:[^/\\\\]|\\\\.)*/w*', // These characters have special meaning to the parser and must not appear in the middle of a // token, except as part of a string. specials = ',"\'{}()/:[\\]', @@ -24,7 +25,7 @@ var stringDouble = '"(?:[^"\\\\]|\\\\.)*"', oneNotSpace = '[^\\s]', // Create the actual regular expression by or-ing the above strings. The order is important. - bindingToken = RegExp(stringDouble + '|' + stringSingle + '|' + stringRegexp + '|' + everyThingElse + '|' + oneNotSpace, 'g'), + bindingToken = new RegExp(stringDouble + '|' + stringSingle + '|' + stringRegexp + '|' + everyThingElse + '|' + oneNotSpace, 'g'), // Match end of previous token to determine whether a slash is a division or regex. divisionLookBehind = /[\])"'A-Za-z0-9_$]+$/, @@ -35,7 +36,9 @@ function parseObjectLiteral(objectLiteralString) { var str = objectLiteralString.trim(); // Trim braces '{' surrounding the whole object literal - if (str.charCodeAt(0) === 123) str = str.slice(1, -1); + if (str.charCodeAt(0) === 123) { + str = str.slice(1, -1); + } // Split into tokens var result = {}, toks = str.match(bindingToken), key, values, depth = 0; @@ -67,7 +70,7 @@ function parseObjectLiteral(objectLiteralString) { if (values) { result[key] = values; } else { - result['unknown'] = key; + result.unknown = key; } } key = values = depth = 0; @@ -75,8 +78,9 @@ function parseObjectLiteral(objectLiteralString) { } // Simply skip the colon that separates the name and value } else if (c === 58) { // ":" - if (!values) + if (!values) { continue; + } // A set of slashes is initially matched as a regular expression, but could be division } else if (c === 47 && i && tok.length > 1) { // "/" // Look at the end of the previous token to determine if the slash is actually division @@ -100,10 +104,11 @@ function parseObjectLiteral(objectLiteralString) { key = (c === 34 || c === 39) /* '"', "'" */ ? tok.slice(1, -1) : tok; continue; } - if (values) + if (values) { values += tok; - else + } else { values = tok; + } } } return result; From 825c71910db8ba49520eee9342e18fd29daa5012 Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Thu, 30 Jan 2014 18:31:31 -0800 Subject: [PATCH 22/72] Clean up HTML escaping --- QuickTemplate/quicktemplate.js | 84 +++++++++++++++++++-------- QuickTemplate/testKnockoutCompiler.js | 2 +- 2 files changed, 60 insertions(+), 26 deletions(-) diff --git a/QuickTemplate/quicktemplate.js b/QuickTemplate/quicktemplate.js index 4b25cd9..11b98ac 100644 --- a/QuickTemplate/quicktemplate.js +++ b/QuickTemplate/quicktemplate.js @@ -18,6 +18,7 @@ * ['foreach',{data:'m_items',tpl:['',['text','val'],'
    ']}], * '
    '] */ +"use strict"; function QuickTemplate () { } @@ -33,24 +34,21 @@ QuickTemplate.prototype.evalExpr = function (expression, scope) { return expression.slice(1,-1).replace(/\\'/g, "'"); } - - // Somewhat dodgy attempt to limit the power of expressions to dot - // notation for now - var bits = (''+expression).split('.'), - cur = scope; - try { - for (var i = 0; i < bits.length; i++) { - var bit = bits[i]; - if (bit === '__proto__' || bit === 'constructor') { - throw('illegal member ' + bit_); - } - cur = cur[bit]; + // Dot notation + if (/^[a-zA-Z_]+(?:[.][a-zA-Z_])+$/.test(expression)) { + try { + return new Function('scope', 'return scope.' + expression)(scope); + } catch (e) { + return ''; } - return cur; - } catch (e) { - console.error(e); - return ''; } + + // Don't want to allow full JS expressions for PHP compat & general + // sanity. We could do the heavy sanitization work in the compiler & just + // eval simple JS-compatible expressions here (possibly using 'with', + // although that is deprecated & disabled in strict mode). For now we play + // it safe & don't eval the expression. + return expression; }; /* @@ -97,6 +95,8 @@ QuickTemplate.prototype.ctlFn_attr = function(options, scope, cb) { var attVal = self.evalExpr(options[name], scope); if (attVal !== null) { cb(' ' + name + '="' + // TODO: context-sensitive sanitization on href / src / style + // (also in compiled version at end) + attVal.toString().replace(/"/g, '"') + '"'); } @@ -129,15 +129,17 @@ QuickTemplate.prototype.render = function(template, scope, cb) { // control structure var fnName = bit[0]; if (fnName === 'text') { - cb(this.evalExpr(bit[1], scope)); + cb( ('' + this.evalExpr(bit[1], scope)) // convert to string + .replace(/[<&]/g, this._xmlEncoder)); // and escape } else if ( fnName === 'attr' ) { - var keys = Object.keys(bit[1]); + var keys = Object.keys(bit[1]), + options = bit[1]; for (var j = 0; j < keys.length; j++) { var name = keys[j], attVal = self.evalExpr(options[name], scope); if (attVal !== null) { cb(' ' + name + '="' - + attVal.toString().replace(/"/g, '"') + + (''+attVal).replace(/[<&"]/g, this._xmlEncoder) + '"'); } } @@ -158,10 +160,35 @@ QuickTemplate.prototype.render = function(template, scope, cb) { } }; +QuickTemplate.prototype._xmlEncoder = function(c){ + switch(c) { + case '<': return '<'; + case '>': return '>'; + case '&': return '&'; + case '"': return '"'; + default: return '&#' + c.charCodeAt() + ';'; + } +}; + +var badChars = /[&<>"'`]/g; +var possible = /[&<>"'`]/; +QuickTemplate.prototype.escHTML = function () { + if (!string && string !== 0) { + return ""; + } + + // Force a string conversion as this will be done by the append regardless and + // the regex test will do this transparently behind the scenes, causing issues if + // an object's to string has escaped characters in it. + string = "" + string; + + if(!possible.test(string)) { return string; } + return string.replace(badChars, this._xmlEncoder); +} QuickTemplate.prototype.assemble = function(template, cb) { var code = []; - code.push('var attVal, evalExpr = this.evalExpr;'); + code.push('var val, evalExpr = this.evalExpr, xmlEncoder = this._xmlEncoder;'); if (!cb) { code.push('var res = "", cb = function(bit) { res += bit; };'); } @@ -179,15 +206,21 @@ QuickTemplate.prototype.assemble = function(template, cb) { var fnName = bit[0]; if (fnName === 'text') { - code.push('cb(' + evalExprStub(bit[1]) + ');'); + code.push('val = "" + ' + evalExprStub(bit[1]) + ';'); + code.push('if(!/[<&]/.test(val)) { cb(val); }'); + code.push('else { cb(val.replace(/[<&]/g,xmlEncoder)); };'); } else if ( fnName === 'attr' ) { var names = Object.keys(bit[1]); for(var j = 0; j < names.length; j++) { var name = names[j]; - code.push('attVal = ' + evalExprStub(bit[1][name]) + ';'); - code.push("if (attVal !== null) { " - + "cb(" + JSON.stringify(' ' + name + '="') - + " + (''+attVal).replace(/\"/g, '"') " + code.push('val = "" + ' + evalExprStub(bit[1][name]) + ';'); + code.push("if (val !== null) { " + // escape the attribute value + // TODO: hook up context-sensitive sanitization for href, + // src, style + + 'if(/[<&"]/.test(val)) { val = val.replace(/[<&"]/g, xmlEncoder); }' + + "cb(" + JSON.stringify(name + '="') + + " + val " + "+ '\"');}"); } } else { @@ -212,6 +245,7 @@ QuickTemplate.prototype.assemble = function(template, cb) { }; QuickTemplate.prototype.compile = function(template, cb) { + // TODO: really cache compilation of sub-templates if (template.__tpl) { return template.__tpl; } diff --git a/QuickTemplate/testKnockoutCompiler.js b/QuickTemplate/testKnockoutCompiler.js index 190f34d..a0a815c 100644 --- a/QuickTemplate/testKnockoutCompiler.js +++ b/QuickTemplate/testKnockoutCompiler.js @@ -47,4 +47,4 @@ test('
    Hello worl test('
    Hello world
    '); // arithmetic expression -test('
    Hello world
    '); +test('
    Hello world
    '); From 08bd8d621786eb63474ef5fc83754a8905b7c315 Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Thu, 30 Jan 2014 18:55:16 -0800 Subject: [PATCH 23/72] Small performance improvements * cache compiled sub-blocks by storing their options in a global cache keyed on uid; this means that we only compile each block once * remove some local var aliases for prototype members; these turn out not to be beneficial. --- QuickTemplate/quicktemplate.js | 36 ++++++++++++++++++++++++---------- 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/QuickTemplate/quicktemplate.js b/QuickTemplate/quicktemplate.js index 11b98ac..86b3be9 100644 --- a/QuickTemplate/quicktemplate.js +++ b/QuickTemplate/quicktemplate.js @@ -21,7 +21,17 @@ "use strict"; -function QuickTemplate () { } +function QuickTemplate () { + this.uid = 0; + // Cache for sub-structure parameters. Storing them globally keyed on uid + // makes it possible to reuse compilations. + this.cache = {}; +} + +QuickTemplate.prototype.getUID = function() { + this.uid++; + return this.uid; +} QuickTemplate.prototype.evalExpr = function (expression, scope) { // Simple case / fast path @@ -62,7 +72,7 @@ function evalExprStub(expr) { // fast case return 'scope[' + JSON.stringify(expr) + ']'; } else { - return 'evalExpr(' + JSON.stringify(expr) + ', scope)'; + return 'this.evalExpr(' + JSON.stringify(expr) + ', scope)'; } } @@ -188,7 +198,7 @@ QuickTemplate.prototype.escHTML = function () { QuickTemplate.prototype.assemble = function(template, cb) { var code = []; - code.push('var val, evalExpr = this.evalExpr, xmlEncoder = this._xmlEncoder;'); + code.push('var val;'); if (!cb) { code.push('var res = "", cb = function(bit) { res += bit; };'); } @@ -208,7 +218,7 @@ QuickTemplate.prototype.assemble = function(template, cb) { if (fnName === 'text') { code.push('val = "" + ' + evalExprStub(bit[1]) + ';'); code.push('if(!/[<&]/.test(val)) { cb(val); }'); - code.push('else { cb(val.replace(/[<&]/g,xmlEncoder)); };'); + code.push('else { cb(val.replace(/[<&]/g,this._xmlEncoder)); };'); } else if ( fnName === 'attr' ) { var names = Object.keys(bit[1]); for(var j = 0; j < names.length; j++) { @@ -218,17 +228,21 @@ QuickTemplate.prototype.assemble = function(template, cb) { // escape the attribute value // TODO: hook up context-sensitive sanitization for href, // src, style - + 'if(/[<&"]/.test(val)) { val = val.replace(/[<&"]/g, xmlEncoder); }' + + 'if(/[<&"]/.test(val)) { val = val.replace(/[<&"]/g,this._xmlEncoder); }' + "cb(" + JSON.stringify(name + '="') + " + val " + "+ '\"');}"); } } else { + // store the args in the cache + var uid = this.getUID(); + this.cache[uid] = bit[1]; // Generic control function call code.push('try {'); // call the method code.push('this[' + JSON.stringify('ctlFn_' + bit[0]) - + '](' + JSON.stringify(bit[1]) + ', scope, cb);'); + // store in cache / unique key rather than here + + '](this.cache["' + uid + '"], scope, cb);'); code.push('} catch(e) {'); code.push("console.error('Unsupported control function:', " + JSON.stringify(bit[0]) + ", e.stack);"); @@ -245,19 +259,21 @@ QuickTemplate.prototype.assemble = function(template, cb) { }; QuickTemplate.prototype.compile = function(template, cb) { + var self = this; // TODO: really cache compilation of sub-templates if (template.__tpl) { - return template.__tpl; + return function(scope) { + return template.__tpl.call(self, scope, cb); + } } - var self = this, - code = this.assemble(template, cb); + var code = this.assemble(template, cb); //console.log(code); var fun = new Function('scope', 'cb', code); + template.__tpl = fun; // bind this and cb var res = function (scope) { return fun.call(self, scope, cb); }; - template.__tpl = res; return res; }; From 2f5cbc4203d8c9f7d22fea992656030c41c81853 Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Thu, 30 Jan 2014 18:58:53 -0800 Subject: [PATCH 24/72] Fix bug in attribute serialization --- QuickTemplate/quicktemplate.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/QuickTemplate/quicktemplate.js b/QuickTemplate/quicktemplate.js index 86b3be9..1aeb063 100644 --- a/QuickTemplate/quicktemplate.js +++ b/QuickTemplate/quicktemplate.js @@ -229,7 +229,7 @@ QuickTemplate.prototype.assemble = function(template, cb) { // TODO: hook up context-sensitive sanitization for href, // src, style + 'if(/[<&"]/.test(val)) { val = val.replace(/[<&"]/g,this._xmlEncoder); }' - + "cb(" + JSON.stringify(name + '="') + + "cb(" + JSON.stringify(' ' + name + '="') + " + val " + "+ '\"');}"); } From 98cfa905818fa1fb4b59a54ee0dea945040dc4ff Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Thu, 30 Jan 2014 19:11:33 -0800 Subject: [PATCH 25/72] Comments and minor cleanup --- QuickTemplate/quicktemplate.js | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/QuickTemplate/quicktemplate.js b/QuickTemplate/quicktemplate.js index 1aeb063..57783b5 100644 --- a/QuickTemplate/quicktemplate.js +++ b/QuickTemplate/quicktemplate.js @@ -31,7 +31,7 @@ function QuickTemplate () { QuickTemplate.prototype.getUID = function() { this.uid++; return this.uid; -} +}; QuickTemplate.prototype.evalExpr = function (expression, scope) { // Simple case / fast path @@ -180,9 +180,13 @@ QuickTemplate.prototype._xmlEncoder = function(c){ } }; +// Alternative escaping machinery from handlebars var badChars = /[&<>"'`]/g; var possible = /[&<>"'`]/; -QuickTemplate.prototype.escHTML = function () { +QuickTemplate.prototype.escHTML = function (string) { + //if (string instanceof SafeString) { + // return string; + //} if (!string && string !== 0) { return ""; } @@ -194,7 +198,7 @@ QuickTemplate.prototype.escHTML = function () { if(!possible.test(string)) { return string; } return string.replace(badChars, this._xmlEncoder); -} +}; QuickTemplate.prototype.assemble = function(template, cb) { var code = []; @@ -215,6 +219,7 @@ QuickTemplate.prototype.assemble = function(template, cb) { // control structure var fnName = bit[0]; + // Inline text and attr handlers for speed if (fnName === 'text') { code.push('val = "" + ' + evalExprStub(bit[1]) + ';'); code.push('if(!/[<&]/.test(val)) { cb(val); }'); @@ -234,10 +239,14 @@ QuickTemplate.prototype.assemble = function(template, cb) { + "+ '\"');}"); } } else { - // store the args in the cache + // Generic control function call + + // Store the args in the cache to a) keep the compiled code + // small, and b) share compilations of sub-blocks between + // repeated calls var uid = this.getUID(); this.cache[uid] = bit[1]; - // Generic control function call + code.push('try {'); // call the method code.push('this[' + JSON.stringify('ctlFn_' + bit[0]) @@ -260,19 +269,19 @@ QuickTemplate.prototype.assemble = function(template, cb) { QuickTemplate.prototype.compile = function(template, cb) { var self = this; - // TODO: really cache compilation of sub-templates - if (template.__tpl) { + if (template.__cachedFn) { + // return function(scope) { - return template.__tpl.call(self, scope, cb); - } + return template.__cached.call(self, scope, cb); + }; } var code = this.assemble(template, cb); //console.log(code); - var fun = new Function('scope', 'cb', code); - template.__tpl = fun; + var fn = new Function('scope', 'cb', code); + template.__cachedFn = fn; // bind this and cb var res = function (scope) { - return fun.call(self, scope, cb); + return fn.call(self, scope, cb); }; return res; }; From ecb0ad9c728f66e0be4d7cf43f28e9d3f58ef257 Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Thu, 30 Jan 2014 19:25:44 -0800 Subject: [PATCH 26/72] Bugfix & cleanup in DOMCompiler When a string was passed in, always include all children of body. Add test case. --- QuickTemplate/DOMCompiler.js | 8 +++-- QuickTemplate/KnockoutCompiler.js | 44 +++++++++++++++------------ QuickTemplate/testKnockoutCompiler.js | 2 ++ 3 files changed, 31 insertions(+), 23 deletions(-) diff --git a/QuickTemplate/DOMCompiler.js b/QuickTemplate/DOMCompiler.js index f7d652d..6b96d23 100644 --- a/QuickTemplate/DOMCompiler.js +++ b/QuickTemplate/DOMCompiler.js @@ -79,6 +79,7 @@ function serializeToString(node, options, cb){ ret; child = node.firstChild; if (handler) { + // Call the handler for elements ret = handler(node, cb, options); } var len = attrs.length; @@ -152,12 +153,13 @@ function serializeToString(node, options, cb){ function DOMCompiler(){} DOMCompiler.prototype.compile = function(node, options){ - // options contains handlers for certain attributes + // Options contain handlers for elements // { - // attr: { - // data-bind: handleDataBind + // handlers: { + // element: handleNode // } // } + // var res = [], buf = '', diff --git a/QuickTemplate/KnockoutCompiler.js b/QuickTemplate/KnockoutCompiler.js index 713f9b3..0e9ee30 100644 --- a/QuickTemplate/KnockoutCompiler.js +++ b/QuickTemplate/KnockoutCompiler.js @@ -1,6 +1,8 @@ /** * Compile Knockout templates to quicktemplate JSON */ +"use strict"; + var DOMCompiler = require('./DOMCompiler.js'), KnockoutExpression = require('./KnockoutExpression.js'), domino = require('domino'); @@ -9,7 +11,7 @@ function handleNode(node, cb, options) { var dataBind = node.getAttribute('data-bind'); if (!dataBind) { // let processing continue - return false; + return {}; } // XXX: keep this for client-side re-execution? node.removeAttribute('data-bind'); @@ -33,11 +35,7 @@ function handleNode(node, cb, options) { } if (bindObj.foreach) { - var newOptions = { - innerXML: true, - handlers: options.handlers - }; - tpl = new DOMCompiler().compile(node, newOptions); + tpl = new DOMCompiler().compile(node, options); var foreachOptions = { data: bindObj.foreach, tpl: tpl @@ -49,11 +47,7 @@ function handleNode(node, cb, options) { if (bindObj['if'] || bindObj.ifnot) { var name = bindObj['if'] ? 'if' : 'ifnot'; - newOptions = { - innerXML: true, - handlers: options.handlers - }; - tpl = new DOMCompiler().compile(node, newOptions); + tpl = new DOMCompiler().compile(node, options); return { content: [name, { tpl: tpl, @@ -63,19 +57,29 @@ function handleNode(node, cb, options) { } } -function compile (node) { - if (node.constructor === String) { - node = domino.createDocument(node).body.firstChild; - } +/** + * Compile a Knockout template to QuickTemplate JSON + * + * Accepts either a template string or a DOM node. + */ +function compile (nodeOrString) { var options = { - handlers: { - 'element': handleNode - } - }; + handlers: { + 'element': handleNode + } + }, + node = nodeOrString; + + // Build a DOM if string was passed in + if (nodeOrString.constructor === String) { + node = domino.createDocument(nodeOrString).body; + // Include all children, but not itself + options.innerXML = true; + } return new DOMCompiler().compile(node, options); } module.exports = { compile: compile -} +}; diff --git a/QuickTemplate/testKnockoutCompiler.js b/QuickTemplate/testKnockoutCompiler.js index a0a815c..6d92522 100644 --- a/QuickTemplate/testKnockoutCompiler.js +++ b/QuickTemplate/testKnockoutCompiler.js @@ -48,3 +48,5 @@ test('
    Hello world
    '); // arithmetic expression test('
    Hello world
    '); + +test('hello worldfoo
    ipsum
    ') From 7b694f0eaf4f80cad45dcc49fcef74a041c8cbe2 Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Thu, 30 Jan 2014 19:25:44 -0800 Subject: [PATCH 27/72] Bugfix & cleanup in DOMCompiler When a string was passed in, always include all children of body. Add test case. --- QuickTemplate/quicktemplate.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/QuickTemplate/quicktemplate.js b/QuickTemplate/quicktemplate.js index 57783b5..6491bb6 100644 --- a/QuickTemplate/quicktemplate.js +++ b/QuickTemplate/quicktemplate.js @@ -272,7 +272,7 @@ QuickTemplate.prototype.compile = function(template, cb) { if (template.__cachedFn) { // return function(scope) { - return template.__cached.call(self, scope, cb); + return template.__cachedFn.call(self, scope, cb); }; } var code = this.assemble(template, cb); From 02adf66b8fff56d194754e604c9ae1ac91ae1a06 Mon Sep 17 00:00:00 2001 From: "C. Scott Ananian" Date: Thu, 30 Jan 2014 13:36:21 -0500 Subject: [PATCH 28/72] Use callbacks to accumulate output in htmljs. This avoids lots of extra string creation; we accumulate all the output in a single place from the beginning. --- handlebars-htmljs-node/htmljs/tohtml.js | 167 ++++++++++++++---------- 1 file changed, 97 insertions(+), 70 deletions(-) diff --git a/handlebars-htmljs-node/htmljs/tohtml.js b/handlebars-htmljs-node/htmljs/tohtml.js index ccf4ee6..0b975ca 100644 --- a/handlebars-htmljs-node/htmljs/tohtml.js +++ b/handlebars-htmljs-node/htmljs/tohtml.js @@ -1,89 +1,98 @@ HTML.toHTML = function (node, parentComponent) { + var res = '', cb = function(bit) { res += bit; }; + HTML._toHTML(node, parentComponent, cb); + return res; +}; +HTML._toHTML = function(node, parentComponent, cb) { if (node == null) { // null or undefined - return ''; + return cb(''); } else if ((typeof node === 'string') || (typeof node === 'boolean') || (typeof node === 'number')) { // string; escape special chars - return HTML.escapeData(String(node)); + return cb(HTML.escapeData(String(node))); } else if (node instanceof Array) { // array - var parts = []; for (var i = 0; i < node.length; i++) - parts.push(HTML.toHTML(node[i], parentComponent)); - return parts.join(''); + HTML._toHTML(node[i], parentComponent, cb); + return; } else if (typeof node.instantiate === 'function') { // component var instance = node.instantiate(parentComponent || null); var content = instance.render('STATIC'); // recurse with a new value for parentComponent - return HTML.toHTML(content, instance); + return HTML._toHTML(content, instance, cb); } else if (typeof node === 'function') { - return HTML.toHTML(node(), parentComponent); - } else if (node.toHTML) { + return HTML._toHTML(node(), parentComponent, cb); + } else if (node._toHTML) { // Tag or something else - return node.toHTML(parentComponent); + return node._toHTML(parentComponent, cb); + } else if (node.toHTML) { + // Compatibility + return cb(node.toHTML(parentComponent)); } else { throw new Error("Expected tag, string, array, component, null, undefined, or " + "object with a toHTML method; found: " + node); } }; -HTML.Comment.prototype.toHTML = function () { - return ''; +// backwards compatibility +HTML.Comment.prototype.toHTML = +HTML.CharRef.prototype.toHTML = +HTML.Raw.prototype.toHTML = +HTML.Tag.prototype.toHTML = function(parentComponent) { + var res = '', cb = function(bit) { res += bit; }; + this._toHTML(parentComponent, cb); + return res; +}; + +HTML.Comment.prototype._toHTML = function (_, cb) { + cb(''); }; -HTML.CharRef.prototype.toHTML = function () { - return this.html; +HTML.CharRef.prototype._toHTML = function (_, cb) { + return cb(this.html); }; -HTML.Raw.prototype.toHTML = function () { - return this.value; +HTML.Raw.prototype._toHTML = function (_, cb) { + return cb(this.value); }; -HTML.Tag.prototype.toHTML = function (parentComponent) { - var attrStrs = []; +HTML.Tag.prototype._toHTML = function (parentComponent, cb) { + var tagName = this.tagName; + cb('<'); + cb(HTML.properCaseTagName(tagName)); + var attrs = this.evaluateAttributes(parentComponent); if (attrs) { for (var k in attrs) { + var v = attrs[k]; k = HTML.properCaseAttributeName(k); - var v = HTML.toText(attrs[k], HTML.TEXTMODE.ATTRIBUTE, parentComponent); - attrStrs.push(' ' + k + '="' + v + '"'); + cb(' '); cb(k); cb('="'); + HTML._toText(v, HTML.TEXTMODE.ATTRIBUTE, parentComponent, cb); + cb('"'); } } + cb('>'); - var tagName = this.tagName; - var startTag = '<' + HTML.properCaseTagName(tagName) + attrStrs.join('') + '>'; - - var childStrs = []; - var content; if (tagName === 'TEXTAREA') { + // TEXTAREA absorbs the first newline + cb('\n'); for (var i = 0; i < this.children.length; i++) - childStrs.push(HTML.toText(this.children[i], HTML.TEXTMODE.RCDATA, parentComponent)); - - content = childStrs.join(''); - if (content.slice(0, 1) === '\n') - // TEXTAREA will absorb a newline, so if we see one, add - // another one. - content = '\n' + content; - + HTML._toText(this.children[i], HTML.TEXTMODE.RCDATA, parentComponent, cb); } else { for (var i = 0; i < this.children.length; i++) - childStrs.push(HTML.toHTML(this.children[i], parentComponent)); - - content = childStrs.join(''); + HTML._toHTML(this.children[i], parentComponent, cb); } - var result = startTag + content; - if (this.children.length || ! HTML.isVoidElement(tagName)) { // "Void" elements like BR are the only ones that don't get a close // tag in HTML5. They shouldn't have contents, either, so we could // throw an error upon seeing contents here. - result += ''; + cb(''); } - - return result; }; HTML.TEXTMODE = { @@ -93,38 +102,46 @@ HTML.TEXTMODE = { }; HTML.toText = function (node, textMode, parentComponent) { + var res = '', cb = function(bit) { res += bit; }; + HTML._toText(node, textMode, parentComponent, cb); + return res; +}; + +HTML._toText = function (node, textMode, parentComponent, cb) { if (node == null) { // null or undefined - return ''; + return cb(''); } else if ((typeof node === 'string') || (typeof node === 'boolean') || (typeof node === 'number')) { node = String(node); // string if (textMode === HTML.TEXTMODE.STRING) { - return node; + return cb(node); } else if (textMode === HTML.TEXTMODE.RCDATA) { - return HTML.escapeData(node); + return cb(HTML.escapeData(node)); } else if (textMode === HTML.TEXTMODE.ATTRIBUTE) { // escape `&` and `"` this time, not `&` and `<` - return node.replace(/&/g, '&').replace(/"/g, '"'); + return cb(node.replace(/&/g, '&').replace(/"/g, '"')); } else { throw new Error("Unknown TEXTMODE: " + textMode); } } else if (node instanceof Array) { // array - var parts = []; for (var i = 0; i < node.length; i++) - parts.push(HTML.toText(node[i], textMode, parentComponent)); - return parts.join(''); + HTML._toText(node[i], textMode, parentComponent, cb); + return; } else if (typeof node === 'function') { - return HTML.toText(node(), textMode, parentComponent); + return HTML._toText(node(), textMode, parentComponent, cb); } else if (typeof node.instantiate === 'function') { // component var instance = node.instantiate(parentComponent || null); var content = instance.render('STATIC'); - return HTML.toText(content, textMode, instance); - } else if (node.toText) { + return HTML._toText(content, textMode, instance, cb); + } else if (node._toText) { // Something else - return node.toText(textMode, parentComponent); + return node._toText(textMode, parentComponent, cb); + } else if (node.toText) { + // Compatibility + return cb(node.toText(textMode, parentComponent)); } else { throw new Error("Expected tag, string, array, component, null, undefined, or " + "object with a toText method; found: " + node); @@ -132,26 +149,37 @@ HTML.toText = function (node, textMode, parentComponent) { }; -HTML.Raw.prototype.toText = function () { - return this.value; +// backwards compatibility +HTML.CharRef.prototype.toText = +HTML.Raw.prototype.toText = +HTML.Tag.prototype.toText = function(textMode, parentComponent) { + var res = '', cb = function(bit) { res += bit; }; + this._toText(textMode, parentComponent, cb); + return res; +}; + +HTML.Raw.prototype._toText = function (textMode, parentComponent, cb) { + return cb(this.value); }; // used when including templates within {{#markdown}} -HTML.Tag.prototype.toText = function (textMode, parentComponent) { +HTML.Tag.prototype._toText = function (textMode, parentComponent, cb) { if (textMode === HTML.TEXTMODE.STRING) // stringify the tag as HTML, then convert to text - return HTML.toText(this.toHTML(parentComponent), textMode); + return HTML._toText( + this.toHTML(parentComponent), textMode, parentComponent, cb + ); else throw new Error("Can't insert tags in attributes or TEXTAREA elements"); }; -HTML.CharRef.prototype.toText = function (textMode) { +HTML.CharRef.prototype._toText = function (textMode, parentComponent, cb) { if (textMode === HTML.TEXTMODE.STRING) - return this.str; + return cb(this.str); else if (textMode === HTML.TEXTMODE.RCDATA) - return this.html; + return cb(this.html); else if (textMode === HTML.TEXTMODE.ATTRIBUTE) - return this.html; + return cb(this.html); else throw new Error("Unknown TEXTMODE: " + textMode); }; @@ -162,35 +190,34 @@ HTML.CharRef.prototype.toText = function (textMode) { tagName = tagName.toUpperCase(); var source1 = [ "var k,v,i;", - "var s = '<" + HTML.properCaseTagName(tagName) + "';", + "cb('<" + HTML.properCaseTagName(tagName) + "');", "var attrs = this.evaluateAttributes(parentComponent);", "if (attrs) {", " for (k in attrs) {", + " var v = attrs[k];", " k = HTML.properCaseAttributeName(k);", - " v = HTML.toText(attrs[k], "+HTML.TEXTMODE.ATTRIBUTE+", parentComponent);", - " s += ' ' + k + '=\"' + v + '\"';", + " cb(' '); cb(k); cb('=\"');", + " HTML._toText(v, "+HTML.TEXTMODE.ATTRIBUTE+", parentComponent, cb);", + " cb('\"');", " }", "}", - "s += '>';" + "cb('>');" ].join('\n'); var source2 = [ "for (i = 0; i < this.children.length; i++) {", - " s += HTML.toHTML(this.children[i], parentComponent);", + " HTML._toHTML(this.children[i], parentComponent, cb);", "}", - "s += '';" + "cb('');" ].join('\n'); - var source3 = - "return s;" var source = source1; if (!HTML.isVoidElement(tagName)) { source += '\n' + source2; } - source += '\n' + source3; - var fun = new Function('parentComponent', source); + var fun = new Function('parentComponent', 'cb', source); if (tagName !== 'TEXTAREA') { - HTML[tagName].prototype.toHTML = fun; + HTML[tagName].prototype._toHTML = fun; } }; From 491d717980e16b0fbaf4f6b1b6d351943bc86c65 Mon Sep 17 00:00:00 2001 From: "C. Scott Ananian" Date: Fri, 31 Jan 2014 17:58:43 -0500 Subject: [PATCH 29/72] Import packages for Spacebars compiler from meteor and nodify them. --- handlebars-htmljs-node/html-tools/README.md | 148 + handlebars-htmljs-node/html-tools/charref.js | 2414 +++++++++++++++++ .../html-tools/charref_tests.js | 114 + handlebars-htmljs-node/html-tools/exports.js | 20 + handlebars-htmljs-node/html-tools/index.js | 17 + handlebars-htmljs-node/html-tools/package.js | 27 + handlebars-htmljs-node/html-tools/parse.js | 341 +++ .../html-tools/parse_tests.js | 353 +++ handlebars-htmljs-node/html-tools/scanner.js | 82 + handlebars-htmljs-node/html-tools/tokenize.js | 532 ++++ .../html-tools/tokenize_tests.js | 344 +++ handlebars-htmljs-node/miniu/index.js | 73 + .../spacebars-compiler/README.md | 140 + .../spacebars-compiler/compile_tests.js | 277 ++ .../spacebars-compiler/index.js | 25 + .../spacebars-compiler/package.js | 29 + .../spacebars-compiler/spacebars-compiler.js | 470 ++++ .../spacebars-compiler/spacebars_tests.js | 236 ++ .../spacebars-compiler/syntax.md | 108 + .../spacebars-compiler/templatetag.js | 438 +++ .../spacebars-compiler/tojs.js | 104 + .../spacebars-compiler/token_tests.js | 66 + .../spacebars-compiler/tokens.js | 183 ++ handlebars-htmljs-node/spacebars/index.js | 24 + handlebars-htmljs-node/spacebars/package.js | 19 + .../spacebars/spacebars-runtime.js | 239 ++ handlebars-htmljs-node/ui/index.js | 333 +++ 27 files changed, 7156 insertions(+) create mode 100644 handlebars-htmljs-node/html-tools/README.md create mode 100644 handlebars-htmljs-node/html-tools/charref.js create mode 100644 handlebars-htmljs-node/html-tools/charref_tests.js create mode 100644 handlebars-htmljs-node/html-tools/exports.js create mode 100644 handlebars-htmljs-node/html-tools/index.js create mode 100644 handlebars-htmljs-node/html-tools/package.js create mode 100644 handlebars-htmljs-node/html-tools/parse.js create mode 100644 handlebars-htmljs-node/html-tools/parse_tests.js create mode 100644 handlebars-htmljs-node/html-tools/scanner.js create mode 100644 handlebars-htmljs-node/html-tools/tokenize.js create mode 100644 handlebars-htmljs-node/html-tools/tokenize_tests.js create mode 100644 handlebars-htmljs-node/miniu/index.js create mode 100644 handlebars-htmljs-node/spacebars-compiler/README.md create mode 100644 handlebars-htmljs-node/spacebars-compiler/compile_tests.js create mode 100644 handlebars-htmljs-node/spacebars-compiler/index.js create mode 100644 handlebars-htmljs-node/spacebars-compiler/package.js create mode 100644 handlebars-htmljs-node/spacebars-compiler/spacebars-compiler.js create mode 100644 handlebars-htmljs-node/spacebars-compiler/spacebars_tests.js create mode 100644 handlebars-htmljs-node/spacebars-compiler/syntax.md create mode 100644 handlebars-htmljs-node/spacebars-compiler/templatetag.js create mode 100644 handlebars-htmljs-node/spacebars-compiler/tojs.js create mode 100644 handlebars-htmljs-node/spacebars-compiler/token_tests.js create mode 100644 handlebars-htmljs-node/spacebars-compiler/tokens.js create mode 100644 handlebars-htmljs-node/spacebars/index.js create mode 100644 handlebars-htmljs-node/spacebars/package.js create mode 100644 handlebars-htmljs-node/spacebars/spacebars-runtime.js create mode 100644 handlebars-htmljs-node/ui/index.js diff --git a/handlebars-htmljs-node/html-tools/README.md b/handlebars-htmljs-node/html-tools/README.md new file mode 100644 index 0000000..ce0f4e6 --- /dev/null +++ b/handlebars-htmljs-node/html-tools/README.md @@ -0,0 +1,148 @@ +# html-tools + +A lightweight HTML tokenizer and parser which outputs to the HTMLjs +object representation. Special hooks allow the syntax to be extended +to parse an HTML-like template language like Spacebars. + +``` +HTML.parseFragment("
    Hello
    World
    ") + +=> HTML.DIV({'class':'greeting'}, "Hello", HTML.BR(), "World")) +``` + +This package is used by the Spacebars compiler, which normally only +runs at bundle time but can also be used at runtime on the client or +server. + +## Invoking the Parser + +`HTML.parseFragment(input, options)` - Takes an input string or Scanner object and returns HTMLjs. + +In the basic case, where no options are passed, `parseFragment` will consume the entire input (the full string or the rest of the Scanner). + +The options are as follows: + +#### getSpecialTag + +This option extends the HTML parser to parse template tags such as `{{foo}}`. + +`getSpecialTag: function (scanner, templateTagPosition) { ... }` - A function for the parser to call after every HTML token and at various positions within tags. If the function returns a non-null value, that value is wrapped in an `HTML.Special` node which is inserted into the HTMLjs tree at the appropriate location. The function is expected to advance the scanner if it succeeds at parsing a template tag (see the section on `HTML.Scanner`). + +There are four possible outcomes when `getSpecialTag` is called: + +* Not a template tag - Leave the scanner as is, and return `null`. A quick peek at the next character should bail to this case if the start of a template tag is not seen. +* Bad template tag - Call `scanner.fatal`, which aborts parsing completely. Once the beginning of a template tag is seen, `getSpecialTag` will generally want to commit, and either succeed or fail trying). +* Good template tag - Advance the scanner to the end of the template tag and return an object. +* Comment tag - Advance the scanner and return `null`. For example, a Spacebars comment is `{{! foo}}`. + +The `templateTagPosition` argument to `getSpecialTag` is one of: + +* `HTML.TEMPLATE_TAG_POSITION.ELEMENT` - At "element level," meaning somewhere an HTML tag could be. +* `HTML.TEMPLATE_TAG_POSITION.IN_START_TAG` - Inside a start tag, as in `
    `, where you might otherwise find `name=value`. +* `HTML.TEMPLATE_TAG_POSITION.IN_ATTRIBUTE` - Inside the value of an HTML attribute, as in `
    `. +* `HTML.TEMPLATE_TAG_POSITION.IN_RCDATA` - Inside a TEXTAREA or a block helper inside an attribute, where character references are allowed ("replaced character data") but not tags. +* `HTML.TEMPLATE_TAG_POSITION.IN_RAWTEXT` - In a context where character references are not parsed, such as a script tag, style tag, or markdown helper. + +It's completely normal for `getSpecialTag` to invoke `HTML.parseFragment` recursively on the same scanner (see `shouldStop`). If it does so, the same value of `getSpecialTag` must be passed to the second invocation. + +At the moment, template tags must begin with `{`. The parser does not try calling `getSpecialTag` for every character of an HTML document, only at token boundaries, and it knows to always end a token at `{`. + +**XXX Better error message for `
    `.** + +**XXX Do something with ``** + +**XXX Why both IN_ATTRIBUTE and IN_RCDATA?** + +**XXX Fix Markdown** + +#### textMode + +The `textMode` option, if present, causes the parser to parse text (such as the contents of a `', TEXTAREA("asdf")); + succeed('', TEXTAREA({x: "y"}, "asdf")); + succeed('', TEXTAREA("

    ")); + succeed('', + TEXTAREA("a", CharRef({html: '&', str: '&'}), "b")); + succeed('', TEXTAREA("\n', TEXTAREA()); + succeed('', TEXTAREA("asdf")); + succeed('', TEXTAREA("\nasdf")); + succeed('', TEXTAREA("\n")); + succeed('', TEXTAREA("asdf\n")); + succeed('', TEXTAREA("")); + succeed('', TEXTAREA("asdf")); + fatal(''); + succeed('', TEXTAREA("&")); + succeed('asdf', + [TEXTAREA("', BR({x:''})); + succeed('', BR({x:''})); + succeed('
    ', BR({x:'y'})); + succeed('
    ', BR({x:'y'})); + succeed('
    ', BR({x:'y'})); + succeed('
    ', BR({x:'y'})); + succeed('
    ', BR({x:'y'})); + succeed('
    ', BR({x:'y'})); + succeed('', Comment('\n')); + succeed('', Comment('\n')); + succeed('', TEXTAREA('a\nb\nc')); + succeed('', TEXTAREA('a\nb\nc')); + succeed('
    ', BR({x:'\n\n'})); + succeed('
    ', BR({x:'\n\n'})); + succeed('
    ', BR({x:'y'})); + fatal('
    '); +}); + +Tinytest.add("html-tools - parseFragment", function (test) { + test.equal(HTML.toJS(HTML.parseFragment("

    Hello

    ")), + HTML.toJS(DIV(P({id:'foo'}, 'Hello')))); + + test.throws(function() { + HTML.parseFragment('asdf'); + }); + + (function () { + var p = HTML.parseFragment('

    '); + test.equal(p.tagName, 'P'); + test.equal(p.attrs, null); + test.isTrue(p instanceof HTML.Tag); + test.equal(p.children.length, 0); + })(); + + (function () { + var p = HTML.parseFragment('

    x

    '); + test.equal(p.tagName, 'P'); + test.equal(p.attrs, null); + test.isTrue(p instanceof HTML.Tag); + test.equal(p.children.length, 1); + test.equal(p.children[0], 'x'); + })(); + + (function () { + var p = HTML.parseFragment('

    xA

    '); + test.equal(p.tagName, 'P'); + test.equal(p.attrs, null); + test.isTrue(p instanceof HTML.Tag); + test.equal(p.children.length, 2); + test.equal(p.children[0], 'x'); + + test.isTrue(p.children[1] instanceof HTML.CharRef); + test.equal(p.children[1].html, 'A'); + test.equal(p.children[1].str, 'A'); + })(); + + (function () { + var pp = HTML.parseFragment('

    x

    y

    '); + test.isTrue(pp instanceof Array); + test.equal(pp.length, 2); + + test.equal(pp[0].tagName, 'P'); + test.equal(pp[0].attrs, null); + test.isTrue(pp[0] instanceof HTML.Tag); + test.equal(pp[0].children.length, 1); + test.equal(pp[0].children[0], 'x'); + + test.equal(pp[1].tagName, 'P'); + test.equal(pp[1].attrs, null); + test.isTrue(pp[1] instanceof HTML.Tag); + test.equal(pp[1].children.length, 1); + test.equal(pp[1].children[0], 'y'); + })(); + + var scanner = new Scanner('asdf'); + scanner.pos = 1; + test.equal(HTML.parseFragment(scanner), 'sdf'); + + test.throws(function () { + var scanner = new Scanner('asdf

    '); + scanner.pos = 1; + HTML.parseFragment(scanner); + }); +}); + +Tinytest.add("html-tools - getSpecialTag", function (test) { + + // match a simple tag consisting of `{{`, an optional `!`, one + // or more ASCII letters or spaces, and a closing `}}`. + var mustache = /^\{\{(!?[a-zA-Z 0-9]+)\}\}/; + + // This implementation of `getSpecialTag` looks for "{{" and if it + // finds it, it will match the regex above or fail fatally trying. + // The object it returns is opaque to the tokenizer/parser and can + // be anything we want. + var getSpecialTag = function (scanner, position) { + if (! (scanner.peek() === '{' && // one-char peek is just an optimization + scanner.rest().slice(0, 2) === '{{')) + return null; + + var match = mustache.exec(scanner.rest()); + if (! match) + scanner.fatal("Bad mustache"); + + scanner.pos += match[0].length; + + if (match[1].charAt(0) === '!') + return null; // `{{!foo}}` is like a comment + + return { stuff: match[1] }; + }; + + + + var succeed = function (input, expected) { + var endPos = input.indexOf('^^^'); + if (endPos < 0) + endPos = input.length; + + var scanner = new Scanner(input.replace('^^^', '')); + scanner.getSpecialTag = getSpecialTag; + var result; + try { + result = getContent(scanner); + } catch (e) { + result = String(e); + } + test.equal(scanner.pos, endPos); + test.equal(HTML.toJS(result), HTML.toJS(expected)); + }; + + var fatal = function (input, messageContains) { + var scanner = new Scanner(input); + scanner.getSpecialTag = getSpecialTag; + var error; + try { + getContent(scanner); + } catch (e) { + error = e; + } + test.isTrue(error); + if (messageContains) + test.isTrue(messageContains && error.message.indexOf(messageContains) >= 0, error.message); + }; + + + succeed('{{foo}}', Special({stuff: 'foo'})); + + succeed('{{foo}}', + A({href: "http://www.apple.com/"}, Special({stuff: 'foo'}))); + + // tags not parsed in comments + succeed('', Comment("{{foo}}")); + succeed('', Comment("{{foo")); + + succeed('&am{{foo}}p;', ['&am', Special({stuff: 'foo'}), 'p;']); + + // can't start a mustache and not finish it + fatal('{{foo'); + fatal('{{'); + + // no mustache allowed in tag name + fatal('<{{a}}>'); + fatal('<{{a}}b>'); + fatal(''); + + // single curly brace is no biggie + succeed('a{b', 'a{b'); + succeed('
    ', BR({x:'{'})); + succeed('
    ', BR({x:'{foo}'})); + + succeed('
    ', BR({$specials: [Special({stuff: 'x'})]})); + succeed('
    ', BR({$specials: [Special({stuff: 'x'}), + Special({stuff: 'y'})]})); + succeed('
    ', BR({$specials: [Special({stuff: 'x'})], y:''})); + fatal('
    '); + fatal('
    '); + succeed('
    ', BR({x: Special({stuff: 'y'}), z: ''})); + succeed('
    ', BR({x: ['y', Special({stuff: 'z'}), 'w']})); + succeed('
    ', BR({x: ['y', Special({stuff: 'z'}), 'w']})); + succeed('
    ', BR({x: ['y ', Special({stuff: 'z'}), + Special({stuff: 'w'}), ' v']})); + // Slash is parsed as part of unquoted attribute! This is consistent with + // the HTML tokenization spec. It seems odd for some inputs but is probably + // for cases like `` or ``. + succeed('
    ', BR({x: [Special({stuff: 'y'}), '/']})); + succeed('
    ', BR({x: [Special({stuff: 'z'}), + Special({stuff: 'w'})]})); + fatal('
    '); + + succeed('
    ', BR({x:CharRef({html: '&', str: '&'})})); + + + // check tokenization of stache tags with spaces + succeed('
    ', BR({$specials: [Special({stuff: 'x 1'})]})); + succeed('
    ', BR({$specials: [Special({stuff: 'x 1'}), + Special({stuff: 'y 2'})]})); + succeed('
    ', BR({$specials: [Special({stuff: 'x 1'})], y:''})); + fatal('
    '); + fatal('
    '); + succeed('
    ', BR({x: Special({stuff: 'y 2'}), z: ''})); + succeed('
    ', BR({x: ['y', Special({stuff: 'z 3'}), 'w']})); + succeed('
    ', BR({x: ['y', Special({stuff: 'z 3'}), 'w']})); + succeed('
    ', BR({x: ['y ', Special({stuff: 'z 3'}), + Special({stuff: 'w 4'}), ' v']})); + succeed('
    ', BR({x: [Special({stuff: 'y 2'}), '/']})); + succeed('
    ', BR({x: [Special({stuff: 'z 3'}), + Special({stuff: 'w 4'})]})); + + succeed('

    ', P()); + + succeed('x{{foo}}{{bar}}y', ['x', Special({stuff: 'foo'}), + Special({stuff: 'bar'}), 'y']); + succeed('x{{!foo}}{{!bar}}y', 'xy'); + succeed('x{{!foo}}{{bar}}y', ['x', Special({stuff: 'bar'}), 'y']); + succeed('x{{foo}}{{!bar}}y', ['x', Special({stuff: 'foo'}), 'y']); + + succeed('', null); + succeed('{{!foo}}', null); +}); diff --git a/handlebars-htmljs-node/html-tools/scanner.js b/handlebars-htmljs-node/html-tools/scanner.js new file mode 100644 index 0000000..f8b7203 --- /dev/null +++ b/handlebars-htmljs-node/html-tools/scanner.js @@ -0,0 +1,82 @@ +// This is a Scanner class suitable for any parser/lexer/tokenizer. +// +// A Scanner has an immutable source document (string) `input` and a current +// position `pos`, an index into the string, which can be set at will. +// +// * `new Scanner(input)` - constructs a Scanner with source string `input` +// * `scanner.rest()` - returns the rest of the input after `pos` +// * `scanner.peek()` - returns the character at `pos` +// * `scanner.isEOF()` - true if `pos` is at or beyond the end of `input` +// * `scanner.fatal(msg)` - throw an error indicating a problem at `pos` + +Scanner = function (input) { + this.input = input; // public, read-only + this.pos = 0; // public, read-write +}; + +Scanner.prototype.rest = function () { + // Slicing a string is O(1) in modern JavaScript VMs (including old IE). + return this.input.slice(this.pos); +}; + +Scanner.prototype.isEOF = function () { + return this.pos >= this.input.length; +}; + +Scanner.prototype.fatal = function (msg) { + // despite this default, you should always provide a message! + msg = (msg || "Parse error"); + + var CONTEXT_AMOUNT = 20; + + var input = this.input; + var pos = this.pos; + var pastInput = input.substring(pos - CONTEXT_AMOUNT - 1, pos); + if (pastInput.length > CONTEXT_AMOUNT) + pastInput = '...' + pastInput.substring(-CONTEXT_AMOUNT); + + var upcomingInput = input.substring(pos, pos + CONTEXT_AMOUNT + 1); + if (upcomingInput.length > CONTEXT_AMOUNT) + upcomingInput = upcomingInput.substring(0, CONTEXT_AMOUNT) + '...'; + + var positionDisplay = ((pastInput + upcomingInput).replace(/\n/g, ' ') + '\n' + + (new Array(pastInput.length + 1).join(' ')) + "^"); + + var e = new Error(msg + "\n" + positionDisplay); + + e.offset = pos; + var allPastInput = input.substring(0, pos); + e.line = (1 + (allPastInput.match(/\n/g) || []).length); + e.col = (1 + pos - allPastInput.lastIndexOf('\n')); + e.scanner = this; + + throw e; +}; + +// Peek at the next character. +// +// If `isEOF`, returns an empty string. +Scanner.prototype.peek = function () { + return this.input.charAt(this.pos); +}; + +// Constructs a `getFoo` function where `foo` is specified with a regex. +// The regex should start with `^`. The constructed function will return +// match group 1, if it exists and matches a non-empty string, or else +// the entire matched string (or null if there is no match). +// +// A `getFoo` function tries to match and consume a foo. If it succeeds, +// the current position of the scanner is advanced. If it fails, the +// current position is not advanced and a falsy value (typically null) +// is returned. +makeRegexMatcher = function (regex) { + return function (scanner) { + var match = regex.exec(scanner.rest()); + + if (! match) + return null; + + scanner.pos += match[0].length; + return match[1] || match[0]; + }; +}; diff --git a/handlebars-htmljs-node/html-tools/tokenize.js b/handlebars-htmljs-node/html-tools/tokenize.js new file mode 100644 index 0000000..4fb0930 --- /dev/null +++ b/handlebars-htmljs-node/html-tools/tokenize.js @@ -0,0 +1,532 @@ +// Token types: +// +// { t: 'Doctype', +// v: String (entire Doctype declaration from the source), +// name: String, +// systemId: String (optional), +// publicId: String (optional) +// } +// +// { t: 'Comment', +// v: String (not including "") +// } +// +// { t: 'Chars', +// v: String (pure text like you might pass to document.createTextNode, +// no character references) +// } +// +// { t: 'Tag', +// isEnd: Boolean (optional), +// isSelfClosing: Boolean (optional), +// n: String (tag name, ASCII-lowercased), +// attrs: { String: [zero or more 'Chars' or 'CharRef' objects] } +// (only for start tags; required) +// } +// +// { t: 'CharRef', +// v: String (entire character reference from the source, e.g. "&"), +// cp: [Integer] (array of Unicode code point numbers it expands to) +// } +// +// We keep around both the original form of the character reference and its +// expansion so that subsequent processing steps have the option to +// re-emit it (if they are generating HTML) or interpret it. Named and +// numerical code points may be more than 16 bits, in which case they +// need to passed through codePointToString to make a JavaScript string. +// Most named entities and all numeric character references are one codepoint +// (e.g. "&" is [38]), but a few are two codepoints. +// +// { t: 'Special', +// v: { ... anything ... } +// } + +// The HTML tokenization spec says to preprocess the input stream to replace +// CR(LF)? with LF. However, preprocessing `scanner` would complicate things +// by making indexes not match the input (e.g. for error messages), so we just +// keep in mind as we go along that an LF might be represented by CRLF or CR. +// In most cases, it doesn't actually matter what combination of whitespace +// characters are present (e.g. inside tags). +var HTML_SPACE = /^[\f\n\r\t ]/; + +var convertCRLF = function (str) { + return str.replace(/\r\n?/g, '\n'); +}; + +getComment = function (scanner) { + if (scanner.rest().slice(0, 4) !== ''); + if (closePos < 0) + scanner.fatal("Unclosed HTML comment"); + + var commentContents = rest.slice(0, closePos); + if (commentContents.slice(-1) === '-') + scanner.fatal("HTML comment must end at first `--`"); + if (commentContents.indexOf("--") >= 0) + scanner.fatal("HTML comment cannot contain `--` anywhere"); + if (commentContents.indexOf('\u0000') >= 0) + scanner.fatal("HTML comment cannot contain NULL"); + + scanner.pos += closePos + 3; + + return { t: 'Comment', + v: convertCRLF(commentContents) }; +}; + +var skipSpaces = function (scanner) { + while (HTML_SPACE.test(scanner.peek())) + scanner.pos++; +}; + +var requireSpaces = function (scanner) { + if (! HTML_SPACE.test(scanner.peek())) + scanner.fatal("Expected space"); + skipSpaces(scanner); +}; + +var getDoctypeQuotedString = function (scanner) { + var quote = scanner.peek(); + if (! (quote === '"' || quote === "'")) + scanner.fatal("Expected single or double quote in DOCTYPE"); + scanner.pos++; + + if (scanner.peek() === quote) + // prevent a falsy return value (empty string) + scanner.fatal("Malformed DOCTYPE"); + + var str = ''; + var ch; + while ((ch = scanner.peek()), ch !== quote) { + if ((! ch) || (ch === '\u0000') || (ch === '>')) + scanner.fatal("Malformed DOCTYPE"); + str += ch; + scanner.pos++; + } + + scanner.pos++; + + return str; +}; + +// See http://www.whatwg.org/specs/web-apps/current-work/multipage/syntax.html#the-doctype. +// +// If `getDocType` sees "') || (ch === '\u0000')) + scanner.fatal('Malformed DOCTYPE'); + var name = ch; + scanner.pos++; + + while ((ch = scanner.peek()), ! (HTML_SPACE.test(ch) || ch === '>')) { + if ((! ch) || (ch === '\u0000')) + scanner.fatal('Malformed DOCTYPE'); + name += ch; + scanner.pos++; + } + name = HTML.asciiLowerCase(name); + + // Now we're looking at a space or a `>`. + skipSpaces(scanner); + + var systemId = null; + var publicId = null; + + if (scanner.peek() !== '>') { + // Now we're essentially in the "After DOCTYPE name state" of the tokenizer, + // but we're not looking at space or `>`. + + // this should be "public" or "system". + var publicOrSystem = HTML.asciiLowerCase(scanner.rest().slice(0, 6)); + + if (publicOrSystem === 'system') { + scanner.pos += 6; + requireSpaces(scanner); + systemId = getDoctypeQuotedString(scanner); + skipSpaces(scanner); + if (scanner.peek() !== '>') + scanner.fatal("Malformed DOCTYPE"); + } else if (publicOrSystem === 'public') { + scanner.pos += 6; + requireSpaces(scanner); + publicId = getDoctypeQuotedString(scanner); + if (scanner.peek() !== '>') { + requireSpaces(scanner); + if (scanner.peek() !== '>') { + systemId = getDoctypeQuotedString(scanner); + skipSpaces(scanner); + if (scanner.peek() !== '>') + scanner.fatal("Malformed DOCTYPE"); + } + } + } else { + scanner.fatal("Expected PUBLIC or SYSTEM in DOCTYPE"); + } + } + + // looking at `>` + scanner.pos++; + var result = { t: 'Doctype', + v: scanner.input.slice(start, scanner.pos), + name: name }; + + if (systemId) + result.systemId = systemId; + if (publicId) + result.publicId = publicId; + + return result; +}; + +// The special character `{` is only allowed as the first character +// of a Chars, so that we have a chance to detect template tags. +var getChars = makeRegexMatcher(/^[^&<\u0000][^&<\u0000{]*/); + +// Returns the next HTML token, or `null` if we reach EOF. +// +// Note that if we have a `getSpecialTag` function that sometimes +// consumes characters and emits nothing (e.g. in the case of template +// comments), we may go from not-at-EOF to at-EOF and return `null`, +// while otherwise we always find some token to return. +getHTMLToken = function (scanner, dataMode) { + var result = null; + if (scanner.getSpecialTag) { + var lastPos = -1; + // Try to parse a "special tag" by calling out to the provided + // `getSpecialTag` function. If the function returns `null` but + // consumes characters, it must have parsed a comment or something, + // so we loop and try it again. If it ever returns `null` without + // consuming anything, that means it didn't see anything interesting + // so we look for a normal token. If it returns a truthy value, + // the value must be an object. We wrap it in a Special token. + while ((! result) && scanner.pos > lastPos) { + lastPos = scanner.pos; + result = scanner.getSpecialTag( + scanner, + (dataMode === 'rcdata' ? TEMPLATE_TAG_POSITION.IN_RCDATA : + (dataMode === 'rawtext' ? TEMPLATE_TAG_POSITION.IN_RAWTEXT : + TEMPLATE_TAG_POSITION.ELEMENT))); + } + if (result) + return { t: 'Special', v: result }; + } + + var chars = getChars(scanner); + if (chars) + return { t: 'Chars', + v: convertCRLF(chars) }; + + var ch = scanner.peek(); + if (! ch) + return null; // EOF + + if (ch === '\u0000') + scanner.fatal("Illegal NULL character"); + + if (ch === '&') { + if (dataMode !== 'rawtext') { + var charRef = getCharacterReference(scanner); + if (charRef) + return charRef; + } + + scanner.pos++; + return { t: 'Chars', + v: '&' }; + } + + // If we're here, we're looking at `<`. + + if (scanner.peek() === '<' && dataMode) { + // don't interpret tags + scanner.pos++; + return { t: 'Chars', + v: '<' }; + } + + // `getTag` will claim anything starting with `<` not followed by `!`. + // `getComment` takes `")), + { t: 'Comment', v: ' hello ' }); + + ignore(""); + ignore("', 'Unclosed'); + fatal('', 'cannot contain'); + fatal('', 'must end at first'); + + fatal('', 'cannot contain'); + fatal('', 'cannot contain'); + + succeed('', ''); + succeed('', '-x'); + succeed('', 'x'); + succeed('', ' hello - - world '); +}); + +Tinytest.add("html-tools - doctype", function (test) { + var succeed = function (input, expectedProps) { + var scanner = new Scanner(input); + var result = getDoctype(scanner); + test.isTrue(result); + test.equal(scanner.pos, result.v.length); + test.equal(input.slice(0, result.v.length), result.v); + var actualProps = _.extend({}, result); + delete actualProps.t; + delete actualProps.v; + test.equal(actualProps, expectedProps); + }; + + var fatal = function (input, messageContains) { + var scanner = new Scanner(input); + var error; + try { + getDoctype(scanner); + } catch (e) { + error = e; + } + test.isTrue(error); + if (messageContains) + test.isTrue(error.message.indexOf(messageContains) >= 0, error.message); + }; + + test.equal(getDoctype(new Scanner("x")), + { t: 'Doctype', + v: '', + name: 'html' }); + + test.equal(getDoctype(new Scanner("x")), + { t: 'Doctype', + v: "", + name: 'html', + systemId: 'about:legacy-compat' }); + + test.equal(getDoctype(new Scanner("x")), + { t: 'Doctype', + v: "", + name: 'html', + publicId: '-//W3C//DTD HTML 4.0//EN' }); + + test.equal(getDoctype(new Scanner("x")), + { t: 'Doctype', + v: "", + name: 'html', + publicId: '-//W3C//DTD HTML 4.0//EN', + systemId: 'http://www.w3.org/TR/html4/strict.dtd' }); + + succeed('', {name: 'html'}); + succeed('', {name: 'html'}); + succeed('', {name: 'html'}); + succeed('', {name: 'html'}); + succeed('', {name: 'html'}); + succeed('', {name: 'html'}); + fatal('', 'Expected space'); + fatal('', 'Malformed DOCTYPE'); + fatal('', 'Malformed DOCTYPE'); + fatal('', {name: 'html', systemId: 'about:legacy-compat'}); + succeed('', {name: 'html', systemId: 'about:legacy-compat'}); + succeed("", {name: 'html', systemId: 'about:legacy-compat'}); + succeed("", {name: 'html', systemId: 'about:legacy-compat'}); + succeed('', {name: 'html', systemId: 'about:legacy-compat'}); + fatal('', 'Expected PUBLIC or SYSTEM'); + fatal('', 'Expected space'); + fatal(''); + fatal(''); + fatal('">'); + fatal(''); + fatal(''); + fatal(''); + fatal(''); + fatal(''); + + succeed('', + { name: 'html', + publicId: '-//W3C//DTD HTML 4.0//EN'}); + succeed('', + { name: 'html', + publicId: '-//W3C//DTD HTML 4.0//EN'}); + succeed('', + { name: 'html', + publicId: '-//W3C//DTD HTML 4.0//EN', + systemId: 'http://www.w3.org/TR/REC-html40/strict.dtd'}); + succeed('', + { name: 'html', + publicId: '-//W3C//DTD HTML 4.0//EN', + systemId: 'http://www.w3.org/TR/REC-html40/strict.dtd'}); + succeed('', + { name: 'html', + publicId: '-//W3C//DTD HTML 4.0//EN', + systemId: 'http://www.w3.org/TR/REC-html40/strict.dtd'}); + succeed('', + { name: 'html', + publicId: '-//W3C//DTD HTML 4.0//EN', + systemId: 'http://www.w3.org/TR/REC-html40/strict.dtd'}); + fatal(''); + fatal(''); +}); + +Tinytest.add("html-tools - tokenize", function (test) { + + var fatal = function (input, messageContains) { + var error; + try { + tokenize(input); + } catch (e) { + error = e; + } + test.isTrue(error); + if (messageContains) + test.isTrue(error.message.indexOf(messageContains) >= 0, error.message); + }; + + + test.equal(tokenize(''), []); + test.equal(tokenize('abc'), [{t: 'Chars', v: 'abc'}]); + test.equal(tokenize('&'), [{t: 'Chars', v: '&'}]); + test.equal(tokenize('&'), [{t: 'CharRef', v: '&', cp: [38]}]); + test.equal(tokenize('ok fine'), + [{t: 'Chars', v: 'ok'}, + {t: 'CharRef', v: ' ', cp: [32]}, + {t: 'Chars', v: 'fine'}]); + + test.equal(tokenize('ac'), + [{t: 'Chars', + v: 'a'}, + {t: 'Comment', + v: 'b'}, + {t: 'Chars', + v: 'c'}]); + + test.equal(tokenize('
    '), [{t: 'Tag', n: 'a'}]); + + fatal('<'); + fatal(''), + [{t: 'Tag', n: 'a', + attrs: { b: [{t: 'Chars', v: 'c'}], + d: [{t: 'Chars', v: 'e'}], + f: [{t: 'Chars', v: 'g'}], + h: [] }}]); + + fatal(''); + fatal(''); + fatal(''); + + test.equal(tokenize(''), [{t: 'Tag', n: 'a', isSelfClosing: true}]); + + fatal(''); + fatal(''); + fatal(''); + fatal(''); + + test.equal(tokenize(''), + [{t: 'Tag', n: 'a#', + attrs: { b0: [{t: 'Chars', v: 'c@'}], + d1: [{t: 'Chars', v: 'e2'}], + 'f#': [{t: 'Chars', v: 'g '}], + h: [] }}]); + + test.equal(tokenize('
    '), + [{t: 'Tag', n: 'div', attrs: { 'class': [] }}, + {t: 'Tag', n: 'div', isEnd: true}]); + + test.equal(tokenize('
    '), + [{t: 'Tag', n: 'div', attrs: { 'class': [{t: 'Chars', v: '&'}] }}]); + test.equal(tokenize('
    '), + [{t: 'Tag', n: 'div', attrs: { 'class': [{t: 'Chars', v: '&'}] }}]); + test.equal(tokenize('
    '), + [{t: 'Tag', n: 'div', attrs: { 'class': [{t: 'CharRef', v: '&', cp: [38]}] }}]); + + test.equal(tokenize('
    '), + [{t: 'Tag', n: 'div', attrs: { 'class': [ + {t: 'Chars', v: 'aa&'}, + {t: 'CharRef', v: '𝕫', cp: [120171]}, + {t: 'CharRef', v: '∾̳', cp: [8766, 819]}, + {t: 'Chars', v: '&bb'} + ] }}]); + + test.equal(tokenize('
    '), + [{t: 'Tag', n: 'div', attrs: { 'class': [ + {t: 'Chars', v: 'aa &'}, + {t: 'CharRef', v: '𝕫', cp: [120171]}, + {t: 'CharRef', v: '∾̳', cp: [8766, 819]}, + {t: 'Chars', v: '& bb'} + ] }}]); + + test.equal(tokenize(''), + [{t: 'Tag', n: 'a', attrs: { b: [{t: 'Chars', v: '\'`<>&'}] }}]); + test.equal(tokenize('&\'>'), + [{t: 'Tag', n: 'a', attrs: { b: [{t: 'Chars', v: '"`<>&'}] }}]); + + fatal('>'); + fatal('>c'); + test.equal(tokenize(''), + [{t: 'Tag', n: 'a', attrs: { b: [{t: 'Chars', v: '>c' }] }}]); + test.equal(tokenize(''), + [{t: 'Tag', n: 'a', attrs: { b: [{t: 'Chars', v: '>c' }] }}]); + fatal(''); + fatal(''); + fatal(''); + + fatal(''); + + fatal(''); + fatal('<{{a}}>'); + fatal(''); // end tag can't have attributes + fatal(''); // end tag can't be self-closing + fatal(''); +}); diff --git a/handlebars-htmljs-node/miniu/index.js b/handlebars-htmljs-node/miniu/index.js new file mode 100644 index 0000000..91884a7 --- /dev/null +++ b/handlebars-htmljs-node/miniu/index.js @@ -0,0 +1,73 @@ +// A miniature 'underscore' implementation, with just those methods used +// by Spacebars. + +var _ = {}; + +(function() { + // Establish the object that gets returned to break out of a loop iteration. + var breaker = {}; + + var ArrayProto = Array.prototype, ObjProto = Object.prototype; + var + nativeForEach = ArrayProto.forEach, + nativeMap = ArrayProto.map, + slice = ArrayProto.slice, + hasOwnProperty = ObjProto.hasOwnProperty; + + var looksLikeArray = function (obj) { + return (obj.length === +obj.length + && (_.isArguments(obj) || obj.constructor !== Object)); + }; + + _.isArguments = function(obj) { + return toString.call(obj) == '[object Arguments]'; + }; + + // Shortcut function for checking if an object has a given property directly + // on itself (in other words, not on a prototype). + _.has = function(obj, key) { + return hasOwnProperty.call(obj, key); + }; + + var each = _.each = _.forEach = function(obj, iterator, context) { + if (obj == null) return; + if (nativeForEach && obj.forEach === nativeForEach) { + obj.forEach(iterator, context); + } else if (looksLikeArray(obj)) { + for (var i = 0, length = obj.length; i < length; i++) { + if (iterator.call(context, obj[i], i, obj) === breaker) return; + } + } else { + var keys = Object.keys(obj); + for (var i = 0, length = keys.length; i < length; i++) { + if (iterator.call(context, obj[keys[i]], keys[i], obj) === breaker) return; + } + } + }; + + // Return the results of applying the iterator to each element. + // Delegates to **ECMAScript 5**'s native `map` if available. + _.map = _.collect = function(obj, iterator, context) { + var results = []; + if (obj == null) return results; + if (nativeMap && obj.map === nativeMap) return obj.map(iterator, context); + each(obj, function(value, index, list) { + results.push(iterator.call(context, value, index, list)); + }); + return results; + }; + + // Extend a given object with all the properties in passed-in object(s). + _.extend = function(obj) { + each(slice.call(arguments, 1), function(source) { + if (source) { + for (var prop in source) { + obj[prop] = source[prop]; + } + } + }); + return obj; + }; +})(); + +module.exports = _; diff --git a/handlebars-htmljs-node/spacebars-compiler/README.md b/handlebars-htmljs-node/spacebars-compiler/README.md new file mode 100644 index 0000000..746fc19 --- /dev/null +++ b/handlebars-htmljs-node/spacebars-compiler/README.md @@ -0,0 +1,140 @@ +TODO: Merge with syntax.md + +# Spacebars + +Spacebars is a Meteor template language inspired by [Handlebars](http://handlebarsjs.com/). It shares much of the spirit and syntax of Handlebars, but it's tailored to produce specifications of reactive Meteor UI components when compiled. + +NOTE: This is the eventual spec that will be supported by this branch. It's not fully implemented yet. + +## Syntax + +A Spacebars template consists of HTML interspersed with "stache tags" (so-called because a curly brace `{` looks a bit like a mustache). A stache tag starts with `{{` or `{{{` and ends with the same number of curly braces. Any amount of whitespace is allowed inside the curly braces at the beginning or end of a stache tag, and if there is initial puncutation such as `>` or `#` in `{{>foo}}` or `{{#foo}}`, any amount of whitespace is allowed on either side of the punctuation. + +### Types of Tags + +#### Double-stache + +A basic double-stache tag consists of an identifier or a dotted path (see Paths below) and evaluates to some text: + +``` +

    {{title}}

    + +

    + {{para.text}} +

    +``` + +Double-stache tags may only be used at the level of HTML elements (that is, outside HTML tag angle brackets) or in an attribute of an HTML tag. The inserted text is automatically HTML-escaped as appropriate (for example, turning `<` into `<`). Double-stache tags may not be used to generate the name of a tag (as in `<{{foo}}>`) or any other piece of a tag except for attribute names and values as described here. + +Any part of an attribute name or value is fair game: + +``` +
    + +
    +``` + +If you want to insert multiple `name=value` pairs or a reactively changing set of attributes, use a triple-stache tag as described below. + +If two attributes with the same name are specified using any combination of mechanisms, the resulting behavior is undefined. + +Like most tag types, double-stache tags can take any combination of positional and keyword arguments, which themselves may contain dotted paths and literal values, as in: `{{foo bar.baz x=3 y=n type="awesome"}}`. See Tag Arguments. + +#### Triple-stache + +Triple-stache tags are used to insert raw HTML into a template: + +``` +
    + {{{snippetBody}}} +
    +``` + +The inserted HTML must consist of balanced HTML tags, or else balanced tags with some end tags omitted per the rules of HTML parsing. You can't, for example, insert `"
    "` to close an existing div and open a new one. In this form, the tag must occur at HTML element level (not inside any angle brackets). + +A second form of the triple-stache is used inside HTML tags to insert zero or more dynamically generated attributes: + +``` + +``` + +In this form, the stache tag must occur by itself as shown and not as part of a `name=value` pair. The value of `myAttrs` may either be a string that parses as zero or more attributes, such as `""` or `"foo=bar id='myInput'"`, or an object whose property values are strings that serves as a name/value dictionary. If two attributes with the same name are specified using any combination of mechanisms, the resulting behavior is undefined. + +#### Blocks and Inclusions + +An inclusion tag inserts a Meteor UI component at the current element-level location in the HTML: + +``` +
    + {{> thumbnail currentPhoto}} +
    +``` + +A block tag also inserts a Meteor UI component, but it provides a block of content as a sort of extra argument, and an optional second block of content if the special tag `{{else}}` is used. The control structures `if` and `each` are implemented as components: + +``` +{{#each items}} +
    + {{#if editing}} + {{> editor}} + {{else}} + {{> itemView}} + {{/if}} +
    +{{/each}} +``` + +Blocks have an open stache tag `{{#foo}}` and a corresponding close stache tag `{{/foo}}`. The template code in the block may be invoked any number of times or not at all by the component. + +Inclusion tags and open block tags take any number of keyword arguments and one, optional positional argument that is equivalent to the `data` keyword argument (so we could have written `{{#each data=items}}` in the above example). + +#### Comment + +A comment begins with `{{!` and can contain any characters except for `}}`. Comments are removed upon compilation and never appear in the compiled template code or the generated HTML. + +``` +{{! TODO: use fancy HTML5 tags}} +
    + ... +
    +``` + +### Paths + +A "dotted path" is generally a series of one or more JavaScript identifier names separated by a dot and is used as the name of a stache tag or the value of a tag argument: + +``` +{{> users.UserIcon contacts.current type=IconTypes.SMALL}} +``` + +The use of `/` as a separator instead of `.` is also allowed, as in `foo/bar`. + +An "anchored path" is one that has the identifier `this` or the special path elements `.` or `..` in the first position, as in `this.foo` or `./foo`, which are equivalent. `..` is a special path element that can appear multiple times but not after any non-`..` elements. After `this`, `.`, or a series of `..`, `this` is considered a normal identifier with no special meaning and `.` or '..` are disallowed. + +A path element may also be written in square brackets, in which case it may contain any character except for `]`. Such an element may even be empty, written as `[]`, but the first element of a path may not be empty. Brackets are required to use one of the following as the first element of a path: `else`, `this`, `true`, `false`, and `null`. Brackets are not required around JavaScript keywords and reserved words like `var` and `for`. + +Representationally, a path is just an array of one or more strings, where the first string may not be empty but may be a special element corresponding to `this`. + +### Tag Arguments + +Double-stache, triple-stache, inclusion, and (open) block tags all take positional and keyword arguments: + +``` +{{foo bar.baz x=3 y=n type="awesome"}} +``` + +A keyword argument looks like a positional argument prefixed with a JavaScript identifier name and an `=` character, with optional whitespace around the `=`. + +A positional argument takes one of the following forms: + +* A path, as described in the section "Paths" + +* A single- or double-quoted JavaScript string literal. The string may span multiple lines if newlines are escaped, per the ECMAScript spec 5th edition. + +* A JavaScript number literal, which may have an exponent (`1e3`) or be in hex (`0xa`). + +* The string `true`, `false`, or `null`. + +## Semantics + +XXX diff --git a/handlebars-htmljs-node/spacebars-compiler/compile_tests.js b/handlebars-htmljs-node/spacebars-compiler/compile_tests.js new file mode 100644 index 0000000..5b5a04c --- /dev/null +++ b/handlebars-htmljs-node/spacebars-compiler/compile_tests.js @@ -0,0 +1,277 @@ +Tinytest.add("spacebars - compiler output", function (test) { + + var run = function (input, expected) { + if (expected.fail) { + var expectedMessage = expected.fail; + // test for error starting with expectedMessage + var msg = ''; + test.throws(function () { + try { + Spacebars.compile(input); + } catch (e) { + msg = e.message; + throw e; + } + }); + test.equal(msg.slice(0, expectedMessage.length), + expectedMessage); + } else { + var output = Spacebars.compile(input); + var postProcess = function (string) { + // remove initial and trailing parens + string = string.replace(/^\(([\S\s]*)\)$/, '$1'); + if (! (Package.minifiers && Package.minifiers.UglifyJSMinify)) { + // these tests work a lot better with access to beautification, + // but let's at least do some sort of test without it. + // These regexes may have to be adjusted if new tests are added. + + // Remove single-line comments, including line nums from build system. + string = string.replace(/\/\/.*$/mg, ''); + string = string.replace(/\s+/g, ''); // kill whitespace + // collapse identical consecutive parens + string = string.replace(/\(+/g, '(').replace(/\)+/g, ')'); + } + return string; + }; + // compare using Function .toString()! + test._stringEqual( + postProcess(output.toString()), + postProcess( + Spacebars._beautify('(' + expected.toString() + ')')), + input); + } + }; + + + + run("abc", + function () { + var self = this; + return "abc"; + }); + + run("{{foo}}", + function() { + var self = this; + return function() { + return Spacebars.mustache(self.lookup("foo")); + }; + }); + + run("{{foo bar}}", + function() { + var self = this; + return function() { + return Spacebars.mustache(self.lookup("foo"), self.lookup("bar")); + }; + }); + + run("{{foo x=bar}}", + function() { + var self = this; + return function() { + return Spacebars.mustache(self.lookup("foo"), Spacebars.kw({ + x: self.lookup("bar") + })); + }; + }); + + run("{{foo.bar baz}}", + function() { + var self = this; + return function() { + return Spacebars.mustache(Spacebars.dot(self.lookup("foo"), "bar"), self.lookup("baz")); + }; + }); + + run("{{foo bar.baz}}", + function() { + var self = this; + return function() { + return Spacebars.mustache(self.lookup("foo"), Spacebars.dot(self.lookup("bar"), "baz")); + }; + }); + + run("{{foo x=bar.baz}}", + function() { + var self = this; + return function() { + return Spacebars.mustache(self.lookup("foo"), Spacebars.kw({ + x: Spacebars.dot(self.lookup("bar"), "baz") + })); + }; + }); + + run("{{#foo}}abc{{/foo}}", + function() { + var self = this; + return function() { + return Spacebars.include(Template.foo || self.lookup("foo"), { + __content: UI.block(function() { + var self = this; + return "abc"; + }) + }); + }; + }); + + run("{{#if cond}}aaa{{else}}bbb{{/if}}", + function() { + var self = this; + return function() { + return Spacebars.include(UI.If, { + __content: UI.block(function() { + var self = this; + return "aaa"; + }), + __elseContent: UI.block(function() { + var self = this; + return "bbb"; + }), + data: self.lookup("cond") + }); + }; + }); + + run("{{> foo bar}}", + function() { + var self = this; + return function() { + return Spacebars.include(Template.foo || self.lookup("foo"), { + data: self.lookup("bar") + }); + }; + }); + + run("{{> foo x=bar}}", + function() { + var self = this; + return function() { + return Spacebars.include(Template.foo || self.lookup("foo"), { + x: self.lookup("bar") + }); + }; + }); + + run("{{> foo bar.baz}}", + function() { + var self = this; + return function() { + return Spacebars.include(Template.foo || self.lookup("foo"), { + data: function() { + return Spacebars.call(Spacebars.dot(self.lookup("bar"), "baz")); + } + }); + }; + }); + + run("{{> foo x=bar.baz}}", + function() { + var self = this; + return function() { + return Spacebars.include(Template.foo || self.lookup("foo"), { + x: function() { + return Spacebars.call(Spacebars.dot(self.lookup("bar"), "baz")); + } + }); + }; + }); + + run("{{> foo bar baz}}", + {fail: 'Only one positional argument'}); + + run("{{#foo bar baz}}aaa{{/foo}}", + function() { + var self = this; + return function() { + return Spacebars.include(Template.foo || self.lookup("foo"), { + __content: UI.block(function() { + var self = this; + return "aaa"; + }), + data: function() { + return Spacebars.call(self.lookup("bar"), self.lookup("baz")); + } + }); + }; + }); + + run("{{#foo p.q r.s}}aaa{{/foo}}", + function() { + var self = this; + return function() { + return Spacebars.include(Template.foo || self.lookup("foo"), { + __content: UI.block(function() { + var self = this; + return "aaa"; + }), + data: function() { + return Spacebars.call( + Spacebars.dot(self.lookup("p"), "q"), + Spacebars.dot(self.lookup("r"), "s")); + } + }); + }; + }); + + run("", + function() { + var self = this; + return HTML.A({ + $dynamic: [ function() { + return Spacebars.attrMustache(self.lookup("b")); + } ] + }); + }); + + run("", + function() { + var self = this; + return HTML.A({ + c: [ "d", function() { + return Spacebars.mustache(self.lookup("e")); + }, "f" ], + $dynamic: [ function() { + return Spacebars.attrMustache(self.lookup("b")); + } ] + }); + }); + + run("{{foo}}", + function () { + var self = this; + return HTML.getTag("ASDF")(function () { + return Spacebars.mustache(self.lookup("foo")); + }); + }); + + run("", + function () { + var self = this; + return HTML.TEXTAREA(function () { + return Spacebars.mustache(self.lookup("foo")); + }); + }); + +}); + +Tinytest.add("spacebars - compiler errors", function (test) { + + var getError = function (input) { + try { + Spacebars.compile(input); + } catch (e) { + return e.message; + } + test.fail("Didn't throw an error: " + input); + }; + + var assertStartsWith = function (a, b) { + test.equal(a.substring(0, b.length), b); + }; + + assertStartsWith(getError(""), + "Unexpected HTML close tag. should have no close tag."); + assertStartsWith(getError("{{#each foo}}{{/foo}}"), + "Unexpected HTML close tag. should have no close tag."); +}); \ No newline at end of file diff --git a/handlebars-htmljs-node/spacebars-compiler/index.js b/handlebars-htmljs-node/spacebars-compiler/index.js new file mode 100644 index 0000000..b796035 --- /dev/null +++ b/handlebars-htmljs-node/spacebars-compiler/index.js @@ -0,0 +1,25 @@ +// This is a hacked together node package of the spacebars-compiler sources +// found in +// https://github.com/meteor/meteor/tree/shark/packages/spacebars-compiler +// as a meteor package. + +// I'm basically just going to concatenate the sources together, hand it +// over to eval, and then return the result in modules.export. +var HTML = require('../html-tools'); +var Spacebars = require('../spacebars'); +var UI = require('../ui'); +var _ = require('../miniu'); + +// XXX HACK +var Package = { + // not defining a minifier. +}; + +var fs = require('fs'); +var source = ['tokens', 'tojs', 'templatetag', 'spacebars-compiler'].map(function(f) { + return fs.readFileSync(__dirname+'/'+f+'.js', 'utf8'); +}).join('\n'); + +eval(source); + +module.exports = Spacebars; diff --git a/handlebars-htmljs-node/spacebars-compiler/package.js b/handlebars-htmljs-node/spacebars-compiler/package.js new file mode 100644 index 0000000..c219d82 --- /dev/null +++ b/handlebars-htmljs-node/spacebars-compiler/package.js @@ -0,0 +1,29 @@ +Package.describe({ + summary: "Compiler for Spacebars template language" +}); + +Package.on_use(function (api) { + api.use('spacebars'); + api.imply('spacebars'); + + // we attach stuff to the global symbol `HTML`, exported + // by `htmljs` via `html-tools`, so we both use and effectively + // imply it. + api.use('html-tools'); + api.imply('html-tools'); + + api.use('underscore'); + api.use('ui'); + api.use('minifiers', ['server']); + api.add_files(['tokens.js', 'tojs.js', 'templatetag.js', + 'spacebars-compiler.js']); +}); + +Package.on_test(function (api) { + api.use('underscore'); + api.use('spacebars-compiler'); + api.use('tinytest'); + api.add_files('spacebars_tests.js'); + api.add_files('compile_tests.js'); + api.add_files('token_tests.js'); +}); diff --git a/handlebars-htmljs-node/spacebars-compiler/spacebars-compiler.js b/handlebars-htmljs-node/spacebars-compiler/spacebars-compiler.js new file mode 100644 index 0000000..f9a6555 --- /dev/null +++ b/handlebars-htmljs-node/spacebars-compiler/spacebars-compiler.js @@ -0,0 +1,470 @@ + + + +Spacebars.parse = function (input) { + + var tree = HTML.parseFragment( + input, + { getSpecialTag: TemplateTag.parseCompleteTag }); + + return tree; +}; + +// ============================================================ +// Optimizer for optimizing HTMLjs into raw HTML string when +// it doesn't contain template tags. + +var optimize = function (tree) { + + var pushRawHTML = function (array, html) { + var N = array.length; + if (N > 0 && (array[N-1] instanceof HTML.Raw)) { + array[N-1] = HTML.Raw(array[N-1].value + html); + } else { + array.push(HTML.Raw(html)); + } + }; + + var isPureChars = function (html) { + return (html.indexOf('&') < 0 && html.indexOf('<') < 0); + }; + + var optimizeArrayParts = function (array, optimizePartsFunc, forceOptimize) { + var result = null; + if (forceOptimize) + result = []; + for (var i = 0, N = array.length; i < N; i++) { + var part = optimizePartsFunc(array[i]); + if (part !== null) { + // something special found + if (result === null) { + // This is our first special item. Stringify the other parts. + result = []; + for (var j = 0; j < i; j++) + pushRawHTML(result, HTML.toHTML(array[j])); + } + result.push(part); + } else { + // just plain HTML found + if (result !== null) { + // we've already found something special, so convert this to Raw + pushRawHTML(result, HTML.toHTML(array[i])); + } + } + } + if (result !== null) { + // clean up unnecessary HTML.Raw wrappers around pure character data + for (var j = 0; j < result.length; j++) { + if ((result[j] instanceof HTML.Raw) && + isPureChars(result[j].value)) + // replace HTML.Raw with simple string + result[j] = result[j].value; + } + } + return result; + }; + + var doesAttributeValueHaveSpecials = function (v) { + if (v instanceof HTML.Special) + return true; + if (typeof v === 'function') + return true; + + if (v instanceof Array) { + for (var i = 0; i < v.length; i++) + if (doesAttributeValueHaveSpecials(v[i])) + return true; + return false; + } + + return false; + }; + + var optimizeParts = function (node) { + // If we have nothing special going on, returns `null` (so that the + // parent can optimize). Otherwise returns a replacement for `node` + // with optimized parts. + if ((node == null) || (typeof node === 'string') || + (node instanceof HTML.CharRef) || (node instanceof HTML.Comment) || + (node instanceof HTML.Raw)) { + // not special; let parent decide how whether to optimize + return null; + } else if (node instanceof HTML.Tag) { + + if (node.tagName === 'TEXTAREA' || (! HTML.isKnownElement(node.tagName))) { + // optimizing into a TEXTAREA's RCDATA would require being a little + // more clever. foreign elements like SVG can't be stringified for + // innerHTML. + return node; + } + + var mustOptimize = false; + + if (node.attrs) { + var attrs = node.attrs; + for (var k in attrs) { + if (doesAttributeValueHaveSpecials(attrs[k])) { + mustOptimize = true; + break; + } + } + } + + var newChildren = optimizeArrayParts(node.children, optimizeParts, mustOptimize); + + if (newChildren === null) + return null; + + var newTag = HTML.getTag(node.tagName).apply(null, newChildren); + newTag.attrs = node.attrs; + + return newTag; + + } else if (node instanceof Array) { + return optimizeArrayParts(node, optimizeParts); + } else { + return node; + } + }; + + var optTree = optimizeParts(tree); + if (optTree !== null) + // tree was optimized in parts + return optTree; + + optTree = HTML.Raw(HTML.toHTML(tree)); + + if (isPureChars(optTree.value)) + return optTree.value; + + return optTree; +}; + +// ============================================================ +// Code-generation of template tags + +var builtInComponents = { + 'content': '__content', + 'elseContent': '__elseContent', + 'if': 'UI.If', + 'unless': 'UI.Unless', + 'with': 'UI.With', + 'each': 'UI.Each' +}; + +Spacebars.isReservedName = function (name) { + return builtInComponents.hasOwnProperty(name); +}; + +var codeGenTemplateTag = function (tag) { + if (tag.position === HTML.TEMPLATE_TAG_POSITION.IN_START_TAG) { + // only `tag.type === 'DOUBLE'` allowed (by earlier validation) + return HTML.EmitCode('function () { return ' + + codeGenMustache(tag, 'attrMustache') + '; }'); + } else { + if (tag.type === 'DOUBLE') { + return HTML.EmitCode('function () { return ' + + codeGenMustache(tag) + '; }'); + } else if (tag.type === 'TRIPLE') { + return HTML.EmitCode('function () { return Spacebars.makeRaw(' + + codeGenMustache(tag) + '); }'); + } else if (tag.type === 'INCLUSION' || tag.type === 'BLOCKOPEN') { + var path = tag.path; + var compCode = codeGenPath(path); + + if (path.length === 1) { + var compName = path[0]; + if (builtInComponents.hasOwnProperty(compName)) { + compCode = builtInComponents[compName]; + } else { + // toObjectLiteralKey returns `"foo"` or `foo` depending on + // whether `foo` is a safe JavaScript identifier. + var member = toObjectLiteralKey(path[0]); + var templateDotFoo = (member.charAt(0) === '"' ? + 'Template[' + member + ']' : + 'Template.' + member); + compCode = ('(' + templateDotFoo + ' || ' + compCode + ')'); + } + } + + var includeArgs = codeGenInclusionArgs(tag); + + return HTML.EmitCode( + 'function () { return Spacebars.include(' + compCode + + (includeArgs.length ? ', ' + includeArgs.join(', ') : '') + + '); }'); + } else { + // Can't get here; TemplateTag validation should catch any + // inappropriate tag types that might come out of the parser. + throw new Error("Unexpected template tag type: " + tag.type); + } + } +}; + +var makeObjectLiteral = function (obj) { + var parts = []; + for (var k in obj) + parts.push(toObjectLiteralKey(k) + ': ' + obj[k]); + return '{' + parts.join(', ') + '}'; +}; + + +var codeGenInclusionArgs = function (tag) { + var args = null; + var posArgs = []; + + if ('content' in tag) { + args = (args || {}); + args.__content = ( + 'UI.block(' + Spacebars.codeGen(tag.content) + ')'); + } + if ('elseContent' in tag) { + args = (args || {}); + args.__elseContent = ( + 'UI.block(' + Spacebars.codeGen(tag.elseContent) + ')'); + } + + // precalculate the number of positional args + var numPosArgs = 0; + _.each(tag.args, function (arg) { + if (arg.length === 2) + numPosArgs++; + }); + + _.each(tag.args, function (arg) { + var argType = arg[0]; + var argValue = arg[1]; + + var isKeyword = (arg.length > 2); + + var argCode; + switch (argType) { + case 'STRING': + case 'NUMBER': + case 'BOOLEAN': + case 'NULL': + argCode = toJSLiteral(argValue); + break; + case 'PATH': + var path = argValue; + argCode = codeGenPath(path); + // a single-segment path will compile to something like + // `self.lookup("foo")` which never establishes any dependencies, + // while `Spacebars.dot(self.lookup("foo"), "bar")` may establish + // dependencies. + // + // In the multi-positional-arg construct, don't wrap pos args here. + if (! ((path.length === 1) || (numPosArgs > 1))) + argCode = 'function () { return Spacebars.call(' + argCode + '); }'; + break; + default: + // can't get here + throw new Error("Unexpected arg type: " + argType); + } + + if (isKeyword) { + // keyword argument (represented as [type, value, name]) + var name = arg[2]; + args = (args || {}); + args[name] = argCode; + } else { + // positional argument + posArgs.push(argCode); + } + }); + + if (posArgs.length === 1) { + args = (args || {}); + args.data = posArgs[0]; + } else if (posArgs.length > 1) { + // only allowed for block helper (which has already been + // checked at parse time); call first + // argument as a function on the others + args = (args || {}); + args.data = 'function () { return Spacebars.call(' + posArgs.join(', ') + '); }'; + } + + if (args) + return [makeObjectLiteral(args)]; + + return []; +}; + +var codeGenMustache = function (tag, mustacheType) { + var nameCode = codeGenPath(tag.path); + var argCode = codeGenArgs(tag.args); + var mustache = (mustacheType || 'mustache'); + + return 'Spacebars.' + mustache + '(' + nameCode + + (argCode ? ', ' + argCode.join(', ') : '') + ')'; +}; + +// `path` is an array of at least one string. +// +// If `path.length > 1`, the generated code may be reactive +// (i.e. it may invalidate the current computation). +// +// No code is generated to call the result if it's a function. +var codeGenPath = function (path) { + // Let {{#if content}} check whether this template was invoked via + // inclusion or as a block helper. + if (builtInComponents.hasOwnProperty(path[0])) { + if (path.length > 1) + throw new Error("Unexpected dotted path beginning with " + path[0]); + return builtInComponents[path[0]]; + } + + var code = 'self.lookup(' + toJSLiteral(path[0]) + ')'; + + if (path.length > 1) { + code = 'Spacebars.dot(' + code + ', ' + + _.map(path.slice(1), toJSLiteral).join(', ') + ')'; + } + + return code; +}; + +// returns: array of source strings, or null if no +// args at all. +var codeGenArgs = function (tagArgs) { + var kwArgs = null; // source -> source + var args = null; // [source] + + _.each(tagArgs, function (arg) { + var argType = arg[0]; + var argValue = arg[1]; + + var argCode; + switch (argType) { + case 'STRING': + case 'NUMBER': + case 'BOOLEAN': + case 'NULL': + argCode = toJSLiteral(argValue); + break; + case 'PATH': + argCode = codeGenPath(argValue); + break; + default: + // can't get here + throw new Error("Unexpected arg type: " + argType); + } + + if (arg.length > 2) { + // keyword argument (represented as [type, value, name]) + kwArgs = (kwArgs || {}); + kwArgs[arg[2]] = argCode; + } else { + // positional argument + args = (args || []); + args.push(argCode); + } + }); + + // put kwArgs in options dictionary at end of args + if (kwArgs) { + args = (args || []); + args.push('Spacebars.kw(' + makeObjectLiteral(kwArgs) + ')'); + } + + return args; +}; + +// ============================================================ +// Main compiler + +var replaceSpecials = function (node) { + if (node instanceof HTML.Tag) { + // potential optimization: don't always create a new tag + var newChildren = _.map(node.children, replaceSpecials); + var newTag = HTML.getTag(node.tagName).apply(null, newChildren); + var oldAttrs = node.attrs; + var newAttrs = null; + + if (oldAttrs) { + _.each(oldAttrs, function (value, name) { + if (name.charAt(0) !== '$') { + newAttrs = (newAttrs || {}); + newAttrs[name] = replaceSpecials(value); + } + }); + + if (oldAttrs.$specials && oldAttrs.$specials.length) { + newAttrs = (newAttrs || {}); + newAttrs.$dynamic = _.map(oldAttrs.$specials, function (special) { + return codeGenTemplateTag(special.value); + }); + } + } + + newTag.attrs = newAttrs; + return newTag; + } else if (node instanceof Array) { + return _.map(node, replaceSpecials); + } else if (node instanceof HTML.Special) { + return codeGenTemplateTag(node.value); + } else { + return node; + } +}; + +Spacebars.compile = function (input, options) { + var tree = Spacebars.parse(input); + return Spacebars.codeGen(tree, options); +}; + +Spacebars.codeGen = function (parseTree, options) { + // is this a template, rather than a block passed to + // a block helper, say + var isTemplate = (options && options.isTemplate); + + var tree = parseTree; + + // The flags `isTemplate` and `isBody` are kind of a hack. + if (isTemplate || (options && options.isBody)) { + // optimizing fragments would require being smarter about whether we are + // in a TEXTAREA, say. + tree = optimize(tree); + } + + tree = replaceSpecials(tree); + + var code = '(function () { var self = this; '; + if (isTemplate) { + // support `{{> content}}` and `{{> elseContent}}` with + // lexical scope by creating a local variable in the + // template's render function. + code += 'var __content = self.__content, ' + + '__elseContent = self.__elseContent; '; + } + code += 'return '; + code += HTML.toJS(tree); + code += '; })'; + + code = beautify(code); + + return code; +}; + +var beautify = function (code) { + if (Package.minifiers && Package.minifiers.UglifyJSMinify) { + var result = UglifyJSMinify(code, + { fromString: true, + mangle: false, + compress: false, + output: { beautify: true, + indent_level: 2, + width: 80 } }); + var output = result.code; + // Uglify interprets our expression as a statement and may add a semicolon. + // Strip trailing semicolon. + output = output.replace(/;$/, ''); + return output; + } else { + // don't actually beautify; no UglifyJS + return code; + } +}; + +// expose for compiler output tests +Spacebars._beautify = beautify; diff --git a/handlebars-htmljs-node/spacebars-compiler/spacebars_tests.js b/handlebars-htmljs-node/spacebars-compiler/spacebars_tests.js new file mode 100644 index 0000000..176ba50 --- /dev/null +++ b/handlebars-htmljs-node/spacebars-compiler/spacebars_tests.js @@ -0,0 +1,236 @@ +Tinytest.add("spacebars - stache tags", function (test) { + + var run = function (input, expected) { + if (typeof expected === "string") { + // test for error starting with string `expected` + var msg = ''; + test.throws(function () { + try { + Spacebars.TemplateTag.parse(input); + } catch (e) { + msg = e.message; + throw e; + } + }); + test.equal(msg.slice(0, expected.length), expected); + } else { + var result = Spacebars.TemplateTag.parse(input); + test.equal(result, expected); + } + }; + + run('{{foo}}', {type: 'DOUBLE', path: ['foo'], args: []}); + run('{{foo3}}', {type: 'DOUBLE', path: ['foo3'], args: []}); + run('{{{foo}}}', {type: 'TRIPLE', path: ['foo'], args: []}); + run('{{{foo}}', "Expected `}}}`"); + run('{{{foo', "Expected"); + run('{{foo', "Expected"); + run('{{ {foo}}}', "Unknown stache tag"); + run('{{{{foo}}}}', "Unknown stache tag"); + run('{{{>foo}}}', "Unknown stache tag"); + run('{{>>foo}}', "Unknown stache tag"); + run('{{! asdf }}', {type: 'COMMENT', value: ' asdf '}); + run('{{ ! asdf }}', {type: 'COMMENT', value: ' asdf '}); + run('{{ ! asdf }asdf', "Unclosed"); + run('{{else}}', {type: 'ELSE'}); + run('{{ else }}', {type: 'ELSE'}); + run('{{else x}}', "Expected"); + run('{{else_x}}', {type: 'DOUBLE', path: ['else_x'], args: []}); + run('{{/if}}', {type: 'BLOCKCLOSE', path: ['if']}); + run('{{ / if }}', {type: 'BLOCKCLOSE', path: ['if']}); + run('{{/if x}}', "Expected"); + run('{{#if}}', {type: 'BLOCKOPEN', path: ['if'], args: []}); + run('{{ # if }}', {type: 'BLOCKOPEN', path: ['if'], args: []}); + run('{{#if_3}}', {type: 'BLOCKOPEN', path: ['if_3'], args: []}); + run('{{>x}}', {type: 'INCLUSION', path: ['x'], args: []}); + run('{{ > x }}', {type: 'INCLUSION', path: ['x'], args: []}); + run('{{>x_3}}', {type: 'INCLUSION', path: ['x_3'], args: []}); + + + + run('{{foo 3}}', {type: 'DOUBLE', path: ['foo'], args: [['NUMBER', 3]]}); + run('{{ foo 3 }}', {type: 'DOUBLE', path: ['foo'], args: [['NUMBER', 3]]}); + run('{{#foo 3}}', {type: 'BLOCKOPEN', path: ['foo'], args: [['NUMBER', 3]]}); + run('{{ # foo 3 }}', {type: 'BLOCKOPEN', path: ['foo'], + args: [['NUMBER', 3]]}); + run('{{>foo 3}}', {type: 'INCLUSION', path: ['foo'], args: [['NUMBER', 3]]}); + run('{{ > foo 3 }}', {type: 'INCLUSION', path: ['foo'], + args: [['NUMBER', 3]]}); + run('{{{foo 3}}}', {type: 'TRIPLE', path: ['foo'], args: [['NUMBER', 3]]}); + + run('{{foo bar ./foo foo/bar a.b.c baz=qux x3=.}}', + {type: 'DOUBLE', path: ['foo'], + args: [['PATH', ['bar']], + ['PATH', ['.', 'foo']], + ['PATH', ['foo', 'bar']], + ['PATH', ['a', 'b', 'c']], + ['PATH', ['qux'], 'baz'], + ['PATH', ['.'], 'x3']]}); + + run('{{{x 0.3 [0].[3] .4 ./[4]}}}', + {type: 'TRIPLE', path: ['x'], + args: [['NUMBER', 0.3], + ['PATH', ['0', '3']], + ['NUMBER', .4], + ['PATH', ['.', '4']]]}); + + run('{{# foo this this.x null z=null}}', + {type: 'BLOCKOPEN', path: ['foo'], + args: [['PATH', ['.']], + ['PATH', ['.', 'x']], + ['NULL', null], + ['NULL', null, 'z']]}); + + run('{{./foo 3}}', {type: 'DOUBLE', path: ['.', 'foo'], args: [['NUMBER', 3]]}); + run('{{this/foo 3}}', {type: 'DOUBLE', path: ['.', 'foo'], args: [['NUMBER', 3]]}); + run('{{../foo 3}}', {type: 'DOUBLE', path: ['..', 'foo'], args: [['NUMBER', 3]]}); + run('{{../../foo 3}}', {type: 'DOUBLE', path: ['...', 'foo'], args: [['NUMBER', 3]]}); + + run('{{foo x/..}}', "Expected"); + run('{{foo x/.}}', "Expected"); + + run('{{#a.b.c}}', {type: 'BLOCKOPEN', path: ['a', 'b', 'c'], + args: []}); + run('{{> a.b.c}}', {type: 'INCLUSION', path: ['a', 'b', 'c'], + args: []}); + + run('{{foo.[]/[]}}', {type: 'DOUBLE', path: ['foo', '', ''], + args: []}); + run('{{[].foo}}', "Path can't start with empty string"); + + run('{{foo null}}', {type: 'DOUBLE', path: ['foo'], + args: [['NULL', null]]}); + run('{{foo false}}', {type: 'DOUBLE', path: ['foo'], + args: [['BOOLEAN', false]]}); + run('{{foo true}}', {type: 'DOUBLE', path: ['foo'], + args: [['BOOLEAN', true]]}); + run('{{foo "bar"}}', {type: 'DOUBLE', path: ['foo'], + args: [['STRING', 'bar']]}); + run("{{foo 'bar'}}", {type: 'DOUBLE', path: ['foo'], + args: [['STRING', 'bar']]}); + + run('{{foo -1 -2}}', {type: 'DOUBLE', path: ['foo'], + args: [['NUMBER', -1], ['NUMBER', -2]]}); + + run('{{x "\'"}}', {type: 'DOUBLE', path: ['x'], args: [['STRING', "'"]]}); + run('{{x \'"\'}}', {type: 'DOUBLE', path: ['x'], args: [['STRING', '"']]}); + + run('{{> foo x=1 y=2}}', + {type: 'INCLUSION', path: ['foo'], + args: [['NUMBER', 1, 'x'], + ['NUMBER', 2, 'y']]}); + run('{{> foo x=1 y=2 z}}', + "Can't have a non-keyword argument"); +}); + + +Tinytest.add("spacebars - Spacebars.dot", function (test) { + test.equal(Spacebars.dot(null, 'foo'), null); + test.equal(Spacebars.dot('foo', 'foo'), undefined); + test.equal(Spacebars.dot({x:1}, 'x'), 1); + test.equal(Spacebars.dot( + {x:1, y: function () { return this.x+1; }}, 'y')(), 2); + test.equal(Spacebars.dot( + function () { + return {x:1, y: function () { return this.x+1; }}; + }, 'y')(), 2); + + var m = 1; + var mget = function () { + return { + answer: m, + getAnswer: function () { + return this.answer; + } + }; + }; + var mgetDotAnswer = Spacebars.dot(mget, 'answer'); + test.equal(mgetDotAnswer, 1); + + m = 3; + var mgetDotGetAnswer = Spacebars.dot(mget, 'getAnswer'); + test.equal(mgetDotGetAnswer(), 3); + m = 4; + test.equal(mgetDotGetAnswer(), 3); + + var closet = { + mget: mget, + mget2: function () { + return this.mget(); + } + }; + + m = 5; + var f1 = Spacebars.dot(closet, 'mget', 'answer'); + m = 6; + var f2 = Spacebars.dot(closet, 'mget2', 'answer'); + test.equal(f2, 6); + m = 8; + var f3 = Spacebars.dot(closet, 'mget2', 'getAnswer'); + m = 9; + test.equal(f3(), 8); + + test.equal(Spacebars.dot(0, 'abc', 'def'), 0); + test.equal(Spacebars.dot(function () { return null; }, 'abc', 'def'), null); + test.equal(Spacebars.dot(function () { return 0; }, 'abc', 'def'), 0); + + // test that in `foo.bar`, `bar` may be a function that takes arguments. + test.equal(Spacebars.dot( + { one: 1, inc: function (x) { return this.one + x; } }, 'inc')(6), 7); + test.equal(Spacebars.dot( + function () { + return { one: 1, inc: function (x) { return this.one + x; } }; + }, 'inc')(8), 9); + +}); + +////////////////////////////////////////////////// + +Tinytest.add("spacebars - parse", function (test) { + test.equal(HTML.toJS(Spacebars.parse('{{foo}}')), + 'HTML.Special({type: "DOUBLE", path: ["foo"]})'); + + test.equal(HTML.toJS(Spacebars.parse('{{!foo}}')), 'null'); + test.equal(HTML.toJS(Spacebars.parse('x{{!foo}}y')), '"xy"'); + + test.equal(HTML.toJS(Spacebars.parse('{{#foo}}x{{/foo}}')), + 'HTML.Special({type: "BLOCKOPEN", path: ["foo"], content: "x"})'); + + test.equal(HTML.toJS(Spacebars.parse('{{#foo}}{{#bar}}{{/bar}}{{/foo}}')), + 'HTML.Special({type: "BLOCKOPEN", path: ["foo"], content: HTML.Special({type: "BLOCKOPEN", path: ["bar"]})})'); + + test.equal(HTML.toJS(Spacebars.parse('
    hello
    {{#foo}}
    {{#bar}}world{{/bar}}
    {{/foo}}')), + '[HTML.DIV("hello"), " ", HTML.Special({type: "BLOCKOPEN", path: ["foo"], content: HTML.DIV(HTML.Special({type: "BLOCKOPEN", path: ["bar"], content: "world"}))})]'); + + + test.throws(function () { + Spacebars.parse(''); + }); + test.throws(function () { + Spacebars.parse(''); + }); + test.throws(function () { + Spacebars.parse(''); + }); + test.throws(function () { + Spacebars.parse(''); + }); + test.throws(function () { + Spacebars.parse(''); + }); + test.throws(function () { + Spacebars.parse(' x}}>'); + }); + + test.equal(HTML.toJS(Spacebars.parse('')), + 'HTML.A({b: "c"})'); + + // currently, if there are only comments, the attribute is truthy. This is + // because comments are stripped during tokenization. If we include + // comments in the token stream, these cases will become falsy for selected. + test.equal(HTML.toJS(Spacebars.parse('')), + 'HTML.INPUT({selected: ""})'); + test.equal(HTML.toJS(Spacebars.parse('')), + 'HTML.INPUT({selected: ""})'); + +}); diff --git a/handlebars-htmljs-node/spacebars-compiler/syntax.md b/handlebars-htmljs-node/spacebars-compiler/syntax.md new file mode 100644 index 0000000..410562e --- /dev/null +++ b/handlebars-htmljs-node/spacebars-compiler/syntax.md @@ -0,0 +1,108 @@ +# Meteor Template Syntax Guide + +## HTML Syntax + +Meteor templates are written in [standard HTML](http://developers.whatwg.org/syntax.html) with some additional syntax. + +Meteor validates your HTML as it goes and is not as lenient as a web browser, which will typically bend over backwards to recover from even wildly malformed markup. Meteor will throw a compile-time error if you violate basic HTML syntax in a way that prevents Meteor from determining the structure of your code. + +You must close your element tags, with a few exceptions: + +* The well-known BR, HR, IMG, and INPUT tags, along with a few others, have no end tag. You can write them in self-closing style if you like (`
    `) or simply write the start tag (`
    `). + +* You can omit the end tag of certain elements, like P and LI, according to the spec, but Meteor doesn't currently implement this feature. + +## Template Tag Basics + +Template tags let you insert text or other content in certain places in the HTML. Meteor calculates the current value of the template tag and automatically keeps that part of the HTML up-to-date. Template tags can only be used in the places described below. They can't be used to insert arbitrary snippets of HTML such as just an HTML start tag or just the name of a tag. + +### Template Tags in Element Positions + +Anywhere you could write an HTML start tag, you can use any of the five major template tag types: + +``` +{{doubleBrace}} + +{{{tripleBrace}}} + +{{> inclusion}} + +{{#block}} +

    Hello

    +{{/block}} + +{{! This is a comment}} +``` + +The double-brace tag `{{foo}}` is used to insert text, while the triple-brace `{{{foo}}}` is used to insert HTML. Inclusion tags like `{{> foo}}` are used to insert other templates. + +The contents of a block `{{#foo}}...{{/foo}}` must contain balanced HTML tags! Block tags take a block of template code as input and are often used as control structures. + +A block tag can optionally take "else content" as well: + +``` +{{#if something}} +

    It's true

    +{{else}} +

    It's false

    +{{/if}} +``` + +Template tags may have dotted names and take positional and keyword arguments, as in `{{foo.bar this.baz x=3 label="stuff"}}`. For more on their form and interpretation, see later sections below. + +### Template Tags in Attribute Values + +You can use double-braces, blocks, and comments inside an attribute value of an HTML start tag. The attribute value is the part that comes after the `=` sign, and it may be surrounded in quotes or not: + +``` +
    ...
    + +... + + +``` + +Using a template tag never requires additional quotes, because each template tag is parsed as a single token during HTML parsing (as if it were, say, a letter A, regardless of what it evaluates to at runtime). + +If you use a block inside an attribute value, the block contents are parsed with the same restrictions as an attribute value. That is, you can't have HTML elements, and you can only use the template tags that are allowed in an attribute value. + +``` +
    ...
    +``` + +XXX not implemented yet + +Comment tags (`{{! This is a comment}}`) are allowed in attribute values. Triple-brace and inclusions are not allowed. + +### Dynamic Attributes + +As a special form, a double-brace tag can be used inside an HTML start tag to specify an arbitrary, reactively changing set of attributes: + +``` +
    ...
    + + +``` + +The tag must evaluate to an object that serves as a dictionary of attribute name and value strings. (XXX not fully implemented) For convenience, the value may also be a string or null. + +Null or an empty string expands to `{}`. A non-empty string value must be an attribute name, which is expanded to an empty attribute. For example, `"checked"` is expanded to `{checked: ""}` (which, as far as HTML is concerned, means the checkbox is checked; the value of the attribute is ignored as long as it is present). + +To summarize: + +|Return Value|Equivalent HTML| +|------------|---------------| +|`""` or `null` or `{}`| | +|`"checked"` or `{checked: ""}`|`checked`| +|`{checked: "", 'class': "foo"}`|`checked class=foo`| +|`"checked class=foo"`|ERROR, string is not an attribute name| + +You can combine multiple dynamic attributes tags with other attributes: + +``` +
    ...
    +``` + +Attributes from dynamic attribute tags are combined from left to right, after normal attributes, with later attribute values overwriting previous ones. Multiple values for the same attribute are not merged in any way, so if `attrs1` specifies a value for the `class` attribute, it will overwrite `{{myClass}}`. Meteor takes care of recalculating the element's attributes if any of `myClass`, `attrs1`, or `attrs2` changes reactively. + +Comment tags are allowed in the reactive attribute position. diff --git a/handlebars-htmljs-node/spacebars-compiler/templatetag.js b/handlebars-htmljs-node/spacebars-compiler/templatetag.js new file mode 100644 index 0000000..b0ec8a4 --- /dev/null +++ b/handlebars-htmljs-node/spacebars-compiler/templatetag.js @@ -0,0 +1,438 @@ +// A TemplateTag is the result of parsing a single `{{...}}` tag. +// +// The `.type` of a TemplateTag is one of: +// +// - `"DOUBLE"` - `{{foo}}` +// - `"TRIPLE"` - `{{{foo}}}` +// - `"COMMENT"` - `{{! foo}}` +// - `"INCLUSION"` - `{{> foo}}` +// - `"BLOCKOPEN"` - `{{#foo}}` +// - `"BLOCKCLOSE"` - `{{/foo}}` +// - `"ELSE"` - `{{else}}` +// +// Besides `type`, the mandatory properties of a TemplateTag are: +// +// - `path` - An array of one or more strings. The path of `{{foo.bar}}` +// is `["foo", "bar"]`. Applies to DOUBLE, TRIPLE, INCLUSION, BLOCKOPEN, +// and BLOCKCLOSE. +// +// - `args` - An array of zero or more argument specs. An argument spec +// is a two or three element array, consisting of a type, value, and +// optional keyword name. For example, the `args` of `{{foo "bar" x=3}}` +// are `[["STRING", "bar"], ["NUMBER", 3, "x"]]`. Applies to DOUBLE, +// TRIPLE, INCLUSION, and BLOCKOPEN. +// +// - `value` - For COMMENT tags, a string of the comment's text. +// +// These additional are typically set during parsing: +// +// - `position` - The HTML.TEMPLATE_TAG_POSITION specifying at what sort +// of site the TemplateTag was encountered (e.g. at element level or as +// part of an attribute value). Its absence implies +// HTML.TEMPLATE_TAG_POSITION.ELEMENT. +// +// - `content` and `elseContent` - When a BLOCKOPEN tag's contents are +// parsed, they are put here. `elseContent` will only be present if +// an `{{else}}` was found. + + +TemplateTag = Spacebars.TemplateTag = function () {}; + +var makeStacheTagStartRegex = function (r) { + return new RegExp(r.source + /(?![{>!#/])/.source, + r.ignoreCase ? 'i' : ''); +}; + +var starts = { + ELSE: makeStacheTagStartRegex(/^\{\{\s*else(?=[\s}])/i), + DOUBLE: makeStacheTagStartRegex(/^\{\{\s*(?!\s)/), + TRIPLE: makeStacheTagStartRegex(/^\{\{\{\s*(?!\s)/), + COMMENT: makeStacheTagStartRegex(/^\{\{\s*!/), + INCLUSION: makeStacheTagStartRegex(/^\{\{\s*>\s*(?!\s)/), + BLOCKOPEN: makeStacheTagStartRegex(/^\{\{\s*#\s*(?!\s)/), + BLOCKCLOSE: makeStacheTagStartRegex(/^\{\{\s*\/\s*(?!\s)/) +}; + +var ends = { + DOUBLE: /^\s*\}\}/, + TRIPLE: /^\s*\}\}\}/ +}; + +// Parse a tag from the provided scanner or string. If the input +// doesn't start with `{{`, returns null. Otherwise, either succeeds +// and returns a Spacebars.TemplateTag, or throws an error (using +// `scanner.fatal` if a scanner is provided). +TemplateTag.parse = function (scannerOrString) { + var scanner = scannerOrString; + if (typeof scanner === 'string') + scanner = new HTML.Scanner(scannerOrString); + + if (! (scanner.peek() === '{' && + (scanner.rest()).slice(0, 2) === '{{')) + return null; + + var run = function (regex) { + // regex is assumed to start with `^` + var result = regex.exec(scanner.rest()); + if (! result) + return null; + var ret = result[0]; + scanner.pos += ret.length; + return ret; + }; + + var advance = function (amount) { + scanner.pos += amount; + }; + + var scanIdentifier = function (isFirstInPath) { + var id = parseIdentifierName(scanner); + if (! id) + expected('IDENTIFIER'); + if (isFirstInPath && + (id === 'null' || id === 'true' || id === 'false')) + scanner.fatal("Can't use null, true, or false, as an identifier at start of path"); + + return id; + }; + + var scanPath = function () { + var segments = []; + + // handle initial `.`, `..`, `./`, `../`, `../..`, `../../`, etc + var dots; + if ((dots = run(/^[\.\/]+/))) { + var ancestorStr = '.'; // eg `../../..` maps to `....` + var endsWithSlash = /\/$/.test(dots); + + if (endsWithSlash) + dots = dots.slice(0, -1); + + _.each(dots.split('/'), function(dotClause, index) { + if (index === 0) { + if (dotClause !== '.' && dotClause !== '..') + expected("`.`, `..`, `./` or `../`"); + } else { + if (dotClause !== '..') + expected("`..` or `../`"); + } + + if (dotClause === '..') + ancestorStr += '.'; + }); + + segments.push(ancestorStr); + + if (!endsWithSlash) + return segments; + } + + while (true) { + // scan a path segment + + if (run(/^\[/)) { + var seg = run(/^[\s\S]*?\]/); + if (! seg) + error("Unterminated path segment"); + seg = seg.slice(0, -1); + if (! seg && ! segments.length) + error("Path can't start with empty string"); + segments.push(seg); + } else { + var id = scanIdentifier(! segments.length); + if (id === 'this' && ! segments.length) { + // initial `this` + segments.push('.'); + } else { + segments.push(id); + } + } + + var sep = run(/^[\.\/]/); + if (! sep) + break; + } + + return segments; + }; + + // scan an argument; succeeds or errors. + // Result is an array of two or three items: + // type , value, and (indicating a keyword argument) + // keyword name. + var scanArg = function (notKeyword) { + var startPos = scanner.pos; + var result; + if ((result = parseNumber(scanner))) { + return ['NUMBER', result.value]; + } else if ((result = parseStringLiteral(scanner))) { + return ['STRING', result.value]; + } else if (/^[\.\[]/.test(scanner.peek())) { + return ['PATH', scanPath()]; + } else if ((result = parseIdentifierName(scanner))) { + var id = result; + if (id === 'null') { + return ['NULL', null]; + } else if (id === 'true' || id === 'false') { + return ['BOOLEAN', id === 'true']; + } else { + if ((! notKeyword) && + /^\s*=/.test(scanner.rest())) { + // it's a keyword argument! + run(/^\s*=\s*/); + // recurse to scan value, disallowing a second `=`. + var arg = scanArg(true); + arg.push(id); // add third element for key + return arg; + } else { + scanner.pos = startPos; // unconsume `id` + return ['PATH', scanPath()]; + } + } + } else { + expected('identifier, number, string, boolean, or null'); + } + }; + + var type; + + var error = function (msg) { + scanner.fatal(msg); + }; + + var expected = function (what) { + error('Expected ' + what); + }; + + // must do ELSE first; order of others doesn't matter + + if (run(starts.ELSE)) type = 'ELSE'; + else if (run(starts.DOUBLE)) type = 'DOUBLE'; + else if (run(starts.TRIPLE)) type = 'TRIPLE'; + else if (run(starts.COMMENT)) type = 'COMMENT'; + else if (run(starts.INCLUSION)) type = 'INCLUSION'; + else if (run(starts.BLOCKOPEN)) type = 'BLOCKOPEN'; + else if (run(starts.BLOCKCLOSE)) type = 'BLOCKCLOSE'; + else + error('Unknown stache tag'); + + var tag = new TemplateTag; + tag.type = type; + + if (type === 'COMMENT') { + var result = run(/^[\s\S]*?\}\}/); + if (! result) + error("Unclosed comment"); + tag.value = result.slice(0, -2); + } else if (type === 'BLOCKCLOSE') { + tag.path = scanPath(); + if (! run(ends.DOUBLE)) + expected('`}}`'); + } else if (type === 'ELSE') { + if (! run(ends.DOUBLE)) + expected('`}}`'); + } else { + // DOUBLE, TRIPLE, BLOCKOPEN, INCLUSION + tag.path = scanPath(); + tag.args = []; + var foundKwArg = false; + while (true) { + run(/^\s*/); + if (type === 'TRIPLE') { + if (run(ends.TRIPLE)) + break; + else if (scanner.peek() === '}') + expected('`}}}`'); + } else { + if (run(ends.DOUBLE)) + break; + else if (scanner.peek() === '}') + expected('`}}`'); + } + var newArg = scanArg(); + if (newArg.length === 3) { + foundKwArg = true; + } else { + if (foundKwArg) + error("Can't have a non-keyword argument after a keyword argument"); + } + tag.args.push(newArg); + + if (run(/^(?=[\s}])/) !== '') + expected('space'); + } + } + + return tag; +}; + +// Returns a Spacebars.TemplateTag parsed from `scanner`, leaving scanner +// at its original position. +// +// An error will still be thrown if there is not a valid template tag at +// the current position. +TemplateTag.peek = function (scanner) { + var startPos = scanner.pos; + var result = TemplateTag.parse(scanner); + scanner.pos = startPos; + return result; +}; + +// Like `TemplateTag.parse`, but in the case of blocks, parse the complete +// `{{#foo}}...{{/foo}}` with `content` and possible `elseContent`, rather +// than just the BLOCKOPEN tag. +// +// In addition: +// +// - Throws an error if `{{else}}` or `{{/foo}}` tag is encountered. +// +// - Returns `null` for a COMMENT. (This case is distinguishable from +// parsing no tag by the fact that the scanner is advanced.) +// +// - Takes an HTML.TEMPLATE_TAG_POSITION `position` and sets it as the +// TemplateTag's `.position` property. +// +// - Validates the tag's well-formedness and legality at in its position. +TemplateTag.parseCompleteTag = function (scannerOrString, position) { + var scanner = scannerOrString; + if (typeof scanner === 'string') + scanner = new HTML.Scanner(scannerOrString); + + var startPos = scanner.pos; // for error messages + var result = TemplateTag.parse(scannerOrString); + if (! result) + return result; + + if (result.type === 'COMMENT') + return null; + + if (result.type === 'ELSE') + scanner.fatal("Unexpected {{else}}"); + + if (result.type === 'BLOCKCLOSE') + scanner.fatal("Unexpected closing template tag"); + + position = (position || HTML.TEMPLATE_TAG_POSITION.ELEMENT); + if (position !== HTML.TEMPLATE_TAG_POSITION.ELEMENT) + result.position = position; + + if (result.type === 'BLOCKOPEN') { + // parse block contents + + // Construct a string version of `.path` for comparing start and + // end tags. For example, `foo/[0]` was parsed into `["foo", "0"]` + // and now becomes `foo,0`. This form may also show up in error + // messages. + var blockName = result.path.join(','); + + var textMode = null; + if (blockName === 'markdown' || + position === HTML.TEMPLATE_TAG_POSITION.IN_RAWTEXT) { + textMode = HTML.TEXTMODE.STRING; + } else if (position === HTML.TEMPLATE_TAG_POSITION.IN_RCDATA || + position === HTML.TEMPLATE_TAG_POSITION.IN_ATTRIBUTE) { + textMode = HTML.TEXTMODE.RCDATA; + } + var parserOptions = { + getSpecialTag: TemplateTag.parseCompleteTag, + shouldStop: isAtBlockCloseOrElse, + textMode: textMode + }; + result.content = HTML.parseFragment(scanner, parserOptions); + + if (scanner.rest().slice(0, 2) !== '{{') + scanner.fatal("Expected {{else}} or block close for " + blockName); + + var lastPos = scanner.pos; // save for error messages + var tmplTag = TemplateTag.parse(scanner); // {{else}} or {{/foo}} + + if (tmplTag.type === 'ELSE') { + // parse {{else}} and content up to close tag + result.elseContent = HTML.parseFragment(scanner, parserOptions); + + if (scanner.rest().slice(0, 2) !== '{{') + scanner.fatal("Expected block close for " + blockName); + + lastPos = scanner.pos; + tmplTag = TemplateTag.parse(scanner); + } + + if (tmplTag.type === 'BLOCKCLOSE') { + var blockName2 = tmplTag.path.join(','); + if (blockName !== blockName2) { + scanner.pos = lastPos; + scanner.fatal('Expected tag to close ' + blockName + ', found ' + + blockName2); + } + } else { + scanner.pos = lastPos; + scanner.fatal('Expected tag to close ' + blockName + ', found ' + + tmplTag.type); + } + } + + var finalPos = scanner.pos; + scanner.pos = startPos; + validateTag(result, scanner); + scanner.pos = finalPos; + + return result; +}; + +var isAtBlockCloseOrElse = function (scanner) { + // Detect `{{else}}` or `{{/foo}}`. + // + // We do as much work ourselves before deferring to `TemplateTag.peek`, + // for efficiency (we're called for every input token) and to be + // less obtrusive, because `TemplateTag.peek` will throw an error if it + // sees `{{` followed by a malformed tag. + var rest, type; + return (scanner.peek() === '{' && + (rest = scanner.rest()).slice(0, 2) === '{{' && + /^\{\{\s*(\/|else\b)/.test(rest) && + (type = TemplateTag.peek(scanner).type) && + (type === 'BLOCKCLOSE' || type === 'ELSE')); +}; + +// Validate that `templateTag` is correctly formed and legal for its +// HTML position. Use `scanner` to report errors. On success, does +// nothing. +var validateTag = function (ttag, scanner) { + + if (ttag.type === 'INCLUSION') { + // throw error on >1 positional arguments + var numPosArgs = 0; + var args = ttag.args; + for (var i = 0; i < args.length; i++) + if (args[i].length === 2) + numPosArgs++; + if (numPosArgs > 1) + scanner.fatal("Only one positional argument is allowed in {{> ... }}"); + } + + var position = ttag.position || HTML.TEMPLATE_TAG_POSITION.ELEMENT; + if (position === HTML.TEMPLATE_TAG_POSITION.IN_ATTRIBUTE) { + if (ttag.type === 'DOUBLE') { + return; + } else if (ttag.type === 'BLOCKOPEN') { + var path = ttag.path; + var path0 = path[0]; + if (! (path.length === 1 && (path0 === 'if' || + path0 === 'unless' || + path0 === 'with' || + path0 === 'each'))) { + scanner.fatal("Custom block helpers are not allowed in an HTML attribute, only built-in ones like #each and #if"); + } + } else { + scanner.fatal(ttag.type + " template tag is not allowed in an HTML attribute"); + } + } else if (position === HTML.TEMPLATE_TAG_POSITION.IN_START_TAG) { + if (! (ttag.type === 'DOUBLE')) { + scanner.fatal("Reactive HTML attributes must either have a constant name or consist of a single {{helper}} providing a dictionary of names and values. A template tag of type " + ttag.type + " is not allowed here."); + } + if (scanner.peek() === '=') { + scanner.fatal("Template tags are not allowed in attribute names, only in attribute values or in the form of a single {{helper}} that evaluates to a dictionary of name=value pairs."); + } + } + +}; diff --git a/handlebars-htmljs-node/spacebars-compiler/tojs.js b/handlebars-htmljs-node/spacebars-compiler/tojs.js new file mode 100644 index 0000000..a7534a2 --- /dev/null +++ b/handlebars-htmljs-node/spacebars-compiler/tojs.js @@ -0,0 +1,104 @@ + +// Turns any JSONable value into a JavaScript literal. +toJSLiteral = function (obj) { + // See for `\u2028\u2029`. + // Also escape Unicode surrogates. + return (JSON.stringify(obj) + .replace(/[\u2028\u2029\ud800-\udfff]/g, function (c) { + return '\\u' + ('000' + c.charCodeAt(0).toString(16)).slice(-4); + })); +}; + + + +var jsReservedWordSet = (function (set) { + _.each("abstract else instanceof super boolean enum int switch break export interface synchronized byte extends let this case false long throw catch final native throws char finally new transient class float null true const for package try continue function private typeof debugger goto protected var default if public void delete implements return volatile do import short while double in static with".split(' '), function (w) { + set[w] = 1; + }); + return set; +})({}); + +toObjectLiteralKey = function (k) { + if (/^[a-zA-Z$_][a-zA-Z$0-9_]*$/.test(k) && jsReservedWordSet[k] !== 1) + return k; + return toJSLiteral(k); +}; + +// This method is generic, i.e. it can be transplanted to non-Tags +// and it will still work by accessing `this.tagName`, `this.attrs`, +// and `this.children`. It's ok if `this.attrs` has content that +// isn't allowed in an attribute (this feature is used by +// HTML.Special.prototype.toJS). +HTML.Tag.prototype.toJS = function (options) { + var argStrs = []; + if (this.attrs) { + var kvStrs = []; + for (var k in this.attrs) { + if (! HTML.isNully(this.attrs[k])) + kvStrs.push(toObjectLiteralKey(k) + ': ' + + HTML.toJS(this.attrs[k], options)); + } + if (kvStrs.length) + argStrs.push('{' + kvStrs.join(', ') + '}'); + } + + for (var i = 0; i < this.children.length; i++) { + argStrs.push(HTML.toJS(this.children[i], options)); + } + + var tagSymbol = this.tagName; + if ((this instanceof HTML.Tag) && ! HTML.isTagEnsured(tagSymbol)) + tagSymbol = 'HTML.getTag(' + toJSLiteral(tagSymbol) + ')'; + else + tagSymbol = 'HTML.' + tagSymbol; + + return tagSymbol + '(' + argStrs.join(', ') + ')'; +}; + +HTML.CharRef.prototype.toJS = function (options) { + return HTML.Tag.prototype.toJS.call({tagName: "CharRef", + attrs: {html: this.html, + str: this.str}, + children: []}, + options); +}; + +HTML.Comment.prototype.toJS = function (options) { + return HTML.Tag.prototype.toJS.call({tagName: "Comment", + attrs: null, + children: [this.value]}, + options); +}; + +HTML.Raw.prototype.toJS = function (options) { + return HTML.Tag.prototype.toJS.call({tagName: "Raw", + attrs: null, + children: [this.value]}, + options); +}; + +HTML.EmitCode.prototype.toJS = function (options) { + return this.value; +}; + +HTML.toJS = function (node, options) { + if (node == null) { + // null or undefined + return 'null'; + } else if ((typeof node === 'string') || (typeof node === 'boolean') || (typeof node === 'number')) { + // string (or something that will be rendered as a string) + return toJSLiteral(node); + } else if (node instanceof Array) { + // array + var parts = []; + for (var i = 0; i < node.length; i++) + parts.push(HTML.toJS(node[i], options)); + return '[' + parts.join(', ') + ']'; + } else if (node.toJS) { + // Tag or something else + return node.toJS(options); + } else { + throw new Error("Expected tag, string, array, null, undefined, or " + + "object with a toJS method; found: " + node); + } +}; diff --git a/handlebars-htmljs-node/spacebars-compiler/token_tests.js b/handlebars-htmljs-node/spacebars-compiler/token_tests.js new file mode 100644 index 0000000..55e6423 --- /dev/null +++ b/handlebars-htmljs-node/spacebars-compiler/token_tests.js @@ -0,0 +1,66 @@ +Tinytest.add("spacebars - token parsers", function (test) { + + var run = function (func, input, expected) { + var scanner = new HTML.Scanner('z' + input); + // make sure the parse function respects `scanner.pos` + scanner.pos = 1; + var result = func(scanner); + if (expected === null) { + test.equal(scanner.pos, 1); + test.equal(result, null); + } else { + test.isTrue(scanner.isEOF()); + test.equal(result, expected); + } + }; + + var runValue = function (func, input, expectedValue) { + var expected; + if (expectedValue === null) + expected = null; + else + expected = { text: input, value: expectedValue }; + run(func, input, expected); + }; + + var parseNumber = Spacebars._$.parseNumber; + var parseIdentifierName = Spacebars._$.parseIdentifierName; + var parseStringLiteral = Spacebars._$.parseStringLiteral; + + runValue(parseNumber, "0", 0); + runValue(parseNumber, "-0", 0); + runValue(parseNumber, "-", null); + runValue(parseNumber, ".a", null); + runValue(parseNumber, ".1", 0.1); + runValue(parseNumber, "1.", 1); + runValue(parseNumber, "1.1", 1.1); + runValue(parseNumber, "0x", null); + runValue(parseNumber, "0xa", 10); + runValue(parseNumber, "-0xa", -10); + runValue(parseNumber, "1e+1", 10); + + run(parseIdentifierName, "a", "a"); + run(parseIdentifierName, "true", "true"); + run(parseIdentifierName, "null", "null"); + run(parseIdentifierName, "if", "if"); + run(parseIdentifierName, "1", null); + run(parseIdentifierName, "1a", null); + run(parseIdentifierName, "+a", null); + run(parseIdentifierName, "a1", "a1"); + run(parseIdentifierName, "a1a", "a1a"); + run(parseIdentifierName, "_a8f_f8d88_", "_a8f_f8d88_"); + + runValue(parseStringLiteral, '"a"', 'a'); + runValue(parseStringLiteral, '"\'"', "'"); + runValue(parseStringLiteral, '\'"\'', '"'); + runValue(parseStringLiteral, '"a\\\nb"', 'ab'); // line continuation + runValue(parseStringLiteral, '"a\u0062c"', 'abc'); + runValue(parseStringLiteral, '"\\0\\b\\f\\n\\r\\t\\v"', '\0\b\f\n\r\t\v'); + runValue(parseStringLiteral, '"\\x41"', 'A'); + runValue(parseStringLiteral, '"\\\\"', '\\'); + runValue(parseStringLiteral, '"\\\""', '\"'); + runValue(parseStringLiteral, '"\\\'"', '\''); + runValue(parseStringLiteral, "'\\\\'", '\\'); + runValue(parseStringLiteral, "'\\\"'", '\"'); + runValue(parseStringLiteral, "'\\\''", '\''); +}); diff --git a/handlebars-htmljs-node/spacebars-compiler/tokens.js b/handlebars-htmljs-node/spacebars-compiler/tokens.js new file mode 100644 index 0000000..c532f18 --- /dev/null +++ b/handlebars-htmljs-node/spacebars-compiler/tokens.js @@ -0,0 +1,183 @@ + +// Adapted from source code of http://xregexp.com/plugins/#unicode +var unicodeCategories = { + Ll: "0061-007A00B500DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02AF037103730377037B-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F05210523052505270561-05871D00-1D2B1D6B-1D771D79-1D9A1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF7210A210E210F2113212F21342139213C213D2146-2149214E21842C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7B2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2CF32D00-2D252D272D2DA641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA661A663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76FA771-A778A77AA77CA77FA781A783A785A787A78CA78EA791A793A7A1A7A3A7A5A7A7A7A9A7FAFB00-FB06FB13-FB17FF41-FF5A", + Lm: "02B0-02C102C6-02D102E0-02E402EC02EE0374037A0559064006E506E607F407F507FA081A0824082809710E460EC610FC17D718431AA71C78-1C7D1D2C-1D6A1D781D9B-1DBF2071207F2090-209C2C7C2C7D2D6F2E2F30053031-3035303B309D309E30FC-30FEA015A4F8-A4FDA60CA67FA717-A71FA770A788A7F8A7F9A9CFAA70AADDAAF3AAF4FF70FF9EFF9F", + Lo: "00AA00BA01BB01C0-01C3029405D0-05EA05F0-05F20620-063F0641-064A066E066F0671-06D306D506EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA0800-08150840-085808A008A2-08AC0904-0939093D09500958-09610972-09770979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10CF10CF20D05-0D0C0D0E-0D100D12-0D3A0D3D0D4E0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E450E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EDC-0EDF0F000F40-0F470F49-0F6C0F88-0F8C1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10D0-10FA10FD-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317DC1820-18421844-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541B05-1B331B45-1B4B1B83-1BA01BAE1BAF1BBA-1BE51C00-1C231C4D-1C4F1C5A-1C771CE9-1CEC1CEE-1CF11CF51CF62135-21382D30-2D672D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE3006303C3041-3096309F30A1-30FA30FF3105-312D3131-318E31A0-31BA31F0-31FF3400-4DB54E00-9FCCA000-A014A016-A48CA4D0-A4F7A500-A60BA610-A61FA62AA62BA66EA6A0-A6E5A7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2AA00-AA28AA40-AA42AA44-AA4BAA60-AA6FAA71-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADBAADCAAE0-AAEAAAF2AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA6DFA70-FAD9FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF66-FF6FFF71-FF9DFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC", + Lt: "01C501C801CB01F21F88-1F8F1F98-1F9F1FA8-1FAF1FBC1FCC1FFC", + Lu: "0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E05200522052405260531-055610A0-10C510C710CD1E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F214521832C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CED2CF2A640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA660A662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BA78DA790A792A7A0A7A2A7A4A7A6A7A8A7AAFF21-FF3A", + Mc: "0903093B093E-09400949-094C094E094F0982098309BE-09C009C709C809CB09CC09D70A030A3E-0A400A830ABE-0AC00AC90ACB0ACC0B020B030B3E0B400B470B480B4B0B4C0B570BBE0BBF0BC10BC20BC6-0BC80BCA-0BCC0BD70C01-0C030C41-0C440C820C830CBE0CC0-0CC40CC70CC80CCA0CCB0CD50CD60D020D030D3E-0D400D46-0D480D4A-0D4C0D570D820D830DCF-0DD10DD8-0DDF0DF20DF30F3E0F3F0F7F102B102C10311038103B103C105610571062-10641067-106D108310841087-108C108F109A-109C17B617BE-17C517C717C81923-19261929-192B193019311933-193819B0-19C019C819C91A19-1A1B1A551A571A611A631A641A6D-1A721B041B351B3B1B3D-1B411B431B441B821BA11BA61BA71BAA1BAC1BAD1BE71BEA-1BEC1BEE1BF21BF31C24-1C2B1C341C351CE11CF21CF3302E302FA823A824A827A880A881A8B4-A8C3A952A953A983A9B4A9B5A9BAA9BBA9BD-A9C0AA2FAA30AA33AA34AA4DAA7BAAEBAAEEAAEFAAF5ABE3ABE4ABE6ABE7ABE9ABEAABEC", + Mn: "0300-036F0483-04870591-05BD05BF05C105C205C405C505C70610-061A064B-065F067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0859-085B08E4-08FE0900-0902093A093C0941-0948094D0951-095709620963098109BC09C1-09C409CD09E209E30A010A020A3C0A410A420A470A480A4B-0A4D0A510A700A710A750A810A820ABC0AC1-0AC50AC70AC80ACD0AE20AE30B010B3C0B3F0B41-0B440B4D0B560B620B630B820BC00BCD0C3E-0C400C46-0C480C4A-0C4D0C550C560C620C630CBC0CBF0CC60CCC0CCD0CE20CE30D41-0D440D4D0D620D630DCA0DD2-0DD40DD60E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F71-0F7E0F80-0F840F860F870F8D-0F970F99-0FBC0FC6102D-10301032-10371039103A103D103E10581059105E-10601071-1074108210851086108D109D135D-135F1712-17141732-1734175217531772177317B417B517B7-17BD17C617C9-17D317DD180B-180D18A91920-19221927192819321939-193B1A171A181A561A58-1A5E1A601A621A65-1A6C1A73-1A7C1A7F1B00-1B031B341B36-1B3A1B3C1B421B6B-1B731B801B811BA2-1BA51BA81BA91BAB1BE61BE81BE91BED1BEF-1BF11C2C-1C331C361C371CD0-1CD21CD4-1CE01CE2-1CE81CED1CF41DC0-1DE61DFC-1DFF20D0-20DC20E120E5-20F02CEF-2CF12D7F2DE0-2DFF302A-302D3099309AA66FA674-A67DA69FA6F0A6F1A802A806A80BA825A826A8C4A8E0-A8F1A926-A92DA947-A951A980-A982A9B3A9B6-A9B9A9BCAA29-AA2EAA31AA32AA35AA36AA43AA4CAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1AAECAAEDAAF6ABE5ABE8ABEDFB1EFE00-FE0FFE20-FE26", + Nd: "0030-00390660-066906F0-06F907C0-07C90966-096F09E6-09EF0A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BEF0C66-0C6F0CE6-0CEF0D66-0D6F0E50-0E590ED0-0ED90F20-0F291040-10491090-109917E0-17E91810-18191946-194F19D0-19D91A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C59A620-A629A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19", + Nl: "16EE-16F02160-21822185-218830073021-30293038-303AA6E6-A6EF", + Pc: "005F203F20402054FE33FE34FE4D-FE4FFF3F" +}; + +var unicodeClass = function (abbrev) { + return '[' + + unicodeCategories[abbrev].replace(/[0-9A-F]{4}/ig, "\\u$&") + ']'; +}; + +// See ECMA-262 spec, 3rd edition, Section 7.6 +// Match one or more characters that can start an identifier. +// This is IdentifierStart+. +var rIdentifierPrefix = new RegExp( + "^([a-zA-Z$_]+|\\\\u[0-9a-fA-F]{4}|" + + [unicodeClass('Lu'), unicodeClass('Ll'), unicodeClass('Lt'), + unicodeClass('Lm'), unicodeClass('Lo'), unicodeClass('Nl')].join('|') + + ")+"); +// Match one or more characters that can continue an identifier. +// This is (IdentifierPart and not IdentifierStart)+. +// To match a full identifier, match rIdentifierPrefix, then +// match rIdentifierMiddle followed by rIdentifierPrefix until they both fail. +var rIdentifierMiddle = new RegExp( + "^([0-9]|" + [unicodeClass('Mn'), unicodeClass('Mc'), unicodeClass('Nd'), + unicodeClass('Pc')].join('|') + ")+"); + + +// See ECMA-262 spec, 3rd edition, Section 7.8.3 +var rHexLiteral = /^0[xX][0-9a-fA-F]+(?!\w)/; +var rDecLiteral = + /^(((0|[1-9][0-9]*)(\.[0-9]*)?)|\.[0-9]+)([Ee][+-]?[0-9]+)?(?!\w)/; + +// Section 7.8.4 +var rStringQuote = /^["']/; +// Match one or more characters besides quotes, backslashes, or line ends +var rStringMiddle = /^(?=.)[^"'\\]+?((?!.)|(?=["'\\]))/; +// Match one escape sequence, including the backslash. +var rEscapeSequence = + /^\\(['"\\bfnrtv]|0(?![0-9])|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|(?=.)[^ux0-9])/; +// Match one ES5 line continuation +var rLineContinuation = + /^\\(\r\n|[\u000A\u000D\u2028\u2029])/; + + +parseNumber = function (scanner) { + var startPos = scanner.pos; + + var isNegative = false; + if (scanner.peek() === '-') { + scanner.pos++; + isNegative = true; + } + // Note that we allow `"-0xa"`, unlike `Number(...)`. + + var rest = scanner.rest(); + var match = rDecLiteral.exec(rest) || rHexLiteral.exec(rest); + if (! match) { + scanner.pos = startPos; + return null; + } + var matchText = match[0]; + scanner.pos += matchText.length; + + var text = (isNegative ? '-' : '') + matchText; + var value = Number(matchText); + value = (isNegative ? -value : value); + return { text: text, value: value }; +}; + +parseIdentifierName = function (scanner) { + var startPos = scanner.pos; + var rest = scanner.rest(); + var match = rIdentifierPrefix.exec(rest); + if (! match) + return null; + scanner.pos += match[0].length; + rest = scanner.rest(); + var foundMore = true; + + while (foundMore) { + foundMore = false; + + match = rIdentifierMiddle.exec(rest); + if (match) { + foundMore = true; + scanner.pos += match[0].length; + rest = scanner.rest(); + } + + match = rIdentifierPrefix.exec(rest); + if (match) { + foundMore = true; + scanner.pos += match[0].length; + rest = scanner.rest(); + } + } + + return scanner.input.substring(startPos, scanner.pos); +}; + +parseStringLiteral = function (scanner) { + var startPos = scanner.pos; + var rest = scanner.rest(); + var match = rStringQuote.exec(rest); + if (! match) + return null; + + var quote = match[0]; + scanner.pos++; + rest = scanner.rest(); + + var jsonLiteral = '"'; + + while (match) { + match = rStringMiddle.exec(rest); + if (match) { + jsonLiteral += match[0]; + } else { + match = rEscapeSequence.exec(rest); + if (match) { + var esc = match[0]; + // Convert all string escapes to JSON-compatible string escapes, so we + // can use JSON.parse for some of the work. JSON strings are not the + // same as JS strings. They don't support `\0`, `\v`, `\'`, or hex + // escapes. + if (esc === '\\0') + jsonLiteral += '\\u0000'; + else if (esc === '\\v') + jsonLiteral += '\\u000b'; + else if (esc.charAt(1) === 'x') + jsonLiteral += '\\u00' + esc.slice(2); + else if (esc === '\\\'') + jsonLiteral += "'"; + else + jsonLiteral += esc; + } else { + match = rLineContinuation.exec(rest); + if (! match) { + match = rStringQuote.exec(rest); + if (match) { + var c = match[0]; + if (c !== quote) { + if (c === '"') + jsonLiteral += '\\'; + jsonLiteral += c; + } + } + } + } + } + if (match) { + scanner.pos += match[0].length; + rest = scanner.rest(); + if (match[0] === quote) + break; + } + } + + if (match[0] !== quote) + scanner.fatal("Unterminated string literal"); + + jsonLiteral += '"'; + var text = scanner.input.substring(startPos, scanner.pos); + var value = JSON.parse(jsonLiteral); + return { text: text, value: value }; +}; + +// expose for testing +Spacebars._$ = { + parseNumber: parseNumber, + parseIdentifierName: parseIdentifierName, + parseStringLiteral: parseStringLiteral +}; diff --git a/handlebars-htmljs-node/spacebars/index.js b/handlebars-htmljs-node/spacebars/index.js new file mode 100644 index 0000000..2453331 --- /dev/null +++ b/handlebars-htmljs-node/spacebars/index.js @@ -0,0 +1,24 @@ +// This is a hacked together node package of the spacebars sources found in +// https://github.com/meteor/meteor/tree/shark/packages/spacebars +// as a meteor package. + +// I'm basically just going to concatenate the sources together, hand it +// over to eval, and then return the result in modules.export. +var HTML = require('../htmljs'); +var UI = require('../ui'); + +// HACK HACK HACK +Deps = { + isolateValue: function(f) { return f(); } +}; +Handlebars = UI.Handlebars; + +// ok, load spacebars-runtime.js +var fs = require('fs'); +var source = ['spacebars-runtime'].map(function(f) { + return fs.readFileSync(__dirname+'/'+f+'.js', 'utf8'); +}).join('\n'); + +eval(source); + +module.exports = Spacebars; diff --git a/handlebars-htmljs-node/spacebars/package.js b/handlebars-htmljs-node/spacebars/package.js new file mode 100644 index 0000000..bc67d95 --- /dev/null +++ b/handlebars-htmljs-node/spacebars/package.js @@ -0,0 +1,19 @@ +Package.describe({ + summary: "Handlebars-like template language for Meteor" +}); + +// For more, see package `spacebars-compiler`, which is used by +// the build plugin and not shipped to the client unless you +// ask for it by name. +// +// The Spacebars build plugin is in package `templating`. +// +// Additional tests are in `spacebars-tests`. + +Package.on_use(function (api) { + api.export('Spacebars'); + + api.use('htmljs'); + api.use('ui'); + api.add_files(['spacebars-runtime.js']); +}); diff --git a/handlebars-htmljs-node/spacebars/spacebars-runtime.js b/handlebars-htmljs-node/spacebars/spacebars-runtime.js new file mode 100644 index 0000000..86159eb --- /dev/null +++ b/handlebars-htmljs-node/spacebars/spacebars-runtime.js @@ -0,0 +1,239 @@ +Spacebars = {}; + +// Returns true if `a` and `b` are `===`, unless they are of a mutable type. +// (Because then, they may be equal references to an object that was mutated, +// and we'll never know. We save only a reference to the old object; we don't +// do any deep-copying or diffing.) +var safeEquals = function (a, b) { + if (a !== b) + return false; + else + return ((!a) || (typeof a === 'number') || (typeof a === 'boolean') || + (typeof a === 'string')); +}; + +Spacebars.include = function (kindOrFunc, args) { + args = args || {}; + if (typeof kindOrFunc === 'function') { + // function block helper + var func = kindOrFunc; + + var hash = {}; + // Call arguments if they are functions. This may cause + // reactive dependencies! + for (var k in args) { + if (k !== 'data') { + var v = args[k]; + hash[k] = (typeof v === 'function' ? v() : v); + } + } + + var result = Deps.isolateValue(function () { + if ('data' in args) { + var data = args.data; + data = (typeof data === 'function' ? data() : data); + return func(data, { hash: hash }); + } else { + return func({ hash: hash }); + } + }); + + if (result !== null && !UI.isComponent(result)) + throw new Error("Expected null or template in return value from helper, found: " + result); + + // In `{{#foo}}...{{/foo}}`, if `foo` is a function that + // returns a component, attach __content and __elseContent + // to it. + if (UI.isComponent(result) && + (('__content' in args) || ('__elseContent' in args))) { + var extra = {}; + if ('__content' in args) + extra.__content = args.__content; + if ('__elseContent' in args) + extra.__elseContent = args.__elseContent; + result = result.extend(extra); + } + return result; + } else { + // Component + var kind = kindOrFunc; + if (! UI.isComponent(kind)) + throw new Error("Expected template, found: " + kind); + + // Note that there are no reactive dependencies established here. + if (args) { + var emboxedArgs = {}; + for (var k in args) { + if (k === '__content' || k === '__elseContent') + emboxedArgs[k] = args[k]; + else + emboxedArgs[k] = UI.emboxValue(args[k], safeEquals); + } + + return kind.extend(emboxedArgs); + } else { + return kind; + } + } +}; + + +// Executes `{{foo bar baz}}` when called on `(foo, bar, baz)`. +// If `bar` and `baz` are functions, they are called before +// `foo` is called on them. +// +// This is the shared part of Spacebars.mustache and +// Spacebars.attrMustache, which differ in how they post-process the +// result. +Spacebars.mustacheImpl = function (value/*, args*/) { + var args = arguments; + // if we have any arguments (pos or kw), add an options argument + // if there isn't one. + if (args.length > 1) { + var kw = args[args.length - 1]; + if (! (kw instanceof Spacebars.kw)) { + kw = Spacebars.kw(); + // clone arguments into an actual array, then push + // the empty kw object. + args = Array.prototype.slice.call(arguments); + args.push(kw); + } else { + // For each keyword arg, call it if it's a function + var newHash = {}; + for (var k in kw.hash) { + var v = kw.hash[k]; + newHash[k] = (typeof v === 'function' ? v() : v); + } + args[args.length - 1] = Spacebars.kw(newHash); + } + } + + return Deps.isolateValue(function () { + return Spacebars.call.apply(null, args); + }, /* equals= */ function (x, y) { + if (x instanceof Handlebars.SafeString) { + return (y instanceof Handlebars.SafeString) && (x.string === y.string); + } else { + return safeEquals(x, y); + } + }); +}; + +Spacebars.mustache = function (value/*, args*/) { + var result = Spacebars.mustacheImpl.apply(null, arguments); + + if (result instanceof Handlebars.SafeString) + return HTML.Raw(result.toString()); + else + // map `null`, `undefined`, and `false` to null, which is important + // so that attributes with nully values are considered absent. + // stringify anything else (e.g. strings, booleans, numbers including 0). + return (result == null || result === false) ? null : String(result); +}; + +Spacebars.attrMustache = function (value/*, args*/) { + var result = Spacebars.mustacheImpl.apply(null, arguments); + + if (result == null || result === '') { + return null; + } else if (typeof result === 'object') { + return result; + } else if (typeof result === 'string' && HTML.isValidAttributeName(result)) { + var obj = {}; + obj[result] = ''; + return obj; + } else { + throw new Error("Expected valid attribute name, '', null, or object"); + } +}; + +// Idempotently wrap in `HTML.Raw`. +// +// Called on the return value from `Spacebars.mustache` in case the +// template uses triple-stache (`{{{foo bar baz}}}`). +Spacebars.makeRaw = function (value) { + if (value == null) // null or undefined + return null; + else if (value instanceof HTML.Raw) + return value; + else + return HTML.Raw(value); +}; + +// If `value` is a function, called it on the `args`, after +// evaluating the args themselves (by calling them if they are +// functions). Otherwise, simply return `value` (and assert that +// there are no args). +Spacebars.call = function (value/*, args*/) { + if (typeof value === 'function') { + // evaluate arguments if they are functions (by calling them) + var newArgs = []; + for (var i = 1; i < arguments.length; i++) { + var arg = arguments[i]; + newArgs[i-1] = (typeof arg === 'function' ? arg() : arg); + } + + return value.apply(null, newArgs); + } else { + if (arguments.length > 1) + throw new Error("Can't call non-function: " + value); + + return value; + } +}; + +// Call this as `Spacebars.kw({ ... })`. The return value +// is `instanceof Spacebars.kw`. +Spacebars.kw = function (hash) { + if (! (this instanceof Spacebars.kw)) + return new Spacebars.kw(hash); + + this.hash = hash || {}; +}; + +// `Spacebars.dot(foo, "bar", "baz")` performs a special kind +// of `foo.bar.baz` that allows safe indexing of `null` and +// indexing of functions (which calls the function). If the +// result is a function, it is always a bound function (e.g. +// a wrapped version of `baz` that always uses `foo.bar` as +// `this`). +// +// In `Spacebars.dot(foo, "bar")`, `foo` is assumed to be either +// a non-function value or a "fully-bound" function wrapping a value, +// where fully-bound means it takes no arguments and ignores `this`. +// +// `Spacebars.dot(foo, "bar")` performs the following steps: +// +// * If `foo` is falsy, return `foo`. +// +// * If `foo` is a function, call it (set `foo` to `foo()`). +// +// * If `foo` is falsy now, return `foo`. +// +// * Return `foo.bar`, binding it to `foo` if it's a function. +Spacebars.dot = function (value, id1/*, id2, ...*/) { + if (arguments.length > 2) { + // Note: doing this recursively is probably less efficient than + // doing it in an iterative loop. + var argsForRecurse = []; + argsForRecurse.push(Spacebars.dot(value, id1)); + argsForRecurse.push.apply(argsForRecurse, + Array.prototype.slice.call(arguments, 2)); + return Spacebars.dot.apply(null, argsForRecurse); + } + + if (typeof value === 'function') + value = value(); + + if (! value) + return value; // falsy, don't index, pass through + + var result = value[id1]; + if (typeof result !== 'function') + return result; + // `value[id1]` (or `value()[id1]`) is a function. + // Bind it so that when called, `value` will be placed in `this`. + return function (/*arguments*/) { + return result.apply(value, arguments); + }; +}; diff --git a/handlebars-htmljs-node/ui/index.js b/handlebars-htmljs-node/ui/index.js new file mode 100644 index 0000000..a53c36a --- /dev/null +++ b/handlebars-htmljs-node/ui/index.js @@ -0,0 +1,333 @@ +// Some glue lifted from the meteor ui package found at +// https://github.com/meteor/meteor/tree/shark/packages/ui +// but hacked to pieces to remove reactivity and other unnecessary features. + +var _ = require('../miniu'); +var HTML = require('../html-tools'); + +// ----------- from base.js --------------------------- +var UI = {}; + +var sanitizeTypeName = function (typeName) { + return String(typeName).replace(/^[^a-zA-Z_]|[^a-zA-Z_0-9]+/g, + '') || 'Component'; +}; + +UI.Component = (function(constr) { + var C = new constr; + Object.defineProperty(C, '_constr', {value: constr}); + Object.defineProperty(C, '_super', {value: null}); + return C; +})(function Component() {}); +UI.Component._type = 'Component'; +UI.Component.kind = 'Component'; +UI.Component.withData = function(data) { + return this.extend({data: data}); +}; +UI.Component.extend = function(props) { + var constr; + var constrMade = false; + // Any Component with a kind of "Foo" (say) is given + // a `._constr` of the form `function Foo() {}`. + if (props && props.kind) { + constr = Function("return function " + + sanitizeTypeName(props.kind) + + "() {};")(); + constrMade = true; + } else { + constr = this._constr; + } + + // We don't know where we're getting `constr` from -- + // it might be from some supertype -- just that it has + // the right function name. So set the `prototype` + // property each time we use it as a constructor. + constr.prototype = this; + + var c = new constr; + if (constrMade) + c._constr = constr; + + if (props) { + for (var k in props) { + if (props.hasOwnProperty(k)) { + c[k] = props[k]; + } + } + } + + // for efficient Component instantiations, we assign + // as few things as possible here. + Object.defineProperty(c, '_super', {value: this}); + return c; +}; + +var findComponentWithProp = function (id, comp) { + while (comp) { + if (typeof comp[id] !== 'undefined') + return comp; + comp = comp.parent; + } + return null; +}; + +var getComponentData = function (comp) { + comp = findComponentWithProp('data', comp); + return (comp ? + (typeof comp.data === 'function' ? + comp.data() : comp.data) : + null); +}; + +// ------- from render.js --------- +UI.Component.instantiate = function(parent) { + var kind = this; + var inst = kind.extend(); + inst.isInited = true; + inst.parent = (parent || null); + if (inst.init) { inst.init(); } + return inst; +}; +UI.Component.render = function() { return null; }; +UI.isComponent = function(obj) { return obj && obj._type === 'Component'; }; +UI.emboxValue = function(funcOrValue, equals) { + if (typeof funcOrValue === 'function') { + return funcOrValue(); + } else { + return funcOrValue; + } +}; +UI.body = UI.Component.extend({ + kind: 'body', + contentParts: [], + render: function () { + return this.contentParts; + }, +}); +UI.block = function(renderFunc) { + return UI.Component.extend({ render: renderFunc }); +}; +UI.toHTML = function (content, parentComponent) { + return HTML.toHTML(content, parentComponent); +}; + +// ----------- from each.js --------------------------- +UI.Each = UI.Component.extend({ + kind: 'Each', + init: function() { + // ensure the `{{..}}` skips over this component. + this.sequence = this.data; + this.data = undefined; + }, + render: function(modeHint) { + var self = this; + var content = self.__content; + var elseContent = self.__elseContent; + var parts = _.map(this.sequence, function(item) { + return content.withData(item); + }); + return (parts.length) ? parts : elseContent; + } +}); + +// ----------- from components.js --------------- + +// Acts like `!! self.condition()` except: +// +// - Empty array is considered falsy +var getCondition = function (self) { + var cond = self.get('condition'); + + // empty arrays are treated as falsey values + if (cond instanceof Array && cond.length === 0) + return false; + else + return !! cond; +}; + +UI.If = UI.Component.extend({ + kind: 'If', + init: function () { + this.condition = this.data; + this.data = undefined; + }, + render: function () { + var self = this; + var condition = getCondition(self); + return condition ? self.__content : self.__elseContent; + } +}); + +UI.Unless = UI.Component.extend({ + kind: 'Unless', + init: function () { + this.condition = this.data; + this.data = undefined; + }, + render: function () { + var self = this; + var condition = getCondition(self); + return (! condition) ? self.__content : self.__elseContent; + } +}); + +UI.With = UI.Component.extend({ + kind: 'With', + init: function () { + this.condition = this.data; + }, + render: function () { + var self = this; + var condition = getCondition(self); + return condition ? self.__content : self.__elseContent; + } +}); + +// ----------- from handlebars_backcompat.js +var Handlebars = { + _globalHelpers: {}, + + registerHelper: function (name, func) { + this._globalHelpers[name] = func; + } +}; + +// Utility to HTML-escape a string. +Handlebars._escape = (function() { + var escape_map = { + "<": "<", + ">": ">", + '"': """, + "'": "'", + "`": "`", /* IE allows backtick-delimited attributes?? */ + "&": "&" + }; + var escape_one = function(c) { + return escape_map[c]; + }; + + return function (x) { + return x.replace(/[&<>"'`]/g, escape_one); + }; +})(); + +// Return these from {{...}} helpers to achieve the same as returning +// strings from {{{...}}} helpers +Handlebars.SafeString = function(string) { + this.string = string; +}; +Handlebars.SafeString.prototype.toString = function() { + return this.string.toString(); +}; + +// ----------- from fields.js --------------------------- + +// Searches for the given property in `comp` or a parent, +// and returns it as is (without call it if it's a function). +var lookupComponentProp = function (comp, prop) { + comp = findComponentWithProp(prop, comp); + var result = (comp ? comp.data : null); + if (typeof result === 'function') + result = result.bind(comp); + return result; +}; + +// Component that's a no-op when used as a block helper like +// `{{#foo}}...{{/foo}}`. +var noOpComponent = UI.Component.extend({ + kind: 'NoOp', + render: function () { + return this.__content; + } +}); + +// This map is searched first when you do something like `{{#foo}}` in +// a template. +var builtInComponents = { + // for past compat: + 'constant': noOpComponent, + 'isolate': noOpComponent +}; + +UI.Component.lookup = function (id) { + var self = this; + var result; + var comp; + + if (!id) + throw new Error("must pass id to lookup"); + + if (/^\./.test(id)) { + // starts with a dot. must be a series of dots which maps to an + // ancestor of the appropriate height. + if (!/^(\.)+$/.test(id)) { + throw new Error("id starting with dot must be a series of dots"); + } + + var compWithData = findComponentWithProp('data', self); + for (var i = 1; i < id.length; i++) { + compWithData = compWithData ? findComponentWithProp('data', compWithData.parent) : null; + } + + return (compWithData ? compWithData.data : null); + + } else if ((comp = findComponentWithProp(id, self))) { + // found a property or method of a component + // (`self` or one of its ancestors) + var result = comp[id]; + + } else if (_.has(builtInComponents, id)) { + return builtInComponents[id]; + } else if (Handlebars._globalHelpers[id]) { + // Backwards compatibility for helpers defined with + // `Handlebars.registerHelper`. XXX what is the future pattern + // for this? We should definitely not put it on the Handlebars + // namespace. + result = Handlebars._globalHelpers[id]; + } else { + // Resolve id `foo` as `data.foo` (with a "soft dot"). + return function (/*arguments*/) { + var data = getComponentData(self); + if (! data) + return data; + var result = data[id]; + if (typeof result === 'function') + return result.apply(data, arguments); + return result; + }; + } + + if (typeof result === 'function' &&! result._isEmboxedConstant) { + // Wrap the function `result`, binding `this` to `getComponentData(self)`. + // This creates a dependency when the result function is called. + // Don't do this if the function is really just an emboxed constant. + return function (/*arguments*/) { + var data = getComponentData(self); + return result.apply(data, arguments); + }; + } else { + return result; + }; +}; + +UI.Component.get = function (id) { + // support `this.get()` to get the data context. + if (id === undefined) + id = "."; + + var result = this.lookup(id); + return (typeof result === 'function' ? result() : result); +}; + +UI.Component.set = function(id, value) { + var comp = findComponentWithProp(id, this); + if (! comp || ! comp[id]) + throw new Error("Can't find field: " + id); + if (typeof comp[id] !== 'function') + throw new Error("Not a settable field: " + id); + comp[id](value); +}; + +// -- export! -- +UI.Handlebars = Handlebars; +module.exports = UI; From 304fb6c6ab563a7566ecf7eb398daab8d4affb33 Mon Sep 17 00:00:00 2001 From: "C. Scott Ananian" Date: Fri, 31 Jan 2014 19:17:00 -0500 Subject: [PATCH 30/72] Add tests using spacebars-compiler. --- .../{test1.js => test1-htmljs.js} | 0 handlebars-htmljs-node/test1-sb.js | 27 ++++++++++ ...test1b-incid.js => test1b-incid-htmljs.js} | 0 handlebars-htmljs-node/test1b-incid-sb.js | 27 ++++++++++ .../{test2-loop.js => test2-loop-htmljs.js} | 0 .../test2-loop-lambda-sb.js | 50 ++++++++++++++++++ handlebars-htmljs-node/test2-loop-sb.js | 52 +++++++++++++++++++ ...itterator.js => test3-itterator-htmljs.js} | 0 handlebars-htmljs-node/test3-itterator-sb.js | 45 ++++++++++++++++ runall.sh | 42 +++++++++++++-- 10 files changed, 239 insertions(+), 4 deletions(-) rename handlebars-htmljs-node/{test1.js => test1-htmljs.js} (100%) create mode 100644 handlebars-htmljs-node/test1-sb.js rename handlebars-htmljs-node/{test1b-incid.js => test1b-incid-htmljs.js} (100%) create mode 100644 handlebars-htmljs-node/test1b-incid-sb.js rename handlebars-htmljs-node/{test2-loop.js => test2-loop-htmljs.js} (100%) create mode 100644 handlebars-htmljs-node/test2-loop-lambda-sb.js create mode 100644 handlebars-htmljs-node/test2-loop-sb.js rename handlebars-htmljs-node/{test3-itterator.js => test3-itterator-htmljs.js} (100%) create mode 100644 handlebars-htmljs-node/test3-itterator-sb.js diff --git a/handlebars-htmljs-node/test1.js b/handlebars-htmljs-node/test1-htmljs.js similarity index 100% rename from handlebars-htmljs-node/test1.js rename to handlebars-htmljs-node/test1-htmljs.js diff --git a/handlebars-htmljs-node/test1-sb.js b/handlebars-htmljs-node/test1-sb.js new file mode 100644 index 0000000..ffcd840 --- /dev/null +++ b/handlebars-htmljs-node/test1-sb.js @@ -0,0 +1,27 @@ +var Spacebars = require('./spacebars-compiler'); +var UI = require('./ui'); + +var compile = function(template_source) { + var src = Spacebars.compile( template_source ); + var fun = eval(src); + var comp = UI.block(fun); + var rendered = comp.render(); + return { comp: comp, rendered: rendered }; +}; +var render = function(template, data) { + //return UI.toHTML(template.comp.withData(data)); + // reuse component object & cached rendering + template.comp.data = data; + return UI.toHTML(template.rendered); +}; + +var startTime = new Date(), + vars = {}, + template = compile('
    {{ body }}
    '); +for ( n=0; n <= 100000; ++n ) { + vars.id = "divid"; + vars.body = 'my div\'s body'; + html = render(template, vars); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +console.log(html); diff --git a/handlebars-htmljs-node/test1b-incid.js b/handlebars-htmljs-node/test1b-incid-htmljs.js similarity index 100% rename from handlebars-htmljs-node/test1b-incid.js rename to handlebars-htmljs-node/test1b-incid-htmljs.js diff --git a/handlebars-htmljs-node/test1b-incid-sb.js b/handlebars-htmljs-node/test1b-incid-sb.js new file mode 100644 index 0000000..0ec2607 --- /dev/null +++ b/handlebars-htmljs-node/test1b-incid-sb.js @@ -0,0 +1,27 @@ +var Spacebars = require('./spacebars-compiler'); +var UI = require('./ui'); + +var compile = function(template_source) { + var src = Spacebars.compile( template_source ); + var fun = eval(src); + var comp = UI.block(fun); + var rendered = comp.render(); + return { comp: comp, rendered: rendered }; +}; +var render = function(template, data) { + //return UI.toHTML(template.comp.withData(data)); + // reuse component object & cached rendering + template.comp.data = data; + return UI.toHTML(template.rendered); +}; + +var startTime = new Date(), + vars = {}, + template = compile('
    {{ body }}
    '); +for ( n=0; n <= 100000; ++n ) { + vars.id = "divid" + n; + vars.body = 'my div\'s body'; + html = render(template, vars); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +console.log(html); diff --git a/handlebars-htmljs-node/test2-loop.js b/handlebars-htmljs-node/test2-loop-htmljs.js similarity index 100% rename from handlebars-htmljs-node/test2-loop.js rename to handlebars-htmljs-node/test2-loop-htmljs.js diff --git a/handlebars-htmljs-node/test2-loop-lambda-sb.js b/handlebars-htmljs-node/test2-loop-lambda-sb.js new file mode 100644 index 0000000..90e261b --- /dev/null +++ b/handlebars-htmljs-node/test2-loop-lambda-sb.js @@ -0,0 +1,50 @@ +var Spacebars = require('./spacebars-compiler'); +var UI = require('./ui'); + +var compile = function(template_source) { + var src = Spacebars.compile( template_source ); + var fun = eval(src); + var comp = UI.block(fun); + var rendered = comp.render(); + return { comp: comp, rendered: rendered }; +}; +var render = function(template, data) { + //return UI.toHTML(template.comp.withData(data)); + // reuse component object & cached rendering + template.comp.data = data; + return UI.toHTML(template.rendered, template.comp); +}; + +function mt_rand () { + //[0..1] * PHP mt_getrandmax() + return Math.floor(Math.random() * 2147483647); +} + +function array_rand (arr) { + var i = Math.floor( Math.random() * arr.length ); + return arr[i]; +} + +var vars = {}, + items = {}; + +for ( var n=0; n <= 1000; ++n ) { + items['a' + mt_rand()] = new Date().getTime(); +} + +var startTime = new Date(), + template = compile('
    {{#each items }}
    {{#with ../getvalues .}}{{.}}{{/with}}
    {{/each}}
    '); + +vars.items = Object.keys(items); +vars.getvalues = function(index) { + return items[index]; +}; +for ( n=0; n <= 1000; ++n ) { + var key = array_rand(vars.items); + items[key] = 'b' + mt_rand(); + vars.id = "divid"; + vars.body = 'my div\'s body'; + html = render(template, vars); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +//console.log(html); diff --git a/handlebars-htmljs-node/test2-loop-sb.js b/handlebars-htmljs-node/test2-loop-sb.js new file mode 100644 index 0000000..686913d --- /dev/null +++ b/handlebars-htmljs-node/test2-loop-sb.js @@ -0,0 +1,52 @@ +var Spacebars = require('./spacebars-compiler'); +var UI = require('./ui'); + +var compile = function(template_source) { + var src = Spacebars.compile( template_source ); + var fun = eval(src); + var comp = UI.block(fun); + var rendered = comp.render(); + return { comp: comp, rendered: rendered }; +}; +var render = function(template, data) { + //return UI.toHTML(template.comp.withData(data)); + // reuse component object & cached rendering + template.comp.data = data; + return UI.toHTML(template.rendered); +}; + +function mt_rand () { + //[0..1] * PHP mt_getrandmax() + return Math.floor(Math.random() * 2147483647); +} + +function array_rand (arr) { + var i = Math.floor( Math.random() * arr.length ); + return arr[i]; +} + +var vars = {}, + items = {}; + +for ( var n=0; n <= 1000; ++n ) { + items['a' + mt_rand()] = new Date().getTime(); +} + +var startTime = new Date(), + vars = {}, + template = compile('
    {{#each m_items }}
    {{ val }}
    {{/each}}
    '); +for ( n=0; n <= 1000; ++n ) { + var key = array_rand(Object.keys(items)); + items[key] = 'b' + mt_rand(); + vars.id = "divid"; + vars.body = 'my div\'s body'; + var m_items = []; + for(key in items) { + var val = items[key]; + m_items.push({ key: key, val: val }); + } + vars.m_items = m_items; + html = render(template, vars); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +//console.log(html); diff --git a/handlebars-htmljs-node/test3-itterator.js b/handlebars-htmljs-node/test3-itterator-htmljs.js similarity index 100% rename from handlebars-htmljs-node/test3-itterator.js rename to handlebars-htmljs-node/test3-itterator-htmljs.js diff --git a/handlebars-htmljs-node/test3-itterator-sb.js b/handlebars-htmljs-node/test3-itterator-sb.js new file mode 100644 index 0000000..44580ae --- /dev/null +++ b/handlebars-htmljs-node/test3-itterator-sb.js @@ -0,0 +1,45 @@ +var Spacebars = require('./spacebars-compiler'); +var UI = require('./ui'); + +var compile = function(template_source) { + var src = Spacebars.compile( template_source ); + var fun = eval(src); + var comp = UI.block(fun); + var rendered = comp.render(); + return { comp: comp, rendered: rendered }; +}; +var render = function(template, data) { + //return UI.toHTML(template.comp.withData(data)); + // reuse component object & cached rendering + template.comp.data = data; + return UI.toHTML(template.rendered); +}; + +function mt_rand () { + //[0..1] * PHP mt_getrandmax() + return Math.floor(Math.random() * 2147483647); +} + +function array_rand (arr) { + var i = Math.floor( Math.random() * arr.length ); + return arr[i]; +} + +var vars = {}, + items = []; + +for ( var n=0; n <= 1000; ++n ) { + items[n] = "value:" + mt_rand(); +} + +var startTime = new Date(), + template = compile('
    {{#each items }}

    {{ . }}

    {{/each}}
    '); +for ( n=0; n <= 1000; ++n ) { + var key = Math.floor( Math.random() * items.length ); + items[key] = 'b:' + mt_rand(); + vars.items = items; + vars.body = 'my div\'s body'; + html = render(template, vars); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +//console.log(html); diff --git a/runall.sh b/runall.sh index 48f4245..f64b213 100755 --- a/runall.sh +++ b/runall.sh @@ -374,19 +374,19 @@ cd handlebars-htmljs-node echo "*** test1 (`pwd`)***" for i in {1..10} do - node test1.js + node test1-htmljs.js done echo "*** test1b (`pwd`)***" for i in {1..10} do - node test1b-incid.js + node test1b-incid-htmljs.js done echo "*** test2 (`pwd`)***" for i in {1..10} do - node test2-loop.js + node test2-loop-htmljs.js done #echo "*** test2 lambda (`pwd`)***" @@ -398,7 +398,41 @@ done echo "*** test3 (`pwd`)***" for i in {1..10} do - node test3-itterator.js + node test3-itterator-htmljs.js +done + +cd .. + +echo ">>>>>>>>>> Spacebars/HTMLJS Node.js <<<<<<<<<<<<<" +cd handlebars-htmljs-node +echo "*** test1 (`pwd`)***" +for i in {1..10} +do + node test1-sb.js +done + +echo "*** test1b (`pwd`)***" +for i in {1..10} +do + node test1b-incid-sb.js +done + +echo "*** test2 (`pwd`)***" +for i in {1..10} +do + node test2-loop-sb.js +done + +echo "*** test2 lambda (`pwd`)***" +for i in {1..10} +do + node test2-loop-lambda-sb.js +done + +echo "*** test3 (`pwd`)***" +for i in {1..10} +do + node test3-itterator-sb.js done cd .. From 9cf01480c05d66f2bbb7c89ba5e78c3f08c0e6b2 Mon Sep 17 00:00:00 2001 From: "C. Scott Ananian" Date: Sat, 1 Feb 2014 00:14:57 -0500 Subject: [PATCH 31/72] First draft of handlebars to JSON IR compiler. --- handlebars-htmljs-node/spacebars-qt/index.js | 188 +++++++++++++++++++ handlebars-htmljs-node/test1-sbqt.js | 12 ++ handlebars-htmljs-node/test2-loop-sbqt.js | 37 ++++ runall.sh | 16 ++ 4 files changed, 253 insertions(+) create mode 100644 handlebars-htmljs-node/spacebars-qt/index.js create mode 100644 handlebars-htmljs-node/test1-sbqt.js create mode 100644 handlebars-htmljs-node/test2-loop-sbqt.js diff --git a/handlebars-htmljs-node/spacebars-qt/index.js b/handlebars-htmljs-node/spacebars-qt/index.js new file mode 100644 index 0000000..7c8dfd1 --- /dev/null +++ b/handlebars-htmljs-node/spacebars-qt/index.js @@ -0,0 +1,188 @@ +// Hook up the Spacebars compiler to QuickTemplate's JSON IR +// (instead of to htmljs) +var HTML = require('../html-tools'); +var Spacebars = require('../spacebars-compiler'); +var QT = require('../../QuickTemplate/quicktemplate'); + +HTML.toQT = function(node, parentComponent) { + var result = []; + HTML._toQT(node, parentComponent, result); + return result; +}; +HTML._toQT = function(node, parentComponent, result) { + if (node == null) { + return; + } else if ((typeof node === 'string') || (typeof node === 'boolean') || + (typeof node === 'number')) { + return result.push(String(node)); // QT will take care of escaping + } else if (node instanceof Array) { + // array + for (var i = 0; i < node.length; i++) { + HTML._toQT(node[i], parentComponent, result); + } + return; + } else if (typeof node.instantiate === 'function') { + // component + var instance = node.instantiate(parentComponent || null); + var content = instance.render('STATIC'); + // recurse with a new value for parentComponent + return HTML._toQT(content, instance, result); + } else if (typeof node === 'function') { + return HTML._toQT(node(), parentComponent, result); + } else if (node._toQT) { + // Tag or something else + return node._toQT(parentComponent, result); + } else { + throw new Error("Expected tag, string, array, component, null, undefined,"+ + " or object with a _toQT method; found: " + node); + } +}; + +HTML.Comment.prototype._toQT = function(_, result) { + result.push(''); +}; +HTML.CharRef.prototype._toQT = function(_, result) { + result.push(this.html); +}; +HTML.Raw.prototype._toQT = function(_, result) { + result.push(this.value); +}; +HTML.Tag.prototype._toQT = function(parentComponent, result) { + var tagName = this.tagName; + result.push('<' + HTML.properCaseTagName(tagName)); + var attrs = this.evaluateAttributes(parentComponent); + if (attrs) { + var a = {}; + for (var k in attrs) { + var v = attrs[k]; + k = HTML.properCaseAttributeName(k); + console.assert(v instanceof HTML.Special); + console.assert(v.value.type === 'DOUBLE'); + a[k] = codeGenPath(v.value.path); // XXX HACK + } + result.push(['attr', a]); + } + result.push('>'); + // XXX handle TEXTAREA + for (var i = 0; i < this.children.length; i++) { + HTML._toQT(this.children[i], parentComponent, result); + } + + if (this.children.length || ! HTML.isVoidElement(tagName)) { + // "Void" elements like BR are the only ones that don't get a close + // tag in HTML5. They shouldn't have contents, either, so we could + // throw an error upon seeing contents here. + result.push(''); + } +}; + +var codeGenPath = function(path) { + if (path.length > 1) { throw new Error('unimplemented'); } + return path[0]; +}; + +// returns: array of source strings, or null if no +// args at all. +var codeGenArgs = function (tagArgs) { + if (tagArgs.length > 0) { throw new Error('unimplemented'); } + return null; +}; + +var codeGenMustache = function(tag, parentComponent, mustacheType, result) { + var nameCode = codeGenPath(tag.path); + var argCode = codeGenArgs(tag.args); + var mustache = (mustacheType || 'mustache'); + result.push(['text',nameCode]); +}; + +var builtInComponents = { + 'content': '__content', + 'elseContent': '__elseContent', + 'if': 'UI.If', + 'unless': 'UI.Unless', + 'with': 'UI.With', + 'each': 'UI.Each' +}; + +var codeGenTemplateTag = function(tag, parentComponent, result) { + if (tag.position === HTML.TEMPLATE_TAG_POSITION.IN_START_TAG) { + // only `tag.type === 'DOUBLE'` allowed (by earlier validation) + throw new Error('1'); + /* + return HTML.EmitCode('function () { return ' + + codeGenMustache(tag, 'attrMustache') + '; }'); + */ + } else { + if (tag.type === 'DOUBLE') { + codeGenMustache(tag, parentComponent, null, result); + /* + return HTML.EmitCode('function () { return ' + + codeGenMustache(tag) + '; }'); + */ + } else if (tag.type === 'TRIPLE') { + throw new Error('3'); + /* + return HTML.EmitCode('function () { return Spacebars.makeRaw(' + + codeGenMustache(tag) + '); }'); + */ + } else if (tag.type === 'INCLUSION' || tag.type === 'BLOCKOPEN') { + var path = tag.path; + var compCode = codeGenPath(path); + + if (path.length === 1) { + var compName = path[0]; + if (compName === 'each') { // HACK HACK HACK + var tpl = HTML.toQT(tag.content, parentComponent); // NOT QUITE RIGHT + var data = tag.args[0]; + var argType = data[0], argValue = data[1]; + console.assert(argType==='PATH'); + data = codeGenPath(argValue); + result.push(['foreach',{data:data,tpl:tpl}]); + return; + } + if (builtInComponents.hasOwnProperty(compName)) { + compCode = builtInComponents[compName]; + } else { + // toObjectLiteralKey returns `"foo"` or `foo` depending on + // whether `foo` is a safe JavaScript identifier. + var member = toObjectLiteralKey(path[0]); + var templateDotFoo = (member.charAt(0) === '"' ? + 'Template[' + member + ']' : + 'Template.' + member); + compCode = ('(' + templateDotFoo + ' || ' + compCode + ')'); + } + } + + var includeArgs = codeGenInclusionArgs(tag); + + return HTML.EmitCode( + 'function () { return Spacebars.include(' + compCode + + (includeArgs.length ? ', ' + includeArgs.join(', ') : '') + + '); }'); + } else { + // Can't get here; TemplateTag validation should catch any + // inappropriate tag types that might come out of the parser. + throw new Error("Unexpected template tag type: " + tag.type); + } + } +}; + +HTML.Special.prototype._toQT = function(parentComponent, result) { + codeGenTemplateTag(this.value, parentComponent, result); +}; + +var SBQT = {}; + +SBQT.codeGen = function(tree) { + //console.log(JSON.stringify(tree)); + return HTML.toQT(tree); +}; + +SBQT.compile = function(handlebars_template) { + var tree = Spacebars.parse(handlebars_template); + var template = SBQT.codeGen(tree); + //console.log(JSON.stringify(template)); + return QT.compile(template); +}; + +module.exports = SBQT; diff --git a/handlebars-htmljs-node/test1-sbqt.js b/handlebars-htmljs-node/test1-sbqt.js new file mode 100644 index 0000000..c87ebdd --- /dev/null +++ b/handlebars-htmljs-node/test1-sbqt.js @@ -0,0 +1,12 @@ +var sbqt = require('./spacebars-qt'); + +var startTime = new Date(), + vars = {}, + template = sbqt.compile('
    {{ body }}
    '); +for ( n=0; n <= 100000; ++n ) { + vars.id = "divid"; + vars.body = 'my div\'s body'; + html = template(vars); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +console.log(html); diff --git a/handlebars-htmljs-node/test2-loop-sbqt.js b/handlebars-htmljs-node/test2-loop-sbqt.js new file mode 100644 index 0000000..57a8c98 --- /dev/null +++ b/handlebars-htmljs-node/test2-loop-sbqt.js @@ -0,0 +1,37 @@ +var sbqt = require('./spacebars-qt'); + +function mt_rand () { + //[0..1] * PHP mt_getrandmax() + return Math.floor(Math.random() * 2147483647); +} + +function array_rand (arr) { + var i = Math.floor( Math.random() * arr.length ); + return arr[i]; +} + +var vars = {}, + items = {}; + +for ( var n=0; n <= 1000; ++n ) { + items['a' + mt_rand()] = new Date().getTime(); +} + +var startTime = new Date(), + template = sbqt.compile('
    {{#each m_items }}
    {{ val }}
    {{/each}}
    '); +for ( n=0; n <= 1000; ++n ) { + var key = array_rand(Object.keys(items)); + items[key] = 'b' + mt_rand(); + vars.id = "divid"; + vars.body = 'my div\'s body'; + var m_items = []; + for(key in items) { + var val = items[key]; + m_items.push({ key: key, val: val }); + } + vars.m_items = m_items; + html = template(vars); + //console.log(html.length); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +//console.log(html); diff --git a/runall.sh b/runall.sh index f64b213..c65ecde 100755 --- a/runall.sh +++ b/runall.sh @@ -437,4 +437,20 @@ done cd .. +echo ">>>>>>>>>> Spacebars/QuickTemplate Node.js <<<<<<<<<<<<<" +cd handlebars-htmljs-node +echo "*** test1 (`pwd`)***" +for i in {1..10} +do + node test1-sbqt.js +done + +echo "*** test2 (`pwd`)***" +for i in {1..10} +do + node test2-loop-sbqt.js +done + +cd .. + echo "done" From a28e0fe03ab86a33cfa21aa05d476986f2d94b85 Mon Sep 17 00:00:00 2001 From: Shahyar Date: Fri, 14 Mar 2014 04:02:43 -0400 Subject: [PATCH 32/72] Added Handlebars lightncandy in PHP as new test suite --- handlebars-lightncandy-php/test1.php | 23 + handlebars-lightncandy-php/test1b-incid.php | 24 + .../test2-loop-lambda.php | 46 + handlebars-lightncandy-php/test2-loop.php | 33 + .../test3-itterator.php | 36 + lib/lightncandy/.scrutinizer.yml | 12 + lib/lightncandy/.travis.yml | 14 + lib/lightncandy/HISTORY.md | 83 + lib/lightncandy/LICENSE.txt | 19 + lib/lightncandy/README.md | 352 ++++ lib/lightncandy/build/gen_doc | 6 + lib/lightncandy/build/gen_test.php | 66 + lib/lightncandy/build/push_ghpage | 12 + lib/lightncandy/build/runphp | 2 + lib/lightncandy/build/travis_push | 45 + lib/lightncandy/composer.json | 22 + lib/lightncandy/phpunit.xml | 23 + lib/lightncandy/src/lightncandy.php | 1748 +++++++++++++++++ lib/lightncandy/tests/LCRun2Test.php | 253 +++ lib/lightncandy/tests/LightnCandyTest.php | 392 ++++ lib/lightncandy/tests/error.php | 50 + lib/lightncandy/tests/helper.php | 58 + lib/lightncandy/tests/runtime.php | 17 + lib/lightncandy/tests/standalone.php | 17 + lib/lightncandy/tests/test1.tmpl | 1 + lib/lightncandy/tests/test2.tmpl | 1 + lib/lightncandy/tests/testvar0.php | 17 + 27 files changed, 3372 insertions(+) create mode 100644 handlebars-lightncandy-php/test1.php create mode 100644 handlebars-lightncandy-php/test1b-incid.php create mode 100644 handlebars-lightncandy-php/test2-loop-lambda.php create mode 100644 handlebars-lightncandy-php/test2-loop.php create mode 100644 handlebars-lightncandy-php/test3-itterator.php create mode 100644 lib/lightncandy/.scrutinizer.yml create mode 100644 lib/lightncandy/.travis.yml create mode 100644 lib/lightncandy/HISTORY.md create mode 100644 lib/lightncandy/LICENSE.txt create mode 100644 lib/lightncandy/README.md create mode 100755 lib/lightncandy/build/gen_doc create mode 100644 lib/lightncandy/build/gen_test.php create mode 100755 lib/lightncandy/build/push_ghpage create mode 100755 lib/lightncandy/build/runphp create mode 100755 lib/lightncandy/build/travis_push create mode 100644 lib/lightncandy/composer.json create mode 100644 lib/lightncandy/phpunit.xml create mode 100644 lib/lightncandy/src/lightncandy.php create mode 100644 lib/lightncandy/tests/LCRun2Test.php create mode 100644 lib/lightncandy/tests/LightnCandyTest.php create mode 100644 lib/lightncandy/tests/error.php create mode 100644 lib/lightncandy/tests/helper.php create mode 100644 lib/lightncandy/tests/runtime.php create mode 100644 lib/lightncandy/tests/standalone.php create mode 100644 lib/lightncandy/tests/test1.tmpl create mode 100644 lib/lightncandy/tests/test2.tmpl create mode 100644 lib/lightncandy/tests/testvar0.php diff --git a/handlebars-lightncandy-php/test1.php b/handlebars-lightncandy-php/test1.php new file mode 100644 index 0000000..6a7f25e --- /dev/null +++ b/handlebars-lightncandy-php/test1.php @@ -0,0 +1,23 @@ +{{ body }}
    ' ); + +// Store the template... +// Method 1 (preferred): +//$php_inc = './cache/' . substr( basename( __FILE__ ), 0, -4 ) . '.cache.php'; +//file_put_contents($php_inc, $phpStr); +//$renderer = include($php_inc); +// Method 2 (potentially insecure): +$renderer = LightnCandy::prepare( $phpStr ); + +$time_start = microtime(true); +for ( $n=0; $n <= 100000; ++$n ) { + $vars['id'] = "divid"; + $vars['body'] = 'my div\'s body'; + $html = $renderer( $vars ); +} +echo "time: " . ( microtime(true) - $time_start ) . "\n"; +echo "$html\n"; + diff --git a/handlebars-lightncandy-php/test1b-incid.php b/handlebars-lightncandy-php/test1b-incid.php new file mode 100644 index 0000000..1adf0eb --- /dev/null +++ b/handlebars-lightncandy-php/test1b-incid.php @@ -0,0 +1,24 @@ +{{ body }}
    ' ); + +// Store the template... +// Method 1 (preferred): +//$php_inc = './cache/' . substr( basename( __FILE__ ), 0, -4 ) . '.cache.php'; +//file_put_contents($php_inc, $phpStr); +//$renderer = include($php_inc); +// Method 2 (potentially insecure): +$renderer = LightnCandy::prepare( $phpStr ); + +$time_start = microtime(true); +for ( $n=0; $n <= 100000; ++$n ) { + $vars['id'] = "divid$n"; + $vars['body'] = 'my div\'s body'; + $html = $renderer( $vars ); +} +echo "time: " . ( microtime(true) - $time_start ) . "\n"; +echo "$html\n"; + + diff --git a/handlebars-lightncandy-php/test2-loop-lambda.php b/handlebars-lightncandy-php/test2-loop-lambda.php new file mode 100644 index 0000000..3d5ea46 --- /dev/null +++ b/handlebars-lightncandy-php/test2-loop-lambda.php @@ -0,0 +1,46 @@ +{{# items }}
    {{# getvalues}}{{.}}{{/ getvalues}}
    {{/ items }}
    ', + array( + 'flags' => LightnCandy::FLAG_THIS, + 'blockhelpers' => array( + // Flags and helper functions + 'getvalues' => function ( $context ) { + $items = getItems(); + return '' . $items[$context]; + } + ) + ) +); + +// Store the template... +// Method 1 (preferred): +//$php_inc = './cache/' . substr( basename( __FILE__ ), 0, -4 ) . '.cache.php'; +//file_put_contents($php_inc, $phpStr); +//$renderer = include($php_inc); +// Method 2 (potentially insecure): +$renderer = LightnCandy::prepare( $phpStr ); + +$items = array(); +for ( $n=0; $n <= 1000; ++$n ) { + $items['a'.mt_rand()] = time(); +} + +function getItems() { + global $items; + return $items; +} + +$time_start = microtime(true); +for ( $n=0; $n <= 1000; ++$n ) { + $vars['items'] = array_keys( $items ); + $vars['id'] = "divid"; + $vars['body'] = 'my div\'s body'; + $html = $renderer( $vars ); +} +echo "time: " . ( microtime(true) - $time_start ) . "\n"; +echo "$html\n"; + diff --git a/handlebars-lightncandy-php/test2-loop.php b/handlebars-lightncandy-php/test2-loop.php new file mode 100644 index 0000000..d68aaef --- /dev/null +++ b/handlebars-lightncandy-php/test2-loop.php @@ -0,0 +1,33 @@ +{{# m_items }}
    {{ val }}
    {{/ m_items }}
    ' ); + +// Store the template... +// Method 1 (preferred): +//$php_inc = './cache/' . substr( basename( __FILE__ ), 0, -4 ) . '.cache.php'; +//file_put_contents($php_inc, $phpStr); +//$renderer = include($php_inc); +// Method 2 (potentially insecure): +$renderer = LightnCandy::prepare( $phpStr ); + +$items = array(); +for ( $n=0; $n <= 1000; ++$n ) { + $items['a'.mt_rand()] = time(); +} + +$time_start = microtime(true); +for ( $n=0; $n <= 1000; ++$n ) { + $vars['id'] = "divid"; + $vars['body'] = 'my div\'s body'; + $m_items = array(); + foreach ( $items as $key => $val ) { + $m_items[] = array( 'key'=>$key, 'val'=>$val ); + } + $vars['m_items'] = $m_items; + $html = @$renderer( $vars ); +} +echo "time: " . ( microtime(true) - $time_start ) . "\n"; +echo "$html\n"; + diff --git a/handlebars-lightncandy-php/test3-itterator.php b/handlebars-lightncandy-php/test3-itterator.php new file mode 100644 index 0000000..9fb7e23 --- /dev/null +++ b/handlebars-lightncandy-php/test3-itterator.php @@ -0,0 +1,36 @@ +{{# items }}

    {{ . }}

    {{/ items }}
    ', + array( + 'flags' => LightnCandy::FLAG_THIS + ) +); + +// Store the template... +// Method 1 (preferred): +//$php_inc = './cache/' . substr( basename( __FILE__ ), 0, -4 ) . '.cache.php'; +//file_put_contents($php_inc, $phpStr); +//$renderer = include($php_inc); +// Method 2 (potentially insecure): +$renderer = LightnCandy::prepare( $phpStr ); + +$items = array(); +for ( $n=0; $n <= 1000; ++$n ) { + $items[] = "value:" . mt_rand(); +} + +$time_start = microtime(true); +for ( $n=0; $n <= 1000; ++$n ) { + $key = array_rand( $items ); + $items[$key] = 'b:'.mt_rand(); + $vars['items'] = $items; + $vars['id'] = "divid"; + $vars['body'] = 'my div\'s body'; + $html = $renderer( $vars ); +} +echo "time: " . ( microtime(true) - $time_start ) . "\n"; +echo "$html\n"; + diff --git a/lib/lightncandy/.scrutinizer.yml b/lib/lightncandy/.scrutinizer.yml new file mode 100644 index 0000000..ec8b482 --- /dev/null +++ b/lib/lightncandy/.scrutinizer.yml @@ -0,0 +1,12 @@ +filter: + excluded_paths: [tests/*, build/*] +tools: + php_cs_fixer: true + php_code_sniffer: true + php_cpd: true + php_hhvm: true + php_mess_detector: true + php_analyzer: true + php_pdepend: true + php_code_coverage: true + sensiolabs_security_checker: true diff --git a/lib/lightncandy/.travis.yml b/lib/lightncandy/.travis.yml new file mode 100644 index 0000000..cd9c0bb --- /dev/null +++ b/lib/lightncandy/.travis.yml @@ -0,0 +1,14 @@ +language: php +php: + - 5.3 + - 5.4 + - 5.5 + +script: + - build/runphp build/gen_test.php + - phpunit + - build/travis_push + +env: + global: + secure: "Wlez8f9yijTGs4heE9YrBWsEssDKwSqKld5pTcgYNwoSOAue8MmG/g/60ayyWXRBXiGmNQfiHsBSGw9v9Stn7vKKXzGROc2T34ERLkBi2AtifFw6vJK0VrK2EpcWTvgHPLeNlln+gIrA/oHliW4AKX9aUwIBV/MTPjd2A85RBn8=" diff --git a/lib/lightncandy/HISTORY.md b/lib/lightncandy/HISTORY.md new file mode 100644 index 0000000..4f7d62b --- /dev/null +++ b/lib/lightncandy/HISTORY.md @@ -0,0 +1,83 @@ +HISTORY +======= + +v0.11 current trunk + * align with handlebars.js 2.0.0-alpha.2 + * a275d52c97 use php array, remove val(). + * 8834914c2a only export used custom helper into render function now + +v0.10 https://github.com/zordius/lightncandy/tree/v0.10 + * align with handlebars.js 2.0.0-alpha.1 + * 4c9f681080 file name changed: lightncandy.inc => lightncandy.php + * e3de01081c some minor fix for json schema + * 1feec458c7 new variable handling logic, save variable name parsing time when render() . rendering performance improved 10~30%! + * 3fa897c98c rename LCRun to LCRun2 for interface changed, old none standalone templates will error with newer version. + * 43a6d33717 fix for {{../}} php warning message + * 9189ebc1e4 now auto push documents from Travis CI + * e077d0b631 support named arguments for custom helpers {{helper name=value}} + * 2331b6fe55 support block custom helpers + * 4fedaa25f7 support number value as named arguments + * 6a91ab93d2 fix for default options and php warnings + * fc157fde62 fix for doblue quoted arguments (issue #15) + +v0.9 https://github.com/zordius/lightncandy/tree/v0.9 + * align with handlebars.js 1.3 + * a55f2dd067 support both {{@index}} and {{@key}} when {{#each an_object}} + * e59f931ea7 add FLAG_JSQUOTE support + * 92b3cf58af report more than 1 error when compile() + * 93cc121bcf test for wrong variable name format in test/error.php + * 41c1b431b4 support advanced variable naming {{foo.[bar].10}} now + * 15ce1a00a8 add FLAG_EXTHELPER option + * f51337bde2 support space control {{~sometag}} or {{sometag~}} + * fe3d67802e add FLAG_SPACECTL option + * 920fbb3039 support custom helper + * 07ae71a1bf migrate into Travis CI + * ddd3335ff6 support "some string" argument + * 20f6c888d7 html encode after custom helper executed + * 10a2f45fdc add test generator + * ccd1d3ddc2 migrate to Scrutinizer , change file name LightnCandy.inc to LightnCandy.php + * 5ac8ad8d04 now is a Composer package + +v0.8 https://github.com/zordius/lightncandy/tree/v0.8 + * align with handlebars.js 1.0.12 + * aaec049 fix partial in partial not works bug + * 52706cc fix for {{#var}} and {{^var}} , now when var === 0 means true + * 4f7f816 support {{@key}} and {{@index}} in {{#each var}} + * 63aef2a prevent array_diff_key() PHP warning when {{#each}} on none array value + * 10f3d73 add more is_array() check when {{#each}} and {{#var}} + * 367247b fix {{#if}} and {{#unless}} when value is an empty array + * c76c0bb returns null if var is not exist in a template [contributed by dtelyukh@github.com] + * d18bb6d add FLAG_ECHO support + * aec2b2b fix {{#if}} and {{#unless}} when value is an empty string + * 8924604 fix variable output when false in an array + * e82c324 fix for ifv and ifvar logic difference + * 1e38e47 better logic on var name checking. now support {{0}} in the loop, but it is not handlebars.js standard + +v0.7 https://github.com/zordius/lightncandy/tree/v0.7 + * add HISTORY.md + * 777304c change compile format to include in val, isec, ifvar + * 55de127 support {{../}} in {{#each}} + * 57e90af fix parent levels detection bug + * 96bb4d7 fix bugs for {{#.}} and {{#this}} + * f4217d1 add ifv and unl 2 new methods for LCRun + * 3f1014c fix {{#this}} and {{#.}} bug when used with {{../var}} + * cbf0b28 fix {{#if}} logic error when using {{../}} + * 2b20ef8 fix {{#with}} + {{../}} bug + * 540cd44 now support FLAG_STANDALONE + * 67ac5ff support {{>partial}} + * 98c7bb1 detect unclosed token now + +v0.6 https://github.com/zordius/lightncandy/tree/v0.6 + * align with handlebarsjs 1.0.11 + * 45ac3b6 fix #with bug when var is false + * 1a46c2c minor #with logic fix. update document + * fdc753b fix #each and section logic for 018-hb-withwith-006 + * e6cc95a add FLAG_PARENT, detect template error when scan() + * 1980691 make new LCRun::val() method to normal path.val logic + * 110d24f {{#if path.var}} bug fixed + * d6ae2e6 fix {{#with path.val}} when input value is null + * 71cf074 fix for 020-hb-doteach testcase + +v0.5 https://github.com/zordius/lightncandy/tree/v0.5 + * 955aadf fix #each bug when input is a hash + * final version for following handlebarsjs 1.0.7 diff --git a/lib/lightncandy/LICENSE.txt b/lib/lightncandy/LICENSE.txt new file mode 100644 index 0000000..55909b0 --- /dev/null +++ b/lib/lightncandy/LICENSE.txt @@ -0,0 +1,19 @@ +Copyrights for code authored by Yahoo! Inc. is licensed under the following +terms: +MIT License +Copyright (c) 2013 Yahoo! Inc. All Rights Reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/lib/lightncandy/README.md b/lib/lightncandy/README.md new file mode 100644 index 0000000..a947221 --- /dev/null +++ b/lib/lightncandy/README.md @@ -0,0 +1,352 @@ +LightnCandy +=========== + +A PHP library to support almost all features of handlebars ( http://handlebarsjs.com/ ) , target to run as fast as pure PHP. + +Travis CI status: [![Unit testing](https://travis-ci.org/zordius/lightncandy.png?branch=master)](https://travis-ci.org/zordius/lightncandy) [![Regression testing](https://travis-ci.org/zordius/HandlebarsTest.png?branch=master)](https://travis-ci.org/zordius/HandlebarsTest) + +Scrutinizer CI status: [![Code Coverage](https://scrutinizer-ci.com/g/zordius/lightncandy/badges/coverage.png?s=57aaeed149696b16380a79615df2ff83a1c25afa)](https://scrutinizer-ci.com/g/zordius/lightncandy/) + +Features +-------- + +* Logicless template: mustache ( http://mustache.github.com/ ) or handlebars ( http://handlebarsjs.com/ ) . +* Compile template to **pure PHP** code. + * Examples: + * templateA: https://github.com/zordius/HandlebarsTest/blob/master/fixture/001-simple-vars.tmpl + * compile as phpA: https://github.com/zordius/HandlebarsTest/blob/master/fixture/001-simple-vars.php + * templateB: https://github.com/zordius/HandlebarsTest/blob/master/fixture/016-hb-eachthis.tmpl + * compile as phpB: https://github.com/zordius/HandlebarsTest/blob/master/fixture/016-hb-eachthis.php +* **FAST!** + * runs 4~6 times faster than https://github.com/bobthecow/mustache.php + * runs 4~10 times faster than https://github.com/dingram/mustache-php + * runs 10~30 times faster than https://github.com/XaminProject/handlebars.php + * NOTE: Detail performance test reports can be found here: https://github.com/zordius/HandlebarsTest +* Context generation + * Analyze used feature from your template + * generate **Json Schema** [BUGGY NOW] + * Do `LightnCandy::getJsonSchema()` right after `LightnCandy::compile()` to get jsonSchema + * Know required data structure from your templates + * Verify input data, or find out missing variables with any jsonSchema validator +* Standalone Template + * The compiled PHP code can run without any PHP library. You do not need to include LightnCandy when execute rendering function. + +Installation +------------ + +Use Composer ( https://getcomposer.org/ ) to install LightnCandy: + +``` +composer require zordius/lightncandy:dev-master +``` + +Or, download LightnCandy from github: + +``` +wget https://raw.github.com/zordius/lightncandy/master/src/lightncandy.php --no-check-certificate +``` + +**UPGRADE NOTICE** + +* Due to big change of variable name handling, the rendering support class `LCRun` is renamed to `LCRun2`. If you compile templates as none standalone php code by lightncandy v0.9 or before, you should compile these templates again. Or, you may run into `Class 'LCRun' not found` error when you execute these old rendering functions. + +* Standalone templates compiled by older lightncandy can be executed safe when you upgrade to any version of lightncandy. + +Usage +----- +```php +// THREE STEPS TO USE LIGHTNCANDY +// Step 1. require the lib, compile template, get the PHP code as string +require('src/lightncandy.php'); + +$template = "Welcome {{name}} , You win \${{value}} dollars!!\n"; +$phpStr = LightnCandy::compile($template); // Rendered PHP code in $phpStr + +// Step 2A. (Usage 1) use LightnCandy::prepare to get render function +// Do not suggested this way, because it may require PHP setting allow_url_fopen=1 , +// and allow_url_fopen=1 is not secure . +// When allow_url_fopen = 0, prepare() will create tmp file then include it, +// you will need to add your tmp directory into open_basedir. +// YOU MAY NEED TO CHANGE PHP SETTING BY THIS WAY +$renderer = LightnCandy::prepare($phpStr); + + +// Step 2B. (Usage 2) Store your render function in a file +// You decide your compiled template file path and name, save it. +// You can load your render function by include() later. +// RECOMMENDED WAY +file_put_contents($php_inc, $phpStr); +$renderer = include($php_inc); + + +// Step 3. run native PHP render function any time +echo "Template is:\n$template\n\n"; +echo $renderer(Array('name' => 'John', 'value' => 10000)); +echo $renderer(Array('name' => 'Peter', 'value' => 1000)); +``` + +The output will be: + +``` +Template is: +Welcome {{name}} , You win ${{value}} dollars!! + + +Welcome John , You win $10000 dollars!! +Welcome Peter , You win $1000 dollars!! +``` + +CONSTANTS +--------- + +You can apply more flags by running `LightnCandy::compile($php, $options)` , for example: + +```php +LightnCandy::compile($template, Array( + 'flags' => LightnCandy::FLAG_ERROR_LOG | LightnCandy::FLAG_STANDALONE +)); +``` + +Default is to compile the template as PHP which can be run as fast as possible, all flags are off. + +* `FLAG_ERROR_LOG` : output error_log when found any template error +* `FLAG_ERROR_EXCEPTION` : throw exception when found any template error +* `FLAG_STANDALONE` : generate stand alone PHP codes which can be execute without including LightnCandy. The compiled PHP code will contain scopped user function, somehow larger. And, the performance of the template will slow 1 ~ 10%. +* `FLAG_JSTRUE` : generate 'true' when value is true (handlebars.js behavior). Otherwise, true will generate ''. +* `FLAG_JSOBJECT` : generate '[object Object]' for associated array, generate ',' seperated values for array (handlebars.js behavior). Otherwise, all PHP array will generate ''. +* `FLAG_THIS` : support `{{this}}` or `{{.}}` in template. Otherwise, `{{this}}` and `{{.}}` will cause template error. +* `FLAG_WITH` : support `{{#with var}}` in temlpate. Otherwise, `{{#with var}}` will cause template error. +* `FLAG_PARENT` : support `{{../var}}` in temlpate. Otherwise, `{{../var}}` will cause template error. +* `FLAG_JSQUOTE` : encode `'` to `'` . Otherwise, `'` will encoded as `'` . +* `FLAG_ADVARNAME` : support `{{foo.[0].[#te#st].bar}}` style advanced variable naming in temlpate. +* `FLAG_NAMEDARG` : support named arguments for custom helper `{{helper name1=val1 nam2=val2 ...}}. +* `FLAG_EXTHELPER` : do not including custom helper codes into compiled PHP codes. This reduce the code size, but you need to take care of your helper functions when rendering. If you forget to include required functions when execute rendering function, `undefined function` runtime error will be triggered. NOTE: Anonymouse functions will always be placed into generated codes. +* `FLAG_SPACECTL` : support space control `{{~ }}` or `{{ ~}}` in template. Otherwise, `{{~ }}` or `{{ ~}}` will cause template error. +* `FLAG_HANDLEBARSJS` : align with handlebars.js behaviors, same as `FLAG_JSTRUE` + `FLAG_JSOBJECT` + `FLAG_THIS` + `FLAG_WITH` + `FLAG_PARENT` + `FLAG_JSQUOTE` + `FLAG_ADVARNAME` + `FLAG_NAMEDARG`. +* `FLAG_ECHO` : compile to `echo 'a', $b, 'c';` to improve performance. This will slow down rendering when the template and data are simple, but will improve 1% ~ 7% when the data is big and looping in the template. +* `FLAG_BESTPERFORMANCE` : same as `FLAG_ECHO` now. This flag may be changed base on performance testing result in the future. + +Partial Support +--------------- + +LightnCandy supports partial when compile time. When `compile()`, LightnCandy will search template file in current directory by default. You can define more then 1 template directories with `basedir` option. Default template file name is `*.tmpl`, you can change or add more template file extensions with `fileext` option. + +for example: +```php +LightnCandy::compile($template, Array( + 'flags' => LightnCandy::FLAG_STANDALONE, + 'basedir' => Array( + '/usr/local/share/handlebars/templates', + '/usr/local/share/my_project/templates', + '/usr/local/share/my_project/partials', + ), + 'fileext' => Array( + '.tmpl', + '.mustache', + '.handlebars', + ) +)); +``` + +LightnCandy supports parent context access in partial (access `{{../vars}}` inside the template), so far no other PHP/javascript library can handle this correctly. + +Custom Helper +------------- + +Custom helper can help you deal with common template tasks, for example: provide URL and text then generate a link. To know more about custom helper, you can read original handlebars.js document here: http://handlebarsjs.com/expressions.html . + +When `compile()`, LightnCandy will lookup helpers from generated custom helper name table. You can register custom helpers with `helpers` option. + +for exmample: +```php +LightnCandy::compile($template, Array( + 'helpers' => Array( + // 1. You may pass your function name + // When the function is not exist, you get compile time error + // In this case, the helper name is same with function name + // Tempalte: {{my_helper_functoin ....}} + 'my_helper_function', + + // 2. You may also provide a static call from a class + // In this case, the helper name is same with provided full name + // **DEPRECATED** It is not valid in handlebars.js + // Tempalte: {{myClass::myStaticMethod ....}} + 'myClass::myStaticMethod', + + // 3. You may also provide an alias name for helper function + // This help you to mapping different function to a prefered helper name + // Tempalte: {{helper_name ....}} + 'helper_name' => 'my_other_helper', + + // 4. Alias also works well for static call of a class + // This help you to mapping different function to a prefered helper name + // Tempalte: {{helper_name2 ....}} + 'helper_name2' => 'myClass::func', + + // 5. Anonymouse function should be provided with alias + // The function will be included in generaed code always + // Tempalte: {{helper_name3 ....}} + 'helper_name3' => function ($arg1, $arg2) { + return "{$arg2}"; + } + ) +)); +``` + +Custom Helper Interface +----------------------- + +The input arguments are processed by LightnCandy automatically, you do not need to worry about variable name processing or current context. You can also use double quoted string as input, for example: + +``` +{{{helper name}}} // This send processed {{{name}}} into the helper +{{{helper ../name}}} // This send processed {{{../name}}} into the helper +{{{helper "Test"}}} // This send the string "Test" into the helper +{{helper "Test"}} // This send the string "Test" into the helper and HTML encode the helper result +{{{helper "Test" ../name}}} // This send string "Test" as first param, + // and processed {{{../name}}} as second param into the helper +``` + +The return value of your custom helper should be a string. When your custom helper be executed from {{ }} , the return value will be HTML encoded. You may execute your helper by {{{ }}} , then the original helper return value will be outputed directly. + +When you pass arguments as `name=value` pairs, The input to your custom helper will turn into only one associative array. For example, when your custom helper is `function ($input) {...}`: + +``` +{{{helper name=value}} // This send processed {{{value}}} into $input['name'] +{{{helper name="value"}} // This send the string "value" into $input['name'] +{{{helper [na me]="value"}} // You can still protect the name with [ ] + // so you get $input['na me'] as the string 'value' +{{{helper url name="value"}} // This send processed {{{url}}} into $input[0] + // and the string "value" into $input['name'] +``` + +Block Custom Helper +------------------- + +Block custom helper must be used as a section, the section is started with `{{#helper_name ...}}` and ended with `{{/helper_name}}`. + +You may use block custom helper to: + +1. Provide advanced condition logic which is different from `{{#if ...}}` ... `{{/if}}` . +2. Modify current context for the inner block. +3. Provide different context to the inner block. + +Block Custom Helper Interface +----------------------------- + +LightnCandy handled all input arguments for you, you will receive current context and parsed arguments. The return value of helper function will become new context then be passed into inner block. If you do not return any value, or return null, the inner block will not be rendered. For example: + +```php +// Only render inner block when input > 5 +// {{#helper_iffivemore people.length}}More then 5 people, discount!{{/helper_iffivemore}} +function helper_iffivemore($cx, $args) { + return $args[0] > 5 ? $cx : null; +} + +// You can use named arguments, too +// {{#helper_if value=people logic="more" tovalue=5}}Yes the logic is true{{/helper_if}} +function helper_if($cx, $args) { + switch ($args['logic']) { + case 'more': + return $args['value'] > $args['tovalue'] ? $cx : null; + case 'less': + return $args['value'] < $args['tovalue'] ? $cx : null; + case 'eq': + return $args['value'] == $args['tovalue'] ? $cx : null; + } +} + +// Provide default values for name and salary +// {{#helper_defaultpeople}}Hello, {{name}} ....Your salary will be {{salary}}{{/helper_defaultpeople}} +function helper_defaultpeople($cx, $args) { + if (!isset($cx['name'])) { + $cx['name'] = 'Sir'; + } + $cx['salary'] = isset($cx['salary']) ? '$' . $cx['salary'] : 'unknown'; + return $cx; +} + +// Provide specific context to innerblock +// {{#helper_sample}}Preview Name:{{name}} , Salary:{{salary}}.{{/helper_sample}} +function helper_sample($cx, $args) { + return Array('name' => 'Sample Name', 'salary' => 'Sample Salary'); +} +``` + +You can not provide new rendered result or handle loop in block custom helper. To provide diffetent rendering result, + you should use normal custom helper. To handle loop, you should use `{{#each}}` . For example: + +```php +// Provide specific context to innerblock +// {{#helper_categories}}{{#each .}}
  • {{name}}
  • {{/each}}{{/helper_categories}} +function helper_categories($cx, $args) { + return getMyCategories(); // Array('category1', 'category2', ...) +} +``` + +The mission of a block custom helper is only focus on providing different context or logic to inner block, nothing else. + +Unsupported Feature (so far) +---------------------------- + +* [NEVER] `{{foo/bar}}` style variable name, it is deprecated in offical handlebars.js document. +* [Plan to support] set delimiter (change delimiter from `{{ }}` to custom string, for example `<% then %>`) +* [Possible] input as Object and methods (now only accept associative array data structure) + +Suggested Handlebars Template Practices +--------------------------------------- + +* Prevent to use `{{#with}}` . I think `{{path.to.val}}` is more readable then `{{#with path.to}}{{val}}{{/with}}`; when using `{{#with}}` you will confusing on scope changing. `{{#with}}` only save you very little time when you access many variables under same path, but cost you a lot time when you need to understand then maintain a template. +* use `{{{val}}}` when you do not require HTML encoded output on the value. It is better performance, too. +* Prevent to use custom helper if you want to reuse your template in different language. Or, you may need to implement different versions of helper in different languages. +* For best performance, you should only use 'compile on demand' pattern when you are in development stage. Before you go to production, you can `LightnCandy::compile()` on all your templates, save all generated PHP codes, and only deploy these generated files (You may need to maintain a build process for this) . **DO NOT COMPILE ON PRODUCTION** , it also a best practice for security. Adding cache for 'compile on demand' is not the best solution. If you want to build some library or framework based on LightnCandy, think about this scenario. +* Recompile your temlpates when you upgrade LightnCandy every time. + +Detail Feature list +------------------- + +Go http://handlebarsjs.com/ to see more feature description about handlebars.js. All features align with it. + +* Exact same CR/LF behavior with handlebars.js +* Exact same 'true' output with handlebars.js (require `FLAG_JSTRUE`) +* Exact same '[object Object]' output or join(',' array) output with handlebars.js (require `FLAG_JSOBJECT`) +* Can place heading/tailing space, tab, CR/LF inside `{{ var }}` or `{{{ var }}}` +* `{{{value}}}` : raw variable + * true as 'true' (require `FLAG_JSTRUE`) + * false as '' +* `{{value}}` : HTML encoded variable + * true as 'true' (require `FLAG_JSTRUE`) + * false as '' +* `{{{path.to.value}}}` : dot notation, raw +* `{{path.to.value}}` : dot notation, HTML encoded +* `{{.}}` : current context, HTML encoded (require `FLAG_THIS`) +* `{{this}}` : current context, HTML encoded (require `FLAG_THIS`) +* `{{{.}}}` : current context, raw (require `FLAG_THIS`) +* `{{{this}}}` : current context, raw (require `FLAG_THIS`) +* `{{#value}}` : section + * false, undefined and null will skip the section + * true will run the section with original scope + * All others will run the section with new scope (includes 0, 1, -1, '', '1', '0', '-1', 'false', Array, ...) +* `{{/value}}` : end section +* `{{^value}}` : inverted section + * false, undefined and null will run the section with original scope + * All others will skip the section (includes 0, 1, -1, '', '1', '0', '-1', 'false', Array, ...) +* `{{! comment}}` : comment +* `{{#each var}}` : each loop +* `{{/each}}` : end loop +* `{{#if var}}` : run if logic with original scope (null, false, empty Array and '' will skip this block) +* `{{/if}}` : end if +* `{{else}}` : run else logic, should between `{{#if var}}` and `{{/if}}` , or between `{{#unless var}}` and `{{/unless}}` +* `{{#unless var}}` : run unless logic with original scope (null, false, empty Array and '' will render this block) +* `{{#with var}}` : change context scope. If the var is false, skip included section. (require `FLAG_WITH`) +* `{{../var}}` : parent template scope. (require `FLAG_PARENT`) +* `{{> file}}` : partial; include another template inside a template. +* `{{@index}}` : reference to current index in a `{{#each}}` loop on an array. +* `{{@key}}` : reference to current key in a `{{#each}}` loop on an object. +* `{{foo.[ba.r].[#spec].0.ok}}` : reference to $CurrentConext['foo']['ba.r']['#spec'][0]['ok'] (require `FLAG_ADVARNAME`) +* `{{~any_valid_tag}}` : Space control, remove all previous spacing (includes CR/LF, tab, space; stop on any none spacing charactor) (require `FLAG_SPACECTL`) +* `{{any_valid_tag~}}` : Space control, remove all next spacing (includes CR/LF, tab, space; stop on any none spacing charactor) (require `FLAG_SPACECTL`) +* `{{{helper var}}}` : Execute custom helper then render the result +* `{{helper var}}` : Execute custom helper then render the HTML encoded result +* `{{helper name1=var name2="str"}}` : Execute custom helper with named arguments +* `{{#helper ...}}...{{/helper}}` : Execute block custom helper diff --git a/lib/lightncandy/build/gen_doc b/lib/lightncandy/build/gen_doc new file mode 100755 index 0000000..1630b6a --- /dev/null +++ b/lib/lightncandy/build/gen_doc @@ -0,0 +1,6 @@ +#!/bin/sh +wget https://github.com/downloads/apigen/apigen/ApiGen-2.8.0-standalone.zip --no-check-certificate +unzip -oq ApiGen-2.8.0-standalone.zip +rm ApiGen-2.8.0-standalone.zip +php -dopen_basedir=/ apigen/apigen.php --source src/ --destination build/result/docs/ --template-config apigen/templates/bootstrap/config.neon +rm -rf apigen diff --git a/lib/lightncandy/build/gen_test.php b/lib/lightncandy/build/gen_test.php new file mode 100644 index 0000000..c95abcd --- /dev/null +++ b/lib/lightncandy/build/gen_test.php @@ -0,0 +1,66 @@ +getMethods() as $method) { + if (preg_match_all('/@expect (.+) when input (.+)( after (.+))?/', $method->getDocComment(), $matched)) { + echo <<name} + */ + public function testOn_{$method->name}() { + \$method = new ReflectionMethod('$classname', '{$method->name}'); + +VAR + ; + if ($method->isPrivate() || $method->isProtected()) { + echo " \$method->setAccessible(true);\n"; + } + foreach ($matched[1] as $idx => $expect) { + if ($matched[3][$idx]) { + echo " {$matched[3][$idx]}\n"; + } + echo " \$this->assertEquals($expect, \$method->invoke(null,\n {$matched[2][$idx]}\n ));\n"; + } + echo " }\n"; + } + } + echo "}\n?>"; + + $fn = "tests/{$classname}Test.php"; + if (!file_put_contents($fn, ob_get_clean())) { + die("Can not generate tests into file $fn !!\n"); + } +} +?> diff --git a/lib/lightncandy/build/push_ghpage b/lib/lightncandy/build/push_ghpage new file mode 100755 index 0000000..de64e2b --- /dev/null +++ b/lib/lightncandy/build/push_ghpage @@ -0,0 +1,12 @@ +#!/bin/sh +git checkout -B gh-pages +git pull origin gh-pages +rm * +rm -rf src +rm -rf test +cp -r build/result/docs/* . +rm -rf build +rm .travis.yml +git add . +git commit -a -m "New documents on github" +git push origin gh-pages diff --git a/lib/lightncandy/build/runphp b/lib/lightncandy/build/runphp new file mode 100755 index 0000000..aa694de --- /dev/null +++ b/lib/lightncandy/build/runphp @@ -0,0 +1,2 @@ +#!/bin/sh +php -dopen_basedir=/ $1 $2 diff --git a/lib/lightncandy/build/travis_push b/lib/lightncandy/build/travis_push new file mode 100755 index 0000000..13c4042 --- /dev/null +++ b/lib/lightncandy/build/travis_push @@ -0,0 +1,45 @@ +#!/bin/sh +echo "DEBUG ENV: ${TRAVIS_JOB_NUMBER} ${TRAVIS_BUILD_NUMBER} ..." + +if [ "${TRAVIS_BUILD_NUMBER}.1" != "${TRAVIS_JOB_NUMBER}" ]; then + echo "Only push documents 1 time... quit." + exit 0 +fi + +# Set for all push in this script. +git config --global user.name "Travis-CI" +git config --global user.email "zordius@yahoo-inc.com" + +# Push new tests back to this branch +git commit -a -m "Auto generated tests from Travis [ci skip]" +git push "https://${GHTK}@github.com/zordius/lightncandy.git" HEAD:${TRAVIS_BRANCH} > /dev/null 2>&1 + +# Update hash in HandlebarsTest and push back, trigger new tests there. +git clone https://github.com/zordius/HandlebarsTest +cd HandlebarsTest +echo ${TRAVIS_COMMIT} > lightncandy +git add lightncandy +git commit -a -m "Auto test on zordius/lightncandy@${TRAVIS_COMMIT}" +git push "https://${GHTK}@github.com/zordius/HandlebarsTest.git" > /dev/null 2>&1 +cd .. + +# Generate documents for this branch +build/gen_doc +cd build/result/docs + +if [ "${TRAVIS_BRANCH}" != "master" ]; then + echo "Document will be pushed here: http://zordius.github.io/lightncandy/${TRAVIS_BRANCH}/" + cd .. + git init + git pull --quiet "https://${GHTK}@github.com/zordius/lightncandy.git" gh-pages:master > /dev/null 2>&1 + rm -rf $TRAVIS_BRANCH + mv docs $TRAVIS_BRANCH + git add $TRAVIS_BRANCH +else + echo "Document will be pushed here: http://zordius.github.io/lightncandy/" + git init + git add . +fi + +git commit -m "Auto deployed to Github Pages from branch ${TRAVIS_BRANCH} @${TRAVIS_COMMIT} [ci skip]" +git push --force --quiet "https://${GHTK}@github.com/zordius/lightncandy.git" master:gh-pages > /dev/null 2>&1 diff --git a/lib/lightncandy/composer.json b/lib/lightncandy/composer.json new file mode 100644 index 0000000..94fd0c7 --- /dev/null +++ b/lib/lightncandy/composer.json @@ -0,0 +1,22 @@ +{ + "name": "zordius/lightncandy", + "description": "A PHP library to support almost all features of handlebars ( http://handlebarsjs.com/ ) , target to run as fast as pure PHP.", + "homepage": "https://github.com/zordius/lightncandy", + "keywords": ["handlebars", "mustache", "PHP", "template", "logicless"], + "license": "MIT", + "authors": [ + { + "name": "Zordius Chen", + "email": "zordius@yahoo-inc.com" + } + ], + "require": { + "php": ">=5.3.0" + }, + "require-dev": { + "phpunit/phpunit": "3.7.*" + }, + "autoload": { + "files": ["src/lightncandy.php"] + } +} diff --git a/lib/lightncandy/phpunit.xml b/lib/lightncandy/phpunit.xml new file mode 100644 index 0000000..2774963 --- /dev/null +++ b/lib/lightncandy/phpunit.xml @@ -0,0 +1,23 @@ + + + + + ./vendor + + + + + + + + + + + ./tests/ + + + diff --git a/lib/lightncandy/src/lightncandy.php b/lib/lightncandy/src/lightncandy.php new file mode 100644 index 0000000..188ac61 --- /dev/null +++ b/lib/lightncandy/src/lightncandy.php @@ -0,0 +1,1748 @@ + + */ + +/** + * LightnCandy static core class. + */ +class LightnCandy { + // Compile time error handling flags + const FLAG_ERROR_LOG = 1; + const FLAG_ERROR_EXCEPTION = 2; + + // Compile the template as standalone php code which can execute without including LightnCandy + const FLAG_STANDALONE = 4; + + // JavaScript compatibility + const FLAG_JSTRUE = 8; + const FLAG_JSOBJECT = 16; + + // Handlebars.js compatibility + const FLAG_THIS = 32; + const FLAG_WITH = 64; + const FLAG_PARENT = 128; + const FLAG_JSQUOTE = 256; + const FLAG_ADVARNAME = 512; + const FLAG_SPACECTL = 1024; + const FLAG_NAMEDARG = 2048; + + // PHP performenace flags + const FLAG_EXTHELPER = 4096; + const FLAG_ECHO = 8192; + + // alias flags + const FLAG_BESTPERFORMANCE = 8192; // FLAG_ECHO + const FLAG_JS = 24; // FLAG_ECHO + const FLAG_HANDLEBARS = 4064; // FLAG_THIS + FLAG_WITH + FLAG_PARENT + FLAG_JSQUOTE + FLAG_ADVARNAME + FLAG_SPACECTL + FLAG_NAMEDARG + const FLAG_HANDLEBARSJS = 4088; // FLAG_JS + FLAG_HANDLEBARS + + // RegExps + const PARTIAL_SEARCH = '/\\{\\{>[ \\t]*(.+?)[ \\t]*\\}\\}/s'; + const TOKEN_SEARCH = '/(\s*)(\\{{2,3})(~?)([\\^#\\/!]?)(.+?)(~?)(\\}{2,3})(\s*)/s'; + const VARNAME_SEARCH = '/(\\[[^\\]]+\\]|[^\\[\\]\\.]+)/'; + + // Positions of matched token + const POS_LSPACE = 1; + const POS_BEGINTAG = 2; + const POS_LSPACECTL = 3; + const POS_OP = 4; + const POS_INNERTAG = 5; + const POS_RSPACECTL = 6; + const POS_ENDTAG = 7; + const POS_RSPACE = 8; + + private static $lastContext; + + /** + * Compile handlebars template into PHP code. + * + * @param string $template handlebars template string + * @param array $options LightnCandy compile time and run time options, default is Array('flags' => LightnCandy::FLAG_BESTPERFORMANCE) + * + * @return string Compiled PHP code when successed. If error happened and compile failed, return false. + * + * @codeCoverageIgnore + */ + public static function compile($template, $options = Array('flags' => self::FLAG_BESTPERFORMANCE)) { + $context = self::buildContext($options); + + // Scan for partial and replace partial with template. + $template = self::expandPartial($template, $context); + + if (self::handleError($context)) { + return false; + } + + // Do first time scan to find out used feature, detect template error. + if (preg_match_all(self::TOKEN_SEARCH, $template, $tokens, PREG_SET_ORDER) > 0) { + foreach ($tokens as $token) { + self::scanFeatures($token, $context); + } + } + + if (self::handleError($context)) { + return false; + } + + // Do PHP code and json schema generation. + $code = preg_replace_callback(self::TOKEN_SEARCH, function ($matches) use (&$context) { + $tmpl = LightnCandy::compileToken($matches, $context); + return "{$matches[LightnCandy::POS_LSPACE]}'$tmpl'{$matches[LightnCandy::POS_RSPACE]}"; + }, addcslashes($template, "'")); + + if (self::handleError($context)) { + return false; + } + + return self::composePHPRender($context, $code); + } + + /** + * Compose LightnCandy render codes for incllude() + * + * @param array $context Current context + * @param string $code generated PHP code + * + * @return string Composed PHP code + * + * @codeCoverageIgnore + */ + protected static function composePHPRender($context, $code) { + $flagJStrue = self::getBoolStr($context['flags']['jstrue']); + $flagJSObj = self::getBoolStr($context['flags']['jsobj']); + + $libstr = self::exportLCRun($context); + $helpers = self::exportHelper($context); + $bhelpers = self::exportHelper($context, 'blockhelpers'); + + // Return generated PHP code string. + return " Array( + 'jstrue' => $flagJStrue, + 'jsobj' => $flagJSObj, + ), + 'helpers' => $helpers, + 'blockhelpers' => $bhelpers, + 'scopes' => Array(\$in), + 'path' => Array(), +$libstr + ); + {$context['ops']['op_start']}'$code'{$context['ops']['op_end']} +} +?>"; + } + + /** + * Build context from options + * + * @param mixed $options input options + * + * @return array Context from options + * + * @codeCoverageIgnore + */ + protected static function buildContext($options) { + if (!is_array($options)) { + $options = Array(); + } + + $flags = isset($options['flags']) ? $options['flags'] : self::FLAG_BESTPERFORMANCE; + + $context = Array( + 'flags' => Array( + 'errorlog' => $flags & self::FLAG_ERROR_LOG, + 'exception' => $flags & self::FLAG_ERROR_EXCEPTION, + 'standalone' => $flags & self::FLAG_STANDALONE, + 'jstrue' => $flags & self::FLAG_JSTRUE, + 'jsobj' => $flags & self::FLAG_JSOBJECT, + 'jsquote' => $flags & self::FLAG_JSQUOTE, + 'this' => $flags & self::FLAG_THIS, + 'with' => $flags & self::FLAG_WITH, + 'parent' => $flags & self::FLAG_PARENT, + 'echo' => $flags & self::FLAG_ECHO, + 'advar' => $flags & self::FLAG_ADVARNAME, + 'namev' => $flags & self::FLAG_NAMEDARG, + 'exhlp' => $flags & self::FLAG_EXTHELPER, + ), + 'level' => 0, + 'stack' => Array(), + 'error' => Array(), + 'vars' => Array(), + 'sp_vars' => Array(), + 'jsonSchema' => Array( + '$schema' => 'http://json-schema.org/draft-03/schema', + 'description' => 'Template Json Schema' + ), + 'basedir' => self::buildCXBasedir($options), + 'fileext' => self::buildCXFileext($options), + 'usedPartial' => Array(), + 'usedFeature' => Array( + 'rootthis' => 0, + 'enc' => 0, + 'raw' => 0, + 'sec' => 0, + 'isec' => 0, + 'if' => 0, + 'else' => 0, + 'unless' => 0, + 'each' => 0, + 'this' => 0, + 'parent' => 0, + 'with' => 0, + 'dot' => 0, + 'comment' => 0, + 'partial' => 0, + 'helper' => 0, + 'bhelper' => 0, + ), + 'usedCount' => Array( + 'var' => Array(), + 'helpers' => Array(), + 'blockhelpers' => Array(), + ), + 'helpers' => Array(), + 'blockhelpers' => Array(), + ); + + $context['ops'] = $context['flags']['echo'] ? Array( + 'seperator' => ',', + 'f_start' => 'echo ', + 'f_end' => ';', + 'op_start' => 'ob_start();echo ', + 'op_end' => ';return ob_get_clean();', + 'cnd_start' => ';if ', + 'cnd_then' => '{echo ', + 'cnd_else' => ';}else{echo ', + 'cnd_end' => ';}echo ', + ) : Array( + 'seperator' => '.', + 'f_start' => 'return ', + 'f_end' => ';', + 'op_start' => 'return ', + 'op_end' => ';', + 'cnd_start' => '.(', + 'cnd_then' => ' ? ', + 'cnd_else' => ' : ', + 'cnd_end' => ').', + ); + + $context['ops']['enc'] = $context['flags']['jsquote'] ? 'encq' : 'enc'; + return self::buildHelperTable(self::buildHelperTable($context, $options), $options, 'blockhelpers'); + } + + /** + * Build custom helper table + * + * @param array $context prepared context + * @param mixed $options input options + * @param string $tname helper table name + * + * @return array context with generated helper table + * + * @expect Array() when input Array(), Array() + * @expect Array('flags' => Array('exhlp' => 1)) when input Array('flags' => Array('exhlp' => 1)), Array('helpers' => Array('abc')) + * @expect Array('error' => Array('Can not find custom helper function defination abc() !'), 'flags' => Array('exhlp' => 0)) when input Array('error' => Array(), 'flags' => Array('exhlp' => 0)), Array('helpers' => Array('abc')) + * @expect Array('flags' => Array('exhlp' => 1), 'helpers' => Array('LCRun2::raw' => 'LCRun2::raw')) when input Array('flags' => Array('exhlp' => 1), 'helpers' => Array()), Array('helpers' => Array('LCRun2::raw')) + * @expect Array('flags' => Array('exhlp' => 1), 'helpers' => Array('test' => 'LCRun2::raw')) when input Array('flags' => Array('exhlp' => 1), 'helpers' => Array()), Array('helpers' => Array('test' => 'LCRun2::raw')) + */ + protected static function buildHelperTable($context, $options, $tname = 'helpers') { + if (isset($options[$tname]) && is_array($options[$tname])) { + foreach ($options[$tname] as $name => $func) { + if (is_callable($func)) { + $context[$tname][is_int($name) ? $func : $name] = $func; + } else { + if (!$context['flags']['exhlp']) { + $context['error'][] = "Can not find custom helper function defination $func() !"; + } + } + } + } + return $context; + } + + /** + * Expand partial string recursively. + * + * @param string $template template string + * + * @param mixed $context + * + * @return string expanded template + * + * @expect "123\n" when input '{{> test1}}', Array('basedir' => Array('tests'), 'usedFeature' => Array('partial' =>0), 'fileext' => Array('.tmpl')) + * @expect "a123\nb\n" when input '{{> test2}}', Array('basedir' => Array('tests'), 'usedFeature' => Array('partial' =>0), 'fileext' => Array('.tmpl')) + */ + public static function expandPartial($template, &$context) { + $template = preg_replace_callback(self::PARTIAL_SEARCH, function ($matches) use (&$context) { + return LightnCandy::expandPartial(LightnCandy::readPartial($matches[1], $context), $context); + }, $template); + return $template; + } + + /** + * Read partial file content as string. + * + * @param string $name partial file name + * @param array $context Current context of compiler progress. + * + * @return string partial file content + * + * @expect "123\n" when input 'test1', Array('basedir' => Array('tests'), 'usedFeature' => Array('partial' =>0), 'fileext' => Array('.tmpl')) + * @expect "a{{> test1}}b\n" when input 'test2', Array('basedir' => Array('tests'), 'usedFeature' => Array('partial' =>0), 'fileext' => Array('.tmpl')) + * @expect null when input 'test3', Array('basedir' => Array('tests'), 'usedFeature' => Array('partial' =>0), 'fileext' => Array('.tmpl')) + */ + public static function readPartial($name, &$context) { + $f = preg_split('/[ \\t]/', $name); + $context['usedFeature']['partial']++; + foreach ($context['basedir'] as $dir) { + foreach ($context['fileext'] as $ext) { + $fn = "$dir/$f[0]$ext"; + if (file_exists($fn)) { + return file_get_contents($fn); + } + } + } + $context['error'][] = "can not find partial file for '$name', you should set correct basedir and fileext in options"; + } + + /** + * Internal method used by compile(). Check options and handle fileext. + * + * @param array $options current compile option + * + * @return array file extensions + * + * @expect Array('.tmpl') when input Array() + * @expect Array('test') when input Array('fileext' => 'test') + * @expect Array('test1') when input Array('fileext' => Array('test1')) + * @expect Array('test2', 'test3') when input Array('fileext' => Array('test2', 'test3')) + */ + protected static function buildCXFileext($options) { + $exts = isset($options['fileext']) ? $options['fileext'] : '.tmpl'; + return is_array($exts) ? $exts : Array($exts); + } + + /** + * Internal method used by compile(). Check options and handle basedir. + * + * @param array $options current compile option + * + * @return array base directories + * + * @expect Array(getcwd()) when input Array() + * @expect Array(getcwd()) when input Array('basedir' => 0) + * @expect Array(getcwd()) when input Array('basedir' => '') + * @expect Array(getcwd()) when input Array('basedir' => Array()) + * @expect Array('src') when input Array('basedir' => Array('src')) + * @expect Array(getcwd()) when input Array('basedir' => Array('dir_not_found')) + * @expect Array('src') when input Array('basedir' => Array('src', 'dir_not_found')) + * @expect Array('src', 'tests') when input Array('basedir' => Array('src', 'tests')) + */ + protected static function buildCXBasedir($options) { + $dirs = isset($options['basedir']) ? $options['basedir'] : 0; + $dirs = is_array($dirs) ? $dirs : Array($dirs); + $ret = Array(); + + foreach ($dirs as $dir) { + if (is_string($dir) && is_dir($dir)) { + $ret[] = $dir; + } + } + + if (count($ret) === 0) { + $ret[] = getcwd(); + } + + return $ret; + } + + /** + * Internal method used by compile(). Get PHP code from a closure of function as string. + * + * @param object $closure Closure object + * + * @return string + * @expect 'function($a) {return;}' when input function ($a) {return;} + * @expect 'function($a) {return;}' when input function ($a) {return;} + * @expect '' when input 'Directory::close' + */ + protected static function getPHPCode($closure) { + if (is_string($closure) && preg_match('/(.+)::(.+)/', $closure, $matched)) { + $ref = new ReflectionMethod($matched[1], $matched[2]); + } else { + $ref = new ReflectionFunction($closure); + } + $fname = $ref->getFileName(); + + // This never happened, only for Unit testing. + if (!is_file($fname)) { + return ''; + } + + $lines = file_get_contents($fname); + $file = new SplFileObject($fname); + $file->seek($ref->getStartLine() - 2); + $spos = $file->ftell(); + $file->seek($ref->getEndLine() - 1); + $epos = $file->ftell(); + + return preg_replace('/^.*?function\s.*?\\((.+?)\\}[,\\s]*;?$/s', 'function($1}', substr($lines, $spos, $epos - $spos)); + } + + /** + * Internal method used by compile(). Export required custom helper functions. + * + * @param string $tname helper table name + * + * @param array $context current scaning context + * + * @return string + * @codeCoverageIgnore + */ + protected static function exportHelper($context, $tname = 'helpers') { + $ret = ''; + foreach ($context[$tname] as $name => $func) { + if (!isset($context['usedCount'][$tname][$name])) { + continue; + } + if ((is_object($func) && ($func instanceof Closure)) || ($context['flags']['exhlp'] == 0)) { + $ret .= (" '$name' => " . self::getPHPCode($func) . ",\n"); + continue; + } + $ret .= " '$name' => '$func',\n"; + } + + return "Array($ret)"; + } + + /** + * Internal method used by compile(). Export required standalone functions. + * + * @param array $context current scaning context + * + * @return string + * @codeCoverageIgnore + */ + protected static function exportLCRun($context) { + if ($context['flags']['standalone'] == 0) { + return ''; + } + + $class = new ReflectionClass('LCRun2'); + $fname = $class->getFileName(); + $lines = file_get_contents($fname); + $file = new SplFileObject($fname); + $ret = "'funcs' => Array(\n"; + + foreach ($class->getMethods() as $method) { + $file->seek($method->getStartLine() - 2); + $spos = $file->ftell(); + $file->seek($method->getEndLine() - 2); + $epos = $file->ftell(); + $ret .= preg_replace('/self::(.+?)\(/', '\\$cx[\'funcs\'][\'$1\'](', preg_replace('/public static function (.+)\\(/', '\'$1\' => function (', substr($lines, $spos, $epos - $spos))) . " },\n"; + } + unset($file); + return "$ret)\n"; + } + + /** + * Internal method used by compile(). Handle exists error and return error status. + * + * @param array $context Current context of compiler progress. + * + * @throws Exception + * @return boolean True when error detected + * + * @expect true when input Array('level' => 1, 'stack' => Array('X'), 'flags' => Array('errorlog' => 0, 'exception' => 0), 'error' => Array()) + * @expect false when input Array('level' => 0, 'error' => Array()) + * @expect true when input Array('level' => 0, 'error' => Array('some error'), 'flags' => Array('errorlog' => 0, 'exception' => 0)) + */ + protected static function handleError(&$context) { + if ($context['level'] !== 0) { + $token = array_pop($context['stack']); + $context['error'][] = "Unclosed token {{{#$token}}} !!"; + } + + self::$lastContext = $context; + + if (count($context['error'])) { + if ($context['flags']['errorlog']) { + error_log(implode("\n", $context['error'])); + } + if ($context['flags']['exception']) { + throw new Exception($context['error']); + } + return true; + } + return false; + } + + /** + * Internal method used by compile(). Return 'true' or 'false' string. + * + * @param mixed $v value + * + * @return string 'true' when the value larger then 0 + * + * @expect 'true' when input 1 + * @expect 'true' when input 999 + * @expect 'false' when input 0 + * @expect 'false' when input -1 + */ + protected static function getBoolStr($v) { + return ($v > 0) ? 'true' : 'false'; + } + + /** + * Get last compiler context. + * + * @return array Context data + * + * @codeCoverageIgnore + */ + public static function getContext() { + return self::$lastContext; + } + + /** + * Get JsonSchema of last compiled handlebars template. + * + * @return array JsonSchema data + * + * @codeCoverageIgnore + */ + public static function getJsonSchema() { + return self::$lastContext['jsonSchema']; + } + + /** + * Get JsonSchema of last compiled handlebars template as pretty printed string. + * + * @param string $indent indent string. + * + * @return string JsonSchema string + * + * @codeCoverageIgnore + */ + public static function getJsonSchemaString($indent = ' ') { + $level = 0; + return preg_replace_callback('/\\{|\\[|,|\\]|\\}|:/', function ($matches) use (&$level, $indent) { + switch ($matches[0]) { + case '}': + case ']': + $level--; + $is = str_repeat($indent, $level); + return "\n$is{$matches[0]}"; + case ':': + return ': '; + } + $br = ''; + switch ($matches[0]) { + case '{': + case '[': + $level++; + // Continue to add CR + case ',': + $br = "\n"; + } + $is = str_repeat($indent, $level); + return "{$matches[0]}$br$is"; + }, json_encode(self::getJsonSchema())); + } + + /** + * Get a working render function by a string of PHP code. This method may requires php setting allow_url_include=1 and allow_url_fopen=1 , or access right to tmp file system. + * + * @param string $php PHP code + * @param string|null $tmp_dir Optional, change temp directory for php include file saved by prepare() when can not include php code with data:// format. + * + * @return Closure result of include() + * + * @codeCoverageIgnore + */ + public static function prepare($php, $tmp_dir = null) { + if (!ini_get('allow_url_include') || !ini_get('allow_url_fopen')) { + if (!$tmp_dir || !is_dir($tmp_dir)) { + $tmp_dir = sys_get_temp_dir(); + } + } + + if ($tmp_dir) { + $fn = tempnam($tmp_dir, 'lci_'); + if (!$fn) { + error_log("Can not generate tmp file under $tmp_dir!!\n"); + return false; + } + if (!file_put_contents($fn, $php)) { + error_log("Can not include saved temp php code from $fn, you should add $tmp_dir into open_basedir!!\n"); + return false; + } + return include($fn); + } + + return include('data://text/plain,' . urlencode($php)); + } + + /** + * Use a saved PHP file to render the input data. + * + * @param string $compiled compiled template php file name + * + * @param mixed $data + * + * @return string rendered result + * + * @codeCoverageIgnore + */ + public static function render($compiled, $data) { + /** @var Closure $func */ + $func = include($compiled); + return $func($data); + } + + /** + * Internal method used by compile(). Get function name for standalone or none standalone tempalte. + * + * @param array $context Current context of compiler progress. + * @param string $name base function name + * + * @return string compiled Function name + * + * @expect 'LCRun2::test' when input Array('flags' => Array('standalone' => 0)), 'test' + * @expect 'LCRun2::test2' when input Array('flags' => Array('standalone' => 0)), 'test2' + * @expect "\$cx['funcs']['test3']" when input Array('flags' => Array('standalone' => 1)), 'test3' + */ + protected static function getFuncName($context, $name) { + return $context['flags']['standalone'] ? "\$cx['funcs']['$name']" : "LCRun2::$name"; + } + + /** + * Internal method used by getArrayCode(). Get variable names translated string. + * + * @param array $scopes an array of variable names with single quote + * + * @return string PHP array names string + * + * @expect '' when input Array() + * @expect '[a]' when input Array('a') + * @expect '[a][b][c]' when input Array('a', 'b', 'c') + */ + protected static function getArrayStr($scopes) { + return count($scopes) ? '[' . implode('][', $scopes) . ']' : ''; + } + + /** + * Internal method used by getVariableName(). Get variable names translated string. + * + * @param array $list an array of variable names. + * + * @return string PHP array names string + * + * @expect '' when input Array() + * @expect "['a']" when input Array('a') + * @expect "['a']['b']['c']" when input Array('a', 'b', 'c') + */ + protected static function getArrayCode($list) { + return self::getArrayStr(array_map(function ($v) {return "'$v'";}, $list)); + } + + /** + * Internal method used by compile(). + * + * @param array $vn variable name array. + * + * @return string variable names + */ + protected static function getVariableNames($vn) { + $ret = Array(); + foreach ($vn as $i => $v) { + $ret[] = (is_string($i) ? "'$i'=>" : '') . self::getVariableName($v); + } + return 'Array(' . implode(',', $ret) . ')'; + } + + /** + * Internal method used by compile(). + * + * @param array $var variable name. + * + * @return array variable names + * + * @expect '$in' when input Array(null), Array() + * @expect '$cx[\'sp_vars\'][\'index\']' when input Array('@index'), Array() + * @expect '$cx[\'sp_vars\'][\'key\']' when input Array('@key'), Array() + * @expect '\'a\'' when input Array('"a"'), Array(), Array() + * @expect '(is_array($in) ? $in[\'a\'] : null)' when input Array('a'), Array() + * @expect '(is_array($cx[\'scopes\'][count($cx[\'scopes\'])-1]) ? $cx[\'scopes\'][count($cx[\'scopes\'])-1][\'a\'] : null)' when input Array(1,'a'), Array() + * @expect '(is_array($cx[\'scopes\'][count($cx[\'scopes\'])-3]) ? $cx[\'scopes\'][count($cx[\'scopes\'])-3][\'a\'] : null)' when input Array(3,'a'), Array() + */ + protected static function getVariableName($var) { + $levels = 0; + + if ($var[0] === '@index') { + return "\$cx['sp_vars']['index']"; + } + + if ($var[0] === '@key') { + return "\$cx['sp_vars']['key']"; + } + + // Handle double quoted string + if (preg_match('/^"(.*)"$/', $var[0], $matched)) { + return "'{$matched[1]}'"; + } + + $base = '$in'; + // trace to parent + if (!is_string($var[0]) && is_int($var[0])) { + $levels = array_shift($var); + } + + // change base when trace to parent + if ($levels > 0) { + $base = "\$cx['scopes'][count(\$cx['scopes'])-$levels]"; + } + + if (is_null($var[0])) { + return $base; + } + + $n = self::getArrayCode($var); + array_pop($var); + $p = count($var) ? self::getArrayCode($var) : ''; + + return "(is_array($base$p) ? $base$n : null)"; + } + + /** + * Internal method used by compile(). Return array presentation for a variable name + * + * @param mixed $v variable name to be fixed. + * @param array $context Current compile content. + * + * @return array Return variable name array + * + * @expect Array('this') when input 'this', Array('flags' => Array('advar' => 0, 'this' => 0)) + * @expect Array(null) when input 'this', Array('flags' => Array('advar' => 0, 'this' => 1)) + * @expect Array(1, null) when input '../', Array('flags' => Array('advar' => 0, 'this' => 1, 'parent' => 1), 'usedFeature' => Array('parent' => 0)) + * @expect Array(1, null) when input '../.', Array('flags' => Array('advar' => 0, 'this' => 1, 'parent' => 1), 'usedFeature' => Array('parent' => 0)) + * @expect Array(1, null) when input '../this', Array('flags' => Array('advar' => 0, 'this' => 1, 'parent' => 1), 'usedFeature' => Array('parent' => 0)) + * @expect Array(1, 'a') when input '../a', Array('flags' => Array('advar' => 0, 'this' => 1, 'parent' => 1), 'usedFeature' => Array('parent' => 0)) + * @expect Array(2, 'a', 'b') when input '../../a.b', Array('flags' => Array('advar' => 0, 'this' => 0, 'parent' => 1), 'usedFeature' => Array('parent' => 0)) + * @expect Array(2, '[a]', 'b') when input '../../[a].b', Array('flags' => Array('advar' => 0, 'this' => 0, 'parent' => 1), 'usedFeature' => Array('parent' => 0)) + * @expect Array(2, 'a', 'b') when input '../../[a].b', Array('flags' => Array('advar' => 1, 'this' => 0, 'parent' => 1), 'usedFeature' => Array('parent' => 0)) + * @expect Array('"a.b"') when input '"a.b"', Array('flags' => Array('advar' => 1, 'this' => 0, 'parent' => 1), 'usedFeature' => Array('parent' => 0)) + */ + protected static function fixVariable($v, &$context) { + $ret = Array(); + $levels = 0; + + // handle double quoted string + if (preg_match('/^"(.*)"$/', $v, $matched)) { + return Array($v); + } + + // Trace to parent for ../ N times + $v = preg_replace_callback('/\\.\\.\\//', function() use (&$levels) { + $levels++; + return ''; + }, trim($v)); + + if ($levels) { + $ret[] = $levels; + if (!$context['flags']['parent']) { + $context['error'][] = 'do not support {{../var}}, you should do compile with LightnCandy::FLAG_PARENT flag'; + } + $context['usedFeature']['parent']++; + } + + if ($context['flags']['advar'] && preg_match('/\\]/', $v)) { + preg_match_all(self::VARNAME_SEARCH, $v, $matched); + } else { + preg_match_all('/([^\\.\\/]+)/', $v, $matched); + } + + if (($v === '.') || ($v === '')) { + $matched = Array(null, Array('.')); + } + + foreach ($matched[1] as $m) { + if ($context['flags']['advar'] && substr($m, 0, 1) === '[') { + $ret[] = substr($m, 1, -1); + } else { + $ret[] = ($context['flags']['this'] && (($m === 'this') || ($m === '.'))) ? null : $m; + } + } + + return $ret; + } + + /** + * Internal method used by compile(). Find current json schema target, return childrens. + * + * @param array $target current json schema target + * @param mixed $key move target to child specified with the key + * + * @return array children of new json schema target + * + * @expect Array() when input Array(), false + * @expect Array() when input Array(), true + */ + protected static function &setJSONTarget(&$target, $key = false) { + if ($key) { + if (!isset($target['properties'])) { + $target['type'] = 'object'; + $target['properties'] = Array(); + } + if (!isset($target['properties'][$key])) { + $target['properties'][$key] = Array(); + } + return $target['properties'][$key]; + } else { + if (!isset($target['items'])) { + $target['type'] = 'array'; + $target['items'] = Array(); + } + return $target['items']; + } + } + + /** + * Internal method used by compile(). Find current json schema target, prepare target parent. + * + * @param array $context current compile context + * + * @codeCoverageIgnore + */ + protected static function &setJSONParent(&$context) { + $target = &$context['jsonSchema']; + foreach ($context['vars'] as $var) { + if ($var) { + foreach ($var as $v) { + $target = &self::setJSONTarget($target, $v); + } + } + $target = &self::setJSONTarget($target); + } + return $target; + } + + /** + * Internal method used by compile(). Define a json schema string/number with provided variable name. + * + * @param array $context current compile context + * @param array $var current variable name + * + * @codeCoverageIgnore + */ + protected static function addJsonSchema(&$context, $var) { + $target = &self::setJSONParent($context); + foreach ($var as $v) { + $target = &self::setJSONTarget($target, $v); + } + $target['type'] = Array('string', 'number'); + $target['required'] = true; + } + + /** + * Internal method used by scanFeatures() and compile(). Parse the token and return parsed result. + * + * @param array $token preg_match results + * @param array $context current compile context + * + * @return array Return parsed result + * + * @expect Array(false, Array(Array(null))) when input Array(0,0,0,0,0,''), Array('flags' => Array('advar' => 0, 'this' => 1, 'namev' => 0)) + * @expect Array(true, Array(Array(null))) when input Array(0,0,'{{{',0,0,''), Array('flags' => Array('advar' => 0, 'this' => 1, 'namev' => 0)) + * @expect Array(false, Array(Array('a'))) when input Array(0,0,0,0,0,'a'), Array('flags' => Array('advar' => 0, 'this' => 1, 'namev' => 0)) + * @expect Array(false, Array(Array('a'), Array('b'))) when input Array(0,0,0,0,0,'a b'), Array('flags' => Array('advar' => 0, 'this' => 1, 'namev' => 0)) + * @expect Array(false, Array(Array('a'), Array('"b'), Array('c"'))) when input Array(0,0,0,0,0,'a "b c"'), Array('flags' => Array('advar' => 0, 'this' => 1, 'namev' => 0)) + * @expect Array(false, Array(Array('a'), Array('"b c"'))) when input Array(0,0,0,0,0,'a "b c"'), Array('flags' => Array('advar' => 1, 'this' => 1, 'namev' => 0)) + * @expect Array(false, Array(Array('a'), Array('[b'), Array('c]'))) when input Array(0,0,0,0,0,'a [b c]'), Array('flags' => Array('advar' => 0, 'this' => 1, 'namev' => 0)) + * @expect Array(false, Array(Array('a'), Array('[b'), Array('c]'))) when input Array(0,0,0,0,0,'a [b c]'), Array('flags' => Array('advar' => 0, 'this' => 1, 'namev' => 1)) + * @expect Array(false, Array(Array('a'), Array('b c'))) when input Array(0,0,0,0,0,'a [b c]'), Array('flags' => Array('advar' => 1, 'this' => 1, 'namev' => 0)) + * @expect Array(false, Array(Array('a'), Array('b c'))) when input Array(0,0,0,0,0,'a [b c]'), Array('flags' => Array('advar' => 1, 'this' => 1, 'namev' => 1)) + * @expect Array(false, Array(Array('a'), 'q' => Array('b c'))) when input Array(0,0,0,0,0,'a q=[b c]'), Array('flags' => Array('advar' => 1, 'this' => 1, 'namev' => 1)) + * @expect Array(false, Array(Array('a'), Array('q=[b c'))) when input Array(0,0,0,0,0,'a [q=[b c]'), Array('flags' => Array('advar' => 1, 'this' => 1, 'namev' => 1)) + * @expect Array(false, Array(Array('a'), 'q' => Array('[b'), Array('c]'))) when input Array(0,0,0,0,0,'a q=[b c]'), Array('flags' => Array('advar' => 0, 'this' => 1, 'namev' => 1)) + */ + protected static function parseTokenArgs(&$token, &$context) { + $vars = Array(); + trim($token[self::POS_INNERTAG]); + $count = preg_match_all('/(\s*)([^\s]+)/', $token[self::POS_INNERTAG], $matched); + + // Parse arguments and deal with "..." or [...] + if (($count > 0) && $context['flags']['advar']) { + $prev = ''; + $expect = 0; + foreach ($matched[2] as $index => $t) { + // continue from previous match when expect something + if ($expect) { + $prev .= "{$matched[1][$index]}$t"; + // end an argument when end with expected charactor + if (substr($t, -1, 1) === $expect) { + $vars[] = $prev; + $prev = ''; + $expect = 0; + } + continue; + } + // continue to next match when begin with '"' without ending '"' + if (preg_match('/^"[^"]+$/', $t)) { + $prev = $t; + $expect = '"'; + continue; + } + + // continue to next match when '="' exists without ending '"' + if (preg_match('/="[^"]+$/', $t)) { + $prev = $t; + $expect = '"'; + continue; + } + + // continue to next match when '[' exists without ending ']' + if (preg_match('/\\[[^\\]]+$/', $t)) { + $prev = $t; + $expect = ']'; + continue; + } + $vars[] = $t; + } + } else { + $vars = ($count > 0) ? $matched[2] : explode(' ', $token[self::POS_INNERTAG]); + } + + // Check for advanced variable. + $ret = Array(); + $i = 0; + foreach ($vars as $idx => $var) { + if ($context['flags']['namev']) { + if (preg_match('/^((\\[([^\\]]+)\\])|([^=^[]+))=(.+)$/', $var, $m)) { + if (!$context['flags']['advar'] && $m[3]) { + $context['error'][] = "Wrong argument name as '$m[3]' in " . self::tokenString($token) . ' !'; + } + $idx = $m[3] ? $m[3] : $m[4]; + $var = $m[5]; + } + } + if ($context['flags']['advar']) { + // foo] Rule 1: no starting [ or [ not start from head + if (preg_match('/^[^\\[\\.]+[\\]\\[]/', $var) + // [bar Rule 2: no ending ] or ] not in the end + || preg_match('/[\\[\\]][^\\]\\.]+$/', $var) + // ]bar. Rule 3: middle ] not before . + || preg_match('/\\][^\\]\\[\\.]+\\./', $var) + // .foo[ Rule 4: middle [ not after . + || preg_match('/\\.[^\\]\\[\\.]+\\[/', preg_replace('/\\[[^\\]]+\\]/', '[XXX]', $var)) + ) { + $context['error'][] = "Wrong variable naming as '$var' in " . self::tokenString($token) . ' !'; + } + } + + if (is_string($idx)) { + $ret[$idx] = is_numeric($var) ? Array('"' . $var . '"') : self::fixVariable($var, $context); + } else { + $ret[$i] = self::fixVariable($var, $context); + $i++; + } + } + + return Array(($token[self::POS_BEGINTAG] === '{{{'), $ret); + } + + /** + * Internal method used by scanFeatures(). return token string + * + * @param string[] $token detected handlebars {{ }} token + * @param integer $remove remove how many heading and ending token + * + * @return string Return whole token + * + * @expect 'b' when input Array('a', 'b', 'c') + * @expect 'c' when input Array('a', 'b', 'c', 'd', 'e'), 2 + */ + protected static function tokenString($token, $remove = 1) { + return implode('', array_slice($token, $remove, -$remove)); + } + + /** + * Internal method used by scanFeatures(). Validate start and and. + * + * @param string[] $token detected handlebars {{ }} token + * @param array $context current scaning context + * @param boolean $raw the token is started with {{{ or not + * + * @return boolean|null Return true when invalid + * + * @expect null when input array_fill(0, 8, ''), Array(), true + * @expect true when input range(0, 7), Array(), true + */ + protected static function validateStartEnd($token, &$context, $raw) { + // {{ }}} or {{{ }} are invalid + if (strlen($token[self::POS_BEGINTAG]) !== strlen($token[self::POS_ENDTAG])) { + $context['error'][] = 'Bad token ' . self::tokenString($token) . ' ! Do you mean {{ }} or {{{ }}}?'; + return true; + } + // {{{# }}} or {{{! }}} or {{{/ }}} or {{{^ }}} are invalid. + if ($raw && $token[self::POS_OP]) { + $context['error'][] = 'Bad token ' . self::tokenString($token) . ' ! Do you mean {{' . self::tokenString($token, 2) . '}}?'; + return true; + } + } + + /** + * Internal method used by compile(). Collect handlebars usage information, detect template error. + * + * @param string[] $token detected handlebars {{ }} token + * @param array $context current scaning context + * @param array $vars parsed arguments list + * + * @return mixed Return true when invalid or detected + * + * @expect null when input Array(0, 0, 0, 0, ''), Array(), Array() + * @expect 2 when input Array(0, 0, 0, 0, '^', '...'), Array('usedFeature' => Array('isec' => 1), 'level' => 0), Array() + * @expect 3 when input Array(0, 0, 0, 0, '!', '...'), Array('usedFeature' => Array('comment' => 2)), Array() + * @expect true when input Array(0, 0, 0, 0, '/'), Array('stack' => Array(1), 'level' => 1), Array() + * @expect 4 when input Array(0, 0, 0, 0, '#', '...'), Array('usedFeature' => Array('sec' => 3), 'level' => 0), Array('x') + * @expect 5 when input Array(0, 0, 0, 0, '#', '...'), Array('usedFeature' => Array('if' => 4), 'level' => 0), Array('if') + * @expect 6 when input Array(0, 0, 0, 0, '#', '...'), Array('usedFeature' => Array('with' => 5), 'level' => 0, 'flags' => Array('with' => 1)), Array('with') + * @expect 7 when input Array(0, 0, 0, 0, '#', '...'), Array('usedFeature' => Array('each' => 6), 'level' => 0), Array('each') + * @expect 8 when input Array(0, 0, 0, 0, '#', '...'), Array('usedFeature' => Array('unless' => 7), 'level' => 0), Array('unless') + */ + protected static function validateOperations($token, &$context, $vars) { + switch ($token[self::POS_OP]) { + case '^': + $context['stack'][] = $token[self::POS_INNERTAG]; + $context['level']++; + return ++$context['usedFeature']['isec']; + + case '/': + array_pop($context['stack']); + $context['level']--; + return true; + + case '!': + return ++$context['usedFeature']['comment']; + + case '#': + $context['stack'][] = $token[self::POS_INNERTAG]; + $context['level']++; + + // detect block custom helpers. + if (isset($context['blockhelpers'][$vars[0][0]])) { + return ++$context['usedFeature']['bhelper']; + } + + switch ($vars[0]) { + case 'with': + if (isset($vars[1]) && !$context['flags']['with']) { + $context['error'][] = 'do not support {{#with var}}, you should do compile with LightnCandy::FLAG_WITH flag'; + } + if ((count($vars) < 2) && $context['flags']['with']) { + $context['error'][] = 'no argument after {{#with}} !'; + } + // Continue to add usage... + case 'each': + case 'unless': + case 'if': + return ++$context['usedFeature'][$vars[0]]; + + default: + return ++$context['usedFeature']['sec']; + } + } + } + + /** + * Internal method used by compile(). Collect handlebars usage information, detect template error. + * + * @param string[] $token detected handlebars {{ }} token + * @param array $context current scaning context + * + * @codeCoverageIgnore + */ + protected static function scanFeatures($token, &$context) { + list($raw, $vars) = self::parseTokenArgs($token, $context); + + if (self::validateStartEnd($token, $context, $raw)) { + return; + } + + if (self::validateOperations($token, $context, $vars)) { + return; + } + + $context['usedFeature'][$raw ? 'raw' : 'enc']++; + + // validate else and this. + switch ($vars[0]) { + case 'else': + return $context['usedFeature']['else']++; + + case 'this': + case '.': + if ($context['level'] == 0) { + $context['usedFeature']['rootthis']++; + } + if (!$context['flags']['this']) { + $context['error'][] = "do not support {{{$vars[0]}}}, you should do compile with LightnCandy::FLAG_THIS flag"; + } + return $context['usedFeature'][($vars[0] == '.') ? 'dot' : 'this']++; + } + + // detect custom helpers. + if (isset($context['helpers'][$vars[0][0]])) { + return $context['usedFeature']['helper']++; + } + } + + /** + * Internal method used by compile(). Show error message when named arguments appear without custom helper. + * + * @param array $token detected handlebars {{ }} token + * @param array $context current scaning context + * @param boolean $named is named arguments + * + */ + public static function noNamedArguments($token, &$context, $named) { + if ($named) { + $context['error'][] = 'do not support name=value in ' . self::tokenString($token) . '!'; + } + } + + /** + * Internal method used by compile(). Return compiled PHP code partial for a handlebars token. + * + * @param array $token detected handlebars {{ }} token + * @param array $context current scaning context + * + * @return string Return compiled code segment for the token + * + * @codeCoverageIgnore + */ + public static function compileToken(&$token, &$context) { + list($raw, $vars) = self::parseTokenArgs($token, $context); + $named = count(array_diff_key($vars, array_keys(array_keys($vars)))) > 0; + + // Handle space control. + if ($token[self::POS_LSPACECTL]) { + $token[self::POS_LSPACE] = ''; + } + + if ($token[self::POS_RSPACECTL]) { + $token[self::POS_RSPACE] = ''; + } + + if ($ret = self::compileSection($token, $context, $vars, $named)) { + return $ret; + } + + if ($ret = self::compileCustomHelper($context, $vars, $raw, $named)) { + return $ret; + } + + if ($ret = self::compileElse($context, $vars)) { + return $ret; + } + + self::noNamedArguments($token, $context, $named); + + return self::compileVariable($context, $vars, $raw); + } + + /** + * Internal method used by compile(). Return compiled PHP code partial for a handlebars section token. + * + * @param array $token detected handlebars {{ }} token + * @param array $context current scaning context + * @param array $vars parsed arguments list + * @param boolean $named is named arguments or not + * + * @return string|null Return compiled code segment for the token when the token is section + * + * @codeCoverageIgnore + */ + protected static function compileSection(&$token, &$context, $vars, $named) { + switch ($token[self::POS_OP]) { + case '^': + $v = self::getVariableName($vars[0]); + $context['stack'][] = self::getArrayCode($vars[0]); + $context['stack'][] = '^'; + self::noNamedArguments($token, $context, $named); + return "{$context['ops']['cnd_start']}(" . self::getFuncName($context, 'isec') . "($v)){$context['ops']['cnd_then']}"; + case '/': + return self::compileBlockEnd($token, $context, $vars); + case '!': + return $context['ops']['seperator']; + case '#': + $r = self::compileBlockCustomHelper($context, $vars); + if ($r) { + return $r; + } + self::noNamedArguments($token, $context, $named); + return self::compileBlockBegin($context, $vars); + } + } + + /** + * Internal method used by compile(). Return compiled PHP code partial for a handlebars block custom helper begin token. + * + * @param array $context current scaning context + * @param array $vars parsed arguments list + * + * @return string Return compiled code segment for the token + * + * @codeCoverageIgnore + */ + protected static function compileBlockCustomHelper(&$context, $vars) { + if (!isset($context['blockhelpers'][$vars[0][0]])) { + return; + } + $context['vars'][] = $vars[0]; + $context['stack'][] = self::getArrayCode($vars[0]); + $context['stack'][] = '#'; + $ch = array_shift($vars); + self::addUsageCount($context, 'blockhelpers', $ch[0]); + $v = self::getVariableNames($vars); + return $context['ops']['seperator'] . self::getFuncName($context, 'bch') . "('$ch[0]', $v, \$cx, \$in, function(\$cx, \$in) {{$context['ops']['f_start']}"; + } + + /** + * Internal method used by compile(). Return compiled PHP code partial for a handlebars block end token. + * + * @param array $token detected handlebars {{ }} token + * @param array $context current scaning context + * @param array $vars parsed arguments list + * + * @return string Return compiled code segment for the token + * + * @codeCoverageIgnore + */ + protected static function compileBlockEnd(&$token, &$context, $vars) { + $each = false; + $pop = array_pop($context['stack']); + switch ($token[self::POS_INNERTAG]) { + case 'if': + case 'unless': + if ($pop == ':') { + array_pop($context['stack']); + return $context['usedFeature']['parent'] ? "{$context['ops']['f_end']}}){$context['ops']['seperator']}" : "{$context['ops']['cnd_end']}"; + } + return $context['usedFeature']['parent'] ? "{$context['ops']['f_end']}}){$context['ops']['seperator']}" : "{$context['ops']['cnd_else']}''{$context['ops']['cnd_end']}"; + case 'with': + if ($pop !== 'with') { + $context['error'][] = 'Unexpect token /with !'; + return; + } + return "{$context['ops']['f_end']}}){$context['ops']['seperator']}"; + case 'each': + $each = true; + // Continue to same logic {{/each}} === {{/any_value}} + default: + array_pop($context['vars']); + switch($pop) { + case '#': + case '^': + $pop2 = array_pop($context['stack']); + if (!$each && ($pop2 !== self::getArrayCode($vars[0]))) { + $context['error'][] = 'Unexpect token ' . self::tokenString($token) . " ! Previous token $pop$pop2 is not closed"; + return; + } + if ($pop == '^') { + return $context['usedFeature']['parent'] ? "{$context['ops']['f_end']}}){$context['ops']['seperator']}" : "{$context['ops']['cnd_else']}''{$context['ops']['cnd_end']}"; + } + return "{$context['ops']['f_end']}}){$context['ops']['seperator']}"; + default: + $context['error'][] = 'Unexpect token: ' . self::tokenString($token) . ' !'; + return; + } + } + } + + /** + * Internal method used by compile(). Return compiled PHP code partial for a handlebars block begin token. + * + * @param array $context current scaning context + * @param array $vars parsed arguments list + * + * @return string Return compiled code segment for the token + * + * @codeCoverageIgnore + */ + protected static function compileBlockBegin(&$context, $vars) { + $each = 'false'; + $v = isset($vars[1]) ? self::getVariableName($vars[1]) : null; + switch ($vars[0][0]) { + case 'if': + $context['stack'][] = 'if'; + return $context['usedFeature']['parent'] + ? $context['ops']['seperator'] . self::getFuncName($context, 'ifv') . "($v, \$cx, \$in, function(\$cx, \$in) {{$context['ops']['f_start']}" + : "{$context['ops']['cnd_start']}(" . self::getFuncName($context, 'ifvar') . "($v)){$context['ops']['cnd_then']}"; + case 'unless': + $context['stack'][] = 'unless'; + return $context['usedFeature']['parent'] + ? $context['ops']['seperator'] . self::getFuncName($context, 'unl') . "($v, \$cx, \$in, function(\$cx, \$in) {{$context['ops']['f_start']}" + : "{$context['ops']['cnd_start']}(!" . self::getFuncName($context, 'ifvar') . "($v)){$context['ops']['cnd_then']}"; + case 'each': + $each = 'true'; + array_shift($vars); + break; + case 'with': + if ($context['flags']['with']) { + $context['vars'][] = $vars[1]; + $context['stack'][] = 'with'; + return $context['ops']['seperator'] . self::getFuncName($context, 'wi') . "($v, \$cx, \$in, function(\$cx, \$in) {{$context['ops']['f_start']}"; + } + } + + $v = self::getVariableName($vars[0]); + $context['vars'][] = $vars[0]; + $context['stack'][] = self::getArrayCode($vars[0]); + $context['stack'][] = '#'; + return $context['ops']['seperator'] . self::getFuncName($context, 'sec') . "($v, \$cx, \$in, $each, function(\$cx, \$in) {{$context['ops']['f_start']}"; + } + + /** + * Internal method used by compile(). Return compiled PHP code partial for a handlebars custom helper token. + * + * @param array $context current scaning context + * @param array $vars parsed arguments list + * @param boolean $raw is this {{{ token or not + * @param boolean $named is named arguments or not + * + * @return string|null Return compiled code segment for the token when the token is custom helper + * + * @codeCoverageIgnore + */ + protected static function compileCustomHelper(&$context, &$vars, $raw, $named) { + $fn = $raw ? 'raw' : $context['ops']['enc']; + if (isset($context['helpers'][$vars[0][0]])) { + $ch = array_shift($vars); + self::addUsageCount($context, 'helpers', $ch[0]); + foreach ($vars as $var) { + self::addJsonSchema($context, $var); + } + return $context['ops']['seperator'] . self::getFuncName($context, 'ch') . "('$ch[0]', " . self::getVariableNames($vars) . ", '$fn', \$cx" . ($named ? ', true' : '') . "){$context['ops']['seperator']}"; + } + } + + /** + * Internal method used by compile(). Return compiled PHP code partial for a handlebars else token. + * + * @param array $context current scaning context + * @param array $vars parsed arguments list + * + * @return string|null Return compiled code segment for the token when the token is else + * + * @codeCoverageIgnore + */ + protected static function compileElse(&$context, &$vars) { + if ($vars[0][0] ==='else') { + $context['stack'][] = ':'; + return $context['usedFeature']['parent'] ? "{$context['ops']['f_end']}}, function(\$cx, \$in) {{$context['ops']['f_start']}" : "{$context['ops']['cnd_else']}"; + } + } + + /** + * Internal method used by compile(). Return compiled PHP code partial for a handlebars variable token. + * + * @param array $context current scaning context + * @param array $vars parsed arguments list + * @param boolean $raw is this {{{ token or not + * + * @return string Return compiled code segment for the token + * + * @codeCoverageIgnore + */ + protected static function compileVariable(&$context, &$vars, $raw) { + self::addJsonSchema($context, $vars[0]); + $v = self::getVariableName($vars[0]); + if ($context['flags']['jsobj'] || $context['flags']['jstrue']) { + return $context['ops']['seperator'] . self::getFuncName($context, $raw ? 'raw' : $context['ops']['enc']) . "($v, \$cx){$context['ops']['seperator']}"; + } else { + return $raw ? "{$context['ops']['seperator']}$v{$context['ops']['seperator']}" : "{$context['ops']['seperator']}htmlentities($v, ENT_QUOTES, 'UTF-8'){$context['ops']['seperator']}"; + } + } + + /** + * Internal method used by compile(). Add usage count to context + * + * @param array $context current context + * @param string $category ctegory name, can be one of: 'var', 'helpers', 'blockhelpers' + * @param string $name used name + * + * @codeCoverageIgnore + */ + protected static function addUsageCount(&$context, $category, $name) { + if (!isset($context['usedCount'][$category][$name])) { + $context['usedCount'][$category][$name] = 0; + } + $context['usedCount'][$category][$name]++; + } +} + +/** + * LightnCandy static class for compiled template runtime methods. + */ +class LCRun2 { + /** + * LightnCandy runtime method for {{#if var}}. + * + * @param mixed $v value to be tested + * + * @return boolean Return true when the value is not null nor false. + * + * @expect false when input null + * @expect false when input 0 + * @expect false when input false + * @expect true when input true + * @expect true when input 1 + * @expect false when input '' + * @expect false when input Array() + * @expect true when input Array('') + * @expect true when input Array(0) + */ + public static function ifvar($v) { + return !is_null($v) && ($v !== false) && ($v !== 0) && ($v !== '') && (is_array($v) ? (count($v) > 0) : true); + } + + /** + * LightnCandy runtime method for {{#if var}} when {{../var}} used. + * + * @param array $v value to be tested + * @param array $cx render time context + * @param array $in input data with current scope + * @param Closure $truecb callback function when test result is true + * @param Closure $falsecb callback function when test result is false + * + * @return string The rendered string of the section + * + * @expect '' when input null, Array('scopes' => Array()), Array(), null + * @expect '' when input null, Array('scopes' => Array()), Array(), function () {return 'Y';} + * @expect 'Y' when input 1, Array('scopes' => Array()), Array(), function () {return 'Y';} + * @expect 'N' when input null, Array('scopes' => Array()), Array(), function () {return 'Y';}, function () {return 'N';} + */ + public static function ifv($v, $cx, $in, $truecb, $falsecb = null) { + $ret = ''; + if (self::ifvar($v)) { + if ($truecb) { + $cx['scopes'][] = $in; + $ret = $truecb($cx, $in); + array_pop($cx['scopes']); + } + } else { + if ($falsecb) { + $cx['scopes'][] = $in; + $ret = $falsecb($cx, $in); + array_pop($cx['scopes']); + } + } + return $ret; + } + + /** + * LightnCandy runtime method for {{#unless var}} when {{../var}} used. + * + * @param mixed $var value be tested + * @param array $cx render time context + * @param array $in input data with current scope + * + * @return string Return rendered string when the value is not null nor false. + * + * @expect '' when input null, Array('scopes' => Array()), Array(), null + * @expect 'Y' when input null, Array('scopes' => Array()), Array(), function () {return 'Y';} + * @expect '' when input 1, Array('scopes' => Array()), Array(), function () {return 'Y';} + * @expect 'Y' when input null, Array('scopes' => Array()), Array(), function () {return 'Y';}, function () {return 'N';} + * @expect 'N' when input true, Array('scopes' => Array()), Array(), function () {return 'Y';}, function () {return 'N';} + */ + public static function unl($var, $cx, $in, $truecb, $falsecb = null) { + return self::ifv($var, $cx, $in, $falsecb, $truecb); + } + + /** + * LightnCandy runtime method for {{^var}} inverted section. + * + * @param mixed $v value to be tested + * + * @return boolean Return true when the value is not null nor false. + * + * @expect true when input null + * @expect false when input 0 + * @expect true when input false + * @expect false when input 'false' + */ + public static function isec($v) { + return is_null($v) || ($v === false); + } + + /** + * LightnCandy runtime method for {{{var}}} . + * + * @param mixed $v value to be output + * @param array $cx render time context + * @param boolean $loop true when in loop + * + * @return string The raw value of the specified variable + * + * @expect true when input true, Array('flags' => Array('jstrue' => 0)) + * @expect 'true' when input true, Array('flags' => Array('jstrue' => 1)) + * @expect '' when input false, Array('flags' => Array('jstrue' => 0)) + * @expect '' when input false, Array('flags' => Array('jstrue' => 1)) + * @expect 'false' when input false, Array('flags' => Array('jstrue' => 1)), true + * @expect Array('a', 'b') when input Array('a', 'b'), Array('flags' => Array('jstrue' => 1, 'jsobj' => 0)) + * @expect 'a,b' when input Array('a','b'), Array('flags' => Array('jstrue' => 1, 'jsobj' => 1)) + * @expect '[object Object]' when input Array('a', 'c' => 'b'), Array('flags' => Array('jstrue' => 1, 'jsobj' => 1)) + * @expect '[object Object]' when input Array('c' => 'b'), Array('flags' => Array('jstrue' => 1, 'jsobj' => 1)) + * @expect 'a,true' when input Array('a', true), Array('flags' => Array('jstrue' => 1, 'jsobj' => 1)) + * @expect 'a,1' when input Array('a',true), Array('flags' => Array('jstrue' => 0, 'jsobj' => 1)) + * @expect 'a,' when input Array('a',false), Array('flags' => Array('jstrue' => 0, 'jsobj' => 1)) + * @expect 'a,false' when input Array('a',false), Array('flags' => Array('jstrue' => 1, 'jsobj' => 1)) + */ + public static function raw($v, $cx, $loop = false) { + if ($v === true) { + if ($cx['flags']['jstrue']) { + return 'true'; + } + } + + if ($loop && ($v === false)) { + if ($cx['flags']['jstrue']) { + return 'false'; + } + } + + if (is_array($v)) { + if ($cx['flags']['jsobj']) { + if (count(array_diff_key($v, array_keys(array_keys($v)))) > 0) { + return '[object Object]'; + } else { + $ret = Array(); + foreach ($v as $k => $vv) { + $ret[] = self::raw($vv, $cx, true); + } + return join(',', $ret); + } + } + } + + return $v; + } + + /** + * LightnCandy runtime method for {{var}} . + * + * @param mixed $var value to be htmlencoded + * @param array $cx render time context + * + * @return string The htmlencoded value of the specified variable + * + * @expect 'a' when input 'a', Array() + * @expect 'a&b' when input 'a&b', Array() + * @expect 'a'b' when input 'a\'b', Array() + */ + public static function enc($var, $cx) { + return htmlentities(self::raw($var, $cx), ENT_QUOTES, 'UTF-8'); + } + + /** + * LightnCandy runtime method for {{var}} , and deal with single quote to same as handlebars.js . + * + * @param mixed $var value to be htmlencoded + * @param array $cx render time context + * + * @return string The htmlencoded value of the specified variable + * + * @expect 'a' when input 'a', Array() + * @expect 'a&b' when input 'a&b', Array() + * @expect 'a'b' when input 'a\'b', Array() + */ + public static function encq($var, $cx) { + return preg_replace('/'/', ''', htmlentities(self::raw($var, $cx), ENT_QUOTES, 'UTF-8')); + } + + /** + * LightnCandy runtime method for {{#var}} section. + * + * @param mixed $v value for the section + * @param array $cx render time context + * @param array $in input data with current scope + * @param boolean $each true when rendering #each + * @param Closure $cb callback function to render child context + * + * @return string The rendered string of the section + * + * @expect '' when input false, Array(), false, false, function () {return 'A';} + * @expect '' when input null, Array(), null, false, function () {return 'A';} + * @expect 'A' when input true, Array(), true, false, function () {return 'A';} + * @expect 'A' when input 0, Array(), 0, false, function () {return 'A';} + * @expect '-a=' when input Array('a'), Array(), Array('a'), false, function ($c, $i) {return "-$i=";} + * @expect '-a=-b=' when input Array('a','b'), Array(), Array('a','b'), false, function ($c, $i) {return "-$i=";} + * @expect '' when input 'abc', Array(), 'abc', true, function ($c, $i) {return "-$i=";} + * @expect '-b=' when input Array('a'=>'b'), Array(), Array('a' => 'b'), true, function ($c, $i) {return "-$i=";} + * @expect 0 when input 'b', Array(), 'b', false, function ($c, $i) {return count($i);} + * @expect '1' when input 1, Array(), 1, false, function ($c, $i) {return print_r($i, true);} + * @expect '0' when input 0, Array(), 0, false, function ($c, $i) {return print_r($i, true);} + * @expect '{"b":"c"}' when input Array('b'=>'c'), Array(), Array('b' => 'c'), false, function ($c, $i) {return json_encode($i);} + */ + public static function sec($v, &$cx, $in, $each, $cb) { + $isary = is_array($v); + $loop = $each; + if (!$loop && $isary) { + $loop = (count(array_diff_key($v, array_keys(array_keys($v)))) == 0); + } + if ($loop && $isary) { + if ($each) { + $is_obj = count(array_diff_key($v, array_keys(array_keys($v)))) > 0; + } else { + $is_obj = false; + } + $ret = Array(); + $cx['scopes'][] = $in; + $i = 0; + foreach ($v as $index => $raw) { + if ($is_obj) { + $cx['sp_vars']['key'] = $index; + $cx['sp_vars']['index'] = $i; + $i++; + } else { + $cx['sp_vars']['index'] = $index; + } + $ret[] = $cb($cx, $raw); + } + if ($is_obj) { + unset($cx['sp_vars']['key']); + } + unset($cx['sp_vars']['index']); + array_pop($cx['scopes']); + return join('', $ret); + } + if ($each) { + return ''; + } + if ($isary) { + $cx['scopes'][] = $v; + $ret = $cb($cx, $v); + array_pop($cx['scopes']); + return $ret; + } + + if ($v === true) { + return $cb($cx, $in); + } + + if (is_string($v)) { + return $cb($cx, Array()); + } + + if (!is_null($v) && ($v !== false)) { + return $cb($cx, $v); + } + + return ''; + } + + /** + * LightnCandy runtime method for {{#with var}} . + * + * @param mixed $v value to be the new context + * @param array $cx render time context + * @param array $in input data with current scope + * @param Closure $cb callback function to render child context + * + * @return string The rendered string of the token + * + * @expect '' when input false, Array(), false, function () {return 'A';} + * @expect '' when input null, Array(), null, function () {return 'A';} + * @expect '-Array=' when input Array('a'=>'b'), Array(), Array('a' => 'b'), function ($c, $i) {return "-$i=";} + * @expect '-b=' when input 'b', Array(), Array('a' => 'b'), function ($c, $i) {return "-$i=";} + */ + public static function wi($v, &$cx, $in, $cb) { + if (($v === false) || ($v === null)) { + return ''; + } + $cx['scopes'][] = $in; + $ret = $cb($cx, $v); + array_pop($cx['scopes']); + return $ret; + } + + /** + * LightnCandy runtime method for custom helpers. + * + * @param string $ch the name of custom helper to be executed + * @param array $vars variables for the helper + * @param string $op the name of variable resolver. should be one of: 'raw', 'enc', or 'encq'. + * @param array $cx render time context + * @param boolean $named input arguments are named + * + * @return string The rendered string of the token + * + * @expect '=-=' when input 'a', Array('-'), 'raw', Array('helpers' => Array('a' => function ($i) {return "=$i=";})) + * @expect '=&=' when input 'a', Array('&'), 'enc', Array('helpers' => Array('a' => function ($i) {return "=$i=";})) + * @expect '='=' when input 'a', Array('\''), 'encq', Array('helpers' => Array('a' => function ($i) {return "=$i=";})) + * @expect '=b=' when input 'a', Array('a' => 'b'), 'raw', Array('helpers' => Array('a' => function ($i) {return "={$i['a']}=";})), true + */ + public static function ch($ch, $vars, $op, &$cx, $named = false) { + $args = Array(); + foreach ($vars as $i => $v) { + $args[$i] = self::raw($v, $cx); + } + + $r = call_user_func_array($cx['helpers'][$ch], $named ? Array($args) : $args); + switch ($op) { + case 'enc': + return htmlentities($r, ENT_QUOTES, 'UTF-8'); + case 'encq': + return preg_replace('/'/', ''', htmlentities($r, ENT_QUOTES, 'UTF-8')); + default: + return $r; + } + } + + /** + * LightnCandy runtime method for block custom helpers. + * + * @param string $ch the name of custom helper to be executed + * @param array $vars variables for the helper + * @param array $cx render time context + * @param array $in input data with current scope + * @param Closure $cb callback function to render child context + * + * @return string The rendered string of the token + */ + public static function bch($ch, $vars, &$cx, $in, $cb) { + $args = Array(); + foreach ($vars as $i => $v) { + $args[$i] = self::raw($v, $cx); + } + + $r = call_user_func($cx['blockhelpers'][$ch], $in, $args); + if (is_null($r)) { + return ''; + } + + $cx['scopes'][] = $in; + $ret = $cb($cx, $r); + array_pop($cx['scopes']); + return $ret; + } +} +?> diff --git a/lib/lightncandy/tests/LCRun2Test.php b/lib/lightncandy/tests/LCRun2Test.php new file mode 100644 index 0000000..aa61dbb --- /dev/null +++ b/lib/lightncandy/tests/LCRun2Test.php @@ -0,0 +1,253 @@ +assertEquals(false, $method->invoke(null, + null + )); + $this->assertEquals(false, $method->invoke(null, + 0 + )); + $this->assertEquals(false, $method->invoke(null, + false + )); + $this->assertEquals(true, $method->invoke(null, + true + )); + $this->assertEquals(true, $method->invoke(null, + 1 + )); + $this->assertEquals(false, $method->invoke(null, + '' + )); + $this->assertEquals(false, $method->invoke(null, + Array() + )); + $this->assertEquals(true, $method->invoke(null, + Array('') + )); + $this->assertEquals(true, $method->invoke(null, + Array(0) + )); + } + /** + * @covers LCRun2::ifv + */ + public function testOn_ifv() { + $method = new ReflectionMethod('LCRun2', 'ifv'); + $this->assertEquals('', $method->invoke(null, + null, Array('scopes' => Array()), Array(), null + )); + $this->assertEquals('', $method->invoke(null, + null, Array('scopes' => Array()), Array(), function () {return 'Y';} + )); + $this->assertEquals('Y', $method->invoke(null, + 1, Array('scopes' => Array()), Array(), function () {return 'Y';} + )); + $this->assertEquals('N', $method->invoke(null, + null, Array('scopes' => Array()), Array(), function () {return 'Y';}, function () {return 'N';} + )); + } + /** + * @covers LCRun2::unl + */ + public function testOn_unl() { + $method = new ReflectionMethod('LCRun2', 'unl'); + $this->assertEquals('', $method->invoke(null, + null, Array('scopes' => Array()), Array(), null + )); + $this->assertEquals('Y', $method->invoke(null, + null, Array('scopes' => Array()), Array(), function () {return 'Y';} + )); + $this->assertEquals('', $method->invoke(null, + 1, Array('scopes' => Array()), Array(), function () {return 'Y';} + )); + $this->assertEquals('Y', $method->invoke(null, + null, Array('scopes' => Array()), Array(), function () {return 'Y';}, function () {return 'N';} + )); + $this->assertEquals('N', $method->invoke(null, + true, Array('scopes' => Array()), Array(), function () {return 'Y';}, function () {return 'N';} + )); + } + /** + * @covers LCRun2::isec + */ + public function testOn_isec() { + $method = new ReflectionMethod('LCRun2', 'isec'); + $this->assertEquals(true, $method->invoke(null, + null + )); + $this->assertEquals(false, $method->invoke(null, + 0 + )); + $this->assertEquals(true, $method->invoke(null, + false + )); + $this->assertEquals(false, $method->invoke(null, + 'false' + )); + } + /** + * @covers LCRun2::raw + */ + public function testOn_raw() { + $method = new ReflectionMethod('LCRun2', 'raw'); + $this->assertEquals(true, $method->invoke(null, + true, Array('flags' => Array('jstrue' => 0)) + )); + $this->assertEquals('true', $method->invoke(null, + true, Array('flags' => Array('jstrue' => 1)) + )); + $this->assertEquals('', $method->invoke(null, + false, Array('flags' => Array('jstrue' => 0)) + )); + $this->assertEquals('', $method->invoke(null, + false, Array('flags' => Array('jstrue' => 1)) + )); + $this->assertEquals('false', $method->invoke(null, + false, Array('flags' => Array('jstrue' => 1)), true + )); + $this->assertEquals(Array('a', 'b'), $method->invoke(null, + Array('a', 'b'), Array('flags' => Array('jstrue' => 1, 'jsobj' => 0)) + )); + $this->assertEquals('a,b', $method->invoke(null, + Array('a','b'), Array('flags' => Array('jstrue' => 1, 'jsobj' => 1)) + )); + $this->assertEquals('[object Object]', $method->invoke(null, + Array('a', 'c' => 'b'), Array('flags' => Array('jstrue' => 1, 'jsobj' => 1)) + )); + $this->assertEquals('[object Object]', $method->invoke(null, + Array('c' => 'b'), Array('flags' => Array('jstrue' => 1, 'jsobj' => 1)) + )); + $this->assertEquals('a,true', $method->invoke(null, + Array('a', true), Array('flags' => Array('jstrue' => 1, 'jsobj' => 1)) + )); + $this->assertEquals('a,1', $method->invoke(null, + Array('a',true), Array('flags' => Array('jstrue' => 0, 'jsobj' => 1)) + )); + $this->assertEquals('a,', $method->invoke(null, + Array('a',false), Array('flags' => Array('jstrue' => 0, 'jsobj' => 1)) + )); + $this->assertEquals('a,false', $method->invoke(null, + Array('a',false), Array('flags' => Array('jstrue' => 1, 'jsobj' => 1)) + )); + } + /** + * @covers LCRun2::enc + */ + public function testOn_enc() { + $method = new ReflectionMethod('LCRun2', 'enc'); + $this->assertEquals('a', $method->invoke(null, + 'a', Array() + )); + $this->assertEquals('a&b', $method->invoke(null, + 'a&b', Array() + )); + $this->assertEquals('a'b', $method->invoke(null, + 'a\'b', Array() + )); + } + /** + * @covers LCRun2::encq + */ + public function testOn_encq() { + $method = new ReflectionMethod('LCRun2', 'encq'); + $this->assertEquals('a', $method->invoke(null, + 'a', Array() + )); + $this->assertEquals('a&b', $method->invoke(null, + 'a&b', Array() + )); + $this->assertEquals('a'b', $method->invoke(null, + 'a\'b', Array() + )); + } + /** + * @covers LCRun2::sec + */ + public function testOn_sec() { + $method = new ReflectionMethod('LCRun2', 'sec'); + $this->assertEquals('', $method->invoke(null, + false, Array(), false, false, function () {return 'A';} + )); + $this->assertEquals('', $method->invoke(null, + null, Array(), null, false, function () {return 'A';} + )); + $this->assertEquals('A', $method->invoke(null, + true, Array(), true, false, function () {return 'A';} + )); + $this->assertEquals('A', $method->invoke(null, + 0, Array(), 0, false, function () {return 'A';} + )); + $this->assertEquals('-a=', $method->invoke(null, + Array('a'), Array(), Array('a'), false, function ($c, $i) {return "-$i=";} + )); + $this->assertEquals('-a=-b=', $method->invoke(null, + Array('a','b'), Array(), Array('a','b'), false, function ($c, $i) {return "-$i=";} + )); + $this->assertEquals('', $method->invoke(null, + 'abc', Array(), 'abc', true, function ($c, $i) {return "-$i=";} + )); + $this->assertEquals('-b=', $method->invoke(null, + Array('a'=>'b'), Array(), Array('a' => 'b'), true, function ($c, $i) {return "-$i=";} + )); + $this->assertEquals(0, $method->invoke(null, + 'b', Array(), 'b', false, function ($c, $i) {return count($i);} + )); + $this->assertEquals('1', $method->invoke(null, + 1, Array(), 1, false, function ($c, $i) {return print_r($i, true);} + )); + $this->assertEquals('0', $method->invoke(null, + 0, Array(), 0, false, function ($c, $i) {return print_r($i, true);} + )); + $this->assertEquals('{"b":"c"}', $method->invoke(null, + Array('b'=>'c'), Array(), Array('b' => 'c'), false, function ($c, $i) {return json_encode($i);} + )); + } + /** + * @covers LCRun2::wi + */ + public function testOn_wi() { + $method = new ReflectionMethod('LCRun2', 'wi'); + $this->assertEquals('', $method->invoke(null, + false, Array(), false, function () {return 'A';} + )); + $this->assertEquals('', $method->invoke(null, + null, Array(), null, function () {return 'A';} + )); + $this->assertEquals('-Array=', $method->invoke(null, + Array('a'=>'b'), Array(), Array('a' => 'b'), function ($c, $i) {return "-$i=";} + )); + $this->assertEquals('-b=', $method->invoke(null, + 'b', Array(), Array('a' => 'b'), function ($c, $i) {return "-$i=";} + )); + } + /** + * @covers LCRun2::ch + */ + public function testOn_ch() { + $method = new ReflectionMethod('LCRun2', 'ch'); + $this->assertEquals('=-=', $method->invoke(null, + 'a', Array('-'), 'raw', Array('helpers' => Array('a' => function ($i) {return "=$i=";})) + )); + $this->assertEquals('=&=', $method->invoke(null, + 'a', Array('&'), 'enc', Array('helpers' => Array('a' => function ($i) {return "=$i=";})) + )); + $this->assertEquals('='=', $method->invoke(null, + 'a', Array('\''), 'encq', Array('helpers' => Array('a' => function ($i) {return "=$i=";})) + )); + $this->assertEquals('=b=', $method->invoke(null, + 'a', Array('a' => 'b'), 'raw', Array('helpers' => Array('a' => function ($i) {return "={$i['a']}=";})), true + )); + } +} +?> \ No newline at end of file diff --git a/lib/lightncandy/tests/LightnCandyTest.php b/lib/lightncandy/tests/LightnCandyTest.php new file mode 100644 index 0000000..8075f14 --- /dev/null +++ b/lib/lightncandy/tests/LightnCandyTest.php @@ -0,0 +1,392 @@ +setAccessible(true); + $this->assertEquals(Array(), $method->invoke(null, + Array(), Array() + )); + $this->assertEquals(Array('flags' => Array('exhlp' => 1)), $method->invoke(null, + Array('flags' => Array('exhlp' => 1)), Array('helpers' => Array('abc')) + )); + $this->assertEquals(Array('error' => Array('Can not find custom helper function defination abc() !'), 'flags' => Array('exhlp' => 0)), $method->invoke(null, + Array('error' => Array(), 'flags' => Array('exhlp' => 0)), Array('helpers' => Array('abc')) + )); + $this->assertEquals(Array('flags' => Array('exhlp' => 1), 'helpers' => Array('LCRun2::raw' => 'LCRun2::raw')), $method->invoke(null, + Array('flags' => Array('exhlp' => 1), 'helpers' => Array()), Array('helpers' => Array('LCRun2::raw')) + )); + $this->assertEquals(Array('flags' => Array('exhlp' => 1), 'helpers' => Array('test' => 'LCRun2::raw')), $method->invoke(null, + Array('flags' => Array('exhlp' => 1), 'helpers' => Array()), Array('helpers' => Array('test' => 'LCRun2::raw')) + )); + } + /** + * @covers LightnCandy::expandPartial + */ + public function testOn_expandPartial() { + $method = new ReflectionMethod('LightnCandy', 'expandPartial'); + $this->assertEquals("123\n", $method->invoke(null, + '{{> test1}}', Array('basedir' => Array('tests'), 'usedFeature' => Array('partial' =>0), 'fileext' => Array('.tmpl')) + )); + $this->assertEquals("a123\nb\n", $method->invoke(null, + '{{> test2}}', Array('basedir' => Array('tests'), 'usedFeature' => Array('partial' =>0), 'fileext' => Array('.tmpl')) + )); + } + /** + * @covers LightnCandy::readPartial + */ + public function testOn_readPartial() { + $method = new ReflectionMethod('LightnCandy', 'readPartial'); + $this->assertEquals("123\n", $method->invoke(null, + 'test1', Array('basedir' => Array('tests'), 'usedFeature' => Array('partial' =>0), 'fileext' => Array('.tmpl')) + )); + $this->assertEquals("a{{> test1}}b\n", $method->invoke(null, + 'test2', Array('basedir' => Array('tests'), 'usedFeature' => Array('partial' =>0), 'fileext' => Array('.tmpl')) + )); + $this->assertEquals(null, $method->invoke(null, + 'test3', Array('basedir' => Array('tests'), 'usedFeature' => Array('partial' =>0), 'fileext' => Array('.tmpl')) + )); + } + /** + * @covers LightnCandy::buildCXFileext + */ + public function testOn_buildCXFileext() { + $method = new ReflectionMethod('LightnCandy', 'buildCXFileext'); + $method->setAccessible(true); + $this->assertEquals(Array('.tmpl'), $method->invoke(null, + Array() + )); + $this->assertEquals(Array('test'), $method->invoke(null, + Array('fileext' => 'test') + )); + $this->assertEquals(Array('test1'), $method->invoke(null, + Array('fileext' => Array('test1')) + )); + $this->assertEquals(Array('test2', 'test3'), $method->invoke(null, + Array('fileext' => Array('test2', 'test3')) + )); + } + /** + * @covers LightnCandy::buildCXBasedir + */ + public function testOn_buildCXBasedir() { + $method = new ReflectionMethod('LightnCandy', 'buildCXBasedir'); + $method->setAccessible(true); + $this->assertEquals(Array(getcwd()), $method->invoke(null, + Array() + )); + $this->assertEquals(Array(getcwd()), $method->invoke(null, + Array('basedir' => 0) + )); + $this->assertEquals(Array(getcwd()), $method->invoke(null, + Array('basedir' => '') + )); + $this->assertEquals(Array(getcwd()), $method->invoke(null, + Array('basedir' => Array()) + )); + $this->assertEquals(Array('src'), $method->invoke(null, + Array('basedir' => Array('src')) + )); + $this->assertEquals(Array(getcwd()), $method->invoke(null, + Array('basedir' => Array('dir_not_found')) + )); + $this->assertEquals(Array('src'), $method->invoke(null, + Array('basedir' => Array('src', 'dir_not_found')) + )); + $this->assertEquals(Array('src', 'tests'), $method->invoke(null, + Array('basedir' => Array('src', 'tests')) + )); + } + /** + * @covers LightnCandy::getPHPCode + */ + public function testOn_getPHPCode() { + $method = new ReflectionMethod('LightnCandy', 'getPHPCode'); + $method->setAccessible(true); + $this->assertEquals('function($a) {return;}', $method->invoke(null, + function ($a) {return;} + )); + $this->assertEquals('function($a) {return;}', $method->invoke(null, + function ($a) {return;} + )); + $this->assertEquals('', $method->invoke(null, + 'Directory::close' + )); + } + /** + * @covers LightnCandy::handleError + */ + public function testOn_handleError() { + $method = new ReflectionMethod('LightnCandy', 'handleError'); + $method->setAccessible(true); + $this->assertEquals(true, $method->invoke(null, + Array('level' => 1, 'stack' => Array('X'), 'flags' => Array('errorlog' => 0, 'exception' => 0), 'error' => Array()) + )); + $this->assertEquals(false, $method->invoke(null, + Array('level' => 0, 'error' => Array()) + )); + $this->assertEquals(true, $method->invoke(null, + Array('level' => 0, 'error' => Array('some error'), 'flags' => Array('errorlog' => 0, 'exception' => 0)) + )); + } + /** + * @covers LightnCandy::getBoolStr + */ + public function testOn_getBoolStr() { + $method = new ReflectionMethod('LightnCandy', 'getBoolStr'); + $method->setAccessible(true); + $this->assertEquals('true', $method->invoke(null, + 1 + )); + $this->assertEquals('true', $method->invoke(null, + 999 + )); + $this->assertEquals('false', $method->invoke(null, + 0 + )); + $this->assertEquals('false', $method->invoke(null, + -1 + )); + } + /** + * @covers LightnCandy::getFuncName + */ + public function testOn_getFuncName() { + $method = new ReflectionMethod('LightnCandy', 'getFuncName'); + $method->setAccessible(true); + $this->assertEquals('LCRun2::test', $method->invoke(null, + Array('flags' => Array('standalone' => 0)), 'test' + )); + $this->assertEquals('LCRun2::test2', $method->invoke(null, + Array('flags' => Array('standalone' => 0)), 'test2' + )); + $this->assertEquals("\$cx['funcs']['test3']", $method->invoke(null, + Array('flags' => Array('standalone' => 1)), 'test3' + )); + } + /** + * @covers LightnCandy::getArrayStr + */ + public function testOn_getArrayStr() { + $method = new ReflectionMethod('LightnCandy', 'getArrayStr'); + $method->setAccessible(true); + $this->assertEquals('', $method->invoke(null, + Array() + )); + $this->assertEquals('[a]', $method->invoke(null, + Array('a') + )); + $this->assertEquals('[a][b][c]', $method->invoke(null, + Array('a', 'b', 'c') + )); + } + /** + * @covers LightnCandy::getArrayCode + */ + public function testOn_getArrayCode() { + $method = new ReflectionMethod('LightnCandy', 'getArrayCode'); + $method->setAccessible(true); + $this->assertEquals('', $method->invoke(null, + Array() + )); + $this->assertEquals("['a']", $method->invoke(null, + Array('a') + )); + $this->assertEquals("['a']['b']['c']", $method->invoke(null, + Array('a', 'b', 'c') + )); + } + /** + * @covers LightnCandy::getVariableName + */ + public function testOn_getVariableName() { + $method = new ReflectionMethod('LightnCandy', 'getVariableName'); + $method->setAccessible(true); + $this->assertEquals('$in', $method->invoke(null, + Array(null), Array() + )); + $this->assertEquals('$cx[\'sp_vars\'][\'index\']', $method->invoke(null, + Array('@index'), Array() + )); + $this->assertEquals('$cx[\'sp_vars\'][\'key\']', $method->invoke(null, + Array('@key'), Array() + )); + $this->assertEquals('\'a\'', $method->invoke(null, + Array('"a"'), Array(), Array() + )); + $this->assertEquals('(is_array($in) ? $in[\'a\'] : null)', $method->invoke(null, + Array('a'), Array() + )); + $this->assertEquals('(is_array($cx[\'scopes\'][count($cx[\'scopes\'])-1]) ? $cx[\'scopes\'][count($cx[\'scopes\'])-1][\'a\'] : null)', $method->invoke(null, + Array(1,'a'), Array() + )); + $this->assertEquals('(is_array($cx[\'scopes\'][count($cx[\'scopes\'])-3]) ? $cx[\'scopes\'][count($cx[\'scopes\'])-3][\'a\'] : null)', $method->invoke(null, + Array(3,'a'), Array() + )); + } + /** + * @covers LightnCandy::fixVariable + */ + public function testOn_fixVariable() { + $method = new ReflectionMethod('LightnCandy', 'fixVariable'); + $method->setAccessible(true); + $this->assertEquals(Array('this'), $method->invoke(null, + 'this', Array('flags' => Array('advar' => 0, 'this' => 0)) + )); + $this->assertEquals(Array(null), $method->invoke(null, + 'this', Array('flags' => Array('advar' => 0, 'this' => 1)) + )); + $this->assertEquals(Array(1, null), $method->invoke(null, + '../', Array('flags' => Array('advar' => 0, 'this' => 1, 'parent' => 1), 'usedFeature' => Array('parent' => 0)) + )); + $this->assertEquals(Array(1, null), $method->invoke(null, + '../.', Array('flags' => Array('advar' => 0, 'this' => 1, 'parent' => 1), 'usedFeature' => Array('parent' => 0)) + )); + $this->assertEquals(Array(1, null), $method->invoke(null, + '../this', Array('flags' => Array('advar' => 0, 'this' => 1, 'parent' => 1), 'usedFeature' => Array('parent' => 0)) + )); + $this->assertEquals(Array(1, 'a'), $method->invoke(null, + '../a', Array('flags' => Array('advar' => 0, 'this' => 1, 'parent' => 1), 'usedFeature' => Array('parent' => 0)) + )); + $this->assertEquals(Array(2, 'a', 'b'), $method->invoke(null, + '../../a.b', Array('flags' => Array('advar' => 0, 'this' => 0, 'parent' => 1), 'usedFeature' => Array('parent' => 0)) + )); + $this->assertEquals(Array(2, '[a]', 'b'), $method->invoke(null, + '../../[a].b', Array('flags' => Array('advar' => 0, 'this' => 0, 'parent' => 1), 'usedFeature' => Array('parent' => 0)) + )); + $this->assertEquals(Array(2, 'a', 'b'), $method->invoke(null, + '../../[a].b', Array('flags' => Array('advar' => 1, 'this' => 0, 'parent' => 1), 'usedFeature' => Array('parent' => 0)) + )); + $this->assertEquals(Array('"a.b"'), $method->invoke(null, + '"a.b"', Array('flags' => Array('advar' => 1, 'this' => 0, 'parent' => 1), 'usedFeature' => Array('parent' => 0)) + )); + } + /** + * @covers LightnCandy::setJSONTarget + */ + public function testOn_setJSONTarget() { + $method = new ReflectionMethod('LightnCandy', 'setJSONTarget'); + $method->setAccessible(true); + $this->assertEquals(Array(), $method->invoke(null, + Array(), false + )); + $this->assertEquals(Array(), $method->invoke(null, + Array(), true + )); + } + /** + * @covers LightnCandy::parseTokenArgs + */ + public function testOn_parseTokenArgs() { + $method = new ReflectionMethod('LightnCandy', 'parseTokenArgs'); + $method->setAccessible(true); + $this->assertEquals(Array(false, Array(Array(null))), $method->invoke(null, + Array(0,0,0,0,0,''), Array('flags' => Array('advar' => 0, 'this' => 1, 'namev' => 0)) + )); + $this->assertEquals(Array(true, Array(Array(null))), $method->invoke(null, + Array(0,0,'{{{',0,0,''), Array('flags' => Array('advar' => 0, 'this' => 1, 'namev' => 0)) + )); + $this->assertEquals(Array(false, Array(Array('a'))), $method->invoke(null, + Array(0,0,0,0,0,'a'), Array('flags' => Array('advar' => 0, 'this' => 1, 'namev' => 0)) + )); + $this->assertEquals(Array(false, Array(Array('a'), Array('b'))), $method->invoke(null, + Array(0,0,0,0,0,'a b'), Array('flags' => Array('advar' => 0, 'this' => 1, 'namev' => 0)) + )); + $this->assertEquals(Array(false, Array(Array('a'), Array('"b'), Array('c"'))), $method->invoke(null, + Array(0,0,0,0,0,'a "b c"'), Array('flags' => Array('advar' => 0, 'this' => 1, 'namev' => 0)) + )); + $this->assertEquals(Array(false, Array(Array('a'), Array('"b c"'))), $method->invoke(null, + Array(0,0,0,0,0,'a "b c"'), Array('flags' => Array('advar' => 1, 'this' => 1, 'namev' => 0)) + )); + $this->assertEquals(Array(false, Array(Array('a'), Array('[b'), Array('c]'))), $method->invoke(null, + Array(0,0,0,0,0,'a [b c]'), Array('flags' => Array('advar' => 0, 'this' => 1, 'namev' => 0)) + )); + $this->assertEquals(Array(false, Array(Array('a'), Array('[b'), Array('c]'))), $method->invoke(null, + Array(0,0,0,0,0,'a [b c]'), Array('flags' => Array('advar' => 0, 'this' => 1, 'namev' => 1)) + )); + $this->assertEquals(Array(false, Array(Array('a'), Array('b c'))), $method->invoke(null, + Array(0,0,0,0,0,'a [b c]'), Array('flags' => Array('advar' => 1, 'this' => 1, 'namev' => 0)) + )); + $this->assertEquals(Array(false, Array(Array('a'), Array('b c'))), $method->invoke(null, + Array(0,0,0,0,0,'a [b c]'), Array('flags' => Array('advar' => 1, 'this' => 1, 'namev' => 1)) + )); + $this->assertEquals(Array(false, Array(Array('a'), 'q' => Array('b c'))), $method->invoke(null, + Array(0,0,0,0,0,'a q=[b c]'), Array('flags' => Array('advar' => 1, 'this' => 1, 'namev' => 1)) + )); + $this->assertEquals(Array(false, Array(Array('a'), Array('q=[b c'))), $method->invoke(null, + Array(0,0,0,0,0,'a [q=[b c]'), Array('flags' => Array('advar' => 1, 'this' => 1, 'namev' => 1)) + )); + $this->assertEquals(Array(false, Array(Array('a'), 'q' => Array('[b'), Array('c]'))), $method->invoke(null, + Array(0,0,0,0,0,'a q=[b c]'), Array('flags' => Array('advar' => 0, 'this' => 1, 'namev' => 1)) + )); + } + /** + * @covers LightnCandy::tokenString + */ + public function testOn_tokenString() { + $method = new ReflectionMethod('LightnCandy', 'tokenString'); + $method->setAccessible(true); + $this->assertEquals('b', $method->invoke(null, + Array('a', 'b', 'c') + )); + $this->assertEquals('c', $method->invoke(null, + Array('a', 'b', 'c', 'd', 'e'), 2 + )); + } + /** + * @covers LightnCandy::validateStartEnd + */ + public function testOn_validateStartEnd() { + $method = new ReflectionMethod('LightnCandy', 'validateStartEnd'); + $method->setAccessible(true); + $this->assertEquals(null, $method->invoke(null, + array_fill(0, 8, ''), Array(), true + )); + $this->assertEquals(true, $method->invoke(null, + range(0, 7), Array(), true + )); + } + /** + * @covers LightnCandy::validateOperations + */ + public function testOn_validateOperations() { + $method = new ReflectionMethod('LightnCandy', 'validateOperations'); + $method->setAccessible(true); + $this->assertEquals(null, $method->invoke(null, + Array(0, 0, 0, 0, ''), Array(), Array() + )); + $this->assertEquals(2, $method->invoke(null, + Array(0, 0, 0, 0, '^', '...'), Array('usedFeature' => Array('isec' => 1), 'level' => 0), Array() + )); + $this->assertEquals(3, $method->invoke(null, + Array(0, 0, 0, 0, '!', '...'), Array('usedFeature' => Array('comment' => 2)), Array() + )); + $this->assertEquals(true, $method->invoke(null, + Array(0, 0, 0, 0, '/'), Array('stack' => Array(1), 'level' => 1), Array() + )); + $this->assertEquals(4, $method->invoke(null, + Array(0, 0, 0, 0, '#', '...'), Array('usedFeature' => Array('sec' => 3), 'level' => 0), Array('x') + )); + $this->assertEquals(5, $method->invoke(null, + Array(0, 0, 0, 0, '#', '...'), Array('usedFeature' => Array('if' => 4), 'level' => 0), Array('if') + )); + $this->assertEquals(6, $method->invoke(null, + Array(0, 0, 0, 0, '#', '...'), Array('usedFeature' => Array('with' => 5), 'level' => 0, 'flags' => Array('with' => 1)), Array('with') + )); + $this->assertEquals(7, $method->invoke(null, + Array(0, 0, 0, 0, '#', '...'), Array('usedFeature' => Array('each' => 6), 'level' => 0), Array('each') + )); + $this->assertEquals(8, $method->invoke(null, + Array(0, 0, 0, 0, '#', '...'), Array('usedFeature' => Array('unless' => 7), 'level' => 0), Array('unless') + )); + } +} +?> \ No newline at end of file diff --git a/lib/lightncandy/tests/error.php b/lib/lightncandy/tests/error.php new file mode 100644 index 0000000..1e54250 --- /dev/null +++ b/lib/lightncandy/tests/error.php @@ -0,0 +1,50 @@ + +{{#each item}}
  • {{name}}
  • + +VAREND +; +$php = LightnCandy::compile($template, Array('flags' => LightnCandy::FLAG_ERROR_LOG | LightnCandy::FLAG_STANDALONE | LightnCandy::FLAG_HANDLEBARSJS)); + +echo "Template is:\n$template\n\n"; +echo "Rendered PHP code is:\n$php\n\n"; +echo 'LightnCandy Context:'; +print_r(LightnCandy::getContext()); + +?> diff --git a/lib/lightncandy/tests/helper.php b/lib/lightncandy/tests/helper.php new file mode 100644 index 0000000..5cd686a --- /dev/null +++ b/lib/lightncandy/tests/helper.php @@ -0,0 +1,58 @@ + +
  • 1. {{helper1 name}}
  • +
  • 2. {{helper1 value}}
  • +
  • 3. {{myClass::helper2 name}}
  • +
  • 4. {{myClass::helper2 value}}
  • +
  • 5. {{he name}}
  • +
  • 6. {{he value}}
  • +
  • 7. {{h2 name}}
  • +
  • 8. {{h2 value}}
  • +
  • 9. {{link name}}
  • +
  • 10. {{link value}}
  • +
  • 11. {{alink url text}}
  • +
  • 12. {{{alink url text}}}
  • + +VAREND +; +$php = LightnCandy::compile($template, Array( + 'flags' => LightnCandy::FLAG_ERROR_LOG | 0 * LightnCandy::FLAG_STANDALONE | LightnCandy::FLAG_HANDLEBARSJS, + 'helpers' => Array( + 'helper1', + 'myClass::helper2', + 'he' => 'helper1', + 'h2' => 'myClass::helper2', + 'link' => function ($arg) { + return "click here"; + }, + 'alink', + ) + +)); + +echo "Template is:\n$template\n\n"; +echo "Rendered PHP code is:\n$php\n\n"; +echo 'LightnCandy Context:'; +print_r(LightnCandy::getContext()); + +$renderer = LightnCandy::prepare($php); + +function helper1($arg) { + return "-$arg-"; +} + +function alink($u, $t) { + return "$t"; +} + +class myClass { + function helper2($arg) { + return "=$arg="; + } +} + +echo $renderer(Array('name' => 'John', 'value' => 10000, 'url' => 'http://yahoo.com', 'text' => 'You&Me!')); + +?> diff --git a/lib/lightncandy/tests/runtime.php b/lib/lightncandy/tests/runtime.php new file mode 100644 index 0000000..5d4e2e7 --- /dev/null +++ b/lib/lightncandy/tests/runtime.php @@ -0,0 +1,17 @@ + 'John', 'value' => 10000)); +echo $renderer(Array('name' => 'Peter', 'value' => 1000)); + +?> diff --git a/lib/lightncandy/tests/standalone.php b/lib/lightncandy/tests/standalone.php new file mode 100644 index 0000000..fc719e9 --- /dev/null +++ b/lib/lightncandy/tests/standalone.php @@ -0,0 +1,17 @@ + LightnCandy::FLAG_STANDALONE)); + +// Usage 1: One time compile then runtime execute +// Do not suggested this way, because it require php setting allow_url_fopen=1 , not secure. +echo "Template is:\n$template\n\n"; +echo "Rendered PHP code is:\n$php\n\n"; +echo 'LightnCandy Context:'; +print_r(LightnCandy::getContext()); +$renderer = LightnCandy::prepare($php); + +echo $renderer(Array('name' => 'John', 'value' => 10000)); +echo $renderer(Array('noname' => 'Peter', 'value' => 1000)); + +?> diff --git a/lib/lightncandy/tests/test1.tmpl b/lib/lightncandy/tests/test1.tmpl new file mode 100644 index 0000000..190a180 --- /dev/null +++ b/lib/lightncandy/tests/test1.tmpl @@ -0,0 +1 @@ +123 diff --git a/lib/lightncandy/tests/test2.tmpl b/lib/lightncandy/tests/test2.tmpl new file mode 100644 index 0000000..df980f7 --- /dev/null +++ b/lib/lightncandy/tests/test2.tmpl @@ -0,0 +1 @@ +a{{> test1}}b diff --git a/lib/lightncandy/tests/testvar0.php b/lib/lightncandy/tests/testvar0.php new file mode 100644 index 0000000..181880a --- /dev/null +++ b/lib/lightncandy/tests/testvar0.php @@ -0,0 +1,17 @@ + LightnCandy::FLAG_HANDLEBARSJS)); + +$renderer = LightnCandy::prepare($php); + +$data = array(); +$data[] = array("John", "12"); +$data[] = array("Marry", "22"); + +echo $renderer(Array('list' => $data)); From 8848ff9cf8bc77f345cb893a64f41ba60ebff777 Mon Sep 17 00:00:00 2001 From: Shahyar Date: Fri, 14 Mar 2014 04:03:24 -0400 Subject: [PATCH 33/72] Rewrote runall to be cleaner, simpler, and to output min/max/avg. --- runall.sh | 635 ++++++++++++++++-------------------------------------- 1 file changed, 181 insertions(+), 454 deletions(-) diff --git a/runall.sh b/runall.sh index c65ecde..c3b2f6e 100755 --- a/runall.sh +++ b/runall.sh @@ -1,456 +1,183 @@ #!/bin/bash - -echo ">>>>>>>>>> MediaWiki Templates <<<<<<<<<<<<<" -cd mediawiki -echo "*** test1 (`pwd`)***" -for i in {1..10} -do - php test1.php -done - -echo "*** test1b (`pwd`)***" -for i in {1..10} -do - php test1b-incid.php -done - -echo "*** test2 (`pwd`)***" -for i in {1..10} -do - php test2-loop.php -done - -echo "*** test3 (`pwd`)***" -for i in {1..10} -do - php test3-itterator.php -done - -cd .. - - -echo ">>>>>>>>>> Twig String No Cache <<<<<<<<<<<<<" -cd twignocache -echo "*** test1 (`pwd`)***" -for i in {1..10} -do - php test1.php -done - -echo "*** test1b (`pwd`)***" -for i in {1..10} -do - php test1b-incid.php -done - -echo "*** test2 (`pwd`)***" -for i in {1..10} -do - php test2-loop.php -done - -echo "*** test3 (`pwd`)***" -for i in {1..10} -do - php test3-itterator.php -done - -cd .. - - -echo ">>>>>>>>>> Twig File No Cache <<<<<<<<<<<<<" -cd twignocache_file -echo "*** test1 (`pwd`)***" -for i in {1..10} -do - php test1.php -done - -echo "*** test1b (`pwd`)***" -for i in {1..10} -do - php test1b-incid.php -done - -echo "*** test2 (`pwd`)***" -for i in {1..10} -do - php test2-loop.php -done - -echo "*** test3 (`pwd`)***" -for i in {1..10} -do - php test3-itterator.php -done - -cd .. - - -echo ">>>>>>>>>> Twig File Cached <<<<<<<<<<<<<" -cd twigcache_file -echo "*** test1 (`pwd`)***" -for i in {1..10} -do - php test1.php -done - -echo "*** test1b (`pwd`)***" -for i in {1..10} -do - php test1b-incid.php -done - -echo "*** test2 (`pwd`)***" -for i in {1..10} -do - php test2-loop.php -done - -echo "*** test3 (`pwd`)***" -for i in {1..10} -do - php test3-itterator.php -done - -cd .. - - -echo ">>>>>>>>>> Mustache <<<<<<<<<<<<<" -cd mustache -echo "*** test1 (`pwd`)***" -for i in {1..10} -do - php test1.php -done - -echo "*** test1b (`pwd`)***" -for i in {1..10} -do - php test1b-incid.php -done - -echo "*** test2 (`pwd`)***" -for i in {1..10} -do - php test2-loop.php -done - -echo "*** test2 lambda (`pwd`)***" -for i in {1..10} -do - php test2-loop-lambda.php -done - -echo "*** test3 (`pwd`)***" -for i in {1..10} -do - php test3-itterator.php -done - -cd .. - -echo ">>>>>>>>>> MediaWiki Templates (HHVM) <<<<<<<<<<<<<" -cd mediawiki -echo "*** test1 (`pwd`)***" -for i in {1..10} -do - hhvm test1.php -done - -echo "*** test1b (`pwd`)***" -for i in {1..10} -do - hhvm test1b-incid.php -done - -echo "*** test2 (`pwd`)***" -for i in {1..10} -do - hhvm test2-loop.php -done - -echo "*** test3 (`pwd`)***" -for i in {1..10} -do - hhvm test3-itterator.php -done - -cd .. - - -echo ">>>>>>>>>> Twig String No Cache (HHVM) <<<<<<<<<<<<<" -cd twignocache -echo "*** test1 (`pwd`)***" -for i in {1..10} -do - hhvm test1.php -done - -echo "*** test1b (`pwd`)***" -for i in {1..10} -do - hhvm test1b-incid.php -done - -echo "*** test2 (`pwd`)***" -for i in {1..10} -do - hhvm test2-loop.php -done - -echo "*** test3 (`pwd`)***" -for i in {1..10} -do - hhvm test3-itterator.php -done - -cd .. - - -echo ">>>>>>>>>> Twig File No Cache (HHVM) <<<<<<<<<<<<<" -cd twignocache_file -echo "*** test1 (`pwd`)***" -for i in {1..10} -do - hhvm test1.php -done - -echo "*** test1b (`pwd`)***" -for i in {1..10} -do - hhvm test1b-incid.php -done - -echo "*** test2 (`pwd`)***" -for i in {1..10} -do - hhvm test2-loop.php -done - -echo "*** test3 (`pwd`)***" -for i in {1..10} -do - hhvm test3-itterator.php -done - -cd .. - - -echo ">>>>>>>>>> Twig File Cached (HHVM) <<<<<<<<<<<<<" -cd twigcache_file -echo "*** test1 (`pwd`)***" -for i in {1..10} -do - hhvm test1.php -done - -echo "*** test1b (`pwd`)***" -for i in {1..10} -do - hhvm test1b-incid.php -done - -echo "*** test2 (`pwd`)***" -for i in {1..10} -do - hhvm test2-loop.php -done - -echo "*** test3 (`pwd`)***" -for i in {1..10} -do - hhvm test3-itterator.php -done - -cd .. - - -echo ">>>>>>>>>> Mustache (HHVM) <<<<<<<<<<<<<" -cd mustache -echo "*** test1 (`pwd`)***" -for i in {1..10} -do - hhvm test1.php -done - -echo "*** test1b (`pwd`)***" -for i in {1..10} -do - hhvm test1b-incid.php -done - -echo "*** test2 (`pwd`)***" -for i in {1..10} -do - hhvm test2-loop.php -done - -echo "*** test2 lambda (`pwd`)***" -for i in {1..10} -do - hhvm test2-loop-lambda.php -done - -echo "*** test3 (`pwd`)***" -for i in {1..10} -do - hhvm test3-itterator.php -done - -cd .. - -echo ">>>>>>>>>> Mustache Node.js <<<<<<<<<<<<<" -cd mustache-node -echo "*** test1 (`pwd`)***" -for i in {1..10} -do - node test1.js -done - -echo "*** test1b (`pwd`)***" -for i in {1..10} -do - node test1b-incid.js -done - -echo "*** test2 (`pwd`)***" -for i in {1..10} -do - node test2-loop.js -done - -echo "*** test2 lambda (`pwd`)***" -for i in {1..10} -do - node test2-loop-lambda.js -done - -echo "*** test3 (`pwd`)***" -for i in {1..10} -do - node test3-itterator.js -done - -cd .. - -echo ">>>>>>>>>> Handlebars Node.js <<<<<<<<<<<<<" -cd handlebars-node -echo "*** test1 (`pwd`)***" -for i in {1..10} -do - node test1.js -done - -echo "*** test1b (`pwd`)***" -for i in {1..10} -do - node test1b-incid.js -done - -echo "*** test2 (`pwd`)***" -for i in {1..10} -do - node test2-loop.js -done - -echo "*** test2 lambda (`pwd`)***" -for i in {1..10} -do - node test2-loop-lambda.js -done - -echo "*** test3 (`pwd`)***" -for i in {1..10} -do - node test3-itterator.js -done - -cd .. - -echo ">>>>>>>>>> Handlebars HTMLJS Node.js <<<<<<<<<<<<<" -cd handlebars-htmljs-node -echo "*** test1 (`pwd`)***" -for i in {1..10} -do - node test1-htmljs.js -done - -echo "*** test1b (`pwd`)***" -for i in {1..10} -do - node test1b-incid-htmljs.js -done - -echo "*** test2 (`pwd`)***" -for i in {1..10} -do - node test2-loop-htmljs.js -done - -#echo "*** test2 lambda (`pwd`)***" -#for i in {1..10} -#do -# node test2-loop-lambda.js -#done - -echo "*** test3 (`pwd`)***" -for i in {1..10} -do - node test3-itterator-htmljs.js -done - -cd .. - -echo ">>>>>>>>>> Spacebars/HTMLJS Node.js <<<<<<<<<<<<<" -cd handlebars-htmljs-node -echo "*** test1 (`pwd`)***" -for i in {1..10} -do - node test1-sb.js -done - -echo "*** test1b (`pwd`)***" -for i in {1..10} -do - node test1b-incid-sb.js -done - -echo "*** test2 (`pwd`)***" -for i in {1..10} -do - node test2-loop-sb.js -done - -echo "*** test2 lambda (`pwd`)***" -for i in {1..10} -do - node test2-loop-lambda-sb.js -done - -echo "*** test3 (`pwd`)***" -for i in {1..10} -do - node test3-itterator-sb.js -done - -cd .. - -echo ">>>>>>>>>> Spacebars/QuickTemplate Node.js <<<<<<<<<<<<<" -cd handlebars-htmljs-node -echo "*** test1 (`pwd`)***" -for i in {1..10} -do - node test1-sbqt.js -done - -echo "*** test2 (`pwd`)***" -for i in {1..10} -do - node test2-loop-sbqt.js -done - -cd .. - -echo "done" +function runTest { + iterations=10 + + cd $2 + echo -e "Set: \033[35;40m$1\033[0;00m (${PWD##*/})" + + for (( i=3; i<=$#; i++ )) + do + sum=0 + min=0 + max=0 + + echo -ne "Test: \033[36;40m${!i}\033[0;00m" + ((i++)) + + for (( j=1; j<=$iterations; j++ )) + do + echo -n " $j..." + + result=`${!i}` + time=`echo $result | awk '{print $2}'` + + sum=`bc <<< " $sum + $time"` + + if [ $min == 0 ] || [ `bc <<< " $time < $min"` -eq 1 ] + then + min=$time + fi + + if [ $max == 0 ] || [ `bc <<< " $time > $max"` -eq 1 ] + then + max=$time + fi + done + + printf " Avg: \033[33;40m%.4f\033[0;00m Min: \033[32;40m%.4f\033[0;00m Max: \033[31;40m%.4f\033[0;00m\n" `bc <<< "scale=5; $sum / $iterations"` $min $max + done + + cd .. +} + +runTest \ + "Handlebars lightncandy (PHP)" \ + handlebars-lightncandy-php \ + "test1" "php test1.php" \ + "test1b" "php test1b-incid.php" \ + "test2" "php test2-loop.php" \ + "test2 lambda" "php test2-loop-lambda.php" \ + "test3" "php test3-itterator.php" + +runTest \ + "Handlebars lightncandy (PHP) (HHVM)" \ + handlebars-lightncandy-php \ + "test1" "hhvm test1.php" \ + "test1b" "hhvm test1b-incid.php" \ + "test2" "hhvm test2-loop.php" \ + "test2 lambda" "hhvm test2-loop-lambda.php" \ + "test3" "hhvm test3-itterator.php" + +runTest \ + "MediaWiki Templates" \ + mediawiki \ + "test1" "php test1.php" \ + "test1b" "php test1b-incid.php" \ + "test2" "php test2-loop.php" \ + "test3" "php test3-itterator.php" + +runTest \ + "Twig String (No Cache)" \ + twignocache \ + "test1" "php test1.php" \ + "test1b" "php test1b-incid.php" \ + "test2" "php test2-loop.php" \ + "test3" "php test3-itterator.php" + +runTest \ + "Twig File (No Cache)" \ + twignocache_file \ + "test1" "php test1.php" \ + "test1b" "php test1b-incid.php" \ + "test2" "php test2-loop.php" \ + "test3" "php test3-itterator.php" + +runTest \ + "Twig File (Cached)" \ + twigcache_file \ + "test1" "php test1.php" \ + "test1b" "php test1b-incid.php" \ + "test2" "php test2-loop.php" \ + "test3" "php test3-itterator.php" + +runTest \ + "Mustache (PHP)" \ + mustache \ + "test1" "php test1.php" \ + "test1b" "php test1b-incid.php" \ + "test2" "php test2-loop.php" \ + "test2 lambda" "php test2-loop-lambda.php" \ + "test3" "php test3-itterator.php" + +runTest \ + "MediaWiki Templates (HHVM)" \ + mediawiki \ + "test1" "hhvm test1.php" \ + "test1b" "hhvm test1b-incid.php" \ + "test2" "hhvm test2-loop.php" \ + "test3" "hhvm test3-itterator.php" + +runTest \ + "Twig String (No Cache) (HHVM)" \ + twignocache \ + "test1" "hhvm test1.php" \ + "test1b" "hhvm test1b-incid.php" \ + "test2" "hhvm test2-loop.php" \ + "test3" "hhvm test3-itterator.php" + +runTest \ + "Twig File (No Cache) (HHVM)" \ + twignocache_file \ + "test1" "hhvm test1.php" \ + "test1b" "hhvm test1b-incid.php" \ + "test2" "hhvm test2-loop.php" \ + "test3" "hhvm test3-itterator.php" + +runTest \ + "Twig File (Cached) (HHVM)" \ + twigcache_file \ + "test1" "hhvm test1.php" \ + "test1b" "hhvm test1b-incid.php" \ + "test2" "hhvm test2-loop.php" \ + "test3" "hhvm test3-itterator.php" + +runTest \ + "Mustache (PHP) (HHVM)" \ + mustache \ + "test1" "hhvm test1.php" \ + "test1b" "hhvm test1b-incid.php" \ + "test2" "hhvm test2-loop.php" \ + "test2 lambda" "hhvm test2-loop-lambda.php" \ + "test3" "hhvm test3-itterator.php" + +runTest \ + "Mustache (node.js)" \ + mustache-node \ + "test1" "node test1.js" \ + "test1b" "node test1b-incid.js" \ + "test2" "node test2-loop.js" \ + "test2 lambda" "node test2-loop-lambda.js" \ + "test3" "node test3-itterator.js" + +runTest \ + "Handlebars (node.js)" \ + handlebars-node \ + "test1" "node test1.js" \ + "test1b" "node test1b-incid.js" \ + "test2" "node test2-loop.js" \ + "test2 lambda" "node test2-loop-lambda.js" \ + "test3" "node test3-itterator.js" + +runTest \ + "Handlebars HTMLJS (node.js)" \ + handlebars-htmljs-node \ + "test1" "node test1-htmljs.js" \ + "test1b" "node test1b-incid-htmljs.js" \ + "test2" "node test2-loop-htmljs.js" \ + "test3" "node test3-itterator-htmljs.js" + +runTest \ + "Spacebars/HTMLJS (node.js)" \ + handlebars-htmljs-node \ + "test1" "node test1-sb.js" \ + "test1b" "node test1b-incid-sb.js" \ + "test2" "node test2-loop-sb.js" \ + "test2 lambda" "node test2-loop-lambda-sb.js" \ + "test3" "node test3-itterator-sb.js" + +runTest \ + "Spacebars/QuickTemplate (node.js)" \ + handlebars-htmljs-node \ + "test1" "node test1-sbqt.js" \ + "test2" "node test2-loop-sbqt.js" \ No newline at end of file From 30254150ae5a7f651cf11d89868c1ef12b20ded0 Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Fri, 14 Mar 2014 10:21:15 -0700 Subject: [PATCH 34/72] Update README.md --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5347eae..abd1157 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,4 @@ -TwigPerf -======== +TemplatePerf +============ + +See https://www.mediawiki.org/wiki/Requests_for_comment/HTML_templating_library#Performance From c83767d7865afb038344d55977987b7572db24df Mon Sep 17 00:00:00 2001 From: Erik Bernhardson Date: Fri, 14 Mar 2014 15:43:57 -0700 Subject: [PATCH 35/72] Utilize the JIT when running HHVM This patch adjusts the runner to turn on the Jit.Eval flag in hhvm. Its off by default as most CLI programs wont benefit, but since these are running a tight loop the jit will kick in and speed things up. --- runall.sh | 210 ++++++++++++++++++++++-------------------------------- 1 file changed, 84 insertions(+), 126 deletions(-) diff --git a/runall.sh b/runall.sh index c3b2f6e..ff01e02 100755 --- a/runall.sh +++ b/runall.sh @@ -1,12 +1,22 @@ -#!/bin/bash +#!/bin/bash -e + +function runTestPHP { + runTest php "(PHP)" "$@" + runTest "hhvm -vEval.Jit=1" "(HHVM)" "$@" + +} + +function runTestNode { + runTest node "(node.js)" "$@" +} function runTest { iterations=10 - cd $2 - echo -e "Set: \033[35;40m$1\033[0;00m (${PWD##*/})" + cd $4 + echo -e "Set: \033[35;40m$3 $2\033[0;00m (${PWD##*/})" - for (( i=3; i<=$#; i++ )) + for (( i=5; i<=$#; i++ )) do sum=0 min=0 @@ -18,8 +28,7 @@ function runTest { for (( j=1; j<=$iterations; j++ )) do echo -n " $j..." - - result=`${!i}` + result=`$1 ${!i}` time=`echo $result | awk '{print $2}'` sum=`bc <<< " $sum + $time"` @@ -37,147 +46,96 @@ function runTest { printf " Avg: \033[33;40m%.4f\033[0;00m Min: \033[32;40m%.4f\033[0;00m Max: \033[31;40m%.4f\033[0;00m\n" `bc <<< "scale=5; $sum / $iterations"` $min $max done - cd .. } -runTest \ - "Handlebars lightncandy (PHP)" \ +runTestPHP \ + "Handlebars lightncandy" \ handlebars-lightncandy-php \ - "test1" "php test1.php" \ - "test1b" "php test1b-incid.php" \ - "test2" "php test2-loop.php" \ - "test2 lambda" "php test2-loop-lambda.php" \ - "test3" "php test3-itterator.php" - -runTest \ - "Handlebars lightncandy (PHP) (HHVM)" \ - handlebars-lightncandy-php \ - "test1" "hhvm test1.php" \ - "test1b" "hhvm test1b-incid.php" \ - "test2" "hhvm test2-loop.php" \ - "test2 lambda" "hhvm test2-loop-lambda.php" \ - "test3" "hhvm test3-itterator.php" + "test1" "test1.php" \ + "test1b" "test1b-incid.php" \ + "test2" "test2-loop.php" \ + "test2 lambda" "test2-loop-lambda.php" \ + "test3" "test3-itterator.php" -runTest \ +runTestPHP \ "MediaWiki Templates" \ mediawiki \ - "test1" "php test1.php" \ - "test1b" "php test1b-incid.php" \ - "test2" "php test2-loop.php" \ - "test3" "php test3-itterator.php" + "test1" "test1.php" \ + "test1b" "test1b-incid.php" \ + "test2" "test2-loop.php" \ + "test3" "test3-itterator.php" -runTest \ +runTestPHP \ "Twig String (No Cache)" \ twignocache \ - "test1" "php test1.php" \ - "test1b" "php test1b-incid.php" \ - "test2" "php test2-loop.php" \ - "test3" "php test3-itterator.php" + "test1" "test1.php" \ + "test1b" "test1b-incid.php" \ + "test2" "test2-loop.php" \ + "test3" "test3-itterator.php" -runTest \ +runTestPHP \ "Twig File (No Cache)" \ twignocache_file \ - "test1" "php test1.php" \ - "test1b" "php test1b-incid.php" \ - "test2" "php test2-loop.php" \ - "test3" "php test3-itterator.php" + "test1" "test1.php" \ + "test1b" "test1b-incid.php" \ + "test2" "test2-loop.php" \ + "test3" "test3-itterator.php" -runTest \ +runTestPHP \ "Twig File (Cached)" \ twigcache_file \ - "test1" "php test1.php" \ - "test1b" "php test1b-incid.php" \ - "test2" "php test2-loop.php" \ - "test3" "php test3-itterator.php" - -runTest \ - "Mustache (PHP)" \ - mustache \ - "test1" "php test1.php" \ - "test1b" "php test1b-incid.php" \ - "test2" "php test2-loop.php" \ - "test2 lambda" "php test2-loop-lambda.php" \ - "test3" "php test3-itterator.php" - -runTest \ - "MediaWiki Templates (HHVM)" \ - mediawiki \ - "test1" "hhvm test1.php" \ - "test1b" "hhvm test1b-incid.php" \ - "test2" "hhvm test2-loop.php" \ - "test3" "hhvm test3-itterator.php" - -runTest \ - "Twig String (No Cache) (HHVM)" \ - twignocache \ - "test1" "hhvm test1.php" \ - "test1b" "hhvm test1b-incid.php" \ - "test2" "hhvm test2-loop.php" \ - "test3" "hhvm test3-itterator.php" - -runTest \ - "Twig File (No Cache) (HHVM)" \ - twignocache_file \ - "test1" "hhvm test1.php" \ - "test1b" "hhvm test1b-incid.php" \ - "test2" "hhvm test2-loop.php" \ - "test3" "hhvm test3-itterator.php" - -runTest \ - "Twig File (Cached) (HHVM)" \ - twigcache_file \ - "test1" "hhvm test1.php" \ - "test1b" "hhvm test1b-incid.php" \ - "test2" "hhvm test2-loop.php" \ - "test3" "hhvm test3-itterator.php" + "test1" "test1.php" \ + "test1b" "test1b-incid.php" \ + "test2" "test2-loop.php" \ + "test3" "test3-itterator.php" -runTest \ - "Mustache (PHP) (HHVM)" \ +runTestPHP \ + "Mustache" \ mustache \ - "test1" "hhvm test1.php" \ - "test1b" "hhvm test1b-incid.php" \ - "test2" "hhvm test2-loop.php" \ - "test2 lambda" "hhvm test2-loop-lambda.php" \ - "test3" "hhvm test3-itterator.php" - -runTest \ - "Mustache (node.js)" \ + "test1" "test1.php" \ + "test1b" "test1b-incid.php" \ + "test2" "test2-loop.php" \ + "test2 lambda" "test2-loop-lambda.php" \ + "test3" "test3-itterator.php" + +runTestNode \ + "Mustache" \ mustache-node \ - "test1" "node test1.js" \ - "test1b" "node test1b-incid.js" \ - "test2" "node test2-loop.js" \ - "test2 lambda" "node test2-loop-lambda.js" \ - "test3" "node test3-itterator.js" - -runTest \ - "Handlebars (node.js)" \ + "test1" "test1.js" \ + "test1b" "test1b-incid.js" \ + "test2" "test2-loop.js" \ + "test2 lambda" "test2-loop-lambda.js" \ + "test3" "test3-itterator.js" + +runTestNode \ + "Handlebars" \ handlebars-node \ - "test1" "node test1.js" \ - "test1b" "node test1b-incid.js" \ - "test2" "node test2-loop.js" \ - "test2 lambda" "node test2-loop-lambda.js" \ - "test3" "node test3-itterator.js" - -runTest \ - "Handlebars HTMLJS (node.js)" \ + "test1" "test1.js" \ + "test1b" "test1b-incid.js" \ + "test2" "test2-loop.js" \ + "test2 lambda" "test2-loop-lambda.js" \ + "test3" "test3-itterator.js" + +runTestNode \ + "Handlebars HTMLJS" \ handlebars-htmljs-node \ - "test1" "node test1-htmljs.js" \ - "test1b" "node test1b-incid-htmljs.js" \ - "test2" "node test2-loop-htmljs.js" \ - "test3" "node test3-itterator-htmljs.js" + "test1" "test1-htmljs.js" \ + "test1b" "test1b-incid-htmljs.js" \ + "test2" "test2-loop-htmljs.js" \ + "test3" "test3-itterator-htmljs.js" -runTest \ - "Spacebars/HTMLJS (node.js)" \ +runTestNode \ + "Spacebars/HTMLJS" \ handlebars-htmljs-node \ - "test1" "node test1-sb.js" \ - "test1b" "node test1b-incid-sb.js" \ - "test2" "node test2-loop-sb.js" \ - "test2 lambda" "node test2-loop-lambda-sb.js" \ - "test3" "node test3-itterator-sb.js" - -runTest \ - "Spacebars/QuickTemplate (node.js)" \ + "test1" "test1-sb.js" \ + "test1b" "test1b-incid-sb.js" \ + "test2" "test2-loop-sb.js" \ + "test2 lambda" "test2-loop-lambda-sb.js" \ + "test3" "test3-itterator-sb.js" + +runTestNode \ + "Spacebars/QuickTemplate" \ handlebars-htmljs-node \ - "test1" "node test1-sbqt.js" \ - "test2" "node test2-loop-sbqt.js" \ No newline at end of file + "test1" "test1-sbqt.js" \ + "test2" "test2-loop-sbqt.js" From 2c4124dbadc62524700439d171bbf57e473693ee Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Fri, 14 Mar 2014 17:22:33 -0700 Subject: [PATCH 36/72] Add knockoff and remove QuickTemplate; include compilation time * Add knockoff tests (using tassembly) * Make sure the lightncandy tests include the compilation time as with node etc --- QuickTemplate/KnockoutCompiler.js | 85 - QuickTemplate/package.json | 6 - handlebars-lightncandy-php/test1.php | 2 +- handlebars-lightncandy-php/test1b-incid.php | 2 +- .../test2-loop-lambda.php | 24 +- handlebars-lightncandy-php/test2-loop.php | 16 +- .../test3-itterator.php | 16 +- .../node_modules/KOTASM}/.jshintrc | 0 .../node_modules/KOTASM}/DOMCompiler.js | 0 .../node_modules/KOTASM/KnockoutCompiler.js | 132 + .../KOTASM}/KnockoutExpression.js | 0 knockoff-node/node_modules/KOTASM/README.md | 4 + .../KOTASM/node_modules/tassembly/.jshintrc | 33 + .../KOTASM/node_modules/tassembly/README.md | 32 + .../tassembly}/node_modules/domino/.npmignore | 0 .../node_modules/domino/.travis.yml | 0 .../tassembly}/node_modules/domino/LICENSE | 0 .../tassembly}/node_modules/domino/README.md | 0 .../domino/lib/CSSStyleDeclaration.js | 0 .../node_modules/domino/lib/CharacterData.js | 0 .../node_modules/domino/lib/Comment.js | 0 .../node_modules/domino/lib/CustomEvent.js | 0 .../node_modules/domino/lib/DOMException.js | 0 .../domino/lib/DOMImplementation.js | 0 .../node_modules/domino/lib/DOMTokenList.js | 0 .../node_modules/domino/lib/Document.js | 0 .../domino/lib/DocumentFragment.js | 0 .../node_modules/domino/lib/DocumentType.js | 0 .../node_modules/domino/lib/Element.js | 0 .../node_modules/domino/lib/Event.js | 0 .../node_modules/domino/lib/EventTarget.js | 0 .../domino/lib/FilteredElementList.js | 0 .../node_modules/domino/lib/HTMLParser.js | 0 .../node_modules/domino/lib/Leaf.js | 0 .../node_modules/domino/lib/Location.js | 0 .../node_modules/domino/lib/MouseEvent.js | 0 .../domino/lib/MutationConstants.js | 0 .../node_modules/domino/lib/Node.js | 0 .../node_modules/domino/lib/NodeFilter.js | 0 .../node_modules/domino/lib/NodeList.js | 0 .../domino/lib/ProcessingInstruction.js | 0 .../node_modules/domino/lib/Text.js | 0 .../node_modules/domino/lib/TreeWalker.js | 0 .../node_modules/domino/lib/UIEvent.js | 0 .../tassembly}/node_modules/domino/lib/URL.js | 0 .../domino/lib/URLDecompositionAttributes.js | 0 .../node_modules/domino/lib/Window.js | 0 .../node_modules/domino/lib/attributes.js | 0 .../node_modules/domino/lib/cssparser.js | 0 .../node_modules/domino/lib/events.js | 0 .../node_modules/domino/lib/htmlelts.js | 0 .../node_modules/domino/lib/impl.js | 0 .../node_modules/domino/lib/index.js | 0 .../node_modules/domino/lib/select.js | 0 .../node_modules/domino/lib/utils.js | 0 .../node_modules/domino/lib/xmlnames.js | 0 .../node_modules/domino/package.json | 2 +- .../node_modules/domino/test/domino.js | 0 .../node_modules/domino/test/fixture/doc.html | 0 .../domino/test/fixture/jquery-1.9.1.js | 0 .../node_modules/domino/test/htmlwg/README.md | 0 .../domino/test/htmlwg/harness/index.js | 0 .../domino/test/htmlwg/harness/testharness.js | 0 .../node_modules/domino/test/htmlwg/index.js | 0 ...ument.getElementsByTagName-foreign-01.html | 0 ...ument.getElementsByTagName-foreign-02.html | 0 ...ement.getElementsByTagName-foreign-01.html | 0 ...ement.getElementsByTagName-foreign-02.html | 0 .../browsing-the-web/load-text-plain.html | 0 ...ent.getElementsByClassName-null-undef.html | 0 ...ent.getElementsByClassName-null-undef.html | 0 ...document.body-getter-foreign-frameset.html | 0 ...ocument.body-getter-frameset-and-body.html | 0 .../document.body-setter-01.html | 0 .../document.embeds-document.plugins-01.html | 0 .../document.getElementsByClassName-same.html | 0 .../document.getElementsByName-case.html | 0 .../document.getElementsByName-case.xhtml | 0 .../document.getElementsByName-id.html | 0 .../document.getElementsByName-id.xhtml | 0 .../document.getElementsByName-namespace.html | 0 ...document.getElementsByName-namespace.xhtml | 0 ...ocument.getElementsByName-newelements.html | 0 ...cument.getElementsByName-newelements.xhtml | 0 ...document.getElementsByName-null-undef.html | 0 ...ocument.getElementsByName-null-undef.xhtml | 0 .../document.getElementsByName-param.html | 0 .../document.getElementsByName-param.xhtml | 0 .../document.getElementsByName-same.html | 0 .../dom-tree-accessors/document.head-01.html | 0 .../dom-tree-accessors/document.head-02.html | 0 .../dom-tree-accessors/document.title-01.html | 0 .../document.title-02.xhtml | 0 .../dom-tree-accessors/document.title-03.html | 0 .../document.title-04.xhtml | 0 .../dom-tree-accessors/document.title-05.html | 0 .../dom-tree-accessors/document.title-06.html | 0 .../dom-tree-accessors/document.title-07.html | 0 .../dom-tree-accessors/nameditem-01.html | 0 .../document.close-01.xhtml | 0 .../document.open-01.xhtml | 0 .../document.open-02.html | 0 .../document.write-01.xhtml | 0 .../document.write-02.html | 0 .../document.writeln-01.xhtml | 0 .../document.writeln-02.html | 0 .../elements-in-the-dom/unknown-element.html | 0 .../events/event-handler-spec-example.html | 0 .../submission/Ms2ger/general/interfaces.html | 0 .../classlist-nonstring.html | 0 .../Ms2ger/global-attributes/dataset.html | 0 .../global-attributes/document-dir.html | 0 .../Ms2ger/global-attributes/id-name.html | 0 .../lang-xmllang-01-ref.html | 0 .../global-attributes/lang-xmllang-01.html | 0 .../global-attributes/lang-xyzzy-ref.html | 0 .../Ms2ger/global-attributes/lang-xyzzy.html | 0 .../global-attributes/style-01-ref.html | 0 .../Ms2ger/global-attributes/style-01.html | 0 .../document-color-01.html | 0 .../document-color-02.html | 0 .../document-color-03.html | 0 .../document-color-04.html | 0 .../document.all-01.html | 0 .../document.all-02.html | 0 .../document.all-03.html | 0 .../document.all-04.html | 0 .../document.all-05.html | 0 .../heading-obsolete-attributes-01.html | 0 .../script-IDL-event-htmlfor.html | 0 .../submission/Ms2ger/parsing/comment.dat | 0 .../document-compatmode-01.html | 0 .../document-compatmode-02.html | 0 .../document-compatmode-03.html | 0 .../document-compatmode-04.xhtml | 0 .../document-compatmode-05.xhtml | 0 .../document-compatmode-06.xhtml | 0 .../Ms2ger/support/css/200-textplain.cgi | 0 .../Ms2ger/support/css/404-textcss.cgi | 0 .../Ms2ger/support/text/200-textplain.cgi | 0 .../the-link-element/link-rellist.html | 0 .../the-link-element/link-style-error-01.html | 0 .../the-style-element/style-error-01.html | 0 .../the-title-element/title.text-01.html | 0 .../the-title-element/title.text-02.xhtml | 0 .../the-title-element/title.text-03.html | 0 .../the-title-element/title.text-04.xhtml | 0 .../the-video-element/video-tabindex.html | 0 .../form-elements-interfaces-01.html | 0 .../form-elements-matches.html | 0 .../form-elements-nameditem-01.html | 0 .../form-elements-nameditem-02.html | 0 .../input-textselection-01.html | 0 .../the-textarea-element/textarea-type.html | 0 .../wrap-reflect-1-ref.html | 0 .../the-textarea-element/wrap-reflect-1a.html | 0 .../the-textarea-element/wrap-reflect-1b.html | 0 .../script-language-type.html | 0 .../script-languages-01.html | 0 .../script-languages-02.html | 0 .../script-noembed-noframes-iframe.xhtml | 0 .../insertRow-method-01.html | 0 .../insertRow-method-02.html | 0 .../the-a-element/a.text-getter-01.html | 0 .../the-a-element/a.text-setter-01.html | 0 .../the-hidden-attribute/hidden-1-ref.html | 0 .../the-hidden-attribute/hidden-1a.html | 0 .../the-hidden-attribute/hidden-1b.html | 0 .../the-hidden-attribute/hidden-1c.html | 0 .../the-hidden-attribute/hidden-1d.html | 0 .../the-hidden-attribute/hidden-2-ref.svg | 0 .../Ms2ger/the-hidden-attribute/hidden-2.svg | 0 .../node_modules/domino/test/index.js | 0 .../node_modules/domino/test/mocha.opts | 0 .../node_modules/domino/test/w3c/README.md | 0 .../domino/test/w3c/harness/DomTestCase.js | 0 .../domino/test/w3c/harness/index.js | 0 .../node_modules/domino/test/w3c/index.js | 0 .../level1/core/documentgetdoctypenodtd.js | 0 ...cumentinvalidcharacterexceptioncreatepi.js | 0 ...umentinvalidcharacterexceptioncreatepi1.js | 0 .../test/w3c/level1/core/files/.cvsignore | 0 .../w3c/level1/core/files/hc_nodtdstaff.html | 0 .../test/w3c/level1/core/files/hc_staff.html | 0 .../test/w3c/level1/core/files/staff.dtd | 0 .../level1/core/hc_characterdataappenddata.js | 0 .../core/hc_characterdataappenddatagetdata.js | 0 .../hc_characterdatadeletedatabegining.js | 0 .../core/hc_characterdatadeletedataend.js | 0 ...hc_characterdatadeletedataexceedslength.js | 0 ...characterdatadeletedatagetlengthanddata.js | 0 .../core/hc_characterdatadeletedatamiddle.js | 0 .../level1/core/hc_characterdatagetdata.js | 0 .../level1/core/hc_characterdatagetlength.js | 0 ...dataindexsizeerrdeletedatacountnegative.js | 0 ...dataindexsizeerrdeletedataoffsetgreater.js | 0 ...ataindexsizeerrdeletedataoffsetnegative.js | 0 ...dataindexsizeerrinsertdataoffsetgreater.js | 0 ...ataindexsizeerrinsertdataoffsetnegative.js | 0 ...ataindexsizeerrreplacedatacountnegative.js | 0 ...ataindexsizeerrreplacedataoffsetgreater.js | 0 ...taindexsizeerrreplacedataoffsetnegative.js | 0 ...rdataindexsizeerrsubstringcountnegative.js | 0 ...dataindexsizeerrsubstringnegativeoffset.js | 0 ...rdataindexsizeerrsubstringoffsetgreater.js | 0 .../hc_characterdatainsertdatabeginning.js | 0 .../core/hc_characterdatainsertdataend.js | 0 .../core/hc_characterdatainsertdatamiddle.js | 0 .../hc_characterdatareplacedatabegining.js | 0 .../core/hc_characterdatareplacedataend.js | 0 ...racterdatareplacedataexceedslengthofarg.js | 0 ...acterdatareplacedataexceedslengthofdata.js | 0 .../core/hc_characterdatareplacedatamiddle.js | 0 .../core/hc_characterdatasetnodevalue.js | 0 .../hc_characterdatasubstringexceedsvalue.js | 0 .../core/hc_characterdatasubstringvalue.js | 0 .../w3c/level1/core/hc_commentgetcomment.js | 0 .../level1/core/hc_documentcreatecomment.js | 0 .../core/hc_documentcreatedocumentfragment.js | 0 .../level1/core/hc_documentcreateelement.js | 0 .../hc_documentcreateelementcasesensitive.js | 0 .../level1/core/hc_documentcreatetextnode.js | 0 .../w3c/level1/core/hc_documentgetdoctype.js | 0 .../hc_documentgetelementsbytagnamelength.js | 0 ...documentgetelementsbytagnametotallength.js | 0 .../hc_documentgetelementsbytagnamevalue.js | 0 .../core/hc_documentgetimplementation.js | 0 .../w3c/level1/core/hc_documentgetrootnode.js | 0 ...tinvalidcharacterexceptioncreateelement.js | 0 ...invalidcharacterexceptioncreateelement1.js | 0 .../hc_domimplementationfeaturenoversion.js | 0 .../core/hc_domimplementationfeaturenull.js | 0 .../core/hc_domimplementationfeaturexml.js | 0 .../level1/core/hc_elementaddnewattribute.js | 0 .../core/hc_elementchangeattributevalue.js | 0 .../core/hc_elementgetelementsbytagname.js | 0 ...ementgetelementsbytagnameaccessnodelist.js | 0 .../hc_elementgetelementsbytagnamenomatch.js | 0 ...elementgetelementsbytagnamespecialvalue.js | 0 .../w3c/level1/core/hc_elementgettagname.js | 0 .../hc_elementinvalidcharacterexception.js | 0 .../hc_elementinvalidcharacterexception1.js | 0 .../w3c/level1/core/hc_elementnormalize.js | 0 .../level1/core/hc_elementremoveattribute.js | 0 .../core/hc_elementretrieveallattributes.js | 0 .../core/hc_elementretrieveattrvalue.js | 0 .../level1/core/hc_elementretrievetagname.js | 0 .../core/hc_entitiesremovenameditem1.js | 0 .../level1/core/hc_entitiessetnameditem1.js | 0 .../core/hc_namednodemapchildnoderange.js | 0 .../core/hc_namednodemapnumberofnodes.js | 0 .../w3c/level1/core/hc_nodeappendchild.js | 0 .../core/hc_nodeappendchildchildexists.js | 0 .../core/hc_nodeappendchilddocfragment.js | 0 .../core/hc_nodeappendchildgetnodename.js | 0 .../hc_nodeappendchildnewchilddiffdocument.js | 0 .../core/hc_nodeappendchildnodeancestor.js | 0 .../core/hc_nodeattributenodeattribute.js | 0 .../test/w3c/level1/core/hc_nodechildnodes.js | 0 .../core/hc_nodechildnodesappendchild.js | 0 .../w3c/level1/core/hc_nodechildnodesempty.js | 0 .../core/hc_nodecloneattributescopied.js | 0 .../core/hc_nodeclonefalsenocopytext.js | 0 .../level1/core/hc_nodeclonegetparentnull.js | 0 .../w3c/level1/core/hc_nodeclonenodefalse.js | 0 .../w3c/level1/core/hc_nodeclonenodetrue.js | 0 .../level1/core/hc_nodeclonetruecopytext.js | 0 .../core/hc_nodecommentnodeattributes.js | 0 .../w3c/level1/core/hc_nodecommentnodename.js | 0 .../w3c/level1/core/hc_nodecommentnodetype.js | 0 .../level1/core/hc_nodecommentnodevalue.js | 0 .../core/hc_nodedocumentfragmentnodename.js | 0 .../core/hc_nodedocumentfragmentnodetype.js | 0 .../core/hc_nodedocumentfragmentnodevalue.js | 0 .../core/hc_nodedocumentnodeattribute.js | 0 .../level1/core/hc_nodedocumentnodename.js | 0 .../level1/core/hc_nodedocumentnodetype.js | 0 .../level1/core/hc_nodedocumentnodevalue.js | 0 .../core/hc_nodeelementnodeattributes.js | 0 .../w3c/level1/core/hc_nodeelementnodename.js | 0 .../w3c/level1/core/hc_nodeelementnodetype.js | 0 .../level1/core/hc_nodeelementnodevalue.js | 0 .../w3c/level1/core/hc_nodegetfirstchild.js | 0 .../level1/core/hc_nodegetfirstchildnull.js | 0 .../w3c/level1/core/hc_nodegetlastchild.js | 0 .../level1/core/hc_nodegetlastchildnull.js | 0 .../w3c/level1/core/hc_nodegetnextsibling.js | 0 .../level1/core/hc_nodegetnextsiblingnull.js | 0 .../level1/core/hc_nodegetownerdocument.js | 0 .../core/hc_nodegetownerdocumentnull.js | 0 .../level1/core/hc_nodegetprevioussibling.js | 0 .../core/hc_nodegetprevioussiblingnull.js | 0 .../w3c/level1/core/hc_nodehaschildnodes.js | 0 .../level1/core/hc_nodehaschildnodesfalse.js | 0 .../w3c/level1/core/hc_nodeinsertbefore.js | 0 .../core/hc_nodeinsertbeforedocfragment.js | 0 ...hc_nodeinsertbeforenewchilddiffdocument.js | 0 .../core/hc_nodeinsertbeforenewchildexists.js | 0 .../core/hc_nodeinsertbeforenodeancestor.js | 0 .../core/hc_nodeinsertbeforenodename.js | 0 .../hc_nodeinsertbeforerefchildnonexistent.js | 0 .../core/hc_nodeinsertbeforerefchildnull.js | 0 .../level1/core/hc_nodelistindexequalzero.js | 0 .../level1/core/hc_nodelistindexgetlength.js | 0 .../hc_nodelistindexgetlengthofemptylist.js | 0 .../level1/core/hc_nodelistindexnotzero.js | 0 .../level1/core/hc_nodelistreturnfirstitem.js | 0 .../level1/core/hc_nodelistreturnlastitem.js | 0 .../level1/core/hc_nodelisttraverselist.js | 0 .../test/w3c/level1/core/hc_nodeparentnode.js | 0 .../w3c/level1/core/hc_nodeparentnodenull.js | 0 .../w3c/level1/core/hc_noderemovechild.js | 0 .../core/hc_noderemovechildgetnodename.js | 0 .../w3c/level1/core/hc_noderemovechildnode.js | 0 .../hc_noderemovechildoldchildnonexistent.js | 0 .../w3c/level1/core/hc_nodereplacechild.js | 0 ...hc_nodereplacechildnewchilddiffdocument.js | 0 .../core/hc_nodereplacechildnewchildexists.js | 0 .../core/hc_nodereplacechildnodeancestor.js | 0 .../core/hc_nodereplacechildnodename.js | 0 .../hc_nodereplacechildoldchildnonexistent.js | 0 .../level1/core/hc_nodetextnodeattribute.js | 0 .../w3c/level1/core/hc_nodetextnodename.js | 0 .../w3c/level1/core/hc_nodetextnodetype.js | 0 .../w3c/level1/core/hc_nodetextnodevalue.js | 0 .../test/w3c/level1/core/hc_nodevalue01.js | 0 .../test/w3c/level1/core/hc_nodevalue02.js | 0 .../test/w3c/level1/core/hc_nodevalue04.js | 0 .../test/w3c/level1/core/hc_nodevalue05.js | 0 .../test/w3c/level1/core/hc_nodevalue06.js | 0 .../test/w3c/level1/core/hc_nodevalue07.js | 0 .../test/w3c/level1/core/hc_nodevalue08.js | 0 .../core/hc_notationsremovenameditem1.js | 0 .../level1/core/hc_notationssetnameditem1.js | 0 .../core/hc_textindexsizeerrnegativeoffset.js | 0 .../hc_textindexsizeerroffsetoutofbounds.js | 0 .../core/hc_textparseintolistofelements.js | 0 .../w3c/level1/core/hc_textsplittextfour.js | 0 .../w3c/level1/core/hc_textsplittextone.js | 0 .../w3c/level1/core/hc_textsplittextthree.js | 0 .../w3c/level1/core/hc_textsplittexttwo.js | 0 .../w3c/level1/core/hc_textwithnomarkup.js | 0 ...ntinvalidcharacterexceptioncreateentref.js | 0 ...tinvalidcharacterexceptioncreateentref1.js | 0 .../core/obsolete/hc_attrappendchild1.js | 0 .../core/obsolete/hc_attrappendchild2.js | 0 .../core/obsolete/hc_attrappendchild3.js | 0 .../core/obsolete/hc_attrappendchild4.js | 0 .../core/obsolete/hc_attrappendchild5.js | 0 .../core/obsolete/hc_attrappendchild6.js | 0 .../core/obsolete/hc_attrchildnodes1.js | 0 .../core/obsolete/hc_attrchildnodes2.js | 0 .../level1/core/obsolete/hc_attrclonenode1.js | 0 .../obsolete/hc_attrcreatedocumentfragment.js | 0 .../core/obsolete/hc_attrcreatetextnode.js | 0 .../core/obsolete/hc_attrcreatetextnode2.js | 0 .../core/obsolete/hc_attreffectivevalue.js | 0 .../level1/core/obsolete/hc_attrfirstchild.js | 0 .../level1/core/obsolete/hc_attrgetvalue1.js | 0 .../level1/core/obsolete/hc_attrgetvalue2.js | 0 .../core/obsolete/hc_attrhaschildnodes.js | 0 .../core/obsolete/hc_attrinsertbefore1.js | 0 .../core/obsolete/hc_attrinsertbefore2.js | 0 .../core/obsolete/hc_attrinsertbefore3.js | 0 .../core/obsolete/hc_attrinsertbefore4.js | 0 .../core/obsolete/hc_attrinsertbefore5.js | 0 .../core/obsolete/hc_attrinsertbefore6.js | 0 .../core/obsolete/hc_attrinsertbefore7.js | 0 .../level1/core/obsolete/hc_attrlastchild.js | 0 .../w3c/level1/core/obsolete/hc_attrname.js | 0 .../core/obsolete/hc_attrnextsiblingnull.js | 0 .../level1/core/obsolete/hc_attrnormalize.js | 0 .../core/obsolete/hc_attrparentnodenull.js | 0 .../obsolete/hc_attrprevioussiblingnull.js | 0 .../core/obsolete/hc_attrremovechild1.js | 0 .../core/obsolete/hc_attrremovechild2.js | 0 .../core/obsolete/hc_attrreplacechild1.js | 0 .../core/obsolete/hc_attrreplacechild2.js | 0 .../level1/core/obsolete/hc_attrsetvalue1.js | 0 .../level1/core/obsolete/hc_attrsetvalue2.js | 0 .../core/obsolete/hc_attrspecifiedvalue.js | 0 .../obsolete/hc_attrspecifiedvaluechanged.js | 0 .../obsolete/hc_documentcreateattribute.js | 0 ...nvalidcharacterexceptioncreateattribute.js | 0 ...validcharacterexceptioncreateattribute1.js | 0 .../obsolete/hc_elementassociatedattribute.js | 0 .../obsolete/hc_elementcreatenewattribute.js | 0 .../obsolete/hc_elementgetattributenode.js | 0 .../hc_elementgetattributenodenull.js | 0 .../obsolete/hc_elementgetelementempty.js | 0 .../obsolete/hc_elementinuseattributeerr.js | 0 .../core/obsolete/hc_elementnormalize2.js | 0 .../core/obsolete/hc_elementnotfounderr.js | 0 .../hc_elementremoveattributeaftercreate.js | 0 .../obsolete/hc_elementremoveattributenode.js | 0 .../hc_elementreplaceattributewithself.js | 0 .../hc_elementreplaceexistingattribute.js | 0 ..._elementreplaceexistingattributegevalue.js | 0 .../hc_elementsetattributenodenull.js | 0 .../obsolete/hc_elementwrongdocumenterr.js | 0 .../obsolete/hc_namednodemapgetnameditem.js | 0 .../hc_namednodemapinuseattributeerr.js | 0 .../obsolete/hc_namednodemapnotfounderr.js | 0 .../hc_namednodemapremovenameditem.js | 0 .../obsolete/hc_namednodemapreturnattrnode.js | 0 .../hc_namednodemapreturnfirstitem.js | 0 .../obsolete/hc_namednodemapreturnlastitem.js | 0 .../obsolete/hc_namednodemapreturnnull.js | 0 .../obsolete/hc_namednodemapsetnameditem.js | 0 .../hc_namednodemapsetnameditemreturnvalue.js | 0 .../hc_namednodemapsetnameditemthatexists.js | 0 ...hc_namednodemapsetnameditemwithnewvalue.js | 0 .../hc_namednodemapwrongdocumenterr.js | 0 .../hc_nodeappendchildinvalidnodetype.js | 0 .../core/obsolete/hc_nodeattributenodename.js | 0 .../core/obsolete/hc_nodeattributenodetype.js | 0 .../obsolete/hc_nodeattributenodevalue.js | 0 .../hc_nodeinsertbeforeinvalidnodetype.js | 0 .../hc_nodereplacechildinvalidnodetype.js | 0 .../level1/core/obsolete/hc_nodevalue03.js | 0 .../w3c/level1/html/HTMLAnchorElement01.js | 0 .../w3c/level1/html/HTMLAnchorElement04.js | 0 .../w3c/level1/html/HTMLAnchorElement05.js | 0 .../w3c/level1/html/HTMLAnchorElement07.js | 0 .../w3c/level1/html/HTMLAnchorElement10.js | 0 .../w3c/level1/html/HTMLAnchorElement11.js | 0 .../w3c/level1/html/HTMLAnchorElement12.js | 0 .../w3c/level1/html/HTMLAnchorElement13.js | 0 .../w3c/level1/html/HTMLAnchorElement14.js | 0 .../test/w3c/level1/html/HTMLAreaElement01.js | 0 .../test/w3c/level1/html/HTMLAreaElement02.js | 0 .../test/w3c/level1/html/HTMLAreaElement03.js | 0 .../test/w3c/level1/html/HTMLAreaElement04.js | 0 .../test/w3c/level1/html/HTMLAreaElement05.js | 0 .../test/w3c/level1/html/HTMLAreaElement06.js | 0 .../test/w3c/level1/html/HTMLAreaElement07.js | 0 .../test/w3c/level1/html/HTMLAreaElement08.js | 0 .../w3c/level1/html/HTMLButtonElement01.js | 0 .../w3c/level1/html/HTMLButtonElement02.js | 0 .../w3c/level1/html/HTMLButtonElement03.js | 0 .../w3c/level1/html/HTMLButtonElement04.js | 0 .../w3c/level1/html/HTMLButtonElement05.js | 0 .../w3c/level1/html/HTMLButtonElement06.js | 0 .../w3c/level1/html/HTMLButtonElement07.js | 0 .../w3c/level1/html/HTMLButtonElement08.js | 0 .../test/w3c/level1/html/HTMLDocument01.js | 0 .../test/w3c/level1/html/HTMLDocument05.js | 0 .../test/w3c/level1/html/HTMLDocument15.js | 0 .../test/w3c/level1/html/HTMLDocument16.js | 0 .../test/w3c/level1/html/HTMLDocument17.js | 0 .../test/w3c/level1/html/HTMLDocument18.js | 0 .../test/w3c/level1/html/HTMLDocument19.js | 0 .../test/w3c/level1/html/HTMLDocument20.js | 0 .../test/w3c/level1/html/HTMLDocument21.js | 0 .../test/w3c/level1/html/HTMLElement01.js | 0 .../test/w3c/level1/html/HTMLElement02.js | 0 .../test/w3c/level1/html/HTMLElement03.js | 0 .../test/w3c/level1/html/HTMLElement04.js | 0 .../test/w3c/level1/html/HTMLElement05.js | 0 .../test/w3c/level1/html/HTMLElement06.js | 0 .../test/w3c/level1/html/HTMLElement07.js | 0 .../test/w3c/level1/html/HTMLElement08.js | 0 .../test/w3c/level1/html/HTMLElement09.js | 0 .../test/w3c/level1/html/HTMLElement10.js | 0 .../test/w3c/level1/html/HTMLElement100.js | 0 .../test/w3c/level1/html/HTMLElement101.js | 0 .../test/w3c/level1/html/HTMLElement102.js | 0 .../test/w3c/level1/html/HTMLElement103.js | 0 .../test/w3c/level1/html/HTMLElement104.js | 0 .../test/w3c/level1/html/HTMLElement105.js | 0 .../test/w3c/level1/html/HTMLElement106.js | 0 .../test/w3c/level1/html/HTMLElement107.js | 0 .../test/w3c/level1/html/HTMLElement108.js | 0 .../test/w3c/level1/html/HTMLElement109.js | 0 .../test/w3c/level1/html/HTMLElement11.js | 0 .../test/w3c/level1/html/HTMLElement110.js | 0 .../test/w3c/level1/html/HTMLElement111.js | 0 .../test/w3c/level1/html/HTMLElement112.js | 0 .../test/w3c/level1/html/HTMLElement113.js | 0 .../test/w3c/level1/html/HTMLElement114.js | 0 .../test/w3c/level1/html/HTMLElement115.js | 0 .../test/w3c/level1/html/HTMLElement116.js | 0 .../test/w3c/level1/html/HTMLElement117.js | 0 .../test/w3c/level1/html/HTMLElement118.js | 0 .../test/w3c/level1/html/HTMLElement119.js | 0 .../test/w3c/level1/html/HTMLElement12.js | 0 .../test/w3c/level1/html/HTMLElement120.js | 0 .../test/w3c/level1/html/HTMLElement121.js | 0 .../test/w3c/level1/html/HTMLElement122.js | 0 .../test/w3c/level1/html/HTMLElement123.js | 0 .../test/w3c/level1/html/HTMLElement124.js | 0 .../test/w3c/level1/html/HTMLElement125.js | 0 .../test/w3c/level1/html/HTMLElement126.js | 0 .../test/w3c/level1/html/HTMLElement127.js | 0 .../test/w3c/level1/html/HTMLElement128.js | 0 .../test/w3c/level1/html/HTMLElement129.js | 0 .../test/w3c/level1/html/HTMLElement13.js | 0 .../test/w3c/level1/html/HTMLElement130.js | 0 .../test/w3c/level1/html/HTMLElement131.js | 0 .../test/w3c/level1/html/HTMLElement132.js | 0 .../test/w3c/level1/html/HTMLElement133.js | 0 .../test/w3c/level1/html/HTMLElement134.js | 0 .../test/w3c/level1/html/HTMLElement135.js | 0 .../test/w3c/level1/html/HTMLElement136.js | 0 .../test/w3c/level1/html/HTMLElement137.js | 0 .../test/w3c/level1/html/HTMLElement138.js | 0 .../test/w3c/level1/html/HTMLElement139.js | 0 .../test/w3c/level1/html/HTMLElement14.js | 0 .../test/w3c/level1/html/HTMLElement140.js | 0 .../test/w3c/level1/html/HTMLElement141.js | 0 .../test/w3c/level1/html/HTMLElement142.js | 0 .../test/w3c/level1/html/HTMLElement143.js | 0 .../test/w3c/level1/html/HTMLElement144.js | 0 .../test/w3c/level1/html/HTMLElement145.js | 0 .../test/w3c/level1/html/HTMLElement15.js | 0 .../test/w3c/level1/html/HTMLElement16.js | 0 .../test/w3c/level1/html/HTMLElement17.js | 0 .../test/w3c/level1/html/HTMLElement18.js | 0 .../test/w3c/level1/html/HTMLElement19.js | 0 .../test/w3c/level1/html/HTMLElement20.js | 0 .../test/w3c/level1/html/HTMLElement21.js | 0 .../test/w3c/level1/html/HTMLElement22.js | 0 .../test/w3c/level1/html/HTMLElement23.js | 0 .../test/w3c/level1/html/HTMLElement24.js | 0 .../test/w3c/level1/html/HTMLElement25.js | 0 .../test/w3c/level1/html/HTMLElement26.js | 0 .../test/w3c/level1/html/HTMLElement27.js | 0 .../test/w3c/level1/html/HTMLElement28.js | 0 .../test/w3c/level1/html/HTMLElement29.js | 0 .../test/w3c/level1/html/HTMLElement30.js | 0 .../test/w3c/level1/html/HTMLElement31.js | 0 .../test/w3c/level1/html/HTMLElement32.js | 0 .../test/w3c/level1/html/HTMLElement33.js | 0 .../test/w3c/level1/html/HTMLElement34.js | 0 .../test/w3c/level1/html/HTMLElement35.js | 0 .../test/w3c/level1/html/HTMLElement36.js | 0 .../test/w3c/level1/html/HTMLElement37.js | 0 .../test/w3c/level1/html/HTMLElement38.js | 0 .../test/w3c/level1/html/HTMLElement39.js | 0 .../test/w3c/level1/html/HTMLElement40.js | 0 .../test/w3c/level1/html/HTMLElement41.js | 0 .../test/w3c/level1/html/HTMLElement42.js | 0 .../test/w3c/level1/html/HTMLElement43.js | 0 .../test/w3c/level1/html/HTMLElement44.js | 0 .../test/w3c/level1/html/HTMLElement45.js | 0 .../test/w3c/level1/html/HTMLElement46.js | 0 .../test/w3c/level1/html/HTMLElement47.js | 0 .../test/w3c/level1/html/HTMLElement48.js | 0 .../test/w3c/level1/html/HTMLElement49.js | 0 .../test/w3c/level1/html/HTMLElement50.js | 0 .../test/w3c/level1/html/HTMLElement51.js | 0 .../test/w3c/level1/html/HTMLElement52.js | 0 .../test/w3c/level1/html/HTMLElement53.js | 0 .../test/w3c/level1/html/HTMLElement54.js | 0 .../test/w3c/level1/html/HTMLElement55.js | 0 .../test/w3c/level1/html/HTMLElement56.js | 0 .../test/w3c/level1/html/HTMLElement57.js | 0 .../test/w3c/level1/html/HTMLElement58.js | 0 .../test/w3c/level1/html/HTMLElement59.js | 0 .../test/w3c/level1/html/HTMLElement60.js | 0 .../test/w3c/level1/html/HTMLElement61.js | 0 .../test/w3c/level1/html/HTMLElement62.js | 0 .../test/w3c/level1/html/HTMLElement63.js | 0 .../test/w3c/level1/html/HTMLElement64.js | 0 .../test/w3c/level1/html/HTMLElement65.js | 0 .../test/w3c/level1/html/HTMLElement66.js | 0 .../test/w3c/level1/html/HTMLElement67.js | 0 .../test/w3c/level1/html/HTMLElement68.js | 0 .../test/w3c/level1/html/HTMLElement69.js | 0 .../test/w3c/level1/html/HTMLElement70.js | 0 .../test/w3c/level1/html/HTMLElement71.js | 0 .../test/w3c/level1/html/HTMLElement72.js | 0 .../test/w3c/level1/html/HTMLElement73.js | 0 .../test/w3c/level1/html/HTMLElement74.js | 0 .../test/w3c/level1/html/HTMLElement75.js | 0 .../test/w3c/level1/html/HTMLElement76.js | 0 .../test/w3c/level1/html/HTMLElement77.js | 0 .../test/w3c/level1/html/HTMLElement78.js | 0 .../test/w3c/level1/html/HTMLElement79.js | 0 .../test/w3c/level1/html/HTMLElement80.js | 0 .../test/w3c/level1/html/HTMLElement81.js | 0 .../test/w3c/level1/html/HTMLElement82.js | 0 .../test/w3c/level1/html/HTMLElement83.js | 0 .../test/w3c/level1/html/HTMLElement84.js | 0 .../test/w3c/level1/html/HTMLElement85.js | 0 .../test/w3c/level1/html/HTMLElement86.js | 0 .../test/w3c/level1/html/HTMLElement87.js | 0 .../test/w3c/level1/html/HTMLElement88.js | 0 .../test/w3c/level1/html/HTMLElement89.js | 0 .../test/w3c/level1/html/HTMLElement90.js | 0 .../test/w3c/level1/html/HTMLElement91.js | 0 .../test/w3c/level1/html/HTMLElement92.js | 0 .../test/w3c/level1/html/HTMLElement93.js | 0 .../test/w3c/level1/html/HTMLElement94.js | 0 .../test/w3c/level1/html/HTMLElement95.js | 0 .../test/w3c/level1/html/HTMLElement96.js | 0 .../test/w3c/level1/html/HTMLElement97.js | 0 .../test/w3c/level1/html/HTMLElement98.js | 0 .../test/w3c/level1/html/HTMLElement99.js | 0 .../w3c/level1/html/HTMLFieldSetElement01.js | 0 .../w3c/level1/html/HTMLFieldSetElement02.js | 0 .../test/w3c/level1/html/HTMLFormElement03.js | 0 .../test/w3c/level1/html/HTMLFormElement04.js | 0 .../test/w3c/level1/html/HTMLFormElement05.js | 0 .../test/w3c/level1/html/HTMLFormElement06.js | 0 .../test/w3c/level1/html/HTMLFormElement07.js | 0 .../test/w3c/level1/html/HTMLFormElement08.js | 0 .../w3c/level1/html/HTMLIFrameElement03.js | 0 .../w3c/level1/html/HTMLIFrameElement07.js | 0 .../w3c/level1/html/HTMLIFrameElement09.js | 0 .../w3c/level1/html/HTMLIFrameElement10.js | 0 .../w3c/level1/html/HTMLImageElement05.js | 0 .../w3c/level1/html/HTMLImageElement06.js | 0 .../w3c/level1/html/HTMLImageElement07.js | 0 .../w3c/level1/html/HTMLImageElement09.js | 0 .../w3c/level1/html/HTMLImageElement11.js | 0 .../w3c/level1/html/HTMLImageElement12.js | 0 .../w3c/level1/html/HTMLInputElement01.js | 0 .../w3c/level1/html/HTMLInputElement02.js | 0 .../w3c/level1/html/HTMLInputElement03.js | 0 .../w3c/level1/html/HTMLInputElement04.js | 0 .../w3c/level1/html/HTMLInputElement05.js | 0 .../w3c/level1/html/HTMLInputElement07.js | 0 .../w3c/level1/html/HTMLInputElement08.js | 0 .../w3c/level1/html/HTMLInputElement09.js | 0 .../w3c/level1/html/HTMLInputElement10.js | 0 .../w3c/level1/html/HTMLInputElement11.js | 0 .../w3c/level1/html/HTMLInputElement12.js | 0 .../w3c/level1/html/HTMLInputElement13.js | 0 .../w3c/level1/html/HTMLInputElement14.js | 0 .../w3c/level1/html/HTMLInputElement15.js | 0 .../w3c/level1/html/HTMLInputElement16.js | 0 .../w3c/level1/html/HTMLInputElement18.js | 0 .../w3c/level1/html/HTMLInputElement21.js | 0 .../test/w3c/level1/html/HTMLLIElement02.js | 0 .../w3c/level1/html/HTMLLabelElement01.js | 0 .../w3c/level1/html/HTMLLabelElement02.js | 0 .../w3c/level1/html/HTMLLabelElement03.js | 0 .../w3c/level1/html/HTMLLabelElement04.js | 0 .../test/w3c/level1/html/HTMLLinkElement01.js | 0 .../test/w3c/level1/html/HTMLLinkElement03.js | 0 .../test/w3c/level1/html/HTMLLinkElement04.js | 0 .../test/w3c/level1/html/HTMLLinkElement05.js | 0 .../test/w3c/level1/html/HTMLLinkElement06.js | 0 .../test/w3c/level1/html/HTMLLinkElement08.js | 0 .../test/w3c/level1/html/HTMLMapElement02.js | 0 .../test/w3c/level1/html/HTMLMetaElement01.js | 0 .../test/w3c/level1/html/HTMLMetaElement02.js | 0 .../test/w3c/level1/html/HTMLMetaElement03.js | 0 .../test/w3c/level1/html/HTMLMetaElement04.js | 0 .../test/w3c/level1/html/HTMLModElement01.js | 0 .../test/w3c/level1/html/HTMLModElement02.js | 0 .../test/w3c/level1/html/HTMLModElement03.js | 0 .../test/w3c/level1/html/HTMLModElement04.js | 0 .../w3c/level1/html/HTMLOListElement02.js | 0 .../w3c/level1/html/HTMLOListElement03.js | 0 .../w3c/level1/html/HTMLObjectElement01.js | 0 .../w3c/level1/html/HTMLObjectElement08.js | 0 .../w3c/level1/html/HTMLObjectElement10.js | 0 .../w3c/level1/html/HTMLObjectElement11.js | 0 .../w3c/level1/html/HTMLObjectElement13.js | 0 .../w3c/level1/html/HTMLObjectElement14.js | 0 .../w3c/level1/html/HTMLObjectElement15.js | 0 .../w3c/level1/html/HTMLObjectElement16.js | 0 .../w3c/level1/html/HTMLObjectElement17.js | 0 .../w3c/level1/html/HTMLObjectElement18.js | 0 .../w3c/level1/html/HTMLObjectElement19.js | 0 .../w3c/level1/html/HTMLOptGroupElement01.js | 0 .../w3c/level1/html/HTMLOptGroupElement02.js | 0 .../w3c/level1/html/HTMLOptionElement01.js | 0 .../w3c/level1/html/HTMLOptionElement02.js | 0 .../w3c/level1/html/HTMLOptionElement03.js | 0 .../w3c/level1/html/HTMLOptionElement06.js | 0 .../w3c/level1/html/HTMLOptionElement07.js | 0 .../w3c/level1/html/HTMLOptionElement08.js | 0 .../w3c/level1/html/HTMLParamElement02.js | 0 .../w3c/level1/html/HTMLQuoteElement01.js | 0 .../w3c/level1/html/HTMLQuoteElement02.js | 0 .../w3c/level1/html/HTMLScriptElement01.js | 0 .../w3c/level1/html/HTMLScriptElement02.js | 0 .../w3c/level1/html/HTMLScriptElement03.js | 0 .../w3c/level1/html/HTMLScriptElement04.js | 0 .../w3c/level1/html/HTMLScriptElement05.js | 0 .../w3c/level1/html/HTMLScriptElement06.js | 0 .../w3c/level1/html/HTMLScriptElement07.js | 0 .../w3c/level1/html/HTMLSelectElement03.js | 0 .../w3c/level1/html/HTMLSelectElement06.js | 0 .../w3c/level1/html/HTMLSelectElement07.js | 0 .../w3c/level1/html/HTMLSelectElement08.js | 0 .../w3c/level1/html/HTMLSelectElement09.js | 0 .../w3c/level1/html/HTMLSelectElement10.js | 0 .../w3c/level1/html/HTMLSelectElement11.js | 0 .../w3c/level1/html/HTMLSelectElement12.js | 0 .../w3c/level1/html/HTMLSelectElement13.js | 0 .../w3c/level1/html/HTMLStyleElement01.js | 0 .../w3c/level1/html/HTMLStyleElement02.js | 0 .../w3c/level1/html/HTMLStyleElement03.js | 0 .../w3c/level1/html/HTMLTableCellElement15.js | 0 .../w3c/level1/html/HTMLTableCellElement16.js | 0 .../w3c/level1/html/HTMLTableCellElement23.js | 0 .../w3c/level1/html/HTMLTableCellElement24.js | 0 .../w3c/level1/html/HTMLTableCellElement25.js | 0 .../w3c/level1/html/HTMLTableColElement07.js | 0 .../w3c/level1/html/HTMLTableColElement08.js | 0 .../w3c/level1/html/HTMLTableElement02.js | 0 .../w3c/level1/html/HTMLTableElement04.js | 0 .../w3c/level1/html/HTMLTableElement06.js | 0 .../w3c/level1/html/HTMLTableElement07.js | 0 .../w3c/level1/html/HTMLTableElement12.js | 0 .../w3c/level1/html/HTMLTableRowElement05.js | 0 .../level1/html/HTMLTableSectionElement13.js | 0 .../level1/html/HTMLTableSectionElement14.js | 0 .../level1/html/HTMLTableSectionElement15.js | 0 .../w3c/level1/html/HTMLTextAreaElement02.js | 0 .../w3c/level1/html/HTMLTextAreaElement03.js | 0 .../w3c/level1/html/HTMLTextAreaElement04.js | 0 .../w3c/level1/html/HTMLTextAreaElement05.js | 0 .../w3c/level1/html/HTMLTextAreaElement06.js | 0 .../w3c/level1/html/HTMLTextAreaElement07.js | 0 .../w3c/level1/html/HTMLTextAreaElement08.js | 0 .../w3c/level1/html/HTMLTextAreaElement09.js | 0 .../w3c/level1/html/HTMLTextAreaElement10.js | 0 .../w3c/level1/html/HTMLTitleElement01.js | 0 .../domino/test/w3c/level1/html/anchor01.js | 0 .../domino/test/w3c/level1/html/anchor04.js | 0 .../domino/test/w3c/level1/html/anchor05.js | 0 .../domino/test/w3c/level1/html/area01.js | 0 .../domino/test/w3c/level1/html/area02.js | 0 .../domino/test/w3c/level1/html/area03.js | 0 .../domino/test/w3c/level1/html/area04.js | 0 .../domino/test/w3c/level1/html/button01.js | 0 .../domino/test/w3c/level1/html/button02.js | 0 .../domino/test/w3c/level1/html/button03.js | 0 .../domino/test/w3c/level1/html/button04.js | 0 .../domino/test/w3c/level1/html/button05.js | 0 .../domino/test/w3c/level1/html/button06.js | 0 .../domino/test/w3c/level1/html/button07.js | 0 .../domino/test/w3c/level1/html/button08.js | 0 .../domino/test/w3c/level1/html/button09.js | 0 .../domino/test/w3c/level1/html/doc01.js | 0 .../test/w3c/level1/html/files/.cvsignore | 0 .../w3c/level1/html/files/HTMLDocument04.html | 0 .../test/w3c/level1/html/files/anchor.html | 0 .../test/w3c/level1/html/files/anchor2.html | 0 .../test/w3c/level1/html/files/applet.html | 0 .../test/w3c/level1/html/files/applet2.html | 0 .../test/w3c/level1/html/files/area.html | 0 .../test/w3c/level1/html/files/area2.html | 0 .../test/w3c/level1/html/files/base.html | 0 .../test/w3c/level1/html/files/base2.html | 0 .../test/w3c/level1/html/files/basefont.html | 0 .../test/w3c/level1/html/files/body.html | 0 .../domino/test/w3c/level1/html/files/br.html | 0 .../test/w3c/level1/html/files/button.html | 0 .../w3c/level1/html/files/collection.html | 0 .../test/w3c/level1/html/files/directory.html | 0 .../test/w3c/level1/html/files/div.html | 0 .../domino/test/w3c/level1/html/files/dl.html | 0 .../test/w3c/level1/html/files/document.html | 0 .../test/w3c/level1/html/files/element.html | 0 .../test/w3c/level1/html/files/fieldset.html | 0 .../test/w3c/level1/html/files/font.html | 0 .../test/w3c/level1/html/files/form.html | 0 .../test/w3c/level1/html/files/form2.html | 0 .../test/w3c/level1/html/files/form3.html | 0 .../test/w3c/level1/html/files/frame.html | 0 .../test/w3c/level1/html/files/frameset.html | 0 .../test/w3c/level1/html/files/head.html | 0 .../test/w3c/level1/html/files/heading.html | 0 .../domino/test/w3c/level1/html/files/hr.html | 0 .../test/w3c/level1/html/files/html.html | 0 .../test/w3c/level1/html/files/iframe.html | 0 .../test/w3c/level1/html/files/img.html | 0 .../test/w3c/level1/html/files/input.html | 0 .../test/w3c/level1/html/files/isindex.html | 0 .../test/w3c/level1/html/files/label.html | 0 .../test/w3c/level1/html/files/legend.html | 0 .../domino/test/w3c/level1/html/files/li.html | 0 .../test/w3c/level1/html/files/link.html | 0 .../test/w3c/level1/html/files/link2.html | 0 .../test/w3c/level1/html/files/map.html | 0 .../test/w3c/level1/html/files/menu.html | 0 .../test/w3c/level1/html/files/meta.html | 0 .../test/w3c/level1/html/files/mod.html | 0 .../test/w3c/level1/html/files/object.html | 0 .../test/w3c/level1/html/files/object2.html | 0 .../test/w3c/level1/html/files/olist.html | 0 .../test/w3c/level1/html/files/optgroup.html | 0 .../test/w3c/level1/html/files/option.html | 0 .../test/w3c/level1/html/files/paragraph.html | 0 .../test/w3c/level1/html/files/param.html | 0 .../test/w3c/level1/html/files/pre.html | 0 .../test/w3c/level1/html/files/quote.html | 0 .../test/w3c/level1/html/files/script.html | 0 .../test/w3c/level1/html/files/select.html | 0 .../test/w3c/level1/html/files/style.html | 0 .../test/w3c/level1/html/files/table.html | 0 .../test/w3c/level1/html/files/table1.html | 0 .../w3c/level1/html/files/tablecaption.html | 0 .../test/w3c/level1/html/files/tablecell.html | 0 .../test/w3c/level1/html/files/tablecol.html | 0 .../test/w3c/level1/html/files/tablerow.html | 0 .../w3c/level1/html/files/tablesection.html | 0 .../test/w3c/level1/html/files/textarea.html | 0 .../test/w3c/level1/html/files/title.html | 0 .../test/w3c/level1/html/files/ulist.html | 0 .../test/w3c/level1/html/hasFeature01.js | 0 .../w3c/level1/html/nyi/HTMLDocument02.js | 0 .../w3c/level1/html/nyi/HTMLDocument03.js | 0 .../w3c/level1/html/nyi/HTMLDocument04.js | 0 .../w3c/level1/html/nyi/HTMLDocument07.js | 0 .../w3c/level1/html/nyi/HTMLDocument09.js | 0 .../w3c/level1/html/nyi/HTMLDocument10.js | 0 .../w3c/level1/html/nyi/HTMLDocument12.js | 0 .../w3c/level1/html/nyi/HTMLFormElement01.js | 0 .../w3c/level1/html/nyi/HTMLFormElement09.js | 0 .../w3c/level1/html/nyi/HTMLFormElement10.js | 0 .../w3c/level1/html/nyi/HTMLInputElement19.js | 0 .../w3c/level1/html/nyi/HTMLInputElement20.js | 0 .../w3c/level1/html/nyi/HTMLInputElement22.js | 0 .../level1/html/nyi/HTMLSelectElement01.js | 0 .../level1/html/nyi/HTMLSelectElement02.js | 0 .../level1/html/nyi/HTMLSelectElement04.js | 0 .../level1/html/nyi/HTMLSelectElement05.js | 0 .../level1/html/nyi/HTMLSelectElement14.js | 0 .../level1/html/nyi/HTMLSelectElement15.js | 0 .../level1/html/nyi/HTMLSelectElement16.js | 0 .../level1/html/nyi/HTMLSelectElement17.js | 0 .../level1/html/nyi/HTMLSelectElement18.js | 0 .../level1/html/nyi/HTMLSelectElement19.js | 0 .../w3c/level1/html/nyi/HTMLTableElement08.js | 0 .../w3c/level1/html/nyi/HTMLTableElement09.js | 0 .../w3c/level1/html/nyi/HTMLTableElement19.js | 0 .../w3c/level1/html/nyi/HTMLTableElement20.js | 0 .../w3c/level1/html/nyi/HTMLTableElement21.js | 0 .../w3c/level1/html/nyi/HTMLTableElement22.js | 0 .../w3c/level1/html/nyi/HTMLTableElement23.js | 0 .../w3c/level1/html/nyi/HTMLTableElement24.js | 0 .../w3c/level1/html/nyi/HTMLTableElement25.js | 0 .../w3c/level1/html/nyi/HTMLTableElement26.js | 0 .../w3c/level1/html/nyi/HTMLTableElement27.js | 0 .../w3c/level1/html/nyi/HTMLTableElement28.js | 0 .../w3c/level1/html/nyi/HTMLTableElement29.js | 0 .../w3c/level1/html/nyi/HTMLTableElement30.js | 0 .../w3c/level1/html/nyi/HTMLTableElement31.js | 0 .../w3c/level1/html/nyi/HTMLTableElement32.js | 0 .../w3c/level1/html/nyi/HTMLTableElement33.js | 0 .../level1/html/nyi/HTMLTableRowElement01.js | 0 .../level1/html/nyi/HTMLTextAreaElement13.js | 0 .../level1/html/nyi/HTMLTextAreaElement14.js | 0 .../level1/html/nyi/HTMLTextAreaElement15.js | 0 .../domino/test/w3c/level1/html/object01.js | 0 .../domino/test/w3c/level1/html/object06.js | 0 .../domino/test/w3c/level1/html/object07.js | 0 .../domino/test/w3c/level1/html/object08.js | 0 .../domino/test/w3c/level1/html/object10.js | 0 .../domino/test/w3c/level1/html/object11.js | 0 .../domino/test/w3c/level1/html/object12.js | 0 .../domino/test/w3c/level1/html/object13.js | 0 .../domino/test/w3c/level1/html/object14.js | 0 .../html/obsolete/HTMLAnchorElement02.js | 0 .../html/obsolete/HTMLAnchorElement03.js | 0 .../html/obsolete/HTMLAnchorElement06.js | 0 .../html/obsolete/HTMLAnchorElement08.js | 0 .../html/obsolete/HTMLAnchorElement09.js | 0 .../html/obsolete/HTMLAppletElement01.js | 0 .../html/obsolete/HTMLAppletElement02.js | 0 .../html/obsolete/HTMLAppletElement03.js | 0 .../html/obsolete/HTMLAppletElement04.js | 0 .../html/obsolete/HTMLAppletElement05.js | 0 .../html/obsolete/HTMLAppletElement06.js | 0 .../html/obsolete/HTMLAppletElement07.js | 0 .../html/obsolete/HTMLAppletElement08.js | 0 .../html/obsolete/HTMLAppletElement09.js | 0 .../html/obsolete/HTMLAppletElement10.js | 0 .../html/obsolete/HTMLAppletElement11.js | 0 .../level1/html/obsolete/HTMLBRElement01.js | 0 .../html/obsolete/HTMLBaseFontElement01.js | 0 .../html/obsolete/HTMLBaseFontElement02.js | 0 .../html/obsolete/HTMLBaseFontElement03.js | 0 .../level1/html/obsolete/HTMLBodyElement01.js | 0 .../level1/html/obsolete/HTMLBodyElement02.js | 0 .../level1/html/obsolete/HTMLBodyElement03.js | 0 .../level1/html/obsolete/HTMLBodyElement04.js | 0 .../level1/html/obsolete/HTMLBodyElement05.js | 0 .../level1/html/obsolete/HTMLBodyElement06.js | 0 .../level1/html/obsolete/HTMLCollection01.js | 0 .../level1/html/obsolete/HTMLCollection02.js | 0 .../level1/html/obsolete/HTMLCollection03.js | 0 .../level1/html/obsolete/HTMLCollection04.js | 0 .../level1/html/obsolete/HTMLCollection05.js | 0 .../level1/html/obsolete/HTMLCollection06.js | 0 .../level1/html/obsolete/HTMLCollection07.js | 0 .../level1/html/obsolete/HTMLCollection08.js | 0 .../level1/html/obsolete/HTMLCollection09.js | 0 .../level1/html/obsolete/HTMLCollection10.js | 0 .../level1/html/obsolete/HTMLCollection11.js | 0 .../level1/html/obsolete/HTMLCollection12.js | 0 .../html/obsolete/HTMLDirectoryElement01.js | 0 .../level1/html/obsolete/HTMLDivElement01.js | 0 .../html/obsolete/HTMLDlistElement01.js | 0 .../level1/html/obsolete/HTMLDocument08.js | 0 .../level1/html/obsolete/HTMLDocument11.js | 0 .../level1/html/obsolete/HTMLDocument13.js | 0 .../level1/html/obsolete/HTMLDocument14.js | 0 .../level1/html/obsolete/HTMLFontElement01.js | 0 .../level1/html/obsolete/HTMLFontElement02.js | 0 .../level1/html/obsolete/HTMLFontElement03.js | 0 .../level1/html/obsolete/HTMLFormElement02.js | 0 .../html/obsolete/HTMLFrameElement01.js | 0 .../html/obsolete/HTMLFrameElement02.js | 0 .../html/obsolete/HTMLFrameElement03.js | 0 .../html/obsolete/HTMLFrameElement04.js | 0 .../html/obsolete/HTMLFrameElement05.js | 0 .../html/obsolete/HTMLFrameElement06.js | 0 .../html/obsolete/HTMLFrameElement07.js | 0 .../html/obsolete/HTMLFrameElement08.js | 0 .../html/obsolete/HTMLFrameSetElement01.js | 0 .../html/obsolete/HTMLFrameSetElement02.js | 0 .../level1/html/obsolete/HTMLHRElement01.js | 0 .../level1/html/obsolete/HTMLHRElement02.js | 0 .../level1/html/obsolete/HTMLHRElement03.js | 0 .../level1/html/obsolete/HTMLHRElement04.js | 0 .../level1/html/obsolete/HTMLHeadElement01.js | 0 .../html/obsolete/HTMLHeadingElement01.js | 0 .../html/obsolete/HTMLHeadingElement02.js | 0 .../html/obsolete/HTMLHeadingElement03.js | 0 .../html/obsolete/HTMLHeadingElement04.js | 0 .../html/obsolete/HTMLHeadingElement05.js | 0 .../html/obsolete/HTMLHeadingElement06.js | 0 .../level1/html/obsolete/HTMLHtmlElement01.js | 0 .../html/obsolete/HTMLIFrameElement01.js | 0 .../html/obsolete/HTMLIFrameElement02.js | 0 .../html/obsolete/HTMLIFrameElement04.js | 0 .../html/obsolete/HTMLIFrameElement05.js | 0 .../html/obsolete/HTMLIFrameElement06.js | 0 .../html/obsolete/HTMLIFrameElement08.js | 0 .../html/obsolete/HTMLImageElement01.js | 0 .../html/obsolete/HTMLImageElement02.js | 0 .../html/obsolete/HTMLImageElement03.js | 0 .../html/obsolete/HTMLImageElement04.js | 0 .../html/obsolete/HTMLImageElement08.js | 0 .../html/obsolete/HTMLImageElement10.js | 0 .../html/obsolete/HTMLImageElement14.js | 0 .../html/obsolete/HTMLInputElement06.js | 0 .../html/obsolete/HTMLInputElement17.js | 0 .../html/obsolete/HTMLIsIndexElement01.js | 0 .../html/obsolete/HTMLIsIndexElement02.js | 0 .../html/obsolete/HTMLIsIndexElement03.js | 0 .../level1/html/obsolete/HTMLLIElement01.js | 0 .../html/obsolete/HTMLLegendElement01.js | 0 .../html/obsolete/HTMLLegendElement02.js | 0 .../html/obsolete/HTMLLegendElement03.js | 0 .../html/obsolete/HTMLLegendElement04.js | 0 .../level1/html/obsolete/HTMLLinkElement02.js | 0 .../level1/html/obsolete/HTMLLinkElement07.js | 0 .../level1/html/obsolete/HTMLLinkElement09.js | 0 .../level1/html/obsolete/HTMLMapElement01.js | 0 .../level1/html/obsolete/HTMLMenuElement01.js | 0 .../html/obsolete/HTMLOListElement01.js | 0 .../html/obsolete/HTMLObjectElement02.js | 0 .../html/obsolete/HTMLObjectElement03.js | 0 .../html/obsolete/HTMLObjectElement04.js | 0 .../html/obsolete/HTMLObjectElement05.js | 0 .../html/obsolete/HTMLObjectElement06.js | 0 .../html/obsolete/HTMLObjectElement07.js | 0 .../html/obsolete/HTMLObjectElement09.js | 0 .../html/obsolete/HTMLObjectElement12.js | 0 .../html/obsolete/HTMLOptionElement04.js | 0 .../html/obsolete/HTMLOptionElement05.js | 0 .../html/obsolete/HTMLOptionElement09.js | 0 .../html/obsolete/HTMLParagraphElement01.js | 0 .../html/obsolete/HTMLParamElement01.js | 0 .../html/obsolete/HTMLParamElement03.js | 0 .../html/obsolete/HTMLParamElement04.js | 0 .../level1/html/obsolete/HTMLPreElement01.js | 0 .../obsolete/HTMLTableCaptionElement01.js | 0 .../html/obsolete/HTMLTableCellElement01.js | 0 .../html/obsolete/HTMLTableCellElement02.js | 0 .../html/obsolete/HTMLTableCellElement03.js | 0 .../html/obsolete/HTMLTableCellElement04.js | 0 .../html/obsolete/HTMLTableCellElement05.js | 0 .../html/obsolete/HTMLTableCellElement06.js | 0 .../html/obsolete/HTMLTableCellElement07.js | 0 .../html/obsolete/HTMLTableCellElement08.js | 0 .../html/obsolete/HTMLTableCellElement09.js | 0 .../html/obsolete/HTMLTableCellElement10.js | 0 .../html/obsolete/HTMLTableCellElement11.js | 0 .../html/obsolete/HTMLTableCellElement12.js | 0 .../html/obsolete/HTMLTableCellElement13.js | 0 .../html/obsolete/HTMLTableCellElement14.js | 0 .../html/obsolete/HTMLTableCellElement17.js | 0 .../html/obsolete/HTMLTableCellElement18.js | 0 .../html/obsolete/HTMLTableCellElement19.js | 0 .../html/obsolete/HTMLTableCellElement20.js | 0 .../html/obsolete/HTMLTableCellElement21.js | 0 .../html/obsolete/HTMLTableCellElement22.js | 0 .../html/obsolete/HTMLTableCellElement26.js | 0 .../html/obsolete/HTMLTableCellElement27.js | 0 .../html/obsolete/HTMLTableCellElement28.js | 0 .../html/obsolete/HTMLTableCellElement29.js | 0 .../html/obsolete/HTMLTableCellElement30.js | 0 .../html/obsolete/HTMLTableColElement01.js | 0 .../html/obsolete/HTMLTableColElement02.js | 0 .../html/obsolete/HTMLTableColElement03.js | 0 .../html/obsolete/HTMLTableColElement04.js | 0 .../html/obsolete/HTMLTableColElement05.js | 0 .../html/obsolete/HTMLTableColElement06.js | 0 .../html/obsolete/HTMLTableColElement09.js | 0 .../html/obsolete/HTMLTableColElement10.js | 0 .../html/obsolete/HTMLTableColElement11.js | 0 .../html/obsolete/HTMLTableColElement12.js | 0 .../html/obsolete/HTMLTableElement01.js | 0 .../html/obsolete/HTMLTableElement03.js | 0 .../html/obsolete/HTMLTableElement05.js | 0 .../html/obsolete/HTMLTableElement10.js | 0 .../html/obsolete/HTMLTableElement11.js | 0 .../html/obsolete/HTMLTableElement13.js | 0 .../html/obsolete/HTMLTableElement14.js | 0 .../html/obsolete/HTMLTableElement15.js | 0 .../html/obsolete/HTMLTableElement16.js | 0 .../html/obsolete/HTMLTableElement17.js | 0 .../html/obsolete/HTMLTableElement18.js | 0 .../html/obsolete/HTMLTableRowElement02.js | 0 .../html/obsolete/HTMLTableRowElement03.js | 0 .../html/obsolete/HTMLTableRowElement04.js | 0 .../html/obsolete/HTMLTableRowElement06.js | 0 .../html/obsolete/HTMLTableRowElement07.js | 0 .../html/obsolete/HTMLTableRowElement08.js | 0 .../html/obsolete/HTMLTableRowElement09.js | 0 .../html/obsolete/HTMLTableRowElement10.js | 0 .../html/obsolete/HTMLTableRowElement11.js | 0 .../html/obsolete/HTMLTableRowElement12.js | 0 .../html/obsolete/HTMLTableRowElement13.js | 0 .../html/obsolete/HTMLTableRowElement14.js | 0 .../obsolete/HTMLTableSectionElement01.js | 0 .../obsolete/HTMLTableSectionElement02.js | 0 .../obsolete/HTMLTableSectionElement03.js | 0 .../obsolete/HTMLTableSectionElement04.js | 0 .../obsolete/HTMLTableSectionElement05.js | 0 .../obsolete/HTMLTableSectionElement06.js | 0 .../obsolete/HTMLTableSectionElement07.js | 0 .../obsolete/HTMLTableSectionElement08.js | 0 .../obsolete/HTMLTableSectionElement09.js | 0 .../obsolete/HTMLTableSectionElement10.js | 0 .../obsolete/HTMLTableSectionElement11.js | 0 .../obsolete/HTMLTableSectionElement12.js | 0 .../obsolete/HTMLTableSectionElement16.js | 0 .../obsolete/HTMLTableSectionElement17.js | 0 .../obsolete/HTMLTableSectionElement18.js | 0 .../obsolete/HTMLTableSectionElement19.js | 0 .../obsolete/HTMLTableSectionElement20.js | 0 .../obsolete/HTMLTableSectionElement21.js | 0 .../obsolete/HTMLTableSectionElement22.js | 0 .../obsolete/HTMLTableSectionElement23.js | 0 .../obsolete/HTMLTableSectionElement24.js | 0 .../html/obsolete/HTMLTextAreaElement01.js | 0 .../html/obsolete/HTMLTextAreaElement11.js | 0 .../html/obsolete/HTMLTextAreaElement12.js | 0 .../html/obsolete/HTMLUListElement01.js | 0 .../html/obsolete/HTMLUListElement02.js | 0 .../test/w3c/level1/html/obsolete/anchor02.js | 0 .../test/w3c/level1/html/obsolete/anchor03.js | 0 .../test/w3c/level1/html/obsolete/anchor06.js | 0 .../w3c/level1/html/obsolete/basefont01.js | 0 .../test/w3c/level1/html/obsolete/body01.js | 0 .../test/w3c/level1/html/obsolete/dlist01.js | 0 .../test/w3c/level1/html/obsolete/object02.js | 0 .../test/w3c/level1/html/obsolete/object03.js | 0 .../test/w3c/level1/html/obsolete/object04.js | 0 .../test/w3c/level1/html/obsolete/object05.js | 0 .../test/w3c/level1/html/obsolete/object09.js | 0 .../test/w3c/level1/html/obsolete/object15.js | 0 .../test/w3c/level1/html/obsolete/table02.js | 0 .../test/w3c/level1/html/obsolete/table03.js | 0 .../test/w3c/level1/html/obsolete/table04.js | 0 .../test/w3c/level1/html/obsolete/table06.js | 0 .../test/w3c/level1/html/obsolete/table07.js | 0 .../test/w3c/level1/html/obsolete/table08.js | 0 .../test/w3c/level1/html/obsolete/table09.js | 0 .../test/w3c/level1/html/obsolete/table10.js | 0 .../test/w3c/level1/html/obsolete/table12.js | 0 .../test/w3c/level1/html/obsolete/table15.js | 0 .../test/w3c/level1/html/obsolete/table17.js | 0 .../test/w3c/level1/html/obsolete/table18.js | 0 .../test/w3c/level1/html/obsolete/table19.js | 0 .../test/w3c/level1/html/obsolete/table20.js | 0 .../test/w3c/level1/html/obsolete/table21.js | 0 .../test/w3c/level1/html/obsolete/table22.js | 0 .../test/w3c/level1/html/obsolete/table23.js | 0 .../test/w3c/level1/html/obsolete/table24.js | 0 .../test/w3c/level1/html/obsolete/table26.js | 0 .../test/w3c/level1/html/obsolete/table27.js | 0 .../test/w3c/level1/html/obsolete/table29.js | 0 .../test/w3c/level1/html/obsolete/table30.js | 0 .../test/w3c/level1/html/obsolete/table31.js | 0 .../test/w3c/level1/html/obsolete/table32.js | 0 .../test/w3c/level1/html/obsolete/table33.js | 0 .../test/w3c/level1/html/obsolete/table35.js | 0 .../test/w3c/level1/html/obsolete/table36.js | 0 .../test/w3c/level1/html/obsolete/table37.js | 0 .../test/w3c/level1/html/obsolete/table38.js | 0 .../test/w3c/level1/html/obsolete/table39.js | 0 .../test/w3c/level1/html/obsolete/table40.js | 0 .../test/w3c/level1/html/obsolete/table41.js | 0 .../test/w3c/level1/html/obsolete/table42.js | 0 .../test/w3c/level1/html/obsolete/table43.js | 0 .../test/w3c/level1/html/obsolete/table44.js | 0 .../test/w3c/level1/html/obsolete/table45.js | 0 .../test/w3c/level1/html/obsolete/table46.js | 0 .../test/w3c/level1/html/obsolete/table47.js | 0 .../test/w3c/level1/html/obsolete/table48.js | 0 .../test/w3c/level1/html/obsolete/table49.js | 0 .../test/w3c/level1/html/obsolete/table50.js | 0 .../test/w3c/level1/html/obsolete/table52.js | 0 .../test/w3c/level1/html/obsolete/table53.js | 0 .../domino/test/w3c/level1/html/table01.js | 0 .../domino/test/w3c/level1/html/table25.js | 0 .../domino/test/w3c/level1/html/table28.js | 0 .../domino/test/w3c/level1/html/table34.js | 0 .../domino/test/w3c/level1/html/table51.js | 0 .../node_modules/tassembly/package.json | 17 + .../node_modules/tassembly/tassembly.js | 274 +- .../node_modules/KOTASM/package.json | 16 + .../KOTASM}/testKnockoutCompiler.js | 35 +- knockoff-node/node_modules/knockoff/.jshintrc | 33 + .../node_modules/knockoff/DOMCompiler.js | 192 + .../node_modules/knockoff/KnockoutCompiler.js | 132 + .../knockoff/KnockoutExpression.js | 123 + knockoff-node/node_modules/knockoff/README.md | 4 + .../node_modules/knockoff/knockoff.js | 34 + .../knockoff/node_modules/tassembly/.jshintrc | 33 + .../knockoff/node_modules/tassembly/README.md | 32 + .../tassembly/node_modules/domino/.npmignore | 4 + .../tassembly/node_modules/domino/.travis.yml | 6 + .../tassembly/node_modules/domino/LICENSE | 25 + .../tassembly/node_modules/domino/README.md | 59 + .../domino/lib/CSSStyleDeclaration.js | 264 + .../node_modules/domino/lib/CharacterData.js | 116 + .../node_modules/domino/lib/Comment.js | 32 + .../node_modules/domino/lib/CustomEvent.js | 11 + .../node_modules/domino/lib/DOMException.js | 133 + .../domino/lib/DOMImplementation.js | 85 + .../node_modules/domino/lib/DOMTokenList.js | 88 + .../node_modules/domino/lib/Document.js | 727 ++ .../domino/lib/DocumentFragment.js | 55 + .../node_modules/domino/lib/DocumentType.js | 34 + .../node_modules/domino/lib/Element.js | 900 ++ .../node_modules/domino/lib/Event.js | 65 + .../node_modules/domino/lib/EventTarget.js | 296 + .../domino/lib/FilteredElementList.js | 85 + .../node_modules/domino/lib/HTMLParser.js | 7000 ++++++++++++ .../tassembly/node_modules/domino/lib/Leaf.js | 24 + .../node_modules/domino/lib/Location.js | 58 + .../node_modules/domino/lib/MouseEvent.js | 51 + .../domino/lib/MutationConstants.js | 8 + .../tassembly/node_modules/domino/lib/Node.js | 641 ++ .../node_modules/domino/lib/NodeFilter.js | 23 + .../node_modules/domino/lib/NodeList.js | 11 + .../domino/lib/ProcessingInstruction.js | 35 + .../tassembly/node_modules/domino/lib/Text.js | 61 + .../node_modules/domino/lib/TreeWalker.js | 311 + .../node_modules/domino/lib/UIEvent.js | 18 + .../tassembly/node_modules/domino/lib/URL.js | 166 + .../domino/lib/URLDecompositionAttributes.js | 163 + .../node_modules/domino/lib/Window.js | 70 + .../node_modules/domino/lib/attributes.js | 112 + .../node_modules/domino/lib/cssparser.js | 5644 ++++++++++ .../node_modules/domino/lib/events.js | 6 + .../node_modules/domino/lib/htmlelts.js | 1109 ++ .../tassembly/node_modules/domino/lib/impl.js | 23 + .../node_modules/domino/lib/index.js | 23 + .../node_modules/domino/lib/select.js | 842 ++ .../node_modules/domino/lib/utils.js | 66 + .../node_modules/domino/lib/xmlnames.js | 90 + .../node_modules/domino/package.json | 30 + .../node_modules/domino/test/domino.js | 307 + .../node_modules/domino/test/fixture/doc.html | 13 + .../domino/test/fixture/jquery-1.9.1.js | 9597 +++++++++++++++++ .../node_modules/domino/test/htmlwg/README.md | 3 + .../domino/test/htmlwg/harness/index.js | 45 + .../domino/test/htmlwg/harness/testharness.js | 1739 +++ .../node_modules/domino/test/htmlwg/index.js | 2 + ...ument.getElementsByTagName-foreign-01.html | 144 + ...ument.getElementsByTagName-foreign-02.html | 25 + ...ement.getElementsByTagName-foreign-01.html | 26 + ...ement.getElementsByTagName-foreign-02.html | 30 + .../browsing-the-web/load-text-plain.html | 30 + ...ent.getElementsByClassName-null-undef.html | 31 + ...ent.getElementsByClassName-null-undef.html | 31 + ...document.body-getter-foreign-frameset.html | 17 + ...ocument.body-getter-frameset-and-body.html | 18 + .../document.body-setter-01.html | 17 + .../document.embeds-document.plugins-01.html | 24 + .../document.getElementsByClassName-same.html | 18 + .../document.getElementsByName-case.html | 17 + .../document.getElementsByName-case.xhtml | 22 + .../document.getElementsByName-id.html | 16 + .../document.getElementsByName-id.xhtml | 21 + .../document.getElementsByName-namespace.html | 28 + ...document.getElementsByName-namespace.xhtml | 33 + ...ocument.getElementsByName-newelements.html | 122 + ...cument.getElementsByName-newelements.xhtml | 127 + ...document.getElementsByName-null-undef.html | 23 + ...ocument.getElementsByName-null-undef.xhtml | 29 + .../document.getElementsByName-param.html | 24 + .../document.getElementsByName-param.xhtml | 29 + .../document.getElementsByName-same.html | 18 + .../dom-tree-accessors/document.head-01.html | 23 + .../dom-tree-accessors/document.head-02.html | 21 + .../dom-tree-accessors/document.title-01.html | 33 + .../document.title-02.xhtml | 38 + .../dom-tree-accessors/document.title-03.html | 44 + .../document.title-04.xhtml | 49 + .../dom-tree-accessors/document.title-05.html | 41 + .../dom-tree-accessors/document.title-06.html | 24 + .../dom-tree-accessors/document.title-07.html | 21 + .../dom-tree-accessors/nameditem-01.html | 19 + .../document.close-01.xhtml | 19 + .../document.open-01.xhtml | 19 + .../document.open-02.html | 17 + .../document.write-01.xhtml | 19 + .../document.write-02.html | 27 + .../document.writeln-01.xhtml | 19 + .../document.writeln-02.html | 27 + .../elements-in-the-dom/unknown-element.html | 16 + .../events/event-handler-spec-example.html | 31 + .../submission/Ms2ger/general/interfaces.html | 163 + .../classlist-nonstring.html | 44 + .../Ms2ger/global-attributes/dataset.html | 28 + .../global-attributes/document-dir.html | 25 + .../Ms2ger/global-attributes/id-name.html | 18 + .../lang-xmllang-01-ref.html | 20 + .../global-attributes/lang-xmllang-01.html | 57 + .../global-attributes/lang-xyzzy-ref.html | 9 + .../Ms2ger/global-attributes/lang-xyzzy.html | 11 + .../global-attributes/style-01-ref.html | 24 + .../Ms2ger/global-attributes/style-01.html | 25 + .../document-color-01.html | 18 + .../document-color-02.html | 47 + .../document-color-03.html | 47 + .../document-color-04.html | 47 + .../document.all-01.html | 22 + .../document.all-02.html | 13 + .../document.all-03.html | 13 + .../document.all-04.html | 19 + .../document.all-05.html | 23 + .../heading-obsolete-attributes-01.html | 16 + .../script-IDL-event-htmlfor.html | 57 + .../submission/Ms2ger/parsing/comment.dat | 10 + .../document-compatmode-01.html | 13 + .../document-compatmode-02.html | 14 + .../document-compatmode-03.html | 12 + .../document-compatmode-04.xhtml | 18 + .../document-compatmode-05.xhtml | 19 + .../document-compatmode-06.xhtml | 17 + .../Ms2ger/support/css/200-textplain.cgi | 5 + .../Ms2ger/support/css/404-textcss.cgi | 6 + .../Ms2ger/support/text/200-textplain.cgi | 5 + .../the-link-element/link-rellist.html | 23 + .../the-link-element/link-style-error-01.html | 32 + .../the-style-element/style-error-01.html | 32 + .../the-title-element/title.text-01.html | 25 + .../the-title-element/title.text-02.xhtml | 30 + .../the-title-element/title.text-03.html | 95 + .../the-title-element/title.text-04.xhtml | 100 + .../the-video-element/video-tabindex.html | 18 + .../form-elements-interfaces-01.html | 20 + .../form-elements-matches.html | 28 + .../form-elements-nameditem-01.html | 43 + .../form-elements-nameditem-02.html | 28 + .../input-textselection-01.html | 42 + .../the-textarea-element/textarea-type.html | 16 + .../wrap-reflect-1-ref.html | 5 + .../the-textarea-element/wrap-reflect-1a.html | 8 + .../the-textarea-element/wrap-reflect-1b.html | 8 + .../script-language-type.html | 18 + .../script-languages-01.html | 24 + .../script-languages-02.html | 65 + .../script-noembed-noframes-iframe.xhtml | 36 + .../insertRow-method-01.html | 24 + .../insertRow-method-02.html | 34 + .../the-a-element/a.text-getter-01.html | 33 + .../the-a-element/a.text-setter-01.html | 41 + .../the-hidden-attribute/hidden-1-ref.html | 5 + .../the-hidden-attribute/hidden-1a.html | 6 + .../the-hidden-attribute/hidden-1b.html | 9 + .../the-hidden-attribute/hidden-1c.html | 10 + .../the-hidden-attribute/hidden-1d.html | 10 + .../the-hidden-attribute/hidden-2-ref.svg | 9 + .../Ms2ger/the-hidden-attribute/hidden-2.svg | 9 + .../node_modules/domino/test/index.js | 3 + .../node_modules/domino/test/mocha.opts | 6 + .../node_modules/domino/test/w3c/README.md | 13 + .../domino/test/w3c/harness/DomTestCase.js | 438 + .../domino/test/w3c/harness/index.js | 86 + .../node_modules/domino/test/w3c/index.js | 12 + .../level1/core/documentgetdoctypenodtd.js | 110 + ...cumentinvalidcharacterexceptioncreatepi.js | 143 + ...umentinvalidcharacterexceptioncreatepi1.js | 140 + .../test/w3c/level1/core/files/.cvsignore | 0 .../w3c/level1/core/files/hc_nodtdstaff.html | 10 + .../test/w3c/level1/core/files/hc_staff.html | 48 + .../test/w3c/level1/core/files/staff.dtd | 17 + .../level1/core/hc_characterdataappenddata.js | 124 + .../core/hc_characterdataappenddatagetdata.js | 123 + .../hc_characterdatadeletedatabegining.js | 122 + .../core/hc_characterdatadeletedataend.js | 123 + ...hc_characterdatadeletedataexceedslength.js | 125 + ...characterdatadeletedatagetlengthanddata.js | 132 + .../core/hc_characterdatadeletedatamiddle.js | 123 + .../level1/core/hc_characterdatagetdata.js | 124 + .../level1/core/hc_characterdatagetlength.js | 119 + ...dataindexsizeerrdeletedatacountnegative.js | 130 + ...dataindexsizeerrdeletedataoffsetgreater.js | 131 + ...ataindexsizeerrdeletedataoffsetnegative.js | 130 + ...dataindexsizeerrinsertdataoffsetgreater.js | 130 + ...ataindexsizeerrinsertdataoffsetnegative.js | 129 + ...ataindexsizeerrreplacedatacountnegative.js | 131 + ...ataindexsizeerrreplacedataoffsetgreater.js | 131 + ...taindexsizeerrreplacedataoffsetnegative.js | 131 + ...rdataindexsizeerrsubstringcountnegative.js | 130 + ...dataindexsizeerrsubstringnegativeoffset.js | 130 + ...rdataindexsizeerrsubstringoffsetgreater.js | 131 + .../hc_characterdatainsertdatabeginning.js | 122 + .../core/hc_characterdatainsertdataend.js | 123 + .../core/hc_characterdatainsertdatamiddle.js | 123 + .../hc_characterdatareplacedatabegining.js | 122 + .../core/hc_characterdatareplacedataend.js | 123 + ...racterdatareplacedataexceedslengthofarg.js | 124 + ...acterdatareplacedataexceedslengthofdata.js | 122 + .../core/hc_characterdatareplacedatamiddle.js | 123 + .../core/hc_characterdatasetnodevalue.js | 122 + .../hc_characterdatasubstringexceedsvalue.js | 120 + .../core/hc_characterdatasubstringvalue.js | 119 + .../w3c/level1/core/hc_commentgetcomment.js | 144 + .../level1/core/hc_documentcreatecomment.js | 120 + .../core/hc_documentcreatedocumentfragment.js | 126 + .../level1/core/hc_documentcreateelement.js | 121 + .../hc_documentcreateelementcasesensitive.js | 132 + .../level1/core/hc_documentcreatetextnode.js | 120 + .../w3c/level1/core/hc_documentgetdoctype.js | 149 + .../hc_documentgetelementsbytagnamelength.js | 110 + ...documentgetelementsbytagnametotallength.js | 221 + .../hc_documentgetelementsbytagnamevalue.js | 120 + .../core/hc_documentgetimplementation.js | 126 + .../w3c/level1/core/hc_documentgetrootnode.js | 123 + ...tinvalidcharacterexceptioncreateelement.js | 124 + ...invalidcharacterexceptioncreateelement1.js | 117 + .../hc_domimplementationfeaturenoversion.js | 126 + .../core/hc_domimplementationfeaturenull.js | 129 + .../core/hc_domimplementationfeaturexml.js | 125 + .../level1/core/hc_elementaddnewattribute.js | 117 + .../core/hc_elementchangeattributevalue.js | 119 + .../core/hc_elementgetelementsbytagname.js | 112 + ...ementgetelementsbytagnameaccessnodelist.js | 144 + .../hc_elementgetelementsbytagnamenomatch.js | 110 + ...elementgetelementsbytagnamespecialvalue.js | 134 + .../w3c/level1/core/hc_elementgettagname.js | 123 + .../hc_elementinvalidcharacterexception.js | 125 + .../hc_elementinvalidcharacterexception1.js | 119 + .../w3c/level1/core/hc_elementnormalize.js | 126 + .../level1/core/hc_elementremoveattribute.js | 113 + .../core/hc_elementretrieveallattributes.js | 144 + .../core/hc_elementretrieveattrvalue.js | 113 + .../level1/core/hc_elementretrievetagname.js | 118 + .../core/hc_entitiesremovenameditem1.js | 133 + .../level1/core/hc_entitiessetnameditem1.js | 144 + .../core/hc_namednodemapchildnoderange.js | 141 + .../core/hc_namednodemapnumberofnodes.js | 127 + .../w3c/level1/core/hc_nodeappendchild.js | 123 + .../core/hc_nodeappendchildchildexists.js | 160 + .../core/hc_nodeappendchilddocfragment.js | 158 + .../core/hc_nodeappendchildgetnodename.js | 123 + .../hc_nodeappendchildnewchilddiffdocument.js | 144 + .../core/hc_nodeappendchildnodeancestor.js | 132 + .../core/hc_nodeattributenodeattribute.js | 120 + .../test/w3c/level1/core/hc_nodechildnodes.js | 149 + .../core/hc_nodechildnodesappendchild.js | 159 + .../w3c/level1/core/hc_nodechildnodesempty.js | 123 + .../core/hc_nodecloneattributescopied.js | 149 + .../core/hc_nodeclonefalsenocopytext.js | 122 + .../level1/core/hc_nodeclonegetparentnull.js | 117 + .../w3c/level1/core/hc_nodeclonenodefalse.js | 126 + .../w3c/level1/core/hc_nodeclonenodetrue.js | 145 + .../level1/core/hc_nodeclonetruecopytext.js | 121 + .../core/hc_nodecommentnodeattributes.js | 135 + .../w3c/level1/core/hc_nodecommentnodename.js | 134 + .../w3c/level1/core/hc_nodecommentnodetype.js | 133 + .../level1/core/hc_nodecommentnodevalue.js | 133 + .../core/hc_nodedocumentfragmentnodename.js | 114 + .../core/hc_nodedocumentfragmentnodetype.js | 114 + .../core/hc_nodedocumentfragmentnodevalue.js | 120 + .../core/hc_nodedocumentnodeattribute.js | 111 + .../level1/core/hc_nodedocumentnodename.js | 111 + .../level1/core/hc_nodedocumentnodetype.js | 110 + .../level1/core/hc_nodedocumentnodevalue.js | 112 + .../core/hc_nodeelementnodeattributes.js | 145 + .../w3c/level1/core/hc_nodeelementnodename.js | 125 + .../w3c/level1/core/hc_nodeelementnodetype.js | 112 + .../level1/core/hc_nodeelementnodevalue.js | 109 + .../w3c/level1/core/hc_nodegetfirstchild.js | 130 + .../level1/core/hc_nodegetfirstchildnull.js | 117 + .../w3c/level1/core/hc_nodegetlastchild.js | 117 + .../level1/core/hc_nodegetlastchildnull.js | 118 + .../w3c/level1/core/hc_nodegetnextsibling.js | 117 + .../level1/core/hc_nodegetnextsiblingnull.js | 124 + .../level1/core/hc_nodegetownerdocument.js | 129 + .../core/hc_nodegetownerdocumentnull.js | 115 + .../level1/core/hc_nodegetprevioussibling.js | 117 + .../core/hc_nodegetprevioussiblingnull.js | 124 + .../w3c/level1/core/hc_nodehaschildnodes.js | 113 + .../level1/core/hc_nodehaschildnodesfalse.js | 117 + .../w3c/level1/core/hc_nodeinsertbefore.js | 153 + .../core/hc_nodeinsertbeforedocfragment.js | 141 + ...hc_nodeinsertbeforenewchilddiffdocument.js | 147 + .../core/hc_nodeinsertbeforenewchildexists.js | 151 + .../core/hc_nodeinsertbeforenodeancestor.js | 135 + .../core/hc_nodeinsertbeforenodename.js | 126 + .../hc_nodeinsertbeforerefchildnonexistent.js | 133 + .../core/hc_nodeinsertbeforerefchildnull.js | 131 + .../level1/core/hc_nodelistindexequalzero.js | 135 + .../level1/core/hc_nodelistindexgetlength.js | 129 + .../hc_nodelistindexgetlengthofemptylist.js | 122 + .../level1/core/hc_nodelistindexnotzero.js | 133 + .../level1/core/hc_nodelistreturnfirstitem.js | 129 + .../level1/core/hc_nodelistreturnlastitem.js | 133 + .../level1/core/hc_nodelisttraverselist.js | 149 + .../test/w3c/level1/core/hc_nodeparentnode.js | 117 + .../w3c/level1/core/hc_nodeparentnodenull.js | 114 + .../w3c/level1/core/hc_noderemovechild.js | 123 + .../core/hc_noderemovechildgetnodename.js | 128 + .../w3c/level1/core/hc_noderemovechildnode.js | 160 + .../hc_noderemovechildoldchildnonexistent.js | 129 + .../w3c/level1/core/hc_nodereplacechild.js | 127 + ...hc_nodereplacechildnewchilddiffdocument.js | 147 + .../core/hc_nodereplacechildnewchildexists.js | 155 + .../core/hc_nodereplacechildnodeancestor.js | 135 + .../core/hc_nodereplacechildnodename.js | 126 + .../hc_nodereplacechildoldchildnonexistent.js | 131 + .../level1/core/hc_nodetextnodeattribute.js | 118 + .../w3c/level1/core/hc_nodetextnodename.js | 113 + .../w3c/level1/core/hc_nodetextnodetype.js | 124 + .../w3c/level1/core/hc_nodetextnodevalue.js | 118 + .../test/w3c/level1/core/hc_nodevalue01.js | 114 + .../test/w3c/level1/core/hc_nodevalue02.js | 114 + .../test/w3c/level1/core/hc_nodevalue04.js | 132 + .../test/w3c/level1/core/hc_nodevalue05.js | 114 + .../test/w3c/level1/core/hc_nodevalue06.js | 112 + .../test/w3c/level1/core/hc_nodevalue07.js | 134 + .../test/w3c/level1/core/hc_nodevalue08.js | 134 + .../core/hc_notationsremovenameditem1.js | 133 + .../level1/core/hc_notationssetnameditem1.js | 144 + .../core/hc_textindexsizeerrnegativeoffset.js | 130 + .../hc_textindexsizeerroffsetoutofbounds.js | 131 + .../core/hc_textparseintolistofelements.js | 169 + .../w3c/level1/core/hc_textsplittextfour.js | 122 + .../w3c/level1/core/hc_textsplittextone.js | 126 + .../w3c/level1/core/hc_textsplittextthree.js | 124 + .../w3c/level1/core/hc_textsplittexttwo.js | 123 + .../w3c/level1/core/hc_textwithnomarkup.js | 122 + ...ntinvalidcharacterexceptioncreateentref.js | 143 + ...tinvalidcharacterexceptioncreateentref1.js | 140 + .../core/obsolete/hc_attrappendchild1.js | 132 + .../core/obsolete/hc_attrappendchild2.js | 127 + .../core/obsolete/hc_attrappendchild3.js | 138 + .../core/obsolete/hc_attrappendchild4.js | 152 + .../core/obsolete/hc_attrappendchild5.js | 141 + .../core/obsolete/hc_attrappendchild6.js | 127 + .../core/obsolete/hc_attrchildnodes1.js | 124 + .../core/obsolete/hc_attrchildnodes2.js | 130 + .../level1/core/obsolete/hc_attrclonenode1.js | 132 + .../obsolete/hc_attrcreatedocumentfragment.js | 138 + .../core/obsolete/hc_attrcreatetextnode.js | 127 + .../core/obsolete/hc_attrcreatetextnode2.js | 127 + .../core/obsolete/hc_attreffectivevalue.js | 118 + .../level1/core/obsolete/hc_attrfirstchild.js | 127 + .../level1/core/obsolete/hc_attrgetvalue1.js | 117 + .../level1/core/obsolete/hc_attrgetvalue2.js | 146 + .../core/obsolete/hc_attrhaschildnodes.js | 114 + .../core/obsolete/hc_attrinsertbefore1.js | 140 + .../core/obsolete/hc_attrinsertbefore2.js | 141 + .../core/obsolete/hc_attrinsertbefore3.js | 146 + .../core/obsolete/hc_attrinsertbefore4.js | 147 + .../core/obsolete/hc_attrinsertbefore5.js | 153 + .../core/obsolete/hc_attrinsertbefore6.js | 142 + .../core/obsolete/hc_attrinsertbefore7.js | 160 + .../level1/core/obsolete/hc_attrlastchild.js | 127 + .../w3c/level1/core/obsolete/hc_attrname.js | 123 + .../core/obsolete/hc_attrnextsiblingnull.js | 118 + .../level1/core/obsolete/hc_attrnormalize.js | 133 + .../core/obsolete/hc_attrparentnodenull.js | 118 + .../obsolete/hc_attrprevioussiblingnull.js | 118 + .../core/obsolete/hc_attrremovechild1.js | 131 + .../core/obsolete/hc_attrremovechild2.js | 126 + .../core/obsolete/hc_attrreplacechild1.js | 135 + .../core/obsolete/hc_attrreplacechild2.js | 141 + .../level1/core/obsolete/hc_attrsetvalue1.js | 135 + .../level1/core/obsolete/hc_attrsetvalue2.js | 138 + .../core/obsolete/hc_attrspecifiedvalue.js | 121 + .../obsolete/hc_attrspecifiedvaluechanged.js | 123 + .../obsolete/hc_documentcreateattribute.js | 122 + ...nvalidcharacterexceptioncreateattribute.js | 124 + ...validcharacterexceptioncreateattribute1.js | 117 + .../obsolete/hc_elementassociatedattribute.js | 119 + .../obsolete/hc_elementcreatenewattribute.js | 124 + .../obsolete/hc_elementgetattributenode.js | 114 + .../hc_elementgetattributenodenull.js | 115 + .../obsolete/hc_elementgetelementempty.js | 123 + .../obsolete/hc_elementinuseattributeerr.js | 131 + .../core/obsolete/hc_elementnormalize2.js | 129 + .../core/obsolete/hc_elementnotfounderr.js | 130 + .../hc_elementremoveattributeaftercreate.js | 124 + .../obsolete/hc_elementremoveattributenode.js | 119 + .../hc_elementreplaceattributewithself.js | 117 + .../hc_elementreplaceexistingattribute.js | 122 + ..._elementreplaceexistingattributegevalue.js | 123 + .../hc_elementsetattributenodenull.js | 120 + .../obsolete/hc_elementwrongdocumenterr.js | 147 + .../obsolete/hc_namednodemapgetnameditem.js | 121 + .../hc_namednodemapinuseattributeerr.js | 139 + .../obsolete/hc_namednodemapnotfounderr.js | 131 + .../hc_namednodemapremovenameditem.js | 124 + .../obsolete/hc_namednodemapreturnattrnode.js | 126 + .../hc_namednodemapreturnfirstitem.js | 150 + .../obsolete/hc_namednodemapreturnlastitem.js | 152 + .../obsolete/hc_namednodemapreturnnull.js | 121 + .../obsolete/hc_namednodemapsetnameditem.js | 131 + .../hc_namednodemapsetnameditemreturnvalue.js | 132 + .../hc_namednodemapsetnameditemthatexists.js | 134 + ...hc_namednodemapsetnameditemwithnewvalue.js | 126 + .../hc_namednodemapwrongdocumenterr.js | 149 + .../hc_nodeappendchildinvalidnodetype.js | 130 + .../core/obsolete/hc_nodeattributenodename.js | 115 + .../core/obsolete/hc_nodeattributenodetype.js | 123 + .../obsolete/hc_nodeattributenodevalue.js | 118 + .../hc_nodeinsertbeforeinvalidnodetype.js | 136 + .../hc_nodereplacechildinvalidnodetype.js | 136 + .../level1/core/obsolete/hc_nodevalue03.js | 138 + .../w3c/level1/html/HTMLAnchorElement01.js | 114 + .../w3c/level1/html/HTMLAnchorElement04.js | 113 + .../w3c/level1/html/HTMLAnchorElement05.js | 113 + .../w3c/level1/html/HTMLAnchorElement07.js | 113 + .../w3c/level1/html/HTMLAnchorElement10.js | 114 + .../w3c/level1/html/HTMLAnchorElement11.js | 113 + .../w3c/level1/html/HTMLAnchorElement12.js | 113 + .../w3c/level1/html/HTMLAnchorElement13.js | 107 + .../w3c/level1/html/HTMLAnchorElement14.js | 107 + .../test/w3c/level1/html/HTMLAreaElement01.js | 114 + .../test/w3c/level1/html/HTMLAreaElement02.js | 114 + .../test/w3c/level1/html/HTMLAreaElement03.js | 114 + .../test/w3c/level1/html/HTMLAreaElement04.js | 113 + .../test/w3c/level1/html/HTMLAreaElement05.js | 113 + .../test/w3c/level1/html/HTMLAreaElement06.js | 113 + .../test/w3c/level1/html/HTMLAreaElement07.js | 114 + .../test/w3c/level1/html/HTMLAreaElement08.js | 113 + .../w3c/level1/html/HTMLButtonElement01.js | 116 + .../w3c/level1/html/HTMLButtonElement02.js | 114 + .../w3c/level1/html/HTMLButtonElement03.js | 114 + .../w3c/level1/html/HTMLButtonElement04.js | 114 + .../w3c/level1/html/HTMLButtonElement05.js | 114 + .../w3c/level1/html/HTMLButtonElement06.js | 114 + .../w3c/level1/html/HTMLButtonElement07.js | 113 + .../w3c/level1/html/HTMLButtonElement08.js | 113 + .../test/w3c/level1/html/HTMLDocument01.js | 109 + .../test/w3c/level1/html/HTMLDocument05.js | 114 + .../test/w3c/level1/html/HTMLDocument15.js | 115 + .../test/w3c/level1/html/HTMLDocument16.js | 114 + .../test/w3c/level1/html/HTMLDocument17.js | 119 + .../test/w3c/level1/html/HTMLDocument18.js | 102 + .../test/w3c/level1/html/HTMLDocument19.js | 129 + .../test/w3c/level1/html/HTMLDocument20.js | 129 + .../test/w3c/level1/html/HTMLDocument21.js | 138 + .../test/w3c/level1/html/HTMLElement01.js | 113 + .../test/w3c/level1/html/HTMLElement02.js | 113 + .../test/w3c/level1/html/HTMLElement03.js | 113 + .../test/w3c/level1/html/HTMLElement04.js | 113 + .../test/w3c/level1/html/HTMLElement05.js | 113 + .../test/w3c/level1/html/HTMLElement06.js | 113 + .../test/w3c/level1/html/HTMLElement07.js | 113 + .../test/w3c/level1/html/HTMLElement08.js | 113 + .../test/w3c/level1/html/HTMLElement09.js | 113 + .../test/w3c/level1/html/HTMLElement10.js | 113 + .../test/w3c/level1/html/HTMLElement100.js | 113 + .../test/w3c/level1/html/HTMLElement101.js | 113 + .../test/w3c/level1/html/HTMLElement102.js | 113 + .../test/w3c/level1/html/HTMLElement103.js | 113 + .../test/w3c/level1/html/HTMLElement104.js | 113 + .../test/w3c/level1/html/HTMLElement105.js | 113 + .../test/w3c/level1/html/HTMLElement106.js | 113 + .../test/w3c/level1/html/HTMLElement107.js | 113 + .../test/w3c/level1/html/HTMLElement108.js | 113 + .../test/w3c/level1/html/HTMLElement109.js | 113 + .../test/w3c/level1/html/HTMLElement11.js | 113 + .../test/w3c/level1/html/HTMLElement110.js | 113 + .../test/w3c/level1/html/HTMLElement111.js | 113 + .../test/w3c/level1/html/HTMLElement112.js | 113 + .../test/w3c/level1/html/HTMLElement113.js | 113 + .../test/w3c/level1/html/HTMLElement114.js | 113 + .../test/w3c/level1/html/HTMLElement115.js | 113 + .../test/w3c/level1/html/HTMLElement116.js | 113 + .../test/w3c/level1/html/HTMLElement117.js | 113 + .../test/w3c/level1/html/HTMLElement118.js | 113 + .../test/w3c/level1/html/HTMLElement119.js | 113 + .../test/w3c/level1/html/HTMLElement12.js | 113 + .../test/w3c/level1/html/HTMLElement120.js | 113 + .../test/w3c/level1/html/HTMLElement121.js | 113 + .../test/w3c/level1/html/HTMLElement122.js | 113 + .../test/w3c/level1/html/HTMLElement123.js | 113 + .../test/w3c/level1/html/HTMLElement124.js | 113 + .../test/w3c/level1/html/HTMLElement125.js | 113 + .../test/w3c/level1/html/HTMLElement126.js | 113 + .../test/w3c/level1/html/HTMLElement127.js | 113 + .../test/w3c/level1/html/HTMLElement128.js | 113 + .../test/w3c/level1/html/HTMLElement129.js | 113 + .../test/w3c/level1/html/HTMLElement13.js | 113 + .../test/w3c/level1/html/HTMLElement130.js | 113 + .../test/w3c/level1/html/HTMLElement131.js | 113 + .../test/w3c/level1/html/HTMLElement132.js | 113 + .../test/w3c/level1/html/HTMLElement133.js | 113 + .../test/w3c/level1/html/HTMLElement134.js | 113 + .../test/w3c/level1/html/HTMLElement135.js | 113 + .../test/w3c/level1/html/HTMLElement136.js | 113 + .../test/w3c/level1/html/HTMLElement137.js | 113 + .../test/w3c/level1/html/HTMLElement138.js | 113 + .../test/w3c/level1/html/HTMLElement139.js | 113 + .../test/w3c/level1/html/HTMLElement14.js | 113 + .../test/w3c/level1/html/HTMLElement140.js | 113 + .../test/w3c/level1/html/HTMLElement141.js | 113 + .../test/w3c/level1/html/HTMLElement142.js | 113 + .../test/w3c/level1/html/HTMLElement143.js | 113 + .../test/w3c/level1/html/HTMLElement144.js | 113 + .../test/w3c/level1/html/HTMLElement145.js | 113 + .../test/w3c/level1/html/HTMLElement15.js | 113 + .../test/w3c/level1/html/HTMLElement16.js | 113 + .../test/w3c/level1/html/HTMLElement17.js | 113 + .../test/w3c/level1/html/HTMLElement18.js | 113 + .../test/w3c/level1/html/HTMLElement19.js | 113 + .../test/w3c/level1/html/HTMLElement20.js | 113 + .../test/w3c/level1/html/HTMLElement21.js | 113 + .../test/w3c/level1/html/HTMLElement22.js | 113 + .../test/w3c/level1/html/HTMLElement23.js | 113 + .../test/w3c/level1/html/HTMLElement24.js | 113 + .../test/w3c/level1/html/HTMLElement25.js | 113 + .../test/w3c/level1/html/HTMLElement26.js | 113 + .../test/w3c/level1/html/HTMLElement27.js | 113 + .../test/w3c/level1/html/HTMLElement28.js | 113 + .../test/w3c/level1/html/HTMLElement29.js | 113 + .../test/w3c/level1/html/HTMLElement30.js | 113 + .../test/w3c/level1/html/HTMLElement31.js | 113 + .../test/w3c/level1/html/HTMLElement32.js | 113 + .../test/w3c/level1/html/HTMLElement33.js | 113 + .../test/w3c/level1/html/HTMLElement34.js | 113 + .../test/w3c/level1/html/HTMLElement35.js | 113 + .../test/w3c/level1/html/HTMLElement36.js | 113 + .../test/w3c/level1/html/HTMLElement37.js | 113 + .../test/w3c/level1/html/HTMLElement38.js | 113 + .../test/w3c/level1/html/HTMLElement39.js | 113 + .../test/w3c/level1/html/HTMLElement40.js | 113 + .../test/w3c/level1/html/HTMLElement41.js | 113 + .../test/w3c/level1/html/HTMLElement42.js | 113 + .../test/w3c/level1/html/HTMLElement43.js | 113 + .../test/w3c/level1/html/HTMLElement44.js | 113 + .../test/w3c/level1/html/HTMLElement45.js | 113 + .../test/w3c/level1/html/HTMLElement46.js | 113 + .../test/w3c/level1/html/HTMLElement47.js | 113 + .../test/w3c/level1/html/HTMLElement48.js | 113 + .../test/w3c/level1/html/HTMLElement49.js | 113 + .../test/w3c/level1/html/HTMLElement50.js | 113 + .../test/w3c/level1/html/HTMLElement51.js | 113 + .../test/w3c/level1/html/HTMLElement52.js | 113 + .../test/w3c/level1/html/HTMLElement53.js | 113 + .../test/w3c/level1/html/HTMLElement54.js | 113 + .../test/w3c/level1/html/HTMLElement55.js | 113 + .../test/w3c/level1/html/HTMLElement56.js | 113 + .../test/w3c/level1/html/HTMLElement57.js | 113 + .../test/w3c/level1/html/HTMLElement58.js | 113 + .../test/w3c/level1/html/HTMLElement59.js | 113 + .../test/w3c/level1/html/HTMLElement60.js | 113 + .../test/w3c/level1/html/HTMLElement61.js | 113 + .../test/w3c/level1/html/HTMLElement62.js | 113 + .../test/w3c/level1/html/HTMLElement63.js | 113 + .../test/w3c/level1/html/HTMLElement64.js | 113 + .../test/w3c/level1/html/HTMLElement65.js | 113 + .../test/w3c/level1/html/HTMLElement66.js | 113 + .../test/w3c/level1/html/HTMLElement67.js | 113 + .../test/w3c/level1/html/HTMLElement68.js | 113 + .../test/w3c/level1/html/HTMLElement69.js | 113 + .../test/w3c/level1/html/HTMLElement70.js | 113 + .../test/w3c/level1/html/HTMLElement71.js | 113 + .../test/w3c/level1/html/HTMLElement72.js | 113 + .../test/w3c/level1/html/HTMLElement73.js | 113 + .../test/w3c/level1/html/HTMLElement74.js | 113 + .../test/w3c/level1/html/HTMLElement75.js | 113 + .../test/w3c/level1/html/HTMLElement76.js | 113 + .../test/w3c/level1/html/HTMLElement77.js | 113 + .../test/w3c/level1/html/HTMLElement78.js | 113 + .../test/w3c/level1/html/HTMLElement79.js | 113 + .../test/w3c/level1/html/HTMLElement80.js | 113 + .../test/w3c/level1/html/HTMLElement81.js | 113 + .../test/w3c/level1/html/HTMLElement82.js | 113 + .../test/w3c/level1/html/HTMLElement83.js | 113 + .../test/w3c/level1/html/HTMLElement84.js | 113 + .../test/w3c/level1/html/HTMLElement85.js | 113 + .../test/w3c/level1/html/HTMLElement86.js | 113 + .../test/w3c/level1/html/HTMLElement87.js | 113 + .../test/w3c/level1/html/HTMLElement88.js | 113 + .../test/w3c/level1/html/HTMLElement89.js | 113 + .../test/w3c/level1/html/HTMLElement90.js | 113 + .../test/w3c/level1/html/HTMLElement91.js | 113 + .../test/w3c/level1/html/HTMLElement92.js | 113 + .../test/w3c/level1/html/HTMLElement93.js | 113 + .../test/w3c/level1/html/HTMLElement94.js | 113 + .../test/w3c/level1/html/HTMLElement95.js | 113 + .../test/w3c/level1/html/HTMLElement96.js | 113 + .../test/w3c/level1/html/HTMLElement97.js | 113 + .../test/w3c/level1/html/HTMLElement98.js | 113 + .../test/w3c/level1/html/HTMLElement99.js | 113 + .../w3c/level1/html/HTMLFieldSetElement01.js | 116 + .../w3c/level1/html/HTMLFieldSetElement02.js | 114 + .../test/w3c/level1/html/HTMLFormElement03.js | 113 + .../test/w3c/level1/html/HTMLFormElement04.js | 114 + .../test/w3c/level1/html/HTMLFormElement05.js | 113 + .../test/w3c/level1/html/HTMLFormElement06.js | 113 + .../test/w3c/level1/html/HTMLFormElement07.js | 113 + .../test/w3c/level1/html/HTMLFormElement08.js | 113 + .../w3c/level1/html/HTMLIFrameElement03.js | 114 + .../w3c/level1/html/HTMLIFrameElement07.js | 115 + .../w3c/level1/html/HTMLIFrameElement09.js | 114 + .../w3c/level1/html/HTMLIFrameElement10.js | 114 + .../w3c/level1/html/HTMLImageElement05.js | 125 + .../w3c/level1/html/HTMLImageElement06.js | 128 + .../w3c/level1/html/HTMLImageElement07.js | 113 + .../w3c/level1/html/HTMLImageElement09.js | 113 + .../w3c/level1/html/HTMLImageElement11.js | 128 + .../w3c/level1/html/HTMLImageElement12.js | 127 + .../w3c/level1/html/HTMLInputElement01.js | 115 + .../w3c/level1/html/HTMLInputElement02.js | 115 + .../w3c/level1/html/HTMLInputElement03.js | 116 + .../w3c/level1/html/HTMLInputElement04.js | 115 + .../w3c/level1/html/HTMLInputElement05.js | 115 + .../w3c/level1/html/HTMLInputElement07.js | 115 + .../w3c/level1/html/HTMLInputElement08.js | 115 + .../w3c/level1/html/HTMLInputElement09.js | 114 + .../w3c/level1/html/HTMLInputElement10.js | 115 + .../w3c/level1/html/HTMLInputElement11.js | 115 + .../w3c/level1/html/HTMLInputElement12.js | 115 + .../w3c/level1/html/HTMLInputElement13.js | 130 + .../w3c/level1/html/HTMLInputElement14.js | 115 + .../w3c/level1/html/HTMLInputElement15.js | 115 + .../w3c/level1/html/HTMLInputElement16.js | 114 + .../w3c/level1/html/HTMLInputElement18.js | 115 + .../w3c/level1/html/HTMLInputElement21.js | 114 + .../test/w3c/level1/html/HTMLLIElement02.js | 113 + .../w3c/level1/html/HTMLLabelElement01.js | 116 + .../w3c/level1/html/HTMLLabelElement02.js | 114 + .../w3c/level1/html/HTMLLabelElement03.js | 114 + .../w3c/level1/html/HTMLLabelElement04.js | 115 + .../test/w3c/level1/html/HTMLLinkElement01.js | 113 + .../test/w3c/level1/html/HTMLLinkElement03.js | 113 + .../test/w3c/level1/html/HTMLLinkElement04.js | 113 + .../test/w3c/level1/html/HTMLLinkElement05.js | 113 + .../test/w3c/level1/html/HTMLLinkElement06.js | 113 + .../test/w3c/level1/html/HTMLLinkElement08.js | 113 + .../test/w3c/level1/html/HTMLMapElement02.js | 113 + .../test/w3c/level1/html/HTMLMetaElement01.js | 113 + .../test/w3c/level1/html/HTMLMetaElement02.js | 113 + .../test/w3c/level1/html/HTMLMetaElement03.js | 113 + .../test/w3c/level1/html/HTMLMetaElement04.js | 113 + .../test/w3c/level1/html/HTMLModElement01.js | 114 + .../test/w3c/level1/html/HTMLModElement02.js | 113 + .../test/w3c/level1/html/HTMLModElement03.js | 114 + .../test/w3c/level1/html/HTMLModElement04.js | 113 + .../w3c/level1/html/HTMLOListElement02.js | 113 + .../w3c/level1/html/HTMLOListElement03.js | 113 + .../w3c/level1/html/HTMLObjectElement01.js | 116 + .../w3c/level1/html/HTMLObjectElement08.js | 114 + .../w3c/level1/html/HTMLObjectElement10.js | 115 + .../w3c/level1/html/HTMLObjectElement11.js | 129 + .../w3c/level1/html/HTMLObjectElement13.js | 115 + .../w3c/level1/html/HTMLObjectElement14.js | 115 + .../w3c/level1/html/HTMLObjectElement15.js | 114 + .../w3c/level1/html/HTMLObjectElement16.js | 129 + .../w3c/level1/html/HTMLObjectElement17.js | 114 + .../w3c/level1/html/HTMLObjectElement18.js | 115 + .../w3c/level1/html/HTMLObjectElement19.js | 114 + .../w3c/level1/html/HTMLOptGroupElement01.js | 114 + .../w3c/level1/html/HTMLOptGroupElement02.js | 113 + .../w3c/level1/html/HTMLOptionElement01.js | 117 + .../w3c/level1/html/HTMLOptionElement02.js | 115 + .../w3c/level1/html/HTMLOptionElement03.js | 115 + .../w3c/level1/html/HTMLOptionElement06.js | 115 + .../w3c/level1/html/HTMLOptionElement07.js | 115 + .../w3c/level1/html/HTMLOptionElement08.js | 115 + .../w3c/level1/html/HTMLParamElement02.js | 113 + .../w3c/level1/html/HTMLQuoteElement01.js | 114 + .../w3c/level1/html/HTMLQuoteElement02.js | 115 + .../w3c/level1/html/HTMLScriptElement01.js | 113 + .../w3c/level1/html/HTMLScriptElement02.js | 114 + .../w3c/level1/html/HTMLScriptElement03.js | 114 + .../w3c/level1/html/HTMLScriptElement04.js | 113 + .../w3c/level1/html/HTMLScriptElement05.js | 113 + .../w3c/level1/html/HTMLScriptElement06.js | 109 + .../w3c/level1/html/HTMLScriptElement07.js | 109 + .../w3c/level1/html/HTMLSelectElement03.js | 118 + .../w3c/level1/html/HTMLSelectElement06.js | 117 + .../w3c/level1/html/HTMLSelectElement07.js | 115 + .../w3c/level1/html/HTMLSelectElement08.js | 134 + .../w3c/level1/html/HTMLSelectElement09.js | 115 + .../w3c/level1/html/HTMLSelectElement10.js | 115 + .../w3c/level1/html/HTMLSelectElement11.js | 115 + .../w3c/level1/html/HTMLSelectElement12.js | 114 + .../w3c/level1/html/HTMLSelectElement13.js | 115 + .../w3c/level1/html/HTMLStyleElement01.js | 113 + .../w3c/level1/html/HTMLStyleElement02.js | 113 + .../w3c/level1/html/HTMLStyleElement03.js | 113 + .../w3c/level1/html/HTMLTableCellElement15.js | 115 + .../w3c/level1/html/HTMLTableCellElement16.js | 115 + .../w3c/level1/html/HTMLTableCellElement23.js | 115 + .../w3c/level1/html/HTMLTableCellElement24.js | 115 + .../w3c/level1/html/HTMLTableCellElement25.js | 114 + .../w3c/level1/html/HTMLTableColElement07.js | 115 + .../w3c/level1/html/HTMLTableColElement08.js | 115 + .../w3c/level1/html/HTMLTableElement02.js | 115 + .../w3c/level1/html/HTMLTableElement04.js | 115 + .../w3c/level1/html/HTMLTableElement06.js | 115 + .../w3c/level1/html/HTMLTableElement07.js | 132 + .../w3c/level1/html/HTMLTableElement12.js | 114 + .../w3c/level1/html/HTMLTableRowElement05.js | 117 + .../level1/html/HTMLTableSectionElement13.js | 117 + .../level1/html/HTMLTableSectionElement14.js | 117 + .../level1/html/HTMLTableSectionElement15.js | 117 + .../w3c/level1/html/HTMLTextAreaElement02.js | 117 + .../w3c/level1/html/HTMLTextAreaElement03.js | 115 + .../w3c/level1/html/HTMLTextAreaElement04.js | 115 + .../w3c/level1/html/HTMLTextAreaElement05.js | 114 + .../w3c/level1/html/HTMLTextAreaElement06.js | 115 + .../w3c/level1/html/HTMLTextAreaElement07.js | 115 + .../w3c/level1/html/HTMLTextAreaElement08.js | 114 + .../w3c/level1/html/HTMLTextAreaElement09.js | 114 + .../w3c/level1/html/HTMLTextAreaElement10.js | 115 + .../w3c/level1/html/HTMLTitleElement01.js | 113 + .../domino/test/w3c/level1/html/anchor01.js | 112 + .../domino/test/w3c/level1/html/anchor04.js | 112 + .../domino/test/w3c/level1/html/anchor05.js | 112 + .../domino/test/w3c/level1/html/area01.js | 111 + .../domino/test/w3c/level1/html/area02.js | 111 + .../domino/test/w3c/level1/html/area03.js | 111 + .../domino/test/w3c/level1/html/area04.js | 111 + .../domino/test/w3c/level1/html/button01.js | 111 + .../domino/test/w3c/level1/html/button02.js | 115 + .../domino/test/w3c/level1/html/button03.js | 115 + .../domino/test/w3c/level1/html/button04.js | 115 + .../domino/test/w3c/level1/html/button05.js | 112 + .../domino/test/w3c/level1/html/button06.js | 112 + .../domino/test/w3c/level1/html/button07.js | 112 + .../domino/test/w3c/level1/html/button08.js | 112 + .../domino/test/w3c/level1/html/button09.js | 112 + .../domino/test/w3c/level1/html/doc01.js | 106 + .../test/w3c/level1/html/files/.cvsignore | 6 + .../w3c/level1/html/files/HTMLDocument04.html | 36 + .../test/w3c/level1/html/files/anchor.html | 12 + .../test/w3c/level1/html/files/anchor2.html | 13 + .../test/w3c/level1/html/files/applet.html | 12 + .../test/w3c/level1/html/files/applet2.html | 12 + .../test/w3c/level1/html/files/area.html | 14 + .../test/w3c/level1/html/files/area2.html | 15 + .../test/w3c/level1/html/files/base.html | 11 + .../test/w3c/level1/html/files/base2.html | 15 + .../test/w3c/level1/html/files/basefont.html | 12 + .../test/w3c/level1/html/files/body.html | 10 + .../domino/test/w3c/level1/html/files/br.html | 12 + .../test/w3c/level1/html/files/button.html | 21 + .../w3c/level1/html/files/collection.html | 79 + .../test/w3c/level1/html/files/directory.html | 14 + .../test/w3c/level1/html/files/div.html | 10 + .../domino/test/w3c/level1/html/files/dl.html | 15 + .../test/w3c/level1/html/files/document.html | 36 + .../test/w3c/level1/html/files/element.html | 81 + .../test/w3c/level1/html/files/fieldset.html | 23 + .../test/w3c/level1/html/files/font.html | 10 + .../test/w3c/level1/html/files/form.html | 17 + .../test/w3c/level1/html/files/form2.html | 17 + .../test/w3c/level1/html/files/form3.html | 17 + .../test/w3c/level1/html/files/frame.html | 14 + .../test/w3c/level1/html/files/frameset.html | 14 + .../test/w3c/level1/html/files/head.html | 11 + .../test/w3c/level1/html/files/heading.html | 16 + .../domino/test/w3c/level1/html/files/hr.html | 11 + .../test/w3c/level1/html/files/html.html | 12 + .../test/w3c/level1/html/files/iframe.html | 10 + .../test/w3c/level1/html/files/img.html | 13 + .../test/w3c/level1/html/files/input.html | 60 + .../test/w3c/level1/html/files/isindex.html | 14 + .../test/w3c/level1/html/files/label.html | 21 + .../test/w3c/level1/html/files/legend.html | 22 + .../domino/test/w3c/level1/html/files/li.html | 23 + .../test/w3c/level1/html/files/link.html | 15 + .../test/w3c/level1/html/files/link2.html | 15 + .../test/w3c/level1/html/files/map.html | 16 + .../test/w3c/level1/html/files/menu.html | 15 + .../test/w3c/level1/html/files/meta.html | 13 + .../test/w3c/level1/html/files/mod.html | 15 + .../test/w3c/level1/html/files/object.html | 18 + .../test/w3c/level1/html/files/object2.html | 17 + .../test/w3c/level1/html/files/olist.html | 32 + .../test/w3c/level1/html/files/optgroup.html | 25 + .../test/w3c/level1/html/files/option.html | 36 + .../test/w3c/level1/html/files/paragraph.html | 13 + .../test/w3c/level1/html/files/param.html | 14 + .../test/w3c/level1/html/files/pre.html | 17 + .../test/w3c/level1/html/files/quote.html | 16 + .../test/w3c/level1/html/files/script.html | 11 + .../test/w3c/level1/html/files/select.html | 44 + .../test/w3c/level1/html/files/style.html | 12 + .../test/w3c/level1/html/files/table.html | 78 + .../test/w3c/level1/html/files/table1.html | 12 + .../w3c/level1/html/files/tablecaption.html | 25 + .../test/w3c/level1/html/files/tablecell.html | 23 + .../test/w3c/level1/html/files/tablecol.html | 35 + .../test/w3c/level1/html/files/tablerow.html | 59 + .../w3c/level1/html/files/tablesection.html | 62 + .../test/w3c/level1/html/files/textarea.html | 26 + .../test/w3c/level1/html/files/title.html | 13 + .../test/w3c/level1/html/files/ulist.html | 36 + .../test/w3c/level1/html/hasFeature01.js | 96 + .../w3c/level1/html/nyi/HTMLDocument02.js | 111 + .../w3c/level1/html/nyi/HTMLDocument03.js | 111 + .../w3c/level1/html/nyi/HTMLDocument04.js | 110 + .../w3c/level1/html/nyi/HTMLDocument07.js | 113 + .../w3c/level1/html/nyi/HTMLDocument09.js | 114 + .../w3c/level1/html/nyi/HTMLDocument10.js | 113 + .../w3c/level1/html/nyi/HTMLDocument12.js | 109 + .../w3c/level1/html/nyi/HTMLFormElement01.js | 117 + .../w3c/level1/html/nyi/HTMLFormElement09.js | 107 + .../w3c/level1/html/nyi/HTMLFormElement10.js | 107 + .../w3c/level1/html/nyi/HTMLInputElement19.js | 107 + .../w3c/level1/html/nyi/HTMLInputElement20.js | 107 + .../w3c/level1/html/nyi/HTMLInputElement22.js | 108 + .../level1/html/nyi/HTMLSelectElement01.js | 115 + .../level1/html/nyi/HTMLSelectElement02.js | 115 + .../level1/html/nyi/HTMLSelectElement04.js | 114 + .../level1/html/nyi/HTMLSelectElement05.js | 114 + .../level1/html/nyi/HTMLSelectElement14.js | 107 + .../level1/html/nyi/HTMLSelectElement15.js | 107 + .../level1/html/nyi/HTMLSelectElement16.js | 115 + .../level1/html/nyi/HTMLSelectElement17.js | 115 + .../level1/html/nyi/HTMLSelectElement18.js | 133 + .../level1/html/nyi/HTMLSelectElement19.js | 137 + .../w3c/level1/html/nyi/HTMLTableElement08.js | 129 + .../w3c/level1/html/nyi/HTMLTableElement09.js | 132 + .../w3c/level1/html/nyi/HTMLTableElement19.js | 123 + .../w3c/level1/html/nyi/HTMLTableElement20.js | 122 + .../w3c/level1/html/nyi/HTMLTableElement21.js | 139 + .../w3c/level1/html/nyi/HTMLTableElement22.js | 123 + .../w3c/level1/html/nyi/HTMLTableElement23.js | 122 + .../w3c/level1/html/nyi/HTMLTableElement24.js | 139 + .../w3c/level1/html/nyi/HTMLTableElement25.js | 121 + .../w3c/level1/html/nyi/HTMLTableElement26.js | 125 + .../w3c/level1/html/nyi/HTMLTableElement27.js | 119 + .../w3c/level1/html/nyi/HTMLTableElement28.js | 133 + .../w3c/level1/html/nyi/HTMLTableElement29.js | 137 + .../w3c/level1/html/nyi/HTMLTableElement30.js | 144 + .../w3c/level1/html/nyi/HTMLTableElement31.js | 138 + .../w3c/level1/html/nyi/HTMLTableElement32.js | 125 + .../w3c/level1/html/nyi/HTMLTableElement33.js | 124 + .../level1/html/nyi/HTMLTableRowElement01.js | 117 + .../level1/html/nyi/HTMLTextAreaElement13.js | 107 + .../level1/html/nyi/HTMLTextAreaElement14.js | 107 + .../level1/html/nyi/HTMLTextAreaElement15.js | 107 + .../domino/test/w3c/level1/html/object01.js | 112 + .../domino/test/w3c/level1/html/object06.js | 112 + .../domino/test/w3c/level1/html/object07.js | 111 + .../domino/test/w3c/level1/html/object08.js | 126 + .../domino/test/w3c/level1/html/object10.js | 112 + .../domino/test/w3c/level1/html/object11.js | 112 + .../domino/test/w3c/level1/html/object12.js | 111 + .../domino/test/w3c/level1/html/object13.js | 126 + .../domino/test/w3c/level1/html/object14.js | 111 + .../html/obsolete/HTMLAnchorElement02.js | 114 + .../html/obsolete/HTMLAnchorElement03.js | 114 + .../html/obsolete/HTMLAnchorElement06.js | 113 + .../html/obsolete/HTMLAnchorElement08.js | 113 + .../html/obsolete/HTMLAnchorElement09.js | 113 + .../html/obsolete/HTMLAppletElement01.js | 114 + .../html/obsolete/HTMLAppletElement02.js | 114 + .../html/obsolete/HTMLAppletElement03.js | 113 + .../html/obsolete/HTMLAppletElement04.js | 113 + .../html/obsolete/HTMLAppletElement05.js | 113 + .../html/obsolete/HTMLAppletElement06.js | 113 + .../html/obsolete/HTMLAppletElement07.js | 126 + .../html/obsolete/HTMLAppletElement08.js | 113 + .../html/obsolete/HTMLAppletElement09.js | 127 + .../html/obsolete/HTMLAppletElement10.js | 113 + .../html/obsolete/HTMLAppletElement11.js | 114 + .../level1/html/obsolete/HTMLBRElement01.js | 113 + .../html/obsolete/HTMLBaseFontElement01.js | 113 + .../html/obsolete/HTMLBaseFontElement02.js | 113 + .../html/obsolete/HTMLBaseFontElement03.js | 125 + .../level1/html/obsolete/HTMLBodyElement01.js | 113 + .../level1/html/obsolete/HTMLBodyElement02.js | 114 + .../level1/html/obsolete/HTMLBodyElement03.js | 113 + .../level1/html/obsolete/HTMLBodyElement04.js | 114 + .../level1/html/obsolete/HTMLBodyElement05.js | 113 + .../level1/html/obsolete/HTMLBodyElement06.js | 114 + .../level1/html/obsolete/HTMLCollection01.js | 121 + .../level1/html/obsolete/HTMLCollection02.js | 121 + .../level1/html/obsolete/HTMLCollection03.js | 121 + .../level1/html/obsolete/HTMLCollection04.js | 133 + .../level1/html/obsolete/HTMLCollection05.js | 118 + .../level1/html/obsolete/HTMLCollection06.js | 122 + .../level1/html/obsolete/HTMLCollection07.js | 121 + .../level1/html/obsolete/HTMLCollection08.js | 121 + .../level1/html/obsolete/HTMLCollection09.js | 118 + .../level1/html/obsolete/HTMLCollection10.js | 123 + .../level1/html/obsolete/HTMLCollection11.js | 123 + .../level1/html/obsolete/HTMLCollection12.js | 121 + .../html/obsolete/HTMLDirectoryElement01.js | 114 + .../level1/html/obsolete/HTMLDivElement01.js | 113 + .../html/obsolete/HTMLDlistElement01.js | 114 + .../level1/html/obsolete/HTMLDocument08.js | 114 + .../level1/html/obsolete/HTMLDocument11.js | 114 + .../level1/html/obsolete/HTMLDocument13.js | 109 + .../level1/html/obsolete/HTMLDocument14.js | 110 + .../level1/html/obsolete/HTMLFontElement01.js | 113 + .../level1/html/obsolete/HTMLFontElement02.js | 114 + .../level1/html/obsolete/HTMLFontElement03.js | 113 + .../level1/html/obsolete/HTMLFormElement02.js | 115 + .../html/obsolete/HTMLFrameElement01.js | 116 + .../html/obsolete/HTMLFrameElement02.js | 115 + .../html/obsolete/HTMLFrameElement03.js | 114 + .../html/obsolete/HTMLFrameElement04.js | 114 + .../html/obsolete/HTMLFrameElement05.js | 115 + .../html/obsolete/HTMLFrameElement06.js | 115 + .../html/obsolete/HTMLFrameElement07.js | 115 + .../html/obsolete/HTMLFrameElement08.js | 114 + .../html/obsolete/HTMLFrameSetElement01.js | 115 + .../html/obsolete/HTMLFrameSetElement02.js | 115 + .../level1/html/obsolete/HTMLHRElement01.js | 113 + .../level1/html/obsolete/HTMLHRElement02.js | 114 + .../level1/html/obsolete/HTMLHRElement03.js | 113 + .../level1/html/obsolete/HTMLHRElement04.js | 113 + .../level1/html/obsolete/HTMLHeadElement01.js | 113 + .../html/obsolete/HTMLHeadingElement01.js | 113 + .../html/obsolete/HTMLHeadingElement02.js | 113 + .../html/obsolete/HTMLHeadingElement03.js | 113 + .../html/obsolete/HTMLHeadingElement04.js | 113 + .../html/obsolete/HTMLHeadingElement05.js | 113 + .../html/obsolete/HTMLHeadingElement06.js | 113 + .../level1/html/obsolete/HTMLHtmlElement01.js | 124 + .../html/obsolete/HTMLIFrameElement01.js | 115 + .../html/obsolete/HTMLIFrameElement02.js | 116 + .../html/obsolete/HTMLIFrameElement04.js | 115 + .../html/obsolete/HTMLIFrameElement05.js | 114 + .../html/obsolete/HTMLIFrameElement06.js | 114 + .../html/obsolete/HTMLIFrameElement08.js | 115 + .../html/obsolete/HTMLImageElement01.js | 113 + .../html/obsolete/HTMLImageElement02.js | 114 + .../html/obsolete/HTMLImageElement03.js | 114 + .../html/obsolete/HTMLImageElement04.js | 113 + .../html/obsolete/HTMLImageElement08.js | 114 + .../html/obsolete/HTMLImageElement10.js | 113 + .../html/obsolete/HTMLImageElement14.js | 115 + .../html/obsolete/HTMLInputElement06.js | 115 + .../html/obsolete/HTMLInputElement17.js | 114 + .../html/obsolete/HTMLIsIndexElement01.js | 122 + .../html/obsolete/HTMLIsIndexElement02.js | 119 + .../html/obsolete/HTMLIsIndexElement03.js | 114 + .../level1/html/obsolete/HTMLLIElement01.js | 113 + .../html/obsolete/HTMLLegendElement01.js | 117 + .../html/obsolete/HTMLLegendElement02.js | 114 + .../html/obsolete/HTMLLegendElement03.js | 114 + .../html/obsolete/HTMLLegendElement04.js | 113 + .../level1/html/obsolete/HTMLLinkElement02.js | 114 + .../level1/html/obsolete/HTMLLinkElement07.js | 113 + .../level1/html/obsolete/HTMLLinkElement09.js | 113 + .../level1/html/obsolete/HTMLMapElement01.js | 116 + .../level1/html/obsolete/HTMLMenuElement01.js | 114 + .../html/obsolete/HTMLOListElement01.js | 114 + .../html/obsolete/HTMLObjectElement02.js | 114 + .../html/obsolete/HTMLObjectElement03.js | 115 + .../html/obsolete/HTMLObjectElement04.js | 114 + .../html/obsolete/HTMLObjectElement05.js | 114 + .../html/obsolete/HTMLObjectElement06.js | 115 + .../html/obsolete/HTMLObjectElement07.js | 115 + .../html/obsolete/HTMLObjectElement09.js | 115 + .../html/obsolete/HTMLObjectElement12.js | 115 + .../html/obsolete/HTMLOptionElement04.js | 114 + .../html/obsolete/HTMLOptionElement05.js | 115 + .../html/obsolete/HTMLOptionElement09.js | 114 + .../html/obsolete/HTMLParagraphElement01.js | 113 + .../html/obsolete/HTMLParamElement01.js | 113 + .../html/obsolete/HTMLParamElement03.js | 114 + .../html/obsolete/HTMLParamElement04.js | 114 + .../level1/html/obsolete/HTMLPreElement01.js | 113 + .../obsolete/HTMLTableCaptionElement01.js | 114 + .../html/obsolete/HTMLTableCellElement01.js | 114 + .../html/obsolete/HTMLTableCellElement02.js | 114 + .../html/obsolete/HTMLTableCellElement03.js | 114 + .../html/obsolete/HTMLTableCellElement04.js | 114 + .../html/obsolete/HTMLTableCellElement05.js | 115 + .../html/obsolete/HTMLTableCellElement06.js | 115 + .../html/obsolete/HTMLTableCellElement07.js | 115 + .../html/obsolete/HTMLTableCellElement08.js | 115 + .../html/obsolete/HTMLTableCellElement09.js | 115 + .../html/obsolete/HTMLTableCellElement10.js | 115 + .../html/obsolete/HTMLTableCellElement11.js | 115 + .../html/obsolete/HTMLTableCellElement12.js | 115 + .../html/obsolete/HTMLTableCellElement13.js | 115 + .../html/obsolete/HTMLTableCellElement14.js | 115 + .../html/obsolete/HTMLTableCellElement17.js | 115 + .../html/obsolete/HTMLTableCellElement18.js | 115 + .../html/obsolete/HTMLTableCellElement19.js | 114 + .../html/obsolete/HTMLTableCellElement20.js | 114 + .../html/obsolete/HTMLTableCellElement21.js | 114 + .../html/obsolete/HTMLTableCellElement22.js | 114 + .../html/obsolete/HTMLTableCellElement26.js | 114 + .../html/obsolete/HTMLTableCellElement27.js | 114 + .../html/obsolete/HTMLTableCellElement28.js | 114 + .../html/obsolete/HTMLTableCellElement29.js | 114 + .../html/obsolete/HTMLTableCellElement30.js | 114 + .../html/obsolete/HTMLTableColElement01.js | 115 + .../html/obsolete/HTMLTableColElement02.js | 115 + .../html/obsolete/HTMLTableColElement03.js | 115 + .../html/obsolete/HTMLTableColElement04.js | 115 + .../html/obsolete/HTMLTableColElement05.js | 114 + .../html/obsolete/HTMLTableColElement06.js | 114 + .../html/obsolete/HTMLTableColElement09.js | 115 + .../html/obsolete/HTMLTableColElement10.js | 115 + .../html/obsolete/HTMLTableColElement11.js | 114 + .../html/obsolete/HTMLTableColElement12.js | 114 + .../html/obsolete/HTMLTableElement01.js | 117 + .../html/obsolete/HTMLTableElement03.js | 117 + .../html/obsolete/HTMLTableElement05.js | 117 + .../html/obsolete/HTMLTableElement10.js | 115 + .../html/obsolete/HTMLTableElement11.js | 114 + .../html/obsolete/HTMLTableElement13.js | 115 + .../html/obsolete/HTMLTableElement14.js | 115 + .../html/obsolete/HTMLTableElement15.js | 114 + .../html/obsolete/HTMLTableElement16.js | 114 + .../html/obsolete/HTMLTableElement17.js | 115 + .../html/obsolete/HTMLTableElement18.js | 114 + .../html/obsolete/HTMLTableRowElement02.js | 115 + .../html/obsolete/HTMLTableRowElement03.js | 115 + .../html/obsolete/HTMLTableRowElement04.js | 115 + .../html/obsolete/HTMLTableRowElement06.js | 115 + .../html/obsolete/HTMLTableRowElement07.js | 114 + .../html/obsolete/HTMLTableRowElement08.js | 114 + .../html/obsolete/HTMLTableRowElement09.js | 114 + .../html/obsolete/HTMLTableRowElement10.js | 115 + .../html/obsolete/HTMLTableRowElement11.js | 144 + .../html/obsolete/HTMLTableRowElement12.js | 143 + .../html/obsolete/HTMLTableRowElement13.js | 144 + .../html/obsolete/HTMLTableRowElement14.js | 144 + .../obsolete/HTMLTableSectionElement01.js | 115 + .../obsolete/HTMLTableSectionElement02.js | 115 + .../obsolete/HTMLTableSectionElement03.js | 115 + .../obsolete/HTMLTableSectionElement04.js | 115 + .../obsolete/HTMLTableSectionElement05.js | 115 + .../obsolete/HTMLTableSectionElement06.js | 115 + .../obsolete/HTMLTableSectionElement07.js | 114 + .../obsolete/HTMLTableSectionElement08.js | 114 + .../obsolete/HTMLTableSectionElement09.js | 114 + .../obsolete/HTMLTableSectionElement10.js | 115 + .../obsolete/HTMLTableSectionElement11.js | 115 + .../obsolete/HTMLTableSectionElement12.js | 115 + .../obsolete/HTMLTableSectionElement16.js | 126 + .../obsolete/HTMLTableSectionElement17.js | 126 + .../obsolete/HTMLTableSectionElement18.js | 126 + .../obsolete/HTMLTableSectionElement19.js | 127 + .../obsolete/HTMLTableSectionElement20.js | 127 + .../obsolete/HTMLTableSectionElement21.js | 128 + .../obsolete/HTMLTableSectionElement22.js | 125 + .../obsolete/HTMLTableSectionElement23.js | 125 + .../obsolete/HTMLTableSectionElement24.js | 125 + .../html/obsolete/HTMLTextAreaElement01.js | 115 + .../html/obsolete/HTMLTextAreaElement11.js | 115 + .../html/obsolete/HTMLTextAreaElement12.js | 115 + .../html/obsolete/HTMLUListElement01.js | 114 + .../html/obsolete/HTMLUListElement02.js | 113 + .../test/w3c/level1/html/obsolete/anchor02.js | 112 + .../test/w3c/level1/html/obsolete/anchor03.js | 112 + .../test/w3c/level1/html/obsolete/anchor06.js | 112 + .../w3c/level1/html/obsolete/basefont01.js | 111 + .../test/w3c/level1/html/obsolete/body01.js | 112 + .../test/w3c/level1/html/obsolete/dlist01.js | 111 + .../test/w3c/level1/html/obsolete/object02.js | 112 + .../test/w3c/level1/html/obsolete/object03.js | 112 + .../test/w3c/level1/html/obsolete/object04.js | 112 + .../test/w3c/level1/html/obsolete/object05.js | 112 + .../test/w3c/level1/html/obsolete/object09.js | 112 + .../test/w3c/level1/html/obsolete/object15.js | 112 + .../test/w3c/level1/html/obsolete/table02.js | 115 + .../test/w3c/level1/html/obsolete/table03.js | 115 + .../test/w3c/level1/html/obsolete/table04.js | 115 + .../test/w3c/level1/html/obsolete/table06.js | 115 + .../test/w3c/level1/html/obsolete/table07.js | 118 + .../test/w3c/level1/html/obsolete/table08.js | 115 + .../test/w3c/level1/html/obsolete/table09.js | 115 + .../test/w3c/level1/html/obsolete/table10.js | 115 + .../test/w3c/level1/html/obsolete/table12.js | 115 + .../test/w3c/level1/html/obsolete/table15.js | 118 + .../test/w3c/level1/html/obsolete/table17.js | 115 + .../test/w3c/level1/html/obsolete/table18.js | 112 + .../test/w3c/level1/html/obsolete/table19.js | 113 + .../test/w3c/level1/html/obsolete/table20.js | 112 + .../test/w3c/level1/html/obsolete/table21.js | 112 + .../test/w3c/level1/html/obsolete/table22.js | 112 + .../test/w3c/level1/html/obsolete/table23.js | 112 + .../test/w3c/level1/html/obsolete/table24.js | 112 + .../test/w3c/level1/html/obsolete/table26.js | 111 + .../test/w3c/level1/html/obsolete/table27.js | 112 + .../test/w3c/level1/html/obsolete/table29.js | 112 + .../test/w3c/level1/html/obsolete/table30.js | 112 + .../test/w3c/level1/html/obsolete/table31.js | 112 + .../test/w3c/level1/html/obsolete/table32.js | 112 + .../test/w3c/level1/html/obsolete/table33.js | 112 + .../test/w3c/level1/html/obsolete/table35.js | 112 + .../test/w3c/level1/html/obsolete/table36.js | 112 + .../test/w3c/level1/html/obsolete/table37.js | 111 + .../test/w3c/level1/html/obsolete/table38.js | 112 + .../test/w3c/level1/html/obsolete/table39.js | 112 + .../test/w3c/level1/html/obsolete/table40.js | 112 + .../test/w3c/level1/html/obsolete/table41.js | 112 + .../test/w3c/level1/html/obsolete/table42.js | 112 + .../test/w3c/level1/html/obsolete/table43.js | 112 + .../test/w3c/level1/html/obsolete/table44.js | 112 + .../test/w3c/level1/html/obsolete/table45.js | 112 + .../test/w3c/level1/html/obsolete/table46.js | 112 + .../test/w3c/level1/html/obsolete/table47.js | 112 + .../test/w3c/level1/html/obsolete/table48.js | 112 + .../test/w3c/level1/html/obsolete/table49.js | 112 + .../test/w3c/level1/html/obsolete/table50.js | 112 + .../test/w3c/level1/html/obsolete/table52.js | 112 + .../test/w3c/level1/html/obsolete/table53.js | 112 + .../domino/test/w3c/level1/html/table01.js | 112 + .../domino/test/w3c/level1/html/table25.js | 112 + .../domino/test/w3c/level1/html/table28.js | 112 + .../domino/test/w3c/level1/html/table34.js | 112 + .../domino/test/w3c/level1/html/table51.js | 112 + .../node_modules/tassembly/package.json | 17 + .../node_modules/tassembly/tassembly.js | 390 + .../node_modules/knockoff/package.json | 17 + .../node_modules/knockoff/testKnockOff.js | 70 + knockoff-node/package.json | 6 + {QuickTemplate => knockoff-node}/test1.js | 5 +- knockoff-node/test1b-incid.js | 14 + knockoff-node/test2-loop-lambda.js | 35 + .../test2-loop.js | 4 +- knockoff-node/test3-itterator.js | 29 + runall.sh | 9 + 2251 files changed, 141796 insertions(+), 241 deletions(-) delete mode 100644 QuickTemplate/KnockoutCompiler.js delete mode 100644 QuickTemplate/package.json rename {QuickTemplate => knockoff-node/node_modules/KOTASM}/.jshintrc (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM}/DOMCompiler.js (100%) create mode 100644 knockoff-node/node_modules/KOTASM/KnockoutCompiler.js rename {QuickTemplate => knockoff-node/node_modules/KOTASM}/KnockoutExpression.js (100%) create mode 100644 knockoff-node/node_modules/KOTASM/README.md create mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/.jshintrc create mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/README.md rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/.npmignore (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/.travis.yml (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/LICENSE (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/README.md (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/lib/CSSStyleDeclaration.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/lib/CharacterData.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/lib/Comment.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/lib/CustomEvent.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/lib/DOMException.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/lib/DOMImplementation.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/lib/DOMTokenList.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/lib/Document.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/lib/DocumentFragment.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/lib/DocumentType.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/lib/Element.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/lib/Event.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/lib/EventTarget.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/lib/FilteredElementList.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/lib/HTMLParser.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/lib/Leaf.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/lib/Location.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/lib/MouseEvent.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/lib/MutationConstants.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/lib/Node.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/lib/NodeFilter.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/lib/NodeList.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/lib/ProcessingInstruction.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/lib/Text.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/lib/TreeWalker.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/lib/UIEvent.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/lib/URL.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/lib/URLDecompositionAttributes.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/lib/Window.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/lib/attributes.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/lib/cssparser.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/lib/events.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/lib/htmlelts.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/lib/impl.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/lib/index.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/lib/select.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/lib/utils.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/lib/xmlnames.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/package.json (99%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/domino.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/fixture/doc.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/fixture/jquery-1.9.1.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/README.md (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/harness/index.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/harness/testharness.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/index.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-01.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-02.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-01.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-02.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/browsing-the-web/load-text-plain.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Document.getElementsByClassName-null-undef.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Element.getElementsByClassName-null-undef.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-foreign-frameset.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-frameset-and-body.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-setter-01.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.embeds-document.plugins-01.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByClassName-same.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.xhtml (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.xhtml (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.xhtml (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.xhtml (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.xhtml (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.xhtml (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-same.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-01.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-02.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-01.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-02.xhtml (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-03.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-04.xhtml (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-05.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-06.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-07.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/nameditem-01.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.close-01.xhtml (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-01.xhtml (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-02.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-01.xhtml (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-02.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-01.xhtml (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-02.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/elements-in-the-dom/unknown-element.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/events/event-handler-spec-example.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/general/interfaces.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/classlist-nonstring.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/dataset.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/document-dir.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/id-name.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01-ref.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy-ref.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01-ref.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-01.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-02.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-03.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-04.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-01.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-02.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-03.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-04.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-05.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/heading-obsolete-attributes-01.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/script-IDL-event-htmlfor.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/parsing/comment.dat (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-01.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-02.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-03.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-04.xhtml (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-05.xhtml (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-06.xhtml (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/200-textplain.cgi (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/404-textcss.cgi (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/support/text/200-textplain.cgi (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-rellist.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-style-error-01.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-style-element/style-error-01.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-01.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-02.xhtml (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-03.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-04.xhtml (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/embedded-content/the-video-element/video-tabindex.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-interfaces-01.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-matches.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-01.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-02.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-input-element/input-textselection-01.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/textarea-type.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1-ref.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1a.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1b.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-language-type.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-01.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-02.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-noembed-noframes-iframe.xhtml (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-01.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-02.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-getter-01.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-setter-01.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1-ref.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1a.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1b.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1c.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1d.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2-ref.svg (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2.svg (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/index.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/mocha.opts (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/README.md (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/harness/DomTestCase.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/harness/index.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/index.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/documentgetdoctypenodtd.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi1.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/files/.cvsignore (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/files/hc_nodtdstaff.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/files/hc_staff.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/files/staff.dtd (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddata.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddatagetdata.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatabegining.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataend.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataexceedslength.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatagetlengthanddata.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatamiddle.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_characterdatagetdata.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_characterdatagetlength.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetgreater.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetnegative.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetgreater.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetnegative.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedatacountnegative.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetgreater.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetnegative.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringcountnegative.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringnegativeoffset.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringoffsetgreater.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatabeginning.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdataend.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatamiddle.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatabegining.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataend.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofarg.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofdata.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatamiddle.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_characterdatasetnodevalue.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringexceedsvalue.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringvalue.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_commentgetcomment.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_documentcreatecomment.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_documentcreatedocumentfragment.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_documentcreateelement.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_documentcreateelementcasesensitive.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_documentcreatetextnode.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_documentgetdoctype.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamelength.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnametotallength.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamevalue.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_documentgetimplementation.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_documentgetrootnode.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement1.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenoversion.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenull.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturexml.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_elementaddnewattribute.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_elementchangeattributevalue.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagname.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnameaccessnodelist.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamenomatch.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamespecialvalue.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_elementgettagname.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception1.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_elementnormalize.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_elementremoveattribute.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_elementretrieveallattributes.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_elementretrieveattrvalue.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_elementretrievetagname.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_entitiesremovenameditem1.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_entitiessetnameditem1.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_namednodemapchildnoderange.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_namednodemapnumberofnodes.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodeappendchild.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildchildexists.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodeappendchilddocfragment.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildgetnodename.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnewchilddiffdocument.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnodeancestor.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodeattributenodeattribute.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodechildnodes.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesappendchild.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesempty.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodecloneattributescopied.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodeclonefalsenocopytext.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodeclonegetparentnull.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodefalse.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodetrue.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodeclonetruecopytext.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodeattributes.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodename.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodetype.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodevalue.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodename.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodetype.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodevalue.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodeattribute.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodename.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodetype.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodevalue.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodeattributes.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodename.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodetype.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodevalue.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchild.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchildnull.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchild.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchildnull.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsibling.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsiblingnull.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocument.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocumentnull.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussibling.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussiblingnull.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodes.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodesfalse.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbefore.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforedocfragment.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchilddiffdocument.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchildexists.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodeancestor.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodename.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnonexistent.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnull.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodelistindexequalzero.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlength.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlengthofemptylist.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodelistindexnotzero.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnfirstitem.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnlastitem.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodelisttraverselist.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodeparentnode.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodeparentnodenull.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_noderemovechild.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_noderemovechildgetnodename.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_noderemovechildnode.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_noderemovechildoldchildnonexistent.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodereplacechild.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchilddiffdocument.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchildexists.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodeancestor.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodename.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildoldchildnonexistent.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodetextnodeattribute.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodetextnodename.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodetextnodetype.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodetextnodevalue.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodevalue01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodevalue02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodevalue04.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodevalue05.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodevalue06.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodevalue07.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_nodevalue08.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_notationsremovenameditem1.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_notationssetnameditem1.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerrnegativeoffset.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerroffsetoutofbounds.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_textparseintolistofelements.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_textsplittextfour.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_textsplittextone.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_textsplittextthree.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_textsplittexttwo.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/hc_textwithnomarkup.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref1.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild1.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild2.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild3.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild4.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild5.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild6.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes1.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes2.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrclonenode1.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatedocumentfragment.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode2.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_attreffectivevalue.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrfirstchild.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue1.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue2.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrhaschildnodes.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore1.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore2.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore3.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore4.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore5.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore6.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore7.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrlastchild.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrname.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnextsiblingnull.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnormalize.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrparentnodenull.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrprevioussiblingnull.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild1.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild2.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild1.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild2.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue1.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue2.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvalue.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvaluechanged.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentcreateattribute.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute1.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementassociatedattribute.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementcreatenewattribute.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenode.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenodenull.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetelementempty.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementinuseattributeerr.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnormalize2.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnotfounderr.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributeaftercreate.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributenode.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceattributewithself.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattribute.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattributegevalue.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementsetattributenodenull.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementwrongdocumenterr.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapgetnameditem.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapinuseattributeerr.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapnotfounderr.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapremovenameditem.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnattrnode.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnfirstitem.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnlastitem.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnnull.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditem.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemreturnvalue.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemthatexists.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemwithnewvalue.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapwrongdocumenterr.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeappendchildinvalidnodetype.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodename.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodetype.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodevalue.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeinsertbeforeinvalidnodetype.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodereplacechildinvalidnodetype.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodevalue03.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement04.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement05.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement07.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement10.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement11.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement12.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement13.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement14.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLAreaElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLAreaElement02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLAreaElement03.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLAreaElement04.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLAreaElement05.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLAreaElement06.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLAreaElement07.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLAreaElement08.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLButtonElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLButtonElement02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLButtonElement03.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLButtonElement04.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLButtonElement05.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLButtonElement06.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLButtonElement07.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLButtonElement08.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLDocument01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLDocument05.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLDocument15.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLDocument16.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLDocument17.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLDocument18.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLDocument19.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLDocument20.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLDocument21.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement03.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement04.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement05.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement06.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement07.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement08.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement09.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement10.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement100.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement101.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement102.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement103.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement104.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement105.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement106.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement107.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement108.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement109.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement11.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement110.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement111.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement112.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement113.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement114.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement115.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement116.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement117.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement118.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement119.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement12.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement120.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement121.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement122.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement123.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement124.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement125.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement126.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement127.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement128.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement129.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement13.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement130.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement131.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement132.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement133.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement134.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement135.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement136.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement137.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement138.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement139.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement14.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement140.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement141.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement142.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement143.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement144.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement145.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement15.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement16.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement17.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement18.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement19.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement20.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement21.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement22.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement23.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement24.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement25.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement26.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement27.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement28.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement29.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement30.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement31.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement32.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement33.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement34.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement35.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement36.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement37.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement38.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement39.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement40.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement41.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement42.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement43.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement44.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement45.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement46.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement47.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement48.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement49.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement50.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement51.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement52.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement53.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement54.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement55.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement56.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement57.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement58.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement59.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement60.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement61.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement62.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement63.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement64.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement65.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement66.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement67.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement68.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement69.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement70.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement71.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement72.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement73.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement74.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement75.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement76.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement77.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement78.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement79.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement80.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement81.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement82.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement83.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement84.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement85.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement86.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement87.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement88.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement89.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement90.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement91.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement92.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement93.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement94.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement95.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement96.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement97.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement98.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLElement99.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLFormElement03.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLFormElement04.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLFormElement05.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLFormElement06.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLFormElement07.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLFormElement08.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement03.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement07.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement09.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement10.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLImageElement05.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLImageElement06.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLImageElement07.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLImageElement09.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLImageElement11.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLImageElement12.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLInputElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLInputElement02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLInputElement03.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLInputElement04.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLInputElement05.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLInputElement07.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLInputElement08.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLInputElement09.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLInputElement10.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLInputElement11.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLInputElement12.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLInputElement13.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLInputElement14.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLInputElement15.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLInputElement16.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLInputElement18.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLInputElement21.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLLIElement02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLLabelElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLLabelElement02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLLabelElement03.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLLabelElement04.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLLinkElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLLinkElement03.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLLinkElement04.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLLinkElement05.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLLinkElement06.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLLinkElement08.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLMapElement02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLMetaElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLMetaElement02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLMetaElement03.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLMetaElement04.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLModElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLModElement02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLModElement03.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLModElement04.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLOListElement02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLOListElement03.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLObjectElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLObjectElement08.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLObjectElement10.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLObjectElement11.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLObjectElement13.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLObjectElement14.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLObjectElement15.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLObjectElement16.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLObjectElement17.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLObjectElement18.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLObjectElement19.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLOptionElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLOptionElement02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLOptionElement03.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLOptionElement06.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLOptionElement07.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLOptionElement08.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLParamElement02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLScriptElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLScriptElement02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLScriptElement03.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLScriptElement04.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLScriptElement05.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLScriptElement06.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLScriptElement07.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLSelectElement03.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLSelectElement06.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLSelectElement07.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLSelectElement08.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLSelectElement09.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLSelectElement10.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLSelectElement11.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLSelectElement12.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLSelectElement13.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLStyleElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLStyleElement02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLStyleElement03.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement15.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement16.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement23.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement24.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement25.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLTableColElement07.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLTableColElement08.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLTableElement02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLTableElement04.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLTableElement06.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLTableElement07.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLTableElement12.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLTableRowElement05.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement13.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement14.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement15.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement03.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement04.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement05.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement06.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement07.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement08.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement09.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement10.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/HTMLTitleElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/anchor01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/anchor04.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/anchor05.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/area01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/area02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/area03.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/area04.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/button01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/button02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/button03.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/button04.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/button05.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/button06.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/button07.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/button08.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/button09.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/doc01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/.cvsignore (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/HTMLDocument04.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/anchor.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/anchor2.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/applet.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/applet2.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/area.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/area2.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/base.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/base2.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/basefont.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/body.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/br.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/button.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/collection.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/directory.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/div.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/dl.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/document.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/element.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/fieldset.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/font.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/form.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/form2.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/form3.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/frame.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/frameset.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/head.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/heading.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/hr.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/html.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/iframe.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/img.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/input.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/isindex.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/label.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/legend.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/li.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/link.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/link2.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/map.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/menu.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/meta.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/mod.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/object.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/object2.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/olist.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/optgroup.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/option.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/paragraph.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/param.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/pre.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/quote.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/script.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/select.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/style.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/table.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/table1.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/tablecaption.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/tablecell.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/tablecol.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/tablerow.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/tablesection.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/textarea.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/title.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/files/ulist.html (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/hasFeature01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument03.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument04.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument07.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument09.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument10.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument12.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement09.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement10.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement19.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement20.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement22.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement04.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement05.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement14.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement15.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement16.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement17.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement18.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement19.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement08.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement09.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement19.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement20.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement21.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement22.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement23.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement24.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement25.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement26.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement27.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement28.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement29.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement30.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement31.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement32.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement33.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableRowElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement13.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement14.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement15.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/object01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/object06.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/object07.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/object08.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/object10.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/object11.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/object12.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/object13.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/object14.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement03.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement06.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement08.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement09.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement03.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement04.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement05.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement06.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement07.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement08.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement09.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement10.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement11.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBRElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement03.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement03.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement04.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement05.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement06.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection03.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection04.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection05.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection06.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection07.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection08.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection09.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection10.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection11.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection12.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDirectoryElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDivElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDlistElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument08.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument11.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument13.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument14.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement03.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFormElement02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement03.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement04.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement05.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement06.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement07.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement08.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement03.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement04.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement03.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement04.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement05.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement06.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHtmlElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement04.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement05.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement06.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement08.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement03.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement04.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement08.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement10.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement14.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement06.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement17.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement03.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLIElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement03.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement04.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement07.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement09.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMapElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMenuElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOListElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement03.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement04.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement05.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement06.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement07.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement09.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement12.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement04.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement05.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement09.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParagraphElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement03.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement04.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLPreElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCaptionElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement03.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement04.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement05.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement06.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement07.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement08.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement09.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement10.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement11.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement12.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement13.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement14.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement17.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement18.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement19.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement20.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement21.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement22.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement26.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement27.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement28.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement29.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement30.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement03.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement04.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement05.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement06.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement09.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement10.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement11.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement12.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement03.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement05.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement10.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement11.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement13.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement14.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement15.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement16.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement17.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement18.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement03.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement04.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement06.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement07.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement08.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement09.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement10.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement11.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement12.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement13.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement14.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement03.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement04.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement05.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement06.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement07.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement08.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement09.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement10.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement11.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement12.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement16.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement17.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement18.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement19.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement20.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement21.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement22.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement23.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement24.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement11.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement12.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/anchor02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/anchor03.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/anchor06.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/basefont01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/body01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/dlist01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/object02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/object03.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/object04.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/object05.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/object09.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/object15.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/table02.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/table03.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/table04.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/table06.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/table07.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/table08.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/table09.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/table10.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/table12.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/table15.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/table17.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/table18.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/table19.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/table20.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/table21.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/table22.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/table23.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/table24.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/table26.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/table27.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/table29.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/table30.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/table31.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/table32.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/table33.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/table35.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/table36.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/table37.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/table38.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/table39.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/table40.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/table41.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/table42.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/table43.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/table44.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/table45.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/table46.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/table47.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/table48.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/table49.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/table50.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/table52.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/obsolete/table53.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/table01.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/table25.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/table28.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/table34.js (100%) rename {QuickTemplate => knockoff-node/node_modules/KOTASM/node_modules/tassembly}/node_modules/domino/test/w3c/level1/html/table51.js (100%) create mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/package.json rename QuickTemplate/quicktemplate.js => knockoff-node/node_modules/KOTASM/node_modules/tassembly/tassembly.js (53%) create mode 100644 knockoff-node/node_modules/KOTASM/package.json rename {QuickTemplate => knockoff-node/node_modules/KOTASM}/testKnockoutCompiler.js (51%) create mode 100644 knockoff-node/node_modules/knockoff/.jshintrc create mode 100644 knockoff-node/node_modules/knockoff/DOMCompiler.js create mode 100644 knockoff-node/node_modules/knockoff/KnockoutCompiler.js create mode 100644 knockoff-node/node_modules/knockoff/KnockoutExpression.js create mode 100644 knockoff-node/node_modules/knockoff/README.md create mode 100644 knockoff-node/node_modules/knockoff/knockoff.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/.jshintrc create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/README.md create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/.npmignore create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/.travis.yml create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/LICENSE create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/README.md create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/CSSStyleDeclaration.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/CharacterData.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/Comment.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/CustomEvent.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/DOMException.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/DOMImplementation.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/DOMTokenList.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/Document.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/DocumentFragment.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/DocumentType.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/Element.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/Event.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/EventTarget.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/FilteredElementList.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/HTMLParser.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/Leaf.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/Location.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/MouseEvent.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/MutationConstants.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/Node.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/NodeFilter.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/NodeList.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/ProcessingInstruction.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/Text.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/TreeWalker.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/UIEvent.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/URL.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/URLDecompositionAttributes.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/Window.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/attributes.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/cssparser.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/events.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/htmlelts.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/impl.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/index.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/select.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/utils.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/xmlnames.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/package.json create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/domino.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/fixture/doc.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/fixture/jquery-1.9.1.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/README.md create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/harness/index.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/harness/testharness.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/index.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-01.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-02.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-01.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-02.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/browsing-the-web/load-text-plain.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Document.getElementsByClassName-null-undef.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Element.getElementsByClassName-null-undef.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-foreign-frameset.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-frameset-and-body.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-setter-01.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.embeds-document.plugins-01.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByClassName-same.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.xhtml create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.xhtml create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.xhtml create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.xhtml create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.xhtml create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.xhtml create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-same.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-01.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-02.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-01.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-02.xhtml create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-03.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-04.xhtml create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-05.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-06.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-07.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/nameditem-01.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.close-01.xhtml create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-01.xhtml create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-02.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-01.xhtml create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-02.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-01.xhtml create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-02.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/elements-in-the-dom/unknown-element.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/events/event-handler-spec-example.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/general/interfaces.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/classlist-nonstring.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/dataset.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/document-dir.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/id-name.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01-ref.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy-ref.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01-ref.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-01.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-02.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-03.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-04.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-01.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-02.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-03.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-04.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-05.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/heading-obsolete-attributes-01.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/script-IDL-event-htmlfor.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/parsing/comment.dat create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-01.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-02.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-03.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-04.xhtml create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-05.xhtml create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-06.xhtml create mode 100755 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/200-textplain.cgi create mode 100755 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/404-textcss.cgi create mode 100755 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/support/text/200-textplain.cgi create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-rellist.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-style-error-01.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-style-element/style-error-01.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-01.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-02.xhtml create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-03.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-04.xhtml create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/embedded-content/the-video-element/video-tabindex.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-interfaces-01.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-matches.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-01.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-02.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-input-element/input-textselection-01.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/textarea-type.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1-ref.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1a.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1b.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-language-type.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-01.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-02.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-noembed-noframes-iframe.xhtml create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-01.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-02.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-getter-01.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-setter-01.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1-ref.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1a.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1b.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1c.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1d.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2-ref.svg create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2.svg create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/index.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/mocha.opts create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/README.md create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/harness/DomTestCase.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/harness/index.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/index.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/documentgetdoctypenodtd.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi1.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/.cvsignore create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/hc_nodtdstaff.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/hc_staff.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/staff.dtd create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddata.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddatagetdata.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatabegining.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataend.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataexceedslength.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatagetlengthanddata.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatamiddle.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatagetdata.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatagetlength.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetgreater.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetnegative.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetgreater.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetnegative.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedatacountnegative.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetgreater.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetnegative.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringcountnegative.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringnegativeoffset.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringoffsetgreater.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatabeginning.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdataend.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatamiddle.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatabegining.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataend.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofarg.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofdata.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatamiddle.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatasetnodevalue.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringexceedsvalue.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringvalue.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_commentgetcomment.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreatecomment.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreatedocumentfragment.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreateelement.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreateelementcasesensitive.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreatetextnode.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetdoctype.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamelength.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnametotallength.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamevalue.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetimplementation.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetrootnode.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement1.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenoversion.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenull.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturexml.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementaddnewattribute.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementchangeattributevalue.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagname.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnameaccessnodelist.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamenomatch.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamespecialvalue.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgettagname.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception1.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementnormalize.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementremoveattribute.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementretrieveallattributes.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementretrieveattrvalue.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementretrievetagname.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_entitiesremovenameditem1.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_entitiessetnameditem1.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_namednodemapchildnoderange.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_namednodemapnumberofnodes.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchild.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildchildexists.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchilddocfragment.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildgetnodename.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnewchilddiffdocument.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnodeancestor.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeattributenodeattribute.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodechildnodes.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesappendchild.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesempty.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecloneattributescopied.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonefalsenocopytext.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonegetparentnull.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodefalse.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodetrue.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonetruecopytext.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodeattributes.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodename.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodetype.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodevalue.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodename.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodetype.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodevalue.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodeattribute.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodename.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodetype.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodevalue.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodeattributes.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodename.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodetype.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodevalue.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchild.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchildnull.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchild.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchildnull.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsibling.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsiblingnull.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocument.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocumentnull.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussibling.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussiblingnull.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodes.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodesfalse.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbefore.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforedocfragment.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchilddiffdocument.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchildexists.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodeancestor.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodename.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnonexistent.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnull.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexequalzero.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlength.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlengthofemptylist.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexnotzero.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnfirstitem.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnlastitem.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelisttraverselist.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeparentnode.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeparentnodenull.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechild.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechildgetnodename.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechildnode.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechildoldchildnonexistent.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechild.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchilddiffdocument.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchildexists.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodeancestor.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodename.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildoldchildnonexistent.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodeattribute.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodename.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodetype.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodevalue.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue04.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue05.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue06.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue07.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue08.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_notationsremovenameditem1.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_notationssetnameditem1.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerrnegativeoffset.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerroffsetoutofbounds.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textparseintolistofelements.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittextfour.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittextone.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittextthree.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittexttwo.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textwithnomarkup.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref1.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild1.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild2.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild3.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild4.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild5.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild6.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes1.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes2.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrclonenode1.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatedocumentfragment.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode2.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attreffectivevalue.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrfirstchild.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue1.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue2.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrhaschildnodes.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore1.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore2.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore3.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore4.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore5.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore6.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore7.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrlastchild.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrname.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnextsiblingnull.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnormalize.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrparentnodenull.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrprevioussiblingnull.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild1.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild2.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild1.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild2.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue1.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue2.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvalue.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvaluechanged.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentcreateattribute.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute1.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementassociatedattribute.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementcreatenewattribute.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenode.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenodenull.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetelementempty.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementinuseattributeerr.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnormalize2.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnotfounderr.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributeaftercreate.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributenode.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceattributewithself.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattribute.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattributegevalue.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementsetattributenodenull.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementwrongdocumenterr.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapgetnameditem.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapinuseattributeerr.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapnotfounderr.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapremovenameditem.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnattrnode.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnfirstitem.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnlastitem.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnnull.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditem.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemreturnvalue.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemthatexists.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemwithnewvalue.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapwrongdocumenterr.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeappendchildinvalidnodetype.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodename.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodetype.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodevalue.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeinsertbeforeinvalidnodetype.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodereplacechildinvalidnodetype.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodevalue03.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement04.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement05.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement07.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement10.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement11.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement12.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement13.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement14.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement03.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement04.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement05.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement06.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement07.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement08.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement03.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement04.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement05.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement06.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement07.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement08.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument05.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument15.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument16.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument17.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument18.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument19.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument20.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument21.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement03.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement04.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement05.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement06.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement07.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement08.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement09.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement10.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement100.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement101.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement102.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement103.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement104.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement105.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement106.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement107.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement108.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement109.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement11.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement110.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement111.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement112.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement113.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement114.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement115.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement116.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement117.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement118.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement119.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement12.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement120.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement121.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement122.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement123.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement124.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement125.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement126.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement127.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement128.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement129.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement13.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement130.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement131.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement132.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement133.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement134.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement135.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement136.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement137.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement138.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement139.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement14.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement140.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement141.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement142.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement143.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement144.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement145.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement15.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement16.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement17.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement18.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement19.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement20.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement21.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement22.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement23.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement24.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement25.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement26.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement27.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement28.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement29.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement30.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement31.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement32.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement33.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement34.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement35.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement36.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement37.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement38.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement39.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement40.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement41.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement42.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement43.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement44.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement45.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement46.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement47.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement48.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement49.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement50.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement51.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement52.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement53.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement54.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement55.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement56.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement57.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement58.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement59.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement60.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement61.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement62.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement63.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement64.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement65.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement66.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement67.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement68.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement69.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement70.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement71.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement72.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement73.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement74.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement75.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement76.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement77.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement78.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement79.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement80.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement81.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement82.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement83.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement84.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement85.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement86.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement87.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement88.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement89.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement90.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement91.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement92.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement93.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement94.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement95.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement96.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement97.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement98.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement99.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement03.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement04.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement05.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement06.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement07.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement08.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement03.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement07.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement09.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement10.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement05.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement06.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement07.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement09.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement11.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement12.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement03.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement04.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement05.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement07.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement08.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement09.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement10.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement11.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement12.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement13.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement14.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement15.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement16.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement18.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement21.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLIElement02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement03.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement04.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement03.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement04.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement05.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement06.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement08.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMapElement02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement03.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement04.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement03.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement04.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOListElement02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOListElement03.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement08.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement10.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement11.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement13.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement14.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement15.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement16.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement17.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement18.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement19.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement03.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement06.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement07.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement08.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLParamElement02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement03.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement04.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement05.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement06.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement07.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement03.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement06.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement07.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement08.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement09.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement10.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement11.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement12.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement13.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLStyleElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLStyleElement02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLStyleElement03.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement15.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement16.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement23.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement24.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement25.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableColElement07.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableColElement08.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement04.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement06.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement07.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement12.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableRowElement05.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement13.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement14.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement15.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement03.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement04.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement05.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement06.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement07.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement08.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement09.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement10.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTitleElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/anchor01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/anchor04.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/anchor05.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area03.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area04.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button03.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button04.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button05.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button06.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button07.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button08.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button09.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/doc01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/.cvsignore create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/HTMLDocument04.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/anchor.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/anchor2.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/applet.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/applet2.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/area.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/area2.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/base.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/base2.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/basefont.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/body.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/br.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/button.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/collection.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/directory.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/div.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/dl.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/document.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/element.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/fieldset.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/font.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/form.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/form2.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/form3.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/frame.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/frameset.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/head.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/heading.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/hr.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/html.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/iframe.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/img.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/input.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/isindex.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/label.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/legend.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/li.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/link.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/link2.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/map.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/menu.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/meta.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/mod.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/object.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/object2.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/olist.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/optgroup.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/option.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/paragraph.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/param.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/pre.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/quote.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/script.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/select.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/style.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/table.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/table1.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablecaption.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablecell.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablecol.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablerow.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablesection.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/textarea.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/title.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/ulist.html create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/hasFeature01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument03.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument04.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument07.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument09.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument10.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument12.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement09.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement10.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement19.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement20.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement22.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement04.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement05.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement14.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement15.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement16.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement17.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement18.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement19.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement08.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement09.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement19.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement20.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement21.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement22.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement23.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement24.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement25.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement26.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement27.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement28.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement29.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement30.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement31.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement32.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement33.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableRowElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement13.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement14.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement15.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object06.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object07.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object08.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object10.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object11.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object12.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object13.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object14.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement03.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement06.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement08.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement09.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement03.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement04.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement05.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement06.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement07.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement08.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement09.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement10.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement11.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBRElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement03.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement03.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement04.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement05.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement06.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection03.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection04.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection05.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection06.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection07.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection08.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection09.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection10.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection11.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection12.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDirectoryElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDivElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDlistElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument08.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument11.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument13.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument14.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement03.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFormElement02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement03.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement04.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement05.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement06.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement07.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement08.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement03.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement04.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement03.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement04.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement05.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement06.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHtmlElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement04.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement05.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement06.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement08.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement03.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement04.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement08.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement10.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement14.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement06.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement17.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement03.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLIElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement03.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement04.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement07.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement09.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMapElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMenuElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOListElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement03.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement04.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement05.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement06.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement07.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement09.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement12.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement04.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement05.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement09.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParagraphElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement03.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement04.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLPreElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCaptionElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement03.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement04.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement05.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement06.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement07.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement08.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement09.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement10.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement11.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement12.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement13.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement14.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement17.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement18.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement19.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement20.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement21.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement22.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement26.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement27.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement28.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement29.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement30.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement03.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement04.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement05.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement06.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement09.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement10.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement11.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement12.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement03.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement05.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement10.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement11.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement13.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement14.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement15.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement16.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement17.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement18.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement03.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement04.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement06.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement07.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement08.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement09.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement10.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement11.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement12.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement13.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement14.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement03.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement04.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement05.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement06.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement07.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement08.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement09.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement10.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement11.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement12.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement16.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement17.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement18.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement19.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement20.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement21.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement22.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement23.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement24.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement11.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement12.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/anchor02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/anchor03.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/anchor06.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/basefont01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/body01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/dlist01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object03.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object04.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object05.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object09.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object15.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table02.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table03.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table04.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table06.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table07.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table08.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table09.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table10.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table12.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table15.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table17.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table18.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table19.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table20.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table21.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table22.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table23.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table24.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table26.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table27.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table29.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table30.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table31.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table32.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table33.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table35.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table36.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table37.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table38.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table39.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table40.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table41.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table42.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table43.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table44.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table45.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table46.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table47.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table48.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table49.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table50.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table52.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table53.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table01.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table25.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table28.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table34.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table51.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js create mode 100644 knockoff-node/node_modules/knockoff/package.json create mode 100644 knockoff-node/node_modules/knockoff/testKnockOff.js create mode 100644 knockoff-node/package.json rename {QuickTemplate => knockoff-node}/test1.js (61%) create mode 100644 knockoff-node/test1b-incid.js create mode 100644 knockoff-node/test2-loop-lambda.js rename {QuickTemplate => knockoff-node}/test2-loop.js (79%) create mode 100644 knockoff-node/test3-itterator.js diff --git a/QuickTemplate/KnockoutCompiler.js b/QuickTemplate/KnockoutCompiler.js deleted file mode 100644 index 0e9ee30..0000000 --- a/QuickTemplate/KnockoutCompiler.js +++ /dev/null @@ -1,85 +0,0 @@ -/** - * Compile Knockout templates to quicktemplate JSON - */ -"use strict"; - -var DOMCompiler = require('./DOMCompiler.js'), - KnockoutExpression = require('./KnockoutExpression.js'), - domino = require('domino'); - -function handleNode(node, cb, options) { - var dataBind = node.getAttribute('data-bind'); - if (!dataBind) { - // let processing continue - return {}; - } - // XXX: keep this for client-side re-execution? - node.removeAttribute('data-bind'); - var bindObj = KnockoutExpression.parseObjectLiteral(dataBind), - tpl, - ret = {}; - // attr - if (bindObj.attr) { - // remove same attributes from element - Object.keys(bindObj.attr).forEach(function(name) { - // XXX: don't do destructive updates on the DOM - node.removeAttribute(name); - }); - ret.attr = ['attr', bindObj.attr]; - } - - if (bindObj.text) { - // replace content with text directive - ret.content = ['text', bindObj.text]; - return ret; - } - - if (bindObj.foreach) { - tpl = new DOMCompiler().compile(node, options); - var foreachOptions = { - data: bindObj.foreach, - tpl: tpl - }; - ret.content = ['foreach', foreachOptions]; - return ret; - } - - if (bindObj['if'] || bindObj.ifnot) { - - var name = bindObj['if'] ? 'if' : 'ifnot'; - tpl = new DOMCompiler().compile(node, options); - return { - content: [name, { - tpl: tpl, - data: bindObj[name] - }] - }; - } -} - -/** - * Compile a Knockout template to QuickTemplate JSON - * - * Accepts either a template string or a DOM node. - */ -function compile (nodeOrString) { - var options = { - handlers: { - 'element': handleNode - } - }, - node = nodeOrString; - - // Build a DOM if string was passed in - if (nodeOrString.constructor === String) { - node = domino.createDocument(nodeOrString).body; - // Include all children, but not itself - options.innerXML = true; - } - - return new DOMCompiler().compile(node, options); -} - -module.exports = { - compile: compile -}; diff --git a/QuickTemplate/package.json b/QuickTemplate/package.json deleted file mode 100644 index a336004..0000000 --- a/QuickTemplate/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "mustacheTest", - "dependencies": { - "domino": "x.x.x" - } -} diff --git a/handlebars-lightncandy-php/test1.php b/handlebars-lightncandy-php/test1.php index 6a7f25e..32d7d1a 100644 --- a/handlebars-lightncandy-php/test1.php +++ b/handlebars-lightncandy-php/test1.php @@ -1,6 +1,7 @@ {{ body }}' ); @@ -12,7 +13,6 @@ // Method 2 (potentially insecure): $renderer = LightnCandy::prepare( $phpStr ); -$time_start = microtime(true); for ( $n=0; $n <= 100000; ++$n ) { $vars['id'] = "divid"; $vars['body'] = 'my div\'s body'; diff --git a/handlebars-lightncandy-php/test1b-incid.php b/handlebars-lightncandy-php/test1b-incid.php index 1adf0eb..a98ad79 100644 --- a/handlebars-lightncandy-php/test1b-incid.php +++ b/handlebars-lightncandy-php/test1b-incid.php @@ -1,6 +1,7 @@ {{ body }}' ); @@ -12,7 +13,6 @@ // Method 2 (potentially insecure): $renderer = LightnCandy::prepare( $phpStr ); -$time_start = microtime(true); for ( $n=0; $n <= 100000; ++$n ) { $vars['id'] = "divid$n"; $vars['body'] = 'my div\'s body'; diff --git a/handlebars-lightncandy-php/test2-loop-lambda.php b/handlebars-lightncandy-php/test2-loop-lambda.php index 3d5ea46..07555b1 100644 --- a/handlebars-lightncandy-php/test2-loop-lambda.php +++ b/handlebars-lightncandy-php/test2-loop-lambda.php @@ -1,6 +1,18 @@ {{# items }}
    {{# getvalues}}{{.}}{{/ getvalues}}
    {{/ items }}', @@ -23,18 +35,6 @@ //$renderer = include($php_inc); // Method 2 (potentially insecure): $renderer = LightnCandy::prepare( $phpStr ); - -$items = array(); -for ( $n=0; $n <= 1000; ++$n ) { - $items['a'.mt_rand()] = time(); -} - -function getItems() { - global $items; - return $items; -} - -$time_start = microtime(true); for ( $n=0; $n <= 1000; ++$n ) { $vars['items'] = array_keys( $items ); $vars['id'] = "divid"; diff --git a/handlebars-lightncandy-php/test2-loop.php b/handlebars-lightncandy-php/test2-loop.php index d68aaef..aac3f82 100644 --- a/handlebars-lightncandy-php/test2-loop.php +++ b/handlebars-lightncandy-php/test2-loop.php @@ -1,9 +1,16 @@ {{# m_items }}
    {{ val }}
    {{/ m_items }}' ); - // Store the template... // Method 1 (preferred): //$php_inc = './cache/' . substr( basename( __FILE__ ), 0, -4 ) . '.cache.php'; @@ -11,13 +18,6 @@ //$renderer = include($php_inc); // Method 2 (potentially insecure): $renderer = LightnCandy::prepare( $phpStr ); - -$items = array(); -for ( $n=0; $n <= 1000; ++$n ) { - $items['a'.mt_rand()] = time(); -} - -$time_start = microtime(true); for ( $n=0; $n <= 1000; ++$n ) { $vars['id'] = "divid"; $vars['body'] = 'my div\'s body'; diff --git a/handlebars-lightncandy-php/test3-itterator.php b/handlebars-lightncandy-php/test3-itterator.php index 9fb7e23..1035769 100644 --- a/handlebars-lightncandy-php/test3-itterator.php +++ b/handlebars-lightncandy-php/test3-itterator.php @@ -2,13 +2,20 @@ require_once '../lib/lightncandy/src/lightncandy.php'; // Rendered PHP of template + + +$items = array(); +for ( $n=0; $n <= 1000; ++$n ) { + $items[] = "value:" . mt_rand(); +} + +$time_start = microtime(true); $phpStr = LightnCandy::compile( '
    {{# items }}

    {{ . }}

    {{/ items }}
    ', array( 'flags' => LightnCandy::FLAG_THIS ) ); - // Store the template... // Method 1 (preferred): //$php_inc = './cache/' . substr( basename( __FILE__ ), 0, -4 ) . '.cache.php'; @@ -16,13 +23,6 @@ //$renderer = include($php_inc); // Method 2 (potentially insecure): $renderer = LightnCandy::prepare( $phpStr ); - -$items = array(); -for ( $n=0; $n <= 1000; ++$n ) { - $items[] = "value:" . mt_rand(); -} - -$time_start = microtime(true); for ( $n=0; $n <= 1000; ++$n ) { $key = array_rand( $items ); $items[$key] = 'b:'.mt_rand(); diff --git a/QuickTemplate/.jshintrc b/knockoff-node/node_modules/KOTASM/.jshintrc similarity index 100% rename from QuickTemplate/.jshintrc rename to knockoff-node/node_modules/KOTASM/.jshintrc diff --git a/QuickTemplate/DOMCompiler.js b/knockoff-node/node_modules/KOTASM/DOMCompiler.js similarity index 100% rename from QuickTemplate/DOMCompiler.js rename to knockoff-node/node_modules/KOTASM/DOMCompiler.js diff --git a/knockoff-node/node_modules/KOTASM/KnockoutCompiler.js b/knockoff-node/node_modules/KOTASM/KnockoutCompiler.js new file mode 100644 index 0000000..40ee73e --- /dev/null +++ b/knockoff-node/node_modules/KOTASM/KnockoutCompiler.js @@ -0,0 +1,132 @@ +/** + * Compile Knockout templates to quicktemplate JSON + */ +"use strict"; + +var DOMCompiler = require('./DOMCompiler.js'), + KnockoutExpression = require('./KnockoutExpression.js'), + domino = require('domino'); + +function handleNode(node, cb, options) { + var dataBind = node.getAttribute('data-bind'); + if (!dataBind) { + // let processing continue + return {}; + } + // XXX: keep this for client-side re-execution? + //node.removeAttribute('data-bind'); + var bindObj = KnockoutExpression.parseObjectLiteral(dataBind), + bindOpts, ctlFn, ctlOpts, + ret = {}; + + /* + * attr + */ + if (bindObj.attr) { + // remove same attributes from element + Object.keys(bindObj.attr).forEach(function(name) { + // XXX: don't do destructive updates on the DOM + node.removeAttribute(name); + }); + ret.attr = ['attr', bindObj.attr]; + } + + if (bindObj.visible || bindObj['with']) { + if (!ret.attr) { + ret.attr = ['attr',{}]; + } + ret.attr[1].style = { + // Implement visible as inline style for now; consider moving to + // class / make this configurable + v: ret.attr[1].style || null, + app: [ + { + 'ifnot': bindObj.visible || bindObj['with'], + v: 'display: none !important;' + } + ] + }; + // Don't set ret.content, which lets the compiler descend into it + if (bindObj.visible) { + return ret; + } + } + + /* + * Now for the content + */ + if (bindObj.text) { + // replace content with text directive + ret.content = ['text', bindObj.text]; + return ret; + } + + // Special template functionality both inside + // template: { foreach: dataSource } + // or stand-alone as in foreach: { data: dataSource } + var templateTriggers = ['foreach', 'with', 'if', 'ifnot']; + // Descend into a template member if there is one + bindOpts = bindObj.template || bindObj; + ctlOpts = {}; + for (var i = 0; i <= templateTriggers.length; i++) { + var trigger = templateTriggers[i]; + if (trigger in bindOpts) { + ctlFn = trigger; + ctlOpts.data = bindOpts[ctlFn] || bindOpts.data; + if (trigger === 'foreach' && bindOpts.as) { + ctlOpts.as = bindOpts.as + ''; + } + if (!bindOpts.name) { + ctlOpts.tpl = new DOMCompiler().compile(node, options); + } else { + // Only allow statically named templates defined on the model + ctlOpts.tpl = bindOpts.name + ''; + } + ret.content = [ctlFn, ctlOpts]; + return ret; + } + } + + // Simple template without foreach / with / if / ifnot + if (bindObj.template) { + ctlOpts.data = bindOpts.data; + if (!bindOpts.name) { + ctlOpts.tpl = new DOMCompiler().compile(node, options); + } else { + // Only allow statically named templates defined on the model + ctlOpts.tpl = bindOpts.name + ''; + } + ret.content = ['template', ctlOpts]; + return ret; + } + + + return ret; +} + +/** + * Compile a Knockout template to TAssembly JSON + * + * Accepts either a template string or a DOM node. + */ +function compile (nodeOrString) { + var options = { + handlers: { + 'element': handleNode + } + }, + node = nodeOrString; + + // Build a DOM if string was passed in + if (nodeOrString.constructor === String) { + node = domino.createDocument(nodeOrString).body; + // Include all children, but not itself + options.innerXML = true; + } + + return new DOMCompiler().compile(node, options); +} + +module.exports = { + compile: compile +}; diff --git a/QuickTemplate/KnockoutExpression.js b/knockoff-node/node_modules/KOTASM/KnockoutExpression.js similarity index 100% rename from QuickTemplate/KnockoutExpression.js rename to knockoff-node/node_modules/KOTASM/KnockoutExpression.js diff --git a/knockoff-node/node_modules/KOTASM/README.md b/knockoff-node/node_modules/KOTASM/README.md new file mode 100644 index 0000000..937f55b --- /dev/null +++ b/knockoff-node/node_modules/KOTASM/README.md @@ -0,0 +1,4 @@ +kotasm +====== + +KnockoutJS to Tassembly compiler diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/.jshintrc b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/.jshintrc new file mode 100644 index 0000000..e1ed177 --- /dev/null +++ b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/.jshintrc @@ -0,0 +1,33 @@ +{ + "predef": [ + "ve", + + "setImmediate", + + "QUnit" + ], + + "bitwise": true, + "laxbreak": true, + "curly": true, + "eqeqeq": true, + "immed": true, + "latedef": true, + "newcap": true, + "noarg": true, + "noempty": true, + "nonew": true, + "regexp": false, + "undef": true, + "strict": true, + "trailing": true, + + "smarttabs": true, + "multistr": true, + + "node": true, + + "nomen": false, + "loopfunc": true + //"onevar": true +} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/README.md b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/README.md new file mode 100644 index 0000000..37fa556 --- /dev/null +++ b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/README.md @@ -0,0 +1,32 @@ +tassembly +========= + +JSON IR for templating and corresponding runtime implementation + +**"Fast but safe"** + +Security guarantees of DOM-based templating (tag balancing, context-sensitive +href/src/style sanitization etc) with the performance of string-based templating. + +See + [this page for background.](https://www.mediawiki.org/wiki/Requests_for_comment/HTML_templating_library/Knockout_-_Tassembly) + +* The JSON format is compact, can easily be persisted and can be evaluated with +a tiny library. + +* Performance is on par with compiled handlebars templates, the fastest +string-based library in our tests. + +* Compilation target for [KnockoutJS templates + (KoTasm)](https://github.com/gwicke/kotasm) and + [Spacebars](https://github.com/gwicke/TemplatePerf/tree/master/handlebars-htmljs-node/spacebars-qt). + +Examples: + +```javascript +['',['text','body'],''] + +['', + ['foreach',{data:'items',tpl:['',['text','val'],'']}], +''] +``` diff --git a/QuickTemplate/node_modules/domino/.npmignore b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/.npmignore similarity index 100% rename from QuickTemplate/node_modules/domino/.npmignore rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/.npmignore diff --git a/QuickTemplate/node_modules/domino/.travis.yml b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/.travis.yml similarity index 100% rename from QuickTemplate/node_modules/domino/.travis.yml rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/.travis.yml diff --git a/QuickTemplate/node_modules/domino/LICENSE b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/LICENSE similarity index 100% rename from QuickTemplate/node_modules/domino/LICENSE rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/LICENSE diff --git a/QuickTemplate/node_modules/domino/README.md b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/README.md similarity index 100% rename from QuickTemplate/node_modules/domino/README.md rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/README.md diff --git a/QuickTemplate/node_modules/domino/lib/CSSStyleDeclaration.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/CSSStyleDeclaration.js similarity index 100% rename from QuickTemplate/node_modules/domino/lib/CSSStyleDeclaration.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/CSSStyleDeclaration.js diff --git a/QuickTemplate/node_modules/domino/lib/CharacterData.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/CharacterData.js similarity index 100% rename from QuickTemplate/node_modules/domino/lib/CharacterData.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/CharacterData.js diff --git a/QuickTemplate/node_modules/domino/lib/Comment.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/Comment.js similarity index 100% rename from QuickTemplate/node_modules/domino/lib/Comment.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/Comment.js diff --git a/QuickTemplate/node_modules/domino/lib/CustomEvent.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/CustomEvent.js similarity index 100% rename from QuickTemplate/node_modules/domino/lib/CustomEvent.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/CustomEvent.js diff --git a/QuickTemplate/node_modules/domino/lib/DOMException.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/DOMException.js similarity index 100% rename from QuickTemplate/node_modules/domino/lib/DOMException.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/DOMException.js diff --git a/QuickTemplate/node_modules/domino/lib/DOMImplementation.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/DOMImplementation.js similarity index 100% rename from QuickTemplate/node_modules/domino/lib/DOMImplementation.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/DOMImplementation.js diff --git a/QuickTemplate/node_modules/domino/lib/DOMTokenList.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/DOMTokenList.js similarity index 100% rename from QuickTemplate/node_modules/domino/lib/DOMTokenList.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/DOMTokenList.js diff --git a/QuickTemplate/node_modules/domino/lib/Document.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/Document.js similarity index 100% rename from QuickTemplate/node_modules/domino/lib/Document.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/Document.js diff --git a/QuickTemplate/node_modules/domino/lib/DocumentFragment.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/DocumentFragment.js similarity index 100% rename from QuickTemplate/node_modules/domino/lib/DocumentFragment.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/DocumentFragment.js diff --git a/QuickTemplate/node_modules/domino/lib/DocumentType.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/DocumentType.js similarity index 100% rename from QuickTemplate/node_modules/domino/lib/DocumentType.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/DocumentType.js diff --git a/QuickTemplate/node_modules/domino/lib/Element.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/Element.js similarity index 100% rename from QuickTemplate/node_modules/domino/lib/Element.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/Element.js diff --git a/QuickTemplate/node_modules/domino/lib/Event.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/Event.js similarity index 100% rename from QuickTemplate/node_modules/domino/lib/Event.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/Event.js diff --git a/QuickTemplate/node_modules/domino/lib/EventTarget.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/EventTarget.js similarity index 100% rename from QuickTemplate/node_modules/domino/lib/EventTarget.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/EventTarget.js diff --git a/QuickTemplate/node_modules/domino/lib/FilteredElementList.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/FilteredElementList.js similarity index 100% rename from QuickTemplate/node_modules/domino/lib/FilteredElementList.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/FilteredElementList.js diff --git a/QuickTemplate/node_modules/domino/lib/HTMLParser.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/HTMLParser.js similarity index 100% rename from QuickTemplate/node_modules/domino/lib/HTMLParser.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/HTMLParser.js diff --git a/QuickTemplate/node_modules/domino/lib/Leaf.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/Leaf.js similarity index 100% rename from QuickTemplate/node_modules/domino/lib/Leaf.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/Leaf.js diff --git a/QuickTemplate/node_modules/domino/lib/Location.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/Location.js similarity index 100% rename from QuickTemplate/node_modules/domino/lib/Location.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/Location.js diff --git a/QuickTemplate/node_modules/domino/lib/MouseEvent.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/MouseEvent.js similarity index 100% rename from QuickTemplate/node_modules/domino/lib/MouseEvent.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/MouseEvent.js diff --git a/QuickTemplate/node_modules/domino/lib/MutationConstants.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/MutationConstants.js similarity index 100% rename from QuickTemplate/node_modules/domino/lib/MutationConstants.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/MutationConstants.js diff --git a/QuickTemplate/node_modules/domino/lib/Node.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/Node.js similarity index 100% rename from QuickTemplate/node_modules/domino/lib/Node.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/Node.js diff --git a/QuickTemplate/node_modules/domino/lib/NodeFilter.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/NodeFilter.js similarity index 100% rename from QuickTemplate/node_modules/domino/lib/NodeFilter.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/NodeFilter.js diff --git a/QuickTemplate/node_modules/domino/lib/NodeList.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/NodeList.js similarity index 100% rename from QuickTemplate/node_modules/domino/lib/NodeList.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/NodeList.js diff --git a/QuickTemplate/node_modules/domino/lib/ProcessingInstruction.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/ProcessingInstruction.js similarity index 100% rename from QuickTemplate/node_modules/domino/lib/ProcessingInstruction.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/ProcessingInstruction.js diff --git a/QuickTemplate/node_modules/domino/lib/Text.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/Text.js similarity index 100% rename from QuickTemplate/node_modules/domino/lib/Text.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/Text.js diff --git a/QuickTemplate/node_modules/domino/lib/TreeWalker.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/TreeWalker.js similarity index 100% rename from QuickTemplate/node_modules/domino/lib/TreeWalker.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/TreeWalker.js diff --git a/QuickTemplate/node_modules/domino/lib/UIEvent.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/UIEvent.js similarity index 100% rename from QuickTemplate/node_modules/domino/lib/UIEvent.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/UIEvent.js diff --git a/QuickTemplate/node_modules/domino/lib/URL.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/URL.js similarity index 100% rename from QuickTemplate/node_modules/domino/lib/URL.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/URL.js diff --git a/QuickTemplate/node_modules/domino/lib/URLDecompositionAttributes.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/URLDecompositionAttributes.js similarity index 100% rename from QuickTemplate/node_modules/domino/lib/URLDecompositionAttributes.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/URLDecompositionAttributes.js diff --git a/QuickTemplate/node_modules/domino/lib/Window.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/Window.js similarity index 100% rename from QuickTemplate/node_modules/domino/lib/Window.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/Window.js diff --git a/QuickTemplate/node_modules/domino/lib/attributes.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/attributes.js similarity index 100% rename from QuickTemplate/node_modules/domino/lib/attributes.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/attributes.js diff --git a/QuickTemplate/node_modules/domino/lib/cssparser.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/cssparser.js similarity index 100% rename from QuickTemplate/node_modules/domino/lib/cssparser.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/cssparser.js diff --git a/QuickTemplate/node_modules/domino/lib/events.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/events.js similarity index 100% rename from QuickTemplate/node_modules/domino/lib/events.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/events.js diff --git a/QuickTemplate/node_modules/domino/lib/htmlelts.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/htmlelts.js similarity index 100% rename from QuickTemplate/node_modules/domino/lib/htmlelts.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/htmlelts.js diff --git a/QuickTemplate/node_modules/domino/lib/impl.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/impl.js similarity index 100% rename from QuickTemplate/node_modules/domino/lib/impl.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/impl.js diff --git a/QuickTemplate/node_modules/domino/lib/index.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/index.js similarity index 100% rename from QuickTemplate/node_modules/domino/lib/index.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/index.js diff --git a/QuickTemplate/node_modules/domino/lib/select.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/select.js similarity index 100% rename from QuickTemplate/node_modules/domino/lib/select.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/select.js diff --git a/QuickTemplate/node_modules/domino/lib/utils.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/utils.js similarity index 100% rename from QuickTemplate/node_modules/domino/lib/utils.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/utils.js diff --git a/QuickTemplate/node_modules/domino/lib/xmlnames.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/xmlnames.js similarity index 100% rename from QuickTemplate/node_modules/domino/lib/xmlnames.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/xmlnames.js diff --git a/QuickTemplate/node_modules/domino/package.json b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/package.json similarity index 99% rename from QuickTemplate/node_modules/domino/package.json rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/package.json index 78bc25a..778d9cb 100644 --- a/QuickTemplate/node_modules/domino/package.json +++ b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/package.json @@ -26,5 +26,5 @@ "url": "https://github.com/fgnass/domino/issues" }, "_id": "domino@1.0.15", - "_from": "domino@x.x.x" + "_from": "domino@1.x.x" } diff --git a/QuickTemplate/node_modules/domino/test/domino.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/domino.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/domino.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/domino.js diff --git a/QuickTemplate/node_modules/domino/test/fixture/doc.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/fixture/doc.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/fixture/doc.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/fixture/doc.html diff --git a/QuickTemplate/node_modules/domino/test/fixture/jquery-1.9.1.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/fixture/jquery-1.9.1.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/fixture/jquery-1.9.1.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/fixture/jquery-1.9.1.js diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/README.md b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/README.md similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/README.md rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/README.md diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/harness/index.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/harness/index.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/harness/index.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/harness/index.js diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/harness/testharness.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/harness/testharness.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/harness/testharness.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/harness/testharness.js diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/index.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/index.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/index.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/index.js diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-01.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-01.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-01.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-02.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-02.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-02.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-02.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-01.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-01.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-01.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-02.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-02.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-02.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-02.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/browsing-the-web/load-text-plain.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/browsing-the-web/load-text-plain.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/browsing-the-web/load-text-plain.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/browsing-the-web/load-text-plain.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Document.getElementsByClassName-null-undef.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Document.getElementsByClassName-null-undef.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Document.getElementsByClassName-null-undef.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Document.getElementsByClassName-null-undef.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Element.getElementsByClassName-null-undef.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Element.getElementsByClassName-null-undef.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Element.getElementsByClassName-null-undef.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Element.getElementsByClassName-null-undef.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-foreign-frameset.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-foreign-frameset.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-foreign-frameset.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-foreign-frameset.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-frameset-and-body.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-frameset-and-body.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-frameset-and-body.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-frameset-and-body.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-setter-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-setter-01.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-setter-01.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-setter-01.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.embeds-document.plugins-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.embeds-document.plugins-01.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.embeds-document.plugins-01.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.embeds-document.plugins-01.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByClassName-same.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByClassName-same.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByClassName-same.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByClassName-same.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.xhtml b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.xhtml similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.xhtml rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.xhtml diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.xhtml b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.xhtml similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.xhtml rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.xhtml diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.xhtml b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.xhtml similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.xhtml rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.xhtml diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.xhtml b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.xhtml similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.xhtml rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.xhtml diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.xhtml b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.xhtml similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.xhtml rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.xhtml diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.xhtml b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.xhtml similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.xhtml rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.xhtml diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-same.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-same.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-same.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-same.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-01.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-01.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-01.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-02.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-02.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-02.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-02.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-01.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-01.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-01.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-02.xhtml b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-02.xhtml similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-02.xhtml rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-02.xhtml diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-03.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-03.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-03.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-03.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-04.xhtml b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-04.xhtml similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-04.xhtml rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-04.xhtml diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-05.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-05.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-05.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-05.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-06.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-06.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-06.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-06.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-07.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-07.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-07.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-07.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/nameditem-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/nameditem-01.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/nameditem-01.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/nameditem-01.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.close-01.xhtml b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.close-01.xhtml similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.close-01.xhtml rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.close-01.xhtml diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-01.xhtml b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-01.xhtml similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-01.xhtml rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-01.xhtml diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-02.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-02.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-02.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-02.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-01.xhtml b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-01.xhtml similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-01.xhtml rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-01.xhtml diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-02.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-02.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-02.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-02.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-01.xhtml b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-01.xhtml similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-01.xhtml rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-01.xhtml diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-02.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-02.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-02.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-02.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/elements-in-the-dom/unknown-element.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/elements-in-the-dom/unknown-element.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/elements-in-the-dom/unknown-element.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/elements-in-the-dom/unknown-element.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/events/event-handler-spec-example.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/events/event-handler-spec-example.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/events/event-handler-spec-example.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/events/event-handler-spec-example.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/general/interfaces.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/general/interfaces.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/general/interfaces.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/general/interfaces.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/classlist-nonstring.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/classlist-nonstring.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/classlist-nonstring.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/classlist-nonstring.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/dataset.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/dataset.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/dataset.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/dataset.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/document-dir.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/document-dir.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/document-dir.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/document-dir.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/id-name.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/id-name.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/id-name.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/id-name.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01-ref.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01-ref.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01-ref.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01-ref.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy-ref.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy-ref.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy-ref.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy-ref.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01-ref.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01-ref.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01-ref.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01-ref.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-01.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-01.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-01.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-02.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-02.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-02.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-02.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-03.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-03.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-03.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-03.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-04.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-04.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-04.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-04.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-01.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-01.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-01.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-02.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-02.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-02.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-02.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-03.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-03.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-03.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-03.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-04.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-04.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-04.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-04.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-05.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-05.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-05.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-05.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/heading-obsolete-attributes-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/heading-obsolete-attributes-01.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/heading-obsolete-attributes-01.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/heading-obsolete-attributes-01.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/script-IDL-event-htmlfor.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/script-IDL-event-htmlfor.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/script-IDL-event-htmlfor.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/script-IDL-event-htmlfor.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/parsing/comment.dat b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/parsing/comment.dat similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/parsing/comment.dat rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/parsing/comment.dat diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-01.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-01.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-01.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-02.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-02.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-02.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-02.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-03.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-03.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-03.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-03.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-04.xhtml b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-04.xhtml similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-04.xhtml rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-04.xhtml diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-05.xhtml b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-05.xhtml similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-05.xhtml rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-05.xhtml diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-06.xhtml b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-06.xhtml similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-06.xhtml rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-06.xhtml diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/200-textplain.cgi b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/200-textplain.cgi similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/200-textplain.cgi rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/200-textplain.cgi diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/404-textcss.cgi b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/404-textcss.cgi similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/404-textcss.cgi rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/404-textcss.cgi diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/support/text/200-textplain.cgi b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/support/text/200-textplain.cgi similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/support/text/200-textplain.cgi rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/support/text/200-textplain.cgi diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-rellist.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-rellist.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-rellist.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-rellist.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-style-error-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-style-error-01.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-style-error-01.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-style-error-01.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-style-element/style-error-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-style-element/style-error-01.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-style-element/style-error-01.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-style-element/style-error-01.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-01.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-01.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-01.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-02.xhtml b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-02.xhtml similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-02.xhtml rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-02.xhtml diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-03.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-03.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-03.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-03.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-04.xhtml b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-04.xhtml similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-04.xhtml rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-04.xhtml diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/embedded-content/the-video-element/video-tabindex.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/embedded-content/the-video-element/video-tabindex.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/embedded-content/the-video-element/video-tabindex.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/embedded-content/the-video-element/video-tabindex.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-interfaces-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-interfaces-01.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-interfaces-01.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-interfaces-01.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-matches.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-matches.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-matches.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-matches.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-01.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-01.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-01.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-02.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-02.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-02.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-02.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-input-element/input-textselection-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-input-element/input-textselection-01.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-input-element/input-textselection-01.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-input-element/input-textselection-01.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/textarea-type.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/textarea-type.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/textarea-type.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/textarea-type.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1-ref.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1-ref.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1-ref.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1-ref.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1a.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1a.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1a.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1a.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1b.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1b.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1b.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1b.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-language-type.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-language-type.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-language-type.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-language-type.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-01.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-01.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-01.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-02.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-02.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-02.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-02.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-noembed-noframes-iframe.xhtml b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-noembed-noframes-iframe.xhtml similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-noembed-noframes-iframe.xhtml rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-noembed-noframes-iframe.xhtml diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-01.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-01.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-01.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-02.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-02.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-02.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-02.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-getter-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-getter-01.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-getter-01.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-getter-01.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-setter-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-setter-01.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-setter-01.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-setter-01.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1-ref.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1-ref.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1-ref.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1-ref.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1a.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1a.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1a.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1a.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1b.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1b.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1b.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1b.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1c.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1c.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1c.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1c.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1d.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1d.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1d.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1d.html diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2-ref.svg b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2-ref.svg similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2-ref.svg rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2-ref.svg diff --git a/QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2.svg b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2.svg similarity index 100% rename from QuickTemplate/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2.svg rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2.svg diff --git a/QuickTemplate/node_modules/domino/test/index.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/index.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/index.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/index.js diff --git a/QuickTemplate/node_modules/domino/test/mocha.opts b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/mocha.opts similarity index 100% rename from QuickTemplate/node_modules/domino/test/mocha.opts rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/mocha.opts diff --git a/QuickTemplate/node_modules/domino/test/w3c/README.md b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/README.md similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/README.md rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/README.md diff --git a/QuickTemplate/node_modules/domino/test/w3c/harness/DomTestCase.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/harness/DomTestCase.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/harness/DomTestCase.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/harness/DomTestCase.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/harness/index.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/harness/index.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/harness/index.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/harness/index.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/index.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/index.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/index.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/index.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/documentgetdoctypenodtd.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/documentgetdoctypenodtd.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/documentgetdoctypenodtd.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/documentgetdoctypenodtd.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi1.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi1.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi1.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi1.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/files/.cvsignore b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/.cvsignore similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/files/.cvsignore rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/.cvsignore diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/files/hc_nodtdstaff.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/hc_nodtdstaff.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/files/hc_nodtdstaff.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/hc_nodtdstaff.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/files/hc_staff.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/hc_staff.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/files/hc_staff.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/hc_staff.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/files/staff.dtd b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/staff.dtd similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/files/staff.dtd rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/staff.dtd diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddata.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddata.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddata.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddata.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddatagetdata.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddatagetdata.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddatagetdata.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddatagetdata.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatabegining.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatabegining.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatabegining.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatabegining.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataend.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataend.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataend.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataend.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataexceedslength.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataexceedslength.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataexceedslength.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataexceedslength.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatagetlengthanddata.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatagetlengthanddata.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatagetlengthanddata.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatagetlengthanddata.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatamiddle.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatamiddle.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatamiddle.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatamiddle.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatagetdata.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatagetdata.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatagetdata.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatagetdata.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatagetlength.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatagetlength.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatagetlength.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatagetlength.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetgreater.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetgreater.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetgreater.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetgreater.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetnegative.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetnegative.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetnegative.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetnegative.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetgreater.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetgreater.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetgreater.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetgreater.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetnegative.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetnegative.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetnegative.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetnegative.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedatacountnegative.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedatacountnegative.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedatacountnegative.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedatacountnegative.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetgreater.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetgreater.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetgreater.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetgreater.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetnegative.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetnegative.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetnegative.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetnegative.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringcountnegative.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringcountnegative.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringcountnegative.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringcountnegative.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringnegativeoffset.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringnegativeoffset.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringnegativeoffset.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringnegativeoffset.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringoffsetgreater.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringoffsetgreater.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringoffsetgreater.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringoffsetgreater.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatabeginning.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatabeginning.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatabeginning.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatabeginning.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdataend.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdataend.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdataend.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdataend.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatamiddle.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatamiddle.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatamiddle.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatamiddle.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatabegining.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatabegining.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatabegining.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatabegining.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataend.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataend.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataend.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataend.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofarg.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofarg.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofarg.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofarg.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofdata.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofdata.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofdata.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofdata.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatamiddle.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatamiddle.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatamiddle.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatamiddle.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatasetnodevalue.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatasetnodevalue.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatasetnodevalue.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatasetnodevalue.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringexceedsvalue.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringexceedsvalue.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringexceedsvalue.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringexceedsvalue.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringvalue.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringvalue.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringvalue.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringvalue.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_commentgetcomment.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_commentgetcomment.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_commentgetcomment.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_commentgetcomment.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentcreatecomment.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreatecomment.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentcreatecomment.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreatecomment.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentcreatedocumentfragment.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreatedocumentfragment.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentcreatedocumentfragment.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreatedocumentfragment.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentcreateelement.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreateelement.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentcreateelement.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreateelement.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentcreateelementcasesensitive.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreateelementcasesensitive.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentcreateelementcasesensitive.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreateelementcasesensitive.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentcreatetextnode.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreatetextnode.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentcreatetextnode.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreatetextnode.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentgetdoctype.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetdoctype.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentgetdoctype.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetdoctype.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamelength.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamelength.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamelength.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamelength.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnametotallength.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnametotallength.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnametotallength.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnametotallength.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamevalue.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamevalue.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamevalue.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamevalue.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentgetimplementation.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetimplementation.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentgetimplementation.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetimplementation.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentgetrootnode.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetrootnode.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentgetrootnode.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetrootnode.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement1.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement1.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement1.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement1.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenoversion.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenoversion.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenoversion.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenoversion.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenull.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenull.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenull.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenull.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturexml.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturexml.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturexml.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturexml.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementaddnewattribute.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementaddnewattribute.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementaddnewattribute.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementaddnewattribute.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementchangeattributevalue.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementchangeattributevalue.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementchangeattributevalue.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementchangeattributevalue.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagname.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagname.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagname.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagname.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnameaccessnodelist.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnameaccessnodelist.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnameaccessnodelist.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnameaccessnodelist.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamenomatch.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamenomatch.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamenomatch.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamenomatch.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamespecialvalue.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamespecialvalue.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamespecialvalue.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamespecialvalue.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementgettagname.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgettagname.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementgettagname.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgettagname.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception1.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception1.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception1.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception1.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementnormalize.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementnormalize.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementnormalize.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementnormalize.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementremoveattribute.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementremoveattribute.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementremoveattribute.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementremoveattribute.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementretrieveallattributes.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementretrieveallattributes.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementretrieveallattributes.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementretrieveallattributes.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementretrieveattrvalue.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementretrieveattrvalue.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementretrieveattrvalue.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementretrieveattrvalue.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementretrievetagname.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementretrievetagname.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_elementretrievetagname.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementretrievetagname.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_entitiesremovenameditem1.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_entitiesremovenameditem1.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_entitiesremovenameditem1.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_entitiesremovenameditem1.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_entitiessetnameditem1.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_entitiessetnameditem1.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_entitiessetnameditem1.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_entitiessetnameditem1.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_namednodemapchildnoderange.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_namednodemapchildnoderange.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_namednodemapchildnoderange.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_namednodemapchildnoderange.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_namednodemapnumberofnodes.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_namednodemapnumberofnodes.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_namednodemapnumberofnodes.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_namednodemapnumberofnodes.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeappendchild.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchild.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeappendchild.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchild.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildchildexists.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildchildexists.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildchildexists.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildchildexists.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeappendchilddocfragment.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchilddocfragment.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeappendchilddocfragment.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchilddocfragment.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildgetnodename.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildgetnodename.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildgetnodename.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildgetnodename.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnewchilddiffdocument.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnewchilddiffdocument.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnewchilddiffdocument.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnewchilddiffdocument.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnodeancestor.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnodeancestor.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnodeancestor.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnodeancestor.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeattributenodeattribute.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeattributenodeattribute.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeattributenodeattribute.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeattributenodeattribute.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodechildnodes.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodechildnodes.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodechildnodes.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodechildnodes.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesappendchild.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesappendchild.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesappendchild.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesappendchild.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesempty.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesempty.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesempty.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesempty.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodecloneattributescopied.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecloneattributescopied.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodecloneattributescopied.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecloneattributescopied.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeclonefalsenocopytext.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonefalsenocopytext.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeclonefalsenocopytext.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonefalsenocopytext.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeclonegetparentnull.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonegetparentnull.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeclonegetparentnull.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonegetparentnull.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodefalse.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodefalse.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodefalse.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodefalse.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodetrue.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodetrue.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodetrue.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodetrue.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeclonetruecopytext.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonetruecopytext.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeclonetruecopytext.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonetruecopytext.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodeattributes.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodeattributes.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodeattributes.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodeattributes.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodename.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodename.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodename.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodename.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodetype.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodetype.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodetype.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodetype.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodevalue.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodevalue.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodevalue.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodevalue.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodename.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodename.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodename.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodename.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodetype.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodetype.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodetype.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodetype.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodevalue.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodevalue.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodevalue.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodevalue.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodeattribute.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodeattribute.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodeattribute.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodeattribute.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodename.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodename.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodename.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodename.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodetype.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodetype.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodetype.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodetype.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodevalue.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodevalue.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodevalue.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodevalue.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodeattributes.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodeattributes.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodeattributes.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodeattributes.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodename.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodename.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodename.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodename.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodetype.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodetype.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodetype.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodetype.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodevalue.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodevalue.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodevalue.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodevalue.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchild.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchild.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchild.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchild.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchildnull.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchildnull.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchildnull.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchildnull.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchild.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchild.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchild.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchild.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchildnull.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchildnull.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchildnull.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchildnull.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsibling.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsibling.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsibling.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsibling.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsiblingnull.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsiblingnull.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsiblingnull.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsiblingnull.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocument.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocument.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocument.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocument.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocumentnull.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocumentnull.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocumentnull.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocumentnull.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussibling.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussibling.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussibling.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussibling.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussiblingnull.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussiblingnull.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussiblingnull.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussiblingnull.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodes.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodes.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodes.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodes.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodesfalse.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodesfalse.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodesfalse.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodesfalse.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbefore.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbefore.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbefore.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbefore.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforedocfragment.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforedocfragment.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforedocfragment.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforedocfragment.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchilddiffdocument.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchilddiffdocument.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchilddiffdocument.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchilddiffdocument.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchildexists.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchildexists.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchildexists.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchildexists.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodeancestor.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodeancestor.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodeancestor.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodeancestor.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodename.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodename.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodename.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodename.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnonexistent.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnonexistent.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnonexistent.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnonexistent.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnull.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnull.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnull.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnull.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodelistindexequalzero.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexequalzero.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodelistindexequalzero.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexequalzero.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlength.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlength.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlength.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlength.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlengthofemptylist.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlengthofemptylist.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlengthofemptylist.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlengthofemptylist.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodelistindexnotzero.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexnotzero.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodelistindexnotzero.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexnotzero.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnfirstitem.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnfirstitem.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnfirstitem.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnfirstitem.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnlastitem.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnlastitem.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnlastitem.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnlastitem.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodelisttraverselist.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelisttraverselist.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodelisttraverselist.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelisttraverselist.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeparentnode.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeparentnode.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeparentnode.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeparentnode.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeparentnodenull.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeparentnodenull.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodeparentnodenull.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeparentnodenull.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_noderemovechild.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechild.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_noderemovechild.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechild.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_noderemovechildgetnodename.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechildgetnodename.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_noderemovechildgetnodename.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechildgetnodename.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_noderemovechildnode.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechildnode.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_noderemovechildnode.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechildnode.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_noderemovechildoldchildnonexistent.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechildoldchildnonexistent.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_noderemovechildoldchildnonexistent.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechildoldchildnonexistent.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodereplacechild.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechild.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodereplacechild.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechild.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchilddiffdocument.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchilddiffdocument.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchilddiffdocument.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchilddiffdocument.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchildexists.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchildexists.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchildexists.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchildexists.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodeancestor.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodeancestor.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodeancestor.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodeancestor.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodename.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodename.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodename.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodename.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildoldchildnonexistent.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildoldchildnonexistent.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildoldchildnonexistent.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildoldchildnonexistent.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodetextnodeattribute.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodeattribute.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodetextnodeattribute.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodeattribute.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodetextnodename.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodename.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodetextnodename.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodename.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodetextnodetype.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodetype.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodetextnodetype.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodetype.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodetextnodevalue.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodevalue.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodetextnodevalue.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodevalue.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodevalue01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodevalue01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodevalue02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodevalue02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodevalue04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue04.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodevalue04.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue04.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodevalue05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue05.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodevalue05.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue05.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodevalue06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue06.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodevalue06.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue06.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodevalue07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue07.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodevalue07.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue07.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodevalue08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue08.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_nodevalue08.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue08.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_notationsremovenameditem1.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_notationsremovenameditem1.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_notationsremovenameditem1.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_notationsremovenameditem1.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_notationssetnameditem1.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_notationssetnameditem1.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_notationssetnameditem1.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_notationssetnameditem1.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerrnegativeoffset.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerrnegativeoffset.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerrnegativeoffset.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerrnegativeoffset.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerroffsetoutofbounds.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerroffsetoutofbounds.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerroffsetoutofbounds.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerroffsetoutofbounds.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_textparseintolistofelements.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textparseintolistofelements.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_textparseintolistofelements.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textparseintolistofelements.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_textsplittextfour.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittextfour.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_textsplittextfour.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittextfour.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_textsplittextone.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittextone.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_textsplittextone.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittextone.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_textsplittextthree.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittextthree.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_textsplittextthree.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittextthree.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_textsplittexttwo.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittexttwo.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_textsplittexttwo.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittexttwo.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_textwithnomarkup.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textwithnomarkup.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/hc_textwithnomarkup.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textwithnomarkup.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref1.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref1.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref1.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref1.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild1.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild1.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild1.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild1.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild2.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild2.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild2.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild2.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild3.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild3.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild3.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild3.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild4.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild4.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild4.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild4.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild5.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild5.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild5.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild5.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild6.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild6.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild6.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild6.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes1.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes1.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes1.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes1.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes2.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes2.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes2.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes2.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrclonenode1.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrclonenode1.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrclonenode1.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrclonenode1.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatedocumentfragment.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatedocumentfragment.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatedocumentfragment.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatedocumentfragment.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode2.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode2.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode2.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode2.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attreffectivevalue.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attreffectivevalue.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attreffectivevalue.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attreffectivevalue.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrfirstchild.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrfirstchild.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrfirstchild.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrfirstchild.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue1.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue1.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue1.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue1.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue2.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue2.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue2.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue2.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrhaschildnodes.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrhaschildnodes.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrhaschildnodes.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrhaschildnodes.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore1.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore1.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore1.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore1.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore2.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore2.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore2.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore2.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore3.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore3.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore3.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore3.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore4.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore4.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore4.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore4.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore5.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore5.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore5.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore5.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore6.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore6.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore6.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore6.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore7.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore7.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore7.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore7.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrlastchild.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrlastchild.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrlastchild.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrlastchild.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrname.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrname.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrname.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrname.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnextsiblingnull.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnextsiblingnull.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnextsiblingnull.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnextsiblingnull.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnormalize.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnormalize.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnormalize.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnormalize.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrparentnodenull.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrparentnodenull.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrparentnodenull.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrparentnodenull.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrprevioussiblingnull.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrprevioussiblingnull.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrprevioussiblingnull.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrprevioussiblingnull.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild1.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild1.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild1.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild1.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild2.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild2.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild2.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild2.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild1.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild1.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild1.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild1.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild2.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild2.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild2.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild2.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue1.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue1.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue1.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue1.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue2.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue2.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue2.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue2.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvalue.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvalue.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvalue.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvalue.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvaluechanged.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvaluechanged.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvaluechanged.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvaluechanged.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentcreateattribute.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentcreateattribute.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentcreateattribute.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentcreateattribute.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute1.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute1.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute1.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute1.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementassociatedattribute.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementassociatedattribute.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementassociatedattribute.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementassociatedattribute.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementcreatenewattribute.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementcreatenewattribute.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementcreatenewattribute.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementcreatenewattribute.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenode.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenode.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenode.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenode.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenodenull.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenodenull.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenodenull.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenodenull.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetelementempty.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetelementempty.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetelementempty.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetelementempty.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementinuseattributeerr.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementinuseattributeerr.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementinuseattributeerr.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementinuseattributeerr.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnormalize2.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnormalize2.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnormalize2.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnormalize2.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnotfounderr.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnotfounderr.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnotfounderr.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnotfounderr.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributeaftercreate.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributeaftercreate.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributeaftercreate.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributeaftercreate.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributenode.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributenode.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributenode.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributenode.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceattributewithself.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceattributewithself.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceattributewithself.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceattributewithself.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattribute.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattribute.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattribute.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattribute.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattributegevalue.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattributegevalue.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattributegevalue.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattributegevalue.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementsetattributenodenull.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementsetattributenodenull.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementsetattributenodenull.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementsetattributenodenull.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementwrongdocumenterr.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementwrongdocumenterr.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementwrongdocumenterr.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementwrongdocumenterr.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapgetnameditem.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapgetnameditem.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapgetnameditem.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapgetnameditem.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapinuseattributeerr.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapinuseattributeerr.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapinuseattributeerr.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapinuseattributeerr.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapnotfounderr.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapnotfounderr.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapnotfounderr.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapnotfounderr.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapremovenameditem.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapremovenameditem.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapremovenameditem.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapremovenameditem.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnattrnode.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnattrnode.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnattrnode.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnattrnode.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnfirstitem.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnfirstitem.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnfirstitem.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnfirstitem.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnlastitem.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnlastitem.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnlastitem.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnlastitem.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnnull.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnnull.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnnull.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnnull.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditem.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditem.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditem.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditem.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemreturnvalue.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemreturnvalue.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemreturnvalue.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemreturnvalue.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemthatexists.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemthatexists.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemthatexists.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemthatexists.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemwithnewvalue.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemwithnewvalue.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemwithnewvalue.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemwithnewvalue.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapwrongdocumenterr.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapwrongdocumenterr.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapwrongdocumenterr.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapwrongdocumenterr.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeappendchildinvalidnodetype.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeappendchildinvalidnodetype.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeappendchildinvalidnodetype.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeappendchildinvalidnodetype.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodename.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodename.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodename.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodename.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodetype.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodetype.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodetype.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodetype.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodevalue.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodevalue.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodevalue.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodevalue.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeinsertbeforeinvalidnodetype.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeinsertbeforeinvalidnodetype.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeinsertbeforeinvalidnodetype.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeinsertbeforeinvalidnodetype.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodereplacechildinvalidnodetype.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodereplacechildinvalidnodetype.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodereplacechildinvalidnodetype.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodereplacechildinvalidnodetype.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodevalue03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodevalue03.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodevalue03.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodevalue03.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement04.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement04.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement04.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement05.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement05.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement05.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement07.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement07.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement07.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement10.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement10.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement10.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement10.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement11.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement11.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement11.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement11.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement12.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement12.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement12.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement12.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement13.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement13.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement13.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement13.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement14.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement14.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement14.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement14.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAreaElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAreaElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAreaElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAreaElement02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAreaElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement03.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAreaElement03.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement03.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAreaElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement04.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAreaElement04.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement04.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAreaElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement05.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAreaElement05.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement05.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAreaElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement06.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAreaElement06.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement06.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAreaElement07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement07.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAreaElement07.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement07.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAreaElement08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement08.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLAreaElement08.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement08.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLButtonElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLButtonElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLButtonElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLButtonElement02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLButtonElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement03.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLButtonElement03.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement03.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLButtonElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement04.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLButtonElement04.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement04.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLButtonElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement05.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLButtonElement05.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement05.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLButtonElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement06.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLButtonElement06.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement06.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLButtonElement07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement07.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLButtonElement07.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement07.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLButtonElement08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement08.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLButtonElement08.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement08.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument05.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument05.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument05.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument15.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument15.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument15.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument15.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument16.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument16.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument16.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument16.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument17.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument17.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument17.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument17.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument18.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument18.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument18.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument18.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument19.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument19.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument19.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument19.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument20.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument20.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument20.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument20.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument21.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument21.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLDocument21.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument21.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement03.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement03.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement03.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement04.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement04.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement04.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement05.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement05.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement05.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement06.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement06.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement06.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement07.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement07.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement07.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement08.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement08.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement08.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement09.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement09.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement09.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement10.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement10.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement10.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement10.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement100.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement100.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement100.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement100.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement101.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement101.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement101.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement101.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement102.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement102.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement102.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement102.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement103.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement103.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement103.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement103.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement104.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement104.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement104.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement104.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement105.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement105.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement105.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement105.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement106.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement106.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement106.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement106.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement107.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement107.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement107.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement107.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement108.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement108.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement108.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement108.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement109.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement109.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement109.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement109.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement11.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement11.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement11.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement11.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement110.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement110.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement110.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement110.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement111.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement111.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement111.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement111.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement112.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement112.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement112.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement112.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement113.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement113.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement113.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement113.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement114.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement114.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement114.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement114.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement115.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement115.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement115.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement115.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement116.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement116.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement116.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement116.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement117.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement117.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement117.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement117.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement118.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement118.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement118.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement118.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement119.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement119.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement119.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement119.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement12.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement12.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement12.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement12.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement120.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement120.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement120.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement120.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement121.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement121.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement121.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement121.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement122.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement122.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement122.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement122.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement123.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement123.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement123.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement123.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement124.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement124.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement124.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement124.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement125.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement125.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement125.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement125.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement126.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement126.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement126.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement126.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement127.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement127.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement127.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement127.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement128.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement128.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement128.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement128.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement129.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement129.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement129.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement129.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement13.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement13.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement13.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement13.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement130.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement130.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement130.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement130.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement131.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement131.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement131.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement131.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement132.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement132.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement132.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement132.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement133.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement133.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement133.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement133.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement134.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement134.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement134.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement134.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement135.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement135.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement135.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement135.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement136.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement136.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement136.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement136.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement137.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement137.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement137.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement137.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement138.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement138.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement138.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement138.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement139.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement139.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement139.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement139.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement14.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement14.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement14.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement14.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement140.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement140.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement140.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement140.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement141.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement141.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement141.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement141.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement142.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement142.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement142.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement142.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement143.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement143.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement143.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement143.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement144.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement144.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement144.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement144.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement145.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement145.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement145.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement145.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement15.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement15.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement15.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement15.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement16.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement16.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement16.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement16.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement17.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement17.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement17.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement17.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement18.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement18.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement18.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement18.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement19.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement19.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement19.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement19.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement20.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement20.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement20.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement20.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement21.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement21.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement21.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement21.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement22.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement22.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement22.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement22.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement23.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement23.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement23.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement23.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement24.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement24.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement24.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement24.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement25.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement25.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement25.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement25.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement26.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement26.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement26.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement26.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement27.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement27.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement27.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement27.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement28.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement28.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement28.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement28.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement29.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement29.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement29.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement29.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement30.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement30.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement30.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement30.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement31.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement31.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement31.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement31.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement32.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement32.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement32.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement32.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement33.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement33.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement33.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement33.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement34.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement34.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement34.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement34.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement35.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement35.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement35.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement35.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement36.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement36.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement36.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement36.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement37.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement37.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement37.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement37.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement38.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement38.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement38.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement38.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement39.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement39.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement39.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement39.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement40.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement40.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement40.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement40.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement41.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement41.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement41.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement41.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement42.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement42.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement42.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement42.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement43.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement43.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement43.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement43.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement44.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement44.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement44.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement44.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement45.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement45.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement45.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement45.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement46.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement46.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement46.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement46.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement47.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement47.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement47.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement47.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement48.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement48.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement48.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement48.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement49.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement49.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement49.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement49.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement50.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement50.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement50.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement50.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement51.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement51.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement51.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement51.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement52.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement52.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement52.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement52.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement53.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement53.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement53.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement53.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement54.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement54.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement54.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement54.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement55.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement55.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement55.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement55.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement56.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement56.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement56.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement56.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement57.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement57.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement57.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement57.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement58.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement58.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement58.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement58.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement59.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement59.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement59.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement59.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement60.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement60.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement60.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement60.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement61.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement61.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement61.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement61.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement62.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement62.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement62.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement62.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement63.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement63.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement63.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement63.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement64.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement64.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement64.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement64.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement65.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement65.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement65.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement65.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement66.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement66.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement66.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement66.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement67.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement67.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement67.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement67.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement68.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement68.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement68.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement68.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement69.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement69.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement69.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement69.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement70.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement70.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement70.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement70.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement71.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement71.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement71.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement71.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement72.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement72.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement72.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement72.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement73.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement73.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement73.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement73.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement74.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement74.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement74.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement74.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement75.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement75.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement75.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement75.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement76.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement76.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement76.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement76.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement77.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement77.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement77.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement77.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement78.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement78.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement78.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement78.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement79.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement79.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement79.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement79.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement80.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement80.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement80.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement80.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement81.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement81.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement81.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement81.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement82.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement82.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement82.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement82.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement83.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement83.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement83.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement83.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement84.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement84.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement84.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement84.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement85.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement85.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement85.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement85.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement86.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement86.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement86.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement86.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement87.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement87.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement87.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement87.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement88.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement88.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement88.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement88.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement89.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement89.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement89.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement89.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement90.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement90.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement90.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement90.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement91.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement91.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement91.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement91.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement92.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement92.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement92.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement92.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement93.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement93.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement93.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement93.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement94.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement94.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement94.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement94.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement95.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement95.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement95.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement95.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement96.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement96.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement96.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement96.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement97.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement97.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement97.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement97.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement98.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement98.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement98.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement98.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement99.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement99.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLElement99.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement99.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLFormElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement03.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLFormElement03.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement03.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLFormElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement04.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLFormElement04.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement04.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLFormElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement05.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLFormElement05.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement05.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLFormElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement06.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLFormElement06.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement06.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLFormElement07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement07.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLFormElement07.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement07.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLFormElement08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement08.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLFormElement08.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement08.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement03.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement03.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement03.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement07.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement07.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement07.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement09.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement09.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement09.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement10.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement10.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement10.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement10.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLImageElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement05.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLImageElement05.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement05.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLImageElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement06.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLImageElement06.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement06.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLImageElement07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement07.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLImageElement07.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement07.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLImageElement09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement09.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLImageElement09.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement09.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLImageElement11.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement11.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLImageElement11.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement11.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLImageElement12.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement12.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLImageElement12.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement12.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement03.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement03.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement03.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement04.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement04.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement04.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement05.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement05.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement05.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement07.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement07.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement07.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement08.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement08.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement08.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement09.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement09.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement09.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement10.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement10.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement10.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement10.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement11.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement11.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement11.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement11.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement12.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement12.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement12.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement12.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement13.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement13.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement13.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement13.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement14.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement14.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement14.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement14.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement15.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement15.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement15.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement15.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement16.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement16.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement16.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement16.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement18.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement18.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement18.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement18.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement21.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement21.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLInputElement21.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement21.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLIElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLIElement02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLIElement02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLIElement02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLabelElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLabelElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLabelElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLabelElement02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLabelElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement03.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLabelElement03.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement03.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLabelElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement04.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLabelElement04.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement04.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLinkElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLinkElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLinkElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement03.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLinkElement03.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement03.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLinkElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement04.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLinkElement04.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement04.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLinkElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement05.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLinkElement05.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement05.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLinkElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement06.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLinkElement06.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement06.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLinkElement08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement08.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLLinkElement08.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement08.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLMapElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMapElement02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLMapElement02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMapElement02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLMetaElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLMetaElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLMetaElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLMetaElement02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLMetaElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement03.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLMetaElement03.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement03.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLMetaElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement04.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLMetaElement04.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement04.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLModElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLModElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLModElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLModElement02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLModElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement03.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLModElement03.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement03.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLModElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement04.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLModElement04.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement04.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOListElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOListElement02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOListElement02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOListElement02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOListElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOListElement03.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOListElement03.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOListElement03.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement08.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement08.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement08.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement10.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement10.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement10.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement10.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement11.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement11.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement11.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement11.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement13.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement13.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement13.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement13.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement14.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement14.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement14.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement14.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement15.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement15.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement15.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement15.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement16.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement16.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement16.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement16.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement17.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement17.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement17.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement17.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement18.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement18.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement18.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement18.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement19.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement19.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLObjectElement19.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement19.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOptionElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOptionElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOptionElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOptionElement02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOptionElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement03.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOptionElement03.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement03.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOptionElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement06.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOptionElement06.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement06.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOptionElement07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement07.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOptionElement07.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement07.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOptionElement08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement08.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLOptionElement08.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement08.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLParamElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLParamElement02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLParamElement02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLParamElement02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLScriptElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLScriptElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLScriptElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLScriptElement02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLScriptElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement03.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLScriptElement03.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement03.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLScriptElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement04.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLScriptElement04.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement04.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLScriptElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement05.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLScriptElement05.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement05.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLScriptElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement06.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLScriptElement06.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement06.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLScriptElement07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement07.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLScriptElement07.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement07.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement03.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement03.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement03.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement06.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement06.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement06.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement07.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement07.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement07.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement08.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement08.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement08.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement09.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement09.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement09.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement10.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement10.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement10.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement10.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement11.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement11.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement11.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement11.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement12.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement12.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement12.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement12.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement13.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement13.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLSelectElement13.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement13.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLStyleElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLStyleElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLStyleElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLStyleElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLStyleElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLStyleElement02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLStyleElement02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLStyleElement02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLStyleElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLStyleElement03.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLStyleElement03.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLStyleElement03.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement15.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement15.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement15.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement15.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement16.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement16.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement16.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement16.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement23.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement23.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement23.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement23.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement24.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement24.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement24.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement24.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement25.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement25.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement25.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement25.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableColElement07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableColElement07.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableColElement07.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableColElement07.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableColElement08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableColElement08.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableColElement08.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableColElement08.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableElement02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement04.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableElement04.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement04.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement06.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableElement06.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement06.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableElement07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement07.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableElement07.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement07.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableElement12.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement12.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableElement12.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement12.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableRowElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableRowElement05.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableRowElement05.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableRowElement05.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement13.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement13.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement13.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement13.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement14.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement14.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement14.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement14.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement15.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement15.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement15.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement15.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement03.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement03.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement03.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement04.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement04.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement04.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement05.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement05.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement05.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement06.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement06.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement06.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement07.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement07.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement07.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement08.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement08.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement08.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement09.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement09.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement09.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement10.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement10.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement10.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement10.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTitleElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTitleElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/HTMLTitleElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTitleElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/anchor01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/anchor01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/anchor01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/anchor01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/anchor04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/anchor04.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/anchor04.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/anchor04.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/anchor05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/anchor05.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/anchor05.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/anchor05.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/area01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/area01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/area02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/area02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/area03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area03.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/area03.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area03.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/area04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area04.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/area04.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area04.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/button01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/button01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/button02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/button02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/button03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button03.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/button03.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button03.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/button04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button04.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/button04.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button04.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/button05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button05.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/button05.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button05.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/button06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button06.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/button06.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button06.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/button07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button07.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/button07.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button07.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/button08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button08.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/button08.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button08.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/button09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button09.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/button09.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button09.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/doc01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/doc01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/doc01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/doc01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/.cvsignore b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/.cvsignore similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/.cvsignore rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/.cvsignore diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/HTMLDocument04.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/HTMLDocument04.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/HTMLDocument04.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/HTMLDocument04.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/anchor.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/anchor.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/anchor.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/anchor.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/anchor2.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/anchor2.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/anchor2.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/anchor2.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/applet.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/applet.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/applet.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/applet.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/applet2.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/applet2.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/applet2.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/applet2.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/area.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/area.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/area.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/area.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/area2.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/area2.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/area2.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/area2.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/base.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/base.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/base.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/base.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/base2.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/base2.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/base2.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/base2.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/basefont.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/basefont.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/basefont.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/basefont.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/body.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/body.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/body.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/body.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/br.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/br.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/br.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/br.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/button.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/button.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/button.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/button.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/collection.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/collection.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/collection.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/collection.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/directory.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/directory.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/directory.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/directory.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/div.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/div.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/div.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/div.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/dl.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/dl.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/dl.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/dl.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/document.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/document.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/document.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/document.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/element.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/element.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/element.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/element.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/fieldset.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/fieldset.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/fieldset.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/fieldset.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/font.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/font.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/font.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/font.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/form.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/form.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/form.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/form.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/form2.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/form2.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/form2.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/form2.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/form3.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/form3.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/form3.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/form3.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/frame.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/frame.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/frame.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/frame.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/frameset.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/frameset.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/frameset.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/frameset.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/head.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/head.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/head.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/head.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/heading.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/heading.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/heading.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/heading.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/hr.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/hr.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/hr.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/hr.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/html.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/html.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/html.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/html.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/iframe.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/iframe.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/iframe.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/iframe.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/img.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/img.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/img.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/img.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/input.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/input.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/input.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/input.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/isindex.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/isindex.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/isindex.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/isindex.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/label.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/label.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/label.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/label.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/legend.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/legend.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/legend.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/legend.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/li.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/li.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/li.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/li.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/link.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/link.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/link.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/link.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/link2.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/link2.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/link2.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/link2.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/map.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/map.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/map.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/map.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/menu.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/menu.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/menu.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/menu.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/meta.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/meta.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/meta.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/meta.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/mod.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/mod.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/mod.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/mod.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/object.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/object.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/object.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/object.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/object2.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/object2.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/object2.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/object2.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/olist.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/olist.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/olist.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/olist.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/optgroup.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/optgroup.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/optgroup.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/optgroup.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/option.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/option.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/option.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/option.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/paragraph.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/paragraph.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/paragraph.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/paragraph.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/param.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/param.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/param.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/param.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/pre.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/pre.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/pre.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/pre.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/quote.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/quote.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/quote.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/quote.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/script.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/script.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/script.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/script.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/select.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/select.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/select.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/select.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/style.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/style.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/style.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/style.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/table.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/table.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/table.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/table.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/table1.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/table1.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/table1.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/table1.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/tablecaption.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablecaption.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/tablecaption.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablecaption.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/tablecell.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablecell.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/tablecell.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablecell.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/tablecol.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablecol.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/tablecol.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablecol.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/tablerow.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablerow.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/tablerow.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablerow.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/tablesection.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablesection.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/tablesection.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablesection.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/textarea.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/textarea.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/textarea.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/textarea.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/title.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/title.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/title.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/title.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/files/ulist.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/ulist.html similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/files/ulist.html rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/ulist.html diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/hasFeature01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/hasFeature01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/hasFeature01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/hasFeature01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument03.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument03.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument03.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument04.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument04.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument04.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument07.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument07.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument07.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument09.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument09.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument09.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument10.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument10.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument10.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument10.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument12.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument12.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument12.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument12.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement09.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement09.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement09.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement10.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement10.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement10.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement10.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement19.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement19.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement19.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement19.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement20.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement20.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement20.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement20.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement22.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement22.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement22.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement22.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement04.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement04.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement04.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement05.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement05.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement05.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement14.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement14.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement14.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement14.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement15.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement15.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement15.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement15.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement16.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement16.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement16.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement16.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement17.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement17.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement17.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement17.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement18.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement18.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement18.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement18.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement19.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement19.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement19.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement19.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement08.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement08.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement08.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement09.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement09.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement09.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement19.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement19.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement19.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement19.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement20.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement20.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement20.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement20.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement21.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement21.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement21.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement21.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement22.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement22.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement22.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement22.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement23.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement23.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement23.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement23.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement24.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement24.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement24.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement24.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement25.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement25.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement25.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement25.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement26.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement26.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement26.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement26.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement27.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement27.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement27.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement27.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement28.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement28.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement28.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement28.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement29.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement29.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement29.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement29.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement30.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement30.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement30.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement30.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement31.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement31.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement31.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement31.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement32.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement32.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement32.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement32.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement33.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement33.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement33.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement33.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableRowElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableRowElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableRowElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableRowElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement13.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement13.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement13.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement13.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement14.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement14.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement14.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement14.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement15.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement15.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement15.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement15.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/object01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/object01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/object06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object06.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/object06.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object06.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/object07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object07.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/object07.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object07.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/object08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object08.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/object08.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object08.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/object10.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object10.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/object10.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object10.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/object11.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object11.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/object11.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object11.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/object12.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object12.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/object12.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object12.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/object13.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object13.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/object13.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object13.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/object14.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object14.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/object14.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object14.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement03.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement03.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement03.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement06.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement06.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement06.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement08.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement08.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement08.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement09.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement09.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement09.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement03.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement03.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement03.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement04.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement04.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement04.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement05.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement05.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement05.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement06.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement06.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement06.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement07.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement07.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement07.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement08.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement08.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement08.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement09.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement09.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement09.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement10.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement10.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement10.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement10.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement11.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement11.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement11.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement11.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBRElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBRElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBRElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBRElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement03.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement03.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement03.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement03.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement03.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement03.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement04.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement04.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement04.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement05.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement05.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement05.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement06.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement06.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement06.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection03.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection03.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection03.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection04.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection04.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection04.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection05.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection05.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection05.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection06.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection06.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection06.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection07.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection07.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection07.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection08.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection08.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection08.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection09.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection09.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection09.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection10.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection10.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection10.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection10.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection11.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection11.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection11.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection11.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection12.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection12.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection12.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection12.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDirectoryElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDirectoryElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDirectoryElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDirectoryElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDivElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDivElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDivElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDivElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDlistElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDlistElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDlistElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDlistElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument08.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument08.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument08.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument11.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument11.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument11.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument11.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument13.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument13.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument13.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument13.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument14.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument14.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument14.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument14.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement03.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement03.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement03.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFormElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFormElement02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFormElement02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFormElement02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement03.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement03.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement03.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement04.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement04.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement04.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement05.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement05.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement05.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement06.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement06.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement06.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement07.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement07.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement07.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement08.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement08.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement08.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement03.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement03.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement03.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement04.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement04.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement04.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement03.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement03.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement03.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement04.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement04.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement04.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement05.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement05.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement05.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement06.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement06.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement06.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHtmlElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHtmlElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHtmlElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHtmlElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement04.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement04.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement04.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement05.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement05.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement05.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement06.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement06.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement06.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement08.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement08.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement08.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement03.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement03.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement03.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement04.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement04.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement04.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement08.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement08.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement08.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement10.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement10.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement10.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement10.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement14.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement14.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement14.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement14.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement06.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement06.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement06.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement17.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement17.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement17.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement17.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement03.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement03.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement03.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLIElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLIElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLIElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLIElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement03.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement03.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement03.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement04.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement04.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement04.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement07.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement07.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement07.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement09.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement09.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement09.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMapElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMapElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMapElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMapElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMenuElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMenuElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMenuElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMenuElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOListElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOListElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOListElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOListElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement03.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement03.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement03.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement04.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement04.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement04.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement05.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement05.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement05.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement06.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement06.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement06.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement07.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement07.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement07.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement09.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement09.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement09.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement12.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement12.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement12.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement12.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement04.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement04.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement04.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement05.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement05.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement05.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement09.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement09.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement09.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParagraphElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParagraphElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParagraphElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParagraphElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement03.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement03.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement03.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement04.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement04.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement04.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLPreElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLPreElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLPreElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLPreElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCaptionElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCaptionElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCaptionElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCaptionElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement03.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement03.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement03.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement04.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement04.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement04.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement05.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement05.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement05.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement06.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement06.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement06.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement07.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement07.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement07.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement08.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement08.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement08.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement09.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement09.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement09.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement10.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement10.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement10.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement10.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement11.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement11.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement11.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement11.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement12.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement12.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement12.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement12.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement13.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement13.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement13.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement13.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement14.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement14.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement14.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement14.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement17.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement17.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement17.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement17.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement18.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement18.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement18.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement18.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement19.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement19.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement19.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement19.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement20.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement20.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement20.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement20.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement21.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement21.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement21.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement21.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement22.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement22.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement22.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement22.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement26.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement26.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement26.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement26.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement27.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement27.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement27.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement27.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement28.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement28.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement28.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement28.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement29.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement29.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement29.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement29.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement30.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement30.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement30.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement30.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement03.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement03.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement03.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement04.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement04.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement04.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement05.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement05.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement05.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement06.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement06.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement06.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement09.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement09.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement09.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement10.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement10.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement10.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement10.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement11.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement11.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement11.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement11.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement12.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement12.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement12.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement12.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement03.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement03.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement03.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement05.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement05.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement05.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement10.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement10.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement10.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement10.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement11.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement11.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement11.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement11.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement13.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement13.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement13.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement13.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement14.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement14.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement14.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement14.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement15.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement15.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement15.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement15.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement16.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement16.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement16.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement16.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement17.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement17.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement17.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement17.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement18.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement18.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement18.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement18.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement03.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement03.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement03.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement04.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement04.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement04.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement06.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement06.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement06.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement07.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement07.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement07.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement08.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement08.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement08.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement09.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement09.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement09.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement10.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement10.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement10.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement10.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement11.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement11.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement11.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement11.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement12.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement12.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement12.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement12.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement13.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement13.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement13.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement13.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement14.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement14.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement14.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement14.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement03.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement03.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement03.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement04.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement04.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement04.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement05.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement05.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement05.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement06.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement06.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement06.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement07.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement07.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement07.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement08.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement08.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement08.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement09.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement09.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement09.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement10.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement10.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement10.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement10.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement11.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement11.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement11.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement11.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement12.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement12.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement12.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement12.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement16.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement16.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement16.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement16.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement17.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement17.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement17.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement17.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement18.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement18.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement18.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement18.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement19.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement19.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement19.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement19.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement20.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement20.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement20.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement20.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement21.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement21.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement21.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement21.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement22.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement22.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement22.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement22.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement23.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement23.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement23.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement23.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement24.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement24.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement24.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement24.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement11.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement11.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement11.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement11.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement12.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement12.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement12.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement12.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/anchor02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/anchor02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/anchor02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/anchor02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/anchor03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/anchor03.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/anchor03.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/anchor03.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/anchor06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/anchor06.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/anchor06.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/anchor06.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/basefont01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/basefont01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/basefont01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/basefont01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/body01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/body01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/body01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/body01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/dlist01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/dlist01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/dlist01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/dlist01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/object02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/object02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/object03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object03.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/object03.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object03.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/object04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object04.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/object04.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object04.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/object05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object05.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/object05.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object05.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/object09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object09.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/object09.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object09.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/object15.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object15.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/object15.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object15.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table02.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table02.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table02.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table03.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table03.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table03.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table04.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table04.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table04.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table06.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table06.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table06.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table07.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table07.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table07.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table08.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table08.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table08.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table09.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table09.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table09.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table10.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table10.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table10.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table10.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table12.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table12.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table12.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table12.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table15.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table15.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table15.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table15.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table17.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table17.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table17.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table17.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table18.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table18.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table18.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table18.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table19.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table19.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table19.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table19.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table20.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table20.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table20.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table20.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table21.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table21.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table21.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table21.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table22.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table22.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table22.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table22.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table23.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table23.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table23.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table23.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table24.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table24.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table24.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table24.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table26.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table26.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table26.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table26.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table27.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table27.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table27.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table27.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table29.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table29.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table29.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table29.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table30.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table30.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table30.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table30.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table31.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table31.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table31.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table31.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table32.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table32.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table32.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table32.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table33.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table33.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table33.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table33.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table35.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table35.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table35.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table35.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table36.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table36.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table36.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table36.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table37.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table37.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table37.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table37.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table38.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table38.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table38.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table38.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table39.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table39.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table39.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table39.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table40.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table40.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table40.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table40.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table41.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table41.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table41.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table41.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table42.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table42.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table42.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table42.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table43.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table43.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table43.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table43.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table44.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table44.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table44.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table44.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table45.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table45.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table45.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table45.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table46.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table46.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table46.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table46.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table47.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table47.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table47.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table47.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table48.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table48.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table48.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table48.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table49.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table49.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table49.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table49.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table50.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table50.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table50.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table50.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table52.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table52.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table52.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table52.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table53.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table53.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/obsolete/table53.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table53.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/table01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table01.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/table01.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table01.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/table25.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table25.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/table25.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table25.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/table28.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table28.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/table28.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table28.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/table34.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table34.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/table34.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table34.js diff --git a/QuickTemplate/node_modules/domino/test/w3c/level1/html/table51.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table51.js similarity index 100% rename from QuickTemplate/node_modules/domino/test/w3c/level1/html/table51.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table51.js diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/package.json b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/package.json new file mode 100644 index 0000000..5846fa3 --- /dev/null +++ b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/package.json @@ -0,0 +1,17 @@ +{ + "name": "tassembly", + "version": "0.1.0", + "main": "tassembly.js", + "dependencies": { + "domino": "1.x.x" + }, + "readme": "tassembly\n=========\n\nJSON IR for templating and corresponding runtime implementation\n\n**\"Fast but safe\"**\n\nSecurity guarantees of DOM-based templating (tag balancing, context-sensitive\nhref/src/style sanitization etc) with the performance of string-based templating.\n\nSee\n [this page for background.](https://www.mediawiki.org/wiki/Requests_for_comment/HTML_templating_library/Knockout_-_Tassembly)\n\n* The JSON format is compact, can easily be persisted and can be evaluated with\na tiny library.\n\n* Performance is on par with compiled handlebars templates, the fastest\nstring-based library in our tests.\n\n* Compilation target for [KnockoutJS templates\n (KoTasm)](https://github.com/gwicke/kotasm) and\n [Spacebars](https://github.com/gwicke/TemplatePerf/tree/master/handlebars-htmljs-node/spacebars-qt).\n\nExamples:\n\n```javascript\n['',['text','body'],'']\n\n['',\n ['foreach',{data:'items',tpl:['',['text','val'],'']}],\n'']\n```\n", + "readmeFilename": "README.md", + "description": "tassembly =========", + "_id": "tassembly@0.1.0", + "dist": { + "shasum": "db58fd095005cc59dfe54ecdc2c55ddb2e6732fc" + }, + "_resolved": "git+https://github.com/gwicke/tassembly.git#f0d301f2332b8005b3374d0dd2447f82217cfe3f", + "_from": "tassembly@git+https://github.com/gwicke/tassembly.git#master" +} diff --git a/QuickTemplate/quicktemplate.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/tassembly.js similarity index 53% rename from QuickTemplate/quicktemplate.js rename to knockoff-node/node_modules/KOTASM/node_modules/tassembly/tassembly.js index 6491bb6..fd8c640 100644 --- a/QuickTemplate/quicktemplate.js +++ b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/tassembly.js @@ -21,33 +21,51 @@ "use strict"; -function QuickTemplate () { +function TAssembly () { this.uid = 0; // Cache for sub-structure parameters. Storing them globally keyed on uid // makes it possible to reuse compilations. this.cache = {}; + // Partials: tassembly objects + this.partials = {}; } -QuickTemplate.prototype.getUID = function() { +TAssembly.prototype._getUID = function() { this.uid++; return this.uid; }; -QuickTemplate.prototype.evalExpr = function (expression, scope) { - // Simple case / fast path +/** + * Call a callable, or return a plain value. + * + * If support for IE <= 8 is not needed we could also use + * Object.defineProperty to define callables as getters instead for lower + * overhead. + */ +TAssembly.prototype._maybeCall = function(val) { + if (!val || val.constructor !== Function) { + return val; + } else { + return val(); + } +}; + + +TAssembly.prototype._evalExpr = function (expression, scope) { + // Simple variable / fast path if (/^[a-zA-Z_]+$/.test(expression)) { - return scope[expression]; + return this._maybeCall(scope[expression]); } // String literal if (/^'.*'$/.test(expression)) { - return expression.slice(1,-1).replace(/\\'/g, "'"); + return this._maybeCall(expression.slice(1,-1).replace(/\\'/g, "'")); } // Dot notation if (/^[a-zA-Z_]+(?:[.][a-zA-Z_])+$/.test(expression)) { try { - return new Function('scope', 'return scope.' + expression)(scope); + return this._maybeCall(new Function('scope', 'return scope.' + expression)(scope)); } catch (e) { return ''; } @@ -57,52 +75,99 @@ QuickTemplate.prototype.evalExpr = function (expression, scope) { // sanity. We could do the heavy sanitization work in the compiler & just // eval simple JS-compatible expressions here (possibly using 'with', // although that is deprecated & disabled in strict mode). For now we play - // it safe & don't eval the expression. + // it safe & don't eval the expression. Can relax this later. return expression; }; /* - * Optimized evalExpr stub for the code generator + * Optimized _evalExpr stub for the code generator * * Directly dereference the scope for simple expressions (the common case), * and fall back to the full method otherwise. */ function evalExprStub(expr) { if (/^[a-zA-Z_]+$/.test(expr)) { - // fast case - return 'scope[' + JSON.stringify(expr) + ']'; + // simple variable, the fast and common case + // XXX: Omit this._maybeCall if not on IE (defineProperty available) + return 'this._maybeCall(scope[' + JSON.stringify(expr) + '])'; } else { - return 'this.evalExpr(' + JSON.stringify(expr) + ', scope)'; + return 'this._evalExpr(' + JSON.stringify(expr) + ', scope)'; } } -QuickTemplate.prototype.ctlFn_foreach = function(options, scope, cb) { +TAssembly.prototype._getTemplate = function (tpl, cb) { + if (Array.isArray(tpl)) { + return tpl; + } else { + // String literal: strip quotes + if (/^'.*'$/.test(tpl)) { + tpl = tpl.slice(1,-1).replace(/\\'/g, "'"); + } + return this.partials[tpl]; + } +}; + +TAssembly.prototype.ctlFn_foreach = function(options, scope, cb) { // deal with options - var iterable = this.evalExpr(options.data, scope), + var iterable = this._evalExpr(options.data, scope), // worth compiling the nested template - tpl = this.compile(options.tpl, cb), + tpl = this.compile(this._getTemplate(options.tpl), cb), l = iterable.length; for(var i = 0; i < l; i++) { tpl(iterable[i]); } }; +TAssembly.prototype.ctlFn_template = function(options, scope, cb) { + // deal with options + var data = this._evalExpr(options.data, scope); + this.render(this._getTemplate(options.tpl), data, cb); +}; + +TAssembly.prototype.ctlFn_with = function(options, scope, cb) { + var val = this._evalExpr(options.data, scope); + if (val) { + this.render(this._getTemplate(options.tpl), val, cb); + } else { + // TODO: hide the parent element similar to visible + } +}; -QuickTemplate.prototype.ctlFn_if = function(options, scope, cb) { - if (this.evalExpr(options.data, scope)) { +TAssembly.prototype.ctlFn_if = function(options, scope, cb) { + if (this._evalExpr(options.data, scope)) { this.render(options.tpl, scope, cb); } }; -QuickTemplate.prototype.ctlFn_ifnot = function(options, scope, cb) { - if (!this.evalExpr(options.data, scope)) { +TAssembly.prototype.ctlFn_ifnot = function(options, scope, cb) { + if (!this._evalExpr(options.data, scope)) { this.render(options.tpl, scope, cb); } }; -QuickTemplate.prototype.ctlFn_attr = function(options, scope, cb) { - var self = this; +TAssembly.prototype.ctlFn_attr = function(options, scope, cb) { + var self = this, + attVal; Object.keys(options).forEach(function(name) { - var attVal = self.evalExpr(options[name], scope); + var attValObj = options[name]; + if (typeof attValObj === 'string') { + attVal = self._evalExpr(options[name], scope); + } else { + // Must be an object + attVal = attValObj.v || ''; + if (attValObj.app && Array.isArray(attValObj.app)) { + attValObj.app.forEach(function(appItem) { + if (appItem['if'] && self._evalExpr(appItem['if'], scope)) { + attVal += appItem.v || ''; + } + if (appItem.ifnot && ! self._evalExpr(appItem.ifnot, scope)) { + attVal += appItem.v || ''; + } + }); + } + if (!attVal && attValObj.v === null) { + attVal = null; + } + } if (attVal !== null) { cb(' ' + name + '="' // TODO: context-sensitive sanitization on href / src / style @@ -114,63 +179,11 @@ QuickTemplate.prototype.ctlFn_attr = function(options, scope, cb) { }; // Actually handled inline for performance -//QuickTemplate.prototype.ctlFn_text = function(options, scope, cb) { -// cb(this.evalExpr(options, scope)); +//TAssembly.prototype.ctlFn_text = function(options, scope, cb) { +// cb(this._evalExpr(options, scope)); //}; - -QuickTemplate.prototype.render = function(template, scope, cb) { - var res; - if (!cb) { - res = []; - cb = function(bit) { - res.push(bit); - }; - } - - var self = this, - l = template.length; - for(var i = 0; i < l; i++) { - var bit = template[i], - c = bit.constructor; - if (c === String) { - cb(bit); - } else if (c === Array) { - // control structure - var fnName = bit[0]; - if (fnName === 'text') { - cb( ('' + this.evalExpr(bit[1], scope)) // convert to string - .replace(/[<&]/g, this._xmlEncoder)); // and escape - } else if ( fnName === 'attr' ) { - var keys = Object.keys(bit[1]), - options = bit[1]; - for (var j = 0; j < keys.length; j++) { - var name = keys[j], - attVal = self.evalExpr(options[name], scope); - if (attVal !== null) { - cb(' ' + name + '="' - + (''+attVal).replace(/[<&"]/g, this._xmlEncoder) - + '"'); - } - } - } else { - - try { - self['ctlFn_' + bit[0]](bit[1], scope, cb); - } catch(e) { - console.error('Unsupported control function:', bit, e); - } - } - } else { - console.error('Unsupported type:', bit); - } - } - if(res) { - return res.join(''); - } -}; - -QuickTemplate.prototype._xmlEncoder = function(c){ +TAssembly.prototype._xmlEncoder = function(c){ switch(c) { case '<': return '<'; case '>': return '>'; @@ -180,27 +193,7 @@ QuickTemplate.prototype._xmlEncoder = function(c){ } }; -// Alternative escaping machinery from handlebars -var badChars = /[&<>"'`]/g; -var possible = /[&<>"'`]/; -QuickTemplate.prototype.escHTML = function (string) { - //if (string instanceof SafeString) { - // return string; - //} - if (!string && string !== 0) { - return ""; - } - - // Force a string conversion as this will be done by the append regardless and - // the regex test will do this transparently behind the scenes, causing issues if - // an object's to string has escaped characters in it. - string = "" + string; - - if(!possible.test(string)) { return string; } - return string.replace(badChars, this._xmlEncoder); -}; - -QuickTemplate.prototype.assemble = function(template, cb) { +TAssembly.prototype._assemble = function(template, cb) { var code = []; code.push('var val;'); if (!cb) { @@ -221,18 +214,20 @@ QuickTemplate.prototype.assemble = function(template, cb) { // Inline text and attr handlers for speed if (fnName === 'text') { - code.push('val = "" + ' + evalExprStub(bit[1]) + ';'); - code.push('if(!/[<&]/.test(val)) { cb(val); }'); - code.push('else { cb(val.replace(/[<&]/g,this._xmlEncoder)); };'); + code.push('val = ' + evalExprStub(bit[1]) + ';' + + 'val = !val && val !== 0 ? "" : "" + val;' + + 'if(!/[<&]/.test(val)) { cb(val); }' + + 'else { cb(val.replace(/[<&]/g,this._xmlEncoder)); };'); } else if ( fnName === 'attr' ) { var names = Object.keys(bit[1]); for(var j = 0; j < names.length; j++) { var name = names[j]; - code.push('val = "" + ' + evalExprStub(bit[1][name]) + ';'); + code.push('val = ' + evalExprStub(bit[1][name]) + ';'); code.push("if (val !== null) { " // escape the attribute value // TODO: hook up context-sensitive sanitization for href, // src, style + + 'val = !val && val !== 0 ? "" : "" + val;' + 'if(/[<&"]/.test(val)) { val = val.replace(/[<&"]/g,this._xmlEncoder); }' + "cb(" + JSON.stringify(' ' + name + '="') + " + val " @@ -244,7 +239,7 @@ QuickTemplate.prototype.assemble = function(template, cb) { // Store the args in the cache to a) keep the compiled code // small, and b) share compilations of sub-blocks between // repeated calls - var uid = this.getUID(); + var uid = this._getUID(); this.cache[uid] = bit[1]; code.push('try {'); @@ -267,7 +262,74 @@ QuickTemplate.prototype.assemble = function(template, cb) { return code.join('\n'); }; -QuickTemplate.prototype.compile = function(template, cb) { +/** + * Interpreted template expansion entry point + * + * @param {array} template The tassembly template in JSON IR + * @param {object} scope the model + * @param {function} cb (optional) chunk callback for bits of text (instead of + * return) + * @return {string} Rendered template string + */ +TAssembly.prototype.render = function(template, scope, cb) { + var res; + if (!cb) { + res = []; + cb = function(bit) { + res.push(bit); + }; + } + + // Just call a cached compiled version if available + if (template.__cachedFn) { + return template.__cachedFn.call(this, scope, cb); + } + + var self = this, + l = template.length; + for(var i = 0; i < l; i++) { + var bit = template[i], + c = bit.constructor, + val; + if (c === String) { + cb(bit); + } else if (c === Array) { + // control structure + var fnName = bit[0]; + if (fnName === 'text') { + val = this._evalExpr(bit[1], scope); + if (!val && val !== 0) { + val = ''; + } + cb( ('' + val) // convert to string + .replace(/[<&]/g, this._xmlEncoder)); // and escape + } else { + + try { + self['ctlFn_' + bit[0]](bit[1], scope, cb); + } catch(e) { + console.error('Unsupported control function:', bit, e); + } + } + } else { + console.error('Unsupported type:', bit); + } + } + if(res) { + return res.join(''); + } +}; + + +/** + * Compile a template to a function + * + * @param {array} template The tassembly template in JSON IR + * @param {function} cb (optional) chunk callback for bits of text (instead of + * return) + * @return {function} template function(model) + */ +TAssembly.prototype.compile = function(template, cb) { var self = this; if (template.__cachedFn) { // @@ -275,7 +337,7 @@ QuickTemplate.prototype.compile = function(template, cb) { return template.__cachedFn.call(self, scope, cb); }; } - var code = this.assemble(template, cb); + var code = this._assemble(template, cb); //console.log(code); var fn = new Function('scope', 'cb', code); template.__cachedFn = fn; @@ -286,4 +348,4 @@ QuickTemplate.prototype.compile = function(template, cb) { return res; }; -module.exports = new QuickTemplate(); +module.exports = new TAssembly(); diff --git a/knockoff-node/node_modules/KOTASM/package.json b/knockoff-node/node_modules/KOTASM/package.json new file mode 100644 index 0000000..75a2053 --- /dev/null +++ b/knockoff-node/node_modules/KOTASM/package.json @@ -0,0 +1,16 @@ +{ + "name": "KOTASM", + "version": "0.1.0", + "dependencies": { + "tassembly": "git+https://github.com/gwicke/tassembly.git#master" + }, + "readme": "kotasm\n======\n\nKnockoutJS to Tassembly compiler\n", + "readmeFilename": "README.md", + "description": "kotasm ======", + "_id": "KOTASM@0.1.0", + "dist": { + "shasum": "9db06dec48d11e287e8ca0c1096c796c39b831da" + }, + "_resolved": "git+https://github.com/gwicke/kotasm#66f5edbfd3a3a8e44519663a990c4affa9fb5e46", + "_from": "kotasm@git+https://github.com/gwicke/kotasm#master" +} diff --git a/QuickTemplate/testKnockoutCompiler.js b/knockoff-node/node_modules/KOTASM/testKnockoutCompiler.js similarity index 51% rename from QuickTemplate/testKnockoutCompiler.js rename to knockoff-node/node_modules/KOTASM/testKnockoutCompiler.js index 6d92522..c81a82d 100644 --- a/QuickTemplate/testKnockoutCompiler.js +++ b/knockoff-node/node_modules/KOTASM/testKnockoutCompiler.js @@ -1,12 +1,15 @@ var c = require('./KnockoutCompiler.js'), - qt = require('./quicktemplate.js'); + ta = require('tassembly'); + +// Register a partial +ta.partials.testPartial = c.compile(''); function test(input) { - // compile the knockout template to QT JSON - var json = c.compile(input), - // now compile the QT JSON to a JS method - // could also interpret it with qt.render(json, testData); - tpl = qt.compile(json); + // compile the knockout template to TAssembly JSON + var json = c.compile(input); + // now compile the TAssembly JSON to a JS method + // could also interpret it with ta.render(json, testData); + //tpl = ta.compile(json); var testData = { items: [ @@ -19,6 +22,10 @@ function test(input) { value: 'value2' } ], + obj: { + foo: "foo", + bar: "bar" + }, name: 'Some name', content: 'Some sample content', id: 'mw1234', @@ -29,10 +36,10 @@ function test(input) { console.log('========================='); console.log('Knockout template:'); console.log(input); - console.log('QT JSON:'); + console.log('TAssembly JSON:'); console.log(JSON.stringify(json, null, 2)); console.log('Rendered HTML:'); - console.log(tpl(testData)); + console.log(ta.render(json, testData)); } test('
    ' @@ -49,4 +56,14 @@ test('
    Hello world
    '); // arithmetic expression test('
    Hello world
    '); -test('hello worldfoo
    ipsum
    ') +test('hello worldfoo
    ipsum
    '); + +test('hello worldfoo
    hopefully foohopefully bar
    '); + +test('hello world
    '); + +test('
    '); + +test('
    '); + +test('
    '); diff --git a/knockoff-node/node_modules/knockoff/.jshintrc b/knockoff-node/node_modules/knockoff/.jshintrc new file mode 100644 index 0000000..e1ed177 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/.jshintrc @@ -0,0 +1,33 @@ +{ + "predef": [ + "ve", + + "setImmediate", + + "QUnit" + ], + + "bitwise": true, + "laxbreak": true, + "curly": true, + "eqeqeq": true, + "immed": true, + "latedef": true, + "newcap": true, + "noarg": true, + "noempty": true, + "nonew": true, + "regexp": false, + "undef": true, + "strict": true, + "trailing": true, + + "smarttabs": true, + "multistr": true, + + "node": true, + + "nomen": false, + "loopfunc": true + //"onevar": true +} diff --git a/knockoff-node/node_modules/knockoff/DOMCompiler.js b/knockoff-node/node_modules/knockoff/DOMCompiler.js new file mode 100644 index 0000000..6b96d23 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/DOMCompiler.js @@ -0,0 +1,192 @@ +/** + * Stand-alone XMLSerializer for DOM3 documents + */ +"use strict"; + +var htmlns = 'http://www.w3.org/1999/xhtml', + // nodeType constants + ELEMENT_NODE = 1, + ATTRIBUTE_NODE = 2, + TEXT_NODE = 3, + CDATA_SECTION_NODE = 4, + ENTITY_REFERENCE_NODE = 5, + ENTITY_NODE = 6, + PROCESSING_INSTRUCTION_NODE = 7, + COMMENT_NODE = 8, + DOCUMENT_NODE = 9, + DOCUMENT_TYPE_NODE = 10, + DOCUMENT_FRAGMENT_NODE = 11, + NOTATION_NODE = 12; + +/** + * HTML5 void elements + */ +var emptyElements = { + area: true, + base: true, + basefont: true, + bgsound: true, + br: true, + col: true, + command: true, + embed: true, + frame: true, + hr: true, + img: true, + input: true, + keygen: true, + link: true, + meta: true, + param: true, + source: true, + track: true, + wbr: true +}; + +/** + * HTML5 elements with raw (unescaped) content + */ +var hasRawContent = { + style: true, + script: true, + xmp: true, + iframe: true, + noembed: true, + noframes: true, + plaintext: true, + noscript: true +}; + +/** + * Use only very few entities, encode everything else as numeric entity + */ +function _xmlEncoder(c){ + switch(c) { + case '<': return '<'; + case '>': return '>'; + case '&': return '&'; + case '"': return '"'; + default: return '&#' + c.charCodeAt() + ';'; + } +} + +function serializeToString(node, options, cb){ + var child, content; + switch(node.nodeType){ + case ELEMENT_NODE: + var handler = options.handlers.element, + attrs = node.attributes, + ret; + child = node.firstChild; + if (handler) { + // Call the handler for elements + ret = handler(node, cb, options); + } + var len = attrs.length; + var nodeName = node.tagName.toLowerCase(), + localName = node.localName; + cb('<' + localName); + for(var i=0;i + (attr.value.match(/'/g) || []).length) + { + // use single quotes + cb(' ' + attr.name + "='" + + attr.value.replace(/[<&']/g, _xmlEncoder) + "'"); + } else { + // use double quotes + cb(' ' + attr.name + '="' + + attr.value.replace(/[<&"]/g, _xmlEncoder) + '"'); + } + } + if (ret.attr) { + cb(ret.attr); + } + if(child || ret.content || !emptyElements[nodeName]) { + cb('>'); + if (ret.content) { + cb(ret.content); + } else if(hasRawContent[nodeName]) { + // if is cdata child node + // TODO: perform context-sensitive escaping? + // Currently this content is not normally part of our DOM, so + // no problem. If it was, we'd probably have to do some + // tag-specific escaping. Examples: + // * < to \u003c in tag, then the paused flag + // may have been set to tell us to stop tokenizing while + // the script is loading + if (paused > 0) { + return; + } + + + switch(typeof tokenizer.lookahead) { + case 'undefined': + codepoint = chars.charCodeAt(nextchar++); + if (scanner_skip_newline) { + scanner_skip_newline = false; + if (codepoint === 0x000A) { + nextchar++; + continue; + } + } + switch(codepoint) { + case 0x000D: + // CR always turns into LF, but if the next character + // is LF, then that second LF is skipped. + if (nextchar < numchars) { + if (chars.charCodeAt(nextchar) === 0x000A) + nextchar++; + } + else { + // We don't know the next char right now, so we + // can't check if it is a LF. So set a flag + scanner_skip_newline = true; + } + + // In either case, emit a LF + tokenizer(0x000A); + + break; + case 0xFFFF: + if (input_complete && nextchar === numchars) { + tokenizer(EOF); // codepoint will be 0xFFFF here + break; + } + /* falls through */ + default: + tokenizer(codepoint); + break; + } + break; + + case 'number': + codepoint = chars.charCodeAt(nextchar); + + // The only tokenizer states that require fixed lookahead + // only consume alphanum characters, so we don't have + // to worry about CR and LF in this case + + // tokenizer wants n chars of lookahead + var n = tokenizer.lookahead; + + if (n < numchars - nextchar) { + // If we can look ahead that far + s = chars.substring(nextchar, nextchar+n); + eof = false; + } + else { // if we don't have that many characters + if (input_complete) { // If no more are coming + // Just return what we have + s = chars.substring(nextchar, numchars); + eof = true; + if (codepoint === 0xFFFF && nextchar === numchars-1) + codepoint = EOF; + } + else { + // Return now and wait for more chars later + return; + } + } + tokenizer(codepoint, s, eof); + break; + case 'string': + codepoint = chars.charCodeAt(nextchar); + + // tokenizer wants characters up to a matching string + pattern = tokenizer.lookahead; + var pos = chars.indexOf(pattern, nextchar); + if (pos !== -1) { + s = chars.substring(nextchar, pos + pattern.length); + eof = false; + } + else { // No match + // If more characters coming, wait for them + if (!input_complete) return; + + // Otherwise, we've got to return what we've got + s = chars.substring(nextchar, numchars); + if (codepoint === 0xFFFF && nextchar === numchars-1) + codepoint = EOF; + eof = true; + } + + // The tokenizer states that require this kind of + // lookahead have to be careful to handle CR characters + // correctly + tokenizer(codepoint, s, eof); + break; + case 'object': + case 'function': + codepoint = chars.charCodeAt(nextchar); + + // tokenizer wants characters that match a regexp + // The only tokenizer states that use regexp lookahead + // are for character entities, and the patterns never + // match CR or LF, so we don't need to worry about that + // here. + + // XXX + // Ideally, I'd use the non-standard y modifier on + // these regexps and set pattern.lastIndex to nextchar. + // But v8 and Node don't support /y, so I have to do + // the substring below + pattern = tokenizer.lookahead; + matched = chars.substring(nextchar).match(pattern); + if (matched) { + // Found a match. + // lastIndex now points to the first char after it + s = matched[0]; + eof = false; + } + else { + // No match. If we're not at the end of input, then + // wait for more chars + if (!input_complete) return; + + // Otherwise, pass an empty string. This is + // different than the string-based lookahead + // above. Regexp-based lookahead is only used + // for character references, and a partial one + // will not parse. Also, a char ref + // terminated with EOF will parse in the if + // branch above, so here we're dealing with + // things that really aren't char refs + s = ""; + eof = true; + } + + tokenizer(codepoint, s, eof); + break; + } + } + } + + + /*** + * Tokenizer utility functions + */ + function addAttribute(namebuf,valuebuf) { + var name = buf2str(namebuf); + var value; + + // Make sure there isn't already an attribute with this name + // If there is, ignore this one. + for(var i = 0; i < attributes.length; i++) { + if (attributes[i][0] === name) return; + } + + if (valuebuf) { + attributes.push([name, buf2str(valuebuf)]); + } + else { + attributes.push([name]); + } + } + + // Shortcut for simple attributes + function handleSimpleAttribute() { + SIMPLEATTR.lastIndex = nextchar-1; + var matched = SIMPLEATTR.exec(chars); + if (!matched) return false; + var name = matched[1]; + var value = matched[2]; + var len = value.length; + switch(value[0]) { + case '"': + case "'": + value = value.substring(1, len-1); + nextchar += (matched[0].length-1); + tokenizer = after_attribute_value_quoted_state; + break; + default: + tokenizer = before_attribute_name_state; + nextchar += (matched[0].length-1); + value = value.substring(0, len-1); + break; + } + + // Make sure there isn't already an attribute with this name + // If there is, ignore this one. + for(var i = 0; i < attributes.length; i++) { + if (attributes[i][0] === name) return true; + } + + attributes.push([name, value]); + return true; + } + + + function pushState() { savedTokenizerStates.push(tokenizer); } + function popState() { tokenizer = savedTokenizerStates.pop(); } + function beginTagName() { + is_end_tag = false; + tagnamebuf.length = 0; + attributes.length = 0; + } + function beginEndTagName() { + is_end_tag = true; + tagnamebuf.length = 0; + attributes.length = 0; + } + + function beginTempBuf() { tempbuf.length = 0; } + function beginAttrName() { attrnamebuf.length = 0; } + function beginAttrValue() { attrvaluebuf.length = 0; } + function beginComment() { commentbuf.length = 0; } + function beginDoctype() { + doctypenamebuf.length = 0; + doctypepublicbuf = null; + doctypesystembuf = null; + } + function beginDoctypePublicId() { doctypepublicbuf = []; } + function beginDoctypeSystemId() { doctypesystembuf = []; } + function forcequirks() { force_quirks = true; } + function cdataAllowed() { + return stack.top && + stack.top.namespaceURI !== "http://www.w3.org/1999/xhtml"; + } + + // Return true if the codepoints in the specified buffer match the + // characters of lasttagname + function appropriateEndTag(buf) { + if (buf.length !== lasttagname.length) return false; + for(var i = 0, n = buf.length; i < n; i++) { + if (buf[i] !== lasttagname.charCodeAt(i)) return false; + } + return true; + } + + function flushText() { + if (textrun.length > 0) { + var s = buf2str(textrun); + textrun.length = 0; + + if (ignore_linefeed) { + ignore_linefeed = false; + if (s[0] === "\n") s = s.substring(1); + if (s.length === 0) return; + } + + insertToken(TEXT, s); + textIncludesNUL = false; + } + ignore_linefeed = false; + } + + // emit a string of chars that match a regexp + // Returns false if no chars matched. + function emitCharsWhile(pattern) { + pattern.lastIndex = nextchar-1; + var match = pattern.exec(chars)[0]; + if (!match) return false; + emitCharString(match); + nextchar += match.length - 1; + return true; + } + + // This is used by CDATA sections + function emitCharString(s) { + if (textrun.length > 0) flushText(); + + if (ignore_linefeed) { + ignore_linefeed = false; + if (s[0] === "\n") s = s.substring(1); + if (s.length === 0) return; + } + + insertToken(TEXT, s); + } + + function emitTag() { + if (is_end_tag) insertToken(ENDTAG, buf2str(tagnamebuf)); + else { + // Remember the last open tag we emitted + var tagname = buf2str(tagnamebuf); + tagnamebuf.length = 0; + lasttagname = tagname; + insertToken(TAG, tagname, attributes); + } + } + + + // A shortcut: look ahead and if this is a open or close tag + // in lowercase with no spaces and no attributes, just emit it now. + function emitSimpleTag() { + SIMPLETAG.lastIndex = nextchar; + var matched = SIMPLETAG.exec(chars); + if (!matched) return false; + var tagname = matched[2]; + var endtag = matched[1]; + if (endtag) { + nextchar += (tagname.length+2); + insertToken(ENDTAG, tagname); + } + else { + nextchar += (tagname.length+1); + lasttagname = tagname; + insertToken(TAG, tagname, NOATTRS); + } + return true; + } + + function emitSelfClosingTag() { + if (is_end_tag) insertToken(ENDTAG, buf2str(tagnamebuf), null, true); + else { + insertToken(TAG, buf2str(tagnamebuf), attributes, true); + } + } + + function emitDoctype() { + insertToken(DOCTYPE, + buf2str(doctypenamebuf), + doctypepublicbuf ? buf2str(doctypepublicbuf) : undefined, + doctypesystembuf ? buf2str(doctypesystembuf) : undefined); + } + + function emitEOF() { + flushText(); + parser(EOF); // EOF never goes to insertForeignContent() + doc.modclock = 1; // Start tracking modifications + } + + // Insert a token, either using the current parser insertio mode + // (for HTML stuff) or using the insertForeignToken() method. + function insertToken(t, value, arg3, arg4) { + flushText(); + var current = stack.top; + + if (!current || current.namespaceURI === NAMESPACE.HTML) { + // This is the common case + parser(t, value, arg3, arg4); + } + else { + // Otherwise we may need to insert this token as foreign content + if (t !== TAG && t !== TEXT) { + insertForeignToken(t, value, arg3, arg4); + } + else { + // But in some cases we treat it as regular content + if ((isMathmlTextIntegrationPoint(current) && + (t === TEXT || + (t === TAG && + value !== "mglyph" && value !== "malignmark"))) || + (t === TAG && + value === "svg" && + current.namespaceURI === NAMESPACE.MATHML && + current.localName === "annotation-xml") || + isHTMLIntegrationPoint(current)) { + + // XXX: the text_integration_mode stuff is an + // attempted bug workaround of mine + text_integration_mode = true; + parser(t, value, arg3, arg4); + text_integration_mode = false; + } + // Otherwise it is foreign content + else { + insertForeignToken(t, value, arg3, arg4); + } + } + } + } + + + /*** + * Tree building utility functions + */ + function insertComment(data) { + stack.top._appendChild(doc.createComment(data)); + } + + function insertText(s) { + if (foster_parent_mode && isA(stack.top, tablesectionrowSet)) { + fosterParent(doc.createTextNode(s)); + } + else { + var lastChild = stack.top.lastChild; + if (lastChild && lastChild.nodeType === Node.TEXT_NODE) { + lastChild.appendData(s); + } + else { + stack.top._appendChild(doc.createTextNode(s)); + } + } + } + + function createHTMLElt(name, attrs) { + // Create the element this way, rather than with + // doc.createElement because createElement() does error + // checking on the element name that we need to avoid here. + var elt = html.createElement(doc, name, null); + + if (attrs) { + for(var i = 0, n = attrs.length; i < n; i++) { + // Use the _ version to avoid testing the validity + // of the attribute name + elt._setAttribute(attrs[i][0], attrs[i][1]); + } + } + // XXX + // If the element is a resettable form element, + // run its reset algorithm now + return elt; + } + + // The in_table insertion mode turns on this flag, and that makes + // insertHTMLElement use the foster parenting algorithm for elements + // tags inside a table + var foster_parent_mode = false; + + function insertHTMLElement(name, attrs) { + var elt = createHTMLElt(name, attrs); + insertElement(elt); + + // XXX + // If this is a form element, set its form attribute property here + if (isA(elt, formassociatedSet)) { + elt._form = form_element_pointer; + } + + return elt; + } + + // Insert the element into the open element or foster parent it + function insertElement(elt) { + if (foster_parent_mode && isA(stack.top, tablesectionrowSet)) { + fosterParent(elt); + } + else { + stack.top._appendChild(elt); + } + + stack.push(elt); + } + + function insertForeignElement(name, attrs, ns) { + var elt = doc.createElementNS(ns, name); + if (attrs) { + for(var i = 0, n = attrs.length; i < n; i++) { + var attr = attrs[i]; + if (attr.length == 2) + elt._setAttribute(attr[0], attr[1]); + else { + elt._setAttributeNS(attr[2], attr[0], attr[1]); + } + } + } + + insertElement(elt); + } + + function fosterParent(elt) { + var parent, before; + + for(var i = stack.elements.length-1; i >= 0; i--) { + if (stack.elements[i] instanceof impl.HTMLTableElement) { + parent = stack.elements[i].parentElement; + if (parent) + before = stack.elements[i]; + else + parent = stack.elements[i-1]; + + break; + } + } + if (!parent) parent = stack.elements[0]; + + if (elt.nodeType === Node.TEXT_NODE) { + var prev; + if (before) prev = before.previousSibling; + else prev = parent.lastChild; + if (prev && prev.nodeType === Node.TEXT_NODE) { + prev.appendData(elt.data); + return; + } + } + if (before) + parent.insertBefore(elt, before); + else + parent._appendChild(elt); + } + + + function resetInsertionMode() { + var last = false; + for(var i = stack.elements.length-1; i >= 0; i--) { + var node = stack.elements[i]; + if (i === 0) { + last = true; + node = fragmentContext; + } + if (node.namespaceURI === NAMESPACE.HTML) { + var tag = node.localName; + switch(tag) { + case "select": + parser = in_select_mode; + return; + case "tr": + parser = in_row_mode; + return; + case "tbody": + case "tfoot": + case "thead": + parser = in_table_body_mode; + return; + case "caption": + parser = in_caption_mode; + return; + case "colgroup": + parser = in_column_group_mode; + return; + case "table": + parser = in_table_mode; + return; + case "head": // Not in_head_mode! + case "body": + parser = in_body_mode; + return; + case "frameset": + parser = in_frameset_mode; + return; + case "html": + parser = before_head_mode; + return; + default: + if (!last && (tag === "td" || tag === "th")) { + parser = in_cell_mode; + return; + } + } + } + if (last) { + parser = in_body_mode; + return; + } + } + } + + + function parseRawText(name, attrs) { + insertHTMLElement(name, attrs); + tokenizer = rawtext_state; + originalInsertionMode = parser; + parser = text_mode; + } + + function parseRCDATA(name, attrs) { + insertHTMLElement(name, attrs); + tokenizer = rcdata_state; + originalInsertionMode = parser; + parser = text_mode; + } + + // Make a copy of element i on the list of active formatting + // elements, using its original attributes, not current + // attributes (which may have been modified by a script) + function afeclone(i) { + return createHTMLElt(afe.list[i].localName, afe.attrs[i]); + } + + + function afereconstruct() { + if (afe.list.length === 0) return; + var entry = afe.list[afe.list.length-1]; + // If the last is a marker , do nothing + if (entry === afe.MARKER) return; + // Or if it is an open element, do nothing + if (stack.elements.lastIndexOf(entry) !== -1) return; + + // Loop backward through the list until we find a marker or an + // open element, and then move forward one from there. + for(var i = afe.list.length-2; i >= 0; i--) { + entry = afe.list[i]; + if (entry === afe.MARKER) break; + if (stack.elements.lastIndexOf(entry) !== -1) break; + } + + // Now loop forward, starting from the element after the current + // one, recreating formatting elements and pushing them back onto + // the list of open elements + for(i = i+1; i < afe.list.length; i++) { + var newelt = afeclone(i); + insertElement(newelt); + afe.list[i] = newelt; + } + } + + // Used by the adoptionAgency() function + var BOOKMARK = {localName:"BM"}; + + function adoptionAgency(tag) { + // Let outer loop counter be zero. + var outer = 0; + + // Outer loop: If outer loop counter is greater than or + // equal to eight, then abort these steps. + while(outer < 8) { + // Increment outer loop counter by one. + outer++; + + // Let the formatting element be the last element in the list + // of active formatting elements that: is between the end of + // the list and the last scope marker in the list, if any, or + // the start of the list otherwise, and has the same tag name + // as the token. + var fmtelt = afe.findElementByTag(tag); + + // If there is no such node, then abort these steps and instead + // act as described in the "any other end tag" entry below. + if (!fmtelt) { + return false; // false means handle by the default case + } + + // Otherwise, if there is such a node, but that node is not in + // the stack of open elements, then this is a parse error; + // remove the element from the list, and abort these steps. + var index = stack.elements.lastIndexOf(fmtelt); + if (index === -1) { + afe.remove(fmtelt); + return true; // true means no more handling required + } + + // Otherwise, if there is such a node, and that node is also in + // the stack of open elements, but the element is not in scope, + // then this is a parse error; ignore the token, and abort + // these steps. + if (!stack.elementInScope(fmtelt)) { + return true; + } + + // Let the furthest block be the topmost node in the stack of + // open elements that is lower in the stack than the formatting + // element, and is an element in the special category. There + // might not be one. + var furthestblock = null, furthestblockindex; + for(var i = index+1; i < stack.elements.length; i++) { + if (isA(stack.elements[i], specialSet)) { + furthestblock = stack.elements[i]; + furthestblockindex = i; + break; + } + } + + // If there is no furthest block, then the UA must skip the + // subsequent steps and instead just pop all the nodes from the + // bottom of the stack of open elements, from the current node + // up to and including the formatting element, and remove the + // formatting element from the list of active formatting + // elements. + if (!furthestblock) { + stack.popElement(fmtelt); + afe.remove(fmtelt); + return true; + } + else { + // Let the common ancestor be the element immediately above + // the formatting element in the stack of open elements. + var ancestor = stack.elements[index-1]; + + // Let a bookmark note the position of the formatting + // element in the list of active formatting elements + // relative to the elements on either side of it in the + // list. + afe.insertAfter(fmtelt, BOOKMARK); + + // Let node and last node be the furthest block. + var node = furthestblock; + var lastnode = furthestblock; + var nodeindex = furthestblockindex; + var nodeafeindex; + + // Let inner loop counter be zero. + var inner = 0; + + // Inner loop: If inner loop counter is greater than + // or equal to three, then abort these steps. + while(inner < 3) { + + // Increment inner loop counter by one. + inner++; + + // Let node be the element immediately above node in + // the stack of open elements, or if node is no longer + // in the stack of open elements (e.g. because it got + // removed by the next step), the element that was + // immediately above node in the stack of open elements + // before node was removed. + node = stack.elements[--nodeindex]; + + // If node is not in the list of active formatting + // elements, then remove node from the stack of open + // elements and then go back to the step labeled inner + // loop. + nodeafeindex = afe.indexOf(node); + if (nodeafeindex === -1) { + stack.removeElement(node); + continue; + } + + // Otherwise, if node is the formatting element, then go + // to the next step in the overall algorithm. + if (node === fmtelt) break; + + // Create an element for the token for which the + // element node was created, replace the entry for node + // in the list of active formatting elements with an + // entry for the new element, replace the entry for + // node in the stack of open elements with an entry for + // the new element, and let node be the new element. + var newelt = afeclone(nodeafeindex); + afe.replace(node, newelt); + stack.elements[nodeindex] = newelt; + node = newelt; + + // If last node is the furthest block, then move the + // aforementioned bookmark to be immediately after the + // new node in the list of active formatting elements. + if (lastnode === furthestblock) { + afe.remove(BOOKMARK); + afe.insertAfter(newelt, BOOKMARK); + } + + // Insert last node into node, first removing it from + // its previous parent node if any. + node._appendChild(lastnode); + + // Let last node be node. + lastnode = node; + } + + // If the common ancestor node is a table, tbody, tfoot, + // thead, or tr element, then, foster parent whatever last + // node ended up being in the previous step, first removing + // it from its previous parent node if any. + if (isA(ancestor, tablesectionrowSet)) { + fosterParent(lastnode); + } + // Otherwise, append whatever last node ended up being in + // the previous step to the common ancestor node, first + // removing it from its previous parent node if any. + else { + ancestor._appendChild(lastnode); + } + + // Create an element for the token for which the + // formatting element was created. + var newelt2 = afeclone(afe.indexOf(fmtelt)); + + // Take all of the child nodes of the furthest block and + // append them to the element created in the last step. + while(furthestblock.hasChildNodes()) { + newelt2._appendChild(furthestblock.firstChild); + } + + // Append that new element to the furthest block. + furthestblock._appendChild(newelt2); + + // Remove the formatting element from the list of active + // formatting elements, and insert the new element into the + // list of active formatting elements at the position of + // the aforementioned bookmark. + afe.remove(fmtelt); + afe.replace(BOOKMARK, newelt2); + + // Remove the formatting element from the stack of open + // elements, and insert the new element into the stack of + // open elements immediately below the position of the + // furthest block in that stack. + stack.removeElement(fmtelt); + var pos = stack.elements.lastIndexOf(furthestblock); + stack.elements.splice(pos+1, 0, newelt2); + } + } + + return true; + } + + // We do this when we get /script in in_text_mode + function handleScriptEnd() { + // XXX: + // This is just a stub implementation right now and doesn't run scripts. + // Getting this method right involves the event loop, URL resolution + // script fetching etc. For now I just want to be able to parse + // documents and test the parser. + + var script = stack.top; + stack.pop(); + parser = originalInsertionMode; + //script._prepare(); + return; + + // XXX: here is what this method is supposed to do + + // Provide a stable state. + + // Let script be the current node (which will be a script + // element). + + // Pop the current node off the stack of open elements. + + // Switch the insertion mode to the original insertion mode. + + // Let the old insertion point have the same value as the current + // insertion point. Let the insertion point be just before the + // next input character. + + // Increment the parser's script nesting level by one. + + // Prepare the script. This might cause some script to execute, + // which might cause new characters to be inserted into the + // tokenizer, and might cause the tokenizer to output more tokens, + // resulting in a reentrant invocation of the parser. + + // Decrement the parser's script nesting level by one. If the + // parser's script nesting level is zero, then set the parser + // pause flag to false. + + // Let the insertion point have the value of the old insertion + // point. (In other words, restore the insertion point to its + // previous value. This value might be the "undefined" value.) + + // At this stage, if there is a pending parsing-blocking script, + // then: + + // If the script nesting level is not zero: + + // Set the parser pause flag to true, and abort the processing + // of any nested invocations of the tokenizer, yielding + // control back to the caller. (Tokenization will resume when + // the caller returns to the "outer" tree construction stage.) + + // The tree construction stage of this particular parser is + // being called reentrantly, say from a call to + // document.write(). + + // Otherwise: + + // Run these steps: + + // Let the script be the pending parsing-blocking + // script. There is no longer a pending + // parsing-blocking script. + + // Block the tokenizer for this instance of the HTML + // parser, such that the event loop will not run tasks + // that invoke the tokenizer. + + // If the parser's Document has a style sheet that is + // blocking scripts or the script's "ready to be + // parser-executed" flag is not set: spin the event + // loop until the parser's Document has no style sheet + // that is blocking scripts and the script's "ready to + // be parser-executed" flag is set. + + // Unblock the tokenizer for this instance of the HTML + // parser, such that tasks that invoke the tokenizer + // can again be run. + + // Let the insertion point be just before the next + // input character. + + // Increment the parser's script nesting level by one + // (it should be zero before this step, so this sets + // it to one). + + // Execute the script. + + // Decrement the parser's script nesting level by + // one. If the parser's script nesting level is zero + // (which it always should be at this point), then set + // the parser pause flag to false. + + // Let the insertion point be undefined again. + + // If there is once again a pending parsing-blocking + // script, then repeat these steps from step 1. + + + } + + function stopParsing() { + // XXX This is just a temporary implementation to get the parser working. + // A full implementation involves scripts and events and the event loop. + + // Remove the link from document to parser. + // This is instead of "set the insertion point to undefined". + // It means that document.write() can't write into the doc anymore. + delete doc._parser; + + stack.elements.length = 0; // pop everything off + + // If there is a window object associated with the document + // then trigger an load event on it + if (doc.defaultView) { + doc.defaultView.dispatchEvent(new impl.Event("load",{})); + } + + } + + /**** + * Tokenizer states + */ + + /** + * This file was partially mechanically generated from + * http://www.whatwg.org/specs/web-apps/current-work/multipage/tokenization.html + * + * After mechanical conversion, it was further converted from + * prose to JS by hand, but the intent is that it is a very + * faithful rendering of the HTML tokenization spec in + * JavaScript. + * + * It is not a goal of this tokenizer to detect or report + * parse errors. + * + * XXX The tokenizer is supposed to work with straight UTF32 + * codepoints. But I don't think it has any dependencies on + * any character outside of the BMP so I think it is safe to + * pass it UTF16 characters. I don't think it will ever change + * state in the middle of a surrogate pair. + */ + + /* + * Each state is represented by a function. For most states, the + * scanner simply passes the next character (as an integer + * codepoint) to the current state function and automatically + * consumes the character. If the state function can't process + * the character it can call pushback() to push it back to the + * scanner. + * + * Some states require lookahead, though. If a state function has + * a lookahead property, then it is invoked differently. In this + * case, the scanner invokes the function with 3 arguments: 1) the + * next codepoint 2) a string of lookahead text 3) a boolean that + * is true if the lookahead goes all the way to the EOF. (XXX + * actually maybe this third is not necessary... the lookahead + * could just include \uFFFF?) + * + * If the lookahead property of a state function is an integer, it + * specifies the number of characters required. If it is a string, + * then the scanner will scan for that string and return all + * characters up to and including that sequence, or up to EOF. If + * the lookahead property is a regexp, then the scanner will match + * the regexp at the current point and return the matching string. + * + * States that require lookahead are responsible for explicitly + * consuming the characters they process. They do this by + * incrementing nextchar by the number of processed characters. + */ + + function data_state(c) { + switch(c) { + case 0x0026: // AMPERSAND + tokenizer = character_reference_in_data_state; + break; + case 0x003C: // LESS-THAN SIGN + if (emitSimpleTag()) // Shortcut for

    ,

    ,
    etc. + break; + tokenizer = tag_open_state; + break; + case 0x0000: // NULL + // Usually null characters emitted by the tokenizer will be + // ignored by the tree builder, but sometimes they'll be + // converted to \uFFFD. I don't want to have the search every + // string emitted to replace NULs, so I'll set a flag + // if I've emitted a NUL. + textrun.push(c); + textIncludesNUL = true; + break; + case -1: // EOF + emitEOF(); + break; + default: + // Instead of just pushing a single character and then + // coming back to the very same place, lookahead and + // emit everything we can at once. + emitCharsWhile(DATATEXT) || textrun.push(c); + break; + } + } + + function character_reference_in_data_state(c, lookahead, eof) { + var char = parseCharRef(lookahead, false); + if (char !== null) { + if (typeof char === "number") textrun.push(char); + else pushAll(textrun, char); // An array of characters + } + else + textrun.push(0x0026); // AMPERSAND; + + tokenizer = data_state; + } + character_reference_in_data_state.lookahead = CHARREF; + + function rcdata_state(c) { + // Save the open tag so we can find a matching close tag + switch(c) { + case 0x0026: // AMPERSAND + tokenizer = character_reference_in_rcdata_state; + break; + case 0x003C: // LESS-THAN SIGN + tokenizer = rcdata_less_than_sign_state; + break; + case 0x0000: // NULL + textrun.push(0xFFFD); // REPLACEMENT CHARACTER + textIncludesNUL = true; + break; + case -1: // EOF + emitEOF(); + break; + default: + textrun.push(c); + break; + } + } + + function character_reference_in_rcdata_state(c, lookahead, eof) { + var char = parseCharRef(lookahead, false); + if (char !== null) { + if (typeof char === "number") textrun.push(char); + else pushAll(textrun, char); // An array of characters + } + else + textrun.push(0x0026); // AMPERSAND; + + tokenizer = rcdata_state; + } + character_reference_in_rcdata_state.lookahead = CHARREF; + + function rawtext_state(c) { + switch(c) { + case 0x003C: // LESS-THAN SIGN + tokenizer = rawtext_less_than_sign_state; + break; + case 0x0000: // NULL + textrun.push(0xFFFD); // REPLACEMENT CHARACTER + break; + case -1: // EOF + emitEOF(); + break; + default: + emitCharsWhile(RAWTEXT) || textrun.push(c); + break; + } + } + + function script_data_state(c) { + switch(c) { + case 0x003C: // LESS-THAN SIGN + tokenizer = script_data_less_than_sign_state; + break; + case 0x0000: // NULL + textrun.push(0xFFFD); // REPLACEMENT CHARACTER + break; + case -1: // EOF + emitEOF(); + break; + default: + emitCharsWhile(RAWTEXT) || textrun.push(c); + break; + } + } + + function plaintext_state(c) { + switch(c) { + case 0x0000: // NULL + textrun.push(0xFFFD); // REPLACEMENT CHARACTER + break; + case -1: // EOF + emitEOF(); + break; + default: + emitCharsWhile(PLAINTEXT) || textrun.push(c); + break; + } + } + + function tag_open_state(c) { + switch(c) { + case 0x0021: // EXCLAMATION MARK + tokenizer = markup_declaration_open_state; + break; + case 0x002F: // SOLIDUS + tokenizer = end_tag_open_state; + break; + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + c += 0x20; // to lowercase + /* falls through */ + + case 0x0061: // [a-z] + case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: + case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: + case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: + case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: + case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: + beginTagName(); + tagnamebuf.push(c); + tokenizer = tag_name_state; + break; + case 0x003F: // QUESTION MARK + nextchar--; // pushback + tokenizer = bogus_comment_state; + break; + default: + textrun.push(0x003C); // LESS-THAN SIGN + nextchar--; // pushback + tokenizer = data_state; + break; + } + } + + function end_tag_open_state(c) { + switch(c) { + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + c += 0x20; // to lowercase + /* falls through */ + + case 0x0061: // [a-z] + case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: + case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: + case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: + case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: + case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: + beginEndTagName(); + tagnamebuf.push(c); + tokenizer = tag_name_state; + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + break; + case -1: // EOF + textrun.push(0x003C); // LESS-THAN SIGN + textrun.push(0x002F); // SOLIDUS + nextchar--; // pushback + tokenizer = data_state; + break; + default: + nextchar--; // pushback + tokenizer = bogus_comment_state; + break; + } + } + + function tag_name_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + tokenizer = before_attribute_name_state; + break; + case 0x002F: // SOLIDUS + tokenizer = self_closing_start_tag_state; + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + emitTag(); + break; + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + tagnamebuf.push(c + 0x0020); + break; + case 0x0000: // NULL + tagnamebuf.push(0xFFFD /* REPLACEMENT CHARACTER */); + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + default: + tagnamebuf.push(c); + // appendCharsWhile(tagnamebuf, TAGNAMECHARS) || tagnamebuf.push(c); + break; + } + } + + function rcdata_less_than_sign_state(c) { + /* identical to the RAWTEXT less-than sign state, except s/RAWTEXT/RCDATA/g */ + if (c === 0x002F) { // SOLIDUS + beginTempBuf(); + tokenizer = rcdata_end_tag_open_state; + } + else { + textrun.push(0x003C); // LESS-THAN SIGN + nextchar--; // pushback + tokenizer = rcdata_state; + } + } + + function rcdata_end_tag_open_state(c) { + /* identical to the RAWTEXT (and Script data) end tag open state, except s/RAWTEXT/RCDATA/g */ + switch(c) { + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + beginEndTagName(); + tagnamebuf.push(c + 0x0020); + tempbuf.push(c); + tokenizer = rcdata_end_tag_name_state; + break; + case 0x0061: // [a-z] + case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: + case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: + case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: + case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: + case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: + beginEndTagName(); + tagnamebuf.push(c); + tempbuf.push(c); + tokenizer = rcdata_end_tag_name_state; + break; + default: + textrun.push(0x003C); // LESS-THAN SIGN + textrun.push(0x002F); // SOLIDUS + nextchar--; // pushback + tokenizer = rcdata_state; + break; + } + } + + function rcdata_end_tag_name_state(c) { + /* identical to the RAWTEXT (and Script data) end tag name state, except s/RAWTEXT/RCDATA/g */ + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + if (appropriateEndTag(tagnamebuf)) { + tokenizer = before_attribute_name_state; + return; + } + break; + case 0x002F: // SOLIDUS + if (appropriateEndTag(tagnamebuf)) { + tokenizer = self_closing_start_tag_state; + return; + } + break; + case 0x003E: // GREATER-THAN SIGN + if (appropriateEndTag(tagnamebuf)) { + tokenizer = data_state; + emitTag(); + return; + } + break; + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + + tagnamebuf.push(c + 0x0020); + tempbuf.push(c); + return; + case 0x0061: // [a-z] + case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: + case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: + case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: + case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: + case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: + + tagnamebuf.push(c); + tempbuf.push(c); + return; + default: + break; + } + + // If we don't return in one of the cases above, then this was not + // an appropriately matching close tag, so back out by emitting all + // the characters as text + textrun.push(0x003C); // LESS-THAN SIGN + textrun.push(0x002F); // SOLIDUS + pushAll(textrun, tempbuf); + nextchar--; // pushback + tokenizer = rcdata_state; + } + + function rawtext_less_than_sign_state(c) { + /* identical to the RCDATA less-than sign state, except s/RCDATA/RAWTEXT/g + */ + if (c === 0x002F) { // SOLIDUS + beginTempBuf(); + tokenizer = rawtext_end_tag_open_state; + } + else { + textrun.push(0x003C); // LESS-THAN SIGN + nextchar--; // pushback + tokenizer = rawtext_state; + } + } + + function rawtext_end_tag_open_state(c) { + /* identical to the RCDATA (and Script data) end tag open state, except s/RCDATA/RAWTEXT/g */ + switch(c) { + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + beginEndTagName(); + tagnamebuf.push(c + 0x0020); + tempbuf.push(c); + tokenizer = rawtext_end_tag_name_state; + break; + case 0x0061: // [a-z] + case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: + case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: + case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: + case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: + case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: + beginEndTagName(); + tagnamebuf.push(c); + tempbuf.push(c); + tokenizer = rawtext_end_tag_name_state; + break; + default: + textrun.push(0x003C); // LESS-THAN SIGN + textrun.push(0x002F); // SOLIDUS + nextchar--; // pushback + tokenizer = rawtext_state; + break; + } + } + + function rawtext_end_tag_name_state(c) { + /* identical to the RCDATA (and Script data) end tag name state, except s/RCDATA/RAWTEXT/g */ + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + if (appropriateEndTag(tagnamebuf)) { + tokenizer = before_attribute_name_state; + return; + } + break; + case 0x002F: // SOLIDUS + if (appropriateEndTag(tagnamebuf)) { + tokenizer = self_closing_start_tag_state; + return; + } + break; + case 0x003E: // GREATER-THAN SIGN + if (appropriateEndTag(tagnamebuf)) { + tokenizer = data_state; + emitTag(); + return; + } + break; + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + tagnamebuf.push(c + 0x0020); + tempbuf.push(c); + return; + case 0x0061: // [a-z] + case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: + case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: + case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: + case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: + case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: + tagnamebuf.push(c); + tempbuf.push(c); + return; + default: + break; + } + + // If we don't return in one of the cases above, then this was not + // an appropriately matching close tag, so back out by emitting all + // the characters as text + textrun.push(0x003C); // LESS-THAN SIGN + textrun.push(0x002F); // SOLIDUS + pushAll(textrun,tempbuf); + nextchar--; // pushback + tokenizer = rawtext_state; + } + + function script_data_less_than_sign_state(c) { + switch(c) { + case 0x002F: // SOLIDUS + beginTempBuf(); + tokenizer = script_data_end_tag_open_state; + break; + case 0x0021: // EXCLAMATION MARK + tokenizer = script_data_escape_start_state; + textrun.push(0x003C); // LESS-THAN SIGN + textrun.push(0x0021); // EXCLAMATION MARK + break; + default: + textrun.push(0x003C); // LESS-THAN SIGN + nextchar--; // pushback + tokenizer = script_data_state; + break; + } + } + + function script_data_end_tag_open_state(c) { + /* identical to the RCDATA (and RAWTEXT) end tag open state, except s/RCDATA/Script data/g */ + switch(c) { + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + beginEndTagName(); + tagnamebuf.push(c + 0x0020); + tempbuf.push(c); + tokenizer = script_data_end_tag_name_state; + break; + case 0x0061: // [a-z] + case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: + case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: + case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: + case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: + case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: + beginEndTagName(); + tagnamebuf.push(c); + tempbuf.push(c); + tokenizer = script_data_end_tag_name_state; + break; + default: + textrun.push(0x003C); // LESS-THAN SIGN + textrun.push(0x002F); // SOLIDUS + nextchar--; // pushback + tokenizer = script_data_state; + break; + } + } + + function script_data_end_tag_name_state(c) { + /* identical to the RCDATA (and RAWTEXT) end tag name state, except s/RCDATA/Script data/g */ + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + if (appropriateEndTag(tagnamebuf)) { + tokenizer = before_attribute_name_state; + return; + } + break; + case 0x002F: // SOLIDUS + if (appropriateEndTag(tagnamebuf)) { + tokenizer = self_closing_start_tag_state; + return; + } + break; + case 0x003E: // GREATER-THAN SIGN + if (appropriateEndTag(tagnamebuf)) { + tokenizer = data_state; + emitTag(); + return; + } + break; + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + + tagnamebuf.push(c + 0x0020); + tempbuf.push(c); + return; + case 0x0061: // [a-z] + case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: + case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: + case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: + case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: + case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: + + tagnamebuf.push(c); + tempbuf.push(c); + return; + default: + break; + } + + // If we don't return in one of the cases above, then this was not + // an appropriately matching close tag, so back out by emitting all + // the characters as text + textrun.push(0x003C); // LESS-THAN SIGN + textrun.push(0x002F); // SOLIDUS + pushAll(textrun,tempbuf); + nextchar--; // pushback + tokenizer = script_data_state; + } + + function script_data_escape_start_state(c) { + if (c === 0x002D) { // HYPHEN-MINUS + tokenizer = script_data_escape_start_dash_state; + textrun.push(0x002D); // HYPHEN-MINUS + } + else { + nextchar--; // pushback + tokenizer = script_data_state; + } + } + + function script_data_escape_start_dash_state(c) { + if (c === 0x002D) { // HYPHEN-MINUS + tokenizer = script_data_escaped_dash_dash_state; + textrun.push(0x002D); // HYPHEN-MINUS + } + else { + nextchar--; // pushback + tokenizer = script_data_state; + } + } + + function script_data_escaped_state(c) { + switch(c) { + case 0x002D: // HYPHEN-MINUS + tokenizer = script_data_escaped_dash_state; + textrun.push(0x002D); // HYPHEN-MINUS + break; + case 0x003C: // LESS-THAN SIGN + tokenizer = script_data_escaped_less_than_sign_state; + break; + case 0x0000: // NULL + textrun.push(0xFFFD); // REPLACEMENT CHARACTER + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + default: + textrun.push(c); + break; + } + } + + function script_data_escaped_dash_state(c) { + switch(c) { + case 0x002D: // HYPHEN-MINUS + tokenizer = script_data_escaped_dash_dash_state; + textrun.push(0x002D); // HYPHEN-MINUS + break; + case 0x003C: // LESS-THAN SIGN + tokenizer = script_data_escaped_less_than_sign_state; + break; + case 0x0000: // NULL + tokenizer = script_data_escaped_state; + textrun.push(0xFFFD); // REPLACEMENT CHARACTER + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + default: + tokenizer = script_data_escaped_state; + textrun.push(c); + break; + } + } + + function script_data_escaped_dash_dash_state(c) { + switch(c) { + case 0x002D: // HYPHEN-MINUS + textrun.push(0x002D); // HYPHEN-MINUS + break; + case 0x003C: // LESS-THAN SIGN + tokenizer = script_data_escaped_less_than_sign_state; + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = script_data_state; + textrun.push(0x003E); // GREATER-THAN SIGN + break; + case 0x0000: // NULL + tokenizer = script_data_escaped_state; + textrun.push(0xFFFD); // REPLACEMENT CHARACTER + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + default: + tokenizer = script_data_escaped_state; + textrun.push(c); + break; + } + } + + function script_data_escaped_less_than_sign_state(c) { + switch(c) { + case 0x002F: // SOLIDUS + beginTempBuf(); + tokenizer = script_data_escaped_end_tag_open_state; + break; + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + beginTempBuf(); + tempbuf.push(c + 0x0020); + tokenizer = script_data_double_escape_start_state; + textrun.push(0x003C); // LESS-THAN SIGN + textrun.push(c); + break; + case 0x0061: // [a-z] + case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: + case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: + case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: + case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: + case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: + beginTempBuf(); + tempbuf.push(c); + tokenizer = script_data_double_escape_start_state; + textrun.push(0x003C); // LESS-THAN SIGN + textrun.push(c); + break; + default: + textrun.push(0x003C); // LESS-THAN SIGN + nextchar--; // pushback + tokenizer = script_data_escaped_state; + break; + } + } + + function script_data_escaped_end_tag_open_state(c) { + switch(c) { + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + beginEndTagName(); + tagnamebuf.push(c + 0x0020); + tempbuf.push(c); + tokenizer = script_data_escaped_end_tag_name_state; + break; + case 0x0061: // [a-z] + case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: + case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: + case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: + case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: + case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: + beginEndTagName(); + tagnamebuf.push(c); + tempbuf.push(c); + tokenizer = script_data_escaped_end_tag_name_state; + break; + default: + textrun.push(0x003C); // LESS-THAN SIGN + textrun.push(0x002F); // SOLIDUS + nextchar--; // pushback + tokenizer = script_data_escaped_state; + break; + } + } + + function script_data_escaped_end_tag_name_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + if (appropriateEndTag(tagnamebuf)) { + tokenizer = before_attribute_name_state; + return; + } + break; + case 0x002F: // SOLIDUS + if (appropriateEndTag(tagnamebuf)) { + tokenizer = self_closing_start_tag_state; + return; + } + break; + case 0x003E: // GREATER-THAN SIGN + if (appropriateEndTag(tagnamebuf)) { + tokenizer = data_state; + emitTag(); + return; + } + break; + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + tagnamebuf.push(c + 0x0020); + tempbuf.push(c); + return; + case 0x0061: // [a-z] + case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: + case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: + case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: + case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: + case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: + tagnamebuf.push(c); + tempbuf.push(c); + return; + default: + break; + } + + // We get here in the default case, and if the closing tagname + // is not an appropriate tagname. + textrun.push(0x003C); // LESS-THAN SIGN + textrun.push(0x002F); // SOLIDUS + pushAll(textrun,tempbuf); + nextchar--; // pushback + tokenizer = script_data_escaped_state; + } + + function script_data_double_escape_start_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + case 0x002F: // SOLIDUS + case 0x003E: // GREATER-THAN SIGN + if (buf2str(tempbuf) === "script") { + tokenizer = script_data_double_escaped_state; + } + else { + tokenizer = script_data_escaped_state; + } + textrun.push(c); + break; + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + tempbuf.push(c + 0x0020); + textrun.push(c); + break; + case 0x0061: // [a-z] + case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: + case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: + case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: + case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: + case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: + tempbuf.push(c); + textrun.push(c); + break; + default: + nextchar--; // pushback + tokenizer = script_data_escaped_state; + break; + } + } + + function script_data_double_escaped_state(c) { + switch(c) { + case 0x002D: // HYPHEN-MINUS + tokenizer = script_data_double_escaped_dash_state; + textrun.push(0x002D); // HYPHEN-MINUS + break; + case 0x003C: // LESS-THAN SIGN + tokenizer = script_data_double_escaped_less_than_sign_state; + textrun.push(0x003C); // LESS-THAN SIGN + break; + case 0x0000: // NULL + textrun.push(0xFFFD); // REPLACEMENT CHARACTER + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + default: + textrun.push(c); + break; + } + } + + function script_data_double_escaped_dash_state(c) { + switch(c) { + case 0x002D: // HYPHEN-MINUS + tokenizer = script_data_double_escaped_dash_dash_state; + textrun.push(0x002D); // HYPHEN-MINUS + break; + case 0x003C: // LESS-THAN SIGN + tokenizer = script_data_double_escaped_less_than_sign_state; + textrun.push(0x003C); // LESS-THAN SIGN + break; + case 0x0000: // NULL + tokenizer = script_data_double_escaped_state; + textrun.push(0xFFFD); // REPLACEMENT CHARACTER + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + default: + tokenizer = script_data_double_escaped_state; + textrun.push(c); + break; + } + } + + function script_data_double_escaped_dash_dash_state(c) { + switch(c) { + case 0x002D: // HYPHEN-MINUS + textrun.push(0x002D); // HYPHEN-MINUS + break; + case 0x003C: // LESS-THAN SIGN + tokenizer = script_data_double_escaped_less_than_sign_state; + textrun.push(0x003C); // LESS-THAN SIGN + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = script_data_state; + textrun.push(0x003E); // GREATER-THAN SIGN + break; + case 0x0000: // NULL + tokenizer = script_data_double_escaped_state; + textrun.push(0xFFFD); // REPLACEMENT CHARACTER + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + default: + tokenizer = script_data_double_escaped_state; + textrun.push(c); + break; + } + } + + function script_data_double_escaped_less_than_sign_state(c) { + if (c === 0x002F) { // SOLIDUS + beginTempBuf(); + tokenizer = script_data_double_escape_end_state; + textrun.push(0x002F); // SOLIDUS + } + else { + nextchar--; // pushback + tokenizer = script_data_double_escaped_state; + } + } + + function script_data_double_escape_end_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + case 0x002F: // SOLIDUS + case 0x003E: // GREATER-THAN SIGN + if (buf2str(tempbuf) === "script") { + tokenizer = script_data_escaped_state; + } + else { + tokenizer = script_data_double_escaped_state; + } + textrun.push(c); + break; + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + tempbuf.push(c + 0x0020); + textrun.push(c); + break; + case 0x0061: // [a-z] + case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: + case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: + case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: + case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: + case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: + tempbuf.push(c); + textrun.push(c); + break; + default: + nextchar--; // pushback + tokenizer = script_data_double_escaped_state; + break; + } + } + + function before_attribute_name_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + /* Ignore the character. */ + break; + case 0x002F: // SOLIDUS + tokenizer = self_closing_start_tag_state; + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + emitTag(); + break; + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + beginAttrName(); + attrnamebuf.push(c + 0x0020); + tokenizer = attribute_name_state; + break; + case 0x0000: // NULL + beginAttrName(); + attrnamebuf.push(0xFFFD); + tokenizer = attribute_name_state; + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + case 0x0022: // QUOTATION MARK + case 0x0027: // APOSTROPHE + case 0x003C: // LESS-THAN SIGN + case 0x003D: // EQUALS SIGN + /* falls through */ + default: + if (handleSimpleAttribute()) break; + beginAttrName(); + attrnamebuf.push(c); + tokenizer = attribute_name_state; + break; + } + } + + function attribute_name_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + tokenizer = after_attribute_name_state; + break; + case 0x002F: // SOLIDUS + addAttribute(attrnamebuf); + tokenizer = self_closing_start_tag_state; + break; + case 0x003D: // EQUALS SIGN + beginAttrValue(); + tokenizer = before_attribute_value_state; + break; + case 0x003E: // GREATER-THAN SIGN + addAttribute(attrnamebuf); + tokenizer = data_state; + emitTag(); + break; + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + attrnamebuf.push(c + 0x0020); + break; + case 0x0000: // NULL + attrnamebuf.push(0xFFFD /* REPLACEMENT CHARACTER */); + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + case 0x0022: // QUOTATION MARK + case 0x0027: // APOSTROPHE + case 0x003C: // LESS-THAN SIGN + /* falls through */ + default: + attrnamebuf.push(c); + break; + } + } + + function after_attribute_name_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + /* Ignore the character. */ + break; + case 0x002F: // SOLIDUS + addAttribute(attrnamebuf); + tokenizer = self_closing_start_tag_state; + break; + case 0x003D: // EQUALS SIGN + beginAttrValue(); + tokenizer = before_attribute_value_state; + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + addAttribute(attrnamebuf); + emitTag(); + break; + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + addAttribute(attrnamebuf); + beginAttrName(); + attrnamebuf.push(c + 0x0020); + tokenizer = attribute_name_state; + break; + case 0x0000: // NULL + addAttribute(attrnamebuf); + beginAttrName(); + attrnamebuf.push(0xFFFD); + tokenizer = attribute_name_state; + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + case 0x0022: // QUOTATION MARK + case 0x0027: // APOSTROPHE + case 0x003C: // LESS-THAN SIGN + /* falls through */ + default: + addAttribute(attrnamebuf); + beginAttrName(); + attrnamebuf.push(c); + tokenizer = attribute_name_state; + break; + } + } + + function before_attribute_value_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + /* Ignore the character. */ + break; + case 0x0022: // QUOTATION MARK + tokenizer = attribute_value_double_quoted_state; + break; + case 0x0026: // AMPERSAND + nextchar--; // pushback + tokenizer = attribute_value_unquoted_state; + break; + case 0x0027: // APOSTROPHE + tokenizer = attribute_value_single_quoted_state; + break; + case 0x0000: // NULL + attrvaluebuf.push(0xFFFD /* REPLACEMENT CHARACTER */); + tokenizer = attribute_value_unquoted_state; + break; + case 0x003E: // GREATER-THAN SIGN + addAttribute(attrnamebuf); + emitTag(); + tokenizer = data_state; + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + case 0x003C: // LESS-THAN SIGN + case 0x003D: // EQUALS SIGN + case 0x0060: // GRAVE ACCENT + /* falls through */ + default: + attrvaluebuf.push(c); + tokenizer = attribute_value_unquoted_state; + break; + } + } + + function attribute_value_double_quoted_state(c) { + switch(c) { + case 0x0022: // QUOTATION MARK + addAttribute(attrnamebuf, attrvaluebuf); + tokenizer = after_attribute_value_quoted_state; + break; + case 0x0026: // AMPERSAND + pushState(); + tokenizer = character_reference_in_attribute_value_state; + break; + case 0x0000: // NULL + attrvaluebuf.push(0xFFFD /* REPLACEMENT CHARACTER */); + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + default: + attrvaluebuf.push(c); + // appendCharsWhile(attrvaluebuf, DBLQUOTEATTRVAL); + break; + } + } + + function attribute_value_single_quoted_state(c) { + switch(c) { + case 0x0027: // APOSTROPHE + addAttribute(attrnamebuf, attrvaluebuf); + tokenizer = after_attribute_value_quoted_state; + break; + case 0x0026: // AMPERSAND + pushState(); + tokenizer = character_reference_in_attribute_value_state; + break; + case 0x0000: // NULL + attrvaluebuf.push(0xFFFD /* REPLACEMENT CHARACTER */); + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + default: + attrvaluebuf.push(c); + // appendCharsWhile(attrvaluebuf, SINGLEQUOTEATTRVAL); + break; + } + } + + function attribute_value_unquoted_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + addAttribute(attrnamebuf, attrvaluebuf); + tokenizer = before_attribute_name_state; + break; + case 0x0026: // AMPERSAND + pushState(); + tokenizer = character_reference_in_attribute_value_state; + break; + case 0x003E: // GREATER-THAN SIGN + addAttribute(attrnamebuf, attrvaluebuf); + tokenizer = data_state; + emitTag(); + break; + case 0x0000: // NULL + attrvaluebuf.push(0xFFFD /* REPLACEMENT CHARACTER */); + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + case 0x0022: // QUOTATION MARK + case 0x0027: // APOSTROPHE + case 0x003C: // LESS-THAN SIGN + case 0x003D: // EQUALS SIGN + case 0x0060: // GRAVE ACCENT + /* falls through */ + default: + attrvaluebuf.push(c); + // appendCharsWhile(attrvaluebuf, UNQUOTEDATTRVAL); + break; + } + } + + function character_reference_in_attribute_value_state(c, lookahead, eof) { + var char = parseCharRef(lookahead, true); + if (char !== null) { + if (typeof char === "number") + attrvaluebuf.push(char); + else { + // An array of numbers + for(var i = 0; i < char.length; i++) { + attrvaluebuf.push(char[i]); + } + } + } + else { + attrvaluebuf.push(0x0026); // AMPERSAND; + } + + popState(); + } + character_reference_in_attribute_value_state.lookahead = ATTRCHARREF; + + function after_attribute_value_quoted_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + tokenizer = before_attribute_name_state; + break; + case 0x002F: // SOLIDUS + tokenizer = self_closing_start_tag_state; + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + emitTag(); + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + default: + nextchar--; // pushback + tokenizer = before_attribute_name_state; + break; + } + } + + function self_closing_start_tag_state(c) { + switch(c) { + case 0x003E: // GREATER-THAN SIGN + // Set the self-closing flag of the current tag token. + tokenizer = data_state; + emitSelfClosingTag(true); + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + default: + nextchar--; // pushback + tokenizer = before_attribute_name_state; + break; + } + } + + function bogus_comment_state(c, lookahead, eof) { + var len = lookahead.length; + + if (eof) { + nextchar += len-1; // don't consume the eof + } + else { + nextchar += len; + } + + var comment = lookahead.substring(0, len-1); + + comment = comment.replace(/\u0000/g,"\uFFFD"); + comment = comment.replace(/\u000D\u000A/g,"\u000A"); + comment = comment.replace(/\u000D/g,"\u000A"); + + insertToken(COMMENT, comment); + tokenizer = data_state; + } + bogus_comment_state.lookahead = ">"; + + function markup_declaration_open_state(c, lookahead, eof) { + if (lookahead[0] === "-" && lookahead[1] === "-") { + nextchar += 2; + beginComment(); + tokenizer = comment_start_state; + return; + } + + if (lookahead.toUpperCase() === "DOCTYPE") { + nextchar += 7; + tokenizer = doctype_state; + } + else if (lookahead === "[CDATA[" && cdataAllowed()) { + nextchar += 7; + tokenizer = cdata_section_state; + } + else { + tokenizer = bogus_comment_state; + } + } + markup_declaration_open_state.lookahead = 7; + + function comment_start_state(c) { + beginComment(); + switch(c) { + case 0x002D: // HYPHEN-MINUS + tokenizer = comment_start_dash_state; + break; + case 0x0000: // NULL + commentbuf.push(0xFFFD /* REPLACEMENT CHARACTER */); + tokenizer = comment_state; + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + insertToken(COMMENT, buf2str(commentbuf)); + break; /* see comment in comment end state */ + case -1: // EOF + insertToken(COMMENT, buf2str(commentbuf)); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + commentbuf.push(c); + tokenizer = comment_state; + break; + } + } + + function comment_start_dash_state(c) { + switch(c) { + case 0x002D: // HYPHEN-MINUS + tokenizer = comment_end_state; + break; + case 0x0000: // NULL + commentbuf.push(0x002D /* HYPHEN-MINUS */); + commentbuf.push(0xFFFD); + tokenizer = comment_state; + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + insertToken(COMMENT, buf2str(commentbuf)); + break; + case -1: // EOF + insertToken(COMMENT, buf2str(commentbuf)); + nextchar--; // pushback + tokenizer = data_state; + break; /* see comment in comment end state */ + default: + commentbuf.push(0x002D /* HYPHEN-MINUS */); + commentbuf.push(c); + tokenizer = comment_state; + break; + } + } + + function comment_state(c) { + switch(c) { + case 0x002D: // HYPHEN-MINUS + tokenizer = comment_end_dash_state; + break; + case 0x0000: // NULL + commentbuf.push(0xFFFD /* REPLACEMENT CHARACTER */); + break; + case -1: // EOF + insertToken(COMMENT, buf2str(commentbuf)); + nextchar--; // pushback + tokenizer = data_state; + break; /* see comment in comment end state */ + default: + commentbuf.push(c); + break; + } + } + + function comment_end_dash_state(c) { + switch(c) { + case 0x002D: // HYPHEN-MINUS + tokenizer = comment_end_state; + break; + case 0x0000: // NULL + commentbuf.push(0x002D /* HYPHEN-MINUS */); + commentbuf.push(0xFFFD); + tokenizer = comment_state; + break; + case -1: // EOF + insertToken(COMMENT, buf2str(commentbuf)); + nextchar--; // pushback + tokenizer = data_state; + break; /* see comment in comment end state */ + default: + commentbuf.push(0x002D /* HYPHEN-MINUS */); + commentbuf.push(c); + tokenizer = comment_state; + break; + } + } + + function comment_end_state(c) { + switch(c) { + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + insertToken(COMMENT, buf2str(commentbuf)); + break; + case 0x0000: // NULL + commentbuf.push(0x002D); + commentbuf.push(0x002D); + commentbuf.push(0xFFFD); + tokenizer = comment_state; + break; + case 0x0021: // EXCLAMATION MARK + tokenizer = comment_end_bang_state; + break; + case 0x002D: // HYPHEN-MINUS + commentbuf.push(0x002D); + break; + case -1: // EOF + insertToken(COMMENT, buf2str(commentbuf)); + nextchar--; // pushback + tokenizer = data_state; + break; /* For security reasons: otherwise, hostile user could put a script in a comment e.g. in a blog comment and then DOS the server so that the end tag isn't read, and then the commented script tag would be treated as live code */ + default: + commentbuf.push(0x002D); + commentbuf.push(0x002D); + commentbuf.push(c); + tokenizer = comment_state; + break; + } + } + + function comment_end_bang_state(c) { + switch(c) { + case 0x002D: // HYPHEN-MINUS + commentbuf.push(0x002D); + commentbuf.push(0x002D); + commentbuf.push(0x0021); + tokenizer = comment_end_dash_state; + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + insertToken(COMMENT, buf2str(commentbuf)); + break; + case 0x0000: // NULL + commentbuf.push(0x002D); + commentbuf.push(0x002D); + commentbuf.push(0x0021); + commentbuf.push(0xFFFD); + tokenizer = comment_state; + break; + case -1: // EOF + insertToken(COMMENT, buf2str(commentbuf)); + nextchar--; // pushback + tokenizer = data_state; + break; /* see comment in comment end state */ + default: + commentbuf.push(0x002D); + commentbuf.push(0x002D); + commentbuf.push(0x0021); + commentbuf.push(c); + tokenizer = comment_state; + break; + } + } + + function doctype_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + tokenizer = before_doctype_name_state; + break; + case -1: // EOF + beginDoctype(); + forcequirks(); + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + nextchar--; // pushback + tokenizer = before_doctype_name_state; + break; + } + } + + function before_doctype_name_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + /* Ignore the character. */ + break; + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + beginDoctype(); + doctypenamebuf.push(c + 0x0020); + tokenizer = doctype_name_state; + break; + case 0x0000: // NULL + beginDoctype(); + doctypenamebuf.push(0xFFFD); + tokenizer = doctype_name_state; + break; + case 0x003E: // GREATER-THAN SIGN + beginDoctype(); + tokenizer = data_state; + forcequirks(); + emitDoctype(); + break; + case -1: // EOF + beginDoctype(); + forcequirks(); + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + beginDoctype(); + doctypenamebuf.push(c); + tokenizer = doctype_name_state; + break; + } + } + + function doctype_name_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + tokenizer = after_doctype_name_state; + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + emitDoctype(); + break; + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + doctypenamebuf.push(c + 0x0020); + break; + case 0x0000: // NULL + doctypenamebuf.push(0xFFFD /* REPLACEMENT CHARACTER */); + break; + case -1: // EOF + forcequirks(); + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + doctypenamebuf.push(c); + break; + } + } + + function after_doctype_name_state(c, lookahead, eof) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + /* Ignore the character. */ + nextchar += 1; + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + nextchar += 1; + emitDoctype(); + break; + case -1: // EOF + forcequirks(); + emitDoctype(); + tokenizer = data_state; + break; + default: + lookahead = lookahead.toUpperCase(); + if (lookahead === "PUBLIC") { + nextchar += 6; + tokenizer = after_doctype_public_keyword_state; + } + else if (lookahead === "SYSTEM") { + nextchar += 6; + tokenizer = after_doctype_system_keyword_state; + } + else { + forcequirks(); + tokenizer = bogus_doctype_state; + } + break; + } + } + after_doctype_name_state.lookahead = 6; + + function after_doctype_public_keyword_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + tokenizer = before_doctype_public_identifier_state; + break; + case 0x0022: // QUOTATION MARK + beginDoctypePublicId(); + tokenizer = doctype_public_identifier_double_quoted_state; + break; + case 0x0027: // APOSTROPHE + beginDoctypePublicId(); + tokenizer = doctype_public_identifier_single_quoted_state; + break; + case 0x003E: // GREATER-THAN SIGN + forcequirks(); + tokenizer = data_state; + emitDoctype(); + break; + case -1: // EOF + forcequirks(); + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + forcequirks(); + tokenizer = bogus_doctype_state; + break; + } + } + + function before_doctype_public_identifier_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + /* Ignore the character. */ + break; + case 0x0022: // QUOTATION MARK + beginDoctypePublicId(); + tokenizer = doctype_public_identifier_double_quoted_state; + break; + case 0x0027: // APOSTROPHE + beginDoctypePublicId(); + tokenizer = doctype_public_identifier_single_quoted_state; + break; + case 0x003E: // GREATER-THAN SIGN + forcequirks(); + tokenizer = data_state; + emitDoctype(); + break; + case -1: // EOF + forcequirks(); + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + forcequirks(); + tokenizer = bogus_doctype_state; + break; + } + } + + function doctype_public_identifier_double_quoted_state(c) { + switch(c) { + case 0x0022: // QUOTATION MARK + tokenizer = after_doctype_public_identifier_state; + break; + case 0x0000: // NULL + doctypepublicbuf.push(0xFFFD /* REPLACEMENT CHARACTER */); + break; + case 0x003E: // GREATER-THAN SIGN + forcequirks(); + tokenizer = data_state; + emitDoctype(); + break; + case -1: // EOF + forcequirks(); + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + doctypepublicbuf.push(c); + break; + } + } + + function doctype_public_identifier_single_quoted_state(c) { + switch(c) { + case 0x0027: // APOSTROPHE + tokenizer = after_doctype_public_identifier_state; + break; + case 0x0000: // NULL + doctypepublicbuf.push(0xFFFD /* REPLACEMENT CHARACTER */); + break; + case 0x003E: // GREATER-THAN SIGN + forcequirks(); + tokenizer = data_state; + emitDoctype(); + break; + case -1: // EOF + forcequirks(); + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + doctypepublicbuf.push(c); + break; + } + } + + function after_doctype_public_identifier_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + tokenizer = between_doctype_public_and_system_identifiers_state; + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + emitDoctype(); + break; + case 0x0022: // QUOTATION MARK + beginDoctypeSystemId(); + tokenizer = doctype_system_identifier_double_quoted_state; + break; + case 0x0027: // APOSTROPHE + beginDoctypeSystemId(); + tokenizer = doctype_system_identifier_single_quoted_state; + break; + case -1: // EOF + forcequirks(); + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + forcequirks(); + tokenizer = bogus_doctype_state; + break; + } + } + + function between_doctype_public_and_system_identifiers_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE Ignore the character. + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + emitDoctype(); + break; + case 0x0022: // QUOTATION MARK + beginDoctypeSystemId(); + tokenizer = doctype_system_identifier_double_quoted_state; + break; + case 0x0027: // APOSTROPHE + beginDoctypeSystemId(); + tokenizer = doctype_system_identifier_single_quoted_state; + break; + case -1: // EOF + forcequirks(); + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + forcequirks(); + tokenizer = bogus_doctype_state; + break; + } + } + + function after_doctype_system_keyword_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + tokenizer = before_doctype_system_identifier_state; + break; + case 0x0022: // QUOTATION MARK + beginDoctypeSystemId(); + tokenizer = doctype_system_identifier_double_quoted_state; + break; + case 0x0027: // APOSTROPHE + beginDoctypeSystemId(); + tokenizer = doctype_system_identifier_single_quoted_state; + break; + case 0x003E: // GREATER-THAN SIGN + forcequirks(); + tokenizer = data_state; + emitDoctype(); + break; + case -1: // EOF + forcequirks(); + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + forcequirks(); + tokenizer = bogus_doctype_state; + break; + } + } + + function before_doctype_system_identifier_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE Ignore the character. + break; + case 0x0022: // QUOTATION MARK + beginDoctypeSystemId(); + tokenizer = doctype_system_identifier_double_quoted_state; + break; + case 0x0027: // APOSTROPHE + beginDoctypeSystemId(); + tokenizer = doctype_system_identifier_single_quoted_state; + break; + case 0x003E: // GREATER-THAN SIGN + forcequirks(); + tokenizer = data_state; + emitDoctype(); + break; + case -1: // EOF + forcequirks(); + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + forcequirks(); + tokenizer = bogus_doctype_state; + break; + } + } + + function doctype_system_identifier_double_quoted_state(c) { + switch(c) { + case 0x0022: // QUOTATION MARK + tokenizer = after_doctype_system_identifier_state; + break; + case 0x0000: // NULL + doctypesystembuf.push(0xFFFD /* REPLACEMENT CHARACTER */); + break; + case 0x003E: // GREATER-THAN SIGN + forcequirks(); + tokenizer = data_state; + emitDoctype(); + break; + case -1: // EOF + forcequirks(); + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + doctypesystembuf.push(c); + break; + } + } + + function doctype_system_identifier_single_quoted_state(c) { + switch(c) { + case 0x0027: // APOSTROPHE + tokenizer = after_doctype_system_identifier_state; + break; + case 0x0000: // NULL + doctypesystembuf.push(0xFFFD /* REPLACEMENT CHARACTER */); + break; + case 0x003E: // GREATER-THAN SIGN + forcequirks(); + tokenizer = data_state; + emitDoctype(); + break; + case -1: // EOF + forcequirks(); + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + doctypesystembuf.push(c); + break; + } + } + + function after_doctype_system_identifier_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + /* Ignore the character. */ + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + emitDoctype(); + break; + case -1: // EOF + forcequirks(); + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + tokenizer = bogus_doctype_state; + /* This does *not* set the DOCTYPE token's force-quirks flag. */ + break; + } + } + + function bogus_doctype_state(c) { + switch(c) { + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + emitDoctype(); + break; + case -1: // EOF + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + /* Ignore the character. */ + break; + } + } + + function cdata_section_state(c, lookahead, eof) { + var len = lookahead.length; + var output; + if (eof) { + nextchar += len-1; // leave the EOF in the scanner + output = lookahead.substring(0, len-1); // don't include the EOF + } + else { + nextchar += len; + output = lookahead.substring(0,len-3); // don't emit the ]]> + } + + if (output.length > 0) { + if (output.indexOf("\u0000") !== -1) + textIncludesNUL = true; + + // XXX Have to deal with CR and CRLF here? + if (output.indexOf("\r") !== -1) { + output = output.replace(/\r\n/, "\n").replace(/\r/, "\n"); + } + + emitCharString(output); + } + + tokenizer = data_state; + } + cdata_section_state.lookahead = "]]>"; + + + /*** + * The tree builder insertion modes + */ + + // 11.2.5.4.1 The "initial" insertion mode + function initial_mode(t, value, arg3, arg4) { + switch(t) { + case 1: // TEXT + value = value.replace(LEADINGWS, ""); // Ignore spaces + if (value.length === 0) return; // Are we done? + break; // Handle anything non-space text below + case 4: // COMMENT + doc._appendChild(doc.createComment(value)); + return; + case 5: // DOCTYPE + var name = value; + var publicid = arg3; + var systemid = arg4; + // Use the constructor directly instead of + // implementation.createDocumentType because the create + // function throws errors on invalid characters, and + // we don't want the parser to throw them. + doc.appendChild(new DocumentType(name,publicid, systemid)); + + // Note that there is no public API for setting quirks mode We can + // do this here because we have access to implementation details + if (force_quirks || + name.toLowerCase() !== "html" || + quirkyPublicIds.test(publicid) || + (systemid && systemid.toLowerCase() === quirkySystemId) || + (systemid === undefined && + conditionallyQuirkyPublicIds.test(publicid))) + doc._quirks = true; + else if (limitedQuirkyPublicIds.test(publicid) || + (systemid !== undefined && + conditionallyQuirkyPublicIds.test(publicid))) + doc._limitedQuirks = true; + parser = before_html_mode; + return; + } + + // tags or non-whitespace text + doc._quirks = true; + parser = before_html_mode; + parser(t,value,arg3,arg4); + } + + // 11.2.5.4.2 The "before html" insertion mode + function before_html_mode(t,value,arg3,arg4) { + var elt; + switch(t) { + case 1: // TEXT + value = value.replace(LEADINGWS, ""); // Ignore spaces + if (value.length === 0) return; // Are we done? + break; // Handle anything non-space text below + case 5: // DOCTYPE + /* ignore the token */ + return; + case 4: // COMMENT + doc._appendChild(doc.createComment(value)); + return; + case 2: // TAG + if (value === "html") { + elt = createHTMLElt(value, arg3); + stack.push(elt); + doc.appendChild(elt); + // XXX: handle application cache here + parser = before_head_mode; + return; + } + break; + case 3: // ENDTAG + switch(value) { + case "html": + case "head": + case "body": + case "br": + break; // fall through on these + default: + return; // ignore most end tags + } + } + + // Anything that didn't get handled above is handled like this: + elt = createHTMLElt("html", null); + stack.push(elt); + doc.appendChild(elt); + // XXX: handle application cache here + parser = before_head_mode; + parser(t,value,arg3,arg4); + } + + // 11.2.5.4.3 The "before head" insertion mode + function before_head_mode(t,value,arg3,arg4) { + switch(t) { + case 1: // TEXT + value = value.replace(LEADINGWS, ""); // Ignore spaces + if (value.length === 0) return; // Are we done? + break; // Handle anything non-space text below + case 5: // DOCTYPE + /* ignore the token */ + return; + case 4: // COMMENT + insertComment(value); + return; + case 2: // TAG + switch(value) { + case "html": + in_body_mode(t,value,arg3,arg4); + return; + case "head": + var elt = insertHTMLElement(value, arg3); + head_element_pointer = elt; + parser = in_head_mode; + return; + } + break; + case 3: // ENDTAG + switch(value) { + case "html": + case "head": + case "body": + case "br": + break; + default: + return; // ignore most end tags + } + } + + // If not handled explicitly above + before_head_mode(TAG, "head", null); // create a head tag + parser(t, value, arg3, arg4); // then try again with this token + } + + function in_head_mode(t, value, arg3, arg4) { + switch(t) { + case 1: // TEXT + var ws = value.match(LEADINGWS); + if (ws) { + insertText(ws[0]); + value = value.substring(ws[0].length); + } + if (value.length === 0) return; + break; // Handle non-whitespace below + case 4: // COMMENT + insertComment(value); + return; + case 5: // DOCTYPE + return; + case 2: // TAG + switch(value) { + case "html": + in_body_mode(t, value, arg3, arg4); + return; + case "meta": + // XXX: + // May need to change the encoding based on this tag + /* falls through */ + case "base": + case "basefont": + case "bgsound": + case "command": + case "link": + insertHTMLElement(value, arg3); + stack.pop(); + return; + case "title": + parseRCDATA(value, arg3); + return; + case "noscript": + if (!scripting_enabled) { + insertHTMLElement(value, arg3); + parser = in_head_noscript_mode; + return; + } + // Otherwise, if scripting is enabled... + /* falls through */ + case "noframes": + case "style": + parseRawText(value,arg3); + return; + case "script": + var elt = createHTMLElt(value, arg3); + elt._parser_inserted = true; + elt._force_async = false; + if (fragment) elt._already_started = true; + flushText(); + stack.top._appendChild(elt); + stack.push(elt); + tokenizer = script_data_state; + originalInsertionMode = parser; + parser = text_mode; + return; + case "head": + return; // ignore it + } + break; + case 3: // ENDTAG + switch(value) { + case "head": + stack.pop(); + parser = after_head_mode; + return; + case "body": + case "html": + case "br": + break; // handle these at the bottom of the function + default: + // ignore any other end tag + return; + } + break; + } + + // If not handled above + in_head_mode(ENDTAG, "head", null); // synthetic + parser(t, value, arg3, arg4); // Then redo this one + } + + // 13.2.5.4.5 The "in head noscript" insertion mode + function in_head_noscript_mode(t, value, arg3, arg4) { + switch(t) { + case 5: // DOCTYPE + return; + case 4: // COMMENT + in_head_mode(t, value); + return; + case 1: // TEXT + var ws = value.match(LEADINGWS); + if (ws) { + in_head_mode(t, ws[0]); + value = value.substring(ws[0].length); + } + if (value.length === 0) return; // no more text + break; // Handle non-whitespace below + case 2: // TAG + switch(value) { + case "html": + in_body_mode(t, value, arg3, arg4); + return; + case "basefont": + case "bgsound": + case "link": + case "meta": + case "noframes": + case "style": + in_head_mode(t, value, arg3); + return; + case "head": + case "noscript": + return; + } + break; + case 3: // ENDTAG + switch(value) { + case "noscript": + stack.pop(); + parser = in_head_mode; + return; + case "br": + break; // goes to the outer default + default: + return; // ignore other end tags + } + break; + } + + // If not handled above + in_head_noscript_mode(ENDTAG, "noscript", null); + parser(t, value, arg3, arg4); + } + + function after_head_mode(t, value, arg3, arg4) { + switch(t) { + case 1: // TEXT + var ws = value.match(LEADINGWS); + if (ws) { + insertText(ws[0]); + value = value.substring(ws[0].length); + } + if (value.length === 0) return; + break; // Handle non-whitespace below + case 4: // COMMENT + insertComment(value); + return; + case 5: // DOCTYPE + return; + case 2: // TAG + switch(value) { + case "html": + in_body_mode(t, value, arg3, arg4); + return; + case "body": + insertHTMLElement(value, arg3); + frameset_ok = false; + parser = in_body_mode; + return; + case "frameset": + insertHTMLElement(value, arg3); + parser = in_frameset_mode; + return; + case "base": + case "basefont": + case "bgsound": + case "link": + case "meta": + case "noframes": + case "script": + case "style": + case "title": + stack.push(head_element_pointer); + in_head_mode(TAG, value, arg3); + stack.removeElement(head_element_pointer); + return; + case "head": + return; + } + break; + case 3: // ENDTAG + switch(value) { + case "body": + case "html": + case "br": + break; + default: + return; // ignore any other end tag + } + break; + } + + after_head_mode(TAG, "body", null); + frameset_ok = true; + parser(t, value, arg3, arg4); + } + + // 13.2.5.4.7 The "in body" insertion mode + function in_body_mode(t,value,arg3,arg4) { + var body, i, node; + switch(t) { + case 1: // TEXT + if (textIncludesNUL) { + value = value.replace(NULCHARS, ""); + if (value.length === 0) return; + } + // If any non-space characters + if (frameset_ok && NONWS.test(value)) + frameset_ok = false; + afereconstruct(); + insertText(value); + return; + case 5: // DOCTYPE + return; + case 4: // COMMENT + insertComment(value); + return; + case -1: // EOF + stopParsing(); + return; + case 2: // TAG + switch(value) { + case "html": + transferAttributes(arg3, stack.elements[0]); + return; + case "base": + case "basefont": + case "bgsound": + case "command": + case "link": + case "meta": + case "noframes": + case "script": + case "style": + case "title": + in_head_mode(TAG, value, arg3); + return; + case "body": + body = stack.elements[1]; + if (!body || !(body instanceof impl.HTMLBodyElement)) + return; + frameset_ok = false; + transferAttributes(arg3, body); + return; + case "frameset": + if (!frameset_ok) return; + body = stack.elements[1]; + if (!body || !(body instanceof impl.HTMLBodyElement)) + return; + if (body.parentNode) body.parentNode.removeChild(body); + while(!(stack.top instanceof impl.HTMLHtmlElement)) + stack.pop(); + insertHTMLElement(value, arg3); + parser = in_frameset_mode; + return; + + case "address": + case "article": + case "aside": + case "blockquote": + case "center": + case "details": + case "dir": + case "div": + case "dl": + case "fieldset": + case "figcaption": + case "figure": + case "footer": + case "header": + case "hgroup": + case "menu": + case "nav": + case "ol": + case "p": + case "section": + case "summary": + case "ul": + if (stack.inButtonScope("p")) in_body_mode(ENDTAG, "p"); + insertHTMLElement(value, arg3); + return; + + case "h1": + case "h2": + case "h3": + case "h4": + case "h5": + case "h6": + if (stack.inButtonScope("p")) in_body_mode(ENDTAG, "p"); + if (stack.top instanceof impl.HTMLHeadingElement) + stack.pop(); + insertHTMLElement(value, arg3); + return; + + case "pre": + case "listing": + if (stack.inButtonScope("p")) in_body_mode(ENDTAG, "p"); + insertHTMLElement(value, arg3); + ignore_linefeed = true; + frameset_ok = false; + return; + + case "form": + if (form_element_pointer) return; + if (stack.inButtonScope("p")) in_body_mode(ENDTAG, "p"); + form_element_pointer = insertHTMLElement(value, arg3); + return; + + case "li": + frameset_ok = false; + for(i = stack.elements.length-1; i >= 0; i--) { + node = stack.elements[i]; + if (node instanceof impl.HTMLLIElement) { + in_body_mode(ENDTAG, "li"); + break; + } + if (isA(node, specialSet) && !isA(node, addressdivpSet)) + break; + } + if (stack.inButtonScope("p")) in_body_mode(ENDTAG, "p"); + insertHTMLElement(value, arg3); + return; + + case "dd": + case "dt": + frameset_ok = false; + for(i = stack.elements.length-1; i >= 0; i--) { + node = stack.elements[i]; + if (isA(node, dddtSet)) { + in_body_mode(ENDTAG, node.localName); + break; + } + if (isA(node, specialSet) && !isA(node, addressdivpSet)) + break; + } + if (stack.inButtonScope("p")) in_body_mode(ENDTAG, "p"); + insertHTMLElement(value, arg3); + return; + + case "plaintext": + if (stack.inButtonScope("p")) in_body_mode(ENDTAG, "p"); + insertHTMLElement(value, arg3); + tokenizer = plaintext_state; + return; + + case "button": + if (stack.inScope("button")) { + in_body_mode(ENDTAG, "button"); + parser(t, value, arg3, arg4); + } + else { + afereconstruct(); + insertHTMLElement(value, arg3); + frameset_ok = false; + } + return; + + case "a": + var activeElement = afe.findElementByTag("a"); + if (activeElement) { + in_body_mode(ENDTAG, value); + afe.remove(activeElement); + stack.removeElement(activeElement); + } + /* falls through */ + + case "b": + case "big": + case "code": + case "em": + case "font": + case "i": + case "s": + case "small": + case "strike": + case "strong": + case "tt": + case "u": + afereconstruct(); + afe.push(insertHTMLElement(value,arg3), arg3); + return; + + case "nobr": + afereconstruct(); + + if (stack.inScope(value)) { + in_body_mode(ENDTAG, value); + afereconstruct(); + } + afe.push(insertHTMLElement(value,arg3), arg3); + return; + + case "applet": + case "marquee": + case "object": + afereconstruct(); + insertHTMLElement(value,arg3); + afe.insertMarker(); + frameset_ok = false; + return; + + case "table": + if (!doc._quirks && stack.inButtonScope("p")) { + in_body_mode(ENDTAG, "p"); + } + insertHTMLElement(value,arg3); + frameset_ok = false; + parser = in_table_mode; + return; + + case "area": + case "br": + case "embed": + case "img": + case "keygen": + case "wbr": + afereconstruct(); + insertHTMLElement(value,arg3); + stack.pop(); + frameset_ok = false; + return; + + case "input": + afereconstruct(); + var elt = insertHTMLElement(value,arg3); + stack.pop(); + var type = elt.getAttribute("type"); + if (!type || type.toLowerCase() !== "hidden") + frameset_ok = false; + return; + + case "param": + case "source": + case "track": + insertHTMLElement(value,arg3); + stack.pop(); + return; + + case "hr": + if (stack.inButtonScope("p")) in_body_mode(ENDTAG, "p"); + insertHTMLElement(value,arg3); + stack.pop(); + frameset_ok = false; + return; + + case "image": + in_body_mode(TAG, "img", arg3, arg4); + return; + + case "isindex": + if (form_element_pointer) return; + (function handleIsIndexTag(attrs) { + var prompt = null; + var formattrs = []; + var newattrs = [["name", "isindex"]]; + for(var i = 0; i < attrs.length; i++) { + var a = attrs[i]; + if (a[0] === "action") { + formattrs.push(a); + } + else if (a[0] === "prompt") { + prompt = a[1]; + } + else if (a[0] !== "name") { + newattrs.push(a); + } + } + + // This default prompt presumably needs localization. + // The space after the colon in this prompt is required + // by the html5lib test cases + if (!prompt) + prompt = "This is a searchable index. " + + "Enter search keywords: "; + + parser(TAG, "form", formattrs); + parser(TAG, "hr", null); + parser(TAG, "label", null); + parser(TEXT, prompt); + parser(TAG, "input", newattrs); + parser(ENDTAG, "label"); + parser(TAG, "hr", null); + parser(ENDTAG, "form"); + }(arg3)); + return; + + case "textarea": + insertHTMLElement(value,arg3); + ignore_linefeed = true; + frameset_ok = false; + tokenizer = rcdata_state; + originalInsertionMode = parser; + parser = text_mode; + return; + + case "xmp": + if (stack.inButtonScope("p")) in_body_mode(ENDTAG, "p"); + afereconstruct(); + frameset_ok = false; + parseRawText(value, arg3); + return; + + case "iframe": + frameset_ok = false; + parseRawText(value, arg3); + return; + + case "noembed": + parseRawText(value,arg3); + return; + + case "noscript": + if (scripting_enabled) { + parseRawText(value,arg3); + return; + } + break; // XXX Otherwise treat it as any other open tag? + + case "select": + afereconstruct(); + insertHTMLElement(value,arg3); + frameset_ok = false; + if (parser === in_table_mode || + parser === in_caption_mode || + parser === in_table_body_mode || + parser === in_row_mode || + parser === in_cell_mode) + parser = in_select_in_table_mode; + else + parser = in_select_mode; + return; + + case "optgroup": + case "option": + if (stack.top instanceof impl.HTMLOptionElement) { + in_body_mode(ENDTAG, "option"); + } + afereconstruct(); + insertHTMLElement(value,arg3); + return; + + case "rp": + case "rt": + if (stack.inScope("ruby")) { + stack.generateImpliedEndTags(); + } + insertHTMLElement(value,arg3); + return; + + case "math": + afereconstruct(); + adjustMathMLAttributes(arg3); + adjustForeignAttributes(arg3); + insertForeignElement(value, arg3, NAMESPACE.MATHML); + if (arg4) // self-closing flag + stack.pop(); + return; + + case "svg": + afereconstruct(); + adjustSVGAttributes(arg3); + adjustForeignAttributes(arg3); + insertForeignElement(value, arg3, NAMESPACE.SVG); + if (arg4) // self-closing flag + stack.pop(); + return; + + case "caption": + case "col": + case "colgroup": + case "frame": + case "head": + case "tbody": + case "td": + case "tfoot": + case "th": + case "thead": + case "tr": + // Ignore table tags if we're not in_table mode + return; + } + + // Handle any other start tag here + // (and also noscript tags when scripting is disabled) + afereconstruct(); + insertHTMLElement(value,arg3); + return; + + case 3: // ENDTAG + switch(value) { + case "body": + if (!stack.inScope("body")) return; + parser = after_body_mode; + return; + case "html": + if (!stack.inScope("body")) return; + parser = after_body_mode; + parser(t, value, arg3); + return; + + case "address": + case "article": + case "aside": + case "blockquote": + case "button": + case "center": + case "details": + case "dir": + case "div": + case "dl": + case "fieldset": + case "figcaption": + case "figure": + case "footer": + case "header": + case "hgroup": + case "listing": + case "menu": + case "nav": + case "ol": + case "pre": + case "section": + case "summary": + case "ul": + // Ignore if there is not a matching open tag + if (!stack.inScope(value)) return; + stack.generateImpliedEndTags(); + stack.popTag(value); + return; + + case "form": + var openform = form_element_pointer; + form_element_pointer = null; + if (!openform || !stack.elementInScope(openform)) return; + stack.generateImpliedEndTags(); + stack.removeElement(openform); + return; + + case "p": + if (!stack.inButtonScope(value)) { + in_body_mode(TAG, value, null); + parser(t, value, arg3, arg4); + } + else { + stack.generateImpliedEndTags(value); + stack.popTag(value); + } + return; + + case "li": + if (!stack.inListItemScope(value)) return; + stack.generateImpliedEndTags(value); + stack.popTag(value); + return; + + case "dd": + case "dt": + if (!stack.inScope(value)) return; + stack.generateImpliedEndTags(value); + stack.popTag(value); + return; + + case "h1": + case "h2": + case "h3": + case "h4": + case "h5": + case "h6": + if (!stack.elementTypeInScope(impl.HTMLHeadingElement)) return; + stack.generateImpliedEndTags(); + stack.popElementType(impl.HTMLHeadingElement); + return; + + case "a": + case "b": + case "big": + case "code": + case "em": + case "font": + case "i": + case "nobr": + case "s": + case "small": + case "strike": + case "strong": + case "tt": + case "u": + var result = adoptionAgency(value); + if (result) return; // If we did something we're done + break; // Go to the "any other end tag" case + + case "applet": + case "marquee": + case "object": + if (!stack.inScope(value)) return; + stack.generateImpliedEndTags(); + stack.popTag(value); + afe.clearToMarker(); + return; + + case "br": + in_body_mode(TAG, value, null); // Turn
    into
    + return; + } + + // Any other end tag goes here + for(i = stack.elements.length-1; i >= 0; i--) { + node = stack.elements[i]; + if (node.localName === value) { + stack.generateImpliedEndTags(value); + stack.popElement(node); + break; + } + else if (isA(node, specialSet)) { + return; + } + } + + return; + } + } + + function text_mode(t, value, arg3, arg4) { + switch(t) { + case 1: // TEXT + insertText(value); + return; + case -1: // EOF + if (stack.top instanceof impl.HTMLScriptElement) + stack.top._already_started = true; + stack.pop(); + parser = originalInsertionMode; + parser(t); + return; + case 3: // ENDTAG + if (value === "script") { + handleScriptEnd(); + } + else { + stack.pop(); + parser = originalInsertionMode; + } + return; + default: + // We should never get any other token types + return; + } + } + + function in_table_mode(t, value, arg3, arg4) { + function getTypeAttr(attrs) { + for(var i = 0, n = attrs.length; i < n; i++) { + if (attrs[i][0] === "type") + return attrs[i][1].toLowerCase(); + } + return null; + } + + switch(t) { + case 1: // TEXT + // XXX the text_integration_mode stuff is + // just a hack I made up + if (text_integration_mode) { + in_body_mode(t, value, arg3, arg4); + } + else { + pending_table_text = []; + originalInsertionMode = parser; + parser = in_table_text_mode; + parser(t, value, arg3, arg4); + } + return; + case 4: // COMMENT + insertComment(value); + return; + case 5: // DOCTYPE + return; + case 2: // TAG + switch(value) { + case "caption": + stack.clearToContext(impl.HTMLTableElement); + afe.insertMarker(); + insertHTMLElement(value,arg3); + parser = in_caption_mode; + return; + case "colgroup": + stack.clearToContext(impl.HTMLTableElement); + insertHTMLElement(value,arg3); + parser = in_column_group_mode; + return; + case "col": + in_table_mode(TAG, "colgroup", null); + parser(t, value, arg3, arg4); + return; + case "tbody": + case "tfoot": + case "thead": + stack.clearToContext(impl.HTMLTableElement); + insertHTMLElement(value,arg3); + parser = in_table_body_mode; + return; + case "td": + case "th": + case "tr": + in_table_mode(TAG, "tbody", null); + parser(t, value, arg3, arg4); + return; + + case "table": + var repro = stack.inTableScope(value); + in_table_mode(ENDTAG, value); + if (repro) parser(t, value, arg3, arg4); + return; + + case "style": + case "script": + in_head_mode(t, value, arg3, arg4); + return; + + case "input": + var type = getTypeAttr(arg3); + if (type !== "hidden") break; // to the anything else case + insertHTMLElement(value,arg3); + stack.pop(); + return; + + case "form": + if (form_element_pointer) return; + form_element_pointer = insertHTMLElement(value, arg3); + stack.pop(); + return; + } + break; + case 3: // ENDTAG + switch(value) { + case "table": + if (!stack.inTableScope(value)) return; + stack.popTag(value); + resetInsertionMode(); + return; + case "body": + case "caption": + case "col": + case "colgroup": + case "html": + case "tbody": + case "td": + case "tfoot": + case "th": + case "thead": + case "tr": + return; + } + + break; + case -1: // EOF + stopParsing(); + return; + } + + // This is the anything else case + foster_parent_mode = true; + in_body_mode(t, value, arg3, arg4); + foster_parent_mode = false; + } + + function in_table_text_mode(t, value, arg3, arg4) { + if (t === TEXT) { + if (textIncludesNUL) { + value = value.replace(NULCHARS, ""); + if (value.length === 0) return; + } + pending_table_text.push(value); + } + else { + var s = pending_table_text.join(""); + pending_table_text.length = 0; + if (NONWS.test(s)) { // If any non-whitespace characters + // This must be the same code as the "anything else" + // case of the in_table mode above. + foster_parent_mode = true; + in_body_mode(TEXT, s); + foster_parent_mode = false; + } + else { + insertText(s); + } + parser = originalInsertionMode; + parser(t, value, arg3, arg4); + } + } + + + function in_caption_mode(t, value, arg3, arg4) { + function end_caption() { + if (!stack.inTableScope("caption")) return false; + stack.generateImpliedEndTags(); + stack.popTag("caption"); + afe.clearToMarker(); + parser = in_table_mode; + return true; + } + + switch(t) { + case 2: // TAG + switch(value) { + case "caption": + case "col": + case "colgroup": + case "tbody": + case "td": + case "tfoot": + case "th": + case "thead": + case "tr": + if (end_caption()) parser(t, value, arg3, arg4); + return; + } + break; + case 3: // ENDTAG + switch(value) { + case "caption": + end_caption(); + return; + case "table": + if (end_caption()) parser(t, value, arg3, arg4); + return; + case "body": + case "col": + case "colgroup": + case "html": + case "tbody": + case "td": + case "tfoot": + case "th": + case "thead": + case "tr": + return; + } + break; + } + + // The Anything Else case + in_body_mode(t, value, arg3, arg4); + } + + function in_column_group_mode(t, value, arg3, arg4) { + switch(t) { + case 1: // TEXT + var ws = value.match(LEADINGWS); + if (ws) { + insertText(ws[0]); + value = value.substring(ws[0].length); + } + if (value.length === 0) return; + break; // Handle non-whitespace below + + case 4: // COMMENT + insertComment(value); + return; + case 5: // DOCTYPE + return; + case 2: // TAG + switch(value) { + case "html": + in_body_mode(t, value, arg3, arg4); + return; + case "col": + insertHTMLElement(value, arg3); + stack.pop(); + return; + } + break; + case 3: // ENDTAG + switch(value) { + case "colgroup": + if (stack.top instanceof impl.HTMLHtmlElement) return; + stack.pop(); + parser = in_table_mode; + return; + case "col": + return; + } + break; + case -1: // EOF + if (stack.top instanceof impl.HTMLHtmlElement) { + stopParsing(); + return; + } + break; + } + + // Anything else + if (!(stack.top instanceof impl.HTMLHtmlElement)) { + in_column_group_mode(ENDTAG, "colgroup"); + parser(t, value, arg3, arg4); + } + } + + function in_table_body_mode(t, value, arg3, arg4) { + function endsect() { + if (!stack.inTableScope("tbody") && + !stack.inTableScope("thead") && + !stack.inTableScope("tfoot")) + return; + stack.clearToContext(impl.HTMLTableSectionElement); + in_table_body_mode(ENDTAG, stack.top.localName, null); + parser(t, value, arg3, arg4); + } + + switch(t) { + case 2: // TAG + switch(value) { + case "tr": + stack.clearToContext(impl.HTMLTableSectionElement); + insertHTMLElement(value, arg3); + parser = in_row_mode; + return; + case "th": + case "td": + in_table_body_mode(TAG, "tr", null); + parser(t, value, arg3, arg4); + return; + case "caption": + case "col": + case "colgroup": + case "tbody": + case "tfoot": + case "thead": + endsect(); + return; + } + break; + case 3: // ENDTAG + switch(value) { + case "table": + endsect(); + return; + case "tbody": + case "tfoot": + case "thead": + if (stack.inTableScope(value)) { + stack.clearToContext(impl.HTMLTableSectionElement); + stack.pop(); + parser = in_table_mode; + } + return; + case "body": + case "caption": + case "col": + case "colgroup": + case "html": + case "td": + case "th": + case "tr": + return; + } + break; + } + + // Anything else: + in_table_mode(t, value, arg3, arg4); + } + + function in_row_mode(t, value, arg3, arg4) { + function endrow() { + if (!stack.inTableScope("tr")) return false; + stack.clearToContext(impl.HTMLTableRowElement); + stack.pop(); + parser = in_table_body_mode; + return true; + } + + switch(t) { + case 2: // TAG + switch(value) { + case "th": + case "td": + stack.clearToContext(impl.HTMLTableRowElement); + insertHTMLElement(value, arg3); + parser = in_cell_mode; + afe.insertMarker(); + return; + case "caption": + case "col": + case "colgroup": + case "tbody": + case "tfoot": + case "thead": + case "tr": + if (endrow()) parser(t, value, arg3, arg4); + return; + } + break; + case 3: // ENDTAG + switch(value) { + case "tr": + endrow(); + return; + case "table": + if (endrow()) parser(t, value, arg3, arg4); + return; + case "tbody": + case "tfoot": + case "thead": + if (stack.inTableScope(value)) { + in_row_mode(ENDTAG, "tr"); + parser(t, value, arg3, arg4); + } + return; + case "body": + case "caption": + case "col": + case "colgroup": + case "html": + case "td": + case "th": + return; + } + break; + } + + // anything else + in_table_mode(t, value, arg3, arg4); + } + + function in_cell_mode(t, value, arg3, arg4) { + switch(t) { + case 2: // TAG + switch(value) { + case "caption": + case "col": + case "colgroup": + case "tbody": + case "td": + case "tfoot": + case "th": + case "thead": + case "tr": + if (stack.inTableScope("td")) { + in_cell_mode(ENDTAG, "td"); + parser(t, value, arg3, arg4); + } + else if (stack.inTableScope("th")) { + in_cell_mode(ENDTAG, "th"); + parser(t, value, arg3, arg4); + } + return; + } + break; + case 3: // ENDTAG + switch(value) { + case "td": + case "th": + if (!stack.inTableScope(value)) return; + stack.generateImpliedEndTags(); + stack.popTag(value); + afe.clearToMarker(); + parser = in_row_mode; + return; + + case "body": + case "caption": + case "col": + case "colgroup": + case "html": + return; + + case "table": + case "tbody": + case "tfoot": + case "thead": + case "tr": + if (!stack.inTableScope(value)) return; + in_cell_mode(ENDTAG, stack.inTableScope("td") ? "td" : "th"); + parser(t, value, arg3, arg4); + return; + } + break; + } + + // anything else + in_body_mode(t, value, arg3, arg4); + } + + function in_select_mode(t, value, arg3, arg4) { + switch(t) { + case 1: // TEXT + if (textIncludesNUL) { + value = value.replace(NULCHARS, ""); + if (value.length === 0) return; + } + insertText(value); + return; + case 4: // COMMENT + insertComment(value); + return; + case 5: // DOCTYPE + return; + case -1: // EOF + stopParsing(); + return; + case 2: // TAG + switch(value) { + case "html": + in_body_mode(t, value, arg3, arg4); + return; + case "option": + if (stack.top instanceof impl.HTMLOptionElement) + in_select_mode(ENDTAG, value); + insertHTMLElement(value, arg3); + return; + case "optgroup": + if (stack.top instanceof impl.HTMLOptionElement) + in_select_mode(ENDTAG, "option"); + if (stack.top instanceof impl.HTMLOptGroupElement) + in_select_mode(ENDTAG, value); + insertHTMLElement(value, arg3); + return; + case "select": + in_select_mode(ENDTAG, value); // treat it as a close tag + return; + + case "input": + case "keygen": + case "textarea": + if (!stack.inSelectScope("select")) return; + in_select_mode(ENDTAG, "select"); + parser(t, value, arg3, arg4); + return; + + case "script": + in_head_mode(t, value, arg3, arg4); + return; + } + break; + case 3: // ENDTAG + switch(value) { + case "optgroup": + if (stack.top instanceof impl.HTMLOptionElement && + stack.elements[stack.elements.length-2] instanceof + impl.HTMLOptGroupElement) { + in_select_mode(ENDTAG, "option"); + } + if (stack.top instanceof impl.HTMLOptGroupElement) + stack.pop(); + + return; + + case "option": + if (stack.top instanceof impl.HTMLOptionElement) + stack.pop(); + return; + + case "select": + if (!stack.inSelectScope(value)) return; + stack.popTag(value); + resetInsertionMode(); + return; + } + + break; + } + + // anything else: just ignore the token + } + + function in_select_in_table_mode(t, value, arg3, arg4) { + switch(value) { + case "caption": + case "table": + case "tbody": + case "tfoot": + case "thead": + case "tr": + case "td": + case "th": + switch(t) { + case 2: // TAG + in_select_in_table_mode(ENDTAG, "select"); + parser(t, value, arg3, arg4); + return; + case 3: // ENDTAG + if (stack.inTableScope(value)) { + in_select_in_table_mode(ENDTAG, "select"); + parser(t, value, arg3, arg4); + } + return; + } + } + + // anything else + in_select_mode(t, value, arg3, arg4); + } + + function after_body_mode(t, value, arg3, arg4) { + switch(t) { + case 1: // TEXT + // If any non-space chars, handle below + if (NONWS.test(value)) break; + in_body_mode(t, value); + return; + case 4: // COMMENT + // Append it to the element + stack.elements[0]._appendChild(doc.createComment(value)); + return; + case 5: // DOCTYPE + return; + case -1: // EOF + stopParsing(); + return; + case 2: // TAG + if (value === "html") { + in_body_mode(t, value, arg3, arg4); + return; + } + break; // for any other tags + case 3: // ENDTAG + if (value === "html") { + if (fragment) return; + parser = after_after_body_mode; + return; + } + break; // for any other tags + } + + // anything else + parser = in_body_mode; + parser(t, value, arg3, arg4); + } + + function in_frameset_mode(t, value, arg3, arg4) { + switch(t) { + case 1: // TEXT + // Ignore any non-space characters + value = value.replace(ALLNONWS, ""); + if (value.length > 0) insertText(value); + return; + case 4: // COMMENT + insertComment(value); + return; + case 5: // DOCTYPE + return; + case -1: // EOF + stopParsing(); + return; + case 2: // TAG + switch(value) { + case "html": + in_body_mode(t, value, arg3, arg4); + return; + case "frameset": + insertHTMLElement(value, arg3); + return; + case "frame": + insertHTMLElement(value, arg3); + stack.pop(); + return; + case "noframes": + in_head_mode(t, value, arg3, arg4); + return; + } + break; + case 3: // ENDTAG + if (value === "frameset") { + if (fragment && stack.top instanceof impl.HTMLHtmlElement) + return; + stack.pop(); + if (!fragment && + !(stack.top instanceof impl.HTMLFrameSetElement)) + parser = after_frameset_mode; + return; + } + break; + } + + // ignore anything else + } + + function after_frameset_mode(t, value, arg3, arg4) { + switch(t) { + case 1: // TEXT + // Ignore any non-space characters + value = value.replace(ALLNONWS, ""); + if (value.length > 0) insertText(value); + return; + case 4: // COMMENT + insertComment(value); + return; + case 5: // DOCTYPE + return; + case -1: // EOF + stopParsing(); + return; + case 2: // TAG + switch(value) { + case "html": + in_body_mode(t, value, arg3, arg4); + return; + case "noframes": + in_head_mode(t, value, arg3, arg4); + return; + } + break; + case 3: // ENDTAG + if (value === "html") { + parser = after_after_frameset_mode; + return; + } + break; + } + + // ignore anything else + } + + function after_after_body_mode(t, value, arg3, arg4) { + switch(t) { + case 1: // TEXT + // If any non-space chars, handle below + if (NONWS.test(value)) break; + in_body_mode(t, value, arg3, arg4); + return; + case 4: // COMMENT + doc._appendChild(doc.createComment(value)); + return; + case 5: // DOCTYPE + in_body_mode(t, value, arg3, arg4); + return; + case -1: // EOF + stopParsing(); + return; + case 2: // TAG + if (value === "html") { + in_body_mode(t, value, arg3, arg4); + return; + } + break; + } + + // anything else + parser = in_body_mode; + parser(t, value, arg3, arg4); + } + + function after_after_frameset_mode(t, value, arg3, arg4) { + switch(t) { + case 1: // TEXT + // Ignore any non-space characters + value = value.replace(ALLNONWS, ""); + if (value.length > 0) + in_body_mode(t, value, arg3, arg4); + return; + case 4: // COMMENT + doc._appendChild(doc.createComment(value)); + return; + case 5: // DOCTYPE + in_body_mode(t, value, arg3, arg4); + return; + case -1: // EOF + stopParsing(); + return; + case 2: // TAG + switch(value) { + case "html": + in_body_mode(t, value, arg3, arg4); + return; + case "noframes": + in_head_mode(t, value, arg3, arg4); + return; + } + break; + } + + // ignore anything else + } + + + // 13.2.5.5 The rules for parsing tokens in foreign content + // + // This is like one of the insertion modes above, but is + // invoked somewhat differently when the current token is not HTML. + // See the insertToken() function. + function insertForeignToken(t, value, arg3, arg4) { + // A tag is an HTML font tag if it has a color, font, or size + // attribute. Otherwise we assume it is foreign content + function isHTMLFont(attrs) { + for(var i = 0, n = attrs.length; i < n; i++) { + switch(attrs[i][0]) { + case "color": + case "font": + case "size": + return true; + } + } + return false; + } + + var current; + + switch(t) { + case 1: // TEXT + // If any non-space, non-nul characters + if (frameset_ok && NONWSNONNUL.test(value)) + frameset_ok = false; + if (textIncludesNUL) { + value = value.replace(NULCHARS, "\uFFFD"); + } + insertText(value); + return; + case 4: // COMMENT + insertComment(value); + return; + case 5: // DOCTYPE + // ignore it + return; + case 2: // TAG + switch(value) { + case "font": + if (!isHTMLFont(arg3)) break; + /* falls through */ + case "b": + case "big": + case "blockquote": + case "body": + case "br": + case "center": + case "code": + case "dd": + case "div": + case "dl": + case "dt": + case "em": + case "embed": + case "h1": + case "h2": + case "h3": + case "h4": + case "h5": + case "h6": + case "head": + case "hr": + case "i": + case "img": + case "li": + case "listing": + case "menu": + case "meta": + case "nobr": + case "ol": + case "p": + case "pre": + case "ruby": + case "s": + case "small": + case "span": + case "strong": + case "strike": + case "sub": + case "sup": + case "table": + case "tt": + case "u": + case "ul": + case "var": + do { + stack.pop(); + current = stack.top; + } while(current.namespaceURI !== NAMESPACE.HTML && + !isMathmlTextIntegrationPoint(current) && + !isHTMLIntegrationPoint(current)); + + insertToken(t, value, arg3, arg4); // reprocess + return; + } + + // Any other start tag case goes here + current = stack.top; + if (current.namespaceURI === NAMESPACE.MATHML) { + adjustMathMLAttributes(arg3); + } + else if (current.namespaceURI === NAMESPACE.SVG) { + value = adjustSVGTagName(value); + adjustSVGAttributes(arg3); + } + adjustForeignAttributes(arg3); + + insertForeignElement(value, arg3, current.namespaceURI); + if (arg4) // the self-closing flag + stack.pop(); + return; + + case 3: // ENDTAG + current = stack.top; + if (value === "script" && + current.namespaceURI === NAMESPACE.SVG && + current.localName === "script") { + + stack.pop(); + + // XXX + // Deal with SVG scripts here + } + else { + // The any other end tag case + var i = stack.elements.length-1; + var node = stack.elements[i]; + for(;;) { + if (node.localName.toLowerCase() === value) { + stack.popElement(node); + break; + } + node = stack.elements[--i]; + // If non-html, keep looping + if (node.namespaceURI !== NAMESPACE.HTML) + continue; + // Otherwise process the end tag as html + parser(t, value, arg3, arg4); + break; + } + } + return; + } + } + + + /*** + * parsing code for character references + */ + + // Parse a character reference from s and return a codepoint or an + // array of codepoints or null if there is no valid char ref in s. + function parseCharRef(s, isattr) { + var len = s.length; + var rv; + if (len === 0) return null; // No character reference matched + + if (s[0] === "#") { // Numeric character reference + var codepoint; + + if (s[1] === "x" || s[1] === "X") { + // Hex + codepoint = parseInt(s.substring(2), 16); + } + else { + // Decimal + codepoint = parseInt(s.substring(1), 10); + } + + if (s[len-1] === ";") // If the string ends with a semicolon + nextchar += len; // Consume all the chars + else + nextchar += len-1; // Otherwise, all but the last character + + if (codepoint in numericCharRefReplacements) { + codepoint = numericCharRefReplacements[codepoint]; + } + else if (codepoint > 0x10FFFF || (codepoint >= 0xD800 && codepoint < 0xE000)) { + codepoint = 0xFFFD; + } + + if (codepoint <= 0xFFFF) return codepoint; + + codepoint = codepoint - 0x10000; + return [0xD800 + (codepoint >> 10), + 0xDC00 + (codepoint & 0x03FF)]; + } + else { + // Named character reference + // We have to be able to parse some named char refs even when + // the semicolon is omitted, but have to match the longest one + // possible. So if the lookahead doesn't end with semicolon + // then we have to loop backward looking for longest to shortest + // matches. Fortunately, the names that don't require semis + // are all between 2 and 6 characters long. + + if (s[len-1] === ";") { + rv = namedCharRefs[s]; + if (rv !== undefined) { + nextchar += len; // consume all the characters + return rv; + } + } + + // If it didn't end with a semicolon, see if we can match + // everything but the terminating character + len--; // Ignore whatever the terminating character is + rv = namedCharRefsNoSemi[s.substring(0, len)]; + if (rv !== undefined) { + nextchar += len; + return rv; + } + + // If it still didn't match, and we're not parsing a + // character reference in an attribute value, then try + // matching shorter substrings. + if (!isattr) { + len--; + if (len > 6) len = 6; // Maximum possible match length + while(len >= 2) { + rv = namedCharRefsNoSemi[s.substring(0, len)]; + if (rv !== undefined) { + nextchar += len; + return rv; + } + len--; + } + } + + // Couldn't find any match + return null; + } + } + + + /*** + * Finally, this is the end of the HTMLParser() factory function. + * It returns the htmlparser object with the append() and end() methods. + */ + + // Sneak another method into the htmlparser object to allow us to run + // tokenizer tests. This can be commented out in production code. + // This is a hook for testing the tokenizer. It has to be here + // because the tokenizer details are all hidden away within the closure. + // It should return an array of tokens generated while parsing the + // input string. + htmlparser.testTokenizer = function(input, initialState, lastStartTag, charbychar) { + var tokens = []; + + switch(initialState) { + case "PCDATA state": + tokenizer = data_state; + break; + case "RCDATA state": + tokenizer = rcdata_state; + break; + case "RAWTEXT state": + tokenizer = rawtext_state; + break; + case "PLAINTEXT state": + tokenizer = plaintext_state; + break; + } + + if (lastStartTag) { + lasttagname = lastStartTag; + } + + insertToken = function(t, value, arg3, arg4) { + flushText(); + switch(t) { + case 1: // TEXT + if (tokens.length > 0 && + tokens[tokens.length-1][0] === "Character") { + tokens[tokens.length-1][1] += value; + } + else push(tokens, ["Character", value]); + break; + case 4: // COMMENT + push(tokens,["Comment", value]); + break; + case 5: // DOCTYPE + push(tokens,["DOCTYPE", value, + arg3 === undefined ? null : arg3, + arg4 === undefined ? null : arg4, + !force_quirks]); + break; + case 2: // TAG + var attrs = {}; + for(var i = 0; i < arg3.length; i++) { + // XXX: does attribute order matter? + var a = arg3[i]; + if (a.length === 1) { + attrs[a[0]] = ""; + } + else { + attrs[a[0]] = a[1]; + } + } + var token = ["StartTag", value, attrs]; + if (arg4) token.push(true); + tokens.push(token); + break; + case 3: // ENDTAG + tokens.push(["EndTag", value]); + break; + case -1: // EOF + break; + } + }; + + if (!charbychar) { + this.parse(input, true); + } + else { + for(var i = 0; i < input.length; i++) { + this.parse(input[i]); + } + this.parse("", true); + } + return tokens; + }; + + // Return the parser object from the HTMLParser() factory function + return htmlparser; +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/Leaf.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/Leaf.js new file mode 100644 index 0000000..794d5bc --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/Leaf.js @@ -0,0 +1,24 @@ +module.exports = Leaf; + +var HierarchyRequestError = require('./utils').HierarchyRequestError; +var Node = require('./Node'); +var NodeList = require('./NodeList'); + +// This class defines common functionality for node subtypes that +// can never have children +function Leaf() { +} + +Leaf.prototype = Object.create(Node.prototype, { + hasChildNodes: { value: function() { return false; }}, + firstChild: { value: null }, + lastChild: { value: null }, + insertBefore: { value: HierarchyRequestError }, + replaceChild: { value: HierarchyRequestError }, + removeChild: { value: HierarchyRequestError }, + appendChild: { value: HierarchyRequestError }, + childNodes: { get: function() { + if (!this._childNodes) this._childNodes = []; + return this._childNodes; + }} +}); diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/Location.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/Location.js new file mode 100644 index 0000000..a528705 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/Location.js @@ -0,0 +1,58 @@ +var URL = require('./URL'); +var URLDecompositionAttributes = require('./URLDecompositionAttributes'); + +module.exports = Location; + +function Location(window, href) { + this._window = window; + this._href = href; +} + +Location.prototype = Object.create(URLDecompositionAttributes.prototype, { + constructor: { value: Location }, + // The concrete methods that the superclass needs + getInput: { value: function() { return this.href; }}, + setOutput: { value: function(v) { this.href = v; }}, + + // Special behavior when href is set + href: { + get: function() { return this._href; }, + set: function(v) { this.assign(v); } + }, + + assign: { value: function(url) { + // Resolve the new url against the current one + // XXX: + // This is not actually correct. It should be resolved against + // the URL of the document of the script. For now, though, I only + // support a single window and there is only one base url. + // So this is good enough for now. + var current = new URL(this._href); + var newurl = current.resolve(url); + + // Save the new url + this._href = newurl; + + // Start loading the new document! + // XXX + // This is just something hacked together. + // The real algorithm is: http://www.whatwg.org/specs/web-apps/current-work/multipage/history.html#navigate + }}, + + replace: { value: function(url) { + // XXX + // Since we aren't tracking history yet, replace is the same as assign + this.assign(url); + }}, + + reload: { value: function() { + // XXX: + // Actually, the spec is a lot more complicated than this + this.assign(this.href); + }}, + + toString: { value: function() { + return this.href; + }} + +}); diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/MouseEvent.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/MouseEvent.js new file mode 100644 index 0000000..1c8820f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/MouseEvent.js @@ -0,0 +1,51 @@ +var UIEvent = require('./UIEvent'); + +module.exports = MouseEvent; + +function MouseEvent() { + // Just use the superclass constructor to initialize + UIEvent.call(this); + + this.screenX = this.screenY = this.clientX = this.clientY = 0; + this.ctrlKey = this.altKey = this.shiftKey = this.metaKey = false; + this.button = 0; + this.buttons = 1; + this.relatedTarget = null; +} +MouseEvent.prototype = Object.create(UIEvent.prototype, { + constructor: { value: MouseEvent }, + initMouseEvent: { value: function(type, bubbles, cancelable, + view, detail, + screenX, screenY, clientX, clientY, + ctrlKey, altKey, shiftKey, metaKey, + button, relatedTarget) { + + this.initEvent(type, bubbles, cancelable, view, detail); + this.screenX = screenX; + this.screenY = screenY; + this.clientX = clientX; + this.clientY = clientY; + this.ctrlKey = ctrlKey; + this.altKey = altKey; + this.shiftKey = shiftKey; + this.metaKey = metaKey; + this.button = button; + switch(button) { + case 0: this.buttons = 1; break; + case 1: this.buttons = 4; break; + case 2: this.buttons = 2; break; + default: this.buttons = 0; break; + } + this.relatedTarget = relatedTarget; + }}, + + getModifierState: { value: function(key) { + switch(key) { + case "Alt": return this.altKey; + case "Control": return this.ctrlKey; + case "Shift": return this.shiftKey; + case "Meta": return this.metaKey; + default: return false; + } + }} +}); diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/MutationConstants.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/MutationConstants.js new file mode 100644 index 0000000..315342e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/MutationConstants.js @@ -0,0 +1,8 @@ +module.exports = { + VALUE: 1, // The value of a Text, Comment or PI node changed + ATTR: 2, // A new attribute was added or an attribute value and/or prefix changed + REMOVE_ATTR: 3, // An attribute was removed + REMOVE: 4, // A node was removed + MOVE: 5, // A node was moved + INSERT: 6 // A node (or a subtree of nodes) was inserted +}; \ No newline at end of file diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/Node.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/Node.js new file mode 100644 index 0000000..5cc083d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/Node.js @@ -0,0 +1,641 @@ +module.exports = Node; + +var EventTarget = require('./EventTarget'); +var utils = require('./utils'); +var NAMESPACE = utils.NAMESPACE; + +// All nodes have a nodeType and an ownerDocument. +// Once inserted, they also have a parentNode. +// This is an abstract class; all nodes in a document are instances +// of a subtype, so all the properties are defined by more specific +// constructors. +function Node() { +} + +var ELEMENT_NODE = Node.ELEMENT_NODE = 1; +var ATTRIBUTE_NODE = Node.ATTRIBUTE_NODE = 2; +var TEXT_NODE = Node.TEXT_NODE = 3; +var CDATA_SECTION_NODE = Node.CDATA_SECTION_NODE = 4; +var ENTITY_REFERENCE_NODE = Node.ENTITY_REFERENCE_NODE = 5; +var ENTITY_NODE = Node.ENTITY_NODE = 6; +var PROCESSING_INSTRUCTION_NODE = Node.PROCESSING_INSTRUCTION_NODE = 7; +var COMMENT_NODE = Node.COMMENT_NODE = 8; +var DOCUMENT_NODE = Node.DOCUMENT_NODE = 9; +var DOCUMENT_TYPE_NODE = Node.DOCUMENT_TYPE_NODE = 10; +var DOCUMENT_FRAGMENT_NODE = Node.DOCUMENT_FRAGMENT_NODE = 11; +var NOTATION_NODE = Node.NOTATION_NODE = 12; + +var DOCUMENT_POSITION_DISCONNECTED = Node.DOCUMENT_POSITION_DISCONNECTED = 0x01; +var DOCUMENT_POSITION_PRECEDING = Node.DOCUMENT_POSITION_PRECEDING = 0x02; +var DOCUMENT_POSITION_FOLLOWING = Node.DOCUMENT_POSITION_FOLLOWING = 0x04; +var DOCUMENT_POSITION_CONTAINS = Node.DOCUMENT_POSITION_CONTAINS = 0x08; +var DOCUMENT_POSITION_CONTAINED_BY = Node.DOCUMENT_POSITION_CONTAINED_BY = 0x10; +var DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 0x20; + +var hasRawContent = { + STYLE: true, + SCRIPT: true, + XMP: true, + IFRAME: true, + NOEMBED: true, + NOFRAMES: true, + PLAINTEXT: true, + NOSCRIPT: true +}; + +var emptyElements = { + area: true, + base: true, + basefont: true, + bgsound: true, + br: true, + col: true, + command: true, + embed: true, + frame: true, + hr: true, + img: true, + input: true, + keygen: true, + link: true, + meta: true, + param: true, + source: true, + track: true, + wbr: true +}; + +var extraNewLine = { + pre: true, + textarea: true, + listing: true +}; + +Node.prototype = Object.create(EventTarget.prototype, { + + // Node that are not inserted into the tree inherit a null parent + parentNode: { value: null, writable: true }, + + // XXX: the baseURI attribute is defined by dom core, but + // a correct implementation of it requires HTML features, so + // we'll come back to this later. + baseURI: { get: utils.nyi }, + + parentElement: { get: function() { + return (this.parentNode && this.parentNode.nodeType===ELEMENT_NODE) ? this.parentNode : null; + }}, + + hasChildNodes: { value: function() { // Overridden in leaf.js + return this.childNodes.length > 0; + }}, + + firstChild: { get: function() { + return this.childNodes.length === 0 ? null : this.childNodes[0]; + }}, + + lastChild: { get: function() { + return this.childNodes.length === 0 ? null : this.childNodes[this.childNodes.length-1]; + }}, + + previousSibling: { get: function() { + if (!this.parentNode) return null; + var sibs = this.parentNode.childNodes, i = this.index; + return i === 0 ? null : sibs[i-1]; + }}, + + nextSibling: { get: function() { + if (!this.parentNode) return null; + var sibs = this.parentNode.childNodes, i = this.index; + return i+1 === sibs.length ? null : sibs[i+1]; + }}, + + insertBefore: { value: function insertBefore(child, refChild) { + var parent = this; + if (refChild === null) return this.appendChild(child); + if (refChild.parentNode !== parent) utils.NotFoundError(); + if (child.isAncestor(parent)) utils.HierarchyRequestError(); + if (child.nodeType === DOCUMENT_NODE) utils.HierarchyRequestError(); + parent.ensureSameDoc(child); + child.insert(parent, refChild.index); + return child; + }}, + + + appendChild: { value: function(child) { + var parent = this; + if (child.isAncestor(parent)) { + utils.HierarchyRequestError(); + } + if (child.nodeType === DOCUMENT_NODE) utils.HierarchyRequestError(); + parent.ensureSameDoc(child); + return parent._appendChild(child); + }}, + + _appendChild: { value: function(child) { + child.insert(this, this.childNodes.length); + return child; + }}, + + removeChild: { value: function removeChild(child) { + var parent = this; + if (child.parentNode !== parent) utils.NotFoundError(); + child.remove(); + return child; + }}, + + replaceChild: { value: function replaceChild(newChild, oldChild) { + var parent = this; + if (oldChild.parentNode !== parent) utils.NotFoundError(); + if (newChild.isAncestor(parent)) utils.HierarchyRequestError(); + parent.ensureSameDoc(newChild); + + var refChild = oldChild.nextSibling; + oldChild.remove(); + parent.insertBefore(newChild, refChild); + return oldChild; + }}, + + compareDocumentPosition: { value: function compareDocumentPosition(that){ + // Basic algorithm for finding the relative position of two nodes. + // Make a list the ancestors of each node, starting with the + // document element and proceeding down to the nodes themselves. + // Then, loop through the lists, looking for the first element + // that differs. The order of those two elements give the + // order of their descendant nodes. Or, if one list is a prefix + // of the other one, then that node contains the other. + + if (this === that) return 0; + + // If they're not owned by the same document or if one is rooted + // and one is not, then they're disconnected. + if (this.doc != that.doc || + this.rooted !== that.rooted) + return (DOCUMENT_POSITION_DISCONNECTED + + DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC); + + // Get arrays of ancestors for this and that + var these = [], those = []; + for(var n = this; n !== null; n = n.parentNode) these.push(n); + for(n = that; n !== null; n = n.parentNode) those.push(n); + these.reverse(); // So we start with the outermost + those.reverse(); + + if (these[0] !== those[0]) // No common ancestor + return (DOCUMENT_POSITION_DISCONNECTED + + DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC); + + n = Math.min(these.length, those.length); + for(var i = 1; i < n; i++) { + if (these[i] !== those[i]) { + // We found two different ancestors, so compare + // their positions + if (these[i].index < those[i].index) + return DOCUMENT_POSITION_FOLLOWING; + else + return DOCUMENT_POSITION_PRECEDING; + } + } + + // If we get to here, then one of the nodes (the one with the + // shorter list of ancestors) contains the other one. + if (these.length < those.length) + return (DOCUMENT_POSITION_FOLLOWING + + DOCUMENT_POSITION_CONTAINED_BY); + else + return (DOCUMENT_POSITION_PRECEDING + + DOCUMENT_POSITION_CONTAINS); + }}, + + isSameNode: {value : function isSameNode(node) { + return this === node; + }}, + + + // This method implements the generic parts of node equality testing + // and defers to the (non-recursive) type-specific isEqual() method + // defined by subclasses + isEqualNode: { value: function isEqualNode(node) { + if (!node) return false; + if (node.nodeType !== this.nodeType) return false; + + // Check for same number of children + // Check for children this way because it is more efficient + // for childless leaf nodes. + var n; // number of child nodes + if (!this.firstChild) { + n = 0; + if (node.firstChild) return false; + } + else { + n = this.childNodes.length; + if (node.childNodes.length != n) return false; + } + + // Check type-specific properties for equality + if (!this.isEqual(node)) return false; + + // Now check children for equality + for(var i = 0; i < n; i++) { + var c1 = this.childNodes[i], c2 = node.childNodes[i]; + if (!c1.isEqualNode(c2)) return false; + } + + return true; + }}, + + // This method delegates shallow cloning to a clone() method + // that each concrete subclass must implement + cloneNode: { value: function(deep) { + // Clone this node + var clone = this.clone(); + + // Handle the recursive case if necessary + if (deep && this.firstChild) { + for(var i = 0, n = this.childNodes.length; i < n; i++) { + clone._appendChild(this.childNodes[i].cloneNode(true)); + } + } + + return clone; + }}, + + lookupPrefix: { value: function lookupPrefix(ns) { + var e; + if (ns === '') return null; + switch(this.nodeType) { + case ELEMENT_NODE: + return this.locateNamespacePrefix(ns); + case DOCUMENT_NODE: + e = this.documentElement; + return e ? e.locateNamespacePrefix(ns) : null; + case DOCUMENT_TYPE_NODE: + case DOCUMENT_FRAGMENT_NODE: + return null; + default: + e = this.parentElement; + return e ? e.locateNamespacePrefix(ns) : null; + } + }}, + + + lookupNamespaceURI: {value: function lookupNamespaceURI(prefix) { + var e; + switch(this.nodeType) { + case ELEMENT_NODE: + return this.locateNamespace(prefix); + case DOCUMENT_NODE: + e = this.documentElement; + return e ? e.locateNamespace(prefix) : null; + case DOCUMENT_TYPE_NODE: + case DOCUMENT_FRAGMENT_NODE: + return null; + default: + e = this.parentElement; + return e ? e.locateNamespace(prefix) : null; + } + }}, + + isDefaultNamespace: { value: function isDefaultNamespace(ns) { + var defaultns = this.lookupNamespaceURI(null); + if (defaultns == null) defaultns = ''; + return ns === defaultns; + }}, + + // Utility methods for nodes. Not part of the DOM + + // Return the index of this node in its parent. + // Throw if no parent, or if this node is not a child of its parent + index: { get: function() { + utils.assert(this.parentNode); + var kids = this.parentNode.childNodes; + if (this._index == undefined || kids[this._index] != this) { + this._index = kids.indexOf(this); + utils.assert(this._index != -1); + } + return this._index; + }}, + + // Return true if this node is equal to or is an ancestor of that node + // Note that nodes are considered to be ancestors of themselves + isAncestor: { value: function(that) { + // If they belong to different documents, then they're unrelated. + if (this.doc != that.doc) return false; + // If one is rooted and one isn't then they're not related + if (this.rooted !== that.rooted) return false; + + // Otherwise check by traversing the parentNode chain + for(var e = that; e; e = e.parentNode) { + if (e === this) return true; + } + return false; + }}, + + // DOMINO Changed the behavior to conform with the specs. See: + // https://groups.google.com/d/topic/mozilla.dev.platform/77sIYcpdDmc/discussion + ensureSameDoc: { value: function(that) { + if (that.ownerDocument === null) { + that.ownerDocument = this.doc; + } + else if(that.ownerDocument !== this.doc) { + utils.WrongDocumentError(); + } + }}, + + // Remove this node from its parent + remove: { value: function remove() { + // Send mutation events if necessary + if (this.rooted) this.doc.mutateRemove(this); + + // Remove this node from its parents array of children + this.parentNode.childNodes.splice(this.index, 1); + + // Update the structure id for all ancestors + this.parentNode.modify(); + + // Forget this node's parent + this.parentNode = undefined; + }}, + + // Remove all of this node's children. This is a minor + // optimization that only calls modify() once. + removeChildren: { value: function removeChildren() { + var n = this.childNodes.length; + if (n) { + var root = this.rooted ? this.ownerDocument : null; + for(var i = 0; i < n; i++) { + if (root) root.mutateRemove(this.childNodes[i]); + this.childNodes[i].parentNode = undefined; + } + this.childNodes.length = 0; // Forget all children + this.modify(); // Update last modified type once only + } + }}, + + // Insert this node as a child of parent at the specified index, + // firing mutation events as necessary + insert: { value: function insert(parent, index) { + var child = this, kids = parent.childNodes; + + // If we are already a child of the specified parent, then t + // the index may have to be adjusted. + if (child.parentNode === parent) { + var currentIndex = child.index; + // If we're not moving the node, we're done now + // XXX: or do DOM mutation events still have to be fired? + if (currentIndex === index) return; + + // If the child is before the spot it is to be inserted at, + // then when it is removed, the index of that spot will be + // reduced. + if (currentIndex < index) index--; + } + + // Special case for document fragments + // XXX: it is not at all clear that I'm handling this correctly. + // Scripts should never get to see partially + // inserted fragments, I think. See: + // http://lists.w3.org/Archives/Public/www-dom/2011OctDec/0130.html + if (child.nodeType === DOCUMENT_FRAGMENT_NODE) { + var c; + while((c = child.firstChild)) + c.insert(parent, index++); + return; + } + + // If both the child and the parent are rooted, then we want to + // transplant the child without uprooting and rerooting it. + if (child.rooted && parent.rooted) { + // Remove the child from its current position in the tree + // without calling remove(), since we don't want to uproot it. + var curpar = child.parentNode, curidx = child.index; + child.parentNode.childNodes.splice(child.index, 1); + curpar.modify(); + + // And insert it as a child of its new parent + child.parentNode = parent; + kids.splice(index, 0, child); + child._index = index; // Optimization + parent.modify(); + + // Generate a move mutation event + parent.doc.mutateMove(child); + } + else { + // If the child already has a parent, it needs to be + // removed from that parent, which may also uproot it + if (child.parentNode) child.remove(); + + // Now insert the child into the parent's array of children + child.parentNode = parent; + kids.splice(index, 0, child); + + child._index = index; // Optimization + + // And root the child if necessary + if (parent.rooted) { + parent.modify(); + parent.doc.mutateInsert(child); + } + } + }}, + + + // Return the lastModTime value for this node. (For use as a + // cache invalidation mechanism. If the node does not already + // have one, initialize it from the owner document's modclock + // property. (Note that modclock does not return the actual + // time; it is simply a counter incremented on each document + // modification) + lastModTime: { get: function() { + if (!this._lastModTime) { + this._lastModTime = this.doc.modclock; + } + return this._lastModTime; + }}, + + // Increment the owner document's modclock and use the new + // value to update the lastModTime value for this node and + // all of its ancestors. Nodes that have never had their + // lastModTime value queried do not need to have a + // lastModTime property set on them since there is no + // previously queried value to ever compare the new value + // against, so only update nodes that already have a + // _lastModTime property. + modify: { value: function() { + if (this.doc.modclock) { // Skip while doc.modclock == 0 + var time = ++this.doc.modclock; + for(var n = this; n; n = n.parentElement) { + if (n._lastModTime) { + n._lastModTime = time; + } + } + } + }}, + + // This attribute is not part of the DOM but is quite helpful. + // It returns the document with which a node is associated. Usually + // this is the ownerDocument. But ownerDocument is null for the + // document object itself, so this is a handy way to get the document + // regardless of the node type + doc: { get: function() { + return this.ownerDocument || this; + }}, + + + // If the node has a nid (node id), then it is rooted in a document + rooted: { get: function() { + return !!this._nid; + }}, + + normalize: { value: function() { + for (var i=0; i < this.childNodes.length; i++) { + var child = this.childNodes[i]; + + if (child.normalize) { + child.normalize(); + } + + if (child.nodeValue === "") { + this.removeChild(child); + i--; + continue; + } + + if (i) { + var prevChild = this.childNodes[i-1]; + + if (child.nodeType === Node.TEXT_NODE && + prevChild.nodeType === Node.TEXT_NODE) { + + // remove the child and decrement i + prevChild.appendData(child.nodeValue); + + this.removeChild(child); + i--; + } + } + } + }}, + + // Convert the children of a node to an HTML string. + // This is used by the innerHTML getter + // The serialization spec is at: + // http://www.whatwg.org/specs/web-apps/current-work/multipage/the-end.html#serializing-html-fragments + serialize: { value: function() { + var s = ''; + for(var i = 0, n = this.childNodes.length; i < n; i++) { + var kid = this.childNodes[i]; + switch(kid.nodeType) { + case 1: //ELEMENT_NODE + var ns = kid.namespaceURI; + var html = ns == NAMESPACE.HTML; + var tagname = (html || ns == NAMESPACE.SVG || ns == NAMESPACE.MATHML) ? kid.localName : kid.tagName; + + s += '<' + tagname; + + for(var j = 0, k = kid._numattrs; j < k; j++) { + var a = kid._attr(j); + s += ' ' + attrname(a); + if (a.value !== undefined) s += '="' + escapeAttr(a.value) + '"'; + } + s += '>'; + + if (!(html && emptyElements[tagname])) { + var ss = kid.serialize(); + if (html && extraNewLine[tagname] && ss.charAt(0)==='\n') s += '\n'; + // Serialize children and add end tag for all others + s += ss; + s += ''; + } + break; + case 3: //TEXT_NODE + case 4: //CDATA_SECTION_NODE + var parenttag; + if (this.nodeType === ELEMENT_NODE && + this.namespaceURI === NAMESPACE.HTML) + parenttag = this.tagName; + else + parenttag = ''; + + s += hasRawContent[parenttag] ? kid.data : escape(kid.data); + break; + case 8: //COMMENT_NODE + s += ''; + break; + case 7: //PROCESSING_INSTRUCTION_NODE + s += ''; + break; + case 10: //DOCUMENT_TYPE_NODE + s += ''; + break; + default: + utils.InvalidState(); + } + } + + return s; + }}, + + // mirror node type properties in the prototype, so they are present + // in instances of Node (and subclasses) + ELEMENT_NODE: { value: ELEMENT_NODE }, + ATTRIBUTE_NODE: { value: ATTRIBUTE_NODE }, + TEXT_NODE: { value: TEXT_NODE }, + CDATA_SECTION_NODE: { value: CDATA_SECTION_NODE }, + ENTITY_REFERENCE_NODE: { value: ENTITY_REFERENCE_NODE }, + ENTITY_NODE: { value: ENTITY_NODE }, + PROCESSING_INSTRUCTION_NODE: { value: PROCESSING_INSTRUCTION_NODE }, + COMMENT_NODE: { value: COMMENT_NODE }, + DOCUMENT_NODE: { value: DOCUMENT_NODE }, + DOCUMENT_TYPE_NODE: { value: DOCUMENT_TYPE_NODE }, + DOCUMENT_FRAGMENT_NODE: { value: DOCUMENT_FRAGMENT_NODE }, + NOTATION_NODE: { value: NOTATION_NODE } +}); + +function escape(s) { + return s.replace(/[&<>\u00A0]/g, function(c) { + switch(c) { + case '&': return '&'; + case '<': return '<'; + case '>': return '>'; + case '\u00A0': return ' '; + } + }); +} + +function escapeAttr(s) { + return s.replace(/[&"\u00A0]/g, function(c) { + switch(c) { + case '&': return '&'; + case '"': return '"'; + case '\u00A0': return ' '; + } + }); +} + +function attrname(a) { + var ns = a.namespaceURI; + if (!ns) + return a.localName; + if (ns == NAMESPACE.XML) + return 'xml:' + a.localName; + if (ns == NAMESPACE.XLINK) + return 'xlink:' + a.localName; + + if (ns == NAMESPACE.XMLNS) { + if (a.localName === 'xmlns') return 'xmlns'; + else return 'xmlns:' + a.localName; + } + return a.name; +} + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/NodeFilter.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/NodeFilter.js new file mode 100644 index 0000000..db9697e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/NodeFilter.js @@ -0,0 +1,23 @@ +var NodeFilter = { + // Constants for acceptNode() + FILTER_ACCEPT: 1, + FILTER_REJECT: 2, + FILTER_SKIP: 3, + + // Constants for whatToShow + SHOW_ALL: 0xFFFFFFFF, + SHOW_ELEMENT: 0x1, + SHOW_ATTRIBUTE: 0x2, // historical + SHOW_TEXT: 0x4, + SHOW_CDATA_SECTION: 0x8, // historical + SHOW_ENTITY_REFERENCE: 0x10, // historical + SHOW_ENTITY: 0x20, // historical + SHOW_PROCESSING_INSTRUCTION: 0x40, + SHOW_COMMENT: 0x80, + SHOW_DOCUMENT: 0x100, + SHOW_DOCUMENT_TYPE: 0x200, + SHOW_DOCUMENT_FRAGMENT: 0x400, + SHOW_NOTATION: 0x800 // historical +}; + +module.exports = (NodeFilter.constructor = NodeFilter.prototype = NodeFilter); diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/NodeList.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/NodeList.js new file mode 100644 index 0000000..b67d655 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/NodeList.js @@ -0,0 +1,11 @@ +module.exports = NodeList; + +function item(i) { + return this[i]; +} + +function NodeList(a) { + if (!a) a = []; + a.item = item; + return a; +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/ProcessingInstruction.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/ProcessingInstruction.js new file mode 100644 index 0000000..c18d382 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/ProcessingInstruction.js @@ -0,0 +1,35 @@ +module.exports = ProcessingInstruction; + +var Node = require('./Node'); +var Leaf = require('./Leaf'); + +function ProcessingInstruction(doc, target, data) { + this.nodeType = Node.PROCESSING_INSTRUCTION_NODE; + this.ownerDocument = doc; + this.target = target; + this._data = data; +} + +var nodeValue = { + get: function() { return this._data; }, + set: function(v) { + this._data = v; + if (this.rooted) this.ownerDocument.mutateValue(this); + } +}; + +ProcessingInstruction.prototype = Object.create(Leaf.prototype, { + nodeName: { get: function() { return this.target; }}, + nodeValue: nodeValue, + textContent: nodeValue, + data: nodeValue, + + // Utility methods + clone: { value: function clone() { + return new ProcessingInstruction(this.ownerDocument, this.target, this._data); + }}, + isEqual: { value: function isEqual(n) { + return this.target === n.target && this._data === n._data; + }} + +}); diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/Text.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/Text.js new file mode 100644 index 0000000..be40ff7 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/Text.js @@ -0,0 +1,61 @@ +module.exports = Text; + +var utils = require('./utils'); +var Node = require('./Node'); +var CharacterData = require('./CharacterData'); + +function Text(doc, data) { + this.nodeType = Node.TEXT_NODE; + this.ownerDocument = doc; + this._data = data; + this._index = undefined; +} + +var nodeValue = { + get: function() { return this._data; }, + set: function(v) { + if (v === this._data) return; + this._data = v; + if (this.rooted) + this.ownerDocument.mutateValue(this); + if (this.parentNode && + this.parentNode._textchangehook) + this.parentNode._textchangehook(this); + } +}; + +Text.prototype = Object.create(CharacterData.prototype, { + nodeName: { value: "#text" }, + // These three attributes are all the same. + // The data attribute has a [TreatNullAs=EmptyString] but we'll + // implement that at the interface level + nodeValue: nodeValue, + textContent: nodeValue, + data: nodeValue, + + splitText: { value: function splitText(offset) { + if (offset > this._data.length || offset < 0) utils.IndexSizeError(); + + var newdata = this._data.substring(offset), + newnode = this.ownerDocument.createTextNode(newdata); + this.data = this.data.substring(0, offset); + + var parent = this.parentNode; + if (parent !== null) + parent.insertBefore(newnode, this.nextSibling); + + return newnode; + }}, + + // XXX + // wholeText and replaceWholeText() are not implemented yet because + // the DOMCore specification is considering removing or altering them. + wholeText: {get: utils.nyi }, + replaceWholeText: { value: utils.nyi }, + + // Utility methods + clone: { value: function clone() { + return new Text(this.ownerDocument, this._data); + }}, + +}); diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/TreeWalker.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/TreeWalker.js new file mode 100644 index 0000000..2bfe662 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/TreeWalker.js @@ -0,0 +1,311 @@ +module.exports = TreeWalker; + +var NodeFilter = require('./NodeFilter'); + +var mapChild = { + first: 'firstChild', + last: 'lastChild', + next: 'firstChild', + previous: 'lastChild' +}; + +var mapSibling = { + next: 'nextSibling', + previous: 'previousSibling' +}; + +/* Private methods and helpers */ + +/** + * @spec http://www.w3.org/TR/dom/#concept-traverse-children + * @method + * @access private + * @param {TreeWalker} tw + * @param {string} type One of 'first' or 'last'. + * @return {Node|null} + */ +function traverseChildren(tw, type) { + var child, node, parent, result, sibling; + node = tw.currentNode[mapChild[type]]; + while (node !== null) { + result = tw.filter.acceptNode(node); + if (result === NodeFilter.FILTER_ACCEPT) { + tw.currentNode = node; + return node; + } + if (result === NodeFilter.FILTER_SKIP) { + child = node[mapChild[type]]; + if (child !== null) { + node = child; + continue; + } + } + while (node !== null) { + sibling = node[mapChild[type]]; + if (sibling !== null) { + node = sibling; + break; + } + parent = node.parentNode; + if (parent === null || parent === tw.root || parent === tw.currentNode) { + return null; + } + else { + node = parent; + } + } + } + return null; +}; + +/** + * @spec http://www.w3.org/TR/dom/#concept-traverse-siblings + * @method + * @access private + * @param {TreeWalker} tw + * @param {TreeWalker} type One of 'next' or 'previous'. + * @return {Node|nul} + */ +function traverseSiblings(tw, type) { + var node, result, sibling; + node = tw.currentNode; + if (node === tw.root) { + return null; + } + while (true) { + sibling = node[mapSibling[type]]; + while (sibling !== null) { + node = sibling; + result = tw.filter.acceptNode(node); + if (result === NodeFilter.FILTER_ACCEPT) { + tw.currentNode = node; + return node; + } + sibling = node[mapChild[type]]; + if (result === NodeFilter.FILTER_REJECT) { + sibling = node[mapSibling[type]]; + } + } + node = node.parentNode; + if (node === null || node === tw.root) { + return null; + } + if (tw.filter.acceptNode(node) === NodeFilter.FILTER_ACCEPT) { + return null; + } + } +}; + +/** + * @based on WebKit's NodeTraversal::nextSkippingChildren + * https://trac.webkit.org/browser/trunk/Source/WebCore/dom/NodeTraversal.h?rev=137221#L103 + */ +function nextSkippingChildren(node, stayWithin) { + if (node === stayWithin) { + return null; + } + if (node.nextSibling !== null) { + return node.nextSibling; + } + + /** + * @based on WebKit's NodeTraversal::nextAncestorSibling + * https://trac.webkit.org/browser/trunk/Source/WebCore/dom/NodeTraversal.cpp?rev=137221#L43 + */ + while (node.parentNode !== null) { + node = node.parentNode; + if (node === stayWithin) { + return null; + } + if (node.nextSibling !== null) { + return node.nextSibling; + } + } + return null; +}; + +/* Public API */ + +/** + * Implemented version: http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker + * Latest version: http://www.w3.org/TR/dom/#interface-treewalker + * + * @constructor + * @param {Node} root + * @param {number} whatToShow [optional] + * @param {Function} filter [optional] + * @throws Error + */ +function TreeWalker(root, whatToShow, filter) { + var tw = this, active = false; + + if (!root || !root.nodeType) { + throw new Error('DOMException: NOT_SUPPORTED_ERR'); + } + + tw.root = root; + tw.whatToShow = Number(whatToShow) || 0; + + tw.currentNode = root; + + if (typeof filter == 'function') { + filter = null; + } + + tw.filter = Object.create(NodeFilter.prototype); + + /** + * @method + * @param {Node} node + * @return {Number} Constant NodeFilter.FILTER_ACCEPT, + * NodeFilter.FILTER_REJECT or NodeFilter.FILTER_SKIP. + */ + tw.filter.acceptNode = function (node) { + var result; + if (active) { + throw new Error('DOMException: INVALID_STATE_ERR'); + } + + // Maps nodeType to whatToShow + if (!(((1 << (node.nodeType - 1)) & tw.whatToShow))) { + return NodeFilter.FILTER_SKIP; + } + + if (filter === null) { + return NodeFilter.FILTER_ACCEPT; + } + + active = true; + result = filter(node); + active = false; + + return result; + }; +}; + +TreeWalker.prototype = { + + constructor: TreeWalker, + + /** + * @spec http://www.w3.org/TR/dom/#dom-treewalker-parentnode + * @method + * @return {Node|null} + */ + parentNode: function () { + var node = this.currentNode; + while (node !== null && node !== this.root) { + node = node.parentNode; + if (node !== null && this.filter.acceptNode(node) === NodeFilter.FILTER_ACCEPT) { + this.currentNode = node; + return node; + } + } + return null; + }, + + /** + * @spec http://www.w3.org/TR/dom/#dom-treewalker-firstchild + * @method + * @return {Node|null} + */ + firstChild: function () { + return traverseChildren(this, 'first'); + }, + + /** + * @spec http://www.w3.org/TR/dom/#dom-treewalker-lastchild + * @method + * @return {Node|null} + */ + lastChild: function () { + return traverseChildren(this, 'last'); + }, + + /** + * @spec http://www.w3.org/TR/dom/#dom-treewalker-previoussibling + * @method + * @return {Node|null} + */ + previousSibling: function () { + return traverseSiblings(this, 'previous'); + }, + + /** + * @spec http://www.w3.org/TR/dom/#dom-treewalker-nextsibling + * @method + * @return {Node|null} + */ + nextSibling: function () { + return traverseSiblings(this, 'next'); + }, + + /** + * @spec http://www.w3.org/TR/dom/#dom-treewalker-previousnode + * @method + * @return {Node|null} + */ + previousNode: function () { + var node, result, sibling; + node = this.currentNode; + while (node !== this.root) { + sibling = node.previousSibling; + while (sibling !== null) { + node = sibling; + result = this.filter.acceptNode(node); + while (result !== NodeFilter.FILTER_REJECT && node.lastChild !== null) { + node = node.lastChild; + result = this.filter.acceptNode(node); + } + if (result === NodeFilter.FILTER_ACCEPT) { + this.currentNode = node; + return node; + } + } + if (node === this.root || node.parentNode === null) { + return null; + } + node = node.parentNode; + if (this.filter.acceptNode(node) === NodeFilter.FILTER_ACCEPT) { + this.currentNode = node; + return node; + } + } + return null; + }, + + /** + * @spec http://www.w3.org/TR/dom/#dom-treewalker-nextnode + * @method + * @return {Node|null} + */ + nextNode: function () { + var node, result, following; + node = this.currentNode; + result = NodeFilter.FILTER_ACCEPT; + + while (true) { + while (result !== NodeFilter.FILTER_REJECT && node.firstChild !== null) { + node = node.firstChild; + result = this.filter.acceptNode(node); + if (result === NodeFilter.FILTER_ACCEPT) { + this.currentNode = node; + return node; + } + } + following = nextSkippingChildren(node, this.root); + if (following !== null) { + node = following; + } + else { + return null; + } + result = this.filter.acceptNode(node); + if (result === NodeFilter.FILTER_ACCEPT) { + this.currentNode = node; + return node; + } + } + } +}; + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/UIEvent.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/UIEvent.js new file mode 100644 index 0000000..6cd5e5f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/UIEvent.js @@ -0,0 +1,18 @@ +var Event = require('./Event'); + +module.exports = UIEvent; + +function UIEvent() { + // Just use the superclass constructor to initialize + Event.call(this); + this.view = null; // FF uses the current window + this.detail = 0; +} +UIEvent.prototype = Object.create(Event.prototype, { + constructor: { value: UIEvent }, + initUIEvent: { value: function(type, bubbles, cancelable, view, detail) { + this.initEvent(type, bubbles, cancelable); + this.view = view; + this.detail = detail; + }} +}); diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/URL.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/URL.js new file mode 100644 index 0000000..a0e476c --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/URL.js @@ -0,0 +1,166 @@ +module.exports = URL; + +function URL(url) { + if (!url) return Object.create(URL.prototype); + // Can't use String.trim() since it defines whitespace differently than HTML + this.url = url.replace(/^[ \t\n\r\f]+|[ \t\n\r\f]+$/g, ""); + + // See http://tools.ietf.org/html/rfc3986#appendix-B + var match = URL.pattern.exec(this.url); + if (match) { + if (match[2]) this.scheme = match[2]; + if (match[4]) { + // XXX ignoring userinfo before the hostname + if (match[4].match(URL.portPattern)) { + var pos = match[4].lastIndexOf(':'); + this.host = match[4].substring(0, pos); + this.port = match[4].substring(pos+1); + } + else { + this.host = match[4]; + } + } + if (match[5]) this.path = match[5]; + if (match[6]) this.query = match[7]; + if (match[8]) this.fragment = match[9]; + } +} + +URL.pattern = /^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/; +URL.portPattern = /:\d+$/; +URL.authorityPattern = /^[^:\/?#]+:\/\//; +URL.hierarchyPattern = /^[^:\/?#]+:\//; + +// Return a percentEncoded version of s. +// S should be a single-character string +// XXX: needs to do utf-8 encoding? +URL.percentEncode = function percentEncode(s) { + var c = charCodeAt(s, 0); + if (c < 256) return "%" + c.toString(16); + else throw Error("can't percent-encode codepoints > 255 yet"); +}; + +URL.prototype = { + constructor: URL, + + // XXX: not sure if this is the precise definition of absolute + isAbsolute: function() { return !!this.scheme; }, + isAuthorityBased: function() { + return URL.authorityPattern.test(this.url); + }, + isHierarchical: function() { + return URL.hierarchyPattern.test(this.url); + }, + + toString: function() { + var s = ""; + if (this.scheme !== undefined) s += this.scheme + ":"; + if (this.host !== undefined) s += "//" + this.host; + if (this.port !== undefined) s += ":" + this.port; + if (this.path !== undefined) s += this.path; + if (this.query !== undefined) s += "?" + this.query; + if (this.fragment !== undefined) s += "#" + this.fragment; + return s; + }, + + // See: http://tools.ietf.org/html/rfc3986#section-5.2 + resolve: function(relative) { + var base = this; // The base url we're resolving against + var r = new URL(relative); // The relative reference url to resolve + var t = new URL(); // The absolute target url we will return + + if (r.scheme !== undefined) { + t.scheme = r.scheme; + t.host = r.host; + t.port = r.port; + t.path = remove_dot_segments(r.path); + t.query = r.query; + } + else { + t.scheme = base.scheme; + if (r.host !== undefined) { + t.host = r.host; + t.port = r.port; + t.path = remove_dot_segments(r.path); + t.query = r.query; + } + else { + t.host = base.host; + t.port = base.port; + if (!r.path) { // undefined or empty + t.path = base.path; + if (r.query !== undefined) + t.query = r.query; + else + t.query = base.query; + } + else { + if (r.path.charAt(0) === "/") { + t.path = remove_dot_segments(r.path); + } + else { + t.path = merge(base.path, r.path); + t.path = remove_dot_segments(t.path); + } + t.query = r.query; + } + } + } + t.fragment = r.fragment; + + return t.toString(); + + + function merge(basepath, refpath) { + if (base.host !== undefined && !base.path) + return "/" + refpath; + + var lastslash = basepath.lastIndexOf("/"); + if (lastslash === -1) + return refpath; + else + return basepath.substring(0, lastslash+1) + refpath; + } + + function remove_dot_segments(path) { + if (!path) return path; // For "" or undefined + + var output = ""; + while(path.length > 0) { + if (path === "." || path === "..") { + path = ""; + break; + } + + var twochars = path.substring(0,2); + var threechars = path.substring(0,3); + var fourchars = path.substring(0,4); + if (threechars === "../") { + path = path.substring(3); + } + else if (twochars === "./") { + path = path.substring(2); + } + else if (threechars === "/./") { + path = "/" + path.substring(3); + } + else if (twochars === "/." && path.length === 2) { + path = "/"; + } + else if (fourchars === "/../" || + (threechars === "/.." && path.length === 3)) { + path = "/" + path.substring(4); + + output = output.replace(/\/?[^\/]*$/, ""); + } + else { + var segment = path.match(/(\/?([^\/]*))/)[0]; + output += segment; + path = path.substring(segment.length); + } + } + + return output; + } + }, +}; diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/URLDecompositionAttributes.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/URLDecompositionAttributes.js new file mode 100644 index 0000000..4fa1ced --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/URLDecompositionAttributes.js @@ -0,0 +1,163 @@ +var URL = require('./URL'); + +module.exports = URLDecompositionAttributes; + +// This is an abstract superclass for Location, HTMLAnchorElement and +// other types that have the standard complement of "URL decomposition +// IDL attributes". +// Subclasses must define getInput() and setOutput() methods. +// The getter and setter methods parse and rebuild the URL on each +// invocation; there is no attempt to cache the value and be more efficient +function URLDecompositionAttributes() {} +URLDecompositionAttributes.prototype = { + constructor: URLDecompositionAttributes, + + get protocol() { + var url = new URL(this.getInput()); + if (url.isAbsolute()) return url.scheme + ":"; + else return ""; + }, + + get host() { + var url = new URL(this.getInput()); + if (url.isAbsolute() && url.isAuthorityBased()) + return url.host + (url.port ? (":" + url.port) : ""); + else + return ""; + }, + + get hostname() { + var url = new URL(this.getInput()); + if (url.isAbsolute() && url.isAuthorityBased()) + return url.host; + else + return ""; + }, + + get port() { + var url = new URL(this.getInput()); + if (url.isAbsolute() && url.isAuthorityBased() && url.port!==undefined) + return url.port; + else + return ""; + }, + + get pathname() { + var url = new URL(this.getInput()); + if (url.isAbsolute() && url.isHierarchical()) + return url.path; + else + return ""; + }, + + get search() { + var url = new URL(this.getInput()); + if (url.isAbsolute() && url.isHierarchical() && url.query!==undefined) + return "?" + url.query; + else + return ""; + }, + + get hash() { + var url = new URL(this.getInput()); + if (url.isAbsolute() && url.fragment != undefined) + return "#" + url.fragment; + else + return ""; + }, + + + set protocol(v) { + var output = this.getInput(); + var url = new URL(output); + if (url.isAbsolute()) { + v = v.replace(/:+$/, ""); + v = v.replace(/[^-+\.a-zA-z0-9]/g, URL.percentEncode); + if (v.length > 0) { + url.scheme = v; + output = url.toString(); + } + } + this.setOutput(output); + }, + + set host(v) { + var output = this.getInput(); + var url = new URL(output); + if (url.isAbsolute() && url.isAuthorityBased()) { + v = v.replace(/[^-+\._~!$&'()*,;:=a-zA-z0-9]/g, URL.percentEncode); + if (v.length > 0) { + url.host = v; + delete url.port; + output = url.toString(); + } + } + this.setOutput(output); + }, + + set hostname(v) { + var output = this.getInput(); + var url = new URL(output); + if (url.isAbsolute() && url.isAuthorityBased()) { + v = v.replace(/^\/+/, ""); + v = v.replace(/[^-+\._~!$&'()*,;:=a-zA-z0-9]/g, URL.percentEncode); + if (v.length > 0) { + url.host = v; + output = url.toString(); + } + } + this.setOutput(output); + }, + + set port(v) { + var output = this.getInput(); + var url = new URL(output); + if (url.isAbsolute() && url.isAuthorityBased()) { + v = v.replace(/[^0-9].*$/, ""); + v = v.replace(/^0+/, ""); + if (v.length === 0) v = "0"; + if (parseInt(v, 10) <= 65535) { + url.port = v; + output = url.toString(); + } + } + this.setOutput(output); + }, + + set pathname(v) { + var output = this.getInput(); + var url = new URL(output); + if (url.isAbsolute() && url.isHierarchical()) { + if (v.charAt(0) !== "/") + v = "/" + v; + v = v.replace(/[^-+\._~!$&'()*,;:=@\/a-zA-z0-9]/g, URL.percentEncode); + url.path = v; + output = url.toString(); + } + this.setOutput(output); + }, + + set search(v) { + var output = this.getInput(); + var url = new URL(output); + if (url.isAbsolute() && url.isHierarchical()) { + if (v.charAt(0) !== "?") v = v.substring(1); + v = v.replace(/[^-+\._~!$&'()*,;:=@\/?a-zA-z0-9]/g, URL.percentEncode); + url.query = v; + output = url.toString(); + } + this.setOutput(output); + }, + + set hash(v) { + var output = this.getInput(); + var url = new URL(output); + if (url.isAbsolute()) { + if (v.charAt(0) !== "#") v = v.substring(1); + v = v.replace(/[^-+\._~!$&'()*,;:=@\/?a-zA-z0-9]/g, URL.percentEncode); + url.fragment = v; + output = url.toString(); + } + this.setOutput(output); + } +}; diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/Window.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/Window.js new file mode 100644 index 0000000..a539aa5 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/Window.js @@ -0,0 +1,70 @@ +var DOMImplementation = require('./DOMImplementation'); +var Node = require('./Node'); +var Document = require('./Document'); +var DocumentFragment = require('./DocumentFragment'); +var EventTarget = require('./EventTarget'); +var Location = require('./Location'); +var utils = require('./utils'); + +module.exports = Window; + +function Window(document) { + this.document = document || new DOMImplementation().createHTMLDocument(""); + this.document._scripting_enabled = true; + this.document.defaultView = this; + this.location = new Location(this, "about:blank"); +} + +Window.prototype = Object.create(EventTarget.prototype, { + _run: { value: function(code, file) { + if (file) code += '\n//@ sourceURL=' + file; + with(this) eval(code); + }}, + console: { value: console }, + history: { value: { + back: utils.nyi, + forward: utils.nyi, + go: utils.nyi + }}, + navigator: { value: { + appName: "node", + appVersion: "0.1", + platform: "JavaScript", + userAgent: "dom" + }}, + + // Self-referential properties + window: { get: function() { return this; }}, + self: { get: function() { return this; }}, + frames: { get: function() { return this; }}, + + // Self-referential properties for a top-level window + parent: { get: function() { return this; }}, + top: { get: function() { return this; }}, + + // We don't support any other windows for now + length: { value: 0 }, // no frames + frameElement: { value: null }, // not part of a frame + opener: { value: null }, // not opened by another window + + // The onload event handler. + // XXX: need to support a bunch of other event types, too, + // and have them interoperate with document.body. + + onload: { + get: function() { + return this._getEventHandler("load"); + }, + set: function(v) { + this._setEventHandler("load", v); + } + }, + + // XXX This is a completely broken implementation + getComputedStyle: { value: function getComputedStyle(elt) { + return elt.style; + }} + +}); + +utils.expose(require('./impl'), Window); diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/attributes.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/attributes.js new file mode 100644 index 0000000..ea6af8a --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/attributes.js @@ -0,0 +1,112 @@ +exports.property = function(attr) { + if (Array.isArray(attr.type)) { + var valid = {}; + attr.type.forEach(function(val) { + valid[val.value || val] = val.alias || val; + }); + var defaultValue = attr.implied ? '' : valid[0]; + return { + get: function() { + var v = this._getattr(attr.name); + if (v === null) return defaultValue; + + v = valid[v.toLowerCase()]; + if (v !== undefined) return v; + return defaultValue; + }, + set: function(v) { + this._setattr(attr.name, v); + } + }; + } + else if (attr.type == Boolean) { + return { + get: function() { + return this.hasAttribute(attr.name); + }, + set: function(v) { + if (v) { + this._setattr(attr.name, ''); + } + else { + this.removeAttribute(attr.name); + } + } + }; + } + else if (attr.type == Number) { + return numberPropDesc(attr); + } + else if (!attr.type || attr.type == String) { + return { + get: function() { return this._getattr(attr.name) || ''; }, + set: function(v) { this._setattr(attr.name, v); } + }; + } + else if (typeof attr.type == 'function') { + return attr.type(attr.name, attr); + } + throw new Error('Invalid attribute definition'); +}; + +// See http://www.whatwg.org/specs/web-apps/current-work/#reflect +// +// defval is the default value. If it is a function, then that function +// will be invoked as a method of the element to obtain the default. +// If no default is specified for a given attribute, then the default +// depends on the type of the attribute, but since this function handles +// 4 integer cases, you must specify the default value in each call +// +// min and max define a valid range for getting the attribute. +// +// setmin defines a minimum value when setting. If the value is less +// than that, then throw INDEX_SIZE_ERR. +// +// Conveniently, JavaScript's parseInt function appears to be +// compatible with HTML's 'rules for parsing integers' +function numberPropDesc(a) { + var def; + if(typeof a.default == 'function') { + def = a.default; + } + else if(typeof a.default == 'number') { + def = function() { return a.default; }; + } + else { + def = function() { utils.assert(false); }; + } + + return { + get: function() { + var v = this._getattr(a.name); + var n = a.float ? parseFloat(v) : parseInt(v, 10); + if (!isFinite(n) || (a.min !== undefined && n < a.min) || (a.max !== undefined && n > a.max)) { + return def.call(this); + } + return n; + }, + set: function(v) { + if (a.setmin !== undefined && v < a.setmin) { + utils.IndexSizeError(a.name + ' set to ' + v); + } + this._setattr(a.name, String(v)); + } + }; +} + +// This is a utility function for setting up change handler functions +// for attributes like 'id' that require special handling when they change. +exports.registerChangeHandler = function(c, name, handler) { + var p = c.prototype; + + // If p does not already have its own _attributeChangeHandlers + // then create one for it, inheriting from the inherited + // _attributeChangeHandlers. At the top (for the Element class) the + // _attributeChangeHandlers object will be created with a null prototype. + if (!Object.hasOwnProperty(p, '_attributeChangeHandlers')) { + p._attributeChangeHandlers = + Object.create(p._attributeChangeHandlers || null); + } + + p._attributeChangeHandlers[name] = handler; +}; \ No newline at end of file diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/cssparser.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/cssparser.js new file mode 100644 index 0000000..69ad278 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/cssparser.js @@ -0,0 +1,5644 @@ +/*! +Parser-Lib +Copyright (c) 2009-2011 Nicholas C. Zakas. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +*/ +/* Build time: 12-January-2012 01:05:23 */ +var parserlib = {}; +(function(){ + +/** + * A generic base to inherit from for any object + * that needs event handling. + * @class EventTarget + * @constructor + */ +function EventTarget(){ + + /** + * The array of listeners for various events. + * @type Object + * @property _listeners + * @private + */ + this._listeners = {}; +} + +EventTarget.prototype = { + + //restore constructor + constructor: EventTarget, + + /** + * Adds a listener for a given event type. + * @param {String} type The type of event to add a listener for. + * @param {Function} listener The function to call when the event occurs. + * @return {void} + * @method addListener + */ + addListener: function(type, listener){ + if (!this._listeners[type]){ + this._listeners[type] = []; + } + + this._listeners[type].push(listener); + }, + + /** + * Fires an event based on the passed-in object. + * @param {Object|String} event An object with at least a 'type' attribute + * or a string indicating the event name. + * @return {void} + * @method fire + */ + fire: function(event){ + if (typeof event == "string"){ + event = { type: event }; + } + if (typeof event.target != "undefined"){ + event.target = this; + } + + if (typeof event.type == "undefined"){ + throw new Error("Event object missing 'type' property."); + } + + if (this._listeners[event.type]){ + + //create a copy of the array and use that so listeners can't chane + var listeners = this._listeners[event.type].concat(); + for (var i=0, len=listeners.length; i < len; i++){ + listeners[i].call(this, event); + } + } + }, + + /** + * Removes a listener for a given event type. + * @param {String} type The type of event to remove a listener from. + * @param {Function} listener The function to remove from the event. + * @return {void} + * @method removeListener + */ + removeListener: function(type, listener){ + if (this._listeners[type]){ + var listeners = this._listeners[type]; + for (var i=0, len=listeners.length; i < len; i++){ + if (listeners[i] === listener){ + listeners.splice(i, 1); + break; + } + } + + + } + } +}; +/** + * Convenient way to read through strings. + * @namespace parserlib.util + * @class StringReader + * @constructor + * @param {String} text The text to read. + */ +function StringReader(text){ + + /** + * The input text with line endings normalized. + * @property _input + * @type String + * @private + */ + this._input = text.replace(/\n\r?/g, "\n"); + + + /** + * The row for the character to be read next. + * @property _line + * @type int + * @private + */ + this._line = 1; + + + /** + * The column for the character to be read next. + * @property _col + * @type int + * @private + */ + this._col = 1; + + /** + * The index of the character in the input to be read next. + * @property _cursor + * @type int + * @private + */ + this._cursor = 0; +} + +StringReader.prototype = { + + //restore constructor + constructor: StringReader, + + //------------------------------------------------------------------------- + // Position info + //------------------------------------------------------------------------- + + /** + * Returns the column of the character to be read next. + * @return {int} The column of the character to be read next. + * @method getCol + */ + getCol: function(){ + return this._col; + }, + + /** + * Returns the row of the character to be read next. + * @return {int} The row of the character to be read next. + * @method getLine + */ + getLine: function(){ + return this._line ; + }, + + /** + * Determines if you're at the end of the input. + * @return {Boolean} True if there's no more input, false otherwise. + * @method eof + */ + eof: function(){ + return (this._cursor == this._input.length); + }, + + //------------------------------------------------------------------------- + // Basic reading + //------------------------------------------------------------------------- + + /** + * Reads the next character without advancing the cursor. + * @param {int} count How many characters to look ahead (default is 1). + * @return {String} The next character or null if there is no next character. + * @method peek + */ + peek: function(count){ + var c = null; + count = (typeof count == "undefined" ? 1 : count); + + //if we're not at the end of the input... + if (this._cursor < this._input.length){ + + //get character and increment cursor and column + c = this._input.charAt(this._cursor + count - 1); + } + + return c; + }, + + /** + * Reads the next character from the input and adjusts the row and column + * accordingly. + * @return {String} The next character or null if there is no next character. + * @method read + */ + read: function(){ + var c = null; + + //if we're not at the end of the input... + if (this._cursor < this._input.length){ + + //if the last character was a newline, increment row count + //and reset column count + if (this._input.charAt(this._cursor) == "\n"){ + this._line++; + this._col=1; + } else { + this._col++; + } + + //get character and increment cursor and column + c = this._input.charAt(this._cursor++); + } + + return c; + }, + + //------------------------------------------------------------------------- + // Misc + //------------------------------------------------------------------------- + + /** + * Saves the current location so it can be returned to later. + * @method mark + * @return {void} + */ + mark: function(){ + this._bookmark = { + cursor: this._cursor, + line: this._line, + col: this._col + }; + }, + + reset: function(){ + if (this._bookmark){ + this._cursor = this._bookmark.cursor; + this._line = this._bookmark.line; + this._col = this._bookmark.col; + delete this._bookmark; + } + }, + + //------------------------------------------------------------------------- + // Advanced reading + //------------------------------------------------------------------------- + + /** + * Reads up to and including the given string. Throws an error if that + * string is not found. + * @param {String} pattern The string to read. + * @return {String} The string when it is found. + * @throws Error when the string pattern is not found. + * @method readTo + */ + readTo: function(pattern){ + + var buffer = "", + c; + + /* + * First, buffer must be the same length as the pattern. + * Then, buffer must end with the pattern or else reach the + * end of the input. + */ + while (buffer.length < pattern.length || buffer.lastIndexOf(pattern) != buffer.length - pattern.length){ + c = this.read(); + if (c){ + buffer += c; + } else { + throw new Error("Expected \"" + pattern + "\" at line " + this._line + ", col " + this._col + "."); + } + } + + return buffer; + + }, + + /** + * Reads characters while each character causes the given + * filter function to return true. The function is passed + * in each character and either returns true to continue + * reading or false to stop. + * @param {Function} filter The function to read on each character. + * @return {String} The string made up of all characters that passed the + * filter check. + * @method readWhile + */ + readWhile: function(filter){ + + var buffer = "", + c = this.read(); + + while(c !== null && filter(c)){ + buffer += c; + c = this.read(); + } + + return buffer; + + }, + + /** + * Reads characters that match either text or a regular expression and + * returns those characters. If a match is found, the row and column + * are adjusted; if no match is found, the reader's state is unchanged. + * reading or false to stop. + * @param {String|RegExp} matchter If a string, then the literal string + * value is searched for. If a regular expression, then any string + * matching the pattern is search for. + * @return {String} The string made up of all characters that matched or + * null if there was no match. + * @method readMatch + */ + readMatch: function(matcher){ + + var source = this._input.substring(this._cursor), + value = null; + + //if it's a string, just do a straight match + if (typeof matcher == "string"){ + if (source.indexOf(matcher) === 0){ + value = this.readCount(matcher.length); + } + } else if (matcher instanceof RegExp){ + if (matcher.test(source)){ + value = this.readCount(RegExp.lastMatch.length); + } + } + + return value; + }, + + + /** + * Reads a given number of characters. If the end of the input is reached, + * it reads only the remaining characters and does not throw an error. + * @param {int} count The number of characters to read. + * @return {String} The string made up the read characters. + * @method readCount + */ + readCount: function(count){ + var buffer = ""; + + while(count--){ + buffer += this.read(); + } + + return buffer; + } + +}; +/** + * Type to use when a syntax error occurs. + * @class SyntaxError + * @namespace parserlib.util + * @constructor + * @param {String} message The error message. + * @param {int} line The line at which the error occurred. + * @param {int} col The column at which the error occurred. + */ +function SyntaxError(message, line, col){ + + /** + * The column at which the error occurred. + * @type int + * @property col + */ + this.col = col; + + /** + * The line at which the error occurred. + * @type int + * @property line + */ + this.line = line; + + /** + * The text representation of the unit. + * @type String + * @property text + */ + this.message = message; + +} + +//inherit from Error +SyntaxError.prototype = new Error(); +/** + * Base type to represent a single syntactic unit. + * @class SyntaxUnit + * @namespace parserlib.util + * @constructor + * @param {String} text The text of the unit. + * @param {int} line The line of text on which the unit resides. + * @param {int} col The column of text on which the unit resides. + */ +function SyntaxUnit(text, line, col, type){ + + + /** + * The column of text on which the unit resides. + * @type int + * @property col + */ + this.col = col; + + /** + * The line of text on which the unit resides. + * @type int + * @property line + */ + this.line = line; + + /** + * The text representation of the unit. + * @type String + * @property text + */ + this.text = text; + + /** + * The type of syntax unit. + * @type int + * @property type + */ + this.type = type; +} + +/** + * Create a new syntax unit based solely on the given token. + * Convenience method for creating a new syntax unit when + * it represents a single token instead of multiple. + * @param {Object} token The token object to represent. + * @return {parserlib.util.SyntaxUnit} The object representing the token. + * @static + * @method fromToken + */ +SyntaxUnit.fromToken = function(token){ + return new SyntaxUnit(token.value, token.startLine, token.startCol); +}; + +SyntaxUnit.prototype = { + + //restore constructor + constructor: SyntaxUnit, + + /** + * Returns the text representation of the unit. + * @return {String} The text representation of the unit. + * @method valueOf + */ + valueOf: function(){ + return this.toString(); + }, + + /** + * Returns the text representation of the unit. + * @return {String} The text representation of the unit. + * @method toString + */ + toString: function(){ + return this.text; + } + +}; +/** + * Generic TokenStream providing base functionality. + * @class TokenStreamBase + * @namespace parserlib.util + * @constructor + * @param {String|StringReader} input The text to tokenize or a reader from + * which to read the input. + */ +function TokenStreamBase(input, tokenData){ + + /** + * The string reader for easy access to the text. + * @type StringReader + * @property _reader + * @private + */ + //this._reader = (typeof input == "string") ? new StringReader(input) : input; + this._reader = input ? new StringReader(input.toString()) : null; + + /** + * Token object for the last consumed token. + * @type Token + * @property _token + * @private + */ + this._token = null; + + /** + * The array of token information. + * @type Array + * @property _tokenData + * @private + */ + this._tokenData = tokenData; + + /** + * Lookahead token buffer. + * @type Array + * @property _lt + * @private + */ + this._lt = []; + + /** + * Lookahead token buffer index. + * @type int + * @property _ltIndex + * @private + */ + this._ltIndex = 0; + + this._ltIndexCache = []; +} + +/** + * Accepts an array of token information and outputs + * an array of token data containing key-value mappings + * and matching functions that the TokenStream needs. + * @param {Array} tokens An array of token descriptors. + * @return {Array} An array of processed token data. + * @method createTokenData + * @static + */ +TokenStreamBase.createTokenData = function(tokens){ + + var nameMap = [], + typeMap = {}, + tokenData = tokens.concat([]), + i = 0, + len = tokenData.length+1; + + tokenData.UNKNOWN = -1; + tokenData.unshift({name:"EOF"}); + + for (; i < len; i++){ + nameMap.push(tokenData[i].name); + tokenData[tokenData[i].name] = i; + if (tokenData[i].text){ + typeMap[tokenData[i].text] = i; + } + } + + tokenData.name = function(tt){ + return nameMap[tt]; + }; + + tokenData.type = function(c){ + return typeMap[c]; + }; + + return tokenData; +}; + +TokenStreamBase.prototype = { + + //restore constructor + constructor: TokenStreamBase, + + //------------------------------------------------------------------------- + // Matching methods + //------------------------------------------------------------------------- + + /** + * Determines if the next token matches the given token type. + * If so, that token is consumed; if not, the token is placed + * back onto the token stream. You can pass in any number of + * token types and this will return true if any of the token + * types is found. + * @param {int|int[]} tokenTypes Either a single token type or an array of + * token types that the next token might be. If an array is passed, + * it's assumed that the token can be any of these. + * @param {variant} channel (Optional) The channel to read from. If not + * provided, reads from the default (unnamed) channel. + * @return {Boolean} True if the token type matches, false if not. + * @method match + */ + match: function(tokenTypes, channel){ + + //always convert to an array, makes things easier + if (!(tokenTypes instanceof Array)){ + tokenTypes = [tokenTypes]; + } + + var tt = this.get(channel), + i = 0, + len = tokenTypes.length; + + while(i < len){ + if (tt == tokenTypes[i++]){ + return true; + } + } + + //no match found, put the token back + this.unget(); + return false; + }, + + /** + * Determines if the next token matches the given token type. + * If so, that token is consumed; if not, an error is thrown. + * @param {int|int[]} tokenTypes Either a single token type or an array of + * token types that the next token should be. If an array is passed, + * it's assumed that the token must be one of these. + * @param {variant} channel (Optional) The channel to read from. If not + * provided, reads from the default (unnamed) channel. + * @return {void} + * @method mustMatch + */ + mustMatch: function(tokenTypes, channel){ + + var token; + + //always convert to an array, makes things easier + if (!(tokenTypes instanceof Array)){ + tokenTypes = [tokenTypes]; + } + + if (!this.match.apply(this, arguments)){ + token = this.LT(1); + throw new SyntaxError("Expected " + this._tokenData[tokenTypes[0]].name + + " at line " + token.startLine + ", col " + token.startCol + ".", token.startLine, token.startCol); + } + }, + + //------------------------------------------------------------------------- + // Consuming methods + //------------------------------------------------------------------------- + + /** + * Keeps reading from the token stream until either one of the specified + * token types is found or until the end of the input is reached. + * @param {int|int[]} tokenTypes Either a single token type or an array of + * token types that the next token should be. If an array is passed, + * it's assumed that the token must be one of these. + * @param {variant} channel (Optional) The channel to read from. If not + * provided, reads from the default (unnamed) channel. + * @return {void} + * @method advance + */ + advance: function(tokenTypes, channel){ + + while(this.LA(0) != 0 && !this.match(tokenTypes, channel)){ + this.get(); + } + + return this.LA(0); + }, + + /** + * Consumes the next token from the token stream. + * @return {int} The token type of the token that was just consumed. + * @method get + */ + get: function(channel){ + + var tokenInfo = this._tokenData, + reader = this._reader, + value, + i =0, + len = tokenInfo.length, + found = false, + token, + info; + + //check the lookahead buffer first + if (this._lt.length && this._ltIndex >= 0 && this._ltIndex < this._lt.length){ + + i++; + this._token = this._lt[this._ltIndex++]; + info = tokenInfo[this._token.type]; + + //obey channels logic + while((info.channel !== undefined && channel !== info.channel) && + this._ltIndex < this._lt.length){ + this._token = this._lt[this._ltIndex++]; + info = tokenInfo[this._token.type]; + i++; + } + + //here be dragons + if ((info.channel === undefined || channel === info.channel) && + this._ltIndex <= this._lt.length){ + this._ltIndexCache.push(i); + return this._token.type; + } + } + + //call token retriever method + token = this._getToken(); + + //if it should be hidden, don't save a token + if (token.type > -1 && !tokenInfo[token.type].hide){ + + //apply token channel + token.channel = tokenInfo[token.type].channel; + + //save for later + this._token = token; + this._lt.push(token); + + //save space that will be moved (must be done before array is truncated) + this._ltIndexCache.push(this._lt.length - this._ltIndex + i); + + //keep the buffer under 5 items + if (this._lt.length > 5){ + this._lt.shift(); + } + + //also keep the shift buffer under 5 items + if (this._ltIndexCache.length > 5){ + this._ltIndexCache.shift(); + } + + //update lookahead index + this._ltIndex = this._lt.length; + } + + /* + * Skip to the next token if: + * 1. The token type is marked as hidden. + * 2. The token type has a channel specified and it isn't the current channel. + */ + info = tokenInfo[token.type]; + if (info && + (info.hide || + (info.channel !== undefined && channel !== info.channel))){ + return this.get(channel); + } else { + //return just the type + return token.type; + } + }, + + /** + * Looks ahead a certain number of tokens and returns the token type at + * that position. This will throw an error if you lookahead past the + * end of input, past the size of the lookahead buffer, or back past + * the first token in the lookahead buffer. + * @param {int} The index of the token type to retrieve. 0 for the + * current token, 1 for the next, -1 for the previous, etc. + * @return {int} The token type of the token in the given position. + * @method LA + */ + LA: function(index){ + var total = index, + tt; + if (index > 0){ + //TODO: Store 5 somewhere + if (index > 5){ + throw new Error("Too much lookahead."); + } + + //get all those tokens + while(total){ + tt = this.get(); + total--; + } + + //unget all those tokens + while(total < index){ + this.unget(); + total++; + } + } else if (index < 0){ + + if(this._lt[this._ltIndex+index]){ + tt = this._lt[this._ltIndex+index].type; + } else { + throw new Error("Too much lookbehind."); + } + + } else { + tt = this._token.type; + } + + return tt; + + }, + + /** + * Looks ahead a certain number of tokens and returns the token at + * that position. This will throw an error if you lookahead past the + * end of input, past the size of the lookahead buffer, or back past + * the first token in the lookahead buffer. + * @param {int} The index of the token type to retrieve. 0 for the + * current token, 1 for the next, -1 for the previous, etc. + * @return {Object} The token of the token in the given position. + * @method LA + */ + LT: function(index){ + + //lookahead first to prime the token buffer + this.LA(index); + + //now find the token, subtract one because _ltIndex is already at the next index + return this._lt[this._ltIndex+index-1]; + }, + + /** + * Returns the token type for the next token in the stream without + * consuming it. + * @return {int} The token type of the next token in the stream. + * @method peek + */ + peek: function(){ + return this.LA(1); + }, + + /** + * Returns the actual token object for the last consumed token. + * @return {Token} The token object for the last consumed token. + * @method token + */ + token: function(){ + return this._token; + }, + + /** + * Returns the name of the token for the given token type. + * @param {int} tokenType The type of token to get the name of. + * @return {String} The name of the token or "UNKNOWN_TOKEN" for any + * invalid token type. + * @method tokenName + */ + tokenName: function(tokenType){ + if (tokenType < 0 || tokenType > this._tokenData.length){ + return "UNKNOWN_TOKEN"; + } else { + return this._tokenData[tokenType].name; + } + }, + + /** + * Returns the token type value for the given token name. + * @param {String} tokenName The name of the token whose value should be returned. + * @return {int} The token type value for the given token name or -1 + * for an unknown token. + * @method tokenName + */ + tokenType: function(tokenName){ + return this._tokenData[tokenName] || -1; + }, + + /** + * Returns the last consumed token to the token stream. + * @method unget + */ + unget: function(){ + //if (this._ltIndex > -1){ + if (this._ltIndexCache.length){ + this._ltIndex -= this._ltIndexCache.pop();//--; + this._token = this._lt[this._ltIndex - 1]; + } else { + throw new Error("Too much lookahead."); + } + } + +}; + + +parserlib.util = { +StringReader: StringReader, +SyntaxError : SyntaxError, +SyntaxUnit : SyntaxUnit, +EventTarget : EventTarget, +TokenStreamBase : TokenStreamBase +}; +})(); +/* +Parser-Lib +Copyright (c) 2009-2011 Nicholas C. Zakas. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +*/ +/* Build time: 12-January-2012 01:05:23 */ +(function(){ +var EventTarget = parserlib.util.EventTarget, +TokenStreamBase = parserlib.util.TokenStreamBase, +StringReader = parserlib.util.StringReader, +SyntaxError = parserlib.util.SyntaxError, +SyntaxUnit = parserlib.util.SyntaxUnit; + +var Colors = { + aliceblue :"#f0f8ff", + antiquewhite :"#faebd7", + aqua :"#00ffff", + aquamarine :"#7fffd4", + azure :"#f0ffff", + beige :"#f5f5dc", + bisque :"#ffe4c4", + black :"#000000", + blanchedalmond :"#ffebcd", + blue :"#0000ff", + blueviolet :"#8a2be2", + brown :"#a52a2a", + burlywood :"#deb887", + cadetblue :"#5f9ea0", + chartreuse :"#7fff00", + chocolate :"#d2691e", + coral :"#ff7f50", + cornflowerblue :"#6495ed", + cornsilk :"#fff8dc", + crimson :"#dc143c", + cyan :"#00ffff", + darkblue :"#00008b", + darkcyan :"#008b8b", + darkgoldenrod :"#b8860b", + darkgray :"#a9a9a9", + darkgreen :"#006400", + darkkhaki :"#bdb76b", + darkmagenta :"#8b008b", + darkolivegreen :"#556b2f", + darkorange :"#ff8c00", + darkorchid :"#9932cc", + darkred :"#8b0000", + darksalmon :"#e9967a", + darkseagreen :"#8fbc8f", + darkslateblue :"#483d8b", + darkslategray :"#2f4f4f", + darkturquoise :"#00ced1", + darkviolet :"#9400d3", + deeppink :"#ff1493", + deepskyblue :"#00bfff", + dimgray :"#696969", + dodgerblue :"#1e90ff", + firebrick :"#b22222", + floralwhite :"#fffaf0", + forestgreen :"#228b22", + fuchsia :"#ff00ff", + gainsboro :"#dcdcdc", + ghostwhite :"#f8f8ff", + gold :"#ffd700", + goldenrod :"#daa520", + gray :"#808080", + green :"#008000", + greenyellow :"#adff2f", + honeydew :"#f0fff0", + hotpink :"#ff69b4", + indianred :"#cd5c5c", + indigo :"#4b0082", + ivory :"#fffff0", + khaki :"#f0e68c", + lavender :"#e6e6fa", + lavenderblush :"#fff0f5", + lawngreen :"#7cfc00", + lemonchiffon :"#fffacd", + lightblue :"#add8e6", + lightcoral :"#f08080", + lightcyan :"#e0ffff", + lightgoldenrodyellow :"#fafad2", + lightgrey :"#d3d3d3", + lightgreen :"#90ee90", + lightpink :"#ffb6c1", + lightsalmon :"#ffa07a", + lightseagreen :"#20b2aa", + lightskyblue :"#87cefa", + lightslategray :"#778899", + lightsteelblue :"#b0c4de", + lightyellow :"#ffffe0", + lime :"#00ff00", + limegreen :"#32cd32", + linen :"#faf0e6", + magenta :"#ff00ff", + maroon :"#800000", + mediumaquamarine:"#66cdaa", + mediumblue :"#0000cd", + mediumorchid :"#ba55d3", + mediumpurple :"#9370d8", + mediumseagreen :"#3cb371", + mediumslateblue :"#7b68ee", + mediumspringgreen :"#00fa9a", + mediumturquoise :"#48d1cc", + mediumvioletred :"#c71585", + midnightblue :"#191970", + mintcream :"#f5fffa", + mistyrose :"#ffe4e1", + moccasin :"#ffe4b5", + navajowhite :"#ffdead", + navy :"#000080", + oldlace :"#fdf5e6", + olive :"#808000", + olivedrab :"#6b8e23", + orange :"#ffa500", + orangered :"#ff4500", + orchid :"#da70d6", + palegoldenrod :"#eee8aa", + palegreen :"#98fb98", + paleturquoise :"#afeeee", + palevioletred :"#d87093", + papayawhip :"#ffefd5", + peachpuff :"#ffdab9", + peru :"#cd853f", + pink :"#ffc0cb", + plum :"#dda0dd", + powderblue :"#b0e0e6", + purple :"#800080", + red :"#ff0000", + rosybrown :"#bc8f8f", + royalblue :"#4169e1", + saddlebrown :"#8b4513", + salmon :"#fa8072", + sandybrown :"#f4a460", + seagreen :"#2e8b57", + seashell :"#fff5ee", + sienna :"#a0522d", + silver :"#c0c0c0", + skyblue :"#87ceeb", + slateblue :"#6a5acd", + slategray :"#708090", + snow :"#fffafa", + springgreen :"#00ff7f", + steelblue :"#4682b4", + tan :"#d2b48c", + teal :"#008080", + thistle :"#d8bfd8", + tomato :"#ff6347", + turquoise :"#40e0d0", + violet :"#ee82ee", + wheat :"#f5deb3", + white :"#ffffff", + whitesmoke :"#f5f5f5", + yellow :"#ffff00", + yellowgreen :"#9acd32" +}; +/** + * Represents a selector combinator (whitespace, +, >). + * @namespace parserlib.css + * @class Combinator + * @extends parserlib.util.SyntaxUnit + * @constructor + * @param {String} text The text representation of the unit. + * @param {int} line The line of text on which the unit resides. + * @param {int} col The column of text on which the unit resides. + */ +function Combinator(text, line, col){ + + SyntaxUnit.call(this, text, line, col, Parser.COMBINATOR_TYPE); + + /** + * The type of modifier. + * @type String + * @property type + */ + this.type = "unknown"; + + //pretty simple + if (/^\s+$/.test(text)){ + this.type = "descendant"; + } else if (text == ">"){ + this.type = "child"; + } else if (text == "+"){ + this.type = "adjacent-sibling"; + } else if (text == "~"){ + this.type = "sibling"; + } + +} + +Combinator.prototype = new SyntaxUnit(); +Combinator.prototype.constructor = Combinator; + +/** + * Represents a media feature, such as max-width:500. + * @namespace parserlib.css + * @class MediaFeature + * @extends parserlib.util.SyntaxUnit + * @constructor + * @param {SyntaxUnit} name The name of the feature. + * @param {SyntaxUnit} value The value of the feature or null if none. + */ +function MediaFeature(name, value){ + + SyntaxUnit.call(this, "(" + name + (value !== null ? ":" + value : "") + ")", name.startLine, name.startCol, Parser.MEDIA_FEATURE_TYPE); + + /** + * The name of the media feature + * @type String + * @property name + */ + this.name = name; + + /** + * The value for the feature or null if there is none. + * @type SyntaxUnit + * @property value + */ + this.value = value; +} + +MediaFeature.prototype = new SyntaxUnit(); +MediaFeature.prototype.constructor = MediaFeature; + +/** + * Represents an individual media query. + * @namespace parserlib.css + * @class MediaQuery + * @extends parserlib.util.SyntaxUnit + * @constructor + * @param {String} modifier The modifier "not" or "only" (or null). + * @param {String} mediaType The type of media (i.e., "print"). + * @param {Array} parts Array of selectors parts making up this selector. + * @param {int} line The line of text on which the unit resides. + * @param {int} col The column of text on which the unit resides. + */ +function MediaQuery(modifier, mediaType, features, line, col){ + + SyntaxUnit.call(this, (modifier ? modifier + " ": "") + (mediaType ? mediaType + " " : "") + features.join(" and "), line, col, Parser.MEDIA_QUERY_TYPE); + + /** + * The media modifier ("not" or "only") + * @type String + * @property modifier + */ + this.modifier = modifier; + + /** + * The mediaType (i.e., "print") + * @type String + * @property mediaType + */ + this.mediaType = mediaType; + + /** + * The parts that make up the selector. + * @type Array + * @property features + */ + this.features = features; + +} + +MediaQuery.prototype = new SyntaxUnit(); +MediaQuery.prototype.constructor = MediaQuery; + +/** + * A CSS3 parser. + * @namespace parserlib.css + * @class Parser + * @constructor + * @param {Object} options (Optional) Various options for the parser: + * starHack (true|false) to allow IE6 star hack as valid, + * underscoreHack (true|false) to interpret leading underscores + * as IE6-7 targeting for known properties, ieFilters (true|false) + * to indicate that IE < 8 filters should be accepted and not throw + * syntax errors. + */ +function Parser(options){ + + //inherit event functionality + EventTarget.call(this); + + + this.options = options || {}; + + this._tokenStream = null; +} + +//Static constants +Parser.DEFAULT_TYPE = 0; +Parser.COMBINATOR_TYPE = 1; +Parser.MEDIA_FEATURE_TYPE = 2; +Parser.MEDIA_QUERY_TYPE = 3; +Parser.PROPERTY_NAME_TYPE = 4; +Parser.PROPERTY_VALUE_TYPE = 5; +Parser.PROPERTY_VALUE_PART_TYPE = 6; +Parser.SELECTOR_TYPE = 7; +Parser.SELECTOR_PART_TYPE = 8; +Parser.SELECTOR_SUB_PART_TYPE = 9; + +Parser.prototype = function(){ + + var proto = new EventTarget(), //new prototype + prop, + additions = { + + //restore constructor + constructor: Parser, + + //instance constants - yuck + DEFAULT_TYPE : 0, + COMBINATOR_TYPE : 1, + MEDIA_FEATURE_TYPE : 2, + MEDIA_QUERY_TYPE : 3, + PROPERTY_NAME_TYPE : 4, + PROPERTY_VALUE_TYPE : 5, + PROPERTY_VALUE_PART_TYPE : 6, + SELECTOR_TYPE : 7, + SELECTOR_PART_TYPE : 8, + SELECTOR_SUB_PART_TYPE : 9, + + //----------------------------------------------------------------- + // Grammar + //----------------------------------------------------------------- + + _stylesheet: function(){ + + /* + * stylesheet + * : [ CHARSET_SYM S* STRING S* ';' ]? + * [S|CDO|CDC]* [ import [S|CDO|CDC]* ]* + * [ namespace [S|CDO|CDC]* ]* + * [ [ ruleset | media | page | font_face | keyframes ] [S|CDO|CDC]* ]* + * ; + */ + + var tokenStream = this._tokenStream, + charset = null, + token, + tt; + + this.fire("startstylesheet"); + + //try to read character set + this._charset(); + + this._skipCruft(); + + //try to read imports - may be more than one + while (tokenStream.peek() == Tokens.IMPORT_SYM){ + this._import(); + this._skipCruft(); + } + + //try to read namespaces - may be more than one + while (tokenStream.peek() == Tokens.NAMESPACE_SYM){ + this._namespace(); + this._skipCruft(); + } + + //get the next token + tt = tokenStream.peek(); + + //try to read the rest + while(tt > Tokens.EOF){ + + try { + + switch(tt){ + case Tokens.MEDIA_SYM: + this._media(); + this._skipCruft(); + break; + case Tokens.PAGE_SYM: + this._page(); + this._skipCruft(); + break; + case Tokens.FONT_FACE_SYM: + this._font_face(); + this._skipCruft(); + break; + case Tokens.KEYFRAMES_SYM: + this._keyframes(); + this._skipCruft(); + break; + case Tokens.S: + this._readWhitespace(); + break; + default: + if(!this._ruleset()){ + + //error handling for known issues + switch(tt){ + case Tokens.CHARSET_SYM: + token = tokenStream.LT(1); + this._charset(false); + throw new SyntaxError("@charset not allowed here.", token.startLine, token.startCol); + case Tokens.IMPORT_SYM: + token = tokenStream.LT(1); + this._import(false); + throw new SyntaxError("@import not allowed here.", token.startLine, token.startCol); + case Tokens.NAMESPACE_SYM: + token = tokenStream.LT(1); + this._namespace(false); + throw new SyntaxError("@namespace not allowed here.", token.startLine, token.startCol); + default: + tokenStream.get(); //get the last token + this._unexpectedToken(tokenStream.token()); + } + + } + } + } catch(ex) { + if (ex instanceof SyntaxError && !this.options.strict){ + this.fire({ + type: "error", + error: ex, + message: ex.message, + line: ex.line, + col: ex.col + }); + } else { + throw ex; + } + } + + tt = tokenStream.peek(); + } + + if (tt != Tokens.EOF){ + this._unexpectedToken(tokenStream.token()); + } + + this.fire("endstylesheet"); + }, + + _charset: function(emit){ + var tokenStream = this._tokenStream, + charset, + token, + line, + col; + + if (tokenStream.match(Tokens.CHARSET_SYM)){ + line = tokenStream.token().startLine; + col = tokenStream.token().startCol; + + this._readWhitespace(); + tokenStream.mustMatch(Tokens.STRING); + + token = tokenStream.token(); + charset = token.value; + + this._readWhitespace(); + tokenStream.mustMatch(Tokens.SEMICOLON); + + if (emit !== false){ + this.fire({ + type: "charset", + charset:charset, + line: line, + col: col + }); + } + } + }, + + _import: function(emit){ + /* + * import + * : IMPORT_SYM S* + * [STRING|URI] S* media_query_list? ';' S* + */ + + var tokenStream = this._tokenStream, + tt, + uri, + importToken, + mediaList = []; + + //read import symbol + tokenStream.mustMatch(Tokens.IMPORT_SYM); + importToken = tokenStream.token(); + this._readWhitespace(); + + tokenStream.mustMatch([Tokens.STRING, Tokens.URI]); + + //grab the URI value + uri = tokenStream.token().value.replace(/(?:url\()?["']([^"']+)["']\)?/, "$1"); + + this._readWhitespace(); + + mediaList = this._media_query_list(); + + //must end with a semicolon + tokenStream.mustMatch(Tokens.SEMICOLON); + this._readWhitespace(); + + if (emit !== false){ + this.fire({ + type: "import", + uri: uri, + media: mediaList, + line: importToken.startLine, + col: importToken.startCol + }); + } + + }, + + _namespace: function(emit){ + /* + * namespace + * : NAMESPACE_SYM S* [namespace_prefix S*]? [STRING|URI] S* ';' S* + */ + + var tokenStream = this._tokenStream, + line, + col, + prefix, + uri; + + //read import symbol + tokenStream.mustMatch(Tokens.NAMESPACE_SYM); + line = tokenStream.token().startLine; + col = tokenStream.token().startCol; + this._readWhitespace(); + + //it's a namespace prefix - no _namespace_prefix() method because it's just an IDENT + if (tokenStream.match(Tokens.IDENT)){ + prefix = tokenStream.token().value; + this._readWhitespace(); + } + + tokenStream.mustMatch([Tokens.STRING, Tokens.URI]); + /*if (!tokenStream.match(Tokens.STRING)){ + tokenStream.mustMatch(Tokens.URI); + }*/ + + //grab the URI value + uri = tokenStream.token().value.replace(/(?:url\()?["']([^"']+)["']\)?/, "$1"); + + this._readWhitespace(); + + //must end with a semicolon + tokenStream.mustMatch(Tokens.SEMICOLON); + this._readWhitespace(); + + if (emit !== false){ + this.fire({ + type: "namespace", + prefix: prefix, + uri: uri, + line: line, + col: col + }); + } + + }, + + _media: function(){ + /* + * media + * : MEDIA_SYM S* media_query_list S* '{' S* ruleset* '}' S* + * ; + */ + var tokenStream = this._tokenStream, + line, + col, + mediaList;// = []; + + //look for @media + tokenStream.mustMatch(Tokens.MEDIA_SYM); + line = tokenStream.token().startLine; + col = tokenStream.token().startCol; + + this._readWhitespace(); + + mediaList = this._media_query_list(); + + tokenStream.mustMatch(Tokens.LBRACE); + this._readWhitespace(); + + this.fire({ + type: "startmedia", + media: mediaList, + line: line, + col: col + }); + + while(true) { + if (tokenStream.peek() == Tokens.PAGE_SYM){ + this._page(); + } else if (!this._ruleset()){ + break; + } + } + + tokenStream.mustMatch(Tokens.RBRACE); + this._readWhitespace(); + + this.fire({ + type: "endmedia", + media: mediaList, + line: line, + col: col + }); + }, + + + //CSS3 Media Queries + _media_query_list: function(){ + /* + * media_query_list + * : S* [media_query [ ',' S* media_query ]* ]? + * ; + */ + var tokenStream = this._tokenStream, + mediaList = []; + + + this._readWhitespace(); + + if (tokenStream.peek() == Tokens.IDENT || tokenStream.peek() == Tokens.LPAREN){ + mediaList.push(this._media_query()); + } + + while(tokenStream.match(Tokens.COMMA)){ + this._readWhitespace(); + mediaList.push(this._media_query()); + } + + return mediaList; + }, + + /* + * Note: "expression" in the grammar maps to the _media_expression + * method. + + */ + _media_query: function(){ + /* + * media_query + * : [ONLY | NOT]? S* media_type S* [ AND S* expression ]* + * | expression [ AND S* expression ]* + * ; + */ + var tokenStream = this._tokenStream, + type = null, + ident = null, + token = null, + expressions = []; + + if (tokenStream.match(Tokens.IDENT)){ + ident = tokenStream.token().value.toLowerCase(); + + //since there's no custom tokens for these, need to manually check + if (ident != "only" && ident != "not"){ + tokenStream.unget(); + ident = null; + } else { + token = tokenStream.token(); + } + } + + this._readWhitespace(); + + if (tokenStream.peek() == Tokens.IDENT){ + type = this._media_type(); + if (token === null){ + token = tokenStream.token(); + } + } else if (tokenStream.peek() == Tokens.LPAREN){ + if (token === null){ + token = tokenStream.LT(1); + } + expressions.push(this._media_expression()); + } + + if (type === null && expressions.length === 0){ + return null; + } else { + this._readWhitespace(); + while (tokenStream.match(Tokens.IDENT)){ + if (tokenStream.token().value.toLowerCase() != "and"){ + this._unexpectedToken(tokenStream.token()); + } + + this._readWhitespace(); + expressions.push(this._media_expression()); + } + } + + return new MediaQuery(ident, type, expressions, token.startLine, token.startCol); + }, + + //CSS3 Media Queries + _media_type: function(){ + /* + * media_type + * : IDENT + * ; + */ + return this._media_feature(); + }, + + /** + * Note: in CSS3 Media Queries, this is called "expression". + * Renamed here to avoid conflict with CSS3 Selectors + * definition of "expression". Also note that "expr" in the + * grammar now maps to "expression" from CSS3 selectors. + * @method _media_expression + * @private + */ + _media_expression: function(){ + /* + * expression + * : '(' S* media_feature S* [ ':' S* expr ]? ')' S* + * ; + */ + var tokenStream = this._tokenStream, + feature = null, + token, + expression = null; + + tokenStream.mustMatch(Tokens.LPAREN); + + feature = this._media_feature(); + this._readWhitespace(); + + if (tokenStream.match(Tokens.COLON)){ + this._readWhitespace(); + token = tokenStream.LT(1); + expression = this._expression(); + } + + tokenStream.mustMatch(Tokens.RPAREN); + this._readWhitespace(); + + return new MediaFeature(feature, (expression ? new SyntaxUnit(expression, token.startLine, token.startCol) : null)); + }, + + //CSS3 Media Queries + _media_feature: function(){ + /* + * media_feature + * : IDENT + * ; + */ + var tokenStream = this._tokenStream; + + tokenStream.mustMatch(Tokens.IDENT); + + return SyntaxUnit.fromToken(tokenStream.token()); + }, + + //CSS3 Paged Media + _page: function(){ + /* + * page: + * PAGE_SYM S* IDENT? pseudo_page? S* + * '{' S* [ declaration | margin ]? [ ';' S* [ declaration | margin ]? ]* '}' S* + * ; + */ + var tokenStream = this._tokenStream, + line, + col, + identifier = null, + pseudoPage = null; + + //look for @page + tokenStream.mustMatch(Tokens.PAGE_SYM); + line = tokenStream.token().startLine; + col = tokenStream.token().startCol; + + this._readWhitespace(); + + if (tokenStream.match(Tokens.IDENT)){ + identifier = tokenStream.token().value; + + //The value 'auto' may not be used as a page name and MUST be treated as a syntax error. + if (identifier.toLowerCase() === "auto"){ + this._unexpectedToken(tokenStream.token()); + } + } + + //see if there's a colon upcoming + if (tokenStream.peek() == Tokens.COLON){ + pseudoPage = this._pseudo_page(); + } + + this._readWhitespace(); + + this.fire({ + type: "startpage", + id: identifier, + pseudo: pseudoPage, + line: line, + col: col + }); + + this._readDeclarations(true, true); + + this.fire({ + type: "endpage", + id: identifier, + pseudo: pseudoPage, + line: line, + col: col + }); + + }, + + //CSS3 Paged Media + _margin: function(){ + /* + * margin : + * margin_sym S* '{' declaration [ ';' S* declaration? ]* '}' S* + * ; + */ + var tokenStream = this._tokenStream, + line, + col, + marginSym = this._margin_sym(); + + if (marginSym){ + line = tokenStream.token().startLine; + col = tokenStream.token().startCol; + + this.fire({ + type: "startpagemargin", + margin: marginSym, + line: line, + col: col + }); + + this._readDeclarations(true); + + this.fire({ + type: "endpagemargin", + margin: marginSym, + line: line, + col: col + }); + return true; + } else { + return false; + } + }, + + //CSS3 Paged Media + _margin_sym: function(){ + + /* + * margin_sym : + * TOPLEFTCORNER_SYM | + * TOPLEFT_SYM | + * TOPCENTER_SYM | + * TOPRIGHT_SYM | + * TOPRIGHTCORNER_SYM | + * BOTTOMLEFTCORNER_SYM | + * BOTTOMLEFT_SYM | + * BOTTOMCENTER_SYM | + * BOTTOMRIGHT_SYM | + * BOTTOMRIGHTCORNER_SYM | + * LEFTTOP_SYM | + * LEFTMIDDLE_SYM | + * LEFTBOTTOM_SYM | + * RIGHTTOP_SYM | + * RIGHTMIDDLE_SYM | + * RIGHTBOTTOM_SYM + * ; + */ + + var tokenStream = this._tokenStream; + + if(tokenStream.match([Tokens.TOPLEFTCORNER_SYM, Tokens.TOPLEFT_SYM, + Tokens.TOPCENTER_SYM, Tokens.TOPRIGHT_SYM, Tokens.TOPRIGHTCORNER_SYM, + Tokens.BOTTOMLEFTCORNER_SYM, Tokens.BOTTOMLEFT_SYM, + Tokens.BOTTOMCENTER_SYM, Tokens.BOTTOMRIGHT_SYM, + Tokens.BOTTOMRIGHTCORNER_SYM, Tokens.LEFTTOP_SYM, + Tokens.LEFTMIDDLE_SYM, Tokens.LEFTBOTTOM_SYM, Tokens.RIGHTTOP_SYM, + Tokens.RIGHTMIDDLE_SYM, Tokens.RIGHTBOTTOM_SYM])) + { + return SyntaxUnit.fromToken(tokenStream.token()); + } else { + return null; + } + + }, + + _pseudo_page: function(){ + /* + * pseudo_page + * : ':' IDENT + * ; + */ + + var tokenStream = this._tokenStream; + + tokenStream.mustMatch(Tokens.COLON); + tokenStream.mustMatch(Tokens.IDENT); + + //TODO: CSS3 Paged Media says only "left", "center", and "right" are allowed + + return tokenStream.token().value; + }, + + _font_face: function(){ + /* + * font_face + * : FONT_FACE_SYM S* + * '{' S* declaration [ ';' S* declaration ]* '}' S* + * ; + */ + var tokenStream = this._tokenStream, + line, + col; + + //look for @page + tokenStream.mustMatch(Tokens.FONT_FACE_SYM); + line = tokenStream.token().startLine; + col = tokenStream.token().startCol; + + this._readWhitespace(); + + this.fire({ + type: "startfontface", + line: line, + col: col + }); + + this._readDeclarations(true); + + this.fire({ + type: "endfontface", + line: line, + col: col + }); + }, + + _operator: function(){ + + /* + * operator + * : '/' S* | ',' S* | /( empty )/ + * ; + */ + + var tokenStream = this._tokenStream, + token = null; + + if (tokenStream.match([Tokens.SLASH, Tokens.COMMA])){ + token = tokenStream.token(); + this._readWhitespace(); + } + return token ? PropertyValuePart.fromToken(token) : null; + + }, + + _combinator: function(){ + + /* + * combinator + * : PLUS S* | GREATER S* | TILDE S* | S+ + * ; + */ + + var tokenStream = this._tokenStream, + value = null, + token; + + if(tokenStream.match([Tokens.PLUS, Tokens.GREATER, Tokens.TILDE])){ + token = tokenStream.token(); + value = new Combinator(token.value, token.startLine, token.startCol); + this._readWhitespace(); + } + + return value; + }, + + _unary_operator: function(){ + + /* + * unary_operator + * : '-' | '+' + * ; + */ + + var tokenStream = this._tokenStream; + + if (tokenStream.match([Tokens.MINUS, Tokens.PLUS])){ + return tokenStream.token().value; + } else { + return null; + } + }, + + _property: function(){ + + /* + * property + * : IDENT S* + * ; + */ + + var tokenStream = this._tokenStream, + value = null, + hack = null, + tokenValue, + token, + line, + col; + + //check for star hack - throws error if not allowed + if (tokenStream.peek() == Tokens.STAR && this.options.starHack){ + tokenStream.get(); + token = tokenStream.token(); + hack = token.value; + line = token.startLine; + col = token.startCol; + } + + if(tokenStream.match(Tokens.IDENT)){ + token = tokenStream.token(); + tokenValue = token.value; + + //check for underscore hack - no error if not allowed because it's valid CSS syntax + if (tokenValue.charAt(0) == "_" && this.options.underscoreHack){ + hack = "_"; + tokenValue = tokenValue.substring(1); + } + + value = new PropertyName(tokenValue, hack, (line||token.startLine), (col||token.startCol)); + this._readWhitespace(); + } + + return value; + }, + + //Augmented with CSS3 Selectors + _ruleset: function(){ + /* + * ruleset + * : selectors_group + * '{' S* declaration? [ ';' S* declaration? ]* '}' S* + * ; + */ + + var tokenStream = this._tokenStream, + tt, + selectors; + + + /* + * Error Recovery: If even a single selector fails to parse, + * then the entire ruleset should be thrown away. + */ + try { + selectors = this._selectors_group(); + } catch (ex){ + if (ex instanceof SyntaxError && !this.options.strict){ + + //fire error event + this.fire({ + type: "error", + error: ex, + message: ex.message, + line: ex.line, + col: ex.col + }); + + //skip over everything until closing brace + tt = tokenStream.advance([Tokens.RBRACE]); + if (tt == Tokens.RBRACE){ + //if there's a right brace, the rule is finished so don't do anything + } else { + //otherwise, rethrow the error because it wasn't handled properly + throw ex; + } + + } else { + //not a syntax error, rethrow it + throw ex; + } + + //trigger parser to continue + return true; + } + + //if it got here, all selectors parsed + if (selectors){ + + this.fire({ + type: "startrule", + selectors: selectors, + line: selectors[0].line, + col: selectors[0].col + }); + + this._readDeclarations(true); + + this.fire({ + type: "endrule", + selectors: selectors, + line: selectors[0].line, + col: selectors[0].col + }); + + } + + return selectors; + + }, + + //CSS3 Selectors + _selectors_group: function(){ + + /* + * selectors_group + * : selector [ COMMA S* selector ]* + * ; + */ + var tokenStream = this._tokenStream, + selectors = [], + selector; + + selector = this._selector(); + if (selector !== null){ + + selectors.push(selector); + while(tokenStream.match(Tokens.COMMA)){ + this._readWhitespace(); + selector = this._selector(); + if (selector !== null){ + selectors.push(selector); + } else { + this._unexpectedToken(tokenStream.LT(1)); + } + } + } + + return selectors.length ? selectors : null; + }, + + //CSS3 Selectors + _selector: function(){ + /* + * selector + * : simple_selector_sequence [ combinator simple_selector_sequence ]* + * ; + */ + + var tokenStream = this._tokenStream, + selector = [], + nextSelector = null, + combinator = null, + ws = null; + + //if there's no simple selector, then there's no selector + nextSelector = this._simple_selector_sequence(); + if (nextSelector === null){ + return null; + } + + selector.push(nextSelector); + + do { + + //look for a combinator + combinator = this._combinator(); + + if (combinator !== null){ + selector.push(combinator); + nextSelector = this._simple_selector_sequence(); + + //there must be a next selector + if (nextSelector === null){ + this._unexpectedToken(this.LT(1)); + } else { + + //nextSelector is an instance of SelectorPart + selector.push(nextSelector); + } + } else { + + //if there's not whitespace, we're done + if (this._readWhitespace()){ + + //add whitespace separator + ws = new Combinator(tokenStream.token().value, tokenStream.token().startLine, tokenStream.token().startCol); + + //combinator is not required + combinator = this._combinator(); + + //selector is required if there's a combinator + nextSelector = this._simple_selector_sequence(); + if (nextSelector === null){ + if (combinator !== null){ + this._unexpectedToken(tokenStream.LT(1)); + } + } else { + + if (combinator !== null){ + selector.push(combinator); + } else { + selector.push(ws); + } + + selector.push(nextSelector); + } + } else { + break; + } + + } + } while(true); + + return new Selector(selector, selector[0].line, selector[0].col); + }, + + //CSS3 Selectors + _simple_selector_sequence: function(){ + /* + * simple_selector_sequence + * : [ type_selector | universal ] + * [ HASH | class | attrib | pseudo | negation ]* + * | [ HASH | class | attrib | pseudo | negation ]+ + * ; + */ + + var tokenStream = this._tokenStream, + + //parts of a simple selector + elementName = null, + modifiers = [], + + //complete selector text + selectorText= "", + + //the different parts after the element name to search for + components = [ + //HASH + function(){ + return tokenStream.match(Tokens.HASH) ? + new SelectorSubPart(tokenStream.token().value, "id", tokenStream.token().startLine, tokenStream.token().startCol) : + null; + }, + this._class, + this._attrib, + this._pseudo, + this._negation + ], + i = 0, + len = components.length, + component = null, + found = false, + line, + col; + + + //get starting line and column for the selector + line = tokenStream.LT(1).startLine; + col = tokenStream.LT(1).startCol; + + elementName = this._type_selector(); + if (!elementName){ + elementName = this._universal(); + } + + if (elementName !== null){ + selectorText += elementName; + } + + while(true){ + + //whitespace means we're done + if (tokenStream.peek() === Tokens.S){ + break; + } + + //check for each component + while(i < len && component === null){ + component = components[i++].call(this); + } + + if (component === null){ + + //we don't have a selector + if (selectorText === ""){ + return null; + } else { + break; + } + } else { + i = 0; + modifiers.push(component); + selectorText += component.toString(); + component = null; + } + } + + + return selectorText !== "" ? + new SelectorPart(elementName, modifiers, selectorText, line, col) : + null; + }, + + //CSS3 Selectors + _type_selector: function(){ + /* + * type_selector + * : [ namespace_prefix ]? element_name + * ; + */ + + var tokenStream = this._tokenStream, + ns = this._namespace_prefix(), + elementName = this._element_name(); + + if (!elementName){ + /* + * Need to back out the namespace that was read due to both + * type_selector and universal reading namespace_prefix + * first. Kind of hacky, but only way I can figure out + * right now how to not change the grammar. + */ + if (ns){ + tokenStream.unget(); + if (ns.length > 1){ + tokenStream.unget(); + } + } + + return null; + } else { + if (ns){ + elementName.text = ns + elementName.text; + elementName.col -= ns.length; + } + return elementName; + } + }, + + //CSS3 Selectors + _class: function(){ + /* + * class + * : '.' IDENT + * ; + */ + + var tokenStream = this._tokenStream, + token; + + if (tokenStream.match(Tokens.DOT)){ + tokenStream.mustMatch(Tokens.IDENT); + token = tokenStream.token(); + return new SelectorSubPart("." + token.value, "class", token.startLine, token.startCol - 1); + } else { + return null; + } + + }, + + //CSS3 Selectors + _element_name: function(){ + /* + * element_name + * : IDENT + * ; + */ + + var tokenStream = this._tokenStream, + token; + + if (tokenStream.match(Tokens.IDENT)){ + token = tokenStream.token(); + return new SelectorSubPart(token.value, "elementName", token.startLine, token.startCol); + + } else { + return null; + } + }, + + //CSS3 Selectors + _namespace_prefix: function(){ + /* + * namespace_prefix + * : [ IDENT | '*' ]? '|' + * ; + */ + var tokenStream = this._tokenStream, + value = ""; + + //verify that this is a namespace prefix + if (tokenStream.LA(1) === Tokens.PIPE || tokenStream.LA(2) === Tokens.PIPE){ + + if(tokenStream.match([Tokens.IDENT, Tokens.STAR])){ + value += tokenStream.token().value; + } + + tokenStream.mustMatch(Tokens.PIPE); + value += "|"; + + } + + return value.length ? value : null; + }, + + //CSS3 Selectors + _universal: function(){ + /* + * universal + * : [ namespace_prefix ]? '*' + * ; + */ + var tokenStream = this._tokenStream, + value = "", + ns; + + ns = this._namespace_prefix(); + if(ns){ + value += ns; + } + + if(tokenStream.match(Tokens.STAR)){ + value += "*"; + } + + return value.length ? value : null; + + }, + + //CSS3 Selectors + _attrib: function(){ + /* + * attrib + * : '[' S* [ namespace_prefix ]? IDENT S* + * [ [ PREFIXMATCH | + * SUFFIXMATCH | + * SUBSTRINGMATCH | + * '=' | + * INCLUDES | + * DASHMATCH ] S* [ IDENT | STRING ] S* + * ]? ']' + * ; + */ + + var tokenStream = this._tokenStream, + value = null, + ns, + token; + + if (tokenStream.match(Tokens.LBRACKET)){ + token = tokenStream.token(); + value = token.value; + value += this._readWhitespace(); + + ns = this._namespace_prefix(); + + if (ns){ + value += ns; + } + + tokenStream.mustMatch(Tokens.IDENT); + value += tokenStream.token().value; + value += this._readWhitespace(); + + if(tokenStream.match([Tokens.PREFIXMATCH, Tokens.SUFFIXMATCH, Tokens.SUBSTRINGMATCH, + Tokens.EQUALS, Tokens.INCLUDES, Tokens.DASHMATCH])){ + + value += tokenStream.token().value; + value += this._readWhitespace(); + + tokenStream.mustMatch([Tokens.IDENT, Tokens.STRING]); + value += tokenStream.token().value; + value += this._readWhitespace(); + } + + tokenStream.mustMatch(Tokens.RBRACKET); + + return new SelectorSubPart(value + "]", "attribute", token.startLine, token.startCol); + } else { + return null; + } + }, + + //CSS3 Selectors + _pseudo: function(){ + + /* + * pseudo + * : ':' ':'? [ IDENT | functional_pseudo ] + * ; + */ + + var tokenStream = this._tokenStream, + pseudo = null, + colons = ":", + line, + col; + + if (tokenStream.match(Tokens.COLON)){ + + if (tokenStream.match(Tokens.COLON)){ + colons += ":"; + } + + if (tokenStream.match(Tokens.IDENT)){ + pseudo = tokenStream.token().value; + line = tokenStream.token().startLine; + col = tokenStream.token().startCol - colons.length; + } else if (tokenStream.peek() == Tokens.FUNCTION){ + line = tokenStream.LT(1).startLine; + col = tokenStream.LT(1).startCol - colons.length; + pseudo = this._functional_pseudo(); + } + + if (pseudo){ + pseudo = new SelectorSubPart(colons + pseudo, "pseudo", line, col); + } + } + + return pseudo; + }, + + //CSS3 Selectors + _functional_pseudo: function(){ + /* + * functional_pseudo + * : FUNCTION S* expression ')' + * ; + */ + + var tokenStream = this._tokenStream, + value = null; + + if(tokenStream.match(Tokens.FUNCTION)){ + value = tokenStream.token().value; + value += this._readWhitespace(); + value += this._expression(); + tokenStream.mustMatch(Tokens.RPAREN); + value += ")"; + } + + return value; + }, + + //CSS3 Selectors + _expression: function(){ + /* + * expression + * : [ [ PLUS | '-' | DIMENSION | NUMBER | STRING | IDENT ] S* ]+ + * ; + */ + + var tokenStream = this._tokenStream, + value = ""; + + while(tokenStream.match([Tokens.PLUS, Tokens.MINUS, Tokens.DIMENSION, + Tokens.NUMBER, Tokens.STRING, Tokens.IDENT, Tokens.LENGTH, + Tokens.FREQ, Tokens.ANGLE, Tokens.TIME, + Tokens.RESOLUTION])){ + + value += tokenStream.token().value; + value += this._readWhitespace(); + } + + return value.length ? value : null; + + }, + + //CSS3 Selectors + _negation: function(){ + /* + * negation + * : NOT S* negation_arg S* ')' + * ; + */ + + var tokenStream = this._tokenStream, + line, + col, + value = "", + arg, + subpart = null; + + if (tokenStream.match(Tokens.NOT)){ + value = tokenStream.token().value; + line = tokenStream.token().startLine; + col = tokenStream.token().startCol; + value += this._readWhitespace(); + arg = this._negation_arg(); + value += arg; + value += this._readWhitespace(); + tokenStream.match(Tokens.RPAREN); + value += tokenStream.token().value; + + subpart = new SelectorSubPart(value, "not", line, col); + subpart.args.push(arg); + } + + return subpart; + }, + + //CSS3 Selectors + _negation_arg: function(){ + /* + * negation_arg + * : type_selector | universal | HASH | class | attrib | pseudo + * ; + */ + + var tokenStream = this._tokenStream, + args = [ + this._type_selector, + this._universal, + function(){ + return tokenStream.match(Tokens.HASH) ? + new SelectorSubPart(tokenStream.token().value, "id", tokenStream.token().startLine, tokenStream.token().startCol) : + null; + }, + this._class, + this._attrib, + this._pseudo + ], + arg = null, + i = 0, + len = args.length, + elementName, + line, + col, + part; + + line = tokenStream.LT(1).startLine; + col = tokenStream.LT(1).startCol; + + while(i < len && arg === null){ + + arg = args[i].call(this); + i++; + } + + //must be a negation arg + if (arg === null){ + this._unexpectedToken(tokenStream.LT(1)); + } + + //it's an element name + if (arg.type == "elementName"){ + part = new SelectorPart(arg, [], arg.toString(), line, col); + } else { + part = new SelectorPart(null, [arg], arg.toString(), line, col); + } + + return part; + }, + + _declaration: function(){ + + /* + * declaration + * : property ':' S* expr prio? + * | /( empty )/ + * ; + */ + + var tokenStream = this._tokenStream, + property = null, + expr = null, + prio = null, + error = null, + invalid = null; + + property = this._property(); + if (property !== null){ + + tokenStream.mustMatch(Tokens.COLON); + this._readWhitespace(); + + expr = this._expr(); + + //if there's no parts for the value, it's an error + if (!expr || expr.length === 0){ + this._unexpectedToken(tokenStream.LT(1)); + } + + prio = this._prio(); + + try { + this._validateProperty(property, expr); + } catch (ex) { + invalid = ex; + } + + this.fire({ + type: "property", + property: property, + value: expr, + important: prio, + line: property.line, + col: property.col, + invalid: invalid + }); + + return true; + } else { + return false; + } + }, + + _prio: function(){ + /* + * prio + * : IMPORTANT_SYM S* + * ; + */ + + var tokenStream = this._tokenStream, + result = tokenStream.match(Tokens.IMPORTANT_SYM); + + this._readWhitespace(); + return result; + }, + + _expr: function(){ + /* + * expr + * : term [ operator term ]* + * ; + */ + + var tokenStream = this._tokenStream, + values = [], + //valueParts = [], + value = null, + operator = null; + + value = this._term(); + if (value !== null){ + + values.push(value); + + do { + operator = this._operator(); + + //if there's an operator, keep building up the value parts + if (operator){ + values.push(operator); + } /*else { + //if there's not an operator, you have a full value + values.push(new PropertyValue(valueParts, valueParts[0].line, valueParts[0].col)); + valueParts = []; + }*/ + + value = this._term(); + + if (value === null){ + break; + } else { + values.push(value); + } + } while(true); + } + + //cleanup + /*if (valueParts.length){ + values.push(new PropertyValue(valueParts, valueParts[0].line, valueParts[0].col)); + }*/ + + return values.length > 0 ? new PropertyValue(values, values[0].startLine, values[0].startCol) : null; + }, + + _term: function(){ + + /* + * term + * : unary_operator? + * [ NUMBER S* | PERCENTAGE S* | LENGTH S* | ANGLE S* | + * TIME S* | FREQ S* | function | ie_function ] + * | STRING S* | IDENT S* | URI S* | UNICODERANGE S* | hexcolor + * ; + */ + + var tokenStream = this._tokenStream, + unary = null, + value = null, + line, + col; + + //returns the operator or null + unary = this._unary_operator(); + if (unary !== null){ + line = tokenStream.token().startLine; + col = tokenStream.token().startCol; + } + + //exception for IE filters + if (tokenStream.peek() == Tokens.IE_FUNCTION && this.options.ieFilters){ + + value = this._ie_function(); + if (unary === null){ + line = tokenStream.token().startLine; + col = tokenStream.token().startCol; + } + + //see if there's a simple match + } else if (tokenStream.match([Tokens.NUMBER, Tokens.PERCENTAGE, Tokens.LENGTH, + Tokens.ANGLE, Tokens.TIME, + Tokens.FREQ, Tokens.STRING, Tokens.IDENT, Tokens.URI, Tokens.UNICODE_RANGE])){ + + value = tokenStream.token().value; + if (unary === null){ + line = tokenStream.token().startLine; + col = tokenStream.token().startCol; + } + this._readWhitespace(); + } else { + + //see if it's a color + value = this._hexcolor(); + if (value === null){ + + //if there's no unary, get the start of the next token for line/col info + if (unary === null){ + line = tokenStream.LT(1).startLine; + col = tokenStream.LT(1).startCol; + } + + //has to be a function + if (value === null){ + + /* + * This checks for alpha(opacity=0) style of IE + * functions. IE_FUNCTION only presents progid: style. + */ + if (tokenStream.LA(3) == Tokens.EQUALS && this.options.ieFilters){ + value = this._ie_function(); + } else { + value = this._function(); + } + } + + /*if (value === null){ + return null; + //throw new Error("Expected identifier at line " + tokenStream.token().startLine + ", character " + tokenStream.token().startCol + "."); + }*/ + + } else { + if (unary === null){ + line = tokenStream.token().startLine; + col = tokenStream.token().startCol; + } + } + + } + + return value !== null ? + new PropertyValuePart(unary !== null ? unary + value : value, line, col) : + null; + + }, + + _function: function(){ + + /* + * function + * : FUNCTION S* expr ')' S* + * ; + */ + + var tokenStream = this._tokenStream, + functionText = null, + expr = null, + lt; + + if (tokenStream.match(Tokens.FUNCTION)){ + functionText = tokenStream.token().value; + this._readWhitespace(); + expr = this._expr(); + functionText += expr; + + //START: Horrible hack in case it's an IE filter + if (this.options.ieFilters && tokenStream.peek() == Tokens.EQUALS){ + do { + + if (this._readWhitespace()){ + functionText += tokenStream.token().value; + } + + //might be second time in the loop + if (tokenStream.LA(0) == Tokens.COMMA){ + functionText += tokenStream.token().value; + } + + tokenStream.match(Tokens.IDENT); + functionText += tokenStream.token().value; + + tokenStream.match(Tokens.EQUALS); + functionText += tokenStream.token().value; + + //functionText += this._term(); + lt = tokenStream.peek(); + while(lt != Tokens.COMMA && lt != Tokens.S && lt != Tokens.RPAREN){ + tokenStream.get(); + functionText += tokenStream.token().value; + lt = tokenStream.peek(); + } + } while(tokenStream.match([Tokens.COMMA, Tokens.S])); + } + + //END: Horrible Hack + + tokenStream.match(Tokens.RPAREN); + functionText += ")"; + this._readWhitespace(); + } + + return functionText; + }, + + _ie_function: function(){ + + /* (My own extension) + * ie_function + * : IE_FUNCTION S* IDENT '=' term [S* ','? IDENT '=' term]+ ')' S* + * ; + */ + + var tokenStream = this._tokenStream, + functionText = null, + expr = null, + lt; + + //IE function can begin like a regular function, too + if (tokenStream.match([Tokens.IE_FUNCTION, Tokens.FUNCTION])){ + functionText = tokenStream.token().value; + + do { + + if (this._readWhitespace()){ + functionText += tokenStream.token().value; + } + + //might be second time in the loop + if (tokenStream.LA(0) == Tokens.COMMA){ + functionText += tokenStream.token().value; + } + + tokenStream.match(Tokens.IDENT); + functionText += tokenStream.token().value; + + tokenStream.match(Tokens.EQUALS); + functionText += tokenStream.token().value; + + //functionText += this._term(); + lt = tokenStream.peek(); + while(lt != Tokens.COMMA && lt != Tokens.S && lt != Tokens.RPAREN){ + tokenStream.get(); + functionText += tokenStream.token().value; + lt = tokenStream.peek(); + } + } while(tokenStream.match([Tokens.COMMA, Tokens.S])); + + tokenStream.match(Tokens.RPAREN); + functionText += ")"; + this._readWhitespace(); + } + + return functionText; + }, + + _hexcolor: function(){ + /* + * There is a constraint on the color that it must + * have either 3 or 6 hex-digits (i.e., [0-9a-fA-F]) + * after the "#"; e.g., "#000" is OK, but "#abcd" is not. + * + * hexcolor + * : HASH S* + * ; + */ + + var tokenStream = this._tokenStream, + token, + color = null; + + if(tokenStream.match(Tokens.HASH)){ + + //need to do some validation here + + token = tokenStream.token(); + color = token.value; + if (!/#[a-f0-9]{3,6}/i.test(color)){ + throw new SyntaxError("Expected a hex color but found '" + color + "' at line " + token.startLine + ", col " + token.startCol + ".", token.startLine, token.startCol); + } + this._readWhitespace(); + } + + return color; + }, + + //----------------------------------------------------------------- + // Animations methods + //----------------------------------------------------------------- + + _keyframes: function(){ + + /* + * keyframes: + * : KEYFRAMES_SYM S* keyframe_name S* '{' S* keyframe_rule* '}' { + * ; + */ + var tokenStream = this._tokenStream, + token, + tt, + name; + + tokenStream.mustMatch(Tokens.KEYFRAMES_SYM); + this._readWhitespace(); + name = this._keyframe_name(); + + this._readWhitespace(); + tokenStream.mustMatch(Tokens.LBRACE); + + this.fire({ + type: "startkeyframes", + name: name, + line: name.line, + col: name.col + }); + + this._readWhitespace(); + tt = tokenStream.peek(); + + //check for key + while(tt == Tokens.IDENT || tt == Tokens.PERCENTAGE) { + this._keyframe_rule(); + this._readWhitespace(); + tt = tokenStream.peek(); + } + + this.fire({ + type: "endkeyframes", + name: name, + line: name.line, + col: name.col + }); + + this._readWhitespace(); + tokenStream.mustMatch(Tokens.RBRACE); + + }, + + _keyframe_name: function(){ + + /* + * keyframe_name: + * : IDENT + * | STRING + * ; + */ + var tokenStream = this._tokenStream, + token; + + tokenStream.mustMatch([Tokens.IDENT, Tokens.STRING]); + return SyntaxUnit.fromToken(tokenStream.token()); + }, + + _keyframe_rule: function(){ + + /* + * keyframe_rule: + * : key_list S* + * '{' S* declaration [ ';' S* declaration ]* '}' S* + * ; + */ + var tokenStream = this._tokenStream, + token, + keyList = this._key_list(); + + this.fire({ + type: "startkeyframerule", + keys: keyList, + line: keyList[0].line, + col: keyList[0].col + }); + + this._readDeclarations(true); + + this.fire({ + type: "endkeyframerule", + keys: keyList, + line: keyList[0].line, + col: keyList[0].col + }); + + }, + + _key_list: function(){ + + /* + * key_list: + * : key [ S* ',' S* key]* + * ; + */ + var tokenStream = this._tokenStream, + token, + key, + keyList = []; + + //must be least one key + keyList.push(this._key()); + + this._readWhitespace(); + + while(tokenStream.match(Tokens.COMMA)){ + this._readWhitespace(); + keyList.push(this._key()); + this._readWhitespace(); + } + + return keyList; + }, + + _key: function(){ + /* + * There is a restriction that IDENT can be only "from" or "to". + * + * key + * : PERCENTAGE + * | IDENT + * ; + */ + + var tokenStream = this._tokenStream, + token; + + if (tokenStream.match(Tokens.PERCENTAGE)){ + return SyntaxUnit.fromToken(tokenStream.token()); + } else if (tokenStream.match(Tokens.IDENT)){ + token = tokenStream.token(); + + if (/from|to/i.test(token.value)){ + return SyntaxUnit.fromToken(token); + } + + tokenStream.unget(); + } + + //if it gets here, there wasn't a valid token, so time to explode + this._unexpectedToken(tokenStream.LT(1)); + }, + + //----------------------------------------------------------------- + // Helper methods + //----------------------------------------------------------------- + + /** + * Not part of CSS grammar, but useful for skipping over + * combination of white space and HTML-style comments. + * @return {void} + * @method _skipCruft + * @private + */ + _skipCruft: function(){ + while(this._tokenStream.match([Tokens.S, Tokens.CDO, Tokens.CDC])){ + //noop + } + }, + + /** + * Not part of CSS grammar, but this pattern occurs frequently + * in the official CSS grammar. Split out here to eliminate + * duplicate code. + * @param {Boolean} checkStart Indicates if the rule should check + * for the left brace at the beginning. + * @param {Boolean} readMargins Indicates if the rule should check + * for margin patterns. + * @return {void} + * @method _readDeclarations + * @private + */ + _readDeclarations: function(checkStart, readMargins){ + /* + * Reads the pattern + * S* '{' S* declaration [ ';' S* declaration ]* '}' S* + * or + * S* '{' S* [ declaration | margin ]? [ ';' S* [ declaration | margin ]? ]* '}' S* + * Note that this is how it is described in CSS3 Paged Media, but is actually incorrect. + * A semicolon is only necessary following a delcaration is there's another declaration + * or margin afterwards. + */ + var tokenStream = this._tokenStream, + tt; + + + this._readWhitespace(); + + if (checkStart){ + tokenStream.mustMatch(Tokens.LBRACE); + } + + this._readWhitespace(); + + try { + + while(true){ + + if (readMargins && this._margin()){ + //noop + } else if (this._declaration()){ + if (!tokenStream.match(Tokens.SEMICOLON)){ + break; + } + } else { + break; + } + + //if ((!this._margin() && !this._declaration()) || !tokenStream.match(Tokens.SEMICOLON)){ + // break; + //} + this._readWhitespace(); + } + + tokenStream.mustMatch(Tokens.RBRACE); + this._readWhitespace(); + + } catch (ex) { + if (ex instanceof SyntaxError && !this.options.strict){ + + //fire error event + this.fire({ + type: "error", + error: ex, + message: ex.message, + line: ex.line, + col: ex.col + }); + + //see if there's another declaration + tt = tokenStream.advance([Tokens.SEMICOLON, Tokens.RBRACE]); + if (tt == Tokens.SEMICOLON){ + //if there's a semicolon, then there might be another declaration + this._readDeclarations(false, readMargins); + } else if (tt == Tokens.RBRACE){ + //if there's a right brace, the rule is finished so don't do anything + } else { + //otherwise, rethrow the error because it wasn't handled properly + throw ex; + } + + } else { + //not a syntax error, rethrow it + throw ex; + } + } + + }, + + /** + * In some cases, you can end up with two white space tokens in a + * row. Instead of making a change in every function that looks for + * white space, this function is used to match as much white space + * as necessary. + * @method _readWhitespace + * @return {String} The white space if found, empty string if not. + * @private + */ + _readWhitespace: function(){ + + var tokenStream = this._tokenStream, + ws = ""; + + while(tokenStream.match(Tokens.S)){ + ws += tokenStream.token().value; + } + + return ws; + }, + + + /** + * Throws an error when an unexpected token is found. + * @param {Object} token The token that was found. + * @method _unexpectedToken + * @return {void} + * @private + */ + _unexpectedToken: function(token){ + throw new SyntaxError("Unexpected token '" + token.value + "' at line " + token.startLine + ", col " + token.startCol + ".", token.startLine, token.startCol); + }, + + /** + * Helper method used for parsing subparts of a style sheet. + * @return {void} + * @method _verifyEnd + * @private + */ + _verifyEnd: function(){ + if (this._tokenStream.LA(1) != Tokens.EOF){ + this._unexpectedToken(this._tokenStream.LT(1)); + } + }, + + //----------------------------------------------------------------- + // Validation methods + //----------------------------------------------------------------- + _validateProperty: function(property, value){ + var name = property.text.toLowerCase(), + validation, + i, len; + + if (Properties[name]){ + + if (typeof Properties[name] == "function"){ + Properties[name](value); + } + + //otherwise, no validation available yet + } else if (name.indexOf("-") !== 0){ //vendor prefixed are ok + throw new ValidationError("Unknown property '" + property + "'.", property.line, property.col); + } + }, + + //----------------------------------------------------------------- + // Parsing methods + //----------------------------------------------------------------- + + parse: function(input){ + this._tokenStream = new TokenStream(input, Tokens); + this._stylesheet(); + }, + + parseStyleSheet: function(input){ + //just passthrough + return this.parse(input); + }, + + parseMediaQuery: function(input){ + this._tokenStream = new TokenStream(input, Tokens); + var result = this._media_query(); + + //if there's anything more, then it's an invalid selector + this._verifyEnd(); + + //otherwise return result + return result; + }, + + /** + * Parses a property value (everything after the semicolon). + * @return {parserlib.css.PropertyValue} The property value. + * @throws parserlib.util.SyntaxError If an unexpected token is found. + * @method parserPropertyValue + */ + parsePropertyValue: function(input){ + + this._tokenStream = new TokenStream(input, Tokens); + this._readWhitespace(); + + var result = this._expr(); + + //okay to have a trailing white space + this._readWhitespace(); + + //if there's anything more, then it's an invalid selector + this._verifyEnd(); + + //otherwise return result + return result; + }, + + /** + * Parses a complete CSS rule, including selectors and + * properties. + * @param {String} input The text to parser. + * @return {Boolean} True if the parse completed successfully, false if not. + * @method parseRule + */ + parseRule: function(input){ + this._tokenStream = new TokenStream(input, Tokens); + + //skip any leading white space + this._readWhitespace(); + + var result = this._ruleset(); + + //skip any trailing white space + this._readWhitespace(); + + //if there's anything more, then it's an invalid selector + this._verifyEnd(); + + //otherwise return result + return result; + }, + + /** + * Parses a single CSS selector (no comma) + * @param {String} input The text to parse as a CSS selector. + * @return {Selector} An object representing the selector. + * @throws parserlib.util.SyntaxError If an unexpected token is found. + * @method parseSelector + */ + parseSelector: function(input){ + + this._tokenStream = new TokenStream(input, Tokens); + + //skip any leading white space + this._readWhitespace(); + + var result = this._selector(); + + //skip any trailing white space + this._readWhitespace(); + + //if there's anything more, then it's an invalid selector + this._verifyEnd(); + + //otherwise return result + return result; + }, + + /** + * Parses an HTML style attribute: a set of CSS declarations + * separated by semicolons. + * @param {String} input The text to parse as a style attribute + * @return {void} + * @method parseStyleAttribute + */ + parseStyleAttribute: function(input){ + input += "}"; // for error recovery in _readDeclarations() + this._tokenStream = new TokenStream(input, Tokens); + this._readDeclarations(); + } + }; + + //copy over onto prototype + for (prop in additions){ + proto[prop] = additions[prop]; + } + + return proto; +}(); + + +/* +nth + : S* [ ['-'|'+']? INTEGER? {N} [ S* ['-'|'+'] S* INTEGER ]? | + ['-'|'+']? INTEGER | {O}{D}{D} | {E}{V}{E}{N} ] S* + ; +*/ +//This file will likely change a lot! Very experimental! + +var ValidationType = { + + "absolute-size": function(part){ + return this.identifier(part, "xx-small | x-small | small | medium | large | x-large | xx-large"); + }, + + "attachment": function(part){ + return this.identifier(part, "scroll | fixed | local"); + }, + + "box": function(part){ + return this.identifier(part, "padding-box | border-box | content-box"); + }, + + "relative-size": function(part){ + return this.identifier(part, "smaller | larger"); + }, + + "identifier": function(part, options){ + var text = part.text.toString().toLowerCase(), + args = options.split(" | "), + i, len, found = false; + + + for (i=0,len=args.length; i < len && !found; i++){ + if (text == args[i]){ + found = true; + } + } + + return found; + }, + + "length": function(part){ + return part.type == "length" || part.type == "number" || part.type == "integer" || part == "0"; + }, + + "color": function(part){ + return part.type == "color" || part == "transparent"; + }, + + "number": function(part){ + return part.type == "number" || this.integer(part); + }, + + "integer": function(part){ + return part.type == "integer"; + }, + + "angle": function(part){ + return part.type == "angle"; + }, + + "uri": function(part){ + return part.type == "uri"; + }, + + "image": function(part){ + return this.uri(part); + }, + + "bg-image": function(part){ + return this.image(part) || part == "none"; + }, + + "percentage": function(part){ + return part.type == "percentage" || part == "0"; + }, + + "border-width": function(part){ + return this.length(part) || this.identifier(part, "thin | medium | thick"); + }, + + "border-style": function(part){ + return this.identifier(part, "none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset"); + }, + + "margin-width": function(part){ + return this.length(part) || this.percentage(part) || this.identifier(part, "auto"); + }, + + "padding-width": function(part){ + return this.length(part) || this.percentage(part); + } +}; + + + + + + + +var Properties = { + + //A + "alignment-adjust": 1, + "alignment-baseline": 1, + "animation": 1, + "animation-delay": 1, + "animation-direction": { multi: [ "normal | alternate" ], separator: "," }, + "animation-duration": 1, + "animation-fill-mode": 1, + "animation-iteration-count": { multi: [ "number", "infinite"], separator: "," }, + "animation-name": 1, + "animation-play-state": { multi: [ "running | paused" ], separator: "," }, + "animation-timing-function": 1, + "appearance": 1, + "azimuth": 1, + + //B + "backface-visibility": 1, + "background": 1, + "background-attachment": { multi: [ "attachment" ], separator: "," }, + "background-break": 1, + "background-clip": { multi: [ "box" ], separator: "," }, + "background-color": [ "color", "inherit" ], + "background-image": { multi: [ "bg-image" ], separator: "," }, + "background-origin": { multi: [ "box" ], separator: "," }, + "background-position": 1, + "background-repeat": [ "repeat | repeat-x | repeat-y | no-repeat | inherit" ], + "background-size": 1, + "baseline-shift": 1, + "binding": 1, + "bleed": 1, + "bookmark-label": 1, + "bookmark-level": 1, + "bookmark-state": 1, + "bookmark-target": 1, + "border": 1, + "border-bottom": 1, + "border-bottom-color": 1, + "border-bottom-left-radius": 1, + "border-bottom-right-radius": 1, + "border-bottom-style": [ "border-style" ], + "border-bottom-width": [ "border-width" ], + "border-collapse": [ "collapse | separate | inherit" ], + "border-color": { multi: [ "color", "inherit" ], max: 4 }, + "border-image": 1, + "border-image-outset": { multi: [ "length", "number" ], max: 4 }, + "border-image-repeat": { multi: [ "stretch | repeat | round" ], max: 2 }, + "border-image-slice": 1, + "border-image-source": [ "image", "none" ], + "border-image-width": { multi: [ "length", "percentage", "number", "auto" ], max: 4 }, + "border-left": 1, + "border-left-color": [ "color", "inherit" ], + "border-left-style": [ "border-style" ], + "border-left-width": [ "border-width" ], + "border-radius": 1, + "border-right": 1, + "border-right-color": [ "color", "inherit" ], + "border-right-style": [ "border-style" ], + "border-right-width": [ "border-width" ], + "border-spacing": 1, + "border-style": { multi: [ "border-style" ], max: 4 }, + "border-top": 1, + "border-top-color": [ "color", "inherit" ], + "border-top-left-radius": 1, + "border-top-right-radius": 1, + "border-top-style": [ "border-style" ], + "border-top-width": [ "border-width" ], + "border-width": { multi: [ "border-width" ], max: 4 }, + "bottom": [ "margin-width", "inherit" ], + "box-align": [ "start | end | center | baseline | stretch" ], //http://www.w3.org/TR/2009/WD-css3-flexbox-20090723/ + "box-decoration-break": [ "slice |clone" ], + "box-direction": [ "normal | reverse | inherit" ], + "box-flex": [ "number" ], + "box-flex-group": [ "integer" ], + "box-lines": [ "single | multiple" ], + "box-ordinal-group": [ "integer" ], + "box-orient": [ "horizontal | vertical | inline-axis | block-axis | inherit" ], + "box-pack": [ "start | end | center | justify" ], + "box-shadow": 1, + "box-sizing": [ "content-box | border-box | inherit" ], + "break-after": [ "auto | always | avoid | left | right | page | column | avoid-page | avoid-column" ], + "break-before": [ "auto | always | avoid | left | right | page | column | avoid-page | avoid-column" ], + "break-inside": [ "auto | avoid | avoid-page | avoid-column" ], + + //C + "caption-side": [ "top | bottom | inherit" ], + "clear": [ "none | right | left | both | inherit" ], + "clip": 1, + "color": [ "color", "inherit" ], + "color-profile": 1, + "column-count": [ "integer", "auto" ], //http://www.w3.org/TR/css3-multicol/ + "column-fill": [ "auto | balance" ], + "column-gap": [ "length", "normal" ], + "column-rule": 1, + "column-rule-color": [ "color" ], + "column-rule-style": [ "border-style" ], + "column-rule-width": [ "border-width" ], + "column-span": [ "none | all" ], + "column-width": [ "length", "auto" ], + "columns": 1, + "content": 1, + "counter-increment": 1, + "counter-reset": 1, + "crop": 1, + "cue": [ "cue-after | cue-before | inherit" ], + "cue-after": 1, + "cue-before": 1, + "cursor": 1, + + //D + "direction": [ "ltr | rtl | inherit" ], + "display": [ "inline | block | list-item | inline-block | table | inline-table | table-row-group | table-header-group | table-footer-group | table-row | table-column-group | table-column | table-cell | table-caption | box | inline-box | grid | inline-grid", "none | inherit" ], + "dominant-baseline": 1, + "drop-initial-after-adjust": 1, + "drop-initial-after-align": 1, + "drop-initial-before-adjust": 1, + "drop-initial-before-align": 1, + "drop-initial-size": 1, + "drop-initial-value": 1, + + //E + "elevation": 1, + "empty-cells": [ "show | hide | inherit" ], + + //F + "filter": 1, + "fit": [ "fill | hidden | meet | slice" ], + "fit-position": 1, + "float": [ "left | right | none | inherit" ], + "float-offset": 1, + "font": 1, + "font-family": 1, + "font-size": [ "absolute-size", "relative-size", "length", "percentage", "inherit" ], + "font-size-adjust": 1, + "font-stretch": 1, + "font-style": [ "normal | italic | oblique | inherit" ], + "font-variant": [ "normal | small-caps | inherit" ], + "font-weight": [ "normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | inherit" ], + + //G + "grid-cell-stacking": [ "columns | rows | layer" ], + "grid-column": 1, + "grid-columns": 1, + "grid-column-align": [ "start | end | center | stretch" ], + "grid-column-sizing": 1, + "grid-column-span": [ "integer" ], + "grid-flow": [ "none | rows | columns" ], + "grid-layer": [ "integer" ], + "grid-row": 1, + "grid-rows": 1, + "grid-row-align": [ "start | end | center | stretch" ], + "grid-row-span": [ "integer" ], + "grid-row-sizing": 1, + + //H + "hanging-punctuation": 1, + "height": [ "margin-width", "inherit" ], + "hyphenate-after": 1, + "hyphenate-before": 1, + "hyphenate-character": [ "string", "auto" ], + "hyphenate-lines": 1, + "hyphenate-resource": 1, + "hyphens": [ "none | manual | auto" ], + + //I + "icon": 1, + "image-orientation": [ "angle", "auto" ], + "image-rendering": 1, + "image-resolution": 1, + "inline-box-align": 1, + + //L + "left": [ "margin-width", "inherit" ], + "letter-spacing": [ "length", "normal | inherit" ], + "line-height": [ "number", "length", "percentage", "normal | inherit"], + "line-break": [ "auto | loose | normal | strict" ], + "line-stacking": 1, + "line-stacking-ruby": 1, + "line-stacking-shift": 1, + "line-stacking-strategy": 1, + "list-style": 1, + "list-style-image": [ "uri", "none | inherit" ], + "list-style-position": [ "inside | outside | inherit" ], + "list-style-type": [ "disc | circle | square | decimal | decimal-leading-zero | lower-roman | upper-roman | lower-greek | lower-latin | upper-latin | armenian | georgian | lower-alpha | upper-alpha | none | inherit" ], + + //M + "margin": { multi: [ "margin-width", "inherit" ], max: 4 }, + "margin-bottom": [ "margin-width", "inherit" ], + "margin-left": [ "margin-width", "inherit" ], + "margin-right": [ "margin-width", "inherit" ], + "margin-top": [ "margin-width", "inherit" ], + "mark": 1, + "mark-after": 1, + "mark-before": 1, + "marks": 1, + "marquee-direction": 1, + "marquee-play-count": 1, + "marquee-speed": 1, + "marquee-style": 1, + "max-height": [ "length", "percentage", "none | inherit" ], + "max-width": [ "length", "percentage", "none | inherit" ], + "min-height": [ "length", "percentage", "inherit" ], + "min-width": [ "length", "percentage", "inherit" ], + "move-to": 1, + + //N + "nav-down": 1, + "nav-index": 1, + "nav-left": 1, + "nav-right": 1, + "nav-up": 1, + + //O + "opacity": [ "number", "inherit" ], + "orphans": [ "integer", "inherit" ], + "outline": 1, + "outline-color": [ "color", "invert | inherit" ], + "outline-offset": 1, + "outline-style": [ "border-style", "inherit" ], + "outline-width": [ "border-width", "inherit" ], + "overflow": [ "visible | hidden | scroll | auto | inherit" ], + "overflow-style": 1, + "overflow-x": 1, + "overflow-y": 1, + + //P + "padding": { multi: [ "padding-width", "inherit" ], max: 4 }, + "padding-bottom": [ "padding-width", "inherit" ], + "padding-left": [ "padding-width", "inherit" ], + "padding-right": [ "padding-width", "inherit" ], + "padding-top": [ "padding-width", "inherit" ], + "page": 1, + "page-break-after": [ "auto | always | avoid | left | right | inherit" ], + "page-break-before": [ "auto | always | avoid | left | right | inherit" ], + "page-break-inside": [ "auto | avoid | inherit" ], + "page-policy": 1, + "pause": 1, + "pause-after": 1, + "pause-before": 1, + "perspective": 1, + "perspective-origin": 1, + "phonemes": 1, + "pitch": 1, + "pitch-range": 1, + "play-during": 1, + "position": [ "static | relative | absolute | fixed | inherit" ], + "presentation-level": 1, + "punctuation-trim": 1, + + //Q + "quotes": 1, + + //R + "rendering-intent": 1, + "resize": 1, + "rest": 1, + "rest-after": 1, + "rest-before": 1, + "richness": 1, + "right": [ "margin-width", "inherit" ], + "rotation": 1, + "rotation-point": 1, + "ruby-align": 1, + "ruby-overhang": 1, + "ruby-position": 1, + "ruby-span": 1, + + //S + "size": 1, + "speak": [ "normal | none | spell-out | inherit" ], + "speak-header": [ "once | always | inherit" ], + "speak-numeral": [ "digits | continuous | inherit" ], + "speak-punctuation": [ "code | none | inherit" ], + "speech-rate": 1, + "src" : 1, + "stress": 1, + "string-set": 1, + + "table-layout": [ "auto | fixed | inherit" ], + "tab-size": [ "integer", "length" ], + "target": 1, + "target-name": 1, + "target-new": 1, + "target-position": 1, + "text-align": [ "left | right | center | justify | inherit" ], + "text-align-last": 1, + "text-decoration": 1, + "text-emphasis": 1, + "text-height": 1, + "text-indent": [ "length", "percentage", "inherit" ], + "text-justify": [ "auto | none | inter-word | inter-ideograph | inter-cluster | distribute | kashida" ], + "text-outline": 1, + "text-overflow": 1, + "text-shadow": 1, + "text-transform": [ "capitalize | uppercase | lowercase | none | inherit" ], + "text-wrap": [ "normal | none | avoid" ], + "top": [ "margin-width", "inherit" ], + "transform": 1, + "transform-origin": 1, + "transform-style": 1, + "transition": 1, + "transition-delay": 1, + "transition-duration": 1, + "transition-property": 1, + "transition-timing-function": 1, + + //U + "unicode-bidi": [ "normal | embed | bidi-override | inherit" ], + "user-modify": [ "read-only | read-write | write-only | inherit" ], + "user-select": [ "none | text | toggle | element | elements | all | inherit" ], + + //V + "vertical-align": [ "percentage", "length", "baseline | sub | super | top | text-top | middle | bottom | text-bottom | inherit" ], + "visibility": [ "visible | hidden | collapse | inherit" ], + "voice-balance": 1, + "voice-duration": 1, + "voice-family": 1, + "voice-pitch": 1, + "voice-pitch-range": 1, + "voice-rate": 1, + "voice-stress": 1, + "voice-volume": 1, + "volume": 1, + + //W + "white-space": [ "normal | pre | nowrap | pre-wrap | pre-line | inherit" ], + "white-space-collapse": 1, + "widows": [ "integer", "inherit" ], + "width": [ "length", "percentage", "auto", "inherit" ], + "word-break": [ "normal | keep-all | break-all" ], + "word-spacing": [ "length", "normal | inherit" ], + "word-wrap": 1, + + //Z + "z-index": [ "integer", "auto | inherit" ], + "zoom": [ "number", "percentage", "normal" ] +}; + +//Create validation functions for strings +(function(){ + var prop; + for (prop in Properties){ + if (Properties.hasOwnProperty(prop)){ + if (Properties[prop] instanceof Array){ + Properties[prop] = (function(values){ + return function(value){ + var valid = false, + msg = [], + part = value.parts[0]; + + if (value.parts.length != 1){ + throw new ValidationError("Expected 1 value but found " + value.parts.length + ".", value.line, value.col); + } + + for (var i=0, len=values.length; i < len && !valid; i++){ + if (typeof ValidationType[values[i]] == "undefined"){ + valid = valid || ValidationType.identifier(part, values[i]); + msg.push("one of (" + values[i] + ")"); + } else { + valid = valid || ValidationType[values[i]](part); + msg.push(values[i]); + } + } + + if (!valid){ + throw new ValidationError("Expected " + msg.join(" or ") + " but found '" + value + "'.", value.line, value.col); + } + }; + })(Properties[prop]); + } else if (typeof Properties[prop] == "object"){ + Properties[prop] = (function(spec){ + return function(value){ + var valid, + i, len, j, count, + msg, + values, + last, + parts = value.parts; + + //if there's a maximum set, use it (max can't be 0) + if (spec.max) { + if (parts.length > spec.max){ + throw new ValidationError("Expected a max of " + spec.max + " property values but found " + parts.length + ".", value.line, value.col); + } + } + + if (spec.multi){ + values = spec.multi; + } + + for (i=0, len=parts.length; i < len; i++){ + msg = []; + valid = false; + + if (spec.separator && parts[i].type == "operator"){ + + //two operators in a row - not allowed? + if ((last && last.type == "operator")){ + msg = msg.concat(values); + } else if (i == len-1){ + msg = msg.concat("end of line"); + } else if (parts[i] != spec.separator){ + msg.push("'" + spec.separator + "'"); + } else { + valid = true; + } + } else { + + for (j=0, count=values.length; j < count; j++){ + if (typeof ValidationType[values[j]] == "undefined"){ + if(ValidationType.identifier(parts[i], values[j])){ + valid = true; + break; + } + msg.push("one of (" + values[j] + ")"); + } else { + if (ValidationType[values[j]](parts[i])){ + valid = true; + break; + } + msg.push(values[j]); + } + } + } + + + if (!valid) { + throw new ValidationError("Expected " + msg.join(" or ") + " but found '" + parts[i] + "'.", value.line, value.col); + } + + + last = parts[i]; + } + + }; + })(Properties[prop]); + } + } + } +})(); +/** + * Represents a selector combinator (whitespace, +, >). + * @namespace parserlib.css + * @class PropertyName + * @extends parserlib.util.SyntaxUnit + * @constructor + * @param {String} text The text representation of the unit. + * @param {String} hack The type of IE hack applied ("*", "_", or null). + * @param {int} line The line of text on which the unit resides. + * @param {int} col The column of text on which the unit resides. + */ +function PropertyName(text, hack, line, col){ + + SyntaxUnit.call(this, text, line, col, Parser.PROPERTY_NAME_TYPE); + + /** + * The type of IE hack applied ("*", "_", or null). + * @type String + * @property hack + */ + this.hack = hack; + +} + +PropertyName.prototype = new SyntaxUnit(); +PropertyName.prototype.constructor = PropertyName; +PropertyName.prototype.toString = function(){ + return (this.hack ? this.hack : "") + this.text; +}; +/** + * Represents a single part of a CSS property value, meaning that it represents + * just everything single part between ":" and ";". If there are multiple values + * separated by commas, this type represents just one of the values. + * @param {String[]} parts An array of value parts making up this value. + * @param {int} line The line of text on which the unit resides. + * @param {int} col The column of text on which the unit resides. + * @namespace parserlib.css + * @class PropertyValue + * @extends parserlib.util.SyntaxUnit + * @constructor + */ +function PropertyValue(parts, line, col){ + + SyntaxUnit.call(this, parts.join(" "), line, col, Parser.PROPERTY_VALUE_TYPE); + + /** + * The parts that make up the selector. + * @type Array + * @property parts + */ + this.parts = parts; + +} + +PropertyValue.prototype = new SyntaxUnit(); +PropertyValue.prototype.constructor = PropertyValue; + +/** + * Represents a single part of a CSS property value, meaning that it represents + * just one part of the data between ":" and ";". + * @param {String} text The text representation of the unit. + * @param {int} line The line of text on which the unit resides. + * @param {int} col The column of text on which the unit resides. + * @namespace parserlib.css + * @class PropertyValuePart + * @extends parserlib.util.SyntaxUnit + * @constructor + */ +function PropertyValuePart(text, line, col){ + + SyntaxUnit.call(this, text, line, col, Parser.PROPERTY_VALUE_PART_TYPE); + + /** + * Indicates the type of value unit. + * @type String + * @property type + */ + this.type = "unknown"; + + //figure out what type of data it is + + var temp; + + //it is a measurement? + if (/^([+\-]?[\d\.]+)([a-z]+)$/i.test(text)){ //dimension + this.type = "dimension"; + this.value = +RegExp.$1; + this.units = RegExp.$2; + + //try to narrow down + switch(this.units.toLowerCase()){ + + case "em": + case "rem": + case "ex": + case "px": + case "cm": + case "mm": + case "in": + case "pt": + case "pc": + this.type = "length"; + break; + + case "deg": + case "rad": + case "grad": + this.type = "angle"; + break; + + case "ms": + case "s": + this.type = "time"; + break; + + case "hz": + case "khz": + this.type = "frequency"; + break; + + case "dpi": + case "dpcm": + this.type = "resolution"; + break; + + //default + + } + + } else if (/^([+\-]?[\d\.]+)%$/i.test(text)){ //percentage + this.type = "percentage"; + this.value = +RegExp.$1; + } else if (/^([+\-]?[\d\.]+)%$/i.test(text)){ //percentage + this.type = "percentage"; + this.value = +RegExp.$1; + } else if (/^([+\-]?\d+)$/i.test(text)){ //integer + this.type = "integer"; + this.value = +RegExp.$1; + } else if (/^([+\-]?[\d\.]+)$/i.test(text)){ //number + this.type = "number"; + this.value = +RegExp.$1; + + } else if (/^#([a-f0-9]{3,6})/i.test(text)){ //hexcolor + this.type = "color"; + temp = RegExp.$1; + if (temp.length == 3){ + this.red = parseInt(temp.charAt(0)+temp.charAt(0),16); + this.green = parseInt(temp.charAt(1)+temp.charAt(1),16); + this.blue = parseInt(temp.charAt(2)+temp.charAt(2),16); + } else { + this.red = parseInt(temp.substring(0,2),16); + this.green = parseInt(temp.substring(2,4),16); + this.blue = parseInt(temp.substring(4,6),16); + } + } else if (/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/i.test(text)){ //rgb() color with absolute numbers + this.type = "color"; + this.red = +RegExp.$1; + this.green = +RegExp.$2; + this.blue = +RegExp.$3; + } else if (/^rgb\(\s*(\d+)%\s*,\s*(\d+)%\s*,\s*(\d+)%\s*\)/i.test(text)){ //rgb() color with percentages + this.type = "color"; + this.red = +RegExp.$1 * 255 / 100; + this.green = +RegExp.$2 * 255 / 100; + this.blue = +RegExp.$3 * 255 / 100; + } else if (/^rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([\d\.]+)\s*\)/i.test(text)){ //rgba() color with absolute numbers + this.type = "color"; + this.red = +RegExp.$1; + this.green = +RegExp.$2; + this.blue = +RegExp.$3; + this.alpha = +RegExp.$4; + } else if (/^rgba\(\s*(\d+)%\s*,\s*(\d+)%\s*,\s*(\d+)%\s*,\s*([\d\.]+)\s*\)/i.test(text)){ //rgba() color with percentages + this.type = "color"; + this.red = +RegExp.$1 * 255 / 100; + this.green = +RegExp.$2 * 255 / 100; + this.blue = +RegExp.$3 * 255 / 100; + this.alpha = +RegExp.$4; + } else if (/^hsl\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*\)/i.test(text)){ //hsl() + this.type = "color"; + this.hue = +RegExp.$1; + this.saturation = +RegExp.$2 / 100; + this.lightness = +RegExp.$3 / 100; + } else if (/^hsla\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*,\s*([\d\.]+)\s*\)/i.test(text)){ //hsla() color with percentages + this.type = "color"; + this.hue = +RegExp.$1; + this.saturation = +RegExp.$2 / 100; + this.lightness = +RegExp.$3 / 100; + this.alpha = +RegExp.$4; + } else if (/^url\(["']?([^\)"']+)["']?\)/i.test(text)){ //URI + this.type = "uri"; + this.uri = RegExp.$1; + } else if (/^["'][^"']*["']/.test(text)){ //string + this.type = "string"; + this.value = eval(text); + } else if (Colors[text.toLowerCase()]){ //named color + this.type = "color"; + temp = Colors[text.toLowerCase()].substring(1); + this.red = parseInt(temp.substring(0,2),16); + this.green = parseInt(temp.substring(2,4),16); + this.blue = parseInt(temp.substring(4,6),16); + } else if (/^[\,\/]$/.test(text)){ + this.type = "operator"; + this.value = text; + } else if (/^[a-z\-\u0080-\uFFFF][a-z0-9\-\u0080-\uFFFF]*$/i.test(text)){ + this.type = "identifier"; + this.value = text; + } + +} + +PropertyValuePart.prototype = new SyntaxUnit(); +PropertyValuePart.prototype.constructor = PropertyValue; + +/** + * Create a new syntax unit based solely on the given token. + * Convenience method for creating a new syntax unit when + * it represents a single token instead of multiple. + * @param {Object} token The token object to represent. + * @return {parserlib.css.PropertyValuePart} The object representing the token. + * @static + * @method fromToken + */ +PropertyValuePart.fromToken = function(token){ + return new PropertyValuePart(token.value, token.startLine, token.startCol); +}; +var Pseudos = { + ":first-letter": 1, + ":first-line": 1, + ":before": 1, + ":after": 1 +}; + +Pseudos.ELEMENT = 1; +Pseudos.CLASS = 2; + +Pseudos.isElement = function(pseudo){ + return pseudo.indexOf("::") === 0 || Pseudos[pseudo.toLowerCase()] == Pseudos.ELEMENT; +}; +/** + * Represents an entire single selector, including all parts but not + * including multiple selectors (those separated by commas). + * @namespace parserlib.css + * @class Selector + * @extends parserlib.util.SyntaxUnit + * @constructor + * @param {Array} parts Array of selectors parts making up this selector. + * @param {int} line The line of text on which the unit resides. + * @param {int} col The column of text on which the unit resides. + */ +function Selector(parts, line, col){ + + SyntaxUnit.call(this, parts.join(" "), line, col, Parser.SELECTOR_TYPE); + + /** + * The parts that make up the selector. + * @type Array + * @property parts + */ + this.parts = parts; + + /** + * The specificity of the selector. + * @type parserlib.css.Specificity + * @property specificity + */ + this.specificity = Specificity.calculate(this); + +} + +Selector.prototype = new SyntaxUnit(); +Selector.prototype.constructor = Selector; + +/** + * Represents a single part of a selector string, meaning a single set of + * element name and modifiers. This does not include combinators such as + * spaces, +, >, etc. + * @namespace parserlib.css + * @class SelectorPart + * @extends parserlib.util.SyntaxUnit + * @constructor + * @param {String} elementName The element name in the selector or null + * if there is no element name. + * @param {Array} modifiers Array of individual modifiers for the element. + * May be empty if there are none. + * @param {String} text The text representation of the unit. + * @param {int} line The line of text on which the unit resides. + * @param {int} col The column of text on which the unit resides. + */ +function SelectorPart(elementName, modifiers, text, line, col){ + + SyntaxUnit.call(this, text, line, col, Parser.SELECTOR_PART_TYPE); + + /** + * The tag name of the element to which this part + * of the selector affects. + * @type String + * @property elementName + */ + this.elementName = elementName; + + /** + * The parts that come after the element name, such as class names, IDs, + * pseudo classes/elements, etc. + * @type Array + * @property modifiers + */ + this.modifiers = modifiers; + +} + +SelectorPart.prototype = new SyntaxUnit(); +SelectorPart.prototype.constructor = SelectorPart; + +/** + * Represents a selector modifier string, meaning a class name, element name, + * element ID, pseudo rule, etc. + * @namespace parserlib.css + * @class SelectorSubPart + * @extends parserlib.util.SyntaxUnit + * @constructor + * @param {String} text The text representation of the unit. + * @param {String} type The type of selector modifier. + * @param {int} line The line of text on which the unit resides. + * @param {int} col The column of text on which the unit resides. + */ +function SelectorSubPart(text, type, line, col){ + + SyntaxUnit.call(this, text, line, col, Parser.SELECTOR_SUB_PART_TYPE); + + /** + * The type of modifier. + * @type String + * @property type + */ + this.type = type; + + /** + * Some subparts have arguments, this represents them. + * @type Array + * @property args + */ + this.args = []; + +} + +SelectorSubPart.prototype = new SyntaxUnit(); +SelectorSubPart.prototype.constructor = SelectorSubPart; + +/** + * Represents a selector's specificity. + * @namespace parserlib.css + * @class Specificity + * @constructor + * @param {int} a Should be 1 for inline styles, zero for stylesheet styles + * @param {int} b Number of ID selectors + * @param {int} c Number of classes and pseudo classes + * @param {int} d Number of element names and pseudo elements + */ +function Specificity(a, b, c, d){ + this.a = a; + this.b = b; + this.c = c; + this.d = d; +} + +Specificity.prototype = { + constructor: Specificity, + + /** + * Compare this specificity to another. + * @param {Specificity} other The other specificity to compare to. + * @return {int} -1 if the other specificity is larger, 1 if smaller, 0 if equal. + * @method compare + */ + compare: function(other){ + var comps = ["a", "b", "c", "d"], + i, len; + + for (i=0, len=comps.length; i < len; i++){ + if (this[comps[i]] < other[comps[i]]){ + return -1; + } else if (this[comps[i]] > other[comps[i]]){ + return 1; + } + } + + return 0; + }, + + /** + * Creates a numeric value for the specificity. + * @return {int} The numeric value for the specificity. + * @method valueOf + */ + valueOf: function(){ + return (this.a * 1000) + (this.b * 100) + (this.c * 10) + this.d; + }, + + /** + * Returns a string representation for specificity. + * @return {String} The string representation of specificity. + * @method toString + */ + toString: function(){ + return this.a + "," + this.b + "," + this.c + "," + this.d; + } + +}; + +/** + * Calculates the specificity of the given selector. + * @param {parserlib.css.Selector} The selector to calculate specificity for. + * @return {parserlib.css.Specificity} The specificity of the selector. + * @static + * @method calculate + */ +Specificity.calculate = function(selector){ + + var i, len, + b=0, c=0, d=0; + + function updateValues(part){ + + var i, j, len, num, + modifier; + + if (part.elementName && part.text.charAt(part.text.length-1) != "*") { + d++; + } + + for (i=0, len=part.modifiers.length; i < len; i++){ + modifier = part.modifiers[i]; + switch(modifier.type){ + case "class": + case "attribute": + c++; + break; + + case "id": + b++; + break; + + case "pseudo": + if (Pseudos.isElement(modifier.text)){ + d++; + } else { + c++; + } + break; + + case "not": + for (j=0, num=modifier.args.length; j < num; j++){ + updateValues(modifier.args[j]); + } + } + } + } + + for (i=0, len=selector.parts.length; i < len; i++){ + part = selector.parts[i]; + + if (part instanceof SelectorPart){ + updateValues(part); + } + } + + return new Specificity(0, b, c, d); +}; + + +var h = /^[0-9a-fA-F]$/, + nonascii = /^[\u0080-\uFFFF]$/, + nl = /\n|\r\n|\r|\f/; + +//----------------------------------------------------------------------------- +// Helper functions +//----------------------------------------------------------------------------- + + +function isHexDigit(c){ + return c != null && h.test(c); +} + +function isDigit(c){ + return c != null && /\d/.test(c); +} + +function isWhitespace(c){ + return c != null && /\s/.test(c); +} + +function isNewLine(c){ + return c != null && nl.test(c); +} + +function isNameStart(c){ + return c != null && (/[a-z_\u0080-\uFFFF\\]/i.test(c)); +} + +function isNameChar(c){ + return c != null && (isNameStart(c) || /[0-9\-\\]/.test(c)); +} + +function isIdentStart(c){ + return c != null && (isNameStart(c) || /\-\\/.test(c)); +} + +function mix(receiver, supplier){ + for (var prop in supplier){ + if (supplier.hasOwnProperty(prop)){ + receiver[prop] = supplier[prop]; + } + } + return receiver; +} + +//----------------------------------------------------------------------------- +// CSS Token Stream +//----------------------------------------------------------------------------- + + +/** + * A token stream that produces CSS tokens. + * @param {String|Reader} input The source of text to tokenize. + * @constructor + * @class TokenStream + * @namespace parserlib.css + */ +function TokenStream(input){ + TokenStreamBase.call(this, input, Tokens); +} + +TokenStream.prototype = mix(new TokenStreamBase(), { + + /** + * Overrides the TokenStreamBase method of the same name + * to produce CSS tokens. + * @param {variant} channel The name of the channel to use + * for the next token. + * @return {Object} A token object representing the next token. + * @method _getToken + * @private + */ + _getToken: function(channel){ + + var c, + reader = this._reader, + token = null, + startLine = reader.getLine(), + startCol = reader.getCol(); + + c = reader.read(); + + + while(c){ + switch(c){ + + /* + * Potential tokens: + * - COMMENT + * - SLASH + * - CHAR + */ + case "/": + + if(reader.peek() == "*"){ + token = this.commentToken(c, startLine, startCol); + } else { + token = this.charToken(c, startLine, startCol); + } + break; + + /* + * Potential tokens: + * - DASHMATCH + * - INCLUDES + * - PREFIXMATCH + * - SUFFIXMATCH + * - SUBSTRINGMATCH + * - CHAR + */ + case "|": + case "~": + case "^": + case "$": + case "*": + if(reader.peek() == "="){ + token = this.comparisonToken(c, startLine, startCol); + } else { + token = this.charToken(c, startLine, startCol); + } + break; + + /* + * Potential tokens: + * - STRING + * - INVALID + */ + case "\"": + case "'": + token = this.stringToken(c, startLine, startCol); + break; + + /* + * Potential tokens: + * - HASH + * - CHAR + */ + case "#": + if (isNameChar(reader.peek())){ + token = this.hashToken(c, startLine, startCol); + } else { + token = this.charToken(c, startLine, startCol); + } + break; + + /* + * Potential tokens: + * - DOT + * - NUMBER + * - DIMENSION + * - PERCENTAGE + */ + case ".": + if (isDigit(reader.peek())){ + token = this.numberToken(c, startLine, startCol); + } else { + token = this.charToken(c, startLine, startCol); + } + break; + + /* + * Potential tokens: + * - CDC + * - MINUS + * - NUMBER + * - DIMENSION + * - PERCENTAGE + */ + case "-": + if (reader.peek() == "-"){ //could be closing HTML-style comment + token = this.htmlCommentEndToken(c, startLine, startCol); + } else if (isNameStart(reader.peek())){ + token = this.identOrFunctionToken(c, startLine, startCol); + } else { + token = this.charToken(c, startLine, startCol); + } + break; + + /* + * Potential tokens: + * - IMPORTANT_SYM + * - CHAR + */ + case "!": + token = this.importantToken(c, startLine, startCol); + break; + + /* + * Any at-keyword or CHAR + */ + case "@": + token = this.atRuleToken(c, startLine, startCol); + break; + + /* + * Potential tokens: + * - NOT + * - CHAR + */ + case ":": + token = this.notToken(c, startLine, startCol); + break; + + /* + * Potential tokens: + * - CDO + * - CHAR + */ + case "<": + token = this.htmlCommentStartToken(c, startLine, startCol); + break; + + /* + * Potential tokens: + * - UNICODE_RANGE + * - URL + * - CHAR + */ + case "U": + case "u": + if (reader.peek() == "+"){ + token = this.unicodeRangeToken(c, startLine, startCol); + break; + } + /*falls through*/ + + default: + + /* + * Potential tokens: + * - NUMBER + * - DIMENSION + * - LENGTH + * - FREQ + * - TIME + * - EMS + * - EXS + * - ANGLE + */ + if (isDigit(c)){ + token = this.numberToken(c, startLine, startCol); + } else + + /* + * Potential tokens: + * - S + */ + if (isWhitespace(c)){ + token = this.whitespaceToken(c, startLine, startCol); + } else + + /* + * Potential tokens: + * - IDENT + */ + if (isIdentStart(c)){ + token = this.identOrFunctionToken(c, startLine, startCol); + } else + + /* + * Potential tokens: + * - CHAR + * - PLUS + */ + { + token = this.charToken(c, startLine, startCol); + } + + + + + + + } + + //make sure this token is wanted + //TODO: check channel + break; + + c = reader.read(); + } + + if (!token && c == null){ + token = this.createToken(Tokens.EOF,null,startLine,startCol); + } + + return token; + }, + + //------------------------------------------------------------------------- + // Methods to create tokens + //------------------------------------------------------------------------- + + /** + * Produces a token based on available data and the current + * reader position information. This method is called by other + * private methods to create tokens and is never called directly. + * @param {int} tt The token type. + * @param {String} value The text value of the token. + * @param {int} startLine The beginning line for the character. + * @param {int} startCol The beginning column for the character. + * @param {Object} options (Optional) Specifies a channel property + * to indicate that a different channel should be scanned + * and/or a hide property indicating that the token should + * be hidden. + * @return {Object} A token object. + * @method createToken + */ + createToken: function(tt, value, startLine, startCol, options){ + var reader = this._reader; + options = options || {}; + + return { + value: value, + type: tt, + channel: options.channel, + hide: options.hide || false, + startLine: startLine, + startCol: startCol, + endLine: reader.getLine(), + endCol: reader.getCol() + }; + }, + + //------------------------------------------------------------------------- + // Methods to create specific tokens + //------------------------------------------------------------------------- + + /** + * Produces a token for any at-rule. If the at-rule is unknown, then + * the token is for a single "@" character. + * @param {String} first The first character for the token. + * @param {int} startLine The beginning line for the character. + * @param {int} startCol The beginning column for the character. + * @return {Object} A token object. + * @method atRuleToken + */ + atRuleToken: function(first, startLine, startCol){ + var rule = first, + reader = this._reader, + tt = Tokens.CHAR, + valid = false, + ident, + c; + + /* + * First, mark where we are. There are only four @ rules, + * so anything else is really just an invalid token. + * Basically, if this doesn't match one of the known @ + * rules, just return '@' as an unknown token and allow + * parsing to continue after that point. + */ + reader.mark(); + + //try to find the at-keyword + ident = this.readName(); + rule = first + ident; + tt = Tokens.type(rule.toLowerCase()); + + //if it's not valid, use the first character only and reset the reader + if (tt == Tokens.CHAR || tt == Tokens.UNKNOWN){ + tt = Tokens.CHAR; + rule = first; + reader.reset(); + } + + return this.createToken(tt, rule, startLine, startCol); + }, + + /** + * Produces a character token based on the given character + * and location in the stream. If there's a special (non-standard) + * token name, this is used; otherwise CHAR is used. + * @param {String} c The character for the token. + * @param {int} startLine The beginning line for the character. + * @param {int} startCol The beginning column for the character. + * @return {Object} A token object. + * @method charToken + */ + charToken: function(c, startLine, startCol){ + var tt = Tokens.type(c); + + if (tt == -1){ + tt = Tokens.CHAR; + } + + return this.createToken(tt, c, startLine, startCol); + }, + + /** + * Produces a character token based on the given character + * and location in the stream. If there's a special (non-standard) + * token name, this is used; otherwise CHAR is used. + * @param {String} first The first character for the token. + * @param {int} startLine The beginning line for the character. + * @param {int} startCol The beginning column for the character. + * @return {Object} A token object. + * @method commentToken + */ + commentToken: function(first, startLine, startCol){ + var reader = this._reader, + comment = this.readComment(first); + + return this.createToken(Tokens.COMMENT, comment, startLine, startCol); + }, + + /** + * Produces a comparison token based on the given character + * and location in the stream. The next character must be + * read and is already known to be an equals sign. + * @param {String} c The character for the token. + * @param {int} startLine The beginning line for the character. + * @param {int} startCol The beginning column for the character. + * @return {Object} A token object. + * @method comparisonToken + */ + comparisonToken: function(c, startLine, startCol){ + var reader = this._reader, + comparison = c + reader.read(), + tt = Tokens.type(comparison) || Tokens.CHAR; + + return this.createToken(tt, comparison, startLine, startCol); + }, + + /** + * Produces a hash token based on the specified information. The + * first character provided is the pound sign (#) and then this + * method reads a name afterward. + * @param {String} first The first character (#) in the hash name. + * @param {int} startLine The beginning line for the character. + * @param {int} startCol The beginning column for the character. + * @return {Object} A token object. + * @method hashToken + */ + hashToken: function(first, startLine, startCol){ + var reader = this._reader, + name = this.readName(first); + + return this.createToken(Tokens.HASH, name, startLine, startCol); + }, + + /** + * Produces a CDO or CHAR token based on the specified information. The + * first character is provided and the rest is read by the function to determine + * the correct token to create. + * @param {String} first The first character in the token. + * @param {int} startLine The beginning line for the character. + * @param {int} startCol The beginning column for the character. + * @return {Object} A token object. + * @method htmlCommentStartToken + */ + htmlCommentStartToken: function(first, startLine, startCol){ + var reader = this._reader, + text = first; + + reader.mark(); + text += reader.readCount(3); + + if (text == ""){ + return this.createToken(Tokens.CDC, text, startLine, startCol); + } else { + reader.reset(); + return this.charToken(first, startLine, startCol); + } + }, + + /** + * Produces an IDENT or FUNCTION token based on the specified information. The + * first character is provided and the rest is read by the function to determine + * the correct token to create. + * @param {String} first The first character in the identifier. + * @param {int} startLine The beginning line for the character. + * @param {int} startCol The beginning column for the character. + * @return {Object} A token object. + * @method identOrFunctionToken + */ + identOrFunctionToken: function(first, startLine, startCol){ + var reader = this._reader, + ident = this.readName(first), + tt = Tokens.IDENT; + + //if there's a left paren immediately after, it's a URI or function + if (reader.peek() == "("){ + ident += reader.read(); + if (ident.toLowerCase() == "url("){ + tt = Tokens.URI; + ident = this.readURI(ident); + + //didn't find a valid URL or there's no closing paren + if (ident.toLowerCase() == "url("){ + tt = Tokens.FUNCTION; + } + } else { + tt = Tokens.FUNCTION; + } + } else if (reader.peek() == ":"){ //might be an IE function + + //IE-specific functions always being with progid: + if (ident.toLowerCase() == "progid"){ + ident += reader.readTo("("); + tt = Tokens.IE_FUNCTION; + } + } + + return this.createToken(tt, ident, startLine, startCol); + }, + + /** + * Produces an IMPORTANT_SYM or CHAR token based on the specified information. The + * first character is provided and the rest is read by the function to determine + * the correct token to create. + * @param {String} first The first character in the token. + * @param {int} startLine The beginning line for the character. + * @param {int} startCol The beginning column for the character. + * @return {Object} A token object. + * @method importantToken + */ + importantToken: function(first, startLine, startCol){ + var reader = this._reader, + important = first, + tt = Tokens.CHAR, + temp, + c; + + reader.mark(); + c = reader.read(); + + while(c){ + + //there can be a comment in here + if (c == "/"){ + + //if the next character isn't a star, then this isn't a valid !important token + if (reader.peek() != "*"){ + break; + } else { + temp = this.readComment(c); + if (temp == ""){ //broken! + break; + } + } + } else if (isWhitespace(c)){ + important += c + this.readWhitespace(); + } else if (/i/i.test(c)){ + temp = reader.readCount(8); + if (/mportant/i.test(temp)){ + important += c + temp; + tt = Tokens.IMPORTANT_SYM; + + } + break; //we're done + } else { + break; + } + + c = reader.read(); + } + + if (tt == Tokens.CHAR){ + reader.reset(); + return this.charToken(first, startLine, startCol); + } else { + return this.createToken(tt, important, startLine, startCol); + } + + + }, + + /** + * Produces a NOT or CHAR token based on the specified information. The + * first character is provided and the rest is read by the function to determine + * the correct token to create. + * @param {String} first The first character in the token. + * @param {int} startLine The beginning line for the character. + * @param {int} startCol The beginning column for the character. + * @return {Object} A token object. + * @method notToken + */ + notToken: function(first, startLine, startCol){ + var reader = this._reader, + text = first; + + reader.mark(); + text += reader.readCount(4); + + if (text.toLowerCase() == ":not("){ + return this.createToken(Tokens.NOT, text, startLine, startCol); + } else { + reader.reset(); + return this.charToken(first, startLine, startCol); + } + }, + + /** + * Produces a number token based on the given character + * and location in the stream. This may return a token of + * NUMBER, EMS, EXS, LENGTH, ANGLE, TIME, FREQ, DIMENSION, + * or PERCENTAGE. + * @param {String} first The first character for the token. + * @param {int} startLine The beginning line for the character. + * @param {int} startCol The beginning column for the character. + * @return {Object} A token object. + * @method numberToken + */ + numberToken: function(first, startLine, startCol){ + var reader = this._reader, + value = this.readNumber(first), + ident, + tt = Tokens.NUMBER, + c = reader.peek(); + + if (isIdentStart(c)){ + ident = this.readName(reader.read()); + value += ident; + + if (/^em$|^ex$|^px$|^gd$|^rem$|^vw$|^vh$|^vm$|^ch$|^cm$|^mm$|^in$|^pt$|^pc$/i.test(ident)){ + tt = Tokens.LENGTH; + } else if (/^deg|^rad$|^grad$/i.test(ident)){ + tt = Tokens.ANGLE; + } else if (/^ms$|^s$/i.test(ident)){ + tt = Tokens.TIME; + } else if (/^hz$|^khz$/i.test(ident)){ + tt = Tokens.FREQ; + } else if (/^dpi$|^dpcm$/i.test(ident)){ + tt = Tokens.RESOLUTION; + } else { + tt = Tokens.DIMENSION; + } + + } else if (c == "%"){ + value += reader.read(); + tt = Tokens.PERCENTAGE; + } + + return this.createToken(tt, value, startLine, startCol); + }, + + /** + * Produces a string token based on the given character + * and location in the stream. Since strings may be indicated + * by single or double quotes, a failure to match starting + * and ending quotes results in an INVALID token being generated. + * The first character in the string is passed in and then + * the rest are read up to and including the final quotation mark. + * @param {String} first The first character in the string. + * @param {int} startLine The beginning line for the character. + * @param {int} startCol The beginning column for the character. + * @return {Object} A token object. + * @method stringToken + */ + stringToken: function(first, startLine, startCol){ + var delim = first, + string = first, + reader = this._reader, + prev = first, + tt = Tokens.STRING, + c = reader.read(); + + while(c){ + string += c; + + //if the delimiter is found with an escapement, we're done. + if (c == delim && prev != "\\"){ + break; + } + + //if there's a newline without an escapement, it's an invalid string + if (isNewLine(reader.peek()) && c != "\\"){ + tt = Tokens.INVALID; + break; + } + + //save previous and get next + prev = c; + c = reader.read(); + } + + //if c is null, that means we're out of input and the string was never closed + if (c == null){ + tt = Tokens.INVALID; + } + + return this.createToken(tt, string, startLine, startCol); + }, + + unicodeRangeToken: function(first, startLine, startCol){ + var reader = this._reader, + value = first, + temp, + tt = Tokens.CHAR; + + //then it should be a unicode range + if (reader.peek() == "+"){ + reader.mark(); + value += reader.read(); + value += this.readUnicodeRangePart(true); + + //ensure there's an actual unicode range here + if (value.length == 2){ + reader.reset(); + } else { + + tt = Tokens.UNICODE_RANGE; + + //if there's a ? in the first part, there can't be a second part + if (value.indexOf("?") == -1){ + + if (reader.peek() == "-"){ + reader.mark(); + temp = reader.read(); + temp += this.readUnicodeRangePart(false); + + //if there's not another value, back up and just take the first + if (temp.length == 1){ + reader.reset(); + } else { + value += temp; + } + } + + } + } + } + + return this.createToken(tt, value, startLine, startCol); + }, + + /** + * Produces a S token based on the specified information. Since whitespace + * may have multiple characters, this consumes all whitespace characters + * into a single token. + * @param {String} first The first character in the token. + * @param {int} startLine The beginning line for the character. + * @param {int} startCol The beginning column for the character. + * @return {Object} A token object. + * @method whitespaceToken + */ + whitespaceToken: function(first, startLine, startCol){ + var reader = this._reader, + value = first + this.readWhitespace(); + return this.createToken(Tokens.S, value, startLine, startCol); + }, + + + + + //------------------------------------------------------------------------- + // Methods to read values from the string stream + //------------------------------------------------------------------------- + + readUnicodeRangePart: function(allowQuestionMark){ + var reader = this._reader, + part = "", + c = reader.peek(); + + //first read hex digits + while(isHexDigit(c) && part.length < 6){ + reader.read(); + part += c; + c = reader.peek(); + } + + //then read question marks if allowed + if (allowQuestionMark){ + while(c == "?" && part.length < 6){ + reader.read(); + part += c; + c = reader.peek(); + } + } + + //there can't be any other characters after this point + + return part; + }, + + readWhitespace: function(){ + var reader = this._reader, + whitespace = "", + c = reader.peek(); + + while(isWhitespace(c)){ + reader.read(); + whitespace += c; + c = reader.peek(); + } + + return whitespace; + }, + readNumber: function(first){ + var reader = this._reader, + number = first, + hasDot = (first == "."), + c = reader.peek(); + + + while(c){ + if (isDigit(c)){ + number += reader.read(); + } else if (c == "."){ + if (hasDot){ + break; + } else { + hasDot = true; + number += reader.read(); + } + } else { + break; + } + + c = reader.peek(); + } + + return number; + }, + readString: function(){ + var reader = this._reader, + delim = reader.read(), + string = delim, + prev = delim, + c = reader.peek(); + + while(c){ + c = reader.read(); + string += c; + + //if the delimiter is found with an escapement, we're done. + if (c == delim && prev != "\\"){ + break; + } + + //if there's a newline without an escapement, it's an invalid string + if (isNewLine(reader.peek()) && c != "\\"){ + string = ""; + break; + } + + //save previous and get next + prev = c; + c = reader.peek(); + } + + //if c is null, that means we're out of input and the string was never closed + if (c == null){ + string = ""; + } + + return string; + }, + readURI: function(first){ + var reader = this._reader, + uri = first, + inner = "", + c = reader.peek(); + + reader.mark(); + + //skip whitespace before + while(c && isWhitespace(c)){ + reader.read(); + c = reader.peek(); + } + + //it's a string + if (c == "'" || c == "\""){ + inner = this.readString(); + } else { + inner = this.readURL(); + } + + c = reader.peek(); + + //skip whitespace after + while(c && isWhitespace(c)){ + reader.read(); + c = reader.peek(); + } + + //if there was no inner value or the next character isn't closing paren, it's not a URI + if (inner == "" || c != ")"){ + uri = first; + reader.reset(); + } else { + uri += inner + reader.read(); + } + + return uri; + }, + readURL: function(){ + var reader = this._reader, + url = "", + c = reader.peek(); + + //TODO: Check for escape and nonascii + while (/^[!#$%&\\*-~]$/.test(c)){ + url += reader.read(); + c = reader.peek(); + } + + return url; + + }, + readName: function(first){ + var reader = this._reader, + ident = first || "", + c = reader.peek(); + + while(true){ + if (c == "\\"){ + ident += this.readEscape(reader.read()); + c = reader.peek(); + } else if(c && isNameChar(c)){ + ident += reader.read(); + c = reader.peek(); + } else { + break; + } + } + + return ident; + }, + + readEscape: function(first){ + var reader = this._reader, + cssEscape = first || "", + i = 0, + c = reader.peek(); + + if (isHexDigit(c)){ + do { + cssEscape += reader.read(); + c = reader.peek(); + } while(c && isHexDigit(c) && ++i < 6); + } + + if (cssEscape.length == 3 && /\s/.test(c) || + cssEscape.length == 7 || cssEscape.length == 1){ + reader.read(); + } else { + c = ""; + } + + return cssEscape + c; + }, + + readComment: function(first){ + var reader = this._reader, + comment = first || "", + c = reader.read(); + + if (c == "*"){ + while(c){ + comment += c; + + //look for end of comment + if (comment.length > 2 && c == "*" && reader.peek() == "/"){ + comment += reader.read(); + break; + } + + c = reader.read(); + } + + return comment; + } else { + return ""; + } + + } +}); + +var Tokens = [ + + /* + * The following token names are defined in CSS3 Grammar: http://www.w3.org/TR/css3-syntax/#lexical + */ + + //HTML-style comments + { name: "CDO"}, + { name: "CDC"}, + + //ignorables + { name: "S", whitespace: true/*, channel: "ws"*/}, + { name: "COMMENT", comment: true, hide: true, channel: "comment" }, + + //attribute equality + { name: "INCLUDES", text: "~="}, + { name: "DASHMATCH", text: "|="}, + { name: "PREFIXMATCH", text: "^="}, + { name: "SUFFIXMATCH", text: "$="}, + { name: "SUBSTRINGMATCH", text: "*="}, + + //identifier types + { name: "STRING"}, + { name: "IDENT"}, + { name: "HASH"}, + + //at-keywords + { name: "IMPORT_SYM", text: "@import"}, + { name: "PAGE_SYM", text: "@page"}, + { name: "MEDIA_SYM", text: "@media"}, + { name: "FONT_FACE_SYM", text: "@font-face"}, + { name: "CHARSET_SYM", text: "@charset"}, + { name: "NAMESPACE_SYM", text: "@namespace"}, + //{ name: "ATKEYWORD"}, + + //CSS3 animations + { name: "KEYFRAMES_SYM", text: [ "@keyframes", "@-webkit-keyframes", "@-moz-keyframes" ] }, + + //important symbol + { name: "IMPORTANT_SYM"}, + + //measurements + { name: "LENGTH"}, + { name: "ANGLE"}, + { name: "TIME"}, + { name: "FREQ"}, + { name: "DIMENSION"}, + { name: "PERCENTAGE"}, + { name: "NUMBER"}, + + //functions + { name: "URI"}, + { name: "FUNCTION"}, + + //Unicode ranges + { name: "UNICODE_RANGE"}, + + /* + * The following token names are defined in CSS3 Selectors: http://www.w3.org/TR/css3-selectors/#selector-syntax + */ + + //invalid string + { name: "INVALID"}, + + //combinators + { name: "PLUS", text: "+" }, + { name: "GREATER", text: ">"}, + { name: "COMMA", text: ","}, + { name: "TILDE", text: "~"}, + + //modifier + { name: "NOT"}, + + /* + * Defined in CSS3 Paged Media + */ + { name: "TOPLEFTCORNER_SYM", text: "@top-left-corner"}, + { name: "TOPLEFT_SYM", text: "@top-left"}, + { name: "TOPCENTER_SYM", text: "@top-center"}, + { name: "TOPRIGHT_SYM", text: "@top-right"}, + { name: "TOPRIGHTCORNER_SYM", text: "@top-right-corner"}, + { name: "BOTTOMLEFTCORNER_SYM", text: "@bottom-left-corner"}, + { name: "BOTTOMLEFT_SYM", text: "@bottom-left"}, + { name: "BOTTOMCENTER_SYM", text: "@bottom-center"}, + { name: "BOTTOMRIGHT_SYM", text: "@bottom-right"}, + { name: "BOTTOMRIGHTCORNER_SYM", text: "@bottom-right-corner"}, + { name: "LEFTTOP_SYM", text: "@left-top"}, + { name: "LEFTMIDDLE_SYM", text: "@left-middle"}, + { name: "LEFTBOTTOM_SYM", text: "@left-bottom"}, + { name: "RIGHTTOP_SYM", text: "@right-top"}, + { name: "RIGHTMIDDLE_SYM", text: "@right-middle"}, + { name: "RIGHTBOTTOM_SYM", text: "@right-bottom"}, + + /* + * The following token names are defined in CSS3 Media Queries: http://www.w3.org/TR/css3-mediaqueries/#syntax + */ + /*{ name: "MEDIA_ONLY", state: "media"}, + { name: "MEDIA_NOT", state: "media"}, + { name: "MEDIA_AND", state: "media"},*/ + { name: "RESOLUTION", state: "media"}, + + /* + * The following token names are not defined in any CSS specification but are used by the lexer. + */ + + //not a real token, but useful for stupid IE filters + { name: "IE_FUNCTION" }, + + //part of CSS3 grammar but not the Flex code + { name: "CHAR" }, + + //TODO: Needed? + //Not defined as tokens, but might as well be + { + name: "PIPE", + text: "|" + }, + { + name: "SLASH", + text: "/" + }, + { + name: "MINUS", + text: "-" + }, + { + name: "STAR", + text: "*" + }, + + { + name: "LBRACE", + text: "{" + }, + { + name: "RBRACE", + text: "}" + }, + { + name: "LBRACKET", + text: "[" + }, + { + name: "RBRACKET", + text: "]" + }, + { + name: "EQUALS", + text: "=" + }, + { + name: "COLON", + text: ":" + }, + { + name: "SEMICOLON", + text: ";" + }, + + { + name: "LPAREN", + text: "(" + }, + { + name: "RPAREN", + text: ")" + }, + { + name: "DOT", + text: "." + } +]; + +(function(){ + + var nameMap = [], + typeMap = {}; + + Tokens.UNKNOWN = -1; + Tokens.unshift({name:"EOF"}); + for (var i=0, len = Tokens.length; i < len; i++){ + nameMap.push(Tokens[i].name); + Tokens[Tokens[i].name] = i; + if (Tokens[i].text){ + if (Tokens[i].text instanceof Array){ + for (var j=0; j < Tokens[i].text.length; j++){ + typeMap[Tokens[i].text[j]] = i; + } + } else { + typeMap[Tokens[i].text] = i; + } + } + } + + Tokens.name = function(tt){ + return nameMap[tt]; + }; + + Tokens.type = function(c){ + return typeMap[c] || -1; + }; + +})(); + + + +/** + * Type to use when a validation error occurs. + * @class ValidationError + * @namespace parserlib.util + * @constructor + * @param {String} message The error message. + * @param {int} line The line at which the error occurred. + * @param {int} col The column at which the error occurred. + */ +function ValidationError(message, line, col){ + + /** + * The column at which the error occurred. + * @type int + * @property col + */ + this.col = col; + + /** + * The line at which the error occurred. + * @type int + * @property line + */ + this.line = line; + + /** + * The text representation of the unit. + * @type String + * @property text + */ + this.message = message; + +} + +//inherit from Error +ValidationError.prototype = new Error(); + +parserlib.css = { +Colors :Colors, +Combinator :Combinator, +Parser :Parser, +PropertyName :PropertyName, +PropertyValue :PropertyValue, +PropertyValuePart :PropertyValuePart, +MediaFeature :MediaFeature, +MediaQuery :MediaQuery, +Selector :Selector, +SelectorPart :SelectorPart, +SelectorSubPart :SelectorSubPart, +Specificity :Specificity, +TokenStream :TokenStream, +Tokens :Tokens, +ValidationError :ValidationError +}; +})(); + +(function(){ +for(var prop in parserlib){ +exports[prop] = parserlib[prop]; +} +})(); diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/events.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/events.js new file mode 100644 index 0000000..2431a51 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/events.js @@ -0,0 +1,6 @@ +module.exports = { + Event: require('./Event'), + UIEvent: require('./UIEvent'), + MouseEvent: require('./MouseEvent'), + CustomEvent: require('./CustomEvent') +}; diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/htmlelts.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/htmlelts.js new file mode 100644 index 0000000..58d6f15 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/htmlelts.js @@ -0,0 +1,1109 @@ +var Node = require('./Node'); +var Element = require('./Element'); +var CSSStyleDeclaration = require('./CSSStyleDeclaration'); +var NAMESPACE = require('./utils').NAMESPACE; +var attributes = require('./attributes'); +var utils = require('./utils'); + +var impl = exports.elements = {}; +var tagNameToImpl = {}; + +exports.createElement = function(doc, localName, prefix) { + var impl = tagNameToImpl[localName] || HTMLUnknownElement; + return new impl(doc, localName, prefix); +}; + +function define(spec) { + var c = spec.ctor; + if (c) { + var props = spec.props || {}; + if (spec.attributes) { + for (var n in spec.attributes) { + var attr = spec.attributes[n]; + if (typeof attr != 'object' || Array.isArray(attr)) attr = {type: attr}; + if (!attr.name) attr.name = n.toLowerCase(); + props[n] = attributes.property(attr); + } + } + props.constructor = { value : c }; + c.prototype = Object.create((spec.superclass || HTMLElement).prototype, props); + if (spec.events) { + addEventHandlers(c, spec.events); + } + impl[c.name] = c; + } + else { + c = HTMLElement; + } + (spec.tags || spec.tag && [spec.tag] || []).forEach(function(tag) { + tagNameToImpl[tag] = c; + }); + return c; +} + +function EventHandlerBuilder(body, document, form, element) { + this.body = body; + this.document = document; + this.form = form; + this.element = element; +} + +EventHandlerBuilder.prototype.build = function build() { + try { + with(this.document.defaultView || {}) + with(this.document) + with(this.form) + with(this.element) + return eval("(function(event){" + this.body + "})"); + } + catch (err) { + return function() { throw err } + } +}; + +function EventHandlerChangeHandler(elt, name, oldval, newval) { + var doc = elt.ownerDocument || {}; + var form = elt.form || {}; + elt[name] = new EventHandlerBuilder(newval, doc, form, elt).build(); +} + +function addEventHandlers(c, eventHandlerTypes) { + var p = c.prototype; + eventHandlerTypes.forEach(function(type) { + // Define the event handler registration IDL attribute for this type + Object.defineProperty(p, "on" + type, { + get: function() { + return this._getEventHandler(type); + }, + set: function(v) { + this._setEventHandler(type, v); + }, + }); + + // Define special behavior for the content attribute as well + attributes.registerChangeHandler(c, "on" + type, EventHandlerChangeHandler); + }); +} + +function URL(attr) { + return { + get: function() { + var v = this._getattr(attr); + return this.doc._resolve(v); + }, + set: function(value) { + this._setattr(attr, value); + } + }; +} + +// XXX: the default value for tabIndex should be 0 if the element is +// focusable and -1 if it is not. But the full definition of focusable +// is actually hard to compute, so for now, I'll follow Firefox and +// just base the default value on the type of the element. +var focusableElements = { + "A":true, "LINK":true, "BUTTON":true, "INPUT":true, + "SELECT":true, "TEXTAREA":true, "COMMAND":true +}; + +var HTMLElement = exports.HTMLElement = define({ + superclass: Element, + ctor: function HTMLElement(doc, localName, prefix) { + Element.call(this, doc, localName, NAMESPACE.HTML, prefix); + }, + props: { + innerHTML: { + get: function() { + return this.serialize(); + }, + set: function(v) { + var parser = this.ownerDocument.implementation.mozHTMLParser( + this.ownerDocument._address, + this); + parser.parse(v, true); + var tmpdoc = parser.document(); + var root = tmpdoc.firstChild; + + // Remove any existing children of this node + while(this.hasChildNodes()) + this.removeChild(this.firstChild); + + // Now copy newly parsed children from the root to this node + this.doc.adoptNode(root); + while(root.hasChildNodes()) { + this.appendChild(root.firstChild); + } + } + }, + style: { get: function() { + if (!this._style) + this._style = new CSSStyleDeclaration(this); + return this._style; + }}, + + click: { value: function() { + if (this._click_in_progress) return; + this._click_in_progress = true; + try { + if (this._pre_click_activation_steps) + this._pre_click_activation_steps(); + + var event = this.ownerDocument.createEvent("MouseEvent"); + event.initMouseEvent("click", true, true, + this.ownerDocument.defaultView, 1, + 0, 0, 0, 0, + // These 4 should be initialized with + // the actually current keyboard state + // somehow... + false, false, false, false, + 0, null + ); + + // Dispatch this as an untrusted event since it is synthetic + var success = this.dispatchEvent(event); + + if (success) { + if (this._post_click_activation_steps) + this._post_click_activation_steps(event); + } + else { + if (this._cancelled_activation_steps) + this._cancelled_activation_steps(); + } + } + finally { + this._click_in_progress = false; + } + }} + }, + attributes: { + title: String, + lang: String, + dir: {type: ["ltr", "rtl", "auto"], implied: true}, + accessKey: String, + hidden: Boolean, + tabIndex: {type: Number, default: function() { + if (this.tagName in focusableElements || + this.contentEditable) + return 0; + else + return -1; + }} + }, + events: [ + "abort", "canplay", "canplaythrough", "change", "click", "contextmenu", + "cuechange", "dblclick", "drag", "dragend", "dragenter", "dragleave", + "dragover", "dragstart", "drop", "durationchange", "emptied", "ended", + "input", "invalid", "keydown", "keypress", "keyup", "loadeddata", + "loadedmetadata", "loadstart", "mousedown", "mousemove", "mouseout", + "mouseover", "mouseup", "mousewheel", "pause", "play", "playing", + "progress", "ratechange", "readystatechange", "reset", "seeked", + "seeking", "select", "show", "stalled", "submit", "suspend", + "timeupdate", "volumechange", "waiting", + + // These last 5 event types will be overriden by HTMLBodyElement + "blur", "error", "focus", "load", "scroll" + ] +}); + + +// XXX: reflect contextmenu as contextMenu, with element type + + +// style: the spec doesn't call this a reflected attribute. +// may want to handle it manually. + +// contentEditable: enumerated, not clear if it is actually +// reflected or requires custom getter/setter. Not listed as +// "limited to known values". Raises syntax_err on bad setting, +// so I think this is custom. + +// contextmenu: content is element id, idl type is an element +// draggable: boolean, but not a reflected attribute +// dropzone: reflected SettableTokenList, experimental, so don't +// implement it right away. + +// data-* attributes: need special handling in setAttribute? +// Or maybe that isn't necessary. Can I just scan the attribute list +// when building the dataset? Liveness and caching issues? + +// microdata attributes: many are simple reflected attributes, but +// I'm not going to implement this now. + + +var HTMLUnknownElement = define({ + ctor: function HTMLUnknownElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + + +var formAssociatedProps = { + // See http://www.w3.org/TR/html5/association-of-controls-and-forms.html#form-owner + form: { get: function() { + return this._form; + }} +}; + +define({ + tag: 'a', + ctor: function HTMLAnchorElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: { + _post_click_activation_steps: { value: function(e) { + if (this.href) { + // Follow the link + // XXX: this is just a quick hack + // XXX: the HTML spec probably requires more than this + this.ownerDocument.defaultView.location = this.href; + } + }}, + blur: { value: function() {}}, + focus: { value: function() {}} + }, + attributes: { + href: URL, + ping: String, + download: String, + target: String, + rel: String, + media: String, + hreflang: String, + type: String + } +}); + +define({ + tag: 'area', + ctor: function HTMLAreaElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + alt: String, + target: String, + download: String, + rel: String, + media: String, + href: URL, + hreflang: String, + type: String, + shape: String, + coords: String + // XXX: also reflect relList + } +}); + +define({ + tag: 'br', + ctor: function HTMLBRElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + tag: 'base', + ctor: function HTMLBaseElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + "target": String + } +}); + + +define({ + tag: 'body', + ctor: function HTMLBodyElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + // Certain event handler attributes on a tag actually set + // handlers for the window rather than just that element. Define + // getters and setters for those here. Note that some of these override + // properties on HTMLElement.prototype. + // XXX: If I add support for , these have to go there, too + // XXX + // When the Window object is implemented, these attribute will have + // to work with the same-named attributes on the Window. + events: [ + "afterprint", "beforeprint", "beforeunload", "blur", "error", + "focus","hashchange", "load", "message", "offline", "online", + "pagehide", "pageshow","popstate","resize","scroll","storage","unload", + ] +}); + +define({ + tag: 'button', + ctor: function HTMLButtonElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: formAssociatedProps, + attributes: { + name: String, + value: String, + disabled: Boolean, + autofocus: Boolean, + type: ["submit", "reset", "button"], + formTarget: String, + formNoValidate: Boolean, + formMethod: ["get", "post"], + formEnctype: [ + "application/x-www-form-urlencoded", "multipart/form-data", "text/plain" + ] + } +}); + +define({ + tag: 'command', + ctor: function HTMLCommandElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + type: ["command", "checkbox", "radio"], + label: String, + disabled: Boolean, + checked: Boolean, + radiogroup: String, + icon: String + } +}); + +define({ + tag: 'dl', + ctor: function HTMLDListElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + tag: 'datalist', + ctor: function HTMLDataListElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + tag: 'details', + ctor: function HTMLDetailsElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + "open": Boolean + } +}); + +define({ + tag: 'div', + ctor: function HTMLDivElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + tag: 'embed', + ctor: function HTMLEmbedElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + src: URL, + type: String, + width: String, + height: String + } +}); + +define({ + tag: 'fieldset', + ctor: function HTMLFieldSetElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: formAssociatedProps, + attributes: { + disabled: Boolean, + name: String + } +}); + +define({ + tag: 'form', + ctor: function HTMLFormElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + action: String, + autocomplete: ['on', 'off'], + name: String, + acceptCharset: {name: "accept-charset"}, + target: String, + noValidate: Boolean, + method: ["get", "post"], + // Both enctype and encoding reflect the enctype content attribute + enctype: ["application/x-www-form-urlencoded", "multipart/form-data", "text/plain"], + encoding: {name: 'enctype', type: ["application/x-www-form-urlencoded", "multipart/form-data", "text/plain"]} + } +}); + +define({ + tag: 'hr', + ctor: function HTMLHRElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + tag: 'head', + ctor: function HTMLHeadElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + tags: ['h1','h2','h3','h4','h5','h6'], + ctor: function HTMLHeadingElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + tag: 'html', + ctor: function HTMLHtmlElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + tag: 'iframe', + ctor: function HTMLIFrameElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + src: URL, + srcdoc: String, + name: String, + width: String, + height: String, + // XXX: sandbox is a reflected settable token list + seamless: Boolean + } +}); + +define({ + tag: 'img', + ctor: function HTMLImageElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + src: URL, + alt: String, + crossOrigin: String, + useMap: String, + isMap: Boolean, + height: { type: Number, default: 0 }, + width: { type: Number, default: 0 } + } +}); + +define({ + tag: 'input', + ctor: function HTMLInputElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: { + form: formAssociatedProps.form, + _post_click_activation_steps: { value: function(e) { + if (this.type == 'checkbox') { + this.checked = !this.checked; + } + else if (this.type == 'radio') { + var group = this.form.getElementsByName(this.name); + for (var i=group.length-1; i >= 0; i--) { + var el = group[i]; + el.checked = el == this; + } + } + }}, + }, + attributes: { + name: String, + disabled: Boolean, + autofocus: Boolean, + accept: String, + alt: String, + max: String, + min: String, + pattern: String, + placeholder: String, + step: String, + dirName: String, + defaultValue: {name: 'value'}, + multiple: Boolean, + required: Boolean, + readOnly: Boolean, + checked: Boolean, + value: String, + src: URL, + defaultChecked: {name: 'checked', type: Boolean}, + size: {type: Number, default: 20, min: 1, setmin: 1}, + maxLength: {min: 0, setmin: 0}, + autocomplete: ["on", "off"], + type: ["text", "hidden", "search", "tel", "url", "email", "password", + "datetime", "date", "month", "week", "time", "datetime-local", + "number", "range", "color", "checkbox", "radio", "file", "submit", + "image", "reset", "button" + ], + formTarget: String, + formNoValidate: Boolean, + formMethod: ["get", "post"], + formEnctype: ["application/x-www-form-urlencoded", "multipart/form-data", "text/plain"] + } +}); + +define({ + tag: 'keygen', + ctor: function HTMLKeygenElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: formAssociatedProps, + attributes: { + name: String, + disabled: Boolean, + autofocus: Boolean, + challenge: String, + keytype: ["rsa"] + } +}); + +define({ + tag: 'li', + ctor: function HTMLLIElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + value: {type: Number, default: 0}, + } +}); + +define({ + tag: 'label', + ctor: function HTMLLabelElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: formAssociatedProps, + attributes: { + htmlFor: {name: 'for'} + } +}); + +define({ + tag: 'legend', + ctor: function HTMLLegendElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + tag: 'link', + ctor: function HTMLLinkElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + // XXX Reflect DOMSettableTokenList sizes also DOMTokenList relList + href: URL, + rel: String, + media: String, + hreflang: String, + type: String + } +}); + +define({ + tag: 'map', + ctor: function HTMLMapElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + name: String + } +}); + +define({ + tag: 'menu', + ctor: function HTMLMenuElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + type: String, + label: String + } +}); + +define({ + tag: 'meta', + ctor: function HTMLMetaElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + name: String, + content: String, + scheme: String, + httpEquiv: {name: 'http-equiv', type: String} + } +}); + +define({ + tag: 'meter', + ctor: function HTMLMeterElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: formAssociatedProps +}); + +define({ + tags: ['ins', 'del'], + ctor: function HTMLModElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + cite: String, + dateTime: String + } +}); + +define({ + tag: 'ol', + ctor: function HTMLOListElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: { + // Utility function (see the start attribute default value). Returns + // the number of
  • children of this element + _numitems: { get: function() { + var items = 0; + this.childNodes.forEach(function(n) { + if (n.nodeType === ELEMENT_NODE && n.tagName === "LI") + items++; + }); + return items; + }} + }, + attributes: { + type: String, + reversed: Boolean, + start: { + type: Number, + default: function() { + // The default value of the start attribute is 1 unless the list is + // reversed. Then it is the # of li children + if (this.reversed) + return this._numitems; + else + return 1; + } + } + } +}); + +define({ + tag: 'object', + ctor: function HTMLObjectElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: formAssociatedProps, + attributes: { + data: String, + type: String, + name: String, + useMap: String, + typeMustMatch: Boolean, + width: String, + height: String + } +}); + +define({ + tag: 'optgroup', + ctor: function HTMLOptGroupElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + disabled: Boolean, + label: String + } +}); + +define({ + tag: 'option', + ctor: function HTMLOptionElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: { + form: { get: function() { + var p = this.parentNode; + while (p && p.nodeType == Node.ELEMENT_NODE) { + if (p.localName == 'select') return p.form; + p = p.parentNode; + } + }} + }, + attributes: { + disabled: Boolean, + defaultSelected: {name: 'selected', type: Boolean}, + label: String + } +}); + +define({ + tag: 'output', + ctor: function HTMLOutputElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: formAssociatedProps, + attributes: { + // XXX Reflect for/htmlFor as a settable token list + name: String + } +}); + +define({ + tag: 'p', + ctor: function HTMLParagraphElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + tag: 'param', + ctor: function HTMLParamElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + name: String, + value: String + } +}); + +define({ + tag: 'pre', + ctor: function HTMLPreElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + tag: 'progress', + ctor: function HTMLProgressElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: formAssociatedProps, + attributes: { + max: {type: Number, float: true, default: 1.0, min: 0} + } +}); + +define({ + tags: ['q', 'blockquote'], + ctor: function HTMLQuoteElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + cite: URL + } +}); + +define({ + tag: 'script', + ctor: function HTMLScriptElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: { + text: { + get: function() { + var s = ""; + for(var i = 0, n = this.childNodes.length; i < n; i++) { + var child = this.childNodes[i]; + if (child.nodeType === Node.TEXT_NODE) + s += child._data; + } + return s; + }, + set: function(value) { + this.removeChildren(); + if (value !== null && value !== "") { + this.appendChild(this.ownerDocument.createTextNode(value)); + } + } + } + }, + attributes: { + src: URL, + type: String, + charset: String, + defer: Boolean, + async: Boolean + } +}); + +define({ + tag: 'select', + ctor: function HTMLSelectElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: { + form: formAssociatedProps.form, + options: { get: function() { + return this.getElementsByTagName('option'); + }} + }, + attributes: { + name: String, + disabled: Boolean, + autofocus: Boolean, + multiple: Boolean, + required: Boolean, + size: {type: Number, default: 0} + } +}); + +define({ + tag: 'source', + ctor: function HTMLSourceElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + src: URL, + type: String, + media: String + } +}); + +define({ + tag: 'span', + ctor: function HTMLSpanElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + tag: 'style', + ctor: function HTMLStyleElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + media: String, + type: String, + scoped: Boolean + } +}); + +define({ + tag: 'caption', + ctor: function HTMLTableCaptionElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + + +define({ + ctor: function HTMLTableCellElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + colSpan: {type: Number, default: 1, min: 1, setmin: 1}, + rowSpan: {type: Number, default: 1} + //XXX Also reflect settable token list headers + } +}); + +define({ + tags: ['col', 'colgroup'], + ctor: function HTMLTableColElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + span: {type: Number, default: 1, min: 1, setmin: 1} + } +}); + +define({ + tag: 'table', + ctor: function HTMLTableElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: { + rows: { get: function() { + return this.getElementsByTagName('tr'); + }} + }, + attributes: { + border: String + } +}); + +define({ + tag: 'tr', + ctor: function HTMLTableRowElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: { + cells: { get: function() { + return this.querySelectorAll('td,th'); + }} + } +}); + +define({ + tags: ['thead', 'tfoot', 'tbody'], + ctor: function HTMLTableSectionElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: { + rows: { get: function() { + return this.getElementsByTagName('tr'); + }} + } +}); + +define({ + tag: 'textarea', + ctor: function HTMLTextAreaElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: formAssociatedProps, + attributes: { + name: String, + disabled: Boolean, + autofocus: Boolean, + placeholder: String, + wrap: String, + dirName: String, + required: Boolean, + readOnly: Boolean, + rows: {type: Number, default: 2, min: 1, setmin: 1}, + cols: {type: Number, default: 20, min: 1, setmin: 1}, + maxLength: {type: Number, min: 0, setmin: 0} + } +}); + +define({ + tag: 'time', + ctor: function HTMLTimeElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + dateTime: String, + pubDate: Boolean + } +}); + +define({ + tag: 'title', + ctor: function HTMLTitleElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: { + text: { get: function() { + return this.textContent; + }} + } +}); + +define({ + tag: 'track', + ctor: function HTMLTrackElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + src: URL, + srclang: String, + label: String, + default: Boolean, + kind: ["subtitles", "captions", "descriptions", "chapters", "metadata"] + } +}); + +define({ + tag: 'ul', + ctor: function HTMLUListElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + ctor: function HTMLMediaElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + src: URL, + crossOrigin: String, + preload: ["metadata", "none", "auto", {value: "", alias: "auto"}], + loop: Boolean, + autoplay: Boolean, + mediaGroup: String, + controls: Boolean, + defaultMuted: {name: "muted", type: Boolean} + } +}); + +define({ + tag: 'audio', + superclass: impl.HTMLMediaElement, + ctor: function HTMLAudioElement(doc, localName, prefix) { + impl.HTMLMediaElement.call(this, doc, localName, prefix); + } +}); + +define({ + tag: 'video', + superclass: impl.HTMLMediaElement, + ctor: function HTMLVideoElement(doc, localName, prefix) { + impl.HTMLMediaElement.call(this, doc, localName, prefix); + }, + attributes: { + poster: String, + width: {type: Number, min: 0, setmin: 0}, + height: {type: Number, min: 0, setmin: 0} + } +}); + +define({ + tag: 'td', + superclass: impl.HTMLTableCellElement, + ctor: function HTMLTableDataCellElement(doc, localName, prefix) { + impl.HTMLTableCellElement.call(this, doc, localName, prefix); + } +}); + +define({ + tag: 'th', + superclass: impl.HTMLTableCellElement, + ctor: function HTMLTableHeaderCellElement(doc, localName, prefix) { + impl.HTMLTableCellElement.call(this, doc, localName, prefix); + }, + attributes: { + scope: ["", "row", "col", "rowgroup", "colgroup"] + } +}); + +define({ + tag: 'frameset', + ctor: function HTMLFrameSetElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + tag: 'frame', + ctor: function HTMLFrameElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + tags: [ + "abbr", "address", "article", "aside", "b", "bdi", "bdo", "canvas", + "cite", "code", "dd", "dfn", "dt", "em", "figcaption", "figure", + "footer", "header", "hgroup", "i", "kbd", "mark", "nav", "noscript", + "rp", "rt", "ruby", "s", "samp", "section", "small", "strong", "sub", + "summary", "sup", "u", "var", "wbr" + ] +}); diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/impl.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/impl.js new file mode 100644 index 0000000..2fcdeb5 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/impl.js @@ -0,0 +1,23 @@ +var utils = require('./utils'); + +exports = module.exports = { + CSSStyleDeclaration: require('./CSSStyleDeclaration'), + CharacterData: require('./CharacterData'), + Comment: require('./Comment'), + DOMException: require('./DOMException'), + DOMImplementation: require('./DOMImplementation'), + DOMTokenList: require('./DOMTokenList'), + Document: require('./Document'), + DocumentFragment: require('./DocumentFragment'), + DocumentType: require('./DocumentType'), + Element: require('./Element'), + Node: require('./Node'), + NodeList: require('./NodeList'), + NodeFilter: require('./NodeFilter'), + ProcessingInstruction: require('./ProcessingInstruction'), + Text: require('./Text'), + Window: require('./Window') +}; + +utils.merge(exports, require('./events')); +utils.merge(exports, require('./htmlelts').elements); diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/index.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/index.js new file mode 100644 index 0000000..cc06de9 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/index.js @@ -0,0 +1,23 @@ +var DOMImplementation = require('./DOMImplementation'); +var HTMLParser = require('./HTMLParser'); +var Window = require('./Window'); + +exports.createDOMImplementation = function() { + return new DOMImplementation(); +}; + +exports.createDocument = function(html) { + if (html) { + var parser = new HTMLParser(); + parser.parse(html, true); + return parser.document(); + } + return new DOMImplementation().createHTMLDocument(""); +}; + +exports.createWindow = function(html) { + var document = exports.createDocument(html); + return new Window(document); +}; + +exports.impl = require('./impl'); diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/select.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/select.js new file mode 100644 index 0000000..6059cea --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/select.js @@ -0,0 +1,842 @@ +/** + * Zest (https://github.com/chjj/zest) + * A css selector engine. + * Copyright (c) 2011-2012, Christopher Jeffrey. (MIT Licensed) + */ + +/** + * Helpers + */ + +var compareDocumentPosition = function(a, b) { + return a.compareDocumentPosition(b); +}; + +var order = function(a, b) { + return compareDocumentPosition(a, b) & 2 ? 1 : -1; +}; + +var next = function(el) { + while ((el = el.nextSibling) + && el.nodeType !== 1); + return el; +}; + +var prev = function(el) { + while ((el = el.previousSibling) + && el.nodeType !== 1); + return el; +}; + +var child = function(el) { + if (el = el.firstChild) { + while (el.nodeType !== 1 + && (el = el.nextSibling)); + } + return el; +}; + +var lastChild = function(el) { + if (el = el.lastChild) { + while (el.nodeType !== 1 + && (el = el.previousSibling)); + } + return el; +}; + +var unquote = function(str) { + if (!str) return str; + var ch = str[0]; + return ch === '"' || ch === '\'' + ? str.slice(1, -1) + : str; +}; + +var indexOf = (function() { + if (Array.prototype.indexOf) { + return Array.prototype.indexOf; + } + return function(obj, item) { + var i = this.length; + while (i--) { + if (this[i] === item) return i; + } + return -1; + }; +})(); + +var makeInside = function(start, end) { + var regex = rules.inside.source + .replace(//g, end); + + return new RegExp(regex); +}; + +var replace = function(regex, name, val) { + regex = regex.source; + regex = regex.replace(name, val.source || val); + return new RegExp(regex); +}; + +var truncateUrl = function(url, num) { + return url + .replace(/^(?:\w+:\/\/|\/+)/, '') + .replace(/(?:\/+|\/*#.*?)$/, '') + .split('/', num) + .join('/'); +}; + +/** + * Handle `nth` Selectors + */ + +var parseNth = function(param, test) { + var param = param.replace(/\s+/g, '') + , cap; + + if (param === 'even') { + param = '2n+0'; + } else if (param === 'odd') { + param = '2n+1'; + } else if (!~param.indexOf('n')) { + param = '0n' + param; + } + + cap = /^([+-])?(\d+)?n([+-])?(\d+)?$/.exec(param); + + return { + group: cap[1] === '-' + ? -(cap[2] || 1) + : +(cap[2] || 1), + offset: cap[4] + ? (cap[3] === '-' ? -cap[4] : +cap[4]) + : 0 + }; +}; + +var nth = function(param, test, last) { + var param = parseNth(param) + , group = param.group + , offset = param.offset + , find = !last ? child : lastChild + , advance = !last ? next : prev; + + return function(el) { + if (el.parentNode.nodeType !== 1) return; + + var rel = find(el.parentNode) + , pos = 0; + + while (rel) { + if (test(rel, el)) pos++; + if (rel === el) { + pos -= offset; + return group && pos + ? !(pos % group) && (pos < 0 === group < 0) + : !pos; + } + rel = advance(rel); + } + }; +}; + +/** + * Simple Selectors + */ + +var selectors = { + '*': (function() { + if (false/*function() { + var el = document.createElement('div'); + el.appendChild(document.createComment('')); + return !!el.getElementsByTagName('*')[0]; + }()*/) { + return function(el) { + if (el.nodeType === 1) return true; + }; + } + return function() { + return true; + }; + })(), + 'type': function(type) { + type = type.toLowerCase(); + return function(el) { + return el.nodeName.toLowerCase() === type; + }; + }, + 'attr': function(key, op, val, i) { + op = operators[op]; + return function(el) { + var attr; + switch (key) { + case 'for': + attr = el.htmlFor; + break; + case 'class': + // className is '' when non-existent + // getAttribute('class') is null + attr = el.className; + if (attr === '' && el.getAttribute('class') == null) { + attr = null; + } + break; + case 'href': + attr = el.getAttribute('href', 2); + break; + case 'title': + // getAttribute('title') can be '' when non-existent sometimes? + attr = el.getAttribute('title') || null; + break; + // careful with attributes with special getter functions + case 'id': + case 'lang': + case 'dir': + case 'accessKey': + case 'hidden': + case 'tabIndex': + if (el.getAttribute) { + attr = el.getAttribute(key); + break; + } + default: + if (el.hasAttribute && !el.hasAttribute(key)) { + break; + } + attr = el[key] != null + ? el[key] + : el.getAttribute && el.getAttribute(key); + break; + } + if (attr == null) return; + attr = attr + ''; + if (i) { + attr = attr.toLowerCase(); + val = val.toLowerCase(); + } + return op(attr, val); + }; + }, + ':first-child': function(el) { + return !prev(el) && el.parentNode.nodeType === 1; + }, + ':last-child': function(el) { + return !next(el) && el.parentNode.nodeType === 1; + }, + ':only-child': function(el) { + return !prev(el) && !next(el) + && el.parentNode.nodeType === 1; + }, + ':nth-child': function(param, last) { + return nth(param, function() { + return true; + }, last); + }, + ':nth-last-child': function(param) { + return selectors[':nth-child'](param, true); + }, + ':root': function(el) { + return el.ownerDocument.documentElement === el; + }, + ':empty': function(el) { + return !el.firstChild; + }, + ':not': function(sel) { + var test = compileGroup(sel); + return function(el) { + return !test(el); + }; + }, + ':first-of-type': function(el) { + if (el.parentNode.nodeType !== 1) return; + var type = el.nodeName; + while (el = prev(el)) { + if (el.nodeName === type) return; + } + return true; + }, + ':last-of-type': function(el) { + if (el.parentNode.nodeType !== 1) return; + var type = el.nodeName; + while (el = next(el)) { + if (el.nodeName === type) return; + } + return true; + }, + ':only-of-type': function(el) { + return selectors[':first-of-type'](el) + && selectors[':last-of-type'](el); + }, + ':nth-of-type': function(param, last) { + return nth(param, function(rel, el) { + return rel.nodeName === el.nodeName; + }, last); + }, + ':nth-last-of-type': function(param) { + return selectors[':nth-of-type'](param, true); + }, + ':checked': function(el) { + return !!(el.checked || el.selected); + }, + ':indeterminate': function(el) { + return !selectors[':checked'](el); + }, + ':enabled': function(el) { + return !el.disabled && el.type !== 'hidden'; + }, + ':disabled': function(el) { + return !!el.disabled; + }, + ':target': function(el) { + return el.id === window.location.hash.substring(1); + }, + ':focus': function(el) { + return el === el.ownerDocument.activeElement; + }, + ':matches': function(sel) { + return compileGroup(sel); + }, + ':nth-match': function(param, last) { + var args = param.split(/\s*,\s*/) + , arg = args.shift() + , test = compileGroup(args.join(',')); + + return nth(arg, test, last); + }, + ':nth-last-match': function(param) { + return selectors[':nth-match'](param, true); + }, + ':links-here': function(el) { + return el + '' === window.location + ''; + }, + ':lang': function(param) { + return function(el) { + while (el) { + if (el.lang) return el.lang.indexOf(param) === 0; + el = el.parentNode; + } + }; + }, + ':dir': function(param) { + return function(el) { + while (el) { + if (el.dir) return el.dir === param; + el = el.parentNode; + } + }; + }, + ':scope': function(el, con) { + var context = con || el.ownerDocument; + if (context.nodeType === 9) { + return el === context.documentElement; + } + return el === context; + }, + ':any-link': function(el) { + return typeof el.href === 'string'; + }, + ':local-link': function(el) { + if (el.nodeName) { + return el.href && el.host === window.location.host; + } + var param = +el + 1; + return function(el) { + if (!el.href) return; + + var url = window.location + '' + , href = el + ''; + + return truncateUrl(url, param) === truncateUrl(href, param); + }; + }, + ':default': function(el) { + return !!el.defaultSelected; + }, + ':valid': function(el) { + return el.willValidate || (el.validity && el.validity.valid); + }, + ':invalid': function(el) { + return !selectors[':valid'](el); + }, + ':in-range': function(el) { + return el.value > el.min && el.value <= el.max; + }, + ':out-of-range': function(el) { + return !selectors[':in-range'](el); + }, + ':required': function(el) { + return !!el.required; + }, + ':optional': function(el) { + return !el.required; + }, + ':read-only': function(el) { + if (el.readOnly) return true; + + var attr = el.getAttribute('contenteditable') + , prop = el.contentEditable + , name = el.nodeName.toLowerCase(); + + name = name !== 'input' && name !== 'textarea'; + + return (name || el.disabled) && attr == null && prop !== 'true'; + }, + ':read-write': function(el) { + return !selectors[':read-only'](el); + }, + ':hover': function() { + throw new Error(':hover is not supported.'); + }, + ':active': function() { + throw new Error(':active is not supported.'); + }, + ':link': function() { + throw new Error(':link is not supported.'); + }, + ':visited': function() { + throw new Error(':visited is not supported.'); + }, + ':column': function() { + throw new Error(':column is not supported.'); + }, + ':nth-column': function() { + throw new Error(':nth-column is not supported.'); + }, + ':nth-last-column': function() { + throw new Error(':nth-last-column is not supported.'); + }, + ':current': function() { + throw new Error(':current is not supported.'); + }, + ':past': function() { + throw new Error(':past is not supported.'); + }, + ':future': function() { + throw new Error(':future is not supported.'); + }, + // Non-standard, for compatibility purposes. + ':contains': function(param) { + return function(el) { + var text = el.innerText || el.textContent || el.value || ''; + return !!~text.indexOf(param); + }; + }, + ':has': function(param) { + return function(el) { + return zest(param, el).length > 0; + }; + } + // Potentially add more pseudo selectors for + // compatibility with sizzle and most other + // selector engines (?). +}; + +/** + * Attribute Operators + */ + +var operators = { + '-': function() { + return true; + }, + '=': function(attr, val) { + return attr === val; + }, + '*=': function(attr, val) { + return attr.indexOf(val) !== -1; + }, + '~=': function(attr, val) { + var i = attr.indexOf(val) + , f + , l; + + if (i === -1) return; + f = attr[i - 1]; + l = attr[i + val.length]; + + return (!f || f === ' ') && (!l || l === ' '); + }, + '|=': function(attr, val) { + var i = attr.indexOf(val) + , l; + + if (i !== 0) return; + l = attr[i + val.length]; + + return l === '-' || !l; + }, + '^=': function(attr, val) { + return attr.indexOf(val) === 0; + }, + '$=': function(attr, val) { + return attr.indexOf(val) + val.length === attr.length; + }, + // non-standard + '!=': function(attr, val) { + return attr !== val; + } +}; + +/** + * Combinator Logic + */ + +var combinators = { + ' ': function(test) { + return function(el) { + while (el = el.parentNode) { + if (test(el)) return el; + } + }; + }, + '>': function(test) { + return function(el) { + if (el = el.parentNode) { + return test(el) && el; + } + }; + }, + '+': function(test) { + return function(el) { + if (el = prev(el)) { + return test(el) && el; + } + }; + }, + '~': function(test) { + return function(el) { + while (el = prev(el)) { + if (test(el)) return el; + } + }; + }, + 'noop': function(test) { + return function(el) { + return test(el) && el; + }; + }, + 'ref': function(test, name) { + var node; + + function ref(el) { + var doc = el.ownerDocument + , nodes = doc.getElementsByTagName('*') + , i = nodes.length; + + while (i--) { + node = nodes[i]; + if (ref.test(el)) { + node = null; + return true; + } + } + + node = null; + } + + ref.combinator = function(el) { + if (!node || !node.getAttribute) return; + + var attr = node.getAttribute(name) || ''; + if (attr[0] === '#') attr = attr.substring(1); + + if (attr === el.id && test(node)) { + return node; + } + }; + + return ref; + } +}; + +/** + * Grammar + */ + +var rules = { + qname: /^ *([\w\-]+|\*)/, + simple: /^(?:([.#][\w\-]+)|pseudo|attr)/, + ref: /^ *\/([\w\-]+)\/ */, + combinator: /^(?: +([^ \w*]) +|( )+|([^ \w*]))(?! *$)/, + attr: /^\[([\w\-]+)(?:([^\w]?=)(inside))?\]/, + pseudo: /^(:[\w\-]+)(?:\((inside)\))?/, + inside: /(?:"(?:\\"|[^"])*"|'(?:\\'|[^'])*'|<[^"'>]*>|\\["'>]|[^"'>])*/ +}; + +rules.inside = replace(rules.inside, '[^"\'>]*', rules.inside); +rules.attr = replace(rules.attr, 'inside', makeInside('\\[', '\\]')); +rules.pseudo = replace(rules.pseudo, 'inside', makeInside('\\(', '\\)')); +rules.simple = replace(rules.simple, 'pseudo', rules.pseudo); +rules.simple = replace(rules.simple, 'attr', rules.attr); + +/** + * Compiling + */ + +var compile = function(sel) { + var sel = sel.replace(/^\s+|\s+$/g, '') + , test + , filter = [] + , buff = [] + , subject + , qname + , cap + , op + , ref; + + while (sel) { + if (cap = rules.qname.exec(sel)) { + sel = sel.substring(cap[0].length); + qname = cap[1]; + buff.push(tok(qname, true)); + } else if (cap = rules.simple.exec(sel)) { + sel = sel.substring(cap[0].length); + qname = '*'; + buff.push(tok(qname, true)); + buff.push(tok(cap)); + } else { + throw new Error('Invalid selector.'); + } + + while (cap = rules.simple.exec(sel)) { + sel = sel.substring(cap[0].length); + buff.push(tok(cap)); + } + + if (sel[0] === '!') { + sel = sel.substring(1); + subject = makeSubject(); + subject.qname = qname; + buff.push(subject.simple); + } + + if (cap = rules.ref.exec(sel)) { + sel = sel.substring(cap[0].length); + ref = combinators.ref(makeSimple(buff), cap[1]); + filter.push(ref.combinator); + buff = []; + continue; + } + + if (cap = rules.combinator.exec(sel)) { + sel = sel.substring(cap[0].length); + op = cap[1] || cap[2] || cap[3]; + if (op === ',') { + filter.push(combinators.noop(makeSimple(buff))); + break; + } + } else { + op = 'noop'; + } + + filter.push(combinators[op](makeSimple(buff))); + buff = []; + } + + test = makeTest(filter); + test.qname = qname; + test.sel = sel; + + if (subject) { + subject.lname = test.qname; + + subject.test = test; + subject.qname = subject.qname; + subject.sel = test.sel; + test = subject; + } + + if (ref) { + ref.test = test; + ref.qname = test.qname; + ref.sel = test.sel; + test = ref; + } + + return test; +}; + +var tok = function(cap, qname) { + // qname + if (qname) { + return cap === '*' + ? selectors['*'] + : selectors.type(cap); + } + + // class/id + if (cap[1]) { + return cap[1][0] === '.' + ? selectors.attr('class', '~=', cap[1].substring(1)) + : selectors.attr('id', '=', cap[1].substring(1)); + } + + // pseudo-name + // inside-pseudo + if (cap[2]) { + return cap[3] + ? selectors[cap[2]](unquote(cap[3])) + : selectors[cap[2]]; + } + + // attr name + // attr op + // attr value + if (cap[4]) { + var i; + if (cap[6]) { + i = cap[6].length; + cap[6] = cap[6].replace(/ +i$/, ''); + i = i > cap[6].length; + } + return selectors.attr(cap[4], cap[5] || '-', unquote(cap[6]), i); + } + + throw new Error('Unknown Selector.'); +}; + +var makeSimple = function(func) { + var l = func.length + , i; + + // Potentially make sure + // `el` is truthy. + if (l < 2) return func[0]; + + return function(el) { + if (!el) return; + for (i = 0; i < l; i++) { + if (!func[i](el)) return; + } + return true; + }; +}; + +var makeTest = function(func) { + if (func.length < 2) { + return function(el) { + return !!func[0](el); + }; + } + return function(el) { + var i = func.length; + while (i--) { + if (!(el = func[i](el))) return; + } + return true; + }; +}; + +var makeSubject = function() { + var target; + + function subject(el) { + var node = el.ownerDocument + , scope = node.getElementsByTagName(subject.lname) + , i = scope.length; + + while (i--) { + if (subject.test(scope[i]) && target === el) { + target = null; + return true; + } + } + + target = null; + } + + subject.simple = function(el) { + target = el; + return true; + }; + + return subject; +}; + +var compileGroup = function(sel) { + var test = compile(sel) + , tests = [ test ]; + + while (test.sel) { + test = compile(test.sel); + tests.push(test); + } + + if (tests.length < 2) return test; + + return function(el) { + var l = tests.length + , i = 0; + + for (; i < l; i++) { + if (tests[i](el)) return true; + } + }; +}; + +/** + * Selection + */ + +var find = function(sel, node) { + var results = [] + , test = compile(sel) + , scope = node.getElementsByTagName(test.qname) + , i = 0 + , el; + + while (el = scope[i++]) { + if (test(el)) results.push(el); + } + + if (test.sel) { + while (test.sel) { + test = compile(test.sel); + scope = node.getElementsByTagName(test.qname); + i = 0; + while (el = scope[i++]) { + if (test(el) && !~indexOf.call(results, el)) { + results.push(el); + } + } + } + results.sort(order); + } + + return results; +}; + +/** + * Expose + */ + +module.exports = exports = function(sel, context) { + /* when context isn't a DocumentFragment and the selector is simple: */ + if (context.nodeType !== 11 && !~sel.indexOf(' ')) { + if (sel[0] === '#' && context.rooted && /^#\w+$/.test(sel)) { + return [context.doc.getElementById(sel.substring(1))]; + } + if (sel[0] === '.' && /^\.\w+$/.test(sel)) { + return context.getElementsByClassName(sel.substring(1)); + } + if (/^\w+$/.test(sel)) { + return context.getElementsByTagName(sel); + } + } + /* do things the hard/slow way */ + return find(sel, context); +}; + +exports.selectors = selectors; +exports.operators = operators; +exports.combinators = combinators; + +exports.matches = function(el, sel) { + var test = { sel: sel }; + do { + test = compile(test.sel); + if (test(el)) { return true; } + } while (test.sel); + return false; +}; diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/utils.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/utils.js new file mode 100644 index 0000000..78257cc --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/utils.js @@ -0,0 +1,66 @@ +var DOMException = require('./DOMException'); +var ERR = DOMException; + +exports.NAMESPACE = { + HTML: 'http://www.w3.org/1999/xhtml', + XML: 'http://www.w3.org/XML/1998/namespace', + XMLNS: 'http://www.w3.org/2000/xmlns/', + MATHML: 'http://www.w3.org/1998/Math/MathML', + SVG: 'http://www.w3.org/2000/svg', + XLINK: 'http://www.w3.org/1999/xlink' +}; + +// +// Shortcut functions for throwing errors of various types. +// +exports.IndexSizeError = function() { throw new DOMException(ERR.INDEX_SIZE_ERR); } +exports.HierarchyRequestError = function() { throw new DOMException(ERR.HIERARCHY_REQUEST_ERR); } +exports.WrongDocumentError = function() { throw new DOMException(ERR.WRONG_DOCUMENT_ERR); } +exports.InvalidCharacterError = function() { throw new DOMException(ERR.INVALID_CHARACTER_ERR); } +exports.NoModificationAllowedError = function() { throw new DOMException(ERR.NO_MODIFICATION_ALLOWED_ERR); } +exports.NotFoundError = function() { throw new DOMException(ERR.NOT_FOUND_ERR); } +exports.NotSupportedError = function() { throw new DOMException(ERR.NOT_SUPPORTED_ERR); } +exports.InvalidStateError = function() { throw new DOMException(ERR.INVALID_STATE_ERR); } +exports.SyntaxError = function() { throw new DOMException(ERR.SYNTAX_ERR); } +exports.InvalidModificationError = function() { throw new DOMException(ERR.INVALID_MODIFICATION_ERR); } +exports.NamespaceError = function() { throw new DOMException(ERR.NAMESPACE_ERR); } +exports.InvalidAccessError = function() { throw new DOMException(ERR.INVALID_ACCESS_ERR); } +exports.TypeMismatchError = function() { throw new DOMException(ERR.TYPE_MISMATCH_ERR); } +exports.SecurityError = function() { throw new DOMException(ERR.SECURITY_ERR); } +exports.NetworkError = function() { throw new DOMException(ERR.NETWORK_ERR); } +exports.AbortError = function() { throw new DOMException(ERR.ABORT_ERR); } +exports.UrlMismatchError = function() { throw new DOMException(ERR.URL_MISMATCH_ERR); } +exports.QuotaExceededError = function() { throw new DOMException(ERR.QUOTA_EXCEEDED_ERR); } +exports.TimeoutError = function() { throw new DOMException(ERR.TIMEOUT_ERR); } +exports.InvalidNodeTypeError = function() { throw new DOMException(ERR.INVALID_NODE_TYPE_ERR); } +exports.DataCloneError = function() { throw new DOMException(ERR.DATA_CLONE_ERR); } + +exports.nyi = function() { + throw new Error("NotYetImplemented"); +} + +exports.assert = function(expr, msg) { + if (!expr) { + throw new Error("Assertion failed: " + (msg || "") + "\n" + new Error().stack); + } +}; + +exports.expose = function(src, c) { + for (var n in src) { + Object.defineProperty(c.prototype, n, {value: src[n] }); + } +}; + +exports.merge = function(a, b) { + for (var n in b) { + a[n] = b[n] + } +}; + +// Compare two nodes based on their document order. This function is intended +// to be passed to sort(). Assumes that the array being sorted does not +// contain duplicates. And that all nodes are connected and comparable. +// Clever code by ppk via jeresig. +exports.documentOrder = function(n,m) { + return 3 - (n.compareDocumentPosition(m) & 6); +}; diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/xmlnames.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/xmlnames.js new file mode 100644 index 0000000..4edb8ab --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/xmlnames.js @@ -0,0 +1,90 @@ +// This grammar is from the XML and XML Namespace specs. It specifies whether +// a string (such as an element or attribute name) is a valid Name or QName. +// +// Name ::= NameStartChar (NameChar)* +// NameStartChar ::= ":" | [A-Z] | "_" | [a-z] | +// [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | +// [#x370-#x37D] | [#x37F-#x1FFF] | +// [#x200C-#x200D] | [#x2070-#x218F] | +// [#x2C00-#x2FEF] | [#x3001-#xD7FF] | +// [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | +// [#x10000-#xEFFFF] +// +// NameChar ::= NameStartChar | "-" | "." | [0-9] | +// #xB7 | [#x0300-#x036F] | [#x203F-#x2040] +// +// QName ::= PrefixedName| UnprefixedName +// PrefixedName ::= Prefix ':' LocalPart +// UnprefixedName ::= LocalPart +// Prefix ::= NCName +// LocalPart ::= NCName +// NCName ::= Name - (Char* ':' Char*) +// # An XML Name, minus the ":" +// + +exports.isValidName = isValidName; +exports.isValidQName = isValidQName; + +// Most names will be ASCII only. Try matching against simple regexps first +var simplename = /^[_:A-Za-z][-.:\w]+$/; +var simpleqname = /^([_A-Za-z][-.\w]+|[_A-Za-z][-.\w]+:[_A-Za-z][-.\w]+)$/ + +// If the regular expressions above fail, try more complex ones that work +// for any identifiers using codepoints from the Unicode BMP +var ncnamestartchars = "_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02ff\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD"; +var ncnamechars = "-._A-Za-z0-9\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02ff\u0300-\u037D\u037F-\u1FFF\u200C\u200D\u203f\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD"; + +var ncname = "[" + ncnamestartchars + "][" + ncnamechars + "]*"; +var namestartchars = ncnamestartchars + ":"; +var namechars = ncnamechars + ":"; +var name = new RegExp("^[" + namestartchars + "]" + "[" + namechars + "]*$"); +var qname = new RegExp("^(" + ncname + "|" + ncname + ":" + ncname + ")$"); + +// XML says that these characters are also legal: +// [#x10000-#xEFFFF]. So if the patterns above fail, and the +// target string includes surrogates, then try the following +// patterns that allow surrogates and then run an extra validation +// step to make sure that the surrogates are in valid pairs and in +// the right range. Note that since the characters \uf0000 to \u1f0000 +// are not allowed, it means that the high surrogate can only go up to +// \uDB7f instead of \uDBFF. +var hassurrogates = /[\uD800-\uDB7F\uDC00-\uDFFF]/; +var surrogatechars = /[\uD800-\uDB7F\uDC00-\uDFFF]/g; +var surrogatepairs = /[\uD800-\uDB7F][\uDC00-\uDFFF]/g; + +// Modify the variables above to allow surrogates +ncnamestartchars += "\uD800-\uDB7F\uDC00-\uDFFF"; +ncnamechars += "\uD800-\uDB7F\uDC00-\uDFFF"; +ncname = "[" + ncnamestartchars + "][" + ncnamechars + "]*"; +namestartchars = ncnamestartchars + ":"; +namechars = ncnamechars + ":"; + +// Build another set of regexps that include surrogates +var surrogatename = new RegExp("^[" + namestartchars + "]" + "[" + namechars + "]*$"); +var surrogateqname = new RegExp("^(" + ncname + "|" + ncname + ":" + ncname + ")$"); + +function isValidName(s) { + if (simplename.test(s)) return true; // Plain ASCII + if (name.test(s)) return true; // Unicode BMP + + // Maybe the tests above failed because s includes surrogate pairs + // Most likely, though, they failed for some more basic syntax problem + if (!hassurrogates.test(s)) return false; + + // Is the string a valid name if we allow surrogates? + if (!surrogatename.test(s)) return false; + + // Finally, are the surrogates all correctly paired up? + var chars = s.match(surrogatechars), pairs = s.match(surrogatepairs); + return pairs != null && 2*pairs.length === chars.length; +} + +function isValidQName(s) { + if (simpleqname.test(s)) return true; // Plain ASCII + if (qname.test(s)) return true; // Unicode BMP + + if (!hassurrogates.test(s)) return false; + if (!surrogateqname.test(s)) return false; + var chars = s.match(surrogatechars), pairs = s.match(surrogatepairs); + return pairs != null && 2*pairs.length === chars.length; +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/package.json b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/package.json new file mode 100644 index 0000000..778d9cb --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/package.json @@ -0,0 +1,30 @@ +{ + "name": "domino", + "version": "1.0.15", + "author": { + "name": "Felix Gnass", + "email": "fgnass@gmail.com" + }, + "description": "Server-side DOM implementation based on Mozilla's dom.js", + "homepage": "https://github.com/fgnass/domino", + "main": "./lib", + "repository": { + "type": "git", + "url": "https://github.com/fgnass/domino.git" + }, + "scripts": { + "test": "./node_modules/.bin/mocha", + "test-spec": "./node_modules/.bin/mocha -R spec" + }, + "devDependencies": { + "mocha": "~1.17.0", + "should": "~2.1.0" + }, + "readme": "# Server-side DOM implementation based on Mozilla's dom.js\n\n[![Build Status][1]][2] [![dependency status][3]][4] [![dev dependency status][5]][6]\n\nAs the name might suggest, domino's goal is to provide a DOM in Node.\n\nIn contrast to the original [dom.js](https://github.com/andreasgal/dom.js) project, domino was not designed to run untrusted code. Hence it doesn't have to hide its internals behind a proxy facade which makes the code not only simpler, but also [more performant](https://github.com/fgnass/dombench).\n\nDomino currently doesn't use any harmony features like proxies or WeakMaps and therefore also runs in older Node versions.\n\n## Speed over Compliance\n\nDomino is intended for _building_ pages rather than scraping them. Hence Domino doesn't execute scripts nor does it download external resources.\n\nAlso Domino doesn't implement any properties which have been deprecated in HTML5.\n\nDomino sticks to the [DOM level 4](http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#interface-attr) working draft, which means that Attributes do not inherit the Node interface. Also [Element.attributes](http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-element-attributes) returns a read-only array instead of a NamedNodeMap.\n\nNote that because domino does not use proxies,\n`Element.attributes` is not a true JavaScript array; it is an object\nwith a `length` property and an `item(n)` accessor method. See\n[github issue #27](https://github.com/fgnass/domino/issues/27) for\nfurther discussion.\n\n## CSS Selector Support\n\nDomino provides support for `querySelector()`, `querySelectorAll()`, and `matches()` backed by the [Zest](https://github.com/chjj/zest) selector engine.\n\n## Usage\n\n```javascript\nvar domino = require('domino');\n\nvar window = domino.createWindow('

    Hello world

    ');\nvar document = window.document;\n\nvar h1 = document.querySelector('h1');\nconsole.log(h1.innerHTML);\n```\n\n## Tests\n\nDomino includes test from the [W3C DOM Conformance Suites](http://www.w3.org/DOM/Test/)\nas well as tests from [HTML Working Group](http://www.w3.org/html/wg/wiki/Testing).\n\nThe tests can be run via `npm test` or directly though the [Mocha](http://visionmedia.github.com/mocha/) command line:\n\n![Screenshot](http://fgnass.github.com/images/domino.png)\n\n## License and Credits\n\nThe majority of the code was written by [Andreas Gal](https://github.com/andreasgal/) and [David Flanagan](https://github.com/davidflanagan) as part of the [dom.js](https://github.com/andreasgal/dom.js) project. Please refer to the included LICENSE file for the original copyright notice and disclaimer.\n\n[1]: https://travis-ci.org/fgnass/domino.png\n[2]: https://travis-ci.org/fgnass/domino\n[3]: https://david-dm.org/fgnass/domino.png\n[4]: https://david-dm.org/fgnass/domino\n[5]: https://david-dm.org/fgnass/domino/dev-status.png\n[6]: https://david-dm.org/fgnass/domino#info=devDependencies\n", + "readmeFilename": "README.md", + "bugs": { + "url": "https://github.com/fgnass/domino/issues" + }, + "_id": "domino@1.0.15", + "_from": "domino@1.x.x" +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/domino.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/domino.js new file mode 100644 index 0000000..b83360d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/domino.js @@ -0,0 +1,307 @@ +var domino = require('../lib'); +var fs = require('fs'); +var html = fs.readFileSync(__dirname + '/fixture/doc.html', 'utf8'); + +exports = exports.domino = {}; + +exports.matches = function() { + // see https://developer.mozilla.org/en-US/docs/Web/API/Element.matches + var d = domino.createWindow(html).document; + var h1 = d.getElementById('lorem'); + h1.matches('h1').should.equal(true); + h1.matches('body > h1').should.equal(true); // not rooted + h1.matches('h1 > p').should.equal(false); + h1.matches('h1,h2').should.equal(true); + h1.matches('h2,h1').should.equal(true); +}; + +exports.querySelectorAll = function() { + var window = domino.createWindow(html); + var d = window.document; + var nodeList = d.querySelectorAll('p'); + nodeList.should.have.property('item'); + nodeList.should.have.length(2); + nodeList = d.querySelectorAll('p:not(.foo)'); + nodeList.should.have.length(1); + nodeList = d.querySelectorAll('tt.foo'); + nodeList.should.have.length(2); + nodeList = d.querySelectorAll('tt:not(.bar)'); + nodeList.should.have.length(1); +} + +exports.qsaOrder = function() { + var window = domino.createDocument('

    '); + window.querySelectorAll('h2, h3').map(function(el) { + return el.tagName; + }) + .should.eql(['H2', 'H3', 'H3', 'H2', 'H3']); +} + +exports.orphanQSA = function() { + var document = domino.createDocument('

    foo

    '); + var p = document.createElement('p'); + p.querySelectorAll('p').should.have.length(0); + p.querySelectorAll('p').should.have.length(0); +}; + +exports.gh20 = function() { + var window = domino.createWindow(''); + var frag = window.document.createDocumentFragment(); + frag.querySelectorAll('p').should.have.length(0); + + frag.appendChild(window.document.createElement('p')); + frag.querySelectorAll('p').should.have.length(1); + + frag.appendChild(window.document.createElement('p')); + frag.querySelectorAll('p').should.have.length(2); +}; + +exports.gh22 = function() { + var d=domino.createDocument("

    Hello world

    Hi

    "); + d.querySelectorAll('div').should.have.length(1); + d.body.querySelectorAll('div').should.have.length(1); + d.body.querySelectorAll('h1').should.have.length(1); + d.body.querySelectorAll('p').should.have.length(1); + + var w=domino.createWindow("

    Hello world

    Hi

    "); + d=w.document; + d.querySelectorAll('div').should.have.length(1); + d.body.querySelectorAll('div').should.have.length(1); + d.body.querySelectorAll('h1').should.have.length(1); + d.body.querySelectorAll('p').should.have.length(1); +}; + +exports.gh31 = function() { + var document, heading1, heading2; + + document = domino.createDocument("

    First

    Second

    "); + document.querySelectorAll('h1').should.have.length(2); + heading1 = document.body.querySelector('h1'); + heading1.getElementsByTagName('h1').should.have.length(0); + heading1.querySelectorAll('h1').should.have.length(0); + heading2 = document.body.querySelector('h1 + h1'); + heading2.querySelectorAll('h1').should.have.length(0); +}; + +exports.gh38 = function() { + var d = domino.createDocument('
    Header cellData cell
    '); + var r = d.querySelector('tr'); + r.should.have.property('cells'); + r.cells.should.have.length(2); +}; + +exports.evilHandler = function() { + var window = domino.createDocument(''); +}; + +exports.title = function() { + var d = domino.createDocument(html); + if (d.head) { d.documentElement.removeChild(d.head); } + d.should.have.property('head', null); + d.should.have.property('title', ''); + d.querySelectorAll('head > title').should.have.length(0); + + // per the spec, if there is no , then setting Document.title should + // be a no-op. + d.title = "Lorem!"; + d.title.should.equal(''); + d.querySelectorAll('head > title').should.have.length(0); + + // but if there is a , then setting Document.title should create the + // element if necessary. + d.documentElement.insertBefore(d.createElement('head'), d.body); + d.head.should.not.equal(null); + d.title.should.equal(''); + d.title = "Lorem!"; + d.title.should.equal("Lorem!"); + d.querySelectorAll('head > title').should.have.length(1); + + // verify that setting <title> works if there's already a title + d.title = "ipsum"; + d.title.should.equal("ipsum"); + d.querySelectorAll('head > title').should.have.length(1); // still only 1! +}; + +exports.children = function() { + var d = domino.createDocument(html); + var c = d.body.children; + c.should.have.length(4); + c.should.have.property(0); + var a = Array.prototype.slice.call(c); + a.should.be.an.instanceof(Array); + a.should.have.length(4); + d.body.appendChild(d.createElement('p')); + a = Array.prototype.slice.call(c); + a.should.have.length(5); +} + + +exports.attributes1 = function() { + var d = domino.createDocument(); + var el = d.createElement('div'); + el.setAttribute('foo', 'foo'); + el.setAttribute('bar', 'bar'); + el.attributes.should.have.length(2); + el.attributes.item(0).value.should.equal('foo'); + el.removeAttribute('foo'); + el.attributes.should.have.length(1); + el.attributes.item(0).name.should.equal('bar'); + el.setAttribute('baz', 'baz'); + el.attributes.should.have.length(2); + el.attributes.item(1).value.should.equal('baz'); +} + +exports.classList = function() { + var d = domino.createDocument(); + var el = d.body; + el.className = 'foo bar boo'; + + var cl = el.classList; + cl.should.have.length(3); + cl[0].should.equal('foo'); + cl.contains('bar').should.be.ok; + cl.contains('baz').should.not.be.ok; + cl.add('baz'); + cl.contains('baz').should.be.ok; + cl.should.have.length(4); + el.className.should.match(/baz/); + cl.remove('foo'); + cl.should.have.length(3); + el.className.should.not.match(/foo/); + cl[0].should.not.equal('foo'); +} + +exports.attributes2 = function() { + var d = domino.createDocument(); + var div = d.createElement('div'); + div.setAttribute('onclick', 't'); + div.attributes.should.have.property('onclick'); + div.attributes.onclick.should.have.property('value', 't'); + div.removeAttribute('onclick'); + div.attributes.should.not.have.property('onclick'); +} + +exports.jquery = function() { + var window = domino.createWindow(html); + var f = __dirname + '/fixture/jquery-1.9.1.js'; + window._run(fs.readFileSync(f, 'utf8'), f); + window.$.should.be.ok; + window.$('.foo').should.have.length(3); +} + +exports.treeWalker = function() { + var window = domino.createWindow(html); + var d = window.document; + var root = d.getElementById('tw'); + var tw = d.createTreeWalker(root, window.NodeFilter.SHOW_TEXT); + tw.root.should.equal(root); + tw.currentNode.should.equal(root); + tw.whatToShow.should.equal(0x4); + tw.filter.constructor.should.equal(window.NodeFilter.constructor); + + var actual = []; + while (tw.nextNode() !== null) { + actual.push(tw.currentNode); + } + + actual.should.eql([ + root.firstChild.firstChild, + root.firstChild.lastChild.firstChild, + root.lastChild.firstChild, + root.lastChild.lastChild.firstChild + ]); +} + +exports.innerHTML = function() { + var d = domino.createDocument(); + ['pre','textarea','listing'].forEach(function(elementName) { + var div = d.createElement('div') + var el = d.createElement(elementName); + el.innerHTML = "a"; + div.appendChild(el); + // no extraneous newline after element tag in this case + div.innerHTML.should.equal('<'+elementName+'>a</'+elementName+'>'); + el.innerHTML = "\nb"; + // first newline after element is swallowed. needs two. + div.innerHTML.should.equal('<'+elementName+'>\n\nb</'+elementName+'>'); + }); +} + +exports.outerHTML = function() { + var tests = [ + '<body><pre>\n\na\n</pre></body>', + '<body bgcolor="white"><h1 style="color: red">\nOne\n2 & 3</h1></body>', + '<body data-test="<>&"\'"></body>' + ]; + tests.forEach(function(html) { + var d = domino.createDocument(html); + d.body.outerHTML.should.equal(html); + }); +} + +exports.largeAttribute = function() { + var size = 400000; + // work around a performance regression in node 0.4.x - 0.6.x + if (/^v0\.[0-6]\./.test(process.version)) { size = 50000; } + var html = '<body><span data-large="'; + for (var i=0; i<size; i++) { + html += '&'; + } + html += '"></span></body>'; + // this should not crash with a stack overflow! + domino.createDocument(html); +}; + +exports.createTextNodeWithNonString = function() { + var document = domino.createDocument('<html></html>'); + var tests = [ + [false, 'false'], + [NaN, 'NaN'], + [123, '123'], + [{}, '[object Object]'], + [[], ''], + [null, 'null'], + [undefined, 'undefined'], + ]; + for(var i=0; i<tests.length; i++) { + var element = document.createElement('div'); + var textNode = document.createTextNode(tests[i][0]); + element.appendChild(textNode); + element.innerHTML.should.equal(tests[i][1]); + } +}; + +exports.adoption = function() { + // See https://github.com/fgnass/domino/pull/36 + var html = "<b>X<b>Y</b>Z</b>"; + var doc = domino.createDocument(html); + doc.body.innerHTML.should.equal(html); +}; + +exports.attributeSelector = function() { + var html = '<h1>foo</h1><h2 id="x" title="y" lang="en" dir="ltr" ' + + 'accessKey="z" hidden tabIndex="2">bar</h2>'; + var doc = domino.createDocument(html); + var h1 = doc.querySelector('h1'); + h1.matches('*[id]').should.equal(false); + h1.matches('*[title]').should.equal(false); + h1.matches('*[lang]').should.equal(false); + h1.matches('*[dir]').should.equal(false); + h1.matches('*[accessKey]').should.equal(false); + h1.matches('*[hidden]').should.equal(false); + h1.matches('*[tabIndex]').should.equal(false); + + var h2 = doc.querySelector('h2'); + h2.matches('*[id]').should.equal(true); + h2.matches('*[title]').should.equal(true); + h2.matches('*[lang]').should.equal(true); + h2.matches('*[dir]').should.equal(true); + h2.matches('*[accessKey]').should.equal(true); + h2.matches('*[hidden]').should.equal(true); + h2.matches('*[tabIndex]').should.equal(true); + + h1.matches('*[matches]').should.equal(false); + h1.matches('*[querySelector]').should.equal(false); + + h1.matches('*[isHTML]').should.equal(false); +}; diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/fixture/doc.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/fixture/doc.html new file mode 100644 index 0000000..1174528 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/fixture/doc.html @@ -0,0 +1,13 @@ +<!DOCTYPE html> +<html> +<body> + <h1 id="lorem">Lore Ipsum</h1> + <p> + Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam quis risus eget urna mollis ornare vel eu leo. Donec <a href="https://github.com">git</a> ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue. + </p> + <p class="foo"> + Cras mattis <tt class="foo">consectetur</tt> purus sit amet fermentum. Donec ullamcorper nulla non metus auctor fringilla. Etiam porta sem malesuada magna mollis euismod. Duis mollis, est non commodo luctus, nisi erat porttitor <tt class="foo bar baz">ligula</tt>, eget lacinia odio sem nec elit. Donec ullamcorper nulla non metus auctor fringilla. Donec ullamcorper nulla non metus auctor fringilla. + </p> + <div id="tw"><div id="hello">Hello <em id="world" title="World: The Title">World</em></div><div id="foo" title="Foo: The Title">Foo, <strong id="bar">bar</strong></div></div> +</body> +</html> diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/fixture/jquery-1.9.1.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/fixture/jquery-1.9.1.js new file mode 100644 index 0000000..6362d0f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/fixture/jquery-1.9.1.js @@ -0,0 +1,9597 @@ +/*! + * jQuery JavaScript Library v1.9.1 + * http://jquery.com/ + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * + * Copyright 2005, 2012 jQuery Foundation, Inc. and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2013-2-4 + */ +(function( window, undefined ) { + +// Can't do this because several apps including ASP.NET trace +// the stack via arguments.caller.callee and Firefox dies if +// you try to trace through "use strict" call chains. (#13335) +// Support: Firefox 18+ +//"use strict"; +var + // The deferred used on DOM ready + readyList, + + // A central reference to the root jQuery(document) + rootjQuery, + + // Support: IE<9 + // For `typeof node.method` instead of `node.method !== undefined` + core_strundefined = typeof undefined, + + // Use the correct document accordingly with window argument (sandbox) + document = window.document, + location = window.location, + + // Map over jQuery in case of overwrite + _jQuery = window.jQuery, + + // Map over the $ in case of overwrite + _$ = window.$, + + // [[Class]] -> type pairs + class2type = {}, + + // List of deleted data cache ids, so we can reuse them + core_deletedIds = [], + + core_version = "1.9.1", + + // Save a reference to some core methods + core_concat = core_deletedIds.concat, + core_push = core_deletedIds.push, + core_slice = core_deletedIds.slice, + core_indexOf = core_deletedIds.indexOf, + core_toString = class2type.toString, + core_hasOwn = class2type.hasOwnProperty, + core_trim = core_version.trim, + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + // The jQuery object is actually just the init constructor 'enhanced' + return new jQuery.fn.init( selector, context, rootjQuery ); + }, + + // Used for matching numbers + core_pnum = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, + + // Used for splitting on whitespace + core_rnotwhite = /\S+/g, + + // Make sure we trim BOM and NBSP (here's looking at you, Safari 5.0 and IE) + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, + + // A simple way to check for HTML strings + // Prioritize #id over <tag> to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + rquickExpr = /^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/, + + // Match a standalone tag + rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, + + // JSON RegExp + rvalidchars = /^[\],:{}\s]*$/, + rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g, + rvalidescape = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g, + rvalidtokens = /"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g, + + // Matches dashed string for camelizing + rmsPrefix = /^-ms-/, + rdashAlpha = /-([\da-z])/gi, + + // Used by jQuery.camelCase as callback to replace() + fcamelCase = function( all, letter ) { + return letter.toUpperCase(); + }, + + // The ready event handler + completed = function( event ) { + + // readyState === "complete" is good enough for us to call the dom ready in oldIE + if ( document.addEventListener || event.type === "load" || document.readyState === "complete" ) { + detach(); + jQuery.ready(); + } + }, + // Clean-up method for dom ready events + detach = function() { + if ( document.addEventListener ) { + document.removeEventListener( "DOMContentLoaded", completed, false ); + window.removeEventListener( "load", completed, false ); + + } else { + document.detachEvent( "onreadystatechange", completed ); + window.detachEvent( "onload", completed ); + } + }; + +jQuery.fn = jQuery.prototype = { + // The current version of jQuery being used + jquery: core_version, + + constructor: jQuery, + init: function( selector, context, rootjQuery ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) { + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && (match[1] || !context) ) { + + // HANDLE: $(html) -> $(array) + if ( match[1] ) { + context = context instanceof jQuery ? context[0] : context; + + // scripts is true for back-compat + jQuery.merge( this, jQuery.parseHTML( + match[1], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + // Properties of context are called as methods if possible + if ( jQuery.isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[2] ); + + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE and Opera return items + // by name instead of ID + if ( elem.id !== match[2] ) { + return rootjQuery.find( selector ); + } + + // Otherwise, we inject the element directly into the jQuery object + this.length = 1; + this[0] = elem; + } + + this.context = document; + this.selector = selector; + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || rootjQuery ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this.context = this[0] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return rootjQuery.ready( selector ); + } + + if ( selector.selector !== undefined ) { + this.selector = selector.selector; + this.context = selector.context; + } + + return jQuery.makeArray( selector, this ); + }, + + // Start with an empty selector + selector: "", + + // The default length of a jQuery object is 0 + length: 0, + + // The number of elements contained in the matched element set + size: function() { + return this.length; + }, + + toArray: function() { + return core_slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + return num == null ? + + // Return a 'clean' array + this.toArray() : + + // Return just the object + ( num < 0 ? this[ this.length + num ] : this[ num ] ); + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + ret.context = this.context; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + // (You can seed the arguments with an array of args, but this is + // only used internally.) + each: function( callback, args ) { + return jQuery.each( this, callback, args ); + }, + + ready: function( fn ) { + // Add the callback + jQuery.ready.promise().done( fn ); + + return this; + }, + + slice: function() { + return this.pushStack( core_slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map(this, function( elem, i ) { + return callback.call( elem, i, elem ); + })); + }, + + end: function() { + return this.prevObject || this.constructor(null); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: core_push, + sort: [].sort, + splice: [].splice +}; + +// Give the init function the jQuery prototype for later instantiation +jQuery.fn.init.prototype = jQuery.fn; + +jQuery.extend = jQuery.fn.extend = function() { + var src, copyIsArray, copy, name, options, clone, + target = arguments[0] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + target = arguments[1] || {}; + // skip the boolean and the target + i = 2; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction(target) ) { + target = {}; + } + + // extend jQuery itself if only one argument is passed + if ( length === i ) { + target = this; + --i; + } + + for ( ; i < length; i++ ) { + // Only deal with non-null/undefined values + if ( (options = arguments[ i ]) != null ) { + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { + if ( copyIsArray ) { + copyIsArray = false; + clone = src && jQuery.isArray(src) ? src : []; + + } else { + clone = src && jQuery.isPlainObject(src) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend({ + noConflict: function( deep ) { + if ( window.$ === jQuery ) { + window.$ = _$; + } + + if ( deep && window.jQuery === jQuery ) { + window.jQuery = _jQuery; + } + + return jQuery; + }, + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Hold (or release) the ready event + holdReady: function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } + }, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). + if ( !document.body ) { + return setTimeout( jQuery.ready ); + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + + // Trigger any bound ready events + if ( jQuery.fn.trigger ) { + jQuery( document ).trigger("ready").off("ready"); + } + }, + + // See test/unit/core.js for details concerning isFunction. + // Since version 1.3, DOM methods and functions like alert + // aren't supported. They return false on IE (#2968). + isFunction: function( obj ) { + return jQuery.type(obj) === "function"; + }, + + isArray: Array.isArray || function( obj ) { + return jQuery.type(obj) === "array"; + }, + + isWindow: function( obj ) { + return obj != null && obj == obj.window; + }, + + isNumeric: function( obj ) { + return !isNaN( parseFloat(obj) ) && isFinite( obj ); + }, + + type: function( obj ) { + if ( obj == null ) { + return String( obj ); + } + return typeof obj === "object" || typeof obj === "function" ? + class2type[ core_toString.call(obj) ] || "object" : + typeof obj; + }, + + isPlainObject: function( obj ) { + // Must be an Object. + // Because of IE, we also have to check the presence of the constructor property. + // Make sure that DOM nodes and window objects don't pass through, as well + if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { + return false; + } + + try { + // Not own constructor property must be Object + if ( obj.constructor && + !core_hasOwn.call(obj, "constructor") && + !core_hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { + return false; + } + } catch ( e ) { + // IE8,9 Will throw exceptions on certain host objects #9897 + return false; + } + + // Own properties are enumerated firstly, so to speed up, + // if last one is own, then all properties are own. + + var key; + for ( key in obj ) {} + + return key === undefined || core_hasOwn.call( obj, key ); + }, + + isEmptyObject: function( obj ) { + var name; + for ( name in obj ) { + return false; + } + return true; + }, + + error: function( msg ) { + throw new Error( msg ); + }, + + // data: string of html + // context (optional): If specified, the fragment will be created in this context, defaults to document + // keepScripts (optional): If true, will include scripts passed in the html string + parseHTML: function( data, context, keepScripts ) { + if ( !data || typeof data !== "string" ) { + return null; + } + if ( typeof context === "boolean" ) { + keepScripts = context; + context = false; + } + context = context || document; + + var parsed = rsingleTag.exec( data ), + scripts = !keepScripts && []; + + // Single tag + if ( parsed ) { + return [ context.createElement( parsed[1] ) ]; + } + + parsed = jQuery.buildFragment( [ data ], context, scripts ); + if ( scripts ) { + jQuery( scripts ).remove(); + } + return jQuery.merge( [], parsed.childNodes ); + }, + + parseJSON: function( data ) { + // Attempt to parse using the native JSON parser first + if ( window.JSON && window.JSON.parse ) { + return window.JSON.parse( data ); + } + + if ( data === null ) { + return data; + } + + if ( typeof data === "string" ) { + + // Make sure leading/trailing whitespace is removed (IE can't handle it) + data = jQuery.trim( data ); + + if ( data ) { + // Make sure the incoming data is actual JSON + // Logic borrowed from http://json.org/json2.js + if ( rvalidchars.test( data.replace( rvalidescape, "@" ) + .replace( rvalidtokens, "]" ) + .replace( rvalidbraces, "")) ) { + + return ( new Function( "return " + data ) )(); + } + } + } + + jQuery.error( "Invalid JSON: " + data ); + }, + + // Cross-browser xml parsing + parseXML: function( data ) { + var xml, tmp; + if ( !data || typeof data !== "string" ) { + return null; + } + try { + if ( window.DOMParser ) { // Standard + tmp = new DOMParser(); + xml = tmp.parseFromString( data , "text/xml" ); + } else { // IE + xml = new ActiveXObject( "Microsoft.XMLDOM" ); + xml.async = "false"; + xml.loadXML( data ); + } + } catch( e ) { + xml = undefined; + } + if ( !xml || !xml.documentElement || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; + }, + + noop: function() {}, + + // Evaluates a script in a global context + // Workarounds based on findings by Jim Driscoll + // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context + globalEval: function( data ) { + if ( data && jQuery.trim( data ) ) { + // We use execScript on Internet Explorer + // We use an anonymous function so that context is window + // rather than jQuery in Firefox + ( window.execScript || function( data ) { + window[ "eval" ].call( window, data ); + } )( data ); + } + }, + + // Convert dashed to camelCase; used by the css and data modules + // Microsoft forgot to hump their vendor prefix (#9572) + camelCase: function( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + }, + + // args is for internal usage only + each: function( obj, callback, args ) { + var value, + i = 0, + length = obj.length, + isArray = isArraylike( obj ); + + if ( args ) { + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback.apply( obj[ i ], args ); + + if ( value === false ) { + break; + } + } + } else { + for ( i in obj ) { + value = callback.apply( obj[ i ], args ); + + if ( value === false ) { + break; + } + } + } + + // A special, fast, case for the most common use of each + } else { + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback.call( obj[ i ], i, obj[ i ] ); + + if ( value === false ) { + break; + } + } + } else { + for ( i in obj ) { + value = callback.call( obj[ i ], i, obj[ i ] ); + + if ( value === false ) { + break; + } + } + } + } + + return obj; + }, + + // Use native String.trim function wherever possible + trim: core_trim && !core_trim.call("\uFEFF\xA0") ? + function( text ) { + return text == null ? + "" : + core_trim.call( text ); + } : + + // Otherwise use our own trimming functionality + function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArraylike( Object(arr) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + core_push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + var len; + + if ( arr ) { + if ( core_indexOf ) { + return core_indexOf.call( arr, elem, i ); + } + + len = arr.length; + i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0; + + for ( ; i < len; i++ ) { + // Skip accessing in sparse arrays + if ( i in arr && arr[ i ] === elem ) { + return i; + } + } + } + + return -1; + }, + + merge: function( first, second ) { + var l = second.length, + i = first.length, + j = 0; + + if ( typeof l === "number" ) { + for ( ; j < l; j++ ) { + first[ i++ ] = second[ j ]; + } + } else { + while ( second[j] !== undefined ) { + first[ i++ ] = second[ j++ ]; + } + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, inv ) { + var retVal, + ret = [], + i = 0, + length = elems.length; + inv = !!inv; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + retVal = !!callback( elems[ i ], i ); + if ( inv !== retVal ) { + ret.push( elems[ i ] ); + } + } + + return ret; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var value, + i = 0, + length = elems.length, + isArray = isArraylike( elems ), + ret = []; + + // Go through the array, translating each of the items to their + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret[ ret.length ] = value; + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret[ ret.length ] = value; + } + } + } + + // Flatten any nested arrays + return core_concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // Bind a function to a context, optionally partially applying any + // arguments. + proxy: function( fn, context ) { + var args, proxy, tmp; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !jQuery.isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = core_slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( core_slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; + }, + + // Multifunctional method to get and set values of a collection + // The value/s can optionally be executed if it's a function + access: function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + length = elems.length, + bulk = key == null; + + // Sets many values + if ( jQuery.type( key ) === "object" ) { + chainable = true; + for ( i in key ) { + jQuery.access( elems, fn, i, key[i], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !jQuery.isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < length; i++ ) { + fn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) ); + } + } + } + + return chainable ? + elems : + + // Gets + bulk ? + fn.call( elems ) : + length ? fn( elems[0], key ) : emptyGet; + }, + + now: function() { + return ( new Date() ).getTime(); + } +}); + +jQuery.ready.promise = function( obj ) { + if ( !readyList ) { + + readyList = jQuery.Deferred(); + + // Catch cases where $(document).ready() is called after the browser event has already occurred. + // we once tried to use readyState "interactive" here, but it caused issues like the one + // discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15 + if ( document.readyState === "complete" ) { + // Handle it asynchronously to allow scripts the opportunity to delay ready + setTimeout( jQuery.ready ); + + // Standards-based browsers support DOMContentLoaded + } else if ( document.addEventListener ) { + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed, false ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed, false ); + + // If IE event model is used + } else { + // Ensure firing before onload, maybe late but safe also for iframes + document.attachEvent( "onreadystatechange", completed ); + + // A fallback to window.onload, that will always work + window.attachEvent( "onload", completed ); + + // If IE and not a frame + // continually check to see if the document is ready + var top = false; + + try { + top = window.frameElement == null && document.documentElement; + } catch(e) {} + + if ( top && top.doScroll ) { + (function doScrollCheck() { + if ( !jQuery.isReady ) { + + try { + // Use the trick by Diego Perini + // http://javascript.nwbox.com/IEContentLoaded/ + top.doScroll("left"); + } catch(e) { + return setTimeout( doScrollCheck, 50 ); + } + + // detach all dom ready events + detach(); + + // and execute any waiting functions + jQuery.ready(); + } + })(); + } + } + } + return readyList.promise( obj ); +}; + +// Populate the class2type map +jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +}); + +function isArraylike( obj ) { + var length = obj.length, + type = jQuery.type( obj ); + + if ( jQuery.isWindow( obj ) ) { + return false; + } + + if ( obj.nodeType === 1 && length ) { + return true; + } + + return type === "array" || type !== "function" && + ( length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj ); +} + +// All jQuery objects should point back to these +rootjQuery = jQuery(document); +// String to Object options format cache +var optionsCache = {}; + +// Convert String-formatted options into Object-formatted ones and store in cache +function createOptions( options ) { + var object = optionsCache[ options ] = {}; + jQuery.each( options.match( core_rnotwhite ) || [], function( _, flag ) { + object[ flag ] = true; + }); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + ( optionsCache[ options ] || createOptions( options ) ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + // Last fire value (for non-forgettable lists) + memory, + // Flag to know if list was already fired + fired, + // End of the loop when firing + firingLength, + // Index of currently firing callback (modified by remove if needed) + firingIndex, + // First callback to fire (used internally by add and fireWith) + firingStart, + // Actual callback list + list = [], + // Stack of fire calls for repeatable lists + stack = !options.once && [], + // Fire callbacks + fire = function( data ) { + memory = options.memory && data; + fired = true; + firingIndex = firingStart || 0; + firingStart = 0; + firingLength = list.length; + firing = true; + for ( ; list && firingIndex < firingLength; firingIndex++ ) { + if ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) { + memory = false; // To prevent further calls using add + break; + } + } + firing = false; + if ( list ) { + if ( stack ) { + if ( stack.length ) { + fire( stack.shift() ); + } + } else if ( memory ) { + list = []; + } else { + self.disable(); + } + } + }, + // Actual Callbacks object + self = { + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + // First, we save the current length + var start = list.length; + (function add( args ) { + jQuery.each( args, function( _, arg ) { + var type = jQuery.type( arg ); + if ( type === "function" ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && type !== "string" ) { + // Inspect recursively + add( arg ); + } + }); + })( arguments ); + // Do we need to add the callbacks to the + // current firing batch? + if ( firing ) { + firingLength = list.length; + // With memory, if we're not firing then + // we should call right away + } else if ( memory ) { + firingStart = start; + fire( memory ); + } + } + return this; + }, + // Remove a callback from the list + remove: function() { + if ( list ) { + jQuery.each( arguments, function( _, arg ) { + var index; + while( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + // Handle firing indexes + if ( firing ) { + if ( index <= firingLength ) { + firingLength--; + } + if ( index <= firingIndex ) { + firingIndex--; + } + } + } + }); + } + return this; + }, + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? jQuery.inArray( fn, list ) > -1 : !!( list && list.length ); + }, + // Remove all callbacks from the list + empty: function() { + list = []; + return this; + }, + // Have the list do nothing anymore + disable: function() { + list = stack = memory = undefined; + return this; + }, + // Is it disabled? + disabled: function() { + return !list; + }, + // Lock the list in its current state + lock: function() { + stack = undefined; + if ( !memory ) { + self.disable(); + } + return this; + }, + // Is it locked? + locked: function() { + return !stack; + }, + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + if ( list && ( !fired || stack ) ) { + if ( firing ) { + stack.push( args ); + } else { + fire( args ); + } + } + return this; + }, + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; +jQuery.extend({ + + Deferred: function( func ) { + var tuples = [ + // action, add listener, listener list, final state + [ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ], + [ "reject", "fail", jQuery.Callbacks("once memory"), "rejected" ], + [ "notify", "progress", jQuery.Callbacks("memory") ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + then: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + return jQuery.Deferred(function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + var action = tuple[ 0 ], + fn = jQuery.isFunction( fns[ i ] ) && fns[ i ]; + // deferred[ done | fail | progress ] for forwarding actions to newDefer + deferred[ tuple[1] ](function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && jQuery.isFunction( returned.promise ) ) { + returned.promise() + .done( newDefer.resolve ) + .fail( newDefer.reject ) + .progress( newDefer.notify ); + } else { + newDefer[ action + "With" ]( this === promise ? newDefer.promise() : this, fn ? [ returned ] : arguments ); + } + }); + }); + fns = null; + }).promise(); + }, + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Keep pipe for back-compat + promise.pipe = promise.then; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 3 ]; + + // promise[ done | fail | progress ] = list.add + promise[ tuple[1] ] = list.add; + + // Handle state + if ( stateString ) { + list.add(function() { + // state = [ resolved | rejected ] + state = stateString; + + // [ reject_list | resolve_list ].disable; progress_list.lock + }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock ); + } + + // deferred[ resolve | reject | notify ] + deferred[ tuple[0] ] = function() { + deferred[ tuple[0] + "With" ]( this === deferred ? promise : this, arguments ); + return this; + }; + deferred[ tuple[0] + "With" ] = list.fireWith; + }); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( subordinate /* , ..., subordinateN */ ) { + var i = 0, + resolveValues = core_slice.call( arguments ), + length = resolveValues.length, + + // the count of uncompleted subordinates + remaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0, + + // the master Deferred. If resolveValues consist of only a single Deferred, just use that. + deferred = remaining === 1 ? subordinate : jQuery.Deferred(), + + // Update function for both resolve and progress values + updateFunc = function( i, contexts, values ) { + return function( value ) { + contexts[ i ] = this; + values[ i ] = arguments.length > 1 ? core_slice.call( arguments ) : value; + if( values === progressValues ) { + deferred.notifyWith( contexts, values ); + } else if ( !( --remaining ) ) { + deferred.resolveWith( contexts, values ); + } + }; + }, + + progressValues, progressContexts, resolveContexts; + + // add listeners to Deferred subordinates; treat others as resolved + if ( length > 1 ) { + progressValues = new Array( length ); + progressContexts = new Array( length ); + resolveContexts = new Array( length ); + for ( ; i < length; i++ ) { + if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) { + resolveValues[ i ].promise() + .done( updateFunc( i, resolveContexts, resolveValues ) ) + .fail( deferred.reject ) + .progress( updateFunc( i, progressContexts, progressValues ) ); + } else { + --remaining; + } + } + } + + // if we're not waiting on anything, resolve the master + if ( !remaining ) { + deferred.resolveWith( resolveContexts, resolveValues ); + } + + return deferred.promise(); + } +}); +jQuery.support = (function() { + + var support, all, a, + input, select, fragment, + opt, eventName, isSupported, i, + div = document.createElement("div"); + + // Setup + div.setAttribute( "className", "t" ); + div.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>"; + + // Support tests won't run in some limited or non-browser environments + all = div.getElementsByTagName("*"); + a = div.getElementsByTagName("a")[ 0 ]; + if ( !all || !a || !all.length ) { + return {}; + } + + // First batch of tests + select = document.createElement("select"); + opt = select.appendChild( document.createElement("option") ); + input = div.getElementsByTagName("input")[ 0 ]; + + a.style.cssText = "top:1px;float:left;opacity:.5"; + support = { + // Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7) + getSetAttribute: div.className !== "t", + + // IE strips leading whitespace when .innerHTML is used + leadingWhitespace: div.firstChild.nodeType === 3, + + // Make sure that tbody elements aren't automatically inserted + // IE will insert them into empty tables + tbody: !div.getElementsByTagName("tbody").length, + + // Make sure that link elements get serialized correctly by innerHTML + // This requires a wrapper element in IE + htmlSerialize: !!div.getElementsByTagName("link").length, + + // Get the style information from getAttribute + // (IE uses .cssText instead) + style: /top/.test( a.getAttribute("style") ), + + // Make sure that URLs aren't manipulated + // (IE normalizes it by default) + hrefNormalized: a.getAttribute("href") === "/a", + + // Make sure that element opacity exists + // (IE uses filter instead) + // Use a regex to work around a WebKit issue. See #5145 + opacity: /^0.5/.test( a.style.opacity ), + + // Verify style float existence + // (IE uses styleFloat instead of cssFloat) + cssFloat: !!a.style.cssFloat, + + // Check the default checkbox/radio value ("" on WebKit; "on" elsewhere) + checkOn: !!input.value, + + // Make sure that a selected-by-default option has a working selected property. + // (WebKit defaults to false instead of true, IE too, if it's in an optgroup) + optSelected: opt.selected, + + // Tests for enctype support on a form (#6743) + enctype: !!document.createElement("form").enctype, + + // Makes sure cloning an html5 element does not cause problems + // Where outerHTML is undefined, this still works + html5Clone: document.createElement("nav").cloneNode( true ).outerHTML !== "<:nav></:nav>", + + // jQuery.support.boxModel DEPRECATED in 1.8 since we don't support Quirks Mode + boxModel: document.compatMode === "CSS1Compat", + + // Will be defined later + deleteExpando: true, + noCloneEvent: true, + inlineBlockNeedsLayout: false, + shrinkWrapBlocks: false, + reliableMarginRight: true, + boxSizingReliable: true, + pixelPosition: false + }; + + // Make sure checked status is properly cloned + input.checked = true; + support.noCloneChecked = input.cloneNode( true ).checked; + + // Make sure that the options inside disabled selects aren't marked as disabled + // (WebKit marks them as disabled) + select.disabled = true; + support.optDisabled = !opt.disabled; + + // Support: IE<9 + try { + delete div.test; + } catch( e ) { + support.deleteExpando = false; + } + + // Check if we can trust getAttribute("value") + input = document.createElement("input"); + input.setAttribute( "value", "" ); + support.input = input.getAttribute( "value" ) === ""; + + // Check if an input maintains its value after becoming a radio + input.value = "t"; + input.setAttribute( "type", "radio" ); + support.radioValue = input.value === "t"; + + // #11217 - WebKit loses check when the name is after the checked attribute + input.setAttribute( "checked", "t" ); + input.setAttribute( "name", "t" ); + + fragment = document.createDocumentFragment(); + fragment.appendChild( input ); + + // Check if a disconnected checkbox will retain its checked + // value of true after appended to the DOM (IE6/7) + support.appendChecked = input.checked; + + // WebKit doesn't clone checked state correctly in fragments + support.checkClone = fragment.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE<9 + // Opera does not clone events (and typeof div.attachEvent === undefined). + // IE9-10 clones events bound via attachEvent, but they don't trigger with .click() + if ( div.attachEvent ) { + div.attachEvent( "onclick", function() { + support.noCloneEvent = false; + }); + + div.cloneNode( true ).click(); + } + + // Support: IE<9 (lack submit/change bubble), Firefox 17+ (lack focusin event) + // Beware of CSP restrictions (https://developer.mozilla.org/en/Security/CSP), test/csp.php + for ( i in { submit: true, change: true, focusin: true }) { + div.setAttribute( eventName = "on" + i, "t" ); + + support[ i + "Bubbles" ] = eventName in window || div.attributes[ eventName ].expando === false; + } + + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + // Run tests that need a body at doc ready + jQuery(function() { + var container, marginDiv, tds, + divReset = "padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;", + body = document.getElementsByTagName("body")[0]; + + if ( !body ) { + // Return for frameset docs that don't have a body + return; + } + + container = document.createElement("div"); + container.style.cssText = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px"; + + body.appendChild( container ).appendChild( div ); + + // Support: IE8 + // Check if table cells still have offsetWidth/Height when they are set + // to display:none and there are still other visible table cells in a + // table row; if so, offsetWidth/Height are not reliable for use when + // determining if an element has been hidden directly using + // display:none (it is still safe to use offsets if a parent element is + // hidden; don safety goggles and see bug #4512 for more information). + div.innerHTML = "<table><tr><td></td><td>t</td></tr></table>"; + tds = div.getElementsByTagName("td"); + tds[ 0 ].style.cssText = "padding:0;margin:0;border:0;display:none"; + isSupported = ( tds[ 0 ].offsetHeight === 0 ); + + tds[ 0 ].style.display = ""; + tds[ 1 ].style.display = "none"; + + // Support: IE8 + // Check if empty table cells still have offsetWidth/Height + support.reliableHiddenOffsets = isSupported && ( tds[ 0 ].offsetHeight === 0 ); + + // Check box-sizing and margin behavior + div.innerHTML = ""; + div.style.cssText = "box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;"; + support.boxSizing = ( div.offsetWidth === 4 ); + support.doesNotIncludeMarginInBodyOffset = ( body.offsetTop !== 1 ); + + // Use window.getComputedStyle because jsdom on node.js will break without it. + if ( window.getComputedStyle ) { + support.pixelPosition = ( window.getComputedStyle( div, null ) || {} ).top !== "1%"; + support.boxSizingReliable = ( window.getComputedStyle( div, null ) || { width: "4px" } ).width === "4px"; + + // Check if div with explicit width and no margin-right incorrectly + // gets computed margin-right based on width of container. (#3333) + // Fails in WebKit before Feb 2011 nightlies + // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right + marginDiv = div.appendChild( document.createElement("div") ); + marginDiv.style.cssText = div.style.cssText = divReset; + marginDiv.style.marginRight = marginDiv.style.width = "0"; + div.style.width = "1px"; + + support.reliableMarginRight = + !parseFloat( ( window.getComputedStyle( marginDiv, null ) || {} ).marginRight ); + } + + if ( typeof div.style.zoom !== core_strundefined ) { + // Support: IE<8 + // Check if natively block-level elements act like inline-block + // elements when setting their display to 'inline' and giving + // them layout + div.innerHTML = ""; + div.style.cssText = divReset + "width:1px;padding:1px;display:inline;zoom:1"; + support.inlineBlockNeedsLayout = ( div.offsetWidth === 3 ); + + // Support: IE6 + // Check if elements with layout shrink-wrap their children + div.style.display = "block"; + div.innerHTML = "<div></div>"; + div.firstChild.style.width = "5px"; + support.shrinkWrapBlocks = ( div.offsetWidth !== 3 ); + + if ( support.inlineBlockNeedsLayout ) { + // Prevent IE 6 from affecting layout for positioned elements #11048 + // Prevent IE from shrinking the body in IE 7 mode #12869 + // Support: IE<8 + body.style.zoom = 1; + } + } + + body.removeChild( container ); + + // Null elements to avoid leaks in IE + container = div = tds = marginDiv = null; + }); + + // Null elements to avoid leaks in IE + all = select = fragment = opt = a = input = null; + + return support; +})(); + +var rbrace = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/, + rmultiDash = /([A-Z])/g; + +function internalData( elem, name, data, pvt /* Internal Use Only */ ){ + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var thisCache, ret, + internalKey = jQuery.expando, + getByName = typeof name === "string", + + // We have to handle DOM nodes and JS objects differently because IE6-7 + // can't GC object references properly across the DOM-JS boundary + isNode = elem.nodeType, + + // Only DOM nodes need the global jQuery cache; JS object data is + // attached directly to the object so GC can occur automatically + cache = isNode ? jQuery.cache : elem, + + // Only defining an ID for JS objects if its cache already exists allows + // the code to shortcut on the same path as a DOM node with no cache + id = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey; + + // Avoid doing any more work than we need to when trying to get data on an + // object that has no data at all + if ( (!id || !cache[id] || (!pvt && !cache[id].data)) && getByName && data === undefined ) { + return; + } + + if ( !id ) { + // Only DOM nodes need a new unique ID for each element since their data + // ends up in the global cache + if ( isNode ) { + elem[ internalKey ] = id = core_deletedIds.pop() || jQuery.guid++; + } else { + id = internalKey; + } + } + + if ( !cache[ id ] ) { + cache[ id ] = {}; + + // Avoids exposing jQuery metadata on plain JS objects when the object + // is serialized using JSON.stringify + if ( !isNode ) { + cache[ id ].toJSON = jQuery.noop; + } + } + + // An object can be passed to jQuery.data instead of a key/value pair; this gets + // shallow copied over onto the existing cache + if ( typeof name === "object" || typeof name === "function" ) { + if ( pvt ) { + cache[ id ] = jQuery.extend( cache[ id ], name ); + } else { + cache[ id ].data = jQuery.extend( cache[ id ].data, name ); + } + } + + thisCache = cache[ id ]; + + // jQuery data() is stored in a separate object inside the object's internal data + // cache in order to avoid key collisions between internal data and user-defined + // data. + if ( !pvt ) { + if ( !thisCache.data ) { + thisCache.data = {}; + } + + thisCache = thisCache.data; + } + + if ( data !== undefined ) { + thisCache[ jQuery.camelCase( name ) ] = data; + } + + // Check for both converted-to-camel and non-converted data property names + // If a data property was specified + if ( getByName ) { + + // First Try to find as-is property data + ret = thisCache[ name ]; + + // Test for null|undefined property data + if ( ret == null ) { + + // Try to find the camelCased property + ret = thisCache[ jQuery.camelCase( name ) ]; + } + } else { + ret = thisCache; + } + + return ret; +} + +function internalRemoveData( elem, name, pvt ) { + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var i, l, thisCache, + isNode = elem.nodeType, + + // See jQuery.data for more information + cache = isNode ? jQuery.cache : elem, + id = isNode ? elem[ jQuery.expando ] : jQuery.expando; + + // If there is already no cache entry for this object, there is no + // purpose in continuing + if ( !cache[ id ] ) { + return; + } + + if ( name ) { + + thisCache = pvt ? cache[ id ] : cache[ id ].data; + + if ( thisCache ) { + + // Support array or space separated string names for data keys + if ( !jQuery.isArray( name ) ) { + + // try the string as a key before any manipulation + if ( name in thisCache ) { + name = [ name ]; + } else { + + // split the camel cased version by spaces unless a key with the spaces exists + name = jQuery.camelCase( name ); + if ( name in thisCache ) { + name = [ name ]; + } else { + name = name.split(" "); + } + } + } else { + // If "name" is an array of keys... + // When data is initially created, via ("key", "val") signature, + // keys will be converted to camelCase. + // Since there is no way to tell _how_ a key was added, remove + // both plain key and camelCase key. #12786 + // This will only penalize the array argument path. + name = name.concat( jQuery.map( name, jQuery.camelCase ) ); + } + + for ( i = 0, l = name.length; i < l; i++ ) { + delete thisCache[ name[i] ]; + } + + // If there is no data left in the cache, we want to continue + // and let the cache object itself get destroyed + if ( !( pvt ? isEmptyDataObject : jQuery.isEmptyObject )( thisCache ) ) { + return; + } + } + } + + // See jQuery.data for more information + if ( !pvt ) { + delete cache[ id ].data; + + // Don't destroy the parent cache unless the internal data object + // had been the only thing left in it + if ( !isEmptyDataObject( cache[ id ] ) ) { + return; + } + } + + // Destroy the cache + if ( isNode ) { + jQuery.cleanData( [ elem ], true ); + + // Use delete when supported for expandos or `cache` is not a window per isWindow (#10080) + } else if ( jQuery.support.deleteExpando || cache != cache.window ) { + delete cache[ id ]; + + // When all else fails, null + } else { + cache[ id ] = null; + } +} + +jQuery.extend({ + cache: {}, + + // Unique for each copy of jQuery on the page + // Non-digits removed to match rinlinejQuery + expando: "jQuery" + ( core_version + Math.random() ).replace( /\D/g, "" ), + + // The following elements throw uncatchable exceptions if you + // attempt to add expando properties to them. + noData: { + "embed": true, + // Ban all objects except for Flash (which handle expandos) + "object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", + "applet": true + }, + + hasData: function( elem ) { + elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ]; + return !!elem && !isEmptyDataObject( elem ); + }, + + data: function( elem, name, data ) { + return internalData( elem, name, data ); + }, + + removeData: function( elem, name ) { + return internalRemoveData( elem, name ); + }, + + // For internal use only. + _data: function( elem, name, data ) { + return internalData( elem, name, data, true ); + }, + + _removeData: function( elem, name ) { + return internalRemoveData( elem, name, true ); + }, + + // A method for determining if a DOM node can handle the data expando + acceptData: function( elem ) { + // Do not set data on non-element because it will not be cleared (#8335). + if ( elem.nodeType && elem.nodeType !== 1 && elem.nodeType !== 9 ) { + return false; + } + + var noData = elem.nodeName && jQuery.noData[ elem.nodeName.toLowerCase() ]; + + // nodes accept data unless otherwise specified; rejection can be conditional + return !noData || noData !== true && elem.getAttribute("classid") === noData; + } +}); + +jQuery.fn.extend({ + data: function( key, value ) { + var attrs, name, + elem = this[0], + i = 0, + data = null; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = jQuery.data( elem ); + + if ( elem.nodeType === 1 && !jQuery._data( elem, "parsedAttrs" ) ) { + attrs = elem.attributes; + for ( ; i < attrs.length; i++ ) { + name = attrs[i].name; + + if ( !name.indexOf( "data-" ) ) { + name = jQuery.camelCase( name.slice(5) ); + + dataAttr( elem, name, data[ name ] ); + } + } + jQuery._data( elem, "parsedAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each(function() { + jQuery.data( this, key ); + }); + } + + return jQuery.access( this, function( value ) { + + if ( value === undefined ) { + // Try to fetch any internally stored data first + return elem ? dataAttr( elem, key, jQuery.data( elem, key ) ) : null; + } + + this.each(function() { + jQuery.data( this, key, value ); + }); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each(function() { + jQuery.removeData( this, key ); + }); + } +}); + +function dataAttr( elem, key, data ) { + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + + var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase(); + + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = data === "true" ? true : + data === "false" ? false : + data === "null" ? null : + // Only convert to a number if it doesn't change the string + +data + "" === data ? +data : + rbrace.test( data ) ? jQuery.parseJSON( data ) : + data; + } catch( e ) {} + + // Make sure we set the data so it isn't changed later + jQuery.data( elem, key, data ); + + } else { + data = undefined; + } + } + + return data; +} + +// checks a cache object for emptiness +function isEmptyDataObject( obj ) { + var name; + for ( name in obj ) { + + // if the public data object is empty, the private is still empty + if ( name === "data" && jQuery.isEmptyObject( obj[name] ) ) { + continue; + } + if ( name !== "toJSON" ) { + return false; + } + } + + return true; +} +jQuery.extend({ + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = jQuery._data( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || jQuery.isArray(data) ) { + queue = jQuery._data( elem, type, jQuery.makeArray(data) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + hooks.cur = fn; + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // not intended for public consumption - generates a queueHooks object, or returns the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return jQuery._data( elem, key ) || jQuery._data( elem, key, { + empty: jQuery.Callbacks("once memory").add(function() { + jQuery._removeData( elem, type + "queue" ); + jQuery._removeData( elem, key ); + }) + }); + } +}); + +jQuery.fn.extend({ + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[0], type ); + } + + return data === undefined ? + this : + this.each(function() { + var queue = jQuery.queue( this, type, data ); + + // ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[0] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + }); + }, + dequeue: function( type ) { + return this.each(function() { + jQuery.dequeue( this, type ); + }); + }, + // Based off of the plugin by Clint Helfers, with permission. + // http://blindsignals.com/index.php/2009/07/jquery-delay/ + delay: function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = setTimeout( next, time ); + hooks.stop = function() { + clearTimeout( timeout ); + }; + }); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while( i-- ) { + tmp = jQuery._data( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +}); +var nodeHook, boolHook, + rclass = /[\t\r\n]/g, + rreturn = /\r/g, + rfocusable = /^(?:input|select|textarea|button|object)$/i, + rclickable = /^(?:a|area)$/i, + rboolean = /^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i, + ruseDefault = /^(?:checked|selected)$/i, + getSetAttribute = jQuery.support.getSetAttribute, + getSetInput = jQuery.support.input; + +jQuery.fn.extend({ + attr: function( name, value ) { + return jQuery.access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each(function() { + jQuery.removeAttr( this, name ); + }); + }, + + prop: function( name, value ) { + return jQuery.access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + name = jQuery.propFix[ name ] || name; + return this.each(function() { + // try/catch handles cases where IE balks (such as removing a property on window) + try { + this[ name ] = undefined; + delete this[ name ]; + } catch( e ) {} + }); + }, + + addClass: function( value ) { + var classes, elem, cur, clazz, j, + i = 0, + len = this.length, + proceed = typeof value === "string" && value; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( j ) { + jQuery( this ).addClass( value.call( this, j, this.className ) ); + }); + } + + if ( proceed ) { + // The disjunction here is for better compressibility (see removeClass) + classes = ( value || "" ).match( core_rnotwhite ) || []; + + for ( ; i < len; i++ ) { + elem = this[ i ]; + cur = elem.nodeType === 1 && ( elem.className ? + ( " " + elem.className + " " ).replace( rclass, " " ) : + " " + ); + + if ( cur ) { + j = 0; + while ( (clazz = classes[j++]) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + elem.className = jQuery.trim( cur ); + + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, clazz, j, + i = 0, + len = this.length, + proceed = arguments.length === 0 || typeof value === "string" && value; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( j ) { + jQuery( this ).removeClass( value.call( this, j, this.className ) ); + }); + } + if ( proceed ) { + classes = ( value || "" ).match( core_rnotwhite ) || []; + + for ( ; i < len; i++ ) { + elem = this[ i ]; + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( elem.className ? + ( " " + elem.className + " " ).replace( rclass, " " ) : + "" + ); + + if ( cur ) { + j = 0; + while ( (clazz = classes[j++]) ) { + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) >= 0 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + elem.className = value ? jQuery.trim( cur ) : ""; + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isBool = typeof stateVal === "boolean"; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( i ) { + jQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal ); + }); + } + + return this.each(function() { + if ( type === "string" ) { + // toggle individual class names + var className, + i = 0, + self = jQuery( this ), + state = stateVal, + classNames = value.match( core_rnotwhite ) || []; + + while ( (className = classNames[ i++ ]) ) { + // check each className given, space separated list + state = isBool ? state : !self.hasClass( className ); + self[ state ? "addClass" : "removeClass" ]( className ); + } + + // Toggle whole class name + } else if ( type === core_strundefined || type === "boolean" ) { + if ( this.className ) { + // store className if set + jQuery._data( this, "__className__", this.className ); + } + + // If the element has a class name or if we're passed "false", + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || ""; + } + }); + }, + + hasClass: function( selector ) { + var className = " " + selector + " ", + i = 0, + l = this.length; + for ( ; i < l; i++ ) { + if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) >= 0 ) { + return true; + } + } + + return false; + }, + + val: function( value ) { + var ret, hooks, isFunction, + elem = this[0]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) { + return ret; + } + + ret = elem.value; + + return typeof ret === "string" ? + // handle most common string cases + ret.replace(rreturn, "") : + // handle cases where value is null/undef or number + ret == null ? "" : ret; + } + + return; + } + + isFunction = jQuery.isFunction( value ); + + return this.each(function( i ) { + var val, + self = jQuery(this); + + if ( this.nodeType !== 1 ) { + return; + } + + if ( isFunction ) { + val = value.call( this, i, self.val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + } else if ( typeof val === "number" ) { + val += ""; + } else if ( jQuery.isArray( val ) ) { + val = jQuery.map(val, function ( value ) { + return value == null ? "" : value + ""; + }); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + }); + } +}); + +jQuery.extend({ + valHooks: { + option: { + get: function( elem ) { + // attributes.value is undefined in Blackberry 4.7 but + // uses .value. See #6932 + var val = elem.attributes.value; + return !val || val.specified ? elem.value : elem.text; + } + }, + select: { + get: function( elem ) { + var value, option, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one" || index < 0, + values = one ? null : [], + max = one ? index + 1 : options.length, + i = index < 0 ? + max : + one ? index : 0; + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // oldIE doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + // Don't return options that are disabled or in a disabled optgroup + ( jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null ) && + ( !option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var values = jQuery.makeArray( value ); + + jQuery(elem).find("option").each(function() { + this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0; + }); + + if ( !values.length ) { + elem.selectedIndex = -1; + } + return values; + } + } + }, + + attr: function( elem, name, value ) { + var hooks, notxml, ret, + nType = elem.nodeType; + + // don't get/set attributes on text, comment and attribute nodes + if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === core_strundefined ) { + return jQuery.prop( elem, name, value ); + } + + notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); + + // All attributes are lowercase + // Grab necessary hook if one is defined + if ( notxml ) { + name = name.toLowerCase(); + hooks = jQuery.attrHooks[ name ] || ( rboolean.test( name ) ? boolHook : nodeHook ); + } + + if ( value !== undefined ) { + + if ( value === null ) { + jQuery.removeAttr( elem, name ); + + } else if ( hooks && notxml && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) { + return ret; + + } else { + elem.setAttribute( name, value + "" ); + return value; + } + + } else if ( hooks && notxml && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) { + return ret; + + } else { + + // In IE9+, Flash objects don't have .getAttribute (#12945) + // Support: IE9+ + if ( typeof elem.getAttribute !== core_strundefined ) { + ret = elem.getAttribute( name ); + } + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? + undefined : + ret; + } + }, + + removeAttr: function( elem, value ) { + var name, propName, + i = 0, + attrNames = value && value.match( core_rnotwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( (name = attrNames[i++]) ) { + propName = jQuery.propFix[ name ] || name; + + // Boolean attributes get special treatment (#10870) + if ( rboolean.test( name ) ) { + // Set corresponding property to false for boolean attributes + // Also clear defaultChecked/defaultSelected (if appropriate) for IE<8 + if ( !getSetAttribute && ruseDefault.test( name ) ) { + elem[ jQuery.camelCase( "default-" + name ) ] = + elem[ propName ] = false; + } else { + elem[ propName ] = false; + } + + // See #9699 for explanation of this approach (setting first, then removal) + } else { + jQuery.attr( elem, name, "" ); + } + + elem.removeAttribute( getSetAttribute ? name : propName ); + } + } + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !jQuery.support.radioValue && value === "radio" && jQuery.nodeName(elem, "input") ) { + // Setting the type on a radio button after the value resets the value in IE6-9 + // Reset value to default in case type is set after value during creation + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + propFix: { + tabindex: "tabIndex", + readonly: "readOnly", + "for": "htmlFor", + "class": "className", + maxlength: "maxLength", + cellspacing: "cellSpacing", + cellpadding: "cellPadding", + rowspan: "rowSpan", + colspan: "colSpan", + usemap: "useMap", + frameborder: "frameBorder", + contenteditable: "contentEditable" + }, + + prop: function( elem, name, value ) { + var ret, hooks, notxml, + nType = elem.nodeType; + + // don't get/set properties on text, comment and attribute nodes + if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); + + if ( notxml ) { + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) { + return ret; + + } else { + return ( elem[ name ] = value ); + } + + } else { + if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) { + return ret; + + } else { + return elem[ name ]; + } + } + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set + // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + var attributeNode = elem.getAttributeNode("tabindex"); + + return attributeNode && attributeNode.specified ? + parseInt( attributeNode.value, 10 ) : + rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ? + 0 : + undefined; + } + } + } +}); + +// Hook for boolean attributes +boolHook = { + get: function( elem, name ) { + var + // Use .prop to determine if this attribute is understood as boolean + prop = jQuery.prop( elem, name ), + + // Fetch it accordingly + attr = typeof prop === "boolean" && elem.getAttribute( name ), + detail = typeof prop === "boolean" ? + + getSetInput && getSetAttribute ? + attr != null : + // oldIE fabricates an empty string for missing boolean attributes + // and conflates checked/selected into attroperties + ruseDefault.test( name ) ? + elem[ jQuery.camelCase( "default-" + name ) ] : + !!attr : + + // fetch an attribute node for properties not recognized as boolean + elem.getAttributeNode( name ); + + return detail && detail.value !== false ? + name.toLowerCase() : + undefined; + }, + set: function( elem, value, name ) { + if ( value === false ) { + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else if ( getSetInput && getSetAttribute || !ruseDefault.test( name ) ) { + // IE<8 needs the *property* name + elem.setAttribute( !getSetAttribute && jQuery.propFix[ name ] || name, name ); + + // Use defaultChecked and defaultSelected for oldIE + } else { + elem[ jQuery.camelCase( "default-" + name ) ] = elem[ name ] = true; + } + + return name; + } +}; + +// fix oldIE value attroperty +if ( !getSetInput || !getSetAttribute ) { + jQuery.attrHooks.value = { + get: function( elem, name ) { + var ret = elem.getAttributeNode( name ); + return jQuery.nodeName( elem, "input" ) ? + + // Ignore the value *property* by using defaultValue + elem.defaultValue : + + ret && ret.specified ? ret.value : undefined; + }, + set: function( elem, value, name ) { + if ( jQuery.nodeName( elem, "input" ) ) { + // Does not return so that setAttribute is also used + elem.defaultValue = value; + } else { + // Use nodeHook if defined (#1954); otherwise setAttribute is fine + return nodeHook && nodeHook.set( elem, value, name ); + } + } + }; +} + +// IE6/7 do not support getting/setting some attributes with get/setAttribute +if ( !getSetAttribute ) { + + // Use this for any attribute in IE6/7 + // This fixes almost every IE6/7 issue + nodeHook = jQuery.valHooks.button = { + get: function( elem, name ) { + var ret = elem.getAttributeNode( name ); + return ret && ( name === "id" || name === "name" || name === "coords" ? ret.value !== "" : ret.specified ) ? + ret.value : + undefined; + }, + set: function( elem, value, name ) { + // Set the existing or create a new attribute node + var ret = elem.getAttributeNode( name ); + if ( !ret ) { + elem.setAttributeNode( + (ret = elem.ownerDocument.createAttribute( name )) + ); + } + + ret.value = value += ""; + + // Break association with cloned elements by also using setAttribute (#9646) + return name === "value" || value === elem.getAttribute( name ) ? + value : + undefined; + } + }; + + // Set contenteditable to false on removals(#10429) + // Setting to empty string throws an error as an invalid value + jQuery.attrHooks.contenteditable = { + get: nodeHook.get, + set: function( elem, value, name ) { + nodeHook.set( elem, value === "" ? false : value, name ); + } + }; + + // Set width and height to auto instead of 0 on empty string( Bug #8150 ) + // This is for removals + jQuery.each([ "width", "height" ], function( i, name ) { + jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], { + set: function( elem, value ) { + if ( value === "" ) { + elem.setAttribute( name, "auto" ); + return value; + } + } + }); + }); +} + + +// Some attributes require a special call on IE +// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !jQuery.support.hrefNormalized ) { + jQuery.each([ "href", "src", "width", "height" ], function( i, name ) { + jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], { + get: function( elem ) { + var ret = elem.getAttribute( name, 2 ); + return ret == null ? undefined : ret; + } + }); + }); + + // href/src property should get the full normalized URL (#10299/#12915) + jQuery.each([ "href", "src" ], function( i, name ) { + jQuery.propHooks[ name ] = { + get: function( elem ) { + return elem.getAttribute( name, 4 ); + } + }; + }); +} + +if ( !jQuery.support.style ) { + jQuery.attrHooks.style = { + get: function( elem ) { + // Return undefined in the case of empty string + // Note: IE uppercases css property names, but if we were to .toLowerCase() + // .cssText, that would destroy case senstitivity in URL's, like in "background" + return elem.style.cssText || undefined; + }, + set: function( elem, value ) { + return ( elem.style.cssText = value + "" ); + } + }; +} + +// Safari mis-reports the default selected property of an option +// Accessing the parent's selectedIndex property fixes it +if ( !jQuery.support.optSelected ) { + jQuery.propHooks.selected = jQuery.extend( jQuery.propHooks.selected, { + get: function( elem ) { + var parent = elem.parentNode; + + if ( parent ) { + parent.selectedIndex; + + // Make sure that it also works with optgroups, see #5701 + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + return null; + } + }); +} + +// IE6/7 call enctype encoding +if ( !jQuery.support.enctype ) { + jQuery.propFix.enctype = "encoding"; +} + +// Radios and checkboxes getter/setter +if ( !jQuery.support.checkOn ) { + jQuery.each([ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + get: function( elem ) { + // Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified + return elem.getAttribute("value") === null ? "on" : elem.value; + } + }; + }); +} +jQuery.each([ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = jQuery.extend( jQuery.valHooks[ this ], { + set: function( elem, value ) { + if ( jQuery.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0 ); + } + } + }); +}); +var rformElems = /^(?:input|select|textarea)$/i, + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|contextmenu)|click/, + rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)$/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + var tmp, events, t, handleObjIn, + special, eventHandle, handleObj, + handlers, type, namespaces, origType, + elemData = jQuery._data( elem ); + + // Don't attach events to noData or text/comment nodes (but allow plain objects) + if ( !elemData ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !(events = elemData.events) ) { + events = elemData.events = {}; + } + if ( !(eventHandle = elemData.handle) ) { + eventHandle = elemData.handle = function( e ) { + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== core_strundefined && (!e || jQuery.event.triggered !== e.type) ? + jQuery.event.dispatch.apply( eventHandle.elem, arguments ) : + undefined; + }; + // Add elem as a property of the handle fn to prevent a memory leak with IE non-native events + eventHandle.elem = elem; + } + + // Handle multiple events separated by a space + // jQuery(...).bind("mouseover mouseout", fn); + types = ( types || "" ).match( core_rnotwhite ) || [""]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[t] ) || []; + type = origType = tmp[1]; + namespaces = ( tmp[2] || "" ).split( "." ).sort(); + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend({ + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join(".") + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !(handlers = events[ type ]) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener/attachEvent if the special events handler returns false + if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + // Bind the global event handler to the element + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle, false ); + + } else if ( elem.attachEvent ) { + elem.attachEvent( "on" + type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + // Nullify elem to prevent memory leaks in IE + elem = null; + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + var j, handleObj, tmp, + origCount, t, events, + special, handlers, type, + namespaces, origType, + elemData = jQuery.hasData( elem ) && jQuery._data( elem ); + + if ( !elemData || !(events = elemData.events) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( core_rnotwhite ) || [""]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[t] ) || []; + type = origType = tmp[1]; + namespaces = ( tmp[2] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[2] && new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + delete elemData.handle; + + // removeData also checks for emptiness and clears the expando if empty + // so use it instead of delete + jQuery._removeData( elem, "events" ); + } + }, + + trigger: function( event, data, elem, onlyHandlers ) { + var handle, ontype, cur, + bubbleType, special, tmp, i, + eventPath = [ elem || document ], + type = core_hasOwn.call( event, "type" ) ? event.type : event, + namespaces = core_hasOwn.call( event, "namespace" ) ? event.namespace.split(".") : []; + + cur = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf(".") >= 0 ) { + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split("."); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf(":") < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + event.isTrigger = true; + event.namespace = namespaces.join("."); + event.namespace_re = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === (elem.ownerDocument || document) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( (cur = eventPath[i++]) && !event.isPropagationStopped() ) { + + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( jQuery._data( cur, "events" ) || {} )[ event.type ] && jQuery._data( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && jQuery.acceptData( cur ) && handle.apply && handle.apply( cur, data ) === false ) { + event.preventDefault(); + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( (!special._default || special._default.apply( elem.ownerDocument, data ) === false) && + !(type === "click" && jQuery.nodeName( elem, "a" )) && jQuery.acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name name as the event. + // Can't use an .isFunction() check here because IE6/7 fails that test. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && elem[ type ] && !jQuery.isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + try { + elem[ type ](); + } catch ( e ) { + // IE<9 dies on focus/blur to hidden element (#1486,#12518) + // only reproducible on winXP IE8 native, not IE9 in IE8 mode + } + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + dispatch: function( event ) { + + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( event ); + + var i, ret, handleObj, matched, j, + handlerQueue = [], + args = core_slice.call( arguments ), + handlers = ( jQuery._data( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[0] = event; + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( (matched = handlerQueue[ i++ ]) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( (handleObj = matched.handlers[ j++ ]) && !event.isImmediatePropagationStopped() ) { + + // Triggered event must either 1) have no namespace, or + // 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace). + if ( !event.namespace_re || event.namespace_re.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler ) + .apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( (event.result = ret) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var sel, handleObj, matches, i, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + // Black-hole SVG <use> instance trees (#13180) + // Avoid non-left-click bubbling in Firefox (#3861) + if ( delegateCount && cur.nodeType && (!event.button || event.type !== "click") ) { + + for ( ; cur != this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && (cur.disabled !== true || event.type !== "click") ) { + matches = []; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matches[ sel ] === undefined ) { + matches[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) >= 0 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matches[ sel ] ) { + matches.push( handleObj ); + } + } + if ( matches.length ) { + handlerQueue.push({ elem: cur, handlers: matches }); + } + } + } + } + + // Add the remaining (directly-bound) handlers + if ( delegateCount < handlers.length ) { + handlerQueue.push({ elem: this, handlers: handlers.slice( delegateCount ) }); + } + + return handlerQueue; + }, + + fix: function( event ) { + if ( event[ jQuery.expando ] ) { + return event; + } + + // Create a writable copy of the event object and normalize some properties + var i, prop, copy, + type = event.type, + originalEvent = event, + fixHook = this.fixHooks[ type ]; + + if ( !fixHook ) { + this.fixHooks[ type ] = fixHook = + rmouseEvent.test( type ) ? this.mouseHooks : + rkeyEvent.test( type ) ? this.keyHooks : + {}; + } + copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props; + + event = new jQuery.Event( originalEvent ); + + i = copy.length; + while ( i-- ) { + prop = copy[ i ]; + event[ prop ] = originalEvent[ prop ]; + } + + // Support: IE<9 + // Fix target property (#1925) + if ( !event.target ) { + event.target = originalEvent.srcElement || document; + } + + // Support: Chrome 23+, Safari? + // Target should not be a text node (#504, #13143) + if ( event.target.nodeType === 3 ) { + event.target = event.target.parentNode; + } + + // Support: IE<9 + // For mouse/key events, metaKey==false if it's undefined (#3368, #11328) + event.metaKey = !!event.metaKey; + + return fixHook.filter ? fixHook.filter( event, originalEvent ) : event; + }, + + // Includes some event props shared by KeyEvent and MouseEvent + props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), + + fixHooks: {}, + + keyHooks: { + props: "char charCode key keyCode".split(" "), + filter: function( event, original ) { + + // Add which for key events + if ( event.which == null ) { + event.which = original.charCode != null ? original.charCode : original.keyCode; + } + + return event; + } + }, + + mouseHooks: { + props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), + filter: function( event, original ) { + var body, eventDoc, doc, + button = original.button, + fromElement = original.fromElement; + + // Calculate pageX/Y if missing and clientX/Y available + if ( event.pageX == null && original.clientX != null ) { + eventDoc = event.target.ownerDocument || document; + doc = eventDoc.documentElement; + body = eventDoc.body; + + event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 ); + event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 ); + } + + // Add relatedTarget, if necessary + if ( !event.relatedTarget && fromElement ) { + event.relatedTarget = fromElement === event.target ? original.toElement : fromElement; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + // Note: button is not normalized, so don't use it + if ( !event.which && button !== undefined ) { + event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); + } + + return event; + } + }, + + special: { + load: { + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + click: { + // For checkbox, fire native event so checked state will be right + trigger: function() { + if ( jQuery.nodeName( this, "input" ) && this.type === "checkbox" && this.click ) { + this.click(); + return false; + } + } + }, + focus: { + // Fire native event if possible so blur/focus sequence is correct + trigger: function() { + if ( this !== document.activeElement && this.focus ) { + try { + this.focus(); + return false; + } catch ( e ) { + // Support: IE<9 + // If we error on focus to hidden element (#1486, #12518), + // let .trigger() run the handlers + } + } + }, + delegateType: "focusin" + }, + blur: { + trigger: function() { + if ( this === document.activeElement && this.blur ) { + this.blur(); + return false; + } + }, + delegateType: "focusout" + }, + + beforeunload: { + postDispatch: function( event ) { + + // Even when returnValue equals to undefined Firefox will still show alert + if ( event.result !== undefined ) { + event.originalEvent.returnValue = event.result; + } + } + } + }, + + simulate: function( type, elem, event, bubble ) { + // Piggyback on a donor event to simulate a different one. + // Fake originalEvent to avoid donor's stopPropagation, but if the + // simulated event prevents default then we do the same on the donor. + var e = jQuery.extend( + new jQuery.Event(), + event, + { type: type, + isSimulated: true, + originalEvent: {} + } + ); + if ( bubble ) { + jQuery.event.trigger( e, null, elem ); + } else { + jQuery.event.dispatch.call( elem, e ); + } + if ( e.isDefaultPrevented() ) { + event.preventDefault(); + } + } +}; + +jQuery.removeEvent = document.removeEventListener ? + function( elem, type, handle ) { + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle, false ); + } + } : + function( elem, type, handle ) { + var name = "on" + type; + + if ( elem.detachEvent ) { + + // #8545, #7054, preventing memory leaks for custom events in IE6-8 + // detachEvent needed property on element, by name of that event, to properly expose it to GC + if ( typeof elem[ name ] === core_strundefined ) { + elem[ name ] = null; + } + + elem.detachEvent( name, handle ); + } + }; + +jQuery.Event = function( src, props ) { + // Allow instantiation without the 'new' keyword + if ( !(this instanceof jQuery.Event) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = ( src.defaultPrevented || src.returnValue === false || + src.getPreventDefault && src.getPreventDefault() ) ? returnTrue : returnFalse; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + if ( !e ) { + return; + } + + // If preventDefault exists, run it on the original event + if ( e.preventDefault ) { + e.preventDefault(); + + // Support: IE + // Otherwise set the returnValue property of the original event to false + } else { + e.returnValue = false; + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + if ( !e ) { + return; + } + // If stopPropagation exists, run it on the original event + if ( e.stopPropagation ) { + e.stopPropagation(); + } + + // Support: IE + // Set the cancelBubble property of the original event to true + e.cancelBubble = true; + }, + stopImmediatePropagation: function() { + this.isImmediatePropagationStopped = returnTrue; + this.stopPropagation(); + } +}; + +// Create mouseenter/leave events using mouseover/out and event-time checks +jQuery.each({ + mouseenter: "mouseover", + mouseleave: "mouseout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mousenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || (related !== target && !jQuery.contains( target, related )) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +}); + +// IE submit delegation +if ( !jQuery.support.submitBubbles ) { + + jQuery.event.special.submit = { + setup: function() { + // Only need this for delegated form submit events + if ( jQuery.nodeName( this, "form" ) ) { + return false; + } + + // Lazy-add a submit handler when a descendant form may potentially be submitted + jQuery.event.add( this, "click._submit keypress._submit", function( e ) { + // Node name check avoids a VML-related crash in IE (#9807) + var elem = e.target, + form = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.form : undefined; + if ( form && !jQuery._data( form, "submitBubbles" ) ) { + jQuery.event.add( form, "submit._submit", function( event ) { + event._submit_bubble = true; + }); + jQuery._data( form, "submitBubbles", true ); + } + }); + // return undefined since we don't need an event listener + }, + + postDispatch: function( event ) { + // If form was submitted by the user, bubble the event up the tree + if ( event._submit_bubble ) { + delete event._submit_bubble; + if ( this.parentNode && !event.isTrigger ) { + jQuery.event.simulate( "submit", this.parentNode, event, true ); + } + } + }, + + teardown: function() { + // Only need this for delegated form submit events + if ( jQuery.nodeName( this, "form" ) ) { + return false; + } + + // Remove delegated handlers; cleanData eventually reaps submit handlers attached above + jQuery.event.remove( this, "._submit" ); + } + }; +} + +// IE change delegation and checkbox/radio fix +if ( !jQuery.support.changeBubbles ) { + + jQuery.event.special.change = { + + setup: function() { + + if ( rformElems.test( this.nodeName ) ) { + // IE doesn't fire change on a check/radio until blur; trigger it on click + // after a propertychange. Eat the blur-change in special.change.handle. + // This still fires onchange a second time for check/radio after blur. + if ( this.type === "checkbox" || this.type === "radio" ) { + jQuery.event.add( this, "propertychange._change", function( event ) { + if ( event.originalEvent.propertyName === "checked" ) { + this._just_changed = true; + } + }); + jQuery.event.add( this, "click._change", function( event ) { + if ( this._just_changed && !event.isTrigger ) { + this._just_changed = false; + } + // Allow triggered, simulated change events (#11500) + jQuery.event.simulate( "change", this, event, true ); + }); + } + return false; + } + // Delegated event; lazy-add a change handler on descendant inputs + jQuery.event.add( this, "beforeactivate._change", function( e ) { + var elem = e.target; + + if ( rformElems.test( elem.nodeName ) && !jQuery._data( elem, "changeBubbles" ) ) { + jQuery.event.add( elem, "change._change", function( event ) { + if ( this.parentNode && !event.isSimulated && !event.isTrigger ) { + jQuery.event.simulate( "change", this.parentNode, event, true ); + } + }); + jQuery._data( elem, "changeBubbles", true ); + } + }); + }, + + handle: function( event ) { + var elem = event.target; + + // Swallow native change events from checkbox/radio, we already triggered them above + if ( this !== elem || event.isSimulated || event.isTrigger || (elem.type !== "radio" && elem.type !== "checkbox") ) { + return event.handleObj.handler.apply( this, arguments ); + } + }, + + teardown: function() { + jQuery.event.remove( this, "._change" ); + + return !rformElems.test( this.nodeName ); + } + }; +} + +// Create "bubbling" focus and blur events +if ( !jQuery.support.focusinBubbles ) { + jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler while someone wants focusin/focusout + var attaches = 0, + handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + if ( attaches++ === 0 ) { + document.addEventListener( orig, handler, true ); + } + }, + teardown: function() { + if ( --attaches === 0 ) { + document.removeEventListener( orig, handler, true ); + } + } + }; + }); +} + +jQuery.fn.extend({ + + on: function( types, selector, data, fn, /*INTERNAL*/ one ) { + var type, origFn; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + this.on( type, selector, data, types[ type ], one ); + } + return this; + } + + if ( data == null && fn == null ) { + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return this; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return this.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + }); + }, + one: function( types, selector, data, fn ) { + return this.on( types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each(function() { + jQuery.event.remove( this, types, fn, selector ); + }); + }, + + bind: function( types, data, fn ) { + return this.on( types, null, data, fn ); + }, + unbind: function( types, fn ) { + return this.off( types, null, fn ); + }, + + delegate: function( selector, types, data, fn ) { + return this.on( types, selector, data, fn ); + }, + undelegate: function( selector, types, fn ) { + // ( namespace ) or ( selector, types [, fn] ) + return arguments.length === 1 ? this.off( selector, "**" ) : this.off( types, selector || "**", fn ); + }, + + trigger: function( type, data ) { + return this.each(function() { + jQuery.event.trigger( type, data, this ); + }); + }, + triggerHandler: function( type, data ) { + var elem = this[0]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +}); +/*! + * Sizzle CSS Selector Engine + * Copyright 2012 jQuery Foundation and other contributors + * Released under the MIT license + * http://sizzlejs.com/ + */ +(function( window, undefined ) { + +var i, + cachedruns, + Expr, + getText, + isXML, + compile, + hasDuplicate, + outermostContext, + + // Local document vars + setDocument, + document, + docElem, + documentIsXML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + sortOrder, + + // Instance-specific data + expando = "sizzle" + -(new Date()), + preferredDoc = window.document, + support = {}, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + + // General-purpose constants + strundefined = typeof undefined, + MAX_NEGATIVE = 1 << 31, + + // Array methods + arr = [], + pop = arr.pop, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf if we can't use a native one + indexOf = arr.indexOf || function( elem ) { + var i = 0, + len = this.length; + for ( ; i < len; i++ ) { + if ( this[i] === elem ) { + return i; + } + } + return -1; + }, + + + // Regular expressions + + // Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + // http://www.w3.org/TR/css3-syntax/#characters + characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", + + // Loosely modeled on CSS identifier characters + // An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors + // Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = characterEncoding.replace( "w", "w#" ), + + // Acceptable operators http://www.w3.org/TR/selectors/#attribute-selectors + operators = "([*^$|!~]?=)", + attributes = "\\[" + whitespace + "*(" + characterEncoding + ")" + whitespace + + "*(?:" + operators + whitespace + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + identifier + ")|)|)" + whitespace + "*\\]", + + // Prefer arguments quoted, + // then not containing pseudos/brackets, + // then attribute selectors/non-parenthetical expressions, + // then anything else + // These preferences are here to reduce the number of selectors + // needing tokenize in the PSEUDO preFilter + pseudos = ":(" + characterEncoding + ")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|" + attributes.replace( 3, 8 ) + ")*)|.*)\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([\\x20\\t\\r\\n\\f>+~])" + whitespace + "*" ), + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + characterEncoding + ")" ), + "CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ), + "NAME": new RegExp( "^\\[name=['\"]?(" + characterEncoding + ")['\"]?\\]" ), + "TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*" ) + ")" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rsibling = /[\x20\t\r\n\f]*[+~]/, + + rnative = /^[^{]+\{\s*\[native code/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rescape = /'|\\/g, + rattributeQuotes = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g, + + // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = /\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g, + funescape = function( _, escaped ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + return high !== high ? + escaped : + // BMP codepoint + high < 0 ? + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }; + +// Use a stripped-down slice if we can't use a native one +try { + slice.call( preferredDoc.documentElement.childNodes, 0 )[0].nodeType; +} catch ( e ) { + slice = function( i ) { + var elem, + results = []; + while ( (elem = this[i++]) ) { + results.push( elem ); + } + return results; + }; +} + +/** + * For feature detection + * @param {Function} fn The function to test for native support + */ +function isNative( fn ) { + return rnative.test( fn + "" ); +} + +/** + * Create key-value caches of limited size + * @returns {Function(string, Object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var cache, + keys = []; + + return (cache = function( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key += " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key ] = value); + }); +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created div and expects a boolean result + */ +function assert( fn ) { + var div = document.createElement("div"); + + try { + return fn( div ); + } catch (e) { + return false; + } finally { + // release memory in IE + div = null; + } +} + +function Sizzle( selector, context, results, seed ) { + var match, elem, m, nodeType, + // QSA vars + i, groups, old, nid, newContext, newSelector; + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + + context = context || document; + results = results || []; + + if ( !selector || typeof selector !== "string" ) { + return results; + } + + if ( (nodeType = context.nodeType) !== 1 && nodeType !== 9 ) { + return []; + } + + if ( !documentIsXML && !seed ) { + + // Shortcuts + if ( (match = rquickExpr.exec( selector )) ) { + // Speed-up: Sizzle("#ID") + if ( (m = match[1]) ) { + if ( nodeType === 9 ) { + elem = context.getElementById( m ); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE, Opera, and Webkit return items + // by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + } else { + // Context is not a document + if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) && + contains( context, elem ) && elem.id === m ) { + results.push( elem ); + return results; + } + } + + // Speed-up: Sizzle("TAG") + } else if ( match[2] ) { + push.apply( results, slice.call(context.getElementsByTagName( selector ), 0) ); + return results; + + // Speed-up: Sizzle(".CLASS") + } else if ( (m = match[3]) && support.getByClassName && context.getElementsByClassName ) { + push.apply( results, slice.call(context.getElementsByClassName( m ), 0) ); + return results; + } + } + + // QSA path + if ( support.qsa && !rbuggyQSA.test(selector) ) { + old = true; + nid = expando; + newContext = context; + newSelector = nodeType === 9 && selector; + + // qSA works strangely on Element-rooted queries + // We can work around this by specifying an extra ID on the root + // and working up from there (Thanks to Andrew Dupont for the technique) + // IE 8 doesn't work on object elements + if ( nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { + groups = tokenize( selector ); + + if ( (old = context.getAttribute("id")) ) { + nid = old.replace( rescape, "\\$&" ); + } else { + context.setAttribute( "id", nid ); + } + nid = "[id='" + nid + "'] "; + + i = groups.length; + while ( i-- ) { + groups[i] = nid + toSelector( groups[i] ); + } + newContext = rsibling.test( selector ) && context.parentNode || context; + newSelector = groups.join(","); + } + + if ( newSelector ) { + try { + push.apply( results, slice.call( newContext.querySelectorAll( + newSelector + ), 0 ) ); + return results; + } catch(qsaError) { + } finally { + if ( !old ) { + context.removeAttribute("id"); + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Detect xml + * @param {Element|Object} elem An element or a document + */ +isXML = Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = elem && (elem.ownerDocument || elem).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var doc = node ? node.ownerDocument || node : preferredDoc; + + // If no document and documentElement is available, return + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Set our document + document = doc; + docElem = doc.documentElement; + + // Support tests + documentIsXML = isXML( doc ); + + // Check if getElementsByTagName("*") returns only elements + support.tagNameNoComments = assert(function( div ) { + div.appendChild( doc.createComment("") ); + return !div.getElementsByTagName("*").length; + }); + + // Check if attributes should be retrieved by attribute nodes + support.attributes = assert(function( div ) { + div.innerHTML = "<select></select>"; + var type = typeof div.lastChild.getAttribute("multiple"); + // IE8 returns a string for some attributes even when not present + return type !== "boolean" && type !== "string"; + }); + + // Check if getElementsByClassName can be trusted + support.getByClassName = assert(function( div ) { + // Opera can't find a second classname (in 9.6) + div.innerHTML = "<div class='hidden e'></div><div class='hidden'></div>"; + if ( !div.getElementsByClassName || !div.getElementsByClassName("e").length ) { + return false; + } + + // Safari 3.2 caches class attributes and doesn't catch changes + div.lastChild.className = "e"; + return div.getElementsByClassName("e").length === 2; + }); + + // Check if getElementById returns elements by name + // Check if getElementsByName privileges form controls or returns elements by ID + support.getByName = assert(function( div ) { + // Inject content + div.id = expando + 0; + div.innerHTML = "<a name='" + expando + "'></a><div name='" + expando + "'></div>"; + docElem.insertBefore( div, docElem.firstChild ); + + // Test + var pass = doc.getElementsByName && + // buggy browsers will return fewer than the correct 2 + doc.getElementsByName( expando ).length === 2 + + // buggy browsers will return more than the correct 0 + doc.getElementsByName( expando + 0 ).length; + support.getIdNotName = !doc.getElementById( expando ); + + // Cleanup + docElem.removeChild( div ); + + return pass; + }); + + // IE6/7 return modified attributes + Expr.attrHandle = assert(function( div ) { + div.innerHTML = "<a href='#'></a>"; + return div.firstChild && typeof div.firstChild.getAttribute !== strundefined && + div.firstChild.getAttribute("href") === "#"; + }) ? + {} : + { + "href": function( elem ) { + return elem.getAttribute( "href", 2 ); + }, + "type": function( elem ) { + return elem.getAttribute("type"); + } + }; + + // ID find and filter + if ( support.getIdNotName ) { + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== strundefined && !documentIsXML ) { + var m = context.getElementById( id ); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + return m && m.parentNode ? [m] : []; + } + }; + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + } else { + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== strundefined && !documentIsXML ) { + var m = context.getElementById( id ); + + return m ? + m.id === id || typeof m.getAttributeNode !== strundefined && m.getAttributeNode("id").value === id ? + [m] : + undefined : + []; + } + }; + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== strundefined && elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + } + + // Tag + Expr.find["TAG"] = support.tagNameNoComments ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== strundefined ) { + return context.getElementsByTagName( tag ); + } + } : + function( tag, context ) { + var elem, + tmp = [], + i = 0, + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Name + Expr.find["NAME"] = support.getByName && function( tag, context ) { + if ( typeof context.getElementsByName !== strundefined ) { + return context.getElementsByName( name ); + } + }; + + // Class + Expr.find["CLASS"] = support.getByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== strundefined && !documentIsXML ) { + return context.getElementsByClassName( className ); + } + }; + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21), + // no need to also add to buggyMatches since matches checks buggyQSA + // A support test would require too much code (would include document ready) + rbuggyQSA = [ ":focus" ]; + + if ( (support.qsa = isNative(doc.querySelectorAll)) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( div ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explictly + // setting a boolean content attribute, + // since its presence should be enough + // http://bugs.jquery.com/ticket/12359 + div.innerHTML = "<select><option selected=''></option></select>"; + + // IE8 - Some boolean attributes are not treated correctly + if ( !div.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:checked|disabled|ismap|multiple|readonly|selected|value)" ); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !div.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + }); + + assert(function( div ) { + + // Opera 10-12/IE8 - ^= $= *= and empty values + // Should not select anything + div.innerHTML = "<input type='hidden' i=''/>"; + if ( div.querySelectorAll("[i^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:\"\"|'')" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( !div.querySelectorAll(":enabled").length ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + div.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = isNative( (matches = docElem.matchesSelector || + docElem.mozMatchesSelector || + docElem.webkitMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( div ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( div, "div" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( div, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = new RegExp( rbuggyMatches.join("|") ); + + // Element contains another + // Purposefully does not implement inclusive descendent + // As in, an element does not contain itself + contains = isNative(docElem.contains) || docElem.compareDocumentPosition ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + // Document order sorting + sortOrder = docElem.compareDocumentPosition ? + function( a, b ) { + var compare; + + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + if ( (compare = b.compareDocumentPosition && a.compareDocumentPosition && a.compareDocumentPosition( b )) ) { + if ( compare & 1 || a.parentNode && a.parentNode.nodeType === 11 ) { + if ( a === doc || contains( preferredDoc, a ) ) { + return -1; + } + if ( b === doc || contains( preferredDoc, b ) ) { + return 1; + } + return 0; + } + return compare & 4 ? -1 : 1; + } + + return a.compareDocumentPosition ? -1 : 1; + } : + function( a, b ) { + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + + // Parentless nodes are either documents or disconnected + } else if ( !aup || !bup ) { + return a === doc ? -1 : + b === doc ? 1 : + aup ? -1 : + bup ? 1 : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + // Always assume the presence of duplicates if sort doesn't + // pass them to our comparison function (as in Google Chrome). + hasDuplicate = false; + [0, 0].sort( sortOrder ); + support.detectDuplicates = hasDuplicate; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + // Make sure that attribute selectors are quoted + expr = expr.replace( rattributeQuotes, "='$1']" ); + + // rbuggyQSA always contains :focus, so no need for an existence check + if ( support.matchesSelector && !documentIsXML && (!rbuggyMatches || !rbuggyMatches.test(expr)) && !rbuggyQSA.test(expr) ) { + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch(e) {} + } + + return Sizzle( expr, document, null, [elem] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + var val; + + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + if ( !documentIsXML ) { + name = name.toLowerCase(); + } + if ( (val = Expr.attrHandle[ name ]) ) { + return val( elem ); + } + if ( documentIsXML || support.attributes ) { + return elem.getAttribute( name ); + } + return ( (val = elem.getAttributeNode( name )) || elem.getAttribute( name ) ) && elem[ name ] === true ? + name : + val && val.specified ? val.value : null; +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +// Document sorting and removing duplicates +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + i = 1, + j = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + results.sort( sortOrder ); + + if ( hasDuplicate ) { + for ( ; (elem = results[i]); i++ ) { + if ( elem === results[ i - 1 ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + return results; +}; + +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && ( ~b.sourceIndex || MAX_NEGATIVE ) - ( ~a.sourceIndex || MAX_NEGATIVE ); + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +// Returns a function to use in pseudos for input types +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +// Returns a function to use in pseudos for buttons +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +// Returns a function to use in pseudos for positionals +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + for ( ; (node = elem[i]); i++ ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (see #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[5] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[4] ) { + match[2] = match[4]; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeName ) { + if ( nodeName === "*" ) { + return function() { return true; }; + } + + nodeName = nodeName.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( elem.className || (typeof elem.getAttribute !== strundefined && elem.getAttribute("class")) || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, outerCache, node, diff, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) { + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + // Seek `elem` from a previously-cached index + outerCache = parent[ expando ] || (parent[ expando ] = {}); + cache = outerCache[ type ] || []; + nodeIndex = cache[0] === dirruns && cache[1]; + diff = cache[0] === dirruns && cache[2]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + outerCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + // Use previously-cached element index if available + } else if ( useCache && (cache = (elem[ expando ] || (elem[ expando ] = {}))[ type ]) && cache[0] === dirruns ) { + diff = cache[1]; + + // xml :nth-child(...) or :nth-last-child(...) or :nth(-last)?-of-type(...) + } else { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) && ++diff ) { + // Cache the index of each encountered element + if ( useCache ) { + (node[ expando ] || (node[ expando ] = {}))[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf.call( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + return function( elem ) { + return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifider + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsXML ? + elem.getAttribute("xml:lang") || elem.getAttribute("lang") : + elem.lang) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": function( elem ) { + return elem.disabled === false; + }, + + "disabled": function( elem ) { + return elem.disabled === true; + }, + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is only affected by element nodes and content nodes(including text(3), cdata(4)), + // not comment, processing instructions, or others + // Thanks to Diego Perini for the nodeName shortcut + // Greater than "@" means alpha characters (specifically not starting with "#" or "?") + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeName > "@" || elem.nodeType === 3 || elem.nodeType === 4 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + // IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc) + // use getAttribute instead to test this case + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === elem.type ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +function tokenize( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( tokens = [] ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push( { + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + } ); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push( { + value: matched, + type: type, + matches: match + } ); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +} + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + checkNonElements = base && dir === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var data, cache, outerCache, + dirkey = dirruns + " " + doneName; + + // We can't set arbitrary data on XML nodes, so they don't benefit from dir caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + if ( (cache = outerCache[ dir ]) && cache[0] === dirkey ) { + if ( (data = cache[1]) === true || data === cachedruns ) { + return data === true; + } + } else { + cache = outerCache[ dir ] = [ dirkey ]; + cache[1] = matcher( elem, context, xml ) || cachedruns; + if ( cache[1] === true ) { + return true; + } + } + } + } + } + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf.call( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf.call( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + return ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( tokens.slice( 0, i - 1 ) ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + // A counter to specify which element is currently being matched + var matcherCachedRuns = 0, + bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, expandContext ) { + var elem, j, matcher, + setMatched = [], + matchedCount = 0, + i = "0", + unmatched = seed && [], + outermost = expandContext != null, + contextBackup = outermostContext, + // We must always have either seed elements or context + elems = seed || byElement && Expr.find["TAG"]( "*", expandContext && context.parentNode || context ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1); + + if ( outermost ) { + outermostContext = context !== document && context; + cachedruns = matcherCachedRuns; + } + + // Add elements passing elementMatchers directly to results + // Keep `i` a string if there are no elements so `matchedCount` will be "00" below + for ( ; (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context, xml ) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + cachedruns = ++matcherCachedRuns; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // Apply set filters to unmatched elements + matchedCount += i; + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !group ) { + group = tokenize( selector ); + } + i = group.length; + while ( i-- ) { + cached = matcherFromTokens( group[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + } + return cached; +}; + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function select( selector, context, results, seed ) { + var i, tokens, token, type, find, + match = tokenize( selector ); + + if ( !seed ) { + // Try to minimize operations if there is only one group + if ( match.length === 1 ) { + + // Take a shortcut and set the context if the root selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + context.nodeType === 9 && !documentIsXML && + Expr.relative[ tokens[1].type ] ) { + + context = Expr.find["ID"]( token.matches[0].replace( runescape, funescape ), context )[0]; + if ( !context ) { + return results; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && context.parentNode || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, slice.call( seed, 0 ) ); + return results; + } + + break; + } + } + } + } + } + + // Compile and execute a filtering function + // Provide `match` to avoid retokenization if we modified the selector above + compile( selector, match )( + seed, + context, + documentIsXML, + results, + rsibling.test( selector ) + ); + return results; +} + +// Deprecated +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Easy API for creating new setFilters +function setFilters() {} +Expr.filters = setFilters.prototype = Expr.pseudos; +Expr.setFilters = new setFilters(); + +// Initialize with the default document +setDocument(); + +// Override sizzle attribute retrieval +Sizzle.attr = jQuery.attr; +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; +jQuery.expr[":"] = jQuery.expr.pseudos; +jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; + + +})( window ); +var runtil = /Until$/, + rparentsprev = /^(?:parents|prev(?:Until|All))/, + isSimple = /^.[^:#\[\.,]*$/, + rneedsContext = jQuery.expr.match.needsContext, + // methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend({ + find: function( selector ) { + var i, ret, self, + len = this.length; + + if ( typeof selector !== "string" ) { + self = this; + return this.pushStack( jQuery( selector ).filter(function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + }) ); + } + + ret = []; + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, this[ i ], ret ); + } + + // Needed because $( selector, context ) becomes $( context ).find( selector ) + ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret ); + ret.selector = ( this.selector ? this.selector + " " : "" ) + selector; + return ret; + }, + + has: function( target ) { + var i, + targets = jQuery( target, this ), + len = targets.length; + + return this.filter(function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( this, targets[i] ) ) { + return true; + } + } + }); + }, + + not: function( selector ) { + return this.pushStack( winnow(this, selector, false) ); + }, + + filter: function( selector ) { + return this.pushStack( winnow(this, selector, true) ); + }, + + is: function( selector ) { + return !!selector && ( + typeof selector === "string" ? + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + rneedsContext.test( selector ) ? + jQuery( selector, this.context ).index( this[0] ) >= 0 : + jQuery.filter( selector, this ).length > 0 : + this.filter( selector ).length > 0 ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + ret = [], + pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ? + jQuery( selectors, context || this.context ) : + 0; + + for ( ; i < l; i++ ) { + cur = this[i]; + + while ( cur && cur.ownerDocument && cur !== context && cur.nodeType !== 11 ) { + if ( pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors) ) { + ret.push( cur ); + break; + } + cur = cur.parentNode; + } + } + + return this.pushStack( ret.length > 1 ? jQuery.unique( ret ) : ret ); + }, + + // Determine the position of an element within + // the matched set of elements + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[0] && this[0].parentNode ) ? this.first().prevAll().length : -1; + } + + // index in selector + if ( typeof elem === "string" ) { + return jQuery.inArray( this[0], jQuery( elem ) ); + } + + // Locate the position of the desired element + return jQuery.inArray( + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[0] : elem, this ); + }, + + add: function( selector, context ) { + var set = typeof selector === "string" ? + jQuery( selector, context ) : + jQuery.makeArray( selector && selector.nodeType ? [ selector ] : selector ), + all = jQuery.merge( this.get(), set ); + + return this.pushStack( jQuery.unique(all) ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter(selector) + ); + } +}); + +jQuery.fn.andSelf = jQuery.fn.addBack; + +function sibling( cur, dir ) { + do { + cur = cur[ dir ]; + } while ( cur && cur.nodeType !== 1 ); + + return cur; +} + +jQuery.each({ + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return jQuery.dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return jQuery.dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return jQuery.dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return jQuery.dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return jQuery.dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return jQuery.dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return jQuery.sibling( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return jQuery.sibling( elem.firstChild ); + }, + contents: function( elem ) { + return jQuery.nodeName( elem, "iframe" ) ? + elem.contentDocument || elem.contentWindow.document : + jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var ret = jQuery.map( this, fn, until ); + + if ( !runtil.test( name ) ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + ret = jQuery.filter( selector, ret ); + } + + ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; + + if ( this.length > 1 && rparentsprev.test( name ) ) { + ret = ret.reverse(); + } + + return this.pushStack( ret ); + }; +}); + +jQuery.extend({ + filter: function( expr, elems, not ) { + if ( not ) { + expr = ":not(" + expr + ")"; + } + + return elems.length === 1 ? + jQuery.find.matchesSelector(elems[0], expr) ? [ elems[0] ] : [] : + jQuery.find.matches(expr, elems); + }, + + dir: function( elem, dir, until ) { + var matched = [], + cur = elem[ dir ]; + + while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) { + if ( cur.nodeType === 1 ) { + matched.push( cur ); + } + cur = cur[dir]; + } + return matched; + }, + + sibling: function( n, elem ) { + var r = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + r.push( n ); + } + } + + return r; + } +}); + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, keep ) { + + // Can't pass null or undefined to indexOf in Firefox 4 + // Set to 0 to skip string check + qualifier = qualifier || 0; + + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep(elements, function( elem, i ) { + var retVal = !!qualifier.call( elem, i, elem ); + return retVal === keep; + }); + + } else if ( qualifier.nodeType ) { + return jQuery.grep(elements, function( elem ) { + return ( elem === qualifier ) === keep; + }); + + } else if ( typeof qualifier === "string" ) { + var filtered = jQuery.grep(elements, function( elem ) { + return elem.nodeType === 1; + }); + + if ( isSimple.test( qualifier ) ) { + return jQuery.filter(qualifier, filtered, !keep); + } else { + qualifier = jQuery.filter( qualifier, filtered ); + } + } + + return jQuery.grep(elements, function( elem ) { + return ( jQuery.inArray( elem, qualifier ) >= 0 ) === keep; + }); +} +function createSafeFragment( document ) { + var list = nodeNames.split( "|" ), + safeFrag = document.createDocumentFragment(); + + if ( safeFrag.createElement ) { + while ( list.length ) { + safeFrag.createElement( + list.pop() + ); + } + } + return safeFrag; +} + +var nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|" + + "header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", + rinlinejQuery = / jQuery\d+="(?:null|\d+)"/g, + rnoshimcache = new RegExp("<(?:" + nodeNames + ")[\\s/>]", "i"), + rleadingWhitespace = /^\s+/, + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, + rtagName = /<([\w:]+)/, + rtbody = /<tbody/i, + rhtml = /<|&#?\w+;/, + rnoInnerhtml = /<(?:script|style|link)/i, + manipulation_rcheckableType = /^(?:checkbox|radio)$/i, + // checked="checked" or checked + rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, + rscriptType = /^$|\/(?:java|ecma)script/i, + rscriptTypeMasked = /^true\/(.*)/, + rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g, + + // We have to close these tags to support XHTML (#13200) + wrapMap = { + option: [ 1, "<select multiple='multiple'>", "</select>" ], + legend: [ 1, "<fieldset>", "</fieldset>" ], + area: [ 1, "<map>", "</map>" ], + param: [ 1, "<object>", "</object>" ], + thead: [ 1, "<table>", "</table>" ], + tr: [ 2, "<table><tbody>", "</tbody></table>" ], + col: [ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ], + td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ], + + // IE6-8 can't serialize link, script, style, or any html5 (NoScope) tags, + // unless wrapped in a div with non-breaking characters in front of it. + _default: jQuery.support.htmlSerialize ? [ 0, "", "" ] : [ 1, "X<div>", "</div>" ] + }, + safeFragment = createSafeFragment( document ), + fragmentDiv = safeFragment.appendChild( document.createElement("div") ); + +wrapMap.optgroup = wrapMap.option; +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +jQuery.fn.extend({ + text: function( value ) { + return jQuery.access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().append( ( this[0] && this[0].ownerDocument || document ).createTextNode( value ) ); + }, null, value, arguments.length ); + }, + + wrapAll: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each(function(i) { + jQuery(this).wrapAll( html.call(this, i) ); + }); + } + + if ( this[0] ) { + // The elements to wrap the target around + var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true); + + if ( this[0].parentNode ) { + wrap.insertBefore( this[0] ); + } + + wrap.map(function() { + var elem = this; + + while ( elem.firstChild && elem.firstChild.nodeType === 1 ) { + elem = elem.firstChild; + } + + return elem; + }).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each(function(i) { + jQuery(this).wrapInner( html.call(this, i) ); + }); + } + + return this.each(function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + }); + }, + + wrap: function( html ) { + var isFunction = jQuery.isFunction( html ); + + return this.each(function(i) { + jQuery( this ).wrapAll( isFunction ? html.call(this, i) : html ); + }); + }, + + unwrap: function() { + return this.parent().each(function() { + if ( !jQuery.nodeName( this, "body" ) ) { + jQuery( this ).replaceWith( this.childNodes ); + } + }).end(); + }, + + append: function() { + return this.domManip(arguments, true, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.appendChild( elem ); + } + }); + }, + + prepend: function() { + return this.domManip(arguments, true, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.insertBefore( elem, this.firstChild ); + } + }); + }, + + before: function() { + return this.domManip( arguments, false, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + }); + }, + + after: function() { + return this.domManip( arguments, false, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + }); + }, + + // keepData is for internal use only--do not document + remove: function( selector, keepData ) { + var elem, + i = 0; + + for ( ; (elem = this[i]) != null; i++ ) { + if ( !selector || jQuery.filter( selector, [ elem ] ).length > 0 ) { + if ( !keepData && elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem ) ); + } + + if ( elem.parentNode ) { + if ( keepData && jQuery.contains( elem.ownerDocument, elem ) ) { + setGlobalEval( getAll( elem, "script" ) ); + } + elem.parentNode.removeChild( elem ); + } + } + } + + return this; + }, + + empty: function() { + var elem, + i = 0; + + for ( ; (elem = this[i]) != null; i++ ) { + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + } + + // Remove any remaining nodes + while ( elem.firstChild ) { + elem.removeChild( elem.firstChild ); + } + + // If this is a select, ensure that it displays empty (#12336) + // Support: IE<9 + if ( elem.options && jQuery.nodeName( elem, "select" ) ) { + elem.options.length = 0; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function () { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + }); + }, + + html: function( value ) { + return jQuery.access( this, function( value ) { + var elem = this[0] || {}, + i = 0, + l = this.length; + + if ( value === undefined ) { + return elem.nodeType === 1 ? + elem.innerHTML.replace( rinlinejQuery, "" ) : + undefined; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + ( jQuery.support.htmlSerialize || !rnoshimcache.test( value ) ) && + ( jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value ) ) && + !wrapMap[ ( rtagName.exec( value ) || ["", ""] )[1].toLowerCase() ] ) { + + value = value.replace( rxhtmlTag, "<$1></$2>" ); + + try { + for (; i < l; i++ ) { + // Remove element nodes and prevent memory leaks + elem = this[i] || {}; + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch(e) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function( value ) { + var isFunc = jQuery.isFunction( value ); + + // Make sure that the elements are removed from the DOM before they are inserted + // this can help fix replacing a parent with child elements + if ( !isFunc && typeof value !== "string" ) { + value = jQuery( value ).not( this ).detach(); + } + + return this.domManip( [ value ], true, function( elem ) { + var next = this.nextSibling, + parent = this.parentNode; + + if ( parent ) { + jQuery( this ).remove(); + parent.insertBefore( elem, next ); + } + }); + }, + + detach: function( selector ) { + return this.remove( selector, true ); + }, + + domManip: function( args, table, callback ) { + + // Flatten any nested arrays + args = core_concat.apply( [], args ); + + var first, node, hasScripts, + scripts, doc, fragment, + i = 0, + l = this.length, + set = this, + iNoClone = l - 1, + value = args[0], + isFunction = jQuery.isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( isFunction || !( l <= 1 || typeof value !== "string" || jQuery.support.checkClone || !rchecked.test( value ) ) ) { + return this.each(function( index ) { + var self = set.eq( index ); + if ( isFunction ) { + args[0] = value.call( this, index, table ? self.html() : undefined ); + } + self.domManip( args, table, callback ); + }); + } + + if ( l ) { + fragment = jQuery.buildFragment( args, this[ 0 ].ownerDocument, false, this ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + if ( first ) { + table = table && jQuery.nodeName( first, "tr" ); + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( + table && jQuery.nodeName( this[i], "table" ) ? + findOrAppend( this[i], "tbody" ) : + this[i], + node, + i + ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !jQuery._data( node, "globalEval" ) && jQuery.contains( doc, node ) ) { + + if ( node.src ) { + // Hope ajax is available... + jQuery.ajax({ + url: node.src, + type: "GET", + dataType: "script", + async: false, + global: false, + "throws": true + }); + } else { + jQuery.globalEval( ( node.text || node.textContent || node.innerHTML || "" ).replace( rcleanScript, "" ) ); + } + } + } + } + + // Fix #11809: Avoid leaking memory + fragment = first = null; + } + } + + return this; + } +}); + +function findOrAppend( elem, tag ) { + return elem.getElementsByTagName( tag )[0] || elem.appendChild( elem.ownerDocument.createElement( tag ) ); +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + var attr = elem.getAttributeNode("type"); + elem.type = ( attr && attr.specified ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + var match = rscriptTypeMasked.exec( elem.type ); + if ( match ) { + elem.type = match[1]; + } else { + elem.removeAttribute("type"); + } + return elem; +} + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var elem, + i = 0; + for ( ; (elem = elems[i]) != null; i++ ) { + jQuery._data( elem, "globalEval", !refElements || jQuery._data( refElements[i], "globalEval" ) ); + } +} + +function cloneCopyEvent( src, dest ) { + + if ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) { + return; + } + + var type, i, l, + oldData = jQuery._data( src ), + curData = jQuery._data( dest, oldData ), + events = oldData.events; + + if ( events ) { + delete curData.handle; + curData.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + + // make the cloned public data object a copy from the original + if ( curData.data ) { + curData.data = jQuery.extend( {}, curData.data ); + } +} + +function fixCloneNodeIssues( src, dest ) { + var nodeName, e, data; + + // We do not need to do anything for non-Elements + if ( dest.nodeType !== 1 ) { + return; + } + + nodeName = dest.nodeName.toLowerCase(); + + // IE6-8 copies events bound via attachEvent when using cloneNode. + if ( !jQuery.support.noCloneEvent && dest[ jQuery.expando ] ) { + data = jQuery._data( dest ); + + for ( e in data.events ) { + jQuery.removeEvent( dest, e, data.handle ); + } + + // Event data gets referenced instead of copied if the expando gets copied too + dest.removeAttribute( jQuery.expando ); + } + + // IE blanks contents when cloning scripts, and tries to evaluate newly-set text + if ( nodeName === "script" && dest.text !== src.text ) { + disableScript( dest ).text = src.text; + restoreScript( dest ); + + // IE6-10 improperly clones children of object elements using classid. + // IE10 throws NoModificationAllowedError if parent is null, #12132. + } else if ( nodeName === "object" ) { + if ( dest.parentNode ) { + dest.outerHTML = src.outerHTML; + } + + // This path appears unavoidable for IE9. When cloning an object + // element in IE9, the outerHTML strategy above is not sufficient. + // If the src has innerHTML and the destination does not, + // copy the src.innerHTML into the dest.innerHTML. #10324 + if ( jQuery.support.html5Clone && ( src.innerHTML && !jQuery.trim(dest.innerHTML) ) ) { + dest.innerHTML = src.innerHTML; + } + + } else if ( nodeName === "input" && manipulation_rcheckableType.test( src.type ) ) { + // IE6-8 fails to persist the checked state of a cloned checkbox + // or radio button. Worse, IE6-7 fail to give the cloned element + // a checked appearance if the defaultChecked value isn't also set + + dest.defaultChecked = dest.checked = src.checked; + + // IE6-7 get confused and end up setting the value of a cloned + // checkbox/radio button to an empty string instead of "on" + if ( dest.value !== src.value ) { + dest.value = src.value; + } + + // IE6-8 fails to return the selected option to the default selected + // state when cloning options + } else if ( nodeName === "option" ) { + dest.defaultSelected = dest.selected = src.defaultSelected; + + // IE6-8 fails to set the defaultValue to the correct value when + // cloning other types of input fields + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +jQuery.each({ + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + i = 0, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone(true); + jQuery( insert[i] )[ original ]( elems ); + + // Modern browsers can apply jQuery collections as arrays, but oldIE needs a .get() + core_push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +}); + +function getAll( context, tag ) { + var elems, elem, + i = 0, + found = typeof context.getElementsByTagName !== core_strundefined ? context.getElementsByTagName( tag || "*" ) : + typeof context.querySelectorAll !== core_strundefined ? context.querySelectorAll( tag || "*" ) : + undefined; + + if ( !found ) { + for ( found = [], elems = context.childNodes || context; (elem = elems[i]) != null; i++ ) { + if ( !tag || jQuery.nodeName( elem, tag ) ) { + found.push( elem ); + } else { + jQuery.merge( found, getAll( elem, tag ) ); + } + } + } + + return tag === undefined || tag && jQuery.nodeName( context, tag ) ? + jQuery.merge( [ context ], found ) : + found; +} + +// Used in buildFragment, fixes the defaultChecked property +function fixDefaultChecked( elem ) { + if ( manipulation_rcheckableType.test( elem.type ) ) { + elem.defaultChecked = elem.checked; + } +} + +jQuery.extend({ + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var destElements, node, clone, i, srcElements, + inPage = jQuery.contains( elem.ownerDocument, elem ); + + if ( jQuery.support.html5Clone || jQuery.isXMLDoc(elem) || !rnoshimcache.test( "<" + elem.nodeName + ">" ) ) { + clone = elem.cloneNode( true ); + + // IE<=8 does not properly clone detached, unknown element nodes + } else { + fragmentDiv.innerHTML = elem.outerHTML; + fragmentDiv.removeChild( clone = fragmentDiv.firstChild ); + } + + if ( (!jQuery.support.noCloneEvent || !jQuery.support.noCloneChecked) && + (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) { + + // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + // Fix all IE cloning issues + for ( i = 0; (node = srcElements[i]) != null; ++i ) { + // Ensure that the destination node is not null; Fixes #9587 + if ( destElements[i] ) { + fixCloneNodeIssues( node, destElements[i] ); + } + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0; (node = srcElements[i]) != null; i++ ) { + cloneCopyEvent( node, destElements[i] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + destElements = srcElements = node = null; + + // Return the cloned set + return clone; + }, + + buildFragment: function( elems, context, scripts, selection ) { + var j, elem, contains, + tmp, tag, tbody, wrap, + l = elems.length, + + // Ensure a safe fragment + safe = createSafeFragment( context ), + + nodes = [], + i = 0; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( jQuery.type( elem ) === "object" ) { + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || safe.appendChild( context.createElement("div") ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || ["", ""] )[1].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + + tmp.innerHTML = wrap[1] + elem.replace( rxhtmlTag, "<$1></$2>" ) + wrap[2]; + + // Descend through wrappers to the right content + j = wrap[0]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Manually add leading whitespace removed by IE + if ( !jQuery.support.leadingWhitespace && rleadingWhitespace.test( elem ) ) { + nodes.push( context.createTextNode( rleadingWhitespace.exec( elem )[0] ) ); + } + + // Remove IE's autoinserted <tbody> from table fragments + if ( !jQuery.support.tbody ) { + + // String was a <table>, *may* have spurious <tbody> + elem = tag === "table" && !rtbody.test( elem ) ? + tmp.firstChild : + + // String was a bare <thead> or <tfoot> + wrap[1] === "<table>" && !rtbody.test( elem ) ? + tmp : + 0; + + j = elem && elem.childNodes.length; + while ( j-- ) { + if ( jQuery.nodeName( (tbody = elem.childNodes[j]), "tbody" ) && !tbody.childNodes.length ) { + elem.removeChild( tbody ); + } + } + } + + jQuery.merge( nodes, tmp.childNodes ); + + // Fix #12392 for WebKit and IE > 9 + tmp.textContent = ""; + + // Fix #12392 for oldIE + while ( tmp.firstChild ) { + tmp.removeChild( tmp.firstChild ); + } + + // Remember the top-level container for proper cleanup + tmp = safe.lastChild; + } + } + } + + // Fix #11356: Clear elements from fragment + if ( tmp ) { + safe.removeChild( tmp ); + } + + // Reset defaultChecked for any radios and checkboxes + // about to be appended to the DOM in IE 6/7 (#8060) + if ( !jQuery.support.appendChecked ) { + jQuery.grep( getAll( nodes, "input" ), fixDefaultChecked ); + } + + i = 0; + while ( (elem = nodes[ i++ ]) ) { + + // #4087 - If origin and destination elements are the same, and this is + // that element, do not do anything + if ( selection && jQuery.inArray( elem, selection ) !== -1 ) { + continue; + } + + contains = jQuery.contains( elem.ownerDocument, elem ); + + // Append to fragment + tmp = getAll( safe.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( contains ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( (elem = tmp[ j++ ]) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + tmp = null; + + return safe; + }, + + cleanData: function( elems, /* internal */ acceptData ) { + var elem, type, id, data, + i = 0, + internalKey = jQuery.expando, + cache = jQuery.cache, + deleteExpando = jQuery.support.deleteExpando, + special = jQuery.event.special; + + for ( ; (elem = elems[i]) != null; i++ ) { + + if ( acceptData || jQuery.acceptData( elem ) ) { + + id = elem[ internalKey ]; + data = id && cache[ id ]; + + if ( data ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Remove cache only if it was not already removed by jQuery.event.remove + if ( cache[ id ] ) { + + delete cache[ id ]; + + // IE does not allow us to delete expando properties from nodes, + // nor does it have a removeAttribute function on Document nodes; + // we must handle all of these cases + if ( deleteExpando ) { + delete elem[ internalKey ]; + + } else if ( typeof elem.removeAttribute !== core_strundefined ) { + elem.removeAttribute( internalKey ); + + } else { + elem[ internalKey ] = null; + } + + core_deletedIds.push( id ); + } + } + } + } + } +}); +var iframe, getStyles, curCSS, + ralpha = /alpha\([^)]*\)/i, + ropacity = /opacity\s*=\s*([^)]*)/, + rposition = /^(top|right|bottom|left)$/, + // swappable if display is none or starts with table except "table", "table-cell", or "table-caption" + // see here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rmargin = /^margin/, + rnumsplit = new RegExp( "^(" + core_pnum + ")(.*)$", "i" ), + rnumnonpx = new RegExp( "^(" + core_pnum + ")(?!px)[a-z%]+$", "i" ), + rrelNum = new RegExp( "^([+-])=(" + core_pnum + ")", "i" ), + elemdisplay = { BODY: "block" }, + + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: 0, + fontWeight: 400 + }, + + cssExpand = [ "Top", "Right", "Bottom", "Left" ], + cssPrefixes = [ "Webkit", "O", "Moz", "ms" ]; + +// return a css property mapped to a potentially vendor prefixed property +function vendorPropName( style, name ) { + + // shortcut for names that are not vendor prefixed + if ( name in style ) { + return name; + } + + // check for vendor prefixed names + var capName = name.charAt(0).toUpperCase() + name.slice(1), + origName = name, + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in style ) { + return name; + } + } + + return origName; +} + +function isHidden( elem, el ) { + // isHidden might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem ); +} + +function showHide( elements, show ) { + var display, elem, hidden, + values = [], + index = 0, + length = elements.length; + + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + values[ index ] = jQuery._data( elem, "olddisplay" ); + display = elem.style.display; + if ( show ) { + // Reset the inline display of this element to learn if it is + // being hidden by cascaded rules or not + if ( !values[ index ] && display === "none" ) { + elem.style.display = ""; + } + + // Set elements which have been overridden with display: none + // in a stylesheet to whatever the default browser style is + // for such an element + if ( elem.style.display === "" && isHidden( elem ) ) { + values[ index ] = jQuery._data( elem, "olddisplay", css_defaultDisplay(elem.nodeName) ); + } + } else { + + if ( !values[ index ] ) { + hidden = isHidden( elem ); + + if ( display && display !== "none" || !hidden ) { + jQuery._data( elem, "olddisplay", hidden ? display : jQuery.css( elem, "display" ) ); + } + } + } + } + + // Set the display of most of the elements in a second loop + // to avoid the constant reflow + for ( index = 0; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + if ( !show || elem.style.display === "none" || elem.style.display === "" ) { + elem.style.display = show ? values[ index ] || "" : "none"; + } + } + + return elements; +} + +jQuery.fn.extend({ + css: function( name, value ) { + return jQuery.access( this, function( elem, name, value ) { + var len, styles, + map = {}, + i = 0; + + if ( jQuery.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + }, + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + var bool = typeof state === "boolean"; + + return this.each(function() { + if ( bool ? state : isHidden( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + }); + } +}); + +jQuery.extend({ + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Exclude the following css properties to add px + cssNumber: { + "columnCount": true, + "fillOpacity": true, + "fontWeight": true, + "lineHeight": true, + "opacity": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: { + // normalize float css property + "float": jQuery.support.cssFloat ? "cssFloat" : "styleFloat" + }, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = jQuery.camelCase( name ), + style = elem.style; + + name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( style, origName ) ); + + // gets hook for the prefixed version + // followed by the unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // convert relative number strings (+= or -=) to relative numbers. #7345 + if ( type === "string" && (ret = rrelNum.exec( value )) ) { + value = ( ret[1] + 1 ) * ret[2] + parseFloat( jQuery.css( elem, name ) ); + // Fixes bug #9237 + type = "number"; + } + + // Make sure that NaN and null values aren't set. See: #7116 + if ( value == null || type === "number" && isNaN( value ) ) { + return; + } + + // If a number was passed in, add 'px' to the (except for certain CSS properties) + if ( type === "number" && !jQuery.cssNumber[ origName ] ) { + value += "px"; + } + + // Fixes #8908, it can be done more correctly by specifing setters in cssHooks, + // but it would mean to define eight (for every problematic property) identical functions + if ( !jQuery.support.clearCloneStyle && value === "" && name.indexOf("background") === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value, extra )) !== undefined ) { + + // Wrapped to prevent IE from throwing errors when 'invalid' values are provided + // Fixes bug #5509 + try { + style[ name ] = value; + } catch(e) {} + } + + } else { + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) { + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var num, val, hooks, + origName = jQuery.camelCase( name ); + + // Make sure that we're working with the right name + name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( elem.style, origName ) ); + + // gets hook for the prefixed version + // followed by the unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + //convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Return, converting to number if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || jQuery.isNumeric( num ) ? num || 0 : val; + } + return val; + }, + + // A method for quickly swapping in/out CSS properties to get correct calculations + swap: function( elem, options, callback, args ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.apply( elem, args || [] ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; + } +}); + +// NOTE: we've included the "window" in window.getComputedStyle +// because jsdom on node.js will break without it. +if ( window.getComputedStyle ) { + getStyles = function( elem ) { + return window.getComputedStyle( elem, null ); + }; + + curCSS = function( elem, name, _computed ) { + var width, minWidth, maxWidth, + computed = _computed || getStyles( elem ), + + // getPropertyValue is only needed for .css('filter') in IE9, see #12537 + ret = computed ? computed.getPropertyValue( name ) || computed[ name ] : undefined, + style = elem.style; + + if ( computed ) { + + if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Chrome < 17 and Safari 5.0 uses "computed value" instead of "used value" for margin-right + // Safari 5.1.7 (at least) returns percentage for a larger set of values, but width seems to be reliably pixels + // this is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values + if ( rnumnonpx.test( ret ) && rmargin.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret; + }; +} else if ( document.documentElement.currentStyle ) { + getStyles = function( elem ) { + return elem.currentStyle; + }; + + curCSS = function( elem, name, _computed ) { + var left, rs, rsLeft, + computed = _computed || getStyles( elem ), + ret = computed ? computed[ name ] : undefined, + style = elem.style; + + // Avoid setting ret to empty string here + // so we don't default to auto + if ( ret == null && style && style[ name ] ) { + ret = style[ name ]; + } + + // From the awesome hack by Dean Edwards + // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291 + + // If we're not dealing with a regular pixel number + // but a number that has a weird ending, we need to convert it to pixels + // but not position css attributes, as those are proportional to the parent element instead + // and we can't measure the parent instead because it might trigger a "stacking dolls" problem + if ( rnumnonpx.test( ret ) && !rposition.test( name ) ) { + + // Remember the original values + left = style.left; + rs = elem.runtimeStyle; + rsLeft = rs && rs.left; + + // Put in the new values to get a computed value out + if ( rsLeft ) { + rs.left = elem.currentStyle.left; + } + style.left = name === "fontSize" ? "1em" : ret; + ret = style.pixelLeft + "px"; + + // Revert the changed values + style.left = left; + if ( rsLeft ) { + rs.left = rsLeft; + } + } + + return ret === "" ? "auto" : ret; + }; +} + +function setPositiveNumber( elem, value, subtract ) { + var matches = rnumsplit.exec( value ); + return matches ? + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 1 ] - ( subtract || 0 ) ) + ( matches[ 2 ] || "px" ) : + value; +} + +function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) { + var i = extra === ( isBorderBox ? "border" : "content" ) ? + // If we already have the right measurement, avoid augmentation + 4 : + // Otherwise initialize for horizontal or vertical properties + name === "width" ? 1 : 0, + + val = 0; + + for ( ; i < 4; i += 2 ) { + // both box models exclude margin, so add it if we want it + if ( extra === "margin" ) { + val += jQuery.css( elem, extra + cssExpand[ i ], true, styles ); + } + + if ( isBorderBox ) { + // border-box includes padding, so remove it if we want content + if ( extra === "content" ) { + val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // at this point, extra isn't border nor margin, so remove border + if ( extra !== "margin" ) { + val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } else { + // at this point, extra isn't content, so add padding + val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // at this point, extra isn't content nor padding, so add border + if ( extra !== "padding" ) { + val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + return val; +} + +function getWidthOrHeight( elem, name, extra ) { + + // Start with offset property, which is equivalent to the border-box value + var valueIsBorderBox = true, + val = name === "width" ? elem.offsetWidth : elem.offsetHeight, + styles = getStyles( elem ), + isBorderBox = jQuery.support.boxSizing && jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // some non-html elements return undefined for offsetWidth, so check for null/undefined + // svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285 + // MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668 + if ( val <= 0 || val == null ) { + // Fall back to computed then uncomputed css if necessary + val = curCSS( elem, name, styles ); + if ( val < 0 || val == null ) { + val = elem.style[ name ]; + } + + // Computed unit is not pixels. Stop here and return. + if ( rnumnonpx.test(val) ) { + return val; + } + + // we need the check for style in case a browser which returns unreliable values + // for getComputedStyle silently falls back to the reliable elem.style + valueIsBorderBox = isBorderBox && ( jQuery.support.boxSizingReliable || val === elem.style[ name ] ); + + // Normalize "", auto, and prepare for extra + val = parseFloat( val ) || 0; + } + + // use the active box-sizing model to add/subtract irrelevant styles + return ( val + + augmentWidthOrHeight( + elem, + name, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles + ) + ) + "px"; +} + +// Try to determine the default display value of an element +function css_defaultDisplay( nodeName ) { + var doc = document, + display = elemdisplay[ nodeName ]; + + if ( !display ) { + display = actualDisplay( nodeName, doc ); + + // If the simple way fails, read from inside an iframe + if ( display === "none" || !display ) { + // Use the already-created iframe if possible + iframe = ( iframe || + jQuery("<iframe frameborder='0' width='0' height='0'/>") + .css( "cssText", "display:block !important" ) + ).appendTo( doc.documentElement ); + + // Always write a new HTML skeleton so Webkit and Firefox don't choke on reuse + doc = ( iframe[0].contentWindow || iframe[0].contentDocument ).document; + doc.write("<!doctype html><html><body>"); + doc.close(); + + display = actualDisplay( nodeName, doc ); + iframe.detach(); + } + + // Store the correct default display + elemdisplay[ nodeName ] = display; + } + + return display; +} + +// Called ONLY from within css_defaultDisplay +function actualDisplay( name, doc ) { + var elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ), + display = jQuery.css( elem[0], "display" ); + elem.remove(); + return display; +} + +jQuery.each([ "height", "width" ], function( i, name ) { + jQuery.cssHooks[ name ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + // certain elements can have dimension info if we invisibly show them + // however, it must have a current display style that would benefit from this + return elem.offsetWidth === 0 && rdisplayswap.test( jQuery.css( elem, "display" ) ) ? + jQuery.swap( elem, cssShow, function() { + return getWidthOrHeight( elem, name, extra ); + }) : + getWidthOrHeight( elem, name, extra ); + } + }, + + set: function( elem, value, extra ) { + var styles = extra && getStyles( elem ); + return setPositiveNumber( elem, value, extra ? + augmentWidthOrHeight( + elem, + name, + extra, + jQuery.support.boxSizing && jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + styles + ) : 0 + ); + } + }; +}); + +if ( !jQuery.support.opacity ) { + jQuery.cssHooks.opacity = { + get: function( elem, computed ) { + // IE uses filters for opacity + return ropacity.test( (computed && elem.currentStyle ? elem.currentStyle.filter : elem.style.filter) || "" ) ? + ( 0.01 * parseFloat( RegExp.$1 ) ) + "" : + computed ? "1" : ""; + }, + + set: function( elem, value ) { + var style = elem.style, + currentStyle = elem.currentStyle, + opacity = jQuery.isNumeric( value ) ? "alpha(opacity=" + value * 100 + ")" : "", + filter = currentStyle && currentStyle.filter || style.filter || ""; + + // IE has trouble with opacity if it does not have layout + // Force it by setting the zoom level + style.zoom = 1; + + // if setting opacity to 1, and no other filters exist - attempt to remove filter attribute #6652 + // if value === "", then remove inline opacity #12685 + if ( ( value >= 1 || value === "" ) && + jQuery.trim( filter.replace( ralpha, "" ) ) === "" && + style.removeAttribute ) { + + // Setting style.filter to null, "" & " " still leave "filter:" in the cssText + // if "filter:" is present at all, clearType is disabled, we want to avoid this + // style.removeAttribute is IE Only, but so apparently is this code path... + style.removeAttribute( "filter" ); + + // if there is no filter style applied in a css rule or unset inline opacity, we are done + if ( value === "" || currentStyle && !currentStyle.filter ) { + return; + } + } + + // otherwise, set new filter values + style.filter = ralpha.test( filter ) ? + filter.replace( ralpha, opacity ) : + filter + " " + opacity; + } + }; +} + +// These hooks cannot be added until DOM ready because the support test +// for it is not run until after DOM ready +jQuery(function() { + if ( !jQuery.support.reliableMarginRight ) { + jQuery.cssHooks.marginRight = { + get: function( elem, computed ) { + if ( computed ) { + // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right + // Work around by temporarily setting element display to inline-block + return jQuery.swap( elem, { "display": "inline-block" }, + curCSS, [ elem, "marginRight" ] ); + } + } + }; + } + + // Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084 + // getComputedStyle returns percent when specified for top/left/bottom/right + // rather than make the css module depend on the offset module, we just check for it here + if ( !jQuery.support.pixelPosition && jQuery.fn.position ) { + jQuery.each( [ "top", "left" ], function( i, prop ) { + jQuery.cssHooks[ prop ] = { + get: function( elem, computed ) { + if ( computed ) { + computed = curCSS( elem, prop ); + // if curCSS returns percentage, fallback to offset + return rnumnonpx.test( computed ) ? + jQuery( elem ).position()[ prop ] + "px" : + computed; + } + } + }; + }); + } + +}); + +if ( jQuery.expr && jQuery.expr.filters ) { + jQuery.expr.filters.hidden = function( elem ) { + // Support: Opera <= 12.12 + // Opera reports offsetWidths and offsetHeights less than zero on some elements + return elem.offsetWidth <= 0 && elem.offsetHeight <= 0 || + (!jQuery.support.reliableHiddenOffsets && ((elem.style && elem.style.display) || jQuery.css( elem, "display" )) === "none"); + }; + + jQuery.expr.filters.visible = function( elem ) { + return !jQuery.expr.filters.hidden( elem ); + }; +} + +// These hooks are used by animate to expand properties +jQuery.each({ + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // assumes a single number if not a string + parts = typeof value === "string" ? value.split(" ") : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( !rmargin.test( prefix ) ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +}); +var r20 = /%20/g, + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +jQuery.fn.extend({ + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map(function(){ + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + }) + .filter(function(){ + var type = this.type; + // Use .is(":disabled") so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !manipulation_rcheckableType.test( type ) ); + }) + .map(function( i, elem ){ + var val = jQuery( this ).val(); + + return val == null ? + null : + jQuery.isArray( val ) ? + jQuery.map( val, function( val ){ + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + }) : + { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + }).get(); + } +}); + +//Serialize an array of form elements or a set of +//key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, value ) { + // If value is a function, invoke it and return its value + value = jQuery.isFunction( value ) ? value() : ( value == null ? "" : value ); + s[ s.length ] = encodeURIComponent( key ) + "=" + encodeURIComponent( value ); + }; + + // Set traditional to true for jQuery <= 1.3.2 behavior. + if ( traditional === undefined ) { + traditional = jQuery.ajaxSettings && jQuery.ajaxSettings.traditional; + } + + // If an array was passed in, assume that it is an array of form elements. + if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + }); + + } else { + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ).replace( r20, "+" ); +}; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( jQuery.isArray( obj ) ) { + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + // Item is non-scalar (array or object), encode its numeric index. + buildParams( prefix + "[" + ( typeof v === "object" ? i : "" ) + "]", v, traditional, add ); + } + }); + + } else if ( !traditional && jQuery.type( obj ) === "object" ) { + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + // Serialize scalar item. + add( prefix, obj ); + } +} +jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " + + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + + "change select submit keydown keypress keyup error contextmenu").split(" "), function( i, name ) { + + // Handle event binding + jQuery.fn[ name ] = function( data, fn ) { + return arguments.length > 0 ? + this.on( name, null, data, fn ) : + this.trigger( name ); + }; +}); + +jQuery.fn.hover = function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); +}; +var + // Document location + ajaxLocParts, + ajaxLocation, + ajax_nonce = jQuery.now(), + + ajax_rquery = /\?/, + rhash = /#.*$/, + rts = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg, // IE leaves an \r character at EOL + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + rurl = /^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/, + + // Keep a copy of the old load method + _load = jQuery.fn.load, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat("*"); + +// #8138, IE may throw an exception when accessing +// a field from window.location if document.domain has been set +try { + ajaxLocation = location.href; +} catch( e ) { + // Use the href attribute of an A element + // since IE will modify it given document.location + ajaxLocation = document.createElement( "a" ); + ajaxLocation.href = ""; + ajaxLocation = ajaxLocation.href; +} + +// Segment location into parts +ajaxLocParts = rurl.exec( ajaxLocation.toLowerCase() ) || []; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( core_rnotwhite ) || []; + + if ( jQuery.isFunction( func ) ) { + // For each dataType in the dataTypeExpression + while ( (dataType = dataTypes[i++]) ) { + // Prepend if requested + if ( dataType[0] === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + (structure[ dataType ] = structure[ dataType ] || []).unshift( func ); + + // Otherwise append + } else { + (structure[ dataType ] = structure[ dataType ] || []).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if( typeof dataTypeOrTransport === "string" && !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + }); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var deep, key, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || (deep = {}) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +jQuery.fn.load = function( url, params, callback ) { + if ( typeof url !== "string" && _load ) { + return _load.apply( this, arguments ); + } + + var selector, response, type, + self = this, + off = url.indexOf(" "); + + if ( off >= 0 ) { + selector = url.slice( off, url.length ); + url = url.slice( 0, off ); + } + + // If it's a function + if ( jQuery.isFunction( params ) ) { + + // We assume that it's the callback + callback = params; + params = undefined; + + // Otherwise, build a param string + } else if ( params && typeof params === "object" ) { + type = "POST"; + } + + // If we have elements to modify, make the request + if ( self.length > 0 ) { + jQuery.ajax({ + url: url, + + // if "type" variable is undefined, then "GET" method will be used + type: type, + dataType: "html", + data: params + }).done(function( responseText ) { + + // Save response for use in complete callback + response = arguments; + + self.html( selector ? + + // If a selector was specified, locate the right elements in a dummy div + // Exclude scripts to avoid IE 'Permission Denied' errors + jQuery("<div>").append( jQuery.parseHTML( responseText ) ).find( selector ) : + + // Otherwise use the full result + responseText ); + + }).complete( callback && function( jqXHR, status ) { + self.each( callback, response || [ jqXHR.responseText, status, jqXHR ] ); + }); + } + + return this; +}; + +// Attach a bunch of functions for handling common AJAX events +jQuery.each( [ "ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend" ], function( i, type ){ + jQuery.fn[ type ] = function( fn ){ + return this.on( type, fn ); + }; +}); + +jQuery.each( [ "get", "post" ], function( i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + // shift arguments if data argument was omitted + if ( jQuery.isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + return jQuery.ajax({ + url: url, + type: method, + dataType: type, + data: data, + success: callback + }); + }; +}); + +jQuery.extend({ + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: ajaxLocation, + type: "GET", + isLocal: rlocalProtocol.test( ajaxLocParts[ 1 ] ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + + contents: { + xml: /xml/, + html: /html/, + json: /json/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": window.String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": jQuery.parseJSON, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var // Cross-domain detection vars + parts, + // Loop variable + i, + // URL without anti-cache param + cacheURL, + // Response headers as string + responseHeadersString, + // timeout handle + timeoutTimer, + + // To know if global events are to be dispatched + fireGlobals, + + transport, + // Response headers + responseHeaders, + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + // Callbacks context + callbackContext = s.context || s, + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks("once memory"), + // Status-dependent callbacks + statusCode = s.statusCode || {}, + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + // The jqXHR state + state = 0, + // Default abort message + strAbort = "canceled", + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( state === 2 ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( (match = rheaders.exec( responseHeadersString )) ) { + responseHeaders[ match[1].toLowerCase() ] = match[ 2 ]; + } + } + match = responseHeaders[ key.toLowerCase() ]; + } + return match == null ? null : match; + }, + + // Raw string + getAllResponseHeaders: function() { + return state === 2 ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + var lname = name.toLowerCase(); + if ( !state ) { + name = requestHeadersNames[ lname ] = requestHeadersNames[ lname ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( !state ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( state < 2 ) { + for ( code in map ) { + // Lazy-add the new callback in a way that preserves old ones + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } else { + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ).complete = completeDeferred.add; + jqXHR.success = jqXHR.done; + jqXHR.error = jqXHR.fail; + + // Remove hash character (#7531: and string promotion) + // Add protocol if not provided (#5866: IE7 issue with protocol-less urls) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || ajaxLocation ) + "" ).replace( rhash, "" ).replace( rprotocol, ajaxLocParts[ 1 ] + "//" ); + + // Alias method option to type as per ticket #12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = jQuery.trim( s.dataType || "*" ).toLowerCase().match( core_rnotwhite ) || [""]; + + // A cross-domain request is in order when we have a protocol:host:port mismatch + if ( s.crossDomain == null ) { + parts = rurl.exec( s.url.toLowerCase() ); + s.crossDomain = !!( parts && + ( parts[ 1 ] !== ajaxLocParts[ 1 ] || parts[ 2 ] !== ajaxLocParts[ 2 ] || + ( parts[ 3 ] || ( parts[ 1 ] === "http:" ? 80 : 443 ) ) != + ( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === "http:" ? 80 : 443 ) ) ) + ); + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( state === 2 ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + fireGlobals = s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger("ajaxStart"); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + cacheURL = s.url; + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // If data is available, append data to url + if ( s.data ) { + cacheURL = ( s.url += ( ajax_rquery.test( cacheURL ) ? "&" : "?" ) + s.data ); + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add anti-cache in url if needed + if ( s.cache === false ) { + s.url = rts.test( cacheURL ) ? + + // If there is already a '_' parameter, set its value + cacheURL.replace( rts, "$1_=" + ajax_nonce++ ) : + + // Otherwise add one to the end + cacheURL + ( ajax_rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ajax_nonce++; + } + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[0] ] ? + s.accepts[ s.dataTypes[0] ] + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || state === 2 ) ) { + // Abort if not done already and return + return jqXHR.abort(); + } + + // aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + for ( i in { success: 1, error: 1, complete: 1 } ) { + jqXHR[ i ]( s[ i ] ); + } + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = setTimeout(function() { + jqXHR.abort("timeout"); + }, s.timeout ); + } + + try { + state = 1; + transport.send( requestHeaders, done ); + } catch ( e ) { + // Propagate exception as error if not done + if ( state < 2 ) { + done( -1, e ); + // Simply rethrow otherwise + } else { + throw e; + } + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Called once + if ( state === 2 ) { + return; + } + + // State is "done" now + state = 2; + + // Clear timeout if it exists + if ( timeoutTimer ) { + clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // If successful, handle type chaining + if ( status >= 200 && status < 300 || status === 304 ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader("Last-Modified"); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader("etag"); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 ) { + isSuccess = true; + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + isSuccess = true; + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + isSuccess = ajaxConvert( s, response ); + statusText = isSuccess.state; + success = isSuccess.data; + error = isSuccess.error; + isSuccess = !error; + } + } else { + // We extract error from statusText + // then normalize statusText and status for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger("ajaxStop"); + } + } + } + + return jqXHR; + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + } +}); + +/* Handles responses to an ajax request: + * - sets all responseXXX fields accordingly + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + var firstDataType, ct, finalDataType, type, + contents = s.contents, + dataTypes = s.dataTypes, + responseFields = s.responseFields; + + // Fill responseXXX fields + for ( type in responseFields ) { + if ( type in responses ) { + jqXHR[ responseFields[type] ] = responses[ type ]; + } + } + + // Remove auto dataType and get content-type in the process + while( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader("Content-Type"); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[0] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +// Chain conversions given the request and the original response +function ajaxConvert( s, response ) { + var conv2, current, conv, tmp, + converters = {}, + i = 0, + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(), + prev = dataTypes[ 0 ]; + + // Apply the dataFilter if provided + if ( s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + // Convert to each sequential dataType, tolerating list modification + for ( ; (current = dataTypes[++i]); ) { + + // There's only work to do if current dataType is non-auto + if ( current !== "*" ) { + + // Convert response if prev dataType is non-auto and differs from current + if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split(" "); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.splice( i--, 0, current ); + } + + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s["throws"] ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { state: "parsererror", error: conv ? e : "No conversion from " + prev + " to " + current }; + } + } + } + } + + // Update prev for next iteration + prev = current; + } + } + + return { state: "success", data: response }; +} +// Install script dataType +jQuery.ajaxSetup({ + accepts: { + script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /(?:java|ecma)script/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +}); + +// Handle cache's special case and global +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + s.global = false; + } +}); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function(s) { + + // This transport only deals with cross domain requests + if ( s.crossDomain ) { + + var script, + head = document.head || jQuery("head")[0] || document.documentElement; + + return { + + send: function( _, callback ) { + + script = document.createElement("script"); + + script.async = true; + + if ( s.scriptCharset ) { + script.charset = s.scriptCharset; + } + + script.src = s.url; + + // Attach handlers for all browsers + script.onload = script.onreadystatechange = function( _, isAbort ) { + + if ( isAbort || !script.readyState || /loaded|complete/.test( script.readyState ) ) { + + // Handle memory leak in IE + script.onload = script.onreadystatechange = null; + + // Remove the script + if ( script.parentNode ) { + script.parentNode.removeChild( script ); + } + + // Dereference the script + script = null; + + // Callback if not abort + if ( !isAbort ) { + callback( 200, "success" ); + } + } + }; + + // Circumvent IE6 bugs with base elements (#2709 and #4378) by prepending + // Use native DOM manipulation to avoid our domManip AJAX trickery + head.insertBefore( script, head.firstChild ); + }, + + abort: function() { + if ( script ) { + script.onload( undefined, true ); + } + } + }; + } +}); +var oldCallbacks = [], + rjsonp = /(=)\?(?=&|$)|\?\?/; + +// Default jsonp settings +jQuery.ajaxSetup({ + jsonp: "callback", + jsonpCallback: function() { + var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( ajax_nonce++ ) ); + this[ callback ] = true; + return callback; + } +}); + +// Detect, normalize options and install callbacks for jsonp requests +jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { + + var callbackName, overwritten, responseContainer, + jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ? + "url" : + typeof s.data === "string" && !( s.contentType || "" ).indexOf("application/x-www-form-urlencoded") && rjsonp.test( s.data ) && "data" + ); + + // Handle iff the expected data type is "jsonp" or we have a parameter to set + if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) { + + // Get callback name, remembering preexisting value associated with it + callbackName = s.jsonpCallback = jQuery.isFunction( s.jsonpCallback ) ? + s.jsonpCallback() : + s.jsonpCallback; + + // Insert callback into url or form data + if ( jsonProp ) { + s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName ); + } else if ( s.jsonp !== false ) { + s.url += ( ajax_rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName; + } + + // Use data converter to retrieve json after script execution + s.converters["script json"] = function() { + if ( !responseContainer ) { + jQuery.error( callbackName + " was not called" ); + } + return responseContainer[ 0 ]; + }; + + // force json dataType + s.dataTypes[ 0 ] = "json"; + + // Install callback + overwritten = window[ callbackName ]; + window[ callbackName ] = function() { + responseContainer = arguments; + }; + + // Clean-up function (fires after converters) + jqXHR.always(function() { + // Restore preexisting value + window[ callbackName ] = overwritten; + + // Save back as free + if ( s[ callbackName ] ) { + // make sure that re-using the options doesn't screw things around + s.jsonpCallback = originalSettings.jsonpCallback; + + // save the callback name for future use + oldCallbacks.push( callbackName ); + } + + // Call if it was a function and we have a response + if ( responseContainer && jQuery.isFunction( overwritten ) ) { + overwritten( responseContainer[ 0 ] ); + } + + responseContainer = overwritten = undefined; + }); + + // Delegate to script + return "script"; + } +}); +var xhrCallbacks, xhrSupported, + xhrId = 0, + // #5280: Internet Explorer will keep connections alive if we don't abort on unload + xhrOnUnloadAbort = window.ActiveXObject && function() { + // Abort all pending requests + var key; + for ( key in xhrCallbacks ) { + xhrCallbacks[ key ]( undefined, true ); + } + }; + +// Functions to create xhrs +function createStandardXHR() { + try { + return new window.XMLHttpRequest(); + } catch( e ) {} +} + +function createActiveXHR() { + try { + return new window.ActiveXObject("Microsoft.XMLHTTP"); + } catch( e ) {} +} + +// Create the request object +// (This is still attached to ajaxSettings for backward compatibility) +jQuery.ajaxSettings.xhr = window.ActiveXObject ? + /* Microsoft failed to properly + * implement the XMLHttpRequest in IE7 (can't request local files), + * so we use the ActiveXObject when it is available + * Additionally XMLHttpRequest can be disabled in IE7/IE8 so + * we need a fallback. + */ + function() { + return !this.isLocal && createStandardXHR() || createActiveXHR(); + } : + // For all other browsers, use the standard XMLHttpRequest object + createStandardXHR; + +// Determine support properties +xhrSupported = jQuery.ajaxSettings.xhr(); +jQuery.support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +xhrSupported = jQuery.support.ajax = !!xhrSupported; + +// Create transport if the browser can provide an xhr +if ( xhrSupported ) { + + jQuery.ajaxTransport(function( s ) { + // Cross domain only allowed if supported through XMLHttpRequest + if ( !s.crossDomain || jQuery.support.cors ) { + + var callback; + + return { + send: function( headers, complete ) { + + // Get a new xhr + var handle, i, + xhr = s.xhr(); + + // Open the socket + // Passing null username, generates a login popup on Opera (#2865) + if ( s.username ) { + xhr.open( s.type, s.url, s.async, s.username, s.password ); + } else { + xhr.open( s.type, s.url, s.async ); + } + + // Apply custom fields if provided + if ( s.xhrFields ) { + for ( i in s.xhrFields ) { + xhr[ i ] = s.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( s.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( s.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !s.crossDomain && !headers["X-Requested-With"] ) { + headers["X-Requested-With"] = "XMLHttpRequest"; + } + + // Need an extra try/catch for cross domain requests in Firefox 3 + try { + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + } catch( err ) {} + + // Do send the request + // This may raise an exception which is actually + // handled in jQuery.ajax (so no try/catch here) + xhr.send( ( s.hasContent && s.data ) || null ); + + // Listener + callback = function( _, isAbort ) { + var status, responseHeaders, statusText, responses; + + // Firefox throws exceptions when accessing properties + // of an xhr when a network error occurred + // http://helpful.knobs-dials.com/index.php/Component_returned_failure_code:_0x80040111_(NS_ERROR_NOT_AVAILABLE) + try { + + // Was never called and is aborted or complete + if ( callback && ( isAbort || xhr.readyState === 4 ) ) { + + // Only called once + callback = undefined; + + // Do not keep as active anymore + if ( handle ) { + xhr.onreadystatechange = jQuery.noop; + if ( xhrOnUnloadAbort ) { + delete xhrCallbacks[ handle ]; + } + } + + // If it's an abort + if ( isAbort ) { + // Abort it manually if needed + if ( xhr.readyState !== 4 ) { + xhr.abort(); + } + } else { + responses = {}; + status = xhr.status; + responseHeaders = xhr.getAllResponseHeaders(); + + // When requesting binary data, IE6-9 will throw an exception + // on any attempt to access responseText (#11426) + if ( typeof xhr.responseText === "string" ) { + responses.text = xhr.responseText; + } + + // Firefox throws an exception when accessing + // statusText for faulty cross-domain requests + try { + statusText = xhr.statusText; + } catch( e ) { + // We normalize with Webkit giving an empty statusText + statusText = ""; + } + + // Filter status for non standard behaviors + + // If the request is local and we have data: assume a success + // (success with no data won't get notified, that's the best we + // can do given current implementations) + if ( !status && s.isLocal && !s.crossDomain ) { + status = responses.text ? 200 : 404; + // IE - #1450: sometimes returns 1223 when it should be 204 + } else if ( status === 1223 ) { + status = 204; + } + } + } + } catch( firefoxAccessException ) { + if ( !isAbort ) { + complete( -1, firefoxAccessException ); + } + } + + // Call complete if needed + if ( responses ) { + complete( status, statusText, responses, responseHeaders ); + } + }; + + if ( !s.async ) { + // if we're in sync mode we fire the callback + callback(); + } else if ( xhr.readyState === 4 ) { + // (IE6 & IE7) if it's in cache and has been + // retrieved directly we need to fire the callback + setTimeout( callback ); + } else { + handle = ++xhrId; + if ( xhrOnUnloadAbort ) { + // Create the active xhrs callbacks list if needed + // and attach the unload handler + if ( !xhrCallbacks ) { + xhrCallbacks = {}; + jQuery( window ).unload( xhrOnUnloadAbort ); + } + // Add to list of active xhrs callbacks + xhrCallbacks[ handle ] = callback; + } + xhr.onreadystatechange = callback; + } + }, + + abort: function() { + if ( callback ) { + callback( undefined, true ); + } + } + }; + } + }); +} +var fxNow, timerId, + rfxtypes = /^(?:toggle|show|hide)$/, + rfxnum = new RegExp( "^(?:([+-])=|)(" + core_pnum + ")([a-z%]*)$", "i" ), + rrun = /queueHooks$/, + animationPrefilters = [ defaultPrefilter ], + tweeners = { + "*": [function( prop, value ) { + var end, unit, + tween = this.createTween( prop, value ), + parts = rfxnum.exec( value ), + target = tween.cur(), + start = +target || 0, + scale = 1, + maxIterations = 20; + + if ( parts ) { + end = +parts[2]; + unit = parts[3] || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + + // We need to compute starting value + if ( unit !== "px" && start ) { + // Iteratively approximate from a nonzero starting point + // Prefer the current property, because this process will be trivial if it uses the same units + // Fallback to end or a simple constant + start = jQuery.css( tween.elem, prop, true ) || end || 1; + + do { + // If previous iteration zeroed out, double until we get *something* + // Use a string for doubling factor so we don't accidentally see scale as unchanged below + scale = scale || ".5"; + + // Adjust and apply + start = start / scale; + jQuery.style( tween.elem, prop, start + unit ); + + // Update scale, tolerating zero or NaN from tween.cur() + // And breaking the loop if scale is unchanged or perfect, or if we've just had enough + } while ( scale !== (scale = tween.cur() / target) && scale !== 1 && --maxIterations ); + } + + tween.unit = unit; + tween.start = start; + // If a +=/-= token was provided, we're doing a relative animation + tween.end = parts[1] ? start + ( parts[1] + 1 ) * end : end; + } + return tween; + }] + }; + +// Animations created synchronously will run synchronously +function createFxNow() { + setTimeout(function() { + fxNow = undefined; + }); + return ( fxNow = jQuery.now() ); +} + +function createTweens( animation, props ) { + jQuery.each( props, function( prop, value ) { + var collection = ( tweeners[ prop ] || [] ).concat( tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( collection[ index ].call( animation, prop, value ) ) { + + // we're done with this property + return; + } + } + }); +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = animationPrefilters.length, + deferred = jQuery.Deferred().always( function() { + // don't match elem in the :animated selector + delete tick.elem; + }), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + // archaic crash bug won't allow us to use 1 - ( 0.5 || 0 ) (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length ; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ]); + + if ( percent < 1 && length ) { + return remaining; + } else { + deferred.resolveWith( elem, [ animation ] ); + return false; + } + }, + animation = deferred.promise({ + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { specialEasing: {} }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + // if we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length ; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // resolve when we played the last frame + // otherwise, reject + if ( gotoEnd ) { + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + }), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length ; index++ ) { + result = animationPrefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + return result; + } + } + + createTweens( animation, props ); + + if ( jQuery.isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + }) + ); + + // attach callbacks from options + return animation.progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); +} + +function propFilter( props, specialEasing ) { + var value, name, index, easing, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = jQuery.camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( jQuery.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // not quite $.extend, this wont overwrite keys already present. + // also - reusing 'index' from above because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweener: function( props, callback ) { + if ( jQuery.isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.split(" "); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length ; index++ ) { + prop = props[ index ]; + tweeners[ prop ] = tweeners[ prop ] || []; + tweeners[ prop ].unshift( callback ); + } + }, + + prefilter: function( callback, prepend ) { + if ( prepend ) { + animationPrefilters.unshift( callback ); + } else { + animationPrefilters.push( callback ); + } + } +}); + +function defaultPrefilter( elem, props, opts ) { + /*jshint validthis:true */ + var prop, index, length, + value, dataShow, toggle, + tween, hooks, oldfire, + anim = this, + style = elem.style, + orig = {}, + handled = [], + hidden = elem.nodeType && isHidden( elem ); + + // handle queue: false promises + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always(function() { + // doing this makes sure that the complete handler will be called + // before this completes + anim.always(function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + }); + }); + } + + // height/width overflow pass + if ( elem.nodeType === 1 && ( "height" in props || "width" in props ) ) { + // Make sure that nothing sneaks out + // Record all 3 overflow attributes because IE does not + // change the overflow attribute when overflowX and + // overflowY are set to the same value + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Set display property to inline-block for height/width + // animations on inline elements that are having width/height animated + if ( jQuery.css( elem, "display" ) === "inline" && + jQuery.css( elem, "float" ) === "none" ) { + + // inline-level elements accept inline-block; + // block-level elements need to be inline with layout + if ( !jQuery.support.inlineBlockNeedsLayout || css_defaultDisplay( elem.nodeName ) === "inline" ) { + style.display = "inline-block"; + + } else { + style.zoom = 1; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + if ( !jQuery.support.shrinkWrapBlocks ) { + anim.always(function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + }); + } + } + + + // show/hide pass + for ( index in props ) { + value = props[ index ]; + if ( rfxtypes.exec( value ) ) { + delete props[ index ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + continue; + } + handled.push( index ); + } + } + + length = handled.length; + if ( length ) { + dataShow = jQuery._data( elem, "fxshow" ) || jQuery._data( elem, "fxshow", {} ); + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + + // store state if its toggle - enables .stop().toggle() to "reverse" + if ( toggle ) { + dataShow.hidden = !hidden; + } + if ( hidden ) { + jQuery( elem ).show(); + } else { + anim.done(function() { + jQuery( elem ).hide(); + }); + } + anim.done(function() { + var prop; + jQuery._removeData( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + }); + for ( index = 0 ; index < length ; index++ ) { + prop = handled[ index ]; + tween = anim.createTween( prop, hidden ? dataShow[ prop ] : 0 ); + orig[ prop ] = dataShow[ prop ] || jQuery.style( elem, prop ); + + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = tween.start; + if ( hidden ) { + tween.end = tween.start; + tween.start = prop === "width" || prop === "height" ? 1 : 0; + } + } + } + } +} + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || "swing"; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + if ( tween.elem[ tween.prop ] != null && + (!tween.elem.style || tween.elem.style[ tween.prop ] == null) ) { + return tween.elem[ tween.prop ]; + } + + // passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails + // so, simple values such as "10px" are parsed to Float. + // complex values such as "rotate(1rad)" are returned as is. + result = jQuery.css( tween.elem, tween.prop, "" ); + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + // use step hook for back compat - use cssHook if its there - use .style if its + // available and use plain properties where available + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.style && ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || jQuery.cssHooks[ tween.prop ] ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Remove in 2.0 - this supports IE8's panic based approach +// to setting things on disconnected nodes + +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.each([ "toggle", "show", "hide" ], function( i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +}); + +jQuery.fn.extend({ + fadeTo: function( speed, to, easing, callback ) { + + // show any hidden elements after setting opacity to 0 + return this.filter( isHidden ).css( "opacity", 0 ).show() + + // animate to the value specified + .end().animate({ opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + doAnimation.finish = function() { + anim.stop( true ); + }; + // Empty animations, or finishing resolves immediately + if ( empty || jQuery._data( this, "finish" ) ) { + anim.stop( true ); + } + }; + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue && type !== false ) { + this.queue( type || "fx", [] ); + } + + return this.each(function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = jQuery._data( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && (type == null || timers[ index ].queue === type) ) { + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // start the next in the queue if the last step wasn't forced + // timers currently will call their complete callbacks, which will dequeue + // but only if they were gotoEnd + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + }); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each(function() { + var index, + data = jQuery._data( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // enable finishing flag on private data + data.finish = true; + + // empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.cur && hooks.cur.finish ) { + hooks.cur.finish.call( this ); + } + + // look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // turn off finishing flag + delete data.finish; + }); + } +}); + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + attrs = { height: type }, + i = 0; + + // if we include width, step value is 1 to do all cssExpand values, + // if we don't include width, step value is 2 to skip over Left and Right + includeWidth = includeWidth? 1 : 0; + for( ; i < 4 ; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +// Generate shortcuts for custom animations +jQuery.each({ + slideDown: genFx("show"), + slideUp: genFx("hide"), + slideToggle: genFx("toggle"), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +}); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + jQuery.isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing + }; + + opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration : + opt.duration in jQuery.fx.speeds ? jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default; + + // normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( jQuery.isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p*Math.PI ) / 2; + } +}; + +jQuery.timers = []; +jQuery.fx = Tween.prototype.init; +jQuery.fx.tick = function() { + var timer, + timers = jQuery.timers, + i = 0; + + fxNow = jQuery.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + // Checks the timer has not already been removed + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + if ( timer() && jQuery.timers.push( timer ) ) { + jQuery.fx.start(); + } +}; + +jQuery.fx.interval = 13; + +jQuery.fx.start = function() { + if ( !timerId ) { + timerId = setInterval( jQuery.fx.tick, jQuery.fx.interval ); + } +}; + +jQuery.fx.stop = function() { + clearInterval( timerId ); + timerId = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + // Default speed + _default: 400 +}; + +// Back Compat <1.8 extension point +jQuery.fx.step = {}; + +if ( jQuery.expr && jQuery.expr.filters ) { + jQuery.expr.filters.animated = function( elem ) { + return jQuery.grep(jQuery.timers, function( fn ) { + return elem === fn.elem; + }).length; + }; +} +jQuery.fn.offset = function( options ) { + if ( arguments.length ) { + return options === undefined ? + this : + this.each(function( i ) { + jQuery.offset.setOffset( this, options, i ); + }); + } + + var docElem, win, + box = { top: 0, left: 0 }, + elem = this[ 0 ], + doc = elem && elem.ownerDocument; + + if ( !doc ) { + return; + } + + docElem = doc.documentElement; + + // Make sure it's not a disconnected DOM node + if ( !jQuery.contains( docElem, elem ) ) { + return box; + } + + // If we don't have gBCR, just use 0,0 rather than error + // BlackBerry 5, iOS 3 (original iPhone) + if ( typeof elem.getBoundingClientRect !== core_strundefined ) { + box = elem.getBoundingClientRect(); + } + win = getWindow( doc ); + return { + top: box.top + ( win.pageYOffset || docElem.scrollTop ) - ( docElem.clientTop || 0 ), + left: box.left + ( win.pageXOffset || docElem.scrollLeft ) - ( docElem.clientLeft || 0 ) + }; +}; + +jQuery.offset = { + + setOffset: function( elem, options, i ) { + var position = jQuery.css( elem, "position" ); + + // set position first, in-case top/left are set even on static elem + if ( position === "static" ) { + elem.style.position = "relative"; + } + + var curElem = jQuery( elem ), + curOffset = curElem.offset(), + curCSSTop = jQuery.css( elem, "top" ), + curCSSLeft = jQuery.css( elem, "left" ), + calculatePosition = ( position === "absolute" || position === "fixed" ) && jQuery.inArray("auto", [curCSSTop, curCSSLeft]) > -1, + props = {}, curPosition = {}, curTop, curLeft; + + // need to be able to calculate position if either top or left is auto and position is either absolute or fixed + if ( calculatePosition ) { + curPosition = curElem.position(); + curTop = curPosition.top; + curLeft = curPosition.left; + } else { + curTop = parseFloat( curCSSTop ) || 0; + curLeft = parseFloat( curCSSLeft ) || 0; + } + + if ( jQuery.isFunction( options ) ) { + options = options.call( elem, i, curOffset ); + } + + if ( options.top != null ) { + props.top = ( options.top - curOffset.top ) + curTop; + } + if ( options.left != null ) { + props.left = ( options.left - curOffset.left ) + curLeft; + } + + if ( "using" in options ) { + options.using.call( elem, props ); + } else { + curElem.css( props ); + } + } +}; + + +jQuery.fn.extend({ + + position: function() { + if ( !this[ 0 ] ) { + return; + } + + var offsetParent, offset, + parentOffset = { top: 0, left: 0 }, + elem = this[ 0 ]; + + // fixed elements are offset from window (parentOffset = {top:0, left: 0}, because it is it's only offset parent + if ( jQuery.css( elem, "position" ) === "fixed" ) { + // we assume that getBoundingClientRect is available when computed position is fixed + offset = elem.getBoundingClientRect(); + } else { + // Get *real* offsetParent + offsetParent = this.offsetParent(); + + // Get correct offsets + offset = this.offset(); + if ( !jQuery.nodeName( offsetParent[ 0 ], "html" ) ) { + parentOffset = offsetParent.offset(); + } + + // Add offsetParent borders + parentOffset.top += jQuery.css( offsetParent[ 0 ], "borderTopWidth", true ); + parentOffset.left += jQuery.css( offsetParent[ 0 ], "borderLeftWidth", true ); + } + + // Subtract parent offsets and element margins + // note: when an element has margin: auto the offsetLeft and marginLeft + // are the same in Safari causing offset.left to incorrectly be 0 + return { + top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ), + left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true) + }; + }, + + offsetParent: function() { + return this.map(function() { + var offsetParent = this.offsetParent || document.documentElement; + while ( offsetParent && ( !jQuery.nodeName( offsetParent, "html" ) && jQuery.css( offsetParent, "position") === "static" ) ) { + offsetParent = offsetParent.offsetParent; + } + return offsetParent || document.documentElement; + }); + } +}); + + +// Create scrollLeft and scrollTop methods +jQuery.each( {scrollLeft: "pageXOffset", scrollTop: "pageYOffset"}, function( method, prop ) { + var top = /Y/.test( prop ); + + jQuery.fn[ method ] = function( val ) { + return jQuery.access( this, function( elem, method, val ) { + var win = getWindow( elem ); + + if ( val === undefined ) { + return win ? (prop in win) ? win[ prop ] : + win.document.documentElement[ method ] : + elem[ method ]; + } + + if ( win ) { + win.scrollTo( + !top ? val : jQuery( win ).scrollLeft(), + top ? val : jQuery( win ).scrollTop() + ); + + } else { + elem[ method ] = val; + } + }, method, val, arguments.length, null ); + }; +}); + +function getWindow( elem ) { + return jQuery.isWindow( elem ) ? + elem : + elem.nodeType === 9 ? + elem.defaultView || elem.parentWindow : + false; +} +// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods +jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { + jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name }, function( defaultExtra, funcName ) { + // margin is only for outerHeight, outerWidth + jQuery.fn[ funcName ] = function( margin, value ) { + var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ), + extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" ); + + return jQuery.access( this, function( elem, type, value ) { + var doc; + + if ( jQuery.isWindow( elem ) ) { + // As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there + // isn't a whole lot we can do. See pull request at this URL for discussion: + // https://github.com/jquery/jquery/pull/764 + return elem.document.documentElement[ "client" + name ]; + } + + // Get document width or height + if ( elem.nodeType === 9 ) { + doc = elem.documentElement; + + // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], whichever is greatest + // unfortunately, this causes bug #3838 in IE6/8 only, but there is currently no good, small way to fix it. + return Math.max( + elem.body[ "scroll" + name ], doc[ "scroll" + name ], + elem.body[ "offset" + name ], doc[ "offset" + name ], + doc[ "client" + name ] + ); + } + + return value === undefined ? + // Get width or height on the element, requesting but not forcing parseFloat + jQuery.css( elem, type, extra ) : + + // Set width or height on the element + jQuery.style( elem, type, value, extra ); + }, type, chainable ? margin : undefined, chainable, null ); + }; + }); +}); +// Limit scope pollution from any deprecated API +// (function() { + +// })(); +// Expose jQuery to the global object +window.jQuery = window.$ = jQuery; + +// Expose jQuery as an AMD module, but only for AMD loaders that +// understand the issues with loading multiple versions of jQuery +// in a page that all might call define(). The loader will indicate +// they have special allowances for multiple jQuery versions by +// specifying define.amd.jQuery = true. Register as a named module, +// since jQuery can be concatenated with other files that may use define, +// but not use a proper concatenation script that understands anonymous +// AMD modules. A named AMD is safest and most robust way to register. +// Lowercase jquery is used because AMD module names are derived from +// file names, and jQuery is normally delivered in a lowercase file name. +// Do this after creating the global so that if an AMD module wants to call +// noConflict to hide this version of jQuery, it will work. +if ( typeof define === "function" && define.amd && define.amd.jQuery ) { + define( "jquery", [], function () { return jQuery; } ); +} + +})( window ); diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/README.md b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/README.md new file mode 100644 index 0000000..a384f97 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/README.md @@ -0,0 +1,3 @@ +# Tests from the HTML Working Group + +See: http://www.w3.org/html/wg/wiki/Testing \ No newline at end of file diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/harness/index.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/harness/index.js new file mode 100644 index 0000000..59750bc --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/harness/index.js @@ -0,0 +1,45 @@ +var fs = require('fs'); +var assert = require('assert'); +var Path = require('path'); +var domino = require('../../../lib'); + +function read(file) { + return fs.readFileSync(Path.resolve(__dirname, '..', file), 'utf8'); +} + +var testharness = read(__dirname + '/testharness.js'); + +function list(dir, fn) { + var result = {}; + dir = Path.resolve(__dirname, '..', dir); + fs.readdirSync(dir).forEach(function(file) { + var path = Path.join(dir, file); + var stat = fs.statSync(path); + if (stat.isDirectory()) { + result[file] = list(path, fn); + } + else if (file.match(/\.x?html$/)) { + var test = fn(path); + if (test) result[file] = test; + } + }); + return result; +} + +module.exports = function(path) { + return list(path, function(file) { + var html = read(file); + var window = domino.createWindow(html); + window._run(testharness); + var scripts = window.document.getElementsByTagName('script'); + if (scripts.length) { + var script = scripts[scripts.length-1]; + var code = script.textContent; + if (/assert/.test(code)) { + return function() { + window._run(code); + }; + } + } + }); +}; diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/harness/testharness.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/harness/testharness.js new file mode 100644 index 0000000..49cd5e8 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/harness/testharness.js @@ -0,0 +1,1739 @@ +/* +Distributed under both the W3C Test Suite License [1] and the W3C +3-clause BSD License [2]. To contribute to a W3C Test Suite, see the +policies and contribution forms [3]. + +[1] http://www.w3.org/Consortium/Legal/2008/04-testsuite-license +[2] http://www.w3.org/Consortium/Legal/2008/03-bsd-license +[3] http://www.w3.org/2004/10/27-testcases +*/ + +/* + * == Introduction == + * + * This file provides a framework for writing testcases. It is intended to + * provide a convenient API for making common assertions, and to work both + * for testing synchronous and asynchronous DOM features in a way that + * promotes clear, robust, tests. + * + * == Basic Usage == + * + * To use this file, import the script and the testharnessreport script into + * the test document: + * <script src="/resources/testharness.js"></script> + * <script src="/resources/testharnessreport.js"></script> + * + * Within each file one may define one or more tests. Each test is atomic + * in the sense that a single test has a single result (pass/fail/timeout). + * Within each test one may have a number of asserts. The test fails at the + * first failing assert, and the remainder of the test is (typically) not run. + * + * If the file containing the tests is a HTML file with an element of id "log" + * this will be populated with a table containing the test results after all + * the tests have run. + * + * NOTE: By default tests must be created before the load event fires. For ways + * to create tests after the load event, see "Determining when all tests are + * complete", below + * + * == Synchronous Tests == + * + * To create a synchronous test use the test() function: + * + * test(test_function, name, properties) + * + * test_function is a function that contains the code to test. For example a + * trivial passing test would be: + * + * test(function() {assert_true(true)}, "assert_true with true") + * + * The function passed in is run in the test() call. + * + * properties is an object that overrides default test properties. The recognised properties + * are: + * timeout - the test timeout in ms + * + * e.g. + * test(test_function, "Sample test", {timeout:1000}) + * + * would run test_function with a timeout of 1s. + * + * == Asynchronous Tests == + * + * Testing asynchronous features is somewhat more complex since the result of + * a test may depend on one or more events or other callbacks. The API provided + * for testing these features is indended to be rather low-level but hopefully + * applicable to many situations. + * + * To create a test, one starts by getting a Test object using async_test: + * + * async_test(name, properties) + * + * e.g. + * var t = async_test("Simple async test") + * + * Assertions can be added to the test by calling the step method of the test + * object with a function containing the test assertions: + * + * t.step(function() {assert_true(true)}); + * + * When all the steps are complete, the done() method must be called: + * + * t.done(); + * + * The properties argument is identical to that for test(). + * + * In many cases it is convenient to run a step in response to an event or a + * callback. A convenient method of doing this is through the step_func method + * which returns a function that, when called runs a test step. For example + * + * object.some_event = t.step_func(function(e) {assert_true(e.a)}); + * + * == Making assertions == + * + * Functions for making assertions start assert_ + * The best way to get a list is to look in this file for functions names + * matching that pattern. The general signature is + * + * assert_something(actual, expected, description) + * + * although not all assertions precisely match this pattern e.g. assert_true + * only takes actual and description as arguments. + * + * The description parameter is used to present more useful error messages when + * a test fails + * + * NOTE: All asserts must be located in a test() or a step of an async_test(). + * asserts outside these places won't be detected correctly by the harness + * and may cause a file to stop testing. + * + * == Setup == + * + * Sometimes tests require non-trivial setup that may fail. For this purpose + * there is a setup() function, that may be called with one or two arguments. + * The two argument version is: + * + * setup(func, properties) + * + * The one argument versions may omit either argument. + * func is a function to be run synchronously. setup() becomes a no-op once + * any tests have returned results. Properties are global properties of the test + * harness. Currently recognised properties are: + * + * timeout - The time in ms after which the harness should stop waiting for + * tests to complete (this is different to the per-test timeout + * because async tests do not start their timer until .step is called) + * + * explicit_done - Wait for an explicit call to done() before declaring all tests + * complete (see below) + * + * output_document - The document to which results should be logged. By default this is + * the current document but could be an ancestor document in some cases + * e.g. a SVG test loaded in an HTML wrapper + * + * == Determining when all tests are complete == + * + * By default the test harness will assume there are no more results to come + * when: + * 1) There are no Test objects that have been created but not completed + * 2) The load event on the document has fired + * + * This behaviour can be overridden by setting the explicit_done property to true + * in a call to setup(). If explicit_done is true, the test harness will not assume + * it is done until the global done() function is called. Once done() is called, the + * two conditions above apply like normal. + * + * == Generating tests == + * + * NOTE: this functionality may be removed + * + * There are scenarios in which is is desirable to create a large number of + * (synchronous) tests that are internally similar but vary in the parameters + * used. To make this easier, the generate_tests function allows a single + * function to be called with each set of parameters in a list: + * + * generate_tests(test_function, parameter_lists) + * + * For example: + * + * generate_tests(assert_equals, [ + * ["Sum one and one", 1+1, 2], + * ["Sum one and zero", 1+0, 1] + * ]) + * + * Is equivalent to: + * + * test(function() {assert_equals(1+1, 2)}, "Sum one and one") + * test(function() {assert_equals(1+0, 1)}, "Sum one and zero") + * + * Note that the first item in each parameter list corresponds to the name of + * the test. + * + * == Callback API == + * + * The framework provides callbacks corresponding to 3 events: + * + * start - happens when the first Test is created + * result - happens when a test result is recieved + * complete - happens when all results are recieved + * + * The page defining the tests may add callbacks for these events by calling + * the following methods: + * + * add_start_callback(callback) - callback called with no arguments + * add_result_callback(callback) - callback called with a test argument + * add_completion_callback(callback) - callback called with an array of tests + * and an status object + * + * tests have the following properties: + * status: A status code. This can be compared to the PASS, FAIL, TIMEOUT and + * NOTRUN properties on the test object + * message: A message indicating the reason for failure. In the future this + * will always be a string + * + * The status object gives the overall status of the harness. It has the + * following properties: + * status: Can be compared to the OK, ERROR and TIMEOUT properties + * message: An error message set when the status is ERROR + * + * == External API == + * + * In order to collect the results of multiple pages containing tests, the test + * harness will, when loaded in a nested browsing context, attempt to call + * certain functions in each ancestor browsing context: + * + * start - start_callback + * result - result_callback + * complete - completion_callback + * + * These are given the same arguments as the corresponding internal callbacks + * described above. + * + * == List of assertions == + * + * assert_true(actual, description) + * asserts that /actual/ is strictly true + * + * assert_false(actual, description) + * asserts that /actual/ is strictly false + * + * assert_equals(actual, expected, description) + * asserts that /actual/ is the same value as /expected/ + * + * assert_not_equals(actual, expected, description) + * asserts that /actual/ is a different value to /expected/. Yes, this means + * that "expected" is a misnomer + * + * assert_array_equals(actual, expected, description) + * asserts that /actual/ and /expected/ have the same length and the value of + * each indexed property in /actual/ is the strictly equal to the corresponding + * property value in /expected/ + * + * assert_approx_equals(actual, expected, epsilon, description) + * asserts that /actual/ is a number within +/- /epsilon/ of /expected/ + * + * assert_regexp_match(actual, expected, description) + * asserts that /actual/ matches the regexp /expected/ + * + * assert_own_property(object, property_name, description) + * assert that object has own property property_name + * + * assert_inherits(object, property_name, description) + * assert that object does not have an own property named property_name + * but that property_name is present in the prototype chain for object + * + * assert_idl_attribute(object, attribute_name, description) + * assert that an object that is an instance of some interface has the + * attribute attribute_name following the conditions specified by WebIDL + * + * assert_readonly(object, property_name, description) + * assert that property property_name on object is readonly + * + * assert_throws(code, func, description) + * code - a DOMException/RangeException code as a string, e.g. "HIERARCHY_REQUEST_ERR" + * func - a function that should throw + * + * assert that func throws a DOMException or RangeException (as appropriate) + * with the given code. If an object is passed for code instead of a string, + * checks that the thrown exception has a property called "name" that matches + * the property of code called "name". Note, this function will probably be + * rewritten sometime to make more sense. + * + * assert_unreached(description) + * asserts if called. Used to ensure that some codepath is *not* taken e.g. + * an event does not fire. + * + * assert_exists(object, property_name, description) + * *** deprecated *** + * asserts that object has an own property property_name + * + * assert_not_exists(object, property_name, description) + * *** deprecated *** + * assert that object does not have own property property_name + */ + +(function () +{ + var debug = false; + // default timeout is 5 seconds, test can override if needed + var settings = { + output:true, + timeout:5000, + test_timeout:2000 + }; + + var xhtml_ns = "http://www.w3.org/1999/xhtml"; + + // script_prefix is used by Output.prototype.show_results() to figure out + // where to get testharness.css from. It's enclosed in an extra closure to + // not pollute the library's namespace with variables like "src". + var script_prefix = null; + (function () + { + var scripts = document.getElementsByTagName("script"); + for (var i = 0; i < scripts.length; i++) + { + if (scripts[i].src) + { + var src = scripts[i].src; + } + else if (scripts[i].href) + { + //SVG case + var src = scripts[i].href.baseVal; + } + if (src && src.slice(src.length - "testharness.js".length) === "testharness.js") + { + script_prefix = src.slice(0, src.length - "testharness.js".length); + break; + } + } + })(); + + /* + * API functions + */ + + var name_counter = 0; + function next_default_name() + { + //Don't use document.title to work around an Opera bug in XHTML documents + var prefix = document.title || "Untitled"; + var suffix = name_counter > 0 ? " " + name_counter : ""; + name_counter++; + return prefix + suffix; + } + + function test(func, name, properties) + { + var test_name = name ? name : next_default_name(); + properties = properties ? properties : {}; + var test_obj = new Test(test_name, properties); + test_obj.step(func); + if (test_obj.status === test_obj.NOTRUN) { + test_obj.done(); + } + } + + function async_test(name, properties) + { + var test_name = name ? name : next_default_name(); + properties = properties ? properties : {}; + var test_obj = new Test(test_name, properties); + return test_obj; + } + + function setup(func_or_properties, maybe_properties) + { + var func = null; + var properties = {}; + if (arguments.length === 2) { + func = func_or_properties; + properties = maybe_properties; + } else if (func_or_properties instanceof Function){ + func = func_or_properties; + } else { + properties = func_or_properties; + } + tests.setup(func, properties); + output.setup(properties); + } + + function done() { + tests.end_wait(); + } + + function generate_tests(func, args) { + forEach(args, function(x) + { + var name = x[0]; + test(function() + { + func.apply(this, x.slice(1)); + }, name); + }); + } + + function on_event(object, event, callback) + { + object.addEventListener(event, callback, false); + } + + expose(test, 'test'); + expose(async_test, 'async_test'); + expose(generate_tests, 'generate_tests'); + expose(setup, 'setup'); + expose(done, 'done'); + expose(on_event, 'on_event'); + + /* + * Return a string truncated to the given length, with ... added at the end + * if it was longer. + */ + function truncate(s, len) + { + if (s.length > len) { + return s.substring(0, len - 3) + "..."; + } + return s; + } + + /* + * Convert a value to a nice, human-readable string + */ + function format_value(val) + { + switch (typeof val) + { + case "string": + for (var i = 0; i < 32; i++) + { + var replace = "\\"; + switch (i) { + case 0: replace += "0"; break; + case 1: replace += "x01"; break; + case 2: replace += "x02"; break; + case 3: replace += "x03"; break; + case 4: replace += "x04"; break; + case 5: replace += "x05"; break; + case 6: replace += "x06"; break; + case 7: replace += "x07"; break; + case 8: replace += "b"; break; + case 9: replace += "t"; break; + case 10: replace += "n"; break; + case 11: replace += "v"; break; + case 12: replace += "f"; break; + case 13: replace += "r"; break; + case 14: replace += "x0e"; break; + case 15: replace += "x0f"; break; + case 16: replace += "x10"; break; + case 17: replace += "x11"; break; + case 18: replace += "x12"; break; + case 19: replace += "x13"; break; + case 20: replace += "x14"; break; + case 21: replace += "x15"; break; + case 22: replace += "x16"; break; + case 23: replace += "x17"; break; + case 24: replace += "x18"; break; + case 25: replace += "x19"; break; + case 26: replace += "x1a"; break; + case 27: replace += "x1b"; break; + case 28: replace += "x1c"; break; + case 29: replace += "x1d"; break; + case 30: replace += "x1e"; break; + case 31: replace += "x1f"; break; + } + val = val.replace(RegExp(String.fromCharCode(i), "g"), replace); + } + return '"' + val.replace(/"/g, '\\"') + '"'; + case "boolean": + case "undefined": + return String(val); + case "number": + // In JavaScript, -0 === 0 and String(-0) == "0", so we have to + // special-case. + if (val === -0 && 1/val === -Infinity) + { + return "-0"; + } + return String(val); + case "object": + if (val === null) + { + return "null"; + } + + // Special-case Node objects, since those come up a lot in my tests. I + // ignore namespaces. I use duck-typing instead of instanceof, because + // instanceof doesn't work if the node is from another window (like an + // iframe's contentWindow): + // http://www.w3.org/Bugs/Public/show_bug.cgi?id=12295 + if ("nodeType" in val + && "nodeName" in val + && "nodeValue" in val + && "childNodes" in val) + { + switch (val.nodeType) + { + case Node.ELEMENT_NODE: + var ret = "<" + val.tagName.toLowerCase(); + for (var i = 0; i < val.attributes.length; i++) + { + ret += " " + val.attributes[i].name + '="' + val.attributes[i].value + '"'; + } + ret += ">" + val.innerHTML + "</" + val.tagName.toLowerCase() + ">"; + return "Element node " + truncate(ret, 60); + case Node.TEXT_NODE: + return 'Text node "' + truncate(val.data, 60) + '"'; + case Node.PROCESSING_INSTRUCTION_NODE: + return "ProcessingInstruction node with target " + format_value(truncate(val.target, 60)) + " and data " + format_value(truncate(val.data, 60)); + case Node.COMMENT_NODE: + return "Comment node <!--" + truncate(val.data, 60) + "-->"; + case Node.DOCUMENT_NODE: + return "Document node with " + val.childNodes.length + (val.childNodes.length == 1 ? " child" : " children"); + case Node.DOCUMENT_TYPE_NODE: + return "DocumentType node"; + case Node.DOCUMENT_FRAGMENT_NODE: + return "DocumentFragment node with " + val.childNodes.length + (val.childNodes.length == 1 ? " child" : " children"); + default: + return "Node object of unknown type"; + } + } + + // Fall through to default + default: + return typeof val + ' "' + truncate(String(val), 60) + '"'; + } + } + expose(format_value, "format_value"); + + /* + * Assertions + */ + + function assert_true(actual, description) + { + assert(actual === true, "assert_true", description, + "expected true got ${actual}", {actual:actual}); + }; + expose(assert_true, "assert_true"); + + function assert_false(actual, description) + { + assert(actual === false, "assert_false", description, + "expected false got ${actual}", {actual:actual}); + }; + expose(assert_false, "assert_false"); + + function same_value(x, y) { + if (y !== y) + { + //NaN case + return x !== x; + } + else if (x === 0 && y === 0) { + //Distinguish +0 and -0 + return 1/x === 1/y; + } + else + { + //typical case + return x === y; + } + } + + function assert_equals(actual, expected, description) + { + /* + * Test if two primitives are equal or two objects + * are the same object + */ + assert(same_value(actual, expected), "assert_equals", description, + "expected ${expected} but got ${actual}", + {expected:expected, actual:actual}); + }; + expose(assert_equals, "assert_equals"); + + function assert_not_equals(actual, expected, description) + { + /* + * Test if two primitives are unequal or two objects + * are different objects + */ + assert(!same_value(actual, expected), "assert_not_equals", description, + "got disallowed value ${actual}", + {actual:actual}); + }; + expose(assert_not_equals, "assert_not_equals"); + + function assert_object_equals(actual, expected, description) + { + //This needs to be improved a great deal + function check_equal(expected, actual, stack) + { + stack.push(actual); + + var p; + for (p in actual) + { + assert(expected.hasOwnProperty(p), "assert_object_equals", description, + "unexpected property ${p}", {p:p}); + + if (typeof actual[p] === "object" && actual[p] !== null) + { + if (stack.indexOf(actual[p]) === -1) + { + check_equal(actual[p], expected[p], stack); + } + } + else + { + assert(actual[p] === expected[p], "assert_object_equals", description, + "property ${p} expected ${expected} got ${actual}", + {p:p, expected:expected, actual:actual}); + } + } + for (p in expected) + { + assert(actual.hasOwnProperty(p), + "assert_object_equals", description, + "expected property ${p} missing", {p:p}); + } + stack.pop(); + } + check_equal(actual, expected, []); + }; + expose(assert_object_equals, "assert_object_equals"); + + function assert_array_equals(actual, expected, description) + { + assert(actual.length === expected.length, + "assert_array_equals", description, + "lengths differ, expected ${expected} got ${actual}", + {expected:expected.length, actual:actual.length}); + + for (var i=0; i < actual.length; i++) + { + assert(actual.hasOwnProperty(i) === expected.hasOwnProperty(i), + "assert_array_equals", description, + "property ${i}, property expected to be $expected but was $actual", + {i:i, expected:expected.hasOwnProperty(i) ? "present" : "missing", + actual:actual.hasOwnProperty(i) ? "present" : "missing"}); + assert(expected[i] === actual[i], + "assert_array_equals", description, + "property ${i}, expected ${expected} but got ${actual}", + {i:i, expected:expected[i], actual:actual[i]}); + } + } + expose(assert_array_equals, "assert_array_equals"); + + function assert_approx_equals(actual, expected, epsilon, description) + { + /* + * Test if two primitive numbers are equal withing +/- epsilon + */ + assert(typeof actual === "number", + "assert_approx_equals", description, + "expected a number but got a ${type_actual}", + {type_actual:typeof actual}); + + assert(Math.abs(actual - expected) < epsilon, + "assert_approx_equals", description, + "expected ${expected} +/- ${epsilon} but got ${actual}", + {expected:expected, actual:actual, epsilon:epsilon}); + }; + expose(assert_approx_equals, "assert_approx_equals"); + + function assert_regexp_match(actual, expected, description) { + /* + * Test if a string (actual) matches a regexp (expected) + */ + assert(expected.test(actual), + "assert_regexp_match", description, + "expected ${expected} but got ${actual}", + {expected:expected, actual:actual}); + } + expose(assert_regexp_match, "assert_regexp_match"); + + + function _assert_own_property(name) { + return function(object, property_name, description) + { + assert(object.hasOwnProperty(property_name), + name, description, + "expected property ${p} missing", {p:property_name}); + }; + } + expose(_assert_own_property("assert_exists"), "assert_exists"); + expose(_assert_own_property("assert_own_property"), "assert_own_property"); + + function assert_not_exists(object, property_name, description) + { + assert(!object.hasOwnProperty(property_name), + "assert_not_exists", description, + "unexpected property ${p} found", {p:property_name}); + }; + expose(assert_not_exists, "assert_not_exists"); + + function _assert_inherits(name) { + return function (object, property_name, description) + { + assert(typeof object === "object", + name, description, + "provided value is not an object"); + + assert("hasOwnProperty" in object, + name, description, + "provided value is an object but has no hasOwnProperty method"); + + assert(!object.hasOwnProperty(property_name), + name, description, + "property ${p} found on object expected in prototype chain", + {p:property_name}); + + assert(property_name in object, + name, description, + "property ${p} not found in prototype chain", + {p:property_name}); + }; + } + expose(_assert_inherits("assert_inherits"), "assert_inherits"); + expose(_assert_inherits("assert_idl_attribute"), "assert_idl_attribute"); + + function assert_readonly(object, property_name, description) + { + var initial_value = object[property_name]; + try { + //Note that this can have side effects in the case where + //the property has PutForwards + object[property_name] = initial_value + "a"; //XXX use some other value here? + assert(object[property_name] === initial_value, + "assert_readonly", description, + "changing property ${p} succeeded", + {p:property_name}); + } + finally + { + object[property_name] = initial_value; + } + }; + expose(assert_readonly, "assert_readonly"); + + function assert_throws(code, func, description) + { + try + { + func.call(this); + assert(false, "assert_throws", description, + "${func} did not throw", {func:func}); + } + catch(e) + { + if (e instanceof AssertionError) { + throw(e); + } + if (typeof code === "object") + { + assert(typeof e == "object" && "name" in e && e.name == code.name, + "assert_throws", description, + "${func} threw ${actual} (${actual_name}) expected ${expected} (${expected_name})", + {func:func, actual:e, actual_name:e.name, + expected:code, + expected_name:code.name}); + return; + } + var required_props = {}; + required_props.code = { + INDEX_SIZE_ERR: 1, + HIERARCHY_REQUEST_ERR: 3, + WRONG_DOCUMENT_ERR: 4, + INVALID_CHARACTER_ERR: 5, + NO_MODIFICATION_ALLOWED_ERR: 7, + NOT_FOUND_ERR: 8, + NOT_SUPPORTED_ERR: 9, + INVALID_STATE_ERR: 11, + SYNTAX_ERR: 12, + INVALID_MODIFICATION_ERR: 13, + NAMESPACE_ERR: 14, + INVALID_ACCESS_ERR: 15, + TYPE_MISMATCH_ERR: 17, + SECURITY_ERR: 18, + NETWORK_ERR: 19, + ABORT_ERR: 20, + URL_MISMATCH_ERR: 21, + QUOTA_EXCEEDED_ERR: 22, + TIMEOUT_ERR: 23, + INVALID_NODE_TYPE_ERR: 24, + DATA_CLONE_ERR: 25, + }[code]; + if (required_props.code === undefined) + { + throw new AssertionError('Test bug: unrecognized DOMException code "' + code + '" passed to assert_throws()'); + } + required_props[code] = required_props.code; + //Uncomment this when the latest version of every browser + //actually implements the spec; otherwise it just creates + //zillions of failures. Also do required_props.type. + //required_props.name = code; + // + //We'd like to test that e instanceof the appropriate interface, + //but we can't, because we don't know what window it was created + //in. It might be an instanceof the appropriate interface on some + //unknown other window. TODO: Work around this somehow? + + assert(typeof e == "object", + "assert_throws", description, + "${func} threw ${e} with type ${type}, not an object", + {func:func, e:e, type:typeof e}); + + for (var prop in required_props) + { + assert(typeof e == "object" && prop in e && e[prop] == required_props[prop], + "assert_throws", description, + "${func} threw ${e} that is not a DOMException " + code + ": property ${prop} is equal to ${actual}, expected ${expected}", + {func:func, e:e, prop:prop, actual:e[prop], expected:required_props[prop]}); + } + } + } + expose(assert_throws, "assert_throws"); + + function assert_unreached(description) { + assert(false, "assert_unreached", description, + "Reached unreachable code"); + } + expose(assert_unreached, "assert_unreached"); + + function Test(name, properties) + { + this.name = name; + this.status = this.NOTRUN; + this.timeout_id = null; + this.is_done = false; + + this.timeout_length = properties.timeout ? properties.timeout : settings.test_timeout; + + this.message = null; + + var this_obj = this; + this.steps = []; + + tests.push(this); + } + + Test.prototype = { + PASS:0, + FAIL:1, + TIMEOUT:2, + NOTRUN:3 + }; + + + Test.prototype.step = function(func, this_obj) + { + //In case the test has already failed + if (this.status !== this.NOTRUN) + { + return; + } + + tests.started = true; + + if (this.timeout_id === null) { + this.set_timeout(); + } + + this.steps.push(func); + + if (arguments.length === 1) + { + this_obj = this; + } + + try + { + func.apply(this_obj, Array.prototype.slice.call(arguments, 2)); + } + catch(e) + { + //This can happen if something called synchronously invoked another + //step + if (this.status !== this.NOTRUN) + { + return; + } + this.status = this.FAIL; + this.message = e.message; + if (typeof e.stack != "undefined" && typeof e.message == "string") { + //Try to make it more informative for some exceptions, at least + //in Gecko and WebKit. This results in a stack dump instead of + //just errors like "Cannot read property 'parentNode' of null" + //or "root is null". Makes it a lot longer, of course. + this.message += "(stack: " + e.stack + ")"; + } + this.done(); + if (debug && e.constructor !== AssertionError) { + throw e; + } + } + }; + + Test.prototype.step_func = function(func, this_obj) + { + var test_this = this; + + if (arguments.length === 1) + { + this_obj = test_this; + } + + return function() + { + test_this.step.apply(test_this, [func, this_obj].concat( + Array.prototype.slice.call(arguments))); + }; + }; + + Test.prototype.set_timeout = function() + { + var this_obj = this; + this.timeout_id = setTimeout(function() + { + this_obj.timeout(); + }, this.timeout_length); + }; + + Test.prototype.timeout = function() + { + this.status = this.TIMEOUT; + this.timeout_id = null; + this.message = "Test timed out"; + this.done(); + }; + + Test.prototype.done = function() + { + if (this.is_done) { + return; + } + clearTimeout(this.timeout_id); + if (this.status === this.NOTRUN) + { + this.status = this.PASS; + } + this.is_done = true; + tests.result(this); + }; + + + /* + * Harness + */ + + function TestsStatus() + { + this.status = null; + this.message = null; + } + TestsStatus.prototype = { + OK:0, + ERROR:1, + TIMEOUT:2 + }; + + function Tests() + { + this.tests = []; + this.num_pending = 0; + + this.phases = { + INITIAL:0, + SETUP:1, + HAVE_TESTS:2, + HAVE_RESULTS:3, + COMPLETE:4 + }; + this.phase = this.phases.INITIAL; + + //All tests can't be done until the load event fires + this.all_loaded = false; + this.wait_for_finish = false; + this.processing_callbacks = false; + + this.timeout_length = settings.timeout; + this.timeout_id = null; + this.set_timeout(); + + this.start_callbacks = []; + this.test_done_callbacks = []; + this.all_done_callbacks = []; + + this.status = new TestsStatus(); + + var this_obj = this; + + on_event(window, "load", + function() + { + this_obj.all_loaded = true; + if (this_obj.all_done()) + { + this_obj.complete(); + } + }); + this.properties = {}; + } + + Tests.prototype.setup = function(func, properties) + { + if (this.phase >= this.phases.HAVE_RESULTS) + { + return; + } + if (this.phase < this.phases.SETUP) + { + this.phase = this.phases.SETUP; + } + + for (var p in properties) + { + if (properties.hasOwnProperty(p)) + { + this.properties[p] = properties[p]; + } + } + + if (properties.timeout) + { + this.timeout_length = properties.timeout; + this.set_timeout(); + } + if (properties.explicit_done) + { + this.wait_for_finish = true; + } + + if (func) + { + try + { + func(); + } catch(e) + { + this.status.status = this.status.ERROR; + this.status.message = e; + }; + } + }; + + Tests.prototype.set_timeout = function() + { + var this_obj = this; + clearTimeout(this.timeout_id); + this.timeout_id = setTimeout(function() { + this_obj.timeout(); + }, this.timeout_length); + }; + + Tests.prototype.timeout = function() { + this.status.status = this.status.TIMEOUT; + this.complete(); + }; + + Tests.prototype.end_wait = function() + { + this.wait_for_finish = false; + if (this.all_done()) { + this.complete(); + } + }; + + Tests.prototype.push = function(test) + { + if (this.phase < this.phases.HAVE_TESTS) { + this.notify_start(); + } + this.num_pending++; + this.tests.push(test); + }; + + Tests.prototype.all_done = function() { + return (this.all_loaded && this.num_pending === 0 && + !this.wait_for_finish && !this.processing_callbacks); + }; + + Tests.prototype.start = function() { + this.phase = this.phases.HAVE_TESTS; + this.notify_start(); + }; + + Tests.prototype.notify_start = function() { + var this_obj = this; + forEach (this.start_callbacks, + function(callback) + { + callback(this_obj.properties); + }); + forEach(ancestor_windows(), + function(w) + { + if(w.start_callback) + { + try + { + w.start_callback(this_obj.properties); + } + catch(e) + { + if (debug) + { + throw(e); + } + } + } + }); + }; + + Tests.prototype.result = function(test) + { + if (this.phase > this.phases.HAVE_RESULTS) + { + return; + } + this.phase = this.phases.HAVE_RESULTS; + this.num_pending--; + this.notify_result(test); + }; + + Tests.prototype.notify_result = function(test) { + var this_obj = this; + this.processing_callbacks = true; + forEach(this.test_done_callbacks, + function(callback) + { + callback(test, this_obj); + }); + + forEach(ancestor_windows(), + function(w) + { + if(w.result_callback) + { + try + { + w.result_callback(test); + } + catch(e) + { + if(debug) { + throw e; + } + } + } + }); + this.processing_callbacks = false; + if (this_obj.all_done()) + { + this_obj.complete(); + } + }; + + Tests.prototype.complete = function() { + if (this.phase === this.phases.COMPLETE) { + return; + } + this.phase = this.phases.COMPLETE; + this.notify_complete(); + }; + + Tests.prototype.notify_complete = function() + { + clearTimeout(this.timeout_id); + var this_obj = this; + if (this.status.status === null) + { + this.status.status = this.status.OK; + } + + forEach (this.all_done_callbacks, + function(callback) + { + callback(this_obj.tests, this_obj.status); + }); + + forEach(ancestor_windows(), + function(w) + { + if(w.completion_callback) + { + try + { + w.completion_callback(this_obj.tests, this_obj.status); + } + catch(e) + { + if (debug) + { + throw e; + } + } + } + }); + }; + + var tests = new Tests(); + + function add_start_callback(callback) { + tests.start_callbacks.push(callback); + } + + function add_result_callback(callback) + { + tests.test_done_callbacks.push(callback); + } + + function add_completion_callback(callback) + { + tests.all_done_callbacks.push(callback); + } + + expose(add_start_callback, 'add_start_callback'); + expose(add_result_callback, 'add_result_callback'); + expose(add_completion_callback, 'add_completion_callback'); + + /* + * Output listener + */ + + function Output() { + this.output_document = null; + this.output_node = null; + this.done_count = 0; + this.enabled = settings.output; + this.phase = this.INITIAL; + } + + Output.prototype.INITIAL = 0; + Output.prototype.STARTED = 1; + Output.prototype.HAVE_RESULTS = 2; + Output.prototype.COMPLETE = 3; + + Output.prototype.setup = function(properties) { + if (this.phase > this.INITIAL) { + return; + } + + //If output is disabled in testharnessreport.js the test shouldn't be + //able to override that + this.enabled = this.enabled && (properties.hasOwnProperty("output") ? + properties.output : settings.output); + }; + + Output.prototype.init = function(properties) + { + if (this.phase >= this.STARTED) { + return; + } + if (properties.output_document) { + this.output_document = properties.output_document; + } else { + this.output_document = document; + } + this.phase = this.STARTED; + }; + + Output.prototype.resolve_log = function() + { + if (!this.output_document) { + return; + } + var node = this.output_document.getElementById("log"); + if (node) { + this.output_node = node; + } + }; + + Output.prototype.show_status = function(test) + { + if (this.phase < this.STARTED) + { + this.init(); + } + if (!this.enabled) + { + return; + } + if (this.phase < this.HAVE_RESULTS) + { + this.resolve_log(); + this.phase = this.HAVE_RESULTS; + } + this.done_count++; + if (this.output_node) + { + if (this.done_count < 100 + || (this.done_count < 1000 && this.done_count % 100 == 0) + || this.done_count % 1000 == 0) { + this.output_node.textContent = "Running, " + + this.done_count + " complete, " + + tests.num_pending + " remain"; + } + } + }; + + Output.prototype.show_results = function (tests, harness_status) + { + if (this.phase >= this.COMPLETE) { + return; + } + if (!this.enabled) + { + return; + } + if (!this.output_node) { + this.resolve_log(); + } + this.phase = this.COMPLETE; + + var log = this.output_node; + if (!log) + { + return; + } + var output_document = this.output_document; + + while (log.lastChild) + { + log.removeChild(log.lastChild); + } + + if (script_prefix != null) { + var stylesheet = output_document.createElementNS(xhtml_ns, "link"); + stylesheet.setAttribute("rel", "stylesheet"); + stylesheet.setAttribute("href", script_prefix + "testharness.css"); + var heads = output_document.getElementsByTagName("head"); + if (heads.length) { + heads[0].appendChild(stylesheet); + } + } + + var status_text = {}; + status_text[Test.prototype.PASS] = "Pass"; + status_text[Test.prototype.FAIL] = "Fail"; + status_text[Test.prototype.TIMEOUT] = "Timeout"; + status_text[Test.prototype.NOTRUN] = "Not Run"; + + var status_number = {}; + forEach(tests, function(test) { + var status = status_text[test.status]; + if (status_number.hasOwnProperty(status)) + { + status_number[status] += 1; + } else { + status_number[status] = 1; + } + }); + + function status_class(status) + { + return status.replace(/\s/g, '').toLowerCase(); + } + + var summary_template = ["section", {"id":"summary"}, + ["h2", {}, "Summary"], + ["p", {}, "Found ${num_tests} tests"], + function(vars) { + var rv = [["div", {}]]; + var i=0; + while (status_text.hasOwnProperty(i)) { + if (status_number.hasOwnProperty(status_text[i])) { + var status = status_text[i]; + rv[0].push(["div", {"class":status_class(status)}, + ["label", {}, + ["input", {type:"checkbox", checked:"checked"}], + status_number[status] + " " + status]]); + } + i++; + } + return rv; + }]; + + log.appendChild(render(summary_template, {num_tests:tests.length}, output_document)); + + forEach(output_document.querySelectorAll("section#summary label"), + function(element) + { + on_event(element, "click", + function(e) + { + if (output_document.getElementById("results") === null) + { + e.preventDefault(); + return; + } + var result_class = element.parentNode.getAttribute("class"); + var style_element = output_document.querySelector("style#hide-" + result_class); + var input_element = element.querySelector("input"); + if (!style_element && !input_element.checked) { + style_element = output_document.createElementNS(xhtml_ns, "style"); + style_element.id = "hide-" + result_class; + style_element.innerHTML = "table#results > tbody > tr."+result_class+"{display:none}"; + output_document.body.appendChild(style_element); + } else if (style_element && input_element.checked) { + style_element.parentNode.removeChild(style_element); + } + }); + }); + + // This use of innerHTML plus manual escaping is not recommended in + // general, but is necessary here for performance. Using textContent + // on each individual <td> adds tens of seconds of execution time for + // large test suites (tens of thousands of tests). + function escape_html(s) + { + return s.replace(/\&/g, "&") + .replace(/</g, "<") + .replace(/"/g, """) + .replace(/'/g, "'"); + } + + log.appendChild(document.createElement("section")); + var html = "<h2>Details</h2><table id='results'>" + + "<thead><tr><th>Result</th><th>Test Name</th><th>Message</th></tr></thead>" + + "<tbody>"; + for (var i = 0; i < tests.length; i++) { + html += '<tr class="' + + escape_html(status_class(status_text[tests[i].status])) + + '"><td>' + + escape_html(status_text[tests[i].status]) + + "</td><td>" + + escape_html(tests[i].name) + + "</td><td>" + + escape_html(tests[i].message ? tests[i].message : " ") + + "</td></tr>"; + } + log.lastChild.innerHTML = html + "</tbody></table>"; + }; + + var output = new Output(); + add_start_callback(function (properties) {output.init(properties);}); + add_result_callback(function (test) {output.show_status(tests);}); + add_completion_callback(function (tests, harness_status) {output.show_results(tests, harness_status);}); + + /* + * Template code + * + * A template is just a javascript structure. An element is represented as: + * + * [tag_name, {attr_name:attr_value}, child1, child2] + * + * the children can either be strings (which act like text nodes), other templates or + * functions (see below) + * + * A text node is represented as + * + * ["{text}", value] + * + * String values have a simple substitution syntax; ${foo} represents a variable foo. + * + * It is possible to embed logic in templates by using a function in a place where a + * node would usually go. The function must either return part of a template or null. + * + * In cases where a set of nodes are required as output rather than a single node + * with children it is possible to just use a list + * [node1, node2, node3] + * + * Usage: + * + * render(template, substitutions) - take a template and an object mapping + * variable names to parameters and return either a DOM node or a list of DOM nodes + * + * substitute(template, substitutions) - take a template and variable mapping object, + * make the variable substitutions and return the substituted template + * + */ + + function is_single_node(template) + { + return typeof template[0] === "string"; + } + + function substitute(template, substitutions) + { + if (typeof template === "function") { + var replacement = template(substitutions); + if (replacement) + { + var rv = substitute(replacement, substitutions); + return rv; + } + else + { + return null; + } + } + else if (is_single_node(template)) + { + return substitute_single(template, substitutions); + } + else + { + return filter(map(template, function(x) { + return substitute(x, substitutions); + }), function(x) {return x !== null;}); + } + } + + function substitute_single(template, substitutions) + { + var substitution_re = /\${([^ }]*)}/g; + + function do_substitution(input) { + var components = input.split(substitution_re); + var rv = []; + for (var i=0; i<components.length; i+=2) + { + rv.push(components[i]); + if (components[i+1]) + { + rv.push(String(substitutions[components[i+1]])); + } + } + return rv; + } + + var rv = []; + rv.push(do_substitution(String(template[0])).join("")); + + if (template[0] === "{text}") { + substitute_children(template.slice(1), rv); + } else { + substitute_attrs(template[1], rv); + substitute_children(template.slice(2), rv); + } + + function substitute_attrs(attrs, rv) + { + rv[1] = {}; + for (var name in template[1]) + { + if (attrs.hasOwnProperty(name)) + { + var new_name = do_substitution(name).join(""); + var new_value = do_substitution(attrs[name]).join(""); + rv[1][new_name] = new_value; + }; + } + } + + function substitute_children(children, rv) + { + for (var i=0; i<children.length; i++) + { + if (children[i] instanceof Object) { + var replacement = substitute(children[i], substitutions); + if (replacement !== null) + { + if (is_single_node(replacement)) + { + rv.push(replacement); + } + else + { + extend(rv, replacement); + } + } + } + else + { + extend(rv, do_substitution(String(children[i]))); + } + } + return rv; + } + + return rv; + } + + function make_dom_single(template, doc) + { + var output_document = doc || document; + if (template[0] === "{text}") + { + var element = output_document.createTextNode(""); + for (var i=1; i<template.length; i++) + { + element.data += template[i]; + } + } + else + { + var element = output_document.createElementNS(xhtml_ns, template[0]); + for (var name in template[1]) { + if (template[1].hasOwnProperty(name)) + { + element.setAttribute(name, template[1][name]); + } + } + for (var i=2; i<template.length; i++) + { + if (template[i] instanceof Object) + { + var sub_element = make_dom(template[i]); + element.appendChild(sub_element); + } + else + { + var text_node = output_document.createTextNode(template[i]); + element.appendChild(text_node); + } + } + } + + return element; + } + + + + function make_dom(template, substitutions, output_document) + { + if (is_single_node(template)) + { + return make_dom_single(template, output_document); + } + else + { + return map(template, function(x) { + return make_dom_single(x, output_document); + }); + } + } + + function render(template, substitutions, output_document) + { + return make_dom(substitute(template, substitutions), output_document); + } + + /* + * Utility funcions + */ + function assert(expected_true, function_name, description, error, substitutions) + { + if (expected_true !== true) + { + throw new AssertionError(make_message(function_name, description, + error, substitutions)); + } + } + + function AssertionError(message) + { + this.message = message; + } + + function make_message(function_name, description, error, substitutions) + { + for (var p in substitutions) { + if (substitutions.hasOwnProperty(p)) { + substitutions[p] = format_value(substitutions[p]); + } + } + var node_form = substitute(["{text}", "${function_name}: ${description}" + error], + merge({function_name:function_name, + description:(description?description + " ":"")}, + substitutions)); + return node_form.slice(1).join(""); + } + + function filter(array, callable, thisObj) { + var rv = []; + for (var i=0; i<array.length; i++) + { + if (array.hasOwnProperty(i)) + { + var pass = callable.call(thisObj, array[i], i, array); + if (pass) { + rv.push(array[i]); + } + } + } + return rv; + } + + function map(array, callable, thisObj) + { + var rv = []; + rv.length = array.length; + for (var i=0; i<array.length; i++) + { + if (array.hasOwnProperty(i)) + { + rv[i] = callable.call(thisObj, array[i], i, array); + } + } + return rv; + } + + function extend(array, items) + { + Array.prototype.push.apply(array, items); + } + + function forEach (array, callback, thisObj) + { + for (var i=0; i<array.length; i++) + { + if (array.hasOwnProperty(i)) + { + callback.call(thisObj, array[i], i, array); + } + } + } + + function merge(a,b) + { + var rv = {}; + var p; + for (p in a) + { + rv[p] = a[p]; + } + for (p in b) { + rv[p] = b[p]; + } + return rv; + } + + function expose(object, name) + { + var components = name.split("."); + var target = window; + for (var i=0; i<components.length - 1; i++) + { + if (!(components[i] in target)) + { + target[components[i]] = {}; + } + target = target[components[i]]; + } + target[components[components.length - 1]] = object; + } + + function ancestor_windows() { + //Get the windows [self ... top] as an array + if ("result_cache" in ancestor_windows) + { + return ancestor_windows.result_cache; + } + var rv = [self]; + var w = self; + while (w != w.parent) + { + w = w.parent; + rv.push(w); + } + ancestor_windows.result_cache = rv; + return rv; + } + +})(); +// vim: set expandtab shiftwidth=4 tabstop=4: diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/index.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/index.js new file mode 100644 index 0000000..26c5390 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/index.js @@ -0,0 +1,2 @@ +var harness = require('./harness'); +module.exports = harness('submission'); diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-01.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-01.html new file mode 100644 index 0000000..fb9e16b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-01.html @@ -0,0 +1,144 @@ +<!DOCTYPE html> +<title>document.getElementsByTagName and foreign parser-inserted +elements + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-02.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-02.html new file mode 100644 index 0000000..d03e63e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-02.html @@ -0,0 +1,25 @@ + +getElementsByTagName and font + + + + + + +
    +
    + + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-01.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-01.html new file mode 100644 index 0000000..4b265c0 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-01.html @@ -0,0 +1,26 @@ + +getElementsByTagName and font + + + + + + +
    +
    + + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-02.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-02.html new file mode 100644 index 0000000..351d4d6 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-02.html @@ -0,0 +1,30 @@ + +getElementsByTagName and font + + + + + + +
    +
    + + + + + + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/browsing-the-web/load-text-plain.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/browsing-the-web/load-text-plain.html new file mode 100644 index 0000000..5a6e403 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/browsing-the-web/load-text-plain.html @@ -0,0 +1,30 @@ + +Page load processing model for text files + + + + + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Document.getElementsByClassName-null-undef.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Document.getElementsByClassName-null-undef.html new file mode 100644 index 0000000..8cd3a22 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Document.getElementsByClassName-null-undef.html @@ -0,0 +1,31 @@ + +getElementsByClassName and null/undefined + + + + + +
    +
    +

    +

    +

    +

    +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Element.getElementsByClassName-null-undef.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Element.getElementsByClassName-null-undef.html new file mode 100644 index 0000000..96c58fa --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Element.getElementsByClassName-null-undef.html @@ -0,0 +1,31 @@ + +getElementsByClassName and null/undefined + + + + + +
    +
    +

    +

    +

    +

    +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-foreign-frameset.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-foreign-frameset.html new file mode 100644 index 0000000..14692ab --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-foreign-frameset.html @@ -0,0 +1,17 @@ + +document.body and a frameset in a foreign namespace + + + + + + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-frameset-and-body.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-frameset-and-body.html new file mode 100644 index 0000000..7a0d51d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-frameset-and-body.html @@ -0,0 +1,18 @@ + +document.body and framesets + + + + + + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-setter-01.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-setter-01.html new file mode 100644 index 0000000..8c53e76 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-setter-01.html @@ -0,0 +1,17 @@ + +Setting document.body to incorrect values + + + + + + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.embeds-document.plugins-01.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.embeds-document.plugins-01.html new file mode 100644 index 0000000..df937fd --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.embeds-document.plugins-01.html @@ -0,0 +1,24 @@ + +document.embeds and document.plugins + + + + + + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByClassName-same.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByClassName-same.html new file mode 100644 index 0000000..03bdbea --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByClassName-same.html @@ -0,0 +1,18 @@ + +Calling getElementsByClassName with the same argument + + + + + +
    +
    +
    +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.html new file mode 100644 index 0000000..4f967cb --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.html @@ -0,0 +1,17 @@ + +getElementsByName and case + + + + + +
    +
    +
    +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.xhtml b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.xhtml new file mode 100644 index 0000000..66ac58c --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.xhtml @@ -0,0 +1,22 @@ + + +getElementsByName and case + + + + + + + +
    +
    +
    +
    + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.html new file mode 100644 index 0000000..2a89c30 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.html @@ -0,0 +1,16 @@ + +getElementsByName and ids + + + + + +
    +
    +
    +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.xhtml b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.xhtml new file mode 100644 index 0000000..5925b40 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.xhtml @@ -0,0 +1,21 @@ + + +getElementsByName and ids + + + + + + + +
    +
    +
    +
    + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.html new file mode 100644 index 0000000..0193c23 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.html @@ -0,0 +1,28 @@ + +getElementsByName and foreign namespaces + + + + + +
    +
    +

    +a ++ +b + +

    + + +

    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.xhtml b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.xhtml new file mode 100644 index 0000000..98b94f7 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.xhtml @@ -0,0 +1,33 @@ + + +getElementsByName and foreign namespaces + + + + + + + +
    +
    +

    +a ++ +b +

    +

    + +

    +
    + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.html new file mode 100644 index 0000000..09461e3 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.html @@ -0,0 +1,122 @@ + +getElementsByName and newly introduced HTML elements + + + + + +
    +
    +
    +
    + +
    +
    +
    + + +
    + + + + + + + + + + +
    + + + + + + + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.xhtml b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.xhtml new file mode 100644 index 0000000..f03c354 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.xhtml @@ -0,0 +1,127 @@ + + +getElementsByName and newly introduced HTML elements + + + + + + + +
    +
    +
    +
    + +
    +
    +
    + + +
    + + + + + + + + + + +
    + + + + + + + +
    + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.html new file mode 100644 index 0000000..a8130b4 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.html @@ -0,0 +1,23 @@ + +Calling getElementsByName with null and undefined + + + + + + + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.xhtml b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.xhtml new file mode 100644 index 0000000..fbef6be --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.xhtml @@ -0,0 +1,29 @@ + + +Calling getElementsByName with null and undefined + + + + + + + + + +
    + + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.html new file mode 100644 index 0000000..983a5ea --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.html @@ -0,0 +1,24 @@ + +getElementsByName and the param element + + + + + +
    +
    + + + + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.xhtml b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.xhtml new file mode 100644 index 0000000..3a9c452 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.xhtml @@ -0,0 +1,29 @@ + + +getElementsByName and the param element + + + + + + + +
    +
    + + + + +
    + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-same.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-same.html new file mode 100644 index 0000000..455f842 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-same.html @@ -0,0 +1,18 @@ + +Calling getElementsByName with the same argument + + + + + +
    +
    +
    +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-01.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-01.html new file mode 100644 index 0000000..9ea949a --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-01.html @@ -0,0 +1,23 @@ + +document.head + + + + + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-02.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-02.html new file mode 100644 index 0000000..7b17ca1 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-02.html @@ -0,0 +1,21 @@ + +document.head + + + + + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-01.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-01.html new file mode 100644 index 0000000..da11061 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-01.html @@ -0,0 +1,33 @@ + +document.title with head blown away + + + + + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-02.xhtml b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-02.xhtml new file mode 100644 index 0000000..c197ca7 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-02.xhtml @@ -0,0 +1,38 @@ + + +document.title with head blown away + + + + + + + +
    + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-03.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-03.html new file mode 100644 index 0000000..d4d59bc --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-03.html @@ -0,0 +1,44 @@ + + document.title and space normalization + + + + + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-04.xhtml b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-04.xhtml new file mode 100644 index 0000000..fa7f57a --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-04.xhtml @@ -0,0 +1,49 @@ + + + document.title and space normalization + + + + + + + +
    + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-05.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-05.html new file mode 100644 index 0000000..b7f76ef --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-05.html @@ -0,0 +1,41 @@ + +document.title and White_Space characters + + + + + + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-06.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-06.html new file mode 100644 index 0000000..809ede0 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-06.html @@ -0,0 +1,24 @@ + +document.title and the empty string + + + + + + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-07.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-07.html new file mode 100644 index 0000000..d5d6bac --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-07.html @@ -0,0 +1,21 @@ + +Document.title and DOMImplementation.createHTMLDocument + + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/nameditem-01.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/nameditem-01.html new file mode 100644 index 0000000..dcb5a0b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/nameditem-01.html @@ -0,0 +1,19 @@ + +Named items: img id & name + + + + + +
    +
    + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.close-01.xhtml b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.close-01.xhtml new file mode 100644 index 0000000..7ba4624 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.close-01.xhtml @@ -0,0 +1,19 @@ + + +document.close in XHTML + + + + + + +
    + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-01.xhtml b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-01.xhtml new file mode 100644 index 0000000..47b92a9 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-01.xhtml @@ -0,0 +1,19 @@ + + +document.open in XHTML + + + + + + +
    + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-02.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-02.html new file mode 100644 index 0000000..cea89a9 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-02.html @@ -0,0 +1,17 @@ + +document.open with three arguments + + + + +
    + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-01.xhtml b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-01.xhtml new file mode 100644 index 0000000..254d786 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-01.xhtml @@ -0,0 +1,19 @@ + + +document.write in XHTML + + + + + + +
    + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-02.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-02.html new file mode 100644 index 0000000..dd2e8be --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-02.html @@ -0,0 +1,27 @@ + +document.write and null/undefined + + + + + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-01.xhtml b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-01.xhtml new file mode 100644 index 0000000..b43b33e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-01.xhtml @@ -0,0 +1,19 @@ + + +document.writeln in XHTML + + + + + + +
    + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-02.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-02.html new file mode 100644 index 0000000..586cca1 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-02.html @@ -0,0 +1,27 @@ + +document.writeln and null/undefined + + + + + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/elements-in-the-dom/unknown-element.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/elements-in-the-dom/unknown-element.html new file mode 100644 index 0000000..d1dc969 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/elements-in-the-dom/unknown-element.html @@ -0,0 +1,16 @@ + +HTMLUnknownElement + + + + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/events/event-handler-spec-example.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/events/event-handler-spec-example.html new file mode 100644 index 0000000..f6ef11d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/events/event-handler-spec-example.html @@ -0,0 +1,31 @@ + +Event handler invocation order + + +
    + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/general/interfaces.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/general/interfaces.html new file mode 100644 index 0000000..d36d3bc --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/general/interfaces.html @@ -0,0 +1,163 @@ + +Test of interfaces + + + + + + + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/classlist-nonstring.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/classlist-nonstring.html new file mode 100644 index 0000000..a85641d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/classlist-nonstring.html @@ -0,0 +1,44 @@ + +classList: non-string contains + + + + + + + +
    +
    +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/dataset.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/dataset.html new file mode 100644 index 0000000..fe3e032 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/dataset.html @@ -0,0 +1,28 @@ + +dataset: should return 'undefined' for non-existent properties + + + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/document-dir.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/document-dir.html new file mode 100644 index 0000000..734f922 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/document-dir.html @@ -0,0 +1,25 @@ + + +document.dir + + + + + + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/id-name.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/id-name.html new file mode 100644 index 0000000..080fd80 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/id-name.html @@ -0,0 +1,18 @@ + +id and name attributes and getElementById + + + + + +
    +
    +
    +

    +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01-ref.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01-ref.html new file mode 100644 index 0000000..d2120ad --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01-ref.html @@ -0,0 +1,20 @@ + +Languages + + + + + + +

    All lines below should have a green background.

    +
    +

    {}{lang}{en}

    +

    {}{xml:lang}{en}

    +

    Parent: {}{lang}{en}

    +

    Parent: {}{xml:lang}{en}

    +

    {xml}{lang}{en}

    +

    {xml}{lang}{en} - {lang}{de}

    +

    {xml}{lang}{de} - {lang}{en}

    +
    diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01.html new file mode 100644 index 0000000..6f2a2ae --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01.html @@ -0,0 +1,57 @@ + +Languages + + + + + + +

    All lines below should have a green background.

    +
    +

    {}{lang}{en}

    +

    {}{xml:lang}{en}

    +

    Parent: {}{lang}{en}

    +

    Parent: {}{xml:lang}{en}

    +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy-ref.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy-ref.html new file mode 100644 index 0000000..b203718 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy-ref.html @@ -0,0 +1,9 @@ + +Invalid languages + + + + +
    +

    ABC

    +
    diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy.html new file mode 100644 index 0000000..6b87581 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy.html @@ -0,0 +1,11 @@ + +Invalid languages + + + + + + +
    +

    ABC

    +
    diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01-ref.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01-ref.html new file mode 100644 index 0000000..74f1384 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01-ref.html @@ -0,0 +1,24 @@ + +The style attribute + + + + + + +
    +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01.html new file mode 100644 index 0000000..8412050 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01.html @@ -0,0 +1,25 @@ + +The style attribute + + + + + + +
    +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-01.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-01.html new file mode 100644 index 0000000..9ddcebd --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-01.html @@ -0,0 +1,18 @@ + +document: fg/bg/link/vlink/alink-color + + + + + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-02.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-02.html new file mode 100644 index 0000000..a4eae1d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-02.html @@ -0,0 +1,47 @@ + +document: fg/bg/link/vlink/alink-color + + + + + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-03.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-03.html new file mode 100644 index 0000000..ced3988 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-03.html @@ -0,0 +1,47 @@ + +document: fg/bg/link/vlink/alink-color + + + + + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-04.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-04.html new file mode 100644 index 0000000..a67fecd --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-04.html @@ -0,0 +1,47 @@ + +document: fg/bg/link/vlink/alink-color + + + + + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-01.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-01.html new file mode 100644 index 0000000..735cb0f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-01.html @@ -0,0 +1,22 @@ + +document.all: willfull violations + + + + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-02.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-02.html new file mode 100644 index 0000000..4721e1f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-02.html @@ -0,0 +1,13 @@ + +document.all: length + + + + + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-03.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-03.html new file mode 100644 index 0000000..f78e89b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-03.html @@ -0,0 +1,13 @@ + +document.all: index getter + + + + + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-04.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-04.html new file mode 100644 index 0000000..cf16ba5 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-04.html @@ -0,0 +1,19 @@ + +document.all: img@name + + + + + +
    + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-05.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-05.html new file mode 100644 index 0000000..a568a1e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-05.html @@ -0,0 +1,23 @@ + +document.all: willfull violations + + + + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/heading-obsolete-attributes-01.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/heading-obsolete-attributes-01.html new file mode 100644 index 0000000..5bed010 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/heading-obsolete-attributes-01.html @@ -0,0 +1,16 @@ + +HTMLHeadingElement: obsolete attribute reflecting + + + + + + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/script-IDL-event-htmlfor.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/script-IDL-event-htmlfor.html new file mode 100644 index 0000000..04871d7 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/script-IDL-event-htmlfor.html @@ -0,0 +1,57 @@ + +event and htmlFor IDL attributes of HTMLScriptElement + + + + + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/parsing/comment.dat b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/parsing/comment.dat new file mode 100644 index 0000000..acfcd2e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/parsing/comment.dat @@ -0,0 +1,10 @@ +#data +Comment before head +#errors +#document +| +| +| +| +| "Comment before head" +| <body> diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-01.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-01.html new file mode 100644 index 0000000..84037b6 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-01.html @@ -0,0 +1,13 @@ +<!DOCTYPE html> +<title>document.compatMode: Standards + + + +
    + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-02.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-02.html new file mode 100644 index 0000000..ea4b43c --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-02.html @@ -0,0 +1,14 @@ + +document.compatMode: Almost standards + + + +
    + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-03.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-03.html new file mode 100644 index 0000000..b8fddb6 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-03.html @@ -0,0 +1,12 @@ +document.compatMode: Quirks + + + +
    + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-04.xhtml b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-04.xhtml new file mode 100644 index 0000000..5834aa3 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-04.xhtml @@ -0,0 +1,18 @@ + + + +document.compatMode: Standards + + + + +
    + + + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-05.xhtml b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-05.xhtml new file mode 100644 index 0000000..1f038b2 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-05.xhtml @@ -0,0 +1,19 @@ + + + +document.compatMode: Standards + + + + +
    + + + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-06.xhtml b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-06.xhtml new file mode 100644 index 0000000..e78a8af --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-06.xhtml @@ -0,0 +1,17 @@ + + +document.compatMode: Standards + + + + +
    + + + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/200-textplain.cgi b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/200-textplain.cgi new file mode 100755 index 0000000..f74d295 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/200-textplain.cgi @@ -0,0 +1,5 @@ +#!/usr/bin/env python + +print 'Content-Type: text/plain\r\n', +print +print 'html { color: red; }' diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/404-textcss.cgi b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/404-textcss.cgi new file mode 100755 index 0000000..c0b449f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/404-textcss.cgi @@ -0,0 +1,6 @@ +#!/usr/bin/env python + +print 'Content-Type: text/css\r\n', +print 'Status: 404 Not Found\r\n', +print +print 'html { color: red; }' diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/support/text/200-textplain.cgi b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/support/text/200-textplain.cgi new file mode 100755 index 0000000..616707e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/support/text/200-textplain.cgi @@ -0,0 +1,5 @@ +#!/usr/bin/env python + +print 'Content-Type: text/plain\r\n', +print +print 'Text' diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-rellist.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-rellist.html new file mode 100644 index 0000000..448231d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-rellist.html @@ -0,0 +1,23 @@ + +link.relList: non-string contains + + + + + + + + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-style-error-01.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-style-error-01.html new file mode 100644 index 0000000..dce6a8f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-style-error-01.html @@ -0,0 +1,32 @@ + +link: error events + + + + +
    +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-style-element/style-error-01.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-style-element/style-error-01.html new file mode 100644 index 0000000..7c68c27 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-style-element/style-error-01.html @@ -0,0 +1,32 @@ + +style: error events + + + + +
    +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-01.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-01.html new file mode 100644 index 0000000..0d2e120 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-01.html @@ -0,0 +1,25 @@ + +title.text with comment and element children. + + + + +
    + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-02.xhtml b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-02.xhtml new file mode 100644 index 0000000..4d2385c --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-02.xhtml @@ -0,0 +1,30 @@ + + +title.text with comment and element children. + + + + + + +
    + + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-03.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-03.html new file mode 100644 index 0000000..2a56433 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-03.html @@ -0,0 +1,95 @@ + + title.text and space normalization + + + + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-04.xhtml b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-04.xhtml new file mode 100644 index 0000000..d57ee57 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-04.xhtml @@ -0,0 +1,100 @@ + + + title.text and space normalization + + + + + + +
    + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/embedded-content/the-video-element/video-tabindex.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/embedded-content/the-video-element/video-tabindex.html new file mode 100644 index 0000000..70af7e9 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/embedded-content/the-video-element/video-tabindex.html @@ -0,0 +1,18 @@ + +tabindex on video elements + + + + +
    +
    + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-interfaces-01.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-interfaces-01.html new file mode 100644 index 0000000..cc61bdf --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-interfaces-01.html @@ -0,0 +1,20 @@ + +form.elements: interfaces + + + + + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-matches.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-matches.html new file mode 100644 index 0000000..149dd09 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-matches.html @@ -0,0 +1,28 @@ + +form.elements: matches + + + + +
    +
    +
    + +
    +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-01.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-01.html new file mode 100644 index 0000000..779361d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-01.html @@ -0,0 +1,43 @@ + +form.elements: namedItem + + + + +
    +
    +
    + + +
    +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-02.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-02.html new file mode 100644 index 0000000..5a74617 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-02.html @@ -0,0 +1,28 @@ + +form.elements: parsing + + + + + +
    +
    +
    + + + + + + +
    +
    +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-input-element/input-textselection-01.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-input-element/input-textselection-01.html new file mode 100644 index 0000000..3e1e79b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-input-element/input-textselection-01.html @@ -0,0 +1,42 @@ + +The selection interface members + + + + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/textarea-type.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/textarea-type.html new file mode 100644 index 0000000..40f3882 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/textarea-type.html @@ -0,0 +1,16 @@ + +The type IDL attribute + + + + +
    + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1-ref.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1-ref.html new file mode 100644 index 0000000..3b68fca --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1-ref.html @@ -0,0 +1,5 @@ + +Dynamic manipulation of textarea.wrap + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1a.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1a.html new file mode 100644 index 0000000..f056934 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1a.html @@ -0,0 +1,8 @@ + +Dynamic manipulation of textarea.wrap + + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1b.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1b.html new file mode 100644 index 0000000..13c4251 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1b.html @@ -0,0 +1,8 @@ + +Dynamic manipulation of textarea.wrap + + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-language-type.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-language-type.html new file mode 100644 index 0000000..1126c50 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-language-type.html @@ -0,0 +1,18 @@ + +Script: combinations of @type and @language + + + + +
    + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-01.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-01.html new file mode 100644 index 0000000..42cac65 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-01.html @@ -0,0 +1,24 @@ + +Script @type: unknown parameters + + + + +
    +
    + + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-02.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-02.html new file mode 100644 index 0000000..71c0aa9 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-02.html @@ -0,0 +1,65 @@ + +Script @type: JavaScript types + + + + +
    +
    + + + + + + + + + + + + + + + + + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-noembed-noframes-iframe.xhtml b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-noembed-noframes-iframe.xhtml new file mode 100644 index 0000000..8dd9ceb --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-noembed-noframes-iframe.xhtml @@ -0,0 +1,36 @@ + + +Script inside noembed, noframes and iframe + + + + + +
    + +
    + +<script> +run.push("noembed"); +</script> + + +<script> +run.push("noframes"); +</script> + + +
    + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-01.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-01.html new file mode 100644 index 0000000..e21b052 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-01.html @@ -0,0 +1,24 @@ + +insertRow(): INDEX_SIZE_ERR + + + + +
    +
    + + +
    +
    +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-02.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-02.html new file mode 100644 index 0000000..7620099 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-02.html @@ -0,0 +1,34 @@ + +insertRow(): Empty table + + + + +
    +
    +
    +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-getter-01.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-getter-01.html new file mode 100644 index 0000000..35ddf68 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-getter-01.html @@ -0,0 +1,33 @@ + +HTMLAnchorElement.text getting + + + + +
    +
    +a b c +a b c +a b c +a c + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-setter-01.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-setter-01.html new file mode 100644 index 0000000..d042424 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-setter-01.html @@ -0,0 +1,41 @@ + +HTMLAnchorElement.text setting + + + + +
    +
    +a b c +a c +a b c + +
    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1-ref.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1-ref.html new file mode 100644 index 0000000..6056912 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1-ref.html @@ -0,0 +1,5 @@ + +The hidden attribute + + +

    This line should be visible. diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1a.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1a.html new file mode 100644 index 0000000..edcbf3a --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1a.html @@ -0,0 +1,6 @@ + +The hidden attribute + + +

    This line should be visible. +

    This line should not be visible. + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1d.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1d.html new file mode 100644 index 0000000..94d3a7b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1d.html @@ -0,0 +1,10 @@ + +The hidden attribute + + +

    This line should not be visible. + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2-ref.svg b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2-ref.svg new file mode 100644 index 0000000..8aacdc8 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2-ref.svg @@ -0,0 +1,9 @@ + + + + + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2.svg b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2.svg new file mode 100644 index 0000000..9a0db1e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2.svg @@ -0,0 +1,9 @@ + + + + + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/index.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/index.js new file mode 100644 index 0000000..857dedb --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/index.js @@ -0,0 +1,3 @@ +exports.htmlwg = require('./htmlwg'); +exports.w3c = require('./w3c'); + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/mocha.opts b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/mocha.opts new file mode 100644 index 0000000..eee6dac --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/mocha.opts @@ -0,0 +1,6 @@ +--ui exports +--reporter dot +--require should +--slow 20 +--growl + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/README.md b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/README.md new file mode 100644 index 0000000..4791699 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/README.md @@ -0,0 +1,13 @@ +# Document Object Model (DOM) Conformance Test Suites + +http://www.w3.org/DOM/Test/ + +Since domino doesn't implement deprecated DOM features some tests are no longer relevant. These tests have been moved to the `obsolete` directory so that they are excluded from the suite. + +## Attributes vs. Nodes + +The majority of the excluded level1/core tests expect Attributes to inherit from the Node interface which is no longer required in DOM level 4. Also `Element.attributes` no longer returns a NamedNodeMap but a read-only array. + +## Obsolete Attributes + +Another big hunk of excluded tests checks the support of reflected attributes that have become obsolete in HTML 5. diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/harness/DomTestCase.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/harness/DomTestCase.js new file mode 100644 index 0000000..c20e2d2 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/harness/DomTestCase.js @@ -0,0 +1,438 @@ +/* +Copyright (c) 2001-2005 World Wide Web Consortium, +(Massachusetts Institute of Technology, Institut National de +Recherche en Informatique et en Automatique, Keio University). All +Rights Reserved. This program is distributed under the W3C's Software +Intellectual Property License. This program is distributed in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +PURPOSE. +See W3C License http://www.w3.org/Consortium/Legal/ for more details. +*/ + +function assertSize(descr, expected, actual) { + var actualSize; + assertNotNull(descr, actual); + actualSize = actual.length; + assertEquals(descr, expected, actualSize); +} + +function assertEqualsAutoCase(context, descr, expected, actual) { + if (builder.contentType == "text/html") { + if(context == "attribute") { + assertEquals(descr, expected.toLowerCase(), actual.toLowerCase()); + } + else { + assertEquals(descr, expected.toUpperCase(), actual); + } + } + else { + assertEquals(descr, expected, actual); + } +} + + + function assertEqualsCollectionAutoCase(context, descr, expected, actual) { + // + // if they aren't the same size, they aren't equal + assertEquals(descr, expected.length, actual.length); + + // + // if there length is the same, then every entry in the expected list + // must appear once and only once in the actual list + var expectedLen = expected.length; + var expectedValue; + var actualLen = actual.length; + var i; + var j; + var matches; + for(i = 0; i < expectedLen; i++) { + matches = 0; + expectedValue = expected[i]; + for(j = 0; j < actualLen; j++) { + if (builder.contentType == "text/html") { + if (context == "attribute") { + if (expectedValue.toLowerCase() == actual[j].toLowerCase()) { + matches++; + } + } + else { + if (expectedValue.toUpperCase() == actual[j]) { + matches++; + } + } + } + else { + if(expectedValue == actual[j]) { + matches++; + } + } + } + if(matches == 0) { + assert(descr + ": No match found for " + expectedValue,false); + } + if(matches > 1) { + assert(descr + ": Multiple matches found for " + expectedValue, false); + } + } +} + +function assertEqualsCollection(descr, expected, actual) { + // + // if they aren't the same size, they aren't equal + assertEquals(descr, expected.length, actual.length); + // + // if there length is the same, then every entry in the expected list + // must appear once and only once in the actual list + var expectedLen = expected.length; + var expectedValue; + var actualLen = actual.length; + var i; + var j; + var matches; + for(i = 0; i < expectedLen; i++) { + matches = 0; + expectedValue = expected[i]; + for(j = 0; j < actualLen; j++) { + if(expectedValue == actual[j]) { + matches++; + } + } + if(matches == 0) { + assert(descr + ": No match found for " + expectedValue,false); + } + if(matches > 1) { + assert(descr + ": Multiple matches found for " + expectedValue, false); + } + } +} + + +function assertEqualsListAutoCase(context, descr, expected, actual) { + var minLength = expected.length; + if (actual.length < minLength) { + minLength = actual.length; + } + // + for(var i = 0; i < minLength; i++) { + assertEqualsAutoCase(context, descr, expected[i], actual[i]); + } + // + // if they aren't the same size, they aren't equal + assertEquals(descr, expected.length, actual.length); +} + +function assertEqualsList(descr, expected, actual) { + var minLength = expected.length; + if (actual.length < minLength) { + minLength = actual.length; + } + // + for(var i = 0; i < minLength; i++) { + if(expected[i] != actual[i]) { + assertEquals(descr, expected[i], actual[i]); + } + } + // + // if they aren't the same size, they aren't equal + assertEquals(descr, expected.length, actual.length); +} + +function assertInstanceOf(descr, type, obj) { + if(type == "Attr") { + assertEquals(descr,2,obj.nodeType); + var specd = obj.specified; + } +} + +function assertSame(descr, expected, actual) { + if(expected != actual) { + assertEquals(descr, expected.nodeType, actual.nodeType); + assertEquals(descr, expected.nodeValue, actual.nodeValue); + } +} + +function assertURIEquals(assertID, scheme, path, host, file, name, query, fragment, isAbsolute, actual) { + // + // URI must be non-null + assertNotNull(assertID, actual); + + var uri = actual; + + var lastPound = actual.lastIndexOf("#"); + var actualFragment = ""; + if(lastPound != -1) { + // + // substring before pound + // + uri = actual.substring(0,lastPound); + actualFragment = actual.substring(lastPound+1); + } + if(fragment != null) assertEquals(assertID,fragment, actualFragment); + + var lastQuestion = uri.lastIndexOf("?"); + var actualQuery = ""; + if(lastQuestion != -1) { + // + // substring before pound + // + uri = actual.substring(0,lastQuestion); + actualQuery = actual.substring(lastQuestion+1); + } + if(query != null) assertEquals(assertID, query, actualQuery); + + var firstColon = uri.indexOf(":"); + var firstSlash = uri.indexOf("/"); + var actualPath = uri; + var actualScheme = ""; + if(firstColon != -1 && firstColon < firstSlash) { + actualScheme = uri.substring(0,firstColon); + actualPath = uri.substring(firstColon + 1); + } + + if(scheme != null) { + assertEquals(assertID, scheme, actualScheme); + } + + if(path != null) { + assertEquals(assertID, path, actualPath); + } + + if(host != null) { + var actualHost = ""; + if(actualPath.substring(0,2) == "//") { + var termSlash = actualPath.substring(2).indexOf("/") + 2; + actualHost = actualPath.substring(0,termSlash); + } + assertEquals(assertID, host, actualHost); + } + + if(file != null || name != null) { + var actualFile = actualPath; + var finalSlash = actualPath.lastIndexOf("/"); + if(finalSlash != -1) { + actualFile = actualPath.substring(finalSlash+1); + } + if (file != null) { + assertEquals(assertID, file, actualFile); + } + if (name != null) { + var actualName = actualFile; + var finalDot = actualFile.lastIndexOf("."); + if (finalDot != -1) { + actualName = actualName.substring(0, finalDot); + } + assertEquals(assertID, name, actualName); + } + } + + if(isAbsolute != null) { + assertEquals(assertID + ' ' + actualPath, isAbsolute, actualPath.substring(0,1) == "/"); + } +} + + +// size() used by assertSize element +function size(collection) { + return collection.length; +} + +function same(expected, actual) { + return expected === actual; +} + +function getSuffix(contentType) { + switch(contentType) { + case "text/html": + return ".html"; + + case "text/xml": + return ".xml"; + + case "application/xhtml+xml": + return ".xhtml"; + + case "image/svg+xml": + return ".svg"; + + case "text/mathml": + return ".mml"; + } + return ".html"; +} + +function equalsAutoCase(context, expected, actual) { + if (builder.contentType == "text/html") { + if (context == "attribute") { + return expected.toLowerCase() == actual; + } + return expected.toUpperCase() == actual; + } + return expected == actual; +} + +function catchInitializationError(blder, ex) { + if (blder == null) { + alert(ex); + } + else { + blder.initializationError = ex; + blder.initializationFatalError = ex; + } +} + +function checkInitialization(blder, testname) { + if (blder.initializationError != null) { + if (blder.skipIncompatibleTests) { + info(testname + " not run:" + blder.initializationError); + return blder.initializationError; + } + else { + // + // if an exception was thrown + // rethrow it and do not run the test + if (blder.initializationFatalError != null) { + throw blder.initializationFatalError; + } else { + // + // might be recoverable, warn but continue the test + warn(testname + ": " + blder.initializationError); + } + } + } + return null; +} + +function createTempURI(scheme) { + if (scheme == "http") { + return "http://localhost:8080/webdav/tmp" + Math.floor(Math.random() * 100000) + ".xml"; + } + return "file:///tmp/domts" + Math.floor(Math.random() * 100000) + ".xml"; +} + + +function EventMonitor() { + this.atEvents = new Array(); + this.bubbledEvents = new Array(); + this.capturedEvents = new Array(); + this.allEvents = new Array(); +} + +EventMonitor.prototype.handleEvent = function(evt) { + switch(evt.eventPhase) { + case 1: + monitor.capturedEvents[monitor.capturedEvents.length] = evt; + break; + + case 2: + monitor.atEvents[monitor.atEvents.length] = evt; + break; + + case 3: + monitor.bubbledEvents[monitor.bubbledEvents.length] = evt; + break; + } + monitor.allEvents[monitor.allEvents.length] = evt; +} + +function DOMErrorImpl(err) { + this.severity = err.severity; + this.message = err.message; + this.type = err.type; + this.relatedException = err.relatedException; + this.relatedData = err.relatedData; + this.location = err.location; +} + + + +function DOMErrorMonitor() { + this.allErrors = new Array(); +} + +DOMErrorMonitor.prototype.handleError = function(err) { + errorMonitor.allErrors[errorMonitor.allErrors.length] = new DOMErrorImpl(err); +} + +DOMErrorMonitor.prototype.assertLowerSeverity = function(id, severity) { + var i; + for (i = 0; i < errorMonitor.allErrors.length; i++) { + if (errorMonitor.allErrors[i].severity >= severity) { + assertEquals(id, severity - 1, errorMonitor.allErrors[i].severity); + } + } +} + +function UserDataNotification(operation, key, data, src, dst) { + this.operation = operation; + this.key = key; + this.data = data; + this.src = src; + this.dst = dst; +} + +function UserDataMonitor() { + this.allNotifications = new Array(); +} + +UserDataMonitor.prototype.handle = function(operation, key, data, src, dst) { + userDataMonitor.allNotifications[this.allNotifications.length] = + new UserDataNotification(operation, key, data, src, dst); +} + + + + +function checkFeature(feature, version) +{ + if (!builder.hasFeature(feature, version)) + { + // + // don't throw exception so that users can select to ignore the precondition + // + builder.initializationError = "builder does not support feature " + feature + " version " + version; + } +} + +function preload(frame, varname, url) { + return builder.preload(frame, varname, url); +} + +function load(frame, varname, url) { + return builder.load(frame, varname, url); +} + +function getImplementationAttribute(attr) { + return builder.getImplementationAttribute(attr); +} + + +function setImplementationAttribute(attribute, value) { + builder.setImplementationAttribute(attribute, value); +} + +function setAsynchronous(value) { + if (builder.supportsAsyncChange) { + builder.async = value; + } else { + update(); + } +} + + +function toLowerArray(src) { + var newArray = new Array(); + var i; + for (i = 0; i < src.length; i++) { + newArray[i] = src[i].toLowerCase(); + } + return newArray; +} + +function getImplementation() { + return builder.getImplementation(); +} + +function warn(msg) { + //console.log(msg); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/harness/index.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/harness/index.js new file mode 100644 index 0000000..2b99432 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/harness/index.js @@ -0,0 +1,86 @@ +var fs = require('fs'); +var vm = require('vm'); +var assert = require('assert'); +var util = require('util'); +var Path = require('path'); +var domino = require('../../../lib'); +var impl = domino.createDOMImplementation(); + +var globals = { + assertEquals: function(message, expected, actual) { + assert.equal(actual, expected, message + ': expected ' + + util.inspect(expected, false, 0) + ' got ' + + util.inspect(actual, false, 0) + ); + }, + assertTrue: function(message, actual) { + globals.assertEquals(message, true, actual); + }, + assertFalse: function(message, actual) { + assert.ok(!actual, message); + }, + assertNull: function(message, actual) { + globals.assertEquals(message, null, actual); + }, + assertNotNull: function(message, actual) { + assert.notEqual(actual, null, message); + }, + console: console +}; + +function list(dir, re, fn) { + dir = Path.resolve(__dirname, '..', dir); + fs.readdirSync(dir).forEach(function(file) { + var path = Path.join(dir, file); + var m = re.exec(path); + if (m) fn.apply(null, m); + }); +} + +module.exports = function(path) { + + function run(file) { + vm.runInContext(fs.readFileSync(file, 'utf8'), ctx, file); + return ctx; + } + + var ctx = vm.createContext(); // create new independent context + Object.keys(globals).forEach(function(k) { + ctx[k] = globals[k]; // shallow clone + }); + + ctx.createConfiguredBuilder = function() { + return { + contentType: 'text/html', + hasFeature: function(feature, version) { + return impl.hasFeature(feature, version); + }, + getImplementation: function() { + return impl; + }, + setImplementationAttribute: function(attr, value) { + // Ignore + }, + preload: function(docRef, name, href) { + return 1; + }, + load: function(docRef, name, href) { + var doc = Path.resolve(__dirname, '..', path, 'files', href) + '.html'; + var html = fs.readFileSync(doc, 'utf8'); + return domino.createDocument(html); + } + }; + }; + + run(__dirname + '/DomTestCase.js'); + + var tests = {}; + list(path, /(.*?)\.js$/, function(file, basename) { + tests[basename] = function() { + run(file); + ctx.setUpPage(); + ctx.runTest(); + }; + }); + return tests; +}; diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/index.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/index.js new file mode 100644 index 0000000..c093a4c --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/index.js @@ -0,0 +1,12 @@ +var suite = require('./harness'); + +exports.level1 = { + core: suite('level1/core/'), + html: suite('level1/html/') +}; +/* +exports.level2 = { + core: suite('level2/core/'), + html: suite('level2/html/') +}; +*/ \ No newline at end of file diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/documentgetdoctypenodtd.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/documentgetdoctypenodtd.js new file mode 100644 index 0000000..7d475f9 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/documentgetdoctypenodtd.js @@ -0,0 +1,110 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/documentgetdoctypenodtd"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + setImplementationAttribute("validating", false); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_nodtdstaff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getDoctype()" method returns null for XML documents + without a document type declaration. + Retrieve the XML document without a DTD and invoke the + "getDoctype()" method. It should return null. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A31 +*/ +function documentgetdoctypenodtd() { + var success; + if(checkInitialization(builder, "documentgetdoctypenodtd") != null) return; + var doc; + var docType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_nodtdstaff"); + docType = doc.doctype; + + assertNull("documentGetDocTypeNoDTDAssert",docType); + +} + + + + +function runTest() { + documentgetdoctypenodtd(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi.js new file mode 100644 index 0000000..3216c53 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi.js @@ -0,0 +1,143 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/documentinvalidcharacterexceptioncreatepi"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + checkFeature("XML", null); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "createProcessingInstruction(target,data) method + raises an INVALID_CHARACTER_ERR DOMException if the + specified tagName contains an invalid character. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-135944439 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-135944439')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function documentinvalidcharacterexceptioncreatepi() { + var success; + if(checkInitialization(builder, "documentinvalidcharacterexceptioncreatepi") != null) return; + var doc; + var badPI; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + + if( + + (builder.contentType == "text/html") + + ) { + + { + success = false; + try { + badPI = doc.createProcessingInstruction("foo","data"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 9); + } + assertTrue("throw_NOT_SUPPORTED_ERR",success); + } + + } + + else { + + { + success = false; + try { + badPI = doc.createProcessingInstruction("invalid^Name","data"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 5); + } + assertTrue("throw_INVALID_CHARACTER_ERR",success); + } + + } + +} + + + + +function runTest() { + documentinvalidcharacterexceptioncreatepi(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi1.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi1.js new file mode 100644 index 0000000..fb6104d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi1.js @@ -0,0 +1,140 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/documentinvalidcharacterexceptioncreatepi1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + checkFeature("XML", null); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Creating a processing instruction with an empty target should cause an INVALID_CHARACTER_ERR. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-135944439 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-135944439')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=525 +*/ +function documentinvalidcharacterexceptioncreatepi1() { + var success; + if(checkInitialization(builder, "documentinvalidcharacterexceptioncreatepi1") != null) return; + var doc; + var badPI; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + + if( + + (builder.contentType == "text/html") + + ) { + + { + success = false; + try { + badPI = doc.createProcessingInstruction("foo","data"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 9); + } + assertTrue("throw_NOT_SUPPORTED_ERR",success); + } + + } + + else { + + { + success = false; + try { + badPI = doc.createProcessingInstruction("","data"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 5); + } + assertTrue("throw_INVALID_CHARACTER_ERR",success); + } + + } + +} + + + + +function runTest() { + documentinvalidcharacterexceptioncreatepi1(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/.cvsignore b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/.cvsignore new file mode 100644 index 0000000..e69de29 diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/hc_nodtdstaff.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/hc_nodtdstaff.html new file mode 100644 index 0000000..f98d0be --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/hc_nodtdstaff.html @@ -0,0 +1,10 @@ +hc_nodtdstaff +

    + EMP0001 + Margaret Martin + Accountant + 56,000 + Female + 1230 North Ave. Dallas, Texas 98551 +

    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/hc_staff.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/hc_staff.html new file mode 100644 index 0000000..9acf750 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/hc_staff.html @@ -0,0 +1,48 @@ + + +hc_staff +

    + EMP0001 + Margaret Martin + Accountant + 56,000 + Female + 1230 North Ave. Dallas, Texas 98551 +

    +

    + EMP0002 + Martha RaynoldsThis is a CDATASection with EntityReference number 2 &ent2; +This is an adjacent CDATASection with a reference to a tab &tab; + Secretary + 35,000 + Female + β Dallas, γ + 98554 +

    +

    + EMP0003 + Roger + Jones + Department Manager + 100,000 + δ + PO Box 27 Irving, texas 98553 +

    +

    + EMP0004 + Jeny Oconnor + Personnel Director + 95,000 + Female + 27 South Road. Dallas, Texas 98556 +

    +

    + EMP0005 + Robert Myers + Computer Specialist + 90,000 + male + 1821 Nordic. Road, Irving Texas 98558 +

    + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/staff.dtd b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/staff.dtd new file mode 100644 index 0000000..02a994d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/staff.dtd @@ -0,0 +1,17 @@ + + + + + + + + + + + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddata.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddata.js new file mode 100644 index 0000000..a479174 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddata.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataappenddata"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "appendData(arg)" method appends a string to the end + of the character data of the node. + + Retrieve the character data from the second child + of the first employee. The appendData(arg) method is + called with arg=", Esquire". The method should append + the specified data to the already existing character + data. The new value return by the "getLength()" method + should be 24. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-32791A2F +*/ +function hc_characterdataappenddata() { + var success; + if(checkInitialization(builder, "hc_characterdataappenddata") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childValue; + var childLength; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.appendData(", Esquire"); + childValue = child.data; + + childLength = childValue.length; + assertEquals("characterdataAppendDataAssert",24,childLength); + +} + + + + +function runTest() { + hc_characterdataappenddata(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddatagetdata.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddatagetdata.js new file mode 100644 index 0000000..4aed0ce --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddatagetdata.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataappenddatagetdata"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + On successful invocation of the "appendData(arg)" + method the "getData()" method provides access to the + concatentation of data and the specified string. + + Retrieve the character data from the second child + of the first employee. The appendData(arg) method is + called with arg=", Esquire". The method should append + the specified data to the already existing character + data. The new value return by the "getData()" method + should be "Margaret Martin, Esquire". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-32791A2F +*/ +function hc_characterdataappenddatagetdata() { + var success; + if(checkInitialization(builder, "hc_characterdataappenddatagetdata") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.appendData(", Esquire"); + childData = child.data; + + assertEquals("characterdataAppendDataGetDataAssert","Margaret Martin, Esquire",childData); + +} + + + + +function runTest() { + hc_characterdataappenddatagetdata(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatabegining.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatabegining.js new file mode 100644 index 0000000..8fc32ed --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatabegining.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatadeletedatabegining"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "deleteData(offset,count)" method removes a range of +characters from the node. Delete data at the beginning +of the character data. + +Retrieve the character data from the last child of the +first employee. The "deleteData(offset,count)" +method is then called with offset=0 and count=16. +The method should delete the characters from position +0 thru position 16. The new value of the character data +should be "Dallas, Texas 98551". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 +*/ +function hc_characterdatadeletedatabegining() { + var success; + if(checkInitialization(builder, "hc_characterdatadeletedatabegining") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.deleteData(0,16); + childData = child.data; + + assertEquals("data","Dallas, Texas 98551",childData); + +} + + + + +function runTest() { + hc_characterdatadeletedatabegining(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataend.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataend.js new file mode 100644 index 0000000..8d567d0 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataend.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatadeletedataend"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "deleteData(offset,count)" method removes a range of + characters from the node. Delete data at the end + of the character data. + + Retrieve the character data from the last child of the + first employee. The "deleteData(offset,count)" + method is then called with offset=30 and count=5. + The method should delete the characters from position + 30 thru position 35. The new value of the character data + should be "1230 North Ave. Dallas, Texas". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 +*/ +function hc_characterdatadeletedataend() { + var success; + if(checkInitialization(builder, "hc_characterdatadeletedataend") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.deleteData(30,5); + childData = child.data; + + assertEquals("characterdataDeleteDataEndAssert","1230 North Ave. Dallas, Texas ",childData); + +} + + + + +function runTest() { + hc_characterdatadeletedataend(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataexceedslength.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataexceedslength.js new file mode 100644 index 0000000..4dccc5e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataexceedslength.js @@ -0,0 +1,125 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatadeletedataexceedslength"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If the sum of the offset and count used in the + "deleteData(offset,count) method is greater than the + length of the character data then all the characters + from the offset to the end of the data are deleted. + + Retrieve the character data from the last child of the + first employee. The "deleteData(offset,count)" + method is then called with offset=4 and count=50. + The method should delete the characters from position 4 + to the end of the data since the offset+count(50+4) + is greater than the length of the character data(35). + The new value of the character data should be "1230". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 +*/ +function hc_characterdatadeletedataexceedslength() { + var success; + if(checkInitialization(builder, "hc_characterdatadeletedataexceedslength") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.deleteData(4,50); + childData = child.data; + + assertEquals("characterdataDeleteDataExceedsLengthAssert","1230",childData); + +} + + + + +function runTest() { + hc_characterdatadeletedataexceedslength(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatagetlengthanddata.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatagetlengthanddata.js new file mode 100644 index 0000000..b3784f3 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatagetlengthanddata.js @@ -0,0 +1,132 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatadeletedatagetlengthanddata"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + On successful invocation of the "deleteData(offset,count)" + method, the "getData()" and "getLength()" methods reflect + the changes. + + Retrieve the character data from the last child of the + first employee. The "deleteData(offset,count)" + method is then called with offset=30 and count=5. + The method should delete the characters from position + 30 thru position 35. The new value of the character data + should be "1230 North Ave. Dallas, Texas" which is + returned by the "getData()" method and "getLength()" + method should return 30". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7D61178C +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 +*/ +function hc_characterdatadeletedatagetlengthanddata() { + var success; + if(checkInitialization(builder, "hc_characterdatadeletedatagetlengthanddata") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + var childLength; + var result = new Array(); + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.deleteData(30,5); + childData = child.data; + + assertEquals("data","1230 North Ave. Dallas, Texas ",childData); + childLength = child.length; + + assertEquals("length",30,childLength); + +} + + + + +function runTest() { + hc_characterdatadeletedatagetlengthanddata(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatamiddle.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatamiddle.js new file mode 100644 index 0000000..9afa810 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatamiddle.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatadeletedatamiddle"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "deleteData(offset,count)" method removes a range of + characters from the node. Delete data in the middle + of the character data. + + Retrieve the character data from the last child of the + first employee. The "deleteData(offset,count)" + method is then called with offset=16 and count=8. + The method should delete the characters from position + 16 thru position 24. The new value of the character data + should be "1230 North Ave. Texas 98551". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 +*/ +function hc_characterdatadeletedatamiddle() { + var success; + if(checkInitialization(builder, "hc_characterdatadeletedatamiddle") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.deleteData(16,8); + childData = child.data; + + assertEquals("characterdataDeleteDataMiddleAssert","1230 North Ave. Texas 98551",childData); + +} + + + + +function runTest() { + hc_characterdatadeletedatamiddle(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatagetdata.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatagetdata.js new file mode 100644 index 0000000..ef16bb0 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatagetdata.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatagetdata"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + + The "getData()" method retrieves the character data + + currently stored in the node. + + Retrieve the character data from the second child + + of the first employee and invoke the "getData()" + + method. The method returns the character data + + string. + + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +*/ +function hc_characterdatagetdata() { + var success; + if(checkInitialization(builder, "hc_characterdatagetdata") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + childData = child.data; + + assertEquals("characterdataGetDataAssert","Margaret Martin",childData); + +} + + + + +function runTest() { + hc_characterdatagetdata(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatagetlength.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatagetlength.js new file mode 100644 index 0000000..214b14c --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatagetlength.js @@ -0,0 +1,119 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatagetlength"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getLength()" method returns the number of characters + stored in this nodes data. + Retrieve the character data from the second + child of the first employee and examine the + value returned by the getLength() method. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7D61178C +*/ +function hc_characterdatagetlength() { + var success; + if(checkInitialization(builder, "hc_characterdatagetlength") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childValue; + var childLength; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + childValue = child.data; + + childLength = childValue.length; + assertEquals("characterdataGetLengthAssert",15,childLength); + +} + + + + +function runTest() { + hc_characterdatagetlength(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative.js new file mode 100644 index 0000000..9d03881 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative.js @@ -0,0 +1,130 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + setImplementationAttribute("signed", true); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "deleteData(offset,count)" method raises an + INDEX_SIZE_ERR DOMException if the specified count + is negative. + + Retrieve the character data of the last child of the + first employee and invoke its "deleteData(offset,count)" + method with offset=10 and count=-3. It should raise the + desired exception since the count is negative. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6531BCCF +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-6531BCCF')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) +*/ +function hc_characterdataindexsizeerrdeletedatacountnegative() { + var success; + if(checkInitialization(builder, "hc_characterdataindexsizeerrdeletedatacountnegative") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childSubstring; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + + { + success = false; + try { + childSubstring = child.substringData(10,-3); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 1); + } + assertTrue("throws_INDEX_SIZE_ERR",success); + } + +} + + + + +function runTest() { + hc_characterdataindexsizeerrdeletedatacountnegative(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetgreater.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetgreater.js new file mode 100644 index 0000000..a66a6c1 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetgreater.js @@ -0,0 +1,131 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrdeletedataoffsetgreater"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "deleteData(offset,count)" method raises an + INDEX_SIZE_ERR DOMException if the specified offset + is greater that the number of characters in the string. + + Retrieve the character data of the last child of the + first employee and invoke its "deleteData(offset,count)" + method with offset=40 and count=3. It should raise the + desired exception since the offset is greater than the + number of characters in the string. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-7C603781')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_characterdataindexsizeerrdeletedataoffsetgreater() { + var success; + if(checkInitialization(builder, "hc_characterdataindexsizeerrdeletedataoffsetgreater") != null) return; + var doc; + var elementList; + var nameNode; + var child; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + + { + success = false; + try { + child.deleteData(40,3); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 1); + } + assertTrue("throw_INDEX_SIZE_ERR",success); + } + +} + + + + +function runTest() { + hc_characterdataindexsizeerrdeletedataoffsetgreater(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetnegative.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetnegative.js new file mode 100644 index 0000000..ca26f7d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetnegative.js @@ -0,0 +1,130 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrdeletedataoffsetnegative"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + setImplementationAttribute("signed", true); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "deleteData(offset,count)" method raises an + INDEX_SIZE_ERR DOMException if the specified offset + is negative. + + Retrieve the character data of the last child of the + first employee and invoke its "deleteData(offset,count)" + method with offset=-5 and count=3. It should raise the + desired exception since the offset is negative. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-7C603781')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 +*/ +function hc_characterdataindexsizeerrdeletedataoffsetnegative() { + var success; + if(checkInitialization(builder, "hc_characterdataindexsizeerrdeletedataoffsetnegative") != null) return; + var doc; + var elementList; + var nameNode; + var child; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + + { + success = false; + try { + child.deleteData(-5,3); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 1); + } + assertTrue("throws_INDEX_SIZE_ERR",success); + } + +} + + + + +function runTest() { + hc_characterdataindexsizeerrdeletedataoffsetnegative(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetgreater.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetgreater.js new file mode 100644 index 0000000..0abfe7e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetgreater.js @@ -0,0 +1,130 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrinsertdataoffsetgreater"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "insertData(offset,arg)" method raises an + INDEX_SIZE_ERR DOMException if the specified offset + is greater than the number of characters in the string. + + Retrieve the character data of the last child of the + first employee and invoke its insertData"(offset,arg)" + method with offset=40 and arg="ABC". It should raise + the desired exception since the offset is greater than + the number of characters in the string. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-7C603781')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_characterdataindexsizeerrinsertdataoffsetgreater() { + var success; + if(checkInitialization(builder, "hc_characterdataindexsizeerrinsertdataoffsetgreater") != null) return; + var doc; + var elementList; + var nameNode; + var child; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + + { + success = false; + try { + child.deleteData(40,3); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 1); + } + assertTrue("throw_INDEX_SIZE_ERR",success); + } + +} + + + + +function runTest() { + hc_characterdataindexsizeerrinsertdataoffsetgreater(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetnegative.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetnegative.js new file mode 100644 index 0000000..4712b94 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetnegative.js @@ -0,0 +1,129 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrinsertdataoffsetnegative"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + setImplementationAttribute("signed", true); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "insertData(offset,arg)" method raises an + INDEX_SIZE_ERR DOMException if the specified offset + is negative. + + Retrieve the character data of the last child of the + first employee and invoke its insertData"(offset,arg)" + method with offset=-5 and arg="ABC". It should raise + the desired exception since the offset is negative. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-E5CBA7FB')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) +*/ +function hc_characterdataindexsizeerrinsertdataoffsetnegative() { + var success; + if(checkInitialization(builder, "hc_characterdataindexsizeerrinsertdataoffsetnegative") != null) return; + var doc; + var elementList; + var nameNode; + var child; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + + { + success = false; + try { + child.replaceData(-5,3,"ABC"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 1); + } + assertTrue("throws_INDEX_SIZE_ERR",success); + } + +} + + + + +function runTest() { + hc_characterdataindexsizeerrinsertdataoffsetnegative(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedatacountnegative.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedatacountnegative.js new file mode 100644 index 0000000..7a2b7d2 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedatacountnegative.js @@ -0,0 +1,131 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrreplacedatacountnegative"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + setImplementationAttribute("signed", true); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "replaceData(offset,count,arg)" method raises an + INDEX_SIZE_ERR DOMException if the specified count + is negative. + + Retrieve the character data of the last child of the + first employee and invoke its + "replaceData(offset,count,arg) method with offset=10 + and count=-3 and arg="ABC". It should raise the + desired exception since the count is negative. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6531BCCF +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-6531BCCF')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) +*/ +function hc_characterdataindexsizeerrreplacedatacountnegative() { + var success; + if(checkInitialization(builder, "hc_characterdataindexsizeerrreplacedatacountnegative") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var badString; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + + { + success = false; + try { + badString = child.substringData(10,-3); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 1); + } + assertTrue("throws_INDEX_SIZE_ERR",success); + } + +} + + + + +function runTest() { + hc_characterdataindexsizeerrreplacedatacountnegative(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetgreater.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetgreater.js new file mode 100644 index 0000000..dc62aa7 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetgreater.js @@ -0,0 +1,131 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrreplacedataoffsetgreater"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "replaceData(offset,count,arg)" method raises an + INDEX_SIZE_ERR DOMException if the specified offset + is greater than the length of the string. + + Retrieve the character data of the last child of the + first employee and invoke its + "replaceData(offset,count,arg) method with offset=40 + and count=3 and arg="ABC". It should raise the + desired exception since the offset is greater than the + length of the string. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-7C603781')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=242 +*/ +function hc_characterdataindexsizeerrreplacedataoffsetgreater() { + var success; + if(checkInitialization(builder, "hc_characterdataindexsizeerrreplacedataoffsetgreater") != null) return; + var doc; + var elementList; + var nameNode; + var child; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + + { + success = false; + try { + child.deleteData(40,3); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 1); + } + assertTrue("throw_INDEX_SIZE_ERR",success); + } + +} + + + + +function runTest() { + hc_characterdataindexsizeerrreplacedataoffsetgreater(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetnegative.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetnegative.js new file mode 100644 index 0000000..af267df --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetnegative.js @@ -0,0 +1,131 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrreplacedataoffsetnegative"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + setImplementationAttribute("signed", true); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "replaceData(offset,count,arg)" method raises an + INDEX_SIZE_ERR DOMException if the specified offset + is negative. + + Retrieve the character data of the last child of the + first employee and invoke its + "replaceData(offset,count,arg) method with offset=-5 + and count=3 and arg="ABC". It should raise the + desired exception since the offset is negative. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-E5CBA7FB')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB +*/ +function hc_characterdataindexsizeerrreplacedataoffsetnegative() { + var success; + if(checkInitialization(builder, "hc_characterdataindexsizeerrreplacedataoffsetnegative") != null) return; + var doc; + var elementList; + var nameNode; + var child; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + + { + success = false; + try { + child.replaceData(-5,3,"ABC"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 1); + } + assertTrue("throws_INDEX_SIZE_ERR",success); + } + +} + + + + +function runTest() { + hc_characterdataindexsizeerrreplacedataoffsetnegative(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringcountnegative.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringcountnegative.js new file mode 100644 index 0000000..2e96dbe --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringcountnegative.js @@ -0,0 +1,130 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrsubstringcountnegative"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + setImplementationAttribute("signed", true); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "substringData(offset,count)" method raises an + INDEX_SIZE_ERR DOMException if the specified count + is negative. + + Retrieve the character data of the last child of the + first employee and invoke its "substringData(offset,count) + method with offset=10 and count=-3. It should raise the + desired exception since the count is negative. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6531BCCF +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-6531BCCF')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) +*/ +function hc_characterdataindexsizeerrsubstringcountnegative() { + var success; + if(checkInitialization(builder, "hc_characterdataindexsizeerrsubstringcountnegative") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var badSubstring; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + + { + success = false; + try { + badSubstring = child.substringData(10,-3); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 1); + } + assertTrue("throws_INDEX_SIZE_ERR",success); + } + +} + + + + +function runTest() { + hc_characterdataindexsizeerrsubstringcountnegative(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringnegativeoffset.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringnegativeoffset.js new file mode 100644 index 0000000..bc2fbf1 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringnegativeoffset.js @@ -0,0 +1,130 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrsubstringnegativeoffset"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + setImplementationAttribute("signed", true); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "substringData(offset,count)" method raises an + INDEX_SIZE_ERR DOMException if the specified offset + is negative. + + Retrieve the character data of the last child of the + first employee and invoke its "substringData(offset,count) + method with offset=-5 and count=3. It should raise the + desired exception since the offset is negative. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6531BCCF +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-6531BCCF')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) +*/ +function hc_characterdataindexsizeerrsubstringnegativeoffset() { + var success; + if(checkInitialization(builder, "hc_characterdataindexsizeerrsubstringnegativeoffset") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var badString; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + + { + success = false; + try { + badString = child.substringData(-5,3); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 1); + } + assertTrue("throws_INDEX_SIZE_ERR",success); + } + +} + + + + +function runTest() { + hc_characterdataindexsizeerrsubstringnegativeoffset(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringoffsetgreater.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringoffsetgreater.js new file mode 100644 index 0000000..65325c7 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringoffsetgreater.js @@ -0,0 +1,131 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrsubstringoffsetgreater"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "substringData(offset,count)" method raises an + INDEX_SIZE_ERR DOMException if the specified offset + is greater than the number of characters in the string. + + Retrieve the character data of the last child of the + first employee and invoke its "substringData(offset,count) + method with offset=40 and count=3. It should raise the + desired exception since the offsets value is greater + than the length. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6531BCCF +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-6531BCCF')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_characterdataindexsizeerrsubstringoffsetgreater() { + var success; + if(checkInitialization(builder, "hc_characterdataindexsizeerrsubstringoffsetgreater") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var badString; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + + { + success = false; + try { + badString = child.substringData(40,3); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 1); + } + assertTrue("throw_INDEX_SIZE_ERR",success); + } + +} + + + + +function runTest() { + hc_characterdataindexsizeerrsubstringoffsetgreater(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatabeginning.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatabeginning.js new file mode 100644 index 0000000..576e855 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatabeginning.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatainsertdatabeginning"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "insertData(offset,arg)" method will insert a string +at the specified character offset. Insert the data at +the beginning of the character data. + +Retrieve the character data from the second child of +the first employee. The "insertData(offset,arg)" +method is then called with offset=0 and arg="Mss.". +The method should insert the string "Mss." at position 0. +The new value of the character data should be +"Mss. Margaret Martin". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3EDB695F +*/ +function hc_characterdatainsertdatabeginning() { + var success; + if(checkInitialization(builder, "hc_characterdatainsertdatabeginning") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.insertData(0,"Mss. "); + childData = child.data; + + assertEquals("characterdataInsertDataBeginningAssert","Mss. Margaret Martin",childData); + +} + + + + +function runTest() { + hc_characterdatainsertdatabeginning(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdataend.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdataend.js new file mode 100644 index 0000000..424f776 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdataend.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatainsertdataend"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "insertData(offset,arg)" method will insert a string + at the specified character offset. Insert the data at + the end of the character data. + + Retrieve the character data from the second child of + the first employee. The "insertData(offset,arg)" + method is then called with offset=15 and arg=", Esquire". + The method should insert the string ", Esquire" at + position 15. The new value of the character data should + be "Margaret Martin, Esquire". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3EDB695F +*/ +function hc_characterdatainsertdataend() { + var success; + if(checkInitialization(builder, "hc_characterdatainsertdataend") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.insertData(15,", Esquire"); + childData = child.data; + + assertEquals("characterdataInsertDataEndAssert","Margaret Martin, Esquire",childData); + +} + + + + +function runTest() { + hc_characterdatainsertdataend(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatamiddle.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatamiddle.js new file mode 100644 index 0000000..081714c --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatamiddle.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatainsertdatamiddle"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "insertData(offset,arg)" method will insert a string + at the specified character offset. Insert the data in + the middle of the character data. + + Retrieve the character data from the second child of + the first employee. The "insertData(offset,arg)" + method is then called with offset=9 and arg="Ann". + The method should insert the string "Ann" at position 9. + The new value of the character data should be + "Margaret Ann Martin". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3EDB695F +*/ +function hc_characterdatainsertdatamiddle() { + var success; + if(checkInitialization(builder, "hc_characterdatainsertdatamiddle") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.insertData(9,"Ann "); + childData = child.data; + + assertEquals("characterdataInsertDataMiddleAssert","Margaret Ann Martin",childData); + +} + + + + +function runTest() { + hc_characterdatainsertdatamiddle(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatabegining.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatabegining.js new file mode 100644 index 0000000..2f5820d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatabegining.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatareplacedatabegining"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "replaceData(offset,count,arg)" method replaces the +characters starting at the specified offset with the +specified string. Test for replacement in the +middle of the data. + +Retrieve the character data from the last child of the +first employee. The "replaceData(offset,count,arg)" +method is then called with offset=5 and count=5 and +arg="South". The method should replace characters five +thru 9 of the character data with "South". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB +*/ +function hc_characterdatareplacedatabegining() { + var success; + if(checkInitialization(builder, "hc_characterdatareplacedatabegining") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.replaceData(0,4,"2500"); + childData = child.data; + + assertEquals("characterdataReplaceDataBeginingAssert","2500 North Ave. Dallas, Texas 98551",childData); + +} + + + + +function runTest() { + hc_characterdatareplacedatabegining(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataend.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataend.js new file mode 100644 index 0000000..8c01d58 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataend.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatareplacedataend"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "replaceData(offset,count,arg)" method replaces the + characters starting at the specified offset with the + specified string. Test for replacement at the + end of the data. + + Retrieve the character data from the last child of the + first employee. The "replaceData(offset,count,arg)" + method is then called with offset=30 and count=5 and + arg="98665". The method should replace characters 30 + thru 34 of the character data with "98665". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB +*/ +function hc_characterdatareplacedataend() { + var success; + if(checkInitialization(builder, "hc_characterdatareplacedataend") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.replaceData(30,5,"98665"); + childData = child.data; + + assertEquals("characterdataReplaceDataEndAssert","1230 North Ave. Dallas, Texas 98665",childData); + +} + + + + +function runTest() { + hc_characterdatareplacedataend(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofarg.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofarg.js new file mode 100644 index 0000000..a9cf8e2 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofarg.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatareplacedataexceedslengthofarg"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "replaceData(offset,count,arg)" method replaces the + characters starting at the specified offset with the + specified string. Test the situation where the length + of the arg string is greater than the specified offset. + + Retrieve the character data from the last child of the + first employee. The "replaceData(offset,count,arg)" + method is then called with offset=0 and count=4 and + arg="260030". The method should replace characters one + thru four with "260030". Note that the length of the + specified string is greater that the specified offset. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB +*/ +function hc_characterdatareplacedataexceedslengthofarg() { + var success; + if(checkInitialization(builder, "hc_characterdatareplacedataexceedslengthofarg") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.replaceData(0,4,"260030"); + childData = child.data; + + assertEquals("characterdataReplaceDataExceedsLengthOfArgAssert","260030 North Ave. Dallas, Texas 98551",childData); + +} + + + + +function runTest() { + hc_characterdatareplacedataexceedslengthofarg(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofdata.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofdata.js new file mode 100644 index 0000000..b2b4205 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofdata.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatareplacedataexceedslengthofdata"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If the sum of the offset and count exceeds the length then + all the characters to the end of the data are replaced. + + Retrieve the character data from the last child of the + first employee. The "replaceData(offset,count,arg)" + method is then called with offset=0 and count=50 and + arg="2600". The method should replace all the characters + with "2600". This is because the sum of the offset and + count exceeds the length of the character data. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB +*/ +function hc_characterdatareplacedataexceedslengthofdata() { + var success; + if(checkInitialization(builder, "hc_characterdatareplacedataexceedslengthofdata") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.replaceData(0,50,"2600"); + childData = child.data; + + assertEquals("characterdataReplaceDataExceedsLengthOfDataAssert","2600",childData); + +} + + + + +function runTest() { + hc_characterdatareplacedataexceedslengthofdata(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatamiddle.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatamiddle.js new file mode 100644 index 0000000..6558cde --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatamiddle.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatareplacedatamiddle"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "replaceData(offset,count,arg)" method replaces the + characters starting at the specified offset with the + specified string. Test for replacement in the + middle of the data. + + Retrieve the character data from the last child of the + first employee. The "replaceData(offset,count,arg)" + method is then called with offset=5 and count=5 and + arg="South". The method should replace characters five + thru 9 of the character data with "South". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB +*/ +function hc_characterdatareplacedatamiddle() { + var success; + if(checkInitialization(builder, "hc_characterdatareplacedatamiddle") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.replaceData(5,5,"South"); + childData = child.data; + + assertEquals("characterdataReplaceDataMiddleAssert","1230 South Ave. Dallas, Texas 98551",childData); + +} + + + + +function runTest() { + hc_characterdatareplacedatamiddle(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatasetnodevalue.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatasetnodevalue.js new file mode 100644 index 0000000..e56ce72 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatasetnodevalue.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatasetnodevalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "setNodeValue()" method changes the character data + currently stored in the node. + Retrieve the character data from the second child + of the first employee and invoke the "setNodeValue()" + method, call "getData()" and compare. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +*/ +function hc_characterdatasetnodevalue() { + var success; + if(checkInitialization(builder, "hc_characterdatasetnodevalue") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + var childValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.nodeValue = "Marilyn Martin"; + + childData = child.data; + + assertEquals("data","Marilyn Martin",childData); + childValue = child.nodeValue; + + assertEquals("value","Marilyn Martin",childValue); + +} + + + + +function runTest() { + hc_characterdatasetnodevalue(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringexceedsvalue.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringexceedsvalue.js new file mode 100644 index 0000000..043dac2 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringexceedsvalue.js @@ -0,0 +1,120 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatasubstringexceedsvalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If the sum of the "offset" and "count" exceeds the + "length" then the "substringData(offset,count)" method + returns all the characters to the end of the data. + + Retrieve the character data from the second child + of the first employee and access part of the data + by using the substringData(offset,count) method + with offset=9 and count=10. The method should return + the substring "Martin" since offset+count > length + (19 > 15). + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6531BCCF +*/ +function hc_characterdatasubstringexceedsvalue() { + var success; + if(checkInitialization(builder, "hc_characterdatasubstringexceedsvalue") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var substring; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + substring = child.substringData(9,10); + assertEquals("characterdataSubStringExceedsValueAssert","Martin",substring); + +} + + + + +function runTest() { + hc_characterdatasubstringexceedsvalue(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringvalue.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringvalue.js new file mode 100644 index 0000000..379e3b0 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringvalue.js @@ -0,0 +1,119 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatasubstringvalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "substringData(offset,count)" method returns the + specified string. + + Retrieve the character data from the second child + of the first employee and access part of the data + by using the substringData(offset,count) method. The + method should return the specified substring starting + at position "offset" and extract "count" characters. + The method should return the string "Margaret". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6531BCCF +*/ +function hc_characterdatasubstringvalue() { + var success; + if(checkInitialization(builder, "hc_characterdatasubstringvalue") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var substring; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + substring = child.substringData(0,8); + assertEquals("characterdataSubStringValueAssert","Margaret",substring); + +} + + + + +function runTest() { + hc_characterdatasubstringvalue(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_commentgetcomment.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_commentgetcomment.js new file mode 100644 index 0000000..b7c76b4 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_commentgetcomment.js @@ -0,0 +1,144 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_commentgetcomment"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + A comment is all the characters between the starting + '' + Retrieve the nodes of the DOM document. Search for a + comment node and the content is its value. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1334481328 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=509 +*/ +function hc_commentgetcomment() { + var success; + if(checkInitialization(builder, "hc_commentgetcomment") != null) return; + var doc; + var elementList; + var child; + var childName; + var childValue; + var commentCount = 0; + var childType; + var attributes; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.childNodes; + + for(var indexN1005E = 0;indexN1005E < elementList.length; indexN1005E++) { + child = elementList.item(indexN1005E); + childType = child.nodeType; + + + if( + (8 == childType) + ) { + childName = child.nodeName; + + assertEquals("nodeName","#comment",childName); + childValue = child.nodeValue; + + assertEquals("nodeValue"," This is comment number 1.",childValue); + attributes = child.attributes; + + assertNull("attributes",attributes); + commentCount += 1; + + } + + } + assertTrue("atMostOneComment", + + (commentCount < 2) +); + +} + + + + +function runTest() { + hc_commentgetcomment(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreatecomment.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreatecomment.js new file mode 100644 index 0000000..fdd69a8 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreatecomment.js @@ -0,0 +1,120 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentcreatecomment"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "createComment(data)" method creates a new Comment + node given the specified string. + Retrieve the entire DOM document and invoke its + "createComment(data)" method. It should create a new + Comment node whose "data" is the specified string. + The content, name and type are retrieved and output. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1334481328 +*/ +function hc_documentcreatecomment() { + var success; + if(checkInitialization(builder, "hc_documentcreatecomment") != null) return; + var doc; + var newCommentNode; + var newCommentValue; + var newCommentName; + var newCommentType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newCommentNode = doc.createComment("This is a new Comment node"); + newCommentValue = newCommentNode.nodeValue; + + assertEquals("value","This is a new Comment node",newCommentValue); + newCommentName = newCommentNode.nodeName; + + assertEquals("strong","#comment",newCommentName); + newCommentType = newCommentNode.nodeType; + + assertEquals("type",8,newCommentType); + +} + + + + +function runTest() { + hc_documentcreatecomment(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreatedocumentfragment.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreatedocumentfragment.js new file mode 100644 index 0000000..40240c5 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreatedocumentfragment.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentcreatedocumentfragment"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "createDocumentFragment()" method creates an empty + DocumentFragment object. + Retrieve the entire DOM document and invoke its + "createDocumentFragment()" method. The content, name, + type and value of the newly created object are output. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-35CB04B5 +*/ +function hc_documentcreatedocumentfragment() { + var success; + if(checkInitialization(builder, "hc_documentcreatedocumentfragment") != null) return; + var doc; + var newDocFragment; + var children; + var length; + var newDocFragmentName; + var newDocFragmentType; + var newDocFragmentValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newDocFragment = doc.createDocumentFragment(); + children = newDocFragment.childNodes; + + length = children.length; + + assertEquals("length",0,length); + newDocFragmentName = newDocFragment.nodeName; + + assertEquals("strong","#document-fragment",newDocFragmentName); + newDocFragmentType = newDocFragment.nodeType; + + assertEquals("type",11,newDocFragmentType); + newDocFragmentValue = newDocFragment.nodeValue; + + assertNull("value",newDocFragmentValue); + +} + + + + +function runTest() { + hc_documentcreatedocumentfragment(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreateelement.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreateelement.js new file mode 100644 index 0000000..fbba09a --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreateelement.js @@ -0,0 +1,121 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentcreateelement"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "createElement(tagName)" method creates an Element + of the type specified. + Retrieve the entire DOM document and invoke its + "createElement(tagName)" method with tagName="acronym". + The method should create an instance of an Element node + whose tagName is "acronym". The NodeName, NodeType + and NodeValue are returned. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-2141741547 +*/ +function hc_documentcreateelement() { + var success; + if(checkInitialization(builder, "hc_documentcreateelement") != null) return; + var doc; + var newElement; + var newElementName; + var newElementType; + var newElementValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newElement = doc.createElement("acronym"); + newElementName = newElement.nodeName; + + assertEqualsAutoCase("element", "strong","acronym",newElementName); + newElementType = newElement.nodeType; + + assertEquals("type",1,newElementType); + newElementValue = newElement.nodeValue; + + assertNull("valueInitiallyNull",newElementValue); + +} + + + + +function runTest() { + hc_documentcreateelement(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreateelementcasesensitive.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreateelementcasesensitive.js new file mode 100644 index 0000000..a22069f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreateelementcasesensitive.js @@ -0,0 +1,132 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentcreateelementcasesensitive"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The tagName parameter in the "createElement(tagName)" + method is case-sensitive for XML documents. + Retrieve the entire DOM document and invoke its + "createElement(tagName)" method twice. Once for tagName + equal to "acronym" and once for tagName equal to "ACRONYM" + Each call should create a distinct Element node. The + newly created Elements are then assigned attributes + that are retrieved. + + Modified on 27 June 2003 to avoid setting an invalid style + values and checked the node names to see if they matched expectations. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-2141741547 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 +*/ +function hc_documentcreateelementcasesensitive() { + var success; + if(checkInitialization(builder, "hc_documentcreateelementcasesensitive") != null) return; + var doc; + var newElement1; + var newElement2; + var attribute1; + var attribute2; + var nodeName1; + var nodeName2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newElement1 = doc.createElement("ACRONYM"); + newElement2 = doc.createElement("acronym"); + newElement1.setAttribute("lang","EN"); + newElement2.setAttribute("title","Dallas"); + attribute1 = newElement1.getAttribute("lang"); + attribute2 = newElement2.getAttribute("title"); + assertEquals("attrib1","EN",attribute1); + assertEquals("attrib2","Dallas",attribute2); + nodeName1 = newElement1.nodeName; + + nodeName2 = newElement2.nodeName; + + assertEqualsAutoCase("element", "nodeName1","ACRONYM",nodeName1); + assertEqualsAutoCase("element", "nodeName2","acronym",nodeName2); + +} + + + + +function runTest() { + hc_documentcreateelementcasesensitive(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreatetextnode.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreatetextnode.js new file mode 100644 index 0000000..8b04106 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreatetextnode.js @@ -0,0 +1,120 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentcreatetextnode"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "createTextNode(data)" method creates a Text node + given the specfied string. + Retrieve the entire DOM document and invoke its + "createTextNode(data)" method. It should create a + new Text node whose "data" is the specified string. + The NodeName and NodeType are also checked. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1975348127 +*/ +function hc_documentcreatetextnode() { + var success; + if(checkInitialization(builder, "hc_documentcreatetextnode") != null) return; + var doc; + var newTextNode; + var newTextName; + var newTextValue; + var newTextType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newTextNode = doc.createTextNode("This is a new Text node"); + newTextValue = newTextNode.nodeValue; + + assertEquals("value","This is a new Text node",newTextValue); + newTextName = newTextNode.nodeName; + + assertEquals("strong","#text",newTextName); + newTextType = newTextNode.nodeType; + + assertEquals("type",3,newTextType); + +} + + + + +function runTest() { + hc_documentcreatetextnode(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetdoctype.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetdoctype.js new file mode 100644 index 0000000..c3aa3c5 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetdoctype.js @@ -0,0 +1,149 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentgetdoctype"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Access Document.doctype for hc_staff, if not text/html should return DocumentType node. +HTML implementations may return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A31 +*/ +function hc_documentgetdoctype() { + var success; + if(checkInitialization(builder, "hc_documentgetdoctype") != null) return; + var doc; + var docType; + var docTypeName; + var nodeValue; + var attributes; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + docType = doc.doctype; + + + if( + + !( + (builder.contentType == "text/html") +) + + ) { + assertNotNull("docTypeNotNull",docType); + + } + + if( + + (docType != null) + + ) { + docTypeName = docType.name; + + + if( + + (builder.contentType == "image/svg+xml") + + ) { + assertEquals("nodeNameSVG","svg",docTypeName); + + } + + else { + assertEquals("nodeName","html",docTypeName); + + } + nodeValue = docType.nodeValue; + + assertNull("nodeValue",nodeValue); + attributes = docType.attributes; + + assertNull("attributes",attributes); + + } + +} + + + + +function runTest() { + hc_documentgetdoctype(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamelength.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamelength.js new file mode 100644 index 0000000..1eb3e39 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamelength.js @@ -0,0 +1,110 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentgetelementsbytagnamelength"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getElementsByTagName(tagName)" method returns a + NodeList of all the Elements with a given tagName. + + Retrieve the entire DOM document and invoke its + "getElementsByTagName(tagName)" method with tagName + equal to "strong". The method should return a NodeList + that contains 5 elements. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-A6C9094 +*/ +function hc_documentgetelementsbytagnamelength() { + var success; + if(checkInitialization(builder, "hc_documentgetelementsbytagnamelength") != null) return; + var doc; + var nameList; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + nameList = doc.getElementsByTagName("strong"); + assertSize("documentGetElementsByTagNameLengthAssert",5,nameList); + +} + + + + +function runTest() { + hc_documentgetelementsbytagnamelength(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnametotallength.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnametotallength.js new file mode 100644 index 0000000..00fa119 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnametotallength.js @@ -0,0 +1,221 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentgetelementsbytagnametotallength"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the entire DOM document and invoke its + "getElementsByTagName(tagName)" method with tagName + equal to "*". The method should return a NodeList + that contains all the elements of the document. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-A6C9094 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=251 +*/ +function hc_documentgetelementsbytagnametotallength() { + var success; + if(checkInitialization(builder, "hc_documentgetelementsbytagnametotallength") != null) return; + var doc; + var nameList; + expectedNames = new Array(); + expectedNames[0] = "html"; + expectedNames[1] = "head"; + expectedNames[2] = "meta"; + expectedNames[3] = "title"; + expectedNames[4] = "script"; + expectedNames[5] = "script"; + expectedNames[6] = "script"; + expectedNames[7] = "body"; + expectedNames[8] = "p"; + expectedNames[9] = "em"; + expectedNames[10] = "strong"; + expectedNames[11] = "code"; + expectedNames[12] = "sup"; + expectedNames[13] = "var"; + expectedNames[14] = "acronym"; + expectedNames[15] = "p"; + expectedNames[16] = "em"; + expectedNames[17] = "strong"; + expectedNames[18] = "code"; + expectedNames[19] = "sup"; + expectedNames[20] = "var"; + expectedNames[21] = "acronym"; + expectedNames[22] = "p"; + expectedNames[23] = "em"; + expectedNames[24] = "strong"; + expectedNames[25] = "code"; + expectedNames[26] = "sup"; + expectedNames[27] = "var"; + expectedNames[28] = "acronym"; + expectedNames[29] = "p"; + expectedNames[30] = "em"; + expectedNames[31] = "strong"; + expectedNames[32] = "code"; + expectedNames[33] = "sup"; + expectedNames[34] = "var"; + expectedNames[35] = "acronym"; + expectedNames[36] = "p"; + expectedNames[37] = "em"; + expectedNames[38] = "strong"; + expectedNames[39] = "code"; + expectedNames[40] = "sup"; + expectedNames[41] = "var"; + expectedNames[42] = "acronym"; + + svgExpectedNames = new Array(); + svgExpectedNames[0] = "svg"; + svgExpectedNames[1] = "rect"; + svgExpectedNames[2] = "script"; + svgExpectedNames[3] = "head"; + svgExpectedNames[4] = "meta"; + svgExpectedNames[5] = "title"; + svgExpectedNames[6] = "body"; + svgExpectedNames[7] = "p"; + svgExpectedNames[8] = "em"; + svgExpectedNames[9] = "strong"; + svgExpectedNames[10] = "code"; + svgExpectedNames[11] = "sup"; + svgExpectedNames[12] = "var"; + svgExpectedNames[13] = "acronym"; + svgExpectedNames[14] = "p"; + svgExpectedNames[15] = "em"; + svgExpectedNames[16] = "strong"; + svgExpectedNames[17] = "code"; + svgExpectedNames[18] = "sup"; + svgExpectedNames[19] = "var"; + svgExpectedNames[20] = "acronym"; + svgExpectedNames[21] = "p"; + svgExpectedNames[22] = "em"; + svgExpectedNames[23] = "strong"; + svgExpectedNames[24] = "code"; + svgExpectedNames[25] = "sup"; + svgExpectedNames[26] = "var"; + svgExpectedNames[27] = "acronym"; + svgExpectedNames[28] = "p"; + svgExpectedNames[29] = "em"; + svgExpectedNames[30] = "strong"; + svgExpectedNames[31] = "code"; + svgExpectedNames[32] = "sup"; + svgExpectedNames[33] = "var"; + svgExpectedNames[34] = "acronym"; + svgExpectedNames[35] = "p"; + svgExpectedNames[36] = "em"; + svgExpectedNames[37] = "strong"; + svgExpectedNames[38] = "code"; + svgExpectedNames[39] = "sup"; + svgExpectedNames[40] = "var"; + svgExpectedNames[41] = "acronym"; + + var actualNames = new Array(); + + var thisElement; + var thisTag; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + nameList = doc.getElementsByTagName("*"); + for(var indexN10148 = 0;indexN10148 < nameList.length; indexN10148++) { + thisElement = nameList.item(indexN10148); + thisTag = thisElement.tagName; + + actualNames[actualNames.length] = thisTag; + + } + + if( + + (builder.contentType == "image/svg+xml") + + ) { + assertEqualsListAutoCase("element", "svgTagNames",svgExpectedNames,actualNames); + + } + + else { + assertEqualsListAutoCase("element", "tagNames",expectedNames,actualNames); + + } + +} + + + + +function runTest() { + hc_documentgetelementsbytagnametotallength(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamevalue.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamevalue.js new file mode 100644 index 0000000..e9d39ed --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamevalue.js @@ -0,0 +1,120 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentgetelementsbytagnamevalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getElementsByTagName(tagName)" method returns a + NodeList of all the Elements with a given tagName + in a pre-order traversal of the tree. + + Retrieve the entire DOM document and invoke its + "getElementsByTagName(tagName)" method with tagName + equal to "strong". The method should return a NodeList + that contains 5 elements. The FOURTH item in the + list is retrieved and output. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-A6C9094 +*/ +function hc_documentgetelementsbytagnamevalue() { + var success; + if(checkInitialization(builder, "hc_documentgetelementsbytagnamevalue") != null) return; + var doc; + var nameList; + var nameNode; + var firstChild; + var childValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + nameList = doc.getElementsByTagName("strong"); + nameNode = nameList.item(3); + firstChild = nameNode.firstChild; + + childValue = firstChild.nodeValue; + + assertEquals("documentGetElementsByTagNameValueAssert","Jeny Oconnor",childValue); + +} + + + + +function runTest() { + hc_documentgetelementsbytagnamevalue(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetimplementation.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetimplementation.js new file mode 100644 index 0000000..5bb3f3b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetimplementation.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentgetimplementation"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the entire DOM document and invoke its + "getImplementation()" method. If contentType="text/html", + DOMImplementation.hasFeature("HTML","1.0") should be true. + Otherwise, DOMImplementation.hasFeature("XML", "1.0") + should be true. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1B793EBA +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=245 +*/ +function hc_documentgetimplementation() { + var success; + if(checkInitialization(builder, "hc_documentgetimplementation") != null) return; + var doc; + var docImpl; + var xmlstate; + var htmlstate; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + docImpl = doc.implementation; +xmlstate = docImpl.hasFeature("XML","1.0"); +htmlstate = docImpl.hasFeature("HTML","1.0"); + + if( + + (builder.contentType == "text/html") + + ) { + assertTrue("supports_HTML_1.0",htmlstate); + + } + + else { + assertTrue("supports_XML_1.0",xmlstate); + + } + +} + + + + +function runTest() { + hc_documentgetimplementation(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetrootnode.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetrootnode.js new file mode 100644 index 0000000..e221ff1 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetrootnode.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentgetrootnode"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Load a document and invoke its + "getDocumentElement()" method. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-87CD092 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=251 +*/ +function hc_documentgetrootnode() { + var success; + if(checkInitialization(builder, "hc_documentgetrootnode") != null) return; + var doc; + var root; + var rootName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + root = doc.documentElement; + + rootName = root.nodeName; + + + if( + + (builder.contentType == "image/svg+xml") + + ) { + assertEquals("svgTagName","svg",rootName); + + } + + else { + assertEqualsAutoCase("element", "docElemName","html",rootName); + + } + +} + + + + +function runTest() { + hc_documentgetrootnode(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement.js new file mode 100644 index 0000000..624a46a --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentinvalidcharacterexceptioncreateelement"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "createElement(tagName)" method raises an + INVALID_CHARACTER_ERR DOMException if the specified + tagName contains an invalid character. + + Retrieve the entire DOM document and invoke its + "createElement(tagName)" method with the tagName equal + to the string "invalid^Name". Due to the invalid + character the desired EXCEPTION should be raised. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-2141741547 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-2141741547')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-2141741547 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_documentinvalidcharacterexceptioncreateelement() { + var success; + if(checkInitialization(builder, "hc_documentinvalidcharacterexceptioncreateelement") != null) return; + var doc; + var badElement; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + + { + success = false; + try { + badElement = doc.createElement("invalid^Name"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 5); + } + assertTrue("throw_INVALID_CHARACTER_ERR",success); + } + +} + + + + +function runTest() { + hc_documentinvalidcharacterexceptioncreateelement(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement1.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement1.js new file mode 100644 index 0000000..cbf69fe --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement1.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentinvalidcharacterexceptioncreateelement1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Creating an element with an empty name should cause an INVALID_CHARACTER_ERR. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-2141741547 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-2141741547')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-2141741547 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=525 +*/ +function hc_documentinvalidcharacterexceptioncreateelement1() { + var success; + if(checkInitialization(builder, "hc_documentinvalidcharacterexceptioncreateelement1") != null) return; + var doc; + var badElement; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + + { + success = false; + try { + badElement = doc.createElement(""); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 5); + } + assertTrue("throw_INVALID_CHARACTER_ERR",success); + } + +} + + + + +function runTest() { + hc_documentinvalidcharacterexceptioncreateelement1(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenoversion.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenoversion.js new file mode 100644 index 0000000..f723ce5 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenoversion.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_domimplementationfeaturenoversion"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Load a document and invoke its + "getImplementation()" method. This should create a + DOMImplementation object whose "hasFeature(feature, + version)" method is invoked with version equal to "". + If the version is not specified, supporting any version + feature will cause the method to return "true". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-5CED94D7 +* @see http://www.w3.org/2000/11/DOM-Level-2-errata#core-14 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=245 +*/ +function hc_domimplementationfeaturenoversion() { + var success; + if(checkInitialization(builder, "hc_domimplementationfeaturenoversion") != null) return; + var doc; + var domImpl; + var state; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + domImpl = doc.implementation; + + if( + + (builder.contentType == "text/html") + + ) { + state = domImpl.hasFeature("HTML",""); + + } + + else { + state = domImpl.hasFeature("XML",""); + + } + assertTrue("hasFeatureBlank",state); + +} + + + + +function runTest() { + hc_domimplementationfeaturenoversion(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenull.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenull.js new file mode 100644 index 0000000..bfa69f3 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenull.js @@ -0,0 +1,129 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_domimplementationfeaturenull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + setImplementationAttribute("hasNullString", true); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Load a document and invoke its + "getImplementation()" method. This should create a + DOMImplementation object whose "hasFeature(feature, + version)" method is invoked with version equal to null. + If the version is not specified, supporting any version + feature will cause the method to return "true". + +* @author Curt Arnold +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-5CED94D7 +* @see http://www.w3.org/2000/11/DOM-Level-2-errata#core-14 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=245 +*/ +function hc_domimplementationfeaturenull() { + var success; + if(checkInitialization(builder, "hc_domimplementationfeaturenull") != null) return; + var doc; + var domImpl; + var state; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + domImpl = doc.implementation; + + if( + + (builder.contentType == "text/html") + + ) { + state = domImpl.hasFeature("HTML",null); +assertTrue("supports_HTML_null",state); + + } + + else { + state = domImpl.hasFeature("XML",null); +assertTrue("supports_XML_null",state); + + } + +} + + + + +function runTest() { + hc_domimplementationfeaturenull(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturexml.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturexml.js new file mode 100644 index 0000000..acd4d37 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturexml.js @@ -0,0 +1,125 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_domimplementationfeaturexml"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the entire DOM document and invoke its + "getImplementation()" method. This should create a + DOMImplementation object whose "hasFeature(feature, + version)" method is invoked with "feature" equal to "html" or "xml". + The method should return a boolean "true". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-5CED94D7 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=245 +*/ +function hc_domimplementationfeaturexml() { + var success; + if(checkInitialization(builder, "hc_domimplementationfeaturexml") != null) return; + var doc; + var domImpl; + var state; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + domImpl = doc.implementation; + + if( + + (builder.contentType == "text/html") + + ) { + state = domImpl.hasFeature("html","1.0"); +assertTrue("supports_html_1.0",state); + + } + + else { + state = domImpl.hasFeature("xml","1.0"); +assertTrue("supports_xml_1.0",state); + + } + +} + + + + +function runTest() { + hc_domimplementationfeaturexml(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementaddnewattribute.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementaddnewattribute.js new file mode 100644 index 0000000..90d483b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementaddnewattribute.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementaddnewattribute"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "setAttribute(name,value)" method adds a new attribute + to the Element + + Retrieve the last child of the last employee, then + add an attribute to it by invoking the + "setAttribute(name,value)" method. It should create + a "strong" attribute with an assigned value equal to + "value". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68F082 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 +*/ +function hc_elementaddnewattribute() { + var success; + if(checkInitialization(builder, "hc_elementaddnewattribute") != null) return; + var doc; + var elementList; + var testEmployee; + var attrValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(4); + testEmployee.setAttribute("lang","EN-us"); + attrValue = testEmployee.getAttribute("lang"); + assertEquals("attrValue","EN-us",attrValue); + +} + + + + +function runTest() { + hc_elementaddnewattribute(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementchangeattributevalue.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementchangeattributevalue.js new file mode 100644 index 0000000..2777f22 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementchangeattributevalue.js @@ -0,0 +1,119 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementchangeattributevalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "setAttribute(name,value)" method adds a new attribute + to the Element. If the "strong" is already present, then + its value should be changed to the new one that is in + the "value" parameter. + + Retrieve the last child of the fourth employee, then add + an attribute to it by invoking the + "setAttribute(name,value)" method. Since the name of the + used attribute("class") is already present in this + element, then its value should be changed to the new one + of the "value" parameter. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68F082 +*/ +function hc_elementchangeattributevalue() { + var success; + if(checkInitialization(builder, "hc_elementchangeattributevalue") != null) return; + var doc; + var elementList; + var testEmployee; + var attrValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(3); + testEmployee.setAttribute("class","Neither"); + attrValue = testEmployee.getAttribute("class"); + assertEquals("elementChangeAttributeValueAssert","Neither",attrValue); + +} + + + + +function runTest() { + hc_elementchangeattributevalue(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagname.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagname.js new file mode 100644 index 0000000..bed6cfe --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagname.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementgetelementsbytagname"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "getElementsByTagName(name)" method returns a list +of all descendant Elements with the given tag name. +Test for an empty list. + +Create a NodeList of all the descendant elements +using the string "noMatch" as the tagName. +The method should return a NodeList whose length is +"0" since there are not any descendant elements +that match the given tag name. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1938918D +*/ +function hc_elementgetelementsbytagname() { + var success; + if(checkInitialization(builder, "hc_elementgetelementsbytagname") != null) return; + var doc; + var elementList; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + assertSize("elementGetElementsByTagNameAssert",5,elementList); + +} + + + + +function runTest() { + hc_elementgetelementsbytagname(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnameaccessnodelist.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnameaccessnodelist.js new file mode 100644 index 0000000..cd53408 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnameaccessnodelist.js @@ -0,0 +1,144 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementgetelementsbytagnameaccessnodelist"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "getElementsByTagName(name)" method returns a list +of all descendant Elements in the order the children +were encountered in a pre order traversal of the element +tree. + +Create a NodeList of all the descendant elements +using the string "p" as the tagName. +The method should return a NodeList whose length is +"5" in the order the children were encountered. +Access the FOURTH element in the NodeList. The FOURTH +element, the first or second should be an "em" node with +the content "EMP0004". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1938918D +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_elementgetelementsbytagnameaccessnodelist() { + var success; + if(checkInitialization(builder, "hc_elementgetelementsbytagnameaccessnodelist") != null) return; + var doc; + var elementList; + var testEmployee; + var firstC; + var childName; + var nodeType; + var employeeIDNode; + var employeeID; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + testEmployee = elementList.item(3); + firstC = testEmployee.firstChild; + + nodeType = firstC.nodeType; + + + while( + (3 == nodeType) + ) { + firstC = firstC.nextSibling; + + nodeType = firstC.nodeType; + + + } +childName = firstC.nodeName; + + assertEqualsAutoCase("element", "childName","em",childName); + employeeIDNode = firstC.firstChild; + + employeeID = employeeIDNode.nodeValue; + + assertEquals("employeeID","EMP0004",employeeID); + +} + + + + +function runTest() { + hc_elementgetelementsbytagnameaccessnodelist(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamenomatch.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamenomatch.js new file mode 100644 index 0000000..941fd4a --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamenomatch.js @@ -0,0 +1,110 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementgetelementsbytagnamenomatch"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "getElementsByTagName(name)" method returns a list +of all descendant Elements with the given tag name. + +Create a NodeList of all the descendant elements +using the string "employee" as the tagName. +The method should return a NodeList whose length is +"5". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1938918D +*/ +function hc_elementgetelementsbytagnamenomatch() { + var success; + if(checkInitialization(builder, "hc_elementgetelementsbytagnamenomatch") != null) return; + var doc; + var elementList; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("noMatch"); + assertSize("elementGetElementsByTagNameNoMatchNoMatchAssert",0,elementList); + +} + + + + +function runTest() { + hc_elementgetelementsbytagnamenomatch(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamespecialvalue.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamespecialvalue.js new file mode 100644 index 0000000..3b8c10d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamespecialvalue.js @@ -0,0 +1,134 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementgetelementsbytagnamespecialvalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "getElementsByTagName(name)" method may use the +special value "*" to match all tags in the element +tree. + +Create a NodeList of all the descendant elements +of the last employee by using the special value "*". +The method should return all the descendant children(6) +in the order the children were encountered. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1938918D +*/ +function hc_elementgetelementsbytagnamespecialvalue() { + var success; + if(checkInitialization(builder, "hc_elementgetelementsbytagnamespecialvalue") != null) return; + var doc; + var elementList; + var lastEmployee; + var lastempList; + var child; + var childName; + var result = new Array(); + + expectedResult = new Array(); + expectedResult[0] = "em"; + expectedResult[1] = "strong"; + expectedResult[2] = "code"; + expectedResult[3] = "sup"; + expectedResult[4] = "var"; + expectedResult[5] = "acronym"; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + lastEmployee = elementList.item(4); + lastempList = lastEmployee.getElementsByTagName("*"); + for(var indexN10067 = 0;indexN10067 < lastempList.length; indexN10067++) { + child = lastempList.item(indexN10067); + childName = child.nodeName; + + result[result.length] = childName; + + } + assertEqualsListAutoCase("element", "tagNames",expectedResult,result); + +} + + + + +function runTest() { + hc_elementgetelementsbytagnamespecialvalue(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgettagname.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgettagname.js new file mode 100644 index 0000000..567d234 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgettagname.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementgettagname"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Invoke the "getTagName()" method one the + root node. The value returned should be "html" or "svg". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-104682815 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=251 +*/ +function hc_elementgettagname() { + var success; + if(checkInitialization(builder, "hc_elementgettagname") != null) return; + var doc; + var root; + var tagname; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + root = doc.documentElement; + + tagname = root.tagName; + + + if( + + (builder.contentType == "image/svg+xml") + + ) { + assertEquals("svgTagname","svg",tagname); + + } + + else { + assertEqualsAutoCase("element", "tagname","html",tagname); + + } + +} + + + + +function runTest() { + hc_elementgettagname(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception.js new file mode 100644 index 0000000..4d581a3 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception.js @@ -0,0 +1,125 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementinvalidcharacterexception"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "setAttribute(name,value)" method raises an + "INVALID_CHARACTER_ERR DOMException if the specified + name contains an invalid character. + + Retrieve the last child of the first employee and + call its "setAttribute(name,value)" method with + "strong" containing an invalid character. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68F082 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-F68F082')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_elementinvalidcharacterexception() { + var success; + if(checkInitialization(builder, "hc_elementinvalidcharacterexception") != null) return; + var doc; + var elementList; + var testAddress; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddress = elementList.item(0); + + { + success = false; + try { + testAddress.setAttribute("invalid^Name","value"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 5); + } + assertTrue("throw_INVALID_CHARACTER_ERR",success); + } + +} + + + + +function runTest() { + hc_elementinvalidcharacterexception(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception1.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception1.js new file mode 100644 index 0000000..5376968 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception1.js @@ -0,0 +1,119 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementinvalidcharacterexception1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Calling Element.setAttribute with an empty name will cause an INVALID_CHARACTER_ERR. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68F082 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-F68F082')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=525 +*/ +function hc_elementinvalidcharacterexception1() { + var success; + if(checkInitialization(builder, "hc_elementinvalidcharacterexception1") != null) return; + var doc; + var elementList; + var testAddress; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddress = elementList.item(0); + + { + success = false; + try { + testAddress.setAttribute("","value"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 5); + } + assertTrue("throw_INVALID_CHARACTER_ERR",success); + } + +} + + + + +function runTest() { + hc_elementinvalidcharacterexception1(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementnormalize.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementnormalize.js new file mode 100644 index 0000000..c00a5bc --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementnormalize.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementnormalize"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Append a couple of text nodes to the first sup element, normalize the +document element and check that the element has been normalized. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-162CF083 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=546 +*/ +function hc_elementnormalize() { + var success; + if(checkInitialization(builder, "hc_elementnormalize") != null) return; + var doc; + var root; + var elementList; + var testName; + var firstChild; + var childValue; + var textNode; + var retNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("sup"); + testName = elementList.item(0); + textNode = doc.createTextNode(""); + retNode = testName.appendChild(textNode); + textNode = doc.createTextNode(",000"); + retNode = testName.appendChild(textNode); + root = doc.documentElement; + + root.normalize(); + elementList = doc.getElementsByTagName("sup"); + testName = elementList.item(0); + firstChild = testName.firstChild; + + childValue = firstChild.nodeValue; + + assertEquals("elementNormalizeAssert","56,000,000",childValue); + +} + + + + +function runTest() { + hc_elementnormalize(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementremoveattribute.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementremoveattribute.js new file mode 100644 index 0000000..136b4a1 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementremoveattribute.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementremoveattribute"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "removeAttribute(name)" removes an attribute by name. + If the attribute has a default value, it is immediately + replaced. However, there is no default values in the HTML + compatible tests, so its value is "". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6D6AC0F9 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2002Mar/0002.html +*/ +function hc_elementremoveattribute() { + var success; + if(checkInitialization(builder, "hc_elementremoveattribute") != null) return; + var doc; + var elementList; + var testEmployee; + var attrValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(3); + testEmployee.removeAttribute("class"); + attrValue = testEmployee.getAttribute("class"); + assertEquals("attrValue",null,attrValue); //XXX Domino returns null as WebKit and FF do + +} + + + + +function runTest() { + hc_elementremoveattribute(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementretrieveallattributes.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementretrieveallattributes.js new file mode 100644 index 0000000..585b2ce --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementretrieveallattributes.js @@ -0,0 +1,144 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementretrieveallattributes"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Create a list of all the attributes of the last child + of the first "p" element by using the "getAttributes()" + method. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2002Mar/0002.html +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=184 +*/ +function hc_elementretrieveallattributes() { + var success; + if(checkInitialization(builder, "hc_elementretrieveallattributes") != null) return; + var doc; + var addressList; + var testAddress; + var attributes; + var attribute; + var attributeName; + var actual = new Array(); + + htmlExpected = new Array(); + htmlExpected[0] = "title"; + + expected = new Array(); + expected[0] = "title"; + expected[1] = "dir"; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + addressList = doc.getElementsByTagName("acronym"); + testAddress = addressList.item(0); + attributes = testAddress.attributes; + + for(var indexN1006B = 0;indexN1006B < attributes.length; indexN1006B++) { + attribute = attributes.item(indexN1006B); + attributeName = attribute.name; + + actual[actual.length] = attributeName; + + } + + if( + + (builder.contentType == "text/html") + + ) { + assertEqualsCollection("htmlAttributeNames",toLowerArray(htmlExpected),toLowerArray(actual)); + + } + + else { + assertEqualsCollection("attributeNames",toLowerArray(expected),toLowerArray(actual)); + + } + +} + + + + +function runTest() { + hc_elementretrieveallattributes(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementretrieveattrvalue.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementretrieveattrvalue.js new file mode 100644 index 0000000..288afcd --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementretrieveattrvalue.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementretrieveattrvalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getAttribute(name)" method returns an attribute + value by name. + + Retrieve the second address element, then + invoke the 'getAttribute("class")' method. This should + return the value of the attribute("No"). + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-666EE0F9 +*/ +function hc_elementretrieveattrvalue() { + var success; + if(checkInitialization(builder, "hc_elementretrieveattrvalue") != null) return; + var doc; + var elementList; + var testAddress; + var attrValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddress = elementList.item(2); + attrValue = testAddress.getAttribute("class"); + assertEquals("attrValue","No",attrValue); + +} + + + + +function runTest() { + hc_elementretrieveattrvalue(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementretrievetagname.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementretrievetagname.js new file mode 100644 index 0000000..9208b54 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementretrievetagname.js @@ -0,0 +1,118 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementretrievetagname"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getElementsByTagName()" method returns a NodeList + of all descendant elements with a given tagName. + + Invoke the "getElementsByTagName()" method and create + a NodeList of "code" elements. Retrieve the second + "code" element in the list and return the NodeName. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-104682815 +*/ +function hc_elementretrievetagname() { + var success; + if(checkInitialization(builder, "hc_elementretrievetagname") != null) return; + var doc; + var elementList; + var testEmployee; + var strong; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("code"); + testEmployee = elementList.item(1); + strong = testEmployee.nodeName; + + assertEqualsAutoCase("element", "nodename","code",strong); + strong = testEmployee.tagName; + + assertEqualsAutoCase("element", "tagname","code",strong); + +} + + + + +function runTest() { + hc_elementretrievetagname(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_entitiesremovenameditem1.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_entitiesremovenameditem1.js new file mode 100644 index 0000000..54ca9ff --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_entitiesremovenameditem1.js @@ -0,0 +1,133 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_entitiesremovenameditem1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + checkFeature("XML", null); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +An attempt to add remove an entity should result in a NO_MODIFICATION_ERR. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1788794630 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D58B193 +*/ +function hc_entitiesremovenameditem1() { + var success; + if(checkInitialization(builder, "hc_entitiesremovenameditem1") != null) return; + var doc; + var entities; + var docType; + var retval; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + docType = doc.doctype; + + + if( + + !( + (builder.contentType == "text/html") +) + + ) { + assertNotNull("docTypeNotNull",docType); +entities = docType.entities; + + assertNotNull("entitiesNotNull",entities); + + { + success = false; + try { + retval = entities.removeNamedItem("alpha"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 7); + } + assertTrue("throw_NO_MODIFICATION_ALLOWED_ERR",success); + } + + } + +} + + + + +function runTest() { + hc_entitiesremovenameditem1(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_entitiessetnameditem1.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_entitiessetnameditem1.js new file mode 100644 index 0000000..17876c0 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_entitiessetnameditem1.js @@ -0,0 +1,144 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_entitiessetnameditem1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + checkFeature("XML", null); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +An attempt to add an element to the named node map returned by entities should +result in a NO_MODIFICATION_ERR or HIERARCHY_REQUEST_ERR. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1788794630 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788 +*/ +function hc_entitiessetnameditem1() { + var success; + if(checkInitialization(builder, "hc_entitiessetnameditem1") != null) return; + var doc; + var entities; + var docType; + var retval; + var elem; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + docType = doc.doctype; + + + if( + + !( + (builder.contentType == "text/html") +) + + ) { + assertNotNull("docTypeNotNull",docType); +entities = docType.entities; + + assertNotNull("entitiesNotNull",entities); +elem = doc.createElement("br"); + + try { + retval = entities.setNamedItem(elem); + fail("throw_HIER_OR_NO_MOD_ERR"); + + } catch (ex) { + if (typeof(ex.code) != 'undefined') { + switch(ex.code) { + case /* HIERARCHY_REQUEST_ERR */ 3 : + break; + case /* NO_MODIFICATION_ALLOWED_ERR */ 7 : + break; + default: + throw ex; + } + } else { + throw ex; + } + } + + } + +} + + + + +function runTest() { + hc_entitiessetnameditem1(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_namednodemapchildnoderange.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_namednodemapchildnoderange.js new file mode 100644 index 0000000..d70da8d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_namednodemapchildnoderange.js @@ -0,0 +1,141 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapchildnoderange"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Create a NamedNodeMap object from the attributes of the + last child of the third "p" element and traverse the + list from index 0 thru length -1. All indices should + be valid. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6D0FB19E +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=250 +*/ +function hc_namednodemapchildnoderange() { + var success; + if(checkInitialization(builder, "hc_namednodemapchildnoderange") != null) return; + var doc; + var elementList; + var testEmployee; + var attributes; + var child; + var strong; + var length; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(2); + attributes = testEmployee.attributes; + + length = attributes.length; + + + if( + + (builder.contentType == "text/html") + + ) { + assertEquals("htmlLength",2,length); + + } + + else { + assertEquals("length",3,length); + child = attributes.item(2); + assertNotNull("attr2",child); + + } + child = attributes.item(0); + assertNotNull("attr0",child); +child = attributes.item(1); + assertNotNull("attr1",child); +child = attributes.item(3); + assertNull("attr3",child); + +} + + + + +function runTest() { + hc_namednodemapchildnoderange(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_namednodemapnumberofnodes.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_namednodemapnumberofnodes.js new file mode 100644 index 0000000..b703b21 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_namednodemapnumberofnodes.js @@ -0,0 +1,127 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapnumberofnodes"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the second "p" element and evaluate Node.attributes.length. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6D0FB19E +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=250 +*/ +function hc_namednodemapnumberofnodes() { + var success; + if(checkInitialization(builder, "hc_namednodemapnumberofnodes") != null) return; + var doc; + var elementList; + var testEmployee; + var attributes; + var length; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(2); + attributes = testEmployee.attributes; + + length = attributes.length; + + + if( + + (builder.contentType == "text/html") + + ) { + assertEquals("htmlLength",2,length); + + } + + else { + assertEquals("length",3,length); + + } + +} + + + + +function runTest() { + hc_namednodemapnumberofnodes(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchild.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchild.js new file mode 100644 index 0000000..0da5325 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchild.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeappendchild"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the second "p" and append a "br" Element + node to the list of children. The last node in the list + is then retrieved and its NodeName examined. The + "getNodeName()" method should return "br". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_nodeappendchild() { + var success; + if(checkInitialization(builder, "hc_nodeappendchild") != null) return; + var doc; + var elementList; + var employeeNode; + var childList; + var createdNode; + var lchild; + var childName; + var appendedChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.childNodes; + + createdNode = doc.createElement("br"); + appendedChild = employeeNode.appendChild(createdNode); + lchild = employeeNode.lastChild; + + childName = lchild.nodeName; + + assertEqualsAutoCase("element", "nodeName","br",childName); + +} + + + + +function runTest() { + hc_nodeappendchild(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildchildexists.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildchildexists.js new file mode 100644 index 0000000..2c95d9f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildchildexists.js @@ -0,0 +1,160 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeappendchildchildexists"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If the "newChild" is already in the tree, it is first + removed before the new one is appended. + + Retrieve the "em" second employee and + append the first child to the end of the list. After + the "appendChild(newChild)" method is invoked the first + child should be the one that was second and the last + child should be the one that was first. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodeappendchildchildexists() { + var success; + if(checkInitialization(builder, "hc_nodeappendchildchildexists") != null) return; + var doc; + var elementList; + var childList; + var childNode; + var newChild; + var memberNode; + var memberName; + var refreshedActual = new Array(); + + var actual = new Array(); + + var nodeType; + expected = new Array(); + expected[0] = "strong"; + expected[1] = "code"; + expected[2] = "sup"; + expected[3] = "var"; + expected[4] = "acronym"; + expected[5] = "em"; + + var appendedChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + childNode = elementList.item(1); + childList = childNode.getElementsByTagName("*"); + newChild = childList.item(0); + appendedChild = childNode.appendChild(newChild); + for(var indexN10085 = 0;indexN10085 < childList.length; indexN10085++) { + memberNode = childList.item(indexN10085); + memberName = memberNode.nodeName; + + actual[actual.length] = memberName; + + } + assertEqualsListAutoCase("element", "liveByTagName",expected,actual); + childList = childNode.childNodes; + + for(var indexN1009C = 0;indexN1009C < childList.length; indexN1009C++) { + memberNode = childList.item(indexN1009C); + nodeType = memberNode.nodeType; + + + if( + (1 == nodeType) + ) { + memberName = memberNode.nodeName; + + refreshedActual[refreshedActual.length] = memberName; + + } + + } + assertEqualsListAutoCase("element", "refreshedChildNodes",expected,refreshedActual); + +} + + + + +function runTest() { + hc_nodeappendchildchildexists(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchilddocfragment.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchilddocfragment.js new file mode 100644 index 0000000..f1b95ea --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchilddocfragment.js @@ -0,0 +1,158 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeappendchilddocfragment"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If the "newChild" is a DocumentFragment object then + all its content is added to the child list of this node. + + Create and populate a new DocumentFragment object and + append it to the second employee. After the + "appendChild(newChild)" method is invoked retrieve the + new nodes at the end of the list, they should be the + two Element nodes from the DocumentFragment. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_nodeappendchilddocfragment() { + var success; + if(checkInitialization(builder, "hc_nodeappendchilddocfragment") != null) return; + var doc; + var elementList; + var employeeNode; + var childList; + var newdocFragment; + var newChild1; + var newChild2; + var child; + var childName; + var result = new Array(); + + var appendedChild; + var nodeType; + expected = new Array(); + expected[0] = "em"; + expected[1] = "strong"; + expected[2] = "code"; + expected[3] = "sup"; + expected[4] = "var"; + expected[5] = "acronym"; + expected[6] = "br"; + expected[7] = "b"; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.childNodes; + + newdocFragment = doc.createDocumentFragment(); + newChild1 = doc.createElement("br"); + newChild2 = doc.createElement("b"); + appendedChild = newdocFragment.appendChild(newChild1); + appendedChild = newdocFragment.appendChild(newChild2); + appendedChild = employeeNode.appendChild(newdocFragment); + for(var indexN100A2 = 0;indexN100A2 < childList.length; indexN100A2++) { + child = childList.item(indexN100A2); + nodeType = child.nodeType; + + + if( + (1 == nodeType) + ) { + childName = child.nodeName; + + result[result.length] = childName; + + } + + } + assertEqualsListAutoCase("element", "nodeNames",expected,result); + +} + + + + +function runTest() { + hc_nodeappendchilddocfragment(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildgetnodename.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildgetnodename.js new file mode 100644 index 0000000..f7499c5 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildgetnodename.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeappendchildgetnodename"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "appendChild(newChild)" method returns the node + added. + + Append a newly created node to the child list of the + second employee and check the NodeName returned. The + "getNodeName()" method should return "br". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_nodeappendchildgetnodename() { + var success; + if(checkInitialization(builder, "hc_nodeappendchildgetnodename") != null) return; + var doc; + var elementList; + var employeeNode; + var childList; + var newChild; + var appendNode; + var childName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.childNodes; + + newChild = doc.createElement("br"); + appendNode = employeeNode.appendChild(newChild); + childName = appendNode.nodeName; + + assertEqualsAutoCase("element", "nodeName","br",childName); + +} + + + + +function runTest() { + hc_nodeappendchildgetnodename(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnewchilddiffdocument.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnewchilddiffdocument.js new file mode 100644 index 0000000..1be650b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnewchilddiffdocument.js @@ -0,0 +1,144 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeappendchildnewchilddiffdocument"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var doc1Ref = null; + if (typeof(this.doc1) != 'undefined') { + doc1Ref = this.doc1; + } + docsLoaded += preload(doc1Ref, "doc1", "hc_staff"); + + var doc2Ref = null; + if (typeof(this.doc2) != 'undefined') { + doc2Ref = this.doc2; + } + docsLoaded += preload(doc2Ref, "doc2", "hc_staff"); + + if (docsLoaded == 2) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 2) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "appendChild(newChild)" method raises a + WRONG_DOCUMENT_ERR DOMException if the "newChild" was + created from a different document than the one that + created this node. + + Retrieve the second employee and attempt to append + a node created from a different document. An attempt + to make such a replacement should raise the desired + exception. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NOT_FOUND_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-184E7107')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NOT_FOUND_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_nodeappendchildnewchilddiffdocument() { + var success; + if(checkInitialization(builder, "hc_nodeappendchildnewchilddiffdocument") != null) return; + var doc1; + var doc2; + var newChild; + var elementList; + var elementNode; + var appendedChild; + + var doc1Ref = null; + if (typeof(this.doc1) != 'undefined') { + doc1Ref = this.doc1; + } + doc1 = load(doc1Ref, "doc1", "hc_staff"); + + var doc2Ref = null; + if (typeof(this.doc2) != 'undefined') { + doc2Ref = this.doc2; + } + doc2 = load(doc2Ref, "doc2", "hc_staff"); + newChild = doc1.createElement("br"); + elementList = doc2.getElementsByTagName("p"); + elementNode = elementList.item(1); + + { + success = false; + try { + appendedChild = elementNode.appendChild(newChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 4); + } + assertTrue("throw_WRONG_DOCUMENT_ERR",success); + } + +} + + + + +function runTest() { + hc_nodeappendchildnewchilddiffdocument(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnodeancestor.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnodeancestor.js new file mode 100644 index 0000000..a8ba817 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnodeancestor.js @@ -0,0 +1,132 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeappendchildnodeancestor"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "appendChild(newChild)" method raises a + HIERARCHY_REQUEST_ERR DOMException if the node to + append is one of this node's ancestors. + + Retrieve the second employee and attempt to append + an ancestor node(root node) to it. + An attempt to make such an addition should raise the + desired exception. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='HIERARCHY_REQUEST_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-184E7107')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='HIERARCHY_REQUEST_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +*/ +function hc_nodeappendchildnodeancestor() { + var success; + if(checkInitialization(builder, "hc_nodeappendchildnodeancestor") != null) return; + var doc; + var newChild; + var elementList; + var employeeNode; + var childList; + var oldChild; + var appendedChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newChild = doc.documentElement; + + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + + { + success = false; + try { + appendedChild = employeeNode.appendChild(newChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 3); + } + assertTrue("throw_HIERARCHY_REQUEST_ERR",success); + } + +} + + + + +function runTest() { + hc_nodeappendchildnodeancestor(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeattributenodeattribute.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeattributenodeattribute.js new file mode 100644 index 0000000..e8443db --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeattributenodeattribute.js @@ -0,0 +1,120 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeattributenodeattribute"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "getAttributes()" method invoked on an Attribute +Node returns null. + +Retrieve the first attribute from the last child of the +first employee and invoke the "getAttributes()" method +on the Attribute Node. It should return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +*/ +function hc_nodeattributenodeattribute() { + var success; + if(checkInitialization(builder, "hc_nodeattributenodeattribute") != null) return; + var doc; + var elementList; + var testAddr; + var addrAttr; + var attrNode; + var attrList; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddr = elementList.item(0); + addrAttr = testAddr.attributes; + + attrNode = addrAttr.item(0); + attrList = attrNode.attributes; + + assertNull("nodeAttributeNodeAttributeAssert1",attrList); + +} + + + + +function runTest() { + hc_nodeattributenodeattribute(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodechildnodes.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodechildnodes.js new file mode 100644 index 0000000..855ec35 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodechildnodes.js @@ -0,0 +1,149 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodechildnodes"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + + The "getChildNodes()" method returns a NodeList + that contains all children of this node. + + Retrieve the second employee and check the NodeList + returned by the "getChildNodes()" method. The + length of the list should be 13. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1451460987 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodechildnodes() { + var success; + if(checkInitialization(builder, "hc_nodechildnodes") != null) return; + var doc; + var elementList; + var employeeNode; + var childNode; + var childNodes; + var nodeType; + var childName; + var actual = new Array(); + + expected = new Array(); + expected[0] = "em"; + expected[1] = "strong"; + expected[2] = "code"; + expected[3] = "sup"; + expected[4] = "var"; + expected[5] = "acronym"; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childNodes = employeeNode.childNodes; + + for(var indexN1006C = 0;indexN1006C < childNodes.length; indexN1006C++) { + childNode = childNodes.item(indexN1006C); + nodeType = childNode.nodeType; + + childName = childNode.nodeName; + + + if( + (1 == nodeType) + ) { + actual[actual.length] = childName; + + } + + else { + assertEquals("textNodeType",3,nodeType); + + } + + } + assertEqualsListAutoCase("element", "elementNames",expected,actual); + +} + + + + +function runTest() { + hc_nodechildnodes(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesappendchild.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesappendchild.js new file mode 100644 index 0000000..a262e24 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesappendchild.js @@ -0,0 +1,159 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodechildnodesappendchild"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The NodeList returned by the "getChildNodes()" method + is live. Changes on the node's children are immediately + reflected on the nodes returned in the NodeList. + + Create a NodeList of the children of the second employee + and then add a newly created element that was created + by the "createElement()" method(Document Interface) to + the second employee by using the "appendChild()" method. + The length of the NodeList should reflect this new + addition to the child list. It should return the value 14. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1451460987 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_nodechildnodesappendchild() { + var success; + if(checkInitialization(builder, "hc_nodechildnodesappendchild") != null) return; + var doc; + var elementList; + var employeeNode; + var childList; + var createdNode; + var childNode; + var childName; + var childType; + var textNode; + var actual = new Array(); + + expected = new Array(); + expected[0] = "em"; + expected[1] = "strong"; + expected[2] = "code"; + expected[3] = "sup"; + expected[4] = "var"; + expected[5] = "acronym"; + expected[6] = "br"; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.childNodes; + + createdNode = doc.createElement("br"); + employeeNode = employeeNode.appendChild(createdNode); + for(var indexN10087 = 0;indexN10087 < childList.length; indexN10087++) { + childNode = childList.item(indexN10087); + childName = childNode.nodeName; + + childType = childNode.nodeType; + + + if( + (1 == childType) + ) { + actual[actual.length] = childName; + + } + + else { + assertEquals("textNodeType",3,childType); + + } + + } + assertEqualsListAutoCase("element", "childElements",expected,actual); + +} + + + + +function runTest() { + hc_nodechildnodesappendchild(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesempty.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesempty.js new file mode 100644 index 0000000..612307c --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesempty.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodechildnodesempty"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getChildNodes()" method returns a NodeList + that contains all children of this node. If there + are not any children, this is a NodeList that does not + contain any nodes. + + Retrieve the character data of the second "em" node and + invoke the "getChildNodes()" method. The + NodeList returned should not have any nodes. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1451460987 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodechildnodesempty() { + var success; + if(checkInitialization(builder, "hc_nodechildnodesempty") != null) return; + var doc; + var elementList; + var childList; + var employeeNode; + var textNode; + var length; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("em"); + employeeNode = elementList.item(1); + textNode = employeeNode.firstChild; + + childList = textNode.childNodes; + + length = childList.length; + + assertEquals("length_zero",0,length); + +} + + + + +function runTest() { + hc_nodechildnodesempty(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecloneattributescopied.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecloneattributescopied.js new file mode 100644 index 0000000..86f04da --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecloneattributescopied.js @@ -0,0 +1,149 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodecloneattributescopied"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the second acronym element and invoke + the cloneNode method. The + duplicate node returned by the method should copy the + attributes associated with this node. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=184 +*/ +function hc_nodecloneattributescopied() { + var success; + if(checkInitialization(builder, "hc_nodecloneattributescopied") != null) return; + var doc; + var elementList; + var addressNode; + var clonedNode; + var attributes; + var attributeNode; + var attributeName; + var result = new Array(); + + htmlExpected = new Array(); + htmlExpected[0] = "class"; + htmlExpected[1] = "title"; + + expected = new Array(); + expected[0] = "class"; + expected[1] = "title"; + expected[2] = "dir"; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + addressNode = elementList.item(1); + clonedNode = addressNode.cloneNode(false); + attributes = clonedNode.attributes; + + for(var indexN10076 = 0;indexN10076 < attributes.length; indexN10076++) { + attributeNode = attributes.item(indexN10076); + attributeName = attributeNode.name; + + result[result.length] = attributeName; + + } + + if( + + (builder.contentType == "text/html") + + ) { + assertEqualsCollection("nodeNames_html",toLowerArray(htmlExpected),toLowerArray(result)); + + } + + else { + assertEqualsCollection("nodeNames",expected,result); + + } + +} + + + + +function runTest() { + hc_nodecloneattributescopied(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonefalsenocopytext.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonefalsenocopytext.js new file mode 100644 index 0000000..8d41464 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonefalsenocopytext.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeclonefalsenocopytext"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "cloneNode(deep)" method does not copy text unless it + is deep cloned.(Test for deep=false) + + Retrieve the fourth child of the second employee and + the "cloneNode(deep)" method with deep=false. The + duplicate node returned by the method should not copy + any text data contained in this node. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3A0ED0A4 +*/ +function hc_nodeclonefalsenocopytext() { + var success; + if(checkInitialization(builder, "hc_nodeclonefalsenocopytext") != null) return; + var doc; + var elementList; + var employeeNode; + var childList; + var childNode; + var clonedNode; + var lastChildNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.childNodes; + + childNode = childList.item(3); + clonedNode = childNode.cloneNode(false); + lastChildNode = clonedNode.lastChild; + + assertNull("nodeCloneFalseNoCopyTextAssert1",lastChildNode); + +} + + + + +function runTest() { + hc_nodeclonefalsenocopytext(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonegetparentnull.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonegetparentnull.js new file mode 100644 index 0000000..ab52c8a --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonegetparentnull.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeclonegetparentnull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The duplicate node returned by the "cloneNode(deep)" + method does not have a ParentNode. + + Retrieve the second employee and invoke the + "cloneNode(deep)" method with deep=false. The + duplicate node returned should return null when the + "getParentNode()" is invoked. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3A0ED0A4 +*/ +function hc_nodeclonegetparentnull() { + var success; + if(checkInitialization(builder, "hc_nodeclonegetparentnull") != null) return; + var doc; + var elementList; + var employeeNode; + var clonedNode; + var parentNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + clonedNode = employeeNode.cloneNode(false); + parentNode = clonedNode.parentNode; + + assertNull("nodeCloneGetParentNullAssert1",parentNode); + +} + + + + +function runTest() { + hc_nodeclonegetparentnull(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodefalse.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodefalse.js new file mode 100644 index 0000000..7d48edf --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodefalse.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeclonenodefalse"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "cloneNode(deep)" method returns a copy of the node + only if deep=false. + + Retrieve the second employee and invoke the + "cloneNode(deep)" method with deep=false. The + method should only clone this node. The NodeName and + length of the NodeList are checked. The "getNodeName()" + method should return "employee" and the "getLength()" + method should return 0. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3A0ED0A4 +*/ +function hc_nodeclonenodefalse() { + var success; + if(checkInitialization(builder, "hc_nodeclonenodefalse") != null) return; + var doc; + var elementList; + var employeeNode; + var clonedNode; + var cloneName; + var cloneChildren; + var length; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + clonedNode = employeeNode.cloneNode(false); + cloneName = clonedNode.nodeName; + + assertEqualsAutoCase("element", "strong","p",cloneName); + cloneChildren = clonedNode.childNodes; + + length = cloneChildren.length; + + assertEquals("length",0,length); + +} + + + + +function runTest() { + hc_nodeclonenodefalse(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodetrue.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodetrue.js new file mode 100644 index 0000000..5eba8cd --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodetrue.js @@ -0,0 +1,145 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeclonenodetrue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "cloneNode(deep)" method returns a copy of the node + and the subtree under it if deep=true. + + Retrieve the second employee and invoke the + "cloneNode(deep)" method with deep=true. The + method should clone this node and the subtree under it. + The NodeName of each child in the returned node is + checked to insure the entire subtree under the second + employee was cloned. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3A0ED0A4 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodeclonenodetrue() { + var success; + if(checkInitialization(builder, "hc_nodeclonenodetrue") != null) return; + var doc; + var elementList; + var employeeNode; + var clonedNode; + var clonedList; + var clonedChild; + var clonedChildName; + var origList; + var origChild; + var origChildName; + var result = new Array(); + + var expected = new Array(); + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + origList = employeeNode.childNodes; + + for(var indexN10065 = 0;indexN10065 < origList.length; indexN10065++) { + origChild = origList.item(indexN10065); + origChildName = origChild.nodeName; + + expected[expected.length] = origChildName; + + } + clonedNode = employeeNode.cloneNode(true); + clonedList = clonedNode.childNodes; + + for(var indexN1007B = 0;indexN1007B < clonedList.length; indexN1007B++) { + clonedChild = clonedList.item(indexN1007B); + clonedChildName = clonedChild.nodeName; + + result[result.length] = clonedChildName; + + } + assertEqualsList("clone",expected,result); + +} + + + + +function runTest() { + hc_nodeclonenodetrue(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonetruecopytext.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonetruecopytext.js new file mode 100644 index 0000000..c12370b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonetruecopytext.js @@ -0,0 +1,121 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeclonetruecopytext"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "cloneNode(deep)" method does not copy text unless it + is deep cloned.(Test for deep=true) + + Retrieve the eighth child of the second employee and + the "cloneNode(deep)" method with deep=true. The + duplicate node returned by the method should copy + any text data contained in this node. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3A0ED0A4 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodeclonetruecopytext() { + var success; + if(checkInitialization(builder, "hc_nodeclonetruecopytext") != null) return; + var doc; + var elementList; + var childNode; + var clonedNode; + var lastChildNode; + var childValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("sup"); + childNode = elementList.item(1); + clonedNode = childNode.cloneNode(true); + lastChildNode = clonedNode.lastChild; + + childValue = lastChildNode.nodeValue; + + assertEquals("cloneContainsText","35,000",childValue); + +} + + + + +function runTest() { + hc_nodeclonetruecopytext(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodeattributes.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodeattributes.js new file mode 100644 index 0000000..7e3e2e9 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodeattributes.js @@ -0,0 +1,135 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodecommentnodeattributes"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getAttributes()" method invoked on a Comment + Node returns null. + + Find any comment that is an immediate child of the root + and assert that Node.attributes is null. Then create + a new comment node (in case they had been omitted) and + make the assertion. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1728279322 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=248 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=263 +*/ +function hc_nodecommentnodeattributes() { + var success; + if(checkInitialization(builder, "hc_nodecommentnodeattributes") != null) return; + var doc; + var commentNode; + var nodeList; + var attrList; + var nodeType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + nodeList = doc.childNodes; + + for(var indexN10043 = 0;indexN10043 < nodeList.length; indexN10043++) { + commentNode = nodeList.item(indexN10043); + nodeType = commentNode.nodeType; + + + if( + (8 == nodeType) + ) { + attrList = commentNode.attributes; + + assertNull("existingCommentAttributesNull",attrList); + + } + + } + commentNode = doc.createComment("This is a comment"); + attrList = commentNode.attributes; + + assertNull("createdCommentAttributesNull",attrList); + +} + + + + +function runTest() { + hc_nodecommentnodeattributes(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodename.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodename.js new file mode 100644 index 0000000..de7013a --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodename.js @@ -0,0 +1,134 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodecommentnodename"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The string returned by the "getNodeName()" method for a + Comment Node is "#comment". + + Retrieve the Comment node in the XML file + and check the string returned by the "getNodeName()" + method. It should be equal to "#comment". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1728279322 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=248 +*/ +function hc_nodecommentnodename() { + var success; + if(checkInitialization(builder, "hc_nodecommentnodename") != null) return; + var doc; + var elementList; + var commentNode; + var nodeType; + var commentName; + var commentNodeName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.childNodes; + + for(var indexN10044 = 0;indexN10044 < elementList.length; indexN10044++) { + commentNode = elementList.item(indexN10044); + nodeType = commentNode.nodeType; + + + if( + (8 == nodeType) + ) { + commentNodeName = commentNode.nodeName; + + assertEquals("existingNodeName","#comment",commentNodeName); + + } + + } + commentNode = doc.createComment("This is a comment"); + commentNodeName = commentNode.nodeName; + + assertEquals("createdNodeName","#comment",commentNodeName); + +} + + + + +function runTest() { + hc_nodecommentnodename(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodetype.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodetype.js new file mode 100644 index 0000000..168b918 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodetype.js @@ -0,0 +1,133 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodecommentnodetype"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getNodeType()" method for a Comment Node + returns the constant value 8. + + Retrieve the nodes from the document and check for + a comment node and invoke the "getNodeType()" method. This should + return 8. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1728279322 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=248 +*/ +function hc_nodecommentnodetype() { + var success; + if(checkInitialization(builder, "hc_nodecommentnodetype") != null) return; + var doc; + var testList; + var commentNode; + var commentNodeName; + var nodeType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + testList = doc.childNodes; + + for(var indexN10040 = 0;indexN10040 < testList.length; indexN10040++) { + commentNode = testList.item(indexN10040); + commentNodeName = commentNode.nodeName; + + + if( + ("#comment" == commentNodeName) + ) { + nodeType = commentNode.nodeType; + + assertEquals("existingCommentNodeType",8,nodeType); + + } + + } + commentNode = doc.createComment("This is a comment"); + nodeType = commentNode.nodeType; + + assertEquals("createdCommentNodeType",8,nodeType); + +} + + + + +function runTest() { + hc_nodecommentnodetype(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodevalue.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodevalue.js new file mode 100644 index 0000000..64e35b2 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodevalue.js @@ -0,0 +1,133 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodecommentnodevalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The string returned by the "getNodeValue()" method for a + Comment Node is the content of the comment. + + Retrieve the comment in the XML file and + check the string returned by the "getNodeValue()" method. + It should be equal to "This is comment number 1". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1728279322 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=248 +*/ +function hc_nodecommentnodevalue() { + var success; + if(checkInitialization(builder, "hc_nodecommentnodevalue") != null) return; + var doc; + var elementList; + var commentNode; + var commentName; + var commentValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.childNodes; + + for(var indexN10040 = 0;indexN10040 < elementList.length; indexN10040++) { + commentNode = elementList.item(indexN10040); + commentName = commentNode.nodeName; + + + if( + ("#comment" == commentName) + ) { + commentValue = commentNode.nodeValue; + + assertEquals("value"," This is comment number 1.",commentValue); + + } + + } + commentNode = doc.createComment(" This is a comment"); + commentValue = commentNode.nodeValue; + + assertEquals("createdCommentNodeValue"," This is a comment",commentValue); + +} + + + + +function runTest() { + hc_nodecommentnodevalue(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodename.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodename.js new file mode 100644 index 0000000..4c3b8f2 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodename.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodedocumentfragmentnodename"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The string returned by the "getNodeName()" method for a + DocumentFragment Node is "#document-frament". + + Retrieve the DOM document and invoke the + "createDocumentFragment()" method and check the string + returned by the "getNodeName()" method. It should be + equal to "#document-fragment". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A3 +*/ +function hc_nodedocumentfragmentnodename() { + var success; + if(checkInitialization(builder, "hc_nodedocumentfragmentnodename") != null) return; + var doc; + var docFragment; + var documentFragmentName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + docFragment = doc.createDocumentFragment(); + documentFragmentName = docFragment.nodeName; + + assertEquals("nodeDocumentFragmentNodeNameAssert1","#document-fragment",documentFragmentName); + +} + + + + +function runTest() { + hc_nodedocumentfragmentnodename(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodetype.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodetype.js new file mode 100644 index 0000000..404dcd4 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodetype.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodedocumentfragmentnodetype"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getNodeType()" method for a DocumentFragment Node + returns the constant value 11. + + Invoke the "createDocumentFragment()" method and + examine the NodeType of the document fragment + returned by the "getNodeType()" method. The method + should return 11. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A3 +*/ +function hc_nodedocumentfragmentnodetype() { + var success; + if(checkInitialization(builder, "hc_nodedocumentfragmentnodetype") != null) return; + var doc; + var documentFragmentNode; + var nodeType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + documentFragmentNode = doc.createDocumentFragment(); + nodeType = documentFragmentNode.nodeType; + + assertEquals("nodeDocumentFragmentNodeTypeAssert1",11,nodeType); + +} + + + + +function runTest() { + hc_nodedocumentfragmentnodetype(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodevalue.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodevalue.js new file mode 100644 index 0000000..3817faf --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodevalue.js @@ -0,0 +1,120 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodedocumentfragmentnodevalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The string returned by the "getNodeValue()" method for a + DocumentFragment Node is null. + + Retrieve the DOM document and invoke the + "createDocumentFragment()" method and check the string + returned by the "getNodeValue()" method. It should be + equal to null. + +* @author Curt Arnold +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A3 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 +*/ +function hc_nodedocumentfragmentnodevalue() { + var success; + if(checkInitialization(builder, "hc_nodedocumentfragmentnodevalue") != null) return; + var doc; + var docFragment; + var attrList; + var value; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + docFragment = doc.createDocumentFragment(); + attrList = docFragment.attributes; + + assertNull("attributesNull",attrList); + value = docFragment.nodeValue; + + assertNull("initiallyNull",value); + +} + + + + +function runTest() { + hc_nodedocumentfragmentnodevalue(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodeattribute.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodeattribute.js new file mode 100644 index 0000000..0509317 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodeattribute.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodedocumentnodeattribute"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "getAttributes()" method invoked on a Document +Node returns null. + +Retrieve the DOM Document and invoke the +"getAttributes()" method on the Document Node. +It should return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#i-Document +*/ +function hc_nodedocumentnodeattribute() { + var success; + if(checkInitialization(builder, "hc_nodedocumentnodeattribute") != null) return; + var doc; + var attrList; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + attrList = doc.attributes; + + assertNull("doc_attributes_is_null",attrList); + +} + + + + +function runTest() { + hc_nodedocumentnodeattribute(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodename.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodename.js new file mode 100644 index 0000000..7cdef03 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodename.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodedocumentnodename"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The string returned by the "getNodeName()" method for a + Document Node is "#document". + + Retrieve the DOM document and check the string returned + by the "getNodeName()" method. It should be equal to + "#document". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#i-Document +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 +*/ +function hc_nodedocumentnodename() { + var success; + if(checkInitialization(builder, "hc_nodedocumentnodename") != null) return; + var doc; + var documentName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + documentName = doc.nodeName; + + assertEquals("documentNodeName","#document",documentName); + +} + + + + +function runTest() { + hc_nodedocumentnodename(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodetype.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodetype.js new file mode 100644 index 0000000..12ac065 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodetype.js @@ -0,0 +1,110 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodedocumentnodetype"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "getNodeType()" method for a Document Node +returns the constant value 9. + +Retrieve the document and invoke the "getNodeType()" +method. The method should return 9. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#i-Document +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558 +*/ +function hc_nodedocumentnodetype() { + var success; + if(checkInitialization(builder, "hc_nodedocumentnodetype") != null) return; + var doc; + var nodeType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + nodeType = doc.nodeType; + + assertEquals("nodeDocumentNodeTypeAssert1",9,nodeType); + +} + + + + +function runTest() { + hc_nodedocumentnodetype(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodevalue.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodevalue.js new file mode 100644 index 0000000..6cd8934 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodevalue.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodedocumentnodevalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The string returned by the "getNodeValue()" method for a + Document Node is null. + + Retrieve the DOM Document and check the string returned + by the "getNodeValue()" method. It should be equal to + null. + + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#i-Document +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +*/ +function hc_nodedocumentnodevalue() { + var success; + if(checkInitialization(builder, "hc_nodedocumentnodevalue") != null) return; + var doc; + var documentValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + documentValue = doc.nodeValue; + + assertNull("documentNodeValue",documentValue); + +} + + + + +function runTest() { + hc_nodedocumentnodevalue(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodeattributes.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodeattributes.js new file mode 100644 index 0000000..a3bfcd3 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodeattributes.js @@ -0,0 +1,145 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeelementnodeattributes"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the third "acronym" element and evaluate Node.attributes. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=184 +*/ +function hc_nodeelementnodeattributes() { + var success; + if(checkInitialization(builder, "hc_nodeelementnodeattributes") != null) return; + var doc; + var elementList; + var testAddr; + var addrAttr; + var attrNode; + var attrName; + var attrList = new Array(); + + htmlExpected = new Array(); + htmlExpected[0] = "title"; + htmlExpected[1] = "class"; + + expected = new Array(); + expected[0] = "title"; + expected[1] = "class"; + expected[2] = "dir"; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddr = elementList.item(2); + addrAttr = testAddr.attributes; + + for(var indexN10070 = 0;indexN10070 < addrAttr.length; indexN10070++) { + attrNode = addrAttr.item(indexN10070); + attrName = attrNode.name; + + attrList[attrList.length] = attrName; + + } + + if( + + (builder.contentType == "text/html") + + ) { + assertEqualsCollection("attrNames_html",toLowerArray(htmlExpected),toLowerArray(attrList)); + + } + + else { + assertEqualsCollection("attrNames",expected,attrList); + + } + +} + + + + +function runTest() { + hc_nodeelementnodeattributes(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodename.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodename.js new file mode 100644 index 0000000..693d23e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodename.js @@ -0,0 +1,125 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeelementnodename"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the first Element Node(Root Node) of the + DOM object and check the string returned by the + "getNodeName()" method. It should be equal to its + tagName. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=251 +*/ +function hc_nodeelementnodename() { + var success; + if(checkInitialization(builder, "hc_nodeelementnodename") != null) return; + var doc; + var elementNode; + var elementName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementNode = doc.documentElement; + + elementName = elementNode.nodeName; + + + if( + + (builder.contentType == "image/svg+xml") + + ) { + assertEquals("svgNodeName","svg",elementName); + + } + + else { + assertEqualsAutoCase("element", "nodeName","html",elementName); + + } + +} + + + + +function runTest() { + hc_nodeelementnodename(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodetype.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodetype.js new file mode 100644 index 0000000..56dd936 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodetype.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeelementnodetype"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getNodeType()" method for an Element Node + returns the constant value 1. + + Retrieve the root node and invoke the "getNodeType()" + method. The method should return 1. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558 +*/ +function hc_nodeelementnodetype() { + var success; + if(checkInitialization(builder, "hc_nodeelementnodetype") != null) return; + var doc; + var rootNode; + var nodeType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + rootNode = doc.documentElement; + + nodeType = rootNode.nodeType; + + assertEquals("nodeElementNodeTypeAssert1",1,nodeType); + +} + + + + +function runTest() { + hc_nodeelementnodetype(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodevalue.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodevalue.js new file mode 100644 index 0000000..29124cf --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodevalue.js @@ -0,0 +1,109 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeelementnodevalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The string returned by the "getNodeValue()" method for an + Element Node is null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +*/ +function hc_nodeelementnodevalue() { + var success; + if(checkInitialization(builder, "hc_nodeelementnodevalue") != null) return; + var doc; + var elementNode; + var elementValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementNode = doc.documentElement; + + elementValue = elementNode.nodeValue; + + assertNull("elementNodeValue",elementValue); + +} + + + + +function runTest() { + hc_nodeelementnodevalue(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchild.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchild.js new file mode 100644 index 0000000..a4681f0 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchild.js @@ -0,0 +1,130 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodegetfirstchild"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getFirstChild()" method returns the first child + of this node. + + Retrieve the second employee and invoke the + "getFirstChild()" method. The NodeName returned + should be "#text" or "EM". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-169727388 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodegetfirstchild() { + var success; + if(checkInitialization(builder, "hc_nodegetfirstchild") != null) return; + var doc; + var elementList; + var employeeNode; + var fchildNode; + var childName; + var nodeType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + fchildNode = employeeNode.firstChild; + + childName = fchildNode.nodeName; + + + if( + ("#text" == childName) + ) { + assertEquals("firstChild_w_whitespace","#text",childName); + + } + + else { + assertEqualsAutoCase("element", "firstChild_wo_whitespace","em",childName); + + } + +} + + + + +function runTest() { + hc_nodegetfirstchild(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchildnull.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchildnull.js new file mode 100644 index 0000000..dec151f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchildnull.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodegetfirstchildnull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If there is not a first child then the "getFirstChild()" + method returns null. + + Retrieve the text of the first "em" element and invoke the "getFirstChild()" method. It + should return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-169727388 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodegetfirstchildnull() { + var success; + if(checkInitialization(builder, "hc_nodegetfirstchildnull") != null) return; + var doc; + var emList; + var emNode; + var emText; + var nullChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + emList = doc.getElementsByTagName("em"); + emNode = emList.item(0); + emText = emNode.firstChild; + + nullChild = emText.firstChild; + + assertNull("nullChild",nullChild); + +} + + + + +function runTest() { + hc_nodegetfirstchildnull(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchild.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchild.js new file mode 100644 index 0000000..712c5ef --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchild.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodegetlastchild"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getLastChild()" method returns the last child + of this node. + + Retrieve the second employee and invoke the + "getLastChild()" method. The NodeName returned + should be "#text". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-61AD09FB +*/ +function hc_nodegetlastchild() { + var success; + if(checkInitialization(builder, "hc_nodegetlastchild") != null) return; + var doc; + var elementList; + var employeeNode; + var lchildNode; + var childName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + lchildNode = employeeNode.lastChild; + + childName = lchildNode.nodeName; + + assertEquals("whitespace","#text",childName); + +} + + + + +function runTest() { + hc_nodegetlastchild(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchildnull.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchildnull.js new file mode 100644 index 0000000..9e5a6ad --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchildnull.js @@ -0,0 +1,118 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodegetlastchildnull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + + If there is not a last child then the "getLastChild()" + method returns null. + + Retrieve the text of the first "em" element and invoke the "getFirstChild()" method. It + should return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-61AD09FB +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodegetlastchildnull() { + var success; + if(checkInitialization(builder, "hc_nodegetlastchildnull") != null) return; + var doc; + var emList; + var emNode; + var emText; + var nullChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + emList = doc.getElementsByTagName("em"); + emNode = emList.item(0); + emText = emNode.firstChild; + + nullChild = emText.lastChild; + + assertNull("nullChild",nullChild); + +} + + + + +function runTest() { + hc_nodegetlastchildnull(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsibling.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsibling.js new file mode 100644 index 0000000..3daca44 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsibling.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodegetnextsibling"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getNextSibling()" method returns the node immediately + following this node. + + Retrieve the first child of the second employee and + invoke the "getNextSibling()" method. It should return + a node with the NodeName of "#text". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6AC54C2F +*/ +function hc_nodegetnextsibling() { + var success; + if(checkInitialization(builder, "hc_nodegetnextsibling") != null) return; + var doc; + var elementList; + var emNode; + var nsNode; + var nsName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("em"); + emNode = elementList.item(1); + nsNode = emNode.nextSibling; + + nsName = nsNode.nodeName; + + assertEquals("whitespace","#text",nsName); + +} + + + + +function runTest() { + hc_nodegetnextsibling(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsiblingnull.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsiblingnull.js new file mode 100644 index 0000000..0f9cb7b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsiblingnull.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodegetnextsiblingnull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + + If there is not a node immediately following this node the + + "getNextSibling()" method returns null. + + + + Retrieve the first child of the second employee and + + invoke the "getNextSibling()" method. It should + + be set to null. + + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6AC54C2F +*/ +function hc_nodegetnextsiblingnull() { + var success; + if(checkInitialization(builder, "hc_nodegetnextsiblingnull") != null) return; + var doc; + var elementList; + var employeeNode; + var lcNode; + var nsNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + lcNode = employeeNode.lastChild; + + nsNode = lcNode.nextSibling; + + assertNull("nodeGetNextSiblingNullAssert1",nsNode); + +} + + + + +function runTest() { + hc_nodegetnextsiblingnull(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocument.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocument.js new file mode 100644 index 0000000..85853b8 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocument.js @@ -0,0 +1,129 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodegetownerdocument"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Evaluate Node.ownerDocument on the second "p" element. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#node-ownerDoc +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=251 +*/ +function hc_nodegetownerdocument() { + var success; + if(checkInitialization(builder, "hc_nodegetownerdocument") != null) return; + var doc; + var elementList; + var docNode; + var ownerDocument; + var docElement; + var elementName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + docNode = elementList.item(1); + ownerDocument = docNode.ownerDocument; + + docElement = ownerDocument.documentElement; + + elementName = docElement.nodeName; + + + if( + + (builder.contentType == "image/svg+xml") + + ) { + assertEquals("svgNodeName","svg",elementName); + + } + + else { + assertEqualsAutoCase("element", "ownerDocElemTagName","html",elementName); + + } + +} + + + + +function runTest() { + hc_nodegetownerdocument(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocumentnull.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocumentnull.js new file mode 100644 index 0000000..67bfd87 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocumentnull.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodegetownerdocumentnull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + + The "getOwnerDocument()" method returns null if the target + + node itself is a document. + + + + Invoke the "getOwnerDocument()" method on the master + + document. The Document returned should be null. + + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#node-ownerDoc +*/ +function hc_nodegetownerdocumentnull() { + var success; + if(checkInitialization(builder, "hc_nodegetownerdocumentnull") != null) return; + var doc; + var ownerDocument; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + ownerDocument = doc.ownerDocument; + + assertNull("nodeGetOwnerDocumentNullAssert1",ownerDocument); + +} + + + + +function runTest() { + hc_nodegetownerdocumentnull(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussibling.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussibling.js new file mode 100644 index 0000000..5434f05 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussibling.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodegetprevioussibling"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getPreviousSibling()" method returns the node + immediately preceding this node. + + Retrieve the second child of the second employee and + invoke the "getPreviousSibling()" method. It should + return a node with a NodeName of "#text". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-640FB3C8 +*/ +function hc_nodegetprevioussibling() { + var success; + if(checkInitialization(builder, "hc_nodegetprevioussibling") != null) return; + var doc; + var elementList; + var nameNode; + var psNode; + var psName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(1); + psNode = nameNode.previousSibling; + + psName = psNode.nodeName; + + assertEquals("whitespace","#text",psName); + +} + + + + +function runTest() { + hc_nodegetprevioussibling(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussiblingnull.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussiblingnull.js new file mode 100644 index 0000000..b1dc787 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussiblingnull.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodegetprevioussiblingnull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + + If there is not a node immediately preceding this node the + + "getPreviousSibling()" method returns null. + + + + Retrieve the first child of the second employee and + + invoke the "getPreviousSibling()" method. It should + + be set to null. + + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-640FB3C8 +*/ +function hc_nodegetprevioussiblingnull() { + var success; + if(checkInitialization(builder, "hc_nodegetprevioussiblingnull") != null) return; + var doc; + var elementList; + var employeeNode; + var fcNode; + var psNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(2); + fcNode = employeeNode.firstChild; + + psNode = fcNode.previousSibling; + + assertNull("nodeGetPreviousSiblingNullAssert1",psNode); + +} + + + + +function runTest() { + hc_nodegetprevioussiblingnull(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodes.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodes.js new file mode 100644 index 0000000..1ff38a9 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodes.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodehaschildnodes"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "hasChildNodes()" method returns true if the node + has children. + + Retrieve the root node("staff") and invoke the + "hasChildNodes()" method. It should return the boolean + value "true". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-810594187 +*/ +function hc_nodehaschildnodes() { + var success; + if(checkInitialization(builder, "hc_nodehaschildnodes") != null) return; + var doc; + var elementList; + var employeeNode; + var state; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + state = employeeNode.hasChildNodes(); + assertTrue("nodeHasChildAssert1",state); + +} + + + + +function runTest() { + hc_nodehaschildnodes(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodesfalse.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodesfalse.js new file mode 100644 index 0000000..f966eba --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodesfalse.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodehaschildnodesfalse"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "hasChildNodes()" method returns false if the node + does not have any children. + + Retrieve the text of the first "em" element and invoke the "hasChildNodes()" method. It + should return false. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1451460987 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-810594187 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodehaschildnodesfalse() { + var success; + if(checkInitialization(builder, "hc_nodehaschildnodesfalse") != null) return; + var doc; + var emList; + var emNode; + var emText; + var hasChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + emList = doc.getElementsByTagName("em"); + emNode = emList.item(0); + emText = emNode.firstChild; + + hasChild = emText.hasChildNodes(); + assertFalse("hasChild",hasChild); + +} + + + + +function runTest() { + hc_nodehaschildnodesfalse(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbefore.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbefore.js new file mode 100644 index 0000000..f73bd6d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbefore.js @@ -0,0 +1,153 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeinsertbefore"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "insertBefore(newChild,refChild)" method inserts the + node "newChild" before the node "refChild". + + Insert a newly created Element node before the second + sup element in the document and check the "newChild" + and "refChild" after insertion for correct placement. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=261 +*/ +function hc_nodeinsertbefore() { + var success; + if(checkInitialization(builder, "hc_nodeinsertbefore") != null) return; + var doc; + var elementList; + var employeeNode; + var childList; + var refChild; + var newChild; + var child; + var childName; + var insertedNode; + var actual = new Array(); + + expected = new Array(); + expected[0] = "em"; + expected[1] = "strong"; + expected[2] = "code"; + expected[3] = "br"; + expected[4] = "sup"; + expected[5] = "var"; + expected[6] = "acronym"; + + var nodeType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("sup"); + refChild = elementList.item(2); + employeeNode = refChild.parentNode; + + childList = employeeNode.childNodes; + + newChild = doc.createElement("br"); + insertedNode = employeeNode.insertBefore(newChild,refChild); + for(var indexN10091 = 0;indexN10091 < childList.length; indexN10091++) { + child = childList.item(indexN10091); + nodeType = child.nodeType; + + + if( + (1 == nodeType) + ) { + childName = child.nodeName; + + actual[actual.length] = childName; + + } + + } + assertEqualsListAutoCase("element", "nodeNames",expected,actual); + +} + + + + +function runTest() { + hc_nodeinsertbefore(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforedocfragment.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforedocfragment.js new file mode 100644 index 0000000..1e132c9 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforedocfragment.js @@ -0,0 +1,141 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeinsertbeforedocfragment"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If the "newChild" is a DocumentFragment object then all + its children are inserted in the same order before the + the "refChild". + + Create a DocumentFragment object and populate it with + two Element nodes. Retrieve the second employee and + insert the newly created DocumentFragment before its + fourth child. The second employee should now have two + extra children("newChild1" and "newChild2") at + positions fourth and fifth respectively. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_nodeinsertbeforedocfragment() { + var success; + if(checkInitialization(builder, "hc_nodeinsertbeforedocfragment") != null) return; + var doc; + var elementList; + var employeeNode; + var childList; + var refChild; + var newdocFragment; + var newChild1; + var newChild2; + var child; + var childName; + var appendedChild; + var insertedNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.childNodes; + + refChild = childList.item(3); + newdocFragment = doc.createDocumentFragment(); + newChild1 = doc.createElement("br"); + newChild2 = doc.createElement("b"); + appendedChild = newdocFragment.appendChild(newChild1); + appendedChild = newdocFragment.appendChild(newChild2); + insertedNode = employeeNode.insertBefore(newdocFragment,refChild); + child = childList.item(3); + childName = child.nodeName; + + assertEqualsAutoCase("element", "childName3","br",childName); + child = childList.item(4); + childName = child.nodeName; + + assertEqualsAutoCase("element", "childName4","b",childName); + +} + + + + +function runTest() { + hc_nodeinsertbeforedocfragment(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchilddiffdocument.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchilddiffdocument.js new file mode 100644 index 0000000..915104f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchilddiffdocument.js @@ -0,0 +1,147 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeinsertbeforenewchilddiffdocument"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var doc1Ref = null; + if (typeof(this.doc1) != 'undefined') { + doc1Ref = this.doc1; + } + docsLoaded += preload(doc1Ref, "doc1", "hc_staff"); + + var doc2Ref = null; + if (typeof(this.doc2) != 'undefined') { + doc2Ref = this.doc2; + } + docsLoaded += preload(doc2Ref, "doc2", "hc_staff"); + + if (docsLoaded == 2) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 2) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "insertBefore(newChild,refChild)" method raises a + WRONG_DOCUMENT_ERR DOMException if the "newChild" was + created from a different document than the one that + created this node. + + Retrieve the second employee and attempt to insert a new + child that was created from a different document than the + one that created the second employee. An attempt to + insert such a child should raise the desired exception. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='WRONG_DOCUMENT_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-952280727')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='WRONG_DOCUMENT_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_nodeinsertbeforenewchilddiffdocument() { + var success; + if(checkInitialization(builder, "hc_nodeinsertbeforenewchilddiffdocument") != null) return; + var doc1; + var doc2; + var refChild; + var newChild; + var elementList; + var elementNode; + var insertedNode; + + var doc1Ref = null; + if (typeof(this.doc1) != 'undefined') { + doc1Ref = this.doc1; + } + doc1 = load(doc1Ref, "doc1", "hc_staff"); + + var doc2Ref = null; + if (typeof(this.doc2) != 'undefined') { + doc2Ref = this.doc2; + } + doc2 = load(doc2Ref, "doc2", "hc_staff"); + newChild = doc1.createElement("br"); + elementList = doc2.getElementsByTagName("p"); + elementNode = elementList.item(1); + refChild = elementNode.firstChild; + + + { + success = false; + try { + insertedNode = elementNode.insertBefore(newChild,refChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 4); + } + assertTrue("throw_WRONG_DOCUMENT_ERR",success); + } + +} + + + + +function runTest() { + hc_nodeinsertbeforenewchilddiffdocument(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchildexists.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchildexists.js new file mode 100644 index 0000000..f7adaff --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchildexists.js @@ -0,0 +1,151 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeinsertbeforenewchildexists"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If the "newChild" is already in the tree, the + "insertBefore(newChild,refChild)" method must first + remove it before the insertion takes place. + + Insert a node Element ("em") that is already + present in the tree. The existing node should be + removed first and the new one inserted. The node is + inserted at a different position in the tree to assure + that it was indeed inserted. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodeinsertbeforenewchildexists() { + var success; + if(checkInitialization(builder, "hc_nodeinsertbeforenewchildexists") != null) return; + var doc; + var elementList; + var employeeNode; + var childList; + var refChild; + var newChild; + var child; + var childName; + var insertedNode; + expected = new Array(); + expected[0] = "strong"; + expected[1] = "code"; + expected[2] = "sup"; + expected[3] = "var"; + expected[4] = "em"; + expected[5] = "acronym"; + + var result = new Array(); + + var nodeType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.getElementsByTagName("*"); + refChild = childList.item(5); + newChild = childList.item(0); + insertedNode = employeeNode.insertBefore(newChild,refChild); + for(var indexN1008C = 0;indexN1008C < childList.length; indexN1008C++) { + child = childList.item(indexN1008C); + nodeType = child.nodeType; + + + if( + (1 == nodeType) + ) { + childName = child.nodeName; + + result[result.length] = childName; + + } + + } + assertEqualsListAutoCase("element", "childNames",expected,result); + +} + + + + +function runTest() { + hc_nodeinsertbeforenewchildexists(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodeancestor.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodeancestor.js new file mode 100644 index 0000000..cd7c956 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodeancestor.js @@ -0,0 +1,135 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeinsertbeforenodeancestor"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "insertBefore(newChild,refChild)" method raises a + HIERARCHY_REQUEST_ERR DOMException if the node to be + inserted is one of this nodes ancestors. + + Retrieve the second employee and attempt to insert a + node that is one of its ancestors(root node). An + attempt to insert such a node should raise the + desired exception. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='HIERARCHY_REQUEST_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-952280727')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='HIERARCHY_REQUEST_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +*/ +function hc_nodeinsertbeforenodeancestor() { + var success; + if(checkInitialization(builder, "hc_nodeinsertbeforenodeancestor") != null) return; + var doc; + var newChild; + var elementList; + var employeeNode; + var childList; + var refChild; + var insertedNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newChild = doc.documentElement; + + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.childNodes; + + refChild = childList.item(0); + + { + success = false; + try { + insertedNode = employeeNode.insertBefore(newChild,refChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 3); + } + assertTrue("throw_HIERARCHY_REQUEST_ERR",success); + } + +} + + + + +function runTest() { + hc_nodeinsertbeforenodeancestor(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodename.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodename.js new file mode 100644 index 0000000..eeb61c8 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodename.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeinsertbeforenodename"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "insertBefore(newChild,refchild)" method returns + the node being inserted. + + Insert an Element node before the fourth + child of the second employee and check the node + returned from the "insertBefore(newChild,refChild)" + method. The node returned should be "newChild". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_nodeinsertbeforenodename() { + var success; + if(checkInitialization(builder, "hc_nodeinsertbeforenodename") != null) return; + var doc; + var elementList; + var employeeNode; + var childList; + var refChild; + var newChild; + var insertedNode; + var childName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.childNodes; + + refChild = childList.item(3); + newChild = doc.createElement("br"); + insertedNode = employeeNode.insertBefore(newChild,refChild); + childName = insertedNode.nodeName; + + assertEqualsAutoCase("element", "nodeName","br",childName); + +} + + + + +function runTest() { + hc_nodeinsertbeforenodename(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnonexistent.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnonexistent.js new file mode 100644 index 0000000..d4c8f3e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnonexistent.js @@ -0,0 +1,133 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeinsertbeforerefchildnonexistent"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "insertBefore(newChild,refChild)" method raises a + NOT_FOUND_ERR DOMException if the reference child is + not a child of this node. + + Retrieve the second employee and attempt to insert a + new node before a reference node that is not a child + of this node. An attempt to insert before a non child + node should raise the desired exception. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NOT_FOUND_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-952280727')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NOT_FOUND_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_nodeinsertbeforerefchildnonexistent() { + var success; + if(checkInitialization(builder, "hc_nodeinsertbeforerefchildnonexistent") != null) return; + var doc; + var refChild; + var newChild; + var elementList; + var elementNode; + var insertedNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newChild = doc.createElement("br"); + refChild = doc.createElement("b"); + elementList = doc.getElementsByTagName("p"); + elementNode = elementList.item(1); + + { + success = false; + try { + insertedNode = elementNode.insertBefore(newChild,refChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 8); + } + assertTrue("throw_NOT_FOUND_ERR",success); + } + +} + + + + +function runTest() { + hc_nodeinsertbeforerefchildnonexistent(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnull.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnull.js new file mode 100644 index 0000000..a0bf5e4 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnull.js @@ -0,0 +1,131 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeinsertbeforerefchildnull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If the "refChild" is null then the + "insertBefore(newChild,refChild)" method inserts the + node "newChild" at the end of the list of children. + + Retrieve the second employee and invoke the + "insertBefore(newChild,refChild)" method with + refChild=null. Since "refChild" is null the "newChild" + should be added to the end of the list. The last item + in the list is checked after insertion. The last Element + node of the list should be "newChild". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_nodeinsertbeforerefchildnull() { + var success; + if(checkInitialization(builder, "hc_nodeinsertbeforerefchildnull") != null) return; + var doc; + var elementList; + var employeeNode; + var childList; + var refChild = null; + + var newChild; + var child; + var childName; + var insertedNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.childNodes; + + newChild = doc.createElement("br"); + insertedNode = employeeNode.insertBefore(newChild,refChild); + child = employeeNode.lastChild; + + childName = child.nodeName; + + assertEqualsAutoCase("element", "nodeName","br",childName); + +} + + + + +function runTest() { + hc_nodeinsertbeforerefchildnull(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexequalzero.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexequalzero.js new file mode 100644 index 0000000..eff64d9 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexequalzero.js @@ -0,0 +1,135 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodelistindexequalzero"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Create a list of all the children elements of the third + employee and access its first child by using an index + of 0. This should result in the whitspace before "em" being + selected (em when ignoring whitespace). + Further we evaluate its content(by using + the "getNodeName()" method) to ensure the proper + element was accessed. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-844377136 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodelistindexequalzero() { + var success; + if(checkInitialization(builder, "hc_nodelistindexequalzero") != null) return; + var doc; + var elementList; + var employeeNode; + var employeeList; + var child; + var childName; + var length; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(2); + employeeList = employeeNode.childNodes; + + length = employeeList.length; + + child = employeeList.item(0); + childName = child.nodeName; + + + if( + (13 == length) + ) { + assertEquals("childName_w_whitespace","#text",childName); + + } + + else { + assertEqualsAutoCase("element", "childName_wo_whitespace","em",childName); + + } + +} + + + + +function runTest() { + hc_nodelistindexequalzero(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlength.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlength.js new file mode 100644 index 0000000..d169a62 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlength.js @@ -0,0 +1,129 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodelistindexgetlength"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getLength()" method returns the number of nodes + in the list. + + Create a list of all the children elements of the third + employee and invoke the "getLength()" method. + It should contain the value 13. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-203510337 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodelistindexgetlength() { + var success; + if(checkInitialization(builder, "hc_nodelistindexgetlength") != null) return; + var doc; + var elementList; + var employeeNode; + var employeeList; + var length; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(2); + employeeList = employeeNode.childNodes; + + length = employeeList.length; + + + if( + (6 == length) + ) { + assertEquals("length_wo_space",6,length); + + } + + else { + assertEquals("length_w_space",13,length); + + } + +} + + + + +function runTest() { + hc_nodelistindexgetlength(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlengthofemptylist.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlengthofemptylist.js new file mode 100644 index 0000000..9ae4969 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlengthofemptylist.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodelistindexgetlengthofemptylist"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getLength()" method returns the number of nodes + in the list.(Test for EMPTY list) + + Create a list of all the children of the Text node + inside the first child of the third employee and + invoke the "getLength()" method. It should contain + the value 0. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-203510337 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodelistindexgetlengthofemptylist() { + var success; + if(checkInitialization(builder, "hc_nodelistindexgetlengthofemptylist") != null) return; + var doc; + var emList; + var emNode; + var textNode; + var textList; + var length; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + emList = doc.getElementsByTagName("em"); + emNode = emList.item(2); + textNode = emNode.firstChild; + + textList = textNode.childNodes; + + length = textList.length; + + assertEquals("length",0,length); + +} + + + + +function runTest() { + hc_nodelistindexgetlengthofemptylist(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexnotzero.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexnotzero.js new file mode 100644 index 0000000..8976e02 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexnotzero.js @@ -0,0 +1,133 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodelistindexnotzero"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The items in the list are accessible via an integral + index starting from zero. + (Index not equal 0) + + Create a list of all the children elements of the third + employee and access its fourth child by using an index + of 3 and calling getNodeName() which should return + "strong" (no whitespace) or "#text" (with whitespace). + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-844377136 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodelistindexnotzero() { + var success; + if(checkInitialization(builder, "hc_nodelistindexnotzero") != null) return; + var doc; + var elementList; + var employeeNode; + var employeeList; + var child; + var childName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(2); + employeeList = employeeNode.childNodes; + + child = employeeList.item(3); + childName = child.nodeName; + + + if( + ("#text" == childName) + ) { + assertEquals("childName_space","#text",childName); + + } + + else { + assertEqualsAutoCase("element", "childName_strong","strong",childName); + + } + +} + + + + +function runTest() { + hc_nodelistindexnotzero(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnfirstitem.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnfirstitem.js new file mode 100644 index 0000000..117be61 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnfirstitem.js @@ -0,0 +1,129 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodelistreturnfirstitem"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Create a list of all the children elements of the third + employee and access its first child by invoking the + "item(index)" method with an index=0. This should + result in node with a nodeName of "#text" or "em". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-844377136 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodelistreturnfirstitem() { + var success; + if(checkInitialization(builder, "hc_nodelistreturnfirstitem") != null) return; + var doc; + var elementList; + var employeeNode; + var employeeList; + var child; + var childName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(2); + employeeList = employeeNode.childNodes; + + child = employeeList.item(0); + childName = child.nodeName; + + + if( + ("#text" == childName) + ) { + assertEquals("nodeName_w_space","#text",childName); + + } + + else { + assertEqualsAutoCase("element", "nodeName_wo_space","em",childName); + + } + +} + + + + +function runTest() { + hc_nodelistreturnfirstitem(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnlastitem.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnlastitem.js new file mode 100644 index 0000000..b6652fe --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnlastitem.js @@ -0,0 +1,133 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodelistreturnlastitem"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Create a list of all the children elements of the third + employee and access its last child by invoking the + "item(index)" method with an index=length-1. This should + result in node with nodeName="#text" or acronym. +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-844377136 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodelistreturnlastitem() { + var success; + if(checkInitialization(builder, "hc_nodelistreturnlastitem") != null) return; + var doc; + var elementList; + var employeeNode; + var employeeList; + var child; + var childName; + var index; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(2); + employeeList = employeeNode.childNodes; + + index = employeeList.length; + + index -= 1; +child = employeeList.item(index); + childName = child.nodeName; + + + if( + (12 == index) + ) { + assertEquals("lastNodeName_w_whitespace","#text",childName); + + } + + else { + assertEqualsAutoCase("element", "lastNodeName","acronym",childName); + assertEquals("index",5,index); + + } + +} + + + + +function runTest() { + hc_nodelistreturnlastitem(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelisttraverselist.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelisttraverselist.js new file mode 100644 index 0000000..dc6862b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelisttraverselist.js @@ -0,0 +1,149 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodelisttraverselist"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The range of valid child node indices is 0 thru length -1 + + Create a list of all the children elements of the third + employee and traverse the list from index=0 thru + length -1. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-203510337 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-844377136 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodelisttraverselist() { + var success; + if(checkInitialization(builder, "hc_nodelisttraverselist") != null) return; + var doc; + var elementList; + var employeeNode; + var employeeList; + var child; + var childName; + var nodeType; + var result = new Array(); + + expected = new Array(); + expected[0] = "em"; + expected[1] = "strong"; + expected[2] = "code"; + expected[3] = "sup"; + expected[4] = "var"; + expected[5] = "acronym"; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(2); + employeeList = employeeNode.childNodes; + + for(var indexN10073 = 0;indexN10073 < employeeList.length; indexN10073++) { + child = employeeList.item(indexN10073); + nodeType = child.nodeType; + + childName = child.nodeName; + + + if( + (1 == nodeType) + ) { + result[result.length] = childName; + + } + + else { + assertEquals("textNodeType",3,nodeType); + assertEquals("textNodeName","#text",childName); + + } + + } + assertEqualsListAutoCase("element", "nodeNames",expected,result); + +} + + + + +function runTest() { + hc_nodelisttraverselist(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeparentnode.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeparentnode.js new file mode 100644 index 0000000..e3408f6 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeparentnode.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeparentnode"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getParentNode()" method returns the parent + of this node. + + Retrieve the second employee and invoke the + "getParentNode()" method on this node. It should + be set to "body". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1060184317 +*/ +function hc_nodeparentnode() { + var success; + if(checkInitialization(builder, "hc_nodeparentnode") != null) return; + var doc; + var elementList; + var employeeNode; + var parentNode; + var parentName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + parentNode = employeeNode.parentNode; + + parentName = parentNode.nodeName; + + assertEqualsAutoCase("element", "parentNodeName","body",parentName); + +} + + + + +function runTest() { + hc_nodeparentnode(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeparentnodenull.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeparentnodenull.js new file mode 100644 index 0000000..9c80de3 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeparentnodenull.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeparentnodenull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getParentNode()" method invoked on a node that has + just been created and not yet added to the tree is null. + + Create a new "employee" Element node using the + "createElement(name)" method from the Document interface. + Since this new node has not yet been added to the tree, + the "getParentNode()" method will return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1060184317 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_nodeparentnodenull() { + var success; + if(checkInitialization(builder, "hc_nodeparentnodenull") != null) return; + var doc; + var createdNode; + var parentNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + createdNode = doc.createElement("br"); + parentNode = createdNode.parentNode; + + assertNull("parentNode",parentNode); + +} + + + + +function runTest() { + hc_nodeparentnodenull(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechild.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechild.js new file mode 100644 index 0000000..35e04b2 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechild.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_noderemovechild"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "removeChild(oldChild)" method removes the child node + indicated by "oldChild" from the list of children and + returns it. + + Remove the first employee by invoking the + "removeChild(oldChild)" method an checking the + node returned by the "getParentNode()" method. It + should be set to null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_noderemovechild() { + var success; + if(checkInitialization(builder, "hc_noderemovechild") != null) return; + var doc; + var rootNode; + var childList; + var childToRemove; + var removedChild; + var parentNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + rootNode = doc.documentElement; + + childList = rootNode.childNodes; + + childToRemove = childList.item(1); + removedChild = rootNode.removeChild(childToRemove); + parentNode = removedChild.parentNode; + + assertNull("parentNodeNull",parentNode); + +} + + + + +function runTest() { + hc_noderemovechild(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechildgetnodename.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechildgetnodename.js new file mode 100644 index 0000000..d81a2a9 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechildgetnodename.js @@ -0,0 +1,128 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_noderemovechildgetnodename"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "removeChild(oldChild)" method returns + the node being removed. + + Remove the first child of the second employee + and check the NodeName returned by the + "removeChild(oldChild)" method. The returned node + should have a NodeName equal to "#text". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_noderemovechildgetnodename() { + var success; + if(checkInitialization(builder, "hc_noderemovechildgetnodename") != null) return; + var doc; + var elementList; + var employeeNode; + var childList; + var oldChild; + var removedChild; + var childName; + var oldName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.childNodes; + + oldChild = childList.item(0); + oldName = oldChild.nodeName; + + removedChild = employeeNode.removeChild(oldChild); + assertNotNull("notnull",removedChild); +childName = removedChild.nodeName; + + assertEquals("nodeName",oldName,childName); + +} + + + + +function runTest() { + hc_noderemovechildgetnodename(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechildnode.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechildnode.js new file mode 100644 index 0000000..b6cef22 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechildnode.js @@ -0,0 +1,160 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_noderemovechildnode"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "removeChild(oldChild)" method removes the node + indicated by "oldChild". + + Retrieve the second p element and remove its first child. + After the removal, the second p element should have 5 element + children and the first child should now be the child + that used to be at the second position in the list. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_noderemovechildnode() { + var success; + if(checkInitialization(builder, "hc_noderemovechildnode") != null) return; + var doc; + var elementList; + var emList; + var employeeNode; + var childList; + var oldChild; + var child; + var childName; + var length; + var removedChild; + var removedName; + var nodeType; + expected = new Array(); + expected[0] = "strong"; + expected[1] = "code"; + expected[2] = "sup"; + expected[3] = "var"; + expected[4] = "acronym"; + + var actual = new Array(); + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.childNodes; + + emList = employeeNode.getElementsByTagName("em"); + oldChild = emList.item(0); + removedChild = employeeNode.removeChild(oldChild); + removedName = removedChild.nodeName; + + assertEqualsAutoCase("element", "removedName","em",removedName); + for(var indexN10098 = 0;indexN10098 < childList.length; indexN10098++) { + child = childList.item(indexN10098); + nodeType = child.nodeType; + + childName = child.nodeName; + + + if( + (1 == nodeType) + ) { + actual[actual.length] = childName; + + } + + else { + assertEquals("textNodeType",3,nodeType); + assertEquals("textNodeName","#text",childName); + + } + + } + assertEqualsListAutoCase("element", "childNames",expected,actual); + +} + + + + +function runTest() { + hc_noderemovechildnode(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechildoldchildnonexistent.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechildoldchildnonexistent.js new file mode 100644 index 0000000..7f68dbd --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechildoldchildnonexistent.js @@ -0,0 +1,129 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_noderemovechildoldchildnonexistent"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "removeChild(oldChild)" method raises a + NOT_FOUND_ERR DOMException if the old child is + not a child of this node. + + Retrieve the second employee and attempt to remove a + node that is not one of its children. An attempt to + remove such a node should raise the desired exception. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NOT_FOUND_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-1734834066')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NOT_FOUND_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_noderemovechildoldchildnonexistent() { + var success; + if(checkInitialization(builder, "hc_noderemovechildoldchildnonexistent") != null) return; + var doc; + var oldChild; + var elementList; + var elementNode; + var removedChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + oldChild = doc.createElement("br"); + elementList = doc.getElementsByTagName("p"); + elementNode = elementList.item(1); + + { + success = false; + try { + removedChild = elementNode.removeChild(oldChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 8); + } + assertTrue("throw_NOT_FOUND_ERR",success); + } + +} + + + + +function runTest() { + hc_noderemovechildoldchildnonexistent(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechild.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechild.js new file mode 100644 index 0000000..db4ba3b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechild.js @@ -0,0 +1,127 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodereplacechild"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "replaceChild(newChild,oldChild)" method replaces + the node "oldChild" with the node "newChild". + + Replace the first element of the second employee with + a newly created Element node. Check the first position + after the replacement operation is completed. The new + Element should be "newChild". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_nodereplacechild() { + var success; + if(checkInitialization(builder, "hc_nodereplacechild") != null) return; + var doc; + var elementList; + var employeeNode; + var childList; + var oldChild; + var newChild; + var child; + var childName; + var replacedNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.childNodes; + + oldChild = childList.item(0); + newChild = doc.createElement("br"); + replacedNode = employeeNode.replaceChild(newChild,oldChild); + child = childList.item(0); + childName = child.nodeName; + + assertEqualsAutoCase("element", "nodeName","br",childName); + +} + + + + +function runTest() { + hc_nodereplacechild(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchilddiffdocument.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchilddiffdocument.js new file mode 100644 index 0000000..23af319 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchilddiffdocument.js @@ -0,0 +1,147 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodereplacechildnewchilddiffdocument"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var doc1Ref = null; + if (typeof(this.doc1) != 'undefined') { + doc1Ref = this.doc1; + } + docsLoaded += preload(doc1Ref, "doc1", "hc_staff"); + + var doc2Ref = null; + if (typeof(this.doc2) != 'undefined') { + doc2Ref = this.doc2; + } + docsLoaded += preload(doc2Ref, "doc2", "hc_staff"); + + if (docsLoaded == 2) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 2) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "replaceChild(newChild,oldChild)" method raises a + WRONG_DOCUMENT_ERR DOMException if the "newChild" was + created from a different document than the one that + created this node. + + Retrieve the second employee and attempt to replace one + of its children with a node created from a different + document. An attempt to make such a replacement + should raise the desired exception. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NOT_FOUND_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-785887307')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NOT_FOUND_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_nodereplacechildnewchilddiffdocument() { + var success; + if(checkInitialization(builder, "hc_nodereplacechildnewchilddiffdocument") != null) return; + var doc1; + var doc2; + var oldChild; + var newChild; + var elementList; + var elementNode; + var replacedChild; + + var doc1Ref = null; + if (typeof(this.doc1) != 'undefined') { + doc1Ref = this.doc1; + } + doc1 = load(doc1Ref, "doc1", "hc_staff"); + + var doc2Ref = null; + if (typeof(this.doc2) != 'undefined') { + doc2Ref = this.doc2; + } + doc2 = load(doc2Ref, "doc2", "hc_staff"); + newChild = doc1.createElement("br"); + elementList = doc2.getElementsByTagName("p"); + elementNode = elementList.item(1); + oldChild = elementNode.firstChild; + + + { + success = false; + try { + replacedChild = elementNode.replaceChild(newChild,oldChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 4); + } + assertTrue("throw_WRONG_DOCUMENT_ERR",success); + } + +} + + + + +function runTest() { + hc_nodereplacechildnewchilddiffdocument(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchildexists.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchildexists.js new file mode 100644 index 0000000..06be50b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchildexists.js @@ -0,0 +1,155 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodereplacechildnewchildexists"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If the "newChild" is already in the tree, it is first + removed before the new one is added. + + Retrieve the second "p" and replace "acronym" with its "em". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodereplacechildnewchildexists() { + var success; + if(checkInitialization(builder, "hc_nodereplacechildnewchildexists") != null) return; + var doc; + var elementList; + var employeeNode; + var childList; + var oldChild = null; + + var newChild = null; + + var child; + var childName; + var childNode; + var actual = new Array(); + + expected = new Array(); + expected[0] = "strong"; + expected[1] = "code"; + expected[2] = "sup"; + expected[3] = "var"; + expected[4] = "em"; + + var replacedChild; + var nodeType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.getElementsByTagName("*"); + newChild = childList.item(0); + oldChild = childList.item(5); + replacedChild = employeeNode.replaceChild(newChild,oldChild); + assertSame("return_value_same",oldChild,replacedChild); +for(var indexN10094 = 0;indexN10094 < childList.length; indexN10094++) { + childNode = childList.item(indexN10094); + childName = childNode.nodeName; + + nodeType = childNode.nodeType; + + + if( + (1 == nodeType) + ) { + actual[actual.length] = childName; + + } + + else { + assertEquals("textNodeType",3,nodeType); + assertEquals("textNodeName","#text",childName); + + } + + } + assertEqualsListAutoCase("element", "childNames",expected,actual); + +} + + + + +function runTest() { + hc_nodereplacechildnewchildexists(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodeancestor.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodeancestor.js new file mode 100644 index 0000000..5e7b044 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodeancestor.js @@ -0,0 +1,135 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodereplacechildnodeancestor"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "replaceChild(newChild,oldChild)" method raises a + HIERARCHY_REQUEST_ERR DOMException if the node to put + in is one of this node's ancestors. + + Retrieve the second employee and attempt to replace + one of its children with an ancestor node(root node). + An attempt to make such a replacement should raise the + desired exception. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='HIERARCHY_REQUEST_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-785887307')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='HIERARCHY_REQUEST_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 +*/ +function hc_nodereplacechildnodeancestor() { + var success; + if(checkInitialization(builder, "hc_nodereplacechildnodeancestor") != null) return; + var doc; + var newChild; + var elementList; + var employeeNode; + var childList; + var oldChild; + var replacedNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newChild = doc.documentElement; + + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.childNodes; + + oldChild = childList.item(0); + + { + success = false; + try { + replacedNode = employeeNode.replaceChild(newChild,oldChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 3); + } + assertTrue("throw_HIERARCHY_REQUEST_ERR",success); + } + +} + + + + +function runTest() { + hc_nodereplacechildnodeancestor(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodename.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodename.js new file mode 100644 index 0000000..baeab8a --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodename.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodereplacechildnodename"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "replaceChild(newChild,oldChild)" method returns + the node being replaced. + + Replace the second Element of the second employee with + a newly created node Element and check the NodeName + returned by the "replaceChild(newChild,oldChild)" + method. The returned node should have a NodeName equal + to "em". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_nodereplacechildnodename() { + var success; + if(checkInitialization(builder, "hc_nodereplacechildnodename") != null) return; + var doc; + var elementList; + var employeeNode; + var childList; + var oldChild; + var newChild; + var replacedNode; + var childName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.getElementsByTagName("em"); + oldChild = childList.item(0); + newChild = doc.createElement("br"); + replacedNode = employeeNode.replaceChild(newChild,oldChild); + childName = replacedNode.nodeName; + + assertEqualsAutoCase("element", "replacedNodeName","em",childName); + +} + + + + +function runTest() { + hc_nodereplacechildnodename(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildoldchildnonexistent.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildoldchildnonexistent.js new file mode 100644 index 0000000..74ef15c --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildoldchildnonexistent.js @@ -0,0 +1,131 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodereplacechildoldchildnonexistent"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "replaceChild(newChild,oldChild)" method raises a + NOT_FOUND_ERR DOMException if the old child is + not a child of this node. + + Retrieve the second employee and attempt to replace a + node that is not one of its children. An attempt to + replace such a node should raise the desired exception. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NOT_FOUND_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-785887307')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NOT_FOUND_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_nodereplacechildoldchildnonexistent() { + var success; + if(checkInitialization(builder, "hc_nodereplacechildoldchildnonexistent") != null) return; + var doc; + var oldChild; + var newChild; + var elementList; + var elementNode; + var replacedNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newChild = doc.createElement("br"); + oldChild = doc.createElement("b"); + elementList = doc.getElementsByTagName("p"); + elementNode = elementList.item(1); + + { + success = false; + try { + replacedNode = elementNode.replaceChild(newChild,oldChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 8); + } + assertTrue("throw_NOT_FOUND_ERR",success); + } + +} + + + + +function runTest() { + hc_nodereplacechildoldchildnonexistent(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodeattribute.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodeattribute.js new file mode 100644 index 0000000..fd1f751 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodeattribute.js @@ -0,0 +1,118 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodetextnodeattribute"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "getAttributes()" method invoked on a Text +Node returns null. + +Retrieve the Text node from the last child of the +first employee and invoke the "getAttributes()" method +on the Text Node. It should return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1312295772 +*/ +function hc_nodetextnodeattribute() { + var success; + if(checkInitialization(builder, "hc_nodetextnodeattribute") != null) return; + var doc; + var elementList; + var testAddr; + var textNode; + var attrList; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddr = elementList.item(0); + textNode = testAddr.firstChild; + + attrList = textNode.attributes; + + assertNull("text_attributes_is_null",attrList); + +} + + + + +function runTest() { + hc_nodetextnodeattribute(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodename.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodename.js new file mode 100644 index 0000000..bad6607 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodename.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodetextnodename"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The string returned by the "getNodeName()" method for a + Text Node is "#text". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 +*/ +function hc_nodetextnodename() { + var success; + if(checkInitialization(builder, "hc_nodetextnodename") != null) return; + var doc; + var elementList; + var testAddr; + var textNode; + var textName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddr = elementList.item(0); + textNode = testAddr.firstChild; + + textName = textNode.nodeName; + + assertEquals("textNodeName","#text",textName); + +} + + + + +function runTest() { + hc_nodetextnodename(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodetype.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodetype.js new file mode 100644 index 0000000..43c358d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodetype.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodetextnodetype"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + + The "getNodeType()" method for a Text Node + + returns the constant value 3. + + + + Retrieve the Text node from the last child of + + the first employee and invoke the "getNodeType()" + + method. The method should return 3. + + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558 +*/ +function hc_nodetextnodetype() { + var success; + if(checkInitialization(builder, "hc_nodetextnodetype") != null) return; + var doc; + var elementList; + var testAddr; + var textNode; + var nodeType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddr = elementList.item(0); + textNode = testAddr.firstChild; + + nodeType = textNode.nodeType; + + assertEquals("nodeTextNodeTypeAssert1",3,nodeType); + +} + + + + +function runTest() { + hc_nodetextnodetype(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodevalue.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodevalue.js new file mode 100644 index 0000000..1a1ec4b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodevalue.js @@ -0,0 +1,118 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodetextnodevalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The string returned by the "getNodeValue()" method for a + Text Node is the content of the Text node. + + Retrieve the Text node from the last child of the first + employee and check the string returned by the + "getNodeValue()" method. It should be equal to + "1230 North Ave. Dallas, Texas 98551". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +*/ +function hc_nodetextnodevalue() { + var success; + if(checkInitialization(builder, "hc_nodetextnodevalue") != null) return; + var doc; + var elementList; + var testAddr; + var textNode; + var textValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddr = elementList.item(0); + textNode = testAddr.firstChild; + + textValue = textNode.nodeValue; + + assertEquals("textNodeValue","1230 North Ave. Dallas, Texas 98551",textValue); + +} + + + + +function runTest() { + hc_nodetextnodevalue(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue01.js new file mode 100644 index 0000000..c632b22 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue01.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodevalue01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +An element is created, setNodeValue is called with a non-null argument, but getNodeValue +should still return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#i-Document +*/ +function hc_nodevalue01() { + var success; + if(checkInitialization(builder, "hc_nodevalue01") != null) return; + var doc; + var newNode; + var newValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newNode = doc.createElement("acronym"); + newValue = newNode.nodeValue; + + assertNull("initiallyNull",newValue); + newNode.nodeValue = "This should have no effect"; + + newValue = newNode.nodeValue; + + assertNull("nullAfterAttemptedChange",newValue); + +} + + + + +function runTest() { + hc_nodevalue01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue02.js new file mode 100644 index 0000000..80682b9 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodevalue02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +An comment is created, setNodeValue is called with a non-null argument, but getNodeValue +should still return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1728279322 +*/ +function hc_nodevalue02() { + var success; + if(checkInitialization(builder, "hc_nodevalue02") != null) return; + var doc; + var newNode; + var newValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newNode = doc.createComment("This is a new Comment node"); + newValue = newNode.nodeValue; + + assertEquals("initial","This is a new Comment node",newValue); + newNode.nodeValue = "This should have an effect"; + + newValue = newNode.nodeValue; + + assertEquals("afterChange","This should have an effect",newValue); + +} + + + + +function runTest() { + hc_nodevalue02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue04.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue04.js new file mode 100644 index 0000000..40ceb64 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue04.js @@ -0,0 +1,132 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodevalue04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +An document type accessed, setNodeValue is called with a non-null argument, but getNodeValue +should still return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A31 +*/ +function hc_nodevalue04() { + var success; + if(checkInitialization(builder, "hc_nodevalue04") != null) return; + var doc; + var newNode; + var newValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newNode = doc.doctype; + + assertTrue("docTypeNotNullOrDocIsHTML", + + ( + (newNode != null) + || + (builder.contentType == "text/html") +) +); + + if( + + (newNode != null) + + ) { + assertNotNull("docTypeNotNull",newNode); +newValue = newNode.nodeValue; + + assertNull("initiallyNull",newValue); + newNode.nodeValue = "This should have no effect"; + + newValue = newNode.nodeValue; + + assertNull("nullAfterAttemptedChange",newValue); + + } + +} + + + + +function runTest() { + hc_nodevalue04(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue05.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue05.js new file mode 100644 index 0000000..34e2e33 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue05.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodevalue05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +A document fragment is created, setNodeValue is called with a non-null argument, but getNodeValue +should still return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A3 +*/ +function hc_nodevalue05() { + var success; + if(checkInitialization(builder, "hc_nodevalue05") != null) return; + var doc; + var newNode; + var newValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newNode = doc.createDocumentFragment(); + newValue = newNode.nodeValue; + + assertNull("initiallyNull",newValue); + newNode.nodeValue = "This should have no effect"; + + newValue = newNode.nodeValue; + + assertNull("nullAfterAttemptedChange",newValue); + +} + + + + +function runTest() { + hc_nodevalue05(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue06.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue06.js new file mode 100644 index 0000000..6cb9ac7 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue06.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodevalue06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var newNodeRef = null; + if (typeof(this.newNode) != 'undefined') { + newNodeRef = this.newNode; + } + docsLoaded += preload(newNodeRef, "newNode", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +An document is accessed, setNodeValue is called with a non-null argument, but getNodeValue +should still return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#i-Document +*/ +function hc_nodevalue06() { + var success; + if(checkInitialization(builder, "hc_nodevalue06") != null) return; + var newNode; + var newValue; + + var newNodeRef = null; + if (typeof(this.newNode) != 'undefined') { + newNodeRef = this.newNode; + } + newNode = load(newNodeRef, "newNode", "hc_staff"); + newValue = newNode.nodeValue; + + assertNull("initiallyNull",newValue); + newNode.nodeValue = "This should have no effect"; + + newValue = newNode.nodeValue; + + assertNull("nullAfterAttemptedChange",newValue); + +} + + + + +function runTest() { + hc_nodevalue06(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue07.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue07.js new file mode 100644 index 0000000..867a682 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue07.js @@ -0,0 +1,134 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodevalue07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + checkFeature("XML", null); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +An Entity is accessed, setNodeValue is called with a non-null argument, but getNodeValue +should still return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-527DCFF2 +*/ +function hc_nodevalue07() { + var success; + if(checkInitialization(builder, "hc_nodevalue07") != null) return; + var doc; + var newNode; + var newValue; + var nodeMap; + var docType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + docType = doc.doctype; + + + if( + + !( + (builder.contentType == "text/html") +) + + ) { + assertNotNull("docTypeNotNull",docType); +nodeMap = docType.entities; + + assertNotNull("entitiesNotNull",nodeMap); +newNode = nodeMap.getNamedItem("alpha"); + assertNotNull("entityNotNull",newNode); +newValue = newNode.nodeValue; + + assertNull("initiallyNull",newValue); + newNode.nodeValue = "This should have no effect"; + + newValue = newNode.nodeValue; + + assertNull("nullAfterAttemptedChange",newValue); + + } + +} + + + + +function runTest() { + hc_nodevalue07(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue08.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue08.js new file mode 100644 index 0000000..6bbab84 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue08.js @@ -0,0 +1,134 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodevalue08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + checkFeature("XML", null); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +An notation is accessed, setNodeValue is called with a non-null argument, but getNodeValue +should still return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-5431D1B9 +*/ +function hc_nodevalue08() { + var success; + if(checkInitialization(builder, "hc_nodevalue08") != null) return; + var doc; + var docType; + var newNode; + var newValue; + var nodeMap; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + docType = doc.doctype; + + + if( + + !( + (builder.contentType == "text/html") +) + + ) { + assertNotNull("docTypeNotNull",docType); +nodeMap = docType.notations; + + assertNotNull("notationsNotNull",nodeMap); +newNode = nodeMap.getNamedItem("notation1"); + assertNotNull("notationNotNull",newNode); +newValue = newNode.nodeValue; + + assertNull("initiallyNull",newValue); + newNode.nodeValue = "This should have no effect"; + + newValue = newNode.nodeValue; + + assertNull("nullAfterAttemptedChange",newValue); + + } + +} + + + + +function runTest() { + hc_nodevalue08(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_notationsremovenameditem1.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_notationsremovenameditem1.js new file mode 100644 index 0000000..28d3cc6 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_notationsremovenameditem1.js @@ -0,0 +1,133 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_notationsremovenameditem1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + checkFeature("XML", null); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +An attempt to add remove an notation should result in a NO_MODIFICATION_ERR. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D46829EF +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D58B193 +*/ +function hc_notationsremovenameditem1() { + var success; + if(checkInitialization(builder, "hc_notationsremovenameditem1") != null) return; + var doc; + var notations; + var docType; + var retval; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + docType = doc.doctype; + + + if( + + !( + (builder.contentType == "text/html") +) + + ) { + assertNotNull("docTypeNotNull",docType); +notations = docType.notations; + + assertNotNull("notationsNotNull",notations); + + { + success = false; + try { + retval = notations.removeNamedItem("notation1"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 7); + } + assertTrue("throw_NO_MODIFICATION_ALLOWED_ERR",success); + } + + } + +} + + + + +function runTest() { + hc_notationsremovenameditem1(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_notationssetnameditem1.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_notationssetnameditem1.js new file mode 100644 index 0000000..0ae1333 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_notationssetnameditem1.js @@ -0,0 +1,144 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_notationssetnameditem1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + checkFeature("XML", null); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +An attempt to add an element to the named node map returned by notations should +result in a NO_MODIFICATION_ERR or HIERARCHY_REQUEST_ERR. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D46829EF +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788 +*/ +function hc_notationssetnameditem1() { + var success; + if(checkInitialization(builder, "hc_notationssetnameditem1") != null) return; + var doc; + var notations; + var docType; + var retval; + var elem; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + docType = doc.doctype; + + + if( + + !( + (builder.contentType == "text/html") +) + + ) { + assertNotNull("docTypeNotNull",docType); +notations = docType.notations; + + assertNotNull("notationsNotNull",notations); +elem = doc.createElement("br"); + + try { + retval = notations.setNamedItem(elem); + fail("throw_HIER_OR_NO_MOD_ERR"); + + } catch (ex) { + if (typeof(ex.code) != 'undefined') { + switch(ex.code) { + case /* HIERARCHY_REQUEST_ERR */ 3 : + break; + case /* NO_MODIFICATION_ALLOWED_ERR */ 7 : + break; + default: + throw ex; + } + } else { + throw ex; + } + } + + } + +} + + + + +function runTest() { + hc_notationssetnameditem1(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerrnegativeoffset.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerrnegativeoffset.js new file mode 100644 index 0000000..965648b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerrnegativeoffset.js @@ -0,0 +1,130 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_textindexsizeerrnegativeoffset"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + setImplementationAttribute("signed", true); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "splitText(offset)" method raises an + INDEX_SIZE_ERR DOMException if the specified offset is + negative. + + Retrieve the textual data from the second child of the + third employee and invoke the "splitText(offset)" method. + The desired exception should be raised since the offset + is a negative number. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-38853C1D +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-38853C1D')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) +*/ +function hc_textindexsizeerrnegativeoffset() { + var success; + if(checkInitialization(builder, "hc_textindexsizeerrnegativeoffset") != null) return; + var doc; + var elementList; + var nameNode; + var textNode; + var splitNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(2); + textNode = nameNode.firstChild; + + + { + success = false; + try { + splitNode = textNode.splitText(-69); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 1); + } + assertTrue("throws_INDEX_SIZE_ERR",success); + } + +} + + + + +function runTest() { + hc_textindexsizeerrnegativeoffset(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerroffsetoutofbounds.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerroffsetoutofbounds.js new file mode 100644 index 0000000..170d435 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerroffsetoutofbounds.js @@ -0,0 +1,131 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_textindexsizeerroffsetoutofbounds"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "splitText(offset)" method raises an + INDEX_SIZE_ERR DOMException if the specified offset is + greater than the number of characters in the Text node. + + Retrieve the textual data from the second child of the + third employee and invoke the "splitText(offset)" method. + The desired exception should be raised since the offset + is a greater than the number of characters in the Text + node. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-38853C1D +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-38853C1D')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_textindexsizeerroffsetoutofbounds() { + var success; + if(checkInitialization(builder, "hc_textindexsizeerroffsetoutofbounds") != null) return; + var doc; + var elementList; + var nameNode; + var textNode; + var splitNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(2); + textNode = nameNode.firstChild; + + + { + success = false; + try { + splitNode = textNode.splitText(300); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 1); + } + assertTrue("throw_INDEX_SIZE_ERR",success); + } + +} + + + + +function runTest() { + hc_textindexsizeerroffsetoutofbounds(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textparseintolistofelements.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textparseintolistofelements.js new file mode 100644 index 0000000..71d362f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textparseintolistofelements.js @@ -0,0 +1,169 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_textparseintolistofelements"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the textual data from the last child of the + second employee. That node is composed of two + EntityReference nodes and two Text nodes. After + the content node is parsed, the "acronym" Element + should contain four children with each one of the + EntityReferences containing one child. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1451460987 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-11C98490 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-745549614 +*/ +function hc_textparseintolistofelements() { + var success; + if(checkInitialization(builder, "hc_textparseintolistofelements") != null) return; + var doc; + var elementList; + var addressNode; + var childList; + var child; + var value; + var grandChild; + var length; + var result = new Array(); + + expectedNormal = new Array(); + expectedNormal[0] = "β"; + expectedNormal[1] = " Dallas, "; + expectedNormal[2] = "γ"; + expectedNormal[3] = "\n 98554"; + + expectedExpanded = new Array(); + expectedExpanded[0] = "β Dallas, γ\n 98554"; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + addressNode = elementList.item(1); + childList = addressNode.childNodes; + + length = childList.length; + + for(var indexN1007C = 0;indexN1007C < childList.length; indexN1007C++) { + child = childList.item(indexN1007C); + value = child.nodeValue; + + + if( + + (value == null) + + ) { + grandChild = child.firstChild; + + assertNotNull("grandChildNotNull",grandChild); +value = grandChild.nodeValue; + + result[result.length] = value; + + } + + else { + result[result.length] = value; + + } + + } + + if( + (1 == length) + ) { + assertEqualsList("assertEqCoalescing",expectedExpanded,result); + + } + + else { + assertEqualsList("assertEqNormal",expectedNormal,result); + + } + +} + + + + +function runTest() { + hc_textparseintolistofelements(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittextfour.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittextfour.js new file mode 100644 index 0000000..ece64c2 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittextfour.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_textsplittextfour"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "splitText(offset)" method returns the new Text node. + + Retrieve the textual data from the last child of the + first employee and invoke the "splitText(offset)" method. + The method should return the new Text node. The offset + value used for this test is 30. The "getNodeValue()" + method is called to check that the new node now contains + the characters at and after position 30. + (Starting count at 0) + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-38853C1D +*/ +function hc_textsplittextfour() { + var success; + if(checkInitialization(builder, "hc_textsplittextfour") != null) return; + var doc; + var elementList; + var addressNode; + var textNode; + var splitNode; + var value; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + addressNode = elementList.item(0); + textNode = addressNode.firstChild; + + splitNode = textNode.splitText(30); + value = splitNode.nodeValue; + + assertEquals("textSplitTextFourAssert","98551",value); + +} + + + + +function runTest() { + hc_textsplittextfour(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittextone.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittextone.js new file mode 100644 index 0000000..2e089c5 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittextone.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_textsplittextone"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "splitText(offset)" method breaks the Text node into + two Text nodes at the specified offset keeping each node + as siblings in the tree. + + Retrieve the textual data from the second child of the + third employee and invoke the "splitText(offset)" method. + The method splits the Text node into two new sibling + Text nodes keeping both of them in the tree. This test + checks the "nextSibling()" method of the original node + to ensure that the two nodes are indeed siblings. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-38853C1D +*/ +function hc_textsplittextone() { + var success; + if(checkInitialization(builder, "hc_textsplittextone") != null) return; + var doc; + var elementList; + var nameNode; + var textNode; + var splitNode; + var secondPart; + var value; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(2); + textNode = nameNode.firstChild; + + splitNode = textNode.splitText(7); + secondPart = textNode.nextSibling; + + value = secondPart.nodeValue; + + assertEquals("textSplitTextOneAssert","Jones",value); + +} + + + + +function runTest() { + hc_textsplittextone(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittextthree.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittextthree.js new file mode 100644 index 0000000..6992628 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittextthree.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_textsplittextthree"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + After the "splitText(offset)" method breaks the Text node + into two Text nodes, the new Text node contains all the + content at and after the offset point. + + Retrieve the textual data from the second child of the + third employee and invoke the "splitText(offset)" method. + The new Text node should contain all the content + at and after the offset point. The "getNodeValue()" + method is called to check that the new node now contains + the characters at and after position seven. + (Starting count at 0) + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-38853C1D +*/ +function hc_textsplittextthree() { + var success; + if(checkInitialization(builder, "hc_textsplittextthree") != null) return; + var doc; + var elementList; + var nameNode; + var textNode; + var splitNode; + var value; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(2); + textNode = nameNode.firstChild; + + splitNode = textNode.splitText(6); + value = splitNode.nodeValue; + + assertEquals("textSplitTextThreeAssert"," Jones",value); + +} + + + + +function runTest() { + hc_textsplittextthree(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittexttwo.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittexttwo.js new file mode 100644 index 0000000..8778694 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittexttwo.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_textsplittexttwo"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + After the "splitText(offset)" method breaks the Text node + into two Text nodes, the original node contains all the + content up to the offset point. + + Retrieve the textual data from the second child of the + third employee and invoke the "splitText(offset)" method. + The original Text node should contain all the content + up to the offset point. The "getNodeValue()" method + is called to check that the original node now contains + the first five characters. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-38853C1D +*/ +function hc_textsplittexttwo() { + var success; + if(checkInitialization(builder, "hc_textsplittexttwo") != null) return; + var doc; + var elementList; + var nameNode; + var textNode; + var splitNode; + var value; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(2); + textNode = nameNode.firstChild; + + splitNode = textNode.splitText(5); + value = textNode.nodeValue; + + assertEquals("textSplitTextTwoAssert","Roger",value); + +} + + + + +function runTest() { + hc_textsplittexttwo(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textwithnomarkup.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textwithnomarkup.js new file mode 100644 index 0000000..2b3bae9 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textwithnomarkup.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_textwithnomarkup"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If there is not any markup inside an Element or Attr node + content, then the text is contained in a single object + implementing the Text interface that is the only child + of the element. + + Retrieve the textual data from the second child of the + third employee. That Text node contains a block of + multiple text lines without markup, so they should be + treated as a single Text node. The "getNodeValue()" + method should contain the combination of the two lines. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1312295772 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +*/ +function hc_textwithnomarkup() { + var success; + if(checkInitialization(builder, "hc_textwithnomarkup") != null) return; + var doc; + var elementList; + var nameNode; + var nodeV; + var value; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(2); + nodeV = nameNode.firstChild; + + value = nodeV.nodeValue; + + assertEquals("textWithNoMarkupAssert","Roger\n Jones",value); + +} + + + + +function runTest() { + hc_textwithnomarkup(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref.js new file mode 100644 index 0000000..ce7e127 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref.js @@ -0,0 +1,143 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/documentinvalidcharacterexceptioncreateentref"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + checkFeature("XML", null); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "createEntityReference(tagName)" method raises an + INVALID_CHARACTER_ERR DOMException if the specified + tagName contains an invalid character. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-392B75AE +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-392B75AE')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function documentinvalidcharacterexceptioncreateentref() { + var success; + if(checkInitialization(builder, "documentinvalidcharacterexceptioncreateentref") != null) return; + var doc; + var badEntityRef; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + + if( + + (builder.contentType == "text/html") + + ) { + + { + success = false; + try { + badEntityRef = doc.createEntityReference("foo"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 9); + } + assertTrue("throw_NOT_SUPPORTED_ERR",success); + } + + } + + else { + + { + success = false; + try { + badEntityRef = doc.createEntityReference("invalid^Name"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 5); + } + assertTrue("throw_INVALID_CHARACTER_ERR",success); + } + + } + +} + + + + +function runTest() { + documentinvalidcharacterexceptioncreateentref(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref1.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref1.js new file mode 100644 index 0000000..b4d1ec9 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref1.js @@ -0,0 +1,140 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/documentinvalidcharacterexceptioncreateentref1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + checkFeature("XML", null); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Creating an entity reference with an empty name should cause an INVALID_CHARACTER_ERR. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-392B75AE +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-392B75AE')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=525 +*/ +function documentinvalidcharacterexceptioncreateentref1() { + var success; + if(checkInitialization(builder, "documentinvalidcharacterexceptioncreateentref1") != null) return; + var doc; + var badEntityRef; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + + if( + + (builder.contentType == "text/html") + + ) { + + { + success = false; + try { + badEntityRef = doc.createEntityReference("foo"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 9); + } + assertTrue("throw_NOT_SUPPORTED_ERR",success); + } + + } + + else { + + { + success = false; + try { + badEntityRef = doc.createEntityReference(""); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 5); + } + assertTrue("throw_INVALID_CHARACTER_ERR",success); + } + + } + +} + + + + +function runTest() { + documentinvalidcharacterexceptioncreateentref1(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild1.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild1.js new file mode 100644 index 0000000..0bb0ad9 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild1.js @@ -0,0 +1,132 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrappendchild1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Appends a text node to an attribute and checks if the value of +the attribute is changed. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +*/ +function hc_attrappendchild1() { + var success; + if(checkInitialization(builder, "hc_attrappendchild1") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var lastChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + textNode = doc.createTextNode("terday"); + retval = titleAttr.appendChild(textNode); + value = titleAttr.value; + + assertEquals("attrValue","Yesterday",value); + value = titleAttr.nodeValue; + + assertEquals("attrNodeValue","Yesterday",value); + value = retval.nodeValue; + + assertEquals("retvalValue","terday",value); + lastChild = titleAttr.lastChild; + + value = lastChild.nodeValue; + + assertEquals("lastChildValue","terday",value); + +} + + + + +function runTest() { + hc_attrappendchild1(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild2.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild2.js new file mode 100644 index 0000000..ac53896 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild2.js @@ -0,0 +1,127 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrappendchild2"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Attempts to append an element to the child nodes of an attribute. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +*/ +function hc_attrappendchild2() { + var success; + if(checkInitialization(builder, "hc_attrappendchild2") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var newChild; + var retval; + var lastChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + newChild = doc.createElement("terday"); + + { + success = false; + try { + retval = titleAttr.appendChild(newChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 3); + } + assertTrue("throw_HIERARCHY_REQUEST_ERR",success); + } + +} + + + + +function runTest() { + hc_attrappendchild2(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild3.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild3.js new file mode 100644 index 0000000..66adc3d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild3.js @@ -0,0 +1,138 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrappendchild3"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Appends a document fragment to an attribute and checks if the value of +the attribute is changed. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +*/ +function hc_attrappendchild3() { + var success; + if(checkInitialization(builder, "hc_attrappendchild3") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var terNode; + var dayNode; + var retval; + var lastChild; + var docFrag; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + terNode = doc.createTextNode("ter"); + dayNode = doc.createTextNode("day"); + docFrag = doc.createDocumentFragment(); + retval = docFrag.appendChild(terNode); + retval = docFrag.appendChild(dayNode); + retval = titleAttr.appendChild(docFrag); + value = titleAttr.value; + + assertEquals("attrValue","Yesterday",value); + value = titleAttr.nodeValue; + + assertEquals("attrNodeValue","Yesterday",value); + value = retval.nodeValue; + + assertNull("retvalValue",value); + lastChild = titleAttr.lastChild; + + value = lastChild.nodeValue; + + assertEquals("lastChildValue","day",value); + +} + + + + +function runTest() { + hc_attrappendchild3(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild4.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild4.js new file mode 100644 index 0000000..dc70102 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild4.js @@ -0,0 +1,152 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrappendchild4"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + checkFeature("XML", null); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Attempt to append a CDATASection to an attribute which should result +in a HIERARCHY_REQUEST_ERR. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +*/ +function hc_attrappendchild4() { + var success; + if(checkInitialization(builder, "hc_attrappendchild4") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var lastChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + + if( + + (builder.contentType == "text/html") + + ) { + + { + success = false; + try { + textNode = doc.createCDATASection("terday"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 9); + } + assertTrue("throw_NOT_SUPPORTED_ERR",success); + } + + } + + else { + textNode = doc.createCDATASection("terday"); + + { + success = false; + try { + retval = titleAttr.appendChild(textNode); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 3); + } + assertTrue("throw_HIERARCHY_REQUEST_ERR",success); + } + + } + +} + + + + +function runTest() { + hc_attrappendchild4(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild5.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild5.js new file mode 100644 index 0000000..c9e8855 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild5.js @@ -0,0 +1,141 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrappendchild5"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + var otherDocRef = null; + if (typeof(this.otherDoc) != 'undefined') { + otherDocRef = this.otherDoc; + } + docsLoaded += preload(otherDocRef, "otherDoc", "hc_staff"); + + if (docsLoaded == 2) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 2) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Attempt to append a node from another document to an attribute which should result +in a WRONG_DOCUMENT_ERR. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +*/ +function hc_attrappendchild5() { + var success; + if(checkInitialization(builder, "hc_attrappendchild5") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var lastChild; + var otherDoc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + + var otherDocRef = null; + if (typeof(this.otherDoc) != 'undefined') { + otherDocRef = this.otherDoc; + } + otherDoc = load(otherDocRef, "otherDoc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + textNode = otherDoc.createTextNode("terday"); + + { + success = false; + try { + retval = titleAttr.appendChild(textNode); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 4); + } + assertTrue("throw_WRONG_DOCUMENT_ERR",success); + } + +} + + + + +function runTest() { + hc_attrappendchild5(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild6.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild6.js new file mode 100644 index 0000000..01b3d80 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild6.js @@ -0,0 +1,127 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrappendchild6"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Creates an new attribute node and appends a text node. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +*/ +function hc_attrappendchild6() { + var success; + if(checkInitialization(builder, "hc_attrappendchild6") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var lastChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + titleAttr = doc.createAttribute("title"); + textNode = doc.createTextNode("Yesterday"); + retval = titleAttr.appendChild(textNode); + value = titleAttr.value; + + assertEquals("attrValue","Yesterday",value); + value = titleAttr.nodeValue; + + assertEquals("attrNodeValue","Yesterday",value); + value = retval.nodeValue; + + assertEquals("retvalValue","Yesterday",value); + lastChild = titleAttr.lastChild; + + value = lastChild.nodeValue; + + assertEquals("lastChildValue","Yesterday",value); + +} + + + + +function runTest() { + hc_attrappendchild6(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes1.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes1.js new file mode 100644 index 0000000..ac088f4 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes1.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrchildnodes1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Checks that Node.childNodes for an attribute node contains +the expected text node. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1451460987 +*/ +function hc_attrchildnodes1() { + var success; + if(checkInitialization(builder, "hc_attrchildnodes1") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var childNodes; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + childNodes = titleAttr.childNodes; + + assertSize("childNodesSize",1,childNodes); +textNode = childNodes.item(0); + value = textNode.nodeValue; + + assertEquals("child1IsYes","Yes",value); + textNode = childNodes.item(1); + assertNull("secondItemIsNull",textNode); + +} + + + + +function runTest() { + hc_attrchildnodes1(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes2.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes2.js new file mode 100644 index 0000000..c6c6cd5 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes2.js @@ -0,0 +1,130 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrchildnodes2"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Checks Node.childNodes for an attribute with multiple child nodes. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1451460987 +*/ +function hc_attrchildnodes2() { + var success; + if(checkInitialization(builder, "hc_attrchildnodes2") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var childNodes; + var retval; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + childNodes = titleAttr.childNodes; + + textNode = doc.createTextNode("terday"); + retval = titleAttr.appendChild(textNode); + assertSize("childNodesSize",2,childNodes); +textNode = childNodes.item(0); + value = textNode.nodeValue; + + assertEquals("child1IsYes","Yes",value); + textNode = childNodes.item(1); + value = textNode.nodeValue; + + assertEquals("child2IsTerday","terday",value); + textNode = childNodes.item(2); + assertNull("thirdItemIsNull",textNode); + +} + + + + +function runTest() { + hc_attrchildnodes2(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrclonenode1.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrclonenode1.js new file mode 100644 index 0000000..7667e85 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrclonenode1.js @@ -0,0 +1,132 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrclonenode1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Appends a text node to an attribute and clones the node. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3A0ED0A4 +*/ +function hc_attrclonenode1() { + var success; + if(checkInitialization(builder, "hc_attrclonenode1") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var lastChild; + var clonedTitle; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + textNode = doc.createTextNode("terday"); + retval = titleAttr.appendChild(textNode); + clonedTitle = titleAttr.cloneNode(false); + textNode.nodeValue = "text_node_not_cloned"; + + value = clonedTitle.value; + + assertEquals("attrValue","Yesterday",value); + value = clonedTitle.nodeValue; + + assertEquals("attrNodeValue","Yesterday",value); + lastChild = clonedTitle.lastChild; + + value = lastChild.nodeValue; + + assertEquals("lastChildValue","terday",value); + +} + + + + +function runTest() { + hc_attrclonenode1(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatedocumentfragment.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatedocumentfragment.js new file mode 100644 index 0000000..b35e00f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatedocumentfragment.js @@ -0,0 +1,138 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrcreatedocumentfragment"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Create a new DocumentFragment and add a newly created Element node(with one attribute). + Once the element is added, its attribute should be available as an attribute associated + with an Element within a DocumentFragment. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-35CB04B5 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68F082 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A3 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=184 +*/ +function hc_attrcreatedocumentfragment() { + var success; + if(checkInitialization(builder, "hc_attrcreatedocumentfragment") != null) return; + var doc; + var docFragment; + var newOne; + var domesticNode; + var attributes; + var attribute; + var attrName; + var appendedChild; + var langAttrCount = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + docFragment = doc.createDocumentFragment(); + newOne = doc.createElement("html"); + newOne.setAttribute("lang","EN"); + appendedChild = docFragment.appendChild(newOne); + domesticNode = docFragment.firstChild; + + attributes = domesticNode.attributes; + + for(var indexN10078 = 0;indexN10078 < attributes.length; indexN10078++) { + attribute = attributes.item(indexN10078); + attrName = attribute.nodeName; + + + if( + equalsAutoCase("attribute", "lang", attrName) + ) { + langAttrCount += 1; + + } + + } + assertEquals("hasLangAttr",1,langAttrCount); + +} + + + + +function runTest() { + hc_attrcreatedocumentfragment(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode.js new file mode 100644 index 0000000..0298426 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode.js @@ -0,0 +1,127 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrcreatetextnode"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "setValue()" method for an attribute creates a + Text node with the unparsed content of the string. + Retrieve the attribute named "class" from the last + child of of the fourth employee and assign the "Y&ent1;" + string to its value attribute. This value is not yet + parsed and therefore should still be the same upon + retrieval. This test uses the "getNamedItem(name)" method + from the NamedNodeMap interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-221662474 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2002Apr/0057.html +*/ +function hc_attrcreatetextnode() { + var success; + if(checkInitialization(builder, "hc_attrcreatetextnode") != null) return; + var doc; + var addressList; + var testNode; + var attributes; + var streetAttr; + var value; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + addressList = doc.getElementsByTagName("acronym"); + testNode = addressList.item(3); + attributes = testNode.attributes; + + streetAttr = attributes.getNamedItem("class"); + streetAttr.value = "Y&ent1;"; + + value = streetAttr.value; + + assertEquals("value","Y&ent1;",value); + value = streetAttr.nodeValue; + + assertEquals("nodeValue","Y&ent1;",value); + +} + + + + +function runTest() { + hc_attrcreatetextnode(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode2.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode2.js new file mode 100644 index 0000000..bfa0d05 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode2.js @@ -0,0 +1,127 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrcreatetextnode2"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "setNodeValue()" method for an attribute creates a + Text node with the unparsed content of the string. + Retrieve the attribute named "class" from the last + child of of the fourth employee and assign the "Y&ent1;" + string to its value attribute. This value is not yet + parsed and therefore should still be the same upon + retrieval. This test uses the "getNamedItem(name)" method + from the NamedNodeMap interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2002Apr/0057.html +*/ +function hc_attrcreatetextnode2() { + var success; + if(checkInitialization(builder, "hc_attrcreatetextnode2") != null) return; + var doc; + var addressList; + var testNode; + var attributes; + var streetAttr; + var value; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + addressList = doc.getElementsByTagName("acronym"); + testNode = addressList.item(3); + attributes = testNode.attributes; + + streetAttr = attributes.getNamedItem("class"); + streetAttr.nodeValue = "Y&ent1;"; + + value = streetAttr.value; + + assertEquals("value","Y&ent1;",value); + value = streetAttr.nodeValue; + + assertEquals("nodeValue","Y&ent1;",value); + +} + + + + +function runTest() { + hc_attrcreatetextnode2(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attreffectivevalue.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attreffectivevalue.js new file mode 100644 index 0000000..89a41c0 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attreffectivevalue.js @@ -0,0 +1,118 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attreffectivevalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If an Attr is explicitly assigned any value, then that value is the attributes effective value. + Retrieve the attribute named "domestic" from the last child of of the first employee + and examine its nodeValue attribute. This test uses the "getNamedItem(name)" method + from the NamedNodeMap interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1074577549 +*/ +function hc_attreffectivevalue() { + var success; + if(checkInitialization(builder, "hc_attreffectivevalue") != null) return; + var doc; + var addressList; + var testNode; + var attributes; + var domesticAttr; + var value; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + addressList = doc.getElementsByTagName("acronym"); + testNode = addressList.item(0); + attributes = testNode.attributes; + + domesticAttr = attributes.getNamedItem("title"); + value = domesticAttr.nodeValue; + + assertEquals("attrEffectiveValueAssert","Yes",value); + +} + + + + +function runTest() { + hc_attreffectivevalue(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrfirstchild.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrfirstchild.js new file mode 100644 index 0000000..68f8b52 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrfirstchild.js @@ -0,0 +1,127 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrfirstchild"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Checks that Node.firstChild for an attribute node contains +the expected text node. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-169727388 +*/ +function hc_attrfirstchild() { + var success; + if(checkInitialization(builder, "hc_attrfirstchild") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var otherChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + textNode = titleAttr.firstChild; + + assertNotNull("textNodeNotNull",textNode); +value = textNode.nodeValue; + + assertEquals("child1IsYes","Yes",value); + otherChild = textNode.nextSibling; + + assertNull("nextSiblingIsNull",otherChild); + otherChild = textNode.previousSibling; + + assertNull("previousSiblingIsNull",otherChild); + +} + + + + +function runTest() { + hc_attrfirstchild(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue1.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue1.js new file mode 100644 index 0000000..9ee328c --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue1.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrgetvalue1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Checks the value of an attribute that contains entity references. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-221662474 +*/ +function hc_attrgetvalue1() { + var success; + if(checkInitialization(builder, "hc_attrgetvalue1") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var lastChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("class"); + value = titleAttr.value; + + assertEquals("attrValue1","Yα",value); + +} + + + + +function runTest() { + hc_attrgetvalue1(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue2.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue2.js new file mode 100644 index 0000000..94cc2ae --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue2.js @@ -0,0 +1,146 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrgetvalue2"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + checkFeature("XML", null); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Checks the value of an attribute that contains entity references. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-221662474 +*/ +function hc_attrgetvalue2() { + var success; + if(checkInitialization(builder, "hc_attrgetvalue2") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var firstChild; + var alphaRef; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("class"); + + if( + + (builder.contentType == "text/html") + + ) { + + { + success = false; + try { + alphaRef = doc.createEntityReference("alpha"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 9); + } + assertTrue("throw_NOT_SUPPORTED_ERR",success); + } + + } + + else { + alphaRef = doc.createEntityReference("alpha"); + firstChild = titleAttr.firstChild; + + retval = titleAttr.insertBefore(alphaRef,firstChild); + value = titleAttr.value; + + assertEquals("attrValue1","αYα",value); + + } + +} + + + + +function runTest() { + hc_attrgetvalue2(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrhaschildnodes.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrhaschildnodes.js new file mode 100644 index 0000000..71487c3 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrhaschildnodes.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrhaschildnodes"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Checks that Node.hasChildNodes() is true for an attribute with content. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-810594187 +*/ +function hc_attrhaschildnodes() { + var success; + if(checkInitialization(builder, "hc_attrhaschildnodes") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var hasChildNodes; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + hasChildNodes = titleAttr.hasChildNodes(); + assertTrue("hasChildrenIsTrue",hasChildNodes); + +} + + + + +function runTest() { + hc_attrhaschildnodes(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore1.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore1.js new file mode 100644 index 0000000..89aa99e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore1.js @@ -0,0 +1,140 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrinsertbefore1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Appends a text node to an attribute and checks if the value of +the attribute is changed. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +*/ +function hc_attrinsertbefore1() { + var success; + if(checkInitialization(builder, "hc_attrinsertbefore1") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var firstChild; + var lastChild; + var refChild = null; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + textNode = doc.createTextNode("terday"); + retval = titleAttr.insertBefore(textNode,refChild); + value = titleAttr.value; + + assertEquals("attrValue","Yesterday",value); + value = titleAttr.nodeValue; + + assertEquals("attrNodeValue","Yesterday",value); + value = retval.nodeValue; + + assertEquals("retvalValue","terday",value); + firstChild = titleAttr.firstChild; + + value = firstChild.nodeValue; + + assertEquals("firstChildValue","Yes",value); + lastChild = titleAttr.lastChild; + + value = lastChild.nodeValue; + + assertEquals("lastChildValue","terday",value); + +} + + + + +function runTest() { + hc_attrinsertbefore1(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore2.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore2.js new file mode 100644 index 0000000..cc4f50e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore2.js @@ -0,0 +1,141 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrinsertbefore2"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Prepends a text node to an attribute and checks if the value of +the attribute is changed. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +*/ +function hc_attrinsertbefore2() { + var success; + if(checkInitialization(builder, "hc_attrinsertbefore2") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var lastChild; + var firstChild; + var refChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + textNode = doc.createTextNode("terday"); + refChild = titleAttr.firstChild; + + retval = titleAttr.insertBefore(textNode,refChild); + value = titleAttr.value; + + assertEquals("attrValue","terdayYes",value); + value = titleAttr.nodeValue; + + assertEquals("attrNodeValue","terdayYes",value); + value = retval.nodeValue; + + assertEquals("retvalValue","terday",value); + firstChild = titleAttr.firstChild; + + value = firstChild.nodeValue; + + assertEquals("firstChildValue","terday",value); + lastChild = titleAttr.lastChild; + + value = lastChild.nodeValue; + + assertEquals("lastChildValue","Yes",value); + +} + + + + +function runTest() { + hc_attrinsertbefore2(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore3.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore3.js new file mode 100644 index 0000000..3cb24cd --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore3.js @@ -0,0 +1,146 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrinsertbefore3"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Appends a document fragment to an attribute and checks if the value of +the attribute is changed. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +*/ +function hc_attrinsertbefore3() { + var success; + if(checkInitialization(builder, "hc_attrinsertbefore3") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var terNode; + var dayNode; + var docFrag; + var retval; + var firstChild; + var lastChild; + var refChild = null; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + terNode = doc.createTextNode("ter"); + dayNode = doc.createTextNode("day"); + docFrag = doc.createDocumentFragment(); + retval = docFrag.appendChild(terNode); + retval = docFrag.appendChild(dayNode); + retval = titleAttr.insertBefore(docFrag,refChild); + value = titleAttr.value; + + assertEquals("attrValue","Yesterday",value); + value = titleAttr.nodeValue; + + assertEquals("attrNodeValue","Yesterday",value); + value = retval.nodeValue; + + assertNull("retvalValue",value); + firstChild = titleAttr.firstChild; + + value = firstChild.nodeValue; + + assertEquals("firstChildValue","Yes",value); + lastChild = titleAttr.lastChild; + + value = lastChild.nodeValue; + + assertEquals("lastChildValue","day",value); + +} + + + + +function runTest() { + hc_attrinsertbefore3(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore4.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore4.js new file mode 100644 index 0000000..700e61d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore4.js @@ -0,0 +1,147 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrinsertbefore4"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Prepends a document fragment to an attribute and checks if the value of +the attribute is changed. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +*/ +function hc_attrinsertbefore4() { + var success; + if(checkInitialization(builder, "hc_attrinsertbefore4") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var terNode; + var dayNode; + var docFrag; + var retval; + var firstChild; + var lastChild; + var refChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + terNode = doc.createTextNode("ter"); + dayNode = doc.createTextNode("day"); + docFrag = doc.createDocumentFragment(); + retval = docFrag.appendChild(terNode); + retval = docFrag.appendChild(dayNode); + refChild = titleAttr.firstChild; + + retval = titleAttr.insertBefore(docFrag,refChild); + value = titleAttr.value; + + assertEquals("attrValue","terdayYes",value); + value = titleAttr.nodeValue; + + assertEquals("attrNodeValue","terdayYes",value); + value = retval.nodeValue; + + assertNull("retvalValue",value); + firstChild = titleAttr.firstChild; + + value = firstChild.nodeValue; + + assertEquals("firstChildValue","ter",value); + lastChild = titleAttr.lastChild; + + value = lastChild.nodeValue; + + assertEquals("lastChildValue","Yes",value); + +} + + + + +function runTest() { + hc_attrinsertbefore4(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore5.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore5.js new file mode 100644 index 0000000..a9737ed --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore5.js @@ -0,0 +1,153 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrinsertbefore5"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + checkFeature("XML", null); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Attempt to append a CDATASection to an attribute which should result +in a HIERARCHY_REQUEST_ERR. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +*/ +function hc_attrinsertbefore5() { + var success; + if(checkInitialization(builder, "hc_attrinsertbefore5") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var refChild = null; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + + if( + + (builder.contentType == "text/html") + + ) { + + { + success = false; + try { + textNode = doc.createCDATASection("terday"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 9); + } + assertTrue("throw_NOT_SUPPORTED_ERR",success); + } + + } + + else { + textNode = doc.createCDATASection("terday"); + + { + success = false; + try { + retval = titleAttr.insertBefore(textNode,refChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 3); + } + assertTrue("throw_HIERARCHY_REQUEST_ERR",success); + } + + } + +} + + + + +function runTest() { + hc_attrinsertbefore5(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore6.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore6.js new file mode 100644 index 0000000..dc04f62 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore6.js @@ -0,0 +1,142 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrinsertbefore6"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + var otherDocRef = null; + if (typeof(this.otherDoc) != 'undefined') { + otherDocRef = this.otherDoc; + } + docsLoaded += preload(otherDocRef, "otherDoc", "hc_staff"); + + if (docsLoaded == 2) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 2) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Attempt to append a text node from another document to an attribute which should result +in a WRONG_DOCUMENT_ERR. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +*/ +function hc_attrinsertbefore6() { + var success; + if(checkInitialization(builder, "hc_attrinsertbefore6") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var refChild = null; + + var otherDoc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + + var otherDocRef = null; + if (typeof(this.otherDoc) != 'undefined') { + otherDocRef = this.otherDoc; + } + otherDoc = load(otherDocRef, "otherDoc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + textNode = otherDoc.createTextNode("terday"); + + { + success = false; + try { + retval = titleAttr.insertBefore(textNode,refChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 4); + } + assertTrue("throw_WRONG_DOCUMENT_ERR",success); + } + +} + + + + +function runTest() { + hc_attrinsertbefore6(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore7.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore7.js new file mode 100644 index 0000000..f014502 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore7.js @@ -0,0 +1,160 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrinsertbefore7"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + checkFeature("XML", null); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Appends a document fragment containing a CDATASection to an attribute. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +*/ +function hc_attrinsertbefore7() { + var success; + if(checkInitialization(builder, "hc_attrinsertbefore7") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var terNode; + var dayNode; + var docFrag; + var retval; + var firstChild; + var lastChild; + var refChild = null; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + terNode = doc.createTextNode("ter"); + + if( + + (builder.contentType == "text/html") + + ) { + + { + success = false; + try { + dayNode = doc.createCDATASection("day"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 9); + } + assertTrue("throw_NOT_SUPPORTED_ERR",success); + } + + } + + else { + dayNode = doc.createCDATASection("day"); + docFrag = doc.createDocumentFragment(); + retval = docFrag.appendChild(terNode); + retval = docFrag.appendChild(dayNode); + + { + success = false; + try { + retval = titleAttr.insertBefore(docFrag,refChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 3); + } + assertTrue("throw_HIERARCHY_REQUEST_ERR",success); + } + + } + +} + + + + +function runTest() { + hc_attrinsertbefore7(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrlastchild.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrlastchild.js new file mode 100644 index 0000000..1df7342 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrlastchild.js @@ -0,0 +1,127 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrlastchild"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Checks that Node.lastChild for an attribute node contains +the expected text node. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-61AD09FB +*/ +function hc_attrlastchild() { + var success; + if(checkInitialization(builder, "hc_attrlastchild") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var otherChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + textNode = titleAttr.firstChild; + + assertNotNull("textNodeNotNull",textNode); +value = textNode.nodeValue; + + assertEquals("child1IsYes","Yes",value); + otherChild = textNode.nextSibling; + + assertNull("nextSiblingIsNull",otherChild); + otherChild = textNode.previousSibling; + + assertNull("previousSiblingIsNull",otherChild); + +} + + + + +function runTest() { + hc_attrlastchild(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrname.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrname.js new file mode 100644 index 0000000..890fae1 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrname.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrname"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the attribute named class from the last + child of of the second "p" element and examine its + NodeName. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1112119403 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html +*/ +function hc_attrname() { + var success; + if(checkInitialization(builder, "hc_attrname") != null) return; + var doc; + var addressList; + var testNode; + var attributes; + var streetAttr; + var strong1; + var strong2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + addressList = doc.getElementsByTagName("acronym"); + testNode = addressList.item(1); + attributes = testNode.attributes; + + streetAttr = attributes.getNamedItem("class"); + strong1 = streetAttr.nodeName; + + strong2 = streetAttr.name; + + assertEqualsAutoCase("attribute", "nodeName","class",strong1); + assertEqualsAutoCase("attribute", "name","class",strong2); + +} + + + + +function runTest() { + hc_attrname(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnextsiblingnull.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnextsiblingnull.js new file mode 100644 index 0000000..12fc9f9 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnextsiblingnull.js @@ -0,0 +1,118 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrnextsiblingnull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "getNextSibling()" method for an Attr node should return null. +Retrieve the attribute named "domestic" from the last child of of the +first employee and examine its NextSibling node. This test uses the +"getNamedItem(name)" method from the NamedNodeMap interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6AC54C2F +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +*/ +function hc_attrnextsiblingnull() { + var success; + if(checkInitialization(builder, "hc_attrnextsiblingnull") != null) return; + var doc; + var addressList; + var testNode; + var attributes; + var domesticAttr; + var s; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + addressList = doc.getElementsByTagName("acronym"); + testNode = addressList.item(0); + attributes = testNode.attributes; + + domesticAttr = attributes.getNamedItem("title"); + s = domesticAttr.nextSibling; + + assertNull("attrNextSiblingNullAssert",s); + +} + + + + +function runTest() { + hc_attrnextsiblingnull(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnormalize.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnormalize.js new file mode 100644 index 0000000..d9f5e29 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnormalize.js @@ -0,0 +1,133 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrnormalize"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Appends a text node to an attribute, normalizes the attribute +and checks for a single child node. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-162CF083 +*/ +function hc_attrnormalize() { + var success; + if(checkInitialization(builder, "hc_attrnormalize") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var firstChild; + var secondChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + textNode = doc.createTextNode("terday"); + retval = titleAttr.appendChild(textNode); + textNode = doc.createTextNode(""); + retval = titleAttr.appendChild(textNode); + testNode.normalize(); + value = titleAttr.nodeValue; + + assertEquals("attrNodeValue","Yesterday",value); + firstChild = titleAttr.firstChild; + + value = firstChild.nodeValue; + + assertEquals("firstChildValue","Yesterday",value); + secondChild = firstChild.nextSibling; + + assertNull("secondChildIsNull",secondChild); + +} + + + + +function runTest() { + hc_attrnormalize(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrparentnodenull.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrparentnodenull.js new file mode 100644 index 0000000..3c6a403 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrparentnodenull.js @@ -0,0 +1,118 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrparentnodenull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "getParentNode()" method for an Attr node should return null. Retrieve +the attribute named "domestic" from the last child of the first employee +and examine its parentNode attribute. This test also uses the "getNamedItem(name)" +method from the NamedNodeMap interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1060184317 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +*/ +function hc_attrparentnodenull() { + var success; + if(checkInitialization(builder, "hc_attrparentnodenull") != null) return; + var doc; + var addressList; + var testNode; + var attributes; + var domesticAttr; + var s; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + addressList = doc.getElementsByTagName("acronym"); + testNode = addressList.item(0); + attributes = testNode.attributes; + + domesticAttr = attributes.getNamedItem("title"); + s = domesticAttr.parentNode; + + assertNull("attrParentNodeNullAssert",s); + +} + + + + +function runTest() { + hc_attrparentnodenull(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrprevioussiblingnull.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrprevioussiblingnull.js new file mode 100644 index 0000000..2773718 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrprevioussiblingnull.js @@ -0,0 +1,118 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrprevioussiblingnull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "getPreviousSibling()" method for an Attr node should return null. +Retrieve the attribute named "domestic" from the last child of of the +first employee and examine its PreviousSibling node. This test uses the +"getNamedItem(name)" method from the NamedNodeMap interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-640FB3C8 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +*/ +function hc_attrprevioussiblingnull() { + var success; + if(checkInitialization(builder, "hc_attrprevioussiblingnull") != null) return; + var doc; + var addressList; + var testNode; + var attributes; + var domesticAttr; + var s; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + addressList = doc.getElementsByTagName("acronym"); + testNode = addressList.item(0); + attributes = testNode.attributes; + + domesticAttr = attributes.getNamedItem("title"); + s = domesticAttr.previousSibling; + + assertNull("attrPreviousSiblingNullAssert",s); + +} + + + + +function runTest() { + hc_attrprevioussiblingnull(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild1.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild1.js new file mode 100644 index 0000000..5f98746 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild1.js @@ -0,0 +1,131 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrremovechild1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Removes the child node of an attribute and checks that the value is empty. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066 +*/ +function hc_attrremovechild1() { + var success; + if(checkInitialization(builder, "hc_attrremovechild1") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var firstChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + textNode = titleAttr.firstChild; + + assertNotNull("attrChildNotNull",textNode); +retval = titleAttr.removeChild(textNode); + value = titleAttr.value; + + assertEquals("attrValue","",value); + value = titleAttr.nodeValue; + + assertEquals("attrNodeValue","",value); + value = retval.nodeValue; + + assertEquals("retvalValue","Yes",value); + firstChild = titleAttr.firstChild; + + assertNull("firstChildNull",firstChild); + +} + + + + +function runTest() { + hc_attrremovechild1(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild2.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild2.js new file mode 100644 index 0000000..3e19f4e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild2.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrremovechild2"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Attempts to remove a freshly created text node which should result in a NOT_FOUND_ERR exception. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066 +*/ +function hc_attrremovechild2() { + var success; + if(checkInitialization(builder, "hc_attrremovechild2") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + textNode = doc.createTextNode("Yesterday"); + + { + success = false; + try { + retval = titleAttr.removeChild(textNode); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 8); + } + assertTrue("throw_NOT_FOUND_ERR",success); + } + +} + + + + +function runTest() { + hc_attrremovechild2(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild1.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild1.js new file mode 100644 index 0000000..ff499e5 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild1.js @@ -0,0 +1,135 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrreplacechild1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Replaces a text node of an attribute and checks if the value of +the attribute is changed. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 +*/ +function hc_attrreplacechild1() { + var success; + if(checkInitialization(builder, "hc_attrreplacechild1") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var firstChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + textNode = doc.createTextNode("terday"); + firstChild = titleAttr.firstChild; + + assertNotNull("attrChildNotNull",firstChild); +retval = titleAttr.replaceChild(textNode,firstChild); + value = titleAttr.value; + + assertEquals("attrValue","terday",value); + value = titleAttr.nodeValue; + + assertEquals("attrNodeValue","terday",value); + value = retval.nodeValue; + + assertEquals("retvalValue","Yes",value); + firstChild = titleAttr.firstChild; + + value = firstChild.nodeValue; + + assertEquals("firstChildValue","terday",value); + +} + + + + +function runTest() { + hc_attrreplacechild1(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild2.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild2.js new file mode 100644 index 0000000..c26d316 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild2.js @@ -0,0 +1,141 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrreplacechild2"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Replaces a text node of an attribute with a document fragment and checks if the value of +the attribute is changed. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 +*/ +function hc_attrreplacechild2() { + var success; + if(checkInitialization(builder, "hc_attrreplacechild2") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var terNode; + var dayNode; + var docFrag; + var retval; + var firstChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + terNode = doc.createTextNode("ter"); + dayNode = doc.createTextNode("day"); + docFrag = doc.createDocumentFragment(); + retval = docFrag.appendChild(terNode); + retval = docFrag.appendChild(dayNode); + firstChild = titleAttr.firstChild; + + assertNotNull("attrChildNotNull",firstChild); +retval = titleAttr.replaceChild(docFrag,firstChild); + value = titleAttr.value; + + assertEquals("attrValue","terday",value); + value = titleAttr.nodeValue; + + assertEquals("attrNodeValue","terday",value); + value = retval.nodeValue; + + assertEquals("retvalValue","Yes",value); + firstChild = titleAttr.firstChild; + + value = firstChild.nodeValue; + + assertEquals("firstChildValue","ter",value); + +} + + + + +function runTest() { + hc_attrreplacechild2(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue1.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue1.js new file mode 100644 index 0000000..457f7b6 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue1.js @@ -0,0 +1,135 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrsetvalue1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Sets Attr.value on an attribute that only has a simple value. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-221662474 +*/ +function hc_attrsetvalue1() { + var success; + if(checkInitialization(builder, "hc_attrsetvalue1") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var retval; + var firstChild; + var otherChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + firstChild = titleAttr.firstChild; + + assertNotNull("attrChildNotNull",firstChild); +titleAttr.value = "Tomorrow"; + + firstChild.nodeValue = "impl reused node"; + + value = titleAttr.value; + + assertEquals("attrValue","Tomorrow",value); + value = titleAttr.nodeValue; + + assertEquals("attrNodeValue","Tomorrow",value); + firstChild = titleAttr.lastChild; + + value = firstChild.nodeValue; + + assertEquals("firstChildValue","Tomorrow",value); + otherChild = firstChild.nextSibling; + + assertNull("nextSiblingIsNull",otherChild); + +} + + + + +function runTest() { + hc_attrsetvalue1(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue2.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue2.js new file mode 100644 index 0000000..029d7d5 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue2.js @@ -0,0 +1,138 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrsetvalue2"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Sets Attr.value on an attribute that should contain multiple child nodes. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-221662474 +*/ +function hc_attrsetvalue2() { + var success; + if(checkInitialization(builder, "hc_attrsetvalue2") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var firstChild; + var otherChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + textNode = doc.createTextNode("terday"); + retval = titleAttr.appendChild(textNode); + firstChild = titleAttr.firstChild; + + assertNotNull("attrChildNotNull",firstChild); +titleAttr.value = "Tomorrow"; + + firstChild.nodeValue = "impl reused node"; + + value = titleAttr.value; + + assertEquals("attrValue","Tomorrow",value); + value = titleAttr.nodeValue; + + assertEquals("attrNodeValue","Tomorrow",value); + firstChild = titleAttr.lastChild; + + value = firstChild.nodeValue; + + assertEquals("firstChildValue","Tomorrow",value); + otherChild = firstChild.nextSibling; + + assertNull("nextSiblingIsNull",otherChild); + +} + + + + +function runTest() { + hc_attrsetvalue2(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvalue.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvalue.js new file mode 100644 index 0000000..deb504d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvalue.js @@ -0,0 +1,121 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrspecifiedvalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getSpecified()" method for an Attr node should + be set to true if the attribute was explicitly given + a value. + Retrieve the attribute named "domestic" from the last + child of of the first employee and examine the value + returned by the "getSpecified()" method. This test uses + the "getNamedItem(name)" method from the NamedNodeMap + interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-862529273 +*/ +function hc_attrspecifiedvalue() { + var success; + if(checkInitialization(builder, "hc_attrspecifiedvalue") != null) return; + var doc; + var addressList; + var testNode; + var attributes; + var domesticAttr; + var state; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + addressList = doc.getElementsByTagName("acronym"); + testNode = addressList.item(0); + attributes = testNode.attributes; + + domesticAttr = attributes.getNamedItem("title"); + state = domesticAttr.specified; + + assertTrue("acronymTitleSpecified",state); + +} + + + + +function runTest() { + hc_attrspecifiedvalue(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvaluechanged.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvaluechanged.js new file mode 100644 index 0000000..fd65931 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvaluechanged.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrspecifiedvaluechanged"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getSpecified()" method for an Attr node should return true if the + value of the attribute is changed. + Retrieve the attribute named "class" from the last + child of of the THIRD employee and change its + value to "Yes"(which is the default DTD value). This + should cause the "getSpecified()" method to be true. + This test uses the "setAttribute(name,value)" method + from the Element interface and the "getNamedItem(name)" + method from the NamedNodeMap interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-862529273 +*/ +function hc_attrspecifiedvaluechanged() { + var success; + if(checkInitialization(builder, "hc_attrspecifiedvaluechanged") != null) return; + var doc; + var addressList; + var testNode; + var attributes; + var streetAttr; + var state; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + addressList = doc.getElementsByTagName("acronym"); + testNode = addressList.item(2); + testNode.setAttribute("class","Yα"); + attributes = testNode.attributes; + + streetAttr = attributes.getNamedItem("class"); + state = streetAttr.specified; + + assertTrue("acronymClassSpecified",state); + +} + + + + +function runTest() { + hc_attrspecifiedvaluechanged(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentcreateattribute.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentcreateattribute.js new file mode 100644 index 0000000..31284f3 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentcreateattribute.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentcreateattribute"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the entire DOM document and invoke its + "createAttribute(name)" method. It should create a + new Attribute node with the given name. The name, value + and type of the newly created object are retrieved and + output. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1084891198 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 +*/ +function hc_documentcreateattribute() { + var success; + if(checkInitialization(builder, "hc_documentcreateattribute") != null) return; + var doc; + var newAttrNode; + var attrValue; + var attrName; + var attrType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newAttrNode = doc.createAttribute("title"); + attrValue = newAttrNode.nodeValue; + + assertEquals("value","",attrValue); + attrName = newAttrNode.nodeName; + + assertEqualsAutoCase("attribute", "name","title",attrName); + attrType = newAttrNode.nodeType; + + assertEquals("type",2,attrType); + +} + + + + +function runTest() { + hc_documentcreateattribute(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute.js new file mode 100644 index 0000000..9038f2e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentinvalidcharacterexceptioncreateattribute"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "createAttribute(tagName)" method raises an + INVALID_CHARACTER_ERR DOMException if the specified + tagName contains an invalid character. + + Retrieve the entire DOM document and invoke its + "createAttribute(tagName)" method with the tagName equal + to the string "invalid^Name". Due to the invalid + character the desired EXCEPTION should be raised. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1084891198 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-1084891198')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1084891198 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_documentinvalidcharacterexceptioncreateattribute() { + var success; + if(checkInitialization(builder, "hc_documentinvalidcharacterexceptioncreateattribute") != null) return; + var doc; + var createdAttr; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + + { + success = false; + try { + createdAttr = doc.createAttribute("invalid^Name"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 5); + } + assertTrue("throw_INVALID_CHARACTER_ERR",success); + } + +} + + + + +function runTest() { + hc_documentinvalidcharacterexceptioncreateattribute(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute1.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute1.js new file mode 100644 index 0000000..4f9933d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute1.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentinvalidcharacterexceptioncreateattribute1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Creating an attribute with an empty name should cause an INVALID_CHARACTER_ERR. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1084891198 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-1084891198')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1084891198 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=525 +*/ +function hc_documentinvalidcharacterexceptioncreateattribute1() { + var success; + if(checkInitialization(builder, "hc_documentinvalidcharacterexceptioncreateattribute1") != null) return; + var doc; + var createdAttr; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + + { + success = false; + try { + createdAttr = doc.createAttribute(""); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 5); + } + assertTrue("throw_INVALID_CHARACTER_ERR",success); + } + +} + + + + +function runTest() { + hc_documentinvalidcharacterexceptioncreateattribute1(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementassociatedattribute.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementassociatedattribute.js new file mode 100644 index 0000000..c3642a9 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementassociatedattribute.js @@ -0,0 +1,119 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementassociatedattribute"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the first attribute from the last child of + the first employee and invoke the "getSpecified()" + method. This test is only intended to show that + Elements can actually have attributes. This test uses + the "getNamedItem(name)" method from the NamedNodeMap + interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 +*/ +function hc_elementassociatedattribute() { + var success; + if(checkInitialization(builder, "hc_elementassociatedattribute") != null) return; + var doc; + var elementList; + var testEmployee; + var attributes; + var domesticAttr; + var specified; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(0); + attributes = testEmployee.attributes; + + domesticAttr = attributes.getNamedItem("title"); + specified = domesticAttr.specified; + + assertTrue("acronymTitleSpecified",specified); + +} + + + + +function runTest() { + hc_elementassociatedattribute(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementcreatenewattribute.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementcreatenewattribute.js new file mode 100644 index 0000000..aad9aa1 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementcreatenewattribute.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementcreatenewattribute"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "setAttributeNode(newAttr)" method adds a new + attribute to the Element. + + Retrieve first address element and add + a new attribute node to it by invoking its + "setAttributeNode(newAttr)" method. This test makes use + of the "createAttribute(name)" method from the Document + interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 +*/ +function hc_elementcreatenewattribute() { + var success; + if(checkInitialization(builder, "hc_elementcreatenewattribute") != null) return; + var doc; + var elementList; + var testAddress; + var newAttribute; + var oldAttr; + var districtAttr; + var attrVal; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddress = elementList.item(0); + newAttribute = doc.createAttribute("lang"); + oldAttr = testAddress.setAttributeNode(newAttribute); + assertNull("old_attr_doesnt_exist",oldAttr); + districtAttr = testAddress.getAttributeNode("lang"); + assertNotNull("new_district_accessible",districtAttr); +attrVal = testAddress.getAttribute("lang"); + assertEquals("attr_value","",attrVal); + +} + + + + +function runTest() { + hc_elementcreatenewattribute(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenode.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenode.js new file mode 100644 index 0000000..17b0106 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenode.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementgetattributenode"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the attribute "title" from the last child + of the first "p" element and check its node name. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-217A91B8 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html +*/ +function hc_elementgetattributenode() { + var success; + if(checkInitialization(builder, "hc_elementgetattributenode") != null) return; + var doc; + var elementList; + var testEmployee; + var domesticAttr; + var nodeName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(0); + domesticAttr = testEmployee.getAttributeNode("title"); + nodeName = domesticAttr.nodeName; + + assertEqualsAutoCase("attribute", "nodeName","title",nodeName); + +} + + + + +function runTest() { + hc_elementgetattributenode(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenodenull.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenodenull.js new file mode 100644 index 0000000..2c9a905 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenodenull.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementgetattributenodenull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getAttributeNode(name)" method retrieves an + attribute node by name. It should return null if the + "strong" attribute does not exist. + + Retrieve the last child of the first employee and attempt + to retrieve a non-existing attribute. The method should + return "null". The non-existing attribute to be used + is "invalidAttribute". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-217A91B8 +*/ +function hc_elementgetattributenodenull() { + var success; + if(checkInitialization(builder, "hc_elementgetattributenodenull") != null) return; + var doc; + var elementList; + var testEmployee; + var domesticAttr; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(0); + domesticAttr = testEmployee.getAttributeNode("invalidAttribute"); + assertNull("elementGetAttributeNodeNullAssert",domesticAttr); + +} + + + + +function runTest() { + hc_elementgetattributenodenull(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetelementempty.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetelementempty.js new file mode 100644 index 0000000..b4ddf55 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetelementempty.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementgetelementempty"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getAttribute(name)" method returns an empty + string if no value was assigned to an attribute and + no default value was given in the DTD file. + + Retrieve the last child of the last employee, then + invoke "getAttribute(name)" method, where "strong" is an + attribute without a specified or DTD default value. + The "getAttribute(name)" method should return the empty + string. This method makes use of the + "createAttribute(newAttr)" method from the Document + interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-666EE0F9 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 +*/ +function hc_elementgetelementempty() { + var success; + if(checkInitialization(builder, "hc_elementgetelementempty") != null) return; + var doc; + var newAttribute; + var elementList; + var testEmployee; + var domesticAttr; + var attrValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newAttribute = doc.createAttribute("lang"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(3); + domesticAttr = testEmployee.setAttributeNode(newAttribute); + attrValue = testEmployee.getAttribute("lang"); + assertEquals("elementGetElementEmptyAssert","",attrValue); + +} + + + + +function runTest() { + hc_elementgetelementempty(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementinuseattributeerr.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementinuseattributeerr.js new file mode 100644 index 0000000..fa2fd0a --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementinuseattributeerr.js @@ -0,0 +1,131 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementinuseattributeerr"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "setAttributeNode(newAttr)" method raises an + "INUSE_ATTRIBUTE_ERR DOMException if the "newAttr" + is already an attribute of another element. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INUSE_ATTRIBUTE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-887236154')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INUSE_ATTRIBUTE_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=244 +*/ +function hc_elementinuseattributeerr() { + var success; + if(checkInitialization(builder, "hc_elementinuseattributeerr") != null) return; + var doc; + var newAttribute; + var addressElementList; + var testAddress; + var newElement; + var attrAddress; + var appendedChild; + var setAttr1; + var setAttr2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + addressElementList = doc.getElementsByTagName("body"); + testAddress = addressElementList.item(0); + newElement = doc.createElement("p"); + appendedChild = testAddress.appendChild(newElement); + newAttribute = doc.createAttribute("title"); + setAttr1 = newElement.setAttributeNode(newAttribute); + + { + success = false; + try { + setAttr2 = testAddress.setAttributeNode(newAttribute); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 10); + } + assertTrue("throw_INUSE_ATTRIBUTE_ERR",success); + } + +} + + + + +function runTest() { + hc_elementinuseattributeerr(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnormalize2.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnormalize2.js new file mode 100644 index 0000000..b2197ed --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnormalize2.js @@ -0,0 +1,129 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementnormalize2"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Add an empty text node to an existing attribute node, normalize the containing element +and check that the attribute node has eliminated the empty text. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-162CF083 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=482 +*/ +function hc_elementnormalize2() { + var success; + if(checkInitialization(builder, "hc_elementnormalize2") != null) return; + var doc; + var root; + var elementList; + var element; + var firstChild; + var secondChild; + var childValue; + var emptyText; + var attrNode; + var retval; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + root = doc.documentElement; + + emptyText = doc.createTextNode(""); + elementList = root.getElementsByTagName("acronym"); + element = elementList.item(0); + attrNode = element.getAttributeNode("title"); + retval = attrNode.appendChild(emptyText); + element.normalize(); + attrNode = element.getAttributeNode("title"); + firstChild = attrNode.firstChild; + + childValue = firstChild.nodeValue; + + assertEquals("firstChild","Yes",childValue); + secondChild = firstChild.nextSibling; + + assertNull("secondChildNull",secondChild); + +} + + + + +function runTest() { + hc_elementnormalize2(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnotfounderr.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnotfounderr.js new file mode 100644 index 0000000..ad15587 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnotfounderr.js @@ -0,0 +1,130 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementnotfounderr"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "removeAttributeNode(oldAttr)" method raises a + NOT_FOUND_ERR DOMException if the "oldAttr" attribute + is not an attribute of the element. + + Retrieve the last employee and attempt to remove + a non existing attribute node. This should cause the + intended exception to be raised. This test makes use + of the "createAttribute(name)" method from the Document + interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INUSE_ATTRIBUTE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D589198 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-D589198')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INUSE_ATTRIBUTE_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_elementnotfounderr() { + var success; + if(checkInitialization(builder, "hc_elementnotfounderr") != null) return; + var doc; + var oldAttribute; + var addressElementList; + var testAddress; + var attrAddress; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + addressElementList = doc.getElementsByTagName("acronym"); + testAddress = addressElementList.item(4); + oldAttribute = doc.createAttribute("title"); + + { + success = false; + try { + attrAddress = testAddress.removeAttributeNode(oldAttribute); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 8); + } + assertTrue("throw_NOT_FOUND_ERR",success); + } + +} + + + + +function runTest() { + hc_elementnotfounderr(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributeaftercreate.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributeaftercreate.js new file mode 100644 index 0000000..724a3e8 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributeaftercreate.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementremoveattributeaftercreate"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "removeAttributeNode(oldAttr)" method removes the + specified attribute. + + Retrieve the last child of the third employee, add a + new "lang" attribute to it and then try to remove it. + To verify that the node was removed use the + "getNamedItem(name)" method from the NamedNodeMap + interface. It also uses the "getAttributes()" method + from the Node interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D589198 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 +*/ +function hc_elementremoveattributeaftercreate() { + var success; + if(checkInitialization(builder, "hc_elementremoveattributeaftercreate") != null) return; + var doc; + var elementList; + var testEmployee; + var newAttribute; + var attributes; + var districtAttr; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(2); + newAttribute = doc.createAttribute("lang"); + districtAttr = testEmployee.setAttributeNode(newAttribute); + districtAttr = testEmployee.removeAttributeNode(newAttribute); + attributes = testEmployee.attributes; + + districtAttr = attributes.getNamedItem("lang"); + assertNull("removed_item_null",districtAttr); + +} + + + + +function runTest() { + hc_elementremoveattributeaftercreate(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributenode.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributenode.js new file mode 100644 index 0000000..58bf730 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributenode.js @@ -0,0 +1,119 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementremoveattributenode"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "removeAttributeNode(oldAttr)" method returns the + node that was removed. + + Retrieve the last child of the third employee and + remove its "class" Attr node. The method should + return the old attribute node. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D589198 +*/ +function hc_elementremoveattributenode() { + var success; + if(checkInitialization(builder, "hc_elementremoveattributenode") != null) return; + var doc; + var elementList; + var testEmployee; + var streetAttr; + var removedAttr; + var removedValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(2); + streetAttr = testEmployee.getAttributeNode("class"); + removedAttr = testEmployee.removeAttributeNode(streetAttr); + assertNotNull("removedAttrNotNull",removedAttr); +removedValue = removedAttr.value; + + assertEquals("elementRemoveAttributeNodeAssert","No",removedValue); + +} + + + + +function runTest() { + hc_elementremoveattributenode(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceattributewithself.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceattributewithself.js new file mode 100644 index 0000000..14b1f7d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceattributewithself.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementreplaceattributewithself"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +This test calls setAttributeNode to replace an attribute with itself. +Since the node is not an attribute of another Element, it would +be inappropriate to throw an INUSE_ATTRIBUTE_ERR. + +This test was derived from elementinuserattributeerr which +inadvertanly made this test. + +* @author Curt Arnold +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154 +*/ +function hc_elementreplaceattributewithself() { + var success; + if(checkInitialization(builder, "hc_elementreplaceattributewithself") != null) return; + var doc; + var elementList; + var testEmployee; + var streetAttr; + var replacedAttr; + var value; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(2); + streetAttr = testEmployee.getAttributeNode("class"); + replacedAttr = testEmployee.setAttributeNode(streetAttr); + assertSame("replacedAttr",streetAttr,replacedAttr); + +} + + + + +function runTest() { + hc_elementreplaceattributewithself(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattribute.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattribute.js new file mode 100644 index 0000000..949ac3b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattribute.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementreplaceexistingattribute"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "setAttributeNode(newAttr)" method adds a new + attribute to the Element. If the "newAttr" Attr node is + already present in this element, it should replace the + existing one. + + Retrieve the last child of the third employee and add a + new attribute node by invoking the "setAttributeNode(new + Attr)" method. The new attribute node to be added is + "class", which is already present in this element. The + method should replace the existing Attr node with the + new one. This test uses the "createAttribute(name)" + method from the Document interface. + +* @author Curt Arnold +*/ +function hc_elementreplaceexistingattribute() { + var success; + if(checkInitialization(builder, "hc_elementreplaceexistingattribute") != null) return; + var doc; + var elementList; + var testEmployee; + var newAttribute; + var strong; + var setAttr; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(2); + newAttribute = doc.createAttribute("class"); + setAttr = testEmployee.setAttributeNode(newAttribute); + strong = testEmployee.getAttribute("class"); + assertEquals("replacedValue","",strong); + +} + + + + +function runTest() { + hc_elementreplaceexistingattribute(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattributegevalue.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattributegevalue.js new file mode 100644 index 0000000..0318918 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattributegevalue.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementreplaceexistingattributegevalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +If the "setAttributeNode(newAttr)" method replaces an +existing Attr node with the same name, then it should +return the previously existing Attr node. + +Retrieve the last child of the third employee and add a +new attribute node. The new attribute node is "class", +which is already present in this Element. The method +should return the existing Attr node(old "class" Attr). +This test uses the "createAttribute(name)" method +from the Document interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154 +*/ +function hc_elementreplaceexistingattributegevalue() { + var success; + if(checkInitialization(builder, "hc_elementreplaceexistingattributegevalue") != null) return; + var doc; + var elementList; + var testEmployee; + var newAttribute; + var streetAttr; + var value; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(2); + newAttribute = doc.createAttribute("class"); + streetAttr = testEmployee.setAttributeNode(newAttribute); + assertNotNull("previousAttrNotNull",streetAttr); +value = streetAttr.value; + + assertEquals("previousAttrValue","No",value); + +} + + + + +function runTest() { + hc_elementreplaceexistingattributegevalue(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementsetattributenodenull.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementsetattributenodenull.js new file mode 100644 index 0000000..65db9d7 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementsetattributenodenull.js @@ -0,0 +1,120 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementsetattributenodenull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "setAttributeNode(newAttr)" method returns the + null value if no previously existing Attr node with the + same name was replaced. + + Retrieve the last child of the third employee and add a + new attribute to it. The new attribute node added is + "lang", which is not part of this Element. The + method should return the null value. + This test uses the "createAttribute(name)" + method from the Document interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 +*/ +function hc_elementsetattributenodenull() { + var success; + if(checkInitialization(builder, "hc_elementsetattributenodenull") != null) return; + var doc; + var elementList; + var testEmployee; + var newAttribute; + var districtAttr; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(2); + newAttribute = doc.createAttribute("lang"); + districtAttr = testEmployee.setAttributeNode(newAttribute); + assertNull("elementSetAttributeNodeNullAssert",districtAttr); + +} + + + + +function runTest() { + hc_elementsetattributenodenull(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementwrongdocumenterr.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementwrongdocumenterr.js new file mode 100644 index 0000000..e17340c --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementwrongdocumenterr.js @@ -0,0 +1,147 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementwrongdocumenterr"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var doc1Ref = null; + if (typeof(this.doc1) != 'undefined') { + doc1Ref = this.doc1; + } + docsLoaded += preload(doc1Ref, "doc1", "hc_staff"); + + var doc2Ref = null; + if (typeof(this.doc2) != 'undefined') { + doc2Ref = this.doc2; + } + docsLoaded += preload(doc2Ref, "doc2", "hc_staff"); + + if (docsLoaded == 2) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 2) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "setAttributeNode(newAttr)" method raises an + "WRONG_DOCUMENT_ERR DOMException if the "newAttr" + was created from a different document than the one that + created this document. + + Retrieve the last employee and attempt to set a new + attribute node for its "employee" element. The new + attribute was created from a document other than the + one that created this element, therefore a + WRONG_DOCUMENT_ERR DOMException should be raised. + + This test uses the "createAttribute(newAttr)" method + from the Document interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='WRONG_DOCUMENT_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-887236154')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='WRONG_DOCUMENT_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_elementwrongdocumenterr() { + var success; + if(checkInitialization(builder, "hc_elementwrongdocumenterr") != null) return; + var doc1; + var doc2; + var newAttribute; + var addressElementList; + var testAddress; + var attrAddress; + + var doc1Ref = null; + if (typeof(this.doc1) != 'undefined') { + doc1Ref = this.doc1; + } + doc1 = load(doc1Ref, "doc1", "hc_staff"); + + var doc2Ref = null; + if (typeof(this.doc2) != 'undefined') { + doc2Ref = this.doc2; + } + doc2 = load(doc2Ref, "doc2", "hc_staff"); + newAttribute = doc2.createAttribute("newAttribute"); + addressElementList = doc1.getElementsByTagName("acronym"); + testAddress = addressElementList.item(4); + + { + success = false; + try { + attrAddress = testAddress.setAttributeNode(newAttribute); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 4); + } + assertTrue("throw_WRONG_DOCUMENT_ERR",success); + } + +} + + + + +function runTest() { + hc_elementwrongdocumenterr(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapgetnameditem.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapgetnameditem.js new file mode 100644 index 0000000..f8f9478 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapgetnameditem.js @@ -0,0 +1,121 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapgetnameditem"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the second "p" element and create a NamedNodeMap + listing of the attributes of the last child. Once the + list is created an invocation of the "getNamedItem(name)" + method is done with name="title". This should result + in the title Attr node being returned. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1074577549 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html +*/ +function hc_namednodemapgetnameditem() { + var success; + if(checkInitialization(builder, "hc_namednodemapgetnameditem") != null) return; + var doc; + var elementList; + var testEmployee; + var attributes; + var domesticAttr; + var attrName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(1); + attributes = testEmployee.attributes; + + domesticAttr = attributes.getNamedItem("title"); + attrName = domesticAttr.name; + + assertEqualsAutoCase("attribute", "nodeName","title",attrName); + +} + + + + +function runTest() { + hc_namednodemapgetnameditem(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapinuseattributeerr.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapinuseattributeerr.js new file mode 100644 index 0000000..fdf0c15 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapinuseattributeerr.js @@ -0,0 +1,139 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapinuseattributeerr"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "setNamedItem(arg)" method raises a +INUSE_ATTRIBUTE_ERR DOMException if "arg" is an +Attr that is already in an attribute of another Element. + +Create a NamedNodeMap object from the attributes of the +last child of the third employee and attempt to add +an attribute that is already being used by the first +employee. This should raise the desired exception. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INUSE_ATTRIBUTE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-1025163788')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INUSE_ATTRIBUTE_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_namednodemapinuseattributeerr() { + var success; + if(checkInitialization(builder, "hc_namednodemapinuseattributeerr") != null) return; + var doc; + var elementList; + var firstNode; + var testNode; + var attributes; + var domesticAttr; + var setAttr; + var setNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + firstNode = elementList.item(0); + domesticAttr = doc.createAttribute("title"); + domesticAttr.value = "Yα"; + + setAttr = firstNode.setAttributeNode(domesticAttr); + elementList = doc.getElementsByTagName("acronym"); + testNode = elementList.item(2); + attributes = testNode.attributes; + + + { + success = false; + try { + setNode = attributes.setNamedItem(domesticAttr); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 10); + } + assertTrue("throw_INUSE_ATTRIBUTE_ERR",success); + } + +} + + + + +function runTest() { + hc_namednodemapinuseattributeerr(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapnotfounderr.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapnotfounderr.js new file mode 100644 index 0000000..67467c3 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapnotfounderr.js @@ -0,0 +1,131 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapnotfounderr"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "removeNamedItem(name)" method raises a + NOT_FOUND_ERR DOMException if there is not a node + named "strong" in the map. + + Create a NamedNodeMap object from the attributes of the + last child of the third employee and attempt to remove + the "lang" attribute. There is not a node named + "lang" in the list and therefore the desired + exception should be raised. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INUSE_ATTRIBUTE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D58B193 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-D58B193')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INUSE_ATTRIBUTE_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 +*/ +function hc_namednodemapnotfounderr() { + var success; + if(checkInitialization(builder, "hc_namednodemapnotfounderr") != null) return; + var doc; + var elementList; + var testEmployee; + var attributes; + var removedNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(2); + attributes = testEmployee.attributes; + + + { + success = false; + try { + removedNode = attributes.removeNamedItem("lang"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 8); + } + assertTrue("throw_NOT_FOUND_ERR",success); + } + +} + + + + +function runTest() { + hc_namednodemapnotfounderr(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapremovenameditem.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapremovenameditem.js new file mode 100644 index 0000000..1370fa9 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapremovenameditem.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapremovenameditem"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "removeNamedItem(name)" method removes a node + specified by name. + + Retrieve the third employee and create a NamedNodeMap + object of the attributes of the last child. Once the + list is created invoke the "removeNamedItem(name)" + method with name="class". This should result + in the removal of the specified attribute. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D58B193 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2002Mar/0002.html +*/ +function hc_namednodemapremovenameditem() { + var success; + if(checkInitialization(builder, "hc_namednodemapremovenameditem") != null) return; + var doc; + var elementList; + var newAttribute; + var testAddress; + var attributes; + var streetAttr; + var specified; + var removedNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddress = elementList.item(2); + attributes = testAddress.attributes; + + removedNode = attributes.removeNamedItem("class"); + streetAttr = attributes.getNamedItem("class"); + assertNull("isnull",streetAttr); + +} + + + + +function runTest() { + hc_namednodemapremovenameditem(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnattrnode.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnattrnode.js new file mode 100644 index 0000000..bfb396b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnattrnode.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapreturnattrnode"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the second p element and create a NamedNodeMap + listing of the attributes of the last child. Once the + list is created an invocation of the "getNamedItem(name)" + method is done with name="class". This should result + in the method returning an Attr node. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1074577549 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1112119403 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 +*/ +function hc_namednodemapreturnattrnode() { + var success; + if(checkInitialization(builder, "hc_namednodemapreturnattrnode") != null) return; + var doc; + var elementList; + var testEmployee; + var attributes; + var streetAttr; + var attrName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(1); + attributes = testEmployee.attributes; + + streetAttr = attributes.getNamedItem("class"); + assertInstanceOf("typeAssert","Attr",streetAttr); +attrName = streetAttr.nodeName; + + assertEqualsAutoCase("attribute", "nodeName","class",attrName); + attrName = streetAttr.name; + + assertEqualsAutoCase("attribute", "name","class",attrName); + +} + + + + +function runTest() { + hc_namednodemapreturnattrnode(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnfirstitem.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnfirstitem.js new file mode 100644 index 0000000..9b17c3f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnfirstitem.js @@ -0,0 +1,150 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapreturnfirstitem"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "item(index)" method returns the indexth item in + the map(test for first item). + + Retrieve the second "acronym" get the NamedNodeMap of the attributes. Since the + DOM does not specify an order of these nodes the contents + of the FIRST node can contain either "title", "class" or "dir". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=184 +*/ +function hc_namednodemapreturnfirstitem() { + var success; + if(checkInitialization(builder, "hc_namednodemapreturnfirstitem") != null) return; + var doc; + var elementList; + var testAddress; + var attributes; + var child; + var nodeName; + htmlExpected = new Array(); + htmlExpected[0] = "title"; + htmlExpected[1] = "class"; + + expected = new Array(); + expected[0] = "title"; + expected[1] = "class"; + expected[2] = "dir"; + + var actual = new Array(); + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddress = elementList.item(1); + attributes = testAddress.attributes; + + for(var indexN10070 = 0;indexN10070 < attributes.length; indexN10070++) { + child = attributes.item(indexN10070); + nodeName = child.nodeName; + + actual[actual.length] = nodeName; + + } + + if( + + (builder.contentType == "text/html") + + ) { + assertEqualsCollection("attrName_html",toLowerArray(htmlExpected),toLowerArray(actual)); + + } + + else { + assertEqualsCollection("attrName",expected,actual); + + } + +} + + + + +function runTest() { + hc_namednodemapreturnfirstitem(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnlastitem.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnlastitem.js new file mode 100644 index 0000000..90422c8 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnlastitem.js @@ -0,0 +1,152 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapreturnlastitem"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "item(index)" method returns the indexth item in + the map(test for last item). + + Retrieve the second "acronym" and get the attribute name. Since the + DOM does not specify an order of these nodes the contents + of the LAST node can contain either "title" or "class". + The test should return "true" if the LAST node is either + of these values. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=184 +*/ +function hc_namednodemapreturnlastitem() { + var success; + if(checkInitialization(builder, "hc_namednodemapreturnlastitem") != null) return; + var doc; + var elementList; + var testEmployee; + var attributes; + var child; + var nodeName; + htmlExpected = new Array(); + htmlExpected[0] = "title"; + htmlExpected[1] = "class"; + + expected = new Array(); + expected[0] = "title"; + expected[1] = "class"; + expected[2] = "dir"; + + var actual = new Array(); + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(1); + attributes = testEmployee.attributes; + + for(var indexN10070 = 0;indexN10070 < attributes.length; indexN10070++) { + child = attributes.item(indexN10070); + nodeName = child.nodeName; + + actual[actual.length] = nodeName; + + } + + if( + + (builder.contentType == "text/html") + + ) { + assertEqualsCollection("attrName_html",toLowerArray(htmlExpected),toLowerArray(actual)); + + } + + else { + assertEqualsCollection("attrName",expected,actual); + + } + +} + + + + +function runTest() { + hc_namednodemapreturnlastitem(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnnull.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnnull.js new file mode 100644 index 0000000..04cb17e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnnull.js @@ -0,0 +1,121 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapreturnnull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getNamedItem(name)" method returns null of the + specified name did not identify any node in the map. + + Retrieve the second employee and create a NamedNodeMap + listing of the attributes of the last child. Once the + list is created an invocation of the "getNamedItem(name)" + method is done with name="lang". This name does not + match any names in the list therefore the method should + return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1074577549 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_namednodemapreturnnull() { + var success; + if(checkInitialization(builder, "hc_namednodemapreturnnull") != null) return; + var doc; + var elementList; + var testEmployee; + var attributes; + var districtNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(1); + attributes = testEmployee.attributes; + + districtNode = attributes.getNamedItem("lang"); + assertNull("langAttrNull",districtNode); + +} + + + + +function runTest() { + hc_namednodemapreturnnull(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditem.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditem.js new file mode 100644 index 0000000..ffba08a --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditem.js @@ -0,0 +1,131 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapsetnameditem"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the second "p" element and create a NamedNodeMap + object from the attributes of the last child by + invoking the "getAttributes()" method. Once the + list is created an invocation of the "setNamedItem(arg)" + method is done with arg=newAttr, where newAttr is a + new Attr Node previously created. The "setNamedItem(arg)" + method should add then new node to the NamedNodeItem + object by using its "nodeName" attribute("lang'). + This node is then retrieved using the "getNamedItem(name)" + method. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 +*/ +function hc_namednodemapsetnameditem() { + var success; + if(checkInitialization(builder, "hc_namednodemapsetnameditem") != null) return; + var doc; + var elementList; + var newAttribute; + var testAddress; + var attributes; + var districtNode; + var attrName; + var setNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddress = elementList.item(1); + newAttribute = doc.createAttribute("lang"); + attributes = testAddress.attributes; + + setNode = attributes.setNamedItem(newAttribute); + districtNode = attributes.getNamedItem("lang"); + attrName = districtNode.nodeName; + + assertEqualsAutoCase("attribute", "nodeName","lang",attrName); + +} + + + + +function runTest() { + hc_namednodemapsetnameditem(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemreturnvalue.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemreturnvalue.js new file mode 100644 index 0000000..0d82c40 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemreturnvalue.js @@ -0,0 +1,132 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapsetnameditemreturnvalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If the "setNamedItem(arg)" method replaces an already + existing node with the same name then the already + existing node is returned. + + Retrieve the third employee and create a NamedNodeMap + object from the attributes of the last child by + invoking the "getAttributes()" method. Once the + list is created an invocation of the "setNamedItem(arg)" + method is done with arg=newAttr, where newAttr is a + new Attr Node previously created and whose node name + already exists in the map. The "setNamedItem(arg)" + method should replace the already existing node with + the new one and return the existing node. + This test uses the "createAttribute(name)" method from + the document interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9 +*/ +function hc_namednodemapsetnameditemreturnvalue() { + var success; + if(checkInitialization(builder, "hc_namednodemapsetnameditemreturnvalue") != null) return; + var doc; + var elementList; + var newAttribute; + var testAddress; + var attributes; + var newNode; + var attrValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddress = elementList.item(2); + newAttribute = doc.createAttribute("class"); + attributes = testAddress.attributes; + + newNode = attributes.setNamedItem(newAttribute); + assertNotNull("previousAttrNotNull",newNode); +attrValue = newNode.nodeValue; + + assertEquals("previousAttrValue","No",attrValue); + +} + + + + +function runTest() { + hc_namednodemapsetnameditemreturnvalue(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemthatexists.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemthatexists.js new file mode 100644 index 0000000..7ba88c4 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemthatexists.js @@ -0,0 +1,134 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapsetnameditemthatexists"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If the node to be added by the "setNamedItem(arg)" method + already exists in the NamedNodeMap, it is replaced by + the new one. + + Retrieve the second employee and create a NamedNodeMap + object from the attributes of the last child by + invoking the "getAttributes()" method. Once the + list is created an invocation of the "setNamedItem(arg)" + method is done with arg=newAttr, where newAttr is a + new Attr Node previously created and whose node name + already exists in the map. The "setNamedItem(arg)" + method should replace the already existing node with + the new one. + This node is then retrieved using the "getNamedItem(name)" + method. This test uses the "createAttribute(name)" + method from the document interface + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9 +*/ +function hc_namednodemapsetnameditemthatexists() { + var success; + if(checkInitialization(builder, "hc_namednodemapsetnameditemthatexists") != null) return; + var doc; + var elementList; + var newAttribute; + var testAddress; + var attributes; + var districtNode; + var attrValue; + var setNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddress = elementList.item(1); + newAttribute = doc.createAttribute("class"); + attributes = testAddress.attributes; + + setNode = attributes.setNamedItem(newAttribute); + districtNode = attributes.getNamedItem("class"); + attrValue = districtNode.nodeValue; + + assertEquals("namednodemapSetNamedItemThatExistsAssert","",attrValue); + +} + + + + +function runTest() { + hc_namednodemapsetnameditemthatexists(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemwithnewvalue.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemwithnewvalue.js new file mode 100644 index 0000000..0ecee32 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemwithnewvalue.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapsetnameditemwithnewvalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If the "setNamedItem(arg)" method does not replace an + existing node with the same name then it returns null. + + Retrieve the third employee and create a NamedNodeMap + object from the attributes of the last child. + Once the list is created the "setNamedItem(arg)" method + is invoked with arg=newAttr, where newAttr is a + newly created Attr Node and whose node name + already exists in the map. The "setNamedItem(arg)" + method should add the new node and return null. + This test uses the "createAttribute(name)" method from + the document interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 +*/ +function hc_namednodemapsetnameditemwithnewvalue() { + var success; + if(checkInitialization(builder, "hc_namednodemapsetnameditemwithnewvalue") != null) return; + var doc; + var elementList; + var newAttribute; + var testAddress; + var attributes; + var newNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddress = elementList.item(2); + newAttribute = doc.createAttribute("lang"); + attributes = testAddress.attributes; + + newNode = attributes.setNamedItem(newAttribute); + assertNull("prevValueNull",newNode); + +} + + + + +function runTest() { + hc_namednodemapsetnameditemwithnewvalue(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapwrongdocumenterr.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapwrongdocumenterr.js new file mode 100644 index 0000000..bde21e4 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapwrongdocumenterr.js @@ -0,0 +1,149 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapwrongdocumenterr"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var doc1Ref = null; + if (typeof(this.doc1) != 'undefined') { + doc1Ref = this.doc1; + } + docsLoaded += preload(doc1Ref, "doc1", "hc_staff"); + + var doc2Ref = null; + if (typeof(this.doc2) != 'undefined') { + doc2Ref = this.doc2; + } + docsLoaded += preload(doc2Ref, "doc2", "hc_staff"); + + if (docsLoaded == 2) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 2) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "setNamedItem(arg)" method raises a + WRONG_DOCUMENT_ERR DOMException if "arg" was created + from a different document than the one that created + the NamedNodeMap. + + Create a NamedNodeMap object from the attributes of the + last child of the third employee and attempt to add + another Attr node to it that was created from a + different DOM document. This should raise the desired + exception. This method uses the "createAttribute(name)" + method from the Document interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='WRONG_DOCUMENT_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-1025163788')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='WRONG_DOCUMENT_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_namednodemapwrongdocumenterr() { + var success; + if(checkInitialization(builder, "hc_namednodemapwrongdocumenterr") != null) return; + var doc1; + var doc2; + var elementList; + var testAddress; + var attributes; + var newAttribute; + var strong; + var setNode; + + var doc1Ref = null; + if (typeof(this.doc1) != 'undefined') { + doc1Ref = this.doc1; + } + doc1 = load(doc1Ref, "doc1", "hc_staff"); + + var doc2Ref = null; + if (typeof(this.doc2) != 'undefined') { + doc2Ref = this.doc2; + } + doc2 = load(doc2Ref, "doc2", "hc_staff"); + elementList = doc1.getElementsByTagName("acronym"); + testAddress = elementList.item(2); + newAttribute = doc2.createAttribute("newAttribute"); + attributes = testAddress.attributes; + + + { + success = false; + try { + setNode = attributes.setNamedItem(newAttribute); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 4); + } + assertTrue("throw_WRONG_DOCUMENT_ERR",success); + } + +} + + + + +function runTest() { + hc_namednodemapwrongdocumenterr(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeappendchildinvalidnodetype.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeappendchildinvalidnodetype.js new file mode 100644 index 0000000..854d1c3 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeappendchildinvalidnodetype.js @@ -0,0 +1,130 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeappendchildinvalidnodetype"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "appendChild(newChild)" method raises a + HIERARCHY_REQUEST_ERR DOMException if this node is of + a type that does not allow children of the type "newChild" + to be inserted. + + Retrieve the root node and attempt to append a newly + created Attr node. An Element node cannot have children + of the "Attr" type, therefore the desired exception + should be raised. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='HIERARCHY_REQUEST_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-184E7107')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='HIERARCHY_REQUEST_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_nodeappendchildinvalidnodetype() { + var success; + if(checkInitialization(builder, "hc_nodeappendchildinvalidnodetype") != null) return; + var doc; + var rootNode; + var newChild; + var appendedChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + rootNode = doc.documentElement; + + newChild = doc.createAttribute("newAttribute"); + + { + success = false; + try { + appendedChild = rootNode.appendChild(newChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 3); + } + assertTrue("throw_HIERARCHY_REQUEST_ERR",success); + } + +} + + + + +function runTest() { + hc_nodeappendchildinvalidnodetype(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodename.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodename.js new file mode 100644 index 0000000..20b8e71 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodename.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeattributenodename"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the Attribute named "title" from the last + child of the first p element and check the string returned + by the "getNodeName()" method. It should be equal to + "title". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 +*/ +function hc_nodeattributenodename() { + var success; + if(checkInitialization(builder, "hc_nodeattributenodename") != null) return; + var doc; + var elementList; + var testAddr; + var addrAttr; + var attrName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddr = elementList.item(0); + addrAttr = testAddr.getAttributeNode("title"); + attrName = addrAttr.nodeName; + + assertEqualsAutoCase("attribute", "nodeName","title",attrName); + +} + + + + +function runTest() { + hc_nodeattributenodename(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodetype.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodetype.js new file mode 100644 index 0000000..41d7f10 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodetype.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeattributenodetype"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + + The "getNodeType()" method for an Attribute Node + + returns the constant value 2. + + + + Retrieve the first attribute from the last child of + + the first employee and invoke the "getNodeType()" + + method. The method should return 2. + + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558 +*/ +function hc_nodeattributenodetype() { + var success; + if(checkInitialization(builder, "hc_nodeattributenodetype") != null) return; + var doc; + var elementList; + var testAddr; + var addrAttr; + var nodeType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddr = elementList.item(0); + addrAttr = testAddr.getAttributeNode("title"); + nodeType = addrAttr.nodeType; + + assertEquals("nodeAttrNodeTypeAssert1",2,nodeType); + +} + + + + +function runTest() { + hc_nodeattributenodetype(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodevalue.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodevalue.js new file mode 100644 index 0000000..679a9dd --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodevalue.js @@ -0,0 +1,118 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeattributenodevalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + + The string returned by the "getNodeValue()" method for an + Attribute Node is the value of the Attribute. + + Retrieve the Attribute named "title" from the last + child of the first "p" and check the string returned + by the "getNodeValue()" method. It should be equal to + "Yes". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +*/ +function hc_nodeattributenodevalue() { + var success; + if(checkInitialization(builder, "hc_nodeattributenodevalue") != null) return; + var doc; + var elementList; + var testAddr; + var addrAttr; + var attrValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddr = elementList.item(0); + addrAttr = testAddr.getAttributeNode("title"); + attrValue = addrAttr.nodeValue; + + assertEquals("nodeValue","Yes",attrValue); + +} + + + + +function runTest() { + hc_nodeattributenodevalue(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeinsertbeforeinvalidnodetype.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeinsertbeforeinvalidnodetype.js new file mode 100644 index 0000000..e467f33 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeinsertbeforeinvalidnodetype.js @@ -0,0 +1,136 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeinsertbeforeinvalidnodetype"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "insertBefore(newChild,refChild)" method raises a + HIERARCHY_REQUEST_ERR DOMException if this node is of + a type that does not allow children of the type "newChild" + to be inserted. + + Retrieve the root node and attempt to insert a newly + created Attr node. An Element node cannot have children + of the "Attr" type, therefore the desired exception + should be raised. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='HIERARCHY_REQUEST_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-952280727')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='HIERARCHY_REQUEST_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=406 +*/ +function hc_nodeinsertbeforeinvalidnodetype() { + var success; + if(checkInitialization(builder, "hc_nodeinsertbeforeinvalidnodetype") != null) return; + var doc; + var rootNode; + var newChild; + var elementList; + var refChild; + var insertedNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newChild = doc.createAttribute("title"); + elementList = doc.getElementsByTagName("p"); + refChild = elementList.item(1); + rootNode = refChild.parentNode; + + + { + success = false; + try { + insertedNode = rootNode.insertBefore(newChild,refChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 3); + } + assertTrue("throw_HIERARCHY_REQUEST_ERR",success); + } + +} + + + + +function runTest() { + hc_nodeinsertbeforeinvalidnodetype(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodereplacechildinvalidnodetype.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodereplacechildinvalidnodetype.js new file mode 100644 index 0000000..789f5cf --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodereplacechildinvalidnodetype.js @@ -0,0 +1,136 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodereplacechildinvalidnodetype"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "replaceChild(newChild,oldChild)" method raises a + HIERARCHY_REQUEST_ERR DOMException if this node is of + a type that does not allow children of the type "newChild" + to be inserted. + + Retrieve the root node and attempt to replace + one of its children with a newly created Attr node. + An Element node cannot have children of the "Attr" + type, therefore the desired exception should be raised. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='HIERARCHY_REQUEST_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-785887307')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='HIERARCHY_REQUEST_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=406 +*/ +function hc_nodereplacechildinvalidnodetype() { + var success; + if(checkInitialization(builder, "hc_nodereplacechildinvalidnodetype") != null) return; + var doc; + var rootNode; + var newChild; + var elementList; + var oldChild; + var replacedChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newChild = doc.createAttribute("lang"); + elementList = doc.getElementsByTagName("p"); + oldChild = elementList.item(1); + rootNode = oldChild.parentNode; + + + { + success = false; + try { + replacedChild = rootNode.replaceChild(newChild,oldChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 3); + } + assertTrue("throw_HIERARCHY_REQUEST_ERR",success); + } + +} + + + + +function runTest() { + hc_nodereplacechildinvalidnodetype(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodevalue03.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodevalue03.js new file mode 100644 index 0000000..e61671a --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodevalue03.js @@ -0,0 +1,138 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodevalue03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +An entity reference is created, setNodeValue is called with a non-null argument, but getNodeValue +should still return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-11C98490 +*/ +function hc_nodevalue03() { + var success; + if(checkInitialization(builder, "hc_nodevalue03") != null) return; + var doc; + var newNode; + var newValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + + if( + + (builder.contentType == "text/html") + + ) { + + { + success = false; + try { + newNode = doc.createEntityReference("ent1"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 9); + } + assertTrue("throw_NOT_SUPPORTED_ERR",success); + } + + } + + else { + newNode = doc.createEntityReference("ent1"); + assertNotNull("createdEntRefNotNull",newNode); +newValue = newNode.nodeValue; + + assertNull("initiallyNull",newValue); + newNode.nodeValue = "This should have no effect"; + + newValue = newNode.nodeValue; + + assertNull("nullAfterAttemptedChange",newValue); + + } + +} + + + + +function runTest() { + hc_nodevalue03(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement01.js new file mode 100644 index 0000000..a9265cc --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement01.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The accessKey attribute is a single character access key to give + access to the form control. + + Retrieve the accessKey attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-89647724 +*/ +function HTMLAnchorElement01() { + var success; + if(checkInitialization(builder, "HTMLAnchorElement01") != null) return; + var nodeList; + var testNode; + var vaccesskey; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vaccesskey = testNode.accessKey; + + assertEquals("accessKeyLink","g",vaccesskey); + +} + + + + +function runTest() { + HTMLAnchorElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement04.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement04.js new file mode 100644 index 0000000..01e2e2d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement04.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The href attribute contains the URL of the linked resource. + + Retrieve the href attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88517319 +*/ +function HTMLAnchorElement04() { + var success; + if(checkInitialization(builder, "HTMLAnchorElement04") != null) return; + var nodeList; + var testNode; + var vhref; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vhref = testNode.href; + + assertURIEquals("hrefLink",null,null,null,"submit.gif",null,null,null,null,vhref); + +} + + + + +function runTest() { + HTMLAnchorElement04(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement05.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement05.js new file mode 100644 index 0000000..61ef509 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement05.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The hreflang attribute contains the language code of the linked resource. + + Retrieve the hreflang attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87358513 +*/ +function HTMLAnchorElement05() { + var success; + if(checkInitialization(builder, "HTMLAnchorElement05") != null) return; + var nodeList; + var testNode; + var vhreflink; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vhreflink = testNode.hreflang; + + assertEquals("hreflangLink","en",vhreflink); + +} + + + + +function runTest() { + HTMLAnchorElement05(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement07.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement07.js new file mode 100644 index 0000000..996450d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement07.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The rel attribute contains the forward link type. + + Retrieve the rel attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-3815891 +*/ +function HTMLAnchorElement07() { + var success; + if(checkInitialization(builder, "HTMLAnchorElement07") != null) return; + var nodeList; + var testNode; + var vrel; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vrel = testNode.rel; + + assertEquals("relLink","GLOSSARY",vrel); + +} + + + + +function runTest() { + HTMLAnchorElement07(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement10.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement10.js new file mode 100644 index 0000000..a64af76 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement10.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The tabIndex attribute contains an index that represents the elements + position in the tabbing order. + + Retrieve the tabIndex attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-41586466 +*/ +function HTMLAnchorElement10() { + var success; + if(checkInitialization(builder, "HTMLAnchorElement10") != null) return; + var nodeList; + var testNode; + var vtabindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtabindex = testNode.tabIndex; + + assertEquals("tabIndexLink",22,vtabindex); + +} + + + + +function runTest() { + HTMLAnchorElement10(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement11.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement11.js new file mode 100644 index 0000000..2c82789 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement11.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor2"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The target attribute specifies the frame to render the source in. + + Retrieve the target attribute and examine it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6414197 +*/ +function HTMLAnchorElement11() { + var success; + if(checkInitialization(builder, "HTMLAnchorElement11") != null) return; + var nodeList; + var testNode; + var vtarget; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor2"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtarget = testNode.target; + + assertEquals("targetLink","dynamic",vtarget); + +} + + + + +function runTest() { + HTMLAnchorElement11(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement12.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement12.js new file mode 100644 index 0000000..604cbcb --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement12.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The type attribute contains the advisory content model. + + Retrieve the type attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63938221 +*/ +function HTMLAnchorElement12() { + var success; + if(checkInitialization(builder, "HTMLAnchorElement12") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","image/gif",vtype); + +} + + + + +function runTest() { + HTMLAnchorElement12(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement13.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement13.js new file mode 100644 index 0000000..81f1ee6 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement13.js @@ -0,0 +1,107 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement13"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +HTMLAnchorElement.blur should surrender input focus. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-65068939 +*/ +function HTMLAnchorElement13() { + var success; + if(checkInitialization(builder, "HTMLAnchorElement13") != null) return; + var nodeList; + var testNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + testNode.blur(); + +} + + + + +function runTest() { + HTMLAnchorElement13(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement14.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement14.js new file mode 100644 index 0000000..f45f091 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement14.js @@ -0,0 +1,107 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement14"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +HTMLAnchorElement.focus should capture input focus. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-47150313 +*/ +function HTMLAnchorElement14() { + var success; + if(checkInitialization(builder, "HTMLAnchorElement14") != null) return; + var nodeList; + var testNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + testNode.focus(); + +} + + + + +function runTest() { + HTMLAnchorElement14(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement01.js new file mode 100644 index 0000000..ef529b4 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement01.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAreaElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "area"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The accessKey attribute specifies a single character access key to + give access to the control form. + + Retrieve the accessKey attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-57944457 +*/ +function HTMLAreaElement01() { + var success; + if(checkInitialization(builder, "HTMLAreaElement01") != null) return; + var nodeList; + var testNode; + var vaccesskey; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "area"); + nodeList = doc.getElementsByTagName("area"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vaccesskey = testNode.accessKey; + + assertEquals("alignLink","a",vaccesskey); + +} + + + + +function runTest() { + HTMLAreaElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement02.js new file mode 100644 index 0000000..95cca4d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAreaElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "area"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The alt attribute specifies an alternate text for user agents not + rendering the normal content of this element. + + Retrieve the alt attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39775416 +*/ +function HTMLAreaElement02() { + var success; + if(checkInitialization(builder, "HTMLAreaElement02") != null) return; + var nodeList; + var testNode; + var valt; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "area"); + nodeList = doc.getElementsByTagName("area"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valt = testNode.alt; + + assertEquals("altLink","Domain",valt); + +} + + + + +function runTest() { + HTMLAreaElement02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement03.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement03.js new file mode 100644 index 0000000..0f2e564 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement03.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAreaElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "area"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The coords attribute specifies a comma-seperated list of lengths, + defining an active region geometry. + + Retrieve the coords attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-66021476 +*/ +function HTMLAreaElement03() { + var success; + if(checkInitialization(builder, "HTMLAreaElement03") != null) return; + var nodeList; + var testNode; + var vcoords; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "area"); + nodeList = doc.getElementsByTagName("area"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcoords = testNode.coords; + + assertEquals("coordsLink","0,2,45,45",vcoords); + +} + + + + +function runTest() { + HTMLAreaElement03(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement04.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement04.js new file mode 100644 index 0000000..2c1cd85 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement04.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAreaElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "area"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The href attribute specifies the URI of the linked resource. + + Retrieve the href attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-34672936 +*/ +function HTMLAreaElement04() { + var success; + if(checkInitialization(builder, "HTMLAreaElement04") != null) return; + var nodeList; + var testNode; + var vhref; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "area"); + nodeList = doc.getElementsByTagName("area"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vhref = testNode.href; + + assertURIEquals("hrefLink",null,null,null,"dletter.html",null,null,null,null,vhref); + +} + + + + +function runTest() { + HTMLAreaElement04(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement05.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement05.js new file mode 100644 index 0000000..d7e8c3a --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement05.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAreaElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "area"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The noHref attribute specifies that this area is inactive. + + Retrieve the noHref attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-61826871 +*/ +function HTMLAreaElement05() { + var success; + if(checkInitialization(builder, "HTMLAreaElement05") != null) return; + var nodeList; + var testNode; + var vnohref; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "area"); + nodeList = doc.getElementsByTagName("area"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vnohref = testNode.noHref; + + assertFalse("noHrefLink",vnohref); + +} + + + + +function runTest() { + HTMLAreaElement05(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement06.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement06.js new file mode 100644 index 0000000..04e39eb --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement06.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAreaElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "area"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The shape attribute specifies the shape of the active area. + + Retrieve the shape attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-85683271 +*/ +function HTMLAreaElement06() { + var success; + if(checkInitialization(builder, "HTMLAreaElement06") != null) return; + var nodeList; + var testNode; + var vshape; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "area"); + nodeList = doc.getElementsByTagName("area"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vshape = testNode.shape; + + assertEquals("shapeLink","rect".toLowerCase(),vshape.toLowerCase()); + +} + + + + +function runTest() { + HTMLAreaElement06(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement07.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement07.js new file mode 100644 index 0000000..0324425 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement07.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAreaElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "area"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The tabIndex attribute specifies an index that represents the element's + position in the tabbing order. + + Retrieve the tabIndex attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-8722121 +*/ +function HTMLAreaElement07() { + var success; + if(checkInitialization(builder, "HTMLAreaElement07") != null) return; + var nodeList; + var testNode; + var vtabindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "area"); + nodeList = doc.getElementsByTagName("area"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtabindex = testNode.tabIndex; + + assertEquals("tabIndexLink",10,vtabindex); + +} + + + + +function runTest() { + HTMLAreaElement07(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement08.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement08.js new file mode 100644 index 0000000..6ae1dde --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement08.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAreaElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "area2"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The target specifies the frame to render the resource in. + + Retrieve the target attribute and examine it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-46054682 +*/ +function HTMLAreaElement08() { + var success; + if(checkInitialization(builder, "HTMLAreaElement08") != null) return; + var nodeList; + var testNode; + var vtarget; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "area2"); + nodeList = doc.getElementsByTagName("area"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtarget = testNode.target; + + assertEquals("targetLink","dynamic",vtarget); + +} + + + + +function runTest() { + HTMLAreaElement08(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement01.js new file mode 100644 index 0000000..b78f113 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement01.js @@ -0,0 +1,116 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLButtonElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns the FORM element containing this control. + + Retrieve the form attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71254493 +*/ +function HTMLButtonElement01() { + var success; + if(checkInitialization(builder, "HTMLButtonElement01") != null) return; + var nodeList; + var testNode; + var fNode; + var vform; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + fNode = testNode.form; + + vform = fNode.id; + + assertEquals("formLink","form2",vform); + +} + + + + +function runTest() { + HTMLButtonElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement02.js new file mode 100644 index 0000000..d603116 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLButtonElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns null if control in not within the context of + form. + + Retrieve the form attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71254493 +*/ +function HTMLButtonElement02() { + var success; + if(checkInitialization(builder, "HTMLButtonElement02") != null) return; + var nodeList; + var testNode; + var vform; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vform = testNode.form; + + assertNull("formNullLink",vform); + +} + + + + +function runTest() { + HTMLButtonElement02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement03.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement03.js new file mode 100644 index 0000000..80f2a82 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement03.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLButtonElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The accessKey attribute returns a single character access key to + give access to the form control. + + Retrieve the accessKey attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-73169431 +*/ +function HTMLButtonElement03() { + var success; + if(checkInitialization(builder, "HTMLButtonElement03") != null) return; + var nodeList; + var testNode; + var vaccesskey; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vaccesskey = testNode.accessKey; + + assertEquals("accessKeyLink","f",vaccesskey); + +} + + + + +function runTest() { + HTMLButtonElement03(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement04.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement04.js new file mode 100644 index 0000000..f21d7a5 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement04.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLButtonElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The disabled attribute specifies whether the control is unavailable + in this context. + + Retrieve the disabled attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-92757155 +*/ +function HTMLButtonElement04() { + var success; + if(checkInitialization(builder, "HTMLButtonElement04") != null) return; + var nodeList; + var testNode; + var vdisabled; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vdisabled = testNode.disabled; + + assertTrue("disabledLink",vdisabled); + +} + + + + +function runTest() { + HTMLButtonElement04(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement05.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement05.js new file mode 100644 index 0000000..753b536 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement05.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLButtonElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The name attribute is the form control or object name when submitted + with a form. + + Retrieve the name attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-11029910 +*/ +function HTMLButtonElement05() { + var success; + if(checkInitialization(builder, "HTMLButtonElement05") != null) return; + var nodeList; + var testNode; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vname = testNode.name; + + assertEquals("nameLink","disabledButton",vname); + +} + + + + +function runTest() { + HTMLButtonElement05(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement06.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement06.js new file mode 100644 index 0000000..9ece4a2 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement06.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLButtonElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The tabIndex attribute specifies an index that represents the element's + position in the tabbing order. + + Retrieve the tabIndex attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39190908 +*/ +function HTMLButtonElement06() { + var success; + if(checkInitialization(builder, "HTMLButtonElement06") != null) return; + var nodeList; + var testNode; + var vtabindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vtabindex = testNode.tabIndex; + + assertEquals("tabIndexLink",20,vtabindex); + +} + + + + +function runTest() { + HTMLButtonElement06(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement07.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement07.js new file mode 100644 index 0000000..94e674e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement07.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLButtonElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The type attribute specifies the type of button. + + Retrieve the type attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-27430092 +*/ +function HTMLButtonElement07() { + var success; + if(checkInitialization(builder, "HTMLButtonElement07") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","reset",vtype); + +} + + + + +function runTest() { + HTMLButtonElement07(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement08.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement08.js new file mode 100644 index 0000000..316bf15 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement08.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLButtonElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The value attribute specifies the current control value. + + Retrieve the value attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-72856782 +*/ +function HTMLButtonElement08() { + var success; + if(checkInitialization(builder, "HTMLButtonElement08") != null) return; + var nodeList; + var testNode; + var vvalue; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vvalue = testNode.value; + + assertEquals("valueLink","Reset Disabled Button",vvalue); + +} + + + + +function runTest() { + HTMLButtonElement08(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument01.js new file mode 100644 index 0000000..57ce0ab --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument01.js @@ -0,0 +1,109 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute is the specified title as a string. + + Retrieve the title attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-18446827 +*/ +function HTMLDocument01() { + var success; + if(checkInitialization(builder, "HTMLDocument01") != null) return; + var nodeList; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + vtitle = doc.title; + + assertEquals("titleLink","NIST DOM HTML Test - DOCUMENT",vtitle); + +} + + + + +function runTest() { + HTMLDocument01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument05.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument05.js new file mode 100644 index 0000000..cbbd213 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument05.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The body attribute is the element that contains the content for the + document. + + Retrieve the body attribute and examine its value for the id attribute. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-56360201 +*/ +function HTMLDocument05() { + var success; + if(checkInitialization(builder, "HTMLDocument05") != null) return; + var nodeList; + var testNode; + var vbody; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + vbody = doc.body; + + vid = vbody.id; + + assertEquals("idLink","TEST-BODY",vid); + +} + + + + +function runTest() { + HTMLDocument05(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument15.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument15.js new file mode 100644 index 0000000..f60d2b7 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument15.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument15"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The getElementById method returns the Element whose id is given by + elementId. If no such element exists, returns null. + + Retrieve the element whose id is "mapid". + Check the value of the element. + + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-36113835 +* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-26809268 +* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-getElBId +*/ +function HTMLDocument15() { + var success; + if(checkInitialization(builder, "HTMLDocument15") != null) return; + var elementNode; + var elementValue; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + elementNode = doc.getElementById("mapid"); + elementValue = elementNode.nodeName; + + assertEqualsAutoCase("element", "elementId","map",elementValue); + +} + + + + +function runTest() { + HTMLDocument15(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument16.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument16.js new file mode 100644 index 0000000..a6c0543 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument16.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument16"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The getElementById method returns the Element whose id is given by + elementId. If no such element exists, returns null. + + Retrieve the element whose id is "noid". + The value returned should be null since there are not any elements with + an id of "noid". + + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-36113835 +* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-26809268 +* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-getElBId +*/ +function HTMLDocument16() { + var success; + if(checkInitialization(builder, "HTMLDocument16") != null) return; + var elementNode; + var elementValue; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + elementNode = doc.getElementById("noid"); + assertNull("elementId",elementNode); + +} + + + + +function runTest() { + HTMLDocument16(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument17.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument17.js new file mode 100644 index 0000000..e9226e1 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument17.js @@ -0,0 +1,119 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument17"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Clears the current document using HTMLDocument.open immediately followed by close. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-72161170 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98948567 +*/ +function HTMLDocument17() { + var success; + if(checkInitialization(builder, "HTMLDocument17") != null) return; + var doc; + var bodyElem; + var bodyChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + doc.open(); + doc.close(); + bodyElem = doc.body; + + + if( + + (bodyElem != null) + + ) { + bodyChild = bodyElem.firstChild; + + assertNull("bodyContainsChildren",bodyChild); + + } + +} + + + + +function runTest() { + HTMLDocument17(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument18.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument18.js new file mode 100644 index 0000000..254593e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument18.js @@ -0,0 +1,102 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument18"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Calls HTMLDocument.close on a document that has not been opened for modification. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98948567 +*/ +function HTMLDocument18() { + var success; + if(checkInitialization(builder, "HTMLDocument18") != null) return; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + doc.close(); + +} + + + + +function runTest() { + HTMLDocument18(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument19.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument19.js new file mode 100644 index 0000000..7137836 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument19.js @@ -0,0 +1,129 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument19"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Replaces the current document with a valid HTML document using HTMLDocument.open, write and close. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-72161170 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98948567 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75233634 +*/ +function HTMLDocument19() { + var success; + if(checkInitialization(builder, "HTMLDocument19") != null) return; + var doc; + var docElem; + var title; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + doc.open(); + + if( + + (builder.contentType == "text/html") + + ) { + doc.write(""); + + } + + else { + doc.write(""); + + } + doc.write(""); + doc.write("Replacement"); + doc.write(""); + doc.write("

    "); + doc.write("Hello, World."); + doc.write("

    "); + doc.write(""); + doc.write(""); + doc.close(); + +} + + + + +function runTest() { + HTMLDocument19(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument20.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument20.js new file mode 100644 index 0000000..38bb598 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument20.js @@ -0,0 +1,129 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument20"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Replaces the current document with a valid HTML document using HTMLDocument.open, writeln and close. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-72161170 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98948567 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-35318390 +*/ +function HTMLDocument20() { + var success; + if(checkInitialization(builder, "HTMLDocument20") != null) return; + var doc; + var docElem; + var title; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + doc.open(); + + if( + + (builder.contentType == "text/html") + + ) { + doc.writeln(""); + + } + + else { + doc.writeln(""); + + } + doc.writeln(""); + doc.writeln("Replacement"); + doc.writeln(""); + doc.writeln("

    "); + doc.writeln("Hello, World."); + doc.writeln("

    "); + doc.writeln(""); + doc.writeln(""); + doc.close(); + +} + + + + +function runTest() { + HTMLDocument20(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument21.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument21.js new file mode 100644 index 0000000..52f94df --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument21.js @@ -0,0 +1,138 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument21"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Replaces the current document checks that writeln adds a new line. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-72161170 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98948567 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75233634 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-35318390 +*/ +function HTMLDocument21() { + var success; + if(checkInitialization(builder, "HTMLDocument21") != null) return; + var doc; + var docElem; + var preElems; + var preElem; + var preText; + var preValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + doc.open(); + + if( + + (builder.contentType == "text/html") + + ) { + doc.writeln(""); + + } + + else { + doc.writeln(""); + + } + doc.writeln(""); + doc.writeln("Replacement"); + doc.writeln(""); + doc.write("
    ");
    +      doc.writeln("Hello, World.");
    +      doc.writeln("Hello, World.");
    +      doc.writeln("
    "); + doc.write("
    ");
    +      doc.write("Hello, World.");
    +      doc.write("Hello, World.");
    +      doc.writeln("
    "); + doc.writeln(""); + doc.writeln(""); + doc.close(); + +} + + + + +function runTest() { + HTMLDocument21(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement01.js new file mode 100644 index 0000000..e9c3c43 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the HEAD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement01() { + var success; + if(checkInitialization(builder, "HTMLElement01") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("head"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-HEAD",vid); + +} + + + + +function runTest() { + HTMLElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement02.js new file mode 100644 index 0000000..8af6509 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement02.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the SUB element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement02() { + var success; + if(checkInitialization(builder, "HTMLElement02") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("sub"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-SUB",vid); + +} + + + + +function runTest() { + HTMLElement02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement03.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement03.js new file mode 100644 index 0000000..c9a9da2 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement03.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the SUP element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement03() { + var success; + if(checkInitialization(builder, "HTMLElement03") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("sup"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-SUP",vid); + +} + + + + +function runTest() { + HTMLElement03(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement04.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement04.js new file mode 100644 index 0000000..bb6af3a --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement04.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the SPAN element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement04() { + var success; + if(checkInitialization(builder, "HTMLElement04") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("span"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-SPAN",vid); + +} + + + + +function runTest() { + HTMLElement04(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement05.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement05.js new file mode 100644 index 0000000..056d122 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement05.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the BDO element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement05() { + var success; + if(checkInitialization(builder, "HTMLElement05") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("bdo"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-BDO",vid); + +} + + + + +function runTest() { + HTMLElement05(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement06.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement06.js new file mode 100644 index 0000000..80434d0 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement06.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the TT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement06() { + var success; + if(checkInitialization(builder, "HTMLElement06") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("tt"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-TT",vid); + +} + + + + +function runTest() { + HTMLElement06(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement07.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement07.js new file mode 100644 index 0000000..c18742c --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement07.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the I element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement07() { + var success; + if(checkInitialization(builder, "HTMLElement07") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("i"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-I",vid); + +} + + + + +function runTest() { + HTMLElement07(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement08.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement08.js new file mode 100644 index 0000000..0772de1 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement08.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the B element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement08() { + var success; + if(checkInitialization(builder, "HTMLElement08") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("b"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-B",vid); + +} + + + + +function runTest() { + HTMLElement08(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement09.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement09.js new file mode 100644 index 0000000..fab7c70 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement09.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the U element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement09() { + var success; + if(checkInitialization(builder, "HTMLElement09") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("u"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-U",vid); + +} + + + + +function runTest() { + HTMLElement09(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement10.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement10.js new file mode 100644 index 0000000..4c7cf44 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement10.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the S element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement10() { + var success; + if(checkInitialization(builder, "HTMLElement10") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("s"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-S",vid); + +} + + + + +function runTest() { + HTMLElement10(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement100.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement100.js new file mode 100644 index 0000000..cb483aa --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement100.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement100"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the SMALL element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement100() { + var success; + if(checkInitialization(builder, "HTMLElement100") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("small"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement100(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement101.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement101.js new file mode 100644 index 0000000..544027c --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement101.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement101"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the EM element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement101() { + var success; + if(checkInitialization(builder, "HTMLElement101") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("em"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement101(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement102.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement102.js new file mode 100644 index 0000000..674d54e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement102.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement102"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the STRONG element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement102() { + var success; + if(checkInitialization(builder, "HTMLElement102") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("strong"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement102(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement103.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement103.js new file mode 100644 index 0000000..5d1e1b7 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement103.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement103"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the DFN element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement103() { + var success; + if(checkInitialization(builder, "HTMLElement103") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dfn"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement103(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement104.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement104.js new file mode 100644 index 0000000..9007dd7 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement104.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement104"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the CODE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement104() { + var success; + if(checkInitialization(builder, "HTMLElement104") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("code"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement104(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement105.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement105.js new file mode 100644 index 0000000..228ebf0 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement105.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement105"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the SAMP element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement105() { + var success; + if(checkInitialization(builder, "HTMLElement105") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("samp"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement105(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement106.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement106.js new file mode 100644 index 0000000..03c7706 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement106.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement106"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the KBD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement106() { + var success; + if(checkInitialization(builder, "HTMLElement106") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("kbd"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement106(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement107.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement107.js new file mode 100644 index 0000000..459db0a --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement107.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement107"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the VAR element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement107() { + var success; + if(checkInitialization(builder, "HTMLElement107") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("var"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement107(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement108.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement108.js new file mode 100644 index 0000000..6a7bfd7 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement108.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement108"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the CITE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement108() { + var success; + if(checkInitialization(builder, "HTMLElement108") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("cite"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement108(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement109.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement109.js new file mode 100644 index 0000000..f4237b7 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement109.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement109"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the ACRONYM element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement109() { + var success; + if(checkInitialization(builder, "HTMLElement109") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("acronym"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement109(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement11.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement11.js new file mode 100644 index 0000000..6ba22ad --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement11.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the STRIKE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement11() { + var success; + if(checkInitialization(builder, "HTMLElement11") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("strike"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-STRIKE",vid); + +} + + + + +function runTest() { + HTMLElement11(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement110.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement110.js new file mode 100644 index 0000000..2a16af3 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement110.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement110"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the ABBR element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement110() { + var success; + if(checkInitialization(builder, "HTMLElement110") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("abbr"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement110(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement111.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement111.js new file mode 100644 index 0000000..4a0a562 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement111.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement111"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the DD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement111() { + var success; + if(checkInitialization(builder, "HTMLElement111") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dd"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement111(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement112.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement112.js new file mode 100644 index 0000000..c8c4f41 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement112.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement112"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the DT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement112() { + var success; + if(checkInitialization(builder, "HTMLElement112") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dt"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement112(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement113.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement113.js new file mode 100644 index 0000000..e7dde6f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement113.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement113"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the NOFRAMES element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement113() { + var success; + if(checkInitialization(builder, "HTMLElement113") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("noframes"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement113(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement114.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement114.js new file mode 100644 index 0000000..c51bd98 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement114.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement114"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the NOSCRIPT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement114() { + var success; + if(checkInitialization(builder, "HTMLElement114") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("noscript"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement114(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement115.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement115.js new file mode 100644 index 0000000..fdd9ba4 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement115.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement115"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the ADDRESS element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement115() { + var success; + if(checkInitialization(builder, "HTMLElement115") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("address"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement115(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement116.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement116.js new file mode 100644 index 0000000..9008915 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement116.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement116"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the CENTER element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement116() { + var success; + if(checkInitialization(builder, "HTMLElement116") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("center"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement116(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement117.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement117.js new file mode 100644 index 0000000..0ee8c6e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement117.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement117"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the HEAD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement117() { + var success; + if(checkInitialization(builder, "HTMLElement117") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("head"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","HEAD-class",vclassname); + +} + + + + +function runTest() { + HTMLElement117(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement118.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement118.js new file mode 100644 index 0000000..818a97d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement118.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement118"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the SUB element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement118() { + var success; + if(checkInitialization(builder, "HTMLElement118") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("sub"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","SUB-class",vclassname); + +} + + + + +function runTest() { + HTMLElement118(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement119.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement119.js new file mode 100644 index 0000000..58898f3 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement119.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement119"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the SUP element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement119() { + var success; + if(checkInitialization(builder, "HTMLElement119") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("sup"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","SUP-class",vclassname); + +} + + + + +function runTest() { + HTMLElement119(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement12.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement12.js new file mode 100644 index 0000000..59393fa --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement12.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the BIG element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement12() { + var success; + if(checkInitialization(builder, "HTMLElement12") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("big"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-BIG",vid); + +} + + + + +function runTest() { + HTMLElement12(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement120.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement120.js new file mode 100644 index 0000000..3298278 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement120.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement120"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the SPAN element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement120() { + var success; + if(checkInitialization(builder, "HTMLElement120") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("span"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","SPAN-class",vclassname); + +} + + + + +function runTest() { + HTMLElement120(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement121.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement121.js new file mode 100644 index 0000000..ef69745 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement121.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement121"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the BDO element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement121() { + var success; + if(checkInitialization(builder, "HTMLElement121") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("bdo"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","BDO-class",vclassname); + +} + + + + +function runTest() { + HTMLElement121(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement122.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement122.js new file mode 100644 index 0000000..4285f67 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement122.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement122"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the TT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement122() { + var success; + if(checkInitialization(builder, "HTMLElement122") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("tt"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","TT-class",vclassname); + +} + + + + +function runTest() { + HTMLElement122(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement123.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement123.js new file mode 100644 index 0000000..5381e18 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement123.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement123"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the I element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement123() { + var success; + if(checkInitialization(builder, "HTMLElement123") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("i"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","I-class",vclassname); + +} + + + + +function runTest() { + HTMLElement123(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement124.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement124.js new file mode 100644 index 0000000..15097e0 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement124.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement124"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the B element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement124() { + var success; + if(checkInitialization(builder, "HTMLElement124") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("b"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","B-class",vclassname); + +} + + + + +function runTest() { + HTMLElement124(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement125.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement125.js new file mode 100644 index 0000000..22af864 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement125.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement125"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the U element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement125() { + var success; + if(checkInitialization(builder, "HTMLElement125") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("u"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","U-class",vclassname); + +} + + + + +function runTest() { + HTMLElement125(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement126.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement126.js new file mode 100644 index 0000000..4026e7e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement126.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement126"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the S element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement126() { + var success; + if(checkInitialization(builder, "HTMLElement126") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("s"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","S-class",vclassname); + +} + + + + +function runTest() { + HTMLElement126(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement127.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement127.js new file mode 100644 index 0000000..b302bcf --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement127.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement127"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the STRIKE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement127() { + var success; + if(checkInitialization(builder, "HTMLElement127") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("strike"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","STRIKE-class",vclassname); + +} + + + + +function runTest() { + HTMLElement127(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement128.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement128.js new file mode 100644 index 0000000..490a3ea --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement128.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement128"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the BIG element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement128() { + var success; + if(checkInitialization(builder, "HTMLElement128") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("big"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","BIG-class",vclassname); + +} + + + + +function runTest() { + HTMLElement128(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement129.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement129.js new file mode 100644 index 0000000..0a46d87 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement129.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement129"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the SMALL element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement129() { + var success; + if(checkInitialization(builder, "HTMLElement129") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("small"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","SMALL-class",vclassname); + +} + + + + +function runTest() { + HTMLElement129(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement13.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement13.js new file mode 100644 index 0000000..6ff3486 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement13.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement13"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the SMALL element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement13() { + var success; + if(checkInitialization(builder, "HTMLElement13") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("small"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-SMALL",vid); + +} + + + + +function runTest() { + HTMLElement13(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement130.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement130.js new file mode 100644 index 0000000..f5a10fe --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement130.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement130"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the EM element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement130() { + var success; + if(checkInitialization(builder, "HTMLElement130") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("em"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","EM-class",vclassname); + +} + + + + +function runTest() { + HTMLElement130(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement131.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement131.js new file mode 100644 index 0000000..fff3d81 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement131.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement131"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the STRONG element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement131() { + var success; + if(checkInitialization(builder, "HTMLElement131") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("strong"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","STRONG-class",vclassname); + +} + + + + +function runTest() { + HTMLElement131(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement132.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement132.js new file mode 100644 index 0000000..6f617cd --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement132.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement132"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the DFN element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement132() { + var success; + if(checkInitialization(builder, "HTMLElement132") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dfn"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","DFN-class",vclassname); + +} + + + + +function runTest() { + HTMLElement132(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement133.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement133.js new file mode 100644 index 0000000..10ffd29 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement133.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement133"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the CODE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement133() { + var success; + if(checkInitialization(builder, "HTMLElement133") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("code"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","CODE-class",vclassname); + +} + + + + +function runTest() { + HTMLElement133(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement134.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement134.js new file mode 100644 index 0000000..2c452d2 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement134.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement134"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the SAMP element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement134() { + var success; + if(checkInitialization(builder, "HTMLElement134") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("samp"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","SAMP-class",vclassname); + +} + + + + +function runTest() { + HTMLElement134(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement135.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement135.js new file mode 100644 index 0000000..b726eb2 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement135.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement135"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the KBD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement135() { + var success; + if(checkInitialization(builder, "HTMLElement135") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("kbd"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","KBD-class",vclassname); + +} + + + + +function runTest() { + HTMLElement135(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement136.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement136.js new file mode 100644 index 0000000..b790ea0 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement136.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement136"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the VAR element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement136() { + var success; + if(checkInitialization(builder, "HTMLElement136") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("var"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","VAR-class",vclassname); + +} + + + + +function runTest() { + HTMLElement136(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement137.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement137.js new file mode 100644 index 0000000..44cc553 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement137.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement137"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the CITE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement137() { + var success; + if(checkInitialization(builder, "HTMLElement137") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("cite"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","CITE-class",vclassname); + +} + + + + +function runTest() { + HTMLElement137(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement138.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement138.js new file mode 100644 index 0000000..2a2df22 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement138.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement138"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the ACRONYM element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement138() { + var success; + if(checkInitialization(builder, "HTMLElement138") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("acronym"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","ACRONYM-class",vclassname); + +} + + + + +function runTest() { + HTMLElement138(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement139.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement139.js new file mode 100644 index 0000000..1ecef9a --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement139.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement139"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the ABBR element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement139() { + var success; + if(checkInitialization(builder, "HTMLElement139") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("abbr"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","ABBR-class",vclassname); + +} + + + + +function runTest() { + HTMLElement139(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement14.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement14.js new file mode 100644 index 0000000..24c045b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement14.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement14"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the EM element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement14() { + var success; + if(checkInitialization(builder, "HTMLElement14") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("em"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-EM",vid); + +} + + + + +function runTest() { + HTMLElement14(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement140.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement140.js new file mode 100644 index 0000000..d9522c1 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement140.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement140"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the DD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement140() { + var success; + if(checkInitialization(builder, "HTMLElement140") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dd"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","DD-class",vclassname); + +} + + + + +function runTest() { + HTMLElement140(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement141.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement141.js new file mode 100644 index 0000000..ccd7acf --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement141.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement141"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the DT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement141() { + var success; + if(checkInitialization(builder, "HTMLElement141") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dt"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","DT-class",vclassname); + +} + + + + +function runTest() { + HTMLElement141(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement142.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement142.js new file mode 100644 index 0000000..9ba56ba --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement142.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement142"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the NOFRAMES element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement142() { + var success; + if(checkInitialization(builder, "HTMLElement142") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("noframes"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","NOFRAMES-class",vclassname); + +} + + + + +function runTest() { + HTMLElement142(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement143.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement143.js new file mode 100644 index 0000000..6fa2949 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement143.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement143"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the NOSCRIPT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement143() { + var success; + if(checkInitialization(builder, "HTMLElement143") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("noscript"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","NOSCRIPT-class",vclassname); + +} + + + + +function runTest() { + HTMLElement143(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement144.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement144.js new file mode 100644 index 0000000..0005aac --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement144.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement144"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the ADDRESS element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement144() { + var success; + if(checkInitialization(builder, "HTMLElement144") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("address"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","ADDRESS-class",vclassname); + +} + + + + +function runTest() { + HTMLElement144(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement145.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement145.js new file mode 100644 index 0000000..360b7f5 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement145.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement145"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the CENTER element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement145() { + var success; + if(checkInitialization(builder, "HTMLElement145") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("center"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","CENTER-class",vclassname); + +} + + + + +function runTest() { + HTMLElement145(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement15.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement15.js new file mode 100644 index 0000000..d1a7937 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement15.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement15"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the STRONG element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement15() { + var success; + if(checkInitialization(builder, "HTMLElement15") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("strong"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-STRONG",vid); + +} + + + + +function runTest() { + HTMLElement15(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement16.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement16.js new file mode 100644 index 0000000..f4af647 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement16.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement16"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the DFN element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement16() { + var success; + if(checkInitialization(builder, "HTMLElement16") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dfn"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-DFN",vid); + +} + + + + +function runTest() { + HTMLElement16(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement17.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement17.js new file mode 100644 index 0000000..ac7623c --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement17.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement17"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the CODE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement17() { + var success; + if(checkInitialization(builder, "HTMLElement17") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("code"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-CODE",vid); + +} + + + + +function runTest() { + HTMLElement17(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement18.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement18.js new file mode 100644 index 0000000..4b35a26 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement18.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement18"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the SAMP element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement18() { + var success; + if(checkInitialization(builder, "HTMLElement18") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("samp"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-SAMP",vid); + +} + + + + +function runTest() { + HTMLElement18(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement19.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement19.js new file mode 100644 index 0000000..5482f26 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement19.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement19"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the KBD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement19() { + var success; + if(checkInitialization(builder, "HTMLElement19") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("kbd"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-KBD",vid); + +} + + + + +function runTest() { + HTMLElement19(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement20.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement20.js new file mode 100644 index 0000000..d50a352 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement20.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement20"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the VAR element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement20() { + var success; + if(checkInitialization(builder, "HTMLElement20") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("var"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-VAR",vid); + +} + + + + +function runTest() { + HTMLElement20(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement21.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement21.js new file mode 100644 index 0000000..a33c682 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement21.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement21"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the CITE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement21() { + var success; + if(checkInitialization(builder, "HTMLElement21") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("cite"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-CITE",vid); + +} + + + + +function runTest() { + HTMLElement21(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement22.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement22.js new file mode 100644 index 0000000..2c94717 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement22.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement22"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the ACRONYM element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement22() { + var success; + if(checkInitialization(builder, "HTMLElement22") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("acronym"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-ACRONYM",vid); + +} + + + + +function runTest() { + HTMLElement22(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement23.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement23.js new file mode 100644 index 0000000..9897a08 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement23.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement23"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the ABBR element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement23() { + var success; + if(checkInitialization(builder, "HTMLElement23") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("abbr"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-ABBR",vid); + +} + + + + +function runTest() { + HTMLElement23(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement24.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement24.js new file mode 100644 index 0000000..e7d45ef --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement24.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement24"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the DD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement24() { + var success; + if(checkInitialization(builder, "HTMLElement24") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dd"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-DD",vid); + +} + + + + +function runTest() { + HTMLElement24(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement25.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement25.js new file mode 100644 index 0000000..3129f44 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement25.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement25"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the DT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement25() { + var success; + if(checkInitialization(builder, "HTMLElement25") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dt"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-DT",vid); + +} + + + + +function runTest() { + HTMLElement25(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement26.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement26.js new file mode 100644 index 0000000..5eb2657 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement26.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement26"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the NOFRAMES element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement26() { + var success; + if(checkInitialization(builder, "HTMLElement26") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("noframes"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-NOFRAMES",vid); + +} + + + + +function runTest() { + HTMLElement26(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement27.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement27.js new file mode 100644 index 0000000..180cbc7 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement27.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement27"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the NOSCRIPT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement27() { + var success; + if(checkInitialization(builder, "HTMLElement27") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("noscript"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-NOSCRIPT",vid); + +} + + + + +function runTest() { + HTMLElement27(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement28.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement28.js new file mode 100644 index 0000000..d851c15 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement28.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement28"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the ADDRESS element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement28() { + var success; + if(checkInitialization(builder, "HTMLElement28") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("address"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-ADDRESS",vid); + +} + + + + +function runTest() { + HTMLElement28(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement29.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement29.js new file mode 100644 index 0000000..7612c4c --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement29.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement29"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the CENTER element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement29() { + var success; + if(checkInitialization(builder, "HTMLElement29") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("center"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-CENTER",vid); + +} + + + + +function runTest() { + HTMLElement29(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement30.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement30.js new file mode 100644 index 0000000..4eaa63b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement30.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement30"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the HEAD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement30() { + var success; + if(checkInitialization(builder, "HTMLElement30") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("head"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","HEAD Element",vtitle); + +} + + + + +function runTest() { + HTMLElement30(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement31.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement31.js new file mode 100644 index 0000000..b7fdc98 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement31.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement31"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the SUB element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement31() { + var success; + if(checkInitialization(builder, "HTMLElement31") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("sub"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","SUB Element",vtitle); + +} + + + + +function runTest() { + HTMLElement31(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement32.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement32.js new file mode 100644 index 0000000..b48c310 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement32.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement32"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the SUP element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement32() { + var success; + if(checkInitialization(builder, "HTMLElement32") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("sup"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","SUP Element",vtitle); + +} + + + + +function runTest() { + HTMLElement32(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement33.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement33.js new file mode 100644 index 0000000..4b6824f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement33.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement33"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the SPAN element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement33() { + var success; + if(checkInitialization(builder, "HTMLElement33") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("span"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","SPAN Element",vtitle); + +} + + + + +function runTest() { + HTMLElement33(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement34.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement34.js new file mode 100644 index 0000000..1340f7b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement34.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement34"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the BDO element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement34() { + var success; + if(checkInitialization(builder, "HTMLElement34") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("bdo"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","BDO Element",vtitle); + +} + + + + +function runTest() { + HTMLElement34(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement35.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement35.js new file mode 100644 index 0000000..4264639 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement35.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement35"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the TT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement35() { + var success; + if(checkInitialization(builder, "HTMLElement35") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("tt"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","TT Element",vtitle); + +} + + + + +function runTest() { + HTMLElement35(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement36.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement36.js new file mode 100644 index 0000000..5c10480 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement36.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement36"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the I element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement36() { + var success; + if(checkInitialization(builder, "HTMLElement36") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("i"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","I Element",vtitle); + +} + + + + +function runTest() { + HTMLElement36(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement37.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement37.js new file mode 100644 index 0000000..68dcf12 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement37.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement37"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the B element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement37() { + var success; + if(checkInitialization(builder, "HTMLElement37") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("b"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","B Element",vtitle); + +} + + + + +function runTest() { + HTMLElement37(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement38.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement38.js new file mode 100644 index 0000000..607ba1c --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement38.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement38"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the U element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement38() { + var success; + if(checkInitialization(builder, "HTMLElement38") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("u"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","U Element",vtitle); + +} + + + + +function runTest() { + HTMLElement38(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement39.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement39.js new file mode 100644 index 0000000..c85be70 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement39.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement39"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the S element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement39() { + var success; + if(checkInitialization(builder, "HTMLElement39") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("s"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","S Element",vtitle); + +} + + + + +function runTest() { + HTMLElement39(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement40.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement40.js new file mode 100644 index 0000000..0bd9f65 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement40.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement40"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the STRIKE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement40() { + var success; + if(checkInitialization(builder, "HTMLElement40") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("strike"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","STRIKE Element",vtitle); + +} + + + + +function runTest() { + HTMLElement40(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement41.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement41.js new file mode 100644 index 0000000..792e1f4 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement41.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement41"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the BIG element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement41() { + var success; + if(checkInitialization(builder, "HTMLElement41") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("big"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","BIG Element",vtitle); + +} + + + + +function runTest() { + HTMLElement41(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement42.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement42.js new file mode 100644 index 0000000..2dfb6b2 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement42.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement42"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the SMALL element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement42() { + var success; + if(checkInitialization(builder, "HTMLElement42") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("small"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","SMALL Element",vtitle); + +} + + + + +function runTest() { + HTMLElement42(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement43.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement43.js new file mode 100644 index 0000000..afa4cad --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement43.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement43"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the EM element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement43() { + var success; + if(checkInitialization(builder, "HTMLElement43") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("em"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","EM Element",vtitle); + +} + + + + +function runTest() { + HTMLElement43(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement44.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement44.js new file mode 100644 index 0000000..d327e32 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement44.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement44"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the STRONG element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement44() { + var success; + if(checkInitialization(builder, "HTMLElement44") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("strong"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","STRONG Element",vtitle); + +} + + + + +function runTest() { + HTMLElement44(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement45.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement45.js new file mode 100644 index 0000000..fbac213 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement45.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement45"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the DFN element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement45() { + var success; + if(checkInitialization(builder, "HTMLElement45") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dfn"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","DFN Element",vtitle); + +} + + + + +function runTest() { + HTMLElement45(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement46.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement46.js new file mode 100644 index 0000000..825fb8f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement46.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement46"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the CODE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement46() { + var success; + if(checkInitialization(builder, "HTMLElement46") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("code"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","CODE Element",vtitle); + +} + + + + +function runTest() { + HTMLElement46(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement47.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement47.js new file mode 100644 index 0000000..d5a3383 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement47.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement47"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the SAMP element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement47() { + var success; + if(checkInitialization(builder, "HTMLElement47") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("samp"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","SAMP Element",vtitle); + +} + + + + +function runTest() { + HTMLElement47(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement48.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement48.js new file mode 100644 index 0000000..4245e28 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement48.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement48"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the KBD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement48() { + var success; + if(checkInitialization(builder, "HTMLElement48") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("kbd"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","KBD Element",vtitle); + +} + + + + +function runTest() { + HTMLElement48(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement49.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement49.js new file mode 100644 index 0000000..0b4099b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement49.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement49"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the VAR element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement49() { + var success; + if(checkInitialization(builder, "HTMLElement49") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("var"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","VAR Element",vtitle); + +} + + + + +function runTest() { + HTMLElement49(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement50.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement50.js new file mode 100644 index 0000000..d1ebdf7 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement50.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement50"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the CITE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement50() { + var success; + if(checkInitialization(builder, "HTMLElement50") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("cite"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","CITE Element",vtitle); + +} + + + + +function runTest() { + HTMLElement50(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement51.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement51.js new file mode 100644 index 0000000..f512269 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement51.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement51"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the ACRONYM element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement51() { + var success; + if(checkInitialization(builder, "HTMLElement51") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("acronym"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","ACRONYM Element",vtitle); + +} + + + + +function runTest() { + HTMLElement51(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement52.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement52.js new file mode 100644 index 0000000..97ed7ce --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement52.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement52"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the ABBR element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement52() { + var success; + if(checkInitialization(builder, "HTMLElement52") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("abbr"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","ABBR Element",vtitle); + +} + + + + +function runTest() { + HTMLElement52(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement53.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement53.js new file mode 100644 index 0000000..c725643 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement53.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement53"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the DD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement53() { + var success; + if(checkInitialization(builder, "HTMLElement53") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dd"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","DD Element",vtitle); + +} + + + + +function runTest() { + HTMLElement53(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement54.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement54.js new file mode 100644 index 0000000..64859fe --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement54.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement54"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the DT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement54() { + var success; + if(checkInitialization(builder, "HTMLElement54") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dt"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","DT Element",vtitle); + +} + + + + +function runTest() { + HTMLElement54(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement55.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement55.js new file mode 100644 index 0000000..c5d6dfe --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement55.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement55"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the NOFRAMES element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement55() { + var success; + if(checkInitialization(builder, "HTMLElement55") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("noframes"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","NOFRAMES Element",vtitle); + +} + + + + +function runTest() { + HTMLElement55(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement56.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement56.js new file mode 100644 index 0000000..7f83399 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement56.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement56"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the NOSCRIPT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement56() { + var success; + if(checkInitialization(builder, "HTMLElement56") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("noscript"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","NOSCRIPT Element",vtitle); + +} + + + + +function runTest() { + HTMLElement56(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement57.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement57.js new file mode 100644 index 0000000..d9a2697 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement57.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement57"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the ADDRESS element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement57() { + var success; + if(checkInitialization(builder, "HTMLElement57") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("address"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","ADDRESS Element",vtitle); + +} + + + + +function runTest() { + HTMLElement57(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement58.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement58.js new file mode 100644 index 0000000..3716161 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement58.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement58"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the CENTER element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement58() { + var success; + if(checkInitialization(builder, "HTMLElement58") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("center"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","CENTER Element",vtitle); + +} + + + + +function runTest() { + HTMLElement58(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement59.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement59.js new file mode 100644 index 0000000..9361262 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement59.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement59"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the HEAD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement59() { + var success; + if(checkInitialization(builder, "HTMLElement59") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("head"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement59(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement60.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement60.js new file mode 100644 index 0000000..c5de5ce --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement60.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement60"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the SUB element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement60() { + var success; + if(checkInitialization(builder, "HTMLElement60") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("sub"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement60(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement61.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement61.js new file mode 100644 index 0000000..acc368b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement61.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement61"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the SUP element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement61() { + var success; + if(checkInitialization(builder, "HTMLElement61") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("sup"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement61(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement62.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement62.js new file mode 100644 index 0000000..7c61525 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement62.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement62"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the SPAN element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement62() { + var success; + if(checkInitialization(builder, "HTMLElement62") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("span"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement62(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement63.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement63.js new file mode 100644 index 0000000..6b7d3d2 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement63.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement63"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the BDO element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement63() { + var success; + if(checkInitialization(builder, "HTMLElement63") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("bdo"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement63(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement64.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement64.js new file mode 100644 index 0000000..a9efc97 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement64.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement64"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the TT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement64() { + var success; + if(checkInitialization(builder, "HTMLElement64") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("tt"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement64(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement65.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement65.js new file mode 100644 index 0000000..9ad20a3 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement65.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement65"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the I element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement65() { + var success; + if(checkInitialization(builder, "HTMLElement65") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("i"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement65(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement66.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement66.js new file mode 100644 index 0000000..aa8539e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement66.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement66"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the B element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement66() { + var success; + if(checkInitialization(builder, "HTMLElement66") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("b"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement66(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement67.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement67.js new file mode 100644 index 0000000..5591270 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement67.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement67"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the U element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement67() { + var success; + if(checkInitialization(builder, "HTMLElement67") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("u"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement67(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement68.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement68.js new file mode 100644 index 0000000..3cecb74 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement68.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement68"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the S element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement68() { + var success; + if(checkInitialization(builder, "HTMLElement68") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("s"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement68(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement69.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement69.js new file mode 100644 index 0000000..f872bbc --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement69.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement69"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the STRIKE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement69() { + var success; + if(checkInitialization(builder, "HTMLElement69") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("strike"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement69(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement70.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement70.js new file mode 100644 index 0000000..25765c8 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement70.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement70"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the BIG element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement70() { + var success; + if(checkInitialization(builder, "HTMLElement70") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("big"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement70(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement71.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement71.js new file mode 100644 index 0000000..374a076 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement71.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement71"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the SMALL element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement71() { + var success; + if(checkInitialization(builder, "HTMLElement71") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("small"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement71(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement72.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement72.js new file mode 100644 index 0000000..2a4d6bf --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement72.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement72"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the EM element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement72() { + var success; + if(checkInitialization(builder, "HTMLElement72") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("em"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement72(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement73.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement73.js new file mode 100644 index 0000000..bb8d09d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement73.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement73"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the STRONG element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement73() { + var success; + if(checkInitialization(builder, "HTMLElement73") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("strong"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement73(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement74.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement74.js new file mode 100644 index 0000000..1a8355e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement74.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement74"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the DFN element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement74() { + var success; + if(checkInitialization(builder, "HTMLElement74") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dfn"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement74(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement75.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement75.js new file mode 100644 index 0000000..383cc45 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement75.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement75"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the CODE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement75() { + var success; + if(checkInitialization(builder, "HTMLElement75") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("code"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement75(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement76.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement76.js new file mode 100644 index 0000000..c6ae96c --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement76.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement76"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the SAMP element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement76() { + var success; + if(checkInitialization(builder, "HTMLElement76") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("samp"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement76(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement77.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement77.js new file mode 100644 index 0000000..e81fd64 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement77.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement77"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the KBD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement77() { + var success; + if(checkInitialization(builder, "HTMLElement77") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("kbd"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement77(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement78.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement78.js new file mode 100644 index 0000000..57379e9 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement78.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement78"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the VAR element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement78() { + var success; + if(checkInitialization(builder, "HTMLElement78") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("var"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement78(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement79.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement79.js new file mode 100644 index 0000000..950cd88 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement79.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement79"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the CITE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement79() { + var success; + if(checkInitialization(builder, "HTMLElement79") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("cite"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement79(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement80.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement80.js new file mode 100644 index 0000000..a8d8f7e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement80.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement80"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the ACRONYM element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement80() { + var success; + if(checkInitialization(builder, "HTMLElement80") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("acronym"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement80(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement81.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement81.js new file mode 100644 index 0000000..b32bd02 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement81.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement81"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the ABBR element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement81() { + var success; + if(checkInitialization(builder, "HTMLElement81") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("abbr"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement81(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement82.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement82.js new file mode 100644 index 0000000..95bc905 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement82.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement82"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the DD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement82() { + var success; + if(checkInitialization(builder, "HTMLElement82") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dd"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement82(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement83.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement83.js new file mode 100644 index 0000000..978178e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement83.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement83"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the DT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement83() { + var success; + if(checkInitialization(builder, "HTMLElement83") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dt"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement83(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement84.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement84.js new file mode 100644 index 0000000..82424d2 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement84.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement84"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the NOFRAMES element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement84() { + var success; + if(checkInitialization(builder, "HTMLElement84") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("noframes"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement84(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement85.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement85.js new file mode 100644 index 0000000..4345c91 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement85.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement85"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the NOSCRIPT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement85() { + var success; + if(checkInitialization(builder, "HTMLElement85") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("noscript"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement85(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement86.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement86.js new file mode 100644 index 0000000..e451df9 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement86.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement86"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the ADDRESS element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement86() { + var success; + if(checkInitialization(builder, "HTMLElement86") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("address"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement86(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement87.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement87.js new file mode 100644 index 0000000..1ee2256 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement87.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement87"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the CENTER element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement87() { + var success; + if(checkInitialization(builder, "HTMLElement87") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("center"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement87(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement88.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement88.js new file mode 100644 index 0000000..9d5851a --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement88.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement88"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the HEAD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement88() { + var success; + if(checkInitialization(builder, "HTMLElement88") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("head"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement88(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement89.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement89.js new file mode 100644 index 0000000..20b337d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement89.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement89"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the SUB element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement89() { + var success; + if(checkInitialization(builder, "HTMLElement89") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("sub"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement89(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement90.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement90.js new file mode 100644 index 0000000..bf60dd9 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement90.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement90"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the SUP element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement90() { + var success; + if(checkInitialization(builder, "HTMLElement90") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("sup"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement90(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement91.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement91.js new file mode 100644 index 0000000..5fd73af --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement91.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement91"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the SPAN element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement91() { + var success; + if(checkInitialization(builder, "HTMLElement91") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("span"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement91(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement92.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement92.js new file mode 100644 index 0000000..36be79b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement92.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement92"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the BDO element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement92() { + var success; + if(checkInitialization(builder, "HTMLElement92") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("bdo"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement92(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement93.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement93.js new file mode 100644 index 0000000..eab5171 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement93.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement93"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the TT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement93() { + var success; + if(checkInitialization(builder, "HTMLElement93") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("tt"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement93(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement94.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement94.js new file mode 100644 index 0000000..00ee75d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement94.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement94"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the I element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement94() { + var success; + if(checkInitialization(builder, "HTMLElement94") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("i"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement94(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement95.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement95.js new file mode 100644 index 0000000..5c89e6b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement95.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement95"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the B element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement95() { + var success; + if(checkInitialization(builder, "HTMLElement95") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("b"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement95(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement96.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement96.js new file mode 100644 index 0000000..eecad7b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement96.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement96"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the U element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement96() { + var success; + if(checkInitialization(builder, "HTMLElement96") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("u"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement96(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement97.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement97.js new file mode 100644 index 0000000..b383f5a --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement97.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement97"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the S element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement97() { + var success; + if(checkInitialization(builder, "HTMLElement97") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("s"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement97(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement98.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement98.js new file mode 100644 index 0000000..19a60b0 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement98.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement98"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the STRIKE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement98() { + var success; + if(checkInitialization(builder, "HTMLElement98") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("strike"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement98(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement99.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement99.js new file mode 100644 index 0000000..8ea7258 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement99.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement99"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the BIG element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement99() { + var success; + if(checkInitialization(builder, "HTMLElement99") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("big"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement99(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement01.js new file mode 100644 index 0000000..c308420 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement01.js @@ -0,0 +1,116 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFieldSetElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "fieldset"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns the FORM element containing this control. + + Retrieve the form attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75392630 +*/ +function HTMLFieldSetElement01() { + var success; + if(checkInitialization(builder, "HTMLFieldSetElement01") != null) return; + var nodeList; + var testNode; + var vform; + var fNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "fieldset"); + nodeList = doc.getElementsByTagName("fieldset"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + fNode = testNode.form; + + vform = fNode.id; + + assertEquals("formLink","form2",vform); + +} + + + + +function runTest() { + HTMLFieldSetElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement02.js new file mode 100644 index 0000000..c63c92c --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFieldSetElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "fieldset"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns null if control in not within the context of + form. + + Retrieve the form attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75392630 +*/ +function HTMLFieldSetElement02() { + var success; + if(checkInitialization(builder, "HTMLFieldSetElement02") != null) return; + var nodeList; + var testNode; + var vform; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "fieldset"); + nodeList = doc.getElementsByTagName("fieldset"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vform = testNode.form; + + assertNull("formNullLink",vform); + +} + + + + +function runTest() { + HTMLFieldSetElement02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement03.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement03.js new file mode 100644 index 0000000..a4b79bb --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement03.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFormElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "form"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id(name) attribute specifies the name of the form. + + Retrieve the id attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-22051454 +*/ +function HTMLFormElement03() { + var success; + if(checkInitialization(builder, "HTMLFormElement03") != null) return; + var nodeList; + var testNode; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "form"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vname = testNode.id; + + assertEquals("nameLink","form1",vname); + +} + + + + +function runTest() { + HTMLFormElement03(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement04.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement04.js new file mode 100644 index 0000000..1343e02 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement04.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFormElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "form"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The acceptCharset attribute specifies the list of character sets + supported by the server. + + Retrieve the acceptCharset attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-19661795 +*/ +function HTMLFormElement04() { + var success; + if(checkInitialization(builder, "HTMLFormElement04") != null) return; + var nodeList; + var testNode; + var vacceptcharset; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "form"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vacceptcharset = testNode.acceptCharset; + + assertEquals("acceptCharsetLink","US-ASCII",vacceptcharset); + +} + + + + +function runTest() { + HTMLFormElement04(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement05.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement05.js new file mode 100644 index 0000000..ac05c42 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement05.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFormElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "form"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The action attribute specifies the server-side form handler. + + Retrieve the action attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-74049184 +*/ +function HTMLFormElement05() { + var success; + if(checkInitialization(builder, "HTMLFormElement05") != null) return; + var nodeList; + var testNode; + var vaction; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "form"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vaction = testNode.action; + + assertURIEquals("actionLink",null,null,null,"getData.pl",null,null,null,null,vaction); + +} + + + + +function runTest() { + HTMLFormElement05(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement06.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement06.js new file mode 100644 index 0000000..d61fb0c --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement06.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFormElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "form"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The enctype attribute specifies the content of the submitted form. + + Retrieve the enctype attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-84227810 +*/ +function HTMLFormElement06() { + var success; + if(checkInitialization(builder, "HTMLFormElement06") != null) return; + var nodeList; + var testNode; + var venctype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "form"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + venctype = testNode.enctype; + + assertEquals("enctypeLink","application/x-www-form-urlencoded",venctype); + +} + + + + +function runTest() { + HTMLFormElement06(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement07.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement07.js new file mode 100644 index 0000000..3516b4e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement07.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFormElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "form"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The method attribute specifies the HTTP method used to submit the form. + + Retrieve the method attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-82545539 +*/ +function HTMLFormElement07() { + var success; + if(checkInitialization(builder, "HTMLFormElement07") != null) return; + var nodeList; + var testNode; + var vmethod; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "form"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vmethod = testNode.method; + + assertEquals("methodLink","post",vmethod); + +} + + + + +function runTest() { + HTMLFormElement07(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement08.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement08.js new file mode 100644 index 0000000..93655ba --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement08.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFormElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "form2"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The target attribute specifies the frame to render the resource in. + + Retrieve the target attribute and examine it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6512890 +*/ +function HTMLFormElement08() { + var success; + if(checkInitialization(builder, "HTMLFormElement08") != null) return; + var nodeList; + var testNode; + var vtarget; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "form2"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtarget = testNode.target; + + assertEquals("targetLink","dynamic",vtarget); + +} + + + + +function runTest() { + HTMLFormElement08(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement03.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement03.js new file mode 100644 index 0000000..7c3cf5d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement03.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIFrameElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "iframe"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The height attribute specifies the frame height. + + Retrieve the height attribute of the first IFRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-1678118 +*/ +function HTMLIFrameElement03() { + var success; + if(checkInitialization(builder, "HTMLIFrameElement03") != null) return; + var nodeList; + var testNode; + var vheight; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "iframe"); + nodeList = doc.getElementsByTagName("iframe"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vheight = testNode.height; + + assertEquals("heightLink","50",vheight); + +} + + + + +function runTest() { + HTMLIFrameElement03(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement07.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement07.js new file mode 100644 index 0000000..8eda1d9 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement07.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIFrameElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "iframe"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The name attribute specifies the frame name(object of the target + attribute). + + Retrieve the name attribute of the first IFRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96819659 +*/ +function HTMLIFrameElement07() { + var success; + if(checkInitialization(builder, "HTMLIFrameElement07") != null) return; + var nodeList; + var testNode; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "iframe"); + nodeList = doc.getElementsByTagName("iframe"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vname = testNode.name; + + assertEquals("nameLink","Iframe1",vname); + +} + + + + +function runTest() { + HTMLIFrameElement07(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement09.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement09.js new file mode 100644 index 0000000..05f227d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement09.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIFrameElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "iframe"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The src attribute specifies a URI designating the initial frame contents. + + Retrieve the src attribute of the first FRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-43933957 +*/ +function HTMLIFrameElement09() { + var success; + if(checkInitialization(builder, "HTMLIFrameElement09") != null) return; + var nodeList; + var testNode; + var vsrc; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "iframe"); + nodeList = doc.getElementsByTagName("iframe"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vsrc = testNode.src; + + assertURIEquals("srcLink",null,null,null,null,"right",null,null,null,vsrc); + +} + + + + +function runTest() { + HTMLIFrameElement09(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement10.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement10.js new file mode 100644 index 0000000..87df1f5 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement10.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIFrameElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "iframe"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The width attribute specifies the frame width. + + Retrieve the width attribute of the first IFRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-67133005 +*/ +function HTMLIFrameElement10() { + var success; + if(checkInitialization(builder, "HTMLIFrameElement10") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "iframe"); + nodeList = doc.getElementsByTagName("iframe"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vwidth = testNode.width; + + assertEquals("widthLink","60",vwidth); + +} + + + + +function runTest() { + HTMLIFrameElement10(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement05.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement05.js new file mode 100644 index 0000000..b11671f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement05.js @@ -0,0 +1,125 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "img"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The height attribute overrides the natural "height" of the image. Retrieve the height attribute and examine its value. + + This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-91561496 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 +*/ +function HTMLImageElement05() { + var success; + if(checkInitialization(builder, "HTMLImageElement05") != null) return; + var nodeList; + var testNode; + var vheight; + var doc; + var domImpl; + var hasHTML2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "img"); + domImpl = doc.implementation; +hasHTML2 = domImpl.hasFeature("HTML","2.0"); + + if( + + !hasHTML2 + ) { + nodeList = doc.getElementsByTagName("img"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vheight = testNode.height; + + assertEquals("heightLink","47",vheight); + + } + +} + + + + +function runTest() { + HTMLImageElement05(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement06.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement06.js new file mode 100644 index 0000000..babd977 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement06.js @@ -0,0 +1,128 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "img"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The hspace attribute specifies the horizontal space to the left and + right of this image. + + Retrieve the hspace attribute and examine its value. + + This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-53675471 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 +*/ +function HTMLImageElement06() { + var success; + if(checkInitialization(builder, "HTMLImageElement06") != null) return; + var nodeList; + var testNode; + var vhspace; + var doc; + var domImpl; + var hasHTML2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "img"); + domImpl = doc.implementation; +hasHTML2 = domImpl.hasFeature("HTML","2.0"); + + if( + + !hasHTML2 + ) { + nodeList = doc.getElementsByTagName("img"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vhspace = testNode.hspace; + + assertEquals("hspaceLink","4",vhspace); + + } + +} + + + + +function runTest() { + HTMLImageElement06(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement07.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement07.js new file mode 100644 index 0000000..0e7cd06 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement07.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "img"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The isMap attribute indicates the use of server-side image map. + + Retrieve the isMap attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-58983880 +*/ +function HTMLImageElement07() { + var success; + if(checkInitialization(builder, "HTMLImageElement07") != null) return; + var nodeList; + var testNode; + var vismap; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "img"); + nodeList = doc.getElementsByTagName("img"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vismap = testNode.isMap; + + assertFalse("isMapLink",vismap); + +} + + + + +function runTest() { + HTMLImageElement07(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement09.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement09.js new file mode 100644 index 0000000..c362b82 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement09.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "img"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The src attribute contains an URI designating the source of this image. + + Retrieve the src attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87762984 +*/ +function HTMLImageElement09() { + var success; + if(checkInitialization(builder, "HTMLImageElement09") != null) return; + var nodeList; + var testNode; + var vsrc; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "img"); + nodeList = doc.getElementsByTagName("img"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vsrc = testNode.src; + + assertURIEquals("srcLink",null,null,null,"dts.gif",null,null,null,null,vsrc); + +} + + + + +function runTest() { + HTMLImageElement09(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement11.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement11.js new file mode 100644 index 0000000..b21b839 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement11.js @@ -0,0 +1,128 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "img"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The vspace attribute specifies the vertical space above and below this + image. + + Retrieve the vspace attribute and examine its value. + + This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-85374897 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 +*/ +function HTMLImageElement11() { + var success; + if(checkInitialization(builder, "HTMLImageElement11") != null) return; + var nodeList; + var testNode; + var vvspace; + var doc; + var domImpl; + var hasHTML2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "img"); + domImpl = doc.implementation; +hasHTML2 = domImpl.hasFeature("HTML","2.0"); + + if( + + !hasHTML2 + ) { + nodeList = doc.getElementsByTagName("img"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vvspace = testNode.vspace; + + assertEquals("vspaceLink","10",vvspace); + + } + +} + + + + +function runTest() { + HTMLImageElement11(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement12.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement12.js new file mode 100644 index 0000000..ef8d61b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement12.js @@ -0,0 +1,127 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "img"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The width attribute overrides the natural "width" of the image. + + Retrieve the width attribute and examine its value. + + This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-13839076 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 +*/ +function HTMLImageElement12() { + var success; + if(checkInitialization(builder, "HTMLImageElement12") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + var domImpl; + var hasHTML2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "img"); + domImpl = doc.implementation; +hasHTML2 = domImpl.hasFeature("HTML","2.0"); + + if( + + !hasHTML2 + ) { + nodeList = doc.getElementsByTagName("img"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vwidth = testNode.width; + + assertEquals("widthLink","115",vwidth); + + } + +} + + + + +function runTest() { + HTMLImageElement12(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement01.js new file mode 100644 index 0000000..9dd8135 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement01.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The defaultValue attribute represents the HTML value of the attribute + when the type attribute has the value of "Text", "File" or "Password". + + Retrieve the defaultValue attribute of the 1st INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-26091157 +*/ +function HTMLInputElement01() { + var success; + if(checkInitialization(builder, "HTMLInputElement01") != null) return; + var nodeList; + var testNode; + var vdefaultvalue; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(0); + vdefaultvalue = testNode.defaultValue; + + assertEquals("defaultValueLink","Password",vdefaultvalue); + +} + + + + +function runTest() { + HTMLInputElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement02.js new file mode 100644 index 0000000..80257f5 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement02.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The defaultChecked attribute represents the HTML checked attribute of + the element when the type attribute has the value checkbox or radio. + + Retrieve the defaultValue attribute of the 4th INPUT element and + examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-20509171 +*/ +function HTMLInputElement02() { + var success; + if(checkInitialization(builder, "HTMLInputElement02") != null) return; + var nodeList; + var testNode; + var vdefaultchecked; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(3); + vdefaultchecked = testNode.defaultChecked; + + assertTrue("defaultCheckedLink",vdefaultchecked); + +} + + + + +function runTest() { + HTMLInputElement02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement03.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement03.js new file mode 100644 index 0000000..27a48c2 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement03.js @@ -0,0 +1,116 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns the FORM element containing this control. + + Retrieve the form attribute of the 1st INPUT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63239895 +*/ +function HTMLInputElement03() { + var success; + if(checkInitialization(builder, "HTMLInputElement03") != null) return; + var nodeList; + var testNode; + var vform; + var fNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(0); + fNode = testNode.form; + + vform = fNode.id; + + assertEquals("formLink","form1",vform); + +} + + + + +function runTest() { + HTMLInputElement03(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement04.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement04.js new file mode 100644 index 0000000..3d32ebd --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement04.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The accept attribute is a comma-seperated list of content types that + a server processing this form will handle correctly. + + Retrieve the accept attribute of the 9th INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-15328520 +*/ +function HTMLInputElement04() { + var success; + if(checkInitialization(builder, "HTMLInputElement04") != null) return; + var nodeList; + var testNode; + var vaccept; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(8); + vaccept = testNode.accept; + + assertEquals("acceptLink","GIF,JPEG",vaccept); + +} + + + + +function runTest() { + HTMLInputElement04(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement05.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement05.js new file mode 100644 index 0000000..a9acc28 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement05.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The accessKey attribute is a single character access key to give access + to the form control. + + Retrieve the accessKey attribute of the 2nd INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59914154 +*/ +function HTMLInputElement05() { + var success; + if(checkInitialization(builder, "HTMLInputElement05") != null) return; + var nodeList; + var testNode; + var vaccesskey; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(1); + vaccesskey = testNode.accessKey; + + assertEquals("accesskeyLink","c",vaccesskey); + +} + + + + +function runTest() { + HTMLInputElement05(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement07.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement07.js new file mode 100644 index 0000000..27b046d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement07.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The alt attribute alternates text for user agents not rendering the + normal content of this element. + + Retrieve the alt attribute of the 1st INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-92701314 +*/ +function HTMLInputElement07() { + var success; + if(checkInitialization(builder, "HTMLInputElement07") != null) return; + var nodeList; + var testNode; + var valt; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(0); + valt = testNode.alt; + + assertEquals("altLink","Password entry",valt); + +} + + + + +function runTest() { + HTMLInputElement07(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement08.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement08.js new file mode 100644 index 0000000..f4aad49 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement08.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The checked attribute represents the current state of the corresponding + form control when type has the value Radio or Checkbox. + + Retrieve the accept attribute of the 3rd INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-30233917 +*/ +function HTMLInputElement08() { + var success; + if(checkInitialization(builder, "HTMLInputElement08") != null) return; + var nodeList; + var testNode; + var vchecked; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(2); + vchecked = testNode.checked; + + assertTrue("checkedLink",vchecked); + +} + + + + +function runTest() { + HTMLInputElement08(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement09.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement09.js new file mode 100644 index 0000000..5ec9a0e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement09.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The disabled attribute has a TRUE value if it is explicitly set. + + Retrieve the disabled attribute of the 7th INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-50886781 +*/ +function HTMLInputElement09() { + var success; + if(checkInitialization(builder, "HTMLInputElement09") != null) return; + var nodeList; + var testNode; + var vdisabled; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(6); + vdisabled = testNode.disabled; + + assertTrue("disabledLink",vdisabled); + +} + + + + +function runTest() { + HTMLInputElement09(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement10.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement10.js new file mode 100644 index 0000000..10564f6 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement10.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The maxLength attribute is the maximum number of text characters for text + fields, when type has the value of Text or Password. + + Retrieve the maxLenght attribute of the 1st INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-54719353 +*/ +function HTMLInputElement10() { + var success; + if(checkInitialization(builder, "HTMLInputElement10") != null) return; + var nodeList; + var testNode; + var vmaxlength; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(0); + vmaxlength = testNode.maxLength; + + assertEquals("maxlengthLink",5,vmaxlength); + +} + + + + +function runTest() { + HTMLInputElement10(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement11.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement11.js new file mode 100644 index 0000000..ff44902 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement11.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The name attribute is the form control or object name when submitted with + a form. + + Retrieve the name attribute of the 1st INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-89658498 +*/ +function HTMLInputElement11() { + var success; + if(checkInitialization(builder, "HTMLInputElement11") != null) return; + var nodeList; + var testNode; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(0); + vname = testNode.name; + + assertEquals("nameLink","Password",vname); + +} + + + + +function runTest() { + HTMLInputElement11(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement12.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement12.js new file mode 100644 index 0000000..30dac7e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement12.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The readOnly attribute indicates that this control is read-only when + type has a value of text or password only. + + Retrieve the readOnly attribute of the 1st INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88461592 +*/ +function HTMLInputElement12() { + var success; + if(checkInitialization(builder, "HTMLInputElement12") != null) return; + var nodeList; + var testNode; + var vreadonly; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(0); + vreadonly = testNode.readOnly; + + assertTrue("readonlyLink",vreadonly); + +} + + + + +function runTest() { + HTMLInputElement12(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement13.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement13.js new file mode 100644 index 0000000..2e82ba7 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement13.js @@ -0,0 +1,130 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement13"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The size attribute contains the size information. Its precise meaning + is specific to each type of field. + + Retrieve the size attribute of the 1st INPUT element and examine + its value. + + This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. + + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-79659438 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 +*/ +function HTMLInputElement13() { + var success; + if(checkInitialization(builder, "HTMLInputElement13") != null) return; + var nodeList; + var testNode; + var vsize; + var doc; + var domImpl; + var hasHTML2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + domImpl = doc.implementation; +hasHTML2 = domImpl.hasFeature("HTML","2.0"); + + if( + + !hasHTML2 + ) { + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(0); + vsize = testNode.size; + + assertEquals("sizeLink","25",vsize); + + } + +} + + + + +function runTest() { + HTMLInputElement13(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement14.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement14.js new file mode 100644 index 0000000..112fe07 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement14.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement14"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The src attribute specifies the location of the image to decorate the + graphical submit button when the type has the value Image. + + Retrieve the src attribute of the 8th INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-97320704 +*/ +function HTMLInputElement14() { + var success; + if(checkInitialization(builder, "HTMLInputElement14") != null) return; + var nodeList; + var testNode; + var vsrc; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(7); + vsrc = testNode.src; + + assertURIEquals("srcLink",null,null,null,"submit.gif",null,null,null,null,vsrc); + +} + + + + +function runTest() { + HTMLInputElement14(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement15.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement15.js new file mode 100644 index 0000000..2fd0c1d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement15.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement15"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The tabIndex attribute is an index that represents the elements position + in the tabbing order. + + Retrieve the tabIndex attribute of the 3rd INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-62176355 +*/ +function HTMLInputElement15() { + var success; + if(checkInitialization(builder, "HTMLInputElement15") != null) return; + var nodeList; + var testNode; + var vtabindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(2); + vtabindex = testNode.tabIndex; + + assertEquals("tabindexLink",9,vtabindex); + +} + + + + +function runTest() { + HTMLInputElement15(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement16.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement16.js new file mode 100644 index 0000000..335cf12 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement16.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement16"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The type attribute is the type of control created. + + Retrieve the type attribute of the 1st INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-62883744 +*/ +function HTMLInputElement16() { + var success; + if(checkInitialization(builder, "HTMLInputElement16") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","password",vtype); + +} + + + + +function runTest() { + HTMLInputElement16(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement18.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement18.js new file mode 100644 index 0000000..9d34ac1 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement18.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement18"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The value attribute is the current content of the corresponding form + control when the type attribute has the value Text, File or Password. + + Retrieve the value attribute of the 2nd INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-49531485 +*/ +function HTMLInputElement18() { + var success; + if(checkInitialization(builder, "HTMLInputElement18") != null) return; + var nodeList; + var testNode; + var vvalue; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(1); + vvalue = testNode.value; + + assertEquals("valueLink","ReHire",vvalue); + +} + + + + +function runTest() { + HTMLInputElement18(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement21.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement21.js new file mode 100644 index 0000000..cb7f7f4 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement21.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement21"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +HTMLInputElement.click should change the state of checked on a radio button. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-2651361 +*/ +function HTMLInputElement21() { + var success; + if(checkInitialization(builder, "HTMLInputElement21") != null) return; + var nodeList; + var testNode; + var doc; + var checked; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(1); + checked = testNode.checked; + + assertFalse("notCheckedBeforeClick",checked); +testNode.click(); + checked = testNode.checked; + + assertTrue("checkedAfterClick",checked); + +} + + + + +function runTest() { + HTMLInputElement21(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLIElement02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLIElement02.js new file mode 100644 index 0000000..bdaff41 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLIElement02.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLIElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "li"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The value attribute is a reset sequence number when used in OL. + + Retrieve the value attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-45496263 +*/ +function HTMLLIElement02() { + var success; + if(checkInitialization(builder, "HTMLLIElement02") != null) return; + var nodeList; + var testNode; + var vvalue; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "li"); + nodeList = doc.getElementsByTagName("li"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vvalue = testNode.value; + + assertEquals("valueLink",2,vvalue); + +} + + + + +function runTest() { + HTMLLIElement02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement01.js new file mode 100644 index 0000000..927b3aa --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement01.js @@ -0,0 +1,116 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLabelElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "label"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns the FORM element containing this control. + + Retrieve the form attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-32480901 +*/ +function HTMLLabelElement01() { + var success; + if(checkInitialization(builder, "HTMLLabelElement01") != null) return; + var nodeList; + var testNode; + var vform; + var fNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "label"); + nodeList = doc.getElementsByTagName("label"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + fNode = testNode.form; + + vform = fNode.id; + + assertEquals("formLink","form1",vform); + +} + + + + +function runTest() { + HTMLLabelElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement02.js new file mode 100644 index 0000000..f7c908b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLabelElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "label"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns null if control in not within the context of + form. + + Retrieve the form attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-32480901 +*/ +function HTMLLabelElement02() { + var success; + if(checkInitialization(builder, "HTMLLabelElement02") != null) return; + var nodeList; + var testNode; + var vform; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "label"); + nodeList = doc.getElementsByTagName("label"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vform = testNode.form; + + assertNull("formNullLink",vform); + +} + + + + +function runTest() { + HTMLLabelElement02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement03.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement03.js new file mode 100644 index 0000000..380802d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement03.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLabelElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "label"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The accessKey attribute is a single character access key to give access + to the form control. + + Retrieve the accessKey attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-43589892 +*/ +function HTMLLabelElement03() { + var success; + if(checkInitialization(builder, "HTMLLabelElement03") != null) return; + var nodeList; + var testNode; + var vaccesskey; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "label"); + nodeList = doc.getElementsByTagName("label"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vaccesskey = testNode.accessKey; + + assertEquals("accesskeyLink","b",vaccesskey); + +} + + + + +function runTest() { + HTMLLabelElement03(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement04.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement04.js new file mode 100644 index 0000000..1a5681d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement04.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLabelElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "label"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The htmlFor attribute links this label with another form control by + id attribute. + + Retrieve the htmlFor attribute of the first LABEL element + and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96509813 +*/ +function HTMLLabelElement04() { + var success; + if(checkInitialization(builder, "HTMLLabelElement04") != null) return; + var nodeList; + var testNode; + var vhtmlfor; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "label"); + nodeList = doc.getElementsByTagName("label"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vhtmlfor = testNode.htmlFor; + + assertEquals("htmlForLink","input1",vhtmlfor); + +} + + + + +function runTest() { + HTMLLabelElement04(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement01.js new file mode 100644 index 0000000..cf0bb6a --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLinkElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "link"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The disabled attribute enables/disables the link. + + Retrieve the disabled attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87355129 +*/ +function HTMLLinkElement01() { + var success; + if(checkInitialization(builder, "HTMLLinkElement01") != null) return; + var nodeList; + var testNode; + var vdisabled; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "link"); + nodeList = doc.getElementsByTagName("link"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vdisabled = testNode.disabled; + + assertFalse("disabled",vdisabled); + +} + + + + +function runTest() { + HTMLLinkElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement03.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement03.js new file mode 100644 index 0000000..d8856f9 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement03.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLinkElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "link"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The href attribute specifies the URI of the linked resource. + + Retrieve the href attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33532588 +*/ +function HTMLLinkElement03() { + var success; + if(checkInitialization(builder, "HTMLLinkElement03") != null) return; + var nodeList; + var testNode; + var vhref; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "link"); + nodeList = doc.getElementsByTagName("link"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vhref = testNode.href; + + assertURIEquals("hrefLink",null,null,null,"glossary.html",null,null,null,null,vhref); + +} + + + + +function runTest() { + HTMLLinkElement03(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement04.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement04.js new file mode 100644 index 0000000..e3012bd --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement04.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLinkElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "link"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The hreflang attribute specifies the language code of the linked resource. + + Retrieve the hreflang attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-85145682 +*/ +function HTMLLinkElement04() { + var success; + if(checkInitialization(builder, "HTMLLinkElement04") != null) return; + var nodeList; + var testNode; + var vhreflang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "link"); + nodeList = doc.getElementsByTagName("link"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vhreflang = testNode.hreflang; + + assertEquals("hreflangLink","en",vhreflang); + +} + + + + +function runTest() { + HTMLLinkElement04(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement05.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement05.js new file mode 100644 index 0000000..35b59ca --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement05.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLinkElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "link"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The media attribute specifies the targeted media. + + Retrieve the media attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75813125 +*/ +function HTMLLinkElement05() { + var success; + if(checkInitialization(builder, "HTMLLinkElement05") != null) return; + var nodeList; + var testNode; + var vmedia; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "link"); + nodeList = doc.getElementsByTagName("link"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vmedia = testNode.media; + + assertEquals("mediaLink","screen",vmedia); + +} + + + + +function runTest() { + HTMLLinkElement05(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement06.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement06.js new file mode 100644 index 0000000..d9004b9 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement06.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLinkElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "link"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The rel attribute specifies the forward link type. + + Retrieve the rel attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-41369587 +*/ +function HTMLLinkElement06() { + var success; + if(checkInitialization(builder, "HTMLLinkElement06") != null) return; + var nodeList; + var testNode; + var vrel; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "link"); + nodeList = doc.getElementsByTagName("link"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vrel = testNode.rel; + + assertEquals("relLink","Glossary",vrel); + +} + + + + +function runTest() { + HTMLLinkElement06(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement08.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement08.js new file mode 100644 index 0000000..001e995 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement08.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLinkElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "link"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The type attribute specifies the advisory content type. + + Retrieve the type attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-32498296 +*/ +function HTMLLinkElement08() { + var success; + if(checkInitialization(builder, "HTMLLinkElement08") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "link"); + nodeList = doc.getElementsByTagName("link"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","text/html",vtype); + +} + + + + +function runTest() { + HTMLLinkElement08(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMapElement02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMapElement02.js new file mode 100644 index 0000000..5ba184f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMapElement02.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLMapElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "map"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The name attribute names the map(for use with usemap). + + Retrieve the name attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52696514 +*/ +function HTMLMapElement02() { + var success; + if(checkInitialization(builder, "HTMLMapElement02") != null) return; + var nodeList; + var testNode; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "map"); + nodeList = doc.getElementsByTagName("map"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vname = testNode.name; + + assertEquals("mapLink","mapid",vname); + +} + + + + +function runTest() { + HTMLMapElement02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement01.js new file mode 100644 index 0000000..e344809 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLMetaElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "meta"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The content attribute specifies associated information. + + Retrieve the content attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87670826 +*/ +function HTMLMetaElement01() { + var success; + if(checkInitialization(builder, "HTMLMetaElement01") != null) return; + var nodeList; + var testNode; + var vcontent; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "meta"); + nodeList = doc.getElementsByTagName("meta"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcontent = testNode.content; + + assertEquals("contentLink","text/html; CHARSET=utf-8",vcontent); + +} + + + + +function runTest() { + HTMLMetaElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement02.js new file mode 100644 index 0000000..3da9693 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement02.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLMetaElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "meta"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The httpEquiv attribute specifies an HTTP respnse header name. + + Retrieve the httpEquiv attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-77289449 +*/ +function HTMLMetaElement02() { + var success; + if(checkInitialization(builder, "HTMLMetaElement02") != null) return; + var nodeList; + var testNode; + var vhttpequiv; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "meta"); + nodeList = doc.getElementsByTagName("meta"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vhttpequiv = testNode.httpEquiv; + + assertEquals("httpEquivLink","Content-Type",vhttpequiv); + +} + + + + +function runTest() { + HTMLMetaElement02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement03.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement03.js new file mode 100644 index 0000000..3554091 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement03.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLMetaElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "meta"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The name attribute specifies the meta information name. + + Retrieve the name attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-31037081 +*/ +function HTMLMetaElement03() { + var success; + if(checkInitialization(builder, "HTMLMetaElement03") != null) return; + var nodeList; + var testNode; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "meta"); + nodeList = doc.getElementsByTagName("meta"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vname = testNode.name; + + assertEquals("nameLink","Meta-Name",vname); + +} + + + + +function runTest() { + HTMLMetaElement03(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement04.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement04.js new file mode 100644 index 0000000..2ba7efd --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement04.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLMetaElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "meta"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The scheme attribute specifies a select form of content. + + Retrieve the scheme attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-35993789 +*/ +function HTMLMetaElement04() { + var success; + if(checkInitialization(builder, "HTMLMetaElement04") != null) return; + var nodeList; + var testNode; + var vscheme; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "meta"); + nodeList = doc.getElementsByTagName("meta"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vscheme = testNode.scheme; + + assertEquals("schemeLink","NIST",vscheme); + +} + + + + +function runTest() { + HTMLMetaElement04(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement01.js new file mode 100644 index 0000000..9840f14 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement01.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLModElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "mod"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The cite attribute specifies an URI designating a document that describes + the reason for the change. + + Retrieve the cite attribute of the INS element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75101708 +*/ +function HTMLModElement01() { + var success; + if(checkInitialization(builder, "HTMLModElement01") != null) return; + var nodeList; + var testNode; + var vcite; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "mod"); + nodeList = doc.getElementsByTagName("ins"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcite = testNode.cite; + + assertURIEquals("citeLink",null,null,null,"ins-reasons.html",null,null,null,null,vcite); + +} + + + + +function runTest() { + HTMLModElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement02.js new file mode 100644 index 0000000..fe3fa8e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement02.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLModElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "mod"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dateTime attribute specifies the date and time of the change. + + Retrieve the dateTime attribute of the INS element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88432678 +*/ +function HTMLModElement02() { + var success; + if(checkInitialization(builder, "HTMLModElement02") != null) return; + var nodeList; + var testNode; + var vdatetime; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "mod"); + nodeList = doc.getElementsByTagName("ins"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdatetime = testNode.dateTime; + + assertEquals("dateTimeLink","January 1, 2002",vdatetime); + +} + + + + +function runTest() { + HTMLModElement02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement03.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement03.js new file mode 100644 index 0000000..e796da6 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement03.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLModElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "mod"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The cite attribute specifies an URI designating a document that describes + the reason for the change. + + Retrieve the cite attribute of the DEL element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75101708 +*/ +function HTMLModElement03() { + var success; + if(checkInitialization(builder, "HTMLModElement03") != null) return; + var nodeList; + var testNode; + var vcite; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "mod"); + nodeList = doc.getElementsByTagName("del"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcite = testNode.cite; + + assertURIEquals("citeLink",null,null,null,"del-reasons.html",null,null,null,null,vcite); + +} + + + + +function runTest() { + HTMLModElement03(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement04.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement04.js new file mode 100644 index 0000000..1150082 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement04.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLModElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "mod"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dateTime attribute specifies the date and time of the change. + + Retrieve the dateTime attribute of the DEL element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88432678 +*/ +function HTMLModElement04() { + var success; + if(checkInitialization(builder, "HTMLModElement04") != null) return; + var nodeList; + var testNode; + var vdatetime; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "mod"); + nodeList = doc.getElementsByTagName("del"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdatetime = testNode.dateTime; + + assertEquals("dateTimeLink","January 2, 2002",vdatetime); + +} + + + + +function runTest() { + HTMLModElement04(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOListElement02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOListElement02.js new file mode 100644 index 0000000..f7a44be --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOListElement02.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOListElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "olist"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The start attribute specifies the starting sequence number. + + Retrieve the start attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14793325 +*/ +function HTMLOListElement02() { + var success; + if(checkInitialization(builder, "HTMLOListElement02") != null) return; + var nodeList; + var testNode; + var vstart; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "olist"); + nodeList = doc.getElementsByTagName("ol"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vstart = testNode.start; + + assertEquals("startLink",1,vstart); + +} + + + + +function runTest() { + HTMLOListElement02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOListElement03.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOListElement03.js new file mode 100644 index 0000000..8731b7c --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOListElement03.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOListElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "olist"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The type attribute specifies the numbering style. + + Retrieve the type attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40971103 +*/ +function HTMLOListElement03() { + var success; + if(checkInitialization(builder, "HTMLOListElement03") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "olist"); + nodeList = doc.getElementsByTagName("ol"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","1",vtype); + +} + + + + +function runTest() { + HTMLOListElement03(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement01.js new file mode 100644 index 0000000..c70af00 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement01.js @@ -0,0 +1,116 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object2"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns the FORM element containing this control. + + Retrieve the form attribute and examine its value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-46094773 +*/ +function HTMLObjectElement01() { + var success; + if(checkInitialization(builder, "HTMLObjectElement01") != null) return; + var nodeList; + var testNode; + var fNode; + var vform; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object2"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + fNode = testNode.form; + + vform = fNode.id; + + assertEquals("idLink","object2",vform); + +} + + + + +function runTest() { + HTMLObjectElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement08.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement08.js new file mode 100644 index 0000000..9bab5c1 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement08.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The data attribute specifies the URI of the location of the objects data. + + Retrieve the data attribute of the first OBJECT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-81766986 +*/ +function HTMLObjectElement08() { + var success; + if(checkInitialization(builder, "HTMLObjectElement08") != null) return; + var nodeList; + var testNode; + var vdata; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vdata = testNode.data; + + assertURIEquals("dataLink",null,null,null,"logo.gif",null,null,null,null,vdata); + +} + + + + +function runTest() { + HTMLObjectElement08(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement10.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement10.js new file mode 100644 index 0000000..17cb218 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement10.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The height attribute overrides the value of the actual height of the + object. + + Retrieve the height attribute of the first OBJECT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88925838 +*/ +function HTMLObjectElement10() { + var success; + if(checkInitialization(builder, "HTMLObjectElement10") != null) return; + var nodeList; + var testNode; + var vheight; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vheight = testNode.height; + + assertEquals("heightLink","60",vheight); + +} + + + + +function runTest() { + HTMLObjectElement10(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement11.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement11.js new file mode 100644 index 0000000..8915326 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement11.js @@ -0,0 +1,129 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The hspace attribute specifies the horizontal space to the left and right + of this image, applet or object. + + Retrieve the hspace attribute of the first OBJECT element and examine + its value. + + This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-17085376 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 +*/ +function HTMLObjectElement11() { + var success; + if(checkInitialization(builder, "HTMLObjectElement11") != null) return; + var nodeList; + var testNode; + var vhspace; + var doc; + var domImpl; + var hasHTML2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + domImpl = doc.implementation; +hasHTML2 = domImpl.hasFeature("HTML","2.0"); + + if( + + !hasHTML2 + ) { + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vhspace = testNode.hspace; + + assertEquals("hspaceLink","0",vhspace); + + } + +} + + + + +function runTest() { + HTMLObjectElement11(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement13.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement13.js new file mode 100644 index 0000000..af2e44b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement13.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement13"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The tabIndex attribute specifies the elements position in the tabbing + order. + + Retrieve the tabIndex attribute of the first OBJECT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-27083787 +*/ +function HTMLObjectElement13() { + var success; + if(checkInitialization(builder, "HTMLObjectElement13") != null) return; + var nodeList; + var testNode; + var vtabindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vtabindex = testNode.tabIndex; + + assertEquals("tabIndexLink",0,vtabindex); + +} + + + + +function runTest() { + HTMLObjectElement13(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement14.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement14.js new file mode 100644 index 0000000..b52c2b6 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement14.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement14"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The type attribute specifies the content type for data downloaded via + the data attribute. + + Retrieve the type attribute of the first OBJECT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-91665621 +*/ +function HTMLObjectElement14() { + var success; + if(checkInitialization(builder, "HTMLObjectElement14") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","image/gif",vtype); + +} + + + + +function runTest() { + HTMLObjectElement14(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement15.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement15.js new file mode 100644 index 0000000..2a497b1 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement15.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement15"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The useMap attribute specifies the used client-side image map. + + Retrieve the useMap attribute of the first OBJECT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6649772 +*/ +function HTMLObjectElement15() { + var success; + if(checkInitialization(builder, "HTMLObjectElement15") != null) return; + var nodeList; + var testNode; + var vusemap; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vusemap = testNode.useMap; + + assertEquals("useMapLink","#DivLogo-map",vusemap); + +} + + + + +function runTest() { + HTMLObjectElement15(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement16.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement16.js new file mode 100644 index 0000000..85adf7d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement16.js @@ -0,0 +1,129 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement16"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The vspace attribute specifies the vertical space above or below this + image, applet or object. + + Retrieve the vspace attribute of the first OBJECT element and examine + its value. + + This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-8682483 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 +*/ +function HTMLObjectElement16() { + var success; + if(checkInitialization(builder, "HTMLObjectElement16") != null) return; + var nodeList; + var testNode; + var vvspace; + var doc; + var domImpl; + var hasHTML2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + domImpl = doc.implementation; +hasHTML2 = domImpl.hasFeature("HTML","2.0"); + + if( + + !hasHTML2 + ) { + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vvspace = testNode.vspace; + + assertEquals("vspaceLink","0",vvspace); + + } + +} + + + + +function runTest() { + HTMLObjectElement16(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement17.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement17.js new file mode 100644 index 0000000..e76e4d8 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement17.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement17"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The width attribute overrides the original width value. + + Retrieve the width attribute of the first OBJECT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-38538620 +*/ +function HTMLObjectElement17() { + var success; + if(checkInitialization(builder, "HTMLObjectElement17") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vwidth = testNode.width; + + assertEquals("widthLink","550",vwidth); + +} + + + + +function runTest() { + HTMLObjectElement17(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement18.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement18.js new file mode 100644 index 0000000..f299c61 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement18.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement18"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The name attribute specifies form control or object name when submitted + with a form. + + Retrieve the name attribute of the second OBJECT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-20110362 +*/ +function HTMLObjectElement18() { + var success; + if(checkInitialization(builder, "HTMLObjectElement18") != null) return; + var nodeList; + var testNode; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vname = testNode.name; + + assertEquals("vspaceLink","OBJECT2",vname); + +} + + + + +function runTest() { + HTMLObjectElement18(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement19.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement19.js new file mode 100644 index 0000000..a1157ff --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement19.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement19"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object2"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns null if control in not within the context of + form. + + Retrieve the form attribute and examine its value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-46094773 +*/ +function HTMLObjectElement19() { + var success; + if(checkInitialization(builder, "HTMLObjectElement19") != null) return; + var nodeList; + var testNode; + var vform; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object2"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vform = testNode.form; + + assertNull("formNullLink",vform); + +} + + + + +function runTest() { + HTMLObjectElement19(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement01.js new file mode 100644 index 0000000..088c526 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement01.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptGroupElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "optgroup"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The disabled attribute indicates that the control is unavailable in + this context. + + Retrieve the disabled attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-15518803 +*/ +function HTMLOptGroupElement01() { + var success; + if(checkInitialization(builder, "HTMLOptGroupElement01") != null) return; + var nodeList; + var testNode; + var vdisabled; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "optgroup"); + nodeList = doc.getElementsByTagName("optgroup"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vdisabled = testNode.disabled; + + assertTrue("disabledLink",vdisabled); + +} + + + + +function runTest() { + HTMLOptGroupElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement02.js new file mode 100644 index 0000000..4c5f323 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement02.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptGroupElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "optgroup"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The label attribute specifies the label assigned to this option group. + + Retrieve the label attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95806054 +*/ +function HTMLOptGroupElement02() { + var success; + if(checkInitialization(builder, "HTMLOptGroupElement02") != null) return; + var nodeList; + var testNode; + var vlabel; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "optgroup"); + nodeList = doc.getElementsByTagName("optgroup"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vlabel = testNode.label; + + assertEquals("labelLink","Regular Employees",vlabel); + +} + + + + +function runTest() { + HTMLOptGroupElement02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement01.js new file mode 100644 index 0000000..9cea72a --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement01.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptionElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "option"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns the FORM element containing this control. + + Retrieve the form attribute from the first SELECT element + and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-17116503 +*/ +function HTMLOptionElement01() { + var success; + if(checkInitialization(builder, "HTMLOptionElement01") != null) return; + var nodeList; + var testNode; + var vform; + var fNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "option"); + nodeList = doc.getElementsByTagName("option"); + assertSize("Asize",10,nodeList); +testNode = nodeList.item(0); + fNode = testNode.form; + + vform = fNode.id; + + assertEquals("formLink","form1",vform); + +} + + + + +function runTest() { + HTMLOptionElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement02.js new file mode 100644 index 0000000..4914f41 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement02.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptionElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "option"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns null if control in not within the context of + a form. + + Retrieve the first OPTION attribute from the second select element and + examine its form element. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-17116503 +*/ +function HTMLOptionElement02() { + var success; + if(checkInitialization(builder, "HTMLOptionElement02") != null) return; + var nodeList; + var testNode; + var vform; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "option"); + nodeList = doc.getElementsByTagName("option"); + assertSize("Asize",10,nodeList); +testNode = nodeList.item(6); + vform = testNode.form; + + assertNull("formNullLink",vform); + +} + + + + +function runTest() { + HTMLOptionElement02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement03.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement03.js new file mode 100644 index 0000000..d9e340b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement03.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptionElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "option"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The defaultSelected attribute contains the value of the selected + attribute. + + Retrieve the defaultSelected attribute from the first OPTION element + and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-37770574 +*/ +function HTMLOptionElement03() { + var success; + if(checkInitialization(builder, "HTMLOptionElement03") != null) return; + var nodeList; + var testNode; + var vdefaultselected; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "option"); + nodeList = doc.getElementsByTagName("option"); + assertSize("Asize",10,nodeList); +testNode = nodeList.item(0); + vdefaultselected = testNode.defaultSelected; + + assertTrue("defaultSelectedLink",vdefaultselected); + +} + + + + +function runTest() { + HTMLOptionElement03(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement06.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement06.js new file mode 100644 index 0000000..18638e5 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement06.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptionElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "option"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The disabled attribute indicates that this control is not available + within this context. + + Retrieve the disabled attribute from the last OPTION element + and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-23482473 +*/ +function HTMLOptionElement06() { + var success; + if(checkInitialization(builder, "HTMLOptionElement06") != null) return; + var nodeList; + var testNode; + var vdisabled; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "option"); + nodeList = doc.getElementsByTagName("option"); + assertSize("Asize",10,nodeList); +testNode = nodeList.item(9); + vdisabled = testNode.disabled; + + assertTrue("disabledLink",vdisabled); + +} + + + + +function runTest() { + HTMLOptionElement06(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement07.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement07.js new file mode 100644 index 0000000..9cc670f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement07.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptionElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "option"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The label attribute is used in hierarchical menus. It specifies + a shorter label for an option that the content of the OPTION element. + + Retrieve the label attribute from the second OPTION element + and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40736115 +*/ +function HTMLOptionElement07() { + var success; + if(checkInitialization(builder, "HTMLOptionElement07") != null) return; + var nodeList; + var testNode; + var vlabel; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "option"); + nodeList = doc.getElementsByTagName("option"); + assertSize("Asize",10,nodeList); +testNode = nodeList.item(1); + vlabel = testNode.label; + + assertEquals("labelLink","l1",vlabel); + +} + + + + +function runTest() { + HTMLOptionElement07(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement08.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement08.js new file mode 100644 index 0000000..d6e4b22 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement08.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptionElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "option"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The selected attribute indicates the current state of the corresponding + form control in an interactive user-agent. + + Retrieve the selected attribute from the first OPTION element + and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-70874476 +*/ +function HTMLOptionElement08() { + var success; + if(checkInitialization(builder, "HTMLOptionElement08") != null) return; + var nodeList; + var testNode; + var vselected; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "option"); + nodeList = doc.getElementsByTagName("option"); + assertSize("Asize",10,nodeList); +testNode = nodeList.item(0); + vselected = testNode.defaultSelected; + + assertTrue("selectedLink",vselected); + +} + + + + +function runTest() { + HTMLOptionElement08(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLParamElement02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLParamElement02.js new file mode 100644 index 0000000..338cbfe --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLParamElement02.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLParamElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "param"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The value attribute specifies the value of the run-time parameter. + + Retrieve the value attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-77971357 +*/ +function HTMLParamElement02() { + var success; + if(checkInitialization(builder, "HTMLParamElement02") != null) return; + var nodeList; + var testNode; + var vvalue; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "param"); + nodeList = doc.getElementsByTagName("param"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vvalue = testNode.value; + + assertURIEquals("valueLink",null,null,null,"file.gif",null,null,null,null,vvalue); + +} + + + + +function runTest() { + HTMLParamElement02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement01.js new file mode 100644 index 0000000..d46c2aa --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement01.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLQuoteElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "quote"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The cite attribute specifies a URI designating a source document + or message. + + Retrieve the cite attribute from the Q element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-53895598 +*/ +function HTMLQuoteElement01() { + var success; + if(checkInitialization(builder, "HTMLQuoteElement01") != null) return; + var nodeList; + var testNode; + var vcite; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "quote"); + nodeList = doc.getElementsByTagName("q"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcite = testNode.cite; + + assertURIEquals("citeLink",null,null,null,"Q.html",null,null,null,null,vcite); + +} + + + + +function runTest() { + HTMLQuoteElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement02.js new file mode 100644 index 0000000..f0b002b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement02.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLQuoteElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "quote"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The cite attribute specifies a URI designating a source document + or message. + + Retrieve the cite attribute from the BLOCKQUOTE element and + examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-53895598 +*/ +function HTMLQuoteElement02() { + var success; + if(checkInitialization(builder, "HTMLQuoteElement02") != null) return; + var nodeList; + var testNode; + var vcite; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "quote"); + nodeList = doc.getElementsByTagName("blockquote"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcite = testNode.cite; + + assertURIEquals("citeLink",null,null,null,"BLOCKQUOTE.html",null,null,null,null,vcite); + +} + + + + +function runTest() { + HTMLQuoteElement02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement01.js new file mode 100644 index 0000000..95f6b58 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLScriptElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "script"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The text attribute specifies the script content of the element. + + Retrieve the text attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-46872999 +*/ +function HTMLScriptElement01() { + var success; + if(checkInitialization(builder, "HTMLScriptElement01") != null) return; + var nodeList; + var testNode; + var vtext; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "script"); + nodeList = doc.getElementsByTagName("script"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtext = testNode.text; + + assertEquals("textLink","var a=2;",vtext); + +} + + + + +function runTest() { + HTMLScriptElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement02.js new file mode 100644 index 0000000..a85f04f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLScriptElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "script"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The charset attribute specifies the character encoding of the linked + resource. + + Retrieve the charset attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-35305677 +*/ +function HTMLScriptElement02() { + var success; + if(checkInitialization(builder, "HTMLScriptElement02") != null) return; + var nodeList; + var testNode; + var vcharset; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "script"); + nodeList = doc.getElementsByTagName("script"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcharset = testNode.charset; + + assertEquals("charsetLink","US-ASCII",vcharset); + +} + + + + +function runTest() { + HTMLScriptElement02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement03.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement03.js new file mode 100644 index 0000000..cd60d5d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement03.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLScriptElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "script"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The defer attribute specifies the user agent can defer processing of + the script. + + Retrieve the defer attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93788534 +*/ +function HTMLScriptElement03() { + var success; + if(checkInitialization(builder, "HTMLScriptElement03") != null) return; + var nodeList; + var testNode; + var vdefer; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "script"); + nodeList = doc.getElementsByTagName("script"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdefer = testNode.defer; + + assertTrue("deferLink",vdefer); + +} + + + + +function runTest() { + HTMLScriptElement03(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement04.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement04.js new file mode 100644 index 0000000..fe417e3 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement04.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLScriptElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "script"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The src attribute specifies a URI designating an external script. + + Retrieve the src attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75147231 +*/ +function HTMLScriptElement04() { + var success; + if(checkInitialization(builder, "HTMLScriptElement04") != null) return; + var nodeList; + var testNode; + var vsrc; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "script"); + nodeList = doc.getElementsByTagName("script"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vsrc = testNode.src; + + assertURIEquals("srcLink",null,null,null,"script1.js",null,null,null,null,vsrc); + +} + + + + +function runTest() { + HTMLScriptElement04(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement05.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement05.js new file mode 100644 index 0000000..96a717b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement05.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLScriptElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "script"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The type attribute specifies the content of the script language. + + Retrieve the type attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-30534818 +*/ +function HTMLScriptElement05() { + var success; + if(checkInitialization(builder, "HTMLScriptElement05") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "script"); + nodeList = doc.getElementsByTagName("script"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","text/javaScript",vtype); + +} + + + + +function runTest() { + HTMLScriptElement05(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement06.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement06.js new file mode 100644 index 0000000..a1275eb --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement06.js @@ -0,0 +1,109 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLScriptElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "script"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +htmlFor is described as for future use. Test accesses the value, but makes no assertions about its value. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-66979266 +*/ +function HTMLScriptElement06() { + var success; + if(checkInitialization(builder, "HTMLScriptElement06") != null) return; + var nodeList; + var testNode; + var htmlFor; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "script"); + nodeList = doc.getElementsByTagName("script"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + htmlFor = testNode.htmlFor; + + +} + + + + +function runTest() { + HTMLScriptElement06(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement07.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement07.js new file mode 100644 index 0000000..a3c1976 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement07.js @@ -0,0 +1,109 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLScriptElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "script"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +event is described as for future use. Test accesses the value, but makes no assertions about its value. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-56700403 +*/ +function HTMLScriptElement07() { + var success; + if(checkInitialization(builder, "HTMLScriptElement07") != null) return; + var nodeList; + var testNode; + var event; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "script"); + nodeList = doc.getElementsByTagName("script"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + event = testNode.event; + + +} + + + + +function runTest() { + HTMLScriptElement07(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement03.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement03.js new file mode 100644 index 0000000..a7dda0c --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement03.js @@ -0,0 +1,118 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The selectedIndex attribute specifies the ordinal index of the selected + option. If no element is selected -1 is returned. + + Retrieve the selectedIndex attribute from the second SELECT element and + examine its value. + + Per http://www.w3.org/TR/html401/interact/forms.html#h-17.6.1, + without an explicit selected attribute, user agent behavior is + undefined. There is no way to coerce no option to be selected. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-85676760 +*/ +function HTMLSelectElement03() { + var success; + if(checkInitialization(builder, "HTMLSelectElement03") != null) return; + var nodeList; + var testNode; + var vselectedindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vselectedindex = testNode.selectedIndex; + + +} + + + + +function runTest() { + HTMLSelectElement03(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement06.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement06.js new file mode 100644 index 0000000..14f8f6a --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement06.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns the FORM element containing this control. + + Retrieve the form attribute from the first SELECT element + and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-20489458 +*/ +function HTMLSelectElement06() { + var success; + if(checkInitialization(builder, "HTMLSelectElement06") != null) return; + var nodeList; + var testNode; + var vform; + var fNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + fNode = testNode.form; + + vform = fNode.id; + + assertEquals("formLink","form1",vform); + +} + + + + +function runTest() { + HTMLSelectElement06(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement07.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement07.js new file mode 100644 index 0000000..047585c --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement07.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns null if control in not within the context of + a form. + + Retrieve the second SELECT element and + examine its form element. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-20489458 +*/ +function HTMLSelectElement07() { + var success; + if(checkInitialization(builder, "HTMLSelectElement07") != null) return; + var nodeList; + var testNode; + var vform; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vform = testNode.form; + + assertNull("formNullLink",vform); + +} + + + + +function runTest() { + HTMLSelectElement07(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement08.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement08.js new file mode 100644 index 0000000..5617296 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement08.js @@ -0,0 +1,134 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The options attribute returns a collection of OPTION elements contained + by this element. + + Retrieve the options attribute from the first SELECT element and + examine the items of the returned collection. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-30606413 +*/ +function HTMLSelectElement08() { + var success; + if(checkInitialization(builder, "HTMLSelectElement08") != null) return; + var nodeList; + var optionsnodeList; + var testNode; + var vareas; + var doc; + var optionName; + var voption; + var result = new Array(); + + expectedOptions = new Array(); + expectedOptions[0] = "option"; + expectedOptions[1] = "option"; + expectedOptions[2] = "option"; + expectedOptions[3] = "option"; + expectedOptions[4] = "option"; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + optionsnodeList = testNode.options; + + for(var indexN65648 = 0;indexN65648 < optionsnodeList.length; indexN65648++) { + voption = optionsnodeList.item(indexN65648); + optionName = voption.nodeName; + + result[result.length] = optionName; + + } + assertEqualsListAutoCase("element", "optionsLink",expectedOptions,result); + +} + + + + +function runTest() { + HTMLSelectElement08(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement09.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement09.js new file mode 100644 index 0000000..41a9ca9 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement09.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The disabled attribute indicates that this control is not available + within this context. + + Retrieve the disabled attribute from the third SELECT element + and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-79102918 +*/ +function HTMLSelectElement09() { + var success; + if(checkInitialization(builder, "HTMLSelectElement09") != null) return; + var nodeList; + var testNode; + var vdisabled; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(2); + vdisabled = testNode.disabled; + + assertTrue("disabledLink",vdisabled); + +} + + + + +function runTest() { + HTMLSelectElement09(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement10.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement10.js new file mode 100644 index 0000000..2a05689 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement10.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The multiple attribute(if true) indicates that multiple OPTION elements + may be selected + + Retrieve the multiple attribute from the first SELECT element + and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-13246613 +*/ +function HTMLSelectElement10() { + var success; + if(checkInitialization(builder, "HTMLSelectElement10") != null) return; + var nodeList; + var testNode; + var vmultiple; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vmultiple = testNode.multiple; + + assertTrue("multipleLink",vmultiple); + +} + + + + +function runTest() { + HTMLSelectElement10(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement11.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement11.js new file mode 100644 index 0000000..7fa1223 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement11.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The name attribute specifies the form control or object name when + submitted with a form. + + Retrieve the name attribute from the first SELECT element and + examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-41636323 +*/ +function HTMLSelectElement11() { + var success; + if(checkInitialization(builder, "HTMLSelectElement11") != null) return; + var nodeList; + var testNode; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vname = testNode.name; + + assertEquals("nameLink","select1",vname); + +} + + + + +function runTest() { + HTMLSelectElement11(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement12.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement12.js new file mode 100644 index 0000000..d534194 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement12.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The size attribute specifies the number of visible rows. + + Retrieve the size attribute from the first SELECT element and + examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-18293826 +*/ +function HTMLSelectElement12() { + var success; + if(checkInitialization(builder, "HTMLSelectElement12") != null) return; + var nodeList; + var testNode; + var vsize; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vsize = testNode.size; + + assertEquals("sizeLink",1,vsize); + +} + + + + +function runTest() { + HTMLSelectElement12(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement13.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement13.js new file mode 100644 index 0000000..12e9402 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement13.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement13"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The tabIndex attribute specifies an index that represents the elements + position in the tabbing order. + + Retrieve the tabIndex attribute from the first SELECT element and + examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40676705 +*/ +function HTMLSelectElement13() { + var success; + if(checkInitialization(builder, "HTMLSelectElement13") != null) return; + var nodeList; + var testNode; + var vtabindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vtabindex = testNode.tabIndex; + + assertEquals("tabIndexLink",7,vtabindex); + +} + + + + +function runTest() { + HTMLSelectElement13(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLStyleElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLStyleElement01.js new file mode 100644 index 0000000..e63f631 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLStyleElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLStyleElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "style"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The disabled attribute enables/disables the stylesheet. + + Retrieve the disabled attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-51162010 +*/ +function HTMLStyleElement01() { + var success; + if(checkInitialization(builder, "HTMLStyleElement01") != null) return; + var nodeList; + var testNode; + var vdisabled; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "style"); + nodeList = doc.getElementsByTagName("style"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdisabled = testNode.disabled; + + assertFalse("disabledLink",vdisabled); + +} + + + + +function runTest() { + HTMLStyleElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLStyleElement02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLStyleElement02.js new file mode 100644 index 0000000..c547c7d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLStyleElement02.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLStyleElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "style"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The media attribute identifies the intended medium of the style info. + + Retrieve the media attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76412738 +*/ +function HTMLStyleElement02() { + var success; + if(checkInitialization(builder, "HTMLStyleElement02") != null) return; + var nodeList; + var testNode; + var vmedia; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "style"); + nodeList = doc.getElementsByTagName("style"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vmedia = testNode.media; + + assertEquals("mediaLink","screen",vmedia); + +} + + + + +function runTest() { + HTMLStyleElement02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLStyleElement03.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLStyleElement03.js new file mode 100644 index 0000000..c085c22 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLStyleElement03.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLStyleElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "style"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The type attribute specifies the style sheet language(Internet media type). + + Retrieve the type attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-22472002 +*/ +function HTMLStyleElement03() { + var success; + if(checkInitialization(builder, "HTMLStyleElement03") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "style"); + nodeList = doc.getElementsByTagName("style"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","text/css",vtype); + +} + + + + +function runTest() { + HTMLStyleElement03(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement15.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement15.js new file mode 100644 index 0000000..6d22965 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement15.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement15"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The colSpan attribute specifies the number of columns spanned by a table + header(TH) cell. + + Retrieve the colspan attribute of the second TH element and examine its + value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-84645244 +*/ +function HTMLTableCellElement15() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement15") != null) return; + var nodeList; + var testNode; + var vcolspan; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vcolspan = testNode.colSpan; + + assertEquals("colSpanLink",1,vcolspan); + +} + + + + +function runTest() { + HTMLTableCellElement15(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement16.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement16.js new file mode 100644 index 0000000..d6e385f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement16.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement16"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The colSpan attribute specifies the number of columns spanned by a + table data(TD) cell. + + Retrieve the colSpan attribute of the second TD element and examine its + value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-84645244 +*/ +function HTMLTableCellElement16() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement16") != null) return; + var nodeList; + var testNode; + var vcolspan; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vcolspan = testNode.colSpan; + + assertEquals("colSpanLink",1,vcolspan); + +} + + + + +function runTest() { + HTMLTableCellElement16(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement23.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement23.js new file mode 100644 index 0000000..5375f82 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement23.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement23"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The rowSpan attribute specifies the number of rows spanned by a table + header(TH) cell. + + Retrieve the rowSpan attribute of the second TH element and examine its + value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-48237625 +*/ +function HTMLTableCellElement23() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement23") != null) return; + var nodeList; + var testNode; + var vrowspan; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vrowspan = testNode.rowSpan; + + assertEquals("rowSpanLink",1,vrowspan); + +} + + + + +function runTest() { + HTMLTableCellElement23(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement24.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement24.js new file mode 100644 index 0000000..6120e16 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement24.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement24"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The rowSpan attribute specifies the number of rows spanned by a + table data(TD) cell. + + Retrieve the rowSpan attribute of the second TD element and examine its + value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-48237625 +*/ +function HTMLTableCellElement24() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement24") != null) return; + var nodeList; + var testNode; + var vrowspan; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vrowspan = testNode.rowSpan; + + assertEquals("rowSpanLink",1,vrowspan); + +} + + + + +function runTest() { + HTMLTableCellElement24(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement25.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement25.js new file mode 100644 index 0000000..37c99c4 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement25.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement25"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The scope attribute specifies the scope covered by header cells. + + Retrieve the scope attribute from the second TH element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-36139952 +*/ +function HTMLTableCellElement25() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement25") != null) return; + var nodeList; + var testNode; + var vscope; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vscope = testNode.scope; + + assertEquals("scopeLink","col",vscope); + +} + + + + +function runTest() { + HTMLTableCellElement25(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableColElement07.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableColElement07.js new file mode 100644 index 0000000..2d09b66 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableColElement07.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The span attribute indicates the number of columns in a group or affected + by a grouping(COL). + + Retrieve the span attribute of the COL element and examine its + value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96511335 +*/ +function HTMLTableColElement07() { + var success; + if(checkInitialization(builder, "HTMLTableColElement07") != null) return; + var nodeList; + var testNode; + var vspan; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("col"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vspan = testNode.span; + + assertEquals("spanLink",1,vspan); + +} + + + + +function runTest() { + HTMLTableColElement07(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableColElement08.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableColElement08.js new file mode 100644 index 0000000..672827f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableColElement08.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The span attribute indicates the number of columns in a group or affected + by a grouping(COLGROUP). + + Retrieve the span attribute of the COLGROUP element and examine its + value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96511335 +*/ +function HTMLTableColElement08() { + var success; + if(checkInitialization(builder, "HTMLTableColElement08") != null) return; + var nodeList; + var testNode; + var vspan; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("colgroup"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vspan = testNode.span; + + assertEquals("spanLink",2,vspan); + +} + + + + +function runTest() { + HTMLTableColElement08(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement02.js new file mode 100644 index 0000000..116127e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement02.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The caption attribute returns the tables CAPTION or void if it does not + exist. + + Retrieve the CAPTION element from within the first TABLE element. + Since one does not exist it should be void. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14594520 +*/ +function HTMLTableElement02() { + var success; + if(checkInitialization(builder, "HTMLTableElement02") != null) return; + var nodeList; + var testNode; + var vcaption; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vcaption = testNode.caption; + + assertNull("captionLink",vcaption); + +} + + + + +function runTest() { + HTMLTableElement02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement04.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement04.js new file mode 100644 index 0000000..bb664eb --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement04.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The tHead attribute returns the tables THEAD or null if it does not + exist. + + Retrieve the THEAD element from within the first TABLE element. + Since one does not exist it should be null. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-9530944 +*/ +function HTMLTableElement04() { + var success; + if(checkInitialization(builder, "HTMLTableElement04") != null) return; + var nodeList; + var testNode; + var vsection; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vsection = testNode.tHead; + + assertNull("sectionLink",vsection); + +} + + + + +function runTest() { + HTMLTableElement04(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement06.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement06.js new file mode 100644 index 0000000..d61ca57 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement06.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The tFoot attribute returns the tables TFOOT or null if it does not + exist. + + Retrieve the TFOOT element from within the first TABLE element. + Since one does not exist it should be null. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097 +*/ +function HTMLTableElement06() { + var success; + if(checkInitialization(builder, "HTMLTableElement06") != null) return; + var nodeList; + var testNode; + var vsection; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vsection = testNode.tFoot; + + assertNull("sectionLink",vsection); + +} + + + + +function runTest() { + HTMLTableElement06(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement07.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement07.js new file mode 100644 index 0000000..b050fc4 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement07.js @@ -0,0 +1,132 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The rows attribute returns a collection of all the rows in the table, + including al in THEAD, TFOOT, all TBODY elements. + + Retrieve the rows attribute from the second TABLE element and + examine the items of the returned collection. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6156016 +*/ +function HTMLTableElement07() { + var success; + if(checkInitialization(builder, "HTMLTableElement07") != null) return; + var nodeList; + var rowsnodeList; + var testNode; + var doc; + var rowName; + var vrow; + var result = new Array(); + + expectedOptions = new Array(); + expectedOptions[0] = "tr"; + expectedOptions[1] = "tr"; + expectedOptions[2] = "tr"; + expectedOptions[3] = "tr"; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + rowsnodeList = testNode.rows; + + for(var indexN65641 = 0;indexN65641 < rowsnodeList.length; indexN65641++) { + vrow = rowsnodeList.item(indexN65641); + rowName = vrow.nodeName; + + result[result.length] = rowName; + + } + assertEqualsListAutoCase("element", "rowsLink",expectedOptions,result); + +} + + + + +function runTest() { + HTMLTableElement07(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement12.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement12.js new file mode 100644 index 0000000..1ffdd80 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement12.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The border attribute specifies the width of the border around the table. + + Retrieve the border attribute of the first TABLE element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-50969400 +*/ +function HTMLTableElement12() { + var success; + if(checkInitialization(builder, "HTMLTableElement12") != null) return; + var nodeList; + var testNode; + var vborder; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vborder = testNode.border; + + assertEquals("borderLink","4",vborder); + +} + + + + +function runTest() { + HTMLTableElement12(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableRowElement05.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableRowElement05.js new file mode 100644 index 0000000..77dd707 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableRowElement05.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The cells attribute specifies the collection of cells in this row. + + Retrieve the fourth TR element and examine the value of + the cells length attribute. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-67349879 +*/ +function HTMLTableRowElement05() { + var success; + if(checkInitialization(builder, "HTMLTableRowElement05") != null) return; + var nodeList; + var cellsnodeList; + var testNode; + var vcells; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(3); + cellsnodeList = testNode.cells; + + vcells = cellsnodeList.length; + + assertEquals("cellsLink",6,vcells); + +} + + + + +function runTest() { + HTMLTableRowElement05(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement13.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement13.js new file mode 100644 index 0000000..5f1c565 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement13.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement13"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The rows attribute specifies the collection of rows in this table section. + + Retrieve the first THEAD element and examine the value of + the rows length attribute. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52092650 +*/ +function HTMLTableSectionElement13() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement13") != null) return; + var nodeList; + var rowsnodeList; + var testNode; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("thead"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink",1,vrows); + +} + + + + +function runTest() { + HTMLTableSectionElement13(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement14.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement14.js new file mode 100644 index 0000000..d27f24b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement14.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement14"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The rows attribute specifies the collection of rows in this table section. + + Retrieve the first TFOOT element and examine the value of + the rows length attribute. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52092650 +*/ +function HTMLTableSectionElement14() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement14") != null) return; + var nodeList; + var rowsnodeList; + var testNode; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tfoot"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink",1,vrows); + +} + + + + +function runTest() { + HTMLTableSectionElement14(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement15.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement15.js new file mode 100644 index 0000000..6937129 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement15.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement15"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The rows attribute specifies the collection of rows in this table section. + + Retrieve the first TBODY element and examine the value of + the rows length attribute. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52092650 +*/ +function HTMLTableSectionElement15() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement15") != null) return; + var nodeList; + var rowsnodeList; + var testNode; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tbody"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink",2,vrows); + +} + + + + +function runTest() { + HTMLTableSectionElement15(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement02.js new file mode 100644 index 0000000..400e39f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement02.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns the FORM element containing this control. + + Retrieve the form attribute from the first TEXTAREA element + and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-18911464 +*/ +function HTMLTextAreaElement02() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement02") != null) return; + var nodeList; + var testNode; + var vform; + var fNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + fNode = testNode.form; + + vform = fNode.id; + + assertEquals("formLink","form1",vform); + +} + + + + +function runTest() { + HTMLTextAreaElement02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement03.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement03.js new file mode 100644 index 0000000..f9eaa66 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement03.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns null if control in not within the context of + a form. + + Retrieve the second TEXTAREA element and + examine its form element. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-18911464 +*/ +function HTMLTextAreaElement03() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement03") != null) return; + var nodeList; + var testNode; + var vform; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vform = testNode.form; + + assertNull("formNullLink",vform); + +} + + + + +function runTest() { + HTMLTextAreaElement03(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement04.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement04.js new file mode 100644 index 0000000..f1ce5ba --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement04.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The accessKey attribute specifies a single character access key to + give access to the form control. + + Retrieve the accessKey attribute of the 1st TEXTAREA element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93102991 +*/ +function HTMLTextAreaElement04() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement04") != null) return; + var nodeList; + var testNode; + var vaccesskey; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vaccesskey = testNode.accessKey; + + assertEquals("accessKeyLink","c",vaccesskey); + +} + + + + +function runTest() { + HTMLTextAreaElement04(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement05.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement05.js new file mode 100644 index 0000000..ffb050a --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement05.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The cols attribute specifies the width of control(in characters). + + Retrieve the cols attribute of the 1st TEXTAREA element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-51387225 +*/ +function HTMLTextAreaElement05() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement05") != null) return; + var nodeList; + var testNode; + var vcols; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vcols = testNode.cols; + + assertEquals("colsLink",20,vcols); + +} + + + + +function runTest() { + HTMLTextAreaElement05(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement06.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement06.js new file mode 100644 index 0000000..3e8271a --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement06.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The disabled attribute specifies the control is unavailable in this + context. + + Retrieve the disabled attribute from the 2nd TEXTAREA element and + examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98725443 +*/ +function HTMLTextAreaElement06() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement06") != null) return; + var nodeList; + var testNode; + var vdisabled; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vdisabled = testNode.disabled; + + assertTrue("disabledLink",vdisabled); + +} + + + + +function runTest() { + HTMLTextAreaElement06(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement07.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement07.js new file mode 100644 index 0000000..b1e6d71 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement07.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The name attribute specifies the form control or object name when + submitted with a form. + + Retrieve the name attribute of the 1st TEXTAREA element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-70715578 +*/ +function HTMLTextAreaElement07() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement07") != null) return; + var nodeList; + var testNode; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vname = testNode.name; + + assertEquals("nameLink","text1",vname); + +} + + + + +function runTest() { + HTMLTextAreaElement07(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement08.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement08.js new file mode 100644 index 0000000..31714f9 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement08.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The readOnly attribute specifies this control is read-only. + + Retrieve the readOnly attribute from the 3rd TEXTAREA element and + examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39131423 +*/ +function HTMLTextAreaElement08() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement08") != null) return; + var nodeList; + var testNode; + var vreadonly; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(2); + vreadonly = testNode.readOnly; + + assertTrue("readOnlyLink",vreadonly); + +} + + + + +function runTest() { + HTMLTextAreaElement08(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement09.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement09.js new file mode 100644 index 0000000..baef099 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement09.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The rows attribute specifies the number of text rowns. + + Retrieve the rows attribute of the 1st TEXTAREA element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-46975887 +*/ +function HTMLTextAreaElement09() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement09") != null) return; + var nodeList; + var testNode; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vrows = testNode.rows; + + assertEquals("rowsLink",7,vrows); + +} + + + + +function runTest() { + HTMLTextAreaElement09(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement10.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement10.js new file mode 100644 index 0000000..762fef3 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement10.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The tabIndex attribute is an index that represents the element's position + in the tabbing order. + + Retrieve the tabIndex attribute of the 1st TEXTAREA element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-60363303 +*/ +function HTMLTextAreaElement10() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement10") != null) return; + var nodeList; + var testNode; + var vtabindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vtabindex = testNode.tabIndex; + + assertEquals("tabIndexLink",5,vtabindex); + +} + + + + +function runTest() { + HTMLTextAreaElement10(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTitleElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTitleElement01.js new file mode 100644 index 0000000..ba4ad26 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTitleElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTitleElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "title"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The text attribute is the specified title as a string. + + Retrieve the text attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-77500413 +*/ +function HTMLTitleElement01() { + var success; + if(checkInitialization(builder, "HTMLTitleElement01") != null) return; + var nodeList; + var testNode; + var vtext; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "title"); + nodeList = doc.getElementsByTagName("title"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtext = testNode.text; + + assertEquals("textLink","NIST DOM HTML Test - TITLE",vtext); + +} + + + + +function runTest() { + HTMLTitleElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/anchor01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/anchor01.js new file mode 100644 index 0000000..f185f5a --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/anchor01.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/anchor01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +A single character access key to give access to the form control. +The value of attribute accessKey of the anchor element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-89647724 +*/ +function anchor01() { + var success; + if(checkInitialization(builder, "anchor01") != null) return; + var nodeList; + var testNode; + var vaccesskey; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vaccesskey = testNode.accessKey; + + assertEquals("accessKeyLink","g",vaccesskey); + +} + + + + +function runTest() { + anchor01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/anchor04.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/anchor04.js new file mode 100644 index 0000000..1a578ef --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/anchor04.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/anchor04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The URI of the linked resource. +The value of attribute href of the anchor element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88517319 +*/ +function anchor04() { + var success; + if(checkInitialization(builder, "anchor04") != null) return; + var nodeList; + var testNode; + var vhref; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vhref = testNode.href; + + assertURIEquals("hrefLink",null,null,null,"submit.gif",null,null,null,true,vhref); + +} + + + + +function runTest() { + anchor04(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/anchor05.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/anchor05.js new file mode 100644 index 0000000..5b0103a --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/anchor05.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/anchor05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Advisory content type. +The value of attribute type of the anchor element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63938221 +*/ +function anchor05() { + var success; + if(checkInitialization(builder, "anchor05") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","image/gif",vtype); + +} + + + + +function runTest() { + anchor05(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area01.js new file mode 100644 index 0000000..8fe9f88 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area01.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/area01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "area"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-66021476 +*/ +function area01() { + var success; + if(checkInitialization(builder, "area01") != null) return; + var nodeList; + var testNode; + var vcoords; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "area"); + nodeList = doc.getElementsByTagName("area"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcoords = testNode.coords; + + assertEquals("coordsLink","0,2,45,45",vcoords); + +} + + + + +function runTest() { + area01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area02.js new file mode 100644 index 0000000..59d16a8 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area02.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/area02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "area"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-61826871 +*/ +function area02() { + var success; + if(checkInitialization(builder, "area02") != null) return; + var nodeList; + var testNode; + var vnohref; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "area"); + nodeList = doc.getElementsByTagName("area"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vnohref = testNode.noHref; + + assertFalse("noHrefLink",vnohref); + +} + + + + +function runTest() { + area02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area03.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area03.js new file mode 100644 index 0000000..b335beb --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area03.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/area03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "area"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-8722121 +*/ +function area03() { + var success; + if(checkInitialization(builder, "area03") != null) return; + var nodeList; + var testNode; + var vtabindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "area"); + nodeList = doc.getElementsByTagName("area"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtabindex = testNode.tabIndex; + + assertEquals("tabIndexLink",10,vtabindex); + +} + + + + +function runTest() { + area03(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area04.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area04.js new file mode 100644 index 0000000..daefea2 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area04.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/area04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "area"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-57944457 +*/ +function area04() { + var success; + if(checkInitialization(builder, "area04") != null) return; + var nodeList; + var testNode; + var vaccesskey; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "area"); + nodeList = doc.getElementsByTagName("area"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vaccesskey = testNode.accessKey; + + assertEquals("accessKeyLink","a",vaccesskey); + +} + + + + +function runTest() { + area04(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button01.js new file mode 100644 index 0000000..68151af --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button01.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/button01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Returns the FORM element containing this control. Returns null if this control is not within the context of a form. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71254493 +*/ +function button01() { + var success; + if(checkInitialization(builder, "button01") != null) return; + var nodeList; + var testNode; + var vform; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vform = testNode.form; + + assertNull("formLink",vform); + +} + + + + +function runTest() { + button01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button02.js new file mode 100644 index 0000000..e8f45a4 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button02.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/button02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The value of attribute name of the form element which contains this button is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71254493 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function button02() { + var success; + if(checkInitialization(builder, "button02") != null) return; + var nodeList; + var testNode; + var formNode; + var vfname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + formNode = testNode.form; + + vfname = formNode.id; + + assertEquals("formLink","form2",vfname); + +} + + + + +function runTest() { + button02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button03.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button03.js new file mode 100644 index 0000000..4ae81ac --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button03.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/button03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The value of attribute action of the form element which contains this button is read and checked against the expected value + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71254493 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-74049184 +*/ +function button03() { + var success; + if(checkInitialization(builder, "button03") != null) return; + var nodeList; + var testNode; + var formNode; + var vfaction; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + formNode = testNode.form; + + vfaction = formNode.action; + + assertEquals("formLink","...",vfaction); + +} + + + + +function runTest() { + button03(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button04.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button04.js new file mode 100644 index 0000000..ff7e32b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button04.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/button04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The value of attribute method of the form element which contains this button is read and checked against the expected value + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71254493 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-82545539 +*/ +function button04() { + var success; + if(checkInitialization(builder, "button04") != null) return; + var nodeList; + var testNode; + var formNode; + var vfmethod; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + formNode = testNode.form; + + vfmethod = formNode.method; + + assertEquals("formLink","POST".toLowerCase(),vfmethod.toLowerCase()); + +} + + + + +function runTest() { + button04(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button05.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button05.js new file mode 100644 index 0000000..1bc6767 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button05.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/button05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +A single character access key to give access to the form control. +The value of attribute accessKey of the button element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-73169431 +*/ +function button05() { + var success; + if(checkInitialization(builder, "button05") != null) return; + var nodeList; + var testNode; + var vakey; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vakey = testNode.accessKey; + + assertEquals("accessKeyLink","f".toLowerCase(),vakey.toLowerCase()); + +} + + + + +function runTest() { + button05(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button06.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button06.js new file mode 100644 index 0000000..84f4118 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button06.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/button06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Index that represents the element's position in the tabbing order. +The value of attribute tabIndex of the button element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39190908 +*/ +function button06() { + var success; + if(checkInitialization(builder, "button06") != null) return; + var nodeList; + var testNode; + var vtabIndex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vtabIndex = testNode.tabIndex; + + assertEquals("tabIndexLink",20,vtabIndex); + +} + + + + +function runTest() { + button06(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button07.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button07.js new file mode 100644 index 0000000..e619d04 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button07.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/button07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The type of button +The value of attribute type of the button element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-27430092 +*/ +function button07() { + var success; + if(checkInitialization(builder, "button07") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","reset",vtype); + +} + + + + +function runTest() { + button07(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button08.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button08.js new file mode 100644 index 0000000..24062ed --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button08.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/button08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The control is unavailable in this context. +The boolean value of attribute disabled of the button element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-92757155 +*/ +function button08() { + var success; + if(checkInitialization(builder, "button08") != null) return; + var nodeList; + var testNode; + var vdisabled; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vdisabled = testNode.disabled; + + assertTrue("disabledLink",vdisabled); + +} + + + + +function runTest() { + button08(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button09.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button09.js new file mode 100644 index 0000000..4db3697 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button09.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/button09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The current form control value. +The value of attribute value of the button element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-72856782 +*/ +function button09() { + var success; + if(checkInitialization(builder, "button09") != null) return; + var nodeList; + var testNode; + var vvalue; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vvalue = testNode.value; + + assertEquals("typeLink","Reset Disabled Button",vvalue); + +} + + + + +function runTest() { + button09(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/doc01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/doc01.js new file mode 100644 index 0000000..4565ccf --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/doc01.js @@ -0,0 +1,106 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/doc01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Retrieve the title attribute of HTMLDocument and examine it's value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-18446827 +*/ +function doc01() { + var success; + if(checkInitialization(builder, "doc01") != null) return; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + vtitle = doc.title; + + assertEquals("titleLink","NIST DOM HTML Test - Anchor",vtitle); + +} + + + + +function runTest() { + doc01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/.cvsignore b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/.cvsignore new file mode 100644 index 0000000..30d6772 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/.cvsignore @@ -0,0 +1,6 @@ +xhtml1-frameset.dtd +xhtml1-strict.dtd +xhtml1-transitional.dtd +xhtml-lat1.ent +xhtml-special.ent +xhtml-symbol.ent diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/HTMLDocument04.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/HTMLDocument04.html new file mode 100644 index 0000000..6e56eac --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/HTMLDocument04.html @@ -0,0 +1,36 @@ + + + + +NIST DOM HTML Test - DOCUMENT + + +
    +

    + + + +

    +
    +

    + +Domain +Domain + +

    +

    +DTS IMAGE LOGO +

    +

    + + + + + + +

    +

    +View Submit Button +

    + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/anchor.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/anchor.html new file mode 100644 index 0000000..952e8d9 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/anchor.html @@ -0,0 +1,12 @@ + + + + +NIST DOM HTML Test - Anchor + + +

    +View Submit Button +

    + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/anchor2.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/anchor2.html new file mode 100644 index 0000000..1b04fb9 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/anchor2.html @@ -0,0 +1,13 @@ + + + + +NIST DOM HTML Test - Anchor + + +

    +View Submit Button +

    + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/applet.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/applet.html new file mode 100644 index 0000000..d721cf1 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/applet.html @@ -0,0 +1,12 @@ + + + + +NIST DOM HTML Test - Applet + + +

    + +

    + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/applet2.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/applet2.html new file mode 100644 index 0000000..0379ed1 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/applet2.html @@ -0,0 +1,12 @@ + + + + +NIST DOM HTML Test - Applet + + +

    + +

    + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/area.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/area.html new file mode 100644 index 0000000..dddff68 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/area.html @@ -0,0 +1,14 @@ + + + + +NIST DOM HTML Test - Area + + +

    + +Domain + +

    + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/area2.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/area2.html new file mode 100644 index 0000000..f1ae081 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/area2.html @@ -0,0 +1,15 @@ + + + + +NIST DOM HTML Test - Area + + +

    + +Domain + +

    + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/base.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/base.html new file mode 100644 index 0000000..53d151d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/base.html @@ -0,0 +1,11 @@ + + + + + +NIST DOM HTML Test - Base + + +

    Some Text

    + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/base2.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/base2.html new file mode 100644 index 0000000..c9e0d1a --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/base2.html @@ -0,0 +1,15 @@ + + + + + +NIST DOM HTML Test - Base2 + + + + + + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/basefont.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/basefont.html new file mode 100644 index 0000000..e3753f7 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/basefont.html @@ -0,0 +1,12 @@ + + + + +NIST DOM HTML Test - BaseFont + + +

    + +

    + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/body.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/body.html new file mode 100644 index 0000000..6468cd0 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/body.html @@ -0,0 +1,10 @@ + + + + +NIST DOM HTML Test - Body + + +

    Hello, World

    + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/br.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/br.html new file mode 100644 index 0000000..0a3a3d4 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/br.html @@ -0,0 +1,12 @@ + + + + +NIST DOM HTML Test - BR + + +

    +
    +

    + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/button.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/button.html new file mode 100644 index 0000000..c891ba4 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/button.html @@ -0,0 +1,21 @@ + + + + +NIST DOM HTML Test - Button + + +
    +

    + +

    +
    + + + + +
    + +
    + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/collection.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/collection.html new file mode 100644 index 0000000..885202d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/collection.html @@ -0,0 +1,79 @@ + + + + +NIST DOM HTML Test - SELECT + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table Caption
    Employee IdEmployee NamePositionSalaryGenderAddress
    next page ...next page ...next page ...next page ...next page ...next page ...
    EMP0001Margaret MartinAccountant56,000Female1230 North Ave. Dallas, Texas 98551
    EMP0002Martha RaynoldsSecretary35,000Female1900 Dallas Road Dallas, Texas 98554
    +
    +

    + +

    +
    +

    + +

    +

    + +

    + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/directory.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/directory.html new file mode 100644 index 0000000..0e2f460 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/directory.html @@ -0,0 +1,14 @@ + + + + +NIST DOM HTML Test - Directory + + + +
  • DIR item number 1.
  • +
  • DIR item number 2.
  • +
  • DIR item number 3.
  • +
    + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/div.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/div.html new file mode 100644 index 0000000..6b83646 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/div.html @@ -0,0 +1,10 @@ + + + + +NIST DOM HTML Test - DIV + + +
    The DIV element is a generic block container. This text should be centered.
    + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/dl.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/dl.html new file mode 100644 index 0000000..5dec3af --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/dl.html @@ -0,0 +1,15 @@ + + + + +NIST DOM HTML Test - DL + + +
    +
    Accountant
    +
    56,000
    +
    Female
    +
    1230 North Ave. Dallas, Texas 98551
    +
    + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/document.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/document.html new file mode 100644 index 0000000..9cd9c8a --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/document.html @@ -0,0 +1,36 @@ + + + + +NIST DOM HTML Test - DOCUMENT + + +
    +

    + + + +

    +
    +

    + +Domain +Domain + +

    +

    +DTS IMAGE LOGO +

    +

    + + + + + + +

    +

    +View Submit Button +

    + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/element.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/element.html new file mode 100644 index 0000000..a0c198e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/element.html @@ -0,0 +1,81 @@ + + + + +NIST DOM HTML Test - Element + + +
    + +
    +
    +

    Test Lists

    +
    +
    +
      +
    1. EMP0001 +
        +
      • Margaret Martin +
        +
        Accountant
        +
        56,000
        +
        Female
        +
        1230 North Ave. Dallas, Texas 98551
        +
        +
      • +
      +
    2. +
    +
    +Bold +
    +
    +
    DT element
    +
    +
    +Bidirectional algorithm overide + +
    +Italicized +
    + +
    +Teletype +
    +Subscript +
    +SuperScript +
    +Strike Through (S) +
    +Strike Through (STRIKE) +
    +Small +
    +Big +
    +Emphasis +
    +Strong +
    + + 10 Computer Code Fragment 20 Temp = 10 + Temp = 20 + *2 + Temp + Citation + +
    +Temp +
    +NIST +
    +
    Gaithersburg, MD 20899
    +
    +Not +
    + +
    +Underlined + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/fieldset.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/fieldset.html new file mode 100644 index 0000000..312ea44 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/fieldset.html @@ -0,0 +1,23 @@ + + + + +NIST DOM HTML Test - FieldSet + + +
    +
    +All data entered must be valid +
    +
    + + + + +
    +
    +All data entered must be valid +
    +
    + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/font.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/font.html new file mode 100644 index 0000000..894e442 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/font.html @@ -0,0 +1,10 @@ + + + + +NIST DOM HTML Test - Font + + +Test Tables + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/form.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/form.html new file mode 100644 index 0000000..d8bf024 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/form.html @@ -0,0 +1,17 @@ + + + + +NIST DOM HTML Test - FORM + + +
    +

    + + + +

    +
    + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/form2.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/form2.html new file mode 100644 index 0000000..c44b672 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/form2.html @@ -0,0 +1,17 @@ + + + + +NIST DOM HTML Test - FORM + + +
    +

    + + + +

    +
    + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/form3.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/form3.html new file mode 100644 index 0000000..543d09e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/form3.html @@ -0,0 +1,17 @@ + + + + +FORM3 + + +
    +

    + + + +

    +
    + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/frame.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/frame.html new file mode 100644 index 0000000..41182c9 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/frame.html @@ -0,0 +1,14 @@ + + + + +NIST DOM HTML Test - FRAME + + + + + + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/frameset.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/frameset.html new file mode 100644 index 0000000..f208fe0 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/frameset.html @@ -0,0 +1,14 @@ + + + + +NIST DOM HTML Test - FRAMESET + + + + + + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/head.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/head.html new file mode 100644 index 0000000..5bbb8c0 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/head.html @@ -0,0 +1,11 @@ + + + + +NIST DOM HTML Test - HEAD + + +

    Hello, World.

    + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/heading.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/heading.html new file mode 100644 index 0000000..90d388c --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/heading.html @@ -0,0 +1,16 @@ + + + + +NIST DOM HTML Test - HEADING + + +

    Head Element 1

    +

    Head Element 2

    +

    Head Element 3

    +

    Head Element 4

    +
    Head Element 5
    +
    Head Element 6
    + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/hr.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/hr.html new file mode 100644 index 0000000..9c4facc --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/hr.html @@ -0,0 +1,11 @@ + + + + +NIST DOM HTML Test - HR + + +
    + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/html.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/html.html new file mode 100644 index 0000000..2c91731 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/html.html @@ -0,0 +1,12 @@ + + + + +NIST DOM HTML Test - Html + + +

    Hello, World.

    + + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/iframe.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/iframe.html new file mode 100644 index 0000000..0a44fc3 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/iframe.html @@ -0,0 +1,10 @@ + + + + +NIST DOM HTML Test - IFRAME + + + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/img.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/img.html new file mode 100644 index 0000000..b4e8b27 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/img.html @@ -0,0 +1,13 @@ + + + + +NIST DOM HTML Test - IMG + + +

    +DTS IMAGE LOGO +

    + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/input.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/input.html new file mode 100644 index 0000000..c36e87d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/input.html @@ -0,0 +1,60 @@ + + + + +NIST DOM HTML Test - INPUT + + + + + + +
    Under a FORM control +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    +ReHire +
    +NewHire +
    Hours available to work +EarlyMornings +
    +Afternoon +
    +Evenings +
    +Closing +
    +
    + +
    + +
    +
    +
    + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/isindex.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/isindex.html new file mode 100644 index 0000000..0fd50ce --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/isindex.html @@ -0,0 +1,14 @@ + + + + +NIST DOM HTML Test - ISINDEX + + +
    + + + + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/label.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/label.html new file mode 100644 index 0000000..d0abc04 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/label.html @@ -0,0 +1,21 @@ + + + + +NIST DOM HTML Test - LABEL + + +
    +

    + + +

    +
    +

    + + +

    + + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/legend.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/legend.html new file mode 100644 index 0000000..53160ee --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/legend.html @@ -0,0 +1,22 @@ + + + + +NIST DOM HTML Test - LEGEND + + +
    +
    +Enter Password1: + +
    +
    +
    +Enter Password2: + +
    + + + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/li.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/li.html new file mode 100644 index 0000000..0c97b4c --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/li.html @@ -0,0 +1,23 @@ + + + + +NIST DOM HTML Test - LI + + +
      +
    1. EMP0001 +
        +
      • Margaret Martin +
        +
        Accountant
        +
        56,000
        +
        Female
        +
        +
      • +
      +
    2. +
    + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/link.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/link.html new file mode 100644 index 0000000..2d4c082 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/link.html @@ -0,0 +1,15 @@ + + + + +NIST DOM HTML Test - LINK + + + + +

    +
    +

    + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/link2.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/link2.html new file mode 100644 index 0000000..12fac9d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/link2.html @@ -0,0 +1,15 @@ + + + + +NIST DOM HTML Test - LINK + + + + +

    +
    +

    + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/map.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/map.html new file mode 100644 index 0000000..a636fa5 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/map.html @@ -0,0 +1,16 @@ + + + + +NIST DOM HTML Test - MAP + + +

    + +Domain1 +Domain2 +Domain3 + +

    + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/menu.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/menu.html new file mode 100644 index 0000000..e07204f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/menu.html @@ -0,0 +1,15 @@ + + + + +NIST DOM HTML Test - MENU + + + +
  • Interview
  • +
  • Paperwork
  • +
  • Give start date
  • +
    + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/meta.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/meta.html new file mode 100644 index 0000000..e88fe8f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/meta.html @@ -0,0 +1,13 @@ + + + + +NIST DOM HTML Test - META + + +

    +
    +

    + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/mod.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/mod.html new file mode 100644 index 0000000..1ab7969 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/mod.html @@ -0,0 +1,15 @@ + + + + +NIST DOM HTML Test - MOD + + +

    +The INS element is used to indicate that a section of a document had been inserted. +
    +The DEL element is used to indicate that a section of a document had been removed. +

    + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/object.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/object.html new file mode 100644 index 0000000..7960549 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/object.html @@ -0,0 +1,18 @@ + + + + +NIST DOM HTML Test - OBJECT + + +

    + +

    +
    +

    + +

    +
    + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/object2.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/object2.html new file mode 100644 index 0000000..0a39363 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/object2.html @@ -0,0 +1,17 @@ + + + + +NIST DOM HTML Test - OBJECT + + +

    + +

    +
    +

    + +

    +
    + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/olist.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/olist.html new file mode 100644 index 0000000..f69c9de --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/olist.html @@ -0,0 +1,32 @@ + + + + +NIST DOM HTML Test - OLIST + + +
      +
    1. EMP0001 +
        +
      • Margaret Martin +
        +
        Accountant
        +
        56,000
        +
        +
      • +
      +
    2. +
    3. EMP0002 +
        +
      • Martha Raynolds +
        +
        Secretary
        +
        35,000
        +
        +
      • +
      +
    4. +
    + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/optgroup.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/optgroup.html new file mode 100644 index 0000000..a354af8 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/optgroup.html @@ -0,0 +1,25 @@ + + + + +NIST DOM HTML Test - OPTGROUP + + +
    +

    + +

    +
    + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/option.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/option.html new file mode 100644 index 0000000..83707c3 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/option.html @@ -0,0 +1,36 @@ + + + + +NIST DOM HTML Test - OPTION + + +
    +

    + +

    +
    +

    + +

    + + + + + + + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/paragraph.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/paragraph.html new file mode 100644 index 0000000..0da4836 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/paragraph.html @@ -0,0 +1,13 @@ + + + + +NIST DOM HTML Test - PARAGRAPH + + +

    +TEXT +

    + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/param.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/param.html new file mode 100644 index 0000000..290e626 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/param.html @@ -0,0 +1,14 @@ + + + + +NIST DOM HTML Test - PARAM + + +

    + + + +

    + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/pre.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/pre.html new file mode 100644 index 0000000..2a40206 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/pre.html @@ -0,0 +1,17 @@ + + + + +NIST DOM HTML Test - PRE + + +
    The PRE is used to indicate pre-formatted text.  Visual agents may:
    +
    +                leave white space intact.
    +                May render text with a fixed-pitch font.
    +                May disable automatic word wrap.
    +                Must not disable bidirectional processing.
    +
    + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/quote.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/quote.html new file mode 100644 index 0000000..6bad2b8 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/quote.html @@ -0,0 +1,16 @@ + + + + +NIST DOM HTML Test - QUOTE + + +

    +The Q element is intended for short quotations +

    +
    +

    The BLOCKQUOTE element is used for long quotations.

    +
    + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/script.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/script.html new file mode 100644 index 0000000..362860b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/script.html @@ -0,0 +1,11 @@ + + + + +NIST DOM HTML Test - SCRIPT + + + + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/select.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/select.html new file mode 100644 index 0000000..7820624 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/select.html @@ -0,0 +1,44 @@ + + + + +NIST DOM HTML Test - SELECT + + +
    +

    + +

    +
    +

    + +

    +

    + +

    + + + + + + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/style.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/style.html new file mode 100644 index 0000000..c3df424 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/style.html @@ -0,0 +1,12 @@ + + + + + +NIST DOM HTML Test - STYLE + + +

    Hello, World.

    + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/table.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/table.html new file mode 100644 index 0000000..b8f151e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/table.html @@ -0,0 +1,78 @@ + + + + +NIST DOM HTML Test - TABLE + + + + + + + + + +
    IdNamePositionSalary
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table Caption
    Employee IdEmployee NamePositionSalaryGenderAddress
    next page ...next page ...next page ...next page ...next page ...next page ...
    EMP0001Margaret MartinAccountant56,000Female1230 North Ave. Dallas, Texas 98551
    EMP0002Martha RaynoldsSecretary35,000Female1900 Dallas Road Dallas, Texas 98554
    + + + + + + + + + + + + + + + + +
    +
    +
    +
    + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/table1.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/table1.html new file mode 100644 index 0000000..8f5d19b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/table1.html @@ -0,0 +1,12 @@ + + + + +NIST DOM HTML Test - TABLE + + + + +
    HTML can't abide empty table
    + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablecaption.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablecaption.html new file mode 100644 index 0000000..f9181c7 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablecaption.html @@ -0,0 +1,25 @@ + + + + +NIST DOM HTML Test - TABLECAPTION + + + + + + + + + + +
    CAPTION 1
    Employee IdEmployee NamePositionSalary
    + + + + + + + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablecell.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablecell.html new file mode 100644 index 0000000..c9adef2 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablecell.html @@ -0,0 +1,23 @@ + + + + +NIST DOM HTML Test - TABLECELL + + + + + + + + + + + + + + + +
    Employee IdEmployee NamePositionSalary
    EMP0001Margaret MartinAccountant56,000
    + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablecol.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablecol.html new file mode 100644 index 0000000..c72a948 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablecol.html @@ -0,0 +1,35 @@ + + + + +NIST DOM HTML Test - TABLECOL + + + +++ + + + + + + + + + + + + +
    IdNamePositionSalary
    EMP0001MartinAccountant56,000
    + + + + + + + + + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablerow.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablerow.html new file mode 100644 index 0000000..9e76a4c --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablerow.html @@ -0,0 +1,59 @@ + + + + +NIST DOM HTML Test - TABLEROW + + + + + + + + + +
    IdNamePositionSalary
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table Caption
    Employee IdEmployee NamePositionSalaryGenderAddress
    next page ...next page ...next page ...next page ...next page ...next page ...
    EMP0001Margaret MartinAccountant56,000Female1230 North Ave. Dallas, Texas 98551
    EMP0002Martha RaynoldsSecretary35,000Female1900 Dallas Road Dallas, Texas 98554
    + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablesection.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablesection.html new file mode 100644 index 0000000..0c1a5f7 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablesection.html @@ -0,0 +1,62 @@ + + + + +NIST DOM HTML Test - TABLESECTION + + + + + + + + + + + +
    IdNamePositionSalary
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table Caption
    Employee IdEmployee NamePositionSalaryGenderAddress
    next page ...next page ...next page ...next page ...next page ...next page ...
    EMP0001Margaret MartinAccountant56,000Female1230 North Ave. Dallas, Texas 98551
    EMP0002Martha RaynoldsSecretary35,000Female1900 Dallas Road Dallas, Texas 98554
    + + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/textarea.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/textarea.html new file mode 100644 index 0000000..b9aedc4 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/textarea.html @@ -0,0 +1,26 @@ + + + + +NIST DOM HTML Test - TEXTAREA + + +
    +

    + + + +

    +
    +

    + + + + + + +

    + + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/title.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/title.html new file mode 100644 index 0000000..2078ee9 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/title.html @@ -0,0 +1,13 @@ + + + + +NIST DOM HTML Test - TITLE + + +

    +
    +

    + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/ulist.html b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/ulist.html new file mode 100644 index 0000000..75498e2 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/ulist.html @@ -0,0 +1,36 @@ + + + + +NIST DOM HTML Test - ULIST + + +
      +
    1. EMP0001 +
        +
      • Margaret Martin +
        +
        Accountant
        +
        56,000
        +
        Female
        +
        1230 North Ave. Dallas, Texas 98551
        +
        +
      • +
      +
    2. +
    3. EMP0002 +
        +
      • Martha Raynolds +
        +
        Secretary
        +
        35,000
        +
        Female
        +
        1900 Dallas Road. Dallas, Texas 98554
        +
        +
      • +
      +
    4. +
    + + + diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/hasFeature01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/hasFeature01.js new file mode 100644 index 0000000..d717032 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/hasFeature01.js @@ -0,0 +1,96 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/hasFeature01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + if (docsLoaded == 0) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 0) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +hasFeature("hTmL", null) should return true. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-5CED94D7 +*/ +function hasFeature01() { + var success; + if(checkInitialization(builder, "hasFeature01") != null) return; + var doc; + var domImpl; + var version = null; + + var state; + domImpl = getImplementation(); +state = domImpl.hasFeature("hTmL",version); +assertTrue("hasHTMLnull",state); + +} + + + + +function runTest() { + hasFeature01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument02.js new file mode 100644 index 0000000..4d3d8e5 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument02.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The referrer attribute returns the URI of the page that linked to this + page. + + Retrieve the referrer attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95229140 +*/ +function HTMLDocument02() { + var success; + if(checkInitialization(builder, "HTMLDocument02") != null) return; + var nodeList; + var testNode; + var vreferrer; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + vreferrer = doc.referrer; + + assertEquals("referrerLink","",vreferrer); + +} + + + + +function runTest() { + HTMLDocument02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument03.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument03.js new file mode 100644 index 0000000..884dd1a --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument03.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The domain attribute specifies the domain name of the server that served + the document, or null if the server cannot be identified by a domain name. + + Retrieve the domain attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-2250147 +*/ +function HTMLDocument03() { + var success; + if(checkInitialization(builder, "HTMLDocument03") != null) return; + var nodeList; + var testNode; + var vdomain; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + vdomain = doc.domain; + + assertEquals("domainLink","",vdomain); + +} + + + + +function runTest() { + HTMLDocument03(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument04.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument04.js new file mode 100644 index 0000000..c8c7669 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument04.js @@ -0,0 +1,110 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "HTMLDocument04"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The URL attribute specifies the absolute URI of the document. + + Retrieve the URL attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-46183437 +*/ +function HTMLDocument04() { + var success; + if(checkInitialization(builder, "HTMLDocument04") != null) return; + var nodeList; + var testNode; + var vurl; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "HTMLDocument04"); + vurl = doc.URL; + + assertURIEquals("URLLink",null,null,null,null,"HTMLDocument04",null,null,true,vurl); + +} + + + + +function runTest() { + HTMLDocument04(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument07.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument07.js new file mode 100644 index 0000000..4223896 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument07.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The images attribute returns a collection of all IMG elements in a document. + + Retrieve the images attribute from the document and examine its value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-90379117 +*/ +function HTMLDocument07() { + var success; + if(checkInitialization(builder, "HTMLDocument07") != null) return; + var nodeList; + var testNode; + var vimages; + var vlength; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + vimages = doc.images; + + vlength = vimages.length; + + assertEquals("lengthLink",1,vlength); + +} + + + + +function runTest() { + HTMLDocument07(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument09.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument09.js new file mode 100644 index 0000000..bea426e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument09.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The links attribute returns a collection of all AREA and A elements + in a document with a value for the href attribute. + + Retrieve the links attribute from the document and examine its value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-7068919 +*/ +function HTMLDocument09() { + var success; + if(checkInitialization(builder, "HTMLDocument09") != null) return; + var nodeList; + var testNode; + var vlinks; + var vlength; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + vlinks = doc.links; + + vlength = vlinks.length; + + assertEquals("lengthLink",3,vlength); + +} + + + + +function runTest() { + HTMLDocument09(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument10.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument10.js new file mode 100644 index 0000000..0595c99 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument10.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The forms attribute returns a collection of all the forms in a document. + + Retrieve the forms attribute from the document and examine its value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-1689064 +*/ +function HTMLDocument10() { + var success; + if(checkInitialization(builder, "HTMLDocument10") != null) return; + var nodeList; + var testNode; + var vforms; + var vlength; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + vforms = doc.forms; + + vlength = vforms.length; + + assertEquals("lengthLink",1,vlength); + +} + + + + +function runTest() { + HTMLDocument10(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument12.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument12.js new file mode 100644 index 0000000..9be7e7b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument12.js @@ -0,0 +1,109 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The cookie attribute returns the cookies associated with this document. + + Retrieve the cookie attribute and examine its value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-8747038 +*/ +function HTMLDocument12() { + var success; + if(checkInitialization(builder, "HTMLDocument12") != null) return; + var nodeList; + var vcookie; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + vcookie = doc.cookie; + + assertEquals("cookieLink","",vcookie); + +} + + + + +function runTest() { + HTMLDocument12(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement01.js new file mode 100644 index 0000000..11aefe8 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement01.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFormElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "form"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The elements attribute specifies a collection of all control element + in the form. + + Retrieve the elements attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76728479 +*/ +function HTMLFormElement01() { + var success; + if(checkInitialization(builder, "HTMLFormElement01") != null) return; + var nodeList; + var elementnodeList; + var testNode; + var velements; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "form"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + elementnodeList = testNode.elements; + + velements = elementnodeList.length; + + assertEquals("elementsLink",3,velements); + +} + + + + +function runTest() { + HTMLFormElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement09.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement09.js new file mode 100644 index 0000000..07c97ae --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement09.js @@ -0,0 +1,107 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFormElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "form2"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +HTMLFormElement.reset restores the forms default values. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76767677 +*/ +function HTMLFormElement09() { + var success; + if(checkInitialization(builder, "HTMLFormElement09") != null) return; + var nodeList; + var testNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "form2"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + testNode.reset(); + +} + + + + +function runTest() { + HTMLFormElement09(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement10.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement10.js new file mode 100644 index 0000000..fd8a2a1 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement10.js @@ -0,0 +1,107 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFormElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "form3"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +HTMLFormElement.submit submits the form. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76767676 +*/ +function HTMLFormElement10() { + var success; + if(checkInitialization(builder, "HTMLFormElement10") != null) return; + var nodeList; + var testNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "form3"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + testNode.submit(); + +} + + + + +function runTest() { + HTMLFormElement10(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement19.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement19.js new file mode 100644 index 0000000..5141acf --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement19.js @@ -0,0 +1,107 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement19"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +HTMLInputElement.blur should surrender input focus. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-26838235 +*/ +function HTMLInputElement19() { + var success; + if(checkInitialization(builder, "HTMLInputElement19") != null) return; + var nodeList; + var testNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(1); + testNode.blur(); + +} + + + + +function runTest() { + HTMLInputElement19(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement20.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement20.js new file mode 100644 index 0000000..aac64e9 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement20.js @@ -0,0 +1,107 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement20"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +HTMLInputElement.focus should capture input focus. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-65996295 +*/ +function HTMLInputElement20() { + var success; + if(checkInitialization(builder, "HTMLInputElement20") != null) return; + var nodeList; + var testNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(1); + testNode.focus(); + +} + + + + +function runTest() { + HTMLInputElement20(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement22.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement22.js new file mode 100644 index 0000000..a1ce02e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement22.js @@ -0,0 +1,108 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement22"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +HTMLInputElement.select should select the contents of a text area. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-34677168 +*/ +function HTMLInputElement22() { + var success; + if(checkInitialization(builder, "HTMLInputElement22") != null) return; + var nodeList; + var testNode; + var doc; + var checked; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(0); + testNode.select(); + +} + + + + +function runTest() { + HTMLInputElement22(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement01.js new file mode 100644 index 0000000..925bfca --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement01.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The type attribute is the string "select-multiple" when multiple + attribute is true. + + Retrieve the type attribute from the first SELECT element and + examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-58783172 +*/ +function HTMLSelectElement01() { + var success; + if(checkInitialization(builder, "HTMLSelectElement01") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","select-multiple",vtype); + +} + + + + +function runTest() { + HTMLSelectElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement02.js new file mode 100644 index 0000000..cf4665b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement02.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The selectedIndex attribute specifies the ordinal index of the selected + option. + + Retrieve the selectedIndex attribute from the first SELECT element and + examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-85676760 +*/ +function HTMLSelectElement02() { + var success; + if(checkInitialization(builder, "HTMLSelectElement02") != null) return; + var nodeList; + var testNode; + var vselectedindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vselectedindex = testNode.selectedIndex; + + assertEquals("selectedIndexLink",0,vselectedindex); + +} + + + + +function runTest() { + HTMLSelectElement02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement04.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement04.js new file mode 100644 index 0000000..149ee9c --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement04.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The value attribute specifies the current form control value. + + Retrieve the value attribute from the first SELECT element and + examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59351919 +*/ +function HTMLSelectElement04() { + var success; + if(checkInitialization(builder, "HTMLSelectElement04") != null) return; + var nodeList; + var testNode; + var vvalue; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vvalue = testNode.value; + + assertEquals("valueLink","EMP1",vvalue); + +} + + + + +function runTest() { + HTMLSelectElement04(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement05.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement05.js new file mode 100644 index 0000000..0ad9c9d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement05.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The length attribute specifies the number of options in this select. + + Retrieve the length attribute from the first SELECT element and + examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-5933486 +*/ +function HTMLSelectElement05() { + var success; + if(checkInitialization(builder, "HTMLSelectElement05") != null) return; + var nodeList; + var testNode; + var vlength; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vlength = testNode.length; + + assertEquals("lengthLink",5,vlength); + +} + + + + +function runTest() { + HTMLSelectElement05(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement14.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement14.js new file mode 100644 index 0000000..c41c697 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement14.js @@ -0,0 +1,107 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement14"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +focus should give the select element input focus. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-32130014 +*/ +function HTMLSelectElement14() { + var success; + if(checkInitialization(builder, "HTMLSelectElement14") != null) return; + var nodeList; + var testNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + testNode.focus(); + +} + + + + +function runTest() { + HTMLSelectElement14(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement15.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement15.js new file mode 100644 index 0000000..43bd641 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement15.js @@ -0,0 +1,107 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement15"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +blur should surrender input focus. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-28216144 +*/ +function HTMLSelectElement15() { + var success; + if(checkInitialization(builder, "HTMLSelectElement15") != null) return; + var nodeList; + var testNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + testNode.blur(); + +} + + + + +function runTest() { + HTMLSelectElement15(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement16.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement16.js new file mode 100644 index 0000000..e7175a2 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement16.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement16"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Removes an option using HTMLSelectElement.remove. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33404570 +*/ +function HTMLSelectElement16() { + var success; + if(checkInitialization(builder, "HTMLSelectElement16") != null) return; + var nodeList; + var testNode; + var doc; + var optLength; + var selected; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + testNode.remove(0); + optLength = testNode.length; + + assertEquals("optLength",4,optLength); + selected = testNode.selectedIndex; + + assertEquals("selected",-1,selected); + +} + + + + +function runTest() { + HTMLSelectElement16(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement17.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement17.js new file mode 100644 index 0000000..4f8a99f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement17.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement17"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Removes a non-existant option using HTMLSelectElement.remove. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33404570 +*/ +function HTMLSelectElement17() { + var success; + if(checkInitialization(builder, "HTMLSelectElement17") != null) return; + var nodeList; + var testNode; + var doc; + var optLength; + var selected; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + testNode.remove(6); + optLength = testNode.length; + + assertEquals("optLength",5,optLength); + selected = testNode.selectedIndex; + + assertEquals("selected",0,selected); + +} + + + + +function runTest() { + HTMLSelectElement17(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement18.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement18.js new file mode 100644 index 0000000..74d793c --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement18.js @@ -0,0 +1,133 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement18"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Add a new option at the end of an select using HTMLSelectElement.add. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14493106 +*/ +function HTMLSelectElement18() { + var success; + if(checkInitialization(builder, "HTMLSelectElement18") != null) return; + var nodeList; + var testNode; + var doc; + var optLength; + var selected; + var newOpt; + var newOptText; + var opt; + var optText; + var optValue; + var retNode; + var nullNode = null; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + newOpt = doc.createElement("option"); + newOptText = doc.createTextNode("EMP31415"); + retNode = newOpt.appendChild(newOptText); + testNode.add(newOpt,nullNode); + optLength = testNode.length; + + assertEquals("optLength",6,optLength); + selected = testNode.selectedIndex; + + assertEquals("selected",0,selected); + opt = testNode.lastChild; + + optText = opt.firstChild; + + optValue = optText.nodeValue; + + assertEquals("lastValue","EMP31415",optValue); + +} + + + + +function runTest() { + HTMLSelectElement18(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement19.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement19.js new file mode 100644 index 0000000..8e4dcc1 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement19.js @@ -0,0 +1,137 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement19"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Add a new option before the selected node using HTMLSelectElement.add. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14493106 +*/ +function HTMLSelectElement19() { + var success; + if(checkInitialization(builder, "HTMLSelectElement19") != null) return; + var nodeList; + var testNode; + var doc; + var optLength; + var selected; + var newOpt; + var newOptText; + var opt; + var optText; + var optValue; + var retNode; + var options; + var selectedNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + newOpt = doc.createElement("option"); + newOptText = doc.createTextNode("EMP31415"); + retNode = newOpt.appendChild(newOptText); + options = testNode.options; + + selectedNode = options.item(0); + testNode.add(newOpt,selectedNode); + optLength = testNode.length; + + assertEquals("optLength",6,optLength); + selected = testNode.selectedIndex; + + assertEquals("selected",1,selected); + options = testNode.options; + + opt = options.item(0); + optText = opt.firstChild; + + optValue = optText.nodeValue; + + assertEquals("lastValue","EMP31415",optValue); + +} + + + + +function runTest() { + HTMLSelectElement19(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement08.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement08.js new file mode 100644 index 0000000..4105582 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement08.js @@ -0,0 +1,129 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The tBodies attribute returns a collection of all the defined + table bodies. + + Retrieve the tBodies attribute from the second TABLE element and + examine the items of the returned collection. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63206416 +*/ +function HTMLTableElement08() { + var success; + if(checkInitialization(builder, "HTMLTableElement08") != null) return; + var nodeList; + var tbodiesnodeList; + var testNode; + var doc; + var tbodiesName; + var vtbodies; + var result = new Array(); + + expectedOptions = new Array(); + expectedOptions[0] = "tbody"; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + tbodiesnodeList = testNode.tBodies; + + for(var indexN65632 = 0;indexN65632 < tbodiesnodeList.length; indexN65632++) { + vtbodies = tbodiesnodeList.item(indexN65632); + tbodiesName = vtbodies.nodeName; + + result[result.length] = tbodiesName; + + } + assertEqualsListAutoCase("element", "tbodiesLink",expectedOptions,result); + +} + + + + +function runTest() { + HTMLTableElement08(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement09.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement09.js new file mode 100644 index 0000000..83a420a --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement09.js @@ -0,0 +1,132 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The tBodies attribute returns a collection of all the defined + table bodies. + + Retrieve the tBodies attribute from the third TABLE element and + examine the items of the returned collection. Tests multiple TBODY + elements. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63206416 +*/ +function HTMLTableElement09() { + var success; + if(checkInitialization(builder, "HTMLTableElement09") != null) return; + var nodeList; + var tbodiesnodeList; + var testNode; + var doc; + var tbodiesName; + var vtbodies; + var result = new Array(); + + expectedOptions = new Array(); + expectedOptions[0] = "tbody"; + expectedOptions[1] = "tbody"; + expectedOptions[2] = "tbody"; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(2); + tbodiesnodeList = testNode.tBodies; + + for(var indexN65638 = 0;indexN65638 < tbodiesnodeList.length; indexN65638++) { + vtbodies = tbodiesnodeList.item(indexN65638); + tbodiesName = vtbodies.nodeName; + + result[result.length] = tbodiesName; + + } + assertEqualsListAutoCase("element", "tbodiesLink",expectedOptions,result); + +} + + + + +function runTest() { + HTMLTableElement09(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement19.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement19.js new file mode 100644 index 0000000..e9d5d98 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement19.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement19"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The createTHead() method creates a table header row or returns + an existing one. + + Create a new THEAD element on the first TABLE element. The first + TABLE element should return null to make sure one doesn't exist. + After creation of the THEAD element the value is once again + checked and should not be null. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-70313345 +*/ +function HTMLTableElement19() { + var success; + if(checkInitialization(builder, "HTMLTableElement19") != null) return; + var nodeList; + var testNode; + var vsection1; + var vsection2; + var newHead; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vsection1 = testNode.tHead; + + assertNull("vsection1Id",vsection1); + newHead = testNode.createTHead(); + vsection2 = testNode.tHead; + + assertNotNull("vsection2Id",vsection2); + +} + + + + +function runTest() { + HTMLTableElement19(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement20.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement20.js new file mode 100644 index 0000000..b2aba77 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement20.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement20"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The createTHead() method creates a table header row or returns + an existing one. + + Try to create a new THEAD element on the second TABLE element. + Since a THEAD element already exists in the TABLE element a new + THEAD element is not created and information from the already + existing THEAD element is returned. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-70313345 +*/ +function HTMLTableElement20() { + var success; + if(checkInitialization(builder, "HTMLTableElement20") != null) return; + var nodeList; + var testNode; + var vsection; + var newHead; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + newHead = testNode.createTHead(); + vsection = testNode.tHead; + + valign = vsection.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLTableElement20(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement21.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement21.js new file mode 100644 index 0000000..2c3145b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement21.js @@ -0,0 +1,139 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement21"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The deleteTHead() method deletes the header from the table. + + The deleteTHead() method will delete the THEAD Element from the + second TABLE element. First make sure that the THEAD element exists + and then count the number of rows. After the THEAD element is + deleted there should be one less row. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-38310198 +*/ +function HTMLTableElement21() { + var success; + if(checkInitialization(builder, "HTMLTableElement21") != null) return; + var nodeList; + var rowsnodeList; + var testNode; + var vsection1; + var vsection2; + var vrows; + var doc; + var result = new Array(); + + expectedResult = new Array(); + expectedResult[0] = 4; + expectedResult[1] = 3; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vsection1 = testNode.tHead; + + assertNotNull("vsection1Id",vsection1); +rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + result[result.length] = vrows; +testNode.deleteTHead(); + vsection2 = testNode.tHead; + + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + result[result.length] = vrows; +assertEqualsList("rowsLink",expectedResult,result); + +} + + + + +function runTest() { + HTMLTableElement21(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement22.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement22.js new file mode 100644 index 0000000..e725f71 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement22.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement22"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The createTFoot() method creates a table footer row or returns + an existing one. + + Create a new TFOOT element on the first TABLE element. The first + TABLE element should return null to make sure one doesn't exist. + After creation of the TFOOT element the value is once again + checked and should not be null. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-8453710 +*/ +function HTMLTableElement22() { + var success; + if(checkInitialization(builder, "HTMLTableElement22") != null) return; + var nodeList; + var testNode; + var vsection1; + var vsection2; + var newFoot; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vsection1 = testNode.tFoot; + + assertNull("vsection1Id",vsection1); + newFoot = testNode.createTFoot(); + vsection2 = testNode.tFoot; + + assertNotNull("vsection2Id",vsection2); + +} + + + + +function runTest() { + HTMLTableElement22(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement23.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement23.js new file mode 100644 index 0000000..1e24500 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement23.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement23"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The createTFoot() method creates a table footer row or returns + an existing one. + + Try to create a new TFOOT element on the second TABLE element. + Since a TFOOT element already exists in the TABLE element a new + TFOOT element is not created and information from the already + existing TFOOT element is returned. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-8453710 +*/ +function HTMLTableElement23() { + var success; + if(checkInitialization(builder, "HTMLTableElement23") != null) return; + var nodeList; + var testNode; + var vsection; + var newFoot; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + newFoot = testNode.createTFoot(); + vsection = testNode.tFoot; + + valign = vsection.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLTableElement23(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement24.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement24.js new file mode 100644 index 0000000..efa614f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement24.js @@ -0,0 +1,139 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement24"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The deleteTFoot() method deletes the footer from the table. + + The deleteTFoot() method will delete the TFOOT Element from the + second TABLE element. First make sure that the TFOOT element exists + and then count the number of rows. After the TFOOT element is + deleted there should be one less row. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78363258 +*/ +function HTMLTableElement24() { + var success; + if(checkInitialization(builder, "HTMLTableElement24") != null) return; + var nodeList; + var rowsnodeList; + var testNode; + var vsection1; + var vsection2; + var vrows; + var doc; + var result = new Array(); + + expectedResult = new Array(); + expectedResult[0] = 4; + expectedResult[1] = 3; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vsection1 = testNode.tFoot; + + assertNotNull("vsection1Id",vsection1); +rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + result[result.length] = vrows; +testNode.deleteTFoot(); + vsection2 = testNode.tFoot; + + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + result[result.length] = vrows; +assertEqualsList("rowsLink",expectedResult,result); + +} + + + + +function runTest() { + HTMLTableElement24(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement25.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement25.js new file mode 100644 index 0000000..aeaa566 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement25.js @@ -0,0 +1,121 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement25"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The createCaption() method creates a new table caption object or returns + an existing one. + + Create a new CAPTION element on the first TABLE element. Since + one does not currently exist the CAPTION element is created. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96920263 +*/ +function HTMLTableElement25() { + var success; + if(checkInitialization(builder, "HTMLTableElement25") != null) return; + var nodeList; + var testNode; + var vsection1; + var vsection2; + var newCaption; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vsection1 = testNode.caption; + + assertNull("vsection1Id",vsection1); + newCaption = testNode.createCaption(); + vsection2 = testNode.caption; + + assertNotNull("vsection2Id",vsection2); + +} + + + + +function runTest() { + HTMLTableElement25(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement26.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement26.js new file mode 100644 index 0000000..358d245 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement26.js @@ -0,0 +1,125 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement26"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The createCaption() method creates a new table caption object or returns + an existing one. + + Create a new CAPTION element on the first TABLE element. Since + one currently exists the CAPTION element is not created and you + can get the align attribute from the CAPTION element that exists. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96920263 +*/ +function HTMLTableElement26() { + var success; + if(checkInitialization(builder, "HTMLTableElement26") != null) return; + var nodeList; + var testNode; + var vsection1; + var vcaption; + var newCaption; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vsection1 = testNode.caption; + + assertNotNull("vsection1Id",vsection1); +newCaption = testNode.createCaption(); + vcaption = testNode.caption; + + valign = vcaption.align; + + assertEquals("alignLink","top",valign); + +} + + + + +function runTest() { + HTMLTableElement26(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement27.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement27.js new file mode 100644 index 0000000..415636a --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement27.js @@ -0,0 +1,119 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement27"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The deleteCaption() method deletes the table caption. + + Delete the CAPTION element on the second TABLE element. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-22930071 +*/ +function HTMLTableElement27() { + var success; + if(checkInitialization(builder, "HTMLTableElement27") != null) return; + var nodeList; + var testNode; + var vsection1; + var vsection2; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vsection1 = testNode.caption; + + assertNotNull("vsection1Id",vsection1); +testNode.deleteCaption(); + vsection2 = testNode.caption; + + assertNull("vsection2Id",vsection2); + +} + + + + +function runTest() { + HTMLTableElement27(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement28.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement28.js new file mode 100644 index 0000000..d87b1a9 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement28.js @@ -0,0 +1,133 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement28"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The insertRow() method inserts a new empty table row. + + Retrieve the second TABLE element and invoke the insertRow() method + with an index of 0. Currently the zero indexed row is in the THEAD + section of the TABLE. The number of rows in the THEAD section before + insertion of the new row is one. After the new row is inserted the number + of rows in the THEAD section is two. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39872903 +*/ +function HTMLTableElement28() { + var success; + if(checkInitialization(builder, "HTMLTableElement28") != null) return; + var nodeList; + var testNode; + var newRow; + var rowsnodeList; + var vsection1; + var vsection2; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vsection1 = testNode.tHead; + + rowsnodeList = vsection1.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink1",1,vrows); + newRow = testNode.insertRow(0); + vsection2 = testNode.tHead; + + rowsnodeList = vsection2.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink2",2,vrows); + +} + + + + +function runTest() { + HTMLTableElement28(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement29.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement29.js new file mode 100644 index 0000000..e681547 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement29.js @@ -0,0 +1,137 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement29"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The insertRow() method inserts a new empty table row. + + Retrieve the second TABLE element and invoke the insertRow() method + with an index of two. Currently the 2nd indexed row is in the TBODY + section of the TABLE. The number of rows in the TBODY section before + insertion of the new row is two. After the new row is inserted the number + of rows in the TBODY section is three. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39872903 +*/ +function HTMLTableElement29() { + var success; + if(checkInitialization(builder, "HTMLTableElement29") != null) return; + var nodeList; + var tbodiesnodeList; + var testNode; + var bodyNode; + var newRow; + var rowsnodeList; + var vsection1; + var vsection2; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + tbodiesnodeList = testNode.tBodies; + + bodyNode = tbodiesnodeList.item(0); + rowsnodeList = bodyNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink1",2,vrows); + newRow = testNode.insertRow(2); + tbodiesnodeList = testNode.tBodies; + + bodyNode = tbodiesnodeList.item(0); + rowsnodeList = bodyNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink2",3,vrows); + +} + + + + +function runTest() { + HTMLTableElement29(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement30.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement30.js new file mode 100644 index 0000000..8606249 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement30.js @@ -0,0 +1,144 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement30"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The insertRow() method inserts a new empty table row. + + Retrieve the second TABLE element and invoke the insertRow() method + with an index of four. After the new row is inserted the number of rows + in the table should be five. + Also the number of rows in the TFOOT section before + insertion of the new row is one. After the new row is inserted the number + of rows in the TFOOT section is two. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39872903 +*/ +function HTMLTableElement30() { + var success; + if(checkInitialization(builder, "HTMLTableElement30") != null) return; + var nodeList; + var tbodiesnodeList; + var testNode; + var newRow; + var rowsnodeList; + var vsection1; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink1",4,vrows); + vsection1 = testNode.tFoot; + + rowsnodeList = vsection1.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink",1,vrows); + newRow = testNode.insertRow(4); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink2",5,vrows); + vsection1 = testNode.tFoot; + + rowsnodeList = vsection1.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink3",2,vrows); + +} + + + + +function runTest() { + HTMLTableElement30(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement31.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement31.js new file mode 100644 index 0000000..a8f7a59 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement31.js @@ -0,0 +1,138 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement31"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table1"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The insertRow() method inserts a new empty table row. In addition, when + the table is empty the row is inserted into a TBODY which is created + and inserted into the table. + + Load the table1 file which has a non-empty table element. + Create an empty TABLE element and append to the document. + Check to make sure that the empty TABLE element doesn't + have a TBODY element. Insert a new row into the empty + TABLE element. Check for existence of the a TBODY element + in the table. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39872903 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2002Aug/0019.html +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=502 +*/ +function HTMLTableElement31() { + var success; + if(checkInitialization(builder, "HTMLTableElement31") != null) return; + var nodeList; + var testNode; + var tableNode; + var tbodiesnodeList; + var newRow; + var doc; + var table; + var tbodiesLength; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table1"); + nodeList = doc.getElementsByTagName("body"); + assertSize("tableSize1",1,nodeList); +testNode = nodeList.item(0); + table = doc.createElement("table"); + tableNode = testNode.appendChild(table); + nodeList = doc.getElementsByTagName("table"); + assertSize("tableSize2",2,nodeList); +tbodiesnodeList = tableNode.tBodies; + + tbodiesLength = tbodiesnodeList.length; + + assertEquals("Asize3",0,tbodiesLength); + newRow = tableNode.insertRow(0); + tbodiesnodeList = tableNode.tBodies; + + tbodiesLength = tbodiesnodeList.length; + + assertEquals("Asize4",1,tbodiesLength); + +} + + + + +function runTest() { + HTMLTableElement31(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement32.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement32.js new file mode 100644 index 0000000..71c45ad --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement32.js @@ -0,0 +1,125 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement32"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The deleteRow() method deletes a table row. + + Retrieve the second TABLE element and invoke the deleteRow() method + with an index of 0(first row). Currently there are four rows in the + table. After the deleteRow() method is called there should be + three rows in the table. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-13114938 +*/ +function HTMLTableElement32() { + var success; + if(checkInitialization(builder, "HTMLTableElement32") != null) return; + var nodeList; + var testNode; + var rowsnodeList; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink1",4,vrows); + testNode.deleteRow(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink2",3,vrows); + +} + + + + +function runTest() { + HTMLTableElement32(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement33.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement33.js new file mode 100644 index 0000000..e839d22 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement33.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement33"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The deleteRow() method deletes a table row. + + Retrieve the second TABLE element and invoke the deleteRow() method + with an index of 3(last row). Currently there are four rows in the + table. The deleteRow() method is called and now there should be three. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-13114938 +*/ +function HTMLTableElement33() { + var success; + if(checkInitialization(builder, "HTMLTableElement33") != null) return; + var nodeList; + var testNode; + var rowsnodeList; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink1",4,vrows); + testNode.deleteRow(3); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink2",3,vrows); + +} + + + + +function runTest() { + HTMLTableElement33(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableRowElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableRowElement01.js new file mode 100644 index 0000000..1e0ea89 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableRowElement01.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The rowIndex attribute specifies the index of the row, relative to the + entire table, starting from 0. This is in document tree order and + not display order. The rowIndex does not take into account sections + (THEAD, TFOOT, or TBODY) within the table. + + Retrieve the third TR element within the document and examine + its rowIndex value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-67347567 +*/ +function HTMLTableRowElement01() { + var success; + if(checkInitialization(builder, "HTMLTableRowElement01") != null) return; + var nodeList; + var testNode; + var vrowindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(3); + vrowindex = testNode.rowIndex; + + assertEquals("rowIndexLink",1,vrowindex); + +} + + + + +function runTest() { + HTMLTableRowElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement13.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement13.js new file mode 100644 index 0000000..ed45bbb --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement13.js @@ -0,0 +1,107 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement13"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Calling HTMLTextAreaElement.blur should surrender input focus. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6750689 +*/ +function HTMLTextAreaElement13() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement13") != null) return; + var nodeList; + var testNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + testNode.blur(); + +} + + + + +function runTest() { + HTMLTextAreaElement13(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement14.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement14.js new file mode 100644 index 0000000..01e6bab --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement14.js @@ -0,0 +1,107 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement14"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Calling HTMLTextAreaElement.focus should capture input focus. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39055426 +*/ +function HTMLTextAreaElement14() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement14") != null) return; + var nodeList; + var testNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + testNode.focus(); + +} + + + + +function runTest() { + HTMLTextAreaElement14(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement15.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement15.js new file mode 100644 index 0000000..d10c2f0 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement15.js @@ -0,0 +1,107 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement15"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Calling HTMLTextAreaElement.select should select the text area. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-48880622 +*/ +function HTMLTextAreaElement15() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement15") != null) return; + var nodeList; + var testNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + testNode.select(); + +} + + + + +function runTest() { + HTMLTextAreaElement15(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object01.js new file mode 100644 index 0000000..269c72b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object01.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Returns the FORM element containing this control. Returns null if this control is not within the context of a form. +The value of attribute form of the object element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-46094773 +*/ +function object01() { + var success; + if(checkInitialization(builder, "object01") != null) return; + var nodeList; + var testNode; + var vform; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vform = testNode.form; + + assertNull("formLink",vform); + +} + + + + +function runTest() { + object01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object06.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object06.js new file mode 100644 index 0000000..947ee95 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object06.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +A URI specifying the location of the object's data. +The value of attribute data of the object element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-81766986 +*/ +function object06() { + var success; + if(checkInitialization(builder, "object06") != null) return; + var nodeList; + var testNode; + var vdata; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vdata = testNode.data; + + assertEquals("dataLink","./pix/logo.gif",vdata); + +} + + + + +function runTest() { + object06(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object07.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object07.js new file mode 100644 index 0000000..1f28258 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object07.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The value of attribute height of the object element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88925838 +*/ +function object07() { + var success; + if(checkInitialization(builder, "object07") != null) return; + var nodeList; + var testNode; + var vheight; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vheight = testNode.height; + + assertEquals("heightLink","60",vheight); + +} + + + + +function runTest() { + object07(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object08.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object08.js new file mode 100644 index 0000000..1157c1a --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object08.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Horizontal space to the left and right of this image, applet, or object. +The value of attribute hspace of the object element is read and checked against the expected value. + + This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-17085376 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 +*/ +function object08() { + var success; + if(checkInitialization(builder, "object08") != null) return; + var nodeList; + var testNode; + var vhspace; + var doc; + var domImpl; + var hasHTML2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + domImpl = doc.implementation; +hasHTML2 = domImpl.hasFeature("HTML","2.0"); + + if( + + !hasHTML2 + ) { + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vhspace = testNode.hspace; + + assertEquals("hspaceLink","0",vhspace); + + } + +} + + + + +function runTest() { + object08(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object10.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object10.js new file mode 100644 index 0000000..6e930b9 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object10.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Index that represents the element's position in the tabbing order. +The value of attribute tabIndex of the object element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-27083787 +*/ +function object10() { + var success; + if(checkInitialization(builder, "object10") != null) return; + var nodeList; + var testNode; + var vtabindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vtabindex = testNode.tabIndex; + + assertEquals("tabIndexLink",0,vtabindex); + +} + + + + +function runTest() { + object10(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object11.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object11.js new file mode 100644 index 0000000..6b6e67b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object11.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Content type for data downloaded via data attribute. +The value of attribute type of the object element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-91665621 +*/ +function object11() { + var success; + if(checkInitialization(builder, "object11") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","image/gif",vtype); + +} + + + + +function runTest() { + object11(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object12.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object12.js new file mode 100644 index 0000000..fcb6bac --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object12.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The value of attribute usemap of the object element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6649772 +*/ +function object12() { + var success; + if(checkInitialization(builder, "object12") != null) return; + var nodeList; + var testNode; + var vusemap; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vusemap = testNode.useMap; + + assertEquals("useMapLink","#DivLogo-map",vusemap); + +} + + + + +function runTest() { + object12(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object13.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object13.js new file mode 100644 index 0000000..a130490 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object13.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object13"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Vertical space above and below this image, applet, or object. +The value of attribute vspace of the object element is read and checked against the expected value. + + This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-8682483 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 +*/ +function object13() { + var success; + if(checkInitialization(builder, "object13") != null) return; + var nodeList; + var testNode; + var vvspace; + var doc; + var domImpl; + var hasHTML2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + domImpl = doc.implementation; +hasHTML2 = domImpl.hasFeature("HTML","2.0"); + + if( + + !hasHTML2 + ) { + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vvspace = testNode.vspace; + + assertEquals("vspaceLink","0",vvspace); + + } + +} + + + + +function runTest() { + object13(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object14.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object14.js new file mode 100644 index 0000000..3d8df0d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object14.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object14"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The value of attribute width of the object element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-38538620 +*/ +function object14() { + var success; + if(checkInitialization(builder, "object14") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vwidth = testNode.width; + + assertEquals("widthLink","550",vwidth); + +} + + + + +function runTest() { + object14(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement02.js new file mode 100644 index 0000000..6eeb796 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The charset attribute indicates the character encoding of the linked + resource. + + Retrieve the charset attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-67619266 +*/ +function HTMLAnchorElement02() { + var success; + if(checkInitialization(builder, "HTMLAnchorElement02") != null) return; + var nodeList; + var testNode; + var vcharset; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcharset = testNode.charset; + + assertEquals("charsetLink","US-ASCII",vcharset); + +} + + + + +function runTest() { + HTMLAnchorElement02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement03.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement03.js new file mode 100644 index 0000000..d43eadc --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement03.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The coords attribute is a comma-seperated list of lengths, defining + an active region geometry. + + Retrieve the coords attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-92079539 +*/ +function HTMLAnchorElement03() { + var success; + if(checkInitialization(builder, "HTMLAnchorElement03") != null) return; + var nodeList; + var testNode; + var vcoords; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcoords = testNode.coords; + + assertEquals("coordsLink","0,0,100,100",vcoords); + +} + + + + +function runTest() { + HTMLAnchorElement03(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement06.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement06.js new file mode 100644 index 0000000..003c17a --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement06.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The name attribute contains the anchor name. + + Retrieve the name attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-32783304 +*/ +function HTMLAnchorElement06() { + var success; + if(checkInitialization(builder, "HTMLAnchorElement06") != null) return; + var nodeList; + var testNode; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vname = testNode.name; + + assertEquals("nameLink","Anchor",vname); + +} + + + + +function runTest() { + HTMLAnchorElement06(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement08.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement08.js new file mode 100644 index 0000000..4f5746e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement08.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The rev attribute contains the reverse link type + + Retrieve the rev attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-58259771 +*/ +function HTMLAnchorElement08() { + var success; + if(checkInitialization(builder, "HTMLAnchorElement08") != null) return; + var nodeList; + var testNode; + var vrev; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vrev = testNode.rev; + + assertEquals("revLink","STYLESHEET",vrev); + +} + + + + +function runTest() { + HTMLAnchorElement08(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement09.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement09.js new file mode 100644 index 0000000..cb2225d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement09.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The shape attribute contains the shape of the active area. + + Retrieve the shape attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-49899808 +*/ +function HTMLAnchorElement09() { + var success; + if(checkInitialization(builder, "HTMLAnchorElement09") != null) return; + var nodeList; + var testNode; + var vshape; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vshape = testNode.shape; + + assertEquals("shapeLink","rect",vshape); + +} + + + + +function runTest() { + HTMLAnchorElement09(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement01.js new file mode 100644 index 0000000..ce480ba --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement01.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "applet"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the alignment of the object(Vertically + or Horizontally) with respect to its surrounding text. + + Retrieve the align attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-8049912 +*/ +function HTMLAppletElement01() { + var success; + if(checkInitialization(builder, "HTMLAppletElement01") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "applet"); + nodeList = doc.getElementsByTagName("applet"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","bottom".toLowerCase(),valign.toLowerCase()); + +} + + + + +function runTest() { + HTMLAppletElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement02.js new file mode 100644 index 0000000..b9c1827 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "applet"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The alt attribute specifies the alternate text for user agents not + rendering the normal context of this element. + + Retrieve the alt attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-58610064 +*/ +function HTMLAppletElement02() { + var success; + if(checkInitialization(builder, "HTMLAppletElement02") != null) return; + var nodeList; + var testNode; + var valt; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "applet"); + nodeList = doc.getElementsByTagName("applet"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valt = testNode.alt; + + assertEquals("altLink","Applet Number 1",valt); + +} + + + + +function runTest() { + HTMLAppletElement02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement03.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement03.js new file mode 100644 index 0000000..d8b68e1 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement03.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "applet"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The archive attribute specifies a comma-seperated archive list. + + Retrieve the archive attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14476360 +*/ +function HTMLAppletElement03() { + var success; + if(checkInitialization(builder, "HTMLAppletElement03") != null) return; + var nodeList; + var testNode; + var varchive; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "applet"); + nodeList = doc.getElementsByTagName("applet"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + varchive = testNode.archive; + + assertEquals("archiveLink","",varchive); + +} + + + + +function runTest() { + HTMLAppletElement03(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement04.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement04.js new file mode 100644 index 0000000..32ff6d8 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement04.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "applet"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The code attribute specifies the applet class file. + + Retrieve the code attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-61509645 +*/ +function HTMLAppletElement04() { + var success; + if(checkInitialization(builder, "HTMLAppletElement04") != null) return; + var nodeList; + var testNode; + var vcode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "applet"); + nodeList = doc.getElementsByTagName("applet"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcode = testNode.code; + + assertEquals("codeLink","org/w3c/domts/DOMTSApplet.class",vcode); + +} + + + + +function runTest() { + HTMLAppletElement04(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement05.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement05.js new file mode 100644 index 0000000..a6a3c4b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement05.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "applet"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The codeBase attribute specifies an optional base URI for the applet. + + Retrieve the codeBase attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6581160 +*/ +function HTMLAppletElement05() { + var success; + if(checkInitialization(builder, "HTMLAppletElement05") != null) return; + var nodeList; + var testNode; + var vcodebase; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "applet"); + nodeList = doc.getElementsByTagName("applet"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcodebase = testNode.codeBase; + + assertEquals("codebase","applets",vcodebase); + +} + + + + +function runTest() { + HTMLAppletElement05(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement06.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement06.js new file mode 100644 index 0000000..1b0bab9 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement06.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "applet"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The height attribute overrides the height. + + Retrieve the height attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-90184867 +*/ +function HTMLAppletElement06() { + var success; + if(checkInitialization(builder, "HTMLAppletElement06") != null) return; + var nodeList; + var testNode; + var vheight; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "applet"); + nodeList = doc.getElementsByTagName("applet"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vheight = testNode.height; + + assertEquals("heightLink","306",vheight); + +} + + + + +function runTest() { + HTMLAppletElement06(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement07.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement07.js new file mode 100644 index 0000000..505cf2d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement07.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "applet"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The hspace attribute specifies the horizontal space to the left + and right of this image, applet, or object. Retrieve the hspace attribute and examine its value. + + This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-1567197 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 +*/ +function HTMLAppletElement07() { + var success; + if(checkInitialization(builder, "HTMLAppletElement07") != null) return; + var nodeList; + var testNode; + var vhspace; + var doc; + var domImpl; + var hasHTML2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "applet"); + domImpl = doc.implementation; +hasHTML2 = domImpl.hasFeature("HTML","2.0"); + + if( + + !hasHTML2 + ) { + nodeList = doc.getElementsByTagName("applet"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vhspace = testNode.hspace; + + assertEquals("hspaceLink","0",vhspace); + + } + +} + + + + +function runTest() { + HTMLAppletElement07(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement08.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement08.js new file mode 100644 index 0000000..1ed0b30 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement08.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "applet"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The name attribute specifies the name of the applet. + + Retrieve the name attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39843695 +*/ +function HTMLAppletElement08() { + var success; + if(checkInitialization(builder, "HTMLAppletElement08") != null) return; + var nodeList; + var testNode; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "applet"); + nodeList = doc.getElementsByTagName("applet"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vname = testNode.name; + + assertEquals("nameLink","applet1",vname); + +} + + + + +function runTest() { + HTMLAppletElement08(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement09.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement09.js new file mode 100644 index 0000000..2f0f765 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement09.js @@ -0,0 +1,127 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "applet"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The vspace attribute specifies the vertical space above and below + this image, applet or object. Retrieve the vspace attribute and examine its value. + + This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. + + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-22637173 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 +*/ +function HTMLAppletElement09() { + var success; + if(checkInitialization(builder, "HTMLAppletElement09") != null) return; + var nodeList; + var testNode; + var vvspace; + var doc; + var domImpl; + var hasHTML2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "applet"); + domImpl = doc.implementation; +hasHTML2 = domImpl.hasFeature("HTML","2.0"); + + if( + + !hasHTML2 + ) { + nodeList = doc.getElementsByTagName("applet"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vvspace = testNode.vspace; + + assertEquals("vspaceLink","0",vvspace); + + } + +} + + + + +function runTest() { + HTMLAppletElement09(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement10.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement10.js new file mode 100644 index 0000000..3578b0b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement10.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "applet"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The width attribute overrides the regular width. + + Retrieve the width attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-16526327 +*/ +function HTMLAppletElement10() { + var success; + if(checkInitialization(builder, "HTMLAppletElement10") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "applet"); + nodeList = doc.getElementsByTagName("applet"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vwidth = testNode.width; + + assertEquals("widthLink","301",vwidth); + +} + + + + +function runTest() { + HTMLAppletElement10(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement11.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement11.js new file mode 100644 index 0000000..3aeee28 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement11.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "applet2"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The object attribute specifies the serialized applet file. + + Retrieve the object attribute and examine its value. + +* @author NIST +* @author Rick Rivello +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93681523 +*/ +function HTMLAppletElement11() { + var success; + if(checkInitialization(builder, "HTMLAppletElement11") != null) return; + var nodeList; + var testNode; + var vobject; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "applet2"); + nodeList = doc.getElementsByTagName("applet"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vobject = testNode.object; + + assertEquals("object","DOMTSApplet.dat",vobject); + +} + + + + +function runTest() { + HTMLAppletElement11(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBRElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBRElement01.js new file mode 100644 index 0000000..0bfafb2 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBRElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLBRElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "br"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The clear attribute specifies control flow of text around floats. + + Retrieve the clear attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-82703081 +*/ +function HTMLBRElement01() { + var success; + if(checkInitialization(builder, "HTMLBRElement01") != null) return; + var nodeList; + var testNode; + var vclear; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "br"); + nodeList = doc.getElementsByTagName("br"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclear = testNode.clear; + + assertEquals("clearLink","none",vclear); + +} + + + + +function runTest() { + HTMLBRElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement01.js new file mode 100644 index 0000000..c2d252c --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLBaseFontElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "basefont"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The color attribute specifies the base font's color. + + Retrieve the color attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87502302 +*/ +function HTMLBaseFontElement01() { + var success; + if(checkInitialization(builder, "HTMLBaseFontElement01") != null) return; + var nodeList; + var testNode; + var vcolor; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "basefont"); + nodeList = doc.getElementsByTagName("basefont"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcolor = testNode.color; + + assertEquals("colorLink","#000000",vcolor); + +} + + + + +function runTest() { + HTMLBaseFontElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement02.js new file mode 100644 index 0000000..9da696e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement02.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLBaseFontElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "basefont"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The face attribute specifies the base font's face identifier. + + Retrieve the face attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88128969 +*/ +function HTMLBaseFontElement02() { + var success; + if(checkInitialization(builder, "HTMLBaseFontElement02") != null) return; + var nodeList; + var testNode; + var vface; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "basefont"); + nodeList = doc.getElementsByTagName("basefont"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vface = testNode.face; + + assertEquals("faceLink","arial,helvitica",vface); + +} + + + + +function runTest() { + HTMLBaseFontElement02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement03.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement03.js new file mode 100644 index 0000000..3c1d788 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement03.js @@ -0,0 +1,125 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLBaseFontElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "basefont"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The size attribute specifies the base font's size. Retrieve the size attribute and examine its value. + + This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-38930424 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 +*/ +function HTMLBaseFontElement03() { + var success; + if(checkInitialization(builder, "HTMLBaseFontElement03") != null) return; + var nodeList; + var testNode; + var vsize; + var doc; + var domImpl; + var hasHTML2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "basefont"); + domImpl = doc.implementation; +hasHTML2 = domImpl.hasFeature("HTML","2.0"); + + if( + + !hasHTML2 + ) { + nodeList = doc.getElementsByTagName("basefont"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vsize = testNode.size; + + assertEquals("sizeLink","4",vsize); + + } + +} + + + + +function runTest() { + HTMLBaseFontElement03(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement01.js new file mode 100644 index 0000000..2496d66 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLBodyElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "body"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The aLink attribute specifies the color of active links. + + Retrieve the aLink attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59424581 +*/ +function HTMLBodyElement01() { + var success; + if(checkInitialization(builder, "HTMLBodyElement01") != null) return; + var nodeList; + var testNode; + var valink; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "body"); + nodeList = doc.getElementsByTagName("body"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valink = testNode.aLink; + + assertEquals("aLinkLink","#0000ff",valink); + +} + + + + +function runTest() { + HTMLBodyElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement02.js new file mode 100644 index 0000000..5b92d5a --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLBodyElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "body"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The background attribute specifies the URI fo the background texture + tile image. + + Retrieve the background attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-37574810 +*/ +function HTMLBodyElement02() { + var success; + if(checkInitialization(builder, "HTMLBodyElement02") != null) return; + var nodeList; + var testNode; + var vbackground; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "body"); + nodeList = doc.getElementsByTagName("body"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vbackground = testNode.background; + + assertEquals("backgroundLink","./pix/back1.gif",vbackground); + +} + + + + +function runTest() { + HTMLBodyElement02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement03.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement03.js new file mode 100644 index 0000000..1814654 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement03.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLBodyElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "body"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The bgColor attribute specifies the document background color. + + Retrieve the bgColor attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-24940084 +*/ +function HTMLBodyElement03() { + var success; + if(checkInitialization(builder, "HTMLBodyElement03") != null) return; + var nodeList; + var testNode; + var vbgcolor; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "body"); + nodeList = doc.getElementsByTagName("body"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vbgcolor = testNode.bgColor; + + assertEquals("bgColorLink","#ffff00",vbgcolor); + +} + + + + +function runTest() { + HTMLBodyElement03(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement04.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement04.js new file mode 100644 index 0000000..5f1d65d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement04.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLBodyElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "body"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The link attribute specifies the color of links that are not active + and unvisited. + + Retrieve the link attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-7662206 +*/ +function HTMLBodyElement04() { + var success; + if(checkInitialization(builder, "HTMLBodyElement04") != null) return; + var nodeList; + var testNode; + var vlink; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "body"); + nodeList = doc.getElementsByTagName("body"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlink = testNode.link; + + assertEquals("linkLink","#ff0000",vlink); + +} + + + + +function runTest() { + HTMLBodyElement04(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement05.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement05.js new file mode 100644 index 0000000..d3bde6c --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement05.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLBodyElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "body"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The text attribute specifies the document text color. + + Retrieve the text attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-73714763 +*/ +function HTMLBodyElement05() { + var success; + if(checkInitialization(builder, "HTMLBodyElement05") != null) return; + var nodeList; + var testNode; + var vtext; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "body"); + nodeList = doc.getElementsByTagName("body"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtext = testNode.text; + + assertEquals("textLink","#000000",vtext); + +} + + + + +function runTest() { + HTMLBodyElement05(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement06.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement06.js new file mode 100644 index 0000000..16cae78 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement06.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLBodyElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "body"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The vLink attribute specifies the color of links that have been + visited by the user. + + Retrieve the vLink attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83224305 +*/ +function HTMLBodyElement06() { + var success; + if(checkInitialization(builder, "HTMLBodyElement06") != null) return; + var nodeList; + var testNode; + var vvlink; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "body"); + nodeList = doc.getElementsByTagName("body"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vvlink = testNode.vLink; + + assertEquals("vLinkLink","#00ffff",vvlink); + +} + + + + +function runTest() { + HTMLBodyElement06(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection01.js new file mode 100644 index 0000000..6c4d68d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection01.js @@ -0,0 +1,121 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "collection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + An individual node may be accessed by either ordinal index, the node's + name or id attributes. (Test ordinal index). + + Retrieve the first TABLE element and create a HTMLCollection by invoking + the "rows" attribute. The item located at ordinal index 0 is further + retrieved and its "rowIndex" attribute is examined. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33262535 +*/ +function HTMLCollection01() { + var success; + if(checkInitialization(builder, "HTMLCollection01") != null) return; + var nodeList; + var testNode; + var rowNode; + var rowsnodeList; + var vrowindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "collection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + rowNode = rowsnodeList.item(0); + vrowindex = rowNode.rowIndex; + + assertEquals("rowIndexLink",0,vrowindex); + +} + + + + +function runTest() { + HTMLCollection01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection02.js new file mode 100644 index 0000000..1a08fe1 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection02.js @@ -0,0 +1,121 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "collection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + An individual node may be accessed by either ordinal index, the node's + name or id attributes. (Test node name). + + Retrieve the first FORM element and create a HTMLCollection by invoking + the elements attribute. The first SELECT element is further retrieved + using the elements name attribute. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76728479 +*/ +function HTMLCollection02() { + var success; + if(checkInitialization(builder, "HTMLCollection02") != null) return; + var nodeList; + var testNode; + var formNode; + var formsnodeList; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "collection"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + formsnodeList = testNode.elements; + + formNode = formsnodeList.namedItem("select1"); + vname = formNode.nodeName; + + assertEqualsAutoCase("element", "nameIndexLink","SELECT",vname); + +} + + + + +function runTest() { + HTMLCollection02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection03.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection03.js new file mode 100644 index 0000000..1c002fd --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection03.js @@ -0,0 +1,121 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "collection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + An individual node may be accessed by either ordinal index, the node's + name or id attributes. (Test id attribute). + + Retrieve the first FORM element and create a HTMLCollection by invoking + the "element" attribute. The first SELECT element is further retrieved + using the elements id. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-21069976 +*/ +function HTMLCollection03() { + var success; + if(checkInitialization(builder, "HTMLCollection03") != null) return; + var nodeList; + var testNode; + var formNode; + var formsnodeList; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "collection"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + formsnodeList = testNode.elements; + + formNode = formsnodeList.namedItem("selectId"); + vname = formNode.nodeName; + + assertEqualsAutoCase("element", "nameIndexLink","select",vname); + +} + + + + +function runTest() { + HTMLCollection03(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection04.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection04.js new file mode 100644 index 0000000..0082417 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection04.js @@ -0,0 +1,133 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "collection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + HTMLCollections are live, they are automatically updated when the + underlying document is changed. + + Create a HTMLCollection object by invoking the rows attribute of the + first TABLE element and examine its length, then add a new row and + re-examine the length. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40057551 +*/ +function HTMLCollection04() { + var success; + if(checkInitialization(builder, "HTMLCollection04") != null) return; + var nodeList; + var testNode; + var rowLength1; + var rowLength2; + var rowsnodeList; + var newRow; + var vrowindex; + var doc; + var result = new Array(); + + expectedResult = new Array(); + expectedResult[0] = 4; + expectedResult[1] = 5; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "collection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + rowLength1 = rowsnodeList.length; + + result[result.length] = rowLength1; +newRow = testNode.insertRow(4); + rowLength2 = rowsnodeList.length; + + result[result.length] = rowLength2; +assertEqualsList("rowIndexLink",expectedResult,result); + +} + + + + +function runTest() { + HTMLCollection04(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection05.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection05.js new file mode 100644 index 0000000..efe0226 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection05.js @@ -0,0 +1,118 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "collection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The length attribute specifies the length or size of the list. + + Retrieve the first TABLE element and create a HTMLCollection by invoking + the "rows" attribute. Retrieve the length attribute of the HTMLCollection + object. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40057551 +*/ +function HTMLCollection05() { + var success; + if(checkInitialization(builder, "HTMLCollection05") != null) return; + var nodeList; + var testNode; + var rowsnodeList; + var rowLength; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "collection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + rowLength = rowsnodeList.length; + + assertEquals("rowIndexLink",4,rowLength); + +} + + + + +function runTest() { + HTMLCollection05(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection06.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection06.js new file mode 100644 index 0000000..0c274cc --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection06.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "collection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + An item(index) method retrieves an item specified by ordinal index + (Test for index=0). + + Retrieve the first TABLE element and create a HTMLCollection by invoking + the "rows" attribute. The item located at ordinal index 0 is further + retrieved and its "rowIndex" attribute is examined. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6156016 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33262535 +*/ +function HTMLCollection06() { + var success; + if(checkInitialization(builder, "HTMLCollection06") != null) return; + var nodeList; + var testNode; + var rowNode; + var rowsnodeList; + var vrowindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "collection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + rowNode = rowsnodeList.item(0); + vrowindex = rowNode.rowIndex; + + assertEquals("rowIndexLink",0,vrowindex); + +} + + + + +function runTest() { + HTMLCollection06(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection07.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection07.js new file mode 100644 index 0000000..2b167d8 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection07.js @@ -0,0 +1,121 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "collection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + An item(index) method retrieves an item specified by ordinal index + (Test for index=3). + + Retrieve the first TABLE element and create a HTMLCollection by invoking + the "rows" attribute. The item located at ordinal index 3 is further + retrieved and its "rowIndex" attribute is examined. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33262535 +*/ +function HTMLCollection07() { + var success; + if(checkInitialization(builder, "HTMLCollection07") != null) return; + var nodeList; + var testNode; + var rowNode; + var rowsnodeList; + var vrowindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "collection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + rowNode = rowsnodeList.item(3); + vrowindex = rowNode.rowIndex; + + assertEquals("rowIndexLink",3,vrowindex); + +} + + + + +function runTest() { + HTMLCollection07(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection08.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection08.js new file mode 100644 index 0000000..7069f49 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection08.js @@ -0,0 +1,121 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "collection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Nodes in a HTMLCollection object are numbered in tree order. + (Depth-first traversal order). + + Retrieve the first TABLE element and create a HTMLCollection by invoking + the "rows" attribute. Access the item in the third ordinal index. The + resulting rowIndex attribute is examined and should be two. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33262535 +*/ +function HTMLCollection08() { + var success; + if(checkInitialization(builder, "HTMLCollection08") != null) return; + var nodeList; + var testNode; + var rowNode; + var rowsnodeList; + var vrowindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "collection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + rowNode = rowsnodeList.item(2); + vrowindex = rowNode.rowIndex; + + assertEquals("rowIndexLink",2,vrowindex); + +} + + + + +function runTest() { + HTMLCollection08(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection09.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection09.js new file mode 100644 index 0000000..6e75f07 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection09.js @@ -0,0 +1,118 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "collection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The item(index) method returns null if the index is out of range. + + Retrieve the first TABLE element and create a HTMLCollection by invoking + the "rows" attribute. Invoke the item(index) method with an index + of 5. This index is out of range and should return null. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33262535 +*/ +function HTMLCollection09() { + var success; + if(checkInitialization(builder, "HTMLCollection09") != null) return; + var nodeList; + var testNode; + var rowNode; + var rowsnodeList; + var vrowindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "collection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + rowNode = rowsnodeList.item(5); + assertNull("rowIndexLink",rowNode); + +} + + + + +function runTest() { + HTMLCollection09(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection10.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection10.js new file mode 100644 index 0000000..9a823d4 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection10.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "collection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The namedItem(name) method retrieves a node using a name. It first + searches for a node with a matching id attribute. If it doesn't find + one, it then searches for a Node with a matching name attribute, but only + on those elements that are allowed a name attribute. + + Retrieve the first FORM element and create a HTMLCollection by invoking + the elements attribute. The first SELECT element is further retrieved + using the elements name attribute since the id attribute doesn't match. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-21069976 +*/ +function HTMLCollection10() { + var success; + if(checkInitialization(builder, "HTMLCollection10") != null) return; + var nodeList; + var testNode; + var formNode; + var formsnodeList; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "collection"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + formsnodeList = testNode.elements; + + formNode = formsnodeList.namedItem("select1"); + vname = formNode.nodeName; + + assertEqualsAutoCase("element", "nameIndexLink","SELECT",vname); + +} + + + + +function runTest() { + HTMLCollection10(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection11.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection11.js new file mode 100644 index 0000000..2874b39 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection11.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "collection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The namedItem(name) method retrieves a node using a name. It first + searches for a node with a matching id attribute. If it doesn't find + one, it then searches for a Node with a matching name attribute, but only + on those elements that are allowed a name attribute. + + Retrieve the first FORM element and create a HTMLCollection by invoking + the elements attribute. The first SELECT element is further retrieved + using the elements id attribute. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76728479 +*/ +function HTMLCollection11() { + var success; + if(checkInitialization(builder, "HTMLCollection11") != null) return; + var nodeList; + var testNode; + var formNode; + var formsnodeList; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "collection"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + formsnodeList = testNode.elements; + + formNode = formsnodeList.namedItem("selectId"); + vname = formNode.nodeName; + + assertEqualsAutoCase("element", "nameIndexLink","select",vname); + +} + + + + +function runTest() { + HTMLCollection11(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection12.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection12.js new file mode 100644 index 0000000..7325273 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection12.js @@ -0,0 +1,121 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "collection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The namedItem(name) method retrieves a node using a name. It first + searches for a node with a matching id attribute. If it doesn't find + one, it then searches for a Node with a matching name attribute, but only + on those elements that are allowed a name attribute. If there isn't + a matching node the method returns null. + + Retrieve the first FORM element and create a HTMLCollection by invoking + the elements attribute. The method returns null since there is not a + match of the name or id attribute. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-21069976 +*/ +function HTMLCollection12() { + var success; + if(checkInitialization(builder, "HTMLCollection12") != null) return; + var nodeList; + var testNode; + var formNode; + var formsnodeList; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "collection"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + formsnodeList = testNode.elements; + + formNode = formsnodeList.namedItem("select9"); + assertNull("nameIndexLink",formNode); + +} + + + + +function runTest() { + HTMLCollection12(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDirectoryElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDirectoryElement01.js new file mode 100644 index 0000000..471233a --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDirectoryElement01.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDirectoryElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "directory"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The compact attribute specifies a boolean value on whether to display + the list more compactly. + + Retrieve the compact attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75317739 +*/ +function HTMLDirectoryElement01() { + var success; + if(checkInitialization(builder, "HTMLDirectoryElement01") != null) return; + var nodeList; + var testNode; + var vcompact; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "directory"); + nodeList = doc.getElementsByTagName("dir"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcompact = testNode.compact; + + assertTrue("compactLink",vcompact); + +} + + + + +function runTest() { + HTMLDirectoryElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDivElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDivElement01.js new file mode 100644 index 0000000..4557401 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDivElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDivElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "div"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal text alignment. + + Retrieve the align attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-70908791 +*/ +function HTMLDivElement01() { + var success; + if(checkInitialization(builder, "HTMLDivElement01") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "div"); + nodeList = doc.getElementsByTagName("div"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLDivElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDlistElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDlistElement01.js new file mode 100644 index 0000000..1ce061f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDlistElement01.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDlistElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "dl"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The compact attribute specifies a boolean value on whether to display + the list more compactly. + + Retrieve the compact attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-21738539 +*/ +function HTMLDlistElement01() { + var success; + if(checkInitialization(builder, "HTMLDlistElement01") != null) return; + var nodeList; + var testNode; + var vcompact; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "dl"); + nodeList = doc.getElementsByTagName("dl"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcompact = testNode.compact; + + assertTrue("compactLink",vcompact); + +} + + + + +function runTest() { + HTMLDlistElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument08.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument08.js new file mode 100644 index 0000000..3469421 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument08.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The applets attribute returns a collection of all OBJECT elements that + include applets abd APPLET elements in a document. + + Retrieve the applets attribute from the document and examine its value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-85113862 +*/ +function HTMLDocument08() { + var success; + if(checkInitialization(builder, "HTMLDocument08") != null) return; + var nodeList; + var testNode; + var vapplets; + var vlength; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + vapplets = doc.applets; + + vlength = vapplets.length; + + assertEquals("length",4,vlength); + +} + + + + +function runTest() { + HTMLDocument08(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument11.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument11.js new file mode 100644 index 0000000..a05690e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument11.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The anchors attribute returns a collection of all A elements with values + for the name attribute. + + Retrieve the anchors attribute from the document and examine its value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-7577272 +*/ +function HTMLDocument11() { + var success; + if(checkInitialization(builder, "HTMLDocument11") != null) return; + var nodeList; + var testNode; + var vanchors; + var vlength; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + vanchors = doc.anchors; + + vlength = vanchors.length; + + assertEquals("lengthLink",1,vlength); + +} + + + + +function runTest() { + HTMLDocument11(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument13.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument13.js new file mode 100644 index 0000000..af26d5a --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument13.js @@ -0,0 +1,109 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument13"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The getElementsByName method returns the (possibly empty) collection + of elements whose name value is given by the elementName. + + Retrieve all the elements whose name attribute is "mapid". + Check the length of the nodelist. It should be 1. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71555259 +*/ +function HTMLDocument13() { + var success; + if(checkInitialization(builder, "HTMLDocument13") != null) return; + var nodeList; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + nodeList = doc.getElementsByName("mapid"); + assertSize("Asize",1,nodeList); + +} + + + + +function runTest() { + HTMLDocument13(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument14.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument14.js new file mode 100644 index 0000000..ebb16dd --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument14.js @@ -0,0 +1,110 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument14"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The getElementsByName method returns the (possibly empty) collection + of elements whose name value is given by the elementName. + + Retrieve all the elements whose name attribute is "noid". + Check the length of the nodelist. It should be 0 since + the id "noid" does not exist. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71555259 +*/ +function HTMLDocument14() { + var success; + if(checkInitialization(builder, "HTMLDocument14") != null) return; + var nodeList; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + nodeList = doc.getElementsByName("noid"); + assertSize("Asize",0,nodeList); + +} + + + + +function runTest() { + HTMLDocument14(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement01.js new file mode 100644 index 0000000..a9696c0 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFontElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "font"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The color attribute specifies the font's color. + + Retrieve the color attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-53532975 +*/ +function HTMLFontElement01() { + var success; + if(checkInitialization(builder, "HTMLFontElement01") != null) return; + var nodeList; + var testNode; + var vcolor; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "font"); + nodeList = doc.getElementsByTagName("font"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcolor = testNode.color; + + assertEquals("colorLink","#000000",vcolor); + +} + + + + +function runTest() { + HTMLFontElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement02.js new file mode 100644 index 0000000..1e10269 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFontElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "font"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The face attribute specifies the font's face identifier. + + Retrieve the face attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-55715655 +* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#HTML-HTMLFormElement-length +*/ +function HTMLFontElement02() { + var success; + if(checkInitialization(builder, "HTMLFontElement02") != null) return; + var nodeList; + var testNode; + var vface; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "font"); + nodeList = doc.getElementsByTagName("font"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vface = testNode.face; + + assertEquals("faceLink","arial,helvetica",vface); + +} + + + + +function runTest() { + HTMLFontElement02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement03.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement03.js new file mode 100644 index 0000000..437a36e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement03.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFontElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "font"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The size attribute specifies the font's size. + + Retrieve the size attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-90127284 +*/ +function HTMLFontElement03() { + var success; + if(checkInitialization(builder, "HTMLFontElement03") != null) return; + var nodeList; + var testNode; + var vsize; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "font"); + nodeList = doc.getElementsByTagName("font"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vsize = testNode.size; + + assertEquals("sizeLink","4",vsize); + +} + + + + +function runTest() { + HTMLFontElement03(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFormElement02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFormElement02.js new file mode 100644 index 0000000..40b962b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFormElement02.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFormElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "form"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The length attribute specifies the number of form controls + in the form. + + Retrieve the length attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40002357 +* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#HTML-HTMLFormElement-length +*/ +function HTMLFormElement02() { + var success; + if(checkInitialization(builder, "HTMLFormElement02") != null) return; + var nodeList; + var testNode; + var vlength; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "form"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlength = testNode.length; + + assertEquals("lengthLink",3,vlength); + +} + + + + +function runTest() { + HTMLFormElement02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement01.js new file mode 100644 index 0000000..977208c --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement01.js @@ -0,0 +1,116 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFrameElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "frame"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The frameBorder attribute specifies the request for frame borders. + (frameBorder=1 A border is drawn) + (FrameBorder=0 A border is not drawn) + + Retrieve the frameBorder attribute of the first FRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-11858633 +*/ +function HTMLFrameElement01() { + var success; + if(checkInitialization(builder, "HTMLFrameElement01") != null) return; + var nodeList; + var testNode; + var vframeborder; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "frame"); + nodeList = doc.getElementsByTagName("frame"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vframeborder = testNode.frameBorder; + + assertEquals("frameborderLink","1",vframeborder); + +} + + + + +function runTest() { + HTMLFrameElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement02.js new file mode 100644 index 0000000..31ba4dc --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement02.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFrameElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "frame"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The longDesc attribute specifies a URI designating a long description + of this image or frame. + + Retrieve the longDesc attribute of the first FRAME element and examine + its value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-7836998 +*/ +function HTMLFrameElement02() { + var success; + if(checkInitialization(builder, "HTMLFrameElement02") != null) return; + var nodeList; + var testNode; + var vlongdesc; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "frame"); + nodeList = doc.getElementsByTagName("frame"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vlongdesc = testNode.longDesc; + + assertEquals("longdescLink","about:blank",vlongdesc); + +} + + + + +function runTest() { + HTMLFrameElement02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement03.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement03.js new file mode 100644 index 0000000..7820c3a --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement03.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFrameElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "frame"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The marginHeight attribute specifies the frame margin height, in pixels. + + Retrieve the marginHeight attribute of the first FRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-55569778 +*/ +function HTMLFrameElement03() { + var success; + if(checkInitialization(builder, "HTMLFrameElement03") != null) return; + var nodeList; + var testNode; + var vmarginheight; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "frame"); + nodeList = doc.getElementsByTagName("frame"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vmarginheight = testNode.marginHeight; + + assertEquals("marginheightLink","10",vmarginheight); + +} + + + + +function runTest() { + HTMLFrameElement03(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement04.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement04.js new file mode 100644 index 0000000..702daf4 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement04.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFrameElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "frame"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The marginWidth attribute specifies the frame margin width, in pixels. + + Retrieve the marginWidth attribute of the first FRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-8369969 +*/ +function HTMLFrameElement04() { + var success; + if(checkInitialization(builder, "HTMLFrameElement04") != null) return; + var nodeList; + var testNode; + var vmarginwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "frame"); + nodeList = doc.getElementsByTagName("frame"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vmarginwidth = testNode.marginWidth; + + assertEquals("marginwidthLink","5",vmarginwidth); + +} + + + + +function runTest() { + HTMLFrameElement04(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement05.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement05.js new file mode 100644 index 0000000..6a59d13 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement05.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFrameElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "frame"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The name attribute specifies the frame name(object of the target + attribute). + + Retrieve the name attribute of the first FRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-91128709 +*/ +function HTMLFrameElement05() { + var success; + if(checkInitialization(builder, "HTMLFrameElement05") != null) return; + var nodeList; + var testNode; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "frame"); + nodeList = doc.getElementsByTagName("frame"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vname = testNode.name; + + assertEquals("nameLink","Frame1",vname); + +} + + + + +function runTest() { + HTMLFrameElement05(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement06.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement06.js new file mode 100644 index 0000000..06f7e07 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement06.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFrameElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "frame"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The noResize attribute specifies if the user can resize the frame. When + true, forbid user from resizing frame. + + Retrieve the noResize attribute of the first FRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-80766578 +*/ +function HTMLFrameElement06() { + var success; + if(checkInitialization(builder, "HTMLFrameElement06") != null) return; + var nodeList; + var testNode; + var vnoresize; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "frame"); + nodeList = doc.getElementsByTagName("frame"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vnoresize = testNode.noResize; + + assertTrue("noresizeLink",vnoresize); + +} + + + + +function runTest() { + HTMLFrameElement06(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement07.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement07.js new file mode 100644 index 0000000..878a942 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement07.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFrameElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "frame"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The scrolling attribute specifies whether or not the frame should have + scrollbars. + + Retrieve the scrolling attribute of the first FRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-45411424 +*/ +function HTMLFrameElement07() { + var success; + if(checkInitialization(builder, "HTMLFrameElement07") != null) return; + var nodeList; + var testNode; + var vscrolling; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "frame"); + nodeList = doc.getElementsByTagName("frame"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vscrolling = testNode.scrolling; + + assertEquals("scrollingLink","yes",vscrolling); + +} + + + + +function runTest() { + HTMLFrameElement07(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement08.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement08.js new file mode 100644 index 0000000..541b5f4 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement08.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFrameElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "frame"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The src attribute specifies a URI designating the initial frame contents. + + Retrieve the src attribute of the first FRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78799535 +*/ +function HTMLFrameElement08() { + var success; + if(checkInitialization(builder, "HTMLFrameElement08") != null) return; + var nodeList; + var testNode; + var vsrc; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "frame"); + nodeList = doc.getElementsByTagName("frame"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vsrc = testNode.src; + + assertURIEquals("srcLink",null,null,null,null,"right",null,null,null,vsrc); + +} + + + + +function runTest() { + HTMLFrameElement08(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement01.js new file mode 100644 index 0000000..a8ed24f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement01.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFrameSetElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "frameset"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The cols attribute specifies the number of columns of frames in the + frameset. + + Retrieve the cols attribute of the first FRAMESET element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98869594 +*/ +function HTMLFrameSetElement01() { + var success; + if(checkInitialization(builder, "HTMLFrameSetElement01") != null) return; + var nodeList; + var testNode; + var vcols; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "frameset"); + nodeList = doc.getElementsByTagName("frameset"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vcols = testNode.cols; + + assertEquals("colsLink","20, 80",vcols); + +} + + + + +function runTest() { + HTMLFrameSetElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement02.js new file mode 100644 index 0000000..e7bc555 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement02.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFrameSetElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "frameset"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The rows attribute specifies the number of rows of frames in the + frameset. + + Retrieve the rows attribute of the second FRAMESET element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-19739247 +*/ +function HTMLFrameSetElement02() { + var success; + if(checkInitialization(builder, "HTMLFrameSetElement02") != null) return; + var nodeList; + var testNode; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "frameset"); + nodeList = doc.getElementsByTagName("frameset"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vrows = testNode.rows; + + assertEquals("rowsLink","100, 200",vrows); + +} + + + + +function runTest() { + HTMLFrameSetElement02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement01.js new file mode 100644 index 0000000..31599c0 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHRElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hr"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the rule alignment on the page. + + Retrieve the align attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-15235012 +*/ +function HTMLHRElement01() { + var success; + if(checkInitialization(builder, "HTMLHRElement01") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hr"); + nodeList = doc.getElementsByTagName("hr"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLHRElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement02.js new file mode 100644 index 0000000..215b4c6 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHRElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hr"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The noShade attribute specifies that the rule should be drawn as + a solid color. + + Retrieve the noShade attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-79813978 +*/ +function HTMLHRElement02() { + var success; + if(checkInitialization(builder, "HTMLHRElement02") != null) return; + var nodeList; + var testNode; + var vnoshade; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hr"); + nodeList = doc.getElementsByTagName("hr"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vnoshade = testNode.noShade; + + assertTrue("noShadeLink",vnoshade); + +} + + + + +function runTest() { + HTMLHRElement02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement03.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement03.js new file mode 100644 index 0000000..405472f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement03.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHRElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hr"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The size attribute specifies the height of the rule. + + Retrieve the size attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-77612587 +*/ +function HTMLHRElement03() { + var success; + if(checkInitialization(builder, "HTMLHRElement03") != null) return; + var nodeList; + var testNode; + var vsize; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hr"); + nodeList = doc.getElementsByTagName("hr"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vsize = testNode.size; + + assertEquals("sizeLink","5",vsize); + +} + + + + +function runTest() { + HTMLHRElement03(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement04.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement04.js new file mode 100644 index 0000000..0ffdfa0 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement04.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHRElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hr"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The width attribute specifies the width of the rule. + + Retrieve the width attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87744198 +*/ +function HTMLHRElement04() { + var success; + if(checkInitialization(builder, "HTMLHRElement04") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hr"); + nodeList = doc.getElementsByTagName("hr"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vwidth = testNode.width; + + assertEquals("widthLink","400",vwidth); + +} + + + + +function runTest() { + HTMLHRElement04(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadElement01.js new file mode 100644 index 0000000..cea3273 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHeadElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "head"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The profile attribute specifies a URI designating a metadata profile. + + Retrieve the profile attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96921909 +*/ +function HTMLHeadElement01() { + var success; + if(checkInitialization(builder, "HTMLHeadElement01") != null) return; + var nodeList; + var testNode; + var vprofile; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "head"); + nodeList = doc.getElementsByTagName("head"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vprofile = testNode.profile; + + assertURIEquals("profileLink",null,null,null,"profile",null,null,null,null,vprofile); + +} + + + + +function runTest() { + HTMLHeadElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement01.js new file mode 100644 index 0000000..46395cc --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHeadingElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "heading"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal text alignment(H1). + + Retrieve the align attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6796462 +*/ +function HTMLHeadingElement01() { + var success; + if(checkInitialization(builder, "HTMLHeadingElement01") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "heading"); + nodeList = doc.getElementsByTagName("h1"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLHeadingElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement02.js new file mode 100644 index 0000000..9e38da7 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement02.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHeadingElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "heading"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal text alignment(H2). + + Retrieve the align attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6796462 +*/ +function HTMLHeadingElement02() { + var success; + if(checkInitialization(builder, "HTMLHeadingElement02") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "heading"); + nodeList = doc.getElementsByTagName("h2"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","left",valign); + +} + + + + +function runTest() { + HTMLHeadingElement02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement03.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement03.js new file mode 100644 index 0000000..f0400e4 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement03.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHeadingElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "heading"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal text alignment(H3). + + Retrieve the align attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6796462 +*/ +function HTMLHeadingElement03() { + var success; + if(checkInitialization(builder, "HTMLHeadingElement03") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "heading"); + nodeList = doc.getElementsByTagName("h3"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","right",valign); + +} + + + + +function runTest() { + HTMLHeadingElement03(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement04.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement04.js new file mode 100644 index 0000000..0a48815 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement04.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHeadingElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "heading"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal text alignment(H4). + + Retrieve the align attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6796462 +*/ +function HTMLHeadingElement04() { + var success; + if(checkInitialization(builder, "HTMLHeadingElement04") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "heading"); + nodeList = doc.getElementsByTagName("h4"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","justify",valign); + +} + + + + +function runTest() { + HTMLHeadingElement04(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement05.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement05.js new file mode 100644 index 0000000..67de088 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement05.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHeadingElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "heading"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal text alignment(H5). + + Retrieve the align attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6796462 +*/ +function HTMLHeadingElement05() { + var success; + if(checkInitialization(builder, "HTMLHeadingElement05") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "heading"); + nodeList = doc.getElementsByTagName("h5"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLHeadingElement05(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement06.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement06.js new file mode 100644 index 0000000..97218f9 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement06.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHeadingElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "heading"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal text alignment(H6). + + Retrieve the align attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6796462 +*/ +function HTMLHeadingElement06() { + var success; + if(checkInitialization(builder, "HTMLHeadingElement06") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "heading"); + nodeList = doc.getElementsByTagName("h6"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","left",valign); + +} + + + + +function runTest() { + HTMLHeadingElement06(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHtmlElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHtmlElement01.js new file mode 100644 index 0000000..5e62cdb --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHtmlElement01.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHtmlElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "html"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The version attribute specifies version information about the document's + DTD. + + Retrieve the version attribute and examine its value. + + Test is only applicable to HTML, version attribute is not supported in XHTML. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-9383775 +*/ +function HTMLHtmlElement01() { + var success; + if(checkInitialization(builder, "HTMLHtmlElement01") != null) return; + var nodeList; + var testNode; + var vversion; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "html"); + nodeList = doc.getElementsByTagName("html"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vversion = testNode.version; + + + if( + + (builder.contentType == "text/html") + + ) { + assertEquals("versionLink","-//W3C//DTD HTML 4.01 Transitional//EN",vversion); + + } + +} + + + + +function runTest() { + HTMLHtmlElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement01.js new file mode 100644 index 0000000..591f57e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement01.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIFrameElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "iframe"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute aligns this object(vertically or horizontally with + respect to its surrounding text. + + Retrieve the align attribute of the first IFRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-11309947 +*/ +function HTMLIFrameElement01() { + var success; + if(checkInitialization(builder, "HTMLIFrameElement01") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "iframe"); + nodeList = doc.getElementsByTagName("iframe"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","top",valign); + +} + + + + +function runTest() { + HTMLIFrameElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement02.js new file mode 100644 index 0000000..28326df --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement02.js @@ -0,0 +1,116 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIFrameElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "iframe"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The frameBorder attribute specifies the request for frame borders. + (frameBorder=1 A border is drawn) + (FrameBorder=0 A border is not drawn) + + Retrieve the frameBorder attribute of the first IFRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-22463410 +*/ +function HTMLIFrameElement02() { + var success; + if(checkInitialization(builder, "HTMLIFrameElement02") != null) return; + var nodeList; + var testNode; + var vframeborder; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "iframe"); + nodeList = doc.getElementsByTagName("iframe"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vframeborder = testNode.frameBorder; + + assertEquals("frameborderLink","1",vframeborder); + +} + + + + +function runTest() { + HTMLIFrameElement02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement04.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement04.js new file mode 100644 index 0000000..cc3bd41 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement04.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIFrameElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "iframe"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The longDesc attribute specifies a URI designating a long description + of this image or frame. + + Retrieve the longDesc attribute of the first IFRAME element and examine + its value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-70472105 +*/ +function HTMLIFrameElement04() { + var success; + if(checkInitialization(builder, "HTMLIFrameElement04") != null) return; + var nodeList; + var testNode; + var vlongdesc; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "iframe"); + nodeList = doc.getElementsByTagName("iframe"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlongdesc = testNode.longDesc; + + assertEquals("longdescLink","about:blank",vlongdesc); + +} + + + + +function runTest() { + HTMLIFrameElement04(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement05.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement05.js new file mode 100644 index 0000000..1f03bea --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement05.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIFrameElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "iframe"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The marginWidth attribute specifies the frame margin width, in pixels. + + Retrieve the marginWidth attribute of the first FRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-66486595 +*/ +function HTMLIFrameElement05() { + var success; + if(checkInitialization(builder, "HTMLIFrameElement05") != null) return; + var nodeList; + var testNode; + var vmarginwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "iframe"); + nodeList = doc.getElementsByTagName("iframe"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vmarginwidth = testNode.marginWidth; + + assertEquals("marginwidthLink","5",vmarginwidth); + +} + + + + +function runTest() { + HTMLIFrameElement05(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement06.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement06.js new file mode 100644 index 0000000..9081c4c --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement06.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIFrameElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "iframe"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The marginHeight attribute specifies the frame margin height, in pixels. + + Retrieve the marginHeight attribute of the first IFRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-91371294 +*/ +function HTMLIFrameElement06() { + var success; + if(checkInitialization(builder, "HTMLIFrameElement06") != null) return; + var nodeList; + var testNode; + var vmarginheight; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "iframe"); + nodeList = doc.getElementsByTagName("iframe"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vmarginheight = testNode.marginHeight; + + assertEquals("marginheightLink","10",vmarginheight); + +} + + + + +function runTest() { + HTMLIFrameElement06(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement08.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement08.js new file mode 100644 index 0000000..2c1a4a8 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement08.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIFrameElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "iframe"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The scrolling attribute specifies whether or not the frame should have + scrollbars. + + Retrieve the scrolling attribute of the first FRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-36369822 +*/ +function HTMLIFrameElement08() { + var success; + if(checkInitialization(builder, "HTMLIFrameElement08") != null) return; + var nodeList; + var testNode; + var vscrolling; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "iframe"); + nodeList = doc.getElementsByTagName("iframe"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vscrolling = testNode.scrolling; + + assertEquals("scrollingLink","yes",vscrolling); + +} + + + + +function runTest() { + HTMLIFrameElement08(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement01.js new file mode 100644 index 0000000..48a4806 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "img"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The name attribute specifies the name of the element. + + Retrieve the name attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-47534097 +*/ +function HTMLImageElement01() { + var success; + if(checkInitialization(builder, "HTMLImageElement01") != null) return; + var nodeList; + var testNode; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "img"); + nodeList = doc.getElementsByTagName("img"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vname = testNode.name; + + assertEquals("nameLink","IMAGE-1",vname); + +} + + + + +function runTest() { + HTMLImageElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement02.js new file mode 100644 index 0000000..549b1e7 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "img"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute aligns this object with respect to its surrounding + text. + + Retrieve the align attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-3211094 +*/ +function HTMLImageElement02() { + var success; + if(checkInitialization(builder, "HTMLImageElement02") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "img"); + nodeList = doc.getElementsByTagName("img"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","middle",valign); + +} + + + + +function runTest() { + HTMLImageElement02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement03.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement03.js new file mode 100644 index 0000000..1dcf05e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement03.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "img"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The alt attribute specifies an alternative text for user agenst not + rendering the normal content of this element. + + Retrieve the alt attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95636861 +*/ +function HTMLImageElement03() { + var success; + if(checkInitialization(builder, "HTMLImageElement03") != null) return; + var nodeList; + var testNode; + var valt; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "img"); + nodeList = doc.getElementsByTagName("img"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valt = testNode.alt; + + assertEquals("altLink","DTS IMAGE LOGO",valt); + +} + + + + +function runTest() { + HTMLImageElement03(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement04.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement04.js new file mode 100644 index 0000000..9015271 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement04.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "img"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The border attribute specifies the width of the border around the image. + + Retrieve the border attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-136671 +*/ +function HTMLImageElement04() { + var success; + if(checkInitialization(builder, "HTMLImageElement04") != null) return; + var nodeList; + var testNode; + var vborder; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "img"); + nodeList = doc.getElementsByTagName("img"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vborder = testNode.border; + + assertEquals("borderLink","0",vborder); + +} + + + + +function runTest() { + HTMLImageElement04(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement08.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement08.js new file mode 100644 index 0000000..1a63d60 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement08.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "img"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The longDesc attribute contains an URI designating a long description + of this image or frame. + + Retrieve the longDesc attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-77376969 +*/ +function HTMLImageElement08() { + var success; + if(checkInitialization(builder, "HTMLImageElement08") != null) return; + var nodeList; + var testNode; + var vlongdesc; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "img"); + nodeList = doc.getElementsByTagName("img"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlongdesc = testNode.longDesc; + + assertURIEquals("longDescLink",null,null,null,"desc.html",null,null,null,null,vlongdesc); + +} + + + + +function runTest() { + HTMLImageElement08(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement10.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement10.js new file mode 100644 index 0000000..52012c9 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement10.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "img"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The useMap attribute specifies to use the client-side image map. + + Retrieve the useMap attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-35981181 +*/ +function HTMLImageElement10() { + var success; + if(checkInitialization(builder, "HTMLImageElement10") != null) return; + var nodeList; + var testNode; + var vusemap; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "img"); + nodeList = doc.getElementsByTagName("img"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vusemap = testNode.useMap; + + assertEquals("useMapLink","#DTS-MAP",vusemap); + +} + + + + +function runTest() { + HTMLImageElement10(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement14.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement14.js new file mode 100644 index 0000000..65212eb --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement14.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement14"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "img"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The lowSrc attribute specifies an URI designating a long description of +this image or frame. + +Retrieve the lowSrc attribute of the first IMG element and examine +its value. Should be "" since lowSrc is not a valid attribute for IMG. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-91256910 +*/ +function HTMLImageElement14() { + var success; + if(checkInitialization(builder, "HTMLImageElement14") != null) return; + var nodeList; + var testNode; + var vlow; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "img"); + nodeList = doc.getElementsByTagName("img"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlow = testNode.lowSrc; + + assertEquals("lowLink","",vlow); + +} + + + + +function runTest() { + HTMLImageElement14(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement06.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement06.js new file mode 100644 index 0000000..52d1b31 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement06.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute aligns this object(vertically or horizontally) + with respect to the surrounding text. + + Retrieve the align attribute of the 4th INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96991182 +*/ +function HTMLInputElement06() { + var success; + if(checkInitialization(builder, "HTMLInputElement06") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(3); + valign = testNode.align; + + assertEquals("alignLink","bottom".toLowerCase(),valign.toLowerCase()); + +} + + + + +function runTest() { + HTMLInputElement06(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement17.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement17.js new file mode 100644 index 0000000..c0ebbf5 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement17.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement17"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The useMap attribute specifies the use of the client-side image map. + + Retrieve the useMap attribute of the 8th INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-32463706 +*/ +function HTMLInputElement17() { + var success; + if(checkInitialization(builder, "HTMLInputElement17") != null) return; + var nodeList; + var testNode; + var vusemap; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(7); + vusemap = testNode.useMap; + + assertEquals("usemapLink","#submit-map",vusemap); + +} + + + + +function runTest() { + HTMLInputElement17(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement01.js new file mode 100644 index 0000000..d125608 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement01.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIsIndexElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "isindex"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns the FORM element containing this control. + + Retrieve the form attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87069980 +*/ +function HTMLIsIndexElement01() { + var success; + if(checkInitialization(builder, "HTMLIsIndexElement01") != null) return; + var nodeList; + var testNode; + var vform; + var fNode; + var doc; + var prompt; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "isindex"); + nodeList = doc.getElementsByTagName("isindex"); + testNode = nodeList.item(0); + assertNotNull("notnull",testNode); +prompt = testNode.prompt; + + assertEquals("IsIndex.Prompt","New Employee: ",prompt); + fNode = testNode.form; + + assertNotNull("formNotNull",fNode); +vform = fNode.id; + + assertEquals("formLink","form1",vform); + assertSize("Asize",2,nodeList); + +} + + + + +function runTest() { + HTMLIsIndexElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement02.js new file mode 100644 index 0000000..76bbf9c --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement02.js @@ -0,0 +1,119 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIsIndexElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "isindex"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns null if control in not within the context of + form. + + Retrieve the form attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87069980 +*/ +function HTMLIsIndexElement02() { + var success; + if(checkInitialization(builder, "HTMLIsIndexElement02") != null) return; + var nodeList; + var testNode; + var vform; + var doc; + var prompt; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "isindex"); + nodeList = doc.getElementsByTagName("isindex"); + testNode = nodeList.item(1); + assertNotNull("notnull",testNode); +prompt = testNode.prompt; + + assertEquals("IsIndex.Prompt","Old Employee: ",prompt); + vform = testNode.form; + + assertNull("formNullLink",vform); + assertSize("Asize",2,nodeList); + +} + + + + +function runTest() { + HTMLIsIndexElement02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement03.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement03.js new file mode 100644 index 0000000..86d0c13 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement03.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIsIndexElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "isindex"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The prompt attribute specifies the prompt message. + + Retrieve the prompt attribute of the 1st isindex element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33589862 +*/ +function HTMLIsIndexElement03() { + var success; + if(checkInitialization(builder, "HTMLIsIndexElement03") != null) return; + var nodeList; + var testNode; + var vprompt; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "isindex"); + nodeList = doc.getElementsByTagName("isindex"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vprompt = testNode.prompt; + + assertEquals("promptLink","New Employee: ",vprompt); + +} + + + + +function runTest() { + HTMLIsIndexElement03(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLIElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLIElement01.js new file mode 100644 index 0000000..1a95bb2 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLIElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLIElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "li"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The type attribute is a list item bullet style. + + Retrieve the type attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52387668 +*/ +function HTMLLIElement01() { + var success; + if(checkInitialization(builder, "HTMLLIElement01") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "li"); + nodeList = doc.getElementsByTagName("li"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","square",vtype); + +} + + + + +function runTest() { + HTMLLIElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement01.js new file mode 100644 index 0000000..cd03965 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement01.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLegendElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "legend"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns the FORM element containing this control. + + Retrieve the form attribute from the first LEGEND element + and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-29594519 +*/ +function HTMLLegendElement01() { + var success; + if(checkInitialization(builder, "HTMLLegendElement01") != null) return; + var nodeList; + var testNode; + var vform; + var fNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "legend"); + nodeList = doc.getElementsByTagName("legend"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + fNode = testNode.form; + + vform = fNode.id; + + assertEquals("formLink","form1",vform); + +} + + + + +function runTest() { + HTMLLegendElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement02.js new file mode 100644 index 0000000..b8395cc --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLegendElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "legend"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns null if control in not within the context of + form. + + Retrieve the second ELEMENT and examine its form element. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-29594519 +*/ +function HTMLLegendElement02() { + var success; + if(checkInitialization(builder, "HTMLLegendElement02") != null) return; + var nodeList; + var testNode; + var vform; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "legend"); + nodeList = doc.getElementsByTagName("legend"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vform = testNode.form; + + assertNull("formNullLink",vform); + +} + + + + +function runTest() { + HTMLLegendElement02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement03.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement03.js new file mode 100644 index 0000000..33fabad --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement03.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLegendElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "legend"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The accessKey attribute is a single character access key to give access + to the form control. + + Retrieve the accessKey attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-11297832 +*/ +function HTMLLegendElement03() { + var success; + if(checkInitialization(builder, "HTMLLegendElement03") != null) return; + var nodeList; + var testNode; + var vaccesskey; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "legend"); + nodeList = doc.getElementsByTagName("legend"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vaccesskey = testNode.accessKey; + + assertEquals("accesskeyLink","b",vaccesskey); + +} + + + + +function runTest() { + HTMLLegendElement03(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement04.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement04.js new file mode 100644 index 0000000..510d114 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement04.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLegendElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "legend"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the text alignment relative to FIELDSET. + + Retrieve the align attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-79538067 +*/ +function HTMLLegendElement04() { + var success; + if(checkInitialization(builder, "HTMLLegendElement04") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "legend"); + nodeList = doc.getElementsByTagName("legend"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","top",valign); + +} + + + + +function runTest() { + HTMLLegendElement04(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement02.js new file mode 100644 index 0000000..7768bee --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLinkElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "link"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The charset attribute indicates the character encoding of the linked + resource. + + Retrieve the charset attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63954491 +*/ +function HTMLLinkElement02() { + var success; + if(checkInitialization(builder, "HTMLLinkElement02") != null) return; + var nodeList; + var testNode; + var vcharset; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "link"); + nodeList = doc.getElementsByTagName("link"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vcharset = testNode.charset; + + assertEquals("charsetLink","Latin-1",vcharset); + +} + + + + +function runTest() { + HTMLLinkElement02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement07.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement07.js new file mode 100644 index 0000000..c5597f8 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement07.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLinkElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "link"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The rev attribute specifies the reverse link type. + + Retrieve the rev attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40715461 +*/ +function HTMLLinkElement07() { + var success; + if(checkInitialization(builder, "HTMLLinkElement07") != null) return; + var nodeList; + var testNode; + var vrev; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "link"); + nodeList = doc.getElementsByTagName("link"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vrev = testNode.rev; + + assertEquals("revLink","stylesheet",vrev); + +} + + + + +function runTest() { + HTMLLinkElement07(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement09.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement09.js new file mode 100644 index 0000000..050f9b8 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement09.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLinkElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "link2"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The target attribute specifies the frame to render the resource in. + + Retrieve the target attribute and examine it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-84183095 +*/ +function HTMLLinkElement09() { + var success; + if(checkInitialization(builder, "HTMLLinkElement09") != null) return; + var nodeList; + var testNode; + var vtarget; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "link2"); + nodeList = doc.getElementsByTagName("link"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vtarget = testNode.target; + + assertEquals("targetLink","dynamic",vtarget); + +} + + + + +function runTest() { + HTMLLinkElement09(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMapElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMapElement01.js new file mode 100644 index 0000000..ab2b9c4 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMapElement01.js @@ -0,0 +1,116 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLMapElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "map"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The areas attribute is a list of areas defined for the image map. + + Retrieve the areas attribute and find the number of areas defined. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71838730 +*/ +function HTMLMapElement01() { + var success; + if(checkInitialization(builder, "HTMLMapElement01") != null) return; + var nodeList; + var areasnodeList; + var testNode; + var vareas; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "map"); + nodeList = doc.getElementsByTagName("map"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + areasnodeList = testNode.areas; + + vareas = areasnodeList.length; + + assertEquals("areasLink",3,vareas); + +} + + + + +function runTest() { + HTMLMapElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMenuElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMenuElement01.js new file mode 100644 index 0000000..c2ff01d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMenuElement01.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLMenuElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "menu"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The compact attribute specifies a boolean value on whether to display + the list more compactly. + + Retrieve the compact attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-68436464 +*/ +function HTMLMenuElement01() { + var success; + if(checkInitialization(builder, "HTMLMenuElement01") != null) return; + var nodeList; + var testNode; + var vcompact; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "menu"); + nodeList = doc.getElementsByTagName("menu"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcompact = testNode.compact; + + assertTrue("compactLink",vcompact); + +} + + + + +function runTest() { + HTMLMenuElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOListElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOListElement01.js new file mode 100644 index 0000000..05aa1e6 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOListElement01.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOListElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "olist"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The compact attribute specifies a boolean value on whether to display + the list more compactly. + + Retrieve the compact attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76448506 +*/ +function HTMLOListElement01() { + var success; + if(checkInitialization(builder, "HTMLOListElement01") != null) return; + var nodeList; + var testNode; + var vcompact; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "olist"); + nodeList = doc.getElementsByTagName("ol"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcompact = testNode.compact; + + assertTrue("compactLink",vcompact); + +} + + + + +function runTest() { + HTMLOListElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement02.js new file mode 100644 index 0000000..1cbaaa3 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The code attribute specifies an Applet class file. + +Retrieve the code attribute of the second OBJECT element and examine +its value. Should be "" since CODE is not a valid attribute for OBJECT. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75241146 +*/ +function HTMLObjectElement02() { + var success; + if(checkInitialization(builder, "HTMLObjectElement02") != null) return; + var nodeList; + var testNode; + var vcode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vcode = testNode.code; + + assertEquals("codeLink","",vcode); + +} + + + + +function runTest() { + HTMLObjectElement02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement03.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement03.js new file mode 100644 index 0000000..0e37e00 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement03.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the alignment of this object with respect + to its surrounding text. + + Retrieve the align attribute of the first OBJECT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-16962097 +*/ +function HTMLObjectElement03() { + var success; + if(checkInitialization(builder, "HTMLObjectElement03") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","middle",valign); + +} + + + + +function runTest() { + HTMLObjectElement03(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement04.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement04.js new file mode 100644 index 0000000..8200dd1 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement04.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The archive attribute specifies a space-separated list of archives. + + Retrieve the archive attribute of the first OBJECT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-47783837 +*/ +function HTMLObjectElement04() { + var success; + if(checkInitialization(builder, "HTMLObjectElement04") != null) return; + var nodeList; + var testNode; + var varchive; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + varchive = testNode.archive; + + assertEquals("archiveLink","",varchive); + +} + + + + +function runTest() { + HTMLObjectElement04(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement05.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement05.js new file mode 100644 index 0000000..699a281 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement05.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The border attribute specifies the widht of the border around the object. + + Retrieve the border attribute of the first OBJECT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-82818419 +*/ +function HTMLObjectElement05() { + var success; + if(checkInitialization(builder, "HTMLObjectElement05") != null) return; + var nodeList; + var testNode; + var vborder; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vborder = testNode.border; + + assertEquals("borderLink","0",vborder); + +} + + + + +function runTest() { + HTMLObjectElement05(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement06.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement06.js new file mode 100644 index 0000000..fbc1b94 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement06.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The codeBase attribute specifies the base URI for the classid, data and + archive attributes. + + Retrieve the codeBase attribute of the first OBJECT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-25709136 +*/ +function HTMLObjectElement06() { + var success; + if(checkInitialization(builder, "HTMLObjectElement06") != null) return; + var nodeList; + var testNode; + var vcodebase; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vcodebase = testNode.codeBase; + + assertURIEquals("codebaseLink",null,"//xw2k.sdct.itl.nist.gov/brady/dom/",null,null,null,null,null,null,vcodebase); + +} + + + + +function runTest() { + HTMLObjectElement06(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement07.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement07.js new file mode 100644 index 0000000..e893e0f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement07.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The codeType attribute specifies the data downloaded via the classid + attribute. + + Retrieve the codeType attribute of the second OBJECT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-19945008 +*/ +function HTMLObjectElement07() { + var success; + if(checkInitialization(builder, "HTMLObjectElement07") != null) return; + var nodeList; + var testNode; + var vcodetype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vcodetype = testNode.codeType; + + assertEquals("codetypeLink","image/gif",vcodetype); + +} + + + + +function runTest() { + HTMLObjectElement07(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement09.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement09.js new file mode 100644 index 0000000..3309870 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement09.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The declare attribute specifies this object should be declared only and + no instance of it should be created. + + Retrieve the declare attribute of the second OBJECT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-942770 +*/ +function HTMLObjectElement09() { + var success; + if(checkInitialization(builder, "HTMLObjectElement09") != null) return; + var nodeList; + var testNode; + var vdeclare; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vdeclare = testNode.declare; + + assertTrue("declareLink",vdeclare); + +} + + + + +function runTest() { + HTMLObjectElement09(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement12.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement12.js new file mode 100644 index 0000000..ac365bb --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement12.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The standby attribute specifies a message to render while loading the + object. + + Retrieve the standby attribute of the first OBJECT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-25039673 +*/ +function HTMLObjectElement12() { + var success; + if(checkInitialization(builder, "HTMLObjectElement12") != null) return; + var nodeList; + var testNode; + var vstandby; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vstandby = testNode.standby; + + assertEquals("alignLink","Loading Image ...",vstandby); + +} + + + + +function runTest() { + HTMLObjectElement12(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement04.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement04.js new file mode 100644 index 0000000..838554c --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement04.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptionElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "option"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The text attribute contains the text contained within the option element. + + Retrieve the text attribute from the second OPTION element + and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-48154426 +*/ +function HTMLOptionElement04() { + var success; + if(checkInitialization(builder, "HTMLOptionElement04") != null) return; + var nodeList; + var testNode; + var vtext; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "option"); + nodeList = doc.getElementsByTagName("option"); + assertSize("Asize",10,nodeList); +testNode = nodeList.item(1); + vtext = testNode.text; + + assertEquals("textLink","EMP10002",vtext); + +} + + + + +function runTest() { + HTMLOptionElement04(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement05.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement05.js new file mode 100644 index 0000000..c3965f9 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement05.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptionElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "option"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The index attribute indicates th index of this OPTION in ints parent + SELECT. + + Retrieve the index attribute from the seventh OPTION element + and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14038413 +*/ +function HTMLOptionElement05() { + var success; + if(checkInitialization(builder, "HTMLOptionElement05") != null) return; + var nodeList; + var testNode; + var vindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "option"); + nodeList = doc.getElementsByTagName("option"); + assertSize("Asize",10,nodeList); +testNode = nodeList.item(6); + vindex = testNode.index; + + assertEquals("indexLink",1,vindex); + +} + + + + +function runTest() { + HTMLOptionElement05(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement09.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement09.js new file mode 100644 index 0000000..c10ea1c --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement09.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptionElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "option"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The value attribute contains the current form control value. + + Retrieve the value attribute from the first OPTION element + and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6185554 +*/ +function HTMLOptionElement09() { + var success; + if(checkInitialization(builder, "HTMLOptionElement09") != null) return; + var nodeList; + var testNode; + var vvalue; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "option"); + nodeList = doc.getElementsByTagName("option"); + assertSize("Asize",10,nodeList); +testNode = nodeList.item(0); + vvalue = testNode.value; + + assertEquals("valueLink","10001",vvalue); + +} + + + + +function runTest() { + HTMLOptionElement09(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParagraphElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParagraphElement01.js new file mode 100644 index 0000000..64a86e0 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParagraphElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLParagraphElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "paragraph"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal text alignment. + + Retrieve the align attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-53465507 +*/ +function HTMLParagraphElement01() { + var success; + if(checkInitialization(builder, "HTMLParagraphElement01") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "paragraph"); + nodeList = doc.getElementsByTagName("p"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLParagraphElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement01.js new file mode 100644 index 0000000..c3d6c44 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLParamElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "param"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The name attribute specifies the name of the run-time parameter. + + Retrieve the name attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59871447 +*/ +function HTMLParamElement01() { + var success; + if(checkInitialization(builder, "HTMLParamElement01") != null) return; + var nodeList; + var testNode; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "param"); + nodeList = doc.getElementsByTagName("param"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vname = testNode.name; + + assertEquals("nameLink","image3",vname); + +} + + + + +function runTest() { + HTMLParamElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement03.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement03.js new file mode 100644 index 0000000..48efd58 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement03.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLParamElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "param"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The valueType attribute specifies information about the meaning of the + value specified by the value attribute. + + Retrieve the valueType attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-23931872 +*/ +function HTMLParamElement03() { + var success; + if(checkInitialization(builder, "HTMLParamElement03") != null) return; + var nodeList; + var testNode; + var vvaluetype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "param"); + nodeList = doc.getElementsByTagName("param"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vvaluetype = testNode.valueType; + + assertEquals("valueTypeLink","ref",vvaluetype); + +} + + + + +function runTest() { + HTMLParamElement03(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement04.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement04.js new file mode 100644 index 0000000..c6523e3 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement04.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLParamElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "param"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The type attribute specifies the content type for the value attribute + when valuetype has the value ref. + + Retrieve the type attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-18179888 +*/ +function HTMLParamElement04() { + var success; + if(checkInitialization(builder, "HTMLParamElement04") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "param"); + nodeList = doc.getElementsByTagName("param"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","image/gif",vtype); + +} + + + + +function runTest() { + HTMLParamElement04(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLPreElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLPreElement01.js new file mode 100644 index 0000000..b2c16f3 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLPreElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLPreElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "pre"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The width attribute specifies the fixed width for content. + + Retrieve the width attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-13894083 +*/ +function HTMLPreElement01() { + var success; + if(checkInitialization(builder, "HTMLPreElement01") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "pre"); + nodeList = doc.getElementsByTagName("pre"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vwidth = testNode.width; + + assertEquals("widthLink",277,vwidth); + +} + + + + +function runTest() { + HTMLPreElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCaptionElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCaptionElement01.js new file mode 100644 index 0000000..e5947a8 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCaptionElement01.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCaptionElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecaption"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the caption alignment with respect to + the table. + + Retrieve the align attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-79875068 +*/ +function HTMLTableCaptionElement01() { + var success; + if(checkInitialization(builder, "HTMLTableCaptionElement01") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecaption"); + nodeList = doc.getElementsByTagName("caption"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","top",valign); + +} + + + + +function runTest() { + HTMLTableCaptionElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement01.js new file mode 100644 index 0000000..dcc8a80 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement01.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The cellIndex attribute specifies the index of this cell in the row(TH). + + Retrieve the cellIndex attribute of the first TH element and examine its + value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-80748363 +*/ +function HTMLTableCellElement01() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement01") != null) return; + var nodeList; + var testNode; + var vcellindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(0); + vcellindex = testNode.cellIndex; + + assertEquals("cellIndexLink",0,vcellindex); + +} + + + + +function runTest() { + HTMLTableCellElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement02.js new file mode 100644 index 0000000..049c770 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The cellIndex attribute specifies the index of this cell in the row(TD). + + Retrieve the cellIndex attribute of the first TD element and examine its + value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-80748363 +*/ +function HTMLTableCellElement02() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement02") != null) return; + var nodeList; + var testNode; + var vcellindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(0); + vcellindex = testNode.cellIndex; + + assertEquals("cellIndexLink",0,vcellindex); + +} + + + + +function runTest() { + HTMLTableCellElement02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement03.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement03.js new file mode 100644 index 0000000..72ffe5f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement03.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The abbr attribute specifies the abbreviation for table header cells(TH). + + Retrieve the abbr attribute from the second TH element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-74444037 +*/ +function HTMLTableCellElement03() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement03") != null) return; + var nodeList; + var testNode; + var vabbr; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vabbr = testNode.abbr; + + assertEquals("abbrLink","hd1",vabbr); + +} + + + + +function runTest() { + HTMLTableCellElement03(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement04.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement04.js new file mode 100644 index 0000000..2d41fe9 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement04.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The abbr attribute specifies the abbreviation for table data cells(TD). + + Retrieve the abbr attribute from the second TD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-74444037 +*/ +function HTMLTableCellElement04() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement04") != null) return; + var nodeList; + var testNode; + var vabbr; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vabbr = testNode.abbr; + + assertEquals("abbrLink","hd2",vabbr); + +} + + + + +function runTest() { + HTMLTableCellElement04(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement05.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement05.js new file mode 100644 index 0000000..90da834 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement05.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal alignment for table + header cells(TH). + + Retrieve the align attribute from the second TH element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98433879 +*/ +function HTMLTableCellElement05() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement05") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLTableCellElement05(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement06.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement06.js new file mode 100644 index 0000000..99ab7a0 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement06.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal alignment for table + data cells(TD). + + Retrieve the align attribute from the second TD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98433879 +*/ +function HTMLTableCellElement06() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement06") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLTableCellElement06(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement07.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement07.js new file mode 100644 index 0000000..b0e9c20 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement07.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The axis attribute specifies the names group of related headers for table + header cells(TH). + + Retrieve the align attribute from the second TH element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76554418 +*/ +function HTMLTableCellElement07() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement07") != null) return; + var nodeList; + var testNode; + var vaxis; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vaxis = testNode.axis; + + assertEquals("axisLink","center",vaxis); + +} + + + + +function runTest() { + HTMLTableCellElement07(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement08.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement08.js new file mode 100644 index 0000000..c051a8f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement08.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The axis attribute specifies the names group of related headers for table + data cells(TD). + + Retrieve the axis attribute from the second TD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76554418 +*/ +function HTMLTableCellElement08() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement08") != null) return; + var nodeList; + var testNode; + var vaxis; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vaxis = testNode.axis; + + assertEquals("axisLink","center",vaxis); + +} + + + + +function runTest() { + HTMLTableCellElement08(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement09.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement09.js new file mode 100644 index 0000000..05d1444 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement09.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The bgColor attribute specifies the cells background color for + table header cells(TH). + + Retrieve the bgColor attribute from the second TH element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88135431 +*/ +function HTMLTableCellElement09() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement09") != null) return; + var nodeList; + var testNode; + var vbgcolor; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vbgcolor = testNode.bgColor; + + assertEquals("bgColorLink","#00FFFF".toLowerCase(),vbgcolor.toLowerCase()); + +} + + + + +function runTest() { + HTMLTableCellElement09(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement10.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement10.js new file mode 100644 index 0000000..798f16f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement10.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The bgColor attribute specifies the cells background color for table + data cells(TD). + + Retrieve the bgColor attribute from the second TD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88135431 +*/ +function HTMLTableCellElement10() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement10") != null) return; + var nodeList; + var testNode; + var vbgcolor; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vbgcolor = testNode.bgColor; + + assertEquals("bgColorLink","#FF0000".toLowerCase(),vbgcolor.toLowerCase()); + +} + + + + +function runTest() { + HTMLTableCellElement10(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement11.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement11.js new file mode 100644 index 0000000..452831c --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement11.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The char attribute specifies the alignment character for cells in a column + of table header cells(TH). + + Retrieve the char attribute from the second TH element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-30914780 +*/ +function HTMLTableCellElement11() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement11") != null) return; + var nodeList; + var testNode; + var vch; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vch = testNode.ch; + + assertEquals("chLink",":",vch); + +} + + + + +function runTest() { + HTMLTableCellElement11(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement12.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement12.js new file mode 100644 index 0000000..d27b212 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement12.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The char attribute specifies the alignment character for cells in a column + of table data cells(TD). + + Retrieve the char attribute from the second TD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-30914780 +*/ +function HTMLTableCellElement12() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement12") != null) return; + var nodeList; + var testNode; + var vch; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vch = testNode.ch; + + assertEquals("chLink",":",vch); + +} + + + + +function runTest() { + HTMLTableCellElement12(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement13.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement13.js new file mode 100644 index 0000000..5604e67 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement13.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement13"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The charoff attribute specifies the offset of alignment characacter + of table header cells(TH). + + Retrieve the charoff attribute from the second TH element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-20144310 +*/ +function HTMLTableCellElement13() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement13") != null) return; + var nodeList; + var testNode; + var vcharoff; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vcharoff = testNode.chOff; + + assertEquals("chOffLink","1",vcharoff); + +} + + + + +function runTest() { + HTMLTableCellElement13(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement14.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement14.js new file mode 100644 index 0000000..ae6b77c --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement14.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement14"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The charoff attribute specifies the offset of alignment character + of table data cells(TD). + + Retrieve the charoff attribute from the second TD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-20144310 +*/ +function HTMLTableCellElement14() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement14") != null) return; + var nodeList; + var testNode; + var vcharoff; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vcharoff = testNode.chOff; + + assertEquals("chOffLink","1",vcharoff); + +} + + + + +function runTest() { + HTMLTableCellElement14(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement17.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement17.js new file mode 100644 index 0000000..abd17f1 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement17.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement17"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The headers attribute specifies a list of id attribute values for + table header cells(TH). + + Retrieve the headers attribute from the second TH element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-89104817 +*/ +function HTMLTableCellElement17() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement17") != null) return; + var nodeList; + var testNode; + var vheaders; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vheaders = testNode.headers; + + assertEquals("headersLink","header-1",vheaders); + +} + + + + +function runTest() { + HTMLTableCellElement17(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement18.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement18.js new file mode 100644 index 0000000..fec2282 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement18.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement18"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The headers attribute specifies a list of id attribute values for + table data cells(TD). + + Retrieve the headers attribute from the second TD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-89104817 +*/ +function HTMLTableCellElement18() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement18") != null) return; + var nodeList; + var testNode; + var vheaders; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vheaders = testNode.headers; + + assertEquals("headersLink","header-3",vheaders); + +} + + + + +function runTest() { + HTMLTableCellElement18(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement19.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement19.js new file mode 100644 index 0000000..73ab423 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement19.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement19"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The height attribute specifies the cell height. + + Retrieve the height attribute from the second TH element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83679212 +*/ +function HTMLTableCellElement19() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement19") != null) return; + var nodeList; + var testNode; + var vheight; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vheight = testNode.height; + + assertEquals("heightLink","50",vheight); + +} + + + + +function runTest() { + HTMLTableCellElement19(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement20.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement20.js new file mode 100644 index 0000000..cf122ff --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement20.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement20"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The height attribute specifies the cell height. + + Retrieve the height attribute from the second TD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83679212 +*/ +function HTMLTableCellElement20() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement20") != null) return; + var nodeList; + var testNode; + var vheight; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vheight = testNode.height; + + assertEquals("heightLink","50",vheight); + +} + + + + +function runTest() { + HTMLTableCellElement20(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement21.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement21.js new file mode 100644 index 0000000..68edd32 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement21.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement21"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The noWrap attribute supresses word wrapping. + + Retrieve the noWrap attribute of the second TH Element and + examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-62922045 +*/ +function HTMLTableCellElement21() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement21") != null) return; + var nodeList; + var testNode; + var vnowrap; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vnowrap = testNode.noWrap; + + assertTrue("noWrapLink",vnowrap); + +} + + + + +function runTest() { + HTMLTableCellElement21(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement22.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement22.js new file mode 100644 index 0000000..441ee84 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement22.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement22"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The noWrap attribute supresses word wrapping. + + Retrieve the noWrap attribute of the second TD Element and + examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-62922045 +*/ +function HTMLTableCellElement22() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement22") != null) return; + var nodeList; + var testNode; + var vnowrap; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vnowrap = testNode.noWrap; + + assertTrue("noWrapLink",vnowrap); + +} + + + + +function runTest() { + HTMLTableCellElement22(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement26.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement26.js new file mode 100644 index 0000000..36813b2 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement26.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement26"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The scope attribute specifies the scope covered by data cells. + + Retrieve the scope attribute from the second TD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-36139952 +*/ +function HTMLTableCellElement26() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement26") != null) return; + var nodeList; + var testNode; + var vscope; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vscope = testNode.scope; + + assertEquals("scopeLink","col",vscope); + +} + + + + +function runTest() { + HTMLTableCellElement26(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement27.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement27.js new file mode 100644 index 0000000..a861962 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement27.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement27"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The vAlign attribute specifies the vertical alignment of data in cell. + + Retrieve the vAlign attribute from the second TH element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-58284221 +*/ +function HTMLTableCellElement27() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement27") != null) return; + var nodeList; + var testNode; + var vvalign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vvalign = testNode.vAlign; + + assertEquals("vAlignLink","middle",vvalign); + +} + + + + +function runTest() { + HTMLTableCellElement27(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement28.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement28.js new file mode 100644 index 0000000..00c1c9f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement28.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement28"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The vAlign attribute specifies the vertical alignment of data in cell. + + Retrieve the vAlign attribute from the second TD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-58284221 +*/ +function HTMLTableCellElement28() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement28") != null) return; + var nodeList; + var testNode; + var vvalign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vvalign = testNode.vAlign; + + assertEquals("vAlignLink","middle",vvalign); + +} + + + + +function runTest() { + HTMLTableCellElement28(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement29.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement29.js new file mode 100644 index 0000000..1655b67 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement29.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement29"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The width attribute specifies the cells width. + + Retrieve the width attribute from the second TH element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-27480795 +*/ +function HTMLTableCellElement29() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement29") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vwidth = testNode.width; + + assertEquals("widthLink","170",vwidth); + +} + + + + +function runTest() { + HTMLTableCellElement29(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement30.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement30.js new file mode 100644 index 0000000..6f54987 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement30.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement30"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The width attribute specifies the cells width. + + Retrieve the width attribute from the second TD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-27480795 +*/ +function HTMLTableCellElement30() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement30") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vwidth = testNode.width; + + assertEquals("widthLink","175",vwidth); + +} + + + + +function runTest() { + HTMLTableCellElement30(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement01.js new file mode 100644 index 0000000..7b58a8e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement01.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal alignment of cell data + in column(COL). + + Retrieve the align attribute from the COL element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-31128447 +*/ +function HTMLTableColElement01() { + var success; + if(checkInitialization(builder, "HTMLTableColElement01") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("col"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLTableColElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement02.js new file mode 100644 index 0000000..637aa7a --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement02.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal alignment of cell data + in column(COLGROUP). + + Retrieve the align attribute from the COLGROUP element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-31128447 +*/ +function HTMLTableColElement02() { + var success; + if(checkInitialization(builder, "HTMLTableColElement02") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("colgroup"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLTableColElement02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement03.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement03.js new file mode 100644 index 0000000..754b82e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement03.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The char attribute specifies the alignment character for cells + in a column(COL). + + Retrieve the char attribute from the COL element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-9447412 +*/ +function HTMLTableColElement03() { + var success; + if(checkInitialization(builder, "HTMLTableColElement03") != null) return; + var nodeList; + var testNode; + var vch; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("col"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vch = testNode.ch; + + assertEquals("chLink","*",vch); + +} + + + + +function runTest() { + HTMLTableColElement03(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement04.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement04.js new file mode 100644 index 0000000..89c959f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement04.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The char attribute specifies the alignment character for cells + in a column(COLGROUP). + + Retrieve the char attribute from the COLGROUP element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-9447412 +*/ +function HTMLTableColElement04() { + var success; + if(checkInitialization(builder, "HTMLTableColElement04") != null) return; + var nodeList; + var testNode; + var vch; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("colgroup"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vch = testNode.ch; + + assertEquals("chLink","$",vch); + +} + + + + +function runTest() { + HTMLTableColElement04(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement05.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement05.js new file mode 100644 index 0000000..b959a5f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement05.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The charoff attribute specifies offset of alignment character(COL). + + Retrieve the charoff attribute from the COL element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-57779225 +*/ +function HTMLTableColElement05() { + var success; + if(checkInitialization(builder, "HTMLTableColElement05") != null) return; + var nodeList; + var testNode; + var vchoff; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("col"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vchoff = testNode.chOff; + + assertEquals("chLink","20",vchoff); + +} + + + + +function runTest() { + HTMLTableColElement05(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement06.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement06.js new file mode 100644 index 0000000..5c7275c --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement06.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The charoff attribute specifies offset of alignment character(COLGROUP). + + Retrieve the charoff attribute from the COLGROUP element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-57779225 +*/ +function HTMLTableColElement06() { + var success; + if(checkInitialization(builder, "HTMLTableColElement06") != null) return; + var nodeList; + var testNode; + var vchoff; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("colgroup"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vchoff = testNode.chOff; + + assertEquals("chLink","15",vchoff); + +} + + + + +function runTest() { + HTMLTableColElement06(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement09.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement09.js new file mode 100644 index 0000000..8b49c29 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement09.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The vAlign attribute specifies the vertical alignment of cell data + in column(COL). + + Retrieve the vAlign attribute from the COL element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83291710 +*/ +function HTMLTableColElement09() { + var success; + if(checkInitialization(builder, "HTMLTableColElement09") != null) return; + var nodeList; + var testNode; + var vvalign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("col"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vvalign = testNode.vAlign; + + assertEquals("vAlignLink","middle",vvalign); + +} + + + + +function runTest() { + HTMLTableColElement09(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement10.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement10.js new file mode 100644 index 0000000..a18ec5c --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement10.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The vAlign attribute specifies the vertical alignment of cell data + in column(COLGROUP). + + Retrieve the vAlign attribute from the COLGROUP element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83291710 +*/ +function HTMLTableColElement10() { + var success; + if(checkInitialization(builder, "HTMLTableColElement10") != null) return; + var nodeList; + var testNode; + var vvalign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("colgroup"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vvalign = testNode.vAlign; + + assertEquals("vAlignLink","middle",vvalign); + +} + + + + +function runTest() { + HTMLTableColElement10(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement11.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement11.js new file mode 100644 index 0000000..690c21f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement11.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The width attribute specifies the default column width(COL). + + Retrieve the width attribute from the COL element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-25196799 +*/ +function HTMLTableColElement11() { + var success; + if(checkInitialization(builder, "HTMLTableColElement11") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("col"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vwidth = testNode.width; + + assertEquals("widthLink","20",vwidth); + +} + + + + +function runTest() { + HTMLTableColElement11(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement12.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement12.js new file mode 100644 index 0000000..00a0106 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement12.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The width attribute specifies the default column width(COLGORUP). + + Retrieve the width attribute from the COLGROUP element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-25196799 +*/ +function HTMLTableColElement12() { + var success; + if(checkInitialization(builder, "HTMLTableColElement12") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("colgroup"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vwidth = testNode.width; + + assertEquals("widthLink","20",vwidth); + +} + + + + +function runTest() { + HTMLTableColElement12(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement01.js new file mode 100644 index 0000000..e293873 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement01.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The caption attribute returns the tables CAPTION. + + Retrieve the align attribute of the CAPTION element from the second + TABLE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14594520 +*/ +function HTMLTableElement01() { + var success; + if(checkInitialization(builder, "HTMLTableElement01") != null) return; + var nodeList; + var testNode; + var vcaption; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vcaption = testNode.caption; + + valign = vcaption.align; + + assertEquals("alignLink","top",valign); + +} + + + + +function runTest() { + HTMLTableElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement03.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement03.js new file mode 100644 index 0000000..15a53ff --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement03.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The tHead attribute returns the tables THEAD. + + Retrieve the align attribute of the THEAD element from the second + TABLE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-9530944 +*/ +function HTMLTableElement03() { + var success; + if(checkInitialization(builder, "HTMLTableElement03") != null) return; + var nodeList; + var testNode; + var vsection; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vsection = testNode.tHead; + + valign = vsection.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLTableElement03(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement05.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement05.js new file mode 100644 index 0000000..e3ca76a --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement05.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The tFoot attribute returns the tables TFOOT. + + Retrieve the align attribute of the TFOOT element from the second + TABLE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097 +*/ +function HTMLTableElement05() { + var success; + if(checkInitialization(builder, "HTMLTableElement05") != null) return; + var nodeList; + var testNode; + var vsection; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vsection = testNode.tFoot; + + valign = vsection.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLTableElement05(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement10.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement10.js new file mode 100644 index 0000000..bbd3801 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement10.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the table's position with respect to the + rest of the document. + + Retrieve the align attribute of the first TABLE element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-23180977 +*/ +function HTMLTableElement10() { + var success; + if(checkInitialization(builder, "HTMLTableElement10") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLTableElement10(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement11.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement11.js new file mode 100644 index 0000000..f8172e4 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement11.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The bgColor attribute specifies cell background color. + + Retrieve the bgColor attribute of the first TABLE element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83532985 +*/ +function HTMLTableElement11() { + var success; + if(checkInitialization(builder, "HTMLTableElement11") != null) return; + var nodeList; + var testNode; + var vbgcolor; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vbgcolor = testNode.bgColor; + + assertEquals("bgColorLink","#ff0000",vbgcolor); + +} + + + + +function runTest() { + HTMLTableElement11(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement13.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement13.js new file mode 100644 index 0000000..4f2ba8f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement13.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement13"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The cellpadding attribute specifies the horizontal and vertical space + between cell content and cell borders. + + Retrieve the cellpadding attribute of the first TABLE element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59162158 +*/ +function HTMLTableElement13() { + var success; + if(checkInitialization(builder, "HTMLTableElement13") != null) return; + var nodeList; + var testNode; + var vcellpadding; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vcellpadding = testNode.cellPadding; + + assertEquals("cellPaddingLink","2",vcellpadding); + +} + + + + +function runTest() { + HTMLTableElement13(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement14.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement14.js new file mode 100644 index 0000000..d2ff13f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement14.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement14"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The cellSpacing attribute specifies the horizontal and vertical separation + between cells. + + Retrieve the cellSpacing attribute of the first TABLE element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-68907883 +*/ +function HTMLTableElement14() { + var success; + if(checkInitialization(builder, "HTMLTableElement14") != null) return; + var nodeList; + var testNode; + var cellSpacing; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + cellSpacing = testNode.cellSpacing; + + assertEquals("cellSpacingLink","2",cellSpacing); + +} + + + + +function runTest() { + HTMLTableElement14(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement15.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement15.js new file mode 100644 index 0000000..5f5f8da --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement15.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement15"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The frame attribute specifies which external table borders to render. + + Retrieve the frame attribute of the first TABLE element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64808476 +*/ +function HTMLTableElement15() { + var success; + if(checkInitialization(builder, "HTMLTableElement15") != null) return; + var nodeList; + var testNode; + var vframe; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vframe = testNode.frame; + + assertEquals("frameLink","border",vframe); + +} + + + + +function runTest() { + HTMLTableElement15(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement16.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement16.js new file mode 100644 index 0000000..54cdbe0 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement16.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement16"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The rules attribute specifies which internal table borders to render. + + Retrieve the rules attribute of the first TABLE element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-26347553 +*/ +function HTMLTableElement16() { + var success; + if(checkInitialization(builder, "HTMLTableElement16") != null) return; + var nodeList; + var testNode; + var vrules; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vrules = testNode.rules; + + assertEquals("rulesLink","all",vrules); + +} + + + + +function runTest() { + HTMLTableElement16(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement17.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement17.js new file mode 100644 index 0000000..361a908 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement17.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement17"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The summary attribute is a description about the purpose or structure + of a table. + + Retrieve the summary attribute of the first TABLE element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-44998528 +*/ +function HTMLTableElement17() { + var success; + if(checkInitialization(builder, "HTMLTableElement17") != null) return; + var nodeList; + var testNode; + var vsummary; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vsummary = testNode.summary; + + assertEquals("summaryLink","HTML Control Table",vsummary); + +} + + + + +function runTest() { + HTMLTableElement17(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement18.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement18.js new file mode 100644 index 0000000..ca51828 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement18.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement18"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The width attribute specifies the desired table width. + + Retrieve the width attribute of the first TABLE element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-77447361 +*/ +function HTMLTableElement18() { + var success; + if(checkInitialization(builder, "HTMLTableElement18") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vwidth = testNode.width; + + assertEquals("widthLink","680",vwidth); + +} + + + + +function runTest() { + HTMLTableElement18(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement02.js new file mode 100644 index 0000000..63d0e5e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement02.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The sectionRowIndex attribute specifies the index of this row, relative + to the current section(THEAD, TFOOT, or TBODY),starting from 0. + + Retrieve the second TR(1st In THEAD) element within the document and + examine its sectionRowIndex value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-79105901 +*/ +function HTMLTableRowElement02() { + var success; + if(checkInitialization(builder, "HTMLTableRowElement02") != null) return; + var nodeList; + var testNode; + var vsectionrowindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(1); + vsectionrowindex = testNode.sectionRowIndex; + + assertEquals("sectionRowIndexLink",0,vsectionrowindex); + +} + + + + +function runTest() { + HTMLTableRowElement02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement03.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement03.js new file mode 100644 index 0000000..6c2f8aa --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement03.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The sectionRowIndex attribute specifies the index of this row, relative + to the current section(THEAD, TFOOT, or TBODY),starting from 0. + + Retrieve the third TR(1st In TFOOT) element within the document and + examine its sectionRowIndex value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-79105901 +*/ +function HTMLTableRowElement03() { + var success; + if(checkInitialization(builder, "HTMLTableRowElement03") != null) return; + var nodeList; + var testNode; + var vsectionrowindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(2); + vsectionrowindex = testNode.sectionRowIndex; + + assertEquals("sectionRowIndexLink",0,vsectionrowindex); + +} + + + + +function runTest() { + HTMLTableRowElement03(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement04.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement04.js new file mode 100644 index 0000000..bea897c --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement04.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The sectionRowIndex attribute specifies the index of this row, relative + to the current section(THEAD, TFOOT, or TBODY),starting from 0. + + Retrieve the fifth TR(2nd In TBODY) element within the document and + examine its sectionRowIndex value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-79105901 +*/ +function HTMLTableRowElement04() { + var success; + if(checkInitialization(builder, "HTMLTableRowElement04") != null) return; + var nodeList; + var testNode; + var vsectionrowindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(4); + vsectionrowindex = testNode.sectionRowIndex; + + assertEquals("sectionRowIndexLink",1,vsectionrowindex); + +} + + + + +function runTest() { + HTMLTableRowElement04(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement06.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement06.js new file mode 100644 index 0000000..4251d3d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement06.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal alignment of data within + cells of this row. + + Retrieve the align attribute of the second TR element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-74098257 +*/ +function HTMLTableRowElement06() { + var success; + if(checkInitialization(builder, "HTMLTableRowElement06") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(1); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLTableRowElement06(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement07.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement07.js new file mode 100644 index 0000000..0c2c25a --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement07.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The bgColor attribute specifies the background color of rows. + + Retrieve the bgColor attribute of the second TR element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-18161327 +*/ +function HTMLTableRowElement07() { + var success; + if(checkInitialization(builder, "HTMLTableRowElement07") != null) return; + var nodeList; + var testNode; + var vbgcolor; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(1); + vbgcolor = testNode.bgColor; + + assertEquals("bgColorLink","#00FFFF".toLowerCase(),vbgcolor.toLowerCase()); + +} + + + + +function runTest() { + HTMLTableRowElement07(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement08.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement08.js new file mode 100644 index 0000000..a46b6d7 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement08.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The ch attribute specifies the alignment character for cells in a column. + + Retrieve the char attribute of the second TR element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-16230502 +*/ +function HTMLTableRowElement08() { + var success; + if(checkInitialization(builder, "HTMLTableRowElement08") != null) return; + var nodeList; + var testNode; + var vch; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(1); + vch = testNode.ch; + + assertEquals("chLink","*",vch); + +} + + + + +function runTest() { + HTMLTableRowElement08(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement09.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement09.js new file mode 100644 index 0000000..5857a65 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement09.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The chOff attribute specifies the offset of alignment character. + + Retrieve the charoff attribute of the second TR element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-68207461 +*/ +function HTMLTableRowElement09() { + var success; + if(checkInitialization(builder, "HTMLTableRowElement09") != null) return; + var nodeList; + var testNode; + var vchoff; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(1); + vchoff = testNode.chOff; + + assertEquals("charOffLink","1",vchoff); + +} + + + + +function runTest() { + HTMLTableRowElement09(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement10.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement10.js new file mode 100644 index 0000000..2025f05 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement10.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The vAlign attribute specifies the vertical alignment of data within + cells of this row. + + Retrieve the vAlign attribute of the second TR element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-90000058 +*/ +function HTMLTableRowElement10() { + var success; + if(checkInitialization(builder, "HTMLTableRowElement10") != null) return; + var nodeList; + var testNode; + var vvalign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(1); + vvalign = testNode.vAlign; + + assertEquals("vAlignLink","middle",vvalign); + +} + + + + +function runTest() { + HTMLTableRowElement10(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement11.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement11.js new file mode 100644 index 0000000..8ab3b31 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement11.js @@ -0,0 +1,144 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The insertCell() method inserts an empty TD cell into this row. + + + Retrieve the fourth TR element and examine the value of + the cells length attribute which should be set to six. + Check the value of the first TD element. Invoke the + insertCell() which will create an empty TD cell at the + zero index position. Check the value of the newly created + cell and make sure it is null and also the numbers of cells + should now be seven. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-68927016 +*/ +function HTMLTableRowElement11() { + var success; + if(checkInitialization(builder, "HTMLTableRowElement11") != null) return; + var nodeList; + var cellsnodeList; + var testNode; + var trNode; + var cellNode; + var value; + var newCell; + var vcells; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(3); + cellsnodeList = testNode.cells; + + vcells = cellsnodeList.length; + + assertEquals("cellsLink1",6,vcells); + trNode = cellsnodeList.item(0); + cellNode = trNode.firstChild; + + value = cellNode.nodeValue; + + assertEquals("value1Link","EMP0001",value); + newCell = testNode.insertCell(0); + testNode = nodeList.item(3); + cellsnodeList = testNode.cells; + + vcells = cellsnodeList.length; + + assertEquals("cellsLink2",7,vcells); + trNode = cellsnodeList.item(0); + cellNode = trNode.firstChild; + + assertNull("value2Link",cellNode); + +} + + + + +function runTest() { + HTMLTableRowElement11(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement12.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement12.js new file mode 100644 index 0000000..f0b1490 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement12.js @@ -0,0 +1,143 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The insertCell() method inserts an empty TD cell into this row. + + + Retrieve the fourth TR element and examine the value of + the cells length attribute which should be set to six. + Check the value of the last TD element. Invoke the + insertCell() which will append the empty cell to the end of the list. + Check the value of the newly created cell and make sure it is null + and also the numbers of cells should now be seven. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-68927016 +*/ +function HTMLTableRowElement12() { + var success; + if(checkInitialization(builder, "HTMLTableRowElement12") != null) return; + var nodeList; + var cellsnodeList; + var testNode; + var trNode; + var cellNode; + var value; + var newCell; + var vcells; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(3); + cellsnodeList = testNode.cells; + + vcells = cellsnodeList.length; + + assertEquals("cellsLink1",6,vcells); + trNode = cellsnodeList.item(5); + cellNode = trNode.firstChild; + + value = cellNode.nodeValue; + + assertEquals("value1Link","1230 North Ave. Dallas, Texas 98551",value); + newCell = testNode.insertCell(6); + testNode = nodeList.item(3); + cellsnodeList = testNode.cells; + + vcells = cellsnodeList.length; + + assertEquals("cellsLink2",7,vcells); + trNode = cellsnodeList.item(6); + cellNode = trNode.firstChild; + + assertNull("value2Link",cellNode); + +} + + + + +function runTest() { + HTMLTableRowElement12(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement13.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement13.js new file mode 100644 index 0000000..4f249d0 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement13.js @@ -0,0 +1,144 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement13"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The deleteCell() method deletes a cell from the current row. + + + Retrieve the fourth TR element and examine the value of + the cells length attribute which should be set to six. + Check the value of the first TD element. Invoke the + deleteCell() method which will delete a cell from the current row. + Check the value of the cell at the zero index and also check + the number of cells which should now be five. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-11738598 +*/ +function HTMLTableRowElement13() { + var success; + if(checkInitialization(builder, "HTMLTableRowElement13") != null) return; + var nodeList; + var cellsnodeList; + var testNode; + var trNode; + var cellNode; + var value; + var vcells; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(3); + cellsnodeList = testNode.cells; + + vcells = cellsnodeList.length; + + assertEquals("cellsLink1",6,vcells); + trNode = cellsnodeList.item(0); + cellNode = trNode.firstChild; + + value = cellNode.nodeValue; + + assertEquals("value1Link","EMP0001",value); + testNode.deleteCell(0); + testNode = nodeList.item(3); + cellsnodeList = testNode.cells; + + vcells = cellsnodeList.length; + + assertEquals("cellsLink2",5,vcells); + trNode = cellsnodeList.item(0); + cellNode = trNode.firstChild; + + value = cellNode.nodeValue; + + assertEquals("value2Link","Margaret Martin",value); + +} + + + + +function runTest() { + HTMLTableRowElement13(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement14.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement14.js new file mode 100644 index 0000000..e9cef6e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement14.js @@ -0,0 +1,144 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement14"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The deleteCell() method deletes a cell from the current row. + + + Retrieve the fourth TR element and examine the value of + the cells length attribute which should be set to six. + Check the value of the third(index 2) TD element. Invoke the + deleteCell() method which will delete a cell from the current row. + Check the value of the third cell(index 2) and also check + the number of cells which should now be five. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-11738598 +*/ +function HTMLTableRowElement14() { + var success; + if(checkInitialization(builder, "HTMLTableRowElement14") != null) return; + var nodeList; + var cellsnodeList; + var testNode; + var trNode; + var cellNode; + var value; + var vcells; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(3); + cellsnodeList = testNode.cells; + + vcells = cellsnodeList.length; + + assertEquals("cellsLink1",6,vcells); + trNode = cellsnodeList.item(2); + cellNode = trNode.firstChild; + + value = cellNode.nodeValue; + + assertEquals("value1Link","Accountant",value); + testNode.deleteCell(2); + testNode = nodeList.item(3); + cellsnodeList = testNode.cells; + + vcells = cellsnodeList.length; + + assertEquals("cellsLink2",5,vcells); + trNode = cellsnodeList.item(2); + cellNode = trNode.firstChild; + + value = cellNode.nodeValue; + + assertEquals("value2Link","56,000",value); + +} + + + + +function runTest() { + HTMLTableRowElement14(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement01.js new file mode 100644 index 0000000..306d52e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement01.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal alignment of data within + cells. + + Retrieve the align attribute of the first THEAD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40530119 +*/ +function HTMLTableSectionElement01() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement01") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("thead"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLTableSectionElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement02.js new file mode 100644 index 0000000..a2aee27 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement02.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal alignment of data within + cells. + + Retrieve the align attribute of the first TFOOT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40530119 +*/ +function HTMLTableSectionElement02() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement02") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tfoot"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLTableSectionElement02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement03.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement03.js new file mode 100644 index 0000000..9f106d7 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement03.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal alignment of data within + cells. + + Retrieve the align attribute of the first TBODY element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40530119 +*/ +function HTMLTableSectionElement03() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement03") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tbody"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLTableSectionElement03(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement04.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement04.js new file mode 100644 index 0000000..0013a9a --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement04.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The ch attribute specifies the alignment character for cells in a + column. + + Retrieve the char attribute of the first THEAD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83470012 +*/ +function HTMLTableSectionElement04() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement04") != null) return; + var nodeList; + var testNode; + var vch; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("thead"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vch = testNode.ch; + + assertEquals("chLink","*",vch); + +} + + + + +function runTest() { + HTMLTableSectionElement04(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement05.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement05.js new file mode 100644 index 0000000..85c8b7d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement05.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The ch attribute specifies the alignment character for cells in a + column. + + Retrieve the char attribute of the first TFOOT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83470012 +*/ +function HTMLTableSectionElement05() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement05") != null) return; + var nodeList; + var testNode; + var vch; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tfoot"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vch = testNode.ch; + + assertEquals("chLink","+",vch); + +} + + + + +function runTest() { + HTMLTableSectionElement05(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement06.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement06.js new file mode 100644 index 0000000..4e58b00 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement06.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The ch attribute specifies the alignment character for cells in a + column. + + Retrieve the char attribute of the first TBODY element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83470012 +*/ +function HTMLTableSectionElement06() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement06") != null) return; + var nodeList; + var testNode; + var vch; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tbody"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vch = testNode.ch; + + assertEquals("chLink","$",vch); + +} + + + + +function runTest() { + HTMLTableSectionElement06(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement07.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement07.js new file mode 100644 index 0000000..97ee9de --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement07.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The chOff attribute specifies the offset of alignment character. + + Retrieve the charoff attribute of the first THEAD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-53459732 +*/ +function HTMLTableSectionElement07() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement07") != null) return; + var nodeList; + var testNode; + var vcharoff; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("thead"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcharoff = testNode.chOff; + + assertEquals("chOffLink","1",vcharoff); + +} + + + + +function runTest() { + HTMLTableSectionElement07(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement08.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement08.js new file mode 100644 index 0000000..bbec905 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement08.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The chOff attribute specifies the offset of alignment character. + + Retrieve the charoff attribute of the first TFOOT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-53459732 +*/ +function HTMLTableSectionElement08() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement08") != null) return; + var nodeList; + var testNode; + var vcharoff; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tfoot"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcharoff = testNode.chOff; + + assertEquals("chOffLink","2",vcharoff); + +} + + + + +function runTest() { + HTMLTableSectionElement08(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement09.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement09.js new file mode 100644 index 0000000..b3c67c8 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement09.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The chOff attribute specifies the offset of alignment character. + + Retrieve the charoff attribute of the first TBODY element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-53459732 +*/ +function HTMLTableSectionElement09() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement09") != null) return; + var nodeList; + var testNode; + var vcharoff; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tbody"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vcharoff = testNode.chOff; + + assertEquals("chOffLink","3",vcharoff); + +} + + + + +function runTest() { + HTMLTableSectionElement09(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement10.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement10.js new file mode 100644 index 0000000..71cacac --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement10.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The vAlign attribute specifies the vertical alignment of cell data in + column. + + Retrieve the vAlign attribute of the first THEAD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-4379116 +*/ +function HTMLTableSectionElement10() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement10") != null) return; + var nodeList; + var testNode; + var vvalign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("thead"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vvalign = testNode.vAlign; + + assertEquals("vAlignLink","middle",vvalign); + +} + + + + +function runTest() { + HTMLTableSectionElement10(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement11.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement11.js new file mode 100644 index 0000000..7b6b25b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement11.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The vAlign attribute specifies the vertical alignment of cell data in + column. + + Retrieve the vAlign attribute of the first TFOOT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-4379116 +*/ +function HTMLTableSectionElement11() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement11") != null) return; + var nodeList; + var testNode; + var vvalign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tfoot"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vvalign = testNode.vAlign; + + assertEquals("vAlignLink","middle",vvalign); + +} + + + + +function runTest() { + HTMLTableSectionElement11(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement12.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement12.js new file mode 100644 index 0000000..9652f0b --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement12.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The vAlign attribute specifies the vertical alignment of cell data in + column. + + Retrieve the vAlign attribute of the first TBODY element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-4379116 +*/ +function HTMLTableSectionElement12() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement12") != null) return; + var nodeList; + var testNode; + var vvalign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tbody"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vvalign = testNode.vAlign; + + assertEquals("vAlignLink","middle",vvalign); + +} + + + + +function runTest() { + HTMLTableSectionElement12(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement16.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement16.js new file mode 100644 index 0000000..91df5f1 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement16.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement16"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The insertRow() method inserts a new empty table row. + + Retrieve the first THEAD element and invoke the insertRow() method + with an index of 0. The nuber of rows in the THEAD section before + insertion of the new row is one. After the new row is inserted the number + of rows in the THEAD section is two. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93995626 +*/ +function HTMLTableSectionElement16() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement16") != null) return; + var nodeList; + var testNode; + var newRow; + var rowsnodeList; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("thead"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink1",1,vrows); + newRow = testNode.insertRow(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink2",2,vrows); + +} + + + + +function runTest() { + HTMLTableSectionElement16(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement17.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement17.js new file mode 100644 index 0000000..9ee6ced --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement17.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement17"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The insertRow() method inserts a new empty table row. + + Retrieve the first TFOOT element and invoke the insertRow() method + with an index of 0. The nuber of rows in the TFOOT section before + insertion of the new row is one. After the new row is inserted the number + of rows in the TFOOT section is two. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93995626 +*/ +function HTMLTableSectionElement17() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement17") != null) return; + var nodeList; + var testNode; + var newRow; + var rowsnodeList; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tfoot"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink1",1,vrows); + newRow = testNode.insertRow(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink2",2,vrows); + +} + + + + +function runTest() { + HTMLTableSectionElement17(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement18.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement18.js new file mode 100644 index 0000000..e7d06d2 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement18.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement18"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The insertRow() method inserts a new empty table row. + + Retrieve the first TBODY element and invoke the insertRow() method + with an index of 0. The nuber of rows in the TBODY section before + insertion of the new row is two. After the new row is inserted the number + of rows in the TBODY section is three. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93995626 +*/ +function HTMLTableSectionElement18() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement18") != null) return; + var nodeList; + var testNode; + var newRow; + var rowsnodeList; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tbody"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink1",2,vrows); + newRow = testNode.insertRow(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink2",3,vrows); + +} + + + + +function runTest() { + HTMLTableSectionElement18(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement19.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement19.js new file mode 100644 index 0000000..2324e7e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement19.js @@ -0,0 +1,127 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement19"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The insertRow() method inserts a new empty table row. + + Retrieve the first THEAD element and invoke the insertRow() method + with an index of 1. The nuber of rows in the THEAD section before + insertion of the new row is one therefore the new row is appended. + After the new row is inserted the number of rows in the THEAD + section is two. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93995626 +*/ +function HTMLTableSectionElement19() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement19") != null) return; + var nodeList; + var testNode; + var newRow; + var rowsnodeList; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("thead"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink1",1,vrows); + newRow = testNode.insertRow(1); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink2",2,vrows); + +} + + + + +function runTest() { + HTMLTableSectionElement19(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement20.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement20.js new file mode 100644 index 0000000..c0f3ad0 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement20.js @@ -0,0 +1,127 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement20"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The insertRow() method inserts a new empty table row. + + Retrieve the first TFOOT element and invoke the insertRow() method + with an index of one. The nuber of rows in the TFOOT section before + insertion of the new row is one therefore the new row is appended. + After the new row is inserted the number of rows in the TFOOT section + is two. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93995626 +*/ +function HTMLTableSectionElement20() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement20") != null) return; + var nodeList; + var testNode; + var newRow; + var rowsnodeList; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tfoot"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink1",1,vrows); + newRow = testNode.insertRow(1); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink2",2,vrows); + +} + + + + +function runTest() { + HTMLTableSectionElement20(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement21.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement21.js new file mode 100644 index 0000000..24a8ada --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement21.js @@ -0,0 +1,128 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement21"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The insertRow() method inserts a new empty table row. + + Retrieve the first TBODY element and invoke the insertRow() method + with an index of two. The number of rows in the TBODY section before + insertion of the new row is two therefore the row is appended. + After the new row is inserted the number of rows in the TBODY section is + three. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93995626 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=502 +*/ +function HTMLTableSectionElement21() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement21") != null) return; + var nodeList; + var testNode; + var newRow; + var rowsnodeList; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tbody"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink1",2,vrows); + newRow = testNode.insertRow(2); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink2",3,vrows); + +} + + + + +function runTest() { + HTMLTableSectionElement21(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement22.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement22.js new file mode 100644 index 0000000..2df6822 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement22.js @@ -0,0 +1,125 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement22"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The deleteRow() method deletes a row from this section. + + Retrieve the first THEAD element and invoke the deleteRow() method + with an index of 0. The nuber of rows in the THEAD section before + the deletion of the row is one. After the row is deleted the number + of rows in the THEAD section is zero. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-5625626 +*/ +function HTMLTableSectionElement22() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement22") != null) return; + var nodeList; + var testNode; + var rowsnodeList; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("thead"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink1",1,vrows); + testNode.deleteRow(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink2",0,vrows); + +} + + + + +function runTest() { + HTMLTableSectionElement22(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement23.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement23.js new file mode 100644 index 0000000..c22f00c --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement23.js @@ -0,0 +1,125 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement23"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The deleteRow() method deletes a row from this section. + + Retrieve the first TFOOT element and invoke the deleteRow() method + with an index of 0. The nuber of rows in the TFOOT section before + the deletion of the row is one. After the row is deleted the number + of rows in the TFOOT section is zero. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-5625626 +*/ +function HTMLTableSectionElement23() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement23") != null) return; + var nodeList; + var testNode; + var rowsnodeList; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tfoot"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink1",1,vrows); + testNode.deleteRow(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink2",0,vrows); + +} + + + + +function runTest() { + HTMLTableSectionElement23(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement24.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement24.js new file mode 100644 index 0000000..4624ff6 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement24.js @@ -0,0 +1,125 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement24"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The deleteRow() method deletes a row from this section. + + Retrieve the first TBODY element and invoke the deleteRow() method + with an index of 0. The nuber of rows in the TBODY section before + the deletion of the row is two. After the row is deleted the number + of rows in the TBODY section is one. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-5625626 +*/ +function HTMLTableSectionElement24() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement24") != null) return; + var nodeList; + var testNode; + var rowsnodeList; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tbody"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink1",2,vrows); + testNode.deleteRow(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink2",1,vrows); + +} + + + + +function runTest() { + HTMLTableSectionElement24(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement01.js new file mode 100644 index 0000000..0b75781 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement01.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The defaultValue attribute represents the HTML value of the attribute + when the type attribute has the value of "Text", "File" or "Password". + + Retrieve the defaultValue attribute of the 2nd TEXTAREA element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-36152213 +*/ +function HTMLTextAreaElement01() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement01") != null) return; + var nodeList; + var testNode; + var vdefaultvalue; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vdefaultvalue = testNode.defaultValue; + + assertEquals("defaultValueLink","TEXTAREA2",vdefaultvalue); + +} + + + + +function runTest() { + HTMLTextAreaElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement11.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement11.js new file mode 100644 index 0000000..62831fa --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement11.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The type attribute specifies the type of this form control. + + Retrieve the type attribute of the 1st TEXTAREA element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-24874179 +* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#HTML-HTMLTextAreaElement-type +*/ +function HTMLTextAreaElement11() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement11") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","textarea",vtype); + +} + + + + +function runTest() { + HTMLTextAreaElement11(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement12.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement12.js new file mode 100644 index 0000000..da12ed7 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement12.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The value attribute represents the current contents of the corresponding + form control, in an interactive user agent. + + Retrieve the value attribute of the 1st TEXTAREA element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-70715579 +*/ +function HTMLTextAreaElement12() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement12") != null) return; + var nodeList; + var testNode; + var vvalue; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vvalue = testNode.value; + + assertEquals("valueLink","TEXTAREA1",vvalue); + +} + + + + +function runTest() { + HTMLTextAreaElement12(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement01.js new file mode 100644 index 0000000..171a30d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement01.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLUListElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "ulist"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The compact attribute specifies whether to reduce spacing between list + items. + + Retrieve the compact attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39864178 +*/ +function HTMLUListElement01() { + var success; + if(checkInitialization(builder, "HTMLUListElement01") != null) return; + var nodeList; + var testNode; + var vcompact; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "ulist"); + nodeList = doc.getElementsByTagName("ul"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vcompact = testNode.compact; + + assertTrue("compactLink",vcompact); + +} + + + + +function runTest() { + HTMLUListElement01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement02.js new file mode 100644 index 0000000..98abae2 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement02.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLUListElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "ulist"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The type attribute specifies the bullet style. + + Retrieve the type attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96874670 +*/ +function HTMLUListElement02() { + var success; + if(checkInitialization(builder, "HTMLUListElement02") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "ulist"); + nodeList = doc.getElementsByTagName("ul"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","disc",vtype); + +} + + + + +function runTest() { + HTMLUListElement02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/anchor02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/anchor02.js new file mode 100644 index 0000000..26d3306 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/anchor02.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/anchor02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The character encoding of the linked resource. +The value of attribute charset of the anchor element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-67619266 +*/ +function anchor02() { + var success; + if(checkInitialization(builder, "anchor02") != null) return; + var nodeList; + var testNode; + var vcharset; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcharset = testNode.charset; + + assertEquals("charsetLink","US-ASCII",vcharset); + +} + + + + +function runTest() { + anchor02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/anchor03.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/anchor03.js new file mode 100644 index 0000000..81b3723 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/anchor03.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/anchor03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Comma-separated list of lengths, defining an active region geometry. +The value of attribute coords of the anchor element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-92079539 +*/ +function anchor03() { + var success; + if(checkInitialization(builder, "anchor03") != null) return; + var nodeList; + var testNode; + var vcoords; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcoords = testNode.coords; + + assertEquals("coordsLink","0,0,100,100",vcoords); + +} + + + + +function runTest() { + anchor03(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/anchor06.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/anchor06.js new file mode 100644 index 0000000..3ba7b19 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/anchor06.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/anchor06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The shape of the active area. The coordinates are given by coords +The value of attribute shape of the anchor element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-49899808 +*/ +function anchor06() { + var success; + if(checkInitialization(builder, "anchor06") != null) return; + var nodeList; + var testNode; + var vshape; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vshape = testNode.shape; + + assertEquals("shapeLink","rect",vshape); + +} + + + + +function runTest() { + anchor06(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/basefont01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/basefont01.js new file mode 100644 index 0000000..32d6edd --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/basefont01.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/basefont01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "basefont"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The value of attribute color of the basefont element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87502302 +*/ +function basefont01() { + var success; + if(checkInitialization(builder, "basefont01") != null) return; + var nodeList; + var testNode; + var vcolor; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "basefont"); + nodeList = doc.getElementsByTagName("basefont"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcolor = testNode.color; + + assertEquals("colorLink","#000000",vcolor); + +} + + + + +function runTest() { + basefont01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/body01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/body01.js new file mode 100644 index 0000000..16617e8 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/body01.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/body01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "body"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Color of active links (after mouse-button down, but before mouse-button up). +The value of attribute alink of the body element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59424581 +*/ +function body01() { + var success; + if(checkInitialization(builder, "body01") != null) return; + var nodeList; + var testNode; + var valink; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "body"); + nodeList = doc.getElementsByTagName("body"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valink = testNode.aLink; + + assertEquals("aLinkLink","#0000ff",valink); + +} + + + + +function runTest() { + body01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/dlist01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/dlist01.js new file mode 100644 index 0000000..e85d5ce --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/dlist01.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/dlist01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "dl"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-21738539 +*/ +function dlist01() { + var success; + if(checkInitialization(builder, "dlist01") != null) return; + var nodeList; + var testNode; + var vcompact; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "dl"); + nodeList = doc.getElementsByTagName("dl"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcompact = testNode.compact; + + assertTrue("compactLink",vcompact); + +} + + + + +function runTest() { + dlist01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object02.js new file mode 100644 index 0000000..72bf106 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object02.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Aligns this object (vertically or horizontally) with respect to its surrounding text. +The value of attribute align of the object element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-16962097 +*/ +function object02() { + var success; + if(checkInitialization(builder, "object02") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","middle",valign); + +} + + + + +function runTest() { + object02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object03.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object03.js new file mode 100644 index 0000000..0be0bfe --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object03.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Space-separated list of archives +The value of attribute archive of the object element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-47783837 +*/ +function object03() { + var success; + if(checkInitialization(builder, "object03") != null) return; + var nodeList; + var testNode; + var varchive; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + varchive = testNode.archive; + + assertEquals("archiveLink","",varchive); + +} + + + + +function runTest() { + object03(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object04.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object04.js new file mode 100644 index 0000000..4807d6a --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object04.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Width of border around the object. +The value of attribute border of the object element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-82818419 +*/ +function object04() { + var success; + if(checkInitialization(builder, "object04") != null) return; + var nodeList; + var testNode; + var vborder; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vborder = testNode.border; + + assertEquals("borderLink","0",vborder); + +} + + + + +function runTest() { + object04(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object05.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object05.js new file mode 100644 index 0000000..50d0a15 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object05.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Base URI for classid, data, and archive attributes. +The value of attribute codebase of the object element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-25709136 +*/ +function object05() { + var success; + if(checkInitialization(builder, "object05") != null) return; + var nodeList; + var testNode; + var vcodebase; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vcodebase = testNode.codeBase; + + assertEquals("codebaseLink","http://xw2k.sdct.itl.nist.gov/brady/dom/",vcodebase); + +} + + + + +function runTest() { + object05(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object09.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object09.js new file mode 100644 index 0000000..9e7275e --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object09.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Message to render while loading the object. +The value of attribute standby of the object element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-25039673 +*/ +function object09() { + var success; + if(checkInitialization(builder, "object09") != null) return; + var nodeList; + var testNode; + var vstandby; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vstandby = testNode.standby; + + assertEquals("standbyLink","Loading Image ...",vstandby); + +} + + + + +function runTest() { + object09(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object15.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object15.js new file mode 100644 index 0000000..805240f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object15.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object15"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Content type for data downloaded via classid attribute. +The value of attribute codetype of the object element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-19945008 +*/ +function object15() { + var success; + if(checkInitialization(builder, "object15") != null) return; + var nodeList; + var testNode; + var vcodetype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vcodetype = testNode.codeType; + + assertEquals("codeTypeLink","image/gif",vcodetype); + +} + + + + +function runTest() { + object15(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table02.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table02.js new file mode 100644 index 0000000..b64d882 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table02.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Caption alignment with respect to the table. +The value of attribute align of the tablecaption element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14594520 +*/ +function table02() { + var success; + if(checkInitialization(builder, "table02") != null) return; + var nodeList; + var testNode; + var vcaption; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vcaption = testNode.caption; + + valign = vcaption.align; + + assertEquals("alignLink","top",valign); + +} + + + + +function runTest() { + table02(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table03.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table03.js new file mode 100644 index 0000000..94a91d2 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table03.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Alignment character for cells in a column. +The value of attribute ch of the tablesection element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-9530944 +*/ +function table03() { + var success; + if(checkInitialization(builder, "table03") != null) return; + var nodeList; + var testNode; + var vsection; + var vch; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vsection = testNode.tHead; + + vch = vsection.ch; + + assertEquals("chLink","*",vch); + +} + + + + +function runTest() { + table03(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table04.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table04.js new file mode 100644 index 0000000..b102221 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table04.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Horizontal alignment of data in cells. +The value of attribute align of the tablesection element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-9530944 +*/ +function table04() { + var success; + if(checkInitialization(builder, "table04") != null) return; + var nodeList; + var testNode; + var vsection; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vsection = testNode.tHead; + + valign = vsection.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + table04(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table06.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table06.js new file mode 100644 index 0000000..8b56579 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table06.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Vertical alignment of data in cells. +The value of attribute valign of the tablesection element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097 +*/ +function table06() { + var success; + if(checkInitialization(builder, "table06") != null) return; + var nodeList; + var testNode; + var vsection; + var vvAlign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vsection = testNode.tFoot; + + vvAlign = vsection.vAlign; + + assertEquals("vAlignLink","middle",vvAlign); + +} + + + + +function runTest() { + table06(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table07.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table07.js new file mode 100644 index 0000000..fc052b1 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table07.js @@ -0,0 +1,118 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The collection of rows in this table section. +The value of attribute rows of the tablesection element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097 +*/ +function table07() { + var success; + if(checkInitialization(builder, "table07") != null) return; + var nodeList; + var testNode; + var vsection; + var vcollection; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vsection = testNode.tFoot; + + vcollection = vsection.rows; + + vrows = vcollection.length; + + assertEquals("vrowsLink",1,vrows); + +} + + + + +function runTest() { + table07(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table08.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table08.js new file mode 100644 index 0000000..b8d998c --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table08.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Horizontal alignment of data in cells. +The value of attribute align of the tablesection element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097 +*/ +function table08() { + var success; + if(checkInitialization(builder, "table08") != null) return; + var nodeList; + var testNode; + var vsection; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vsection = testNode.tFoot; + + valign = vsection.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + table08(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table09.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table09.js new file mode 100644 index 0000000..e47dec3 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table09.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Vertical alignment of data in cells. +The value of attribute valign of the table element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-9530944 +*/ +function table09() { + var success; + if(checkInitialization(builder, "table09") != null) return; + var nodeList; + var testNode; + var vsection; + var vvalign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vsection = testNode.tHead; + + vvalign = vsection.vAlign; + + assertEquals("alignLink","middle",vvalign); + +} + + + + +function runTest() { + table09(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table10.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table10.js new file mode 100644 index 0000000..146787d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table10.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Alignment character for cells in a column. +The value of attribute ch of the tablesection element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097 +*/ +function table10() { + var success; + if(checkInitialization(builder, "table10") != null) return; + var nodeList; + var testNode; + var vsection; + var vch; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vsection = testNode.tFoot; + + vch = vsection.ch; + + assertEquals("chLink","+",vch); + +} + + + + +function runTest() { + table10(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table12.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table12.js new file mode 100644 index 0000000..cf01790 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table12.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Offset of alignment character. +The value of attribute choff of the tablesection element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097 +*/ +function table12() { + var success; + if(checkInitialization(builder, "table12") != null) return; + var nodeList; + var testNode; + var vsection; + var vchoff; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vsection = testNode.tHead; + + vchoff = vsection.chOff; + + assertEquals("choffLink","1",vchoff); + +} + + + + +function runTest() { + table12(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table15.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table15.js new file mode 100644 index 0000000..909bb10 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table15.js @@ -0,0 +1,118 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table15"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The collection of rows in this table section. +The value of attribute rows of the tablesection element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097 +*/ +function table15() { + var success; + if(checkInitialization(builder, "table15") != null) return; + var nodeList; + var testNode; + var vsection; + var vcollection; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vsection = testNode.tHead; + + vcollection = vsection.rows; + + vrows = vcollection.length; + + assertEquals("vrowsLink",1,vrows); + +} + + + + +function runTest() { + table15(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table17.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table17.js new file mode 100644 index 0000000..c362aa6 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table17.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table17"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Offset of alignment character. +The value of attribute chOff of the tablesection element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097 +*/ +function table17() { + var success; + if(checkInitialization(builder, "table17") != null) return; + var nodeList; + var testNode; + var vsection; + var vchoff; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vsection = testNode.tFoot; + + vchoff = vsection.chOff; + + assertEquals("choffLink","2",vchoff); + +} + + + + +function runTest() { + table17(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table18.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table18.js new file mode 100644 index 0000000..6312b86 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table18.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table18"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The index of this cell in the row. +The value of attribute cellIndex of the tablecell element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-80748363 +*/ +function table18() { + var success; + if(checkInitialization(builder, "table18") != null) return; + var nodeList; + var testNode; + var vcindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vcindex = testNode.cellIndex; + + assertEquals("cellIndexLink",1,vcindex); + +} + + + + +function runTest() { + table18(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table19.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table19.js new file mode 100644 index 0000000..b340f60 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table19.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table19"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Abbreviation for header cells. +The index of this cell in the row. +The value of attribute abbr of the tablecell element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-74444037 +*/ +function table19() { + var success; + if(checkInitialization(builder, "table19") != null) return; + var nodeList; + var testNode; + var vabbr; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vabbr = testNode.abbr; + + assertEquals("abbrLink","hd2",vabbr); + +} + + + + +function runTest() { + table19(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table20.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table20.js new file mode 100644 index 0000000..15d0f9a --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table20.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table20"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Names group of related headers. +The value of attribute axis of the tablecell element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76554418 +*/ +function table20() { + var success; + if(checkInitialization(builder, "table20") != null) return; + var nodeList; + var testNode; + var vaxis; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vaxis = testNode.axis; + + assertEquals("axisLink","center",vaxis); + +} + + + + +function runTest() { + table20(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table21.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table21.js new file mode 100644 index 0000000..26b7227 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table21.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table21"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Horizontal alignment of data in cell. +The value of attribute align of the tablecell element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98433879 +*/ +function table21() { + var success; + if(checkInitialization(builder, "table21") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + table21(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table22.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table22.js new file mode 100644 index 0000000..686ca1f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table22.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table22"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Cell background color. +The value of attribute bgColor of the tablecell element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88135431 +*/ +function table22() { + var success; + if(checkInitialization(builder, "table22") != null) return; + var nodeList; + var testNode; + var vbgcolor; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vbgcolor = testNode.bgColor; + + assertEquals("bgcolorLink","#FF0000".toLowerCase(),vbgcolor.toLowerCase()); + +} + + + + +function runTest() { + table22(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table23.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table23.js new file mode 100644 index 0000000..7ba050c --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table23.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table23"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Alignment character for cells in a column. +The value of attribute char of the tablecell element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-30914780 +*/ +function table23() { + var success; + if(checkInitialization(builder, "table23") != null) return; + var nodeList; + var testNode; + var vch; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vch = testNode.ch; + + assertEquals("chLink",":",vch); + +} + + + + +function runTest() { + table23(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table24.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table24.js new file mode 100644 index 0000000..01828ff --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table24.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table24"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +offset of alignment character. +The value of attribute chOff of the tablecell element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-20144310 +*/ +function table24() { + var success; + if(checkInitialization(builder, "table24") != null) return; + var nodeList; + var testNode; + var vchoff; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vchoff = testNode.chOff; + + assertEquals("chOffLink","1",vchoff); + +} + + + + +function runTest() { + table24(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table26.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table26.js new file mode 100644 index 0000000..c5560be --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table26.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table26"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The value of attribute height of the tablecell element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83679212 +*/ +function table26() { + var success; + if(checkInitialization(builder, "table26") != null) return; + var nodeList; + var testNode; + var vheight; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vheight = testNode.height; + + assertEquals("heightLink","50",vheight); + +} + + + + +function runTest() { + table26(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table27.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table27.js new file mode 100644 index 0000000..f2ceb93 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table27.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table27"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Suppress word wrapping. +The value of attribute nowrap of the tablecell element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-62922045 +*/ +function table27() { + var success; + if(checkInitialization(builder, "table27") != null) return; + var nodeList; + var testNode; + var vnowrap; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vnowrap = testNode.noWrap; + + assertTrue("nowrapLink",vnowrap); + +} + + + + +function runTest() { + table27(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table29.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table29.js new file mode 100644 index 0000000..df78641 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table29.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table29"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Scope covered by header cells. +The value of attribute scope of the tablecell element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-36139952 +*/ +function table29() { + var success; + if(checkInitialization(builder, "table29") != null) return; + var nodeList; + var testNode; + var vscope; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vscope = testNode.scope; + + assertEquals("scopeLink","col",vscope); + +} + + + + +function runTest() { + table29(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table30.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table30.js new file mode 100644 index 0000000..542b61c --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table30.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table30"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +List of id attribute values for header cells. +The value of attribute headers of the tablecell element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-89104817 +*/ +function table30() { + var success; + if(checkInitialization(builder, "table30") != null) return; + var nodeList; + var testNode; + var vheaders; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vheaders = testNode.headers; + + assertEquals("headersLink","header-3",vheaders); + +} + + + + +function runTest() { + table30(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table31.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table31.js new file mode 100644 index 0000000..9d83aae --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table31.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table31"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Vertical alignment of data in cell. +The value of attribute valign of the tablecell element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-58284221 +*/ +function table31() { + var success; + if(checkInitialization(builder, "table31") != null) return; + var nodeList; + var testNode; + var vvalign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vvalign = testNode.vAlign; + + assertEquals("vAlignLink","middle",vvalign); + +} + + + + +function runTest() { + table31(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table32.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table32.js new file mode 100644 index 0000000..bfa2719 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table32.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table32"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +cell width. +The value of attribute width of the table element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-27480795 +*/ +function table32() { + var success; + if(checkInitialization(builder, "table32") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vwidth = testNode.width; + + assertEquals("vwidthLink","175",vwidth); + +} + + + + +function runTest() { + table32(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table33.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table33.js new file mode 100644 index 0000000..0813b82 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table33.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table33"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Specifies the table's position with respect to the rest of the document. +The value of attribute align of the table element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-23180977 +*/ +function table33() { + var success; + if(checkInitialization(builder, "table33") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + table33(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table35.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table35.js new file mode 100644 index 0000000..26e1e43 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table35.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table35"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Cell background color. +The value of attribute bgcolor of the table element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83532985 +*/ +function table35() { + var success; + if(checkInitialization(builder, "table35") != null) return; + var nodeList; + var testNode; + var vbgcolor; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vbgcolor = testNode.bgColor; + + assertEquals("bgcolorLink","#ff0000",vbgcolor); + +} + + + + +function runTest() { + table35(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table36.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table36.js new file mode 100644 index 0000000..dd39fa1 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table36.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table36"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Specifies which external table borders to render. +The value of attribute frame of the table element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64808476 +*/ +function table36() { + var success; + if(checkInitialization(builder, "table36") != null) return; + var nodeList; + var testNode; + var vframe; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vframe = testNode.frame; + + assertEquals("frameLink","border",vframe); + +} + + + + +function runTest() { + table36(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table37.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table37.js new file mode 100644 index 0000000..7e23568 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table37.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table37"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Specifies the horizontal and vertical space between cell content and cell borders. The value of attribute cellpadding of the table element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59162158 +*/ +function table37() { + var success; + if(checkInitialization(builder, "table37") != null) return; + var nodeList; + var testNode; + var vcellpadding; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vcellpadding = testNode.cellPadding; + + assertEquals("cellpaddingLink","2",vcellpadding); + +} + + + + +function runTest() { + table37(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table38.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table38.js new file mode 100644 index 0000000..0710edc --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table38.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table38"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Specifies the horizontal and vertical separation between cells. +The value of attribute cellspacing of the table element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-68907883 +*/ +function table38() { + var success; + if(checkInitialization(builder, "table38") != null) return; + var nodeList; + var testNode; + var vcellspacing; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vcellspacing = testNode.cellSpacing; + + assertEquals("cellspacingLink","2",vcellspacing); + +} + + + + +function runTest() { + table38(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table39.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table39.js new file mode 100644 index 0000000..eb4ce79 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table39.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table39"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Supplementary description about the purpose or structure of a table. +The value of attribute summary of the table element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-44998528 +*/ +function table39() { + var success; + if(checkInitialization(builder, "table39") != null) return; + var nodeList; + var testNode; + var vsummary; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vsummary = testNode.summary; + + assertEquals("summaryLink","HTML Control Table",vsummary); + +} + + + + +function runTest() { + table39(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table40.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table40.js new file mode 100644 index 0000000..ab7baa9 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table40.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table40"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Specifies which internal table borders to render. +The value of attribute rules of the table element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-26347553 +*/ +function table40() { + var success; + if(checkInitialization(builder, "table40") != null) return; + var nodeList; + var testNode; + var vrules; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vrules = testNode.rules; + + assertEquals("rulesLink","all",vrules); + +} + + + + +function runTest() { + table40(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table41.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table41.js new file mode 100644 index 0000000..d3f524f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table41.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table41"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Specifies the desired table width. +The value of attribute width of the table element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-77447361 +*/ +function table41() { + var success; + if(checkInitialization(builder, "table41") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vwidth = testNode.width; + + assertEquals("widthLink","680",vwidth); + +} + + + + +function runTest() { + table41(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table42.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table42.js new file mode 100644 index 0000000..06394b2 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table42.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table42"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Horizontal alignment of data within cells of this row. +The value of attribute align of the tablerow element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-74098257 +*/ +function table42() { + var success; + if(checkInitialization(builder, "table42") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",8,nodeList); +testNode = nodeList.item(1); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + table42(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table43.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table43.js new file mode 100644 index 0000000..2fb11a0 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table43.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table43"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Background color for rows. +The value of attribute bgcolor of the tablerow element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-18161327 +*/ +function table43() { + var success; + if(checkInitialization(builder, "table43") != null) return; + var nodeList; + var testNode; + var vbgcolor; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",8,nodeList); +testNode = nodeList.item(1); + vbgcolor = testNode.bgColor; + + assertEquals("bgcolorLink","#00FFFF".toLowerCase(),vbgcolor.toLowerCase()); + +} + + + + +function runTest() { + table43(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table44.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table44.js new file mode 100644 index 0000000..78c2cdb --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table44.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table44"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Vertical alignment of data within cells of this row. +The value of attribute valign of the tablerow element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-90000058 +*/ +function table44() { + var success; + if(checkInitialization(builder, "table44") != null) return; + var nodeList; + var testNode; + var vvalign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",8,nodeList); +testNode = nodeList.item(1); + vvalign = testNode.vAlign; + + assertEquals("valignLink","middle",vvalign); + +} + + + + +function runTest() { + table44(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table45.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table45.js new file mode 100644 index 0000000..a762d79 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table45.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table45"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Alignment character for cells in a column. +The value of attribute ch of the tablerow element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-16230502 +*/ +function table45() { + var success; + if(checkInitialization(builder, "table45") != null) return; + var nodeList; + var testNode; + var vch; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(1); + vch = testNode.ch; + + assertEquals("vchLink","*",vch); + +} + + + + +function runTest() { + table45(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table46.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table46.js new file mode 100644 index 0000000..76f88ac --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table46.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table46"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Offset of alignment character. +The value of attribute choff of the tablerow element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-68207461 +*/ +function table46() { + var success; + if(checkInitialization(builder, "table46") != null) return; + var nodeList; + var testNode; + var vchoff; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(1); + vchoff = testNode.chOff; + + assertEquals("choffLink","1",vchoff); + +} + + + + +function runTest() { + table46(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table47.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table47.js new file mode 100644 index 0000000..592c778 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table47.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table47"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The index of this row, relative to the entire table. +The value of attribute rowIndex of the table element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-67347567 +*/ +function table47() { + var success; + if(checkInitialization(builder, "table47") != null) return; + var nodeList; + var testNode; + var vrindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(4); + vrindex = testNode.rowIndex; + + assertEquals("rowIndexLink",2,vrindex); + +} + + + + +function runTest() { + table47(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table48.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table48.js new file mode 100644 index 0000000..4ec5b61 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table48.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table48"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Horizontal alignment of cell data in column. +The value of attribute align of the tablecol element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-74098257 +*/ +function table48() { + var success; + if(checkInitialization(builder, "table48") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("col"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + table48(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table49.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table49.js new file mode 100644 index 0000000..e362b47 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table49.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table49"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Alignment character for cells in a column. +The value of attribute ch of the tablecol element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-16230502 +*/ +function table49() { + var success; + if(checkInitialization(builder, "table49") != null) return; + var nodeList; + var testNode; + var vch; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("col"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vch = testNode.ch; + + assertEquals("chLink","*",vch); + +} + + + + +function runTest() { + table49(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table50.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table50.js new file mode 100644 index 0000000..d27f07d --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table50.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table50"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Offset of alignment character. +The value of attribute choff of the tablecol element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-68207461 +*/ +function table50() { + var success; + if(checkInitialization(builder, "table50") != null) return; + var nodeList; + var testNode; + var vchoff; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("col"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vchoff = testNode.chOff; + + assertEquals("chOffLink","20",vchoff); + +} + + + + +function runTest() { + table50(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table52.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table52.js new file mode 100644 index 0000000..6b9b274 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table52.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table52"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Vertical alignment of cell data in column. +The value of attribute valign of the tablecol element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83291710 +*/ +function table52() { + var success; + if(checkInitialization(builder, "table52") != null) return; + var nodeList; + var testNode; + var vvalign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("col"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vvalign = testNode.vAlign; + + assertEquals("vAlignLink","middle",vvalign); + +} + + + + +function runTest() { + table52(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table53.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table53.js new file mode 100644 index 0000000..1a42944 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table53.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table53"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Default column width. +The value of attribute width of the tablecol element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-25196799 +*/ +function table53() { + var success; + if(checkInitialization(builder, "table53") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("col"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vwidth = testNode.width; + + assertEquals("widthLink","20",vwidth); + +} + + + + +function runTest() { + table53(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table01.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table01.js new file mode 100644 index 0000000..b561015 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table01.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table1"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Returns the table's CAPTION, or void if none exists. +The value of attribute caption of the table element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14594520 +*/ +function table01() { + var success; + if(checkInitialization(builder, "table01") != null) return; + var nodeList; + var testNode; + var vcaption; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table1"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcaption = testNode.caption; + + assertNull("captionLink",vcaption); + +} + + + + +function runTest() { + table01(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table25.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table25.js new file mode 100644 index 0000000..504eb18 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table25.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table25"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Number of columns spanned by cell. +The value of attribute colspan of the tablecell element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-84645244 +*/ +function table25() { + var success; + if(checkInitialization(builder, "table25") != null) return; + var nodeList; + var testNode; + var vcolspan; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vcolspan = testNode.colSpan; + + assertEquals("colSpanLink",1,vcolspan); + +} + + + + +function runTest() { + table25(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table28.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table28.js new file mode 100644 index 0000000..b3ceab8 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table28.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table28"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Number of rows spanned by cell. +The value of attribute rowspan of the tablecell element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-48237625 +*/ +function table28() { + var success; + if(checkInitialization(builder, "table28") != null) return; + var nodeList; + var testNode; + var vrowspan; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vrowspan = testNode.rowSpan; + + assertEquals("rowSpanLink",1,vrowspan); + +} + + + + +function runTest() { + table28(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table34.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table34.js new file mode 100644 index 0000000..673fa06 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table34.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table34"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The width of the border around the table. +The value of attribute border of the table element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-50969400 +*/ +function table34() { + var success; + if(checkInitialization(builder, "table34") != null) return; + var nodeList; + var testNode; + var vborder; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vborder = testNode.border; + + assertEquals("borderLink","4",vborder); + +} + + + + +function runTest() { + table34(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table51.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table51.js new file mode 100644 index 0000000..b6588b4 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table51.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table51"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Indicates the number of columns in a group or affected by a grouping. +The value of attribute span of the tablecol element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96511335 +*/ +function table51() { + var success; + if(checkInitialization(builder, "table51") != null) return; + var nodeList; + var testNode; + var vspan; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("col"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vspan = testNode.span; + + assertEquals("spanLink",1,vspan); + +} + + + + +function runTest() { + table51(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json b/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json new file mode 100644 index 0000000..6610b82 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json @@ -0,0 +1,17 @@ +{ + "name": "tassembly", + "version": "0.1.0", + "main": "tassembly.js", + "dependencies": { + "domino": "1.x.x" + }, + "readme": "tassembly\n=========\n\nJSON IR for templating and corresponding runtime implementation\n\n**\"Fast but safe\"**\n\nSecurity guarantees of DOM-based templating (tag balancing, context-sensitive\nhref/src/style sanitization etc) with the performance of string-based templating.\n\nSee\n [this page for background.](https://www.mediawiki.org/wiki/Requests_for_comment/HTML_templating_library/Knockout_-_Tassembly)\n\n* The JSON format is compact, can easily be persisted and can be evaluated with\na tiny library.\n\n* Performance is on par with compiled handlebars templates, the fastest\nstring-based library in our tests.\n\n* Compilation target for [KnockoutJS templates\n (KoTasm)](https://github.com/gwicke/kotasm) and\n [Spacebars](https://github.com/gwicke/TemplatePerf/tree/master/handlebars-htmljs-node/spacebars-qt).\n\nExamples:\n\n```javascript\n['',['text','body'],'
    ']\n\n['',\n ['foreach',{data:'items',tpl:['',['text','val'],'
    ']}],\n'']\n```\n", + "readmeFilename": "README.md", + "description": "tassembly =========", + "_id": "tassembly@0.1.0", + "dist": { + "shasum": "7443c5904275d785e3cdfa948a240e707e93393e" + }, + "_resolved": "git+https://github.com/gwicke/tassembly.git#6426f37019272b7a17c8ac2d96e0386a6c150aab", + "_from": "tassembly@git+https://github.com/gwicke/tassembly.git#master" +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js new file mode 100644 index 0000000..8261181 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js @@ -0,0 +1,390 @@ +/* + * Prototype JSON template IR evaluator + * + * Motto: Fast but safe! + * + * A string-based template representation that can be compiled from DOM-based + * templates (knockoutjs syntax for example) and can statically enforce + * balancing and contextual sanitization to prevent XSS, for example in href + * and src attributes. The JSON format is compact, can easily be persisted and + * can be evaluated with a tiny library (this file). + * + * Performance is on par with compiled handlebars templates, the fastest + * string-based library in our tests. + * + * Input examples: + * ['',['text','body'],''] + * ['', + * ['foreach',{data:'m_items',tpl:['',['text','val'],'']}], + * ''] + */ +"use strict"; + + +function TAssembly () { + this.uid = 0; + // Cache for sub-structure parameters. Storing them globally keyed on uid + // makes it possible to reuse compilations. + this.cache = {}; + // Partials: tassembly objects + this.partials = {}; +} + +TAssembly.prototype._getUID = function() { + this.uid++; + return this.uid; +}; + +var simpleExpression = /^(?:[.][a-zA-Z_$]+)+$/, + complexExpression = new RegExp('^(?:[.][a-zA-Z_$]+' + + '(?:\\[(?:[0-9.]+|["\'][a-zA-Z0-9_$]+["\'])\\])?' + + '(?:\\((?:[0-9a-zA-Z_$.]+|["\'][a-zA-Z0-9_$\.]+["\'])\\))?' + + ')+$'); +TAssembly.prototype._evalExpr = function (expression, scope) { + var func = this.cache['expr' + expression]; + if (!func) { + // Simple variable / fast path + if (/^[a-zA-Z_$]+$/.test(expression)) { + return scope[expression]; + } + + // String literal + if (/^'.*'$/.test(expression)) { + return expression.slice(1,-1).replace(/\\'/g, "'"); + } + + // Dot notation, array indexing and function calls + // a.b.c + // literal array indexes (number and string) and nullary functions only + // a[1]().b['b']() + var texpression = '.' + expression; + if (simpleExpression.test(texpression) || complexExpression.test(texpression)) { + func = new Function('scope', 'var $index = scope.$index;' + + 'var $data = scope.$data;' + + 'var $parent = scope.$parent;' + + 'return scope' + texpression); + this.cache['expr' + expression] = func; + } + } + if (func) { + try { + return func(scope); + } catch (e) { + console.log(e); + return ''; + } + } + + // Don't want to allow full JS expressions for PHP compat & general + // sanity. We could do the heavy sanitization work in the compiler & just + // eval simple JS-compatible expressions here (possibly using 'with', + // although that is deprecated & disabled in strict mode). For now we play + // it safe & don't eval the expression. Can relax this later. + return expression; +}; + +/* + * Optimized _evalExpr stub for the code generator + * + * Directly dereference the scope for simple expressions (the common case), + * and fall back to the full method otherwise. + */ +function evalExprStub(expr) { + if (/^[a-zA-Z_$]+$/.test(expr)) { + // simple variable, the fast and common case + return 'scope[' + JSON.stringify(expr) + ']'; + } else { + return 'this._evalExpr(' + JSON.stringify(expr) + ', scope)'; + } +} + +TAssembly.prototype._getTemplate = function (tpl, cb) { + if (Array.isArray(tpl)) { + return tpl; + } else { + // String literal: strip quotes + if (/^'.*'$/.test(tpl)) { + tpl = tpl.slice(1,-1).replace(/\\'/g, "'"); + } + return this.partials[tpl]; + } +}; + +TAssembly.prototype.ctlFn_foreach = function(options, scope, cb) { + // deal with options + var iterable = this._evalExpr(options.data, scope), + // worth compiling the nested template + tpl = this.compile(this._getTemplate(options.tpl), cb), + l = iterable.length; + for(var i = 0; i < l; i++) { + var item = iterable[i]; + if (!item || typeof item !== 'object') { + item = Object.create(null); + item.$data = iterable[i]; + } + item.$index = i; + item['$parent'] = iterable; + tpl(item); + // tidy up + //delete item.$index; + //delete item.$parent; + } +}; +TAssembly.prototype.ctlFn_template = function(options, scope, cb) { + // deal with options + var data = this._evalExpr(options.data, scope); + this.render(this._getTemplate(options.tpl), data, cb); +}; + +TAssembly.prototype.ctlFn_with = function(options, scope, cb) { + var val = this._evalExpr(options.data, scope); + if (val) { + this.render(this._getTemplate(options.tpl), val, cb); + } else { + // TODO: hide the parent element similar to visible + } +}; + +TAssembly.prototype.ctlFn_if = function(options, scope, cb) { + if (this._evalExpr(options.data, scope)) { + this.render(options.tpl, scope, cb); + } +}; + +TAssembly.prototype.ctlFn_ifnot = function(options, scope, cb) { + if (!this._evalExpr(options.data, scope)) { + this.render(options.tpl, scope, cb); + } +}; + +TAssembly.prototype.ctlFn_attr = function(options, scope, cb) { + var self = this, + attVal; + Object.keys(options).forEach(function(name) { + var attValObj = options[name]; + if (typeof attValObj === 'string') { + attVal = self._evalExpr(options[name], scope); + } else { + // Must be an object + attVal = attValObj.v || ''; + if (attValObj.app && Array.isArray(attValObj.app)) { + attValObj.app.forEach(function(appItem) { + if (appItem['if'] && self._evalExpr(appItem['if'], scope)) { + attVal += appItem.v || ''; + } + if (appItem.ifnot && ! self._evalExpr(appItem.ifnot, scope)) { + attVal += appItem.v || ''; + } + }); + } + if (!attVal && attValObj.v === null) { + attVal = null; + } + } + if (attVal !== null) { + cb(' ' + name + '="' + // TODO: context-sensitive sanitization on href / src / style + // (also in compiled version at end) + + attVal.toString().replace(/"/g, '"') + + '"'); + } + }); +}; + +// Actually handled inline for performance +//TAssembly.prototype.ctlFn_text = function(options, scope, cb) { +// cb(this._evalExpr(options, scope)); +//}; + +TAssembly.prototype._xmlEncoder = function(c){ + switch(c) { + case '<': return '<'; + case '>': return '>'; + case '&': return '&'; + case '"': return '"'; + default: return '&#' + c.charCodeAt() + ';'; + } +}; + +TAssembly.prototype._assemble = function(template, cb) { + var code = []; + code.push('var val;'); + if (!cb) { + code.push('var res = "", cb = function(bit) { res += bit; };'); + } + + var self = this, + l = template.length; + for(var i = 0; i < l; i++) { + var bit = template[i], + c = bit.constructor; + if (c === String) { + // static string + code.push('cb(' + JSON.stringify(bit) + ');'); + } else if (c === Array) { + // control structure + var ctlFn = bit[0], + ctlOpts = bit[1]; + + // Inline text and attr handlers for speed + if (ctlFn === 'text') { + code.push('val = ' + evalExprStub(ctlOpts) + ';' + + 'val = !val && val !== 0 ? "" : "" + val;' + + 'if(!/[<&]/.test(val)) { cb(val); }' + + 'else { cb(val.replace(/[<&]/g,this._xmlEncoder)); };'); + } else if ( ctlFn === 'attr' ) { + var names = Object.keys(ctlOpts); + for(var j = 0; j < names.length; j++) { + var name = names[j]; + if (typeof ctlOpts[name] === 'string') { + code.push('val = ' + evalExprStub(ctlOpts[name]) + ';'); + } else { + // Must be an object + var attValObj = ctlOpts[name]; + code.push('val=' + JSON.stringify(attValObj.v || '')); + if (attValObj.app && Array.isArray(attValObj.app)) { + attValObj.app.forEach(function(appItem) { + if (appItem['if']) { + code.push('if(' + evalExprStub(appItem['if']) + '){'); + code.push('val += ' + JSON.stringify(appItem.v || '') + ';'); + code.push('}'); + } else if (appItem.ifnot) { + code.push('if(!' + evalExprStub(appItem.ifnot) + '){'); + code.push('val += ' + JSON.stringify(appItem.v || '')); + code.push('}'); + } + }); + } + if (attValObj.v === null) { + code.push('if(!val) { val = null; }'); + } + } + code.push("if (val !== null) { " + // escape the attribute value + // TODO: hook up context-sensitive sanitization for href, + // src, style + + 'val = val || val === 0 ? val : "";' + + 'if(/[<&"]/.test(val)) { val = val.replace(/[<&"]/g,this._xmlEncoder); }' + + "cb(" + JSON.stringify(' ' + name + '="') + + " + val " + + "+ '\"');}"); + } + } else { + // Generic control function call + + // Store the args in the cache to a) keep the compiled code + // small, and b) share compilations of sub-blocks between + // repeated calls + var uid = this._getUID(); + this.cache[uid] = ctlOpts; + + code.push('try {'); + // call the method + code.push('this[' + JSON.stringify('ctlFn_' + ctlFn) + // store in cache / unique key rather than here + + '](this.cache["' + uid + '"], scope, cb);'); + code.push('} catch(e) {'); + code.push("console.error('Unsupported control function:', " + + JSON.stringify(ctlFn) + ", e.stack);"); + code.push('}'); + } + } else { + console.error('Unsupported type:', bit); + } + } + if (!cb) { + code.push("return res;"); + } + return code.join('\n'); +}; + +/** + * Interpreted template expansion entry point + * + * @param {array} template The tassembly template in JSON IR + * @param {object} scope the model + * @param {function} cb (optional) chunk callback for bits of text (instead of + * return) + * @return {string} Rendered template string + */ +TAssembly.prototype.render = function(template, scope, cb) { + var res; + if (!cb) { + res = []; + cb = function(bit) { + res.push(bit); + }; + } + + // Just call a cached compiled version if available + if (template.__cachedFn) { + return template.__cachedFn.call(this, scope, cb); + } + + var self = this, + l = template.length; + for(var i = 0; i < l; i++) { + var bit = template[i], + c = bit.constructor, + val; + if (c === String) { + cb(bit); + } else if (c === Array) { + // control structure + var ctlFn = bit[0], + ctlOpts = bit[1]; + if (ctlFn === 'text') { + val = this._evalExpr(ctlOpts, scope); + if (!val && val !== 0) { + val = ''; + } + cb( ('' + val) // convert to string + .replace(/[<&]/g, this._xmlEncoder)); // and escape + } else { + + try { + self['ctlFn_' + ctlFn](ctlOpts, scope, cb); + } catch(e) { + console.error('Unsupported control function:', bit, e); + } + } + } else { + console.error('Unsupported type:', bit); + } + } + if(res) { + return res.join(''); + } +}; + + +/** + * Compile a template to a function + * + * @param {array} template The tassembly template in JSON IR + * @param {function} cb (optional) chunk callback for bits of text (instead of + * return) + * @return {function} template function(model) + */ +TAssembly.prototype.compile = function(template, cb) { + var self = this; + if (template.__cachedFn) { + // + return function(scope) { + return template.__cachedFn.call(self, scope, cb); + }; + } + var code = this._assemble(template, cb); + //console.log(code); + var fn = new Function('scope', 'cb', code); + template.__cachedFn = fn; + // bind this and cb + var res = function (scope) { + return fn.call(self, scope, cb); + }; + return res; +}; + +module.exports = { + TAssembly: TAssembly +}; diff --git a/knockoff-node/node_modules/knockoff/package.json b/knockoff-node/node_modules/knockoff/package.json new file mode 100644 index 0000000..a01970f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/package.json @@ -0,0 +1,17 @@ +{ + "name": "knockoff", + "version": "0.1.0", + "main": "knockoff.js", + "dependencies": { + "tassembly": "git+https://github.com/gwicke/tassembly.git#master" + }, + "readme": "KnockOff\n========\n\nKnockoutJS to Tassembly compiler\n", + "readmeFilename": "README.md", + "description": "KnockOff ========", + "_id": "knockoff@0.1.0", + "dist": { + "shasum": "773814bef2329ba683bb7b8b7dc05e3185906ce1" + }, + "_resolved": "git+https://github.com/gwicke/knockoff#b95298d7aae0a6245eb5a0009c240a986e089b6d", + "_from": "knockoff@git+https://github.com/gwicke/knockoff#master" +} diff --git a/knockoff-node/node_modules/knockoff/testKnockOff.js b/knockoff-node/node_modules/knockoff/testKnockOff.js new file mode 100644 index 0000000..6315831 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/testKnockOff.js @@ -0,0 +1,70 @@ +var KO = require('./knockoff.js'), + c = require('./KnockoutCompiler'); + + +var ko = new KO.KnockOff(); +// Register a partial +ko.registerPartial('testPartial', + ''); + +var testData = { + items: [ + { + key: 'key1', + value: 'value1' + }, + { + key: 'key2', + value: 'value2' + } + ], + obj: { + foo: "foo", + bar: "bar" + }, + name: 'Some name', + content: 'Some sample content', + id: 'mw1234', + predTrue: true, + predFalse: false +}; + + +function test(input) { + var tpl = ko.compile(input); + + console.log('========================='); + console.log('Knockout template:'); + console.log(input); + console.log('TAssembly JSON:'); + console.log(JSON.stringify(c.compile(input), null, 2)); + console.log('Rendered HTML:'); + console.log(tpl(testData)); +} + +test('
    ' + + '
    '); + +test('
    Hello world
    '); +test('
    Hello world
    '); +// constant string +test('
    Hello world
    '); + +// constant number + +test('
    Hello world
    '); + +// arithmetic expression +test('
    Hello world
    '); + +test('hello worldfoo
    ipsum
    '); + +test('hello worldfoo
    hopefully foohopefully bar
    '); + +test('hello world
    '); + +test('
    '); + +test('
    '); + +test('
    '); diff --git a/knockoff-node/package.json b/knockoff-node/package.json new file mode 100644 index 0000000..86e54e0 --- /dev/null +++ b/knockoff-node/package.json @@ -0,0 +1,6 @@ +{ + "name": "knockoffbench", + "dependencies": { + "knockoff": "git+https://github.com/gwicke/knockoff#master" + } +} diff --git a/QuickTemplate/test1.js b/knockoff-node/test1.js similarity index 61% rename from QuickTemplate/test1.js rename to knockoff-node/test1.js index 3c86b5f..c2b484f 100644 --- a/QuickTemplate/test1.js +++ b/knockoff-node/test1.js @@ -1,8 +1,9 @@ -var qt = require('./quicktemplate.js'); +var KnockOff = require('knockoff').KnockOff; var startTime = new Date(), vars = {}, - template = qt.compile(['',['text','body'],'']); + ko = new KnockOff(), + template = ko.compile('
    '); for ( n=0; n <= 100000; ++n ) { vars.id = "divid"; vars.body = 'my div\'s body'; diff --git a/knockoff-node/test1b-incid.js b/knockoff-node/test1b-incid.js new file mode 100644 index 0000000..32be8e3 --- /dev/null +++ b/knockoff-node/test1b-incid.js @@ -0,0 +1,14 @@ +var KnockOff = require('knockoff').KnockOff; + + +var startTime = new Date(), + ko = new KnockOff(), + vars = {}, + template = ko.compile('
    '); +for ( n=0; n <= 100000; ++n ) { + vars.id = "divid" + n; + vars.body = 'my div\'s body'; + html = template(vars); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +console.log(html); diff --git a/knockoff-node/test2-loop-lambda.js b/knockoff-node/test2-loop-lambda.js new file mode 100644 index 0000000..17da276 --- /dev/null +++ b/knockoff-node/test2-loop-lambda.js @@ -0,0 +1,35 @@ +var ko = new (require('knockoff').KnockOff)(); + +function mt_rand () { + //[0..1] * PHP mt_getrandmax() + return Math.floor(Math.random() * 2147483647); +} + +function array_rand (arr) { + var i = Math.floor( Math.random() * arr.length ); + return arr[i]; +} + +var vars = {}, + items = {}; + +for ( var n=0; n <= 1000; ++n ) { + items['a' + mt_rand()] = new Date().getTime(); +} + +var startTime = new Date(); +vars.items = Object.keys(items); +vars.items.getvalues = function(i) { + return items[i]; +}; + +var template = ko.compile('
    '); +for ( n=0; n <= 1000; ++n ) { + var key = array_rand(vars.items); + items[key] = 'b' + mt_rand(); + vars.id = "divid"; + vars.body = 'my div\'s body'; + html = template(vars); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +//console.log(html); diff --git a/QuickTemplate/test2-loop.js b/knockoff-node/test2-loop.js similarity index 79% rename from QuickTemplate/test2-loop.js rename to knockoff-node/test2-loop.js index 830831c..9e0c677 100644 --- a/QuickTemplate/test2-loop.js +++ b/knockoff-node/test2-loop.js @@ -1,4 +1,4 @@ -var qt = require('./quicktemplate.js'); +var ko = new (require('knockoff').KnockOff)(); function mt_rand () { //[0..1] * PHP mt_getrandmax() @@ -18,7 +18,7 @@ for ( var n=0; n <= 1000; ++n ) { } var startTime = new Date(), - template = qt.compile(['',['foreach',{data:'m_items',tpl:['',['text','val'],'']}],'']); + template = ko.compile('
    '); for ( n=0; n <= 1000; ++n ) { var key = array_rand(Object.keys(items)); items[key] = 'b' + mt_rand(); diff --git a/knockoff-node/test3-itterator.js b/knockoff-node/test3-itterator.js new file mode 100644 index 0000000..f0930f9 --- /dev/null +++ b/knockoff-node/test3-itterator.js @@ -0,0 +1,29 @@ +var ko = new (require('knockoff').KnockOff)(); + +function mt_rand () { + //[0..1] * PHP mt_getrandmax() + return Math.floor(Math.random() * 2147483647); +} + +function array_rand (arr) { + var i = Math.floor( Math.random() * arr.length ); + return arr[i]; +} + +var vars = {}, + items = []; + +for ( var n=0; n <= 1000; ++n ) { + items[n] = "value:" + mt_rand(); +} + +var startTime = new Date(), + template = ko.compile('

    '); +for ( n=0; n <= 1000; ++n ) { + var key = Math.floor( Math.random() * items.length ); + items[key] = 'b:' + mt_rand(); + vars.items = items; + html = template(vars); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +//console.log(html); diff --git a/runall.sh b/runall.sh index ff01e02..5f40938 100755 --- a/runall.sh +++ b/runall.sh @@ -117,6 +117,15 @@ runTestNode \ "test2 lambda" "test2-loop-lambda.js" \ "test3" "test3-itterator.js" +runTestNode \ + "Handlebars" \ + knockoff-node \ + "test1" "test1.js" \ + "test1b" "test1b-incid.js" \ + "test2" "test2-loop.js" \ + "test2 lambda" "test2-loop-lambda.js" \ + "test3" "test3-itterator.js" + runTestNode \ "Handlebars HTMLJS" \ handlebars-htmljs-node \ From 3c1729f65685cf53d37922d7c12a071fc2426638 Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Fri, 14 Mar 2014 22:29:53 -0700 Subject: [PATCH 37/72] Update knockoff-node deps --- knockoff-node/node_modules/KOTASM/.jshintrc | 33 - .../node_modules/KOTASM/DOMCompiler.js | 192 - .../node_modules/KOTASM/KnockoutCompiler.js | 132 - .../node_modules/KOTASM/KnockoutExpression.js | 123 - knockoff-node/node_modules/KOTASM/README.md | 4 - .../KOTASM/node_modules/tassembly/.jshintrc | 33 - .../KOTASM/node_modules/tassembly/README.md | 32 - .../tassembly/node_modules/domino/.npmignore | 4 - .../tassembly/node_modules/domino/.travis.yml | 6 - .../tassembly/node_modules/domino/LICENSE | 25 - .../tassembly/node_modules/domino/README.md | 59 - .../domino/lib/CSSStyleDeclaration.js | 264 - .../node_modules/domino/lib/CharacterData.js | 116 - .../node_modules/domino/lib/Comment.js | 32 - .../node_modules/domino/lib/CustomEvent.js | 11 - .../node_modules/domino/lib/DOMException.js | 133 - .../domino/lib/DOMImplementation.js | 85 - .../node_modules/domino/lib/DOMTokenList.js | 88 - .../node_modules/domino/lib/Document.js | 727 -- .../domino/lib/DocumentFragment.js | 55 - .../node_modules/domino/lib/DocumentType.js | 34 - .../node_modules/domino/lib/Element.js | 900 -- .../node_modules/domino/lib/Event.js | 65 - .../node_modules/domino/lib/EventTarget.js | 296 - .../domino/lib/FilteredElementList.js | 85 - .../node_modules/domino/lib/HTMLParser.js | 7000 ------------ .../tassembly/node_modules/domino/lib/Leaf.js | 24 - .../node_modules/domino/lib/Location.js | 58 - .../node_modules/domino/lib/MouseEvent.js | 51 - .../domino/lib/MutationConstants.js | 8 - .../tassembly/node_modules/domino/lib/Node.js | 641 -- .../node_modules/domino/lib/NodeFilter.js | 23 - .../node_modules/domino/lib/NodeList.js | 11 - .../domino/lib/ProcessingInstruction.js | 35 - .../tassembly/node_modules/domino/lib/Text.js | 61 - .../node_modules/domino/lib/TreeWalker.js | 311 - .../node_modules/domino/lib/UIEvent.js | 18 - .../tassembly/node_modules/domino/lib/URL.js | 166 - .../domino/lib/URLDecompositionAttributes.js | 163 - .../node_modules/domino/lib/Window.js | 70 - .../node_modules/domino/lib/attributes.js | 112 - .../node_modules/domino/lib/cssparser.js | 5644 ---------- .../node_modules/domino/lib/events.js | 6 - .../node_modules/domino/lib/htmlelts.js | 1109 -- .../tassembly/node_modules/domino/lib/impl.js | 23 - .../node_modules/domino/lib/index.js | 23 - .../node_modules/domino/lib/select.js | 842 -- .../node_modules/domino/lib/utils.js | 66 - .../node_modules/domino/lib/xmlnames.js | 90 - .../node_modules/domino/package.json | 30 - .../node_modules/domino/test/domino.js | 307 - .../node_modules/domino/test/fixture/doc.html | 13 - .../domino/test/fixture/jquery-1.9.1.js | 9597 ----------------- .../node_modules/domino/test/htmlwg/README.md | 3 - .../domino/test/htmlwg/harness/index.js | 45 - .../domino/test/htmlwg/harness/testharness.js | 1739 --- .../node_modules/domino/test/htmlwg/index.js | 2 - ...ument.getElementsByTagName-foreign-01.html | 144 - ...ument.getElementsByTagName-foreign-02.html | 25 - ...ement.getElementsByTagName-foreign-01.html | 26 - ...ement.getElementsByTagName-foreign-02.html | 30 - .../browsing-the-web/load-text-plain.html | 30 - ...ent.getElementsByClassName-null-undef.html | 31 - ...ent.getElementsByClassName-null-undef.html | 31 - ...document.body-getter-foreign-frameset.html | 17 - ...ocument.body-getter-frameset-and-body.html | 18 - .../document.body-setter-01.html | 17 - .../document.embeds-document.plugins-01.html | 24 - .../document.getElementsByClassName-same.html | 18 - .../document.getElementsByName-case.html | 17 - .../document.getElementsByName-case.xhtml | 22 - .../document.getElementsByName-id.html | 16 - .../document.getElementsByName-id.xhtml | 21 - .../document.getElementsByName-namespace.html | 28 - ...document.getElementsByName-namespace.xhtml | 33 - ...ocument.getElementsByName-newelements.html | 122 - ...cument.getElementsByName-newelements.xhtml | 127 - ...document.getElementsByName-null-undef.html | 23 - ...ocument.getElementsByName-null-undef.xhtml | 29 - .../document.getElementsByName-param.html | 24 - .../document.getElementsByName-param.xhtml | 29 - .../document.getElementsByName-same.html | 18 - .../dom-tree-accessors/document.head-01.html | 23 - .../dom-tree-accessors/document.head-02.html | 21 - .../dom-tree-accessors/document.title-01.html | 33 - .../document.title-02.xhtml | 38 - .../dom-tree-accessors/document.title-03.html | 44 - .../document.title-04.xhtml | 49 - .../dom-tree-accessors/document.title-05.html | 41 - .../dom-tree-accessors/document.title-06.html | 24 - .../dom-tree-accessors/document.title-07.html | 21 - .../dom-tree-accessors/nameditem-01.html | 19 - .../document.close-01.xhtml | 19 - .../document.open-01.xhtml | 19 - .../document.open-02.html | 17 - .../document.write-01.xhtml | 19 - .../document.write-02.html | 27 - .../document.writeln-01.xhtml | 19 - .../document.writeln-02.html | 27 - .../elements-in-the-dom/unknown-element.html | 16 - .../events/event-handler-spec-example.html | 31 - .../submission/Ms2ger/general/interfaces.html | 163 - .../classlist-nonstring.html | 44 - .../Ms2ger/global-attributes/dataset.html | 28 - .../global-attributes/document-dir.html | 25 - .../Ms2ger/global-attributes/id-name.html | 18 - .../lang-xmllang-01-ref.html | 20 - .../global-attributes/lang-xmllang-01.html | 57 - .../global-attributes/lang-xyzzy-ref.html | 9 - .../Ms2ger/global-attributes/lang-xyzzy.html | 11 - .../global-attributes/style-01-ref.html | 24 - .../Ms2ger/global-attributes/style-01.html | 25 - .../document-color-01.html | 18 - .../document-color-02.html | 47 - .../document-color-03.html | 47 - .../document-color-04.html | 47 - .../document.all-01.html | 22 - .../document.all-02.html | 13 - .../document.all-03.html | 13 - .../document.all-04.html | 19 - .../document.all-05.html | 23 - .../heading-obsolete-attributes-01.html | 16 - .../script-IDL-event-htmlfor.html | 57 - .../submission/Ms2ger/parsing/comment.dat | 10 - .../document-compatmode-01.html | 13 - .../document-compatmode-02.html | 14 - .../document-compatmode-03.html | 12 - .../document-compatmode-04.xhtml | 18 - .../document-compatmode-05.xhtml | 19 - .../document-compatmode-06.xhtml | 17 - .../Ms2ger/support/css/200-textplain.cgi | 5 - .../Ms2ger/support/css/404-textcss.cgi | 6 - .../Ms2ger/support/text/200-textplain.cgi | 5 - .../the-link-element/link-rellist.html | 23 - .../the-link-element/link-style-error-01.html | 32 - .../the-style-element/style-error-01.html | 32 - .../the-title-element/title.text-01.html | 25 - .../the-title-element/title.text-02.xhtml | 30 - .../the-title-element/title.text-03.html | 95 - .../the-title-element/title.text-04.xhtml | 100 - .../the-video-element/video-tabindex.html | 18 - .../form-elements-interfaces-01.html | 20 - .../form-elements-matches.html | 28 - .../form-elements-nameditem-01.html | 43 - .../form-elements-nameditem-02.html | 28 - .../input-textselection-01.html | 42 - .../the-textarea-element/textarea-type.html | 16 - .../wrap-reflect-1-ref.html | 5 - .../the-textarea-element/wrap-reflect-1a.html | 8 - .../the-textarea-element/wrap-reflect-1b.html | 8 - .../script-language-type.html | 18 - .../script-languages-01.html | 24 - .../script-languages-02.html | 65 - .../script-noembed-noframes-iframe.xhtml | 36 - .../insertRow-method-01.html | 24 - .../insertRow-method-02.html | 34 - .../the-a-element/a.text-getter-01.html | 33 - .../the-a-element/a.text-setter-01.html | 41 - .../the-hidden-attribute/hidden-1-ref.html | 5 - .../the-hidden-attribute/hidden-1a.html | 6 - .../the-hidden-attribute/hidden-1b.html | 9 - .../the-hidden-attribute/hidden-1c.html | 10 - .../the-hidden-attribute/hidden-1d.html | 10 - .../the-hidden-attribute/hidden-2-ref.svg | 9 - .../Ms2ger/the-hidden-attribute/hidden-2.svg | 9 - .../node_modules/domino/test/index.js | 3 - .../node_modules/domino/test/mocha.opts | 6 - .../node_modules/domino/test/w3c/README.md | 13 - .../domino/test/w3c/harness/DomTestCase.js | 438 - .../domino/test/w3c/harness/index.js | 86 - .../node_modules/domino/test/w3c/index.js | 12 - .../level1/core/documentgetdoctypenodtd.js | 110 - ...cumentinvalidcharacterexceptioncreatepi.js | 143 - ...umentinvalidcharacterexceptioncreatepi1.js | 140 - .../test/w3c/level1/core/files/.cvsignore | 0 .../w3c/level1/core/files/hc_nodtdstaff.html | 10 - .../test/w3c/level1/core/files/hc_staff.html | 48 - .../test/w3c/level1/core/files/staff.dtd | 17 - .../level1/core/hc_characterdataappenddata.js | 124 - .../core/hc_characterdataappenddatagetdata.js | 123 - .../hc_characterdatadeletedatabegining.js | 122 - .../core/hc_characterdatadeletedataend.js | 123 - ...hc_characterdatadeletedataexceedslength.js | 125 - ...characterdatadeletedatagetlengthanddata.js | 132 - .../core/hc_characterdatadeletedatamiddle.js | 123 - .../level1/core/hc_characterdatagetdata.js | 124 - .../level1/core/hc_characterdatagetlength.js | 119 - ...dataindexsizeerrdeletedatacountnegative.js | 130 - ...dataindexsizeerrdeletedataoffsetgreater.js | 131 - ...ataindexsizeerrdeletedataoffsetnegative.js | 130 - ...dataindexsizeerrinsertdataoffsetgreater.js | 130 - ...ataindexsizeerrinsertdataoffsetnegative.js | 129 - ...ataindexsizeerrreplacedatacountnegative.js | 131 - ...ataindexsizeerrreplacedataoffsetgreater.js | 131 - ...taindexsizeerrreplacedataoffsetnegative.js | 131 - ...rdataindexsizeerrsubstringcountnegative.js | 130 - ...dataindexsizeerrsubstringnegativeoffset.js | 130 - ...rdataindexsizeerrsubstringoffsetgreater.js | 131 - .../hc_characterdatainsertdatabeginning.js | 122 - .../core/hc_characterdatainsertdataend.js | 123 - .../core/hc_characterdatainsertdatamiddle.js | 123 - .../hc_characterdatareplacedatabegining.js | 122 - .../core/hc_characterdatareplacedataend.js | 123 - ...racterdatareplacedataexceedslengthofarg.js | 124 - ...acterdatareplacedataexceedslengthofdata.js | 122 - .../core/hc_characterdatareplacedatamiddle.js | 123 - .../core/hc_characterdatasetnodevalue.js | 122 - .../hc_characterdatasubstringexceedsvalue.js | 120 - .../core/hc_characterdatasubstringvalue.js | 119 - .../w3c/level1/core/hc_commentgetcomment.js | 144 - .../level1/core/hc_documentcreatecomment.js | 120 - .../core/hc_documentcreatedocumentfragment.js | 126 - .../level1/core/hc_documentcreateelement.js | 121 - .../hc_documentcreateelementcasesensitive.js | 132 - .../level1/core/hc_documentcreatetextnode.js | 120 - .../w3c/level1/core/hc_documentgetdoctype.js | 149 - .../hc_documentgetelementsbytagnamelength.js | 110 - ...documentgetelementsbytagnametotallength.js | 221 - .../hc_documentgetelementsbytagnamevalue.js | 120 - .../core/hc_documentgetimplementation.js | 126 - .../w3c/level1/core/hc_documentgetrootnode.js | 123 - ...tinvalidcharacterexceptioncreateelement.js | 124 - ...invalidcharacterexceptioncreateelement1.js | 117 - .../hc_domimplementationfeaturenoversion.js | 126 - .../core/hc_domimplementationfeaturenull.js | 129 - .../core/hc_domimplementationfeaturexml.js | 125 - .../level1/core/hc_elementaddnewattribute.js | 117 - .../core/hc_elementchangeattributevalue.js | 119 - .../core/hc_elementgetelementsbytagname.js | 112 - ...ementgetelementsbytagnameaccessnodelist.js | 144 - .../hc_elementgetelementsbytagnamenomatch.js | 110 - ...elementgetelementsbytagnamespecialvalue.js | 134 - .../w3c/level1/core/hc_elementgettagname.js | 123 - .../hc_elementinvalidcharacterexception.js | 125 - .../hc_elementinvalidcharacterexception1.js | 119 - .../w3c/level1/core/hc_elementnormalize.js | 126 - .../level1/core/hc_elementremoveattribute.js | 113 - .../core/hc_elementretrieveallattributes.js | 144 - .../core/hc_elementretrieveattrvalue.js | 113 - .../level1/core/hc_elementretrievetagname.js | 118 - .../core/hc_entitiesremovenameditem1.js | 133 - .../level1/core/hc_entitiessetnameditem1.js | 144 - .../core/hc_namednodemapchildnoderange.js | 141 - .../core/hc_namednodemapnumberofnodes.js | 127 - .../w3c/level1/core/hc_nodeappendchild.js | 123 - .../core/hc_nodeappendchildchildexists.js | 160 - .../core/hc_nodeappendchilddocfragment.js | 158 - .../core/hc_nodeappendchildgetnodename.js | 123 - .../hc_nodeappendchildnewchilddiffdocument.js | 144 - .../core/hc_nodeappendchildnodeancestor.js | 132 - .../core/hc_nodeattributenodeattribute.js | 120 - .../test/w3c/level1/core/hc_nodechildnodes.js | 149 - .../core/hc_nodechildnodesappendchild.js | 159 - .../w3c/level1/core/hc_nodechildnodesempty.js | 123 - .../core/hc_nodecloneattributescopied.js | 149 - .../core/hc_nodeclonefalsenocopytext.js | 122 - .../level1/core/hc_nodeclonegetparentnull.js | 117 - .../w3c/level1/core/hc_nodeclonenodefalse.js | 126 - .../w3c/level1/core/hc_nodeclonenodetrue.js | 145 - .../level1/core/hc_nodeclonetruecopytext.js | 121 - .../core/hc_nodecommentnodeattributes.js | 135 - .../w3c/level1/core/hc_nodecommentnodename.js | 134 - .../w3c/level1/core/hc_nodecommentnodetype.js | 133 - .../level1/core/hc_nodecommentnodevalue.js | 133 - .../core/hc_nodedocumentfragmentnodename.js | 114 - .../core/hc_nodedocumentfragmentnodetype.js | 114 - .../core/hc_nodedocumentfragmentnodevalue.js | 120 - .../core/hc_nodedocumentnodeattribute.js | 111 - .../level1/core/hc_nodedocumentnodename.js | 111 - .../level1/core/hc_nodedocumentnodetype.js | 110 - .../level1/core/hc_nodedocumentnodevalue.js | 112 - .../core/hc_nodeelementnodeattributes.js | 145 - .../w3c/level1/core/hc_nodeelementnodename.js | 125 - .../w3c/level1/core/hc_nodeelementnodetype.js | 112 - .../level1/core/hc_nodeelementnodevalue.js | 109 - .../w3c/level1/core/hc_nodegetfirstchild.js | 130 - .../level1/core/hc_nodegetfirstchildnull.js | 117 - .../w3c/level1/core/hc_nodegetlastchild.js | 117 - .../level1/core/hc_nodegetlastchildnull.js | 118 - .../w3c/level1/core/hc_nodegetnextsibling.js | 117 - .../level1/core/hc_nodegetnextsiblingnull.js | 124 - .../level1/core/hc_nodegetownerdocument.js | 129 - .../core/hc_nodegetownerdocumentnull.js | 115 - .../level1/core/hc_nodegetprevioussibling.js | 117 - .../core/hc_nodegetprevioussiblingnull.js | 124 - .../w3c/level1/core/hc_nodehaschildnodes.js | 113 - .../level1/core/hc_nodehaschildnodesfalse.js | 117 - .../w3c/level1/core/hc_nodeinsertbefore.js | 153 - .../core/hc_nodeinsertbeforedocfragment.js | 141 - ...hc_nodeinsertbeforenewchilddiffdocument.js | 147 - .../core/hc_nodeinsertbeforenewchildexists.js | 151 - .../core/hc_nodeinsertbeforenodeancestor.js | 135 - .../core/hc_nodeinsertbeforenodename.js | 126 - .../hc_nodeinsertbeforerefchildnonexistent.js | 133 - .../core/hc_nodeinsertbeforerefchildnull.js | 131 - .../level1/core/hc_nodelistindexequalzero.js | 135 - .../level1/core/hc_nodelistindexgetlength.js | 129 - .../hc_nodelistindexgetlengthofemptylist.js | 122 - .../level1/core/hc_nodelistindexnotzero.js | 133 - .../level1/core/hc_nodelistreturnfirstitem.js | 129 - .../level1/core/hc_nodelistreturnlastitem.js | 133 - .../level1/core/hc_nodelisttraverselist.js | 149 - .../test/w3c/level1/core/hc_nodeparentnode.js | 117 - .../w3c/level1/core/hc_nodeparentnodenull.js | 114 - .../w3c/level1/core/hc_noderemovechild.js | 123 - .../core/hc_noderemovechildgetnodename.js | 128 - .../w3c/level1/core/hc_noderemovechildnode.js | 160 - .../hc_noderemovechildoldchildnonexistent.js | 129 - .../w3c/level1/core/hc_nodereplacechild.js | 127 - ...hc_nodereplacechildnewchilddiffdocument.js | 147 - .../core/hc_nodereplacechildnewchildexists.js | 155 - .../core/hc_nodereplacechildnodeancestor.js | 135 - .../core/hc_nodereplacechildnodename.js | 126 - .../hc_nodereplacechildoldchildnonexistent.js | 131 - .../level1/core/hc_nodetextnodeattribute.js | 118 - .../w3c/level1/core/hc_nodetextnodename.js | 113 - .../w3c/level1/core/hc_nodetextnodetype.js | 124 - .../w3c/level1/core/hc_nodetextnodevalue.js | 118 - .../test/w3c/level1/core/hc_nodevalue01.js | 114 - .../test/w3c/level1/core/hc_nodevalue02.js | 114 - .../test/w3c/level1/core/hc_nodevalue04.js | 132 - .../test/w3c/level1/core/hc_nodevalue05.js | 114 - .../test/w3c/level1/core/hc_nodevalue06.js | 112 - .../test/w3c/level1/core/hc_nodevalue07.js | 134 - .../test/w3c/level1/core/hc_nodevalue08.js | 134 - .../core/hc_notationsremovenameditem1.js | 133 - .../level1/core/hc_notationssetnameditem1.js | 144 - .../core/hc_textindexsizeerrnegativeoffset.js | 130 - .../hc_textindexsizeerroffsetoutofbounds.js | 131 - .../core/hc_textparseintolistofelements.js | 169 - .../w3c/level1/core/hc_textsplittextfour.js | 122 - .../w3c/level1/core/hc_textsplittextone.js | 126 - .../w3c/level1/core/hc_textsplittextthree.js | 124 - .../w3c/level1/core/hc_textsplittexttwo.js | 123 - .../w3c/level1/core/hc_textwithnomarkup.js | 122 - ...ntinvalidcharacterexceptioncreateentref.js | 143 - ...tinvalidcharacterexceptioncreateentref1.js | 140 - .../core/obsolete/hc_attrappendchild1.js | 132 - .../core/obsolete/hc_attrappendchild2.js | 127 - .../core/obsolete/hc_attrappendchild3.js | 138 - .../core/obsolete/hc_attrappendchild4.js | 152 - .../core/obsolete/hc_attrappendchild5.js | 141 - .../core/obsolete/hc_attrappendchild6.js | 127 - .../core/obsolete/hc_attrchildnodes1.js | 124 - .../core/obsolete/hc_attrchildnodes2.js | 130 - .../level1/core/obsolete/hc_attrclonenode1.js | 132 - .../obsolete/hc_attrcreatedocumentfragment.js | 138 - .../core/obsolete/hc_attrcreatetextnode.js | 127 - .../core/obsolete/hc_attrcreatetextnode2.js | 127 - .../core/obsolete/hc_attreffectivevalue.js | 118 - .../level1/core/obsolete/hc_attrfirstchild.js | 127 - .../level1/core/obsolete/hc_attrgetvalue1.js | 117 - .../level1/core/obsolete/hc_attrgetvalue2.js | 146 - .../core/obsolete/hc_attrhaschildnodes.js | 114 - .../core/obsolete/hc_attrinsertbefore1.js | 140 - .../core/obsolete/hc_attrinsertbefore2.js | 141 - .../core/obsolete/hc_attrinsertbefore3.js | 146 - .../core/obsolete/hc_attrinsertbefore4.js | 147 - .../core/obsolete/hc_attrinsertbefore5.js | 153 - .../core/obsolete/hc_attrinsertbefore6.js | 142 - .../core/obsolete/hc_attrinsertbefore7.js | 160 - .../level1/core/obsolete/hc_attrlastchild.js | 127 - .../w3c/level1/core/obsolete/hc_attrname.js | 123 - .../core/obsolete/hc_attrnextsiblingnull.js | 118 - .../level1/core/obsolete/hc_attrnormalize.js | 133 - .../core/obsolete/hc_attrparentnodenull.js | 118 - .../obsolete/hc_attrprevioussiblingnull.js | 118 - .../core/obsolete/hc_attrremovechild1.js | 131 - .../core/obsolete/hc_attrremovechild2.js | 126 - .../core/obsolete/hc_attrreplacechild1.js | 135 - .../core/obsolete/hc_attrreplacechild2.js | 141 - .../level1/core/obsolete/hc_attrsetvalue1.js | 135 - .../level1/core/obsolete/hc_attrsetvalue2.js | 138 - .../core/obsolete/hc_attrspecifiedvalue.js | 121 - .../obsolete/hc_attrspecifiedvaluechanged.js | 123 - .../obsolete/hc_documentcreateattribute.js | 122 - ...nvalidcharacterexceptioncreateattribute.js | 124 - ...validcharacterexceptioncreateattribute1.js | 117 - .../obsolete/hc_elementassociatedattribute.js | 119 - .../obsolete/hc_elementcreatenewattribute.js | 124 - .../obsolete/hc_elementgetattributenode.js | 114 - .../hc_elementgetattributenodenull.js | 115 - .../obsolete/hc_elementgetelementempty.js | 123 - .../obsolete/hc_elementinuseattributeerr.js | 131 - .../core/obsolete/hc_elementnormalize2.js | 129 - .../core/obsolete/hc_elementnotfounderr.js | 130 - .../hc_elementremoveattributeaftercreate.js | 124 - .../obsolete/hc_elementremoveattributenode.js | 119 - .../hc_elementreplaceattributewithself.js | 117 - .../hc_elementreplaceexistingattribute.js | 122 - ..._elementreplaceexistingattributegevalue.js | 123 - .../hc_elementsetattributenodenull.js | 120 - .../obsolete/hc_elementwrongdocumenterr.js | 147 - .../obsolete/hc_namednodemapgetnameditem.js | 121 - .../hc_namednodemapinuseattributeerr.js | 139 - .../obsolete/hc_namednodemapnotfounderr.js | 131 - .../hc_namednodemapremovenameditem.js | 124 - .../obsolete/hc_namednodemapreturnattrnode.js | 126 - .../hc_namednodemapreturnfirstitem.js | 150 - .../obsolete/hc_namednodemapreturnlastitem.js | 152 - .../obsolete/hc_namednodemapreturnnull.js | 121 - .../obsolete/hc_namednodemapsetnameditem.js | 131 - .../hc_namednodemapsetnameditemreturnvalue.js | 132 - .../hc_namednodemapsetnameditemthatexists.js | 134 - ...hc_namednodemapsetnameditemwithnewvalue.js | 126 - .../hc_namednodemapwrongdocumenterr.js | 149 - .../hc_nodeappendchildinvalidnodetype.js | 130 - .../core/obsolete/hc_nodeattributenodename.js | 115 - .../core/obsolete/hc_nodeattributenodetype.js | 123 - .../obsolete/hc_nodeattributenodevalue.js | 118 - .../hc_nodeinsertbeforeinvalidnodetype.js | 136 - .../hc_nodereplacechildinvalidnodetype.js | 136 - .../level1/core/obsolete/hc_nodevalue03.js | 138 - .../w3c/level1/html/HTMLAnchorElement01.js | 114 - .../w3c/level1/html/HTMLAnchorElement04.js | 113 - .../w3c/level1/html/HTMLAnchorElement05.js | 113 - .../w3c/level1/html/HTMLAnchorElement07.js | 113 - .../w3c/level1/html/HTMLAnchorElement10.js | 114 - .../w3c/level1/html/HTMLAnchorElement11.js | 113 - .../w3c/level1/html/HTMLAnchorElement12.js | 113 - .../w3c/level1/html/HTMLAnchorElement13.js | 107 - .../w3c/level1/html/HTMLAnchorElement14.js | 107 - .../test/w3c/level1/html/HTMLAreaElement01.js | 114 - .../test/w3c/level1/html/HTMLAreaElement02.js | 114 - .../test/w3c/level1/html/HTMLAreaElement03.js | 114 - .../test/w3c/level1/html/HTMLAreaElement04.js | 113 - .../test/w3c/level1/html/HTMLAreaElement05.js | 113 - .../test/w3c/level1/html/HTMLAreaElement06.js | 113 - .../test/w3c/level1/html/HTMLAreaElement07.js | 114 - .../test/w3c/level1/html/HTMLAreaElement08.js | 113 - .../w3c/level1/html/HTMLButtonElement01.js | 116 - .../w3c/level1/html/HTMLButtonElement02.js | 114 - .../w3c/level1/html/HTMLButtonElement03.js | 114 - .../w3c/level1/html/HTMLButtonElement04.js | 114 - .../w3c/level1/html/HTMLButtonElement05.js | 114 - .../w3c/level1/html/HTMLButtonElement06.js | 114 - .../w3c/level1/html/HTMLButtonElement07.js | 113 - .../w3c/level1/html/HTMLButtonElement08.js | 113 - .../test/w3c/level1/html/HTMLDocument01.js | 109 - .../test/w3c/level1/html/HTMLDocument05.js | 114 - .../test/w3c/level1/html/HTMLDocument15.js | 115 - .../test/w3c/level1/html/HTMLDocument16.js | 114 - .../test/w3c/level1/html/HTMLDocument17.js | 119 - .../test/w3c/level1/html/HTMLDocument18.js | 102 - .../test/w3c/level1/html/HTMLDocument19.js | 129 - .../test/w3c/level1/html/HTMLDocument20.js | 129 - .../test/w3c/level1/html/HTMLDocument21.js | 138 - .../test/w3c/level1/html/HTMLElement01.js | 113 - .../test/w3c/level1/html/HTMLElement02.js | 113 - .../test/w3c/level1/html/HTMLElement03.js | 113 - .../test/w3c/level1/html/HTMLElement04.js | 113 - .../test/w3c/level1/html/HTMLElement05.js | 113 - .../test/w3c/level1/html/HTMLElement06.js | 113 - .../test/w3c/level1/html/HTMLElement07.js | 113 - .../test/w3c/level1/html/HTMLElement08.js | 113 - .../test/w3c/level1/html/HTMLElement09.js | 113 - .../test/w3c/level1/html/HTMLElement10.js | 113 - .../test/w3c/level1/html/HTMLElement100.js | 113 - .../test/w3c/level1/html/HTMLElement101.js | 113 - .../test/w3c/level1/html/HTMLElement102.js | 113 - .../test/w3c/level1/html/HTMLElement103.js | 113 - .../test/w3c/level1/html/HTMLElement104.js | 113 - .../test/w3c/level1/html/HTMLElement105.js | 113 - .../test/w3c/level1/html/HTMLElement106.js | 113 - .../test/w3c/level1/html/HTMLElement107.js | 113 - .../test/w3c/level1/html/HTMLElement108.js | 113 - .../test/w3c/level1/html/HTMLElement109.js | 113 - .../test/w3c/level1/html/HTMLElement11.js | 113 - .../test/w3c/level1/html/HTMLElement110.js | 113 - .../test/w3c/level1/html/HTMLElement111.js | 113 - .../test/w3c/level1/html/HTMLElement112.js | 113 - .../test/w3c/level1/html/HTMLElement113.js | 113 - .../test/w3c/level1/html/HTMLElement114.js | 113 - .../test/w3c/level1/html/HTMLElement115.js | 113 - .../test/w3c/level1/html/HTMLElement116.js | 113 - .../test/w3c/level1/html/HTMLElement117.js | 113 - .../test/w3c/level1/html/HTMLElement118.js | 113 - .../test/w3c/level1/html/HTMLElement119.js | 113 - .../test/w3c/level1/html/HTMLElement12.js | 113 - .../test/w3c/level1/html/HTMLElement120.js | 113 - .../test/w3c/level1/html/HTMLElement121.js | 113 - .../test/w3c/level1/html/HTMLElement122.js | 113 - .../test/w3c/level1/html/HTMLElement123.js | 113 - .../test/w3c/level1/html/HTMLElement124.js | 113 - .../test/w3c/level1/html/HTMLElement125.js | 113 - .../test/w3c/level1/html/HTMLElement126.js | 113 - .../test/w3c/level1/html/HTMLElement127.js | 113 - .../test/w3c/level1/html/HTMLElement128.js | 113 - .../test/w3c/level1/html/HTMLElement129.js | 113 - .../test/w3c/level1/html/HTMLElement13.js | 113 - .../test/w3c/level1/html/HTMLElement130.js | 113 - .../test/w3c/level1/html/HTMLElement131.js | 113 - .../test/w3c/level1/html/HTMLElement132.js | 113 - .../test/w3c/level1/html/HTMLElement133.js | 113 - .../test/w3c/level1/html/HTMLElement134.js | 113 - .../test/w3c/level1/html/HTMLElement135.js | 113 - .../test/w3c/level1/html/HTMLElement136.js | 113 - .../test/w3c/level1/html/HTMLElement137.js | 113 - .../test/w3c/level1/html/HTMLElement138.js | 113 - .../test/w3c/level1/html/HTMLElement139.js | 113 - .../test/w3c/level1/html/HTMLElement14.js | 113 - .../test/w3c/level1/html/HTMLElement140.js | 113 - .../test/w3c/level1/html/HTMLElement141.js | 113 - .../test/w3c/level1/html/HTMLElement142.js | 113 - .../test/w3c/level1/html/HTMLElement143.js | 113 - .../test/w3c/level1/html/HTMLElement144.js | 113 - .../test/w3c/level1/html/HTMLElement145.js | 113 - .../test/w3c/level1/html/HTMLElement15.js | 113 - .../test/w3c/level1/html/HTMLElement16.js | 113 - .../test/w3c/level1/html/HTMLElement17.js | 113 - .../test/w3c/level1/html/HTMLElement18.js | 113 - .../test/w3c/level1/html/HTMLElement19.js | 113 - .../test/w3c/level1/html/HTMLElement20.js | 113 - .../test/w3c/level1/html/HTMLElement21.js | 113 - .../test/w3c/level1/html/HTMLElement22.js | 113 - .../test/w3c/level1/html/HTMLElement23.js | 113 - .../test/w3c/level1/html/HTMLElement24.js | 113 - .../test/w3c/level1/html/HTMLElement25.js | 113 - .../test/w3c/level1/html/HTMLElement26.js | 113 - .../test/w3c/level1/html/HTMLElement27.js | 113 - .../test/w3c/level1/html/HTMLElement28.js | 113 - .../test/w3c/level1/html/HTMLElement29.js | 113 - .../test/w3c/level1/html/HTMLElement30.js | 113 - .../test/w3c/level1/html/HTMLElement31.js | 113 - .../test/w3c/level1/html/HTMLElement32.js | 113 - .../test/w3c/level1/html/HTMLElement33.js | 113 - .../test/w3c/level1/html/HTMLElement34.js | 113 - .../test/w3c/level1/html/HTMLElement35.js | 113 - .../test/w3c/level1/html/HTMLElement36.js | 113 - .../test/w3c/level1/html/HTMLElement37.js | 113 - .../test/w3c/level1/html/HTMLElement38.js | 113 - .../test/w3c/level1/html/HTMLElement39.js | 113 - .../test/w3c/level1/html/HTMLElement40.js | 113 - .../test/w3c/level1/html/HTMLElement41.js | 113 - .../test/w3c/level1/html/HTMLElement42.js | 113 - .../test/w3c/level1/html/HTMLElement43.js | 113 - .../test/w3c/level1/html/HTMLElement44.js | 113 - .../test/w3c/level1/html/HTMLElement45.js | 113 - .../test/w3c/level1/html/HTMLElement46.js | 113 - .../test/w3c/level1/html/HTMLElement47.js | 113 - .../test/w3c/level1/html/HTMLElement48.js | 113 - .../test/w3c/level1/html/HTMLElement49.js | 113 - .../test/w3c/level1/html/HTMLElement50.js | 113 - .../test/w3c/level1/html/HTMLElement51.js | 113 - .../test/w3c/level1/html/HTMLElement52.js | 113 - .../test/w3c/level1/html/HTMLElement53.js | 113 - .../test/w3c/level1/html/HTMLElement54.js | 113 - .../test/w3c/level1/html/HTMLElement55.js | 113 - .../test/w3c/level1/html/HTMLElement56.js | 113 - .../test/w3c/level1/html/HTMLElement57.js | 113 - .../test/w3c/level1/html/HTMLElement58.js | 113 - .../test/w3c/level1/html/HTMLElement59.js | 113 - .../test/w3c/level1/html/HTMLElement60.js | 113 - .../test/w3c/level1/html/HTMLElement61.js | 113 - .../test/w3c/level1/html/HTMLElement62.js | 113 - .../test/w3c/level1/html/HTMLElement63.js | 113 - .../test/w3c/level1/html/HTMLElement64.js | 113 - .../test/w3c/level1/html/HTMLElement65.js | 113 - .../test/w3c/level1/html/HTMLElement66.js | 113 - .../test/w3c/level1/html/HTMLElement67.js | 113 - .../test/w3c/level1/html/HTMLElement68.js | 113 - .../test/w3c/level1/html/HTMLElement69.js | 113 - .../test/w3c/level1/html/HTMLElement70.js | 113 - .../test/w3c/level1/html/HTMLElement71.js | 113 - .../test/w3c/level1/html/HTMLElement72.js | 113 - .../test/w3c/level1/html/HTMLElement73.js | 113 - .../test/w3c/level1/html/HTMLElement74.js | 113 - .../test/w3c/level1/html/HTMLElement75.js | 113 - .../test/w3c/level1/html/HTMLElement76.js | 113 - .../test/w3c/level1/html/HTMLElement77.js | 113 - .../test/w3c/level1/html/HTMLElement78.js | 113 - .../test/w3c/level1/html/HTMLElement79.js | 113 - .../test/w3c/level1/html/HTMLElement80.js | 113 - .../test/w3c/level1/html/HTMLElement81.js | 113 - .../test/w3c/level1/html/HTMLElement82.js | 113 - .../test/w3c/level1/html/HTMLElement83.js | 113 - .../test/w3c/level1/html/HTMLElement84.js | 113 - .../test/w3c/level1/html/HTMLElement85.js | 113 - .../test/w3c/level1/html/HTMLElement86.js | 113 - .../test/w3c/level1/html/HTMLElement87.js | 113 - .../test/w3c/level1/html/HTMLElement88.js | 113 - .../test/w3c/level1/html/HTMLElement89.js | 113 - .../test/w3c/level1/html/HTMLElement90.js | 113 - .../test/w3c/level1/html/HTMLElement91.js | 113 - .../test/w3c/level1/html/HTMLElement92.js | 113 - .../test/w3c/level1/html/HTMLElement93.js | 113 - .../test/w3c/level1/html/HTMLElement94.js | 113 - .../test/w3c/level1/html/HTMLElement95.js | 113 - .../test/w3c/level1/html/HTMLElement96.js | 113 - .../test/w3c/level1/html/HTMLElement97.js | 113 - .../test/w3c/level1/html/HTMLElement98.js | 113 - .../test/w3c/level1/html/HTMLElement99.js | 113 - .../w3c/level1/html/HTMLFieldSetElement01.js | 116 - .../w3c/level1/html/HTMLFieldSetElement02.js | 114 - .../test/w3c/level1/html/HTMLFormElement03.js | 113 - .../test/w3c/level1/html/HTMLFormElement04.js | 114 - .../test/w3c/level1/html/HTMLFormElement05.js | 113 - .../test/w3c/level1/html/HTMLFormElement06.js | 113 - .../test/w3c/level1/html/HTMLFormElement07.js | 113 - .../test/w3c/level1/html/HTMLFormElement08.js | 113 - .../w3c/level1/html/HTMLIFrameElement03.js | 114 - .../w3c/level1/html/HTMLIFrameElement07.js | 115 - .../w3c/level1/html/HTMLIFrameElement09.js | 114 - .../w3c/level1/html/HTMLIFrameElement10.js | 114 - .../w3c/level1/html/HTMLImageElement05.js | 125 - .../w3c/level1/html/HTMLImageElement06.js | 128 - .../w3c/level1/html/HTMLImageElement07.js | 113 - .../w3c/level1/html/HTMLImageElement09.js | 113 - .../w3c/level1/html/HTMLImageElement11.js | 128 - .../w3c/level1/html/HTMLImageElement12.js | 127 - .../w3c/level1/html/HTMLInputElement01.js | 115 - .../w3c/level1/html/HTMLInputElement02.js | 115 - .../w3c/level1/html/HTMLInputElement03.js | 116 - .../w3c/level1/html/HTMLInputElement04.js | 115 - .../w3c/level1/html/HTMLInputElement05.js | 115 - .../w3c/level1/html/HTMLInputElement07.js | 115 - .../w3c/level1/html/HTMLInputElement08.js | 115 - .../w3c/level1/html/HTMLInputElement09.js | 114 - .../w3c/level1/html/HTMLInputElement10.js | 115 - .../w3c/level1/html/HTMLInputElement11.js | 115 - .../w3c/level1/html/HTMLInputElement12.js | 115 - .../w3c/level1/html/HTMLInputElement13.js | 130 - .../w3c/level1/html/HTMLInputElement14.js | 115 - .../w3c/level1/html/HTMLInputElement15.js | 115 - .../w3c/level1/html/HTMLInputElement16.js | 114 - .../w3c/level1/html/HTMLInputElement18.js | 115 - .../w3c/level1/html/HTMLInputElement21.js | 114 - .../test/w3c/level1/html/HTMLLIElement02.js | 113 - .../w3c/level1/html/HTMLLabelElement01.js | 116 - .../w3c/level1/html/HTMLLabelElement02.js | 114 - .../w3c/level1/html/HTMLLabelElement03.js | 114 - .../w3c/level1/html/HTMLLabelElement04.js | 115 - .../test/w3c/level1/html/HTMLLinkElement01.js | 113 - .../test/w3c/level1/html/HTMLLinkElement03.js | 113 - .../test/w3c/level1/html/HTMLLinkElement04.js | 113 - .../test/w3c/level1/html/HTMLLinkElement05.js | 113 - .../test/w3c/level1/html/HTMLLinkElement06.js | 113 - .../test/w3c/level1/html/HTMLLinkElement08.js | 113 - .../test/w3c/level1/html/HTMLMapElement02.js | 113 - .../test/w3c/level1/html/HTMLMetaElement01.js | 113 - .../test/w3c/level1/html/HTMLMetaElement02.js | 113 - .../test/w3c/level1/html/HTMLMetaElement03.js | 113 - .../test/w3c/level1/html/HTMLMetaElement04.js | 113 - .../test/w3c/level1/html/HTMLModElement01.js | 114 - .../test/w3c/level1/html/HTMLModElement02.js | 113 - .../test/w3c/level1/html/HTMLModElement03.js | 114 - .../test/w3c/level1/html/HTMLModElement04.js | 113 - .../w3c/level1/html/HTMLOListElement02.js | 113 - .../w3c/level1/html/HTMLOListElement03.js | 113 - .../w3c/level1/html/HTMLObjectElement01.js | 116 - .../w3c/level1/html/HTMLObjectElement08.js | 114 - .../w3c/level1/html/HTMLObjectElement10.js | 115 - .../w3c/level1/html/HTMLObjectElement11.js | 129 - .../w3c/level1/html/HTMLObjectElement13.js | 115 - .../w3c/level1/html/HTMLObjectElement14.js | 115 - .../w3c/level1/html/HTMLObjectElement15.js | 114 - .../w3c/level1/html/HTMLObjectElement16.js | 129 - .../w3c/level1/html/HTMLObjectElement17.js | 114 - .../w3c/level1/html/HTMLObjectElement18.js | 115 - .../w3c/level1/html/HTMLObjectElement19.js | 114 - .../w3c/level1/html/HTMLOptGroupElement01.js | 114 - .../w3c/level1/html/HTMLOptGroupElement02.js | 113 - .../w3c/level1/html/HTMLOptionElement01.js | 117 - .../w3c/level1/html/HTMLOptionElement02.js | 115 - .../w3c/level1/html/HTMLOptionElement03.js | 115 - .../w3c/level1/html/HTMLOptionElement06.js | 115 - .../w3c/level1/html/HTMLOptionElement07.js | 115 - .../w3c/level1/html/HTMLOptionElement08.js | 115 - .../w3c/level1/html/HTMLParamElement02.js | 113 - .../w3c/level1/html/HTMLQuoteElement01.js | 114 - .../w3c/level1/html/HTMLQuoteElement02.js | 115 - .../w3c/level1/html/HTMLScriptElement01.js | 113 - .../w3c/level1/html/HTMLScriptElement02.js | 114 - .../w3c/level1/html/HTMLScriptElement03.js | 114 - .../w3c/level1/html/HTMLScriptElement04.js | 113 - .../w3c/level1/html/HTMLScriptElement05.js | 113 - .../w3c/level1/html/HTMLScriptElement06.js | 109 - .../w3c/level1/html/HTMLScriptElement07.js | 109 - .../w3c/level1/html/HTMLSelectElement03.js | 118 - .../w3c/level1/html/HTMLSelectElement06.js | 117 - .../w3c/level1/html/HTMLSelectElement07.js | 115 - .../w3c/level1/html/HTMLSelectElement08.js | 134 - .../w3c/level1/html/HTMLSelectElement09.js | 115 - .../w3c/level1/html/HTMLSelectElement10.js | 115 - .../w3c/level1/html/HTMLSelectElement11.js | 115 - .../w3c/level1/html/HTMLSelectElement12.js | 114 - .../w3c/level1/html/HTMLSelectElement13.js | 115 - .../w3c/level1/html/HTMLStyleElement01.js | 113 - .../w3c/level1/html/HTMLStyleElement02.js | 113 - .../w3c/level1/html/HTMLStyleElement03.js | 113 - .../w3c/level1/html/HTMLTableCellElement15.js | 115 - .../w3c/level1/html/HTMLTableCellElement16.js | 115 - .../w3c/level1/html/HTMLTableCellElement23.js | 115 - .../w3c/level1/html/HTMLTableCellElement24.js | 115 - .../w3c/level1/html/HTMLTableCellElement25.js | 114 - .../w3c/level1/html/HTMLTableColElement07.js | 115 - .../w3c/level1/html/HTMLTableColElement08.js | 115 - .../w3c/level1/html/HTMLTableElement02.js | 115 - .../w3c/level1/html/HTMLTableElement04.js | 115 - .../w3c/level1/html/HTMLTableElement06.js | 115 - .../w3c/level1/html/HTMLTableElement07.js | 132 - .../w3c/level1/html/HTMLTableElement12.js | 114 - .../w3c/level1/html/HTMLTableRowElement05.js | 117 - .../level1/html/HTMLTableSectionElement13.js | 117 - .../level1/html/HTMLTableSectionElement14.js | 117 - .../level1/html/HTMLTableSectionElement15.js | 117 - .../w3c/level1/html/HTMLTextAreaElement02.js | 117 - .../w3c/level1/html/HTMLTextAreaElement03.js | 115 - .../w3c/level1/html/HTMLTextAreaElement04.js | 115 - .../w3c/level1/html/HTMLTextAreaElement05.js | 114 - .../w3c/level1/html/HTMLTextAreaElement06.js | 115 - .../w3c/level1/html/HTMLTextAreaElement07.js | 115 - .../w3c/level1/html/HTMLTextAreaElement08.js | 114 - .../w3c/level1/html/HTMLTextAreaElement09.js | 114 - .../w3c/level1/html/HTMLTextAreaElement10.js | 115 - .../w3c/level1/html/HTMLTitleElement01.js | 113 - .../domino/test/w3c/level1/html/anchor01.js | 112 - .../domino/test/w3c/level1/html/anchor04.js | 112 - .../domino/test/w3c/level1/html/anchor05.js | 112 - .../domino/test/w3c/level1/html/area01.js | 111 - .../domino/test/w3c/level1/html/area02.js | 111 - .../domino/test/w3c/level1/html/area03.js | 111 - .../domino/test/w3c/level1/html/area04.js | 111 - .../domino/test/w3c/level1/html/button01.js | 111 - .../domino/test/w3c/level1/html/button02.js | 115 - .../domino/test/w3c/level1/html/button03.js | 115 - .../domino/test/w3c/level1/html/button04.js | 115 - .../domino/test/w3c/level1/html/button05.js | 112 - .../domino/test/w3c/level1/html/button06.js | 112 - .../domino/test/w3c/level1/html/button07.js | 112 - .../domino/test/w3c/level1/html/button08.js | 112 - .../domino/test/w3c/level1/html/button09.js | 112 - .../domino/test/w3c/level1/html/doc01.js | 106 - .../test/w3c/level1/html/files/.cvsignore | 6 - .../w3c/level1/html/files/HTMLDocument04.html | 36 - .../test/w3c/level1/html/files/anchor.html | 12 - .../test/w3c/level1/html/files/anchor2.html | 13 - .../test/w3c/level1/html/files/applet.html | 12 - .../test/w3c/level1/html/files/applet2.html | 12 - .../test/w3c/level1/html/files/area.html | 14 - .../test/w3c/level1/html/files/area2.html | 15 - .../test/w3c/level1/html/files/base.html | 11 - .../test/w3c/level1/html/files/base2.html | 15 - .../test/w3c/level1/html/files/basefont.html | 12 - .../test/w3c/level1/html/files/body.html | 10 - .../domino/test/w3c/level1/html/files/br.html | 12 - .../test/w3c/level1/html/files/button.html | 21 - .../w3c/level1/html/files/collection.html | 79 - .../test/w3c/level1/html/files/directory.html | 14 - .../test/w3c/level1/html/files/div.html | 10 - .../domino/test/w3c/level1/html/files/dl.html | 15 - .../test/w3c/level1/html/files/document.html | 36 - .../test/w3c/level1/html/files/element.html | 81 - .../test/w3c/level1/html/files/fieldset.html | 23 - .../test/w3c/level1/html/files/font.html | 10 - .../test/w3c/level1/html/files/form.html | 17 - .../test/w3c/level1/html/files/form2.html | 17 - .../test/w3c/level1/html/files/form3.html | 17 - .../test/w3c/level1/html/files/frame.html | 14 - .../test/w3c/level1/html/files/frameset.html | 14 - .../test/w3c/level1/html/files/head.html | 11 - .../test/w3c/level1/html/files/heading.html | 16 - .../domino/test/w3c/level1/html/files/hr.html | 11 - .../test/w3c/level1/html/files/html.html | 12 - .../test/w3c/level1/html/files/iframe.html | 10 - .../test/w3c/level1/html/files/img.html | 13 - .../test/w3c/level1/html/files/input.html | 60 - .../test/w3c/level1/html/files/isindex.html | 14 - .../test/w3c/level1/html/files/label.html | 21 - .../test/w3c/level1/html/files/legend.html | 22 - .../domino/test/w3c/level1/html/files/li.html | 23 - .../test/w3c/level1/html/files/link.html | 15 - .../test/w3c/level1/html/files/link2.html | 15 - .../test/w3c/level1/html/files/map.html | 16 - .../test/w3c/level1/html/files/menu.html | 15 - .../test/w3c/level1/html/files/meta.html | 13 - .../test/w3c/level1/html/files/mod.html | 15 - .../test/w3c/level1/html/files/object.html | 18 - .../test/w3c/level1/html/files/object2.html | 17 - .../test/w3c/level1/html/files/olist.html | 32 - .../test/w3c/level1/html/files/optgroup.html | 25 - .../test/w3c/level1/html/files/option.html | 36 - .../test/w3c/level1/html/files/paragraph.html | 13 - .../test/w3c/level1/html/files/param.html | 14 - .../test/w3c/level1/html/files/pre.html | 17 - .../test/w3c/level1/html/files/quote.html | 16 - .../test/w3c/level1/html/files/script.html | 11 - .../test/w3c/level1/html/files/select.html | 44 - .../test/w3c/level1/html/files/style.html | 12 - .../test/w3c/level1/html/files/table.html | 78 - .../test/w3c/level1/html/files/table1.html | 12 - .../w3c/level1/html/files/tablecaption.html | 25 - .../test/w3c/level1/html/files/tablecell.html | 23 - .../test/w3c/level1/html/files/tablecol.html | 35 - .../test/w3c/level1/html/files/tablerow.html | 59 - .../w3c/level1/html/files/tablesection.html | 62 - .../test/w3c/level1/html/files/textarea.html | 26 - .../test/w3c/level1/html/files/title.html | 13 - .../test/w3c/level1/html/files/ulist.html | 36 - .../test/w3c/level1/html/hasFeature01.js | 96 - .../w3c/level1/html/nyi/HTMLDocument02.js | 111 - .../w3c/level1/html/nyi/HTMLDocument03.js | 111 - .../w3c/level1/html/nyi/HTMLDocument04.js | 110 - .../w3c/level1/html/nyi/HTMLDocument07.js | 113 - .../w3c/level1/html/nyi/HTMLDocument09.js | 114 - .../w3c/level1/html/nyi/HTMLDocument10.js | 113 - .../w3c/level1/html/nyi/HTMLDocument12.js | 109 - .../w3c/level1/html/nyi/HTMLFormElement01.js | 117 - .../w3c/level1/html/nyi/HTMLFormElement09.js | 107 - .../w3c/level1/html/nyi/HTMLFormElement10.js | 107 - .../w3c/level1/html/nyi/HTMLInputElement19.js | 107 - .../w3c/level1/html/nyi/HTMLInputElement20.js | 107 - .../w3c/level1/html/nyi/HTMLInputElement22.js | 108 - .../level1/html/nyi/HTMLSelectElement01.js | 115 - .../level1/html/nyi/HTMLSelectElement02.js | 115 - .../level1/html/nyi/HTMLSelectElement04.js | 114 - .../level1/html/nyi/HTMLSelectElement05.js | 114 - .../level1/html/nyi/HTMLSelectElement14.js | 107 - .../level1/html/nyi/HTMLSelectElement15.js | 107 - .../level1/html/nyi/HTMLSelectElement16.js | 115 - .../level1/html/nyi/HTMLSelectElement17.js | 115 - .../level1/html/nyi/HTMLSelectElement18.js | 133 - .../level1/html/nyi/HTMLSelectElement19.js | 137 - .../w3c/level1/html/nyi/HTMLTableElement08.js | 129 - .../w3c/level1/html/nyi/HTMLTableElement09.js | 132 - .../w3c/level1/html/nyi/HTMLTableElement19.js | 123 - .../w3c/level1/html/nyi/HTMLTableElement20.js | 122 - .../w3c/level1/html/nyi/HTMLTableElement21.js | 139 - .../w3c/level1/html/nyi/HTMLTableElement22.js | 123 - .../w3c/level1/html/nyi/HTMLTableElement23.js | 122 - .../w3c/level1/html/nyi/HTMLTableElement24.js | 139 - .../w3c/level1/html/nyi/HTMLTableElement25.js | 121 - .../w3c/level1/html/nyi/HTMLTableElement26.js | 125 - .../w3c/level1/html/nyi/HTMLTableElement27.js | 119 - .../w3c/level1/html/nyi/HTMLTableElement28.js | 133 - .../w3c/level1/html/nyi/HTMLTableElement29.js | 137 - .../w3c/level1/html/nyi/HTMLTableElement30.js | 144 - .../w3c/level1/html/nyi/HTMLTableElement31.js | 138 - .../w3c/level1/html/nyi/HTMLTableElement32.js | 125 - .../w3c/level1/html/nyi/HTMLTableElement33.js | 124 - .../level1/html/nyi/HTMLTableRowElement01.js | 117 - .../level1/html/nyi/HTMLTextAreaElement13.js | 107 - .../level1/html/nyi/HTMLTextAreaElement14.js | 107 - .../level1/html/nyi/HTMLTextAreaElement15.js | 107 - .../domino/test/w3c/level1/html/object01.js | 112 - .../domino/test/w3c/level1/html/object06.js | 112 - .../domino/test/w3c/level1/html/object07.js | 111 - .../domino/test/w3c/level1/html/object08.js | 126 - .../domino/test/w3c/level1/html/object10.js | 112 - .../domino/test/w3c/level1/html/object11.js | 112 - .../domino/test/w3c/level1/html/object12.js | 111 - .../domino/test/w3c/level1/html/object13.js | 126 - .../domino/test/w3c/level1/html/object14.js | 111 - .../html/obsolete/HTMLAnchorElement02.js | 114 - .../html/obsolete/HTMLAnchorElement03.js | 114 - .../html/obsolete/HTMLAnchorElement06.js | 113 - .../html/obsolete/HTMLAnchorElement08.js | 113 - .../html/obsolete/HTMLAnchorElement09.js | 113 - .../html/obsolete/HTMLAppletElement01.js | 114 - .../html/obsolete/HTMLAppletElement02.js | 114 - .../html/obsolete/HTMLAppletElement03.js | 113 - .../html/obsolete/HTMLAppletElement04.js | 113 - .../html/obsolete/HTMLAppletElement05.js | 113 - .../html/obsolete/HTMLAppletElement06.js | 113 - .../html/obsolete/HTMLAppletElement07.js | 126 - .../html/obsolete/HTMLAppletElement08.js | 113 - .../html/obsolete/HTMLAppletElement09.js | 127 - .../html/obsolete/HTMLAppletElement10.js | 113 - .../html/obsolete/HTMLAppletElement11.js | 114 - .../level1/html/obsolete/HTMLBRElement01.js | 113 - .../html/obsolete/HTMLBaseFontElement01.js | 113 - .../html/obsolete/HTMLBaseFontElement02.js | 113 - .../html/obsolete/HTMLBaseFontElement03.js | 125 - .../level1/html/obsolete/HTMLBodyElement01.js | 113 - .../level1/html/obsolete/HTMLBodyElement02.js | 114 - .../level1/html/obsolete/HTMLBodyElement03.js | 113 - .../level1/html/obsolete/HTMLBodyElement04.js | 114 - .../level1/html/obsolete/HTMLBodyElement05.js | 113 - .../level1/html/obsolete/HTMLBodyElement06.js | 114 - .../level1/html/obsolete/HTMLCollection01.js | 121 - .../level1/html/obsolete/HTMLCollection02.js | 121 - .../level1/html/obsolete/HTMLCollection03.js | 121 - .../level1/html/obsolete/HTMLCollection04.js | 133 - .../level1/html/obsolete/HTMLCollection05.js | 118 - .../level1/html/obsolete/HTMLCollection06.js | 122 - .../level1/html/obsolete/HTMLCollection07.js | 121 - .../level1/html/obsolete/HTMLCollection08.js | 121 - .../level1/html/obsolete/HTMLCollection09.js | 118 - .../level1/html/obsolete/HTMLCollection10.js | 123 - .../level1/html/obsolete/HTMLCollection11.js | 123 - .../level1/html/obsolete/HTMLCollection12.js | 121 - .../html/obsolete/HTMLDirectoryElement01.js | 114 - .../level1/html/obsolete/HTMLDivElement01.js | 113 - .../html/obsolete/HTMLDlistElement01.js | 114 - .../level1/html/obsolete/HTMLDocument08.js | 114 - .../level1/html/obsolete/HTMLDocument11.js | 114 - .../level1/html/obsolete/HTMLDocument13.js | 109 - .../level1/html/obsolete/HTMLDocument14.js | 110 - .../level1/html/obsolete/HTMLFontElement01.js | 113 - .../level1/html/obsolete/HTMLFontElement02.js | 114 - .../level1/html/obsolete/HTMLFontElement03.js | 113 - .../level1/html/obsolete/HTMLFormElement02.js | 115 - .../html/obsolete/HTMLFrameElement01.js | 116 - .../html/obsolete/HTMLFrameElement02.js | 115 - .../html/obsolete/HTMLFrameElement03.js | 114 - .../html/obsolete/HTMLFrameElement04.js | 114 - .../html/obsolete/HTMLFrameElement05.js | 115 - .../html/obsolete/HTMLFrameElement06.js | 115 - .../html/obsolete/HTMLFrameElement07.js | 115 - .../html/obsolete/HTMLFrameElement08.js | 114 - .../html/obsolete/HTMLFrameSetElement01.js | 115 - .../html/obsolete/HTMLFrameSetElement02.js | 115 - .../level1/html/obsolete/HTMLHRElement01.js | 113 - .../level1/html/obsolete/HTMLHRElement02.js | 114 - .../level1/html/obsolete/HTMLHRElement03.js | 113 - .../level1/html/obsolete/HTMLHRElement04.js | 113 - .../level1/html/obsolete/HTMLHeadElement01.js | 113 - .../html/obsolete/HTMLHeadingElement01.js | 113 - .../html/obsolete/HTMLHeadingElement02.js | 113 - .../html/obsolete/HTMLHeadingElement03.js | 113 - .../html/obsolete/HTMLHeadingElement04.js | 113 - .../html/obsolete/HTMLHeadingElement05.js | 113 - .../html/obsolete/HTMLHeadingElement06.js | 113 - .../level1/html/obsolete/HTMLHtmlElement01.js | 124 - .../html/obsolete/HTMLIFrameElement01.js | 115 - .../html/obsolete/HTMLIFrameElement02.js | 116 - .../html/obsolete/HTMLIFrameElement04.js | 115 - .../html/obsolete/HTMLIFrameElement05.js | 114 - .../html/obsolete/HTMLIFrameElement06.js | 114 - .../html/obsolete/HTMLIFrameElement08.js | 115 - .../html/obsolete/HTMLImageElement01.js | 113 - .../html/obsolete/HTMLImageElement02.js | 114 - .../html/obsolete/HTMLImageElement03.js | 114 - .../html/obsolete/HTMLImageElement04.js | 113 - .../html/obsolete/HTMLImageElement08.js | 114 - .../html/obsolete/HTMLImageElement10.js | 113 - .../html/obsolete/HTMLImageElement14.js | 115 - .../html/obsolete/HTMLInputElement06.js | 115 - .../html/obsolete/HTMLInputElement17.js | 114 - .../html/obsolete/HTMLIsIndexElement01.js | 122 - .../html/obsolete/HTMLIsIndexElement02.js | 119 - .../html/obsolete/HTMLIsIndexElement03.js | 114 - .../level1/html/obsolete/HTMLLIElement01.js | 113 - .../html/obsolete/HTMLLegendElement01.js | 117 - .../html/obsolete/HTMLLegendElement02.js | 114 - .../html/obsolete/HTMLLegendElement03.js | 114 - .../html/obsolete/HTMLLegendElement04.js | 113 - .../level1/html/obsolete/HTMLLinkElement02.js | 114 - .../level1/html/obsolete/HTMLLinkElement07.js | 113 - .../level1/html/obsolete/HTMLLinkElement09.js | 113 - .../level1/html/obsolete/HTMLMapElement01.js | 116 - .../level1/html/obsolete/HTMLMenuElement01.js | 114 - .../html/obsolete/HTMLOListElement01.js | 114 - .../html/obsolete/HTMLObjectElement02.js | 114 - .../html/obsolete/HTMLObjectElement03.js | 115 - .../html/obsolete/HTMLObjectElement04.js | 114 - .../html/obsolete/HTMLObjectElement05.js | 114 - .../html/obsolete/HTMLObjectElement06.js | 115 - .../html/obsolete/HTMLObjectElement07.js | 115 - .../html/obsolete/HTMLObjectElement09.js | 115 - .../html/obsolete/HTMLObjectElement12.js | 115 - .../html/obsolete/HTMLOptionElement04.js | 114 - .../html/obsolete/HTMLOptionElement05.js | 115 - .../html/obsolete/HTMLOptionElement09.js | 114 - .../html/obsolete/HTMLParagraphElement01.js | 113 - .../html/obsolete/HTMLParamElement01.js | 113 - .../html/obsolete/HTMLParamElement03.js | 114 - .../html/obsolete/HTMLParamElement04.js | 114 - .../level1/html/obsolete/HTMLPreElement01.js | 113 - .../obsolete/HTMLTableCaptionElement01.js | 114 - .../html/obsolete/HTMLTableCellElement01.js | 114 - .../html/obsolete/HTMLTableCellElement02.js | 114 - .../html/obsolete/HTMLTableCellElement03.js | 114 - .../html/obsolete/HTMLTableCellElement04.js | 114 - .../html/obsolete/HTMLTableCellElement05.js | 115 - .../html/obsolete/HTMLTableCellElement06.js | 115 - .../html/obsolete/HTMLTableCellElement07.js | 115 - .../html/obsolete/HTMLTableCellElement08.js | 115 - .../html/obsolete/HTMLTableCellElement09.js | 115 - .../html/obsolete/HTMLTableCellElement10.js | 115 - .../html/obsolete/HTMLTableCellElement11.js | 115 - .../html/obsolete/HTMLTableCellElement12.js | 115 - .../html/obsolete/HTMLTableCellElement13.js | 115 - .../html/obsolete/HTMLTableCellElement14.js | 115 - .../html/obsolete/HTMLTableCellElement17.js | 115 - .../html/obsolete/HTMLTableCellElement18.js | 115 - .../html/obsolete/HTMLTableCellElement19.js | 114 - .../html/obsolete/HTMLTableCellElement20.js | 114 - .../html/obsolete/HTMLTableCellElement21.js | 114 - .../html/obsolete/HTMLTableCellElement22.js | 114 - .../html/obsolete/HTMLTableCellElement26.js | 114 - .../html/obsolete/HTMLTableCellElement27.js | 114 - .../html/obsolete/HTMLTableCellElement28.js | 114 - .../html/obsolete/HTMLTableCellElement29.js | 114 - .../html/obsolete/HTMLTableCellElement30.js | 114 - .../html/obsolete/HTMLTableColElement01.js | 115 - .../html/obsolete/HTMLTableColElement02.js | 115 - .../html/obsolete/HTMLTableColElement03.js | 115 - .../html/obsolete/HTMLTableColElement04.js | 115 - .../html/obsolete/HTMLTableColElement05.js | 114 - .../html/obsolete/HTMLTableColElement06.js | 114 - .../html/obsolete/HTMLTableColElement09.js | 115 - .../html/obsolete/HTMLTableColElement10.js | 115 - .../html/obsolete/HTMLTableColElement11.js | 114 - .../html/obsolete/HTMLTableColElement12.js | 114 - .../html/obsolete/HTMLTableElement01.js | 117 - .../html/obsolete/HTMLTableElement03.js | 117 - .../html/obsolete/HTMLTableElement05.js | 117 - .../html/obsolete/HTMLTableElement10.js | 115 - .../html/obsolete/HTMLTableElement11.js | 114 - .../html/obsolete/HTMLTableElement13.js | 115 - .../html/obsolete/HTMLTableElement14.js | 115 - .../html/obsolete/HTMLTableElement15.js | 114 - .../html/obsolete/HTMLTableElement16.js | 114 - .../html/obsolete/HTMLTableElement17.js | 115 - .../html/obsolete/HTMLTableElement18.js | 114 - .../html/obsolete/HTMLTableRowElement02.js | 115 - .../html/obsolete/HTMLTableRowElement03.js | 115 - .../html/obsolete/HTMLTableRowElement04.js | 115 - .../html/obsolete/HTMLTableRowElement06.js | 115 - .../html/obsolete/HTMLTableRowElement07.js | 114 - .../html/obsolete/HTMLTableRowElement08.js | 114 - .../html/obsolete/HTMLTableRowElement09.js | 114 - .../html/obsolete/HTMLTableRowElement10.js | 115 - .../html/obsolete/HTMLTableRowElement11.js | 144 - .../html/obsolete/HTMLTableRowElement12.js | 143 - .../html/obsolete/HTMLTableRowElement13.js | 144 - .../html/obsolete/HTMLTableRowElement14.js | 144 - .../obsolete/HTMLTableSectionElement01.js | 115 - .../obsolete/HTMLTableSectionElement02.js | 115 - .../obsolete/HTMLTableSectionElement03.js | 115 - .../obsolete/HTMLTableSectionElement04.js | 115 - .../obsolete/HTMLTableSectionElement05.js | 115 - .../obsolete/HTMLTableSectionElement06.js | 115 - .../obsolete/HTMLTableSectionElement07.js | 114 - .../obsolete/HTMLTableSectionElement08.js | 114 - .../obsolete/HTMLTableSectionElement09.js | 114 - .../obsolete/HTMLTableSectionElement10.js | 115 - .../obsolete/HTMLTableSectionElement11.js | 115 - .../obsolete/HTMLTableSectionElement12.js | 115 - .../obsolete/HTMLTableSectionElement16.js | 126 - .../obsolete/HTMLTableSectionElement17.js | 126 - .../obsolete/HTMLTableSectionElement18.js | 126 - .../obsolete/HTMLTableSectionElement19.js | 127 - .../obsolete/HTMLTableSectionElement20.js | 127 - .../obsolete/HTMLTableSectionElement21.js | 128 - .../obsolete/HTMLTableSectionElement22.js | 125 - .../obsolete/HTMLTableSectionElement23.js | 125 - .../obsolete/HTMLTableSectionElement24.js | 125 - .../html/obsolete/HTMLTextAreaElement01.js | 115 - .../html/obsolete/HTMLTextAreaElement11.js | 115 - .../html/obsolete/HTMLTextAreaElement12.js | 115 - .../html/obsolete/HTMLUListElement01.js | 114 - .../html/obsolete/HTMLUListElement02.js | 113 - .../test/w3c/level1/html/obsolete/anchor02.js | 112 - .../test/w3c/level1/html/obsolete/anchor03.js | 112 - .../test/w3c/level1/html/obsolete/anchor06.js | 112 - .../w3c/level1/html/obsolete/basefont01.js | 111 - .../test/w3c/level1/html/obsolete/body01.js | 112 - .../test/w3c/level1/html/obsolete/dlist01.js | 111 - .../test/w3c/level1/html/obsolete/object02.js | 112 - .../test/w3c/level1/html/obsolete/object03.js | 112 - .../test/w3c/level1/html/obsolete/object04.js | 112 - .../test/w3c/level1/html/obsolete/object05.js | 112 - .../test/w3c/level1/html/obsolete/object09.js | 112 - .../test/w3c/level1/html/obsolete/object15.js | 112 - .../test/w3c/level1/html/obsolete/table02.js | 115 - .../test/w3c/level1/html/obsolete/table03.js | 115 - .../test/w3c/level1/html/obsolete/table04.js | 115 - .../test/w3c/level1/html/obsolete/table06.js | 115 - .../test/w3c/level1/html/obsolete/table07.js | 118 - .../test/w3c/level1/html/obsolete/table08.js | 115 - .../test/w3c/level1/html/obsolete/table09.js | 115 - .../test/w3c/level1/html/obsolete/table10.js | 115 - .../test/w3c/level1/html/obsolete/table12.js | 115 - .../test/w3c/level1/html/obsolete/table15.js | 118 - .../test/w3c/level1/html/obsolete/table17.js | 115 - .../test/w3c/level1/html/obsolete/table18.js | 112 - .../test/w3c/level1/html/obsolete/table19.js | 113 - .../test/w3c/level1/html/obsolete/table20.js | 112 - .../test/w3c/level1/html/obsolete/table21.js | 112 - .../test/w3c/level1/html/obsolete/table22.js | 112 - .../test/w3c/level1/html/obsolete/table23.js | 112 - .../test/w3c/level1/html/obsolete/table24.js | 112 - .../test/w3c/level1/html/obsolete/table26.js | 111 - .../test/w3c/level1/html/obsolete/table27.js | 112 - .../test/w3c/level1/html/obsolete/table29.js | 112 - .../test/w3c/level1/html/obsolete/table30.js | 112 - .../test/w3c/level1/html/obsolete/table31.js | 112 - .../test/w3c/level1/html/obsolete/table32.js | 112 - .../test/w3c/level1/html/obsolete/table33.js | 112 - .../test/w3c/level1/html/obsolete/table35.js | 112 - .../test/w3c/level1/html/obsolete/table36.js | 112 - .../test/w3c/level1/html/obsolete/table37.js | 111 - .../test/w3c/level1/html/obsolete/table38.js | 112 - .../test/w3c/level1/html/obsolete/table39.js | 112 - .../test/w3c/level1/html/obsolete/table40.js | 112 - .../test/w3c/level1/html/obsolete/table41.js | 112 - .../test/w3c/level1/html/obsolete/table42.js | 112 - .../test/w3c/level1/html/obsolete/table43.js | 112 - .../test/w3c/level1/html/obsolete/table44.js | 112 - .../test/w3c/level1/html/obsolete/table45.js | 112 - .../test/w3c/level1/html/obsolete/table46.js | 112 - .../test/w3c/level1/html/obsolete/table47.js | 112 - .../test/w3c/level1/html/obsolete/table48.js | 112 - .../test/w3c/level1/html/obsolete/table49.js | 112 - .../test/w3c/level1/html/obsolete/table50.js | 112 - .../test/w3c/level1/html/obsolete/table52.js | 112 - .../test/w3c/level1/html/obsolete/table53.js | 112 - .../domino/test/w3c/level1/html/table01.js | 112 - .../domino/test/w3c/level1/html/table25.js | 112 - .../domino/test/w3c/level1/html/table28.js | 112 - .../domino/test/w3c/level1/html/table34.js | 112 - .../domino/test/w3c/level1/html/table51.js | 112 - .../node_modules/tassembly/package.json | 17 - .../node_modules/tassembly/tassembly.js | 351 - .../node_modules/KOTASM/package.json | 16 - .../KOTASM/testKnockoutCompiler.js | 69 - .../node_modules/tassembly/package.json | 4 +- .../node_modules/tassembly/tassembly.js | 47 +- 1120 files changed, 24 insertions(+), 141191 deletions(-) delete mode 100644 knockoff-node/node_modules/KOTASM/.jshintrc delete mode 100644 knockoff-node/node_modules/KOTASM/DOMCompiler.js delete mode 100644 knockoff-node/node_modules/KOTASM/KnockoutCompiler.js delete mode 100644 knockoff-node/node_modules/KOTASM/KnockoutExpression.js delete mode 100644 knockoff-node/node_modules/KOTASM/README.md delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/.jshintrc delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/README.md delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/.npmignore delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/.travis.yml delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/LICENSE delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/README.md delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/CSSStyleDeclaration.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/CharacterData.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/Comment.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/CustomEvent.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/DOMException.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/DOMImplementation.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/DOMTokenList.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/Document.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/DocumentFragment.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/DocumentType.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/Element.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/Event.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/EventTarget.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/FilteredElementList.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/HTMLParser.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/Leaf.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/Location.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/MouseEvent.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/MutationConstants.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/Node.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/NodeFilter.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/NodeList.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/ProcessingInstruction.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/Text.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/TreeWalker.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/UIEvent.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/URL.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/URLDecompositionAttributes.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/Window.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/attributes.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/cssparser.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/events.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/htmlelts.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/impl.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/index.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/select.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/utils.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/xmlnames.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/package.json delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/domino.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/fixture/doc.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/fixture/jquery-1.9.1.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/README.md delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/harness/index.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/harness/testharness.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/index.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-01.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-02.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-01.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-02.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/browsing-the-web/load-text-plain.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Document.getElementsByClassName-null-undef.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Element.getElementsByClassName-null-undef.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-foreign-frameset.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-frameset-and-body.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-setter-01.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.embeds-document.plugins-01.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByClassName-same.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.xhtml delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.xhtml delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.xhtml delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.xhtml delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.xhtml delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.xhtml delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-same.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-01.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-02.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-01.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-02.xhtml delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-03.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-04.xhtml delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-05.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-06.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-07.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/nameditem-01.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.close-01.xhtml delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-01.xhtml delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-02.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-01.xhtml delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-02.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-01.xhtml delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-02.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/elements-in-the-dom/unknown-element.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/events/event-handler-spec-example.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/general/interfaces.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/classlist-nonstring.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/dataset.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/document-dir.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/id-name.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01-ref.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy-ref.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01-ref.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-01.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-02.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-03.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-04.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-01.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-02.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-03.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-04.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-05.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/heading-obsolete-attributes-01.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/script-IDL-event-htmlfor.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/parsing/comment.dat delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-01.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-02.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-03.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-04.xhtml delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-05.xhtml delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-06.xhtml delete mode 100755 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/200-textplain.cgi delete mode 100755 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/404-textcss.cgi delete mode 100755 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/support/text/200-textplain.cgi delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-rellist.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-style-error-01.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-style-element/style-error-01.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-01.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-02.xhtml delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-03.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-04.xhtml delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/embedded-content/the-video-element/video-tabindex.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-interfaces-01.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-matches.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-01.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-02.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-input-element/input-textselection-01.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/textarea-type.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1-ref.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1a.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1b.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-language-type.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-01.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-02.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-noembed-noframes-iframe.xhtml delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-01.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-02.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-getter-01.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-setter-01.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1-ref.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1a.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1b.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1c.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1d.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2-ref.svg delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2.svg delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/index.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/mocha.opts delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/README.md delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/harness/DomTestCase.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/harness/index.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/index.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/documentgetdoctypenodtd.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi1.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/.cvsignore delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/hc_nodtdstaff.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/hc_staff.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/staff.dtd delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddata.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddatagetdata.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatabegining.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataend.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataexceedslength.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatagetlengthanddata.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatamiddle.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatagetdata.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatagetlength.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetgreater.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetnegative.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetgreater.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetnegative.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedatacountnegative.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetgreater.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetnegative.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringcountnegative.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringnegativeoffset.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringoffsetgreater.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatabeginning.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdataend.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatamiddle.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatabegining.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataend.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofarg.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofdata.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatamiddle.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatasetnodevalue.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringexceedsvalue.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringvalue.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_commentgetcomment.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreatecomment.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreatedocumentfragment.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreateelement.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreateelementcasesensitive.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreatetextnode.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetdoctype.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamelength.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnametotallength.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamevalue.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetimplementation.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetrootnode.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement1.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenoversion.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenull.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturexml.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementaddnewattribute.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementchangeattributevalue.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagname.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnameaccessnodelist.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamenomatch.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamespecialvalue.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgettagname.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception1.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementnormalize.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementremoveattribute.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementretrieveallattributes.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementretrieveattrvalue.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementretrievetagname.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_entitiesremovenameditem1.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_entitiessetnameditem1.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_namednodemapchildnoderange.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_namednodemapnumberofnodes.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchild.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildchildexists.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchilddocfragment.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildgetnodename.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnewchilddiffdocument.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnodeancestor.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeattributenodeattribute.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodechildnodes.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesappendchild.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesempty.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecloneattributescopied.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonefalsenocopytext.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonegetparentnull.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodefalse.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodetrue.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonetruecopytext.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodeattributes.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodename.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodetype.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodevalue.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodename.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodetype.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodevalue.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodeattribute.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodename.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodetype.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodevalue.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodeattributes.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodename.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodetype.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodevalue.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchild.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchildnull.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchild.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchildnull.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsibling.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsiblingnull.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocument.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocumentnull.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussibling.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussiblingnull.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodes.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodesfalse.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbefore.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforedocfragment.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchilddiffdocument.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchildexists.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodeancestor.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodename.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnonexistent.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnull.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexequalzero.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlength.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlengthofemptylist.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexnotzero.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnfirstitem.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnlastitem.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelisttraverselist.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeparentnode.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeparentnodenull.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechild.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechildgetnodename.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechildnode.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechildoldchildnonexistent.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechild.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchilddiffdocument.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchildexists.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodeancestor.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodename.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildoldchildnonexistent.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodeattribute.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodename.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodetype.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodevalue.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue04.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue05.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue06.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue07.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue08.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_notationsremovenameditem1.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_notationssetnameditem1.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerrnegativeoffset.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerroffsetoutofbounds.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textparseintolistofelements.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittextfour.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittextone.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittextthree.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittexttwo.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textwithnomarkup.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref1.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild1.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild2.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild3.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild4.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild5.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild6.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes1.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes2.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrclonenode1.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatedocumentfragment.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode2.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attreffectivevalue.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrfirstchild.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue1.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue2.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrhaschildnodes.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore1.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore2.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore3.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore4.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore5.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore6.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore7.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrlastchild.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrname.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnextsiblingnull.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnormalize.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrparentnodenull.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrprevioussiblingnull.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild1.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild2.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild1.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild2.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue1.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue2.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvalue.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvaluechanged.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentcreateattribute.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute1.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementassociatedattribute.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementcreatenewattribute.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenode.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenodenull.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetelementempty.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementinuseattributeerr.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnormalize2.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnotfounderr.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributeaftercreate.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributenode.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceattributewithself.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattribute.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattributegevalue.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementsetattributenodenull.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementwrongdocumenterr.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapgetnameditem.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapinuseattributeerr.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapnotfounderr.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapremovenameditem.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnattrnode.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnfirstitem.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnlastitem.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnnull.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditem.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemreturnvalue.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemthatexists.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemwithnewvalue.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapwrongdocumenterr.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeappendchildinvalidnodetype.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodename.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodetype.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodevalue.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeinsertbeforeinvalidnodetype.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodereplacechildinvalidnodetype.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodevalue03.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement04.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement05.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement07.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement10.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement11.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement12.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement13.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement14.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement03.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement04.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement05.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement06.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement07.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement08.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement03.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement04.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement05.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement06.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement07.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement08.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument05.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument15.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument16.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument17.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument18.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument19.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument20.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument21.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement03.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement04.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement05.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement06.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement07.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement08.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement09.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement10.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement100.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement101.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement102.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement103.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement104.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement105.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement106.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement107.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement108.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement109.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement11.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement110.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement111.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement112.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement113.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement114.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement115.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement116.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement117.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement118.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement119.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement12.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement120.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement121.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement122.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement123.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement124.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement125.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement126.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement127.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement128.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement129.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement13.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement130.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement131.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement132.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement133.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement134.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement135.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement136.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement137.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement138.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement139.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement14.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement140.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement141.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement142.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement143.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement144.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement145.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement15.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement16.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement17.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement18.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement19.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement20.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement21.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement22.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement23.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement24.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement25.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement26.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement27.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement28.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement29.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement30.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement31.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement32.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement33.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement34.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement35.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement36.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement37.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement38.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement39.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement40.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement41.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement42.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement43.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement44.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement45.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement46.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement47.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement48.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement49.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement50.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement51.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement52.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement53.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement54.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement55.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement56.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement57.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement58.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement59.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement60.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement61.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement62.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement63.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement64.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement65.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement66.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement67.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement68.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement69.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement70.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement71.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement72.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement73.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement74.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement75.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement76.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement77.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement78.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement79.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement80.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement81.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement82.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement83.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement84.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement85.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement86.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement87.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement88.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement89.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement90.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement91.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement92.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement93.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement94.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement95.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement96.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement97.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement98.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement99.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement03.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement04.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement05.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement06.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement07.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement08.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement03.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement07.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement09.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement10.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement05.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement06.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement07.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement09.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement11.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement12.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement03.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement04.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement05.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement07.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement08.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement09.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement10.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement11.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement12.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement13.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement14.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement15.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement16.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement18.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement21.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLIElement02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement03.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement04.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement03.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement04.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement05.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement06.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement08.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMapElement02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement03.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement04.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement03.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement04.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOListElement02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOListElement03.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement08.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement10.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement11.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement13.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement14.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement15.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement16.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement17.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement18.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement19.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement03.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement06.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement07.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement08.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLParamElement02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement03.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement04.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement05.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement06.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement07.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement03.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement06.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement07.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement08.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement09.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement10.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement11.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement12.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement13.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLStyleElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLStyleElement02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLStyleElement03.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement15.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement16.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement23.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement24.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement25.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableColElement07.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableColElement08.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement04.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement06.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement07.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement12.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableRowElement05.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement13.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement14.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement15.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement03.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement04.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement05.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement06.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement07.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement08.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement09.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement10.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTitleElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/anchor01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/anchor04.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/anchor05.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area03.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area04.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button03.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button04.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button05.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button06.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button07.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button08.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button09.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/doc01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/.cvsignore delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/HTMLDocument04.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/anchor.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/anchor2.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/applet.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/applet2.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/area.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/area2.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/base.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/base2.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/basefont.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/body.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/br.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/button.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/collection.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/directory.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/div.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/dl.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/document.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/element.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/fieldset.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/font.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/form.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/form2.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/form3.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/frame.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/frameset.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/head.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/heading.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/hr.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/html.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/iframe.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/img.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/input.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/isindex.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/label.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/legend.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/li.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/link.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/link2.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/map.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/menu.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/meta.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/mod.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/object.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/object2.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/olist.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/optgroup.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/option.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/paragraph.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/param.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/pre.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/quote.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/script.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/select.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/style.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/table.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/table1.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablecaption.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablecell.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablecol.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablerow.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablesection.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/textarea.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/title.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/ulist.html delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/hasFeature01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument03.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument04.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument07.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument09.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument10.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument12.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement09.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement10.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement19.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement20.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement22.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement04.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement05.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement14.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement15.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement16.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement17.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement18.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement19.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement08.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement09.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement19.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement20.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement21.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement22.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement23.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement24.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement25.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement26.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement27.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement28.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement29.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement30.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement31.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement32.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement33.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableRowElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement13.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement14.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement15.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object06.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object07.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object08.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object10.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object11.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object12.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object13.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object14.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement03.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement06.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement08.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement09.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement03.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement04.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement05.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement06.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement07.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement08.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement09.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement10.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement11.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBRElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement03.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement03.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement04.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement05.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement06.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection03.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection04.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection05.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection06.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection07.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection08.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection09.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection10.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection11.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection12.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDirectoryElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDivElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDlistElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument08.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument11.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument13.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument14.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement03.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFormElement02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement03.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement04.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement05.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement06.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement07.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement08.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement03.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement04.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement03.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement04.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement05.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement06.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHtmlElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement04.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement05.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement06.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement08.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement03.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement04.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement08.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement10.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement14.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement06.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement17.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement03.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLIElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement03.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement04.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement07.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement09.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMapElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMenuElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOListElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement03.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement04.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement05.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement06.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement07.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement09.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement12.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement04.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement05.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement09.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParagraphElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement03.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement04.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLPreElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCaptionElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement03.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement04.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement05.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement06.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement07.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement08.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement09.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement10.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement11.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement12.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement13.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement14.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement17.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement18.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement19.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement20.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement21.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement22.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement26.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement27.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement28.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement29.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement30.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement03.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement04.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement05.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement06.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement09.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement10.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement11.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement12.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement03.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement05.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement10.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement11.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement13.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement14.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement15.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement16.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement17.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement18.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement03.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement04.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement06.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement07.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement08.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement09.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement10.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement11.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement12.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement13.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement14.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement03.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement04.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement05.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement06.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement07.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement08.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement09.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement10.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement11.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement12.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement16.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement17.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement18.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement19.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement20.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement21.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement22.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement23.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement24.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement11.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement12.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/anchor02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/anchor03.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/anchor06.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/basefont01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/body01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/dlist01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object03.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object04.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object05.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object09.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object15.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table02.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table03.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table04.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table06.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table07.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table08.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table09.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table10.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table12.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table15.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table17.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table18.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table19.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table20.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table21.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table22.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table23.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table24.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table26.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table27.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table29.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table30.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table31.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table32.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table33.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table35.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table36.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table37.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table38.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table39.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table40.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table41.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table42.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table43.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table44.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table45.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table46.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table47.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table48.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table49.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table50.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table52.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table53.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table01.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table25.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table28.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table34.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table51.js delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/package.json delete mode 100644 knockoff-node/node_modules/KOTASM/node_modules/tassembly/tassembly.js delete mode 100644 knockoff-node/node_modules/KOTASM/package.json delete mode 100644 knockoff-node/node_modules/KOTASM/testKnockoutCompiler.js diff --git a/knockoff-node/node_modules/KOTASM/.jshintrc b/knockoff-node/node_modules/KOTASM/.jshintrc deleted file mode 100644 index e1ed177..0000000 --- a/knockoff-node/node_modules/KOTASM/.jshintrc +++ /dev/null @@ -1,33 +0,0 @@ -{ - "predef": [ - "ve", - - "setImmediate", - - "QUnit" - ], - - "bitwise": true, - "laxbreak": true, - "curly": true, - "eqeqeq": true, - "immed": true, - "latedef": true, - "newcap": true, - "noarg": true, - "noempty": true, - "nonew": true, - "regexp": false, - "undef": true, - "strict": true, - "trailing": true, - - "smarttabs": true, - "multistr": true, - - "node": true, - - "nomen": false, - "loopfunc": true - //"onevar": true -} diff --git a/knockoff-node/node_modules/KOTASM/DOMCompiler.js b/knockoff-node/node_modules/KOTASM/DOMCompiler.js deleted file mode 100644 index 6b96d23..0000000 --- a/knockoff-node/node_modules/KOTASM/DOMCompiler.js +++ /dev/null @@ -1,192 +0,0 @@ -/** - * Stand-alone XMLSerializer for DOM3 documents - */ -"use strict"; - -var htmlns = 'http://www.w3.org/1999/xhtml', - // nodeType constants - ELEMENT_NODE = 1, - ATTRIBUTE_NODE = 2, - TEXT_NODE = 3, - CDATA_SECTION_NODE = 4, - ENTITY_REFERENCE_NODE = 5, - ENTITY_NODE = 6, - PROCESSING_INSTRUCTION_NODE = 7, - COMMENT_NODE = 8, - DOCUMENT_NODE = 9, - DOCUMENT_TYPE_NODE = 10, - DOCUMENT_FRAGMENT_NODE = 11, - NOTATION_NODE = 12; - -/** - * HTML5 void elements - */ -var emptyElements = { - area: true, - base: true, - basefont: true, - bgsound: true, - br: true, - col: true, - command: true, - embed: true, - frame: true, - hr: true, - img: true, - input: true, - keygen: true, - link: true, - meta: true, - param: true, - source: true, - track: true, - wbr: true -}; - -/** - * HTML5 elements with raw (unescaped) content - */ -var hasRawContent = { - style: true, - script: true, - xmp: true, - iframe: true, - noembed: true, - noframes: true, - plaintext: true, - noscript: true -}; - -/** - * Use only very few entities, encode everything else as numeric entity - */ -function _xmlEncoder(c){ - switch(c) { - case '<': return '<'; - case '>': return '>'; - case '&': return '&'; - case '"': return '"'; - default: return '&#' + c.charCodeAt() + ';'; - } -} - -function serializeToString(node, options, cb){ - var child, content; - switch(node.nodeType){ - case ELEMENT_NODE: - var handler = options.handlers.element, - attrs = node.attributes, - ret; - child = node.firstChild; - if (handler) { - // Call the handler for elements - ret = handler(node, cb, options); - } - var len = attrs.length; - var nodeName = node.tagName.toLowerCase(), - localName = node.localName; - cb('<' + localName); - for(var i=0;i - (attr.value.match(/'/g) || []).length) - { - // use single quotes - cb(' ' + attr.name + "='" - + attr.value.replace(/[<&']/g, _xmlEncoder) + "'"); - } else { - // use double quotes - cb(' ' + attr.name + '="' - + attr.value.replace(/[<&"]/g, _xmlEncoder) + '"'); - } - } - if (ret.attr) { - cb(ret.attr); - } - if(child || ret.content || !emptyElements[nodeName]) { - cb('>'); - if (ret.content) { - cb(ret.content); - } else if(hasRawContent[nodeName]) { - // if is cdata child node - // TODO: perform context-sensitive escaping? - // Currently this content is not normally part of our DOM, so - // no problem. If it was, we'd probably have to do some - // tag-specific escaping. Examples: - // * < to \u003c in tag, then the paused flag - // may have been set to tell us to stop tokenizing while - // the script is loading - if (paused > 0) { - return; - } - - - switch(typeof tokenizer.lookahead) { - case 'undefined': - codepoint = chars.charCodeAt(nextchar++); - if (scanner_skip_newline) { - scanner_skip_newline = false; - if (codepoint === 0x000A) { - nextchar++; - continue; - } - } - switch(codepoint) { - case 0x000D: - // CR always turns into LF, but if the next character - // is LF, then that second LF is skipped. - if (nextchar < numchars) { - if (chars.charCodeAt(nextchar) === 0x000A) - nextchar++; - } - else { - // We don't know the next char right now, so we - // can't check if it is a LF. So set a flag - scanner_skip_newline = true; - } - - // In either case, emit a LF - tokenizer(0x000A); - - break; - case 0xFFFF: - if (input_complete && nextchar === numchars) { - tokenizer(EOF); // codepoint will be 0xFFFF here - break; - } - /* falls through */ - default: - tokenizer(codepoint); - break; - } - break; - - case 'number': - codepoint = chars.charCodeAt(nextchar); - - // The only tokenizer states that require fixed lookahead - // only consume alphanum characters, so we don't have - // to worry about CR and LF in this case - - // tokenizer wants n chars of lookahead - var n = tokenizer.lookahead; - - if (n < numchars - nextchar) { - // If we can look ahead that far - s = chars.substring(nextchar, nextchar+n); - eof = false; - } - else { // if we don't have that many characters - if (input_complete) { // If no more are coming - // Just return what we have - s = chars.substring(nextchar, numchars); - eof = true; - if (codepoint === 0xFFFF && nextchar === numchars-1) - codepoint = EOF; - } - else { - // Return now and wait for more chars later - return; - } - } - tokenizer(codepoint, s, eof); - break; - case 'string': - codepoint = chars.charCodeAt(nextchar); - - // tokenizer wants characters up to a matching string - pattern = tokenizer.lookahead; - var pos = chars.indexOf(pattern, nextchar); - if (pos !== -1) { - s = chars.substring(nextchar, pos + pattern.length); - eof = false; - } - else { // No match - // If more characters coming, wait for them - if (!input_complete) return; - - // Otherwise, we've got to return what we've got - s = chars.substring(nextchar, numchars); - if (codepoint === 0xFFFF && nextchar === numchars-1) - codepoint = EOF; - eof = true; - } - - // The tokenizer states that require this kind of - // lookahead have to be careful to handle CR characters - // correctly - tokenizer(codepoint, s, eof); - break; - case 'object': - case 'function': - codepoint = chars.charCodeAt(nextchar); - - // tokenizer wants characters that match a regexp - // The only tokenizer states that use regexp lookahead - // are for character entities, and the patterns never - // match CR or LF, so we don't need to worry about that - // here. - - // XXX - // Ideally, I'd use the non-standard y modifier on - // these regexps and set pattern.lastIndex to nextchar. - // But v8 and Node don't support /y, so I have to do - // the substring below - pattern = tokenizer.lookahead; - matched = chars.substring(nextchar).match(pattern); - if (matched) { - // Found a match. - // lastIndex now points to the first char after it - s = matched[0]; - eof = false; - } - else { - // No match. If we're not at the end of input, then - // wait for more chars - if (!input_complete) return; - - // Otherwise, pass an empty string. This is - // different than the string-based lookahead - // above. Regexp-based lookahead is only used - // for character references, and a partial one - // will not parse. Also, a char ref - // terminated with EOF will parse in the if - // branch above, so here we're dealing with - // things that really aren't char refs - s = ""; - eof = true; - } - - tokenizer(codepoint, s, eof); - break; - } - } - } - - - /*** - * Tokenizer utility functions - */ - function addAttribute(namebuf,valuebuf) { - var name = buf2str(namebuf); - var value; - - // Make sure there isn't already an attribute with this name - // If there is, ignore this one. - for(var i = 0; i < attributes.length; i++) { - if (attributes[i][0] === name) return; - } - - if (valuebuf) { - attributes.push([name, buf2str(valuebuf)]); - } - else { - attributes.push([name]); - } - } - - // Shortcut for simple attributes - function handleSimpleAttribute() { - SIMPLEATTR.lastIndex = nextchar-1; - var matched = SIMPLEATTR.exec(chars); - if (!matched) return false; - var name = matched[1]; - var value = matched[2]; - var len = value.length; - switch(value[0]) { - case '"': - case "'": - value = value.substring(1, len-1); - nextchar += (matched[0].length-1); - tokenizer = after_attribute_value_quoted_state; - break; - default: - tokenizer = before_attribute_name_state; - nextchar += (matched[0].length-1); - value = value.substring(0, len-1); - break; - } - - // Make sure there isn't already an attribute with this name - // If there is, ignore this one. - for(var i = 0; i < attributes.length; i++) { - if (attributes[i][0] === name) return true; - } - - attributes.push([name, value]); - return true; - } - - - function pushState() { savedTokenizerStates.push(tokenizer); } - function popState() { tokenizer = savedTokenizerStates.pop(); } - function beginTagName() { - is_end_tag = false; - tagnamebuf.length = 0; - attributes.length = 0; - } - function beginEndTagName() { - is_end_tag = true; - tagnamebuf.length = 0; - attributes.length = 0; - } - - function beginTempBuf() { tempbuf.length = 0; } - function beginAttrName() { attrnamebuf.length = 0; } - function beginAttrValue() { attrvaluebuf.length = 0; } - function beginComment() { commentbuf.length = 0; } - function beginDoctype() { - doctypenamebuf.length = 0; - doctypepublicbuf = null; - doctypesystembuf = null; - } - function beginDoctypePublicId() { doctypepublicbuf = []; } - function beginDoctypeSystemId() { doctypesystembuf = []; } - function forcequirks() { force_quirks = true; } - function cdataAllowed() { - return stack.top && - stack.top.namespaceURI !== "http://www.w3.org/1999/xhtml"; - } - - // Return true if the codepoints in the specified buffer match the - // characters of lasttagname - function appropriateEndTag(buf) { - if (buf.length !== lasttagname.length) return false; - for(var i = 0, n = buf.length; i < n; i++) { - if (buf[i] !== lasttagname.charCodeAt(i)) return false; - } - return true; - } - - function flushText() { - if (textrun.length > 0) { - var s = buf2str(textrun); - textrun.length = 0; - - if (ignore_linefeed) { - ignore_linefeed = false; - if (s[0] === "\n") s = s.substring(1); - if (s.length === 0) return; - } - - insertToken(TEXT, s); - textIncludesNUL = false; - } - ignore_linefeed = false; - } - - // emit a string of chars that match a regexp - // Returns false if no chars matched. - function emitCharsWhile(pattern) { - pattern.lastIndex = nextchar-1; - var match = pattern.exec(chars)[0]; - if (!match) return false; - emitCharString(match); - nextchar += match.length - 1; - return true; - } - - // This is used by CDATA sections - function emitCharString(s) { - if (textrun.length > 0) flushText(); - - if (ignore_linefeed) { - ignore_linefeed = false; - if (s[0] === "\n") s = s.substring(1); - if (s.length === 0) return; - } - - insertToken(TEXT, s); - } - - function emitTag() { - if (is_end_tag) insertToken(ENDTAG, buf2str(tagnamebuf)); - else { - // Remember the last open tag we emitted - var tagname = buf2str(tagnamebuf); - tagnamebuf.length = 0; - lasttagname = tagname; - insertToken(TAG, tagname, attributes); - } - } - - - // A shortcut: look ahead and if this is a open or close tag - // in lowercase with no spaces and no attributes, just emit it now. - function emitSimpleTag() { - SIMPLETAG.lastIndex = nextchar; - var matched = SIMPLETAG.exec(chars); - if (!matched) return false; - var tagname = matched[2]; - var endtag = matched[1]; - if (endtag) { - nextchar += (tagname.length+2); - insertToken(ENDTAG, tagname); - } - else { - nextchar += (tagname.length+1); - lasttagname = tagname; - insertToken(TAG, tagname, NOATTRS); - } - return true; - } - - function emitSelfClosingTag() { - if (is_end_tag) insertToken(ENDTAG, buf2str(tagnamebuf), null, true); - else { - insertToken(TAG, buf2str(tagnamebuf), attributes, true); - } - } - - function emitDoctype() { - insertToken(DOCTYPE, - buf2str(doctypenamebuf), - doctypepublicbuf ? buf2str(doctypepublicbuf) : undefined, - doctypesystembuf ? buf2str(doctypesystembuf) : undefined); - } - - function emitEOF() { - flushText(); - parser(EOF); // EOF never goes to insertForeignContent() - doc.modclock = 1; // Start tracking modifications - } - - // Insert a token, either using the current parser insertio mode - // (for HTML stuff) or using the insertForeignToken() method. - function insertToken(t, value, arg3, arg4) { - flushText(); - var current = stack.top; - - if (!current || current.namespaceURI === NAMESPACE.HTML) { - // This is the common case - parser(t, value, arg3, arg4); - } - else { - // Otherwise we may need to insert this token as foreign content - if (t !== TAG && t !== TEXT) { - insertForeignToken(t, value, arg3, arg4); - } - else { - // But in some cases we treat it as regular content - if ((isMathmlTextIntegrationPoint(current) && - (t === TEXT || - (t === TAG && - value !== "mglyph" && value !== "malignmark"))) || - (t === TAG && - value === "svg" && - current.namespaceURI === NAMESPACE.MATHML && - current.localName === "annotation-xml") || - isHTMLIntegrationPoint(current)) { - - // XXX: the text_integration_mode stuff is an - // attempted bug workaround of mine - text_integration_mode = true; - parser(t, value, arg3, arg4); - text_integration_mode = false; - } - // Otherwise it is foreign content - else { - insertForeignToken(t, value, arg3, arg4); - } - } - } - } - - - /*** - * Tree building utility functions - */ - function insertComment(data) { - stack.top._appendChild(doc.createComment(data)); - } - - function insertText(s) { - if (foster_parent_mode && isA(stack.top, tablesectionrowSet)) { - fosterParent(doc.createTextNode(s)); - } - else { - var lastChild = stack.top.lastChild; - if (lastChild && lastChild.nodeType === Node.TEXT_NODE) { - lastChild.appendData(s); - } - else { - stack.top._appendChild(doc.createTextNode(s)); - } - } - } - - function createHTMLElt(name, attrs) { - // Create the element this way, rather than with - // doc.createElement because createElement() does error - // checking on the element name that we need to avoid here. - var elt = html.createElement(doc, name, null); - - if (attrs) { - for(var i = 0, n = attrs.length; i < n; i++) { - // Use the _ version to avoid testing the validity - // of the attribute name - elt._setAttribute(attrs[i][0], attrs[i][1]); - } - } - // XXX - // If the element is a resettable form element, - // run its reset algorithm now - return elt; - } - - // The in_table insertion mode turns on this flag, and that makes - // insertHTMLElement use the foster parenting algorithm for elements - // tags inside a table - var foster_parent_mode = false; - - function insertHTMLElement(name, attrs) { - var elt = createHTMLElt(name, attrs); - insertElement(elt); - - // XXX - // If this is a form element, set its form attribute property here - if (isA(elt, formassociatedSet)) { - elt._form = form_element_pointer; - } - - return elt; - } - - // Insert the element into the open element or foster parent it - function insertElement(elt) { - if (foster_parent_mode && isA(stack.top, tablesectionrowSet)) { - fosterParent(elt); - } - else { - stack.top._appendChild(elt); - } - - stack.push(elt); - } - - function insertForeignElement(name, attrs, ns) { - var elt = doc.createElementNS(ns, name); - if (attrs) { - for(var i = 0, n = attrs.length; i < n; i++) { - var attr = attrs[i]; - if (attr.length == 2) - elt._setAttribute(attr[0], attr[1]); - else { - elt._setAttributeNS(attr[2], attr[0], attr[1]); - } - } - } - - insertElement(elt); - } - - function fosterParent(elt) { - var parent, before; - - for(var i = stack.elements.length-1; i >= 0; i--) { - if (stack.elements[i] instanceof impl.HTMLTableElement) { - parent = stack.elements[i].parentElement; - if (parent) - before = stack.elements[i]; - else - parent = stack.elements[i-1]; - - break; - } - } - if (!parent) parent = stack.elements[0]; - - if (elt.nodeType === Node.TEXT_NODE) { - var prev; - if (before) prev = before.previousSibling; - else prev = parent.lastChild; - if (prev && prev.nodeType === Node.TEXT_NODE) { - prev.appendData(elt.data); - return; - } - } - if (before) - parent.insertBefore(elt, before); - else - parent._appendChild(elt); - } - - - function resetInsertionMode() { - var last = false; - for(var i = stack.elements.length-1; i >= 0; i--) { - var node = stack.elements[i]; - if (i === 0) { - last = true; - node = fragmentContext; - } - if (node.namespaceURI === NAMESPACE.HTML) { - var tag = node.localName; - switch(tag) { - case "select": - parser = in_select_mode; - return; - case "tr": - parser = in_row_mode; - return; - case "tbody": - case "tfoot": - case "thead": - parser = in_table_body_mode; - return; - case "caption": - parser = in_caption_mode; - return; - case "colgroup": - parser = in_column_group_mode; - return; - case "table": - parser = in_table_mode; - return; - case "head": // Not in_head_mode! - case "body": - parser = in_body_mode; - return; - case "frameset": - parser = in_frameset_mode; - return; - case "html": - parser = before_head_mode; - return; - default: - if (!last && (tag === "td" || tag === "th")) { - parser = in_cell_mode; - return; - } - } - } - if (last) { - parser = in_body_mode; - return; - } - } - } - - - function parseRawText(name, attrs) { - insertHTMLElement(name, attrs); - tokenizer = rawtext_state; - originalInsertionMode = parser; - parser = text_mode; - } - - function parseRCDATA(name, attrs) { - insertHTMLElement(name, attrs); - tokenizer = rcdata_state; - originalInsertionMode = parser; - parser = text_mode; - } - - // Make a copy of element i on the list of active formatting - // elements, using its original attributes, not current - // attributes (which may have been modified by a script) - function afeclone(i) { - return createHTMLElt(afe.list[i].localName, afe.attrs[i]); - } - - - function afereconstruct() { - if (afe.list.length === 0) return; - var entry = afe.list[afe.list.length-1]; - // If the last is a marker , do nothing - if (entry === afe.MARKER) return; - // Or if it is an open element, do nothing - if (stack.elements.lastIndexOf(entry) !== -1) return; - - // Loop backward through the list until we find a marker or an - // open element, and then move forward one from there. - for(var i = afe.list.length-2; i >= 0; i--) { - entry = afe.list[i]; - if (entry === afe.MARKER) break; - if (stack.elements.lastIndexOf(entry) !== -1) break; - } - - // Now loop forward, starting from the element after the current - // one, recreating formatting elements and pushing them back onto - // the list of open elements - for(i = i+1; i < afe.list.length; i++) { - var newelt = afeclone(i); - insertElement(newelt); - afe.list[i] = newelt; - } - } - - // Used by the adoptionAgency() function - var BOOKMARK = {localName:"BM"}; - - function adoptionAgency(tag) { - // Let outer loop counter be zero. - var outer = 0; - - // Outer loop: If outer loop counter is greater than or - // equal to eight, then abort these steps. - while(outer < 8) { - // Increment outer loop counter by one. - outer++; - - // Let the formatting element be the last element in the list - // of active formatting elements that: is between the end of - // the list and the last scope marker in the list, if any, or - // the start of the list otherwise, and has the same tag name - // as the token. - var fmtelt = afe.findElementByTag(tag); - - // If there is no such node, then abort these steps and instead - // act as described in the "any other end tag" entry below. - if (!fmtelt) { - return false; // false means handle by the default case - } - - // Otherwise, if there is such a node, but that node is not in - // the stack of open elements, then this is a parse error; - // remove the element from the list, and abort these steps. - var index = stack.elements.lastIndexOf(fmtelt); - if (index === -1) { - afe.remove(fmtelt); - return true; // true means no more handling required - } - - // Otherwise, if there is such a node, and that node is also in - // the stack of open elements, but the element is not in scope, - // then this is a parse error; ignore the token, and abort - // these steps. - if (!stack.elementInScope(fmtelt)) { - return true; - } - - // Let the furthest block be the topmost node in the stack of - // open elements that is lower in the stack than the formatting - // element, and is an element in the special category. There - // might not be one. - var furthestblock = null, furthestblockindex; - for(var i = index+1; i < stack.elements.length; i++) { - if (isA(stack.elements[i], specialSet)) { - furthestblock = stack.elements[i]; - furthestblockindex = i; - break; - } - } - - // If there is no furthest block, then the UA must skip the - // subsequent steps and instead just pop all the nodes from the - // bottom of the stack of open elements, from the current node - // up to and including the formatting element, and remove the - // formatting element from the list of active formatting - // elements. - if (!furthestblock) { - stack.popElement(fmtelt); - afe.remove(fmtelt); - return true; - } - else { - // Let the common ancestor be the element immediately above - // the formatting element in the stack of open elements. - var ancestor = stack.elements[index-1]; - - // Let a bookmark note the position of the formatting - // element in the list of active formatting elements - // relative to the elements on either side of it in the - // list. - afe.insertAfter(fmtelt, BOOKMARK); - - // Let node and last node be the furthest block. - var node = furthestblock; - var lastnode = furthestblock; - var nodeindex = furthestblockindex; - var nodeafeindex; - - // Let inner loop counter be zero. - var inner = 0; - - // Inner loop: If inner loop counter is greater than - // or equal to three, then abort these steps. - while(inner < 3) { - - // Increment inner loop counter by one. - inner++; - - // Let node be the element immediately above node in - // the stack of open elements, or if node is no longer - // in the stack of open elements (e.g. because it got - // removed by the next step), the element that was - // immediately above node in the stack of open elements - // before node was removed. - node = stack.elements[--nodeindex]; - - // If node is not in the list of active formatting - // elements, then remove node from the stack of open - // elements and then go back to the step labeled inner - // loop. - nodeafeindex = afe.indexOf(node); - if (nodeafeindex === -1) { - stack.removeElement(node); - continue; - } - - // Otherwise, if node is the formatting element, then go - // to the next step in the overall algorithm. - if (node === fmtelt) break; - - // Create an element for the token for which the - // element node was created, replace the entry for node - // in the list of active formatting elements with an - // entry for the new element, replace the entry for - // node in the stack of open elements with an entry for - // the new element, and let node be the new element. - var newelt = afeclone(nodeafeindex); - afe.replace(node, newelt); - stack.elements[nodeindex] = newelt; - node = newelt; - - // If last node is the furthest block, then move the - // aforementioned bookmark to be immediately after the - // new node in the list of active formatting elements. - if (lastnode === furthestblock) { - afe.remove(BOOKMARK); - afe.insertAfter(newelt, BOOKMARK); - } - - // Insert last node into node, first removing it from - // its previous parent node if any. - node._appendChild(lastnode); - - // Let last node be node. - lastnode = node; - } - - // If the common ancestor node is a table, tbody, tfoot, - // thead, or tr element, then, foster parent whatever last - // node ended up being in the previous step, first removing - // it from its previous parent node if any. - if (isA(ancestor, tablesectionrowSet)) { - fosterParent(lastnode); - } - // Otherwise, append whatever last node ended up being in - // the previous step to the common ancestor node, first - // removing it from its previous parent node if any. - else { - ancestor._appendChild(lastnode); - } - - // Create an element for the token for which the - // formatting element was created. - var newelt2 = afeclone(afe.indexOf(fmtelt)); - - // Take all of the child nodes of the furthest block and - // append them to the element created in the last step. - while(furthestblock.hasChildNodes()) { - newelt2._appendChild(furthestblock.firstChild); - } - - // Append that new element to the furthest block. - furthestblock._appendChild(newelt2); - - // Remove the formatting element from the list of active - // formatting elements, and insert the new element into the - // list of active formatting elements at the position of - // the aforementioned bookmark. - afe.remove(fmtelt); - afe.replace(BOOKMARK, newelt2); - - // Remove the formatting element from the stack of open - // elements, and insert the new element into the stack of - // open elements immediately below the position of the - // furthest block in that stack. - stack.removeElement(fmtelt); - var pos = stack.elements.lastIndexOf(furthestblock); - stack.elements.splice(pos+1, 0, newelt2); - } - } - - return true; - } - - // We do this when we get /script in in_text_mode - function handleScriptEnd() { - // XXX: - // This is just a stub implementation right now and doesn't run scripts. - // Getting this method right involves the event loop, URL resolution - // script fetching etc. For now I just want to be able to parse - // documents and test the parser. - - var script = stack.top; - stack.pop(); - parser = originalInsertionMode; - //script._prepare(); - return; - - // XXX: here is what this method is supposed to do - - // Provide a stable state. - - // Let script be the current node (which will be a script - // element). - - // Pop the current node off the stack of open elements. - - // Switch the insertion mode to the original insertion mode. - - // Let the old insertion point have the same value as the current - // insertion point. Let the insertion point be just before the - // next input character. - - // Increment the parser's script nesting level by one. - - // Prepare the script. This might cause some script to execute, - // which might cause new characters to be inserted into the - // tokenizer, and might cause the tokenizer to output more tokens, - // resulting in a reentrant invocation of the parser. - - // Decrement the parser's script nesting level by one. If the - // parser's script nesting level is zero, then set the parser - // pause flag to false. - - // Let the insertion point have the value of the old insertion - // point. (In other words, restore the insertion point to its - // previous value. This value might be the "undefined" value.) - - // At this stage, if there is a pending parsing-blocking script, - // then: - - // If the script nesting level is not zero: - - // Set the parser pause flag to true, and abort the processing - // of any nested invocations of the tokenizer, yielding - // control back to the caller. (Tokenization will resume when - // the caller returns to the "outer" tree construction stage.) - - // The tree construction stage of this particular parser is - // being called reentrantly, say from a call to - // document.write(). - - // Otherwise: - - // Run these steps: - - // Let the script be the pending parsing-blocking - // script. There is no longer a pending - // parsing-blocking script. - - // Block the tokenizer for this instance of the HTML - // parser, such that the event loop will not run tasks - // that invoke the tokenizer. - - // If the parser's Document has a style sheet that is - // blocking scripts or the script's "ready to be - // parser-executed" flag is not set: spin the event - // loop until the parser's Document has no style sheet - // that is blocking scripts and the script's "ready to - // be parser-executed" flag is set. - - // Unblock the tokenizer for this instance of the HTML - // parser, such that tasks that invoke the tokenizer - // can again be run. - - // Let the insertion point be just before the next - // input character. - - // Increment the parser's script nesting level by one - // (it should be zero before this step, so this sets - // it to one). - - // Execute the script. - - // Decrement the parser's script nesting level by - // one. If the parser's script nesting level is zero - // (which it always should be at this point), then set - // the parser pause flag to false. - - // Let the insertion point be undefined again. - - // If there is once again a pending parsing-blocking - // script, then repeat these steps from step 1. - - - } - - function stopParsing() { - // XXX This is just a temporary implementation to get the parser working. - // A full implementation involves scripts and events and the event loop. - - // Remove the link from document to parser. - // This is instead of "set the insertion point to undefined". - // It means that document.write() can't write into the doc anymore. - delete doc._parser; - - stack.elements.length = 0; // pop everything off - - // If there is a window object associated with the document - // then trigger an load event on it - if (doc.defaultView) { - doc.defaultView.dispatchEvent(new impl.Event("load",{})); - } - - } - - /**** - * Tokenizer states - */ - - /** - * This file was partially mechanically generated from - * http://www.whatwg.org/specs/web-apps/current-work/multipage/tokenization.html - * - * After mechanical conversion, it was further converted from - * prose to JS by hand, but the intent is that it is a very - * faithful rendering of the HTML tokenization spec in - * JavaScript. - * - * It is not a goal of this tokenizer to detect or report - * parse errors. - * - * XXX The tokenizer is supposed to work with straight UTF32 - * codepoints. But I don't think it has any dependencies on - * any character outside of the BMP so I think it is safe to - * pass it UTF16 characters. I don't think it will ever change - * state in the middle of a surrogate pair. - */ - - /* - * Each state is represented by a function. For most states, the - * scanner simply passes the next character (as an integer - * codepoint) to the current state function and automatically - * consumes the character. If the state function can't process - * the character it can call pushback() to push it back to the - * scanner. - * - * Some states require lookahead, though. If a state function has - * a lookahead property, then it is invoked differently. In this - * case, the scanner invokes the function with 3 arguments: 1) the - * next codepoint 2) a string of lookahead text 3) a boolean that - * is true if the lookahead goes all the way to the EOF. (XXX - * actually maybe this third is not necessary... the lookahead - * could just include \uFFFF?) - * - * If the lookahead property of a state function is an integer, it - * specifies the number of characters required. If it is a string, - * then the scanner will scan for that string and return all - * characters up to and including that sequence, or up to EOF. If - * the lookahead property is a regexp, then the scanner will match - * the regexp at the current point and return the matching string. - * - * States that require lookahead are responsible for explicitly - * consuming the characters they process. They do this by - * incrementing nextchar by the number of processed characters. - */ - - function data_state(c) { - switch(c) { - case 0x0026: // AMPERSAND - tokenizer = character_reference_in_data_state; - break; - case 0x003C: // LESS-THAN SIGN - if (emitSimpleTag()) // Shortcut for

    ,

    , etc. - break; - tokenizer = tag_open_state; - break; - case 0x0000: // NULL - // Usually null characters emitted by the tokenizer will be - // ignored by the tree builder, but sometimes they'll be - // converted to \uFFFD. I don't want to have the search every - // string emitted to replace NULs, so I'll set a flag - // if I've emitted a NUL. - textrun.push(c); - textIncludesNUL = true; - break; - case -1: // EOF - emitEOF(); - break; - default: - // Instead of just pushing a single character and then - // coming back to the very same place, lookahead and - // emit everything we can at once. - emitCharsWhile(DATATEXT) || textrun.push(c); - break; - } - } - - function character_reference_in_data_state(c, lookahead, eof) { - var char = parseCharRef(lookahead, false); - if (char !== null) { - if (typeof char === "number") textrun.push(char); - else pushAll(textrun, char); // An array of characters - } - else - textrun.push(0x0026); // AMPERSAND; - - tokenizer = data_state; - } - character_reference_in_data_state.lookahead = CHARREF; - - function rcdata_state(c) { - // Save the open tag so we can find a matching close tag - switch(c) { - case 0x0026: // AMPERSAND - tokenizer = character_reference_in_rcdata_state; - break; - case 0x003C: // LESS-THAN SIGN - tokenizer = rcdata_less_than_sign_state; - break; - case 0x0000: // NULL - textrun.push(0xFFFD); // REPLACEMENT CHARACTER - textIncludesNUL = true; - break; - case -1: // EOF - emitEOF(); - break; - default: - textrun.push(c); - break; - } - } - - function character_reference_in_rcdata_state(c, lookahead, eof) { - var char = parseCharRef(lookahead, false); - if (char !== null) { - if (typeof char === "number") textrun.push(char); - else pushAll(textrun, char); // An array of characters - } - else - textrun.push(0x0026); // AMPERSAND; - - tokenizer = rcdata_state; - } - character_reference_in_rcdata_state.lookahead = CHARREF; - - function rawtext_state(c) { - switch(c) { - case 0x003C: // LESS-THAN SIGN - tokenizer = rawtext_less_than_sign_state; - break; - case 0x0000: // NULL - textrun.push(0xFFFD); // REPLACEMENT CHARACTER - break; - case -1: // EOF - emitEOF(); - break; - default: - emitCharsWhile(RAWTEXT) || textrun.push(c); - break; - } - } - - function script_data_state(c) { - switch(c) { - case 0x003C: // LESS-THAN SIGN - tokenizer = script_data_less_than_sign_state; - break; - case 0x0000: // NULL - textrun.push(0xFFFD); // REPLACEMENT CHARACTER - break; - case -1: // EOF - emitEOF(); - break; - default: - emitCharsWhile(RAWTEXT) || textrun.push(c); - break; - } - } - - function plaintext_state(c) { - switch(c) { - case 0x0000: // NULL - textrun.push(0xFFFD); // REPLACEMENT CHARACTER - break; - case -1: // EOF - emitEOF(); - break; - default: - emitCharsWhile(PLAINTEXT) || textrun.push(c); - break; - } - } - - function tag_open_state(c) { - switch(c) { - case 0x0021: // EXCLAMATION MARK - tokenizer = markup_declaration_open_state; - break; - case 0x002F: // SOLIDUS - tokenizer = end_tag_open_state; - break; - case 0x0041: // [A-Z] - case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: - case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: - case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: - case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: - case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: - c += 0x20; // to lowercase - /* falls through */ - - case 0x0061: // [a-z] - case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: - case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: - case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: - case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: - case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: - beginTagName(); - tagnamebuf.push(c); - tokenizer = tag_name_state; - break; - case 0x003F: // QUESTION MARK - nextchar--; // pushback - tokenizer = bogus_comment_state; - break; - default: - textrun.push(0x003C); // LESS-THAN SIGN - nextchar--; // pushback - tokenizer = data_state; - break; - } - } - - function end_tag_open_state(c) { - switch(c) { - case 0x0041: // [A-Z] - case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: - case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: - case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: - case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: - case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: - c += 0x20; // to lowercase - /* falls through */ - - case 0x0061: // [a-z] - case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: - case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: - case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: - case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: - case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: - beginEndTagName(); - tagnamebuf.push(c); - tokenizer = tag_name_state; - break; - case 0x003E: // GREATER-THAN SIGN - tokenizer = data_state; - break; - case -1: // EOF - textrun.push(0x003C); // LESS-THAN SIGN - textrun.push(0x002F); // SOLIDUS - nextchar--; // pushback - tokenizer = data_state; - break; - default: - nextchar--; // pushback - tokenizer = bogus_comment_state; - break; - } - } - - function tag_name_state(c) { - switch(c) { - case 0x0009: // CHARACTER TABULATION (tab) - case 0x000A: // LINE FEED (LF) - case 0x000C: // FORM FEED (FF) - case 0x0020: // SPACE - tokenizer = before_attribute_name_state; - break; - case 0x002F: // SOLIDUS - tokenizer = self_closing_start_tag_state; - break; - case 0x003E: // GREATER-THAN SIGN - tokenizer = data_state; - emitTag(); - break; - case 0x0041: // [A-Z] - case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: - case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: - case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: - case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: - case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: - tagnamebuf.push(c + 0x0020); - break; - case 0x0000: // NULL - tagnamebuf.push(0xFFFD /* REPLACEMENT CHARACTER */); - break; - case -1: // EOF - nextchar--; // pushback - tokenizer = data_state; - break; - default: - tagnamebuf.push(c); - // appendCharsWhile(tagnamebuf, TAGNAMECHARS) || tagnamebuf.push(c); - break; - } - } - - function rcdata_less_than_sign_state(c) { - /* identical to the RAWTEXT less-than sign state, except s/RAWTEXT/RCDATA/g */ - if (c === 0x002F) { // SOLIDUS - beginTempBuf(); - tokenizer = rcdata_end_tag_open_state; - } - else { - textrun.push(0x003C); // LESS-THAN SIGN - nextchar--; // pushback - tokenizer = rcdata_state; - } - } - - function rcdata_end_tag_open_state(c) { - /* identical to the RAWTEXT (and Script data) end tag open state, except s/RAWTEXT/RCDATA/g */ - switch(c) { - case 0x0041: // [A-Z] - case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: - case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: - case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: - case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: - case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: - beginEndTagName(); - tagnamebuf.push(c + 0x0020); - tempbuf.push(c); - tokenizer = rcdata_end_tag_name_state; - break; - case 0x0061: // [a-z] - case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: - case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: - case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: - case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: - case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: - beginEndTagName(); - tagnamebuf.push(c); - tempbuf.push(c); - tokenizer = rcdata_end_tag_name_state; - break; - default: - textrun.push(0x003C); // LESS-THAN SIGN - textrun.push(0x002F); // SOLIDUS - nextchar--; // pushback - tokenizer = rcdata_state; - break; - } - } - - function rcdata_end_tag_name_state(c) { - /* identical to the RAWTEXT (and Script data) end tag name state, except s/RAWTEXT/RCDATA/g */ - switch(c) { - case 0x0009: // CHARACTER TABULATION (tab) - case 0x000A: // LINE FEED (LF) - case 0x000C: // FORM FEED (FF) - case 0x0020: // SPACE - if (appropriateEndTag(tagnamebuf)) { - tokenizer = before_attribute_name_state; - return; - } - break; - case 0x002F: // SOLIDUS - if (appropriateEndTag(tagnamebuf)) { - tokenizer = self_closing_start_tag_state; - return; - } - break; - case 0x003E: // GREATER-THAN SIGN - if (appropriateEndTag(tagnamebuf)) { - tokenizer = data_state; - emitTag(); - return; - } - break; - case 0x0041: // [A-Z] - case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: - case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: - case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: - case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: - case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: - - tagnamebuf.push(c + 0x0020); - tempbuf.push(c); - return; - case 0x0061: // [a-z] - case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: - case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: - case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: - case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: - case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: - - tagnamebuf.push(c); - tempbuf.push(c); - return; - default: - break; - } - - // If we don't return in one of the cases above, then this was not - // an appropriately matching close tag, so back out by emitting all - // the characters as text - textrun.push(0x003C); // LESS-THAN SIGN - textrun.push(0x002F); // SOLIDUS - pushAll(textrun, tempbuf); - nextchar--; // pushback - tokenizer = rcdata_state; - } - - function rawtext_less_than_sign_state(c) { - /* identical to the RCDATA less-than sign state, except s/RCDATA/RAWTEXT/g - */ - if (c === 0x002F) { // SOLIDUS - beginTempBuf(); - tokenizer = rawtext_end_tag_open_state; - } - else { - textrun.push(0x003C); // LESS-THAN SIGN - nextchar--; // pushback - tokenizer = rawtext_state; - } - } - - function rawtext_end_tag_open_state(c) { - /* identical to the RCDATA (and Script data) end tag open state, except s/RCDATA/RAWTEXT/g */ - switch(c) { - case 0x0041: // [A-Z] - case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: - case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: - case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: - case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: - case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: - beginEndTagName(); - tagnamebuf.push(c + 0x0020); - tempbuf.push(c); - tokenizer = rawtext_end_tag_name_state; - break; - case 0x0061: // [a-z] - case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: - case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: - case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: - case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: - case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: - beginEndTagName(); - tagnamebuf.push(c); - tempbuf.push(c); - tokenizer = rawtext_end_tag_name_state; - break; - default: - textrun.push(0x003C); // LESS-THAN SIGN - textrun.push(0x002F); // SOLIDUS - nextchar--; // pushback - tokenizer = rawtext_state; - break; - } - } - - function rawtext_end_tag_name_state(c) { - /* identical to the RCDATA (and Script data) end tag name state, except s/RCDATA/RAWTEXT/g */ - switch(c) { - case 0x0009: // CHARACTER TABULATION (tab) - case 0x000A: // LINE FEED (LF) - case 0x000C: // FORM FEED (FF) - case 0x0020: // SPACE - if (appropriateEndTag(tagnamebuf)) { - tokenizer = before_attribute_name_state; - return; - } - break; - case 0x002F: // SOLIDUS - if (appropriateEndTag(tagnamebuf)) { - tokenizer = self_closing_start_tag_state; - return; - } - break; - case 0x003E: // GREATER-THAN SIGN - if (appropriateEndTag(tagnamebuf)) { - tokenizer = data_state; - emitTag(); - return; - } - break; - case 0x0041: // [A-Z] - case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: - case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: - case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: - case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: - case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: - tagnamebuf.push(c + 0x0020); - tempbuf.push(c); - return; - case 0x0061: // [a-z] - case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: - case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: - case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: - case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: - case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: - tagnamebuf.push(c); - tempbuf.push(c); - return; - default: - break; - } - - // If we don't return in one of the cases above, then this was not - // an appropriately matching close tag, so back out by emitting all - // the characters as text - textrun.push(0x003C); // LESS-THAN SIGN - textrun.push(0x002F); // SOLIDUS - pushAll(textrun,tempbuf); - nextchar--; // pushback - tokenizer = rawtext_state; - } - - function script_data_less_than_sign_state(c) { - switch(c) { - case 0x002F: // SOLIDUS - beginTempBuf(); - tokenizer = script_data_end_tag_open_state; - break; - case 0x0021: // EXCLAMATION MARK - tokenizer = script_data_escape_start_state; - textrun.push(0x003C); // LESS-THAN SIGN - textrun.push(0x0021); // EXCLAMATION MARK - break; - default: - textrun.push(0x003C); // LESS-THAN SIGN - nextchar--; // pushback - tokenizer = script_data_state; - break; - } - } - - function script_data_end_tag_open_state(c) { - /* identical to the RCDATA (and RAWTEXT) end tag open state, except s/RCDATA/Script data/g */ - switch(c) { - case 0x0041: // [A-Z] - case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: - case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: - case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: - case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: - case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: - beginEndTagName(); - tagnamebuf.push(c + 0x0020); - tempbuf.push(c); - tokenizer = script_data_end_tag_name_state; - break; - case 0x0061: // [a-z] - case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: - case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: - case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: - case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: - case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: - beginEndTagName(); - tagnamebuf.push(c); - tempbuf.push(c); - tokenizer = script_data_end_tag_name_state; - break; - default: - textrun.push(0x003C); // LESS-THAN SIGN - textrun.push(0x002F); // SOLIDUS - nextchar--; // pushback - tokenizer = script_data_state; - break; - } - } - - function script_data_end_tag_name_state(c) { - /* identical to the RCDATA (and RAWTEXT) end tag name state, except s/RCDATA/Script data/g */ - switch(c) { - case 0x0009: // CHARACTER TABULATION (tab) - case 0x000A: // LINE FEED (LF) - case 0x000C: // FORM FEED (FF) - case 0x0020: // SPACE - if (appropriateEndTag(tagnamebuf)) { - tokenizer = before_attribute_name_state; - return; - } - break; - case 0x002F: // SOLIDUS - if (appropriateEndTag(tagnamebuf)) { - tokenizer = self_closing_start_tag_state; - return; - } - break; - case 0x003E: // GREATER-THAN SIGN - if (appropriateEndTag(tagnamebuf)) { - tokenizer = data_state; - emitTag(); - return; - } - break; - case 0x0041: // [A-Z] - case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: - case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: - case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: - case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: - case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: - - tagnamebuf.push(c + 0x0020); - tempbuf.push(c); - return; - case 0x0061: // [a-z] - case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: - case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: - case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: - case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: - case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: - - tagnamebuf.push(c); - tempbuf.push(c); - return; - default: - break; - } - - // If we don't return in one of the cases above, then this was not - // an appropriately matching close tag, so back out by emitting all - // the characters as text - textrun.push(0x003C); // LESS-THAN SIGN - textrun.push(0x002F); // SOLIDUS - pushAll(textrun,tempbuf); - nextchar--; // pushback - tokenizer = script_data_state; - } - - function script_data_escape_start_state(c) { - if (c === 0x002D) { // HYPHEN-MINUS - tokenizer = script_data_escape_start_dash_state; - textrun.push(0x002D); // HYPHEN-MINUS - } - else { - nextchar--; // pushback - tokenizer = script_data_state; - } - } - - function script_data_escape_start_dash_state(c) { - if (c === 0x002D) { // HYPHEN-MINUS - tokenizer = script_data_escaped_dash_dash_state; - textrun.push(0x002D); // HYPHEN-MINUS - } - else { - nextchar--; // pushback - tokenizer = script_data_state; - } - } - - function script_data_escaped_state(c) { - switch(c) { - case 0x002D: // HYPHEN-MINUS - tokenizer = script_data_escaped_dash_state; - textrun.push(0x002D); // HYPHEN-MINUS - break; - case 0x003C: // LESS-THAN SIGN - tokenizer = script_data_escaped_less_than_sign_state; - break; - case 0x0000: // NULL - textrun.push(0xFFFD); // REPLACEMENT CHARACTER - break; - case -1: // EOF - nextchar--; // pushback - tokenizer = data_state; - break; - default: - textrun.push(c); - break; - } - } - - function script_data_escaped_dash_state(c) { - switch(c) { - case 0x002D: // HYPHEN-MINUS - tokenizer = script_data_escaped_dash_dash_state; - textrun.push(0x002D); // HYPHEN-MINUS - break; - case 0x003C: // LESS-THAN SIGN - tokenizer = script_data_escaped_less_than_sign_state; - break; - case 0x0000: // NULL - tokenizer = script_data_escaped_state; - textrun.push(0xFFFD); // REPLACEMENT CHARACTER - break; - case -1: // EOF - nextchar--; // pushback - tokenizer = data_state; - break; - default: - tokenizer = script_data_escaped_state; - textrun.push(c); - break; - } - } - - function script_data_escaped_dash_dash_state(c) { - switch(c) { - case 0x002D: // HYPHEN-MINUS - textrun.push(0x002D); // HYPHEN-MINUS - break; - case 0x003C: // LESS-THAN SIGN - tokenizer = script_data_escaped_less_than_sign_state; - break; - case 0x003E: // GREATER-THAN SIGN - tokenizer = script_data_state; - textrun.push(0x003E); // GREATER-THAN SIGN - break; - case 0x0000: // NULL - tokenizer = script_data_escaped_state; - textrun.push(0xFFFD); // REPLACEMENT CHARACTER - break; - case -1: // EOF - nextchar--; // pushback - tokenizer = data_state; - break; - default: - tokenizer = script_data_escaped_state; - textrun.push(c); - break; - } - } - - function script_data_escaped_less_than_sign_state(c) { - switch(c) { - case 0x002F: // SOLIDUS - beginTempBuf(); - tokenizer = script_data_escaped_end_tag_open_state; - break; - case 0x0041: // [A-Z] - case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: - case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: - case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: - case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: - case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: - beginTempBuf(); - tempbuf.push(c + 0x0020); - tokenizer = script_data_double_escape_start_state; - textrun.push(0x003C); // LESS-THAN SIGN - textrun.push(c); - break; - case 0x0061: // [a-z] - case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: - case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: - case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: - case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: - case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: - beginTempBuf(); - tempbuf.push(c); - tokenizer = script_data_double_escape_start_state; - textrun.push(0x003C); // LESS-THAN SIGN - textrun.push(c); - break; - default: - textrun.push(0x003C); // LESS-THAN SIGN - nextchar--; // pushback - tokenizer = script_data_escaped_state; - break; - } - } - - function script_data_escaped_end_tag_open_state(c) { - switch(c) { - case 0x0041: // [A-Z] - case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: - case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: - case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: - case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: - case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: - beginEndTagName(); - tagnamebuf.push(c + 0x0020); - tempbuf.push(c); - tokenizer = script_data_escaped_end_tag_name_state; - break; - case 0x0061: // [a-z] - case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: - case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: - case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: - case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: - case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: - beginEndTagName(); - tagnamebuf.push(c); - tempbuf.push(c); - tokenizer = script_data_escaped_end_tag_name_state; - break; - default: - textrun.push(0x003C); // LESS-THAN SIGN - textrun.push(0x002F); // SOLIDUS - nextchar--; // pushback - tokenizer = script_data_escaped_state; - break; - } - } - - function script_data_escaped_end_tag_name_state(c) { - switch(c) { - case 0x0009: // CHARACTER TABULATION (tab) - case 0x000A: // LINE FEED (LF) - case 0x000C: // FORM FEED (FF) - case 0x0020: // SPACE - if (appropriateEndTag(tagnamebuf)) { - tokenizer = before_attribute_name_state; - return; - } - break; - case 0x002F: // SOLIDUS - if (appropriateEndTag(tagnamebuf)) { - tokenizer = self_closing_start_tag_state; - return; - } - break; - case 0x003E: // GREATER-THAN SIGN - if (appropriateEndTag(tagnamebuf)) { - tokenizer = data_state; - emitTag(); - return; - } - break; - case 0x0041: // [A-Z] - case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: - case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: - case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: - case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: - case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: - tagnamebuf.push(c + 0x0020); - tempbuf.push(c); - return; - case 0x0061: // [a-z] - case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: - case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: - case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: - case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: - case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: - tagnamebuf.push(c); - tempbuf.push(c); - return; - default: - break; - } - - // We get here in the default case, and if the closing tagname - // is not an appropriate tagname. - textrun.push(0x003C); // LESS-THAN SIGN - textrun.push(0x002F); // SOLIDUS - pushAll(textrun,tempbuf); - nextchar--; // pushback - tokenizer = script_data_escaped_state; - } - - function script_data_double_escape_start_state(c) { - switch(c) { - case 0x0009: // CHARACTER TABULATION (tab) - case 0x000A: // LINE FEED (LF) - case 0x000C: // FORM FEED (FF) - case 0x0020: // SPACE - case 0x002F: // SOLIDUS - case 0x003E: // GREATER-THAN SIGN - if (buf2str(tempbuf) === "script") { - tokenizer = script_data_double_escaped_state; - } - else { - tokenizer = script_data_escaped_state; - } - textrun.push(c); - break; - case 0x0041: // [A-Z] - case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: - case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: - case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: - case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: - case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: - tempbuf.push(c + 0x0020); - textrun.push(c); - break; - case 0x0061: // [a-z] - case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: - case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: - case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: - case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: - case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: - tempbuf.push(c); - textrun.push(c); - break; - default: - nextchar--; // pushback - tokenizer = script_data_escaped_state; - break; - } - } - - function script_data_double_escaped_state(c) { - switch(c) { - case 0x002D: // HYPHEN-MINUS - tokenizer = script_data_double_escaped_dash_state; - textrun.push(0x002D); // HYPHEN-MINUS - break; - case 0x003C: // LESS-THAN SIGN - tokenizer = script_data_double_escaped_less_than_sign_state; - textrun.push(0x003C); // LESS-THAN SIGN - break; - case 0x0000: // NULL - textrun.push(0xFFFD); // REPLACEMENT CHARACTER - break; - case -1: // EOF - nextchar--; // pushback - tokenizer = data_state; - break; - default: - textrun.push(c); - break; - } - } - - function script_data_double_escaped_dash_state(c) { - switch(c) { - case 0x002D: // HYPHEN-MINUS - tokenizer = script_data_double_escaped_dash_dash_state; - textrun.push(0x002D); // HYPHEN-MINUS - break; - case 0x003C: // LESS-THAN SIGN - tokenizer = script_data_double_escaped_less_than_sign_state; - textrun.push(0x003C); // LESS-THAN SIGN - break; - case 0x0000: // NULL - tokenizer = script_data_double_escaped_state; - textrun.push(0xFFFD); // REPLACEMENT CHARACTER - break; - case -1: // EOF - nextchar--; // pushback - tokenizer = data_state; - break; - default: - tokenizer = script_data_double_escaped_state; - textrun.push(c); - break; - } - } - - function script_data_double_escaped_dash_dash_state(c) { - switch(c) { - case 0x002D: // HYPHEN-MINUS - textrun.push(0x002D); // HYPHEN-MINUS - break; - case 0x003C: // LESS-THAN SIGN - tokenizer = script_data_double_escaped_less_than_sign_state; - textrun.push(0x003C); // LESS-THAN SIGN - break; - case 0x003E: // GREATER-THAN SIGN - tokenizer = script_data_state; - textrun.push(0x003E); // GREATER-THAN SIGN - break; - case 0x0000: // NULL - tokenizer = script_data_double_escaped_state; - textrun.push(0xFFFD); // REPLACEMENT CHARACTER - break; - case -1: // EOF - nextchar--; // pushback - tokenizer = data_state; - break; - default: - tokenizer = script_data_double_escaped_state; - textrun.push(c); - break; - } - } - - function script_data_double_escaped_less_than_sign_state(c) { - if (c === 0x002F) { // SOLIDUS - beginTempBuf(); - tokenizer = script_data_double_escape_end_state; - textrun.push(0x002F); // SOLIDUS - } - else { - nextchar--; // pushback - tokenizer = script_data_double_escaped_state; - } - } - - function script_data_double_escape_end_state(c) { - switch(c) { - case 0x0009: // CHARACTER TABULATION (tab) - case 0x000A: // LINE FEED (LF) - case 0x000C: // FORM FEED (FF) - case 0x0020: // SPACE - case 0x002F: // SOLIDUS - case 0x003E: // GREATER-THAN SIGN - if (buf2str(tempbuf) === "script") { - tokenizer = script_data_escaped_state; - } - else { - tokenizer = script_data_double_escaped_state; - } - textrun.push(c); - break; - case 0x0041: // [A-Z] - case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: - case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: - case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: - case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: - case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: - tempbuf.push(c + 0x0020); - textrun.push(c); - break; - case 0x0061: // [a-z] - case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: - case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: - case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: - case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: - case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: - tempbuf.push(c); - textrun.push(c); - break; - default: - nextchar--; // pushback - tokenizer = script_data_double_escaped_state; - break; - } - } - - function before_attribute_name_state(c) { - switch(c) { - case 0x0009: // CHARACTER TABULATION (tab) - case 0x000A: // LINE FEED (LF) - case 0x000C: // FORM FEED (FF) - case 0x0020: // SPACE - /* Ignore the character. */ - break; - case 0x002F: // SOLIDUS - tokenizer = self_closing_start_tag_state; - break; - case 0x003E: // GREATER-THAN SIGN - tokenizer = data_state; - emitTag(); - break; - case 0x0041: // [A-Z] - case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: - case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: - case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: - case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: - case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: - beginAttrName(); - attrnamebuf.push(c + 0x0020); - tokenizer = attribute_name_state; - break; - case 0x0000: // NULL - beginAttrName(); - attrnamebuf.push(0xFFFD); - tokenizer = attribute_name_state; - break; - case -1: // EOF - nextchar--; // pushback - tokenizer = data_state; - break; - case 0x0022: // QUOTATION MARK - case 0x0027: // APOSTROPHE - case 0x003C: // LESS-THAN SIGN - case 0x003D: // EQUALS SIGN - /* falls through */ - default: - if (handleSimpleAttribute()) break; - beginAttrName(); - attrnamebuf.push(c); - tokenizer = attribute_name_state; - break; - } - } - - function attribute_name_state(c) { - switch(c) { - case 0x0009: // CHARACTER TABULATION (tab) - case 0x000A: // LINE FEED (LF) - case 0x000C: // FORM FEED (FF) - case 0x0020: // SPACE - tokenizer = after_attribute_name_state; - break; - case 0x002F: // SOLIDUS - addAttribute(attrnamebuf); - tokenizer = self_closing_start_tag_state; - break; - case 0x003D: // EQUALS SIGN - beginAttrValue(); - tokenizer = before_attribute_value_state; - break; - case 0x003E: // GREATER-THAN SIGN - addAttribute(attrnamebuf); - tokenizer = data_state; - emitTag(); - break; - case 0x0041: // [A-Z] - case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: - case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: - case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: - case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: - case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: - attrnamebuf.push(c + 0x0020); - break; - case 0x0000: // NULL - attrnamebuf.push(0xFFFD /* REPLACEMENT CHARACTER */); - break; - case -1: // EOF - nextchar--; // pushback - tokenizer = data_state; - break; - case 0x0022: // QUOTATION MARK - case 0x0027: // APOSTROPHE - case 0x003C: // LESS-THAN SIGN - /* falls through */ - default: - attrnamebuf.push(c); - break; - } - } - - function after_attribute_name_state(c) { - switch(c) { - case 0x0009: // CHARACTER TABULATION (tab) - case 0x000A: // LINE FEED (LF) - case 0x000C: // FORM FEED (FF) - case 0x0020: // SPACE - /* Ignore the character. */ - break; - case 0x002F: // SOLIDUS - addAttribute(attrnamebuf); - tokenizer = self_closing_start_tag_state; - break; - case 0x003D: // EQUALS SIGN - beginAttrValue(); - tokenizer = before_attribute_value_state; - break; - case 0x003E: // GREATER-THAN SIGN - tokenizer = data_state; - addAttribute(attrnamebuf); - emitTag(); - break; - case 0x0041: // [A-Z] - case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: - case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: - case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: - case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: - case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: - addAttribute(attrnamebuf); - beginAttrName(); - attrnamebuf.push(c + 0x0020); - tokenizer = attribute_name_state; - break; - case 0x0000: // NULL - addAttribute(attrnamebuf); - beginAttrName(); - attrnamebuf.push(0xFFFD); - tokenizer = attribute_name_state; - break; - case -1: // EOF - nextchar--; // pushback - tokenizer = data_state; - break; - case 0x0022: // QUOTATION MARK - case 0x0027: // APOSTROPHE - case 0x003C: // LESS-THAN SIGN - /* falls through */ - default: - addAttribute(attrnamebuf); - beginAttrName(); - attrnamebuf.push(c); - tokenizer = attribute_name_state; - break; - } - } - - function before_attribute_value_state(c) { - switch(c) { - case 0x0009: // CHARACTER TABULATION (tab) - case 0x000A: // LINE FEED (LF) - case 0x000C: // FORM FEED (FF) - case 0x0020: // SPACE - /* Ignore the character. */ - break; - case 0x0022: // QUOTATION MARK - tokenizer = attribute_value_double_quoted_state; - break; - case 0x0026: // AMPERSAND - nextchar--; // pushback - tokenizer = attribute_value_unquoted_state; - break; - case 0x0027: // APOSTROPHE - tokenizer = attribute_value_single_quoted_state; - break; - case 0x0000: // NULL - attrvaluebuf.push(0xFFFD /* REPLACEMENT CHARACTER */); - tokenizer = attribute_value_unquoted_state; - break; - case 0x003E: // GREATER-THAN SIGN - addAttribute(attrnamebuf); - emitTag(); - tokenizer = data_state; - break; - case -1: // EOF - nextchar--; // pushback - tokenizer = data_state; - break; - case 0x003C: // LESS-THAN SIGN - case 0x003D: // EQUALS SIGN - case 0x0060: // GRAVE ACCENT - /* falls through */ - default: - attrvaluebuf.push(c); - tokenizer = attribute_value_unquoted_state; - break; - } - } - - function attribute_value_double_quoted_state(c) { - switch(c) { - case 0x0022: // QUOTATION MARK - addAttribute(attrnamebuf, attrvaluebuf); - tokenizer = after_attribute_value_quoted_state; - break; - case 0x0026: // AMPERSAND - pushState(); - tokenizer = character_reference_in_attribute_value_state; - break; - case 0x0000: // NULL - attrvaluebuf.push(0xFFFD /* REPLACEMENT CHARACTER */); - break; - case -1: // EOF - nextchar--; // pushback - tokenizer = data_state; - break; - default: - attrvaluebuf.push(c); - // appendCharsWhile(attrvaluebuf, DBLQUOTEATTRVAL); - break; - } - } - - function attribute_value_single_quoted_state(c) { - switch(c) { - case 0x0027: // APOSTROPHE - addAttribute(attrnamebuf, attrvaluebuf); - tokenizer = after_attribute_value_quoted_state; - break; - case 0x0026: // AMPERSAND - pushState(); - tokenizer = character_reference_in_attribute_value_state; - break; - case 0x0000: // NULL - attrvaluebuf.push(0xFFFD /* REPLACEMENT CHARACTER */); - break; - case -1: // EOF - nextchar--; // pushback - tokenizer = data_state; - break; - default: - attrvaluebuf.push(c); - // appendCharsWhile(attrvaluebuf, SINGLEQUOTEATTRVAL); - break; - } - } - - function attribute_value_unquoted_state(c) { - switch(c) { - case 0x0009: // CHARACTER TABULATION (tab) - case 0x000A: // LINE FEED (LF) - case 0x000C: // FORM FEED (FF) - case 0x0020: // SPACE - addAttribute(attrnamebuf, attrvaluebuf); - tokenizer = before_attribute_name_state; - break; - case 0x0026: // AMPERSAND - pushState(); - tokenizer = character_reference_in_attribute_value_state; - break; - case 0x003E: // GREATER-THAN SIGN - addAttribute(attrnamebuf, attrvaluebuf); - tokenizer = data_state; - emitTag(); - break; - case 0x0000: // NULL - attrvaluebuf.push(0xFFFD /* REPLACEMENT CHARACTER */); - break; - case -1: // EOF - nextchar--; // pushback - tokenizer = data_state; - break; - case 0x0022: // QUOTATION MARK - case 0x0027: // APOSTROPHE - case 0x003C: // LESS-THAN SIGN - case 0x003D: // EQUALS SIGN - case 0x0060: // GRAVE ACCENT - /* falls through */ - default: - attrvaluebuf.push(c); - // appendCharsWhile(attrvaluebuf, UNQUOTEDATTRVAL); - break; - } - } - - function character_reference_in_attribute_value_state(c, lookahead, eof) { - var char = parseCharRef(lookahead, true); - if (char !== null) { - if (typeof char === "number") - attrvaluebuf.push(char); - else { - // An array of numbers - for(var i = 0; i < char.length; i++) { - attrvaluebuf.push(char[i]); - } - } - } - else { - attrvaluebuf.push(0x0026); // AMPERSAND; - } - - popState(); - } - character_reference_in_attribute_value_state.lookahead = ATTRCHARREF; - - function after_attribute_value_quoted_state(c) { - switch(c) { - case 0x0009: // CHARACTER TABULATION (tab) - case 0x000A: // LINE FEED (LF) - case 0x000C: // FORM FEED (FF) - case 0x0020: // SPACE - tokenizer = before_attribute_name_state; - break; - case 0x002F: // SOLIDUS - tokenizer = self_closing_start_tag_state; - break; - case 0x003E: // GREATER-THAN SIGN - tokenizer = data_state; - emitTag(); - break; - case -1: // EOF - nextchar--; // pushback - tokenizer = data_state; - break; - default: - nextchar--; // pushback - tokenizer = before_attribute_name_state; - break; - } - } - - function self_closing_start_tag_state(c) { - switch(c) { - case 0x003E: // GREATER-THAN SIGN - // Set the self-closing flag of the current tag token. - tokenizer = data_state; - emitSelfClosingTag(true); - break; - case -1: // EOF - nextchar--; // pushback - tokenizer = data_state; - break; - default: - nextchar--; // pushback - tokenizer = before_attribute_name_state; - break; - } - } - - function bogus_comment_state(c, lookahead, eof) { - var len = lookahead.length; - - if (eof) { - nextchar += len-1; // don't consume the eof - } - else { - nextchar += len; - } - - var comment = lookahead.substring(0, len-1); - - comment = comment.replace(/\u0000/g,"\uFFFD"); - comment = comment.replace(/\u000D\u000A/g,"\u000A"); - comment = comment.replace(/\u000D/g,"\u000A"); - - insertToken(COMMENT, comment); - tokenizer = data_state; - } - bogus_comment_state.lookahead = ">"; - - function markup_declaration_open_state(c, lookahead, eof) { - if (lookahead[0] === "-" && lookahead[1] === "-") { - nextchar += 2; - beginComment(); - tokenizer = comment_start_state; - return; - } - - if (lookahead.toUpperCase() === "DOCTYPE") { - nextchar += 7; - tokenizer = doctype_state; - } - else if (lookahead === "[CDATA[" && cdataAllowed()) { - nextchar += 7; - tokenizer = cdata_section_state; - } - else { - tokenizer = bogus_comment_state; - } - } - markup_declaration_open_state.lookahead = 7; - - function comment_start_state(c) { - beginComment(); - switch(c) { - case 0x002D: // HYPHEN-MINUS - tokenizer = comment_start_dash_state; - break; - case 0x0000: // NULL - commentbuf.push(0xFFFD /* REPLACEMENT CHARACTER */); - tokenizer = comment_state; - break; - case 0x003E: // GREATER-THAN SIGN - tokenizer = data_state; - insertToken(COMMENT, buf2str(commentbuf)); - break; /* see comment in comment end state */ - case -1: // EOF - insertToken(COMMENT, buf2str(commentbuf)); - nextchar--; // pushback - tokenizer = data_state; - break; - default: - commentbuf.push(c); - tokenizer = comment_state; - break; - } - } - - function comment_start_dash_state(c) { - switch(c) { - case 0x002D: // HYPHEN-MINUS - tokenizer = comment_end_state; - break; - case 0x0000: // NULL - commentbuf.push(0x002D /* HYPHEN-MINUS */); - commentbuf.push(0xFFFD); - tokenizer = comment_state; - break; - case 0x003E: // GREATER-THAN SIGN - tokenizer = data_state; - insertToken(COMMENT, buf2str(commentbuf)); - break; - case -1: // EOF - insertToken(COMMENT, buf2str(commentbuf)); - nextchar--; // pushback - tokenizer = data_state; - break; /* see comment in comment end state */ - default: - commentbuf.push(0x002D /* HYPHEN-MINUS */); - commentbuf.push(c); - tokenizer = comment_state; - break; - } - } - - function comment_state(c) { - switch(c) { - case 0x002D: // HYPHEN-MINUS - tokenizer = comment_end_dash_state; - break; - case 0x0000: // NULL - commentbuf.push(0xFFFD /* REPLACEMENT CHARACTER */); - break; - case -1: // EOF - insertToken(COMMENT, buf2str(commentbuf)); - nextchar--; // pushback - tokenizer = data_state; - break; /* see comment in comment end state */ - default: - commentbuf.push(c); - break; - } - } - - function comment_end_dash_state(c) { - switch(c) { - case 0x002D: // HYPHEN-MINUS - tokenizer = comment_end_state; - break; - case 0x0000: // NULL - commentbuf.push(0x002D /* HYPHEN-MINUS */); - commentbuf.push(0xFFFD); - tokenizer = comment_state; - break; - case -1: // EOF - insertToken(COMMENT, buf2str(commentbuf)); - nextchar--; // pushback - tokenizer = data_state; - break; /* see comment in comment end state */ - default: - commentbuf.push(0x002D /* HYPHEN-MINUS */); - commentbuf.push(c); - tokenizer = comment_state; - break; - } - } - - function comment_end_state(c) { - switch(c) { - case 0x003E: // GREATER-THAN SIGN - tokenizer = data_state; - insertToken(COMMENT, buf2str(commentbuf)); - break; - case 0x0000: // NULL - commentbuf.push(0x002D); - commentbuf.push(0x002D); - commentbuf.push(0xFFFD); - tokenizer = comment_state; - break; - case 0x0021: // EXCLAMATION MARK - tokenizer = comment_end_bang_state; - break; - case 0x002D: // HYPHEN-MINUS - commentbuf.push(0x002D); - break; - case -1: // EOF - insertToken(COMMENT, buf2str(commentbuf)); - nextchar--; // pushback - tokenizer = data_state; - break; /* For security reasons: otherwise, hostile user could put a script in a comment e.g. in a blog comment and then DOS the server so that the end tag isn't read, and then the commented script tag would be treated as live code */ - default: - commentbuf.push(0x002D); - commentbuf.push(0x002D); - commentbuf.push(c); - tokenizer = comment_state; - break; - } - } - - function comment_end_bang_state(c) { - switch(c) { - case 0x002D: // HYPHEN-MINUS - commentbuf.push(0x002D); - commentbuf.push(0x002D); - commentbuf.push(0x0021); - tokenizer = comment_end_dash_state; - break; - case 0x003E: // GREATER-THAN SIGN - tokenizer = data_state; - insertToken(COMMENT, buf2str(commentbuf)); - break; - case 0x0000: // NULL - commentbuf.push(0x002D); - commentbuf.push(0x002D); - commentbuf.push(0x0021); - commentbuf.push(0xFFFD); - tokenizer = comment_state; - break; - case -1: // EOF - insertToken(COMMENT, buf2str(commentbuf)); - nextchar--; // pushback - tokenizer = data_state; - break; /* see comment in comment end state */ - default: - commentbuf.push(0x002D); - commentbuf.push(0x002D); - commentbuf.push(0x0021); - commentbuf.push(c); - tokenizer = comment_state; - break; - } - } - - function doctype_state(c) { - switch(c) { - case 0x0009: // CHARACTER TABULATION (tab) - case 0x000A: // LINE FEED (LF) - case 0x000C: // FORM FEED (FF) - case 0x0020: // SPACE - tokenizer = before_doctype_name_state; - break; - case -1: // EOF - beginDoctype(); - forcequirks(); - emitDoctype(); - nextchar--; // pushback - tokenizer = data_state; - break; - default: - nextchar--; // pushback - tokenizer = before_doctype_name_state; - break; - } - } - - function before_doctype_name_state(c) { - switch(c) { - case 0x0009: // CHARACTER TABULATION (tab) - case 0x000A: // LINE FEED (LF) - case 0x000C: // FORM FEED (FF) - case 0x0020: // SPACE - /* Ignore the character. */ - break; - case 0x0041: // [A-Z] - case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: - case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: - case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: - case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: - case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: - beginDoctype(); - doctypenamebuf.push(c + 0x0020); - tokenizer = doctype_name_state; - break; - case 0x0000: // NULL - beginDoctype(); - doctypenamebuf.push(0xFFFD); - tokenizer = doctype_name_state; - break; - case 0x003E: // GREATER-THAN SIGN - beginDoctype(); - tokenizer = data_state; - forcequirks(); - emitDoctype(); - break; - case -1: // EOF - beginDoctype(); - forcequirks(); - emitDoctype(); - nextchar--; // pushback - tokenizer = data_state; - break; - default: - beginDoctype(); - doctypenamebuf.push(c); - tokenizer = doctype_name_state; - break; - } - } - - function doctype_name_state(c) { - switch(c) { - case 0x0009: // CHARACTER TABULATION (tab) - case 0x000A: // LINE FEED (LF) - case 0x000C: // FORM FEED (FF) - case 0x0020: // SPACE - tokenizer = after_doctype_name_state; - break; - case 0x003E: // GREATER-THAN SIGN - tokenizer = data_state; - emitDoctype(); - break; - case 0x0041: // [A-Z] - case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: - case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: - case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: - case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: - case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: - doctypenamebuf.push(c + 0x0020); - break; - case 0x0000: // NULL - doctypenamebuf.push(0xFFFD /* REPLACEMENT CHARACTER */); - break; - case -1: // EOF - forcequirks(); - emitDoctype(); - nextchar--; // pushback - tokenizer = data_state; - break; - default: - doctypenamebuf.push(c); - break; - } - } - - function after_doctype_name_state(c, lookahead, eof) { - switch(c) { - case 0x0009: // CHARACTER TABULATION (tab) - case 0x000A: // LINE FEED (LF) - case 0x000C: // FORM FEED (FF) - case 0x0020: // SPACE - /* Ignore the character. */ - nextchar += 1; - break; - case 0x003E: // GREATER-THAN SIGN - tokenizer = data_state; - nextchar += 1; - emitDoctype(); - break; - case -1: // EOF - forcequirks(); - emitDoctype(); - tokenizer = data_state; - break; - default: - lookahead = lookahead.toUpperCase(); - if (lookahead === "PUBLIC") { - nextchar += 6; - tokenizer = after_doctype_public_keyword_state; - } - else if (lookahead === "SYSTEM") { - nextchar += 6; - tokenizer = after_doctype_system_keyword_state; - } - else { - forcequirks(); - tokenizer = bogus_doctype_state; - } - break; - } - } - after_doctype_name_state.lookahead = 6; - - function after_doctype_public_keyword_state(c) { - switch(c) { - case 0x0009: // CHARACTER TABULATION (tab) - case 0x000A: // LINE FEED (LF) - case 0x000C: // FORM FEED (FF) - case 0x0020: // SPACE - tokenizer = before_doctype_public_identifier_state; - break; - case 0x0022: // QUOTATION MARK - beginDoctypePublicId(); - tokenizer = doctype_public_identifier_double_quoted_state; - break; - case 0x0027: // APOSTROPHE - beginDoctypePublicId(); - tokenizer = doctype_public_identifier_single_quoted_state; - break; - case 0x003E: // GREATER-THAN SIGN - forcequirks(); - tokenizer = data_state; - emitDoctype(); - break; - case -1: // EOF - forcequirks(); - emitDoctype(); - nextchar--; // pushback - tokenizer = data_state; - break; - default: - forcequirks(); - tokenizer = bogus_doctype_state; - break; - } - } - - function before_doctype_public_identifier_state(c) { - switch(c) { - case 0x0009: // CHARACTER TABULATION (tab) - case 0x000A: // LINE FEED (LF) - case 0x000C: // FORM FEED (FF) - case 0x0020: // SPACE - /* Ignore the character. */ - break; - case 0x0022: // QUOTATION MARK - beginDoctypePublicId(); - tokenizer = doctype_public_identifier_double_quoted_state; - break; - case 0x0027: // APOSTROPHE - beginDoctypePublicId(); - tokenizer = doctype_public_identifier_single_quoted_state; - break; - case 0x003E: // GREATER-THAN SIGN - forcequirks(); - tokenizer = data_state; - emitDoctype(); - break; - case -1: // EOF - forcequirks(); - emitDoctype(); - nextchar--; // pushback - tokenizer = data_state; - break; - default: - forcequirks(); - tokenizer = bogus_doctype_state; - break; - } - } - - function doctype_public_identifier_double_quoted_state(c) { - switch(c) { - case 0x0022: // QUOTATION MARK - tokenizer = after_doctype_public_identifier_state; - break; - case 0x0000: // NULL - doctypepublicbuf.push(0xFFFD /* REPLACEMENT CHARACTER */); - break; - case 0x003E: // GREATER-THAN SIGN - forcequirks(); - tokenizer = data_state; - emitDoctype(); - break; - case -1: // EOF - forcequirks(); - emitDoctype(); - nextchar--; // pushback - tokenizer = data_state; - break; - default: - doctypepublicbuf.push(c); - break; - } - } - - function doctype_public_identifier_single_quoted_state(c) { - switch(c) { - case 0x0027: // APOSTROPHE - tokenizer = after_doctype_public_identifier_state; - break; - case 0x0000: // NULL - doctypepublicbuf.push(0xFFFD /* REPLACEMENT CHARACTER */); - break; - case 0x003E: // GREATER-THAN SIGN - forcequirks(); - tokenizer = data_state; - emitDoctype(); - break; - case -1: // EOF - forcequirks(); - emitDoctype(); - nextchar--; // pushback - tokenizer = data_state; - break; - default: - doctypepublicbuf.push(c); - break; - } - } - - function after_doctype_public_identifier_state(c) { - switch(c) { - case 0x0009: // CHARACTER TABULATION (tab) - case 0x000A: // LINE FEED (LF) - case 0x000C: // FORM FEED (FF) - case 0x0020: // SPACE - tokenizer = between_doctype_public_and_system_identifiers_state; - break; - case 0x003E: // GREATER-THAN SIGN - tokenizer = data_state; - emitDoctype(); - break; - case 0x0022: // QUOTATION MARK - beginDoctypeSystemId(); - tokenizer = doctype_system_identifier_double_quoted_state; - break; - case 0x0027: // APOSTROPHE - beginDoctypeSystemId(); - tokenizer = doctype_system_identifier_single_quoted_state; - break; - case -1: // EOF - forcequirks(); - emitDoctype(); - nextchar--; // pushback - tokenizer = data_state; - break; - default: - forcequirks(); - tokenizer = bogus_doctype_state; - break; - } - } - - function between_doctype_public_and_system_identifiers_state(c) { - switch(c) { - case 0x0009: // CHARACTER TABULATION (tab) - case 0x000A: // LINE FEED (LF) - case 0x000C: // FORM FEED (FF) - case 0x0020: // SPACE Ignore the character. - break; - case 0x003E: // GREATER-THAN SIGN - tokenizer = data_state; - emitDoctype(); - break; - case 0x0022: // QUOTATION MARK - beginDoctypeSystemId(); - tokenizer = doctype_system_identifier_double_quoted_state; - break; - case 0x0027: // APOSTROPHE - beginDoctypeSystemId(); - tokenizer = doctype_system_identifier_single_quoted_state; - break; - case -1: // EOF - forcequirks(); - emitDoctype(); - nextchar--; // pushback - tokenizer = data_state; - break; - default: - forcequirks(); - tokenizer = bogus_doctype_state; - break; - } - } - - function after_doctype_system_keyword_state(c) { - switch(c) { - case 0x0009: // CHARACTER TABULATION (tab) - case 0x000A: // LINE FEED (LF) - case 0x000C: // FORM FEED (FF) - case 0x0020: // SPACE - tokenizer = before_doctype_system_identifier_state; - break; - case 0x0022: // QUOTATION MARK - beginDoctypeSystemId(); - tokenizer = doctype_system_identifier_double_quoted_state; - break; - case 0x0027: // APOSTROPHE - beginDoctypeSystemId(); - tokenizer = doctype_system_identifier_single_quoted_state; - break; - case 0x003E: // GREATER-THAN SIGN - forcequirks(); - tokenizer = data_state; - emitDoctype(); - break; - case -1: // EOF - forcequirks(); - emitDoctype(); - nextchar--; // pushback - tokenizer = data_state; - break; - default: - forcequirks(); - tokenizer = bogus_doctype_state; - break; - } - } - - function before_doctype_system_identifier_state(c) { - switch(c) { - case 0x0009: // CHARACTER TABULATION (tab) - case 0x000A: // LINE FEED (LF) - case 0x000C: // FORM FEED (FF) - case 0x0020: // SPACE Ignore the character. - break; - case 0x0022: // QUOTATION MARK - beginDoctypeSystemId(); - tokenizer = doctype_system_identifier_double_quoted_state; - break; - case 0x0027: // APOSTROPHE - beginDoctypeSystemId(); - tokenizer = doctype_system_identifier_single_quoted_state; - break; - case 0x003E: // GREATER-THAN SIGN - forcequirks(); - tokenizer = data_state; - emitDoctype(); - break; - case -1: // EOF - forcequirks(); - emitDoctype(); - nextchar--; // pushback - tokenizer = data_state; - break; - default: - forcequirks(); - tokenizer = bogus_doctype_state; - break; - } - } - - function doctype_system_identifier_double_quoted_state(c) { - switch(c) { - case 0x0022: // QUOTATION MARK - tokenizer = after_doctype_system_identifier_state; - break; - case 0x0000: // NULL - doctypesystembuf.push(0xFFFD /* REPLACEMENT CHARACTER */); - break; - case 0x003E: // GREATER-THAN SIGN - forcequirks(); - tokenizer = data_state; - emitDoctype(); - break; - case -1: // EOF - forcequirks(); - emitDoctype(); - nextchar--; // pushback - tokenizer = data_state; - break; - default: - doctypesystembuf.push(c); - break; - } - } - - function doctype_system_identifier_single_quoted_state(c) { - switch(c) { - case 0x0027: // APOSTROPHE - tokenizer = after_doctype_system_identifier_state; - break; - case 0x0000: // NULL - doctypesystembuf.push(0xFFFD /* REPLACEMENT CHARACTER */); - break; - case 0x003E: // GREATER-THAN SIGN - forcequirks(); - tokenizer = data_state; - emitDoctype(); - break; - case -1: // EOF - forcequirks(); - emitDoctype(); - nextchar--; // pushback - tokenizer = data_state; - break; - default: - doctypesystembuf.push(c); - break; - } - } - - function after_doctype_system_identifier_state(c) { - switch(c) { - case 0x0009: // CHARACTER TABULATION (tab) - case 0x000A: // LINE FEED (LF) - case 0x000C: // FORM FEED (FF) - case 0x0020: // SPACE - /* Ignore the character. */ - break; - case 0x003E: // GREATER-THAN SIGN - tokenizer = data_state; - emitDoctype(); - break; - case -1: // EOF - forcequirks(); - emitDoctype(); - nextchar--; // pushback - tokenizer = data_state; - break; - default: - tokenizer = bogus_doctype_state; - /* This does *not* set the DOCTYPE token's force-quirks flag. */ - break; - } - } - - function bogus_doctype_state(c) { - switch(c) { - case 0x003E: // GREATER-THAN SIGN - tokenizer = data_state; - emitDoctype(); - break; - case -1: // EOF - emitDoctype(); - nextchar--; // pushback - tokenizer = data_state; - break; - default: - /* Ignore the character. */ - break; - } - } - - function cdata_section_state(c, lookahead, eof) { - var len = lookahead.length; - var output; - if (eof) { - nextchar += len-1; // leave the EOF in the scanner - output = lookahead.substring(0, len-1); // don't include the EOF - } - else { - nextchar += len; - output = lookahead.substring(0,len-3); // don't emit the ]]> - } - - if (output.length > 0) { - if (output.indexOf("\u0000") !== -1) - textIncludesNUL = true; - - // XXX Have to deal with CR and CRLF here? - if (output.indexOf("\r") !== -1) { - output = output.replace(/\r\n/, "\n").replace(/\r/, "\n"); - } - - emitCharString(output); - } - - tokenizer = data_state; - } - cdata_section_state.lookahead = "]]>"; - - - /*** - * The tree builder insertion modes - */ - - // 11.2.5.4.1 The "initial" insertion mode - function initial_mode(t, value, arg3, arg4) { - switch(t) { - case 1: // TEXT - value = value.replace(LEADINGWS, ""); // Ignore spaces - if (value.length === 0) return; // Are we done? - break; // Handle anything non-space text below - case 4: // COMMENT - doc._appendChild(doc.createComment(value)); - return; - case 5: // DOCTYPE - var name = value; - var publicid = arg3; - var systemid = arg4; - // Use the constructor directly instead of - // implementation.createDocumentType because the create - // function throws errors on invalid characters, and - // we don't want the parser to throw them. - doc.appendChild(new DocumentType(name,publicid, systemid)); - - // Note that there is no public API for setting quirks mode We can - // do this here because we have access to implementation details - if (force_quirks || - name.toLowerCase() !== "html" || - quirkyPublicIds.test(publicid) || - (systemid && systemid.toLowerCase() === quirkySystemId) || - (systemid === undefined && - conditionallyQuirkyPublicIds.test(publicid))) - doc._quirks = true; - else if (limitedQuirkyPublicIds.test(publicid) || - (systemid !== undefined && - conditionallyQuirkyPublicIds.test(publicid))) - doc._limitedQuirks = true; - parser = before_html_mode; - return; - } - - // tags or non-whitespace text - doc._quirks = true; - parser = before_html_mode; - parser(t,value,arg3,arg4); - } - - // 11.2.5.4.2 The "before html" insertion mode - function before_html_mode(t,value,arg3,arg4) { - var elt; - switch(t) { - case 1: // TEXT - value = value.replace(LEADINGWS, ""); // Ignore spaces - if (value.length === 0) return; // Are we done? - break; // Handle anything non-space text below - case 5: // DOCTYPE - /* ignore the token */ - return; - case 4: // COMMENT - doc._appendChild(doc.createComment(value)); - return; - case 2: // TAG - if (value === "html") { - elt = createHTMLElt(value, arg3); - stack.push(elt); - doc.appendChild(elt); - // XXX: handle application cache here - parser = before_head_mode; - return; - } - break; - case 3: // ENDTAG - switch(value) { - case "html": - case "head": - case "body": - case "br": - break; // fall through on these - default: - return; // ignore most end tags - } - } - - // Anything that didn't get handled above is handled like this: - elt = createHTMLElt("html", null); - stack.push(elt); - doc.appendChild(elt); - // XXX: handle application cache here - parser = before_head_mode; - parser(t,value,arg3,arg4); - } - - // 11.2.5.4.3 The "before head" insertion mode - function before_head_mode(t,value,arg3,arg4) { - switch(t) { - case 1: // TEXT - value = value.replace(LEADINGWS, ""); // Ignore spaces - if (value.length === 0) return; // Are we done? - break; // Handle anything non-space text below - case 5: // DOCTYPE - /* ignore the token */ - return; - case 4: // COMMENT - insertComment(value); - return; - case 2: // TAG - switch(value) { - case "html": - in_body_mode(t,value,arg3,arg4); - return; - case "head": - var elt = insertHTMLElement(value, arg3); - head_element_pointer = elt; - parser = in_head_mode; - return; - } - break; - case 3: // ENDTAG - switch(value) { - case "html": - case "head": - case "body": - case "br": - break; - default: - return; // ignore most end tags - } - } - - // If not handled explicitly above - before_head_mode(TAG, "head", null); // create a head tag - parser(t, value, arg3, arg4); // then try again with this token - } - - function in_head_mode(t, value, arg3, arg4) { - switch(t) { - case 1: // TEXT - var ws = value.match(LEADINGWS); - if (ws) { - insertText(ws[0]); - value = value.substring(ws[0].length); - } - if (value.length === 0) return; - break; // Handle non-whitespace below - case 4: // COMMENT - insertComment(value); - return; - case 5: // DOCTYPE - return; - case 2: // TAG - switch(value) { - case "html": - in_body_mode(t, value, arg3, arg4); - return; - case "meta": - // XXX: - // May need to change the encoding based on this tag - /* falls through */ - case "base": - case "basefont": - case "bgsound": - case "command": - case "link": - insertHTMLElement(value, arg3); - stack.pop(); - return; - case "title": - parseRCDATA(value, arg3); - return; - case "noscript": - if (!scripting_enabled) { - insertHTMLElement(value, arg3); - parser = in_head_noscript_mode; - return; - } - // Otherwise, if scripting is enabled... - /* falls through */ - case "noframes": - case "style": - parseRawText(value,arg3); - return; - case "script": - var elt = createHTMLElt(value, arg3); - elt._parser_inserted = true; - elt._force_async = false; - if (fragment) elt._already_started = true; - flushText(); - stack.top._appendChild(elt); - stack.push(elt); - tokenizer = script_data_state; - originalInsertionMode = parser; - parser = text_mode; - return; - case "head": - return; // ignore it - } - break; - case 3: // ENDTAG - switch(value) { - case "head": - stack.pop(); - parser = after_head_mode; - return; - case "body": - case "html": - case "br": - break; // handle these at the bottom of the function - default: - // ignore any other end tag - return; - } - break; - } - - // If not handled above - in_head_mode(ENDTAG, "head", null); // synthetic - parser(t, value, arg3, arg4); // Then redo this one - } - - // 13.2.5.4.5 The "in head noscript" insertion mode - function in_head_noscript_mode(t, value, arg3, arg4) { - switch(t) { - case 5: // DOCTYPE - return; - case 4: // COMMENT - in_head_mode(t, value); - return; - case 1: // TEXT - var ws = value.match(LEADINGWS); - if (ws) { - in_head_mode(t, ws[0]); - value = value.substring(ws[0].length); - } - if (value.length === 0) return; // no more text - break; // Handle non-whitespace below - case 2: // TAG - switch(value) { - case "html": - in_body_mode(t, value, arg3, arg4); - return; - case "basefont": - case "bgsound": - case "link": - case "meta": - case "noframes": - case "style": - in_head_mode(t, value, arg3); - return; - case "head": - case "noscript": - return; - } - break; - case 3: // ENDTAG - switch(value) { - case "noscript": - stack.pop(); - parser = in_head_mode; - return; - case "br": - break; // goes to the outer default - default: - return; // ignore other end tags - } - break; - } - - // If not handled above - in_head_noscript_mode(ENDTAG, "noscript", null); - parser(t, value, arg3, arg4); - } - - function after_head_mode(t, value, arg3, arg4) { - switch(t) { - case 1: // TEXT - var ws = value.match(LEADINGWS); - if (ws) { - insertText(ws[0]); - value = value.substring(ws[0].length); - } - if (value.length === 0) return; - break; // Handle non-whitespace below - case 4: // COMMENT - insertComment(value); - return; - case 5: // DOCTYPE - return; - case 2: // TAG - switch(value) { - case "html": - in_body_mode(t, value, arg3, arg4); - return; - case "body": - insertHTMLElement(value, arg3); - frameset_ok = false; - parser = in_body_mode; - return; - case "frameset": - insertHTMLElement(value, arg3); - parser = in_frameset_mode; - return; - case "base": - case "basefont": - case "bgsound": - case "link": - case "meta": - case "noframes": - case "script": - case "style": - case "title": - stack.push(head_element_pointer); - in_head_mode(TAG, value, arg3); - stack.removeElement(head_element_pointer); - return; - case "head": - return; - } - break; - case 3: // ENDTAG - switch(value) { - case "body": - case "html": - case "br": - break; - default: - return; // ignore any other end tag - } - break; - } - - after_head_mode(TAG, "body", null); - frameset_ok = true; - parser(t, value, arg3, arg4); - } - - // 13.2.5.4.7 The "in body" insertion mode - function in_body_mode(t,value,arg3,arg4) { - var body, i, node; - switch(t) { - case 1: // TEXT - if (textIncludesNUL) { - value = value.replace(NULCHARS, ""); - if (value.length === 0) return; - } - // If any non-space characters - if (frameset_ok && NONWS.test(value)) - frameset_ok = false; - afereconstruct(); - insertText(value); - return; - case 5: // DOCTYPE - return; - case 4: // COMMENT - insertComment(value); - return; - case -1: // EOF - stopParsing(); - return; - case 2: // TAG - switch(value) { - case "html": - transferAttributes(arg3, stack.elements[0]); - return; - case "base": - case "basefont": - case "bgsound": - case "command": - case "link": - case "meta": - case "noframes": - case "script": - case "style": - case "title": - in_head_mode(TAG, value, arg3); - return; - case "body": - body = stack.elements[1]; - if (!body || !(body instanceof impl.HTMLBodyElement)) - return; - frameset_ok = false; - transferAttributes(arg3, body); - return; - case "frameset": - if (!frameset_ok) return; - body = stack.elements[1]; - if (!body || !(body instanceof impl.HTMLBodyElement)) - return; - if (body.parentNode) body.parentNode.removeChild(body); - while(!(stack.top instanceof impl.HTMLHtmlElement)) - stack.pop(); - insertHTMLElement(value, arg3); - parser = in_frameset_mode; - return; - - case "address": - case "article": - case "aside": - case "blockquote": - case "center": - case "details": - case "dir": - case "div": - case "dl": - case "fieldset": - case "figcaption": - case "figure": - case "footer": - case "header": - case "hgroup": - case "menu": - case "nav": - case "ol": - case "p": - case "section": - case "summary": - case "ul": - if (stack.inButtonScope("p")) in_body_mode(ENDTAG, "p"); - insertHTMLElement(value, arg3); - return; - - case "h1": - case "h2": - case "h3": - case "h4": - case "h5": - case "h6": - if (stack.inButtonScope("p")) in_body_mode(ENDTAG, "p"); - if (stack.top instanceof impl.HTMLHeadingElement) - stack.pop(); - insertHTMLElement(value, arg3); - return; - - case "pre": - case "listing": - if (stack.inButtonScope("p")) in_body_mode(ENDTAG, "p"); - insertHTMLElement(value, arg3); - ignore_linefeed = true; - frameset_ok = false; - return; - - case "form": - if (form_element_pointer) return; - if (stack.inButtonScope("p")) in_body_mode(ENDTAG, "p"); - form_element_pointer = insertHTMLElement(value, arg3); - return; - - case "li": - frameset_ok = false; - for(i = stack.elements.length-1; i >= 0; i--) { - node = stack.elements[i]; - if (node instanceof impl.HTMLLIElement) { - in_body_mode(ENDTAG, "li"); - break; - } - if (isA(node, specialSet) && !isA(node, addressdivpSet)) - break; - } - if (stack.inButtonScope("p")) in_body_mode(ENDTAG, "p"); - insertHTMLElement(value, arg3); - return; - - case "dd": - case "dt": - frameset_ok = false; - for(i = stack.elements.length-1; i >= 0; i--) { - node = stack.elements[i]; - if (isA(node, dddtSet)) { - in_body_mode(ENDTAG, node.localName); - break; - } - if (isA(node, specialSet) && !isA(node, addressdivpSet)) - break; - } - if (stack.inButtonScope("p")) in_body_mode(ENDTAG, "p"); - insertHTMLElement(value, arg3); - return; - - case "plaintext": - if (stack.inButtonScope("p")) in_body_mode(ENDTAG, "p"); - insertHTMLElement(value, arg3); - tokenizer = plaintext_state; - return; - - case "button": - if (stack.inScope("button")) { - in_body_mode(ENDTAG, "button"); - parser(t, value, arg3, arg4); - } - else { - afereconstruct(); - insertHTMLElement(value, arg3); - frameset_ok = false; - } - return; - - case "a": - var activeElement = afe.findElementByTag("a"); - if (activeElement) { - in_body_mode(ENDTAG, value); - afe.remove(activeElement); - stack.removeElement(activeElement); - } - /* falls through */ - - case "b": - case "big": - case "code": - case "em": - case "font": - case "i": - case "s": - case "small": - case "strike": - case "strong": - case "tt": - case "u": - afereconstruct(); - afe.push(insertHTMLElement(value,arg3), arg3); - return; - - case "nobr": - afereconstruct(); - - if (stack.inScope(value)) { - in_body_mode(ENDTAG, value); - afereconstruct(); - } - afe.push(insertHTMLElement(value,arg3), arg3); - return; - - case "applet": - case "marquee": - case "object": - afereconstruct(); - insertHTMLElement(value,arg3); - afe.insertMarker(); - frameset_ok = false; - return; - - case "table": - if (!doc._quirks && stack.inButtonScope("p")) { - in_body_mode(ENDTAG, "p"); - } - insertHTMLElement(value,arg3); - frameset_ok = false; - parser = in_table_mode; - return; - - case "area": - case "br": - case "embed": - case "img": - case "keygen": - case "wbr": - afereconstruct(); - insertHTMLElement(value,arg3); - stack.pop(); - frameset_ok = false; - return; - - case "input": - afereconstruct(); - var elt = insertHTMLElement(value,arg3); - stack.pop(); - var type = elt.getAttribute("type"); - if (!type || type.toLowerCase() !== "hidden") - frameset_ok = false; - return; - - case "param": - case "source": - case "track": - insertHTMLElement(value,arg3); - stack.pop(); - return; - - case "hr": - if (stack.inButtonScope("p")) in_body_mode(ENDTAG, "p"); - insertHTMLElement(value,arg3); - stack.pop(); - frameset_ok = false; - return; - - case "image": - in_body_mode(TAG, "img", arg3, arg4); - return; - - case "isindex": - if (form_element_pointer) return; - (function handleIsIndexTag(attrs) { - var prompt = null; - var formattrs = []; - var newattrs = [["name", "isindex"]]; - for(var i = 0; i < attrs.length; i++) { - var a = attrs[i]; - if (a[0] === "action") { - formattrs.push(a); - } - else if (a[0] === "prompt") { - prompt = a[1]; - } - else if (a[0] !== "name") { - newattrs.push(a); - } - } - - // This default prompt presumably needs localization. - // The space after the colon in this prompt is required - // by the html5lib test cases - if (!prompt) - prompt = "This is a searchable index. " + - "Enter search keywords: "; - - parser(TAG, "form", formattrs); - parser(TAG, "hr", null); - parser(TAG, "label", null); - parser(TEXT, prompt); - parser(TAG, "input", newattrs); - parser(ENDTAG, "label"); - parser(TAG, "hr", null); - parser(ENDTAG, "form"); - }(arg3)); - return; - - case "textarea": - insertHTMLElement(value,arg3); - ignore_linefeed = true; - frameset_ok = false; - tokenizer = rcdata_state; - originalInsertionMode = parser; - parser = text_mode; - return; - - case "xmp": - if (stack.inButtonScope("p")) in_body_mode(ENDTAG, "p"); - afereconstruct(); - frameset_ok = false; - parseRawText(value, arg3); - return; - - case "iframe": - frameset_ok = false; - parseRawText(value, arg3); - return; - - case "noembed": - parseRawText(value,arg3); - return; - - case "noscript": - if (scripting_enabled) { - parseRawText(value,arg3); - return; - } - break; // XXX Otherwise treat it as any other open tag? - - case "select": - afereconstruct(); - insertHTMLElement(value,arg3); - frameset_ok = false; - if (parser === in_table_mode || - parser === in_caption_mode || - parser === in_table_body_mode || - parser === in_row_mode || - parser === in_cell_mode) - parser = in_select_in_table_mode; - else - parser = in_select_mode; - return; - - case "optgroup": - case "option": - if (stack.top instanceof impl.HTMLOptionElement) { - in_body_mode(ENDTAG, "option"); - } - afereconstruct(); - insertHTMLElement(value,arg3); - return; - - case "rp": - case "rt": - if (stack.inScope("ruby")) { - stack.generateImpliedEndTags(); - } - insertHTMLElement(value,arg3); - return; - - case "math": - afereconstruct(); - adjustMathMLAttributes(arg3); - adjustForeignAttributes(arg3); - insertForeignElement(value, arg3, NAMESPACE.MATHML); - if (arg4) // self-closing flag - stack.pop(); - return; - - case "svg": - afereconstruct(); - adjustSVGAttributes(arg3); - adjustForeignAttributes(arg3); - insertForeignElement(value, arg3, NAMESPACE.SVG); - if (arg4) // self-closing flag - stack.pop(); - return; - - case "caption": - case "col": - case "colgroup": - case "frame": - case "head": - case "tbody": - case "td": - case "tfoot": - case "th": - case "thead": - case "tr": - // Ignore table tags if we're not in_table mode - return; - } - - // Handle any other start tag here - // (and also noscript tags when scripting is disabled) - afereconstruct(); - insertHTMLElement(value,arg3); - return; - - case 3: // ENDTAG - switch(value) { - case "body": - if (!stack.inScope("body")) return; - parser = after_body_mode; - return; - case "html": - if (!stack.inScope("body")) return; - parser = after_body_mode; - parser(t, value, arg3); - return; - - case "address": - case "article": - case "aside": - case "blockquote": - case "button": - case "center": - case "details": - case "dir": - case "div": - case "dl": - case "fieldset": - case "figcaption": - case "figure": - case "footer": - case "header": - case "hgroup": - case "listing": - case "menu": - case "nav": - case "ol": - case "pre": - case "section": - case "summary": - case "ul": - // Ignore if there is not a matching open tag - if (!stack.inScope(value)) return; - stack.generateImpliedEndTags(); - stack.popTag(value); - return; - - case "form": - var openform = form_element_pointer; - form_element_pointer = null; - if (!openform || !stack.elementInScope(openform)) return; - stack.generateImpliedEndTags(); - stack.removeElement(openform); - return; - - case "p": - if (!stack.inButtonScope(value)) { - in_body_mode(TAG, value, null); - parser(t, value, arg3, arg4); - } - else { - stack.generateImpliedEndTags(value); - stack.popTag(value); - } - return; - - case "li": - if (!stack.inListItemScope(value)) return; - stack.generateImpliedEndTags(value); - stack.popTag(value); - return; - - case "dd": - case "dt": - if (!stack.inScope(value)) return; - stack.generateImpliedEndTags(value); - stack.popTag(value); - return; - - case "h1": - case "h2": - case "h3": - case "h4": - case "h5": - case "h6": - if (!stack.elementTypeInScope(impl.HTMLHeadingElement)) return; - stack.generateImpliedEndTags(); - stack.popElementType(impl.HTMLHeadingElement); - return; - - case "a": - case "b": - case "big": - case "code": - case "em": - case "font": - case "i": - case "nobr": - case "s": - case "small": - case "strike": - case "strong": - case "tt": - case "u": - var result = adoptionAgency(value); - if (result) return; // If we did something we're done - break; // Go to the "any other end tag" case - - case "applet": - case "marquee": - case "object": - if (!stack.inScope(value)) return; - stack.generateImpliedEndTags(); - stack.popTag(value); - afe.clearToMarker(); - return; - - case "br": - in_body_mode(TAG, value, null); // Turn
    into
    - return; - } - - // Any other end tag goes here - for(i = stack.elements.length-1; i >= 0; i--) { - node = stack.elements[i]; - if (node.localName === value) { - stack.generateImpliedEndTags(value); - stack.popElement(node); - break; - } - else if (isA(node, specialSet)) { - return; - } - } - - return; - } - } - - function text_mode(t, value, arg3, arg4) { - switch(t) { - case 1: // TEXT - insertText(value); - return; - case -1: // EOF - if (stack.top instanceof impl.HTMLScriptElement) - stack.top._already_started = true; - stack.pop(); - parser = originalInsertionMode; - parser(t); - return; - case 3: // ENDTAG - if (value === "script") { - handleScriptEnd(); - } - else { - stack.pop(); - parser = originalInsertionMode; - } - return; - default: - // We should never get any other token types - return; - } - } - - function in_table_mode(t, value, arg3, arg4) { - function getTypeAttr(attrs) { - for(var i = 0, n = attrs.length; i < n; i++) { - if (attrs[i][0] === "type") - return attrs[i][1].toLowerCase(); - } - return null; - } - - switch(t) { - case 1: // TEXT - // XXX the text_integration_mode stuff is - // just a hack I made up - if (text_integration_mode) { - in_body_mode(t, value, arg3, arg4); - } - else { - pending_table_text = []; - originalInsertionMode = parser; - parser = in_table_text_mode; - parser(t, value, arg3, arg4); - } - return; - case 4: // COMMENT - insertComment(value); - return; - case 5: // DOCTYPE - return; - case 2: // TAG - switch(value) { - case "caption": - stack.clearToContext(impl.HTMLTableElement); - afe.insertMarker(); - insertHTMLElement(value,arg3); - parser = in_caption_mode; - return; - case "colgroup": - stack.clearToContext(impl.HTMLTableElement); - insertHTMLElement(value,arg3); - parser = in_column_group_mode; - return; - case "col": - in_table_mode(TAG, "colgroup", null); - parser(t, value, arg3, arg4); - return; - case "tbody": - case "tfoot": - case "thead": - stack.clearToContext(impl.HTMLTableElement); - insertHTMLElement(value,arg3); - parser = in_table_body_mode; - return; - case "td": - case "th": - case "tr": - in_table_mode(TAG, "tbody", null); - parser(t, value, arg3, arg4); - return; - - case "table": - var repro = stack.inTableScope(value); - in_table_mode(ENDTAG, value); - if (repro) parser(t, value, arg3, arg4); - return; - - case "style": - case "script": - in_head_mode(t, value, arg3, arg4); - return; - - case "input": - var type = getTypeAttr(arg3); - if (type !== "hidden") break; // to the anything else case - insertHTMLElement(value,arg3); - stack.pop(); - return; - - case "form": - if (form_element_pointer) return; - form_element_pointer = insertHTMLElement(value, arg3); - stack.pop(); - return; - } - break; - case 3: // ENDTAG - switch(value) { - case "table": - if (!stack.inTableScope(value)) return; - stack.popTag(value); - resetInsertionMode(); - return; - case "body": - case "caption": - case "col": - case "colgroup": - case "html": - case "tbody": - case "td": - case "tfoot": - case "th": - case "thead": - case "tr": - return; - } - - break; - case -1: // EOF - stopParsing(); - return; - } - - // This is the anything else case - foster_parent_mode = true; - in_body_mode(t, value, arg3, arg4); - foster_parent_mode = false; - } - - function in_table_text_mode(t, value, arg3, arg4) { - if (t === TEXT) { - if (textIncludesNUL) { - value = value.replace(NULCHARS, ""); - if (value.length === 0) return; - } - pending_table_text.push(value); - } - else { - var s = pending_table_text.join(""); - pending_table_text.length = 0; - if (NONWS.test(s)) { // If any non-whitespace characters - // This must be the same code as the "anything else" - // case of the in_table mode above. - foster_parent_mode = true; - in_body_mode(TEXT, s); - foster_parent_mode = false; - } - else { - insertText(s); - } - parser = originalInsertionMode; - parser(t, value, arg3, arg4); - } - } - - - function in_caption_mode(t, value, arg3, arg4) { - function end_caption() { - if (!stack.inTableScope("caption")) return false; - stack.generateImpliedEndTags(); - stack.popTag("caption"); - afe.clearToMarker(); - parser = in_table_mode; - return true; - } - - switch(t) { - case 2: // TAG - switch(value) { - case "caption": - case "col": - case "colgroup": - case "tbody": - case "td": - case "tfoot": - case "th": - case "thead": - case "tr": - if (end_caption()) parser(t, value, arg3, arg4); - return; - } - break; - case 3: // ENDTAG - switch(value) { - case "caption": - end_caption(); - return; - case "table": - if (end_caption()) parser(t, value, arg3, arg4); - return; - case "body": - case "col": - case "colgroup": - case "html": - case "tbody": - case "td": - case "tfoot": - case "th": - case "thead": - case "tr": - return; - } - break; - } - - // The Anything Else case - in_body_mode(t, value, arg3, arg4); - } - - function in_column_group_mode(t, value, arg3, arg4) { - switch(t) { - case 1: // TEXT - var ws = value.match(LEADINGWS); - if (ws) { - insertText(ws[0]); - value = value.substring(ws[0].length); - } - if (value.length === 0) return; - break; // Handle non-whitespace below - - case 4: // COMMENT - insertComment(value); - return; - case 5: // DOCTYPE - return; - case 2: // TAG - switch(value) { - case "html": - in_body_mode(t, value, arg3, arg4); - return; - case "col": - insertHTMLElement(value, arg3); - stack.pop(); - return; - } - break; - case 3: // ENDTAG - switch(value) { - case "colgroup": - if (stack.top instanceof impl.HTMLHtmlElement) return; - stack.pop(); - parser = in_table_mode; - return; - case "col": - return; - } - break; - case -1: // EOF - if (stack.top instanceof impl.HTMLHtmlElement) { - stopParsing(); - return; - } - break; - } - - // Anything else - if (!(stack.top instanceof impl.HTMLHtmlElement)) { - in_column_group_mode(ENDTAG, "colgroup"); - parser(t, value, arg3, arg4); - } - } - - function in_table_body_mode(t, value, arg3, arg4) { - function endsect() { - if (!stack.inTableScope("tbody") && - !stack.inTableScope("thead") && - !stack.inTableScope("tfoot")) - return; - stack.clearToContext(impl.HTMLTableSectionElement); - in_table_body_mode(ENDTAG, stack.top.localName, null); - parser(t, value, arg3, arg4); - } - - switch(t) { - case 2: // TAG - switch(value) { - case "tr": - stack.clearToContext(impl.HTMLTableSectionElement); - insertHTMLElement(value, arg3); - parser = in_row_mode; - return; - case "th": - case "td": - in_table_body_mode(TAG, "tr", null); - parser(t, value, arg3, arg4); - return; - case "caption": - case "col": - case "colgroup": - case "tbody": - case "tfoot": - case "thead": - endsect(); - return; - } - break; - case 3: // ENDTAG - switch(value) { - case "table": - endsect(); - return; - case "tbody": - case "tfoot": - case "thead": - if (stack.inTableScope(value)) { - stack.clearToContext(impl.HTMLTableSectionElement); - stack.pop(); - parser = in_table_mode; - } - return; - case "body": - case "caption": - case "col": - case "colgroup": - case "html": - case "td": - case "th": - case "tr": - return; - } - break; - } - - // Anything else: - in_table_mode(t, value, arg3, arg4); - } - - function in_row_mode(t, value, arg3, arg4) { - function endrow() { - if (!stack.inTableScope("tr")) return false; - stack.clearToContext(impl.HTMLTableRowElement); - stack.pop(); - parser = in_table_body_mode; - return true; - } - - switch(t) { - case 2: // TAG - switch(value) { - case "th": - case "td": - stack.clearToContext(impl.HTMLTableRowElement); - insertHTMLElement(value, arg3); - parser = in_cell_mode; - afe.insertMarker(); - return; - case "caption": - case "col": - case "colgroup": - case "tbody": - case "tfoot": - case "thead": - case "tr": - if (endrow()) parser(t, value, arg3, arg4); - return; - } - break; - case 3: // ENDTAG - switch(value) { - case "tr": - endrow(); - return; - case "table": - if (endrow()) parser(t, value, arg3, arg4); - return; - case "tbody": - case "tfoot": - case "thead": - if (stack.inTableScope(value)) { - in_row_mode(ENDTAG, "tr"); - parser(t, value, arg3, arg4); - } - return; - case "body": - case "caption": - case "col": - case "colgroup": - case "html": - case "td": - case "th": - return; - } - break; - } - - // anything else - in_table_mode(t, value, arg3, arg4); - } - - function in_cell_mode(t, value, arg3, arg4) { - switch(t) { - case 2: // TAG - switch(value) { - case "caption": - case "col": - case "colgroup": - case "tbody": - case "td": - case "tfoot": - case "th": - case "thead": - case "tr": - if (stack.inTableScope("td")) { - in_cell_mode(ENDTAG, "td"); - parser(t, value, arg3, arg4); - } - else if (stack.inTableScope("th")) { - in_cell_mode(ENDTAG, "th"); - parser(t, value, arg3, arg4); - } - return; - } - break; - case 3: // ENDTAG - switch(value) { - case "td": - case "th": - if (!stack.inTableScope(value)) return; - stack.generateImpliedEndTags(); - stack.popTag(value); - afe.clearToMarker(); - parser = in_row_mode; - return; - - case "body": - case "caption": - case "col": - case "colgroup": - case "html": - return; - - case "table": - case "tbody": - case "tfoot": - case "thead": - case "tr": - if (!stack.inTableScope(value)) return; - in_cell_mode(ENDTAG, stack.inTableScope("td") ? "td" : "th"); - parser(t, value, arg3, arg4); - return; - } - break; - } - - // anything else - in_body_mode(t, value, arg3, arg4); - } - - function in_select_mode(t, value, arg3, arg4) { - switch(t) { - case 1: // TEXT - if (textIncludesNUL) { - value = value.replace(NULCHARS, ""); - if (value.length === 0) return; - } - insertText(value); - return; - case 4: // COMMENT - insertComment(value); - return; - case 5: // DOCTYPE - return; - case -1: // EOF - stopParsing(); - return; - case 2: // TAG - switch(value) { - case "html": - in_body_mode(t, value, arg3, arg4); - return; - case "option": - if (stack.top instanceof impl.HTMLOptionElement) - in_select_mode(ENDTAG, value); - insertHTMLElement(value, arg3); - return; - case "optgroup": - if (stack.top instanceof impl.HTMLOptionElement) - in_select_mode(ENDTAG, "option"); - if (stack.top instanceof impl.HTMLOptGroupElement) - in_select_mode(ENDTAG, value); - insertHTMLElement(value, arg3); - return; - case "select": - in_select_mode(ENDTAG, value); // treat it as a close tag - return; - - case "input": - case "keygen": - case "textarea": - if (!stack.inSelectScope("select")) return; - in_select_mode(ENDTAG, "select"); - parser(t, value, arg3, arg4); - return; - - case "script": - in_head_mode(t, value, arg3, arg4); - return; - } - break; - case 3: // ENDTAG - switch(value) { - case "optgroup": - if (stack.top instanceof impl.HTMLOptionElement && - stack.elements[stack.elements.length-2] instanceof - impl.HTMLOptGroupElement) { - in_select_mode(ENDTAG, "option"); - } - if (stack.top instanceof impl.HTMLOptGroupElement) - stack.pop(); - - return; - - case "option": - if (stack.top instanceof impl.HTMLOptionElement) - stack.pop(); - return; - - case "select": - if (!stack.inSelectScope(value)) return; - stack.popTag(value); - resetInsertionMode(); - return; - } - - break; - } - - // anything else: just ignore the token - } - - function in_select_in_table_mode(t, value, arg3, arg4) { - switch(value) { - case "caption": - case "table": - case "tbody": - case "tfoot": - case "thead": - case "tr": - case "td": - case "th": - switch(t) { - case 2: // TAG - in_select_in_table_mode(ENDTAG, "select"); - parser(t, value, arg3, arg4); - return; - case 3: // ENDTAG - if (stack.inTableScope(value)) { - in_select_in_table_mode(ENDTAG, "select"); - parser(t, value, arg3, arg4); - } - return; - } - } - - // anything else - in_select_mode(t, value, arg3, arg4); - } - - function after_body_mode(t, value, arg3, arg4) { - switch(t) { - case 1: // TEXT - // If any non-space chars, handle below - if (NONWS.test(value)) break; - in_body_mode(t, value); - return; - case 4: // COMMENT - // Append it to the element - stack.elements[0]._appendChild(doc.createComment(value)); - return; - case 5: // DOCTYPE - return; - case -1: // EOF - stopParsing(); - return; - case 2: // TAG - if (value === "html") { - in_body_mode(t, value, arg3, arg4); - return; - } - break; // for any other tags - case 3: // ENDTAG - if (value === "html") { - if (fragment) return; - parser = after_after_body_mode; - return; - } - break; // for any other tags - } - - // anything else - parser = in_body_mode; - parser(t, value, arg3, arg4); - } - - function in_frameset_mode(t, value, arg3, arg4) { - switch(t) { - case 1: // TEXT - // Ignore any non-space characters - value = value.replace(ALLNONWS, ""); - if (value.length > 0) insertText(value); - return; - case 4: // COMMENT - insertComment(value); - return; - case 5: // DOCTYPE - return; - case -1: // EOF - stopParsing(); - return; - case 2: // TAG - switch(value) { - case "html": - in_body_mode(t, value, arg3, arg4); - return; - case "frameset": - insertHTMLElement(value, arg3); - return; - case "frame": - insertHTMLElement(value, arg3); - stack.pop(); - return; - case "noframes": - in_head_mode(t, value, arg3, arg4); - return; - } - break; - case 3: // ENDTAG - if (value === "frameset") { - if (fragment && stack.top instanceof impl.HTMLHtmlElement) - return; - stack.pop(); - if (!fragment && - !(stack.top instanceof impl.HTMLFrameSetElement)) - parser = after_frameset_mode; - return; - } - break; - } - - // ignore anything else - } - - function after_frameset_mode(t, value, arg3, arg4) { - switch(t) { - case 1: // TEXT - // Ignore any non-space characters - value = value.replace(ALLNONWS, ""); - if (value.length > 0) insertText(value); - return; - case 4: // COMMENT - insertComment(value); - return; - case 5: // DOCTYPE - return; - case -1: // EOF - stopParsing(); - return; - case 2: // TAG - switch(value) { - case "html": - in_body_mode(t, value, arg3, arg4); - return; - case "noframes": - in_head_mode(t, value, arg3, arg4); - return; - } - break; - case 3: // ENDTAG - if (value === "html") { - parser = after_after_frameset_mode; - return; - } - break; - } - - // ignore anything else - } - - function after_after_body_mode(t, value, arg3, arg4) { - switch(t) { - case 1: // TEXT - // If any non-space chars, handle below - if (NONWS.test(value)) break; - in_body_mode(t, value, arg3, arg4); - return; - case 4: // COMMENT - doc._appendChild(doc.createComment(value)); - return; - case 5: // DOCTYPE - in_body_mode(t, value, arg3, arg4); - return; - case -1: // EOF - stopParsing(); - return; - case 2: // TAG - if (value === "html") { - in_body_mode(t, value, arg3, arg4); - return; - } - break; - } - - // anything else - parser = in_body_mode; - parser(t, value, arg3, arg4); - } - - function after_after_frameset_mode(t, value, arg3, arg4) { - switch(t) { - case 1: // TEXT - // Ignore any non-space characters - value = value.replace(ALLNONWS, ""); - if (value.length > 0) - in_body_mode(t, value, arg3, arg4); - return; - case 4: // COMMENT - doc._appendChild(doc.createComment(value)); - return; - case 5: // DOCTYPE - in_body_mode(t, value, arg3, arg4); - return; - case -1: // EOF - stopParsing(); - return; - case 2: // TAG - switch(value) { - case "html": - in_body_mode(t, value, arg3, arg4); - return; - case "noframes": - in_head_mode(t, value, arg3, arg4); - return; - } - break; - } - - // ignore anything else - } - - - // 13.2.5.5 The rules for parsing tokens in foreign content - // - // This is like one of the insertion modes above, but is - // invoked somewhat differently when the current token is not HTML. - // See the insertToken() function. - function insertForeignToken(t, value, arg3, arg4) { - // A tag is an HTML font tag if it has a color, font, or size - // attribute. Otherwise we assume it is foreign content - function isHTMLFont(attrs) { - for(var i = 0, n = attrs.length; i < n; i++) { - switch(attrs[i][0]) { - case "color": - case "font": - case "size": - return true; - } - } - return false; - } - - var current; - - switch(t) { - case 1: // TEXT - // If any non-space, non-nul characters - if (frameset_ok && NONWSNONNUL.test(value)) - frameset_ok = false; - if (textIncludesNUL) { - value = value.replace(NULCHARS, "\uFFFD"); - } - insertText(value); - return; - case 4: // COMMENT - insertComment(value); - return; - case 5: // DOCTYPE - // ignore it - return; - case 2: // TAG - switch(value) { - case "font": - if (!isHTMLFont(arg3)) break; - /* falls through */ - case "b": - case "big": - case "blockquote": - case "body": - case "br": - case "center": - case "code": - case "dd": - case "div": - case "dl": - case "dt": - case "em": - case "embed": - case "h1": - case "h2": - case "h3": - case "h4": - case "h5": - case "h6": - case "head": - case "hr": - case "i": - case "img": - case "li": - case "listing": - case "menu": - case "meta": - case "nobr": - case "ol": - case "p": - case "pre": - case "ruby": - case "s": - case "small": - case "span": - case "strong": - case "strike": - case "sub": - case "sup": - case "table": - case "tt": - case "u": - case "ul": - case "var": - do { - stack.pop(); - current = stack.top; - } while(current.namespaceURI !== NAMESPACE.HTML && - !isMathmlTextIntegrationPoint(current) && - !isHTMLIntegrationPoint(current)); - - insertToken(t, value, arg3, arg4); // reprocess - return; - } - - // Any other start tag case goes here - current = stack.top; - if (current.namespaceURI === NAMESPACE.MATHML) { - adjustMathMLAttributes(arg3); - } - else if (current.namespaceURI === NAMESPACE.SVG) { - value = adjustSVGTagName(value); - adjustSVGAttributes(arg3); - } - adjustForeignAttributes(arg3); - - insertForeignElement(value, arg3, current.namespaceURI); - if (arg4) // the self-closing flag - stack.pop(); - return; - - case 3: // ENDTAG - current = stack.top; - if (value === "script" && - current.namespaceURI === NAMESPACE.SVG && - current.localName === "script") { - - stack.pop(); - - // XXX - // Deal with SVG scripts here - } - else { - // The any other end tag case - var i = stack.elements.length-1; - var node = stack.elements[i]; - for(;;) { - if (node.localName.toLowerCase() === value) { - stack.popElement(node); - break; - } - node = stack.elements[--i]; - // If non-html, keep looping - if (node.namespaceURI !== NAMESPACE.HTML) - continue; - // Otherwise process the end tag as html - parser(t, value, arg3, arg4); - break; - } - } - return; - } - } - - - /*** - * parsing code for character references - */ - - // Parse a character reference from s and return a codepoint or an - // array of codepoints or null if there is no valid char ref in s. - function parseCharRef(s, isattr) { - var len = s.length; - var rv; - if (len === 0) return null; // No character reference matched - - if (s[0] === "#") { // Numeric character reference - var codepoint; - - if (s[1] === "x" || s[1] === "X") { - // Hex - codepoint = parseInt(s.substring(2), 16); - } - else { - // Decimal - codepoint = parseInt(s.substring(1), 10); - } - - if (s[len-1] === ";") // If the string ends with a semicolon - nextchar += len; // Consume all the chars - else - nextchar += len-1; // Otherwise, all but the last character - - if (codepoint in numericCharRefReplacements) { - codepoint = numericCharRefReplacements[codepoint]; - } - else if (codepoint > 0x10FFFF || (codepoint >= 0xD800 && codepoint < 0xE000)) { - codepoint = 0xFFFD; - } - - if (codepoint <= 0xFFFF) return codepoint; - - codepoint = codepoint - 0x10000; - return [0xD800 + (codepoint >> 10), - 0xDC00 + (codepoint & 0x03FF)]; - } - else { - // Named character reference - // We have to be able to parse some named char refs even when - // the semicolon is omitted, but have to match the longest one - // possible. So if the lookahead doesn't end with semicolon - // then we have to loop backward looking for longest to shortest - // matches. Fortunately, the names that don't require semis - // are all between 2 and 6 characters long. - - if (s[len-1] === ";") { - rv = namedCharRefs[s]; - if (rv !== undefined) { - nextchar += len; // consume all the characters - return rv; - } - } - - // If it didn't end with a semicolon, see if we can match - // everything but the terminating character - len--; // Ignore whatever the terminating character is - rv = namedCharRefsNoSemi[s.substring(0, len)]; - if (rv !== undefined) { - nextchar += len; - return rv; - } - - // If it still didn't match, and we're not parsing a - // character reference in an attribute value, then try - // matching shorter substrings. - if (!isattr) { - len--; - if (len > 6) len = 6; // Maximum possible match length - while(len >= 2) { - rv = namedCharRefsNoSemi[s.substring(0, len)]; - if (rv !== undefined) { - nextchar += len; - return rv; - } - len--; - } - } - - // Couldn't find any match - return null; - } - } - - - /*** - * Finally, this is the end of the HTMLParser() factory function. - * It returns the htmlparser object with the append() and end() methods. - */ - - // Sneak another method into the htmlparser object to allow us to run - // tokenizer tests. This can be commented out in production code. - // This is a hook for testing the tokenizer. It has to be here - // because the tokenizer details are all hidden away within the closure. - // It should return an array of tokens generated while parsing the - // input string. - htmlparser.testTokenizer = function(input, initialState, lastStartTag, charbychar) { - var tokens = []; - - switch(initialState) { - case "PCDATA state": - tokenizer = data_state; - break; - case "RCDATA state": - tokenizer = rcdata_state; - break; - case "RAWTEXT state": - tokenizer = rawtext_state; - break; - case "PLAINTEXT state": - tokenizer = plaintext_state; - break; - } - - if (lastStartTag) { - lasttagname = lastStartTag; - } - - insertToken = function(t, value, arg3, arg4) { - flushText(); - switch(t) { - case 1: // TEXT - if (tokens.length > 0 && - tokens[tokens.length-1][0] === "Character") { - tokens[tokens.length-1][1] += value; - } - else push(tokens, ["Character", value]); - break; - case 4: // COMMENT - push(tokens,["Comment", value]); - break; - case 5: // DOCTYPE - push(tokens,["DOCTYPE", value, - arg3 === undefined ? null : arg3, - arg4 === undefined ? null : arg4, - !force_quirks]); - break; - case 2: // TAG - var attrs = {}; - for(var i = 0; i < arg3.length; i++) { - // XXX: does attribute order matter? - var a = arg3[i]; - if (a.length === 1) { - attrs[a[0]] = ""; - } - else { - attrs[a[0]] = a[1]; - } - } - var token = ["StartTag", value, attrs]; - if (arg4) token.push(true); - tokens.push(token); - break; - case 3: // ENDTAG - tokens.push(["EndTag", value]); - break; - case -1: // EOF - break; - } - }; - - if (!charbychar) { - this.parse(input, true); - } - else { - for(var i = 0; i < input.length; i++) { - this.parse(input[i]); - } - this.parse("", true); - } - return tokens; - }; - - // Return the parser object from the HTMLParser() factory function - return htmlparser; -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/Leaf.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/Leaf.js deleted file mode 100644 index 794d5bc..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/Leaf.js +++ /dev/null @@ -1,24 +0,0 @@ -module.exports = Leaf; - -var HierarchyRequestError = require('./utils').HierarchyRequestError; -var Node = require('./Node'); -var NodeList = require('./NodeList'); - -// This class defines common functionality for node subtypes that -// can never have children -function Leaf() { -} - -Leaf.prototype = Object.create(Node.prototype, { - hasChildNodes: { value: function() { return false; }}, - firstChild: { value: null }, - lastChild: { value: null }, - insertBefore: { value: HierarchyRequestError }, - replaceChild: { value: HierarchyRequestError }, - removeChild: { value: HierarchyRequestError }, - appendChild: { value: HierarchyRequestError }, - childNodes: { get: function() { - if (!this._childNodes) this._childNodes = []; - return this._childNodes; - }} -}); diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/Location.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/Location.js deleted file mode 100644 index a528705..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/Location.js +++ /dev/null @@ -1,58 +0,0 @@ -var URL = require('./URL'); -var URLDecompositionAttributes = require('./URLDecompositionAttributes'); - -module.exports = Location; - -function Location(window, href) { - this._window = window; - this._href = href; -} - -Location.prototype = Object.create(URLDecompositionAttributes.prototype, { - constructor: { value: Location }, - // The concrete methods that the superclass needs - getInput: { value: function() { return this.href; }}, - setOutput: { value: function(v) { this.href = v; }}, - - // Special behavior when href is set - href: { - get: function() { return this._href; }, - set: function(v) { this.assign(v); } - }, - - assign: { value: function(url) { - // Resolve the new url against the current one - // XXX: - // This is not actually correct. It should be resolved against - // the URL of the document of the script. For now, though, I only - // support a single window and there is only one base url. - // So this is good enough for now. - var current = new URL(this._href); - var newurl = current.resolve(url); - - // Save the new url - this._href = newurl; - - // Start loading the new document! - // XXX - // This is just something hacked together. - // The real algorithm is: http://www.whatwg.org/specs/web-apps/current-work/multipage/history.html#navigate - }}, - - replace: { value: function(url) { - // XXX - // Since we aren't tracking history yet, replace is the same as assign - this.assign(url); - }}, - - reload: { value: function() { - // XXX: - // Actually, the spec is a lot more complicated than this - this.assign(this.href); - }}, - - toString: { value: function() { - return this.href; - }} - -}); diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/MouseEvent.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/MouseEvent.js deleted file mode 100644 index 1c8820f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/MouseEvent.js +++ /dev/null @@ -1,51 +0,0 @@ -var UIEvent = require('./UIEvent'); - -module.exports = MouseEvent; - -function MouseEvent() { - // Just use the superclass constructor to initialize - UIEvent.call(this); - - this.screenX = this.screenY = this.clientX = this.clientY = 0; - this.ctrlKey = this.altKey = this.shiftKey = this.metaKey = false; - this.button = 0; - this.buttons = 1; - this.relatedTarget = null; -} -MouseEvent.prototype = Object.create(UIEvent.prototype, { - constructor: { value: MouseEvent }, - initMouseEvent: { value: function(type, bubbles, cancelable, - view, detail, - screenX, screenY, clientX, clientY, - ctrlKey, altKey, shiftKey, metaKey, - button, relatedTarget) { - - this.initEvent(type, bubbles, cancelable, view, detail); - this.screenX = screenX; - this.screenY = screenY; - this.clientX = clientX; - this.clientY = clientY; - this.ctrlKey = ctrlKey; - this.altKey = altKey; - this.shiftKey = shiftKey; - this.metaKey = metaKey; - this.button = button; - switch(button) { - case 0: this.buttons = 1; break; - case 1: this.buttons = 4; break; - case 2: this.buttons = 2; break; - default: this.buttons = 0; break; - } - this.relatedTarget = relatedTarget; - }}, - - getModifierState: { value: function(key) { - switch(key) { - case "Alt": return this.altKey; - case "Control": return this.ctrlKey; - case "Shift": return this.shiftKey; - case "Meta": return this.metaKey; - default: return false; - } - }} -}); diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/MutationConstants.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/MutationConstants.js deleted file mode 100644 index 315342e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/MutationConstants.js +++ /dev/null @@ -1,8 +0,0 @@ -module.exports = { - VALUE: 1, // The value of a Text, Comment or PI node changed - ATTR: 2, // A new attribute was added or an attribute value and/or prefix changed - REMOVE_ATTR: 3, // An attribute was removed - REMOVE: 4, // A node was removed - MOVE: 5, // A node was moved - INSERT: 6 // A node (or a subtree of nodes) was inserted -}; \ No newline at end of file diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/Node.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/Node.js deleted file mode 100644 index 5cc083d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/Node.js +++ /dev/null @@ -1,641 +0,0 @@ -module.exports = Node; - -var EventTarget = require('./EventTarget'); -var utils = require('./utils'); -var NAMESPACE = utils.NAMESPACE; - -// All nodes have a nodeType and an ownerDocument. -// Once inserted, they also have a parentNode. -// This is an abstract class; all nodes in a document are instances -// of a subtype, so all the properties are defined by more specific -// constructors. -function Node() { -} - -var ELEMENT_NODE = Node.ELEMENT_NODE = 1; -var ATTRIBUTE_NODE = Node.ATTRIBUTE_NODE = 2; -var TEXT_NODE = Node.TEXT_NODE = 3; -var CDATA_SECTION_NODE = Node.CDATA_SECTION_NODE = 4; -var ENTITY_REFERENCE_NODE = Node.ENTITY_REFERENCE_NODE = 5; -var ENTITY_NODE = Node.ENTITY_NODE = 6; -var PROCESSING_INSTRUCTION_NODE = Node.PROCESSING_INSTRUCTION_NODE = 7; -var COMMENT_NODE = Node.COMMENT_NODE = 8; -var DOCUMENT_NODE = Node.DOCUMENT_NODE = 9; -var DOCUMENT_TYPE_NODE = Node.DOCUMENT_TYPE_NODE = 10; -var DOCUMENT_FRAGMENT_NODE = Node.DOCUMENT_FRAGMENT_NODE = 11; -var NOTATION_NODE = Node.NOTATION_NODE = 12; - -var DOCUMENT_POSITION_DISCONNECTED = Node.DOCUMENT_POSITION_DISCONNECTED = 0x01; -var DOCUMENT_POSITION_PRECEDING = Node.DOCUMENT_POSITION_PRECEDING = 0x02; -var DOCUMENT_POSITION_FOLLOWING = Node.DOCUMENT_POSITION_FOLLOWING = 0x04; -var DOCUMENT_POSITION_CONTAINS = Node.DOCUMENT_POSITION_CONTAINS = 0x08; -var DOCUMENT_POSITION_CONTAINED_BY = Node.DOCUMENT_POSITION_CONTAINED_BY = 0x10; -var DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 0x20; - -var hasRawContent = { - STYLE: true, - SCRIPT: true, - XMP: true, - IFRAME: true, - NOEMBED: true, - NOFRAMES: true, - PLAINTEXT: true, - NOSCRIPT: true -}; - -var emptyElements = { - area: true, - base: true, - basefont: true, - bgsound: true, - br: true, - col: true, - command: true, - embed: true, - frame: true, - hr: true, - img: true, - input: true, - keygen: true, - link: true, - meta: true, - param: true, - source: true, - track: true, - wbr: true -}; - -var extraNewLine = { - pre: true, - textarea: true, - listing: true -}; - -Node.prototype = Object.create(EventTarget.prototype, { - - // Node that are not inserted into the tree inherit a null parent - parentNode: { value: null, writable: true }, - - // XXX: the baseURI attribute is defined by dom core, but - // a correct implementation of it requires HTML features, so - // we'll come back to this later. - baseURI: { get: utils.nyi }, - - parentElement: { get: function() { - return (this.parentNode && this.parentNode.nodeType===ELEMENT_NODE) ? this.parentNode : null; - }}, - - hasChildNodes: { value: function() { // Overridden in leaf.js - return this.childNodes.length > 0; - }}, - - firstChild: { get: function() { - return this.childNodes.length === 0 ? null : this.childNodes[0]; - }}, - - lastChild: { get: function() { - return this.childNodes.length === 0 ? null : this.childNodes[this.childNodes.length-1]; - }}, - - previousSibling: { get: function() { - if (!this.parentNode) return null; - var sibs = this.parentNode.childNodes, i = this.index; - return i === 0 ? null : sibs[i-1]; - }}, - - nextSibling: { get: function() { - if (!this.parentNode) return null; - var sibs = this.parentNode.childNodes, i = this.index; - return i+1 === sibs.length ? null : sibs[i+1]; - }}, - - insertBefore: { value: function insertBefore(child, refChild) { - var parent = this; - if (refChild === null) return this.appendChild(child); - if (refChild.parentNode !== parent) utils.NotFoundError(); - if (child.isAncestor(parent)) utils.HierarchyRequestError(); - if (child.nodeType === DOCUMENT_NODE) utils.HierarchyRequestError(); - parent.ensureSameDoc(child); - child.insert(parent, refChild.index); - return child; - }}, - - - appendChild: { value: function(child) { - var parent = this; - if (child.isAncestor(parent)) { - utils.HierarchyRequestError(); - } - if (child.nodeType === DOCUMENT_NODE) utils.HierarchyRequestError(); - parent.ensureSameDoc(child); - return parent._appendChild(child); - }}, - - _appendChild: { value: function(child) { - child.insert(this, this.childNodes.length); - return child; - }}, - - removeChild: { value: function removeChild(child) { - var parent = this; - if (child.parentNode !== parent) utils.NotFoundError(); - child.remove(); - return child; - }}, - - replaceChild: { value: function replaceChild(newChild, oldChild) { - var parent = this; - if (oldChild.parentNode !== parent) utils.NotFoundError(); - if (newChild.isAncestor(parent)) utils.HierarchyRequestError(); - parent.ensureSameDoc(newChild); - - var refChild = oldChild.nextSibling; - oldChild.remove(); - parent.insertBefore(newChild, refChild); - return oldChild; - }}, - - compareDocumentPosition: { value: function compareDocumentPosition(that){ - // Basic algorithm for finding the relative position of two nodes. - // Make a list the ancestors of each node, starting with the - // document element and proceeding down to the nodes themselves. - // Then, loop through the lists, looking for the first element - // that differs. The order of those two elements give the - // order of their descendant nodes. Or, if one list is a prefix - // of the other one, then that node contains the other. - - if (this === that) return 0; - - // If they're not owned by the same document or if one is rooted - // and one is not, then they're disconnected. - if (this.doc != that.doc || - this.rooted !== that.rooted) - return (DOCUMENT_POSITION_DISCONNECTED + - DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC); - - // Get arrays of ancestors for this and that - var these = [], those = []; - for(var n = this; n !== null; n = n.parentNode) these.push(n); - for(n = that; n !== null; n = n.parentNode) those.push(n); - these.reverse(); // So we start with the outermost - those.reverse(); - - if (these[0] !== those[0]) // No common ancestor - return (DOCUMENT_POSITION_DISCONNECTED + - DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC); - - n = Math.min(these.length, those.length); - for(var i = 1; i < n; i++) { - if (these[i] !== those[i]) { - // We found two different ancestors, so compare - // their positions - if (these[i].index < those[i].index) - return DOCUMENT_POSITION_FOLLOWING; - else - return DOCUMENT_POSITION_PRECEDING; - } - } - - // If we get to here, then one of the nodes (the one with the - // shorter list of ancestors) contains the other one. - if (these.length < those.length) - return (DOCUMENT_POSITION_FOLLOWING + - DOCUMENT_POSITION_CONTAINED_BY); - else - return (DOCUMENT_POSITION_PRECEDING + - DOCUMENT_POSITION_CONTAINS); - }}, - - isSameNode: {value : function isSameNode(node) { - return this === node; - }}, - - - // This method implements the generic parts of node equality testing - // and defers to the (non-recursive) type-specific isEqual() method - // defined by subclasses - isEqualNode: { value: function isEqualNode(node) { - if (!node) return false; - if (node.nodeType !== this.nodeType) return false; - - // Check for same number of children - // Check for children this way because it is more efficient - // for childless leaf nodes. - var n; // number of child nodes - if (!this.firstChild) { - n = 0; - if (node.firstChild) return false; - } - else { - n = this.childNodes.length; - if (node.childNodes.length != n) return false; - } - - // Check type-specific properties for equality - if (!this.isEqual(node)) return false; - - // Now check children for equality - for(var i = 0; i < n; i++) { - var c1 = this.childNodes[i], c2 = node.childNodes[i]; - if (!c1.isEqualNode(c2)) return false; - } - - return true; - }}, - - // This method delegates shallow cloning to a clone() method - // that each concrete subclass must implement - cloneNode: { value: function(deep) { - // Clone this node - var clone = this.clone(); - - // Handle the recursive case if necessary - if (deep && this.firstChild) { - for(var i = 0, n = this.childNodes.length; i < n; i++) { - clone._appendChild(this.childNodes[i].cloneNode(true)); - } - } - - return clone; - }}, - - lookupPrefix: { value: function lookupPrefix(ns) { - var e; - if (ns === '') return null; - switch(this.nodeType) { - case ELEMENT_NODE: - return this.locateNamespacePrefix(ns); - case DOCUMENT_NODE: - e = this.documentElement; - return e ? e.locateNamespacePrefix(ns) : null; - case DOCUMENT_TYPE_NODE: - case DOCUMENT_FRAGMENT_NODE: - return null; - default: - e = this.parentElement; - return e ? e.locateNamespacePrefix(ns) : null; - } - }}, - - - lookupNamespaceURI: {value: function lookupNamespaceURI(prefix) { - var e; - switch(this.nodeType) { - case ELEMENT_NODE: - return this.locateNamespace(prefix); - case DOCUMENT_NODE: - e = this.documentElement; - return e ? e.locateNamespace(prefix) : null; - case DOCUMENT_TYPE_NODE: - case DOCUMENT_FRAGMENT_NODE: - return null; - default: - e = this.parentElement; - return e ? e.locateNamespace(prefix) : null; - } - }}, - - isDefaultNamespace: { value: function isDefaultNamespace(ns) { - var defaultns = this.lookupNamespaceURI(null); - if (defaultns == null) defaultns = ''; - return ns === defaultns; - }}, - - // Utility methods for nodes. Not part of the DOM - - // Return the index of this node in its parent. - // Throw if no parent, or if this node is not a child of its parent - index: { get: function() { - utils.assert(this.parentNode); - var kids = this.parentNode.childNodes; - if (this._index == undefined || kids[this._index] != this) { - this._index = kids.indexOf(this); - utils.assert(this._index != -1); - } - return this._index; - }}, - - // Return true if this node is equal to or is an ancestor of that node - // Note that nodes are considered to be ancestors of themselves - isAncestor: { value: function(that) { - // If they belong to different documents, then they're unrelated. - if (this.doc != that.doc) return false; - // If one is rooted and one isn't then they're not related - if (this.rooted !== that.rooted) return false; - - // Otherwise check by traversing the parentNode chain - for(var e = that; e; e = e.parentNode) { - if (e === this) return true; - } - return false; - }}, - - // DOMINO Changed the behavior to conform with the specs. See: - // https://groups.google.com/d/topic/mozilla.dev.platform/77sIYcpdDmc/discussion - ensureSameDoc: { value: function(that) { - if (that.ownerDocument === null) { - that.ownerDocument = this.doc; - } - else if(that.ownerDocument !== this.doc) { - utils.WrongDocumentError(); - } - }}, - - // Remove this node from its parent - remove: { value: function remove() { - // Send mutation events if necessary - if (this.rooted) this.doc.mutateRemove(this); - - // Remove this node from its parents array of children - this.parentNode.childNodes.splice(this.index, 1); - - // Update the structure id for all ancestors - this.parentNode.modify(); - - // Forget this node's parent - this.parentNode = undefined; - }}, - - // Remove all of this node's children. This is a minor - // optimization that only calls modify() once. - removeChildren: { value: function removeChildren() { - var n = this.childNodes.length; - if (n) { - var root = this.rooted ? this.ownerDocument : null; - for(var i = 0; i < n; i++) { - if (root) root.mutateRemove(this.childNodes[i]); - this.childNodes[i].parentNode = undefined; - } - this.childNodes.length = 0; // Forget all children - this.modify(); // Update last modified type once only - } - }}, - - // Insert this node as a child of parent at the specified index, - // firing mutation events as necessary - insert: { value: function insert(parent, index) { - var child = this, kids = parent.childNodes; - - // If we are already a child of the specified parent, then t - // the index may have to be adjusted. - if (child.parentNode === parent) { - var currentIndex = child.index; - // If we're not moving the node, we're done now - // XXX: or do DOM mutation events still have to be fired? - if (currentIndex === index) return; - - // If the child is before the spot it is to be inserted at, - // then when it is removed, the index of that spot will be - // reduced. - if (currentIndex < index) index--; - } - - // Special case for document fragments - // XXX: it is not at all clear that I'm handling this correctly. - // Scripts should never get to see partially - // inserted fragments, I think. See: - // http://lists.w3.org/Archives/Public/www-dom/2011OctDec/0130.html - if (child.nodeType === DOCUMENT_FRAGMENT_NODE) { - var c; - while((c = child.firstChild)) - c.insert(parent, index++); - return; - } - - // If both the child and the parent are rooted, then we want to - // transplant the child without uprooting and rerooting it. - if (child.rooted && parent.rooted) { - // Remove the child from its current position in the tree - // without calling remove(), since we don't want to uproot it. - var curpar = child.parentNode, curidx = child.index; - child.parentNode.childNodes.splice(child.index, 1); - curpar.modify(); - - // And insert it as a child of its new parent - child.parentNode = parent; - kids.splice(index, 0, child); - child._index = index; // Optimization - parent.modify(); - - // Generate a move mutation event - parent.doc.mutateMove(child); - } - else { - // If the child already has a parent, it needs to be - // removed from that parent, which may also uproot it - if (child.parentNode) child.remove(); - - // Now insert the child into the parent's array of children - child.parentNode = parent; - kids.splice(index, 0, child); - - child._index = index; // Optimization - - // And root the child if necessary - if (parent.rooted) { - parent.modify(); - parent.doc.mutateInsert(child); - } - } - }}, - - - // Return the lastModTime value for this node. (For use as a - // cache invalidation mechanism. If the node does not already - // have one, initialize it from the owner document's modclock - // property. (Note that modclock does not return the actual - // time; it is simply a counter incremented on each document - // modification) - lastModTime: { get: function() { - if (!this._lastModTime) { - this._lastModTime = this.doc.modclock; - } - return this._lastModTime; - }}, - - // Increment the owner document's modclock and use the new - // value to update the lastModTime value for this node and - // all of its ancestors. Nodes that have never had their - // lastModTime value queried do not need to have a - // lastModTime property set on them since there is no - // previously queried value to ever compare the new value - // against, so only update nodes that already have a - // _lastModTime property. - modify: { value: function() { - if (this.doc.modclock) { // Skip while doc.modclock == 0 - var time = ++this.doc.modclock; - for(var n = this; n; n = n.parentElement) { - if (n._lastModTime) { - n._lastModTime = time; - } - } - } - }}, - - // This attribute is not part of the DOM but is quite helpful. - // It returns the document with which a node is associated. Usually - // this is the ownerDocument. But ownerDocument is null for the - // document object itself, so this is a handy way to get the document - // regardless of the node type - doc: { get: function() { - return this.ownerDocument || this; - }}, - - - // If the node has a nid (node id), then it is rooted in a document - rooted: { get: function() { - return !!this._nid; - }}, - - normalize: { value: function() { - for (var i=0; i < this.childNodes.length; i++) { - var child = this.childNodes[i]; - - if (child.normalize) { - child.normalize(); - } - - if (child.nodeValue === "") { - this.removeChild(child); - i--; - continue; - } - - if (i) { - var prevChild = this.childNodes[i-1]; - - if (child.nodeType === Node.TEXT_NODE && - prevChild.nodeType === Node.TEXT_NODE) { - - // remove the child and decrement i - prevChild.appendData(child.nodeValue); - - this.removeChild(child); - i--; - } - } - } - }}, - - // Convert the children of a node to an HTML string. - // This is used by the innerHTML getter - // The serialization spec is at: - // http://www.whatwg.org/specs/web-apps/current-work/multipage/the-end.html#serializing-html-fragments - serialize: { value: function() { - var s = ''; - for(var i = 0, n = this.childNodes.length; i < n; i++) { - var kid = this.childNodes[i]; - switch(kid.nodeType) { - case 1: //ELEMENT_NODE - var ns = kid.namespaceURI; - var html = ns == NAMESPACE.HTML; - var tagname = (html || ns == NAMESPACE.SVG || ns == NAMESPACE.MATHML) ? kid.localName : kid.tagName; - - s += '<' + tagname; - - for(var j = 0, k = kid._numattrs; j < k; j++) { - var a = kid._attr(j); - s += ' ' + attrname(a); - if (a.value !== undefined) s += '="' + escapeAttr(a.value) + '"'; - } - s += '>'; - - if (!(html && emptyElements[tagname])) { - var ss = kid.serialize(); - if (html && extraNewLine[tagname] && ss.charAt(0)==='\n') s += '\n'; - // Serialize children and add end tag for all others - s += ss; - s += ''; - } - break; - case 3: //TEXT_NODE - case 4: //CDATA_SECTION_NODE - var parenttag; - if (this.nodeType === ELEMENT_NODE && - this.namespaceURI === NAMESPACE.HTML) - parenttag = this.tagName; - else - parenttag = ''; - - s += hasRawContent[parenttag] ? kid.data : escape(kid.data); - break; - case 8: //COMMENT_NODE - s += ''; - break; - case 7: //PROCESSING_INSTRUCTION_NODE - s += ''; - break; - case 10: //DOCUMENT_TYPE_NODE - s += ''; - break; - default: - utils.InvalidState(); - } - } - - return s; - }}, - - // mirror node type properties in the prototype, so they are present - // in instances of Node (and subclasses) - ELEMENT_NODE: { value: ELEMENT_NODE }, - ATTRIBUTE_NODE: { value: ATTRIBUTE_NODE }, - TEXT_NODE: { value: TEXT_NODE }, - CDATA_SECTION_NODE: { value: CDATA_SECTION_NODE }, - ENTITY_REFERENCE_NODE: { value: ENTITY_REFERENCE_NODE }, - ENTITY_NODE: { value: ENTITY_NODE }, - PROCESSING_INSTRUCTION_NODE: { value: PROCESSING_INSTRUCTION_NODE }, - COMMENT_NODE: { value: COMMENT_NODE }, - DOCUMENT_NODE: { value: DOCUMENT_NODE }, - DOCUMENT_TYPE_NODE: { value: DOCUMENT_TYPE_NODE }, - DOCUMENT_FRAGMENT_NODE: { value: DOCUMENT_FRAGMENT_NODE }, - NOTATION_NODE: { value: NOTATION_NODE } -}); - -function escape(s) { - return s.replace(/[&<>\u00A0]/g, function(c) { - switch(c) { - case '&': return '&'; - case '<': return '<'; - case '>': return '>'; - case '\u00A0': return ' '; - } - }); -} - -function escapeAttr(s) { - return s.replace(/[&"\u00A0]/g, function(c) { - switch(c) { - case '&': return '&'; - case '"': return '"'; - case '\u00A0': return ' '; - } - }); -} - -function attrname(a) { - var ns = a.namespaceURI; - if (!ns) - return a.localName; - if (ns == NAMESPACE.XML) - return 'xml:' + a.localName; - if (ns == NAMESPACE.XLINK) - return 'xlink:' + a.localName; - - if (ns == NAMESPACE.XMLNS) { - if (a.localName === 'xmlns') return 'xmlns'; - else return 'xmlns:' + a.localName; - } - return a.name; -} - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/NodeFilter.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/NodeFilter.js deleted file mode 100644 index db9697e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/NodeFilter.js +++ /dev/null @@ -1,23 +0,0 @@ -var NodeFilter = { - // Constants for acceptNode() - FILTER_ACCEPT: 1, - FILTER_REJECT: 2, - FILTER_SKIP: 3, - - // Constants for whatToShow - SHOW_ALL: 0xFFFFFFFF, - SHOW_ELEMENT: 0x1, - SHOW_ATTRIBUTE: 0x2, // historical - SHOW_TEXT: 0x4, - SHOW_CDATA_SECTION: 0x8, // historical - SHOW_ENTITY_REFERENCE: 0x10, // historical - SHOW_ENTITY: 0x20, // historical - SHOW_PROCESSING_INSTRUCTION: 0x40, - SHOW_COMMENT: 0x80, - SHOW_DOCUMENT: 0x100, - SHOW_DOCUMENT_TYPE: 0x200, - SHOW_DOCUMENT_FRAGMENT: 0x400, - SHOW_NOTATION: 0x800 // historical -}; - -module.exports = (NodeFilter.constructor = NodeFilter.prototype = NodeFilter); diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/NodeList.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/NodeList.js deleted file mode 100644 index b67d655..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/NodeList.js +++ /dev/null @@ -1,11 +0,0 @@ -module.exports = NodeList; - -function item(i) { - return this[i]; -} - -function NodeList(a) { - if (!a) a = []; - a.item = item; - return a; -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/ProcessingInstruction.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/ProcessingInstruction.js deleted file mode 100644 index c18d382..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/ProcessingInstruction.js +++ /dev/null @@ -1,35 +0,0 @@ -module.exports = ProcessingInstruction; - -var Node = require('./Node'); -var Leaf = require('./Leaf'); - -function ProcessingInstruction(doc, target, data) { - this.nodeType = Node.PROCESSING_INSTRUCTION_NODE; - this.ownerDocument = doc; - this.target = target; - this._data = data; -} - -var nodeValue = { - get: function() { return this._data; }, - set: function(v) { - this._data = v; - if (this.rooted) this.ownerDocument.mutateValue(this); - } -}; - -ProcessingInstruction.prototype = Object.create(Leaf.prototype, { - nodeName: { get: function() { return this.target; }}, - nodeValue: nodeValue, - textContent: nodeValue, - data: nodeValue, - - // Utility methods - clone: { value: function clone() { - return new ProcessingInstruction(this.ownerDocument, this.target, this._data); - }}, - isEqual: { value: function isEqual(n) { - return this.target === n.target && this._data === n._data; - }} - -}); diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/Text.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/Text.js deleted file mode 100644 index be40ff7..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/Text.js +++ /dev/null @@ -1,61 +0,0 @@ -module.exports = Text; - -var utils = require('./utils'); -var Node = require('./Node'); -var CharacterData = require('./CharacterData'); - -function Text(doc, data) { - this.nodeType = Node.TEXT_NODE; - this.ownerDocument = doc; - this._data = data; - this._index = undefined; -} - -var nodeValue = { - get: function() { return this._data; }, - set: function(v) { - if (v === this._data) return; - this._data = v; - if (this.rooted) - this.ownerDocument.mutateValue(this); - if (this.parentNode && - this.parentNode._textchangehook) - this.parentNode._textchangehook(this); - } -}; - -Text.prototype = Object.create(CharacterData.prototype, { - nodeName: { value: "#text" }, - // These three attributes are all the same. - // The data attribute has a [TreatNullAs=EmptyString] but we'll - // implement that at the interface level - nodeValue: nodeValue, - textContent: nodeValue, - data: nodeValue, - - splitText: { value: function splitText(offset) { - if (offset > this._data.length || offset < 0) utils.IndexSizeError(); - - var newdata = this._data.substring(offset), - newnode = this.ownerDocument.createTextNode(newdata); - this.data = this.data.substring(0, offset); - - var parent = this.parentNode; - if (parent !== null) - parent.insertBefore(newnode, this.nextSibling); - - return newnode; - }}, - - // XXX - // wholeText and replaceWholeText() are not implemented yet because - // the DOMCore specification is considering removing or altering them. - wholeText: {get: utils.nyi }, - replaceWholeText: { value: utils.nyi }, - - // Utility methods - clone: { value: function clone() { - return new Text(this.ownerDocument, this._data); - }}, - -}); diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/TreeWalker.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/TreeWalker.js deleted file mode 100644 index 2bfe662..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/TreeWalker.js +++ /dev/null @@ -1,311 +0,0 @@ -module.exports = TreeWalker; - -var NodeFilter = require('./NodeFilter'); - -var mapChild = { - first: 'firstChild', - last: 'lastChild', - next: 'firstChild', - previous: 'lastChild' -}; - -var mapSibling = { - next: 'nextSibling', - previous: 'previousSibling' -}; - -/* Private methods and helpers */ - -/** - * @spec http://www.w3.org/TR/dom/#concept-traverse-children - * @method - * @access private - * @param {TreeWalker} tw - * @param {string} type One of 'first' or 'last'. - * @return {Node|null} - */ -function traverseChildren(tw, type) { - var child, node, parent, result, sibling; - node = tw.currentNode[mapChild[type]]; - while (node !== null) { - result = tw.filter.acceptNode(node); - if (result === NodeFilter.FILTER_ACCEPT) { - tw.currentNode = node; - return node; - } - if (result === NodeFilter.FILTER_SKIP) { - child = node[mapChild[type]]; - if (child !== null) { - node = child; - continue; - } - } - while (node !== null) { - sibling = node[mapChild[type]]; - if (sibling !== null) { - node = sibling; - break; - } - parent = node.parentNode; - if (parent === null || parent === tw.root || parent === tw.currentNode) { - return null; - } - else { - node = parent; - } - } - } - return null; -}; - -/** - * @spec http://www.w3.org/TR/dom/#concept-traverse-siblings - * @method - * @access private - * @param {TreeWalker} tw - * @param {TreeWalker} type One of 'next' or 'previous'. - * @return {Node|nul} - */ -function traverseSiblings(tw, type) { - var node, result, sibling; - node = tw.currentNode; - if (node === tw.root) { - return null; - } - while (true) { - sibling = node[mapSibling[type]]; - while (sibling !== null) { - node = sibling; - result = tw.filter.acceptNode(node); - if (result === NodeFilter.FILTER_ACCEPT) { - tw.currentNode = node; - return node; - } - sibling = node[mapChild[type]]; - if (result === NodeFilter.FILTER_REJECT) { - sibling = node[mapSibling[type]]; - } - } - node = node.parentNode; - if (node === null || node === tw.root) { - return null; - } - if (tw.filter.acceptNode(node) === NodeFilter.FILTER_ACCEPT) { - return null; - } - } -}; - -/** - * @based on WebKit's NodeTraversal::nextSkippingChildren - * https://trac.webkit.org/browser/trunk/Source/WebCore/dom/NodeTraversal.h?rev=137221#L103 - */ -function nextSkippingChildren(node, stayWithin) { - if (node === stayWithin) { - return null; - } - if (node.nextSibling !== null) { - return node.nextSibling; - } - - /** - * @based on WebKit's NodeTraversal::nextAncestorSibling - * https://trac.webkit.org/browser/trunk/Source/WebCore/dom/NodeTraversal.cpp?rev=137221#L43 - */ - while (node.parentNode !== null) { - node = node.parentNode; - if (node === stayWithin) { - return null; - } - if (node.nextSibling !== null) { - return node.nextSibling; - } - } - return null; -}; - -/* Public API */ - -/** - * Implemented version: http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker - * Latest version: http://www.w3.org/TR/dom/#interface-treewalker - * - * @constructor - * @param {Node} root - * @param {number} whatToShow [optional] - * @param {Function} filter [optional] - * @throws Error - */ -function TreeWalker(root, whatToShow, filter) { - var tw = this, active = false; - - if (!root || !root.nodeType) { - throw new Error('DOMException: NOT_SUPPORTED_ERR'); - } - - tw.root = root; - tw.whatToShow = Number(whatToShow) || 0; - - tw.currentNode = root; - - if (typeof filter == 'function') { - filter = null; - } - - tw.filter = Object.create(NodeFilter.prototype); - - /** - * @method - * @param {Node} node - * @return {Number} Constant NodeFilter.FILTER_ACCEPT, - * NodeFilter.FILTER_REJECT or NodeFilter.FILTER_SKIP. - */ - tw.filter.acceptNode = function (node) { - var result; - if (active) { - throw new Error('DOMException: INVALID_STATE_ERR'); - } - - // Maps nodeType to whatToShow - if (!(((1 << (node.nodeType - 1)) & tw.whatToShow))) { - return NodeFilter.FILTER_SKIP; - } - - if (filter === null) { - return NodeFilter.FILTER_ACCEPT; - } - - active = true; - result = filter(node); - active = false; - - return result; - }; -}; - -TreeWalker.prototype = { - - constructor: TreeWalker, - - /** - * @spec http://www.w3.org/TR/dom/#dom-treewalker-parentnode - * @method - * @return {Node|null} - */ - parentNode: function () { - var node = this.currentNode; - while (node !== null && node !== this.root) { - node = node.parentNode; - if (node !== null && this.filter.acceptNode(node) === NodeFilter.FILTER_ACCEPT) { - this.currentNode = node; - return node; - } - } - return null; - }, - - /** - * @spec http://www.w3.org/TR/dom/#dom-treewalker-firstchild - * @method - * @return {Node|null} - */ - firstChild: function () { - return traverseChildren(this, 'first'); - }, - - /** - * @spec http://www.w3.org/TR/dom/#dom-treewalker-lastchild - * @method - * @return {Node|null} - */ - lastChild: function () { - return traverseChildren(this, 'last'); - }, - - /** - * @spec http://www.w3.org/TR/dom/#dom-treewalker-previoussibling - * @method - * @return {Node|null} - */ - previousSibling: function () { - return traverseSiblings(this, 'previous'); - }, - - /** - * @spec http://www.w3.org/TR/dom/#dom-treewalker-nextsibling - * @method - * @return {Node|null} - */ - nextSibling: function () { - return traverseSiblings(this, 'next'); - }, - - /** - * @spec http://www.w3.org/TR/dom/#dom-treewalker-previousnode - * @method - * @return {Node|null} - */ - previousNode: function () { - var node, result, sibling; - node = this.currentNode; - while (node !== this.root) { - sibling = node.previousSibling; - while (sibling !== null) { - node = sibling; - result = this.filter.acceptNode(node); - while (result !== NodeFilter.FILTER_REJECT && node.lastChild !== null) { - node = node.lastChild; - result = this.filter.acceptNode(node); - } - if (result === NodeFilter.FILTER_ACCEPT) { - this.currentNode = node; - return node; - } - } - if (node === this.root || node.parentNode === null) { - return null; - } - node = node.parentNode; - if (this.filter.acceptNode(node) === NodeFilter.FILTER_ACCEPT) { - this.currentNode = node; - return node; - } - } - return null; - }, - - /** - * @spec http://www.w3.org/TR/dom/#dom-treewalker-nextnode - * @method - * @return {Node|null} - */ - nextNode: function () { - var node, result, following; - node = this.currentNode; - result = NodeFilter.FILTER_ACCEPT; - - while (true) { - while (result !== NodeFilter.FILTER_REJECT && node.firstChild !== null) { - node = node.firstChild; - result = this.filter.acceptNode(node); - if (result === NodeFilter.FILTER_ACCEPT) { - this.currentNode = node; - return node; - } - } - following = nextSkippingChildren(node, this.root); - if (following !== null) { - node = following; - } - else { - return null; - } - result = this.filter.acceptNode(node); - if (result === NodeFilter.FILTER_ACCEPT) { - this.currentNode = node; - return node; - } - } - } -}; - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/UIEvent.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/UIEvent.js deleted file mode 100644 index 6cd5e5f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/UIEvent.js +++ /dev/null @@ -1,18 +0,0 @@ -var Event = require('./Event'); - -module.exports = UIEvent; - -function UIEvent() { - // Just use the superclass constructor to initialize - Event.call(this); - this.view = null; // FF uses the current window - this.detail = 0; -} -UIEvent.prototype = Object.create(Event.prototype, { - constructor: { value: UIEvent }, - initUIEvent: { value: function(type, bubbles, cancelable, view, detail) { - this.initEvent(type, bubbles, cancelable); - this.view = view; - this.detail = detail; - }} -}); diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/URL.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/URL.js deleted file mode 100644 index a0e476c..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/URL.js +++ /dev/null @@ -1,166 +0,0 @@ -module.exports = URL; - -function URL(url) { - if (!url) return Object.create(URL.prototype); - // Can't use String.trim() since it defines whitespace differently than HTML - this.url = url.replace(/^[ \t\n\r\f]+|[ \t\n\r\f]+$/g, ""); - - // See http://tools.ietf.org/html/rfc3986#appendix-B - var match = URL.pattern.exec(this.url); - if (match) { - if (match[2]) this.scheme = match[2]; - if (match[4]) { - // XXX ignoring userinfo before the hostname - if (match[4].match(URL.portPattern)) { - var pos = match[4].lastIndexOf(':'); - this.host = match[4].substring(0, pos); - this.port = match[4].substring(pos+1); - } - else { - this.host = match[4]; - } - } - if (match[5]) this.path = match[5]; - if (match[6]) this.query = match[7]; - if (match[8]) this.fragment = match[9]; - } -} - -URL.pattern = /^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/; -URL.portPattern = /:\d+$/; -URL.authorityPattern = /^[^:\/?#]+:\/\//; -URL.hierarchyPattern = /^[^:\/?#]+:\//; - -// Return a percentEncoded version of s. -// S should be a single-character string -// XXX: needs to do utf-8 encoding? -URL.percentEncode = function percentEncode(s) { - var c = charCodeAt(s, 0); - if (c < 256) return "%" + c.toString(16); - else throw Error("can't percent-encode codepoints > 255 yet"); -}; - -URL.prototype = { - constructor: URL, - - // XXX: not sure if this is the precise definition of absolute - isAbsolute: function() { return !!this.scheme; }, - isAuthorityBased: function() { - return URL.authorityPattern.test(this.url); - }, - isHierarchical: function() { - return URL.hierarchyPattern.test(this.url); - }, - - toString: function() { - var s = ""; - if (this.scheme !== undefined) s += this.scheme + ":"; - if (this.host !== undefined) s += "//" + this.host; - if (this.port !== undefined) s += ":" + this.port; - if (this.path !== undefined) s += this.path; - if (this.query !== undefined) s += "?" + this.query; - if (this.fragment !== undefined) s += "#" + this.fragment; - return s; - }, - - // See: http://tools.ietf.org/html/rfc3986#section-5.2 - resolve: function(relative) { - var base = this; // The base url we're resolving against - var r = new URL(relative); // The relative reference url to resolve - var t = new URL(); // The absolute target url we will return - - if (r.scheme !== undefined) { - t.scheme = r.scheme; - t.host = r.host; - t.port = r.port; - t.path = remove_dot_segments(r.path); - t.query = r.query; - } - else { - t.scheme = base.scheme; - if (r.host !== undefined) { - t.host = r.host; - t.port = r.port; - t.path = remove_dot_segments(r.path); - t.query = r.query; - } - else { - t.host = base.host; - t.port = base.port; - if (!r.path) { // undefined or empty - t.path = base.path; - if (r.query !== undefined) - t.query = r.query; - else - t.query = base.query; - } - else { - if (r.path.charAt(0) === "/") { - t.path = remove_dot_segments(r.path); - } - else { - t.path = merge(base.path, r.path); - t.path = remove_dot_segments(t.path); - } - t.query = r.query; - } - } - } - t.fragment = r.fragment; - - return t.toString(); - - - function merge(basepath, refpath) { - if (base.host !== undefined && !base.path) - return "/" + refpath; - - var lastslash = basepath.lastIndexOf("/"); - if (lastslash === -1) - return refpath; - else - return basepath.substring(0, lastslash+1) + refpath; - } - - function remove_dot_segments(path) { - if (!path) return path; // For "" or undefined - - var output = ""; - while(path.length > 0) { - if (path === "." || path === "..") { - path = ""; - break; - } - - var twochars = path.substring(0,2); - var threechars = path.substring(0,3); - var fourchars = path.substring(0,4); - if (threechars === "../") { - path = path.substring(3); - } - else if (twochars === "./") { - path = path.substring(2); - } - else if (threechars === "/./") { - path = "/" + path.substring(3); - } - else if (twochars === "/." && path.length === 2) { - path = "/"; - } - else if (fourchars === "/../" || - (threechars === "/.." && path.length === 3)) { - path = "/" + path.substring(4); - - output = output.replace(/\/?[^\/]*$/, ""); - } - else { - var segment = path.match(/(\/?([^\/]*))/)[0]; - output += segment; - path = path.substring(segment.length); - } - } - - return output; - } - }, -}; diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/URLDecompositionAttributes.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/URLDecompositionAttributes.js deleted file mode 100644 index 4fa1ced..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/URLDecompositionAttributes.js +++ /dev/null @@ -1,163 +0,0 @@ -var URL = require('./URL'); - -module.exports = URLDecompositionAttributes; - -// This is an abstract superclass for Location, HTMLAnchorElement and -// other types that have the standard complement of "URL decomposition -// IDL attributes". -// Subclasses must define getInput() and setOutput() methods. -// The getter and setter methods parse and rebuild the URL on each -// invocation; there is no attempt to cache the value and be more efficient -function URLDecompositionAttributes() {} -URLDecompositionAttributes.prototype = { - constructor: URLDecompositionAttributes, - - get protocol() { - var url = new URL(this.getInput()); - if (url.isAbsolute()) return url.scheme + ":"; - else return ""; - }, - - get host() { - var url = new URL(this.getInput()); - if (url.isAbsolute() && url.isAuthorityBased()) - return url.host + (url.port ? (":" + url.port) : ""); - else - return ""; - }, - - get hostname() { - var url = new URL(this.getInput()); - if (url.isAbsolute() && url.isAuthorityBased()) - return url.host; - else - return ""; - }, - - get port() { - var url = new URL(this.getInput()); - if (url.isAbsolute() && url.isAuthorityBased() && url.port!==undefined) - return url.port; - else - return ""; - }, - - get pathname() { - var url = new URL(this.getInput()); - if (url.isAbsolute() && url.isHierarchical()) - return url.path; - else - return ""; - }, - - get search() { - var url = new URL(this.getInput()); - if (url.isAbsolute() && url.isHierarchical() && url.query!==undefined) - return "?" + url.query; - else - return ""; - }, - - get hash() { - var url = new URL(this.getInput()); - if (url.isAbsolute() && url.fragment != undefined) - return "#" + url.fragment; - else - return ""; - }, - - - set protocol(v) { - var output = this.getInput(); - var url = new URL(output); - if (url.isAbsolute()) { - v = v.replace(/:+$/, ""); - v = v.replace(/[^-+\.a-zA-z0-9]/g, URL.percentEncode); - if (v.length > 0) { - url.scheme = v; - output = url.toString(); - } - } - this.setOutput(output); - }, - - set host(v) { - var output = this.getInput(); - var url = new URL(output); - if (url.isAbsolute() && url.isAuthorityBased()) { - v = v.replace(/[^-+\._~!$&'()*,;:=a-zA-z0-9]/g, URL.percentEncode); - if (v.length > 0) { - url.host = v; - delete url.port; - output = url.toString(); - } - } - this.setOutput(output); - }, - - set hostname(v) { - var output = this.getInput(); - var url = new URL(output); - if (url.isAbsolute() && url.isAuthorityBased()) { - v = v.replace(/^\/+/, ""); - v = v.replace(/[^-+\._~!$&'()*,;:=a-zA-z0-9]/g, URL.percentEncode); - if (v.length > 0) { - url.host = v; - output = url.toString(); - } - } - this.setOutput(output); - }, - - set port(v) { - var output = this.getInput(); - var url = new URL(output); - if (url.isAbsolute() && url.isAuthorityBased()) { - v = v.replace(/[^0-9].*$/, ""); - v = v.replace(/^0+/, ""); - if (v.length === 0) v = "0"; - if (parseInt(v, 10) <= 65535) { - url.port = v; - output = url.toString(); - } - } - this.setOutput(output); - }, - - set pathname(v) { - var output = this.getInput(); - var url = new URL(output); - if (url.isAbsolute() && url.isHierarchical()) { - if (v.charAt(0) !== "/") - v = "/" + v; - v = v.replace(/[^-+\._~!$&'()*,;:=@\/a-zA-z0-9]/g, URL.percentEncode); - url.path = v; - output = url.toString(); - } - this.setOutput(output); - }, - - set search(v) { - var output = this.getInput(); - var url = new URL(output); - if (url.isAbsolute() && url.isHierarchical()) { - if (v.charAt(0) !== "?") v = v.substring(1); - v = v.replace(/[^-+\._~!$&'()*,;:=@\/?a-zA-z0-9]/g, URL.percentEncode); - url.query = v; - output = url.toString(); - } - this.setOutput(output); - }, - - set hash(v) { - var output = this.getInput(); - var url = new URL(output); - if (url.isAbsolute()) { - if (v.charAt(0) !== "#") v = v.substring(1); - v = v.replace(/[^-+\._~!$&'()*,;:=@\/?a-zA-z0-9]/g, URL.percentEncode); - url.fragment = v; - output = url.toString(); - } - this.setOutput(output); - } -}; diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/Window.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/Window.js deleted file mode 100644 index a539aa5..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/Window.js +++ /dev/null @@ -1,70 +0,0 @@ -var DOMImplementation = require('./DOMImplementation'); -var Node = require('./Node'); -var Document = require('./Document'); -var DocumentFragment = require('./DocumentFragment'); -var EventTarget = require('./EventTarget'); -var Location = require('./Location'); -var utils = require('./utils'); - -module.exports = Window; - -function Window(document) { - this.document = document || new DOMImplementation().createHTMLDocument(""); - this.document._scripting_enabled = true; - this.document.defaultView = this; - this.location = new Location(this, "about:blank"); -} - -Window.prototype = Object.create(EventTarget.prototype, { - _run: { value: function(code, file) { - if (file) code += '\n//@ sourceURL=' + file; - with(this) eval(code); - }}, - console: { value: console }, - history: { value: { - back: utils.nyi, - forward: utils.nyi, - go: utils.nyi - }}, - navigator: { value: { - appName: "node", - appVersion: "0.1", - platform: "JavaScript", - userAgent: "dom" - }}, - - // Self-referential properties - window: { get: function() { return this; }}, - self: { get: function() { return this; }}, - frames: { get: function() { return this; }}, - - // Self-referential properties for a top-level window - parent: { get: function() { return this; }}, - top: { get: function() { return this; }}, - - // We don't support any other windows for now - length: { value: 0 }, // no frames - frameElement: { value: null }, // not part of a frame - opener: { value: null }, // not opened by another window - - // The onload event handler. - // XXX: need to support a bunch of other event types, too, - // and have them interoperate with document.body. - - onload: { - get: function() { - return this._getEventHandler("load"); - }, - set: function(v) { - this._setEventHandler("load", v); - } - }, - - // XXX This is a completely broken implementation - getComputedStyle: { value: function getComputedStyle(elt) { - return elt.style; - }} - -}); - -utils.expose(require('./impl'), Window); diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/attributes.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/attributes.js deleted file mode 100644 index ea6af8a..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/attributes.js +++ /dev/null @@ -1,112 +0,0 @@ -exports.property = function(attr) { - if (Array.isArray(attr.type)) { - var valid = {}; - attr.type.forEach(function(val) { - valid[val.value || val] = val.alias || val; - }); - var defaultValue = attr.implied ? '' : valid[0]; - return { - get: function() { - var v = this._getattr(attr.name); - if (v === null) return defaultValue; - - v = valid[v.toLowerCase()]; - if (v !== undefined) return v; - return defaultValue; - }, - set: function(v) { - this._setattr(attr.name, v); - } - }; - } - else if (attr.type == Boolean) { - return { - get: function() { - return this.hasAttribute(attr.name); - }, - set: function(v) { - if (v) { - this._setattr(attr.name, ''); - } - else { - this.removeAttribute(attr.name); - } - } - }; - } - else if (attr.type == Number) { - return numberPropDesc(attr); - } - else if (!attr.type || attr.type == String) { - return { - get: function() { return this._getattr(attr.name) || ''; }, - set: function(v) { this._setattr(attr.name, v); } - }; - } - else if (typeof attr.type == 'function') { - return attr.type(attr.name, attr); - } - throw new Error('Invalid attribute definition'); -}; - -// See http://www.whatwg.org/specs/web-apps/current-work/#reflect -// -// defval is the default value. If it is a function, then that function -// will be invoked as a method of the element to obtain the default. -// If no default is specified for a given attribute, then the default -// depends on the type of the attribute, but since this function handles -// 4 integer cases, you must specify the default value in each call -// -// min and max define a valid range for getting the attribute. -// -// setmin defines a minimum value when setting. If the value is less -// than that, then throw INDEX_SIZE_ERR. -// -// Conveniently, JavaScript's parseInt function appears to be -// compatible with HTML's 'rules for parsing integers' -function numberPropDesc(a) { - var def; - if(typeof a.default == 'function') { - def = a.default; - } - else if(typeof a.default == 'number') { - def = function() { return a.default; }; - } - else { - def = function() { utils.assert(false); }; - } - - return { - get: function() { - var v = this._getattr(a.name); - var n = a.float ? parseFloat(v) : parseInt(v, 10); - if (!isFinite(n) || (a.min !== undefined && n < a.min) || (a.max !== undefined && n > a.max)) { - return def.call(this); - } - return n; - }, - set: function(v) { - if (a.setmin !== undefined && v < a.setmin) { - utils.IndexSizeError(a.name + ' set to ' + v); - } - this._setattr(a.name, String(v)); - } - }; -} - -// This is a utility function for setting up change handler functions -// for attributes like 'id' that require special handling when they change. -exports.registerChangeHandler = function(c, name, handler) { - var p = c.prototype; - - // If p does not already have its own _attributeChangeHandlers - // then create one for it, inheriting from the inherited - // _attributeChangeHandlers. At the top (for the Element class) the - // _attributeChangeHandlers object will be created with a null prototype. - if (!Object.hasOwnProperty(p, '_attributeChangeHandlers')) { - p._attributeChangeHandlers = - Object.create(p._attributeChangeHandlers || null); - } - - p._attributeChangeHandlers[name] = handler; -}; \ No newline at end of file diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/cssparser.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/cssparser.js deleted file mode 100644 index 69ad278..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/cssparser.js +++ /dev/null @@ -1,5644 +0,0 @@ -/*! -Parser-Lib -Copyright (c) 2009-2011 Nicholas C. Zakas. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -*/ -/* Build time: 12-January-2012 01:05:23 */ -var parserlib = {}; -(function(){ - -/** - * A generic base to inherit from for any object - * that needs event handling. - * @class EventTarget - * @constructor - */ -function EventTarget(){ - - /** - * The array of listeners for various events. - * @type Object - * @property _listeners - * @private - */ - this._listeners = {}; -} - -EventTarget.prototype = { - - //restore constructor - constructor: EventTarget, - - /** - * Adds a listener for a given event type. - * @param {String} type The type of event to add a listener for. - * @param {Function} listener The function to call when the event occurs. - * @return {void} - * @method addListener - */ - addListener: function(type, listener){ - if (!this._listeners[type]){ - this._listeners[type] = []; - } - - this._listeners[type].push(listener); - }, - - /** - * Fires an event based on the passed-in object. - * @param {Object|String} event An object with at least a 'type' attribute - * or a string indicating the event name. - * @return {void} - * @method fire - */ - fire: function(event){ - if (typeof event == "string"){ - event = { type: event }; - } - if (typeof event.target != "undefined"){ - event.target = this; - } - - if (typeof event.type == "undefined"){ - throw new Error("Event object missing 'type' property."); - } - - if (this._listeners[event.type]){ - - //create a copy of the array and use that so listeners can't chane - var listeners = this._listeners[event.type].concat(); - for (var i=0, len=listeners.length; i < len; i++){ - listeners[i].call(this, event); - } - } - }, - - /** - * Removes a listener for a given event type. - * @param {String} type The type of event to remove a listener from. - * @param {Function} listener The function to remove from the event. - * @return {void} - * @method removeListener - */ - removeListener: function(type, listener){ - if (this._listeners[type]){ - var listeners = this._listeners[type]; - for (var i=0, len=listeners.length; i < len; i++){ - if (listeners[i] === listener){ - listeners.splice(i, 1); - break; - } - } - - - } - } -}; -/** - * Convenient way to read through strings. - * @namespace parserlib.util - * @class StringReader - * @constructor - * @param {String} text The text to read. - */ -function StringReader(text){ - - /** - * The input text with line endings normalized. - * @property _input - * @type String - * @private - */ - this._input = text.replace(/\n\r?/g, "\n"); - - - /** - * The row for the character to be read next. - * @property _line - * @type int - * @private - */ - this._line = 1; - - - /** - * The column for the character to be read next. - * @property _col - * @type int - * @private - */ - this._col = 1; - - /** - * The index of the character in the input to be read next. - * @property _cursor - * @type int - * @private - */ - this._cursor = 0; -} - -StringReader.prototype = { - - //restore constructor - constructor: StringReader, - - //------------------------------------------------------------------------- - // Position info - //------------------------------------------------------------------------- - - /** - * Returns the column of the character to be read next. - * @return {int} The column of the character to be read next. - * @method getCol - */ - getCol: function(){ - return this._col; - }, - - /** - * Returns the row of the character to be read next. - * @return {int} The row of the character to be read next. - * @method getLine - */ - getLine: function(){ - return this._line ; - }, - - /** - * Determines if you're at the end of the input. - * @return {Boolean} True if there's no more input, false otherwise. - * @method eof - */ - eof: function(){ - return (this._cursor == this._input.length); - }, - - //------------------------------------------------------------------------- - // Basic reading - //------------------------------------------------------------------------- - - /** - * Reads the next character without advancing the cursor. - * @param {int} count How many characters to look ahead (default is 1). - * @return {String} The next character or null if there is no next character. - * @method peek - */ - peek: function(count){ - var c = null; - count = (typeof count == "undefined" ? 1 : count); - - //if we're not at the end of the input... - if (this._cursor < this._input.length){ - - //get character and increment cursor and column - c = this._input.charAt(this._cursor + count - 1); - } - - return c; - }, - - /** - * Reads the next character from the input and adjusts the row and column - * accordingly. - * @return {String} The next character or null if there is no next character. - * @method read - */ - read: function(){ - var c = null; - - //if we're not at the end of the input... - if (this._cursor < this._input.length){ - - //if the last character was a newline, increment row count - //and reset column count - if (this._input.charAt(this._cursor) == "\n"){ - this._line++; - this._col=1; - } else { - this._col++; - } - - //get character and increment cursor and column - c = this._input.charAt(this._cursor++); - } - - return c; - }, - - //------------------------------------------------------------------------- - // Misc - //------------------------------------------------------------------------- - - /** - * Saves the current location so it can be returned to later. - * @method mark - * @return {void} - */ - mark: function(){ - this._bookmark = { - cursor: this._cursor, - line: this._line, - col: this._col - }; - }, - - reset: function(){ - if (this._bookmark){ - this._cursor = this._bookmark.cursor; - this._line = this._bookmark.line; - this._col = this._bookmark.col; - delete this._bookmark; - } - }, - - //------------------------------------------------------------------------- - // Advanced reading - //------------------------------------------------------------------------- - - /** - * Reads up to and including the given string. Throws an error if that - * string is not found. - * @param {String} pattern The string to read. - * @return {String} The string when it is found. - * @throws Error when the string pattern is not found. - * @method readTo - */ - readTo: function(pattern){ - - var buffer = "", - c; - - /* - * First, buffer must be the same length as the pattern. - * Then, buffer must end with the pattern or else reach the - * end of the input. - */ - while (buffer.length < pattern.length || buffer.lastIndexOf(pattern) != buffer.length - pattern.length){ - c = this.read(); - if (c){ - buffer += c; - } else { - throw new Error("Expected \"" + pattern + "\" at line " + this._line + ", col " + this._col + "."); - } - } - - return buffer; - - }, - - /** - * Reads characters while each character causes the given - * filter function to return true. The function is passed - * in each character and either returns true to continue - * reading or false to stop. - * @param {Function} filter The function to read on each character. - * @return {String} The string made up of all characters that passed the - * filter check. - * @method readWhile - */ - readWhile: function(filter){ - - var buffer = "", - c = this.read(); - - while(c !== null && filter(c)){ - buffer += c; - c = this.read(); - } - - return buffer; - - }, - - /** - * Reads characters that match either text or a regular expression and - * returns those characters. If a match is found, the row and column - * are adjusted; if no match is found, the reader's state is unchanged. - * reading or false to stop. - * @param {String|RegExp} matchter If a string, then the literal string - * value is searched for. If a regular expression, then any string - * matching the pattern is search for. - * @return {String} The string made up of all characters that matched or - * null if there was no match. - * @method readMatch - */ - readMatch: function(matcher){ - - var source = this._input.substring(this._cursor), - value = null; - - //if it's a string, just do a straight match - if (typeof matcher == "string"){ - if (source.indexOf(matcher) === 0){ - value = this.readCount(matcher.length); - } - } else if (matcher instanceof RegExp){ - if (matcher.test(source)){ - value = this.readCount(RegExp.lastMatch.length); - } - } - - return value; - }, - - - /** - * Reads a given number of characters. If the end of the input is reached, - * it reads only the remaining characters and does not throw an error. - * @param {int} count The number of characters to read. - * @return {String} The string made up the read characters. - * @method readCount - */ - readCount: function(count){ - var buffer = ""; - - while(count--){ - buffer += this.read(); - } - - return buffer; - } - -}; -/** - * Type to use when a syntax error occurs. - * @class SyntaxError - * @namespace parserlib.util - * @constructor - * @param {String} message The error message. - * @param {int} line The line at which the error occurred. - * @param {int} col The column at which the error occurred. - */ -function SyntaxError(message, line, col){ - - /** - * The column at which the error occurred. - * @type int - * @property col - */ - this.col = col; - - /** - * The line at which the error occurred. - * @type int - * @property line - */ - this.line = line; - - /** - * The text representation of the unit. - * @type String - * @property text - */ - this.message = message; - -} - -//inherit from Error -SyntaxError.prototype = new Error(); -/** - * Base type to represent a single syntactic unit. - * @class SyntaxUnit - * @namespace parserlib.util - * @constructor - * @param {String} text The text of the unit. - * @param {int} line The line of text on which the unit resides. - * @param {int} col The column of text on which the unit resides. - */ -function SyntaxUnit(text, line, col, type){ - - - /** - * The column of text on which the unit resides. - * @type int - * @property col - */ - this.col = col; - - /** - * The line of text on which the unit resides. - * @type int - * @property line - */ - this.line = line; - - /** - * The text representation of the unit. - * @type String - * @property text - */ - this.text = text; - - /** - * The type of syntax unit. - * @type int - * @property type - */ - this.type = type; -} - -/** - * Create a new syntax unit based solely on the given token. - * Convenience method for creating a new syntax unit when - * it represents a single token instead of multiple. - * @param {Object} token The token object to represent. - * @return {parserlib.util.SyntaxUnit} The object representing the token. - * @static - * @method fromToken - */ -SyntaxUnit.fromToken = function(token){ - return new SyntaxUnit(token.value, token.startLine, token.startCol); -}; - -SyntaxUnit.prototype = { - - //restore constructor - constructor: SyntaxUnit, - - /** - * Returns the text representation of the unit. - * @return {String} The text representation of the unit. - * @method valueOf - */ - valueOf: function(){ - return this.toString(); - }, - - /** - * Returns the text representation of the unit. - * @return {String} The text representation of the unit. - * @method toString - */ - toString: function(){ - return this.text; - } - -}; -/** - * Generic TokenStream providing base functionality. - * @class TokenStreamBase - * @namespace parserlib.util - * @constructor - * @param {String|StringReader} input The text to tokenize or a reader from - * which to read the input. - */ -function TokenStreamBase(input, tokenData){ - - /** - * The string reader for easy access to the text. - * @type StringReader - * @property _reader - * @private - */ - //this._reader = (typeof input == "string") ? new StringReader(input) : input; - this._reader = input ? new StringReader(input.toString()) : null; - - /** - * Token object for the last consumed token. - * @type Token - * @property _token - * @private - */ - this._token = null; - - /** - * The array of token information. - * @type Array - * @property _tokenData - * @private - */ - this._tokenData = tokenData; - - /** - * Lookahead token buffer. - * @type Array - * @property _lt - * @private - */ - this._lt = []; - - /** - * Lookahead token buffer index. - * @type int - * @property _ltIndex - * @private - */ - this._ltIndex = 0; - - this._ltIndexCache = []; -} - -/** - * Accepts an array of token information and outputs - * an array of token data containing key-value mappings - * and matching functions that the TokenStream needs. - * @param {Array} tokens An array of token descriptors. - * @return {Array} An array of processed token data. - * @method createTokenData - * @static - */ -TokenStreamBase.createTokenData = function(tokens){ - - var nameMap = [], - typeMap = {}, - tokenData = tokens.concat([]), - i = 0, - len = tokenData.length+1; - - tokenData.UNKNOWN = -1; - tokenData.unshift({name:"EOF"}); - - for (; i < len; i++){ - nameMap.push(tokenData[i].name); - tokenData[tokenData[i].name] = i; - if (tokenData[i].text){ - typeMap[tokenData[i].text] = i; - } - } - - tokenData.name = function(tt){ - return nameMap[tt]; - }; - - tokenData.type = function(c){ - return typeMap[c]; - }; - - return tokenData; -}; - -TokenStreamBase.prototype = { - - //restore constructor - constructor: TokenStreamBase, - - //------------------------------------------------------------------------- - // Matching methods - //------------------------------------------------------------------------- - - /** - * Determines if the next token matches the given token type. - * If so, that token is consumed; if not, the token is placed - * back onto the token stream. You can pass in any number of - * token types and this will return true if any of the token - * types is found. - * @param {int|int[]} tokenTypes Either a single token type or an array of - * token types that the next token might be. If an array is passed, - * it's assumed that the token can be any of these. - * @param {variant} channel (Optional) The channel to read from. If not - * provided, reads from the default (unnamed) channel. - * @return {Boolean} True if the token type matches, false if not. - * @method match - */ - match: function(tokenTypes, channel){ - - //always convert to an array, makes things easier - if (!(tokenTypes instanceof Array)){ - tokenTypes = [tokenTypes]; - } - - var tt = this.get(channel), - i = 0, - len = tokenTypes.length; - - while(i < len){ - if (tt == tokenTypes[i++]){ - return true; - } - } - - //no match found, put the token back - this.unget(); - return false; - }, - - /** - * Determines if the next token matches the given token type. - * If so, that token is consumed; if not, an error is thrown. - * @param {int|int[]} tokenTypes Either a single token type or an array of - * token types that the next token should be. If an array is passed, - * it's assumed that the token must be one of these. - * @param {variant} channel (Optional) The channel to read from. If not - * provided, reads from the default (unnamed) channel. - * @return {void} - * @method mustMatch - */ - mustMatch: function(tokenTypes, channel){ - - var token; - - //always convert to an array, makes things easier - if (!(tokenTypes instanceof Array)){ - tokenTypes = [tokenTypes]; - } - - if (!this.match.apply(this, arguments)){ - token = this.LT(1); - throw new SyntaxError("Expected " + this._tokenData[tokenTypes[0]].name + - " at line " + token.startLine + ", col " + token.startCol + ".", token.startLine, token.startCol); - } - }, - - //------------------------------------------------------------------------- - // Consuming methods - //------------------------------------------------------------------------- - - /** - * Keeps reading from the token stream until either one of the specified - * token types is found or until the end of the input is reached. - * @param {int|int[]} tokenTypes Either a single token type or an array of - * token types that the next token should be. If an array is passed, - * it's assumed that the token must be one of these. - * @param {variant} channel (Optional) The channel to read from. If not - * provided, reads from the default (unnamed) channel. - * @return {void} - * @method advance - */ - advance: function(tokenTypes, channel){ - - while(this.LA(0) != 0 && !this.match(tokenTypes, channel)){ - this.get(); - } - - return this.LA(0); - }, - - /** - * Consumes the next token from the token stream. - * @return {int} The token type of the token that was just consumed. - * @method get - */ - get: function(channel){ - - var tokenInfo = this._tokenData, - reader = this._reader, - value, - i =0, - len = tokenInfo.length, - found = false, - token, - info; - - //check the lookahead buffer first - if (this._lt.length && this._ltIndex >= 0 && this._ltIndex < this._lt.length){ - - i++; - this._token = this._lt[this._ltIndex++]; - info = tokenInfo[this._token.type]; - - //obey channels logic - while((info.channel !== undefined && channel !== info.channel) && - this._ltIndex < this._lt.length){ - this._token = this._lt[this._ltIndex++]; - info = tokenInfo[this._token.type]; - i++; - } - - //here be dragons - if ((info.channel === undefined || channel === info.channel) && - this._ltIndex <= this._lt.length){ - this._ltIndexCache.push(i); - return this._token.type; - } - } - - //call token retriever method - token = this._getToken(); - - //if it should be hidden, don't save a token - if (token.type > -1 && !tokenInfo[token.type].hide){ - - //apply token channel - token.channel = tokenInfo[token.type].channel; - - //save for later - this._token = token; - this._lt.push(token); - - //save space that will be moved (must be done before array is truncated) - this._ltIndexCache.push(this._lt.length - this._ltIndex + i); - - //keep the buffer under 5 items - if (this._lt.length > 5){ - this._lt.shift(); - } - - //also keep the shift buffer under 5 items - if (this._ltIndexCache.length > 5){ - this._ltIndexCache.shift(); - } - - //update lookahead index - this._ltIndex = this._lt.length; - } - - /* - * Skip to the next token if: - * 1. The token type is marked as hidden. - * 2. The token type has a channel specified and it isn't the current channel. - */ - info = tokenInfo[token.type]; - if (info && - (info.hide || - (info.channel !== undefined && channel !== info.channel))){ - return this.get(channel); - } else { - //return just the type - return token.type; - } - }, - - /** - * Looks ahead a certain number of tokens and returns the token type at - * that position. This will throw an error if you lookahead past the - * end of input, past the size of the lookahead buffer, or back past - * the first token in the lookahead buffer. - * @param {int} The index of the token type to retrieve. 0 for the - * current token, 1 for the next, -1 for the previous, etc. - * @return {int} The token type of the token in the given position. - * @method LA - */ - LA: function(index){ - var total = index, - tt; - if (index > 0){ - //TODO: Store 5 somewhere - if (index > 5){ - throw new Error("Too much lookahead."); - } - - //get all those tokens - while(total){ - tt = this.get(); - total--; - } - - //unget all those tokens - while(total < index){ - this.unget(); - total++; - } - } else if (index < 0){ - - if(this._lt[this._ltIndex+index]){ - tt = this._lt[this._ltIndex+index].type; - } else { - throw new Error("Too much lookbehind."); - } - - } else { - tt = this._token.type; - } - - return tt; - - }, - - /** - * Looks ahead a certain number of tokens and returns the token at - * that position. This will throw an error if you lookahead past the - * end of input, past the size of the lookahead buffer, or back past - * the first token in the lookahead buffer. - * @param {int} The index of the token type to retrieve. 0 for the - * current token, 1 for the next, -1 for the previous, etc. - * @return {Object} The token of the token in the given position. - * @method LA - */ - LT: function(index){ - - //lookahead first to prime the token buffer - this.LA(index); - - //now find the token, subtract one because _ltIndex is already at the next index - return this._lt[this._ltIndex+index-1]; - }, - - /** - * Returns the token type for the next token in the stream without - * consuming it. - * @return {int} The token type of the next token in the stream. - * @method peek - */ - peek: function(){ - return this.LA(1); - }, - - /** - * Returns the actual token object for the last consumed token. - * @return {Token} The token object for the last consumed token. - * @method token - */ - token: function(){ - return this._token; - }, - - /** - * Returns the name of the token for the given token type. - * @param {int} tokenType The type of token to get the name of. - * @return {String} The name of the token or "UNKNOWN_TOKEN" for any - * invalid token type. - * @method tokenName - */ - tokenName: function(tokenType){ - if (tokenType < 0 || tokenType > this._tokenData.length){ - return "UNKNOWN_TOKEN"; - } else { - return this._tokenData[tokenType].name; - } - }, - - /** - * Returns the token type value for the given token name. - * @param {String} tokenName The name of the token whose value should be returned. - * @return {int} The token type value for the given token name or -1 - * for an unknown token. - * @method tokenName - */ - tokenType: function(tokenName){ - return this._tokenData[tokenName] || -1; - }, - - /** - * Returns the last consumed token to the token stream. - * @method unget - */ - unget: function(){ - //if (this._ltIndex > -1){ - if (this._ltIndexCache.length){ - this._ltIndex -= this._ltIndexCache.pop();//--; - this._token = this._lt[this._ltIndex - 1]; - } else { - throw new Error("Too much lookahead."); - } - } - -}; - - -parserlib.util = { -StringReader: StringReader, -SyntaxError : SyntaxError, -SyntaxUnit : SyntaxUnit, -EventTarget : EventTarget, -TokenStreamBase : TokenStreamBase -}; -})(); -/* -Parser-Lib -Copyright (c) 2009-2011 Nicholas C. Zakas. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -*/ -/* Build time: 12-January-2012 01:05:23 */ -(function(){ -var EventTarget = parserlib.util.EventTarget, -TokenStreamBase = parserlib.util.TokenStreamBase, -StringReader = parserlib.util.StringReader, -SyntaxError = parserlib.util.SyntaxError, -SyntaxUnit = parserlib.util.SyntaxUnit; - -var Colors = { - aliceblue :"#f0f8ff", - antiquewhite :"#faebd7", - aqua :"#00ffff", - aquamarine :"#7fffd4", - azure :"#f0ffff", - beige :"#f5f5dc", - bisque :"#ffe4c4", - black :"#000000", - blanchedalmond :"#ffebcd", - blue :"#0000ff", - blueviolet :"#8a2be2", - brown :"#a52a2a", - burlywood :"#deb887", - cadetblue :"#5f9ea0", - chartreuse :"#7fff00", - chocolate :"#d2691e", - coral :"#ff7f50", - cornflowerblue :"#6495ed", - cornsilk :"#fff8dc", - crimson :"#dc143c", - cyan :"#00ffff", - darkblue :"#00008b", - darkcyan :"#008b8b", - darkgoldenrod :"#b8860b", - darkgray :"#a9a9a9", - darkgreen :"#006400", - darkkhaki :"#bdb76b", - darkmagenta :"#8b008b", - darkolivegreen :"#556b2f", - darkorange :"#ff8c00", - darkorchid :"#9932cc", - darkred :"#8b0000", - darksalmon :"#e9967a", - darkseagreen :"#8fbc8f", - darkslateblue :"#483d8b", - darkslategray :"#2f4f4f", - darkturquoise :"#00ced1", - darkviolet :"#9400d3", - deeppink :"#ff1493", - deepskyblue :"#00bfff", - dimgray :"#696969", - dodgerblue :"#1e90ff", - firebrick :"#b22222", - floralwhite :"#fffaf0", - forestgreen :"#228b22", - fuchsia :"#ff00ff", - gainsboro :"#dcdcdc", - ghostwhite :"#f8f8ff", - gold :"#ffd700", - goldenrod :"#daa520", - gray :"#808080", - green :"#008000", - greenyellow :"#adff2f", - honeydew :"#f0fff0", - hotpink :"#ff69b4", - indianred :"#cd5c5c", - indigo :"#4b0082", - ivory :"#fffff0", - khaki :"#f0e68c", - lavender :"#e6e6fa", - lavenderblush :"#fff0f5", - lawngreen :"#7cfc00", - lemonchiffon :"#fffacd", - lightblue :"#add8e6", - lightcoral :"#f08080", - lightcyan :"#e0ffff", - lightgoldenrodyellow :"#fafad2", - lightgrey :"#d3d3d3", - lightgreen :"#90ee90", - lightpink :"#ffb6c1", - lightsalmon :"#ffa07a", - lightseagreen :"#20b2aa", - lightskyblue :"#87cefa", - lightslategray :"#778899", - lightsteelblue :"#b0c4de", - lightyellow :"#ffffe0", - lime :"#00ff00", - limegreen :"#32cd32", - linen :"#faf0e6", - magenta :"#ff00ff", - maroon :"#800000", - mediumaquamarine:"#66cdaa", - mediumblue :"#0000cd", - mediumorchid :"#ba55d3", - mediumpurple :"#9370d8", - mediumseagreen :"#3cb371", - mediumslateblue :"#7b68ee", - mediumspringgreen :"#00fa9a", - mediumturquoise :"#48d1cc", - mediumvioletred :"#c71585", - midnightblue :"#191970", - mintcream :"#f5fffa", - mistyrose :"#ffe4e1", - moccasin :"#ffe4b5", - navajowhite :"#ffdead", - navy :"#000080", - oldlace :"#fdf5e6", - olive :"#808000", - olivedrab :"#6b8e23", - orange :"#ffa500", - orangered :"#ff4500", - orchid :"#da70d6", - palegoldenrod :"#eee8aa", - palegreen :"#98fb98", - paleturquoise :"#afeeee", - palevioletred :"#d87093", - papayawhip :"#ffefd5", - peachpuff :"#ffdab9", - peru :"#cd853f", - pink :"#ffc0cb", - plum :"#dda0dd", - powderblue :"#b0e0e6", - purple :"#800080", - red :"#ff0000", - rosybrown :"#bc8f8f", - royalblue :"#4169e1", - saddlebrown :"#8b4513", - salmon :"#fa8072", - sandybrown :"#f4a460", - seagreen :"#2e8b57", - seashell :"#fff5ee", - sienna :"#a0522d", - silver :"#c0c0c0", - skyblue :"#87ceeb", - slateblue :"#6a5acd", - slategray :"#708090", - snow :"#fffafa", - springgreen :"#00ff7f", - steelblue :"#4682b4", - tan :"#d2b48c", - teal :"#008080", - thistle :"#d8bfd8", - tomato :"#ff6347", - turquoise :"#40e0d0", - violet :"#ee82ee", - wheat :"#f5deb3", - white :"#ffffff", - whitesmoke :"#f5f5f5", - yellow :"#ffff00", - yellowgreen :"#9acd32" -}; -/** - * Represents a selector combinator (whitespace, +, >). - * @namespace parserlib.css - * @class Combinator - * @extends parserlib.util.SyntaxUnit - * @constructor - * @param {String} text The text representation of the unit. - * @param {int} line The line of text on which the unit resides. - * @param {int} col The column of text on which the unit resides. - */ -function Combinator(text, line, col){ - - SyntaxUnit.call(this, text, line, col, Parser.COMBINATOR_TYPE); - - /** - * The type of modifier. - * @type String - * @property type - */ - this.type = "unknown"; - - //pretty simple - if (/^\s+$/.test(text)){ - this.type = "descendant"; - } else if (text == ">"){ - this.type = "child"; - } else if (text == "+"){ - this.type = "adjacent-sibling"; - } else if (text == "~"){ - this.type = "sibling"; - } - -} - -Combinator.prototype = new SyntaxUnit(); -Combinator.prototype.constructor = Combinator; - -/** - * Represents a media feature, such as max-width:500. - * @namespace parserlib.css - * @class MediaFeature - * @extends parserlib.util.SyntaxUnit - * @constructor - * @param {SyntaxUnit} name The name of the feature. - * @param {SyntaxUnit} value The value of the feature or null if none. - */ -function MediaFeature(name, value){ - - SyntaxUnit.call(this, "(" + name + (value !== null ? ":" + value : "") + ")", name.startLine, name.startCol, Parser.MEDIA_FEATURE_TYPE); - - /** - * The name of the media feature - * @type String - * @property name - */ - this.name = name; - - /** - * The value for the feature or null if there is none. - * @type SyntaxUnit - * @property value - */ - this.value = value; -} - -MediaFeature.prototype = new SyntaxUnit(); -MediaFeature.prototype.constructor = MediaFeature; - -/** - * Represents an individual media query. - * @namespace parserlib.css - * @class MediaQuery - * @extends parserlib.util.SyntaxUnit - * @constructor - * @param {String} modifier The modifier "not" or "only" (or null). - * @param {String} mediaType The type of media (i.e., "print"). - * @param {Array} parts Array of selectors parts making up this selector. - * @param {int} line The line of text on which the unit resides. - * @param {int} col The column of text on which the unit resides. - */ -function MediaQuery(modifier, mediaType, features, line, col){ - - SyntaxUnit.call(this, (modifier ? modifier + " ": "") + (mediaType ? mediaType + " " : "") + features.join(" and "), line, col, Parser.MEDIA_QUERY_TYPE); - - /** - * The media modifier ("not" or "only") - * @type String - * @property modifier - */ - this.modifier = modifier; - - /** - * The mediaType (i.e., "print") - * @type String - * @property mediaType - */ - this.mediaType = mediaType; - - /** - * The parts that make up the selector. - * @type Array - * @property features - */ - this.features = features; - -} - -MediaQuery.prototype = new SyntaxUnit(); -MediaQuery.prototype.constructor = MediaQuery; - -/** - * A CSS3 parser. - * @namespace parserlib.css - * @class Parser - * @constructor - * @param {Object} options (Optional) Various options for the parser: - * starHack (true|false) to allow IE6 star hack as valid, - * underscoreHack (true|false) to interpret leading underscores - * as IE6-7 targeting for known properties, ieFilters (true|false) - * to indicate that IE < 8 filters should be accepted and not throw - * syntax errors. - */ -function Parser(options){ - - //inherit event functionality - EventTarget.call(this); - - - this.options = options || {}; - - this._tokenStream = null; -} - -//Static constants -Parser.DEFAULT_TYPE = 0; -Parser.COMBINATOR_TYPE = 1; -Parser.MEDIA_FEATURE_TYPE = 2; -Parser.MEDIA_QUERY_TYPE = 3; -Parser.PROPERTY_NAME_TYPE = 4; -Parser.PROPERTY_VALUE_TYPE = 5; -Parser.PROPERTY_VALUE_PART_TYPE = 6; -Parser.SELECTOR_TYPE = 7; -Parser.SELECTOR_PART_TYPE = 8; -Parser.SELECTOR_SUB_PART_TYPE = 9; - -Parser.prototype = function(){ - - var proto = new EventTarget(), //new prototype - prop, - additions = { - - //restore constructor - constructor: Parser, - - //instance constants - yuck - DEFAULT_TYPE : 0, - COMBINATOR_TYPE : 1, - MEDIA_FEATURE_TYPE : 2, - MEDIA_QUERY_TYPE : 3, - PROPERTY_NAME_TYPE : 4, - PROPERTY_VALUE_TYPE : 5, - PROPERTY_VALUE_PART_TYPE : 6, - SELECTOR_TYPE : 7, - SELECTOR_PART_TYPE : 8, - SELECTOR_SUB_PART_TYPE : 9, - - //----------------------------------------------------------------- - // Grammar - //----------------------------------------------------------------- - - _stylesheet: function(){ - - /* - * stylesheet - * : [ CHARSET_SYM S* STRING S* ';' ]? - * [S|CDO|CDC]* [ import [S|CDO|CDC]* ]* - * [ namespace [S|CDO|CDC]* ]* - * [ [ ruleset | media | page | font_face | keyframes ] [S|CDO|CDC]* ]* - * ; - */ - - var tokenStream = this._tokenStream, - charset = null, - token, - tt; - - this.fire("startstylesheet"); - - //try to read character set - this._charset(); - - this._skipCruft(); - - //try to read imports - may be more than one - while (tokenStream.peek() == Tokens.IMPORT_SYM){ - this._import(); - this._skipCruft(); - } - - //try to read namespaces - may be more than one - while (tokenStream.peek() == Tokens.NAMESPACE_SYM){ - this._namespace(); - this._skipCruft(); - } - - //get the next token - tt = tokenStream.peek(); - - //try to read the rest - while(tt > Tokens.EOF){ - - try { - - switch(tt){ - case Tokens.MEDIA_SYM: - this._media(); - this._skipCruft(); - break; - case Tokens.PAGE_SYM: - this._page(); - this._skipCruft(); - break; - case Tokens.FONT_FACE_SYM: - this._font_face(); - this._skipCruft(); - break; - case Tokens.KEYFRAMES_SYM: - this._keyframes(); - this._skipCruft(); - break; - case Tokens.S: - this._readWhitespace(); - break; - default: - if(!this._ruleset()){ - - //error handling for known issues - switch(tt){ - case Tokens.CHARSET_SYM: - token = tokenStream.LT(1); - this._charset(false); - throw new SyntaxError("@charset not allowed here.", token.startLine, token.startCol); - case Tokens.IMPORT_SYM: - token = tokenStream.LT(1); - this._import(false); - throw new SyntaxError("@import not allowed here.", token.startLine, token.startCol); - case Tokens.NAMESPACE_SYM: - token = tokenStream.LT(1); - this._namespace(false); - throw new SyntaxError("@namespace not allowed here.", token.startLine, token.startCol); - default: - tokenStream.get(); //get the last token - this._unexpectedToken(tokenStream.token()); - } - - } - } - } catch(ex) { - if (ex instanceof SyntaxError && !this.options.strict){ - this.fire({ - type: "error", - error: ex, - message: ex.message, - line: ex.line, - col: ex.col - }); - } else { - throw ex; - } - } - - tt = tokenStream.peek(); - } - - if (tt != Tokens.EOF){ - this._unexpectedToken(tokenStream.token()); - } - - this.fire("endstylesheet"); - }, - - _charset: function(emit){ - var tokenStream = this._tokenStream, - charset, - token, - line, - col; - - if (tokenStream.match(Tokens.CHARSET_SYM)){ - line = tokenStream.token().startLine; - col = tokenStream.token().startCol; - - this._readWhitespace(); - tokenStream.mustMatch(Tokens.STRING); - - token = tokenStream.token(); - charset = token.value; - - this._readWhitespace(); - tokenStream.mustMatch(Tokens.SEMICOLON); - - if (emit !== false){ - this.fire({ - type: "charset", - charset:charset, - line: line, - col: col - }); - } - } - }, - - _import: function(emit){ - /* - * import - * : IMPORT_SYM S* - * [STRING|URI] S* media_query_list? ';' S* - */ - - var tokenStream = this._tokenStream, - tt, - uri, - importToken, - mediaList = []; - - //read import symbol - tokenStream.mustMatch(Tokens.IMPORT_SYM); - importToken = tokenStream.token(); - this._readWhitespace(); - - tokenStream.mustMatch([Tokens.STRING, Tokens.URI]); - - //grab the URI value - uri = tokenStream.token().value.replace(/(?:url\()?["']([^"']+)["']\)?/, "$1"); - - this._readWhitespace(); - - mediaList = this._media_query_list(); - - //must end with a semicolon - tokenStream.mustMatch(Tokens.SEMICOLON); - this._readWhitespace(); - - if (emit !== false){ - this.fire({ - type: "import", - uri: uri, - media: mediaList, - line: importToken.startLine, - col: importToken.startCol - }); - } - - }, - - _namespace: function(emit){ - /* - * namespace - * : NAMESPACE_SYM S* [namespace_prefix S*]? [STRING|URI] S* ';' S* - */ - - var tokenStream = this._tokenStream, - line, - col, - prefix, - uri; - - //read import symbol - tokenStream.mustMatch(Tokens.NAMESPACE_SYM); - line = tokenStream.token().startLine; - col = tokenStream.token().startCol; - this._readWhitespace(); - - //it's a namespace prefix - no _namespace_prefix() method because it's just an IDENT - if (tokenStream.match(Tokens.IDENT)){ - prefix = tokenStream.token().value; - this._readWhitespace(); - } - - tokenStream.mustMatch([Tokens.STRING, Tokens.URI]); - /*if (!tokenStream.match(Tokens.STRING)){ - tokenStream.mustMatch(Tokens.URI); - }*/ - - //grab the URI value - uri = tokenStream.token().value.replace(/(?:url\()?["']([^"']+)["']\)?/, "$1"); - - this._readWhitespace(); - - //must end with a semicolon - tokenStream.mustMatch(Tokens.SEMICOLON); - this._readWhitespace(); - - if (emit !== false){ - this.fire({ - type: "namespace", - prefix: prefix, - uri: uri, - line: line, - col: col - }); - } - - }, - - _media: function(){ - /* - * media - * : MEDIA_SYM S* media_query_list S* '{' S* ruleset* '}' S* - * ; - */ - var tokenStream = this._tokenStream, - line, - col, - mediaList;// = []; - - //look for @media - tokenStream.mustMatch(Tokens.MEDIA_SYM); - line = tokenStream.token().startLine; - col = tokenStream.token().startCol; - - this._readWhitespace(); - - mediaList = this._media_query_list(); - - tokenStream.mustMatch(Tokens.LBRACE); - this._readWhitespace(); - - this.fire({ - type: "startmedia", - media: mediaList, - line: line, - col: col - }); - - while(true) { - if (tokenStream.peek() == Tokens.PAGE_SYM){ - this._page(); - } else if (!this._ruleset()){ - break; - } - } - - tokenStream.mustMatch(Tokens.RBRACE); - this._readWhitespace(); - - this.fire({ - type: "endmedia", - media: mediaList, - line: line, - col: col - }); - }, - - - //CSS3 Media Queries - _media_query_list: function(){ - /* - * media_query_list - * : S* [media_query [ ',' S* media_query ]* ]? - * ; - */ - var tokenStream = this._tokenStream, - mediaList = []; - - - this._readWhitespace(); - - if (tokenStream.peek() == Tokens.IDENT || tokenStream.peek() == Tokens.LPAREN){ - mediaList.push(this._media_query()); - } - - while(tokenStream.match(Tokens.COMMA)){ - this._readWhitespace(); - mediaList.push(this._media_query()); - } - - return mediaList; - }, - - /* - * Note: "expression" in the grammar maps to the _media_expression - * method. - - */ - _media_query: function(){ - /* - * media_query - * : [ONLY | NOT]? S* media_type S* [ AND S* expression ]* - * | expression [ AND S* expression ]* - * ; - */ - var tokenStream = this._tokenStream, - type = null, - ident = null, - token = null, - expressions = []; - - if (tokenStream.match(Tokens.IDENT)){ - ident = tokenStream.token().value.toLowerCase(); - - //since there's no custom tokens for these, need to manually check - if (ident != "only" && ident != "not"){ - tokenStream.unget(); - ident = null; - } else { - token = tokenStream.token(); - } - } - - this._readWhitespace(); - - if (tokenStream.peek() == Tokens.IDENT){ - type = this._media_type(); - if (token === null){ - token = tokenStream.token(); - } - } else if (tokenStream.peek() == Tokens.LPAREN){ - if (token === null){ - token = tokenStream.LT(1); - } - expressions.push(this._media_expression()); - } - - if (type === null && expressions.length === 0){ - return null; - } else { - this._readWhitespace(); - while (tokenStream.match(Tokens.IDENT)){ - if (tokenStream.token().value.toLowerCase() != "and"){ - this._unexpectedToken(tokenStream.token()); - } - - this._readWhitespace(); - expressions.push(this._media_expression()); - } - } - - return new MediaQuery(ident, type, expressions, token.startLine, token.startCol); - }, - - //CSS3 Media Queries - _media_type: function(){ - /* - * media_type - * : IDENT - * ; - */ - return this._media_feature(); - }, - - /** - * Note: in CSS3 Media Queries, this is called "expression". - * Renamed here to avoid conflict with CSS3 Selectors - * definition of "expression". Also note that "expr" in the - * grammar now maps to "expression" from CSS3 selectors. - * @method _media_expression - * @private - */ - _media_expression: function(){ - /* - * expression - * : '(' S* media_feature S* [ ':' S* expr ]? ')' S* - * ; - */ - var tokenStream = this._tokenStream, - feature = null, - token, - expression = null; - - tokenStream.mustMatch(Tokens.LPAREN); - - feature = this._media_feature(); - this._readWhitespace(); - - if (tokenStream.match(Tokens.COLON)){ - this._readWhitespace(); - token = tokenStream.LT(1); - expression = this._expression(); - } - - tokenStream.mustMatch(Tokens.RPAREN); - this._readWhitespace(); - - return new MediaFeature(feature, (expression ? new SyntaxUnit(expression, token.startLine, token.startCol) : null)); - }, - - //CSS3 Media Queries - _media_feature: function(){ - /* - * media_feature - * : IDENT - * ; - */ - var tokenStream = this._tokenStream; - - tokenStream.mustMatch(Tokens.IDENT); - - return SyntaxUnit.fromToken(tokenStream.token()); - }, - - //CSS3 Paged Media - _page: function(){ - /* - * page: - * PAGE_SYM S* IDENT? pseudo_page? S* - * '{' S* [ declaration | margin ]? [ ';' S* [ declaration | margin ]? ]* '}' S* - * ; - */ - var tokenStream = this._tokenStream, - line, - col, - identifier = null, - pseudoPage = null; - - //look for @page - tokenStream.mustMatch(Tokens.PAGE_SYM); - line = tokenStream.token().startLine; - col = tokenStream.token().startCol; - - this._readWhitespace(); - - if (tokenStream.match(Tokens.IDENT)){ - identifier = tokenStream.token().value; - - //The value 'auto' may not be used as a page name and MUST be treated as a syntax error. - if (identifier.toLowerCase() === "auto"){ - this._unexpectedToken(tokenStream.token()); - } - } - - //see if there's a colon upcoming - if (tokenStream.peek() == Tokens.COLON){ - pseudoPage = this._pseudo_page(); - } - - this._readWhitespace(); - - this.fire({ - type: "startpage", - id: identifier, - pseudo: pseudoPage, - line: line, - col: col - }); - - this._readDeclarations(true, true); - - this.fire({ - type: "endpage", - id: identifier, - pseudo: pseudoPage, - line: line, - col: col - }); - - }, - - //CSS3 Paged Media - _margin: function(){ - /* - * margin : - * margin_sym S* '{' declaration [ ';' S* declaration? ]* '}' S* - * ; - */ - var tokenStream = this._tokenStream, - line, - col, - marginSym = this._margin_sym(); - - if (marginSym){ - line = tokenStream.token().startLine; - col = tokenStream.token().startCol; - - this.fire({ - type: "startpagemargin", - margin: marginSym, - line: line, - col: col - }); - - this._readDeclarations(true); - - this.fire({ - type: "endpagemargin", - margin: marginSym, - line: line, - col: col - }); - return true; - } else { - return false; - } - }, - - //CSS3 Paged Media - _margin_sym: function(){ - - /* - * margin_sym : - * TOPLEFTCORNER_SYM | - * TOPLEFT_SYM | - * TOPCENTER_SYM | - * TOPRIGHT_SYM | - * TOPRIGHTCORNER_SYM | - * BOTTOMLEFTCORNER_SYM | - * BOTTOMLEFT_SYM | - * BOTTOMCENTER_SYM | - * BOTTOMRIGHT_SYM | - * BOTTOMRIGHTCORNER_SYM | - * LEFTTOP_SYM | - * LEFTMIDDLE_SYM | - * LEFTBOTTOM_SYM | - * RIGHTTOP_SYM | - * RIGHTMIDDLE_SYM | - * RIGHTBOTTOM_SYM - * ; - */ - - var tokenStream = this._tokenStream; - - if(tokenStream.match([Tokens.TOPLEFTCORNER_SYM, Tokens.TOPLEFT_SYM, - Tokens.TOPCENTER_SYM, Tokens.TOPRIGHT_SYM, Tokens.TOPRIGHTCORNER_SYM, - Tokens.BOTTOMLEFTCORNER_SYM, Tokens.BOTTOMLEFT_SYM, - Tokens.BOTTOMCENTER_SYM, Tokens.BOTTOMRIGHT_SYM, - Tokens.BOTTOMRIGHTCORNER_SYM, Tokens.LEFTTOP_SYM, - Tokens.LEFTMIDDLE_SYM, Tokens.LEFTBOTTOM_SYM, Tokens.RIGHTTOP_SYM, - Tokens.RIGHTMIDDLE_SYM, Tokens.RIGHTBOTTOM_SYM])) - { - return SyntaxUnit.fromToken(tokenStream.token()); - } else { - return null; - } - - }, - - _pseudo_page: function(){ - /* - * pseudo_page - * : ':' IDENT - * ; - */ - - var tokenStream = this._tokenStream; - - tokenStream.mustMatch(Tokens.COLON); - tokenStream.mustMatch(Tokens.IDENT); - - //TODO: CSS3 Paged Media says only "left", "center", and "right" are allowed - - return tokenStream.token().value; - }, - - _font_face: function(){ - /* - * font_face - * : FONT_FACE_SYM S* - * '{' S* declaration [ ';' S* declaration ]* '}' S* - * ; - */ - var tokenStream = this._tokenStream, - line, - col; - - //look for @page - tokenStream.mustMatch(Tokens.FONT_FACE_SYM); - line = tokenStream.token().startLine; - col = tokenStream.token().startCol; - - this._readWhitespace(); - - this.fire({ - type: "startfontface", - line: line, - col: col - }); - - this._readDeclarations(true); - - this.fire({ - type: "endfontface", - line: line, - col: col - }); - }, - - _operator: function(){ - - /* - * operator - * : '/' S* | ',' S* | /( empty )/ - * ; - */ - - var tokenStream = this._tokenStream, - token = null; - - if (tokenStream.match([Tokens.SLASH, Tokens.COMMA])){ - token = tokenStream.token(); - this._readWhitespace(); - } - return token ? PropertyValuePart.fromToken(token) : null; - - }, - - _combinator: function(){ - - /* - * combinator - * : PLUS S* | GREATER S* | TILDE S* | S+ - * ; - */ - - var tokenStream = this._tokenStream, - value = null, - token; - - if(tokenStream.match([Tokens.PLUS, Tokens.GREATER, Tokens.TILDE])){ - token = tokenStream.token(); - value = new Combinator(token.value, token.startLine, token.startCol); - this._readWhitespace(); - } - - return value; - }, - - _unary_operator: function(){ - - /* - * unary_operator - * : '-' | '+' - * ; - */ - - var tokenStream = this._tokenStream; - - if (tokenStream.match([Tokens.MINUS, Tokens.PLUS])){ - return tokenStream.token().value; - } else { - return null; - } - }, - - _property: function(){ - - /* - * property - * : IDENT S* - * ; - */ - - var tokenStream = this._tokenStream, - value = null, - hack = null, - tokenValue, - token, - line, - col; - - //check for star hack - throws error if not allowed - if (tokenStream.peek() == Tokens.STAR && this.options.starHack){ - tokenStream.get(); - token = tokenStream.token(); - hack = token.value; - line = token.startLine; - col = token.startCol; - } - - if(tokenStream.match(Tokens.IDENT)){ - token = tokenStream.token(); - tokenValue = token.value; - - //check for underscore hack - no error if not allowed because it's valid CSS syntax - if (tokenValue.charAt(0) == "_" && this.options.underscoreHack){ - hack = "_"; - tokenValue = tokenValue.substring(1); - } - - value = new PropertyName(tokenValue, hack, (line||token.startLine), (col||token.startCol)); - this._readWhitespace(); - } - - return value; - }, - - //Augmented with CSS3 Selectors - _ruleset: function(){ - /* - * ruleset - * : selectors_group - * '{' S* declaration? [ ';' S* declaration? ]* '}' S* - * ; - */ - - var tokenStream = this._tokenStream, - tt, - selectors; - - - /* - * Error Recovery: If even a single selector fails to parse, - * then the entire ruleset should be thrown away. - */ - try { - selectors = this._selectors_group(); - } catch (ex){ - if (ex instanceof SyntaxError && !this.options.strict){ - - //fire error event - this.fire({ - type: "error", - error: ex, - message: ex.message, - line: ex.line, - col: ex.col - }); - - //skip over everything until closing brace - tt = tokenStream.advance([Tokens.RBRACE]); - if (tt == Tokens.RBRACE){ - //if there's a right brace, the rule is finished so don't do anything - } else { - //otherwise, rethrow the error because it wasn't handled properly - throw ex; - } - - } else { - //not a syntax error, rethrow it - throw ex; - } - - //trigger parser to continue - return true; - } - - //if it got here, all selectors parsed - if (selectors){ - - this.fire({ - type: "startrule", - selectors: selectors, - line: selectors[0].line, - col: selectors[0].col - }); - - this._readDeclarations(true); - - this.fire({ - type: "endrule", - selectors: selectors, - line: selectors[0].line, - col: selectors[0].col - }); - - } - - return selectors; - - }, - - //CSS3 Selectors - _selectors_group: function(){ - - /* - * selectors_group - * : selector [ COMMA S* selector ]* - * ; - */ - var tokenStream = this._tokenStream, - selectors = [], - selector; - - selector = this._selector(); - if (selector !== null){ - - selectors.push(selector); - while(tokenStream.match(Tokens.COMMA)){ - this._readWhitespace(); - selector = this._selector(); - if (selector !== null){ - selectors.push(selector); - } else { - this._unexpectedToken(tokenStream.LT(1)); - } - } - } - - return selectors.length ? selectors : null; - }, - - //CSS3 Selectors - _selector: function(){ - /* - * selector - * : simple_selector_sequence [ combinator simple_selector_sequence ]* - * ; - */ - - var tokenStream = this._tokenStream, - selector = [], - nextSelector = null, - combinator = null, - ws = null; - - //if there's no simple selector, then there's no selector - nextSelector = this._simple_selector_sequence(); - if (nextSelector === null){ - return null; - } - - selector.push(nextSelector); - - do { - - //look for a combinator - combinator = this._combinator(); - - if (combinator !== null){ - selector.push(combinator); - nextSelector = this._simple_selector_sequence(); - - //there must be a next selector - if (nextSelector === null){ - this._unexpectedToken(this.LT(1)); - } else { - - //nextSelector is an instance of SelectorPart - selector.push(nextSelector); - } - } else { - - //if there's not whitespace, we're done - if (this._readWhitespace()){ - - //add whitespace separator - ws = new Combinator(tokenStream.token().value, tokenStream.token().startLine, tokenStream.token().startCol); - - //combinator is not required - combinator = this._combinator(); - - //selector is required if there's a combinator - nextSelector = this._simple_selector_sequence(); - if (nextSelector === null){ - if (combinator !== null){ - this._unexpectedToken(tokenStream.LT(1)); - } - } else { - - if (combinator !== null){ - selector.push(combinator); - } else { - selector.push(ws); - } - - selector.push(nextSelector); - } - } else { - break; - } - - } - } while(true); - - return new Selector(selector, selector[0].line, selector[0].col); - }, - - //CSS3 Selectors - _simple_selector_sequence: function(){ - /* - * simple_selector_sequence - * : [ type_selector | universal ] - * [ HASH | class | attrib | pseudo | negation ]* - * | [ HASH | class | attrib | pseudo | negation ]+ - * ; - */ - - var tokenStream = this._tokenStream, - - //parts of a simple selector - elementName = null, - modifiers = [], - - //complete selector text - selectorText= "", - - //the different parts after the element name to search for - components = [ - //HASH - function(){ - return tokenStream.match(Tokens.HASH) ? - new SelectorSubPart(tokenStream.token().value, "id", tokenStream.token().startLine, tokenStream.token().startCol) : - null; - }, - this._class, - this._attrib, - this._pseudo, - this._negation - ], - i = 0, - len = components.length, - component = null, - found = false, - line, - col; - - - //get starting line and column for the selector - line = tokenStream.LT(1).startLine; - col = tokenStream.LT(1).startCol; - - elementName = this._type_selector(); - if (!elementName){ - elementName = this._universal(); - } - - if (elementName !== null){ - selectorText += elementName; - } - - while(true){ - - //whitespace means we're done - if (tokenStream.peek() === Tokens.S){ - break; - } - - //check for each component - while(i < len && component === null){ - component = components[i++].call(this); - } - - if (component === null){ - - //we don't have a selector - if (selectorText === ""){ - return null; - } else { - break; - } - } else { - i = 0; - modifiers.push(component); - selectorText += component.toString(); - component = null; - } - } - - - return selectorText !== "" ? - new SelectorPart(elementName, modifiers, selectorText, line, col) : - null; - }, - - //CSS3 Selectors - _type_selector: function(){ - /* - * type_selector - * : [ namespace_prefix ]? element_name - * ; - */ - - var tokenStream = this._tokenStream, - ns = this._namespace_prefix(), - elementName = this._element_name(); - - if (!elementName){ - /* - * Need to back out the namespace that was read due to both - * type_selector and universal reading namespace_prefix - * first. Kind of hacky, but only way I can figure out - * right now how to not change the grammar. - */ - if (ns){ - tokenStream.unget(); - if (ns.length > 1){ - tokenStream.unget(); - } - } - - return null; - } else { - if (ns){ - elementName.text = ns + elementName.text; - elementName.col -= ns.length; - } - return elementName; - } - }, - - //CSS3 Selectors - _class: function(){ - /* - * class - * : '.' IDENT - * ; - */ - - var tokenStream = this._tokenStream, - token; - - if (tokenStream.match(Tokens.DOT)){ - tokenStream.mustMatch(Tokens.IDENT); - token = tokenStream.token(); - return new SelectorSubPart("." + token.value, "class", token.startLine, token.startCol - 1); - } else { - return null; - } - - }, - - //CSS3 Selectors - _element_name: function(){ - /* - * element_name - * : IDENT - * ; - */ - - var tokenStream = this._tokenStream, - token; - - if (tokenStream.match(Tokens.IDENT)){ - token = tokenStream.token(); - return new SelectorSubPart(token.value, "elementName", token.startLine, token.startCol); - - } else { - return null; - } - }, - - //CSS3 Selectors - _namespace_prefix: function(){ - /* - * namespace_prefix - * : [ IDENT | '*' ]? '|' - * ; - */ - var tokenStream = this._tokenStream, - value = ""; - - //verify that this is a namespace prefix - if (tokenStream.LA(1) === Tokens.PIPE || tokenStream.LA(2) === Tokens.PIPE){ - - if(tokenStream.match([Tokens.IDENT, Tokens.STAR])){ - value += tokenStream.token().value; - } - - tokenStream.mustMatch(Tokens.PIPE); - value += "|"; - - } - - return value.length ? value : null; - }, - - //CSS3 Selectors - _universal: function(){ - /* - * universal - * : [ namespace_prefix ]? '*' - * ; - */ - var tokenStream = this._tokenStream, - value = "", - ns; - - ns = this._namespace_prefix(); - if(ns){ - value += ns; - } - - if(tokenStream.match(Tokens.STAR)){ - value += "*"; - } - - return value.length ? value : null; - - }, - - //CSS3 Selectors - _attrib: function(){ - /* - * attrib - * : '[' S* [ namespace_prefix ]? IDENT S* - * [ [ PREFIXMATCH | - * SUFFIXMATCH | - * SUBSTRINGMATCH | - * '=' | - * INCLUDES | - * DASHMATCH ] S* [ IDENT | STRING ] S* - * ]? ']' - * ; - */ - - var tokenStream = this._tokenStream, - value = null, - ns, - token; - - if (tokenStream.match(Tokens.LBRACKET)){ - token = tokenStream.token(); - value = token.value; - value += this._readWhitespace(); - - ns = this._namespace_prefix(); - - if (ns){ - value += ns; - } - - tokenStream.mustMatch(Tokens.IDENT); - value += tokenStream.token().value; - value += this._readWhitespace(); - - if(tokenStream.match([Tokens.PREFIXMATCH, Tokens.SUFFIXMATCH, Tokens.SUBSTRINGMATCH, - Tokens.EQUALS, Tokens.INCLUDES, Tokens.DASHMATCH])){ - - value += tokenStream.token().value; - value += this._readWhitespace(); - - tokenStream.mustMatch([Tokens.IDENT, Tokens.STRING]); - value += tokenStream.token().value; - value += this._readWhitespace(); - } - - tokenStream.mustMatch(Tokens.RBRACKET); - - return new SelectorSubPart(value + "]", "attribute", token.startLine, token.startCol); - } else { - return null; - } - }, - - //CSS3 Selectors - _pseudo: function(){ - - /* - * pseudo - * : ':' ':'? [ IDENT | functional_pseudo ] - * ; - */ - - var tokenStream = this._tokenStream, - pseudo = null, - colons = ":", - line, - col; - - if (tokenStream.match(Tokens.COLON)){ - - if (tokenStream.match(Tokens.COLON)){ - colons += ":"; - } - - if (tokenStream.match(Tokens.IDENT)){ - pseudo = tokenStream.token().value; - line = tokenStream.token().startLine; - col = tokenStream.token().startCol - colons.length; - } else if (tokenStream.peek() == Tokens.FUNCTION){ - line = tokenStream.LT(1).startLine; - col = tokenStream.LT(1).startCol - colons.length; - pseudo = this._functional_pseudo(); - } - - if (pseudo){ - pseudo = new SelectorSubPart(colons + pseudo, "pseudo", line, col); - } - } - - return pseudo; - }, - - //CSS3 Selectors - _functional_pseudo: function(){ - /* - * functional_pseudo - * : FUNCTION S* expression ')' - * ; - */ - - var tokenStream = this._tokenStream, - value = null; - - if(tokenStream.match(Tokens.FUNCTION)){ - value = tokenStream.token().value; - value += this._readWhitespace(); - value += this._expression(); - tokenStream.mustMatch(Tokens.RPAREN); - value += ")"; - } - - return value; - }, - - //CSS3 Selectors - _expression: function(){ - /* - * expression - * : [ [ PLUS | '-' | DIMENSION | NUMBER | STRING | IDENT ] S* ]+ - * ; - */ - - var tokenStream = this._tokenStream, - value = ""; - - while(tokenStream.match([Tokens.PLUS, Tokens.MINUS, Tokens.DIMENSION, - Tokens.NUMBER, Tokens.STRING, Tokens.IDENT, Tokens.LENGTH, - Tokens.FREQ, Tokens.ANGLE, Tokens.TIME, - Tokens.RESOLUTION])){ - - value += tokenStream.token().value; - value += this._readWhitespace(); - } - - return value.length ? value : null; - - }, - - //CSS3 Selectors - _negation: function(){ - /* - * negation - * : NOT S* negation_arg S* ')' - * ; - */ - - var tokenStream = this._tokenStream, - line, - col, - value = "", - arg, - subpart = null; - - if (tokenStream.match(Tokens.NOT)){ - value = tokenStream.token().value; - line = tokenStream.token().startLine; - col = tokenStream.token().startCol; - value += this._readWhitespace(); - arg = this._negation_arg(); - value += arg; - value += this._readWhitespace(); - tokenStream.match(Tokens.RPAREN); - value += tokenStream.token().value; - - subpart = new SelectorSubPart(value, "not", line, col); - subpart.args.push(arg); - } - - return subpart; - }, - - //CSS3 Selectors - _negation_arg: function(){ - /* - * negation_arg - * : type_selector | universal | HASH | class | attrib | pseudo - * ; - */ - - var tokenStream = this._tokenStream, - args = [ - this._type_selector, - this._universal, - function(){ - return tokenStream.match(Tokens.HASH) ? - new SelectorSubPart(tokenStream.token().value, "id", tokenStream.token().startLine, tokenStream.token().startCol) : - null; - }, - this._class, - this._attrib, - this._pseudo - ], - arg = null, - i = 0, - len = args.length, - elementName, - line, - col, - part; - - line = tokenStream.LT(1).startLine; - col = tokenStream.LT(1).startCol; - - while(i < len && arg === null){ - - arg = args[i].call(this); - i++; - } - - //must be a negation arg - if (arg === null){ - this._unexpectedToken(tokenStream.LT(1)); - } - - //it's an element name - if (arg.type == "elementName"){ - part = new SelectorPart(arg, [], arg.toString(), line, col); - } else { - part = new SelectorPart(null, [arg], arg.toString(), line, col); - } - - return part; - }, - - _declaration: function(){ - - /* - * declaration - * : property ':' S* expr prio? - * | /( empty )/ - * ; - */ - - var tokenStream = this._tokenStream, - property = null, - expr = null, - prio = null, - error = null, - invalid = null; - - property = this._property(); - if (property !== null){ - - tokenStream.mustMatch(Tokens.COLON); - this._readWhitespace(); - - expr = this._expr(); - - //if there's no parts for the value, it's an error - if (!expr || expr.length === 0){ - this._unexpectedToken(tokenStream.LT(1)); - } - - prio = this._prio(); - - try { - this._validateProperty(property, expr); - } catch (ex) { - invalid = ex; - } - - this.fire({ - type: "property", - property: property, - value: expr, - important: prio, - line: property.line, - col: property.col, - invalid: invalid - }); - - return true; - } else { - return false; - } - }, - - _prio: function(){ - /* - * prio - * : IMPORTANT_SYM S* - * ; - */ - - var tokenStream = this._tokenStream, - result = tokenStream.match(Tokens.IMPORTANT_SYM); - - this._readWhitespace(); - return result; - }, - - _expr: function(){ - /* - * expr - * : term [ operator term ]* - * ; - */ - - var tokenStream = this._tokenStream, - values = [], - //valueParts = [], - value = null, - operator = null; - - value = this._term(); - if (value !== null){ - - values.push(value); - - do { - operator = this._operator(); - - //if there's an operator, keep building up the value parts - if (operator){ - values.push(operator); - } /*else { - //if there's not an operator, you have a full value - values.push(new PropertyValue(valueParts, valueParts[0].line, valueParts[0].col)); - valueParts = []; - }*/ - - value = this._term(); - - if (value === null){ - break; - } else { - values.push(value); - } - } while(true); - } - - //cleanup - /*if (valueParts.length){ - values.push(new PropertyValue(valueParts, valueParts[0].line, valueParts[0].col)); - }*/ - - return values.length > 0 ? new PropertyValue(values, values[0].startLine, values[0].startCol) : null; - }, - - _term: function(){ - - /* - * term - * : unary_operator? - * [ NUMBER S* | PERCENTAGE S* | LENGTH S* | ANGLE S* | - * TIME S* | FREQ S* | function | ie_function ] - * | STRING S* | IDENT S* | URI S* | UNICODERANGE S* | hexcolor - * ; - */ - - var tokenStream = this._tokenStream, - unary = null, - value = null, - line, - col; - - //returns the operator or null - unary = this._unary_operator(); - if (unary !== null){ - line = tokenStream.token().startLine; - col = tokenStream.token().startCol; - } - - //exception for IE filters - if (tokenStream.peek() == Tokens.IE_FUNCTION && this.options.ieFilters){ - - value = this._ie_function(); - if (unary === null){ - line = tokenStream.token().startLine; - col = tokenStream.token().startCol; - } - - //see if there's a simple match - } else if (tokenStream.match([Tokens.NUMBER, Tokens.PERCENTAGE, Tokens.LENGTH, - Tokens.ANGLE, Tokens.TIME, - Tokens.FREQ, Tokens.STRING, Tokens.IDENT, Tokens.URI, Tokens.UNICODE_RANGE])){ - - value = tokenStream.token().value; - if (unary === null){ - line = tokenStream.token().startLine; - col = tokenStream.token().startCol; - } - this._readWhitespace(); - } else { - - //see if it's a color - value = this._hexcolor(); - if (value === null){ - - //if there's no unary, get the start of the next token for line/col info - if (unary === null){ - line = tokenStream.LT(1).startLine; - col = tokenStream.LT(1).startCol; - } - - //has to be a function - if (value === null){ - - /* - * This checks for alpha(opacity=0) style of IE - * functions. IE_FUNCTION only presents progid: style. - */ - if (tokenStream.LA(3) == Tokens.EQUALS && this.options.ieFilters){ - value = this._ie_function(); - } else { - value = this._function(); - } - } - - /*if (value === null){ - return null; - //throw new Error("Expected identifier at line " + tokenStream.token().startLine + ", character " + tokenStream.token().startCol + "."); - }*/ - - } else { - if (unary === null){ - line = tokenStream.token().startLine; - col = tokenStream.token().startCol; - } - } - - } - - return value !== null ? - new PropertyValuePart(unary !== null ? unary + value : value, line, col) : - null; - - }, - - _function: function(){ - - /* - * function - * : FUNCTION S* expr ')' S* - * ; - */ - - var tokenStream = this._tokenStream, - functionText = null, - expr = null, - lt; - - if (tokenStream.match(Tokens.FUNCTION)){ - functionText = tokenStream.token().value; - this._readWhitespace(); - expr = this._expr(); - functionText += expr; - - //START: Horrible hack in case it's an IE filter - if (this.options.ieFilters && tokenStream.peek() == Tokens.EQUALS){ - do { - - if (this._readWhitespace()){ - functionText += tokenStream.token().value; - } - - //might be second time in the loop - if (tokenStream.LA(0) == Tokens.COMMA){ - functionText += tokenStream.token().value; - } - - tokenStream.match(Tokens.IDENT); - functionText += tokenStream.token().value; - - tokenStream.match(Tokens.EQUALS); - functionText += tokenStream.token().value; - - //functionText += this._term(); - lt = tokenStream.peek(); - while(lt != Tokens.COMMA && lt != Tokens.S && lt != Tokens.RPAREN){ - tokenStream.get(); - functionText += tokenStream.token().value; - lt = tokenStream.peek(); - } - } while(tokenStream.match([Tokens.COMMA, Tokens.S])); - } - - //END: Horrible Hack - - tokenStream.match(Tokens.RPAREN); - functionText += ")"; - this._readWhitespace(); - } - - return functionText; - }, - - _ie_function: function(){ - - /* (My own extension) - * ie_function - * : IE_FUNCTION S* IDENT '=' term [S* ','? IDENT '=' term]+ ')' S* - * ; - */ - - var tokenStream = this._tokenStream, - functionText = null, - expr = null, - lt; - - //IE function can begin like a regular function, too - if (tokenStream.match([Tokens.IE_FUNCTION, Tokens.FUNCTION])){ - functionText = tokenStream.token().value; - - do { - - if (this._readWhitespace()){ - functionText += tokenStream.token().value; - } - - //might be second time in the loop - if (tokenStream.LA(0) == Tokens.COMMA){ - functionText += tokenStream.token().value; - } - - tokenStream.match(Tokens.IDENT); - functionText += tokenStream.token().value; - - tokenStream.match(Tokens.EQUALS); - functionText += tokenStream.token().value; - - //functionText += this._term(); - lt = tokenStream.peek(); - while(lt != Tokens.COMMA && lt != Tokens.S && lt != Tokens.RPAREN){ - tokenStream.get(); - functionText += tokenStream.token().value; - lt = tokenStream.peek(); - } - } while(tokenStream.match([Tokens.COMMA, Tokens.S])); - - tokenStream.match(Tokens.RPAREN); - functionText += ")"; - this._readWhitespace(); - } - - return functionText; - }, - - _hexcolor: function(){ - /* - * There is a constraint on the color that it must - * have either 3 or 6 hex-digits (i.e., [0-9a-fA-F]) - * after the "#"; e.g., "#000" is OK, but "#abcd" is not. - * - * hexcolor - * : HASH S* - * ; - */ - - var tokenStream = this._tokenStream, - token, - color = null; - - if(tokenStream.match(Tokens.HASH)){ - - //need to do some validation here - - token = tokenStream.token(); - color = token.value; - if (!/#[a-f0-9]{3,6}/i.test(color)){ - throw new SyntaxError("Expected a hex color but found '" + color + "' at line " + token.startLine + ", col " + token.startCol + ".", token.startLine, token.startCol); - } - this._readWhitespace(); - } - - return color; - }, - - //----------------------------------------------------------------- - // Animations methods - //----------------------------------------------------------------- - - _keyframes: function(){ - - /* - * keyframes: - * : KEYFRAMES_SYM S* keyframe_name S* '{' S* keyframe_rule* '}' { - * ; - */ - var tokenStream = this._tokenStream, - token, - tt, - name; - - tokenStream.mustMatch(Tokens.KEYFRAMES_SYM); - this._readWhitespace(); - name = this._keyframe_name(); - - this._readWhitespace(); - tokenStream.mustMatch(Tokens.LBRACE); - - this.fire({ - type: "startkeyframes", - name: name, - line: name.line, - col: name.col - }); - - this._readWhitespace(); - tt = tokenStream.peek(); - - //check for key - while(tt == Tokens.IDENT || tt == Tokens.PERCENTAGE) { - this._keyframe_rule(); - this._readWhitespace(); - tt = tokenStream.peek(); - } - - this.fire({ - type: "endkeyframes", - name: name, - line: name.line, - col: name.col - }); - - this._readWhitespace(); - tokenStream.mustMatch(Tokens.RBRACE); - - }, - - _keyframe_name: function(){ - - /* - * keyframe_name: - * : IDENT - * | STRING - * ; - */ - var tokenStream = this._tokenStream, - token; - - tokenStream.mustMatch([Tokens.IDENT, Tokens.STRING]); - return SyntaxUnit.fromToken(tokenStream.token()); - }, - - _keyframe_rule: function(){ - - /* - * keyframe_rule: - * : key_list S* - * '{' S* declaration [ ';' S* declaration ]* '}' S* - * ; - */ - var tokenStream = this._tokenStream, - token, - keyList = this._key_list(); - - this.fire({ - type: "startkeyframerule", - keys: keyList, - line: keyList[0].line, - col: keyList[0].col - }); - - this._readDeclarations(true); - - this.fire({ - type: "endkeyframerule", - keys: keyList, - line: keyList[0].line, - col: keyList[0].col - }); - - }, - - _key_list: function(){ - - /* - * key_list: - * : key [ S* ',' S* key]* - * ; - */ - var tokenStream = this._tokenStream, - token, - key, - keyList = []; - - //must be least one key - keyList.push(this._key()); - - this._readWhitespace(); - - while(tokenStream.match(Tokens.COMMA)){ - this._readWhitespace(); - keyList.push(this._key()); - this._readWhitespace(); - } - - return keyList; - }, - - _key: function(){ - /* - * There is a restriction that IDENT can be only "from" or "to". - * - * key - * : PERCENTAGE - * | IDENT - * ; - */ - - var tokenStream = this._tokenStream, - token; - - if (tokenStream.match(Tokens.PERCENTAGE)){ - return SyntaxUnit.fromToken(tokenStream.token()); - } else if (tokenStream.match(Tokens.IDENT)){ - token = tokenStream.token(); - - if (/from|to/i.test(token.value)){ - return SyntaxUnit.fromToken(token); - } - - tokenStream.unget(); - } - - //if it gets here, there wasn't a valid token, so time to explode - this._unexpectedToken(tokenStream.LT(1)); - }, - - //----------------------------------------------------------------- - // Helper methods - //----------------------------------------------------------------- - - /** - * Not part of CSS grammar, but useful for skipping over - * combination of white space and HTML-style comments. - * @return {void} - * @method _skipCruft - * @private - */ - _skipCruft: function(){ - while(this._tokenStream.match([Tokens.S, Tokens.CDO, Tokens.CDC])){ - //noop - } - }, - - /** - * Not part of CSS grammar, but this pattern occurs frequently - * in the official CSS grammar. Split out here to eliminate - * duplicate code. - * @param {Boolean} checkStart Indicates if the rule should check - * for the left brace at the beginning. - * @param {Boolean} readMargins Indicates if the rule should check - * for margin patterns. - * @return {void} - * @method _readDeclarations - * @private - */ - _readDeclarations: function(checkStart, readMargins){ - /* - * Reads the pattern - * S* '{' S* declaration [ ';' S* declaration ]* '}' S* - * or - * S* '{' S* [ declaration | margin ]? [ ';' S* [ declaration | margin ]? ]* '}' S* - * Note that this is how it is described in CSS3 Paged Media, but is actually incorrect. - * A semicolon is only necessary following a delcaration is there's another declaration - * or margin afterwards. - */ - var tokenStream = this._tokenStream, - tt; - - - this._readWhitespace(); - - if (checkStart){ - tokenStream.mustMatch(Tokens.LBRACE); - } - - this._readWhitespace(); - - try { - - while(true){ - - if (readMargins && this._margin()){ - //noop - } else if (this._declaration()){ - if (!tokenStream.match(Tokens.SEMICOLON)){ - break; - } - } else { - break; - } - - //if ((!this._margin() && !this._declaration()) || !tokenStream.match(Tokens.SEMICOLON)){ - // break; - //} - this._readWhitespace(); - } - - tokenStream.mustMatch(Tokens.RBRACE); - this._readWhitespace(); - - } catch (ex) { - if (ex instanceof SyntaxError && !this.options.strict){ - - //fire error event - this.fire({ - type: "error", - error: ex, - message: ex.message, - line: ex.line, - col: ex.col - }); - - //see if there's another declaration - tt = tokenStream.advance([Tokens.SEMICOLON, Tokens.RBRACE]); - if (tt == Tokens.SEMICOLON){ - //if there's a semicolon, then there might be another declaration - this._readDeclarations(false, readMargins); - } else if (tt == Tokens.RBRACE){ - //if there's a right brace, the rule is finished so don't do anything - } else { - //otherwise, rethrow the error because it wasn't handled properly - throw ex; - } - - } else { - //not a syntax error, rethrow it - throw ex; - } - } - - }, - - /** - * In some cases, you can end up with two white space tokens in a - * row. Instead of making a change in every function that looks for - * white space, this function is used to match as much white space - * as necessary. - * @method _readWhitespace - * @return {String} The white space if found, empty string if not. - * @private - */ - _readWhitespace: function(){ - - var tokenStream = this._tokenStream, - ws = ""; - - while(tokenStream.match(Tokens.S)){ - ws += tokenStream.token().value; - } - - return ws; - }, - - - /** - * Throws an error when an unexpected token is found. - * @param {Object} token The token that was found. - * @method _unexpectedToken - * @return {void} - * @private - */ - _unexpectedToken: function(token){ - throw new SyntaxError("Unexpected token '" + token.value + "' at line " + token.startLine + ", col " + token.startCol + ".", token.startLine, token.startCol); - }, - - /** - * Helper method used for parsing subparts of a style sheet. - * @return {void} - * @method _verifyEnd - * @private - */ - _verifyEnd: function(){ - if (this._tokenStream.LA(1) != Tokens.EOF){ - this._unexpectedToken(this._tokenStream.LT(1)); - } - }, - - //----------------------------------------------------------------- - // Validation methods - //----------------------------------------------------------------- - _validateProperty: function(property, value){ - var name = property.text.toLowerCase(), - validation, - i, len; - - if (Properties[name]){ - - if (typeof Properties[name] == "function"){ - Properties[name](value); - } - - //otherwise, no validation available yet - } else if (name.indexOf("-") !== 0){ //vendor prefixed are ok - throw new ValidationError("Unknown property '" + property + "'.", property.line, property.col); - } - }, - - //----------------------------------------------------------------- - // Parsing methods - //----------------------------------------------------------------- - - parse: function(input){ - this._tokenStream = new TokenStream(input, Tokens); - this._stylesheet(); - }, - - parseStyleSheet: function(input){ - //just passthrough - return this.parse(input); - }, - - parseMediaQuery: function(input){ - this._tokenStream = new TokenStream(input, Tokens); - var result = this._media_query(); - - //if there's anything more, then it's an invalid selector - this._verifyEnd(); - - //otherwise return result - return result; - }, - - /** - * Parses a property value (everything after the semicolon). - * @return {parserlib.css.PropertyValue} The property value. - * @throws parserlib.util.SyntaxError If an unexpected token is found. - * @method parserPropertyValue - */ - parsePropertyValue: function(input){ - - this._tokenStream = new TokenStream(input, Tokens); - this._readWhitespace(); - - var result = this._expr(); - - //okay to have a trailing white space - this._readWhitespace(); - - //if there's anything more, then it's an invalid selector - this._verifyEnd(); - - //otherwise return result - return result; - }, - - /** - * Parses a complete CSS rule, including selectors and - * properties. - * @param {String} input The text to parser. - * @return {Boolean} True if the parse completed successfully, false if not. - * @method parseRule - */ - parseRule: function(input){ - this._tokenStream = new TokenStream(input, Tokens); - - //skip any leading white space - this._readWhitespace(); - - var result = this._ruleset(); - - //skip any trailing white space - this._readWhitespace(); - - //if there's anything more, then it's an invalid selector - this._verifyEnd(); - - //otherwise return result - return result; - }, - - /** - * Parses a single CSS selector (no comma) - * @param {String} input The text to parse as a CSS selector. - * @return {Selector} An object representing the selector. - * @throws parserlib.util.SyntaxError If an unexpected token is found. - * @method parseSelector - */ - parseSelector: function(input){ - - this._tokenStream = new TokenStream(input, Tokens); - - //skip any leading white space - this._readWhitespace(); - - var result = this._selector(); - - //skip any trailing white space - this._readWhitespace(); - - //if there's anything more, then it's an invalid selector - this._verifyEnd(); - - //otherwise return result - return result; - }, - - /** - * Parses an HTML style attribute: a set of CSS declarations - * separated by semicolons. - * @param {String} input The text to parse as a style attribute - * @return {void} - * @method parseStyleAttribute - */ - parseStyleAttribute: function(input){ - input += "}"; // for error recovery in _readDeclarations() - this._tokenStream = new TokenStream(input, Tokens); - this._readDeclarations(); - } - }; - - //copy over onto prototype - for (prop in additions){ - proto[prop] = additions[prop]; - } - - return proto; -}(); - - -/* -nth - : S* [ ['-'|'+']? INTEGER? {N} [ S* ['-'|'+'] S* INTEGER ]? | - ['-'|'+']? INTEGER | {O}{D}{D} | {E}{V}{E}{N} ] S* - ; -*/ -//This file will likely change a lot! Very experimental! - -var ValidationType = { - - "absolute-size": function(part){ - return this.identifier(part, "xx-small | x-small | small | medium | large | x-large | xx-large"); - }, - - "attachment": function(part){ - return this.identifier(part, "scroll | fixed | local"); - }, - - "box": function(part){ - return this.identifier(part, "padding-box | border-box | content-box"); - }, - - "relative-size": function(part){ - return this.identifier(part, "smaller | larger"); - }, - - "identifier": function(part, options){ - var text = part.text.toString().toLowerCase(), - args = options.split(" | "), - i, len, found = false; - - - for (i=0,len=args.length; i < len && !found; i++){ - if (text == args[i]){ - found = true; - } - } - - return found; - }, - - "length": function(part){ - return part.type == "length" || part.type == "number" || part.type == "integer" || part == "0"; - }, - - "color": function(part){ - return part.type == "color" || part == "transparent"; - }, - - "number": function(part){ - return part.type == "number" || this.integer(part); - }, - - "integer": function(part){ - return part.type == "integer"; - }, - - "angle": function(part){ - return part.type == "angle"; - }, - - "uri": function(part){ - return part.type == "uri"; - }, - - "image": function(part){ - return this.uri(part); - }, - - "bg-image": function(part){ - return this.image(part) || part == "none"; - }, - - "percentage": function(part){ - return part.type == "percentage" || part == "0"; - }, - - "border-width": function(part){ - return this.length(part) || this.identifier(part, "thin | medium | thick"); - }, - - "border-style": function(part){ - return this.identifier(part, "none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset"); - }, - - "margin-width": function(part){ - return this.length(part) || this.percentage(part) || this.identifier(part, "auto"); - }, - - "padding-width": function(part){ - return this.length(part) || this.percentage(part); - } -}; - - - - - - - -var Properties = { - - //A - "alignment-adjust": 1, - "alignment-baseline": 1, - "animation": 1, - "animation-delay": 1, - "animation-direction": { multi: [ "normal | alternate" ], separator: "," }, - "animation-duration": 1, - "animation-fill-mode": 1, - "animation-iteration-count": { multi: [ "number", "infinite"], separator: "," }, - "animation-name": 1, - "animation-play-state": { multi: [ "running | paused" ], separator: "," }, - "animation-timing-function": 1, - "appearance": 1, - "azimuth": 1, - - //B - "backface-visibility": 1, - "background": 1, - "background-attachment": { multi: [ "attachment" ], separator: "," }, - "background-break": 1, - "background-clip": { multi: [ "box" ], separator: "," }, - "background-color": [ "color", "inherit" ], - "background-image": { multi: [ "bg-image" ], separator: "," }, - "background-origin": { multi: [ "box" ], separator: "," }, - "background-position": 1, - "background-repeat": [ "repeat | repeat-x | repeat-y | no-repeat | inherit" ], - "background-size": 1, - "baseline-shift": 1, - "binding": 1, - "bleed": 1, - "bookmark-label": 1, - "bookmark-level": 1, - "bookmark-state": 1, - "bookmark-target": 1, - "border": 1, - "border-bottom": 1, - "border-bottom-color": 1, - "border-bottom-left-radius": 1, - "border-bottom-right-radius": 1, - "border-bottom-style": [ "border-style" ], - "border-bottom-width": [ "border-width" ], - "border-collapse": [ "collapse | separate | inherit" ], - "border-color": { multi: [ "color", "inherit" ], max: 4 }, - "border-image": 1, - "border-image-outset": { multi: [ "length", "number" ], max: 4 }, - "border-image-repeat": { multi: [ "stretch | repeat | round" ], max: 2 }, - "border-image-slice": 1, - "border-image-source": [ "image", "none" ], - "border-image-width": { multi: [ "length", "percentage", "number", "auto" ], max: 4 }, - "border-left": 1, - "border-left-color": [ "color", "inherit" ], - "border-left-style": [ "border-style" ], - "border-left-width": [ "border-width" ], - "border-radius": 1, - "border-right": 1, - "border-right-color": [ "color", "inherit" ], - "border-right-style": [ "border-style" ], - "border-right-width": [ "border-width" ], - "border-spacing": 1, - "border-style": { multi: [ "border-style" ], max: 4 }, - "border-top": 1, - "border-top-color": [ "color", "inherit" ], - "border-top-left-radius": 1, - "border-top-right-radius": 1, - "border-top-style": [ "border-style" ], - "border-top-width": [ "border-width" ], - "border-width": { multi: [ "border-width" ], max: 4 }, - "bottom": [ "margin-width", "inherit" ], - "box-align": [ "start | end | center | baseline | stretch" ], //http://www.w3.org/TR/2009/WD-css3-flexbox-20090723/ - "box-decoration-break": [ "slice |clone" ], - "box-direction": [ "normal | reverse | inherit" ], - "box-flex": [ "number" ], - "box-flex-group": [ "integer" ], - "box-lines": [ "single | multiple" ], - "box-ordinal-group": [ "integer" ], - "box-orient": [ "horizontal | vertical | inline-axis | block-axis | inherit" ], - "box-pack": [ "start | end | center | justify" ], - "box-shadow": 1, - "box-sizing": [ "content-box | border-box | inherit" ], - "break-after": [ "auto | always | avoid | left | right | page | column | avoid-page | avoid-column" ], - "break-before": [ "auto | always | avoid | left | right | page | column | avoid-page | avoid-column" ], - "break-inside": [ "auto | avoid | avoid-page | avoid-column" ], - - //C - "caption-side": [ "top | bottom | inherit" ], - "clear": [ "none | right | left | both | inherit" ], - "clip": 1, - "color": [ "color", "inherit" ], - "color-profile": 1, - "column-count": [ "integer", "auto" ], //http://www.w3.org/TR/css3-multicol/ - "column-fill": [ "auto | balance" ], - "column-gap": [ "length", "normal" ], - "column-rule": 1, - "column-rule-color": [ "color" ], - "column-rule-style": [ "border-style" ], - "column-rule-width": [ "border-width" ], - "column-span": [ "none | all" ], - "column-width": [ "length", "auto" ], - "columns": 1, - "content": 1, - "counter-increment": 1, - "counter-reset": 1, - "crop": 1, - "cue": [ "cue-after | cue-before | inherit" ], - "cue-after": 1, - "cue-before": 1, - "cursor": 1, - - //D - "direction": [ "ltr | rtl | inherit" ], - "display": [ "inline | block | list-item | inline-block | table | inline-table | table-row-group | table-header-group | table-footer-group | table-row | table-column-group | table-column | table-cell | table-caption | box | inline-box | grid | inline-grid", "none | inherit" ], - "dominant-baseline": 1, - "drop-initial-after-adjust": 1, - "drop-initial-after-align": 1, - "drop-initial-before-adjust": 1, - "drop-initial-before-align": 1, - "drop-initial-size": 1, - "drop-initial-value": 1, - - //E - "elevation": 1, - "empty-cells": [ "show | hide | inherit" ], - - //F - "filter": 1, - "fit": [ "fill | hidden | meet | slice" ], - "fit-position": 1, - "float": [ "left | right | none | inherit" ], - "float-offset": 1, - "font": 1, - "font-family": 1, - "font-size": [ "absolute-size", "relative-size", "length", "percentage", "inherit" ], - "font-size-adjust": 1, - "font-stretch": 1, - "font-style": [ "normal | italic | oblique | inherit" ], - "font-variant": [ "normal | small-caps | inherit" ], - "font-weight": [ "normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | inherit" ], - - //G - "grid-cell-stacking": [ "columns | rows | layer" ], - "grid-column": 1, - "grid-columns": 1, - "grid-column-align": [ "start | end | center | stretch" ], - "grid-column-sizing": 1, - "grid-column-span": [ "integer" ], - "grid-flow": [ "none | rows | columns" ], - "grid-layer": [ "integer" ], - "grid-row": 1, - "grid-rows": 1, - "grid-row-align": [ "start | end | center | stretch" ], - "grid-row-span": [ "integer" ], - "grid-row-sizing": 1, - - //H - "hanging-punctuation": 1, - "height": [ "margin-width", "inherit" ], - "hyphenate-after": 1, - "hyphenate-before": 1, - "hyphenate-character": [ "string", "auto" ], - "hyphenate-lines": 1, - "hyphenate-resource": 1, - "hyphens": [ "none | manual | auto" ], - - //I - "icon": 1, - "image-orientation": [ "angle", "auto" ], - "image-rendering": 1, - "image-resolution": 1, - "inline-box-align": 1, - - //L - "left": [ "margin-width", "inherit" ], - "letter-spacing": [ "length", "normal | inherit" ], - "line-height": [ "number", "length", "percentage", "normal | inherit"], - "line-break": [ "auto | loose | normal | strict" ], - "line-stacking": 1, - "line-stacking-ruby": 1, - "line-stacking-shift": 1, - "line-stacking-strategy": 1, - "list-style": 1, - "list-style-image": [ "uri", "none | inherit" ], - "list-style-position": [ "inside | outside | inherit" ], - "list-style-type": [ "disc | circle | square | decimal | decimal-leading-zero | lower-roman | upper-roman | lower-greek | lower-latin | upper-latin | armenian | georgian | lower-alpha | upper-alpha | none | inherit" ], - - //M - "margin": { multi: [ "margin-width", "inherit" ], max: 4 }, - "margin-bottom": [ "margin-width", "inherit" ], - "margin-left": [ "margin-width", "inherit" ], - "margin-right": [ "margin-width", "inherit" ], - "margin-top": [ "margin-width", "inherit" ], - "mark": 1, - "mark-after": 1, - "mark-before": 1, - "marks": 1, - "marquee-direction": 1, - "marquee-play-count": 1, - "marquee-speed": 1, - "marquee-style": 1, - "max-height": [ "length", "percentage", "none | inherit" ], - "max-width": [ "length", "percentage", "none | inherit" ], - "min-height": [ "length", "percentage", "inherit" ], - "min-width": [ "length", "percentage", "inherit" ], - "move-to": 1, - - //N - "nav-down": 1, - "nav-index": 1, - "nav-left": 1, - "nav-right": 1, - "nav-up": 1, - - //O - "opacity": [ "number", "inherit" ], - "orphans": [ "integer", "inherit" ], - "outline": 1, - "outline-color": [ "color", "invert | inherit" ], - "outline-offset": 1, - "outline-style": [ "border-style", "inherit" ], - "outline-width": [ "border-width", "inherit" ], - "overflow": [ "visible | hidden | scroll | auto | inherit" ], - "overflow-style": 1, - "overflow-x": 1, - "overflow-y": 1, - - //P - "padding": { multi: [ "padding-width", "inherit" ], max: 4 }, - "padding-bottom": [ "padding-width", "inherit" ], - "padding-left": [ "padding-width", "inherit" ], - "padding-right": [ "padding-width", "inherit" ], - "padding-top": [ "padding-width", "inherit" ], - "page": 1, - "page-break-after": [ "auto | always | avoid | left | right | inherit" ], - "page-break-before": [ "auto | always | avoid | left | right | inherit" ], - "page-break-inside": [ "auto | avoid | inherit" ], - "page-policy": 1, - "pause": 1, - "pause-after": 1, - "pause-before": 1, - "perspective": 1, - "perspective-origin": 1, - "phonemes": 1, - "pitch": 1, - "pitch-range": 1, - "play-during": 1, - "position": [ "static | relative | absolute | fixed | inherit" ], - "presentation-level": 1, - "punctuation-trim": 1, - - //Q - "quotes": 1, - - //R - "rendering-intent": 1, - "resize": 1, - "rest": 1, - "rest-after": 1, - "rest-before": 1, - "richness": 1, - "right": [ "margin-width", "inherit" ], - "rotation": 1, - "rotation-point": 1, - "ruby-align": 1, - "ruby-overhang": 1, - "ruby-position": 1, - "ruby-span": 1, - - //S - "size": 1, - "speak": [ "normal | none | spell-out | inherit" ], - "speak-header": [ "once | always | inherit" ], - "speak-numeral": [ "digits | continuous | inherit" ], - "speak-punctuation": [ "code | none | inherit" ], - "speech-rate": 1, - "src" : 1, - "stress": 1, - "string-set": 1, - - "table-layout": [ "auto | fixed | inherit" ], - "tab-size": [ "integer", "length" ], - "target": 1, - "target-name": 1, - "target-new": 1, - "target-position": 1, - "text-align": [ "left | right | center | justify | inherit" ], - "text-align-last": 1, - "text-decoration": 1, - "text-emphasis": 1, - "text-height": 1, - "text-indent": [ "length", "percentage", "inherit" ], - "text-justify": [ "auto | none | inter-word | inter-ideograph | inter-cluster | distribute | kashida" ], - "text-outline": 1, - "text-overflow": 1, - "text-shadow": 1, - "text-transform": [ "capitalize | uppercase | lowercase | none | inherit" ], - "text-wrap": [ "normal | none | avoid" ], - "top": [ "margin-width", "inherit" ], - "transform": 1, - "transform-origin": 1, - "transform-style": 1, - "transition": 1, - "transition-delay": 1, - "transition-duration": 1, - "transition-property": 1, - "transition-timing-function": 1, - - //U - "unicode-bidi": [ "normal | embed | bidi-override | inherit" ], - "user-modify": [ "read-only | read-write | write-only | inherit" ], - "user-select": [ "none | text | toggle | element | elements | all | inherit" ], - - //V - "vertical-align": [ "percentage", "length", "baseline | sub | super | top | text-top | middle | bottom | text-bottom | inherit" ], - "visibility": [ "visible | hidden | collapse | inherit" ], - "voice-balance": 1, - "voice-duration": 1, - "voice-family": 1, - "voice-pitch": 1, - "voice-pitch-range": 1, - "voice-rate": 1, - "voice-stress": 1, - "voice-volume": 1, - "volume": 1, - - //W - "white-space": [ "normal | pre | nowrap | pre-wrap | pre-line | inherit" ], - "white-space-collapse": 1, - "widows": [ "integer", "inherit" ], - "width": [ "length", "percentage", "auto", "inherit" ], - "word-break": [ "normal | keep-all | break-all" ], - "word-spacing": [ "length", "normal | inherit" ], - "word-wrap": 1, - - //Z - "z-index": [ "integer", "auto | inherit" ], - "zoom": [ "number", "percentage", "normal" ] -}; - -//Create validation functions for strings -(function(){ - var prop; - for (prop in Properties){ - if (Properties.hasOwnProperty(prop)){ - if (Properties[prop] instanceof Array){ - Properties[prop] = (function(values){ - return function(value){ - var valid = false, - msg = [], - part = value.parts[0]; - - if (value.parts.length != 1){ - throw new ValidationError("Expected 1 value but found " + value.parts.length + ".", value.line, value.col); - } - - for (var i=0, len=values.length; i < len && !valid; i++){ - if (typeof ValidationType[values[i]] == "undefined"){ - valid = valid || ValidationType.identifier(part, values[i]); - msg.push("one of (" + values[i] + ")"); - } else { - valid = valid || ValidationType[values[i]](part); - msg.push(values[i]); - } - } - - if (!valid){ - throw new ValidationError("Expected " + msg.join(" or ") + " but found '" + value + "'.", value.line, value.col); - } - }; - })(Properties[prop]); - } else if (typeof Properties[prop] == "object"){ - Properties[prop] = (function(spec){ - return function(value){ - var valid, - i, len, j, count, - msg, - values, - last, - parts = value.parts; - - //if there's a maximum set, use it (max can't be 0) - if (spec.max) { - if (parts.length > spec.max){ - throw new ValidationError("Expected a max of " + spec.max + " property values but found " + parts.length + ".", value.line, value.col); - } - } - - if (spec.multi){ - values = spec.multi; - } - - for (i=0, len=parts.length; i < len; i++){ - msg = []; - valid = false; - - if (spec.separator && parts[i].type == "operator"){ - - //two operators in a row - not allowed? - if ((last && last.type == "operator")){ - msg = msg.concat(values); - } else if (i == len-1){ - msg = msg.concat("end of line"); - } else if (parts[i] != spec.separator){ - msg.push("'" + spec.separator + "'"); - } else { - valid = true; - } - } else { - - for (j=0, count=values.length; j < count; j++){ - if (typeof ValidationType[values[j]] == "undefined"){ - if(ValidationType.identifier(parts[i], values[j])){ - valid = true; - break; - } - msg.push("one of (" + values[j] + ")"); - } else { - if (ValidationType[values[j]](parts[i])){ - valid = true; - break; - } - msg.push(values[j]); - } - } - } - - - if (!valid) { - throw new ValidationError("Expected " + msg.join(" or ") + " but found '" + parts[i] + "'.", value.line, value.col); - } - - - last = parts[i]; - } - - }; - })(Properties[prop]); - } - } - } -})(); -/** - * Represents a selector combinator (whitespace, +, >). - * @namespace parserlib.css - * @class PropertyName - * @extends parserlib.util.SyntaxUnit - * @constructor - * @param {String} text The text representation of the unit. - * @param {String} hack The type of IE hack applied ("*", "_", or null). - * @param {int} line The line of text on which the unit resides. - * @param {int} col The column of text on which the unit resides. - */ -function PropertyName(text, hack, line, col){ - - SyntaxUnit.call(this, text, line, col, Parser.PROPERTY_NAME_TYPE); - - /** - * The type of IE hack applied ("*", "_", or null). - * @type String - * @property hack - */ - this.hack = hack; - -} - -PropertyName.prototype = new SyntaxUnit(); -PropertyName.prototype.constructor = PropertyName; -PropertyName.prototype.toString = function(){ - return (this.hack ? this.hack : "") + this.text; -}; -/** - * Represents a single part of a CSS property value, meaning that it represents - * just everything single part between ":" and ";". If there are multiple values - * separated by commas, this type represents just one of the values. - * @param {String[]} parts An array of value parts making up this value. - * @param {int} line The line of text on which the unit resides. - * @param {int} col The column of text on which the unit resides. - * @namespace parserlib.css - * @class PropertyValue - * @extends parserlib.util.SyntaxUnit - * @constructor - */ -function PropertyValue(parts, line, col){ - - SyntaxUnit.call(this, parts.join(" "), line, col, Parser.PROPERTY_VALUE_TYPE); - - /** - * The parts that make up the selector. - * @type Array - * @property parts - */ - this.parts = parts; - -} - -PropertyValue.prototype = new SyntaxUnit(); -PropertyValue.prototype.constructor = PropertyValue; - -/** - * Represents a single part of a CSS property value, meaning that it represents - * just one part of the data between ":" and ";". - * @param {String} text The text representation of the unit. - * @param {int} line The line of text on which the unit resides. - * @param {int} col The column of text on which the unit resides. - * @namespace parserlib.css - * @class PropertyValuePart - * @extends parserlib.util.SyntaxUnit - * @constructor - */ -function PropertyValuePart(text, line, col){ - - SyntaxUnit.call(this, text, line, col, Parser.PROPERTY_VALUE_PART_TYPE); - - /** - * Indicates the type of value unit. - * @type String - * @property type - */ - this.type = "unknown"; - - //figure out what type of data it is - - var temp; - - //it is a measurement? - if (/^([+\-]?[\d\.]+)([a-z]+)$/i.test(text)){ //dimension - this.type = "dimension"; - this.value = +RegExp.$1; - this.units = RegExp.$2; - - //try to narrow down - switch(this.units.toLowerCase()){ - - case "em": - case "rem": - case "ex": - case "px": - case "cm": - case "mm": - case "in": - case "pt": - case "pc": - this.type = "length"; - break; - - case "deg": - case "rad": - case "grad": - this.type = "angle"; - break; - - case "ms": - case "s": - this.type = "time"; - break; - - case "hz": - case "khz": - this.type = "frequency"; - break; - - case "dpi": - case "dpcm": - this.type = "resolution"; - break; - - //default - - } - - } else if (/^([+\-]?[\d\.]+)%$/i.test(text)){ //percentage - this.type = "percentage"; - this.value = +RegExp.$1; - } else if (/^([+\-]?[\d\.]+)%$/i.test(text)){ //percentage - this.type = "percentage"; - this.value = +RegExp.$1; - } else if (/^([+\-]?\d+)$/i.test(text)){ //integer - this.type = "integer"; - this.value = +RegExp.$1; - } else if (/^([+\-]?[\d\.]+)$/i.test(text)){ //number - this.type = "number"; - this.value = +RegExp.$1; - - } else if (/^#([a-f0-9]{3,6})/i.test(text)){ //hexcolor - this.type = "color"; - temp = RegExp.$1; - if (temp.length == 3){ - this.red = parseInt(temp.charAt(0)+temp.charAt(0),16); - this.green = parseInt(temp.charAt(1)+temp.charAt(1),16); - this.blue = parseInt(temp.charAt(2)+temp.charAt(2),16); - } else { - this.red = parseInt(temp.substring(0,2),16); - this.green = parseInt(temp.substring(2,4),16); - this.blue = parseInt(temp.substring(4,6),16); - } - } else if (/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/i.test(text)){ //rgb() color with absolute numbers - this.type = "color"; - this.red = +RegExp.$1; - this.green = +RegExp.$2; - this.blue = +RegExp.$3; - } else if (/^rgb\(\s*(\d+)%\s*,\s*(\d+)%\s*,\s*(\d+)%\s*\)/i.test(text)){ //rgb() color with percentages - this.type = "color"; - this.red = +RegExp.$1 * 255 / 100; - this.green = +RegExp.$2 * 255 / 100; - this.blue = +RegExp.$3 * 255 / 100; - } else if (/^rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([\d\.]+)\s*\)/i.test(text)){ //rgba() color with absolute numbers - this.type = "color"; - this.red = +RegExp.$1; - this.green = +RegExp.$2; - this.blue = +RegExp.$3; - this.alpha = +RegExp.$4; - } else if (/^rgba\(\s*(\d+)%\s*,\s*(\d+)%\s*,\s*(\d+)%\s*,\s*([\d\.]+)\s*\)/i.test(text)){ //rgba() color with percentages - this.type = "color"; - this.red = +RegExp.$1 * 255 / 100; - this.green = +RegExp.$2 * 255 / 100; - this.blue = +RegExp.$3 * 255 / 100; - this.alpha = +RegExp.$4; - } else if (/^hsl\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*\)/i.test(text)){ //hsl() - this.type = "color"; - this.hue = +RegExp.$1; - this.saturation = +RegExp.$2 / 100; - this.lightness = +RegExp.$3 / 100; - } else if (/^hsla\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*,\s*([\d\.]+)\s*\)/i.test(text)){ //hsla() color with percentages - this.type = "color"; - this.hue = +RegExp.$1; - this.saturation = +RegExp.$2 / 100; - this.lightness = +RegExp.$3 / 100; - this.alpha = +RegExp.$4; - } else if (/^url\(["']?([^\)"']+)["']?\)/i.test(text)){ //URI - this.type = "uri"; - this.uri = RegExp.$1; - } else if (/^["'][^"']*["']/.test(text)){ //string - this.type = "string"; - this.value = eval(text); - } else if (Colors[text.toLowerCase()]){ //named color - this.type = "color"; - temp = Colors[text.toLowerCase()].substring(1); - this.red = parseInt(temp.substring(0,2),16); - this.green = parseInt(temp.substring(2,4),16); - this.blue = parseInt(temp.substring(4,6),16); - } else if (/^[\,\/]$/.test(text)){ - this.type = "operator"; - this.value = text; - } else if (/^[a-z\-\u0080-\uFFFF][a-z0-9\-\u0080-\uFFFF]*$/i.test(text)){ - this.type = "identifier"; - this.value = text; - } - -} - -PropertyValuePart.prototype = new SyntaxUnit(); -PropertyValuePart.prototype.constructor = PropertyValue; - -/** - * Create a new syntax unit based solely on the given token. - * Convenience method for creating a new syntax unit when - * it represents a single token instead of multiple. - * @param {Object} token The token object to represent. - * @return {parserlib.css.PropertyValuePart} The object representing the token. - * @static - * @method fromToken - */ -PropertyValuePart.fromToken = function(token){ - return new PropertyValuePart(token.value, token.startLine, token.startCol); -}; -var Pseudos = { - ":first-letter": 1, - ":first-line": 1, - ":before": 1, - ":after": 1 -}; - -Pseudos.ELEMENT = 1; -Pseudos.CLASS = 2; - -Pseudos.isElement = function(pseudo){ - return pseudo.indexOf("::") === 0 || Pseudos[pseudo.toLowerCase()] == Pseudos.ELEMENT; -}; -/** - * Represents an entire single selector, including all parts but not - * including multiple selectors (those separated by commas). - * @namespace parserlib.css - * @class Selector - * @extends parserlib.util.SyntaxUnit - * @constructor - * @param {Array} parts Array of selectors parts making up this selector. - * @param {int} line The line of text on which the unit resides. - * @param {int} col The column of text on which the unit resides. - */ -function Selector(parts, line, col){ - - SyntaxUnit.call(this, parts.join(" "), line, col, Parser.SELECTOR_TYPE); - - /** - * The parts that make up the selector. - * @type Array - * @property parts - */ - this.parts = parts; - - /** - * The specificity of the selector. - * @type parserlib.css.Specificity - * @property specificity - */ - this.specificity = Specificity.calculate(this); - -} - -Selector.prototype = new SyntaxUnit(); -Selector.prototype.constructor = Selector; - -/** - * Represents a single part of a selector string, meaning a single set of - * element name and modifiers. This does not include combinators such as - * spaces, +, >, etc. - * @namespace parserlib.css - * @class SelectorPart - * @extends parserlib.util.SyntaxUnit - * @constructor - * @param {String} elementName The element name in the selector or null - * if there is no element name. - * @param {Array} modifiers Array of individual modifiers for the element. - * May be empty if there are none. - * @param {String} text The text representation of the unit. - * @param {int} line The line of text on which the unit resides. - * @param {int} col The column of text on which the unit resides. - */ -function SelectorPart(elementName, modifiers, text, line, col){ - - SyntaxUnit.call(this, text, line, col, Parser.SELECTOR_PART_TYPE); - - /** - * The tag name of the element to which this part - * of the selector affects. - * @type String - * @property elementName - */ - this.elementName = elementName; - - /** - * The parts that come after the element name, such as class names, IDs, - * pseudo classes/elements, etc. - * @type Array - * @property modifiers - */ - this.modifiers = modifiers; - -} - -SelectorPart.prototype = new SyntaxUnit(); -SelectorPart.prototype.constructor = SelectorPart; - -/** - * Represents a selector modifier string, meaning a class name, element name, - * element ID, pseudo rule, etc. - * @namespace parserlib.css - * @class SelectorSubPart - * @extends parserlib.util.SyntaxUnit - * @constructor - * @param {String} text The text representation of the unit. - * @param {String} type The type of selector modifier. - * @param {int} line The line of text on which the unit resides. - * @param {int} col The column of text on which the unit resides. - */ -function SelectorSubPart(text, type, line, col){ - - SyntaxUnit.call(this, text, line, col, Parser.SELECTOR_SUB_PART_TYPE); - - /** - * The type of modifier. - * @type String - * @property type - */ - this.type = type; - - /** - * Some subparts have arguments, this represents them. - * @type Array - * @property args - */ - this.args = []; - -} - -SelectorSubPart.prototype = new SyntaxUnit(); -SelectorSubPart.prototype.constructor = SelectorSubPart; - -/** - * Represents a selector's specificity. - * @namespace parserlib.css - * @class Specificity - * @constructor - * @param {int} a Should be 1 for inline styles, zero for stylesheet styles - * @param {int} b Number of ID selectors - * @param {int} c Number of classes and pseudo classes - * @param {int} d Number of element names and pseudo elements - */ -function Specificity(a, b, c, d){ - this.a = a; - this.b = b; - this.c = c; - this.d = d; -} - -Specificity.prototype = { - constructor: Specificity, - - /** - * Compare this specificity to another. - * @param {Specificity} other The other specificity to compare to. - * @return {int} -1 if the other specificity is larger, 1 if smaller, 0 if equal. - * @method compare - */ - compare: function(other){ - var comps = ["a", "b", "c", "d"], - i, len; - - for (i=0, len=comps.length; i < len; i++){ - if (this[comps[i]] < other[comps[i]]){ - return -1; - } else if (this[comps[i]] > other[comps[i]]){ - return 1; - } - } - - return 0; - }, - - /** - * Creates a numeric value for the specificity. - * @return {int} The numeric value for the specificity. - * @method valueOf - */ - valueOf: function(){ - return (this.a * 1000) + (this.b * 100) + (this.c * 10) + this.d; - }, - - /** - * Returns a string representation for specificity. - * @return {String} The string representation of specificity. - * @method toString - */ - toString: function(){ - return this.a + "," + this.b + "," + this.c + "," + this.d; - } - -}; - -/** - * Calculates the specificity of the given selector. - * @param {parserlib.css.Selector} The selector to calculate specificity for. - * @return {parserlib.css.Specificity} The specificity of the selector. - * @static - * @method calculate - */ -Specificity.calculate = function(selector){ - - var i, len, - b=0, c=0, d=0; - - function updateValues(part){ - - var i, j, len, num, - modifier; - - if (part.elementName && part.text.charAt(part.text.length-1) != "*") { - d++; - } - - for (i=0, len=part.modifiers.length; i < len; i++){ - modifier = part.modifiers[i]; - switch(modifier.type){ - case "class": - case "attribute": - c++; - break; - - case "id": - b++; - break; - - case "pseudo": - if (Pseudos.isElement(modifier.text)){ - d++; - } else { - c++; - } - break; - - case "not": - for (j=0, num=modifier.args.length; j < num; j++){ - updateValues(modifier.args[j]); - } - } - } - } - - for (i=0, len=selector.parts.length; i < len; i++){ - part = selector.parts[i]; - - if (part instanceof SelectorPart){ - updateValues(part); - } - } - - return new Specificity(0, b, c, d); -}; - - -var h = /^[0-9a-fA-F]$/, - nonascii = /^[\u0080-\uFFFF]$/, - nl = /\n|\r\n|\r|\f/; - -//----------------------------------------------------------------------------- -// Helper functions -//----------------------------------------------------------------------------- - - -function isHexDigit(c){ - return c != null && h.test(c); -} - -function isDigit(c){ - return c != null && /\d/.test(c); -} - -function isWhitespace(c){ - return c != null && /\s/.test(c); -} - -function isNewLine(c){ - return c != null && nl.test(c); -} - -function isNameStart(c){ - return c != null && (/[a-z_\u0080-\uFFFF\\]/i.test(c)); -} - -function isNameChar(c){ - return c != null && (isNameStart(c) || /[0-9\-\\]/.test(c)); -} - -function isIdentStart(c){ - return c != null && (isNameStart(c) || /\-\\/.test(c)); -} - -function mix(receiver, supplier){ - for (var prop in supplier){ - if (supplier.hasOwnProperty(prop)){ - receiver[prop] = supplier[prop]; - } - } - return receiver; -} - -//----------------------------------------------------------------------------- -// CSS Token Stream -//----------------------------------------------------------------------------- - - -/** - * A token stream that produces CSS tokens. - * @param {String|Reader} input The source of text to tokenize. - * @constructor - * @class TokenStream - * @namespace parserlib.css - */ -function TokenStream(input){ - TokenStreamBase.call(this, input, Tokens); -} - -TokenStream.prototype = mix(new TokenStreamBase(), { - - /** - * Overrides the TokenStreamBase method of the same name - * to produce CSS tokens. - * @param {variant} channel The name of the channel to use - * for the next token. - * @return {Object} A token object representing the next token. - * @method _getToken - * @private - */ - _getToken: function(channel){ - - var c, - reader = this._reader, - token = null, - startLine = reader.getLine(), - startCol = reader.getCol(); - - c = reader.read(); - - - while(c){ - switch(c){ - - /* - * Potential tokens: - * - COMMENT - * - SLASH - * - CHAR - */ - case "/": - - if(reader.peek() == "*"){ - token = this.commentToken(c, startLine, startCol); - } else { - token = this.charToken(c, startLine, startCol); - } - break; - - /* - * Potential tokens: - * - DASHMATCH - * - INCLUDES - * - PREFIXMATCH - * - SUFFIXMATCH - * - SUBSTRINGMATCH - * - CHAR - */ - case "|": - case "~": - case "^": - case "$": - case "*": - if(reader.peek() == "="){ - token = this.comparisonToken(c, startLine, startCol); - } else { - token = this.charToken(c, startLine, startCol); - } - break; - - /* - * Potential tokens: - * - STRING - * - INVALID - */ - case "\"": - case "'": - token = this.stringToken(c, startLine, startCol); - break; - - /* - * Potential tokens: - * - HASH - * - CHAR - */ - case "#": - if (isNameChar(reader.peek())){ - token = this.hashToken(c, startLine, startCol); - } else { - token = this.charToken(c, startLine, startCol); - } - break; - - /* - * Potential tokens: - * - DOT - * - NUMBER - * - DIMENSION - * - PERCENTAGE - */ - case ".": - if (isDigit(reader.peek())){ - token = this.numberToken(c, startLine, startCol); - } else { - token = this.charToken(c, startLine, startCol); - } - break; - - /* - * Potential tokens: - * - CDC - * - MINUS - * - NUMBER - * - DIMENSION - * - PERCENTAGE - */ - case "-": - if (reader.peek() == "-"){ //could be closing HTML-style comment - token = this.htmlCommentEndToken(c, startLine, startCol); - } else if (isNameStart(reader.peek())){ - token = this.identOrFunctionToken(c, startLine, startCol); - } else { - token = this.charToken(c, startLine, startCol); - } - break; - - /* - * Potential tokens: - * - IMPORTANT_SYM - * - CHAR - */ - case "!": - token = this.importantToken(c, startLine, startCol); - break; - - /* - * Any at-keyword or CHAR - */ - case "@": - token = this.atRuleToken(c, startLine, startCol); - break; - - /* - * Potential tokens: - * - NOT - * - CHAR - */ - case ":": - token = this.notToken(c, startLine, startCol); - break; - - /* - * Potential tokens: - * - CDO - * - CHAR - */ - case "<": - token = this.htmlCommentStartToken(c, startLine, startCol); - break; - - /* - * Potential tokens: - * - UNICODE_RANGE - * - URL - * - CHAR - */ - case "U": - case "u": - if (reader.peek() == "+"){ - token = this.unicodeRangeToken(c, startLine, startCol); - break; - } - /*falls through*/ - - default: - - /* - * Potential tokens: - * - NUMBER - * - DIMENSION - * - LENGTH - * - FREQ - * - TIME - * - EMS - * - EXS - * - ANGLE - */ - if (isDigit(c)){ - token = this.numberToken(c, startLine, startCol); - } else - - /* - * Potential tokens: - * - S - */ - if (isWhitespace(c)){ - token = this.whitespaceToken(c, startLine, startCol); - } else - - /* - * Potential tokens: - * - IDENT - */ - if (isIdentStart(c)){ - token = this.identOrFunctionToken(c, startLine, startCol); - } else - - /* - * Potential tokens: - * - CHAR - * - PLUS - */ - { - token = this.charToken(c, startLine, startCol); - } - - - - - - - } - - //make sure this token is wanted - //TODO: check channel - break; - - c = reader.read(); - } - - if (!token && c == null){ - token = this.createToken(Tokens.EOF,null,startLine,startCol); - } - - return token; - }, - - //------------------------------------------------------------------------- - // Methods to create tokens - //------------------------------------------------------------------------- - - /** - * Produces a token based on available data and the current - * reader position information. This method is called by other - * private methods to create tokens and is never called directly. - * @param {int} tt The token type. - * @param {String} value The text value of the token. - * @param {int} startLine The beginning line for the character. - * @param {int} startCol The beginning column for the character. - * @param {Object} options (Optional) Specifies a channel property - * to indicate that a different channel should be scanned - * and/or a hide property indicating that the token should - * be hidden. - * @return {Object} A token object. - * @method createToken - */ - createToken: function(tt, value, startLine, startCol, options){ - var reader = this._reader; - options = options || {}; - - return { - value: value, - type: tt, - channel: options.channel, - hide: options.hide || false, - startLine: startLine, - startCol: startCol, - endLine: reader.getLine(), - endCol: reader.getCol() - }; - }, - - //------------------------------------------------------------------------- - // Methods to create specific tokens - //------------------------------------------------------------------------- - - /** - * Produces a token for any at-rule. If the at-rule is unknown, then - * the token is for a single "@" character. - * @param {String} first The first character for the token. - * @param {int} startLine The beginning line for the character. - * @param {int} startCol The beginning column for the character. - * @return {Object} A token object. - * @method atRuleToken - */ - atRuleToken: function(first, startLine, startCol){ - var rule = first, - reader = this._reader, - tt = Tokens.CHAR, - valid = false, - ident, - c; - - /* - * First, mark where we are. There are only four @ rules, - * so anything else is really just an invalid token. - * Basically, if this doesn't match one of the known @ - * rules, just return '@' as an unknown token and allow - * parsing to continue after that point. - */ - reader.mark(); - - //try to find the at-keyword - ident = this.readName(); - rule = first + ident; - tt = Tokens.type(rule.toLowerCase()); - - //if it's not valid, use the first character only and reset the reader - if (tt == Tokens.CHAR || tt == Tokens.UNKNOWN){ - tt = Tokens.CHAR; - rule = first; - reader.reset(); - } - - return this.createToken(tt, rule, startLine, startCol); - }, - - /** - * Produces a character token based on the given character - * and location in the stream. If there's a special (non-standard) - * token name, this is used; otherwise CHAR is used. - * @param {String} c The character for the token. - * @param {int} startLine The beginning line for the character. - * @param {int} startCol The beginning column for the character. - * @return {Object} A token object. - * @method charToken - */ - charToken: function(c, startLine, startCol){ - var tt = Tokens.type(c); - - if (tt == -1){ - tt = Tokens.CHAR; - } - - return this.createToken(tt, c, startLine, startCol); - }, - - /** - * Produces a character token based on the given character - * and location in the stream. If there's a special (non-standard) - * token name, this is used; otherwise CHAR is used. - * @param {String} first The first character for the token. - * @param {int} startLine The beginning line for the character. - * @param {int} startCol The beginning column for the character. - * @return {Object} A token object. - * @method commentToken - */ - commentToken: function(first, startLine, startCol){ - var reader = this._reader, - comment = this.readComment(first); - - return this.createToken(Tokens.COMMENT, comment, startLine, startCol); - }, - - /** - * Produces a comparison token based on the given character - * and location in the stream. The next character must be - * read and is already known to be an equals sign. - * @param {String} c The character for the token. - * @param {int} startLine The beginning line for the character. - * @param {int} startCol The beginning column for the character. - * @return {Object} A token object. - * @method comparisonToken - */ - comparisonToken: function(c, startLine, startCol){ - var reader = this._reader, - comparison = c + reader.read(), - tt = Tokens.type(comparison) || Tokens.CHAR; - - return this.createToken(tt, comparison, startLine, startCol); - }, - - /** - * Produces a hash token based on the specified information. The - * first character provided is the pound sign (#) and then this - * method reads a name afterward. - * @param {String} first The first character (#) in the hash name. - * @param {int} startLine The beginning line for the character. - * @param {int} startCol The beginning column for the character. - * @return {Object} A token object. - * @method hashToken - */ - hashToken: function(first, startLine, startCol){ - var reader = this._reader, - name = this.readName(first); - - return this.createToken(Tokens.HASH, name, startLine, startCol); - }, - - /** - * Produces a CDO or CHAR token based on the specified information. The - * first character is provided and the rest is read by the function to determine - * the correct token to create. - * @param {String} first The first character in the token. - * @param {int} startLine The beginning line for the character. - * @param {int} startCol The beginning column for the character. - * @return {Object} A token object. - * @method htmlCommentStartToken - */ - htmlCommentStartToken: function(first, startLine, startCol){ - var reader = this._reader, - text = first; - - reader.mark(); - text += reader.readCount(3); - - if (text == ""){ - return this.createToken(Tokens.CDC, text, startLine, startCol); - } else { - reader.reset(); - return this.charToken(first, startLine, startCol); - } - }, - - /** - * Produces an IDENT or FUNCTION token based on the specified information. The - * first character is provided and the rest is read by the function to determine - * the correct token to create. - * @param {String} first The first character in the identifier. - * @param {int} startLine The beginning line for the character. - * @param {int} startCol The beginning column for the character. - * @return {Object} A token object. - * @method identOrFunctionToken - */ - identOrFunctionToken: function(first, startLine, startCol){ - var reader = this._reader, - ident = this.readName(first), - tt = Tokens.IDENT; - - //if there's a left paren immediately after, it's a URI or function - if (reader.peek() == "("){ - ident += reader.read(); - if (ident.toLowerCase() == "url("){ - tt = Tokens.URI; - ident = this.readURI(ident); - - //didn't find a valid URL or there's no closing paren - if (ident.toLowerCase() == "url("){ - tt = Tokens.FUNCTION; - } - } else { - tt = Tokens.FUNCTION; - } - } else if (reader.peek() == ":"){ //might be an IE function - - //IE-specific functions always being with progid: - if (ident.toLowerCase() == "progid"){ - ident += reader.readTo("("); - tt = Tokens.IE_FUNCTION; - } - } - - return this.createToken(tt, ident, startLine, startCol); - }, - - /** - * Produces an IMPORTANT_SYM or CHAR token based on the specified information. The - * first character is provided and the rest is read by the function to determine - * the correct token to create. - * @param {String} first The first character in the token. - * @param {int} startLine The beginning line for the character. - * @param {int} startCol The beginning column for the character. - * @return {Object} A token object. - * @method importantToken - */ - importantToken: function(first, startLine, startCol){ - var reader = this._reader, - important = first, - tt = Tokens.CHAR, - temp, - c; - - reader.mark(); - c = reader.read(); - - while(c){ - - //there can be a comment in here - if (c == "/"){ - - //if the next character isn't a star, then this isn't a valid !important token - if (reader.peek() != "*"){ - break; - } else { - temp = this.readComment(c); - if (temp == ""){ //broken! - break; - } - } - } else if (isWhitespace(c)){ - important += c + this.readWhitespace(); - } else if (/i/i.test(c)){ - temp = reader.readCount(8); - if (/mportant/i.test(temp)){ - important += c + temp; - tt = Tokens.IMPORTANT_SYM; - - } - break; //we're done - } else { - break; - } - - c = reader.read(); - } - - if (tt == Tokens.CHAR){ - reader.reset(); - return this.charToken(first, startLine, startCol); - } else { - return this.createToken(tt, important, startLine, startCol); - } - - - }, - - /** - * Produces a NOT or CHAR token based on the specified information. The - * first character is provided and the rest is read by the function to determine - * the correct token to create. - * @param {String} first The first character in the token. - * @param {int} startLine The beginning line for the character. - * @param {int} startCol The beginning column for the character. - * @return {Object} A token object. - * @method notToken - */ - notToken: function(first, startLine, startCol){ - var reader = this._reader, - text = first; - - reader.mark(); - text += reader.readCount(4); - - if (text.toLowerCase() == ":not("){ - return this.createToken(Tokens.NOT, text, startLine, startCol); - } else { - reader.reset(); - return this.charToken(first, startLine, startCol); - } - }, - - /** - * Produces a number token based on the given character - * and location in the stream. This may return a token of - * NUMBER, EMS, EXS, LENGTH, ANGLE, TIME, FREQ, DIMENSION, - * or PERCENTAGE. - * @param {String} first The first character for the token. - * @param {int} startLine The beginning line for the character. - * @param {int} startCol The beginning column for the character. - * @return {Object} A token object. - * @method numberToken - */ - numberToken: function(first, startLine, startCol){ - var reader = this._reader, - value = this.readNumber(first), - ident, - tt = Tokens.NUMBER, - c = reader.peek(); - - if (isIdentStart(c)){ - ident = this.readName(reader.read()); - value += ident; - - if (/^em$|^ex$|^px$|^gd$|^rem$|^vw$|^vh$|^vm$|^ch$|^cm$|^mm$|^in$|^pt$|^pc$/i.test(ident)){ - tt = Tokens.LENGTH; - } else if (/^deg|^rad$|^grad$/i.test(ident)){ - tt = Tokens.ANGLE; - } else if (/^ms$|^s$/i.test(ident)){ - tt = Tokens.TIME; - } else if (/^hz$|^khz$/i.test(ident)){ - tt = Tokens.FREQ; - } else if (/^dpi$|^dpcm$/i.test(ident)){ - tt = Tokens.RESOLUTION; - } else { - tt = Tokens.DIMENSION; - } - - } else if (c == "%"){ - value += reader.read(); - tt = Tokens.PERCENTAGE; - } - - return this.createToken(tt, value, startLine, startCol); - }, - - /** - * Produces a string token based on the given character - * and location in the stream. Since strings may be indicated - * by single or double quotes, a failure to match starting - * and ending quotes results in an INVALID token being generated. - * The first character in the string is passed in and then - * the rest are read up to and including the final quotation mark. - * @param {String} first The first character in the string. - * @param {int} startLine The beginning line for the character. - * @param {int} startCol The beginning column for the character. - * @return {Object} A token object. - * @method stringToken - */ - stringToken: function(first, startLine, startCol){ - var delim = first, - string = first, - reader = this._reader, - prev = first, - tt = Tokens.STRING, - c = reader.read(); - - while(c){ - string += c; - - //if the delimiter is found with an escapement, we're done. - if (c == delim && prev != "\\"){ - break; - } - - //if there's a newline without an escapement, it's an invalid string - if (isNewLine(reader.peek()) && c != "\\"){ - tt = Tokens.INVALID; - break; - } - - //save previous and get next - prev = c; - c = reader.read(); - } - - //if c is null, that means we're out of input and the string was never closed - if (c == null){ - tt = Tokens.INVALID; - } - - return this.createToken(tt, string, startLine, startCol); - }, - - unicodeRangeToken: function(first, startLine, startCol){ - var reader = this._reader, - value = first, - temp, - tt = Tokens.CHAR; - - //then it should be a unicode range - if (reader.peek() == "+"){ - reader.mark(); - value += reader.read(); - value += this.readUnicodeRangePart(true); - - //ensure there's an actual unicode range here - if (value.length == 2){ - reader.reset(); - } else { - - tt = Tokens.UNICODE_RANGE; - - //if there's a ? in the first part, there can't be a second part - if (value.indexOf("?") == -1){ - - if (reader.peek() == "-"){ - reader.mark(); - temp = reader.read(); - temp += this.readUnicodeRangePart(false); - - //if there's not another value, back up and just take the first - if (temp.length == 1){ - reader.reset(); - } else { - value += temp; - } - } - - } - } - } - - return this.createToken(tt, value, startLine, startCol); - }, - - /** - * Produces a S token based on the specified information. Since whitespace - * may have multiple characters, this consumes all whitespace characters - * into a single token. - * @param {String} first The first character in the token. - * @param {int} startLine The beginning line for the character. - * @param {int} startCol The beginning column for the character. - * @return {Object} A token object. - * @method whitespaceToken - */ - whitespaceToken: function(first, startLine, startCol){ - var reader = this._reader, - value = first + this.readWhitespace(); - return this.createToken(Tokens.S, value, startLine, startCol); - }, - - - - - //------------------------------------------------------------------------- - // Methods to read values from the string stream - //------------------------------------------------------------------------- - - readUnicodeRangePart: function(allowQuestionMark){ - var reader = this._reader, - part = "", - c = reader.peek(); - - //first read hex digits - while(isHexDigit(c) && part.length < 6){ - reader.read(); - part += c; - c = reader.peek(); - } - - //then read question marks if allowed - if (allowQuestionMark){ - while(c == "?" && part.length < 6){ - reader.read(); - part += c; - c = reader.peek(); - } - } - - //there can't be any other characters after this point - - return part; - }, - - readWhitespace: function(){ - var reader = this._reader, - whitespace = "", - c = reader.peek(); - - while(isWhitespace(c)){ - reader.read(); - whitespace += c; - c = reader.peek(); - } - - return whitespace; - }, - readNumber: function(first){ - var reader = this._reader, - number = first, - hasDot = (first == "."), - c = reader.peek(); - - - while(c){ - if (isDigit(c)){ - number += reader.read(); - } else if (c == "."){ - if (hasDot){ - break; - } else { - hasDot = true; - number += reader.read(); - } - } else { - break; - } - - c = reader.peek(); - } - - return number; - }, - readString: function(){ - var reader = this._reader, - delim = reader.read(), - string = delim, - prev = delim, - c = reader.peek(); - - while(c){ - c = reader.read(); - string += c; - - //if the delimiter is found with an escapement, we're done. - if (c == delim && prev != "\\"){ - break; - } - - //if there's a newline without an escapement, it's an invalid string - if (isNewLine(reader.peek()) && c != "\\"){ - string = ""; - break; - } - - //save previous and get next - prev = c; - c = reader.peek(); - } - - //if c is null, that means we're out of input and the string was never closed - if (c == null){ - string = ""; - } - - return string; - }, - readURI: function(first){ - var reader = this._reader, - uri = first, - inner = "", - c = reader.peek(); - - reader.mark(); - - //skip whitespace before - while(c && isWhitespace(c)){ - reader.read(); - c = reader.peek(); - } - - //it's a string - if (c == "'" || c == "\""){ - inner = this.readString(); - } else { - inner = this.readURL(); - } - - c = reader.peek(); - - //skip whitespace after - while(c && isWhitespace(c)){ - reader.read(); - c = reader.peek(); - } - - //if there was no inner value or the next character isn't closing paren, it's not a URI - if (inner == "" || c != ")"){ - uri = first; - reader.reset(); - } else { - uri += inner + reader.read(); - } - - return uri; - }, - readURL: function(){ - var reader = this._reader, - url = "", - c = reader.peek(); - - //TODO: Check for escape and nonascii - while (/^[!#$%&\\*-~]$/.test(c)){ - url += reader.read(); - c = reader.peek(); - } - - return url; - - }, - readName: function(first){ - var reader = this._reader, - ident = first || "", - c = reader.peek(); - - while(true){ - if (c == "\\"){ - ident += this.readEscape(reader.read()); - c = reader.peek(); - } else if(c && isNameChar(c)){ - ident += reader.read(); - c = reader.peek(); - } else { - break; - } - } - - return ident; - }, - - readEscape: function(first){ - var reader = this._reader, - cssEscape = first || "", - i = 0, - c = reader.peek(); - - if (isHexDigit(c)){ - do { - cssEscape += reader.read(); - c = reader.peek(); - } while(c && isHexDigit(c) && ++i < 6); - } - - if (cssEscape.length == 3 && /\s/.test(c) || - cssEscape.length == 7 || cssEscape.length == 1){ - reader.read(); - } else { - c = ""; - } - - return cssEscape + c; - }, - - readComment: function(first){ - var reader = this._reader, - comment = first || "", - c = reader.read(); - - if (c == "*"){ - while(c){ - comment += c; - - //look for end of comment - if (comment.length > 2 && c == "*" && reader.peek() == "/"){ - comment += reader.read(); - break; - } - - c = reader.read(); - } - - return comment; - } else { - return ""; - } - - } -}); - -var Tokens = [ - - /* - * The following token names are defined in CSS3 Grammar: http://www.w3.org/TR/css3-syntax/#lexical - */ - - //HTML-style comments - { name: "CDO"}, - { name: "CDC"}, - - //ignorables - { name: "S", whitespace: true/*, channel: "ws"*/}, - { name: "COMMENT", comment: true, hide: true, channel: "comment" }, - - //attribute equality - { name: "INCLUDES", text: "~="}, - { name: "DASHMATCH", text: "|="}, - { name: "PREFIXMATCH", text: "^="}, - { name: "SUFFIXMATCH", text: "$="}, - { name: "SUBSTRINGMATCH", text: "*="}, - - //identifier types - { name: "STRING"}, - { name: "IDENT"}, - { name: "HASH"}, - - //at-keywords - { name: "IMPORT_SYM", text: "@import"}, - { name: "PAGE_SYM", text: "@page"}, - { name: "MEDIA_SYM", text: "@media"}, - { name: "FONT_FACE_SYM", text: "@font-face"}, - { name: "CHARSET_SYM", text: "@charset"}, - { name: "NAMESPACE_SYM", text: "@namespace"}, - //{ name: "ATKEYWORD"}, - - //CSS3 animations - { name: "KEYFRAMES_SYM", text: [ "@keyframes", "@-webkit-keyframes", "@-moz-keyframes" ] }, - - //important symbol - { name: "IMPORTANT_SYM"}, - - //measurements - { name: "LENGTH"}, - { name: "ANGLE"}, - { name: "TIME"}, - { name: "FREQ"}, - { name: "DIMENSION"}, - { name: "PERCENTAGE"}, - { name: "NUMBER"}, - - //functions - { name: "URI"}, - { name: "FUNCTION"}, - - //Unicode ranges - { name: "UNICODE_RANGE"}, - - /* - * The following token names are defined in CSS3 Selectors: http://www.w3.org/TR/css3-selectors/#selector-syntax - */ - - //invalid string - { name: "INVALID"}, - - //combinators - { name: "PLUS", text: "+" }, - { name: "GREATER", text: ">"}, - { name: "COMMA", text: ","}, - { name: "TILDE", text: "~"}, - - //modifier - { name: "NOT"}, - - /* - * Defined in CSS3 Paged Media - */ - { name: "TOPLEFTCORNER_SYM", text: "@top-left-corner"}, - { name: "TOPLEFT_SYM", text: "@top-left"}, - { name: "TOPCENTER_SYM", text: "@top-center"}, - { name: "TOPRIGHT_SYM", text: "@top-right"}, - { name: "TOPRIGHTCORNER_SYM", text: "@top-right-corner"}, - { name: "BOTTOMLEFTCORNER_SYM", text: "@bottom-left-corner"}, - { name: "BOTTOMLEFT_SYM", text: "@bottom-left"}, - { name: "BOTTOMCENTER_SYM", text: "@bottom-center"}, - { name: "BOTTOMRIGHT_SYM", text: "@bottom-right"}, - { name: "BOTTOMRIGHTCORNER_SYM", text: "@bottom-right-corner"}, - { name: "LEFTTOP_SYM", text: "@left-top"}, - { name: "LEFTMIDDLE_SYM", text: "@left-middle"}, - { name: "LEFTBOTTOM_SYM", text: "@left-bottom"}, - { name: "RIGHTTOP_SYM", text: "@right-top"}, - { name: "RIGHTMIDDLE_SYM", text: "@right-middle"}, - { name: "RIGHTBOTTOM_SYM", text: "@right-bottom"}, - - /* - * The following token names are defined in CSS3 Media Queries: http://www.w3.org/TR/css3-mediaqueries/#syntax - */ - /*{ name: "MEDIA_ONLY", state: "media"}, - { name: "MEDIA_NOT", state: "media"}, - { name: "MEDIA_AND", state: "media"},*/ - { name: "RESOLUTION", state: "media"}, - - /* - * The following token names are not defined in any CSS specification but are used by the lexer. - */ - - //not a real token, but useful for stupid IE filters - { name: "IE_FUNCTION" }, - - //part of CSS3 grammar but not the Flex code - { name: "CHAR" }, - - //TODO: Needed? - //Not defined as tokens, but might as well be - { - name: "PIPE", - text: "|" - }, - { - name: "SLASH", - text: "/" - }, - { - name: "MINUS", - text: "-" - }, - { - name: "STAR", - text: "*" - }, - - { - name: "LBRACE", - text: "{" - }, - { - name: "RBRACE", - text: "}" - }, - { - name: "LBRACKET", - text: "[" - }, - { - name: "RBRACKET", - text: "]" - }, - { - name: "EQUALS", - text: "=" - }, - { - name: "COLON", - text: ":" - }, - { - name: "SEMICOLON", - text: ";" - }, - - { - name: "LPAREN", - text: "(" - }, - { - name: "RPAREN", - text: ")" - }, - { - name: "DOT", - text: "." - } -]; - -(function(){ - - var nameMap = [], - typeMap = {}; - - Tokens.UNKNOWN = -1; - Tokens.unshift({name:"EOF"}); - for (var i=0, len = Tokens.length; i < len; i++){ - nameMap.push(Tokens[i].name); - Tokens[Tokens[i].name] = i; - if (Tokens[i].text){ - if (Tokens[i].text instanceof Array){ - for (var j=0; j < Tokens[i].text.length; j++){ - typeMap[Tokens[i].text[j]] = i; - } - } else { - typeMap[Tokens[i].text] = i; - } - } - } - - Tokens.name = function(tt){ - return nameMap[tt]; - }; - - Tokens.type = function(c){ - return typeMap[c] || -1; - }; - -})(); - - - -/** - * Type to use when a validation error occurs. - * @class ValidationError - * @namespace parserlib.util - * @constructor - * @param {String} message The error message. - * @param {int} line The line at which the error occurred. - * @param {int} col The column at which the error occurred. - */ -function ValidationError(message, line, col){ - - /** - * The column at which the error occurred. - * @type int - * @property col - */ - this.col = col; - - /** - * The line at which the error occurred. - * @type int - * @property line - */ - this.line = line; - - /** - * The text representation of the unit. - * @type String - * @property text - */ - this.message = message; - -} - -//inherit from Error -ValidationError.prototype = new Error(); - -parserlib.css = { -Colors :Colors, -Combinator :Combinator, -Parser :Parser, -PropertyName :PropertyName, -PropertyValue :PropertyValue, -PropertyValuePart :PropertyValuePart, -MediaFeature :MediaFeature, -MediaQuery :MediaQuery, -Selector :Selector, -SelectorPart :SelectorPart, -SelectorSubPart :SelectorSubPart, -Specificity :Specificity, -TokenStream :TokenStream, -Tokens :Tokens, -ValidationError :ValidationError -}; -})(); - -(function(){ -for(var prop in parserlib){ -exports[prop] = parserlib[prop]; -} -})(); diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/events.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/events.js deleted file mode 100644 index 2431a51..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/events.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - Event: require('./Event'), - UIEvent: require('./UIEvent'), - MouseEvent: require('./MouseEvent'), - CustomEvent: require('./CustomEvent') -}; diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/htmlelts.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/htmlelts.js deleted file mode 100644 index 58d6f15..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/htmlelts.js +++ /dev/null @@ -1,1109 +0,0 @@ -var Node = require('./Node'); -var Element = require('./Element'); -var CSSStyleDeclaration = require('./CSSStyleDeclaration'); -var NAMESPACE = require('./utils').NAMESPACE; -var attributes = require('./attributes'); -var utils = require('./utils'); - -var impl = exports.elements = {}; -var tagNameToImpl = {}; - -exports.createElement = function(doc, localName, prefix) { - var impl = tagNameToImpl[localName] || HTMLUnknownElement; - return new impl(doc, localName, prefix); -}; - -function define(spec) { - var c = spec.ctor; - if (c) { - var props = spec.props || {}; - if (spec.attributes) { - for (var n in spec.attributes) { - var attr = spec.attributes[n]; - if (typeof attr != 'object' || Array.isArray(attr)) attr = {type: attr}; - if (!attr.name) attr.name = n.toLowerCase(); - props[n] = attributes.property(attr); - } - } - props.constructor = { value : c }; - c.prototype = Object.create((spec.superclass || HTMLElement).prototype, props); - if (spec.events) { - addEventHandlers(c, spec.events); - } - impl[c.name] = c; - } - else { - c = HTMLElement; - } - (spec.tags || spec.tag && [spec.tag] || []).forEach(function(tag) { - tagNameToImpl[tag] = c; - }); - return c; -} - -function EventHandlerBuilder(body, document, form, element) { - this.body = body; - this.document = document; - this.form = form; - this.element = element; -} - -EventHandlerBuilder.prototype.build = function build() { - try { - with(this.document.defaultView || {}) - with(this.document) - with(this.form) - with(this.element) - return eval("(function(event){" + this.body + "})"); - } - catch (err) { - return function() { throw err } - } -}; - -function EventHandlerChangeHandler(elt, name, oldval, newval) { - var doc = elt.ownerDocument || {}; - var form = elt.form || {}; - elt[name] = new EventHandlerBuilder(newval, doc, form, elt).build(); -} - -function addEventHandlers(c, eventHandlerTypes) { - var p = c.prototype; - eventHandlerTypes.forEach(function(type) { - // Define the event handler registration IDL attribute for this type - Object.defineProperty(p, "on" + type, { - get: function() { - return this._getEventHandler(type); - }, - set: function(v) { - this._setEventHandler(type, v); - }, - }); - - // Define special behavior for the content attribute as well - attributes.registerChangeHandler(c, "on" + type, EventHandlerChangeHandler); - }); -} - -function URL(attr) { - return { - get: function() { - var v = this._getattr(attr); - return this.doc._resolve(v); - }, - set: function(value) { - this._setattr(attr, value); - } - }; -} - -// XXX: the default value for tabIndex should be 0 if the element is -// focusable and -1 if it is not. But the full definition of focusable -// is actually hard to compute, so for now, I'll follow Firefox and -// just base the default value on the type of the element. -var focusableElements = { - "A":true, "LINK":true, "BUTTON":true, "INPUT":true, - "SELECT":true, "TEXTAREA":true, "COMMAND":true -}; - -var HTMLElement = exports.HTMLElement = define({ - superclass: Element, - ctor: function HTMLElement(doc, localName, prefix) { - Element.call(this, doc, localName, NAMESPACE.HTML, prefix); - }, - props: { - innerHTML: { - get: function() { - return this.serialize(); - }, - set: function(v) { - var parser = this.ownerDocument.implementation.mozHTMLParser( - this.ownerDocument._address, - this); - parser.parse(v, true); - var tmpdoc = parser.document(); - var root = tmpdoc.firstChild; - - // Remove any existing children of this node - while(this.hasChildNodes()) - this.removeChild(this.firstChild); - - // Now copy newly parsed children from the root to this node - this.doc.adoptNode(root); - while(root.hasChildNodes()) { - this.appendChild(root.firstChild); - } - } - }, - style: { get: function() { - if (!this._style) - this._style = new CSSStyleDeclaration(this); - return this._style; - }}, - - click: { value: function() { - if (this._click_in_progress) return; - this._click_in_progress = true; - try { - if (this._pre_click_activation_steps) - this._pre_click_activation_steps(); - - var event = this.ownerDocument.createEvent("MouseEvent"); - event.initMouseEvent("click", true, true, - this.ownerDocument.defaultView, 1, - 0, 0, 0, 0, - // These 4 should be initialized with - // the actually current keyboard state - // somehow... - false, false, false, false, - 0, null - ); - - // Dispatch this as an untrusted event since it is synthetic - var success = this.dispatchEvent(event); - - if (success) { - if (this._post_click_activation_steps) - this._post_click_activation_steps(event); - } - else { - if (this._cancelled_activation_steps) - this._cancelled_activation_steps(); - } - } - finally { - this._click_in_progress = false; - } - }} - }, - attributes: { - title: String, - lang: String, - dir: {type: ["ltr", "rtl", "auto"], implied: true}, - accessKey: String, - hidden: Boolean, - tabIndex: {type: Number, default: function() { - if (this.tagName in focusableElements || - this.contentEditable) - return 0; - else - return -1; - }} - }, - events: [ - "abort", "canplay", "canplaythrough", "change", "click", "contextmenu", - "cuechange", "dblclick", "drag", "dragend", "dragenter", "dragleave", - "dragover", "dragstart", "drop", "durationchange", "emptied", "ended", - "input", "invalid", "keydown", "keypress", "keyup", "loadeddata", - "loadedmetadata", "loadstart", "mousedown", "mousemove", "mouseout", - "mouseover", "mouseup", "mousewheel", "pause", "play", "playing", - "progress", "ratechange", "readystatechange", "reset", "seeked", - "seeking", "select", "show", "stalled", "submit", "suspend", - "timeupdate", "volumechange", "waiting", - - // These last 5 event types will be overriden by HTMLBodyElement - "blur", "error", "focus", "load", "scroll" - ] -}); - - -// XXX: reflect contextmenu as contextMenu, with element type - - -// style: the spec doesn't call this a reflected attribute. -// may want to handle it manually. - -// contentEditable: enumerated, not clear if it is actually -// reflected or requires custom getter/setter. Not listed as -// "limited to known values". Raises syntax_err on bad setting, -// so I think this is custom. - -// contextmenu: content is element id, idl type is an element -// draggable: boolean, but not a reflected attribute -// dropzone: reflected SettableTokenList, experimental, so don't -// implement it right away. - -// data-* attributes: need special handling in setAttribute? -// Or maybe that isn't necessary. Can I just scan the attribute list -// when building the dataset? Liveness and caching issues? - -// microdata attributes: many are simple reflected attributes, but -// I'm not going to implement this now. - - -var HTMLUnknownElement = define({ - ctor: function HTMLUnknownElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - } -}); - - -var formAssociatedProps = { - // See http://www.w3.org/TR/html5/association-of-controls-and-forms.html#form-owner - form: { get: function() { - return this._form; - }} -}; - -define({ - tag: 'a', - ctor: function HTMLAnchorElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - props: { - _post_click_activation_steps: { value: function(e) { - if (this.href) { - // Follow the link - // XXX: this is just a quick hack - // XXX: the HTML spec probably requires more than this - this.ownerDocument.defaultView.location = this.href; - } - }}, - blur: { value: function() {}}, - focus: { value: function() {}} - }, - attributes: { - href: URL, - ping: String, - download: String, - target: String, - rel: String, - media: String, - hreflang: String, - type: String - } -}); - -define({ - tag: 'area', - ctor: function HTMLAreaElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - attributes: { - alt: String, - target: String, - download: String, - rel: String, - media: String, - href: URL, - hreflang: String, - type: String, - shape: String, - coords: String - // XXX: also reflect relList - } -}); - -define({ - tag: 'br', - ctor: function HTMLBRElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - } -}); - -define({ - tag: 'base', - ctor: function HTMLBaseElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - attributes: { - "target": String - } -}); - - -define({ - tag: 'body', - ctor: function HTMLBodyElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - // Certain event handler attributes on a tag actually set - // handlers for the window rather than just that element. Define - // getters and setters for those here. Note that some of these override - // properties on HTMLElement.prototype. - // XXX: If I add support for , these have to go there, too - // XXX - // When the Window object is implemented, these attribute will have - // to work with the same-named attributes on the Window. - events: [ - "afterprint", "beforeprint", "beforeunload", "blur", "error", - "focus","hashchange", "load", "message", "offline", "online", - "pagehide", "pageshow","popstate","resize","scroll","storage","unload", - ] -}); - -define({ - tag: 'button', - ctor: function HTMLButtonElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - props: formAssociatedProps, - attributes: { - name: String, - value: String, - disabled: Boolean, - autofocus: Boolean, - type: ["submit", "reset", "button"], - formTarget: String, - formNoValidate: Boolean, - formMethod: ["get", "post"], - formEnctype: [ - "application/x-www-form-urlencoded", "multipart/form-data", "text/plain" - ] - } -}); - -define({ - tag: 'command', - ctor: function HTMLCommandElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - attributes: { - type: ["command", "checkbox", "radio"], - label: String, - disabled: Boolean, - checked: Boolean, - radiogroup: String, - icon: String - } -}); - -define({ - tag: 'dl', - ctor: function HTMLDListElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - } -}); - -define({ - tag: 'datalist', - ctor: function HTMLDataListElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - } -}); - -define({ - tag: 'details', - ctor: function HTMLDetailsElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - attributes: { - "open": Boolean - } -}); - -define({ - tag: 'div', - ctor: function HTMLDivElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - } -}); - -define({ - tag: 'embed', - ctor: function HTMLEmbedElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - attributes: { - src: URL, - type: String, - width: String, - height: String - } -}); - -define({ - tag: 'fieldset', - ctor: function HTMLFieldSetElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - props: formAssociatedProps, - attributes: { - disabled: Boolean, - name: String - } -}); - -define({ - tag: 'form', - ctor: function HTMLFormElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - attributes: { - action: String, - autocomplete: ['on', 'off'], - name: String, - acceptCharset: {name: "accept-charset"}, - target: String, - noValidate: Boolean, - method: ["get", "post"], - // Both enctype and encoding reflect the enctype content attribute - enctype: ["application/x-www-form-urlencoded", "multipart/form-data", "text/plain"], - encoding: {name: 'enctype', type: ["application/x-www-form-urlencoded", "multipart/form-data", "text/plain"]} - } -}); - -define({ - tag: 'hr', - ctor: function HTMLHRElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - } -}); - -define({ - tag: 'head', - ctor: function HTMLHeadElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - } -}); - -define({ - tags: ['h1','h2','h3','h4','h5','h6'], - ctor: function HTMLHeadingElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - } -}); - -define({ - tag: 'html', - ctor: function HTMLHtmlElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - } -}); - -define({ - tag: 'iframe', - ctor: function HTMLIFrameElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - attributes: { - src: URL, - srcdoc: String, - name: String, - width: String, - height: String, - // XXX: sandbox is a reflected settable token list - seamless: Boolean - } -}); - -define({ - tag: 'img', - ctor: function HTMLImageElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - attributes: { - src: URL, - alt: String, - crossOrigin: String, - useMap: String, - isMap: Boolean, - height: { type: Number, default: 0 }, - width: { type: Number, default: 0 } - } -}); - -define({ - tag: 'input', - ctor: function HTMLInputElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - props: { - form: formAssociatedProps.form, - _post_click_activation_steps: { value: function(e) { - if (this.type == 'checkbox') { - this.checked = !this.checked; - } - else if (this.type == 'radio') { - var group = this.form.getElementsByName(this.name); - for (var i=group.length-1; i >= 0; i--) { - var el = group[i]; - el.checked = el == this; - } - } - }}, - }, - attributes: { - name: String, - disabled: Boolean, - autofocus: Boolean, - accept: String, - alt: String, - max: String, - min: String, - pattern: String, - placeholder: String, - step: String, - dirName: String, - defaultValue: {name: 'value'}, - multiple: Boolean, - required: Boolean, - readOnly: Boolean, - checked: Boolean, - value: String, - src: URL, - defaultChecked: {name: 'checked', type: Boolean}, - size: {type: Number, default: 20, min: 1, setmin: 1}, - maxLength: {min: 0, setmin: 0}, - autocomplete: ["on", "off"], - type: ["text", "hidden", "search", "tel", "url", "email", "password", - "datetime", "date", "month", "week", "time", "datetime-local", - "number", "range", "color", "checkbox", "radio", "file", "submit", - "image", "reset", "button" - ], - formTarget: String, - formNoValidate: Boolean, - formMethod: ["get", "post"], - formEnctype: ["application/x-www-form-urlencoded", "multipart/form-data", "text/plain"] - } -}); - -define({ - tag: 'keygen', - ctor: function HTMLKeygenElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - props: formAssociatedProps, - attributes: { - name: String, - disabled: Boolean, - autofocus: Boolean, - challenge: String, - keytype: ["rsa"] - } -}); - -define({ - tag: 'li', - ctor: function HTMLLIElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - attributes: { - value: {type: Number, default: 0}, - } -}); - -define({ - tag: 'label', - ctor: function HTMLLabelElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - props: formAssociatedProps, - attributes: { - htmlFor: {name: 'for'} - } -}); - -define({ - tag: 'legend', - ctor: function HTMLLegendElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - } -}); - -define({ - tag: 'link', - ctor: function HTMLLinkElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - attributes: { - // XXX Reflect DOMSettableTokenList sizes also DOMTokenList relList - href: URL, - rel: String, - media: String, - hreflang: String, - type: String - } -}); - -define({ - tag: 'map', - ctor: function HTMLMapElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - attributes: { - name: String - } -}); - -define({ - tag: 'menu', - ctor: function HTMLMenuElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - attributes: { - type: String, - label: String - } -}); - -define({ - tag: 'meta', - ctor: function HTMLMetaElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - attributes: { - name: String, - content: String, - scheme: String, - httpEquiv: {name: 'http-equiv', type: String} - } -}); - -define({ - tag: 'meter', - ctor: function HTMLMeterElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - props: formAssociatedProps -}); - -define({ - tags: ['ins', 'del'], - ctor: function HTMLModElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - attributes: { - cite: String, - dateTime: String - } -}); - -define({ - tag: 'ol', - ctor: function HTMLOListElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - props: { - // Utility function (see the start attribute default value). Returns - // the number of
  • children of this element - _numitems: { get: function() { - var items = 0; - this.childNodes.forEach(function(n) { - if (n.nodeType === ELEMENT_NODE && n.tagName === "LI") - items++; - }); - return items; - }} - }, - attributes: { - type: String, - reversed: Boolean, - start: { - type: Number, - default: function() { - // The default value of the start attribute is 1 unless the list is - // reversed. Then it is the # of li children - if (this.reversed) - return this._numitems; - else - return 1; - } - } - } -}); - -define({ - tag: 'object', - ctor: function HTMLObjectElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - props: formAssociatedProps, - attributes: { - data: String, - type: String, - name: String, - useMap: String, - typeMustMatch: Boolean, - width: String, - height: String - } -}); - -define({ - tag: 'optgroup', - ctor: function HTMLOptGroupElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - attributes: { - disabled: Boolean, - label: String - } -}); - -define({ - tag: 'option', - ctor: function HTMLOptionElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - props: { - form: { get: function() { - var p = this.parentNode; - while (p && p.nodeType == Node.ELEMENT_NODE) { - if (p.localName == 'select') return p.form; - p = p.parentNode; - } - }} - }, - attributes: { - disabled: Boolean, - defaultSelected: {name: 'selected', type: Boolean}, - label: String - } -}); - -define({ - tag: 'output', - ctor: function HTMLOutputElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - props: formAssociatedProps, - attributes: { - // XXX Reflect for/htmlFor as a settable token list - name: String - } -}); - -define({ - tag: 'p', - ctor: function HTMLParagraphElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - } -}); - -define({ - tag: 'param', - ctor: function HTMLParamElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - attributes: { - name: String, - value: String - } -}); - -define({ - tag: 'pre', - ctor: function HTMLPreElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - } -}); - -define({ - tag: 'progress', - ctor: function HTMLProgressElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - props: formAssociatedProps, - attributes: { - max: {type: Number, float: true, default: 1.0, min: 0} - } -}); - -define({ - tags: ['q', 'blockquote'], - ctor: function HTMLQuoteElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - attributes: { - cite: URL - } -}); - -define({ - tag: 'script', - ctor: function HTMLScriptElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - props: { - text: { - get: function() { - var s = ""; - for(var i = 0, n = this.childNodes.length; i < n; i++) { - var child = this.childNodes[i]; - if (child.nodeType === Node.TEXT_NODE) - s += child._data; - } - return s; - }, - set: function(value) { - this.removeChildren(); - if (value !== null && value !== "") { - this.appendChild(this.ownerDocument.createTextNode(value)); - } - } - } - }, - attributes: { - src: URL, - type: String, - charset: String, - defer: Boolean, - async: Boolean - } -}); - -define({ - tag: 'select', - ctor: function HTMLSelectElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - props: { - form: formAssociatedProps.form, - options: { get: function() { - return this.getElementsByTagName('option'); - }} - }, - attributes: { - name: String, - disabled: Boolean, - autofocus: Boolean, - multiple: Boolean, - required: Boolean, - size: {type: Number, default: 0} - } -}); - -define({ - tag: 'source', - ctor: function HTMLSourceElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - attributes: { - src: URL, - type: String, - media: String - } -}); - -define({ - tag: 'span', - ctor: function HTMLSpanElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - } -}); - -define({ - tag: 'style', - ctor: function HTMLStyleElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - attributes: { - media: String, - type: String, - scoped: Boolean - } -}); - -define({ - tag: 'caption', - ctor: function HTMLTableCaptionElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - } -}); - - -define({ - ctor: function HTMLTableCellElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - attributes: { - colSpan: {type: Number, default: 1, min: 1, setmin: 1}, - rowSpan: {type: Number, default: 1} - //XXX Also reflect settable token list headers - } -}); - -define({ - tags: ['col', 'colgroup'], - ctor: function HTMLTableColElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - attributes: { - span: {type: Number, default: 1, min: 1, setmin: 1} - } -}); - -define({ - tag: 'table', - ctor: function HTMLTableElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - props: { - rows: { get: function() { - return this.getElementsByTagName('tr'); - }} - }, - attributes: { - border: String - } -}); - -define({ - tag: 'tr', - ctor: function HTMLTableRowElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - props: { - cells: { get: function() { - return this.querySelectorAll('td,th'); - }} - } -}); - -define({ - tags: ['thead', 'tfoot', 'tbody'], - ctor: function HTMLTableSectionElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - props: { - rows: { get: function() { - return this.getElementsByTagName('tr'); - }} - } -}); - -define({ - tag: 'textarea', - ctor: function HTMLTextAreaElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - props: formAssociatedProps, - attributes: { - name: String, - disabled: Boolean, - autofocus: Boolean, - placeholder: String, - wrap: String, - dirName: String, - required: Boolean, - readOnly: Boolean, - rows: {type: Number, default: 2, min: 1, setmin: 1}, - cols: {type: Number, default: 20, min: 1, setmin: 1}, - maxLength: {type: Number, min: 0, setmin: 0} - } -}); - -define({ - tag: 'time', - ctor: function HTMLTimeElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - attributes: { - dateTime: String, - pubDate: Boolean - } -}); - -define({ - tag: 'title', - ctor: function HTMLTitleElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - props: { - text: { get: function() { - return this.textContent; - }} - } -}); - -define({ - tag: 'track', - ctor: function HTMLTrackElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - attributes: { - src: URL, - srclang: String, - label: String, - default: Boolean, - kind: ["subtitles", "captions", "descriptions", "chapters", "metadata"] - } -}); - -define({ - tag: 'ul', - ctor: function HTMLUListElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - } -}); - -define({ - ctor: function HTMLMediaElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - }, - attributes: { - src: URL, - crossOrigin: String, - preload: ["metadata", "none", "auto", {value: "", alias: "auto"}], - loop: Boolean, - autoplay: Boolean, - mediaGroup: String, - controls: Boolean, - defaultMuted: {name: "muted", type: Boolean} - } -}); - -define({ - tag: 'audio', - superclass: impl.HTMLMediaElement, - ctor: function HTMLAudioElement(doc, localName, prefix) { - impl.HTMLMediaElement.call(this, doc, localName, prefix); - } -}); - -define({ - tag: 'video', - superclass: impl.HTMLMediaElement, - ctor: function HTMLVideoElement(doc, localName, prefix) { - impl.HTMLMediaElement.call(this, doc, localName, prefix); - }, - attributes: { - poster: String, - width: {type: Number, min: 0, setmin: 0}, - height: {type: Number, min: 0, setmin: 0} - } -}); - -define({ - tag: 'td', - superclass: impl.HTMLTableCellElement, - ctor: function HTMLTableDataCellElement(doc, localName, prefix) { - impl.HTMLTableCellElement.call(this, doc, localName, prefix); - } -}); - -define({ - tag: 'th', - superclass: impl.HTMLTableCellElement, - ctor: function HTMLTableHeaderCellElement(doc, localName, prefix) { - impl.HTMLTableCellElement.call(this, doc, localName, prefix); - }, - attributes: { - scope: ["", "row", "col", "rowgroup", "colgroup"] - } -}); - -define({ - tag: 'frameset', - ctor: function HTMLFrameSetElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - } -}); - -define({ - tag: 'frame', - ctor: function HTMLFrameElement(doc, localName, prefix) { - HTMLElement.call(this, doc, localName, prefix); - } -}); - -define({ - tags: [ - "abbr", "address", "article", "aside", "b", "bdi", "bdo", "canvas", - "cite", "code", "dd", "dfn", "dt", "em", "figcaption", "figure", - "footer", "header", "hgroup", "i", "kbd", "mark", "nav", "noscript", - "rp", "rt", "ruby", "s", "samp", "section", "small", "strong", "sub", - "summary", "sup", "u", "var", "wbr" - ] -}); diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/impl.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/impl.js deleted file mode 100644 index 2fcdeb5..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/impl.js +++ /dev/null @@ -1,23 +0,0 @@ -var utils = require('./utils'); - -exports = module.exports = { - CSSStyleDeclaration: require('./CSSStyleDeclaration'), - CharacterData: require('./CharacterData'), - Comment: require('./Comment'), - DOMException: require('./DOMException'), - DOMImplementation: require('./DOMImplementation'), - DOMTokenList: require('./DOMTokenList'), - Document: require('./Document'), - DocumentFragment: require('./DocumentFragment'), - DocumentType: require('./DocumentType'), - Element: require('./Element'), - Node: require('./Node'), - NodeList: require('./NodeList'), - NodeFilter: require('./NodeFilter'), - ProcessingInstruction: require('./ProcessingInstruction'), - Text: require('./Text'), - Window: require('./Window') -}; - -utils.merge(exports, require('./events')); -utils.merge(exports, require('./htmlelts').elements); diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/index.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/index.js deleted file mode 100644 index cc06de9..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/index.js +++ /dev/null @@ -1,23 +0,0 @@ -var DOMImplementation = require('./DOMImplementation'); -var HTMLParser = require('./HTMLParser'); -var Window = require('./Window'); - -exports.createDOMImplementation = function() { - return new DOMImplementation(); -}; - -exports.createDocument = function(html) { - if (html) { - var parser = new HTMLParser(); - parser.parse(html, true); - return parser.document(); - } - return new DOMImplementation().createHTMLDocument(""); -}; - -exports.createWindow = function(html) { - var document = exports.createDocument(html); - return new Window(document); -}; - -exports.impl = require('./impl'); diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/select.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/select.js deleted file mode 100644 index 6059cea..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/select.js +++ /dev/null @@ -1,842 +0,0 @@ -/** - * Zest (https://github.com/chjj/zest) - * A css selector engine. - * Copyright (c) 2011-2012, Christopher Jeffrey. (MIT Licensed) - */ - -/** - * Helpers - */ - -var compareDocumentPosition = function(a, b) { - return a.compareDocumentPosition(b); -}; - -var order = function(a, b) { - return compareDocumentPosition(a, b) & 2 ? 1 : -1; -}; - -var next = function(el) { - while ((el = el.nextSibling) - && el.nodeType !== 1); - return el; -}; - -var prev = function(el) { - while ((el = el.previousSibling) - && el.nodeType !== 1); - return el; -}; - -var child = function(el) { - if (el = el.firstChild) { - while (el.nodeType !== 1 - && (el = el.nextSibling)); - } - return el; -}; - -var lastChild = function(el) { - if (el = el.lastChild) { - while (el.nodeType !== 1 - && (el = el.previousSibling)); - } - return el; -}; - -var unquote = function(str) { - if (!str) return str; - var ch = str[0]; - return ch === '"' || ch === '\'' - ? str.slice(1, -1) - : str; -}; - -var indexOf = (function() { - if (Array.prototype.indexOf) { - return Array.prototype.indexOf; - } - return function(obj, item) { - var i = this.length; - while (i--) { - if (this[i] === item) return i; - } - return -1; - }; -})(); - -var makeInside = function(start, end) { - var regex = rules.inside.source - .replace(//g, end); - - return new RegExp(regex); -}; - -var replace = function(regex, name, val) { - regex = regex.source; - regex = regex.replace(name, val.source || val); - return new RegExp(regex); -}; - -var truncateUrl = function(url, num) { - return url - .replace(/^(?:\w+:\/\/|\/+)/, '') - .replace(/(?:\/+|\/*#.*?)$/, '') - .split('/', num) - .join('/'); -}; - -/** - * Handle `nth` Selectors - */ - -var parseNth = function(param, test) { - var param = param.replace(/\s+/g, '') - , cap; - - if (param === 'even') { - param = '2n+0'; - } else if (param === 'odd') { - param = '2n+1'; - } else if (!~param.indexOf('n')) { - param = '0n' + param; - } - - cap = /^([+-])?(\d+)?n([+-])?(\d+)?$/.exec(param); - - return { - group: cap[1] === '-' - ? -(cap[2] || 1) - : +(cap[2] || 1), - offset: cap[4] - ? (cap[3] === '-' ? -cap[4] : +cap[4]) - : 0 - }; -}; - -var nth = function(param, test, last) { - var param = parseNth(param) - , group = param.group - , offset = param.offset - , find = !last ? child : lastChild - , advance = !last ? next : prev; - - return function(el) { - if (el.parentNode.nodeType !== 1) return; - - var rel = find(el.parentNode) - , pos = 0; - - while (rel) { - if (test(rel, el)) pos++; - if (rel === el) { - pos -= offset; - return group && pos - ? !(pos % group) && (pos < 0 === group < 0) - : !pos; - } - rel = advance(rel); - } - }; -}; - -/** - * Simple Selectors - */ - -var selectors = { - '*': (function() { - if (false/*function() { - var el = document.createElement('div'); - el.appendChild(document.createComment('')); - return !!el.getElementsByTagName('*')[0]; - }()*/) { - return function(el) { - if (el.nodeType === 1) return true; - }; - } - return function() { - return true; - }; - })(), - 'type': function(type) { - type = type.toLowerCase(); - return function(el) { - return el.nodeName.toLowerCase() === type; - }; - }, - 'attr': function(key, op, val, i) { - op = operators[op]; - return function(el) { - var attr; - switch (key) { - case 'for': - attr = el.htmlFor; - break; - case 'class': - // className is '' when non-existent - // getAttribute('class') is null - attr = el.className; - if (attr === '' && el.getAttribute('class') == null) { - attr = null; - } - break; - case 'href': - attr = el.getAttribute('href', 2); - break; - case 'title': - // getAttribute('title') can be '' when non-existent sometimes? - attr = el.getAttribute('title') || null; - break; - // careful with attributes with special getter functions - case 'id': - case 'lang': - case 'dir': - case 'accessKey': - case 'hidden': - case 'tabIndex': - if (el.getAttribute) { - attr = el.getAttribute(key); - break; - } - default: - if (el.hasAttribute && !el.hasAttribute(key)) { - break; - } - attr = el[key] != null - ? el[key] - : el.getAttribute && el.getAttribute(key); - break; - } - if (attr == null) return; - attr = attr + ''; - if (i) { - attr = attr.toLowerCase(); - val = val.toLowerCase(); - } - return op(attr, val); - }; - }, - ':first-child': function(el) { - return !prev(el) && el.parentNode.nodeType === 1; - }, - ':last-child': function(el) { - return !next(el) && el.parentNode.nodeType === 1; - }, - ':only-child': function(el) { - return !prev(el) && !next(el) - && el.parentNode.nodeType === 1; - }, - ':nth-child': function(param, last) { - return nth(param, function() { - return true; - }, last); - }, - ':nth-last-child': function(param) { - return selectors[':nth-child'](param, true); - }, - ':root': function(el) { - return el.ownerDocument.documentElement === el; - }, - ':empty': function(el) { - return !el.firstChild; - }, - ':not': function(sel) { - var test = compileGroup(sel); - return function(el) { - return !test(el); - }; - }, - ':first-of-type': function(el) { - if (el.parentNode.nodeType !== 1) return; - var type = el.nodeName; - while (el = prev(el)) { - if (el.nodeName === type) return; - } - return true; - }, - ':last-of-type': function(el) { - if (el.parentNode.nodeType !== 1) return; - var type = el.nodeName; - while (el = next(el)) { - if (el.nodeName === type) return; - } - return true; - }, - ':only-of-type': function(el) { - return selectors[':first-of-type'](el) - && selectors[':last-of-type'](el); - }, - ':nth-of-type': function(param, last) { - return nth(param, function(rel, el) { - return rel.nodeName === el.nodeName; - }, last); - }, - ':nth-last-of-type': function(param) { - return selectors[':nth-of-type'](param, true); - }, - ':checked': function(el) { - return !!(el.checked || el.selected); - }, - ':indeterminate': function(el) { - return !selectors[':checked'](el); - }, - ':enabled': function(el) { - return !el.disabled && el.type !== 'hidden'; - }, - ':disabled': function(el) { - return !!el.disabled; - }, - ':target': function(el) { - return el.id === window.location.hash.substring(1); - }, - ':focus': function(el) { - return el === el.ownerDocument.activeElement; - }, - ':matches': function(sel) { - return compileGroup(sel); - }, - ':nth-match': function(param, last) { - var args = param.split(/\s*,\s*/) - , arg = args.shift() - , test = compileGroup(args.join(',')); - - return nth(arg, test, last); - }, - ':nth-last-match': function(param) { - return selectors[':nth-match'](param, true); - }, - ':links-here': function(el) { - return el + '' === window.location + ''; - }, - ':lang': function(param) { - return function(el) { - while (el) { - if (el.lang) return el.lang.indexOf(param) === 0; - el = el.parentNode; - } - }; - }, - ':dir': function(param) { - return function(el) { - while (el) { - if (el.dir) return el.dir === param; - el = el.parentNode; - } - }; - }, - ':scope': function(el, con) { - var context = con || el.ownerDocument; - if (context.nodeType === 9) { - return el === context.documentElement; - } - return el === context; - }, - ':any-link': function(el) { - return typeof el.href === 'string'; - }, - ':local-link': function(el) { - if (el.nodeName) { - return el.href && el.host === window.location.host; - } - var param = +el + 1; - return function(el) { - if (!el.href) return; - - var url = window.location + '' - , href = el + ''; - - return truncateUrl(url, param) === truncateUrl(href, param); - }; - }, - ':default': function(el) { - return !!el.defaultSelected; - }, - ':valid': function(el) { - return el.willValidate || (el.validity && el.validity.valid); - }, - ':invalid': function(el) { - return !selectors[':valid'](el); - }, - ':in-range': function(el) { - return el.value > el.min && el.value <= el.max; - }, - ':out-of-range': function(el) { - return !selectors[':in-range'](el); - }, - ':required': function(el) { - return !!el.required; - }, - ':optional': function(el) { - return !el.required; - }, - ':read-only': function(el) { - if (el.readOnly) return true; - - var attr = el.getAttribute('contenteditable') - , prop = el.contentEditable - , name = el.nodeName.toLowerCase(); - - name = name !== 'input' && name !== 'textarea'; - - return (name || el.disabled) && attr == null && prop !== 'true'; - }, - ':read-write': function(el) { - return !selectors[':read-only'](el); - }, - ':hover': function() { - throw new Error(':hover is not supported.'); - }, - ':active': function() { - throw new Error(':active is not supported.'); - }, - ':link': function() { - throw new Error(':link is not supported.'); - }, - ':visited': function() { - throw new Error(':visited is not supported.'); - }, - ':column': function() { - throw new Error(':column is not supported.'); - }, - ':nth-column': function() { - throw new Error(':nth-column is not supported.'); - }, - ':nth-last-column': function() { - throw new Error(':nth-last-column is not supported.'); - }, - ':current': function() { - throw new Error(':current is not supported.'); - }, - ':past': function() { - throw new Error(':past is not supported.'); - }, - ':future': function() { - throw new Error(':future is not supported.'); - }, - // Non-standard, for compatibility purposes. - ':contains': function(param) { - return function(el) { - var text = el.innerText || el.textContent || el.value || ''; - return !!~text.indexOf(param); - }; - }, - ':has': function(param) { - return function(el) { - return zest(param, el).length > 0; - }; - } - // Potentially add more pseudo selectors for - // compatibility with sizzle and most other - // selector engines (?). -}; - -/** - * Attribute Operators - */ - -var operators = { - '-': function() { - return true; - }, - '=': function(attr, val) { - return attr === val; - }, - '*=': function(attr, val) { - return attr.indexOf(val) !== -1; - }, - '~=': function(attr, val) { - var i = attr.indexOf(val) - , f - , l; - - if (i === -1) return; - f = attr[i - 1]; - l = attr[i + val.length]; - - return (!f || f === ' ') && (!l || l === ' '); - }, - '|=': function(attr, val) { - var i = attr.indexOf(val) - , l; - - if (i !== 0) return; - l = attr[i + val.length]; - - return l === '-' || !l; - }, - '^=': function(attr, val) { - return attr.indexOf(val) === 0; - }, - '$=': function(attr, val) { - return attr.indexOf(val) + val.length === attr.length; - }, - // non-standard - '!=': function(attr, val) { - return attr !== val; - } -}; - -/** - * Combinator Logic - */ - -var combinators = { - ' ': function(test) { - return function(el) { - while (el = el.parentNode) { - if (test(el)) return el; - } - }; - }, - '>': function(test) { - return function(el) { - if (el = el.parentNode) { - return test(el) && el; - } - }; - }, - '+': function(test) { - return function(el) { - if (el = prev(el)) { - return test(el) && el; - } - }; - }, - '~': function(test) { - return function(el) { - while (el = prev(el)) { - if (test(el)) return el; - } - }; - }, - 'noop': function(test) { - return function(el) { - return test(el) && el; - }; - }, - 'ref': function(test, name) { - var node; - - function ref(el) { - var doc = el.ownerDocument - , nodes = doc.getElementsByTagName('*') - , i = nodes.length; - - while (i--) { - node = nodes[i]; - if (ref.test(el)) { - node = null; - return true; - } - } - - node = null; - } - - ref.combinator = function(el) { - if (!node || !node.getAttribute) return; - - var attr = node.getAttribute(name) || ''; - if (attr[0] === '#') attr = attr.substring(1); - - if (attr === el.id && test(node)) { - return node; - } - }; - - return ref; - } -}; - -/** - * Grammar - */ - -var rules = { - qname: /^ *([\w\-]+|\*)/, - simple: /^(?:([.#][\w\-]+)|pseudo|attr)/, - ref: /^ *\/([\w\-]+)\/ */, - combinator: /^(?: +([^ \w*]) +|( )+|([^ \w*]))(?! *$)/, - attr: /^\[([\w\-]+)(?:([^\w]?=)(inside))?\]/, - pseudo: /^(:[\w\-]+)(?:\((inside)\))?/, - inside: /(?:"(?:\\"|[^"])*"|'(?:\\'|[^'])*'|<[^"'>]*>|\\["'>]|[^"'>])*/ -}; - -rules.inside = replace(rules.inside, '[^"\'>]*', rules.inside); -rules.attr = replace(rules.attr, 'inside', makeInside('\\[', '\\]')); -rules.pseudo = replace(rules.pseudo, 'inside', makeInside('\\(', '\\)')); -rules.simple = replace(rules.simple, 'pseudo', rules.pseudo); -rules.simple = replace(rules.simple, 'attr', rules.attr); - -/** - * Compiling - */ - -var compile = function(sel) { - var sel = sel.replace(/^\s+|\s+$/g, '') - , test - , filter = [] - , buff = [] - , subject - , qname - , cap - , op - , ref; - - while (sel) { - if (cap = rules.qname.exec(sel)) { - sel = sel.substring(cap[0].length); - qname = cap[1]; - buff.push(tok(qname, true)); - } else if (cap = rules.simple.exec(sel)) { - sel = sel.substring(cap[0].length); - qname = '*'; - buff.push(tok(qname, true)); - buff.push(tok(cap)); - } else { - throw new Error('Invalid selector.'); - } - - while (cap = rules.simple.exec(sel)) { - sel = sel.substring(cap[0].length); - buff.push(tok(cap)); - } - - if (sel[0] === '!') { - sel = sel.substring(1); - subject = makeSubject(); - subject.qname = qname; - buff.push(subject.simple); - } - - if (cap = rules.ref.exec(sel)) { - sel = sel.substring(cap[0].length); - ref = combinators.ref(makeSimple(buff), cap[1]); - filter.push(ref.combinator); - buff = []; - continue; - } - - if (cap = rules.combinator.exec(sel)) { - sel = sel.substring(cap[0].length); - op = cap[1] || cap[2] || cap[3]; - if (op === ',') { - filter.push(combinators.noop(makeSimple(buff))); - break; - } - } else { - op = 'noop'; - } - - filter.push(combinators[op](makeSimple(buff))); - buff = []; - } - - test = makeTest(filter); - test.qname = qname; - test.sel = sel; - - if (subject) { - subject.lname = test.qname; - - subject.test = test; - subject.qname = subject.qname; - subject.sel = test.sel; - test = subject; - } - - if (ref) { - ref.test = test; - ref.qname = test.qname; - ref.sel = test.sel; - test = ref; - } - - return test; -}; - -var tok = function(cap, qname) { - // qname - if (qname) { - return cap === '*' - ? selectors['*'] - : selectors.type(cap); - } - - // class/id - if (cap[1]) { - return cap[1][0] === '.' - ? selectors.attr('class', '~=', cap[1].substring(1)) - : selectors.attr('id', '=', cap[1].substring(1)); - } - - // pseudo-name - // inside-pseudo - if (cap[2]) { - return cap[3] - ? selectors[cap[2]](unquote(cap[3])) - : selectors[cap[2]]; - } - - // attr name - // attr op - // attr value - if (cap[4]) { - var i; - if (cap[6]) { - i = cap[6].length; - cap[6] = cap[6].replace(/ +i$/, ''); - i = i > cap[6].length; - } - return selectors.attr(cap[4], cap[5] || '-', unquote(cap[6]), i); - } - - throw new Error('Unknown Selector.'); -}; - -var makeSimple = function(func) { - var l = func.length - , i; - - // Potentially make sure - // `el` is truthy. - if (l < 2) return func[0]; - - return function(el) { - if (!el) return; - for (i = 0; i < l; i++) { - if (!func[i](el)) return; - } - return true; - }; -}; - -var makeTest = function(func) { - if (func.length < 2) { - return function(el) { - return !!func[0](el); - }; - } - return function(el) { - var i = func.length; - while (i--) { - if (!(el = func[i](el))) return; - } - return true; - }; -}; - -var makeSubject = function() { - var target; - - function subject(el) { - var node = el.ownerDocument - , scope = node.getElementsByTagName(subject.lname) - , i = scope.length; - - while (i--) { - if (subject.test(scope[i]) && target === el) { - target = null; - return true; - } - } - - target = null; - } - - subject.simple = function(el) { - target = el; - return true; - }; - - return subject; -}; - -var compileGroup = function(sel) { - var test = compile(sel) - , tests = [ test ]; - - while (test.sel) { - test = compile(test.sel); - tests.push(test); - } - - if (tests.length < 2) return test; - - return function(el) { - var l = tests.length - , i = 0; - - for (; i < l; i++) { - if (tests[i](el)) return true; - } - }; -}; - -/** - * Selection - */ - -var find = function(sel, node) { - var results = [] - , test = compile(sel) - , scope = node.getElementsByTagName(test.qname) - , i = 0 - , el; - - while (el = scope[i++]) { - if (test(el)) results.push(el); - } - - if (test.sel) { - while (test.sel) { - test = compile(test.sel); - scope = node.getElementsByTagName(test.qname); - i = 0; - while (el = scope[i++]) { - if (test(el) && !~indexOf.call(results, el)) { - results.push(el); - } - } - } - results.sort(order); - } - - return results; -}; - -/** - * Expose - */ - -module.exports = exports = function(sel, context) { - /* when context isn't a DocumentFragment and the selector is simple: */ - if (context.nodeType !== 11 && !~sel.indexOf(' ')) { - if (sel[0] === '#' && context.rooted && /^#\w+$/.test(sel)) { - return [context.doc.getElementById(sel.substring(1))]; - } - if (sel[0] === '.' && /^\.\w+$/.test(sel)) { - return context.getElementsByClassName(sel.substring(1)); - } - if (/^\w+$/.test(sel)) { - return context.getElementsByTagName(sel); - } - } - /* do things the hard/slow way */ - return find(sel, context); -}; - -exports.selectors = selectors; -exports.operators = operators; -exports.combinators = combinators; - -exports.matches = function(el, sel) { - var test = { sel: sel }; - do { - test = compile(test.sel); - if (test(el)) { return true; } - } while (test.sel); - return false; -}; diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/utils.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/utils.js deleted file mode 100644 index 78257cc..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/utils.js +++ /dev/null @@ -1,66 +0,0 @@ -var DOMException = require('./DOMException'); -var ERR = DOMException; - -exports.NAMESPACE = { - HTML: 'http://www.w3.org/1999/xhtml', - XML: 'http://www.w3.org/XML/1998/namespace', - XMLNS: 'http://www.w3.org/2000/xmlns/', - MATHML: 'http://www.w3.org/1998/Math/MathML', - SVG: 'http://www.w3.org/2000/svg', - XLINK: 'http://www.w3.org/1999/xlink' -}; - -// -// Shortcut functions for throwing errors of various types. -// -exports.IndexSizeError = function() { throw new DOMException(ERR.INDEX_SIZE_ERR); } -exports.HierarchyRequestError = function() { throw new DOMException(ERR.HIERARCHY_REQUEST_ERR); } -exports.WrongDocumentError = function() { throw new DOMException(ERR.WRONG_DOCUMENT_ERR); } -exports.InvalidCharacterError = function() { throw new DOMException(ERR.INVALID_CHARACTER_ERR); } -exports.NoModificationAllowedError = function() { throw new DOMException(ERR.NO_MODIFICATION_ALLOWED_ERR); } -exports.NotFoundError = function() { throw new DOMException(ERR.NOT_FOUND_ERR); } -exports.NotSupportedError = function() { throw new DOMException(ERR.NOT_SUPPORTED_ERR); } -exports.InvalidStateError = function() { throw new DOMException(ERR.INVALID_STATE_ERR); } -exports.SyntaxError = function() { throw new DOMException(ERR.SYNTAX_ERR); } -exports.InvalidModificationError = function() { throw new DOMException(ERR.INVALID_MODIFICATION_ERR); } -exports.NamespaceError = function() { throw new DOMException(ERR.NAMESPACE_ERR); } -exports.InvalidAccessError = function() { throw new DOMException(ERR.INVALID_ACCESS_ERR); } -exports.TypeMismatchError = function() { throw new DOMException(ERR.TYPE_MISMATCH_ERR); } -exports.SecurityError = function() { throw new DOMException(ERR.SECURITY_ERR); } -exports.NetworkError = function() { throw new DOMException(ERR.NETWORK_ERR); } -exports.AbortError = function() { throw new DOMException(ERR.ABORT_ERR); } -exports.UrlMismatchError = function() { throw new DOMException(ERR.URL_MISMATCH_ERR); } -exports.QuotaExceededError = function() { throw new DOMException(ERR.QUOTA_EXCEEDED_ERR); } -exports.TimeoutError = function() { throw new DOMException(ERR.TIMEOUT_ERR); } -exports.InvalidNodeTypeError = function() { throw new DOMException(ERR.INVALID_NODE_TYPE_ERR); } -exports.DataCloneError = function() { throw new DOMException(ERR.DATA_CLONE_ERR); } - -exports.nyi = function() { - throw new Error("NotYetImplemented"); -} - -exports.assert = function(expr, msg) { - if (!expr) { - throw new Error("Assertion failed: " + (msg || "") + "\n" + new Error().stack); - } -}; - -exports.expose = function(src, c) { - for (var n in src) { - Object.defineProperty(c.prototype, n, {value: src[n] }); - } -}; - -exports.merge = function(a, b) { - for (var n in b) { - a[n] = b[n] - } -}; - -// Compare two nodes based on their document order. This function is intended -// to be passed to sort(). Assumes that the array being sorted does not -// contain duplicates. And that all nodes are connected and comparable. -// Clever code by ppk via jeresig. -exports.documentOrder = function(n,m) { - return 3 - (n.compareDocumentPosition(m) & 6); -}; diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/xmlnames.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/xmlnames.js deleted file mode 100644 index 4edb8ab..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/lib/xmlnames.js +++ /dev/null @@ -1,90 +0,0 @@ -// This grammar is from the XML and XML Namespace specs. It specifies whether -// a string (such as an element or attribute name) is a valid Name or QName. -// -// Name ::= NameStartChar (NameChar)* -// NameStartChar ::= ":" | [A-Z] | "_" | [a-z] | -// [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | -// [#x370-#x37D] | [#x37F-#x1FFF] | -// [#x200C-#x200D] | [#x2070-#x218F] | -// [#x2C00-#x2FEF] | [#x3001-#xD7FF] | -// [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | -// [#x10000-#xEFFFF] -// -// NameChar ::= NameStartChar | "-" | "." | [0-9] | -// #xB7 | [#x0300-#x036F] | [#x203F-#x2040] -// -// QName ::= PrefixedName| UnprefixedName -// PrefixedName ::= Prefix ':' LocalPart -// UnprefixedName ::= LocalPart -// Prefix ::= NCName -// LocalPart ::= NCName -// NCName ::= Name - (Char* ':' Char*) -// # An XML Name, minus the ":" -// - -exports.isValidName = isValidName; -exports.isValidQName = isValidQName; - -// Most names will be ASCII only. Try matching against simple regexps first -var simplename = /^[_:A-Za-z][-.:\w]+$/; -var simpleqname = /^([_A-Za-z][-.\w]+|[_A-Za-z][-.\w]+:[_A-Za-z][-.\w]+)$/ - -// If the regular expressions above fail, try more complex ones that work -// for any identifiers using codepoints from the Unicode BMP -var ncnamestartchars = "_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02ff\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD"; -var ncnamechars = "-._A-Za-z0-9\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02ff\u0300-\u037D\u037F-\u1FFF\u200C\u200D\u203f\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD"; - -var ncname = "[" + ncnamestartchars + "][" + ncnamechars + "]*"; -var namestartchars = ncnamestartchars + ":"; -var namechars = ncnamechars + ":"; -var name = new RegExp("^[" + namestartchars + "]" + "[" + namechars + "]*$"); -var qname = new RegExp("^(" + ncname + "|" + ncname + ":" + ncname + ")$"); - -// XML says that these characters are also legal: -// [#x10000-#xEFFFF]. So if the patterns above fail, and the -// target string includes surrogates, then try the following -// patterns that allow surrogates and then run an extra validation -// step to make sure that the surrogates are in valid pairs and in -// the right range. Note that since the characters \uf0000 to \u1f0000 -// are not allowed, it means that the high surrogate can only go up to -// \uDB7f instead of \uDBFF. -var hassurrogates = /[\uD800-\uDB7F\uDC00-\uDFFF]/; -var surrogatechars = /[\uD800-\uDB7F\uDC00-\uDFFF]/g; -var surrogatepairs = /[\uD800-\uDB7F][\uDC00-\uDFFF]/g; - -// Modify the variables above to allow surrogates -ncnamestartchars += "\uD800-\uDB7F\uDC00-\uDFFF"; -ncnamechars += "\uD800-\uDB7F\uDC00-\uDFFF"; -ncname = "[" + ncnamestartchars + "][" + ncnamechars + "]*"; -namestartchars = ncnamestartchars + ":"; -namechars = ncnamechars + ":"; - -// Build another set of regexps that include surrogates -var surrogatename = new RegExp("^[" + namestartchars + "]" + "[" + namechars + "]*$"); -var surrogateqname = new RegExp("^(" + ncname + "|" + ncname + ":" + ncname + ")$"); - -function isValidName(s) { - if (simplename.test(s)) return true; // Plain ASCII - if (name.test(s)) return true; // Unicode BMP - - // Maybe the tests above failed because s includes surrogate pairs - // Most likely, though, they failed for some more basic syntax problem - if (!hassurrogates.test(s)) return false; - - // Is the string a valid name if we allow surrogates? - if (!surrogatename.test(s)) return false; - - // Finally, are the surrogates all correctly paired up? - var chars = s.match(surrogatechars), pairs = s.match(surrogatepairs); - return pairs != null && 2*pairs.length === chars.length; -} - -function isValidQName(s) { - if (simpleqname.test(s)) return true; // Plain ASCII - if (qname.test(s)) return true; // Unicode BMP - - if (!hassurrogates.test(s)) return false; - if (!surrogateqname.test(s)) return false; - var chars = s.match(surrogatechars), pairs = s.match(surrogatepairs); - return pairs != null && 2*pairs.length === chars.length; -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/package.json b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/package.json deleted file mode 100644 index 778d9cb..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/package.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "name": "domino", - "version": "1.0.15", - "author": { - "name": "Felix Gnass", - "email": "fgnass@gmail.com" - }, - "description": "Server-side DOM implementation based on Mozilla's dom.js", - "homepage": "https://github.com/fgnass/domino", - "main": "./lib", - "repository": { - "type": "git", - "url": "https://github.com/fgnass/domino.git" - }, - "scripts": { - "test": "./node_modules/.bin/mocha", - "test-spec": "./node_modules/.bin/mocha -R spec" - }, - "devDependencies": { - "mocha": "~1.17.0", - "should": "~2.1.0" - }, - "readme": "# Server-side DOM implementation based on Mozilla's dom.js\n\n[![Build Status][1]][2] [![dependency status][3]][4] [![dev dependency status][5]][6]\n\nAs the name might suggest, domino's goal is to provide a DOM in Node.\n\nIn contrast to the original [dom.js](https://github.com/andreasgal/dom.js) project, domino was not designed to run untrusted code. Hence it doesn't have to hide its internals behind a proxy facade which makes the code not only simpler, but also [more performant](https://github.com/fgnass/dombench).\n\nDomino currently doesn't use any harmony features like proxies or WeakMaps and therefore also runs in older Node versions.\n\n## Speed over Compliance\n\nDomino is intended for _building_ pages rather than scraping them. Hence Domino doesn't execute scripts nor does it download external resources.\n\nAlso Domino doesn't implement any properties which have been deprecated in HTML5.\n\nDomino sticks to the [DOM level 4](http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#interface-attr) working draft, which means that Attributes do not inherit the Node interface. Also [Element.attributes](http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-element-attributes) returns a read-only array instead of a NamedNodeMap.\n\nNote that because domino does not use proxies,\n`Element.attributes` is not a true JavaScript array; it is an object\nwith a `length` property and an `item(n)` accessor method. See\n[github issue #27](https://github.com/fgnass/domino/issues/27) for\nfurther discussion.\n\n## CSS Selector Support\n\nDomino provides support for `querySelector()`, `querySelectorAll()`, and `matches()` backed by the [Zest](https://github.com/chjj/zest) selector engine.\n\n## Usage\n\n```javascript\nvar domino = require('domino');\n\nvar window = domino.createWindow('

    Hello world

    ');\nvar document = window.document;\n\nvar h1 = document.querySelector('h1');\nconsole.log(h1.innerHTML);\n```\n\n## Tests\n\nDomino includes test from the [W3C DOM Conformance Suites](http://www.w3.org/DOM/Test/)\nas well as tests from [HTML Working Group](http://www.w3.org/html/wg/wiki/Testing).\n\nThe tests can be run via `npm test` or directly though the [Mocha](http://visionmedia.github.com/mocha/) command line:\n\n![Screenshot](http://fgnass.github.com/images/domino.png)\n\n## License and Credits\n\nThe majority of the code was written by [Andreas Gal](https://github.com/andreasgal/) and [David Flanagan](https://github.com/davidflanagan) as part of the [dom.js](https://github.com/andreasgal/dom.js) project. Please refer to the included LICENSE file for the original copyright notice and disclaimer.\n\n[1]: https://travis-ci.org/fgnass/domino.png\n[2]: https://travis-ci.org/fgnass/domino\n[3]: https://david-dm.org/fgnass/domino.png\n[4]: https://david-dm.org/fgnass/domino\n[5]: https://david-dm.org/fgnass/domino/dev-status.png\n[6]: https://david-dm.org/fgnass/domino#info=devDependencies\n", - "readmeFilename": "README.md", - "bugs": { - "url": "https://github.com/fgnass/domino/issues" - }, - "_id": "domino@1.0.15", - "_from": "domino@1.x.x" -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/domino.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/domino.js deleted file mode 100644 index b83360d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/domino.js +++ /dev/null @@ -1,307 +0,0 @@ -var domino = require('../lib'); -var fs = require('fs'); -var html = fs.readFileSync(__dirname + '/fixture/doc.html', 'utf8'); - -exports = exports.domino = {}; - -exports.matches = function() { - // see https://developer.mozilla.org/en-US/docs/Web/API/Element.matches - var d = domino.createWindow(html).document; - var h1 = d.getElementById('lorem'); - h1.matches('h1').should.equal(true); - h1.matches('body > h1').should.equal(true); // not rooted - h1.matches('h1 > p').should.equal(false); - h1.matches('h1,h2').should.equal(true); - h1.matches('h2,h1').should.equal(true); -}; - -exports.querySelectorAll = function() { - var window = domino.createWindow(html); - var d = window.document; - var nodeList = d.querySelectorAll('p'); - nodeList.should.have.property('item'); - nodeList.should.have.length(2); - nodeList = d.querySelectorAll('p:not(.foo)'); - nodeList.should.have.length(1); - nodeList = d.querySelectorAll('tt.foo'); - nodeList.should.have.length(2); - nodeList = d.querySelectorAll('tt:not(.bar)'); - nodeList.should.have.length(1); -} - -exports.qsaOrder = function() { - var window = domino.createDocument('

    '); - window.querySelectorAll('h2, h3').map(function(el) { - return el.tagName; - }) - .should.eql(['H2', 'H3', 'H3', 'H2', 'H3']); -} - -exports.orphanQSA = function() { - var document = domino.createDocument('

    foo

    '); - var p = document.createElement('p'); - p.querySelectorAll('p').should.have.length(0); - p.querySelectorAll('p').should.have.length(0); -}; - -exports.gh20 = function() { - var window = domino.createWindow(''); - var frag = window.document.createDocumentFragment(); - frag.querySelectorAll('p').should.have.length(0); - - frag.appendChild(window.document.createElement('p')); - frag.querySelectorAll('p').should.have.length(1); - - frag.appendChild(window.document.createElement('p')); - frag.querySelectorAll('p').should.have.length(2); -}; - -exports.gh22 = function() { - var d=domino.createDocument("

    Hello world

    Hi

    "); - d.querySelectorAll('div').should.have.length(1); - d.body.querySelectorAll('div').should.have.length(1); - d.body.querySelectorAll('h1').should.have.length(1); - d.body.querySelectorAll('p').should.have.length(1); - - var w=domino.createWindow("

    Hello world

    Hi

    "); - d=w.document; - d.querySelectorAll('div').should.have.length(1); - d.body.querySelectorAll('div').should.have.length(1); - d.body.querySelectorAll('h1').should.have.length(1); - d.body.querySelectorAll('p').should.have.length(1); -}; - -exports.gh31 = function() { - var document, heading1, heading2; - - document = domino.createDocument("

    First

    Second

    "); - document.querySelectorAll('h1').should.have.length(2); - heading1 = document.body.querySelector('h1'); - heading1.getElementsByTagName('h1').should.have.length(0); - heading1.querySelectorAll('h1').should.have.length(0); - heading2 = document.body.querySelector('h1 + h1'); - heading2.querySelectorAll('h1').should.have.length(0); -}; - -exports.gh38 = function() { - var d = domino.createDocument('
    Header cellData cell
    '); - var r = d.querySelector('tr'); - r.should.have.property('cells'); - r.cells.should.have.length(2); -}; - -exports.evilHandler = function() { - var window = domino.createDocument(''); -}; - -exports.title = function() { - var d = domino.createDocument(html); - if (d.head) { d.documentElement.removeChild(d.head); } - d.should.have.property('head', null); - d.should.have.property('title', ''); - d.querySelectorAll('head > title').should.have.length(0); - - // per the spec, if there is no , then setting Document.title should - // be a no-op. - d.title = "Lorem!"; - d.title.should.equal(''); - d.querySelectorAll('head > title').should.have.length(0); - - // but if there is a , then setting Document.title should create the - // element if necessary. - d.documentElement.insertBefore(d.createElement('head'), d.body); - d.head.should.not.equal(null); - d.title.should.equal(''); - d.title = "Lorem!"; - d.title.should.equal("Lorem!"); - d.querySelectorAll('head > title').should.have.length(1); - - // verify that setting <title> works if there's already a title - d.title = "ipsum"; - d.title.should.equal("ipsum"); - d.querySelectorAll('head > title').should.have.length(1); // still only 1! -}; - -exports.children = function() { - var d = domino.createDocument(html); - var c = d.body.children; - c.should.have.length(4); - c.should.have.property(0); - var a = Array.prototype.slice.call(c); - a.should.be.an.instanceof(Array); - a.should.have.length(4); - d.body.appendChild(d.createElement('p')); - a = Array.prototype.slice.call(c); - a.should.have.length(5); -} - - -exports.attributes1 = function() { - var d = domino.createDocument(); - var el = d.createElement('div'); - el.setAttribute('foo', 'foo'); - el.setAttribute('bar', 'bar'); - el.attributes.should.have.length(2); - el.attributes.item(0).value.should.equal('foo'); - el.removeAttribute('foo'); - el.attributes.should.have.length(1); - el.attributes.item(0).name.should.equal('bar'); - el.setAttribute('baz', 'baz'); - el.attributes.should.have.length(2); - el.attributes.item(1).value.should.equal('baz'); -} - -exports.classList = function() { - var d = domino.createDocument(); - var el = d.body; - el.className = 'foo bar boo'; - - var cl = el.classList; - cl.should.have.length(3); - cl[0].should.equal('foo'); - cl.contains('bar').should.be.ok; - cl.contains('baz').should.not.be.ok; - cl.add('baz'); - cl.contains('baz').should.be.ok; - cl.should.have.length(4); - el.className.should.match(/baz/); - cl.remove('foo'); - cl.should.have.length(3); - el.className.should.not.match(/foo/); - cl[0].should.not.equal('foo'); -} - -exports.attributes2 = function() { - var d = domino.createDocument(); - var div = d.createElement('div'); - div.setAttribute('onclick', 't'); - div.attributes.should.have.property('onclick'); - div.attributes.onclick.should.have.property('value', 't'); - div.removeAttribute('onclick'); - div.attributes.should.not.have.property('onclick'); -} - -exports.jquery = function() { - var window = domino.createWindow(html); - var f = __dirname + '/fixture/jquery-1.9.1.js'; - window._run(fs.readFileSync(f, 'utf8'), f); - window.$.should.be.ok; - window.$('.foo').should.have.length(3); -} - -exports.treeWalker = function() { - var window = domino.createWindow(html); - var d = window.document; - var root = d.getElementById('tw'); - var tw = d.createTreeWalker(root, window.NodeFilter.SHOW_TEXT); - tw.root.should.equal(root); - tw.currentNode.should.equal(root); - tw.whatToShow.should.equal(0x4); - tw.filter.constructor.should.equal(window.NodeFilter.constructor); - - var actual = []; - while (tw.nextNode() !== null) { - actual.push(tw.currentNode); - } - - actual.should.eql([ - root.firstChild.firstChild, - root.firstChild.lastChild.firstChild, - root.lastChild.firstChild, - root.lastChild.lastChild.firstChild - ]); -} - -exports.innerHTML = function() { - var d = domino.createDocument(); - ['pre','textarea','listing'].forEach(function(elementName) { - var div = d.createElement('div') - var el = d.createElement(elementName); - el.innerHTML = "a"; - div.appendChild(el); - // no extraneous newline after element tag in this case - div.innerHTML.should.equal('<'+elementName+'>a</'+elementName+'>'); - el.innerHTML = "\nb"; - // first newline after element is swallowed. needs two. - div.innerHTML.should.equal('<'+elementName+'>\n\nb</'+elementName+'>'); - }); -} - -exports.outerHTML = function() { - var tests = [ - '<body><pre>\n\na\n</pre></body>', - '<body bgcolor="white"><h1 style="color: red">\nOne\n2 & 3</h1></body>', - '<body data-test="<>&"\'"></body>' - ]; - tests.forEach(function(html) { - var d = domino.createDocument(html); - d.body.outerHTML.should.equal(html); - }); -} - -exports.largeAttribute = function() { - var size = 400000; - // work around a performance regression in node 0.4.x - 0.6.x - if (/^v0\.[0-6]\./.test(process.version)) { size = 50000; } - var html = '<body><span data-large="'; - for (var i=0; i<size; i++) { - html += '&'; - } - html += '"></span></body>'; - // this should not crash with a stack overflow! - domino.createDocument(html); -}; - -exports.createTextNodeWithNonString = function() { - var document = domino.createDocument('<html></html>'); - var tests = [ - [false, 'false'], - [NaN, 'NaN'], - [123, '123'], - [{}, '[object Object]'], - [[], ''], - [null, 'null'], - [undefined, 'undefined'], - ]; - for(var i=0; i<tests.length; i++) { - var element = document.createElement('div'); - var textNode = document.createTextNode(tests[i][0]); - element.appendChild(textNode); - element.innerHTML.should.equal(tests[i][1]); - } -}; - -exports.adoption = function() { - // See https://github.com/fgnass/domino/pull/36 - var html = "<b>X<b>Y</b>Z</b>"; - var doc = domino.createDocument(html); - doc.body.innerHTML.should.equal(html); -}; - -exports.attributeSelector = function() { - var html = '<h1>foo</h1><h2 id="x" title="y" lang="en" dir="ltr" ' + - 'accessKey="z" hidden tabIndex="2">bar</h2>'; - var doc = domino.createDocument(html); - var h1 = doc.querySelector('h1'); - h1.matches('*[id]').should.equal(false); - h1.matches('*[title]').should.equal(false); - h1.matches('*[lang]').should.equal(false); - h1.matches('*[dir]').should.equal(false); - h1.matches('*[accessKey]').should.equal(false); - h1.matches('*[hidden]').should.equal(false); - h1.matches('*[tabIndex]').should.equal(false); - - var h2 = doc.querySelector('h2'); - h2.matches('*[id]').should.equal(true); - h2.matches('*[title]').should.equal(true); - h2.matches('*[lang]').should.equal(true); - h2.matches('*[dir]').should.equal(true); - h2.matches('*[accessKey]').should.equal(true); - h2.matches('*[hidden]').should.equal(true); - h2.matches('*[tabIndex]').should.equal(true); - - h1.matches('*[matches]').should.equal(false); - h1.matches('*[querySelector]').should.equal(false); - - h1.matches('*[isHTML]').should.equal(false); -}; diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/fixture/doc.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/fixture/doc.html deleted file mode 100644 index 1174528..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/fixture/doc.html +++ /dev/null @@ -1,13 +0,0 @@ -<!DOCTYPE html> -<html> -<body> - <h1 id="lorem">Lore Ipsum</h1> - <p> - Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam quis risus eget urna mollis ornare vel eu leo. Donec <a href="https://github.com">git</a> ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue. - </p> - <p class="foo"> - Cras mattis <tt class="foo">consectetur</tt> purus sit amet fermentum. Donec ullamcorper nulla non metus auctor fringilla. Etiam porta sem malesuada magna mollis euismod. Duis mollis, est non commodo luctus, nisi erat porttitor <tt class="foo bar baz">ligula</tt>, eget lacinia odio sem nec elit. Donec ullamcorper nulla non metus auctor fringilla. Donec ullamcorper nulla non metus auctor fringilla. - </p> - <div id="tw"><div id="hello">Hello <em id="world" title="World: The Title">World</em></div><div id="foo" title="Foo: The Title">Foo, <strong id="bar">bar</strong></div></div> -</body> -</html> diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/fixture/jquery-1.9.1.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/fixture/jquery-1.9.1.js deleted file mode 100644 index 6362d0f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/fixture/jquery-1.9.1.js +++ /dev/null @@ -1,9597 +0,0 @@ -/*! - * jQuery JavaScript Library v1.9.1 - * http://jquery.com/ - * - * Includes Sizzle.js - * http://sizzlejs.com/ - * - * Copyright 2005, 2012 jQuery Foundation, Inc. and other contributors - * Released under the MIT license - * http://jquery.org/license - * - * Date: 2013-2-4 - */ -(function( window, undefined ) { - -// Can't do this because several apps including ASP.NET trace -// the stack via arguments.caller.callee and Firefox dies if -// you try to trace through "use strict" call chains. (#13335) -// Support: Firefox 18+ -//"use strict"; -var - // The deferred used on DOM ready - readyList, - - // A central reference to the root jQuery(document) - rootjQuery, - - // Support: IE<9 - // For `typeof node.method` instead of `node.method !== undefined` - core_strundefined = typeof undefined, - - // Use the correct document accordingly with window argument (sandbox) - document = window.document, - location = window.location, - - // Map over jQuery in case of overwrite - _jQuery = window.jQuery, - - // Map over the $ in case of overwrite - _$ = window.$, - - // [[Class]] -> type pairs - class2type = {}, - - // List of deleted data cache ids, so we can reuse them - core_deletedIds = [], - - core_version = "1.9.1", - - // Save a reference to some core methods - core_concat = core_deletedIds.concat, - core_push = core_deletedIds.push, - core_slice = core_deletedIds.slice, - core_indexOf = core_deletedIds.indexOf, - core_toString = class2type.toString, - core_hasOwn = class2type.hasOwnProperty, - core_trim = core_version.trim, - - // Define a local copy of jQuery - jQuery = function( selector, context ) { - // The jQuery object is actually just the init constructor 'enhanced' - return new jQuery.fn.init( selector, context, rootjQuery ); - }, - - // Used for matching numbers - core_pnum = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, - - // Used for splitting on whitespace - core_rnotwhite = /\S+/g, - - // Make sure we trim BOM and NBSP (here's looking at you, Safari 5.0 and IE) - rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, - - // A simple way to check for HTML strings - // Prioritize #id over <tag> to avoid XSS via location.hash (#9521) - // Strict HTML recognition (#11290: must start with <) - rquickExpr = /^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/, - - // Match a standalone tag - rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, - - // JSON RegExp - rvalidchars = /^[\],:{}\s]*$/, - rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g, - rvalidescape = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g, - rvalidtokens = /"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g, - - // Matches dashed string for camelizing - rmsPrefix = /^-ms-/, - rdashAlpha = /-([\da-z])/gi, - - // Used by jQuery.camelCase as callback to replace() - fcamelCase = function( all, letter ) { - return letter.toUpperCase(); - }, - - // The ready event handler - completed = function( event ) { - - // readyState === "complete" is good enough for us to call the dom ready in oldIE - if ( document.addEventListener || event.type === "load" || document.readyState === "complete" ) { - detach(); - jQuery.ready(); - } - }, - // Clean-up method for dom ready events - detach = function() { - if ( document.addEventListener ) { - document.removeEventListener( "DOMContentLoaded", completed, false ); - window.removeEventListener( "load", completed, false ); - - } else { - document.detachEvent( "onreadystatechange", completed ); - window.detachEvent( "onload", completed ); - } - }; - -jQuery.fn = jQuery.prototype = { - // The current version of jQuery being used - jquery: core_version, - - constructor: jQuery, - init: function( selector, context, rootjQuery ) { - var match, elem; - - // HANDLE: $(""), $(null), $(undefined), $(false) - if ( !selector ) { - return this; - } - - // Handle HTML strings - if ( typeof selector === "string" ) { - if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) { - // Assume that strings that start and end with <> are HTML and skip the regex check - match = [ null, selector, null ]; - - } else { - match = rquickExpr.exec( selector ); - } - - // Match html or make sure no context is specified for #id - if ( match && (match[1] || !context) ) { - - // HANDLE: $(html) -> $(array) - if ( match[1] ) { - context = context instanceof jQuery ? context[0] : context; - - // scripts is true for back-compat - jQuery.merge( this, jQuery.parseHTML( - match[1], - context && context.nodeType ? context.ownerDocument || context : document, - true - ) ); - - // HANDLE: $(html, props) - if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) { - for ( match in context ) { - // Properties of context are called as methods if possible - if ( jQuery.isFunction( this[ match ] ) ) { - this[ match ]( context[ match ] ); - - // ...and otherwise set as attributes - } else { - this.attr( match, context[ match ] ); - } - } - } - - return this; - - // HANDLE: $(#id) - } else { - elem = document.getElementById( match[2] ); - - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document #6963 - if ( elem && elem.parentNode ) { - // Handle the case where IE and Opera return items - // by name instead of ID - if ( elem.id !== match[2] ) { - return rootjQuery.find( selector ); - } - - // Otherwise, we inject the element directly into the jQuery object - this.length = 1; - this[0] = elem; - } - - this.context = document; - this.selector = selector; - return this; - } - - // HANDLE: $(expr, $(...)) - } else if ( !context || context.jquery ) { - return ( context || rootjQuery ).find( selector ); - - // HANDLE: $(expr, context) - // (which is just equivalent to: $(context).find(expr) - } else { - return this.constructor( context ).find( selector ); - } - - // HANDLE: $(DOMElement) - } else if ( selector.nodeType ) { - this.context = this[0] = selector; - this.length = 1; - return this; - - // HANDLE: $(function) - // Shortcut for document ready - } else if ( jQuery.isFunction( selector ) ) { - return rootjQuery.ready( selector ); - } - - if ( selector.selector !== undefined ) { - this.selector = selector.selector; - this.context = selector.context; - } - - return jQuery.makeArray( selector, this ); - }, - - // Start with an empty selector - selector: "", - - // The default length of a jQuery object is 0 - length: 0, - - // The number of elements contained in the matched element set - size: function() { - return this.length; - }, - - toArray: function() { - return core_slice.call( this ); - }, - - // Get the Nth element in the matched element set OR - // Get the whole matched element set as a clean array - get: function( num ) { - return num == null ? - - // Return a 'clean' array - this.toArray() : - - // Return just the object - ( num < 0 ? this[ this.length + num ] : this[ num ] ); - }, - - // Take an array of elements and push it onto the stack - // (returning the new matched element set) - pushStack: function( elems ) { - - // Build a new jQuery matched element set - var ret = jQuery.merge( this.constructor(), elems ); - - // Add the old object onto the stack (as a reference) - ret.prevObject = this; - ret.context = this.context; - - // Return the newly-formed element set - return ret; - }, - - // Execute a callback for every element in the matched set. - // (You can seed the arguments with an array of args, but this is - // only used internally.) - each: function( callback, args ) { - return jQuery.each( this, callback, args ); - }, - - ready: function( fn ) { - // Add the callback - jQuery.ready.promise().done( fn ); - - return this; - }, - - slice: function() { - return this.pushStack( core_slice.apply( this, arguments ) ); - }, - - first: function() { - return this.eq( 0 ); - }, - - last: function() { - return this.eq( -1 ); - }, - - eq: function( i ) { - var len = this.length, - j = +i + ( i < 0 ? len : 0 ); - return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] ); - }, - - map: function( callback ) { - return this.pushStack( jQuery.map(this, function( elem, i ) { - return callback.call( elem, i, elem ); - })); - }, - - end: function() { - return this.prevObject || this.constructor(null); - }, - - // For internal use only. - // Behaves like an Array's method, not like a jQuery method. - push: core_push, - sort: [].sort, - splice: [].splice -}; - -// Give the init function the jQuery prototype for later instantiation -jQuery.fn.init.prototype = jQuery.fn; - -jQuery.extend = jQuery.fn.extend = function() { - var src, copyIsArray, copy, name, options, clone, - target = arguments[0] || {}, - i = 1, - length = arguments.length, - deep = false; - - // Handle a deep copy situation - if ( typeof target === "boolean" ) { - deep = target; - target = arguments[1] || {}; - // skip the boolean and the target - i = 2; - } - - // Handle case when target is a string or something (possible in deep copy) - if ( typeof target !== "object" && !jQuery.isFunction(target) ) { - target = {}; - } - - // extend jQuery itself if only one argument is passed - if ( length === i ) { - target = this; - --i; - } - - for ( ; i < length; i++ ) { - // Only deal with non-null/undefined values - if ( (options = arguments[ i ]) != null ) { - // Extend the base object - for ( name in options ) { - src = target[ name ]; - copy = options[ name ]; - - // Prevent never-ending loop - if ( target === copy ) { - continue; - } - - // Recurse if we're merging plain objects or arrays - if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { - if ( copyIsArray ) { - copyIsArray = false; - clone = src && jQuery.isArray(src) ? src : []; - - } else { - clone = src && jQuery.isPlainObject(src) ? src : {}; - } - - // Never move original objects, clone them - target[ name ] = jQuery.extend( deep, clone, copy ); - - // Don't bring in undefined values - } else if ( copy !== undefined ) { - target[ name ] = copy; - } - } - } - } - - // Return the modified object - return target; -}; - -jQuery.extend({ - noConflict: function( deep ) { - if ( window.$ === jQuery ) { - window.$ = _$; - } - - if ( deep && window.jQuery === jQuery ) { - window.jQuery = _jQuery; - } - - return jQuery; - }, - - // Is the DOM ready to be used? Set to true once it occurs. - isReady: false, - - // A counter to track how many items to wait for before - // the ready event fires. See #6781 - readyWait: 1, - - // Hold (or release) the ready event - holdReady: function( hold ) { - if ( hold ) { - jQuery.readyWait++; - } else { - jQuery.ready( true ); - } - }, - - // Handle when the DOM is ready - ready: function( wait ) { - - // Abort if there are pending holds or we're already ready - if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { - return; - } - - // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). - if ( !document.body ) { - return setTimeout( jQuery.ready ); - } - - // Remember that the DOM is ready - jQuery.isReady = true; - - // If a normal DOM Ready event fired, decrement, and wait if need be - if ( wait !== true && --jQuery.readyWait > 0 ) { - return; - } - - // If there are functions bound, to execute - readyList.resolveWith( document, [ jQuery ] ); - - // Trigger any bound ready events - if ( jQuery.fn.trigger ) { - jQuery( document ).trigger("ready").off("ready"); - } - }, - - // See test/unit/core.js for details concerning isFunction. - // Since version 1.3, DOM methods and functions like alert - // aren't supported. They return false on IE (#2968). - isFunction: function( obj ) { - return jQuery.type(obj) === "function"; - }, - - isArray: Array.isArray || function( obj ) { - return jQuery.type(obj) === "array"; - }, - - isWindow: function( obj ) { - return obj != null && obj == obj.window; - }, - - isNumeric: function( obj ) { - return !isNaN( parseFloat(obj) ) && isFinite( obj ); - }, - - type: function( obj ) { - if ( obj == null ) { - return String( obj ); - } - return typeof obj === "object" || typeof obj === "function" ? - class2type[ core_toString.call(obj) ] || "object" : - typeof obj; - }, - - isPlainObject: function( obj ) { - // Must be an Object. - // Because of IE, we also have to check the presence of the constructor property. - // Make sure that DOM nodes and window objects don't pass through, as well - if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { - return false; - } - - try { - // Not own constructor property must be Object - if ( obj.constructor && - !core_hasOwn.call(obj, "constructor") && - !core_hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { - return false; - } - } catch ( e ) { - // IE8,9 Will throw exceptions on certain host objects #9897 - return false; - } - - // Own properties are enumerated firstly, so to speed up, - // if last one is own, then all properties are own. - - var key; - for ( key in obj ) {} - - return key === undefined || core_hasOwn.call( obj, key ); - }, - - isEmptyObject: function( obj ) { - var name; - for ( name in obj ) { - return false; - } - return true; - }, - - error: function( msg ) { - throw new Error( msg ); - }, - - // data: string of html - // context (optional): If specified, the fragment will be created in this context, defaults to document - // keepScripts (optional): If true, will include scripts passed in the html string - parseHTML: function( data, context, keepScripts ) { - if ( !data || typeof data !== "string" ) { - return null; - } - if ( typeof context === "boolean" ) { - keepScripts = context; - context = false; - } - context = context || document; - - var parsed = rsingleTag.exec( data ), - scripts = !keepScripts && []; - - // Single tag - if ( parsed ) { - return [ context.createElement( parsed[1] ) ]; - } - - parsed = jQuery.buildFragment( [ data ], context, scripts ); - if ( scripts ) { - jQuery( scripts ).remove(); - } - return jQuery.merge( [], parsed.childNodes ); - }, - - parseJSON: function( data ) { - // Attempt to parse using the native JSON parser first - if ( window.JSON && window.JSON.parse ) { - return window.JSON.parse( data ); - } - - if ( data === null ) { - return data; - } - - if ( typeof data === "string" ) { - - // Make sure leading/trailing whitespace is removed (IE can't handle it) - data = jQuery.trim( data ); - - if ( data ) { - // Make sure the incoming data is actual JSON - // Logic borrowed from http://json.org/json2.js - if ( rvalidchars.test( data.replace( rvalidescape, "@" ) - .replace( rvalidtokens, "]" ) - .replace( rvalidbraces, "")) ) { - - return ( new Function( "return " + data ) )(); - } - } - } - - jQuery.error( "Invalid JSON: " + data ); - }, - - // Cross-browser xml parsing - parseXML: function( data ) { - var xml, tmp; - if ( !data || typeof data !== "string" ) { - return null; - } - try { - if ( window.DOMParser ) { // Standard - tmp = new DOMParser(); - xml = tmp.parseFromString( data , "text/xml" ); - } else { // IE - xml = new ActiveXObject( "Microsoft.XMLDOM" ); - xml.async = "false"; - xml.loadXML( data ); - } - } catch( e ) { - xml = undefined; - } - if ( !xml || !xml.documentElement || xml.getElementsByTagName( "parsererror" ).length ) { - jQuery.error( "Invalid XML: " + data ); - } - return xml; - }, - - noop: function() {}, - - // Evaluates a script in a global context - // Workarounds based on findings by Jim Driscoll - // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context - globalEval: function( data ) { - if ( data && jQuery.trim( data ) ) { - // We use execScript on Internet Explorer - // We use an anonymous function so that context is window - // rather than jQuery in Firefox - ( window.execScript || function( data ) { - window[ "eval" ].call( window, data ); - } )( data ); - } - }, - - // Convert dashed to camelCase; used by the css and data modules - // Microsoft forgot to hump their vendor prefix (#9572) - camelCase: function( string ) { - return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); - }, - - nodeName: function( elem, name ) { - return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); - }, - - // args is for internal usage only - each: function( obj, callback, args ) { - var value, - i = 0, - length = obj.length, - isArray = isArraylike( obj ); - - if ( args ) { - if ( isArray ) { - for ( ; i < length; i++ ) { - value = callback.apply( obj[ i ], args ); - - if ( value === false ) { - break; - } - } - } else { - for ( i in obj ) { - value = callback.apply( obj[ i ], args ); - - if ( value === false ) { - break; - } - } - } - - // A special, fast, case for the most common use of each - } else { - if ( isArray ) { - for ( ; i < length; i++ ) { - value = callback.call( obj[ i ], i, obj[ i ] ); - - if ( value === false ) { - break; - } - } - } else { - for ( i in obj ) { - value = callback.call( obj[ i ], i, obj[ i ] ); - - if ( value === false ) { - break; - } - } - } - } - - return obj; - }, - - // Use native String.trim function wherever possible - trim: core_trim && !core_trim.call("\uFEFF\xA0") ? - function( text ) { - return text == null ? - "" : - core_trim.call( text ); - } : - - // Otherwise use our own trimming functionality - function( text ) { - return text == null ? - "" : - ( text + "" ).replace( rtrim, "" ); - }, - - // results is for internal usage only - makeArray: function( arr, results ) { - var ret = results || []; - - if ( arr != null ) { - if ( isArraylike( Object(arr) ) ) { - jQuery.merge( ret, - typeof arr === "string" ? - [ arr ] : arr - ); - } else { - core_push.call( ret, arr ); - } - } - - return ret; - }, - - inArray: function( elem, arr, i ) { - var len; - - if ( arr ) { - if ( core_indexOf ) { - return core_indexOf.call( arr, elem, i ); - } - - len = arr.length; - i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0; - - for ( ; i < len; i++ ) { - // Skip accessing in sparse arrays - if ( i in arr && arr[ i ] === elem ) { - return i; - } - } - } - - return -1; - }, - - merge: function( first, second ) { - var l = second.length, - i = first.length, - j = 0; - - if ( typeof l === "number" ) { - for ( ; j < l; j++ ) { - first[ i++ ] = second[ j ]; - } - } else { - while ( second[j] !== undefined ) { - first[ i++ ] = second[ j++ ]; - } - } - - first.length = i; - - return first; - }, - - grep: function( elems, callback, inv ) { - var retVal, - ret = [], - i = 0, - length = elems.length; - inv = !!inv; - - // Go through the array, only saving the items - // that pass the validator function - for ( ; i < length; i++ ) { - retVal = !!callback( elems[ i ], i ); - if ( inv !== retVal ) { - ret.push( elems[ i ] ); - } - } - - return ret; - }, - - // arg is for internal usage only - map: function( elems, callback, arg ) { - var value, - i = 0, - length = elems.length, - isArray = isArraylike( elems ), - ret = []; - - // Go through the array, translating each of the items to their - if ( isArray ) { - for ( ; i < length; i++ ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret[ ret.length ] = value; - } - } - - // Go through every key on the object, - } else { - for ( i in elems ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret[ ret.length ] = value; - } - } - } - - // Flatten any nested arrays - return core_concat.apply( [], ret ); - }, - - // A global GUID counter for objects - guid: 1, - - // Bind a function to a context, optionally partially applying any - // arguments. - proxy: function( fn, context ) { - var args, proxy, tmp; - - if ( typeof context === "string" ) { - tmp = fn[ context ]; - context = fn; - fn = tmp; - } - - // Quick check to determine if target is callable, in the spec - // this throws a TypeError, but we will just return undefined. - if ( !jQuery.isFunction( fn ) ) { - return undefined; - } - - // Simulated bind - args = core_slice.call( arguments, 2 ); - proxy = function() { - return fn.apply( context || this, args.concat( core_slice.call( arguments ) ) ); - }; - - // Set the guid of unique handler to the same of original handler, so it can be removed - proxy.guid = fn.guid = fn.guid || jQuery.guid++; - - return proxy; - }, - - // Multifunctional method to get and set values of a collection - // The value/s can optionally be executed if it's a function - access: function( elems, fn, key, value, chainable, emptyGet, raw ) { - var i = 0, - length = elems.length, - bulk = key == null; - - // Sets many values - if ( jQuery.type( key ) === "object" ) { - chainable = true; - for ( i in key ) { - jQuery.access( elems, fn, i, key[i], true, emptyGet, raw ); - } - - // Sets one value - } else if ( value !== undefined ) { - chainable = true; - - if ( !jQuery.isFunction( value ) ) { - raw = true; - } - - if ( bulk ) { - // Bulk operations run against the entire set - if ( raw ) { - fn.call( elems, value ); - fn = null; - - // ...except when executing function values - } else { - bulk = fn; - fn = function( elem, key, value ) { - return bulk.call( jQuery( elem ), value ); - }; - } - } - - if ( fn ) { - for ( ; i < length; i++ ) { - fn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) ); - } - } - } - - return chainable ? - elems : - - // Gets - bulk ? - fn.call( elems ) : - length ? fn( elems[0], key ) : emptyGet; - }, - - now: function() { - return ( new Date() ).getTime(); - } -}); - -jQuery.ready.promise = function( obj ) { - if ( !readyList ) { - - readyList = jQuery.Deferred(); - - // Catch cases where $(document).ready() is called after the browser event has already occurred. - // we once tried to use readyState "interactive" here, but it caused issues like the one - // discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15 - if ( document.readyState === "complete" ) { - // Handle it asynchronously to allow scripts the opportunity to delay ready - setTimeout( jQuery.ready ); - - // Standards-based browsers support DOMContentLoaded - } else if ( document.addEventListener ) { - // Use the handy event callback - document.addEventListener( "DOMContentLoaded", completed, false ); - - // A fallback to window.onload, that will always work - window.addEventListener( "load", completed, false ); - - // If IE event model is used - } else { - // Ensure firing before onload, maybe late but safe also for iframes - document.attachEvent( "onreadystatechange", completed ); - - // A fallback to window.onload, that will always work - window.attachEvent( "onload", completed ); - - // If IE and not a frame - // continually check to see if the document is ready - var top = false; - - try { - top = window.frameElement == null && document.documentElement; - } catch(e) {} - - if ( top && top.doScroll ) { - (function doScrollCheck() { - if ( !jQuery.isReady ) { - - try { - // Use the trick by Diego Perini - // http://javascript.nwbox.com/IEContentLoaded/ - top.doScroll("left"); - } catch(e) { - return setTimeout( doScrollCheck, 50 ); - } - - // detach all dom ready events - detach(); - - // and execute any waiting functions - jQuery.ready(); - } - })(); - } - } - } - return readyList.promise( obj ); -}; - -// Populate the class2type map -jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) { - class2type[ "[object " + name + "]" ] = name.toLowerCase(); -}); - -function isArraylike( obj ) { - var length = obj.length, - type = jQuery.type( obj ); - - if ( jQuery.isWindow( obj ) ) { - return false; - } - - if ( obj.nodeType === 1 && length ) { - return true; - } - - return type === "array" || type !== "function" && - ( length === 0 || - typeof length === "number" && length > 0 && ( length - 1 ) in obj ); -} - -// All jQuery objects should point back to these -rootjQuery = jQuery(document); -// String to Object options format cache -var optionsCache = {}; - -// Convert String-formatted options into Object-formatted ones and store in cache -function createOptions( options ) { - var object = optionsCache[ options ] = {}; - jQuery.each( options.match( core_rnotwhite ) || [], function( _, flag ) { - object[ flag ] = true; - }); - return object; -} - -/* - * Create a callback list using the following parameters: - * - * options: an optional list of space-separated options that will change how - * the callback list behaves or a more traditional option object - * - * By default a callback list will act like an event callback list and can be - * "fired" multiple times. - * - * Possible options: - * - * once: will ensure the callback list can only be fired once (like a Deferred) - * - * memory: will keep track of previous values and will call any callback added - * after the list has been fired right away with the latest "memorized" - * values (like a Deferred) - * - * unique: will ensure a callback can only be added once (no duplicate in the list) - * - * stopOnFalse: interrupt callings when a callback returns false - * - */ -jQuery.Callbacks = function( options ) { - - // Convert options from String-formatted to Object-formatted if needed - // (we check in cache first) - options = typeof options === "string" ? - ( optionsCache[ options ] || createOptions( options ) ) : - jQuery.extend( {}, options ); - - var // Flag to know if list is currently firing - firing, - // Last fire value (for non-forgettable lists) - memory, - // Flag to know if list was already fired - fired, - // End of the loop when firing - firingLength, - // Index of currently firing callback (modified by remove if needed) - firingIndex, - // First callback to fire (used internally by add and fireWith) - firingStart, - // Actual callback list - list = [], - // Stack of fire calls for repeatable lists - stack = !options.once && [], - // Fire callbacks - fire = function( data ) { - memory = options.memory && data; - fired = true; - firingIndex = firingStart || 0; - firingStart = 0; - firingLength = list.length; - firing = true; - for ( ; list && firingIndex < firingLength; firingIndex++ ) { - if ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) { - memory = false; // To prevent further calls using add - break; - } - } - firing = false; - if ( list ) { - if ( stack ) { - if ( stack.length ) { - fire( stack.shift() ); - } - } else if ( memory ) { - list = []; - } else { - self.disable(); - } - } - }, - // Actual Callbacks object - self = { - // Add a callback or a collection of callbacks to the list - add: function() { - if ( list ) { - // First, we save the current length - var start = list.length; - (function add( args ) { - jQuery.each( args, function( _, arg ) { - var type = jQuery.type( arg ); - if ( type === "function" ) { - if ( !options.unique || !self.has( arg ) ) { - list.push( arg ); - } - } else if ( arg && arg.length && type !== "string" ) { - // Inspect recursively - add( arg ); - } - }); - })( arguments ); - // Do we need to add the callbacks to the - // current firing batch? - if ( firing ) { - firingLength = list.length; - // With memory, if we're not firing then - // we should call right away - } else if ( memory ) { - firingStart = start; - fire( memory ); - } - } - return this; - }, - // Remove a callback from the list - remove: function() { - if ( list ) { - jQuery.each( arguments, function( _, arg ) { - var index; - while( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { - list.splice( index, 1 ); - // Handle firing indexes - if ( firing ) { - if ( index <= firingLength ) { - firingLength--; - } - if ( index <= firingIndex ) { - firingIndex--; - } - } - } - }); - } - return this; - }, - // Check if a given callback is in the list. - // If no argument is given, return whether or not list has callbacks attached. - has: function( fn ) { - return fn ? jQuery.inArray( fn, list ) > -1 : !!( list && list.length ); - }, - // Remove all callbacks from the list - empty: function() { - list = []; - return this; - }, - // Have the list do nothing anymore - disable: function() { - list = stack = memory = undefined; - return this; - }, - // Is it disabled? - disabled: function() { - return !list; - }, - // Lock the list in its current state - lock: function() { - stack = undefined; - if ( !memory ) { - self.disable(); - } - return this; - }, - // Is it locked? - locked: function() { - return !stack; - }, - // Call all callbacks with the given context and arguments - fireWith: function( context, args ) { - args = args || []; - args = [ context, args.slice ? args.slice() : args ]; - if ( list && ( !fired || stack ) ) { - if ( firing ) { - stack.push( args ); - } else { - fire( args ); - } - } - return this; - }, - // Call all the callbacks with the given arguments - fire: function() { - self.fireWith( this, arguments ); - return this; - }, - // To know if the callbacks have already been called at least once - fired: function() { - return !!fired; - } - }; - - return self; -}; -jQuery.extend({ - - Deferred: function( func ) { - var tuples = [ - // action, add listener, listener list, final state - [ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ], - [ "reject", "fail", jQuery.Callbacks("once memory"), "rejected" ], - [ "notify", "progress", jQuery.Callbacks("memory") ] - ], - state = "pending", - promise = { - state: function() { - return state; - }, - always: function() { - deferred.done( arguments ).fail( arguments ); - return this; - }, - then: function( /* fnDone, fnFail, fnProgress */ ) { - var fns = arguments; - return jQuery.Deferred(function( newDefer ) { - jQuery.each( tuples, function( i, tuple ) { - var action = tuple[ 0 ], - fn = jQuery.isFunction( fns[ i ] ) && fns[ i ]; - // deferred[ done | fail | progress ] for forwarding actions to newDefer - deferred[ tuple[1] ](function() { - var returned = fn && fn.apply( this, arguments ); - if ( returned && jQuery.isFunction( returned.promise ) ) { - returned.promise() - .done( newDefer.resolve ) - .fail( newDefer.reject ) - .progress( newDefer.notify ); - } else { - newDefer[ action + "With" ]( this === promise ? newDefer.promise() : this, fn ? [ returned ] : arguments ); - } - }); - }); - fns = null; - }).promise(); - }, - // Get a promise for this deferred - // If obj is provided, the promise aspect is added to the object - promise: function( obj ) { - return obj != null ? jQuery.extend( obj, promise ) : promise; - } - }, - deferred = {}; - - // Keep pipe for back-compat - promise.pipe = promise.then; - - // Add list-specific methods - jQuery.each( tuples, function( i, tuple ) { - var list = tuple[ 2 ], - stateString = tuple[ 3 ]; - - // promise[ done | fail | progress ] = list.add - promise[ tuple[1] ] = list.add; - - // Handle state - if ( stateString ) { - list.add(function() { - // state = [ resolved | rejected ] - state = stateString; - - // [ reject_list | resolve_list ].disable; progress_list.lock - }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock ); - } - - // deferred[ resolve | reject | notify ] - deferred[ tuple[0] ] = function() { - deferred[ tuple[0] + "With" ]( this === deferred ? promise : this, arguments ); - return this; - }; - deferred[ tuple[0] + "With" ] = list.fireWith; - }); - - // Make the deferred a promise - promise.promise( deferred ); - - // Call given func if any - if ( func ) { - func.call( deferred, deferred ); - } - - // All done! - return deferred; - }, - - // Deferred helper - when: function( subordinate /* , ..., subordinateN */ ) { - var i = 0, - resolveValues = core_slice.call( arguments ), - length = resolveValues.length, - - // the count of uncompleted subordinates - remaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0, - - // the master Deferred. If resolveValues consist of only a single Deferred, just use that. - deferred = remaining === 1 ? subordinate : jQuery.Deferred(), - - // Update function for both resolve and progress values - updateFunc = function( i, contexts, values ) { - return function( value ) { - contexts[ i ] = this; - values[ i ] = arguments.length > 1 ? core_slice.call( arguments ) : value; - if( values === progressValues ) { - deferred.notifyWith( contexts, values ); - } else if ( !( --remaining ) ) { - deferred.resolveWith( contexts, values ); - } - }; - }, - - progressValues, progressContexts, resolveContexts; - - // add listeners to Deferred subordinates; treat others as resolved - if ( length > 1 ) { - progressValues = new Array( length ); - progressContexts = new Array( length ); - resolveContexts = new Array( length ); - for ( ; i < length; i++ ) { - if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) { - resolveValues[ i ].promise() - .done( updateFunc( i, resolveContexts, resolveValues ) ) - .fail( deferred.reject ) - .progress( updateFunc( i, progressContexts, progressValues ) ); - } else { - --remaining; - } - } - } - - // if we're not waiting on anything, resolve the master - if ( !remaining ) { - deferred.resolveWith( resolveContexts, resolveValues ); - } - - return deferred.promise(); - } -}); -jQuery.support = (function() { - - var support, all, a, - input, select, fragment, - opt, eventName, isSupported, i, - div = document.createElement("div"); - - // Setup - div.setAttribute( "className", "t" ); - div.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>"; - - // Support tests won't run in some limited or non-browser environments - all = div.getElementsByTagName("*"); - a = div.getElementsByTagName("a")[ 0 ]; - if ( !all || !a || !all.length ) { - return {}; - } - - // First batch of tests - select = document.createElement("select"); - opt = select.appendChild( document.createElement("option") ); - input = div.getElementsByTagName("input")[ 0 ]; - - a.style.cssText = "top:1px;float:left;opacity:.5"; - support = { - // Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7) - getSetAttribute: div.className !== "t", - - // IE strips leading whitespace when .innerHTML is used - leadingWhitespace: div.firstChild.nodeType === 3, - - // Make sure that tbody elements aren't automatically inserted - // IE will insert them into empty tables - tbody: !div.getElementsByTagName("tbody").length, - - // Make sure that link elements get serialized correctly by innerHTML - // This requires a wrapper element in IE - htmlSerialize: !!div.getElementsByTagName("link").length, - - // Get the style information from getAttribute - // (IE uses .cssText instead) - style: /top/.test( a.getAttribute("style") ), - - // Make sure that URLs aren't manipulated - // (IE normalizes it by default) - hrefNormalized: a.getAttribute("href") === "/a", - - // Make sure that element opacity exists - // (IE uses filter instead) - // Use a regex to work around a WebKit issue. See #5145 - opacity: /^0.5/.test( a.style.opacity ), - - // Verify style float existence - // (IE uses styleFloat instead of cssFloat) - cssFloat: !!a.style.cssFloat, - - // Check the default checkbox/radio value ("" on WebKit; "on" elsewhere) - checkOn: !!input.value, - - // Make sure that a selected-by-default option has a working selected property. - // (WebKit defaults to false instead of true, IE too, if it's in an optgroup) - optSelected: opt.selected, - - // Tests for enctype support on a form (#6743) - enctype: !!document.createElement("form").enctype, - - // Makes sure cloning an html5 element does not cause problems - // Where outerHTML is undefined, this still works - html5Clone: document.createElement("nav").cloneNode( true ).outerHTML !== "<:nav></:nav>", - - // jQuery.support.boxModel DEPRECATED in 1.8 since we don't support Quirks Mode - boxModel: document.compatMode === "CSS1Compat", - - // Will be defined later - deleteExpando: true, - noCloneEvent: true, - inlineBlockNeedsLayout: false, - shrinkWrapBlocks: false, - reliableMarginRight: true, - boxSizingReliable: true, - pixelPosition: false - }; - - // Make sure checked status is properly cloned - input.checked = true; - support.noCloneChecked = input.cloneNode( true ).checked; - - // Make sure that the options inside disabled selects aren't marked as disabled - // (WebKit marks them as disabled) - select.disabled = true; - support.optDisabled = !opt.disabled; - - // Support: IE<9 - try { - delete div.test; - } catch( e ) { - support.deleteExpando = false; - } - - // Check if we can trust getAttribute("value") - input = document.createElement("input"); - input.setAttribute( "value", "" ); - support.input = input.getAttribute( "value" ) === ""; - - // Check if an input maintains its value after becoming a radio - input.value = "t"; - input.setAttribute( "type", "radio" ); - support.radioValue = input.value === "t"; - - // #11217 - WebKit loses check when the name is after the checked attribute - input.setAttribute( "checked", "t" ); - input.setAttribute( "name", "t" ); - - fragment = document.createDocumentFragment(); - fragment.appendChild( input ); - - // Check if a disconnected checkbox will retain its checked - // value of true after appended to the DOM (IE6/7) - support.appendChecked = input.checked; - - // WebKit doesn't clone checked state correctly in fragments - support.checkClone = fragment.cloneNode( true ).cloneNode( true ).lastChild.checked; - - // Support: IE<9 - // Opera does not clone events (and typeof div.attachEvent === undefined). - // IE9-10 clones events bound via attachEvent, but they don't trigger with .click() - if ( div.attachEvent ) { - div.attachEvent( "onclick", function() { - support.noCloneEvent = false; - }); - - div.cloneNode( true ).click(); - } - - // Support: IE<9 (lack submit/change bubble), Firefox 17+ (lack focusin event) - // Beware of CSP restrictions (https://developer.mozilla.org/en/Security/CSP), test/csp.php - for ( i in { submit: true, change: true, focusin: true }) { - div.setAttribute( eventName = "on" + i, "t" ); - - support[ i + "Bubbles" ] = eventName in window || div.attributes[ eventName ].expando === false; - } - - div.style.backgroundClip = "content-box"; - div.cloneNode( true ).style.backgroundClip = ""; - support.clearCloneStyle = div.style.backgroundClip === "content-box"; - - // Run tests that need a body at doc ready - jQuery(function() { - var container, marginDiv, tds, - divReset = "padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;", - body = document.getElementsByTagName("body")[0]; - - if ( !body ) { - // Return for frameset docs that don't have a body - return; - } - - container = document.createElement("div"); - container.style.cssText = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px"; - - body.appendChild( container ).appendChild( div ); - - // Support: IE8 - // Check if table cells still have offsetWidth/Height when they are set - // to display:none and there are still other visible table cells in a - // table row; if so, offsetWidth/Height are not reliable for use when - // determining if an element has been hidden directly using - // display:none (it is still safe to use offsets if a parent element is - // hidden; don safety goggles and see bug #4512 for more information). - div.innerHTML = "<table><tr><td></td><td>t</td></tr></table>"; - tds = div.getElementsByTagName("td"); - tds[ 0 ].style.cssText = "padding:0;margin:0;border:0;display:none"; - isSupported = ( tds[ 0 ].offsetHeight === 0 ); - - tds[ 0 ].style.display = ""; - tds[ 1 ].style.display = "none"; - - // Support: IE8 - // Check if empty table cells still have offsetWidth/Height - support.reliableHiddenOffsets = isSupported && ( tds[ 0 ].offsetHeight === 0 ); - - // Check box-sizing and margin behavior - div.innerHTML = ""; - div.style.cssText = "box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;"; - support.boxSizing = ( div.offsetWidth === 4 ); - support.doesNotIncludeMarginInBodyOffset = ( body.offsetTop !== 1 ); - - // Use window.getComputedStyle because jsdom on node.js will break without it. - if ( window.getComputedStyle ) { - support.pixelPosition = ( window.getComputedStyle( div, null ) || {} ).top !== "1%"; - support.boxSizingReliable = ( window.getComputedStyle( div, null ) || { width: "4px" } ).width === "4px"; - - // Check if div with explicit width and no margin-right incorrectly - // gets computed margin-right based on width of container. (#3333) - // Fails in WebKit before Feb 2011 nightlies - // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right - marginDiv = div.appendChild( document.createElement("div") ); - marginDiv.style.cssText = div.style.cssText = divReset; - marginDiv.style.marginRight = marginDiv.style.width = "0"; - div.style.width = "1px"; - - support.reliableMarginRight = - !parseFloat( ( window.getComputedStyle( marginDiv, null ) || {} ).marginRight ); - } - - if ( typeof div.style.zoom !== core_strundefined ) { - // Support: IE<8 - // Check if natively block-level elements act like inline-block - // elements when setting their display to 'inline' and giving - // them layout - div.innerHTML = ""; - div.style.cssText = divReset + "width:1px;padding:1px;display:inline;zoom:1"; - support.inlineBlockNeedsLayout = ( div.offsetWidth === 3 ); - - // Support: IE6 - // Check if elements with layout shrink-wrap their children - div.style.display = "block"; - div.innerHTML = "<div></div>"; - div.firstChild.style.width = "5px"; - support.shrinkWrapBlocks = ( div.offsetWidth !== 3 ); - - if ( support.inlineBlockNeedsLayout ) { - // Prevent IE 6 from affecting layout for positioned elements #11048 - // Prevent IE from shrinking the body in IE 7 mode #12869 - // Support: IE<8 - body.style.zoom = 1; - } - } - - body.removeChild( container ); - - // Null elements to avoid leaks in IE - container = div = tds = marginDiv = null; - }); - - // Null elements to avoid leaks in IE - all = select = fragment = opt = a = input = null; - - return support; -})(); - -var rbrace = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/, - rmultiDash = /([A-Z])/g; - -function internalData( elem, name, data, pvt /* Internal Use Only */ ){ - if ( !jQuery.acceptData( elem ) ) { - return; - } - - var thisCache, ret, - internalKey = jQuery.expando, - getByName = typeof name === "string", - - // We have to handle DOM nodes and JS objects differently because IE6-7 - // can't GC object references properly across the DOM-JS boundary - isNode = elem.nodeType, - - // Only DOM nodes need the global jQuery cache; JS object data is - // attached directly to the object so GC can occur automatically - cache = isNode ? jQuery.cache : elem, - - // Only defining an ID for JS objects if its cache already exists allows - // the code to shortcut on the same path as a DOM node with no cache - id = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey; - - // Avoid doing any more work than we need to when trying to get data on an - // object that has no data at all - if ( (!id || !cache[id] || (!pvt && !cache[id].data)) && getByName && data === undefined ) { - return; - } - - if ( !id ) { - // Only DOM nodes need a new unique ID for each element since their data - // ends up in the global cache - if ( isNode ) { - elem[ internalKey ] = id = core_deletedIds.pop() || jQuery.guid++; - } else { - id = internalKey; - } - } - - if ( !cache[ id ] ) { - cache[ id ] = {}; - - // Avoids exposing jQuery metadata on plain JS objects when the object - // is serialized using JSON.stringify - if ( !isNode ) { - cache[ id ].toJSON = jQuery.noop; - } - } - - // An object can be passed to jQuery.data instead of a key/value pair; this gets - // shallow copied over onto the existing cache - if ( typeof name === "object" || typeof name === "function" ) { - if ( pvt ) { - cache[ id ] = jQuery.extend( cache[ id ], name ); - } else { - cache[ id ].data = jQuery.extend( cache[ id ].data, name ); - } - } - - thisCache = cache[ id ]; - - // jQuery data() is stored in a separate object inside the object's internal data - // cache in order to avoid key collisions between internal data and user-defined - // data. - if ( !pvt ) { - if ( !thisCache.data ) { - thisCache.data = {}; - } - - thisCache = thisCache.data; - } - - if ( data !== undefined ) { - thisCache[ jQuery.camelCase( name ) ] = data; - } - - // Check for both converted-to-camel and non-converted data property names - // If a data property was specified - if ( getByName ) { - - // First Try to find as-is property data - ret = thisCache[ name ]; - - // Test for null|undefined property data - if ( ret == null ) { - - // Try to find the camelCased property - ret = thisCache[ jQuery.camelCase( name ) ]; - } - } else { - ret = thisCache; - } - - return ret; -} - -function internalRemoveData( elem, name, pvt ) { - if ( !jQuery.acceptData( elem ) ) { - return; - } - - var i, l, thisCache, - isNode = elem.nodeType, - - // See jQuery.data for more information - cache = isNode ? jQuery.cache : elem, - id = isNode ? elem[ jQuery.expando ] : jQuery.expando; - - // If there is already no cache entry for this object, there is no - // purpose in continuing - if ( !cache[ id ] ) { - return; - } - - if ( name ) { - - thisCache = pvt ? cache[ id ] : cache[ id ].data; - - if ( thisCache ) { - - // Support array or space separated string names for data keys - if ( !jQuery.isArray( name ) ) { - - // try the string as a key before any manipulation - if ( name in thisCache ) { - name = [ name ]; - } else { - - // split the camel cased version by spaces unless a key with the spaces exists - name = jQuery.camelCase( name ); - if ( name in thisCache ) { - name = [ name ]; - } else { - name = name.split(" "); - } - } - } else { - // If "name" is an array of keys... - // When data is initially created, via ("key", "val") signature, - // keys will be converted to camelCase. - // Since there is no way to tell _how_ a key was added, remove - // both plain key and camelCase key. #12786 - // This will only penalize the array argument path. - name = name.concat( jQuery.map( name, jQuery.camelCase ) ); - } - - for ( i = 0, l = name.length; i < l; i++ ) { - delete thisCache[ name[i] ]; - } - - // If there is no data left in the cache, we want to continue - // and let the cache object itself get destroyed - if ( !( pvt ? isEmptyDataObject : jQuery.isEmptyObject )( thisCache ) ) { - return; - } - } - } - - // See jQuery.data for more information - if ( !pvt ) { - delete cache[ id ].data; - - // Don't destroy the parent cache unless the internal data object - // had been the only thing left in it - if ( !isEmptyDataObject( cache[ id ] ) ) { - return; - } - } - - // Destroy the cache - if ( isNode ) { - jQuery.cleanData( [ elem ], true ); - - // Use delete when supported for expandos or `cache` is not a window per isWindow (#10080) - } else if ( jQuery.support.deleteExpando || cache != cache.window ) { - delete cache[ id ]; - - // When all else fails, null - } else { - cache[ id ] = null; - } -} - -jQuery.extend({ - cache: {}, - - // Unique for each copy of jQuery on the page - // Non-digits removed to match rinlinejQuery - expando: "jQuery" + ( core_version + Math.random() ).replace( /\D/g, "" ), - - // The following elements throw uncatchable exceptions if you - // attempt to add expando properties to them. - noData: { - "embed": true, - // Ban all objects except for Flash (which handle expandos) - "object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", - "applet": true - }, - - hasData: function( elem ) { - elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ]; - return !!elem && !isEmptyDataObject( elem ); - }, - - data: function( elem, name, data ) { - return internalData( elem, name, data ); - }, - - removeData: function( elem, name ) { - return internalRemoveData( elem, name ); - }, - - // For internal use only. - _data: function( elem, name, data ) { - return internalData( elem, name, data, true ); - }, - - _removeData: function( elem, name ) { - return internalRemoveData( elem, name, true ); - }, - - // A method for determining if a DOM node can handle the data expando - acceptData: function( elem ) { - // Do not set data on non-element because it will not be cleared (#8335). - if ( elem.nodeType && elem.nodeType !== 1 && elem.nodeType !== 9 ) { - return false; - } - - var noData = elem.nodeName && jQuery.noData[ elem.nodeName.toLowerCase() ]; - - // nodes accept data unless otherwise specified; rejection can be conditional - return !noData || noData !== true && elem.getAttribute("classid") === noData; - } -}); - -jQuery.fn.extend({ - data: function( key, value ) { - var attrs, name, - elem = this[0], - i = 0, - data = null; - - // Gets all values - if ( key === undefined ) { - if ( this.length ) { - data = jQuery.data( elem ); - - if ( elem.nodeType === 1 && !jQuery._data( elem, "parsedAttrs" ) ) { - attrs = elem.attributes; - for ( ; i < attrs.length; i++ ) { - name = attrs[i].name; - - if ( !name.indexOf( "data-" ) ) { - name = jQuery.camelCase( name.slice(5) ); - - dataAttr( elem, name, data[ name ] ); - } - } - jQuery._data( elem, "parsedAttrs", true ); - } - } - - return data; - } - - // Sets multiple values - if ( typeof key === "object" ) { - return this.each(function() { - jQuery.data( this, key ); - }); - } - - return jQuery.access( this, function( value ) { - - if ( value === undefined ) { - // Try to fetch any internally stored data first - return elem ? dataAttr( elem, key, jQuery.data( elem, key ) ) : null; - } - - this.each(function() { - jQuery.data( this, key, value ); - }); - }, null, value, arguments.length > 1, null, true ); - }, - - removeData: function( key ) { - return this.each(function() { - jQuery.removeData( this, key ); - }); - } -}); - -function dataAttr( elem, key, data ) { - // If nothing was found internally, try to fetch any - // data from the HTML5 data-* attribute - if ( data === undefined && elem.nodeType === 1 ) { - - var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase(); - - data = elem.getAttribute( name ); - - if ( typeof data === "string" ) { - try { - data = data === "true" ? true : - data === "false" ? false : - data === "null" ? null : - // Only convert to a number if it doesn't change the string - +data + "" === data ? +data : - rbrace.test( data ) ? jQuery.parseJSON( data ) : - data; - } catch( e ) {} - - // Make sure we set the data so it isn't changed later - jQuery.data( elem, key, data ); - - } else { - data = undefined; - } - } - - return data; -} - -// checks a cache object for emptiness -function isEmptyDataObject( obj ) { - var name; - for ( name in obj ) { - - // if the public data object is empty, the private is still empty - if ( name === "data" && jQuery.isEmptyObject( obj[name] ) ) { - continue; - } - if ( name !== "toJSON" ) { - return false; - } - } - - return true; -} -jQuery.extend({ - queue: function( elem, type, data ) { - var queue; - - if ( elem ) { - type = ( type || "fx" ) + "queue"; - queue = jQuery._data( elem, type ); - - // Speed up dequeue by getting out quickly if this is just a lookup - if ( data ) { - if ( !queue || jQuery.isArray(data) ) { - queue = jQuery._data( elem, type, jQuery.makeArray(data) ); - } else { - queue.push( data ); - } - } - return queue || []; - } - }, - - dequeue: function( elem, type ) { - type = type || "fx"; - - var queue = jQuery.queue( elem, type ), - startLength = queue.length, - fn = queue.shift(), - hooks = jQuery._queueHooks( elem, type ), - next = function() { - jQuery.dequeue( elem, type ); - }; - - // If the fx queue is dequeued, always remove the progress sentinel - if ( fn === "inprogress" ) { - fn = queue.shift(); - startLength--; - } - - hooks.cur = fn; - if ( fn ) { - - // Add a progress sentinel to prevent the fx queue from being - // automatically dequeued - if ( type === "fx" ) { - queue.unshift( "inprogress" ); - } - - // clear up the last queue stop function - delete hooks.stop; - fn.call( elem, next, hooks ); - } - - if ( !startLength && hooks ) { - hooks.empty.fire(); - } - }, - - // not intended for public consumption - generates a queueHooks object, or returns the current one - _queueHooks: function( elem, type ) { - var key = type + "queueHooks"; - return jQuery._data( elem, key ) || jQuery._data( elem, key, { - empty: jQuery.Callbacks("once memory").add(function() { - jQuery._removeData( elem, type + "queue" ); - jQuery._removeData( elem, key ); - }) - }); - } -}); - -jQuery.fn.extend({ - queue: function( type, data ) { - var setter = 2; - - if ( typeof type !== "string" ) { - data = type; - type = "fx"; - setter--; - } - - if ( arguments.length < setter ) { - return jQuery.queue( this[0], type ); - } - - return data === undefined ? - this : - this.each(function() { - var queue = jQuery.queue( this, type, data ); - - // ensure a hooks for this queue - jQuery._queueHooks( this, type ); - - if ( type === "fx" && queue[0] !== "inprogress" ) { - jQuery.dequeue( this, type ); - } - }); - }, - dequeue: function( type ) { - return this.each(function() { - jQuery.dequeue( this, type ); - }); - }, - // Based off of the plugin by Clint Helfers, with permission. - // http://blindsignals.com/index.php/2009/07/jquery-delay/ - delay: function( time, type ) { - time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; - type = type || "fx"; - - return this.queue( type, function( next, hooks ) { - var timeout = setTimeout( next, time ); - hooks.stop = function() { - clearTimeout( timeout ); - }; - }); - }, - clearQueue: function( type ) { - return this.queue( type || "fx", [] ); - }, - // Get a promise resolved when queues of a certain type - // are emptied (fx is the type by default) - promise: function( type, obj ) { - var tmp, - count = 1, - defer = jQuery.Deferred(), - elements = this, - i = this.length, - resolve = function() { - if ( !( --count ) ) { - defer.resolveWith( elements, [ elements ] ); - } - }; - - if ( typeof type !== "string" ) { - obj = type; - type = undefined; - } - type = type || "fx"; - - while( i-- ) { - tmp = jQuery._data( elements[ i ], type + "queueHooks" ); - if ( tmp && tmp.empty ) { - count++; - tmp.empty.add( resolve ); - } - } - resolve(); - return defer.promise( obj ); - } -}); -var nodeHook, boolHook, - rclass = /[\t\r\n]/g, - rreturn = /\r/g, - rfocusable = /^(?:input|select|textarea|button|object)$/i, - rclickable = /^(?:a|area)$/i, - rboolean = /^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i, - ruseDefault = /^(?:checked|selected)$/i, - getSetAttribute = jQuery.support.getSetAttribute, - getSetInput = jQuery.support.input; - -jQuery.fn.extend({ - attr: function( name, value ) { - return jQuery.access( this, jQuery.attr, name, value, arguments.length > 1 ); - }, - - removeAttr: function( name ) { - return this.each(function() { - jQuery.removeAttr( this, name ); - }); - }, - - prop: function( name, value ) { - return jQuery.access( this, jQuery.prop, name, value, arguments.length > 1 ); - }, - - removeProp: function( name ) { - name = jQuery.propFix[ name ] || name; - return this.each(function() { - // try/catch handles cases where IE balks (such as removing a property on window) - try { - this[ name ] = undefined; - delete this[ name ]; - } catch( e ) {} - }); - }, - - addClass: function( value ) { - var classes, elem, cur, clazz, j, - i = 0, - len = this.length, - proceed = typeof value === "string" && value; - - if ( jQuery.isFunction( value ) ) { - return this.each(function( j ) { - jQuery( this ).addClass( value.call( this, j, this.className ) ); - }); - } - - if ( proceed ) { - // The disjunction here is for better compressibility (see removeClass) - classes = ( value || "" ).match( core_rnotwhite ) || []; - - for ( ; i < len; i++ ) { - elem = this[ i ]; - cur = elem.nodeType === 1 && ( elem.className ? - ( " " + elem.className + " " ).replace( rclass, " " ) : - " " - ); - - if ( cur ) { - j = 0; - while ( (clazz = classes[j++]) ) { - if ( cur.indexOf( " " + clazz + " " ) < 0 ) { - cur += clazz + " "; - } - } - elem.className = jQuery.trim( cur ); - - } - } - } - - return this; - }, - - removeClass: function( value ) { - var classes, elem, cur, clazz, j, - i = 0, - len = this.length, - proceed = arguments.length === 0 || typeof value === "string" && value; - - if ( jQuery.isFunction( value ) ) { - return this.each(function( j ) { - jQuery( this ).removeClass( value.call( this, j, this.className ) ); - }); - } - if ( proceed ) { - classes = ( value || "" ).match( core_rnotwhite ) || []; - - for ( ; i < len; i++ ) { - elem = this[ i ]; - // This expression is here for better compressibility (see addClass) - cur = elem.nodeType === 1 && ( elem.className ? - ( " " + elem.className + " " ).replace( rclass, " " ) : - "" - ); - - if ( cur ) { - j = 0; - while ( (clazz = classes[j++]) ) { - // Remove *all* instances - while ( cur.indexOf( " " + clazz + " " ) >= 0 ) { - cur = cur.replace( " " + clazz + " ", " " ); - } - } - elem.className = value ? jQuery.trim( cur ) : ""; - } - } - } - - return this; - }, - - toggleClass: function( value, stateVal ) { - var type = typeof value, - isBool = typeof stateVal === "boolean"; - - if ( jQuery.isFunction( value ) ) { - return this.each(function( i ) { - jQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal ); - }); - } - - return this.each(function() { - if ( type === "string" ) { - // toggle individual class names - var className, - i = 0, - self = jQuery( this ), - state = stateVal, - classNames = value.match( core_rnotwhite ) || []; - - while ( (className = classNames[ i++ ]) ) { - // check each className given, space separated list - state = isBool ? state : !self.hasClass( className ); - self[ state ? "addClass" : "removeClass" ]( className ); - } - - // Toggle whole class name - } else if ( type === core_strundefined || type === "boolean" ) { - if ( this.className ) { - // store className if set - jQuery._data( this, "__className__", this.className ); - } - - // If the element has a class name or if we're passed "false", - // then remove the whole classname (if there was one, the above saved it). - // Otherwise bring back whatever was previously saved (if anything), - // falling back to the empty string if nothing was stored. - this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || ""; - } - }); - }, - - hasClass: function( selector ) { - var className = " " + selector + " ", - i = 0, - l = this.length; - for ( ; i < l; i++ ) { - if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) >= 0 ) { - return true; - } - } - - return false; - }, - - val: function( value ) { - var ret, hooks, isFunction, - elem = this[0]; - - if ( !arguments.length ) { - if ( elem ) { - hooks = jQuery.valHooks[ elem.type ] || jQuery.valHooks[ elem.nodeName.toLowerCase() ]; - - if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) { - return ret; - } - - ret = elem.value; - - return typeof ret === "string" ? - // handle most common string cases - ret.replace(rreturn, "") : - // handle cases where value is null/undef or number - ret == null ? "" : ret; - } - - return; - } - - isFunction = jQuery.isFunction( value ); - - return this.each(function( i ) { - var val, - self = jQuery(this); - - if ( this.nodeType !== 1 ) { - return; - } - - if ( isFunction ) { - val = value.call( this, i, self.val() ); - } else { - val = value; - } - - // Treat null/undefined as ""; convert numbers to string - if ( val == null ) { - val = ""; - } else if ( typeof val === "number" ) { - val += ""; - } else if ( jQuery.isArray( val ) ) { - val = jQuery.map(val, function ( value ) { - return value == null ? "" : value + ""; - }); - } - - hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; - - // If set returns undefined, fall back to normal setting - if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) { - this.value = val; - } - }); - } -}); - -jQuery.extend({ - valHooks: { - option: { - get: function( elem ) { - // attributes.value is undefined in Blackberry 4.7 but - // uses .value. See #6932 - var val = elem.attributes.value; - return !val || val.specified ? elem.value : elem.text; - } - }, - select: { - get: function( elem ) { - var value, option, - options = elem.options, - index = elem.selectedIndex, - one = elem.type === "select-one" || index < 0, - values = one ? null : [], - max = one ? index + 1 : options.length, - i = index < 0 ? - max : - one ? index : 0; - - // Loop through all the selected options - for ( ; i < max; i++ ) { - option = options[ i ]; - - // oldIE doesn't update selected after form reset (#2551) - if ( ( option.selected || i === index ) && - // Don't return options that are disabled or in a disabled optgroup - ( jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null ) && - ( !option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) { - - // Get the specific value for the option - value = jQuery( option ).val(); - - // We don't need an array for one selects - if ( one ) { - return value; - } - - // Multi-Selects return an array - values.push( value ); - } - } - - return values; - }, - - set: function( elem, value ) { - var values = jQuery.makeArray( value ); - - jQuery(elem).find("option").each(function() { - this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0; - }); - - if ( !values.length ) { - elem.selectedIndex = -1; - } - return values; - } - } - }, - - attr: function( elem, name, value ) { - var hooks, notxml, ret, - nType = elem.nodeType; - - // don't get/set attributes on text, comment and attribute nodes - if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { - return; - } - - // Fallback to prop when attributes are not supported - if ( typeof elem.getAttribute === core_strundefined ) { - return jQuery.prop( elem, name, value ); - } - - notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); - - // All attributes are lowercase - // Grab necessary hook if one is defined - if ( notxml ) { - name = name.toLowerCase(); - hooks = jQuery.attrHooks[ name ] || ( rboolean.test( name ) ? boolHook : nodeHook ); - } - - if ( value !== undefined ) { - - if ( value === null ) { - jQuery.removeAttr( elem, name ); - - } else if ( hooks && notxml && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) { - return ret; - - } else { - elem.setAttribute( name, value + "" ); - return value; - } - - } else if ( hooks && notxml && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) { - return ret; - - } else { - - // In IE9+, Flash objects don't have .getAttribute (#12945) - // Support: IE9+ - if ( typeof elem.getAttribute !== core_strundefined ) { - ret = elem.getAttribute( name ); - } - - // Non-existent attributes return null, we normalize to undefined - return ret == null ? - undefined : - ret; - } - }, - - removeAttr: function( elem, value ) { - var name, propName, - i = 0, - attrNames = value && value.match( core_rnotwhite ); - - if ( attrNames && elem.nodeType === 1 ) { - while ( (name = attrNames[i++]) ) { - propName = jQuery.propFix[ name ] || name; - - // Boolean attributes get special treatment (#10870) - if ( rboolean.test( name ) ) { - // Set corresponding property to false for boolean attributes - // Also clear defaultChecked/defaultSelected (if appropriate) for IE<8 - if ( !getSetAttribute && ruseDefault.test( name ) ) { - elem[ jQuery.camelCase( "default-" + name ) ] = - elem[ propName ] = false; - } else { - elem[ propName ] = false; - } - - // See #9699 for explanation of this approach (setting first, then removal) - } else { - jQuery.attr( elem, name, "" ); - } - - elem.removeAttribute( getSetAttribute ? name : propName ); - } - } - }, - - attrHooks: { - type: { - set: function( elem, value ) { - if ( !jQuery.support.radioValue && value === "radio" && jQuery.nodeName(elem, "input") ) { - // Setting the type on a radio button after the value resets the value in IE6-9 - // Reset value to default in case type is set after value during creation - var val = elem.value; - elem.setAttribute( "type", value ); - if ( val ) { - elem.value = val; - } - return value; - } - } - } - }, - - propFix: { - tabindex: "tabIndex", - readonly: "readOnly", - "for": "htmlFor", - "class": "className", - maxlength: "maxLength", - cellspacing: "cellSpacing", - cellpadding: "cellPadding", - rowspan: "rowSpan", - colspan: "colSpan", - usemap: "useMap", - frameborder: "frameBorder", - contenteditable: "contentEditable" - }, - - prop: function( elem, name, value ) { - var ret, hooks, notxml, - nType = elem.nodeType; - - // don't get/set properties on text, comment and attribute nodes - if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { - return; - } - - notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); - - if ( notxml ) { - // Fix name and attach hooks - name = jQuery.propFix[ name ] || name; - hooks = jQuery.propHooks[ name ]; - } - - if ( value !== undefined ) { - if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) { - return ret; - - } else { - return ( elem[ name ] = value ); - } - - } else { - if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) { - return ret; - - } else { - return elem[ name ]; - } - } - }, - - propHooks: { - tabIndex: { - get: function( elem ) { - // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set - // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ - var attributeNode = elem.getAttributeNode("tabindex"); - - return attributeNode && attributeNode.specified ? - parseInt( attributeNode.value, 10 ) : - rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ? - 0 : - undefined; - } - } - } -}); - -// Hook for boolean attributes -boolHook = { - get: function( elem, name ) { - var - // Use .prop to determine if this attribute is understood as boolean - prop = jQuery.prop( elem, name ), - - // Fetch it accordingly - attr = typeof prop === "boolean" && elem.getAttribute( name ), - detail = typeof prop === "boolean" ? - - getSetInput && getSetAttribute ? - attr != null : - // oldIE fabricates an empty string for missing boolean attributes - // and conflates checked/selected into attroperties - ruseDefault.test( name ) ? - elem[ jQuery.camelCase( "default-" + name ) ] : - !!attr : - - // fetch an attribute node for properties not recognized as boolean - elem.getAttributeNode( name ); - - return detail && detail.value !== false ? - name.toLowerCase() : - undefined; - }, - set: function( elem, value, name ) { - if ( value === false ) { - // Remove boolean attributes when set to false - jQuery.removeAttr( elem, name ); - } else if ( getSetInput && getSetAttribute || !ruseDefault.test( name ) ) { - // IE<8 needs the *property* name - elem.setAttribute( !getSetAttribute && jQuery.propFix[ name ] || name, name ); - - // Use defaultChecked and defaultSelected for oldIE - } else { - elem[ jQuery.camelCase( "default-" + name ) ] = elem[ name ] = true; - } - - return name; - } -}; - -// fix oldIE value attroperty -if ( !getSetInput || !getSetAttribute ) { - jQuery.attrHooks.value = { - get: function( elem, name ) { - var ret = elem.getAttributeNode( name ); - return jQuery.nodeName( elem, "input" ) ? - - // Ignore the value *property* by using defaultValue - elem.defaultValue : - - ret && ret.specified ? ret.value : undefined; - }, - set: function( elem, value, name ) { - if ( jQuery.nodeName( elem, "input" ) ) { - // Does not return so that setAttribute is also used - elem.defaultValue = value; - } else { - // Use nodeHook if defined (#1954); otherwise setAttribute is fine - return nodeHook && nodeHook.set( elem, value, name ); - } - } - }; -} - -// IE6/7 do not support getting/setting some attributes with get/setAttribute -if ( !getSetAttribute ) { - - // Use this for any attribute in IE6/7 - // This fixes almost every IE6/7 issue - nodeHook = jQuery.valHooks.button = { - get: function( elem, name ) { - var ret = elem.getAttributeNode( name ); - return ret && ( name === "id" || name === "name" || name === "coords" ? ret.value !== "" : ret.specified ) ? - ret.value : - undefined; - }, - set: function( elem, value, name ) { - // Set the existing or create a new attribute node - var ret = elem.getAttributeNode( name ); - if ( !ret ) { - elem.setAttributeNode( - (ret = elem.ownerDocument.createAttribute( name )) - ); - } - - ret.value = value += ""; - - // Break association with cloned elements by also using setAttribute (#9646) - return name === "value" || value === elem.getAttribute( name ) ? - value : - undefined; - } - }; - - // Set contenteditable to false on removals(#10429) - // Setting to empty string throws an error as an invalid value - jQuery.attrHooks.contenteditable = { - get: nodeHook.get, - set: function( elem, value, name ) { - nodeHook.set( elem, value === "" ? false : value, name ); - } - }; - - // Set width and height to auto instead of 0 on empty string( Bug #8150 ) - // This is for removals - jQuery.each([ "width", "height" ], function( i, name ) { - jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], { - set: function( elem, value ) { - if ( value === "" ) { - elem.setAttribute( name, "auto" ); - return value; - } - } - }); - }); -} - - -// Some attributes require a special call on IE -// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx -if ( !jQuery.support.hrefNormalized ) { - jQuery.each([ "href", "src", "width", "height" ], function( i, name ) { - jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], { - get: function( elem ) { - var ret = elem.getAttribute( name, 2 ); - return ret == null ? undefined : ret; - } - }); - }); - - // href/src property should get the full normalized URL (#10299/#12915) - jQuery.each([ "href", "src" ], function( i, name ) { - jQuery.propHooks[ name ] = { - get: function( elem ) { - return elem.getAttribute( name, 4 ); - } - }; - }); -} - -if ( !jQuery.support.style ) { - jQuery.attrHooks.style = { - get: function( elem ) { - // Return undefined in the case of empty string - // Note: IE uppercases css property names, but if we were to .toLowerCase() - // .cssText, that would destroy case senstitivity in URL's, like in "background" - return elem.style.cssText || undefined; - }, - set: function( elem, value ) { - return ( elem.style.cssText = value + "" ); - } - }; -} - -// Safari mis-reports the default selected property of an option -// Accessing the parent's selectedIndex property fixes it -if ( !jQuery.support.optSelected ) { - jQuery.propHooks.selected = jQuery.extend( jQuery.propHooks.selected, { - get: function( elem ) { - var parent = elem.parentNode; - - if ( parent ) { - parent.selectedIndex; - - // Make sure that it also works with optgroups, see #5701 - if ( parent.parentNode ) { - parent.parentNode.selectedIndex; - } - } - return null; - } - }); -} - -// IE6/7 call enctype encoding -if ( !jQuery.support.enctype ) { - jQuery.propFix.enctype = "encoding"; -} - -// Radios and checkboxes getter/setter -if ( !jQuery.support.checkOn ) { - jQuery.each([ "radio", "checkbox" ], function() { - jQuery.valHooks[ this ] = { - get: function( elem ) { - // Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified - return elem.getAttribute("value") === null ? "on" : elem.value; - } - }; - }); -} -jQuery.each([ "radio", "checkbox" ], function() { - jQuery.valHooks[ this ] = jQuery.extend( jQuery.valHooks[ this ], { - set: function( elem, value ) { - if ( jQuery.isArray( value ) ) { - return ( elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0 ); - } - } - }); -}); -var rformElems = /^(?:input|select|textarea)$/i, - rkeyEvent = /^key/, - rmouseEvent = /^(?:mouse|contextmenu)|click/, - rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, - rtypenamespace = /^([^.]*)(?:\.(.+)|)$/; - -function returnTrue() { - return true; -} - -function returnFalse() { - return false; -} - -/* - * Helper functions for managing events -- not part of the public interface. - * Props to Dean Edwards' addEvent library for many of the ideas. - */ -jQuery.event = { - - global: {}, - - add: function( elem, types, handler, data, selector ) { - var tmp, events, t, handleObjIn, - special, eventHandle, handleObj, - handlers, type, namespaces, origType, - elemData = jQuery._data( elem ); - - // Don't attach events to noData or text/comment nodes (but allow plain objects) - if ( !elemData ) { - return; - } - - // Caller can pass in an object of custom data in lieu of the handler - if ( handler.handler ) { - handleObjIn = handler; - handler = handleObjIn.handler; - selector = handleObjIn.selector; - } - - // Make sure that the handler has a unique ID, used to find/remove it later - if ( !handler.guid ) { - handler.guid = jQuery.guid++; - } - - // Init the element's event structure and main handler, if this is the first - if ( !(events = elemData.events) ) { - events = elemData.events = {}; - } - if ( !(eventHandle = elemData.handle) ) { - eventHandle = elemData.handle = function( e ) { - // Discard the second event of a jQuery.event.trigger() and - // when an event is called after a page has unloaded - return typeof jQuery !== core_strundefined && (!e || jQuery.event.triggered !== e.type) ? - jQuery.event.dispatch.apply( eventHandle.elem, arguments ) : - undefined; - }; - // Add elem as a property of the handle fn to prevent a memory leak with IE non-native events - eventHandle.elem = elem; - } - - // Handle multiple events separated by a space - // jQuery(...).bind("mouseover mouseout", fn); - types = ( types || "" ).match( core_rnotwhite ) || [""]; - t = types.length; - while ( t-- ) { - tmp = rtypenamespace.exec( types[t] ) || []; - type = origType = tmp[1]; - namespaces = ( tmp[2] || "" ).split( "." ).sort(); - - // If event changes its type, use the special event handlers for the changed type - special = jQuery.event.special[ type ] || {}; - - // If selector defined, determine special event api type, otherwise given type - type = ( selector ? special.delegateType : special.bindType ) || type; - - // Update special based on newly reset type - special = jQuery.event.special[ type ] || {}; - - // handleObj is passed to all event handlers - handleObj = jQuery.extend({ - type: type, - origType: origType, - data: data, - handler: handler, - guid: handler.guid, - selector: selector, - needsContext: selector && jQuery.expr.match.needsContext.test( selector ), - namespace: namespaces.join(".") - }, handleObjIn ); - - // Init the event handler queue if we're the first - if ( !(handlers = events[ type ]) ) { - handlers = events[ type ] = []; - handlers.delegateCount = 0; - - // Only use addEventListener/attachEvent if the special events handler returns false - if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { - // Bind the global event handler to the element - if ( elem.addEventListener ) { - elem.addEventListener( type, eventHandle, false ); - - } else if ( elem.attachEvent ) { - elem.attachEvent( "on" + type, eventHandle ); - } - } - } - - if ( special.add ) { - special.add.call( elem, handleObj ); - - if ( !handleObj.handler.guid ) { - handleObj.handler.guid = handler.guid; - } - } - - // Add to the element's handler list, delegates in front - if ( selector ) { - handlers.splice( handlers.delegateCount++, 0, handleObj ); - } else { - handlers.push( handleObj ); - } - - // Keep track of which events have ever been used, for event optimization - jQuery.event.global[ type ] = true; - } - - // Nullify elem to prevent memory leaks in IE - elem = null; - }, - - // Detach an event or set of events from an element - remove: function( elem, types, handler, selector, mappedTypes ) { - var j, handleObj, tmp, - origCount, t, events, - special, handlers, type, - namespaces, origType, - elemData = jQuery.hasData( elem ) && jQuery._data( elem ); - - if ( !elemData || !(events = elemData.events) ) { - return; - } - - // Once for each type.namespace in types; type may be omitted - types = ( types || "" ).match( core_rnotwhite ) || [""]; - t = types.length; - while ( t-- ) { - tmp = rtypenamespace.exec( types[t] ) || []; - type = origType = tmp[1]; - namespaces = ( tmp[2] || "" ).split( "." ).sort(); - - // Unbind all events (on this namespace, if provided) for the element - if ( !type ) { - for ( type in events ) { - jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); - } - continue; - } - - special = jQuery.event.special[ type ] || {}; - type = ( selector ? special.delegateType : special.bindType ) || type; - handlers = events[ type ] || []; - tmp = tmp[2] && new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ); - - // Remove matching events - origCount = j = handlers.length; - while ( j-- ) { - handleObj = handlers[ j ]; - - if ( ( mappedTypes || origType === handleObj.origType ) && - ( !handler || handler.guid === handleObj.guid ) && - ( !tmp || tmp.test( handleObj.namespace ) ) && - ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) { - handlers.splice( j, 1 ); - - if ( handleObj.selector ) { - handlers.delegateCount--; - } - if ( special.remove ) { - special.remove.call( elem, handleObj ); - } - } - } - - // Remove generic event handler if we removed something and no more handlers exist - // (avoids potential for endless recursion during removal of special event handlers) - if ( origCount && !handlers.length ) { - if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) { - jQuery.removeEvent( elem, type, elemData.handle ); - } - - delete events[ type ]; - } - } - - // Remove the expando if it's no longer used - if ( jQuery.isEmptyObject( events ) ) { - delete elemData.handle; - - // removeData also checks for emptiness and clears the expando if empty - // so use it instead of delete - jQuery._removeData( elem, "events" ); - } - }, - - trigger: function( event, data, elem, onlyHandlers ) { - var handle, ontype, cur, - bubbleType, special, tmp, i, - eventPath = [ elem || document ], - type = core_hasOwn.call( event, "type" ) ? event.type : event, - namespaces = core_hasOwn.call( event, "namespace" ) ? event.namespace.split(".") : []; - - cur = tmp = elem = elem || document; - - // Don't do events on text and comment nodes - if ( elem.nodeType === 3 || elem.nodeType === 8 ) { - return; - } - - // focus/blur morphs to focusin/out; ensure we're not firing them right now - if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { - return; - } - - if ( type.indexOf(".") >= 0 ) { - // Namespaced trigger; create a regexp to match event type in handle() - namespaces = type.split("."); - type = namespaces.shift(); - namespaces.sort(); - } - ontype = type.indexOf(":") < 0 && "on" + type; - - // Caller can pass in a jQuery.Event object, Object, or just an event type string - event = event[ jQuery.expando ] ? - event : - new jQuery.Event( type, typeof event === "object" && event ); - - event.isTrigger = true; - event.namespace = namespaces.join("."); - event.namespace_re = event.namespace ? - new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ) : - null; - - // Clean up the event in case it is being reused - event.result = undefined; - if ( !event.target ) { - event.target = elem; - } - - // Clone any incoming data and prepend the event, creating the handler arg list - data = data == null ? - [ event ] : - jQuery.makeArray( data, [ event ] ); - - // Allow special events to draw outside the lines - special = jQuery.event.special[ type ] || {}; - if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { - return; - } - - // Determine event propagation path in advance, per W3C events spec (#9951) - // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) - if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { - - bubbleType = special.delegateType || type; - if ( !rfocusMorph.test( bubbleType + type ) ) { - cur = cur.parentNode; - } - for ( ; cur; cur = cur.parentNode ) { - eventPath.push( cur ); - tmp = cur; - } - - // Only add window if we got to document (e.g., not plain obj or detached DOM) - if ( tmp === (elem.ownerDocument || document) ) { - eventPath.push( tmp.defaultView || tmp.parentWindow || window ); - } - } - - // Fire handlers on the event path - i = 0; - while ( (cur = eventPath[i++]) && !event.isPropagationStopped() ) { - - event.type = i > 1 ? - bubbleType : - special.bindType || type; - - // jQuery handler - handle = ( jQuery._data( cur, "events" ) || {} )[ event.type ] && jQuery._data( cur, "handle" ); - if ( handle ) { - handle.apply( cur, data ); - } - - // Native handler - handle = ontype && cur[ ontype ]; - if ( handle && jQuery.acceptData( cur ) && handle.apply && handle.apply( cur, data ) === false ) { - event.preventDefault(); - } - } - event.type = type; - - // If nobody prevented the default action, do it now - if ( !onlyHandlers && !event.isDefaultPrevented() ) { - - if ( (!special._default || special._default.apply( elem.ownerDocument, data ) === false) && - !(type === "click" && jQuery.nodeName( elem, "a" )) && jQuery.acceptData( elem ) ) { - - // Call a native DOM method on the target with the same name name as the event. - // Can't use an .isFunction() check here because IE6/7 fails that test. - // Don't do default actions on window, that's where global variables be (#6170) - if ( ontype && elem[ type ] && !jQuery.isWindow( elem ) ) { - - // Don't re-trigger an onFOO event when we call its FOO() method - tmp = elem[ ontype ]; - - if ( tmp ) { - elem[ ontype ] = null; - } - - // Prevent re-triggering of the same event, since we already bubbled it above - jQuery.event.triggered = type; - try { - elem[ type ](); - } catch ( e ) { - // IE<9 dies on focus/blur to hidden element (#1486,#12518) - // only reproducible on winXP IE8 native, not IE9 in IE8 mode - } - jQuery.event.triggered = undefined; - - if ( tmp ) { - elem[ ontype ] = tmp; - } - } - } - } - - return event.result; - }, - - dispatch: function( event ) { - - // Make a writable jQuery.Event from the native event object - event = jQuery.event.fix( event ); - - var i, ret, handleObj, matched, j, - handlerQueue = [], - args = core_slice.call( arguments ), - handlers = ( jQuery._data( this, "events" ) || {} )[ event.type ] || [], - special = jQuery.event.special[ event.type ] || {}; - - // Use the fix-ed jQuery.Event rather than the (read-only) native event - args[0] = event; - event.delegateTarget = this; - - // Call the preDispatch hook for the mapped type, and let it bail if desired - if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { - return; - } - - // Determine handlers - handlerQueue = jQuery.event.handlers.call( this, event, handlers ); - - // Run delegates first; they may want to stop propagation beneath us - i = 0; - while ( (matched = handlerQueue[ i++ ]) && !event.isPropagationStopped() ) { - event.currentTarget = matched.elem; - - j = 0; - while ( (handleObj = matched.handlers[ j++ ]) && !event.isImmediatePropagationStopped() ) { - - // Triggered event must either 1) have no namespace, or - // 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace). - if ( !event.namespace_re || event.namespace_re.test( handleObj.namespace ) ) { - - event.handleObj = handleObj; - event.data = handleObj.data; - - ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler ) - .apply( matched.elem, args ); - - if ( ret !== undefined ) { - if ( (event.result = ret) === false ) { - event.preventDefault(); - event.stopPropagation(); - } - } - } - } - } - - // Call the postDispatch hook for the mapped type - if ( special.postDispatch ) { - special.postDispatch.call( this, event ); - } - - return event.result; - }, - - handlers: function( event, handlers ) { - var sel, handleObj, matches, i, - handlerQueue = [], - delegateCount = handlers.delegateCount, - cur = event.target; - - // Find delegate handlers - // Black-hole SVG <use> instance trees (#13180) - // Avoid non-left-click bubbling in Firefox (#3861) - if ( delegateCount && cur.nodeType && (!event.button || event.type !== "click") ) { - - for ( ; cur != this; cur = cur.parentNode || this ) { - - // Don't check non-elements (#13208) - // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) - if ( cur.nodeType === 1 && (cur.disabled !== true || event.type !== "click") ) { - matches = []; - for ( i = 0; i < delegateCount; i++ ) { - handleObj = handlers[ i ]; - - // Don't conflict with Object.prototype properties (#13203) - sel = handleObj.selector + " "; - - if ( matches[ sel ] === undefined ) { - matches[ sel ] = handleObj.needsContext ? - jQuery( sel, this ).index( cur ) >= 0 : - jQuery.find( sel, this, null, [ cur ] ).length; - } - if ( matches[ sel ] ) { - matches.push( handleObj ); - } - } - if ( matches.length ) { - handlerQueue.push({ elem: cur, handlers: matches }); - } - } - } - } - - // Add the remaining (directly-bound) handlers - if ( delegateCount < handlers.length ) { - handlerQueue.push({ elem: this, handlers: handlers.slice( delegateCount ) }); - } - - return handlerQueue; - }, - - fix: function( event ) { - if ( event[ jQuery.expando ] ) { - return event; - } - - // Create a writable copy of the event object and normalize some properties - var i, prop, copy, - type = event.type, - originalEvent = event, - fixHook = this.fixHooks[ type ]; - - if ( !fixHook ) { - this.fixHooks[ type ] = fixHook = - rmouseEvent.test( type ) ? this.mouseHooks : - rkeyEvent.test( type ) ? this.keyHooks : - {}; - } - copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props; - - event = new jQuery.Event( originalEvent ); - - i = copy.length; - while ( i-- ) { - prop = copy[ i ]; - event[ prop ] = originalEvent[ prop ]; - } - - // Support: IE<9 - // Fix target property (#1925) - if ( !event.target ) { - event.target = originalEvent.srcElement || document; - } - - // Support: Chrome 23+, Safari? - // Target should not be a text node (#504, #13143) - if ( event.target.nodeType === 3 ) { - event.target = event.target.parentNode; - } - - // Support: IE<9 - // For mouse/key events, metaKey==false if it's undefined (#3368, #11328) - event.metaKey = !!event.metaKey; - - return fixHook.filter ? fixHook.filter( event, originalEvent ) : event; - }, - - // Includes some event props shared by KeyEvent and MouseEvent - props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), - - fixHooks: {}, - - keyHooks: { - props: "char charCode key keyCode".split(" "), - filter: function( event, original ) { - - // Add which for key events - if ( event.which == null ) { - event.which = original.charCode != null ? original.charCode : original.keyCode; - } - - return event; - } - }, - - mouseHooks: { - props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), - filter: function( event, original ) { - var body, eventDoc, doc, - button = original.button, - fromElement = original.fromElement; - - // Calculate pageX/Y if missing and clientX/Y available - if ( event.pageX == null && original.clientX != null ) { - eventDoc = event.target.ownerDocument || document; - doc = eventDoc.documentElement; - body = eventDoc.body; - - event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 ); - event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 ); - } - - // Add relatedTarget, if necessary - if ( !event.relatedTarget && fromElement ) { - event.relatedTarget = fromElement === event.target ? original.toElement : fromElement; - } - - // Add which for click: 1 === left; 2 === middle; 3 === right - // Note: button is not normalized, so don't use it - if ( !event.which && button !== undefined ) { - event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); - } - - return event; - } - }, - - special: { - load: { - // Prevent triggered image.load events from bubbling to window.load - noBubble: true - }, - click: { - // For checkbox, fire native event so checked state will be right - trigger: function() { - if ( jQuery.nodeName( this, "input" ) && this.type === "checkbox" && this.click ) { - this.click(); - return false; - } - } - }, - focus: { - // Fire native event if possible so blur/focus sequence is correct - trigger: function() { - if ( this !== document.activeElement && this.focus ) { - try { - this.focus(); - return false; - } catch ( e ) { - // Support: IE<9 - // If we error on focus to hidden element (#1486, #12518), - // let .trigger() run the handlers - } - } - }, - delegateType: "focusin" - }, - blur: { - trigger: function() { - if ( this === document.activeElement && this.blur ) { - this.blur(); - return false; - } - }, - delegateType: "focusout" - }, - - beforeunload: { - postDispatch: function( event ) { - - // Even when returnValue equals to undefined Firefox will still show alert - if ( event.result !== undefined ) { - event.originalEvent.returnValue = event.result; - } - } - } - }, - - simulate: function( type, elem, event, bubble ) { - // Piggyback on a donor event to simulate a different one. - // Fake originalEvent to avoid donor's stopPropagation, but if the - // simulated event prevents default then we do the same on the donor. - var e = jQuery.extend( - new jQuery.Event(), - event, - { type: type, - isSimulated: true, - originalEvent: {} - } - ); - if ( bubble ) { - jQuery.event.trigger( e, null, elem ); - } else { - jQuery.event.dispatch.call( elem, e ); - } - if ( e.isDefaultPrevented() ) { - event.preventDefault(); - } - } -}; - -jQuery.removeEvent = document.removeEventListener ? - function( elem, type, handle ) { - if ( elem.removeEventListener ) { - elem.removeEventListener( type, handle, false ); - } - } : - function( elem, type, handle ) { - var name = "on" + type; - - if ( elem.detachEvent ) { - - // #8545, #7054, preventing memory leaks for custom events in IE6-8 - // detachEvent needed property on element, by name of that event, to properly expose it to GC - if ( typeof elem[ name ] === core_strundefined ) { - elem[ name ] = null; - } - - elem.detachEvent( name, handle ); - } - }; - -jQuery.Event = function( src, props ) { - // Allow instantiation without the 'new' keyword - if ( !(this instanceof jQuery.Event) ) { - return new jQuery.Event( src, props ); - } - - // Event object - if ( src && src.type ) { - this.originalEvent = src; - this.type = src.type; - - // Events bubbling up the document may have been marked as prevented - // by a handler lower down the tree; reflect the correct value. - this.isDefaultPrevented = ( src.defaultPrevented || src.returnValue === false || - src.getPreventDefault && src.getPreventDefault() ) ? returnTrue : returnFalse; - - // Event type - } else { - this.type = src; - } - - // Put explicitly provided properties onto the event object - if ( props ) { - jQuery.extend( this, props ); - } - - // Create a timestamp if incoming event doesn't have one - this.timeStamp = src && src.timeStamp || jQuery.now(); - - // Mark it as fixed - this[ jQuery.expando ] = true; -}; - -// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding -// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html -jQuery.Event.prototype = { - isDefaultPrevented: returnFalse, - isPropagationStopped: returnFalse, - isImmediatePropagationStopped: returnFalse, - - preventDefault: function() { - var e = this.originalEvent; - - this.isDefaultPrevented = returnTrue; - if ( !e ) { - return; - } - - // If preventDefault exists, run it on the original event - if ( e.preventDefault ) { - e.preventDefault(); - - // Support: IE - // Otherwise set the returnValue property of the original event to false - } else { - e.returnValue = false; - } - }, - stopPropagation: function() { - var e = this.originalEvent; - - this.isPropagationStopped = returnTrue; - if ( !e ) { - return; - } - // If stopPropagation exists, run it on the original event - if ( e.stopPropagation ) { - e.stopPropagation(); - } - - // Support: IE - // Set the cancelBubble property of the original event to true - e.cancelBubble = true; - }, - stopImmediatePropagation: function() { - this.isImmediatePropagationStopped = returnTrue; - this.stopPropagation(); - } -}; - -// Create mouseenter/leave events using mouseover/out and event-time checks -jQuery.each({ - mouseenter: "mouseover", - mouseleave: "mouseout" -}, function( orig, fix ) { - jQuery.event.special[ orig ] = { - delegateType: fix, - bindType: fix, - - handle: function( event ) { - var ret, - target = this, - related = event.relatedTarget, - handleObj = event.handleObj; - - // For mousenter/leave call the handler if related is outside the target. - // NB: No relatedTarget if the mouse left/entered the browser window - if ( !related || (related !== target && !jQuery.contains( target, related )) ) { - event.type = handleObj.origType; - ret = handleObj.handler.apply( this, arguments ); - event.type = fix; - } - return ret; - } - }; -}); - -// IE submit delegation -if ( !jQuery.support.submitBubbles ) { - - jQuery.event.special.submit = { - setup: function() { - // Only need this for delegated form submit events - if ( jQuery.nodeName( this, "form" ) ) { - return false; - } - - // Lazy-add a submit handler when a descendant form may potentially be submitted - jQuery.event.add( this, "click._submit keypress._submit", function( e ) { - // Node name check avoids a VML-related crash in IE (#9807) - var elem = e.target, - form = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.form : undefined; - if ( form && !jQuery._data( form, "submitBubbles" ) ) { - jQuery.event.add( form, "submit._submit", function( event ) { - event._submit_bubble = true; - }); - jQuery._data( form, "submitBubbles", true ); - } - }); - // return undefined since we don't need an event listener - }, - - postDispatch: function( event ) { - // If form was submitted by the user, bubble the event up the tree - if ( event._submit_bubble ) { - delete event._submit_bubble; - if ( this.parentNode && !event.isTrigger ) { - jQuery.event.simulate( "submit", this.parentNode, event, true ); - } - } - }, - - teardown: function() { - // Only need this for delegated form submit events - if ( jQuery.nodeName( this, "form" ) ) { - return false; - } - - // Remove delegated handlers; cleanData eventually reaps submit handlers attached above - jQuery.event.remove( this, "._submit" ); - } - }; -} - -// IE change delegation and checkbox/radio fix -if ( !jQuery.support.changeBubbles ) { - - jQuery.event.special.change = { - - setup: function() { - - if ( rformElems.test( this.nodeName ) ) { - // IE doesn't fire change on a check/radio until blur; trigger it on click - // after a propertychange. Eat the blur-change in special.change.handle. - // This still fires onchange a second time for check/radio after blur. - if ( this.type === "checkbox" || this.type === "radio" ) { - jQuery.event.add( this, "propertychange._change", function( event ) { - if ( event.originalEvent.propertyName === "checked" ) { - this._just_changed = true; - } - }); - jQuery.event.add( this, "click._change", function( event ) { - if ( this._just_changed && !event.isTrigger ) { - this._just_changed = false; - } - // Allow triggered, simulated change events (#11500) - jQuery.event.simulate( "change", this, event, true ); - }); - } - return false; - } - // Delegated event; lazy-add a change handler on descendant inputs - jQuery.event.add( this, "beforeactivate._change", function( e ) { - var elem = e.target; - - if ( rformElems.test( elem.nodeName ) && !jQuery._data( elem, "changeBubbles" ) ) { - jQuery.event.add( elem, "change._change", function( event ) { - if ( this.parentNode && !event.isSimulated && !event.isTrigger ) { - jQuery.event.simulate( "change", this.parentNode, event, true ); - } - }); - jQuery._data( elem, "changeBubbles", true ); - } - }); - }, - - handle: function( event ) { - var elem = event.target; - - // Swallow native change events from checkbox/radio, we already triggered them above - if ( this !== elem || event.isSimulated || event.isTrigger || (elem.type !== "radio" && elem.type !== "checkbox") ) { - return event.handleObj.handler.apply( this, arguments ); - } - }, - - teardown: function() { - jQuery.event.remove( this, "._change" ); - - return !rformElems.test( this.nodeName ); - } - }; -} - -// Create "bubbling" focus and blur events -if ( !jQuery.support.focusinBubbles ) { - jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { - - // Attach a single capturing handler while someone wants focusin/focusout - var attaches = 0, - handler = function( event ) { - jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true ); - }; - - jQuery.event.special[ fix ] = { - setup: function() { - if ( attaches++ === 0 ) { - document.addEventListener( orig, handler, true ); - } - }, - teardown: function() { - if ( --attaches === 0 ) { - document.removeEventListener( orig, handler, true ); - } - } - }; - }); -} - -jQuery.fn.extend({ - - on: function( types, selector, data, fn, /*INTERNAL*/ one ) { - var type, origFn; - - // Types can be a map of types/handlers - if ( typeof types === "object" ) { - // ( types-Object, selector, data ) - if ( typeof selector !== "string" ) { - // ( types-Object, data ) - data = data || selector; - selector = undefined; - } - for ( type in types ) { - this.on( type, selector, data, types[ type ], one ); - } - return this; - } - - if ( data == null && fn == null ) { - // ( types, fn ) - fn = selector; - data = selector = undefined; - } else if ( fn == null ) { - if ( typeof selector === "string" ) { - // ( types, selector, fn ) - fn = data; - data = undefined; - } else { - // ( types, data, fn ) - fn = data; - data = selector; - selector = undefined; - } - } - if ( fn === false ) { - fn = returnFalse; - } else if ( !fn ) { - return this; - } - - if ( one === 1 ) { - origFn = fn; - fn = function( event ) { - // Can use an empty set, since event contains the info - jQuery().off( event ); - return origFn.apply( this, arguments ); - }; - // Use same guid so caller can remove using origFn - fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); - } - return this.each( function() { - jQuery.event.add( this, types, fn, data, selector ); - }); - }, - one: function( types, selector, data, fn ) { - return this.on( types, selector, data, fn, 1 ); - }, - off: function( types, selector, fn ) { - var handleObj, type; - if ( types && types.preventDefault && types.handleObj ) { - // ( event ) dispatched jQuery.Event - handleObj = types.handleObj; - jQuery( types.delegateTarget ).off( - handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType, - handleObj.selector, - handleObj.handler - ); - return this; - } - if ( typeof types === "object" ) { - // ( types-object [, selector] ) - for ( type in types ) { - this.off( type, selector, types[ type ] ); - } - return this; - } - if ( selector === false || typeof selector === "function" ) { - // ( types [, fn] ) - fn = selector; - selector = undefined; - } - if ( fn === false ) { - fn = returnFalse; - } - return this.each(function() { - jQuery.event.remove( this, types, fn, selector ); - }); - }, - - bind: function( types, data, fn ) { - return this.on( types, null, data, fn ); - }, - unbind: function( types, fn ) { - return this.off( types, null, fn ); - }, - - delegate: function( selector, types, data, fn ) { - return this.on( types, selector, data, fn ); - }, - undelegate: function( selector, types, fn ) { - // ( namespace ) or ( selector, types [, fn] ) - return arguments.length === 1 ? this.off( selector, "**" ) : this.off( types, selector || "**", fn ); - }, - - trigger: function( type, data ) { - return this.each(function() { - jQuery.event.trigger( type, data, this ); - }); - }, - triggerHandler: function( type, data ) { - var elem = this[0]; - if ( elem ) { - return jQuery.event.trigger( type, data, elem, true ); - } - } -}); -/*! - * Sizzle CSS Selector Engine - * Copyright 2012 jQuery Foundation and other contributors - * Released under the MIT license - * http://sizzlejs.com/ - */ -(function( window, undefined ) { - -var i, - cachedruns, - Expr, - getText, - isXML, - compile, - hasDuplicate, - outermostContext, - - // Local document vars - setDocument, - document, - docElem, - documentIsXML, - rbuggyQSA, - rbuggyMatches, - matches, - contains, - sortOrder, - - // Instance-specific data - expando = "sizzle" + -(new Date()), - preferredDoc = window.document, - support = {}, - dirruns = 0, - done = 0, - classCache = createCache(), - tokenCache = createCache(), - compilerCache = createCache(), - - // General-purpose constants - strundefined = typeof undefined, - MAX_NEGATIVE = 1 << 31, - - // Array methods - arr = [], - pop = arr.pop, - push = arr.push, - slice = arr.slice, - // Use a stripped-down indexOf if we can't use a native one - indexOf = arr.indexOf || function( elem ) { - var i = 0, - len = this.length; - for ( ; i < len; i++ ) { - if ( this[i] === elem ) { - return i; - } - } - return -1; - }, - - - // Regular expressions - - // Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace - whitespace = "[\\x20\\t\\r\\n\\f]", - // http://www.w3.org/TR/css3-syntax/#characters - characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", - - // Loosely modeled on CSS identifier characters - // An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors - // Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier - identifier = characterEncoding.replace( "w", "w#" ), - - // Acceptable operators http://www.w3.org/TR/selectors/#attribute-selectors - operators = "([*^$|!~]?=)", - attributes = "\\[" + whitespace + "*(" + characterEncoding + ")" + whitespace + - "*(?:" + operators + whitespace + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + identifier + ")|)|)" + whitespace + "*\\]", - - // Prefer arguments quoted, - // then not containing pseudos/brackets, - // then attribute selectors/non-parenthetical expressions, - // then anything else - // These preferences are here to reduce the number of selectors - // needing tokenize in the PSEUDO preFilter - pseudos = ":(" + characterEncoding + ")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|" + attributes.replace( 3, 8 ) + ")*)|.*)\\)|)", - - // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter - rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), - - rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), - rcombinators = new RegExp( "^" + whitespace + "*([\\x20\\t\\r\\n\\f>+~])" + whitespace + "*" ), - rpseudo = new RegExp( pseudos ), - ridentifier = new RegExp( "^" + identifier + "$" ), - - matchExpr = { - "ID": new RegExp( "^#(" + characterEncoding + ")" ), - "CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ), - "NAME": new RegExp( "^\\[name=['\"]?(" + characterEncoding + ")['\"]?\\]" ), - "TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*" ) + ")" ), - "ATTR": new RegExp( "^" + attributes ), - "PSEUDO": new RegExp( "^" + pseudos ), - "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + - "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + - "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), - // For use in libraries implementing .is() - // We use this for POS matching in `select` - "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + - whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) - }, - - rsibling = /[\x20\t\r\n\f]*[+~]/, - - rnative = /^[^{]+\{\s*\[native code/, - - // Easily-parseable/retrievable ID or TAG or CLASS selectors - rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, - - rinputs = /^(?:input|select|textarea|button)$/i, - rheader = /^h\d$/i, - - rescape = /'|\\/g, - rattributeQuotes = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g, - - // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters - runescape = /\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g, - funescape = function( _, escaped ) { - var high = "0x" + escaped - 0x10000; - // NaN means non-codepoint - return high !== high ? - escaped : - // BMP codepoint - high < 0 ? - String.fromCharCode( high + 0x10000 ) : - // Supplemental Plane codepoint (surrogate pair) - String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); - }; - -// Use a stripped-down slice if we can't use a native one -try { - slice.call( preferredDoc.documentElement.childNodes, 0 )[0].nodeType; -} catch ( e ) { - slice = function( i ) { - var elem, - results = []; - while ( (elem = this[i++]) ) { - results.push( elem ); - } - return results; - }; -} - -/** - * For feature detection - * @param {Function} fn The function to test for native support - */ -function isNative( fn ) { - return rnative.test( fn + "" ); -} - -/** - * Create key-value caches of limited size - * @returns {Function(string, Object)} Returns the Object data after storing it on itself with - * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) - * deleting the oldest entry - */ -function createCache() { - var cache, - keys = []; - - return (cache = function( key, value ) { - // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) - if ( keys.push( key += " " ) > Expr.cacheLength ) { - // Only keep the most recent entries - delete cache[ keys.shift() ]; - } - return (cache[ key ] = value); - }); -} - -/** - * Mark a function for special use by Sizzle - * @param {Function} fn The function to mark - */ -function markFunction( fn ) { - fn[ expando ] = true; - return fn; -} - -/** - * Support testing using an element - * @param {Function} fn Passed the created div and expects a boolean result - */ -function assert( fn ) { - var div = document.createElement("div"); - - try { - return fn( div ); - } catch (e) { - return false; - } finally { - // release memory in IE - div = null; - } -} - -function Sizzle( selector, context, results, seed ) { - var match, elem, m, nodeType, - // QSA vars - i, groups, old, nid, newContext, newSelector; - - if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { - setDocument( context ); - } - - context = context || document; - results = results || []; - - if ( !selector || typeof selector !== "string" ) { - return results; - } - - if ( (nodeType = context.nodeType) !== 1 && nodeType !== 9 ) { - return []; - } - - if ( !documentIsXML && !seed ) { - - // Shortcuts - if ( (match = rquickExpr.exec( selector )) ) { - // Speed-up: Sizzle("#ID") - if ( (m = match[1]) ) { - if ( nodeType === 9 ) { - elem = context.getElementById( m ); - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document #6963 - if ( elem && elem.parentNode ) { - // Handle the case where IE, Opera, and Webkit return items - // by name instead of ID - if ( elem.id === m ) { - results.push( elem ); - return results; - } - } else { - return results; - } - } else { - // Context is not a document - if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) && - contains( context, elem ) && elem.id === m ) { - results.push( elem ); - return results; - } - } - - // Speed-up: Sizzle("TAG") - } else if ( match[2] ) { - push.apply( results, slice.call(context.getElementsByTagName( selector ), 0) ); - return results; - - // Speed-up: Sizzle(".CLASS") - } else if ( (m = match[3]) && support.getByClassName && context.getElementsByClassName ) { - push.apply( results, slice.call(context.getElementsByClassName( m ), 0) ); - return results; - } - } - - // QSA path - if ( support.qsa && !rbuggyQSA.test(selector) ) { - old = true; - nid = expando; - newContext = context; - newSelector = nodeType === 9 && selector; - - // qSA works strangely on Element-rooted queries - // We can work around this by specifying an extra ID on the root - // and working up from there (Thanks to Andrew Dupont for the technique) - // IE 8 doesn't work on object elements - if ( nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { - groups = tokenize( selector ); - - if ( (old = context.getAttribute("id")) ) { - nid = old.replace( rescape, "\\$&" ); - } else { - context.setAttribute( "id", nid ); - } - nid = "[id='" + nid + "'] "; - - i = groups.length; - while ( i-- ) { - groups[i] = nid + toSelector( groups[i] ); - } - newContext = rsibling.test( selector ) && context.parentNode || context; - newSelector = groups.join(","); - } - - if ( newSelector ) { - try { - push.apply( results, slice.call( newContext.querySelectorAll( - newSelector - ), 0 ) ); - return results; - } catch(qsaError) { - } finally { - if ( !old ) { - context.removeAttribute("id"); - } - } - } - } - } - - // All others - return select( selector.replace( rtrim, "$1" ), context, results, seed ); -} - -/** - * Detect xml - * @param {Element|Object} elem An element or a document - */ -isXML = Sizzle.isXML = function( elem ) { - // documentElement is verified for cases where it doesn't yet exist - // (such as loading iframes in IE - #4833) - var documentElement = elem && (elem.ownerDocument || elem).documentElement; - return documentElement ? documentElement.nodeName !== "HTML" : false; -}; - -/** - * Sets document-related variables once based on the current document - * @param {Element|Object} [doc] An element or document object to use to set the document - * @returns {Object} Returns the current document - */ -setDocument = Sizzle.setDocument = function( node ) { - var doc = node ? node.ownerDocument || node : preferredDoc; - - // If no document and documentElement is available, return - if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { - return document; - } - - // Set our document - document = doc; - docElem = doc.documentElement; - - // Support tests - documentIsXML = isXML( doc ); - - // Check if getElementsByTagName("*") returns only elements - support.tagNameNoComments = assert(function( div ) { - div.appendChild( doc.createComment("") ); - return !div.getElementsByTagName("*").length; - }); - - // Check if attributes should be retrieved by attribute nodes - support.attributes = assert(function( div ) { - div.innerHTML = "<select></select>"; - var type = typeof div.lastChild.getAttribute("multiple"); - // IE8 returns a string for some attributes even when not present - return type !== "boolean" && type !== "string"; - }); - - // Check if getElementsByClassName can be trusted - support.getByClassName = assert(function( div ) { - // Opera can't find a second classname (in 9.6) - div.innerHTML = "<div class='hidden e'></div><div class='hidden'></div>"; - if ( !div.getElementsByClassName || !div.getElementsByClassName("e").length ) { - return false; - } - - // Safari 3.2 caches class attributes and doesn't catch changes - div.lastChild.className = "e"; - return div.getElementsByClassName("e").length === 2; - }); - - // Check if getElementById returns elements by name - // Check if getElementsByName privileges form controls or returns elements by ID - support.getByName = assert(function( div ) { - // Inject content - div.id = expando + 0; - div.innerHTML = "<a name='" + expando + "'></a><div name='" + expando + "'></div>"; - docElem.insertBefore( div, docElem.firstChild ); - - // Test - var pass = doc.getElementsByName && - // buggy browsers will return fewer than the correct 2 - doc.getElementsByName( expando ).length === 2 + - // buggy browsers will return more than the correct 0 - doc.getElementsByName( expando + 0 ).length; - support.getIdNotName = !doc.getElementById( expando ); - - // Cleanup - docElem.removeChild( div ); - - return pass; - }); - - // IE6/7 return modified attributes - Expr.attrHandle = assert(function( div ) { - div.innerHTML = "<a href='#'></a>"; - return div.firstChild && typeof div.firstChild.getAttribute !== strundefined && - div.firstChild.getAttribute("href") === "#"; - }) ? - {} : - { - "href": function( elem ) { - return elem.getAttribute( "href", 2 ); - }, - "type": function( elem ) { - return elem.getAttribute("type"); - } - }; - - // ID find and filter - if ( support.getIdNotName ) { - Expr.find["ID"] = function( id, context ) { - if ( typeof context.getElementById !== strundefined && !documentIsXML ) { - var m = context.getElementById( id ); - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document #6963 - return m && m.parentNode ? [m] : []; - } - }; - Expr.filter["ID"] = function( id ) { - var attrId = id.replace( runescape, funescape ); - return function( elem ) { - return elem.getAttribute("id") === attrId; - }; - }; - } else { - Expr.find["ID"] = function( id, context ) { - if ( typeof context.getElementById !== strundefined && !documentIsXML ) { - var m = context.getElementById( id ); - - return m ? - m.id === id || typeof m.getAttributeNode !== strundefined && m.getAttributeNode("id").value === id ? - [m] : - undefined : - []; - } - }; - Expr.filter["ID"] = function( id ) { - var attrId = id.replace( runescape, funescape ); - return function( elem ) { - var node = typeof elem.getAttributeNode !== strundefined && elem.getAttributeNode("id"); - return node && node.value === attrId; - }; - }; - } - - // Tag - Expr.find["TAG"] = support.tagNameNoComments ? - function( tag, context ) { - if ( typeof context.getElementsByTagName !== strundefined ) { - return context.getElementsByTagName( tag ); - } - } : - function( tag, context ) { - var elem, - tmp = [], - i = 0, - results = context.getElementsByTagName( tag ); - - // Filter out possible comments - if ( tag === "*" ) { - while ( (elem = results[i++]) ) { - if ( elem.nodeType === 1 ) { - tmp.push( elem ); - } - } - - return tmp; - } - return results; - }; - - // Name - Expr.find["NAME"] = support.getByName && function( tag, context ) { - if ( typeof context.getElementsByName !== strundefined ) { - return context.getElementsByName( name ); - } - }; - - // Class - Expr.find["CLASS"] = support.getByClassName && function( className, context ) { - if ( typeof context.getElementsByClassName !== strundefined && !documentIsXML ) { - return context.getElementsByClassName( className ); - } - }; - - // QSA and matchesSelector support - - // matchesSelector(:active) reports false when true (IE9/Opera 11.5) - rbuggyMatches = []; - - // qSa(:focus) reports false when true (Chrome 21), - // no need to also add to buggyMatches since matches checks buggyQSA - // A support test would require too much code (would include document ready) - rbuggyQSA = [ ":focus" ]; - - if ( (support.qsa = isNative(doc.querySelectorAll)) ) { - // Build QSA regex - // Regex strategy adopted from Diego Perini - assert(function( div ) { - // Select is set to empty string on purpose - // This is to test IE's treatment of not explictly - // setting a boolean content attribute, - // since its presence should be enough - // http://bugs.jquery.com/ticket/12359 - div.innerHTML = "<select><option selected=''></option></select>"; - - // IE8 - Some boolean attributes are not treated correctly - if ( !div.querySelectorAll("[selected]").length ) { - rbuggyQSA.push( "\\[" + whitespace + "*(?:checked|disabled|ismap|multiple|readonly|selected|value)" ); - } - - // Webkit/Opera - :checked should return selected option elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - // IE8 throws error here and will not see later tests - if ( !div.querySelectorAll(":checked").length ) { - rbuggyQSA.push(":checked"); - } - }); - - assert(function( div ) { - - // Opera 10-12/IE8 - ^= $= *= and empty values - // Should not select anything - div.innerHTML = "<input type='hidden' i=''/>"; - if ( div.querySelectorAll("[i^='']").length ) { - rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:\"\"|'')" ); - } - - // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) - // IE8 throws error here and will not see later tests - if ( !div.querySelectorAll(":enabled").length ) { - rbuggyQSA.push( ":enabled", ":disabled" ); - } - - // Opera 10-11 does not throw on post-comma invalid pseudos - div.querySelectorAll("*,:x"); - rbuggyQSA.push(",.*:"); - }); - } - - if ( (support.matchesSelector = isNative( (matches = docElem.matchesSelector || - docElem.mozMatchesSelector || - docElem.webkitMatchesSelector || - docElem.oMatchesSelector || - docElem.msMatchesSelector) )) ) { - - assert(function( div ) { - // Check to see if it's possible to do matchesSelector - // on a disconnected node (IE 9) - support.disconnectedMatch = matches.call( div, "div" ); - - // This should fail with an exception - // Gecko does not error, returns false instead - matches.call( div, "[s!='']:x" ); - rbuggyMatches.push( "!=", pseudos ); - }); - } - - rbuggyQSA = new RegExp( rbuggyQSA.join("|") ); - rbuggyMatches = new RegExp( rbuggyMatches.join("|") ); - - // Element contains another - // Purposefully does not implement inclusive descendent - // As in, an element does not contain itself - contains = isNative(docElem.contains) || docElem.compareDocumentPosition ? - function( a, b ) { - var adown = a.nodeType === 9 ? a.documentElement : a, - bup = b && b.parentNode; - return a === bup || !!( bup && bup.nodeType === 1 && ( - adown.contains ? - adown.contains( bup ) : - a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 - )); - } : - function( a, b ) { - if ( b ) { - while ( (b = b.parentNode) ) { - if ( b === a ) { - return true; - } - } - } - return false; - }; - - // Document order sorting - sortOrder = docElem.compareDocumentPosition ? - function( a, b ) { - var compare; - - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - if ( (compare = b.compareDocumentPosition && a.compareDocumentPosition && a.compareDocumentPosition( b )) ) { - if ( compare & 1 || a.parentNode && a.parentNode.nodeType === 11 ) { - if ( a === doc || contains( preferredDoc, a ) ) { - return -1; - } - if ( b === doc || contains( preferredDoc, b ) ) { - return 1; - } - return 0; - } - return compare & 4 ? -1 : 1; - } - - return a.compareDocumentPosition ? -1 : 1; - } : - function( a, b ) { - var cur, - i = 0, - aup = a.parentNode, - bup = b.parentNode, - ap = [ a ], - bp = [ b ]; - - // Exit early if the nodes are identical - if ( a === b ) { - hasDuplicate = true; - return 0; - - // Parentless nodes are either documents or disconnected - } else if ( !aup || !bup ) { - return a === doc ? -1 : - b === doc ? 1 : - aup ? -1 : - bup ? 1 : - 0; - - // If the nodes are siblings, we can do a quick check - } else if ( aup === bup ) { - return siblingCheck( a, b ); - } - - // Otherwise we need full lists of their ancestors for comparison - cur = a; - while ( (cur = cur.parentNode) ) { - ap.unshift( cur ); - } - cur = b; - while ( (cur = cur.parentNode) ) { - bp.unshift( cur ); - } - - // Walk down the tree looking for a discrepancy - while ( ap[i] === bp[i] ) { - i++; - } - - return i ? - // Do a sibling check if the nodes have a common ancestor - siblingCheck( ap[i], bp[i] ) : - - // Otherwise nodes in our document sort first - ap[i] === preferredDoc ? -1 : - bp[i] === preferredDoc ? 1 : - 0; - }; - - // Always assume the presence of duplicates if sort doesn't - // pass them to our comparison function (as in Google Chrome). - hasDuplicate = false; - [0, 0].sort( sortOrder ); - support.detectDuplicates = hasDuplicate; - - return document; -}; - -Sizzle.matches = function( expr, elements ) { - return Sizzle( expr, null, null, elements ); -}; - -Sizzle.matchesSelector = function( elem, expr ) { - // Set document vars if needed - if ( ( elem.ownerDocument || elem ) !== document ) { - setDocument( elem ); - } - - // Make sure that attribute selectors are quoted - expr = expr.replace( rattributeQuotes, "='$1']" ); - - // rbuggyQSA always contains :focus, so no need for an existence check - if ( support.matchesSelector && !documentIsXML && (!rbuggyMatches || !rbuggyMatches.test(expr)) && !rbuggyQSA.test(expr) ) { - try { - var ret = matches.call( elem, expr ); - - // IE 9's matchesSelector returns false on disconnected nodes - if ( ret || support.disconnectedMatch || - // As well, disconnected nodes are said to be in a document - // fragment in IE 9 - elem.document && elem.document.nodeType !== 11 ) { - return ret; - } - } catch(e) {} - } - - return Sizzle( expr, document, null, [elem] ).length > 0; -}; - -Sizzle.contains = function( context, elem ) { - // Set document vars if needed - if ( ( context.ownerDocument || context ) !== document ) { - setDocument( context ); - } - return contains( context, elem ); -}; - -Sizzle.attr = function( elem, name ) { - var val; - - // Set document vars if needed - if ( ( elem.ownerDocument || elem ) !== document ) { - setDocument( elem ); - } - - if ( !documentIsXML ) { - name = name.toLowerCase(); - } - if ( (val = Expr.attrHandle[ name ]) ) { - return val( elem ); - } - if ( documentIsXML || support.attributes ) { - return elem.getAttribute( name ); - } - return ( (val = elem.getAttributeNode( name )) || elem.getAttribute( name ) ) && elem[ name ] === true ? - name : - val && val.specified ? val.value : null; -}; - -Sizzle.error = function( msg ) { - throw new Error( "Syntax error, unrecognized expression: " + msg ); -}; - -// Document sorting and removing duplicates -Sizzle.uniqueSort = function( results ) { - var elem, - duplicates = [], - i = 1, - j = 0; - - // Unless we *know* we can detect duplicates, assume their presence - hasDuplicate = !support.detectDuplicates; - results.sort( sortOrder ); - - if ( hasDuplicate ) { - for ( ; (elem = results[i]); i++ ) { - if ( elem === results[ i - 1 ] ) { - j = duplicates.push( i ); - } - } - while ( j-- ) { - results.splice( duplicates[ j ], 1 ); - } - } - - return results; -}; - -function siblingCheck( a, b ) { - var cur = b && a, - diff = cur && ( ~b.sourceIndex || MAX_NEGATIVE ) - ( ~a.sourceIndex || MAX_NEGATIVE ); - - // Use IE sourceIndex if available on both nodes - if ( diff ) { - return diff; - } - - // Check if b follows a - if ( cur ) { - while ( (cur = cur.nextSibling) ) { - if ( cur === b ) { - return -1; - } - } - } - - return a ? 1 : -1; -} - -// Returns a function to use in pseudos for input types -function createInputPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === type; - }; -} - -// Returns a function to use in pseudos for buttons -function createButtonPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return (name === "input" || name === "button") && elem.type === type; - }; -} - -// Returns a function to use in pseudos for positionals -function createPositionalPseudo( fn ) { - return markFunction(function( argument ) { - argument = +argument; - return markFunction(function( seed, matches ) { - var j, - matchIndexes = fn( [], seed.length, argument ), - i = matchIndexes.length; - - // Match elements found at the specified indexes - while ( i-- ) { - if ( seed[ (j = matchIndexes[i]) ] ) { - seed[j] = !(matches[j] = seed[j]); - } - } - }); - }); -} - -/** - * Utility function for retrieving the text value of an array of DOM nodes - * @param {Array|Element} elem - */ -getText = Sizzle.getText = function( elem ) { - var node, - ret = "", - i = 0, - nodeType = elem.nodeType; - - if ( !nodeType ) { - // If no nodeType, this is expected to be an array - for ( ; (node = elem[i]); i++ ) { - // Do not traverse comment nodes - ret += getText( node ); - } - } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { - // Use textContent for elements - // innerText usage removed for consistency of new lines (see #11153) - if ( typeof elem.textContent === "string" ) { - return elem.textContent; - } else { - // Traverse its children - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - ret += getText( elem ); - } - } - } else if ( nodeType === 3 || nodeType === 4 ) { - return elem.nodeValue; - } - // Do not include comment or processing instruction nodes - - return ret; -}; - -Expr = Sizzle.selectors = { - - // Can be adjusted by the user - cacheLength: 50, - - createPseudo: markFunction, - - match: matchExpr, - - find: {}, - - relative: { - ">": { dir: "parentNode", first: true }, - " ": { dir: "parentNode" }, - "+": { dir: "previousSibling", first: true }, - "~": { dir: "previousSibling" } - }, - - preFilter: { - "ATTR": function( match ) { - match[1] = match[1].replace( runescape, funescape ); - - // Move the given value to match[3] whether quoted or unquoted - match[3] = ( match[4] || match[5] || "" ).replace( runescape, funescape ); - - if ( match[2] === "~=" ) { - match[3] = " " + match[3] + " "; - } - - return match.slice( 0, 4 ); - }, - - "CHILD": function( match ) { - /* matches from matchExpr["CHILD"] - 1 type (only|nth|...) - 2 what (child|of-type) - 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) - 4 xn-component of xn+y argument ([+-]?\d*n|) - 5 sign of xn-component - 6 x of xn-component - 7 sign of y-component - 8 y of y-component - */ - match[1] = match[1].toLowerCase(); - - if ( match[1].slice( 0, 3 ) === "nth" ) { - // nth-* requires argument - if ( !match[3] ) { - Sizzle.error( match[0] ); - } - - // numeric x and y parameters for Expr.filter.CHILD - // remember that false/true cast respectively to 0/1 - match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); - match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); - - // other types prohibit arguments - } else if ( match[3] ) { - Sizzle.error( match[0] ); - } - - return match; - }, - - "PSEUDO": function( match ) { - var excess, - unquoted = !match[5] && match[2]; - - if ( matchExpr["CHILD"].test( match[0] ) ) { - return null; - } - - // Accept quoted arguments as-is - if ( match[4] ) { - match[2] = match[4]; - - // Strip excess characters from unquoted arguments - } else if ( unquoted && rpseudo.test( unquoted ) && - // Get excess from tokenize (recursively) - (excess = tokenize( unquoted, true )) && - // advance to the next closing parenthesis - (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { - - // excess is a negative index - match[0] = match[0].slice( 0, excess ); - match[2] = unquoted.slice( 0, excess ); - } - - // Return only captures needed by the pseudo filter method (type and argument) - return match.slice( 0, 3 ); - } - }, - - filter: { - - "TAG": function( nodeName ) { - if ( nodeName === "*" ) { - return function() { return true; }; - } - - nodeName = nodeName.replace( runescape, funescape ).toLowerCase(); - return function( elem ) { - return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; - }; - }, - - "CLASS": function( className ) { - var pattern = classCache[ className + " " ]; - - return pattern || - (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && - classCache( className, function( elem ) { - return pattern.test( elem.className || (typeof elem.getAttribute !== strundefined && elem.getAttribute("class")) || "" ); - }); - }, - - "ATTR": function( name, operator, check ) { - return function( elem ) { - var result = Sizzle.attr( elem, name ); - - if ( result == null ) { - return operator === "!="; - } - if ( !operator ) { - return true; - } - - result += ""; - - return operator === "=" ? result === check : - operator === "!=" ? result !== check : - operator === "^=" ? check && result.indexOf( check ) === 0 : - operator === "*=" ? check && result.indexOf( check ) > -1 : - operator === "$=" ? check && result.slice( -check.length ) === check : - operator === "~=" ? ( " " + result + " " ).indexOf( check ) > -1 : - operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : - false; - }; - }, - - "CHILD": function( type, what, argument, first, last ) { - var simple = type.slice( 0, 3 ) !== "nth", - forward = type.slice( -4 ) !== "last", - ofType = what === "of-type"; - - return first === 1 && last === 0 ? - - // Shortcut for :nth-*(n) - function( elem ) { - return !!elem.parentNode; - } : - - function( elem, context, xml ) { - var cache, outerCache, node, diff, nodeIndex, start, - dir = simple !== forward ? "nextSibling" : "previousSibling", - parent = elem.parentNode, - name = ofType && elem.nodeName.toLowerCase(), - useCache = !xml && !ofType; - - if ( parent ) { - - // :(first|last|only)-(child|of-type) - if ( simple ) { - while ( dir ) { - node = elem; - while ( (node = node[ dir ]) ) { - if ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) { - return false; - } - } - // Reverse direction for :only-* (if we haven't yet done so) - start = dir = type === "only" && !start && "nextSibling"; - } - return true; - } - - start = [ forward ? parent.firstChild : parent.lastChild ]; - - // non-xml :nth-child(...) stores cache data on `parent` - if ( forward && useCache ) { - // Seek `elem` from a previously-cached index - outerCache = parent[ expando ] || (parent[ expando ] = {}); - cache = outerCache[ type ] || []; - nodeIndex = cache[0] === dirruns && cache[1]; - diff = cache[0] === dirruns && cache[2]; - node = nodeIndex && parent.childNodes[ nodeIndex ]; - - while ( (node = ++nodeIndex && node && node[ dir ] || - - // Fallback to seeking `elem` from the start - (diff = nodeIndex = 0) || start.pop()) ) { - - // When found, cache indexes on `parent` and break - if ( node.nodeType === 1 && ++diff && node === elem ) { - outerCache[ type ] = [ dirruns, nodeIndex, diff ]; - break; - } - } - - // Use previously-cached element index if available - } else if ( useCache && (cache = (elem[ expando ] || (elem[ expando ] = {}))[ type ]) && cache[0] === dirruns ) { - diff = cache[1]; - - // xml :nth-child(...) or :nth-last-child(...) or :nth(-last)?-of-type(...) - } else { - // Use the same loop as above to seek `elem` from the start - while ( (node = ++nodeIndex && node && node[ dir ] || - (diff = nodeIndex = 0) || start.pop()) ) { - - if ( ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) && ++diff ) { - // Cache the index of each encountered element - if ( useCache ) { - (node[ expando ] || (node[ expando ] = {}))[ type ] = [ dirruns, diff ]; - } - - if ( node === elem ) { - break; - } - } - } - } - - // Incorporate the offset, then check against cycle size - diff -= last; - return diff === first || ( diff % first === 0 && diff / first >= 0 ); - } - }; - }, - - "PSEUDO": function( pseudo, argument ) { - // pseudo-class names are case-insensitive - // http://www.w3.org/TR/selectors/#pseudo-classes - // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters - // Remember that setFilters inherits from pseudos - var args, - fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || - Sizzle.error( "unsupported pseudo: " + pseudo ); - - // The user may use createPseudo to indicate that - // arguments are needed to create the filter function - // just as Sizzle does - if ( fn[ expando ] ) { - return fn( argument ); - } - - // But maintain support for old signatures - if ( fn.length > 1 ) { - args = [ pseudo, pseudo, "", argument ]; - return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? - markFunction(function( seed, matches ) { - var idx, - matched = fn( seed, argument ), - i = matched.length; - while ( i-- ) { - idx = indexOf.call( seed, matched[i] ); - seed[ idx ] = !( matches[ idx ] = matched[i] ); - } - }) : - function( elem ) { - return fn( elem, 0, args ); - }; - } - - return fn; - } - }, - - pseudos: { - // Potentially complex pseudos - "not": markFunction(function( selector ) { - // Trim the selector passed to compile - // to avoid treating leading and trailing - // spaces as combinators - var input = [], - results = [], - matcher = compile( selector.replace( rtrim, "$1" ) ); - - return matcher[ expando ] ? - markFunction(function( seed, matches, context, xml ) { - var elem, - unmatched = matcher( seed, null, xml, [] ), - i = seed.length; - - // Match elements unmatched by `matcher` - while ( i-- ) { - if ( (elem = unmatched[i]) ) { - seed[i] = !(matches[i] = elem); - } - } - }) : - function( elem, context, xml ) { - input[0] = elem; - matcher( input, null, xml, results ); - return !results.pop(); - }; - }), - - "has": markFunction(function( selector ) { - return function( elem ) { - return Sizzle( selector, elem ).length > 0; - }; - }), - - "contains": markFunction(function( text ) { - return function( elem ) { - return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; - }; - }), - - // "Whether an element is represented by a :lang() selector - // is based solely on the element's language value - // being equal to the identifier C, - // or beginning with the identifier C immediately followed by "-". - // The matching of C against the element's language value is performed case-insensitively. - // The identifier C does not have to be a valid language name." - // http://www.w3.org/TR/selectors/#lang-pseudo - "lang": markFunction( function( lang ) { - // lang value must be a valid identifider - if ( !ridentifier.test(lang || "") ) { - Sizzle.error( "unsupported lang: " + lang ); - } - lang = lang.replace( runescape, funescape ).toLowerCase(); - return function( elem ) { - var elemLang; - do { - if ( (elemLang = documentIsXML ? - elem.getAttribute("xml:lang") || elem.getAttribute("lang") : - elem.lang) ) { - - elemLang = elemLang.toLowerCase(); - return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; - } - } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); - return false; - }; - }), - - // Miscellaneous - "target": function( elem ) { - var hash = window.location && window.location.hash; - return hash && hash.slice( 1 ) === elem.id; - }, - - "root": function( elem ) { - return elem === docElem; - }, - - "focus": function( elem ) { - return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); - }, - - // Boolean properties - "enabled": function( elem ) { - return elem.disabled === false; - }, - - "disabled": function( elem ) { - return elem.disabled === true; - }, - - "checked": function( elem ) { - // In CSS3, :checked should return both checked and selected elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - var nodeName = elem.nodeName.toLowerCase(); - return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); - }, - - "selected": function( elem ) { - // Accessing this property makes selected-by-default - // options in Safari work properly - if ( elem.parentNode ) { - elem.parentNode.selectedIndex; - } - - return elem.selected === true; - }, - - // Contents - "empty": function( elem ) { - // http://www.w3.org/TR/selectors/#empty-pseudo - // :empty is only affected by element nodes and content nodes(including text(3), cdata(4)), - // not comment, processing instructions, or others - // Thanks to Diego Perini for the nodeName shortcut - // Greater than "@" means alpha characters (specifically not starting with "#" or "?") - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - if ( elem.nodeName > "@" || elem.nodeType === 3 || elem.nodeType === 4 ) { - return false; - } - } - return true; - }, - - "parent": function( elem ) { - return !Expr.pseudos["empty"]( elem ); - }, - - // Element/input types - "header": function( elem ) { - return rheader.test( elem.nodeName ); - }, - - "input": function( elem ) { - return rinputs.test( elem.nodeName ); - }, - - "button": function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === "button" || name === "button"; - }, - - "text": function( elem ) { - var attr; - // IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc) - // use getAttribute instead to test this case - return elem.nodeName.toLowerCase() === "input" && - elem.type === "text" && - ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === elem.type ); - }, - - // Position-in-collection - "first": createPositionalPseudo(function() { - return [ 0 ]; - }), - - "last": createPositionalPseudo(function( matchIndexes, length ) { - return [ length - 1 ]; - }), - - "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { - return [ argument < 0 ? argument + length : argument ]; - }), - - "even": createPositionalPseudo(function( matchIndexes, length ) { - var i = 0; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "odd": createPositionalPseudo(function( matchIndexes, length ) { - var i = 1; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { - var i = argument < 0 ? argument + length : argument; - for ( ; --i >= 0; ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { - var i = argument < 0 ? argument + length : argument; - for ( ; ++i < length; ) { - matchIndexes.push( i ); - } - return matchIndexes; - }) - } -}; - -// Add button/input type pseudos -for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { - Expr.pseudos[ i ] = createInputPseudo( i ); -} -for ( i in { submit: true, reset: true } ) { - Expr.pseudos[ i ] = createButtonPseudo( i ); -} - -function tokenize( selector, parseOnly ) { - var matched, match, tokens, type, - soFar, groups, preFilters, - cached = tokenCache[ selector + " " ]; - - if ( cached ) { - return parseOnly ? 0 : cached.slice( 0 ); - } - - soFar = selector; - groups = []; - preFilters = Expr.preFilter; - - while ( soFar ) { - - // Comma and first run - if ( !matched || (match = rcomma.exec( soFar )) ) { - if ( match ) { - // Don't consume trailing commas as valid - soFar = soFar.slice( match[0].length ) || soFar; - } - groups.push( tokens = [] ); - } - - matched = false; - - // Combinators - if ( (match = rcombinators.exec( soFar )) ) { - matched = match.shift(); - tokens.push( { - value: matched, - // Cast descendant combinators to space - type: match[0].replace( rtrim, " " ) - } ); - soFar = soFar.slice( matched.length ); - } - - // Filters - for ( type in Expr.filter ) { - if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || - (match = preFilters[ type ]( match ))) ) { - matched = match.shift(); - tokens.push( { - value: matched, - type: type, - matches: match - } ); - soFar = soFar.slice( matched.length ); - } - } - - if ( !matched ) { - break; - } - } - - // Return the length of the invalid excess - // if we're just parsing - // Otherwise, throw an error or return tokens - return parseOnly ? - soFar.length : - soFar ? - Sizzle.error( selector ) : - // Cache the tokens - tokenCache( selector, groups ).slice( 0 ); -} - -function toSelector( tokens ) { - var i = 0, - len = tokens.length, - selector = ""; - for ( ; i < len; i++ ) { - selector += tokens[i].value; - } - return selector; -} - -function addCombinator( matcher, combinator, base ) { - var dir = combinator.dir, - checkNonElements = base && dir === "parentNode", - doneName = done++; - - return combinator.first ? - // Check against closest ancestor/preceding element - function( elem, context, xml ) { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - return matcher( elem, context, xml ); - } - } - } : - - // Check against all ancestor/preceding elements - function( elem, context, xml ) { - var data, cache, outerCache, - dirkey = dirruns + " " + doneName; - - // We can't set arbitrary data on XML nodes, so they don't benefit from dir caching - if ( xml ) { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - if ( matcher( elem, context, xml ) ) { - return true; - } - } - } - } else { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - outerCache = elem[ expando ] || (elem[ expando ] = {}); - if ( (cache = outerCache[ dir ]) && cache[0] === dirkey ) { - if ( (data = cache[1]) === true || data === cachedruns ) { - return data === true; - } - } else { - cache = outerCache[ dir ] = [ dirkey ]; - cache[1] = matcher( elem, context, xml ) || cachedruns; - if ( cache[1] === true ) { - return true; - } - } - } - } - } - }; -} - -function elementMatcher( matchers ) { - return matchers.length > 1 ? - function( elem, context, xml ) { - var i = matchers.length; - while ( i-- ) { - if ( !matchers[i]( elem, context, xml ) ) { - return false; - } - } - return true; - } : - matchers[0]; -} - -function condense( unmatched, map, filter, context, xml ) { - var elem, - newUnmatched = [], - i = 0, - len = unmatched.length, - mapped = map != null; - - for ( ; i < len; i++ ) { - if ( (elem = unmatched[i]) ) { - if ( !filter || filter( elem, context, xml ) ) { - newUnmatched.push( elem ); - if ( mapped ) { - map.push( i ); - } - } - } - } - - return newUnmatched; -} - -function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { - if ( postFilter && !postFilter[ expando ] ) { - postFilter = setMatcher( postFilter ); - } - if ( postFinder && !postFinder[ expando ] ) { - postFinder = setMatcher( postFinder, postSelector ); - } - return markFunction(function( seed, results, context, xml ) { - var temp, i, elem, - preMap = [], - postMap = [], - preexisting = results.length, - - // Get initial elements from seed or context - elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), - - // Prefilter to get matcher input, preserving a map for seed-results synchronization - matcherIn = preFilter && ( seed || !selector ) ? - condense( elems, preMap, preFilter, context, xml ) : - elems, - - matcherOut = matcher ? - // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, - postFinder || ( seed ? preFilter : preexisting || postFilter ) ? - - // ...intermediate processing is necessary - [] : - - // ...otherwise use results directly - results : - matcherIn; - - // Find primary matches - if ( matcher ) { - matcher( matcherIn, matcherOut, context, xml ); - } - - // Apply postFilter - if ( postFilter ) { - temp = condense( matcherOut, postMap ); - postFilter( temp, [], context, xml ); - - // Un-match failing elements by moving them back to matcherIn - i = temp.length; - while ( i-- ) { - if ( (elem = temp[i]) ) { - matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); - } - } - } - - if ( seed ) { - if ( postFinder || preFilter ) { - if ( postFinder ) { - // Get the final matcherOut by condensing this intermediate into postFinder contexts - temp = []; - i = matcherOut.length; - while ( i-- ) { - if ( (elem = matcherOut[i]) ) { - // Restore matcherIn since elem is not yet a final match - temp.push( (matcherIn[i] = elem) ); - } - } - postFinder( null, (matcherOut = []), temp, xml ); - } - - // Move matched elements from seed to results to keep them synchronized - i = matcherOut.length; - while ( i-- ) { - if ( (elem = matcherOut[i]) && - (temp = postFinder ? indexOf.call( seed, elem ) : preMap[i]) > -1 ) { - - seed[temp] = !(results[temp] = elem); - } - } - } - - // Add elements to results, through postFinder if defined - } else { - matcherOut = condense( - matcherOut === results ? - matcherOut.splice( preexisting, matcherOut.length ) : - matcherOut - ); - if ( postFinder ) { - postFinder( null, results, matcherOut, xml ); - } else { - push.apply( results, matcherOut ); - } - } - }); -} - -function matcherFromTokens( tokens ) { - var checkContext, matcher, j, - len = tokens.length, - leadingRelative = Expr.relative[ tokens[0].type ], - implicitRelative = leadingRelative || Expr.relative[" "], - i = leadingRelative ? 1 : 0, - - // The foundational matcher ensures that elements are reachable from top-level context(s) - matchContext = addCombinator( function( elem ) { - return elem === checkContext; - }, implicitRelative, true ), - matchAnyContext = addCombinator( function( elem ) { - return indexOf.call( checkContext, elem ) > -1; - }, implicitRelative, true ), - matchers = [ function( elem, context, xml ) { - return ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( - (checkContext = context).nodeType ? - matchContext( elem, context, xml ) : - matchAnyContext( elem, context, xml ) ); - } ]; - - for ( ; i < len; i++ ) { - if ( (matcher = Expr.relative[ tokens[i].type ]) ) { - matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; - } else { - matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); - - // Return special upon seeing a positional matcher - if ( matcher[ expando ] ) { - // Find the next relative operator (if any) for proper handling - j = ++i; - for ( ; j < len; j++ ) { - if ( Expr.relative[ tokens[j].type ] ) { - break; - } - } - return setMatcher( - i > 1 && elementMatcher( matchers ), - i > 1 && toSelector( tokens.slice( 0, i - 1 ) ).replace( rtrim, "$1" ), - matcher, - i < j && matcherFromTokens( tokens.slice( i, j ) ), - j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), - j < len && toSelector( tokens ) - ); - } - matchers.push( matcher ); - } - } - - return elementMatcher( matchers ); -} - -function matcherFromGroupMatchers( elementMatchers, setMatchers ) { - // A counter to specify which element is currently being matched - var matcherCachedRuns = 0, - bySet = setMatchers.length > 0, - byElement = elementMatchers.length > 0, - superMatcher = function( seed, context, xml, results, expandContext ) { - var elem, j, matcher, - setMatched = [], - matchedCount = 0, - i = "0", - unmatched = seed && [], - outermost = expandContext != null, - contextBackup = outermostContext, - // We must always have either seed elements or context - elems = seed || byElement && Expr.find["TAG"]( "*", expandContext && context.parentNode || context ), - // Use integer dirruns iff this is the outermost matcher - dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1); - - if ( outermost ) { - outermostContext = context !== document && context; - cachedruns = matcherCachedRuns; - } - - // Add elements passing elementMatchers directly to results - // Keep `i` a string if there are no elements so `matchedCount` will be "00" below - for ( ; (elem = elems[i]) != null; i++ ) { - if ( byElement && elem ) { - j = 0; - while ( (matcher = elementMatchers[j++]) ) { - if ( matcher( elem, context, xml ) ) { - results.push( elem ); - break; - } - } - if ( outermost ) { - dirruns = dirrunsUnique; - cachedruns = ++matcherCachedRuns; - } - } - - // Track unmatched elements for set filters - if ( bySet ) { - // They will have gone through all possible matchers - if ( (elem = !matcher && elem) ) { - matchedCount--; - } - - // Lengthen the array for every element, matched or not - if ( seed ) { - unmatched.push( elem ); - } - } - } - - // Apply set filters to unmatched elements - matchedCount += i; - if ( bySet && i !== matchedCount ) { - j = 0; - while ( (matcher = setMatchers[j++]) ) { - matcher( unmatched, setMatched, context, xml ); - } - - if ( seed ) { - // Reintegrate element matches to eliminate the need for sorting - if ( matchedCount > 0 ) { - while ( i-- ) { - if ( !(unmatched[i] || setMatched[i]) ) { - setMatched[i] = pop.call( results ); - } - } - } - - // Discard index placeholder values to get only actual matches - setMatched = condense( setMatched ); - } - - // Add matches to results - push.apply( results, setMatched ); - - // Seedless set matches succeeding multiple successful matchers stipulate sorting - if ( outermost && !seed && setMatched.length > 0 && - ( matchedCount + setMatchers.length ) > 1 ) { - - Sizzle.uniqueSort( results ); - } - } - - // Override manipulation of globals by nested matchers - if ( outermost ) { - dirruns = dirrunsUnique; - outermostContext = contextBackup; - } - - return unmatched; - }; - - return bySet ? - markFunction( superMatcher ) : - superMatcher; -} - -compile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) { - var i, - setMatchers = [], - elementMatchers = [], - cached = compilerCache[ selector + " " ]; - - if ( !cached ) { - // Generate a function of recursive functions that can be used to check each element - if ( !group ) { - group = tokenize( selector ); - } - i = group.length; - while ( i-- ) { - cached = matcherFromTokens( group[i] ); - if ( cached[ expando ] ) { - setMatchers.push( cached ); - } else { - elementMatchers.push( cached ); - } - } - - // Cache the compiled function - cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); - } - return cached; -}; - -function multipleContexts( selector, contexts, results ) { - var i = 0, - len = contexts.length; - for ( ; i < len; i++ ) { - Sizzle( selector, contexts[i], results ); - } - return results; -} - -function select( selector, context, results, seed ) { - var i, tokens, token, type, find, - match = tokenize( selector ); - - if ( !seed ) { - // Try to minimize operations if there is only one group - if ( match.length === 1 ) { - - // Take a shortcut and set the context if the root selector is an ID - tokens = match[0] = match[0].slice( 0 ); - if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && - context.nodeType === 9 && !documentIsXML && - Expr.relative[ tokens[1].type ] ) { - - context = Expr.find["ID"]( token.matches[0].replace( runescape, funescape ), context )[0]; - if ( !context ) { - return results; - } - - selector = selector.slice( tokens.shift().value.length ); - } - - // Fetch a seed set for right-to-left matching - i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; - while ( i-- ) { - token = tokens[i]; - - // Abort if we hit a combinator - if ( Expr.relative[ (type = token.type) ] ) { - break; - } - if ( (find = Expr.find[ type ]) ) { - // Search, expanding context for leading sibling combinators - if ( (seed = find( - token.matches[0].replace( runescape, funescape ), - rsibling.test( tokens[0].type ) && context.parentNode || context - )) ) { - - // If seed is empty or no tokens remain, we can return early - tokens.splice( i, 1 ); - selector = seed.length && toSelector( tokens ); - if ( !selector ) { - push.apply( results, slice.call( seed, 0 ) ); - return results; - } - - break; - } - } - } - } - } - - // Compile and execute a filtering function - // Provide `match` to avoid retokenization if we modified the selector above - compile( selector, match )( - seed, - context, - documentIsXML, - results, - rsibling.test( selector ) - ); - return results; -} - -// Deprecated -Expr.pseudos["nth"] = Expr.pseudos["eq"]; - -// Easy API for creating new setFilters -function setFilters() {} -Expr.filters = setFilters.prototype = Expr.pseudos; -Expr.setFilters = new setFilters(); - -// Initialize with the default document -setDocument(); - -// Override sizzle attribute retrieval -Sizzle.attr = jQuery.attr; -jQuery.find = Sizzle; -jQuery.expr = Sizzle.selectors; -jQuery.expr[":"] = jQuery.expr.pseudos; -jQuery.unique = Sizzle.uniqueSort; -jQuery.text = Sizzle.getText; -jQuery.isXMLDoc = Sizzle.isXML; -jQuery.contains = Sizzle.contains; - - -})( window ); -var runtil = /Until$/, - rparentsprev = /^(?:parents|prev(?:Until|All))/, - isSimple = /^.[^:#\[\.,]*$/, - rneedsContext = jQuery.expr.match.needsContext, - // methods guaranteed to produce a unique set when starting from a unique set - guaranteedUnique = { - children: true, - contents: true, - next: true, - prev: true - }; - -jQuery.fn.extend({ - find: function( selector ) { - var i, ret, self, - len = this.length; - - if ( typeof selector !== "string" ) { - self = this; - return this.pushStack( jQuery( selector ).filter(function() { - for ( i = 0; i < len; i++ ) { - if ( jQuery.contains( self[ i ], this ) ) { - return true; - } - } - }) ); - } - - ret = []; - for ( i = 0; i < len; i++ ) { - jQuery.find( selector, this[ i ], ret ); - } - - // Needed because $( selector, context ) becomes $( context ).find( selector ) - ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret ); - ret.selector = ( this.selector ? this.selector + " " : "" ) + selector; - return ret; - }, - - has: function( target ) { - var i, - targets = jQuery( target, this ), - len = targets.length; - - return this.filter(function() { - for ( i = 0; i < len; i++ ) { - if ( jQuery.contains( this, targets[i] ) ) { - return true; - } - } - }); - }, - - not: function( selector ) { - return this.pushStack( winnow(this, selector, false) ); - }, - - filter: function( selector ) { - return this.pushStack( winnow(this, selector, true) ); - }, - - is: function( selector ) { - return !!selector && ( - typeof selector === "string" ? - // If this is a positional/relative selector, check membership in the returned set - // so $("p:first").is("p:last") won't return true for a doc with two "p". - rneedsContext.test( selector ) ? - jQuery( selector, this.context ).index( this[0] ) >= 0 : - jQuery.filter( selector, this ).length > 0 : - this.filter( selector ).length > 0 ); - }, - - closest: function( selectors, context ) { - var cur, - i = 0, - l = this.length, - ret = [], - pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ? - jQuery( selectors, context || this.context ) : - 0; - - for ( ; i < l; i++ ) { - cur = this[i]; - - while ( cur && cur.ownerDocument && cur !== context && cur.nodeType !== 11 ) { - if ( pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors) ) { - ret.push( cur ); - break; - } - cur = cur.parentNode; - } - } - - return this.pushStack( ret.length > 1 ? jQuery.unique( ret ) : ret ); - }, - - // Determine the position of an element within - // the matched set of elements - index: function( elem ) { - - // No argument, return index in parent - if ( !elem ) { - return ( this[0] && this[0].parentNode ) ? this.first().prevAll().length : -1; - } - - // index in selector - if ( typeof elem === "string" ) { - return jQuery.inArray( this[0], jQuery( elem ) ); - } - - // Locate the position of the desired element - return jQuery.inArray( - // If it receives a jQuery object, the first element is used - elem.jquery ? elem[0] : elem, this ); - }, - - add: function( selector, context ) { - var set = typeof selector === "string" ? - jQuery( selector, context ) : - jQuery.makeArray( selector && selector.nodeType ? [ selector ] : selector ), - all = jQuery.merge( this.get(), set ); - - return this.pushStack( jQuery.unique(all) ); - }, - - addBack: function( selector ) { - return this.add( selector == null ? - this.prevObject : this.prevObject.filter(selector) - ); - } -}); - -jQuery.fn.andSelf = jQuery.fn.addBack; - -function sibling( cur, dir ) { - do { - cur = cur[ dir ]; - } while ( cur && cur.nodeType !== 1 ); - - return cur; -} - -jQuery.each({ - parent: function( elem ) { - var parent = elem.parentNode; - return parent && parent.nodeType !== 11 ? parent : null; - }, - parents: function( elem ) { - return jQuery.dir( elem, "parentNode" ); - }, - parentsUntil: function( elem, i, until ) { - return jQuery.dir( elem, "parentNode", until ); - }, - next: function( elem ) { - return sibling( elem, "nextSibling" ); - }, - prev: function( elem ) { - return sibling( elem, "previousSibling" ); - }, - nextAll: function( elem ) { - return jQuery.dir( elem, "nextSibling" ); - }, - prevAll: function( elem ) { - return jQuery.dir( elem, "previousSibling" ); - }, - nextUntil: function( elem, i, until ) { - return jQuery.dir( elem, "nextSibling", until ); - }, - prevUntil: function( elem, i, until ) { - return jQuery.dir( elem, "previousSibling", until ); - }, - siblings: function( elem ) { - return jQuery.sibling( ( elem.parentNode || {} ).firstChild, elem ); - }, - children: function( elem ) { - return jQuery.sibling( elem.firstChild ); - }, - contents: function( elem ) { - return jQuery.nodeName( elem, "iframe" ) ? - elem.contentDocument || elem.contentWindow.document : - jQuery.merge( [], elem.childNodes ); - } -}, function( name, fn ) { - jQuery.fn[ name ] = function( until, selector ) { - var ret = jQuery.map( this, fn, until ); - - if ( !runtil.test( name ) ) { - selector = until; - } - - if ( selector && typeof selector === "string" ) { - ret = jQuery.filter( selector, ret ); - } - - ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; - - if ( this.length > 1 && rparentsprev.test( name ) ) { - ret = ret.reverse(); - } - - return this.pushStack( ret ); - }; -}); - -jQuery.extend({ - filter: function( expr, elems, not ) { - if ( not ) { - expr = ":not(" + expr + ")"; - } - - return elems.length === 1 ? - jQuery.find.matchesSelector(elems[0], expr) ? [ elems[0] ] : [] : - jQuery.find.matches(expr, elems); - }, - - dir: function( elem, dir, until ) { - var matched = [], - cur = elem[ dir ]; - - while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) { - if ( cur.nodeType === 1 ) { - matched.push( cur ); - } - cur = cur[dir]; - } - return matched; - }, - - sibling: function( n, elem ) { - var r = []; - - for ( ; n; n = n.nextSibling ) { - if ( n.nodeType === 1 && n !== elem ) { - r.push( n ); - } - } - - return r; - } -}); - -// Implement the identical functionality for filter and not -function winnow( elements, qualifier, keep ) { - - // Can't pass null or undefined to indexOf in Firefox 4 - // Set to 0 to skip string check - qualifier = qualifier || 0; - - if ( jQuery.isFunction( qualifier ) ) { - return jQuery.grep(elements, function( elem, i ) { - var retVal = !!qualifier.call( elem, i, elem ); - return retVal === keep; - }); - - } else if ( qualifier.nodeType ) { - return jQuery.grep(elements, function( elem ) { - return ( elem === qualifier ) === keep; - }); - - } else if ( typeof qualifier === "string" ) { - var filtered = jQuery.grep(elements, function( elem ) { - return elem.nodeType === 1; - }); - - if ( isSimple.test( qualifier ) ) { - return jQuery.filter(qualifier, filtered, !keep); - } else { - qualifier = jQuery.filter( qualifier, filtered ); - } - } - - return jQuery.grep(elements, function( elem ) { - return ( jQuery.inArray( elem, qualifier ) >= 0 ) === keep; - }); -} -function createSafeFragment( document ) { - var list = nodeNames.split( "|" ), - safeFrag = document.createDocumentFragment(); - - if ( safeFrag.createElement ) { - while ( list.length ) { - safeFrag.createElement( - list.pop() - ); - } - } - return safeFrag; -} - -var nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|" + - "header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", - rinlinejQuery = / jQuery\d+="(?:null|\d+)"/g, - rnoshimcache = new RegExp("<(?:" + nodeNames + ")[\\s/>]", "i"), - rleadingWhitespace = /^\s+/, - rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, - rtagName = /<([\w:]+)/, - rtbody = /<tbody/i, - rhtml = /<|&#?\w+;/, - rnoInnerhtml = /<(?:script|style|link)/i, - manipulation_rcheckableType = /^(?:checkbox|radio)$/i, - // checked="checked" or checked - rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, - rscriptType = /^$|\/(?:java|ecma)script/i, - rscriptTypeMasked = /^true\/(.*)/, - rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g, - - // We have to close these tags to support XHTML (#13200) - wrapMap = { - option: [ 1, "<select multiple='multiple'>", "</select>" ], - legend: [ 1, "<fieldset>", "</fieldset>" ], - area: [ 1, "<map>", "</map>" ], - param: [ 1, "<object>", "</object>" ], - thead: [ 1, "<table>", "</table>" ], - tr: [ 2, "<table><tbody>", "</tbody></table>" ], - col: [ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ], - td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ], - - // IE6-8 can't serialize link, script, style, or any html5 (NoScope) tags, - // unless wrapped in a div with non-breaking characters in front of it. - _default: jQuery.support.htmlSerialize ? [ 0, "", "" ] : [ 1, "X<div>", "</div>" ] - }, - safeFragment = createSafeFragment( document ), - fragmentDiv = safeFragment.appendChild( document.createElement("div") ); - -wrapMap.optgroup = wrapMap.option; -wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; -wrapMap.th = wrapMap.td; - -jQuery.fn.extend({ - text: function( value ) { - return jQuery.access( this, function( value ) { - return value === undefined ? - jQuery.text( this ) : - this.empty().append( ( this[0] && this[0].ownerDocument || document ).createTextNode( value ) ); - }, null, value, arguments.length ); - }, - - wrapAll: function( html ) { - if ( jQuery.isFunction( html ) ) { - return this.each(function(i) { - jQuery(this).wrapAll( html.call(this, i) ); - }); - } - - if ( this[0] ) { - // The elements to wrap the target around - var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true); - - if ( this[0].parentNode ) { - wrap.insertBefore( this[0] ); - } - - wrap.map(function() { - var elem = this; - - while ( elem.firstChild && elem.firstChild.nodeType === 1 ) { - elem = elem.firstChild; - } - - return elem; - }).append( this ); - } - - return this; - }, - - wrapInner: function( html ) { - if ( jQuery.isFunction( html ) ) { - return this.each(function(i) { - jQuery(this).wrapInner( html.call(this, i) ); - }); - } - - return this.each(function() { - var self = jQuery( this ), - contents = self.contents(); - - if ( contents.length ) { - contents.wrapAll( html ); - - } else { - self.append( html ); - } - }); - }, - - wrap: function( html ) { - var isFunction = jQuery.isFunction( html ); - - return this.each(function(i) { - jQuery( this ).wrapAll( isFunction ? html.call(this, i) : html ); - }); - }, - - unwrap: function() { - return this.parent().each(function() { - if ( !jQuery.nodeName( this, "body" ) ) { - jQuery( this ).replaceWith( this.childNodes ); - } - }).end(); - }, - - append: function() { - return this.domManip(arguments, true, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - this.appendChild( elem ); - } - }); - }, - - prepend: function() { - return this.domManip(arguments, true, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - this.insertBefore( elem, this.firstChild ); - } - }); - }, - - before: function() { - return this.domManip( arguments, false, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this ); - } - }); - }, - - after: function() { - return this.domManip( arguments, false, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this.nextSibling ); - } - }); - }, - - // keepData is for internal use only--do not document - remove: function( selector, keepData ) { - var elem, - i = 0; - - for ( ; (elem = this[i]) != null; i++ ) { - if ( !selector || jQuery.filter( selector, [ elem ] ).length > 0 ) { - if ( !keepData && elem.nodeType === 1 ) { - jQuery.cleanData( getAll( elem ) ); - } - - if ( elem.parentNode ) { - if ( keepData && jQuery.contains( elem.ownerDocument, elem ) ) { - setGlobalEval( getAll( elem, "script" ) ); - } - elem.parentNode.removeChild( elem ); - } - } - } - - return this; - }, - - empty: function() { - var elem, - i = 0; - - for ( ; (elem = this[i]) != null; i++ ) { - // Remove element nodes and prevent memory leaks - if ( elem.nodeType === 1 ) { - jQuery.cleanData( getAll( elem, false ) ); - } - - // Remove any remaining nodes - while ( elem.firstChild ) { - elem.removeChild( elem.firstChild ); - } - - // If this is a select, ensure that it displays empty (#12336) - // Support: IE<9 - if ( elem.options && jQuery.nodeName( elem, "select" ) ) { - elem.options.length = 0; - } - } - - return this; - }, - - clone: function( dataAndEvents, deepDataAndEvents ) { - dataAndEvents = dataAndEvents == null ? false : dataAndEvents; - deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; - - return this.map( function () { - return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); - }); - }, - - html: function( value ) { - return jQuery.access( this, function( value ) { - var elem = this[0] || {}, - i = 0, - l = this.length; - - if ( value === undefined ) { - return elem.nodeType === 1 ? - elem.innerHTML.replace( rinlinejQuery, "" ) : - undefined; - } - - // See if we can take a shortcut and just use innerHTML - if ( typeof value === "string" && !rnoInnerhtml.test( value ) && - ( jQuery.support.htmlSerialize || !rnoshimcache.test( value ) ) && - ( jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value ) ) && - !wrapMap[ ( rtagName.exec( value ) || ["", ""] )[1].toLowerCase() ] ) { - - value = value.replace( rxhtmlTag, "<$1></$2>" ); - - try { - for (; i < l; i++ ) { - // Remove element nodes and prevent memory leaks - elem = this[i] || {}; - if ( elem.nodeType === 1 ) { - jQuery.cleanData( getAll( elem, false ) ); - elem.innerHTML = value; - } - } - - elem = 0; - - // If using innerHTML throws an exception, use the fallback method - } catch(e) {} - } - - if ( elem ) { - this.empty().append( value ); - } - }, null, value, arguments.length ); - }, - - replaceWith: function( value ) { - var isFunc = jQuery.isFunction( value ); - - // Make sure that the elements are removed from the DOM before they are inserted - // this can help fix replacing a parent with child elements - if ( !isFunc && typeof value !== "string" ) { - value = jQuery( value ).not( this ).detach(); - } - - return this.domManip( [ value ], true, function( elem ) { - var next = this.nextSibling, - parent = this.parentNode; - - if ( parent ) { - jQuery( this ).remove(); - parent.insertBefore( elem, next ); - } - }); - }, - - detach: function( selector ) { - return this.remove( selector, true ); - }, - - domManip: function( args, table, callback ) { - - // Flatten any nested arrays - args = core_concat.apply( [], args ); - - var first, node, hasScripts, - scripts, doc, fragment, - i = 0, - l = this.length, - set = this, - iNoClone = l - 1, - value = args[0], - isFunction = jQuery.isFunction( value ); - - // We can't cloneNode fragments that contain checked, in WebKit - if ( isFunction || !( l <= 1 || typeof value !== "string" || jQuery.support.checkClone || !rchecked.test( value ) ) ) { - return this.each(function( index ) { - var self = set.eq( index ); - if ( isFunction ) { - args[0] = value.call( this, index, table ? self.html() : undefined ); - } - self.domManip( args, table, callback ); - }); - } - - if ( l ) { - fragment = jQuery.buildFragment( args, this[ 0 ].ownerDocument, false, this ); - first = fragment.firstChild; - - if ( fragment.childNodes.length === 1 ) { - fragment = first; - } - - if ( first ) { - table = table && jQuery.nodeName( first, "tr" ); - scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); - hasScripts = scripts.length; - - // Use the original fragment for the last item instead of the first because it can end up - // being emptied incorrectly in certain situations (#8070). - for ( ; i < l; i++ ) { - node = fragment; - - if ( i !== iNoClone ) { - node = jQuery.clone( node, true, true ); - - // Keep references to cloned scripts for later restoration - if ( hasScripts ) { - jQuery.merge( scripts, getAll( node, "script" ) ); - } - } - - callback.call( - table && jQuery.nodeName( this[i], "table" ) ? - findOrAppend( this[i], "tbody" ) : - this[i], - node, - i - ); - } - - if ( hasScripts ) { - doc = scripts[ scripts.length - 1 ].ownerDocument; - - // Reenable scripts - jQuery.map( scripts, restoreScript ); - - // Evaluate executable scripts on first document insertion - for ( i = 0; i < hasScripts; i++ ) { - node = scripts[ i ]; - if ( rscriptType.test( node.type || "" ) && - !jQuery._data( node, "globalEval" ) && jQuery.contains( doc, node ) ) { - - if ( node.src ) { - // Hope ajax is available... - jQuery.ajax({ - url: node.src, - type: "GET", - dataType: "script", - async: false, - global: false, - "throws": true - }); - } else { - jQuery.globalEval( ( node.text || node.textContent || node.innerHTML || "" ).replace( rcleanScript, "" ) ); - } - } - } - } - - // Fix #11809: Avoid leaking memory - fragment = first = null; - } - } - - return this; - } -}); - -function findOrAppend( elem, tag ) { - return elem.getElementsByTagName( tag )[0] || elem.appendChild( elem.ownerDocument.createElement( tag ) ); -} - -// Replace/restore the type attribute of script elements for safe DOM manipulation -function disableScript( elem ) { - var attr = elem.getAttributeNode("type"); - elem.type = ( attr && attr.specified ) + "/" + elem.type; - return elem; -} -function restoreScript( elem ) { - var match = rscriptTypeMasked.exec( elem.type ); - if ( match ) { - elem.type = match[1]; - } else { - elem.removeAttribute("type"); - } - return elem; -} - -// Mark scripts as having already been evaluated -function setGlobalEval( elems, refElements ) { - var elem, - i = 0; - for ( ; (elem = elems[i]) != null; i++ ) { - jQuery._data( elem, "globalEval", !refElements || jQuery._data( refElements[i], "globalEval" ) ); - } -} - -function cloneCopyEvent( src, dest ) { - - if ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) { - return; - } - - var type, i, l, - oldData = jQuery._data( src ), - curData = jQuery._data( dest, oldData ), - events = oldData.events; - - if ( events ) { - delete curData.handle; - curData.events = {}; - - for ( type in events ) { - for ( i = 0, l = events[ type ].length; i < l; i++ ) { - jQuery.event.add( dest, type, events[ type ][ i ] ); - } - } - } - - // make the cloned public data object a copy from the original - if ( curData.data ) { - curData.data = jQuery.extend( {}, curData.data ); - } -} - -function fixCloneNodeIssues( src, dest ) { - var nodeName, e, data; - - // We do not need to do anything for non-Elements - if ( dest.nodeType !== 1 ) { - return; - } - - nodeName = dest.nodeName.toLowerCase(); - - // IE6-8 copies events bound via attachEvent when using cloneNode. - if ( !jQuery.support.noCloneEvent && dest[ jQuery.expando ] ) { - data = jQuery._data( dest ); - - for ( e in data.events ) { - jQuery.removeEvent( dest, e, data.handle ); - } - - // Event data gets referenced instead of copied if the expando gets copied too - dest.removeAttribute( jQuery.expando ); - } - - // IE blanks contents when cloning scripts, and tries to evaluate newly-set text - if ( nodeName === "script" && dest.text !== src.text ) { - disableScript( dest ).text = src.text; - restoreScript( dest ); - - // IE6-10 improperly clones children of object elements using classid. - // IE10 throws NoModificationAllowedError if parent is null, #12132. - } else if ( nodeName === "object" ) { - if ( dest.parentNode ) { - dest.outerHTML = src.outerHTML; - } - - // This path appears unavoidable for IE9. When cloning an object - // element in IE9, the outerHTML strategy above is not sufficient. - // If the src has innerHTML and the destination does not, - // copy the src.innerHTML into the dest.innerHTML. #10324 - if ( jQuery.support.html5Clone && ( src.innerHTML && !jQuery.trim(dest.innerHTML) ) ) { - dest.innerHTML = src.innerHTML; - } - - } else if ( nodeName === "input" && manipulation_rcheckableType.test( src.type ) ) { - // IE6-8 fails to persist the checked state of a cloned checkbox - // or radio button. Worse, IE6-7 fail to give the cloned element - // a checked appearance if the defaultChecked value isn't also set - - dest.defaultChecked = dest.checked = src.checked; - - // IE6-7 get confused and end up setting the value of a cloned - // checkbox/radio button to an empty string instead of "on" - if ( dest.value !== src.value ) { - dest.value = src.value; - } - - // IE6-8 fails to return the selected option to the default selected - // state when cloning options - } else if ( nodeName === "option" ) { - dest.defaultSelected = dest.selected = src.defaultSelected; - - // IE6-8 fails to set the defaultValue to the correct value when - // cloning other types of input fields - } else if ( nodeName === "input" || nodeName === "textarea" ) { - dest.defaultValue = src.defaultValue; - } -} - -jQuery.each({ - appendTo: "append", - prependTo: "prepend", - insertBefore: "before", - insertAfter: "after", - replaceAll: "replaceWith" -}, function( name, original ) { - jQuery.fn[ name ] = function( selector ) { - var elems, - i = 0, - ret = [], - insert = jQuery( selector ), - last = insert.length - 1; - - for ( ; i <= last; i++ ) { - elems = i === last ? this : this.clone(true); - jQuery( insert[i] )[ original ]( elems ); - - // Modern browsers can apply jQuery collections as arrays, but oldIE needs a .get() - core_push.apply( ret, elems.get() ); - } - - return this.pushStack( ret ); - }; -}); - -function getAll( context, tag ) { - var elems, elem, - i = 0, - found = typeof context.getElementsByTagName !== core_strundefined ? context.getElementsByTagName( tag || "*" ) : - typeof context.querySelectorAll !== core_strundefined ? context.querySelectorAll( tag || "*" ) : - undefined; - - if ( !found ) { - for ( found = [], elems = context.childNodes || context; (elem = elems[i]) != null; i++ ) { - if ( !tag || jQuery.nodeName( elem, tag ) ) { - found.push( elem ); - } else { - jQuery.merge( found, getAll( elem, tag ) ); - } - } - } - - return tag === undefined || tag && jQuery.nodeName( context, tag ) ? - jQuery.merge( [ context ], found ) : - found; -} - -// Used in buildFragment, fixes the defaultChecked property -function fixDefaultChecked( elem ) { - if ( manipulation_rcheckableType.test( elem.type ) ) { - elem.defaultChecked = elem.checked; - } -} - -jQuery.extend({ - clone: function( elem, dataAndEvents, deepDataAndEvents ) { - var destElements, node, clone, i, srcElements, - inPage = jQuery.contains( elem.ownerDocument, elem ); - - if ( jQuery.support.html5Clone || jQuery.isXMLDoc(elem) || !rnoshimcache.test( "<" + elem.nodeName + ">" ) ) { - clone = elem.cloneNode( true ); - - // IE<=8 does not properly clone detached, unknown element nodes - } else { - fragmentDiv.innerHTML = elem.outerHTML; - fragmentDiv.removeChild( clone = fragmentDiv.firstChild ); - } - - if ( (!jQuery.support.noCloneEvent || !jQuery.support.noCloneChecked) && - (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) { - - // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2 - destElements = getAll( clone ); - srcElements = getAll( elem ); - - // Fix all IE cloning issues - for ( i = 0; (node = srcElements[i]) != null; ++i ) { - // Ensure that the destination node is not null; Fixes #9587 - if ( destElements[i] ) { - fixCloneNodeIssues( node, destElements[i] ); - } - } - } - - // Copy the events from the original to the clone - if ( dataAndEvents ) { - if ( deepDataAndEvents ) { - srcElements = srcElements || getAll( elem ); - destElements = destElements || getAll( clone ); - - for ( i = 0; (node = srcElements[i]) != null; i++ ) { - cloneCopyEvent( node, destElements[i] ); - } - } else { - cloneCopyEvent( elem, clone ); - } - } - - // Preserve script evaluation history - destElements = getAll( clone, "script" ); - if ( destElements.length > 0 ) { - setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); - } - - destElements = srcElements = node = null; - - // Return the cloned set - return clone; - }, - - buildFragment: function( elems, context, scripts, selection ) { - var j, elem, contains, - tmp, tag, tbody, wrap, - l = elems.length, - - // Ensure a safe fragment - safe = createSafeFragment( context ), - - nodes = [], - i = 0; - - for ( ; i < l; i++ ) { - elem = elems[ i ]; - - if ( elem || elem === 0 ) { - - // Add nodes directly - if ( jQuery.type( elem ) === "object" ) { - jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); - - // Convert non-html into a text node - } else if ( !rhtml.test( elem ) ) { - nodes.push( context.createTextNode( elem ) ); - - // Convert html into DOM nodes - } else { - tmp = tmp || safe.appendChild( context.createElement("div") ); - - // Deserialize a standard representation - tag = ( rtagName.exec( elem ) || ["", ""] )[1].toLowerCase(); - wrap = wrapMap[ tag ] || wrapMap._default; - - tmp.innerHTML = wrap[1] + elem.replace( rxhtmlTag, "<$1></$2>" ) + wrap[2]; - - // Descend through wrappers to the right content - j = wrap[0]; - while ( j-- ) { - tmp = tmp.lastChild; - } - - // Manually add leading whitespace removed by IE - if ( !jQuery.support.leadingWhitespace && rleadingWhitespace.test( elem ) ) { - nodes.push( context.createTextNode( rleadingWhitespace.exec( elem )[0] ) ); - } - - // Remove IE's autoinserted <tbody> from table fragments - if ( !jQuery.support.tbody ) { - - // String was a <table>, *may* have spurious <tbody> - elem = tag === "table" && !rtbody.test( elem ) ? - tmp.firstChild : - - // String was a bare <thead> or <tfoot> - wrap[1] === "<table>" && !rtbody.test( elem ) ? - tmp : - 0; - - j = elem && elem.childNodes.length; - while ( j-- ) { - if ( jQuery.nodeName( (tbody = elem.childNodes[j]), "tbody" ) && !tbody.childNodes.length ) { - elem.removeChild( tbody ); - } - } - } - - jQuery.merge( nodes, tmp.childNodes ); - - // Fix #12392 for WebKit and IE > 9 - tmp.textContent = ""; - - // Fix #12392 for oldIE - while ( tmp.firstChild ) { - tmp.removeChild( tmp.firstChild ); - } - - // Remember the top-level container for proper cleanup - tmp = safe.lastChild; - } - } - } - - // Fix #11356: Clear elements from fragment - if ( tmp ) { - safe.removeChild( tmp ); - } - - // Reset defaultChecked for any radios and checkboxes - // about to be appended to the DOM in IE 6/7 (#8060) - if ( !jQuery.support.appendChecked ) { - jQuery.grep( getAll( nodes, "input" ), fixDefaultChecked ); - } - - i = 0; - while ( (elem = nodes[ i++ ]) ) { - - // #4087 - If origin and destination elements are the same, and this is - // that element, do not do anything - if ( selection && jQuery.inArray( elem, selection ) !== -1 ) { - continue; - } - - contains = jQuery.contains( elem.ownerDocument, elem ); - - // Append to fragment - tmp = getAll( safe.appendChild( elem ), "script" ); - - // Preserve script evaluation history - if ( contains ) { - setGlobalEval( tmp ); - } - - // Capture executables - if ( scripts ) { - j = 0; - while ( (elem = tmp[ j++ ]) ) { - if ( rscriptType.test( elem.type || "" ) ) { - scripts.push( elem ); - } - } - } - } - - tmp = null; - - return safe; - }, - - cleanData: function( elems, /* internal */ acceptData ) { - var elem, type, id, data, - i = 0, - internalKey = jQuery.expando, - cache = jQuery.cache, - deleteExpando = jQuery.support.deleteExpando, - special = jQuery.event.special; - - for ( ; (elem = elems[i]) != null; i++ ) { - - if ( acceptData || jQuery.acceptData( elem ) ) { - - id = elem[ internalKey ]; - data = id && cache[ id ]; - - if ( data ) { - if ( data.events ) { - for ( type in data.events ) { - if ( special[ type ] ) { - jQuery.event.remove( elem, type ); - - // This is a shortcut to avoid jQuery.event.remove's overhead - } else { - jQuery.removeEvent( elem, type, data.handle ); - } - } - } - - // Remove cache only if it was not already removed by jQuery.event.remove - if ( cache[ id ] ) { - - delete cache[ id ]; - - // IE does not allow us to delete expando properties from nodes, - // nor does it have a removeAttribute function on Document nodes; - // we must handle all of these cases - if ( deleteExpando ) { - delete elem[ internalKey ]; - - } else if ( typeof elem.removeAttribute !== core_strundefined ) { - elem.removeAttribute( internalKey ); - - } else { - elem[ internalKey ] = null; - } - - core_deletedIds.push( id ); - } - } - } - } - } -}); -var iframe, getStyles, curCSS, - ralpha = /alpha\([^)]*\)/i, - ropacity = /opacity\s*=\s*([^)]*)/, - rposition = /^(top|right|bottom|left)$/, - // swappable if display is none or starts with table except "table", "table-cell", or "table-caption" - // see here for display values: https://developer.mozilla.org/en-US/docs/CSS/display - rdisplayswap = /^(none|table(?!-c[ea]).+)/, - rmargin = /^margin/, - rnumsplit = new RegExp( "^(" + core_pnum + ")(.*)$", "i" ), - rnumnonpx = new RegExp( "^(" + core_pnum + ")(?!px)[a-z%]+$", "i" ), - rrelNum = new RegExp( "^([+-])=(" + core_pnum + ")", "i" ), - elemdisplay = { BODY: "block" }, - - cssShow = { position: "absolute", visibility: "hidden", display: "block" }, - cssNormalTransform = { - letterSpacing: 0, - fontWeight: 400 - }, - - cssExpand = [ "Top", "Right", "Bottom", "Left" ], - cssPrefixes = [ "Webkit", "O", "Moz", "ms" ]; - -// return a css property mapped to a potentially vendor prefixed property -function vendorPropName( style, name ) { - - // shortcut for names that are not vendor prefixed - if ( name in style ) { - return name; - } - - // check for vendor prefixed names - var capName = name.charAt(0).toUpperCase() + name.slice(1), - origName = name, - i = cssPrefixes.length; - - while ( i-- ) { - name = cssPrefixes[ i ] + capName; - if ( name in style ) { - return name; - } - } - - return origName; -} - -function isHidden( elem, el ) { - // isHidden might be called from jQuery#filter function; - // in that case, element will be second argument - elem = el || elem; - return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem ); -} - -function showHide( elements, show ) { - var display, elem, hidden, - values = [], - index = 0, - length = elements.length; - - for ( ; index < length; index++ ) { - elem = elements[ index ]; - if ( !elem.style ) { - continue; - } - - values[ index ] = jQuery._data( elem, "olddisplay" ); - display = elem.style.display; - if ( show ) { - // Reset the inline display of this element to learn if it is - // being hidden by cascaded rules or not - if ( !values[ index ] && display === "none" ) { - elem.style.display = ""; - } - - // Set elements which have been overridden with display: none - // in a stylesheet to whatever the default browser style is - // for such an element - if ( elem.style.display === "" && isHidden( elem ) ) { - values[ index ] = jQuery._data( elem, "olddisplay", css_defaultDisplay(elem.nodeName) ); - } - } else { - - if ( !values[ index ] ) { - hidden = isHidden( elem ); - - if ( display && display !== "none" || !hidden ) { - jQuery._data( elem, "olddisplay", hidden ? display : jQuery.css( elem, "display" ) ); - } - } - } - } - - // Set the display of most of the elements in a second loop - // to avoid the constant reflow - for ( index = 0; index < length; index++ ) { - elem = elements[ index ]; - if ( !elem.style ) { - continue; - } - if ( !show || elem.style.display === "none" || elem.style.display === "" ) { - elem.style.display = show ? values[ index ] || "" : "none"; - } - } - - return elements; -} - -jQuery.fn.extend({ - css: function( name, value ) { - return jQuery.access( this, function( elem, name, value ) { - var len, styles, - map = {}, - i = 0; - - if ( jQuery.isArray( name ) ) { - styles = getStyles( elem ); - len = name.length; - - for ( ; i < len; i++ ) { - map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); - } - - return map; - } - - return value !== undefined ? - jQuery.style( elem, name, value ) : - jQuery.css( elem, name ); - }, name, value, arguments.length > 1 ); - }, - show: function() { - return showHide( this, true ); - }, - hide: function() { - return showHide( this ); - }, - toggle: function( state ) { - var bool = typeof state === "boolean"; - - return this.each(function() { - if ( bool ? state : isHidden( this ) ) { - jQuery( this ).show(); - } else { - jQuery( this ).hide(); - } - }); - } -}); - -jQuery.extend({ - // Add in style property hooks for overriding the default - // behavior of getting and setting a style property - cssHooks: { - opacity: { - get: function( elem, computed ) { - if ( computed ) { - // We should always get a number back from opacity - var ret = curCSS( elem, "opacity" ); - return ret === "" ? "1" : ret; - } - } - } - }, - - // Exclude the following css properties to add px - cssNumber: { - "columnCount": true, - "fillOpacity": true, - "fontWeight": true, - "lineHeight": true, - "opacity": true, - "orphans": true, - "widows": true, - "zIndex": true, - "zoom": true - }, - - // Add in properties whose names you wish to fix before - // setting or getting the value - cssProps: { - // normalize float css property - "float": jQuery.support.cssFloat ? "cssFloat" : "styleFloat" - }, - - // Get and set the style property on a DOM Node - style: function( elem, name, value, extra ) { - // Don't set styles on text and comment nodes - if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { - return; - } - - // Make sure that we're working with the right name - var ret, type, hooks, - origName = jQuery.camelCase( name ), - style = elem.style; - - name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( style, origName ) ); - - // gets hook for the prefixed version - // followed by the unprefixed version - hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; - - // Check if we're setting a value - if ( value !== undefined ) { - type = typeof value; - - // convert relative number strings (+= or -=) to relative numbers. #7345 - if ( type === "string" && (ret = rrelNum.exec( value )) ) { - value = ( ret[1] + 1 ) * ret[2] + parseFloat( jQuery.css( elem, name ) ); - // Fixes bug #9237 - type = "number"; - } - - // Make sure that NaN and null values aren't set. See: #7116 - if ( value == null || type === "number" && isNaN( value ) ) { - return; - } - - // If a number was passed in, add 'px' to the (except for certain CSS properties) - if ( type === "number" && !jQuery.cssNumber[ origName ] ) { - value += "px"; - } - - // Fixes #8908, it can be done more correctly by specifing setters in cssHooks, - // but it would mean to define eight (for every problematic property) identical functions - if ( !jQuery.support.clearCloneStyle && value === "" && name.indexOf("background") === 0 ) { - style[ name ] = "inherit"; - } - - // If a hook was provided, use that value, otherwise just set the specified value - if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value, extra )) !== undefined ) { - - // Wrapped to prevent IE from throwing errors when 'invalid' values are provided - // Fixes bug #5509 - try { - style[ name ] = value; - } catch(e) {} - } - - } else { - // If a hook was provided get the non-computed value from there - if ( hooks && "get" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) { - return ret; - } - - // Otherwise just get the value from the style object - return style[ name ]; - } - }, - - css: function( elem, name, extra, styles ) { - var num, val, hooks, - origName = jQuery.camelCase( name ); - - // Make sure that we're working with the right name - name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( elem.style, origName ) ); - - // gets hook for the prefixed version - // followed by the unprefixed version - hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; - - // If a hook was provided get the computed value from there - if ( hooks && "get" in hooks ) { - val = hooks.get( elem, true, extra ); - } - - // Otherwise, if a way to get the computed value exists, use that - if ( val === undefined ) { - val = curCSS( elem, name, styles ); - } - - //convert "normal" to computed value - if ( val === "normal" && name in cssNormalTransform ) { - val = cssNormalTransform[ name ]; - } - - // Return, converting to number if forced or a qualifier was provided and val looks numeric - if ( extra === "" || extra ) { - num = parseFloat( val ); - return extra === true || jQuery.isNumeric( num ) ? num || 0 : val; - } - return val; - }, - - // A method for quickly swapping in/out CSS properties to get correct calculations - swap: function( elem, options, callback, args ) { - var ret, name, - old = {}; - - // Remember the old values, and insert the new ones - for ( name in options ) { - old[ name ] = elem.style[ name ]; - elem.style[ name ] = options[ name ]; - } - - ret = callback.apply( elem, args || [] ); - - // Revert the old values - for ( name in options ) { - elem.style[ name ] = old[ name ]; - } - - return ret; - } -}); - -// NOTE: we've included the "window" in window.getComputedStyle -// because jsdom on node.js will break without it. -if ( window.getComputedStyle ) { - getStyles = function( elem ) { - return window.getComputedStyle( elem, null ); - }; - - curCSS = function( elem, name, _computed ) { - var width, minWidth, maxWidth, - computed = _computed || getStyles( elem ), - - // getPropertyValue is only needed for .css('filter') in IE9, see #12537 - ret = computed ? computed.getPropertyValue( name ) || computed[ name ] : undefined, - style = elem.style; - - if ( computed ) { - - if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { - ret = jQuery.style( elem, name ); - } - - // A tribute to the "awesome hack by Dean Edwards" - // Chrome < 17 and Safari 5.0 uses "computed value" instead of "used value" for margin-right - // Safari 5.1.7 (at least) returns percentage for a larger set of values, but width seems to be reliably pixels - // this is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values - if ( rnumnonpx.test( ret ) && rmargin.test( name ) ) { - - // Remember the original values - width = style.width; - minWidth = style.minWidth; - maxWidth = style.maxWidth; - - // Put in the new values to get a computed value out - style.minWidth = style.maxWidth = style.width = ret; - ret = computed.width; - - // Revert the changed values - style.width = width; - style.minWidth = minWidth; - style.maxWidth = maxWidth; - } - } - - return ret; - }; -} else if ( document.documentElement.currentStyle ) { - getStyles = function( elem ) { - return elem.currentStyle; - }; - - curCSS = function( elem, name, _computed ) { - var left, rs, rsLeft, - computed = _computed || getStyles( elem ), - ret = computed ? computed[ name ] : undefined, - style = elem.style; - - // Avoid setting ret to empty string here - // so we don't default to auto - if ( ret == null && style && style[ name ] ) { - ret = style[ name ]; - } - - // From the awesome hack by Dean Edwards - // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291 - - // If we're not dealing with a regular pixel number - // but a number that has a weird ending, we need to convert it to pixels - // but not position css attributes, as those are proportional to the parent element instead - // and we can't measure the parent instead because it might trigger a "stacking dolls" problem - if ( rnumnonpx.test( ret ) && !rposition.test( name ) ) { - - // Remember the original values - left = style.left; - rs = elem.runtimeStyle; - rsLeft = rs && rs.left; - - // Put in the new values to get a computed value out - if ( rsLeft ) { - rs.left = elem.currentStyle.left; - } - style.left = name === "fontSize" ? "1em" : ret; - ret = style.pixelLeft + "px"; - - // Revert the changed values - style.left = left; - if ( rsLeft ) { - rs.left = rsLeft; - } - } - - return ret === "" ? "auto" : ret; - }; -} - -function setPositiveNumber( elem, value, subtract ) { - var matches = rnumsplit.exec( value ); - return matches ? - // Guard against undefined "subtract", e.g., when used as in cssHooks - Math.max( 0, matches[ 1 ] - ( subtract || 0 ) ) + ( matches[ 2 ] || "px" ) : - value; -} - -function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) { - var i = extra === ( isBorderBox ? "border" : "content" ) ? - // If we already have the right measurement, avoid augmentation - 4 : - // Otherwise initialize for horizontal or vertical properties - name === "width" ? 1 : 0, - - val = 0; - - for ( ; i < 4; i += 2 ) { - // both box models exclude margin, so add it if we want it - if ( extra === "margin" ) { - val += jQuery.css( elem, extra + cssExpand[ i ], true, styles ); - } - - if ( isBorderBox ) { - // border-box includes padding, so remove it if we want content - if ( extra === "content" ) { - val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); - } - - // at this point, extra isn't border nor margin, so remove border - if ( extra !== "margin" ) { - val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); - } - } else { - // at this point, extra isn't content, so add padding - val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); - - // at this point, extra isn't content nor padding, so add border - if ( extra !== "padding" ) { - val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); - } - } - } - - return val; -} - -function getWidthOrHeight( elem, name, extra ) { - - // Start with offset property, which is equivalent to the border-box value - var valueIsBorderBox = true, - val = name === "width" ? elem.offsetWidth : elem.offsetHeight, - styles = getStyles( elem ), - isBorderBox = jQuery.support.boxSizing && jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; - - // some non-html elements return undefined for offsetWidth, so check for null/undefined - // svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285 - // MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668 - if ( val <= 0 || val == null ) { - // Fall back to computed then uncomputed css if necessary - val = curCSS( elem, name, styles ); - if ( val < 0 || val == null ) { - val = elem.style[ name ]; - } - - // Computed unit is not pixels. Stop here and return. - if ( rnumnonpx.test(val) ) { - return val; - } - - // we need the check for style in case a browser which returns unreliable values - // for getComputedStyle silently falls back to the reliable elem.style - valueIsBorderBox = isBorderBox && ( jQuery.support.boxSizingReliable || val === elem.style[ name ] ); - - // Normalize "", auto, and prepare for extra - val = parseFloat( val ) || 0; - } - - // use the active box-sizing model to add/subtract irrelevant styles - return ( val + - augmentWidthOrHeight( - elem, - name, - extra || ( isBorderBox ? "border" : "content" ), - valueIsBorderBox, - styles - ) - ) + "px"; -} - -// Try to determine the default display value of an element -function css_defaultDisplay( nodeName ) { - var doc = document, - display = elemdisplay[ nodeName ]; - - if ( !display ) { - display = actualDisplay( nodeName, doc ); - - // If the simple way fails, read from inside an iframe - if ( display === "none" || !display ) { - // Use the already-created iframe if possible - iframe = ( iframe || - jQuery("<iframe frameborder='0' width='0' height='0'/>") - .css( "cssText", "display:block !important" ) - ).appendTo( doc.documentElement ); - - // Always write a new HTML skeleton so Webkit and Firefox don't choke on reuse - doc = ( iframe[0].contentWindow || iframe[0].contentDocument ).document; - doc.write("<!doctype html><html><body>"); - doc.close(); - - display = actualDisplay( nodeName, doc ); - iframe.detach(); - } - - // Store the correct default display - elemdisplay[ nodeName ] = display; - } - - return display; -} - -// Called ONLY from within css_defaultDisplay -function actualDisplay( name, doc ) { - var elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ), - display = jQuery.css( elem[0], "display" ); - elem.remove(); - return display; -} - -jQuery.each([ "height", "width" ], function( i, name ) { - jQuery.cssHooks[ name ] = { - get: function( elem, computed, extra ) { - if ( computed ) { - // certain elements can have dimension info if we invisibly show them - // however, it must have a current display style that would benefit from this - return elem.offsetWidth === 0 && rdisplayswap.test( jQuery.css( elem, "display" ) ) ? - jQuery.swap( elem, cssShow, function() { - return getWidthOrHeight( elem, name, extra ); - }) : - getWidthOrHeight( elem, name, extra ); - } - }, - - set: function( elem, value, extra ) { - var styles = extra && getStyles( elem ); - return setPositiveNumber( elem, value, extra ? - augmentWidthOrHeight( - elem, - name, - extra, - jQuery.support.boxSizing && jQuery.css( elem, "boxSizing", false, styles ) === "border-box", - styles - ) : 0 - ); - } - }; -}); - -if ( !jQuery.support.opacity ) { - jQuery.cssHooks.opacity = { - get: function( elem, computed ) { - // IE uses filters for opacity - return ropacity.test( (computed && elem.currentStyle ? elem.currentStyle.filter : elem.style.filter) || "" ) ? - ( 0.01 * parseFloat( RegExp.$1 ) ) + "" : - computed ? "1" : ""; - }, - - set: function( elem, value ) { - var style = elem.style, - currentStyle = elem.currentStyle, - opacity = jQuery.isNumeric( value ) ? "alpha(opacity=" + value * 100 + ")" : "", - filter = currentStyle && currentStyle.filter || style.filter || ""; - - // IE has trouble with opacity if it does not have layout - // Force it by setting the zoom level - style.zoom = 1; - - // if setting opacity to 1, and no other filters exist - attempt to remove filter attribute #6652 - // if value === "", then remove inline opacity #12685 - if ( ( value >= 1 || value === "" ) && - jQuery.trim( filter.replace( ralpha, "" ) ) === "" && - style.removeAttribute ) { - - // Setting style.filter to null, "" & " " still leave "filter:" in the cssText - // if "filter:" is present at all, clearType is disabled, we want to avoid this - // style.removeAttribute is IE Only, but so apparently is this code path... - style.removeAttribute( "filter" ); - - // if there is no filter style applied in a css rule or unset inline opacity, we are done - if ( value === "" || currentStyle && !currentStyle.filter ) { - return; - } - } - - // otherwise, set new filter values - style.filter = ralpha.test( filter ) ? - filter.replace( ralpha, opacity ) : - filter + " " + opacity; - } - }; -} - -// These hooks cannot be added until DOM ready because the support test -// for it is not run until after DOM ready -jQuery(function() { - if ( !jQuery.support.reliableMarginRight ) { - jQuery.cssHooks.marginRight = { - get: function( elem, computed ) { - if ( computed ) { - // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right - // Work around by temporarily setting element display to inline-block - return jQuery.swap( elem, { "display": "inline-block" }, - curCSS, [ elem, "marginRight" ] ); - } - } - }; - } - - // Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084 - // getComputedStyle returns percent when specified for top/left/bottom/right - // rather than make the css module depend on the offset module, we just check for it here - if ( !jQuery.support.pixelPosition && jQuery.fn.position ) { - jQuery.each( [ "top", "left" ], function( i, prop ) { - jQuery.cssHooks[ prop ] = { - get: function( elem, computed ) { - if ( computed ) { - computed = curCSS( elem, prop ); - // if curCSS returns percentage, fallback to offset - return rnumnonpx.test( computed ) ? - jQuery( elem ).position()[ prop ] + "px" : - computed; - } - } - }; - }); - } - -}); - -if ( jQuery.expr && jQuery.expr.filters ) { - jQuery.expr.filters.hidden = function( elem ) { - // Support: Opera <= 12.12 - // Opera reports offsetWidths and offsetHeights less than zero on some elements - return elem.offsetWidth <= 0 && elem.offsetHeight <= 0 || - (!jQuery.support.reliableHiddenOffsets && ((elem.style && elem.style.display) || jQuery.css( elem, "display" )) === "none"); - }; - - jQuery.expr.filters.visible = function( elem ) { - return !jQuery.expr.filters.hidden( elem ); - }; -} - -// These hooks are used by animate to expand properties -jQuery.each({ - margin: "", - padding: "", - border: "Width" -}, function( prefix, suffix ) { - jQuery.cssHooks[ prefix + suffix ] = { - expand: function( value ) { - var i = 0, - expanded = {}, - - // assumes a single number if not a string - parts = typeof value === "string" ? value.split(" ") : [ value ]; - - for ( ; i < 4; i++ ) { - expanded[ prefix + cssExpand[ i ] + suffix ] = - parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; - } - - return expanded; - } - }; - - if ( !rmargin.test( prefix ) ) { - jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; - } -}); -var r20 = /%20/g, - rbracket = /\[\]$/, - rCRLF = /\r?\n/g, - rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, - rsubmittable = /^(?:input|select|textarea|keygen)/i; - -jQuery.fn.extend({ - serialize: function() { - return jQuery.param( this.serializeArray() ); - }, - serializeArray: function() { - return this.map(function(){ - // Can add propHook for "elements" to filter or add form elements - var elements = jQuery.prop( this, "elements" ); - return elements ? jQuery.makeArray( elements ) : this; - }) - .filter(function(){ - var type = this.type; - // Use .is(":disabled") so that fieldset[disabled] works - return this.name && !jQuery( this ).is( ":disabled" ) && - rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && - ( this.checked || !manipulation_rcheckableType.test( type ) ); - }) - .map(function( i, elem ){ - var val = jQuery( this ).val(); - - return val == null ? - null : - jQuery.isArray( val ) ? - jQuery.map( val, function( val ){ - return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; - }) : - { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; - }).get(); - } -}); - -//Serialize an array of form elements or a set of -//key/values into a query string -jQuery.param = function( a, traditional ) { - var prefix, - s = [], - add = function( key, value ) { - // If value is a function, invoke it and return its value - value = jQuery.isFunction( value ) ? value() : ( value == null ? "" : value ); - s[ s.length ] = encodeURIComponent( key ) + "=" + encodeURIComponent( value ); - }; - - // Set traditional to true for jQuery <= 1.3.2 behavior. - if ( traditional === undefined ) { - traditional = jQuery.ajaxSettings && jQuery.ajaxSettings.traditional; - } - - // If an array was passed in, assume that it is an array of form elements. - if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { - // Serialize the form elements - jQuery.each( a, function() { - add( this.name, this.value ); - }); - - } else { - // If traditional, encode the "old" way (the way 1.3.2 or older - // did it), otherwise encode params recursively. - for ( prefix in a ) { - buildParams( prefix, a[ prefix ], traditional, add ); - } - } - - // Return the resulting serialization - return s.join( "&" ).replace( r20, "+" ); -}; - -function buildParams( prefix, obj, traditional, add ) { - var name; - - if ( jQuery.isArray( obj ) ) { - // Serialize array item. - jQuery.each( obj, function( i, v ) { - if ( traditional || rbracket.test( prefix ) ) { - // Treat each array item as a scalar. - add( prefix, v ); - - } else { - // Item is non-scalar (array or object), encode its numeric index. - buildParams( prefix + "[" + ( typeof v === "object" ? i : "" ) + "]", v, traditional, add ); - } - }); - - } else if ( !traditional && jQuery.type( obj ) === "object" ) { - // Serialize object item. - for ( name in obj ) { - buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); - } - - } else { - // Serialize scalar item. - add( prefix, obj ); - } -} -jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " + - "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + - "change select submit keydown keypress keyup error contextmenu").split(" "), function( i, name ) { - - // Handle event binding - jQuery.fn[ name ] = function( data, fn ) { - return arguments.length > 0 ? - this.on( name, null, data, fn ) : - this.trigger( name ); - }; -}); - -jQuery.fn.hover = function( fnOver, fnOut ) { - return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); -}; -var - // Document location - ajaxLocParts, - ajaxLocation, - ajax_nonce = jQuery.now(), - - ajax_rquery = /\?/, - rhash = /#.*$/, - rts = /([?&])_=[^&]*/, - rheaders = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg, // IE leaves an \r character at EOL - // #7653, #8125, #8152: local protocol detection - rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, - rnoContent = /^(?:GET|HEAD)$/, - rprotocol = /^\/\//, - rurl = /^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/, - - // Keep a copy of the old load method - _load = jQuery.fn.load, - - /* Prefilters - * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) - * 2) These are called: - * - BEFORE asking for a transport - * - AFTER param serialization (s.data is a string if s.processData is true) - * 3) key is the dataType - * 4) the catchall symbol "*" can be used - * 5) execution will start with transport dataType and THEN continue down to "*" if needed - */ - prefilters = {}, - - /* Transports bindings - * 1) key is the dataType - * 2) the catchall symbol "*" can be used - * 3) selection will start with transport dataType and THEN go to "*" if needed - */ - transports = {}, - - // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression - allTypes = "*/".concat("*"); - -// #8138, IE may throw an exception when accessing -// a field from window.location if document.domain has been set -try { - ajaxLocation = location.href; -} catch( e ) { - // Use the href attribute of an A element - // since IE will modify it given document.location - ajaxLocation = document.createElement( "a" ); - ajaxLocation.href = ""; - ajaxLocation = ajaxLocation.href; -} - -// Segment location into parts -ajaxLocParts = rurl.exec( ajaxLocation.toLowerCase() ) || []; - -// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport -function addToPrefiltersOrTransports( structure ) { - - // dataTypeExpression is optional and defaults to "*" - return function( dataTypeExpression, func ) { - - if ( typeof dataTypeExpression !== "string" ) { - func = dataTypeExpression; - dataTypeExpression = "*"; - } - - var dataType, - i = 0, - dataTypes = dataTypeExpression.toLowerCase().match( core_rnotwhite ) || []; - - if ( jQuery.isFunction( func ) ) { - // For each dataType in the dataTypeExpression - while ( (dataType = dataTypes[i++]) ) { - // Prepend if requested - if ( dataType[0] === "+" ) { - dataType = dataType.slice( 1 ) || "*"; - (structure[ dataType ] = structure[ dataType ] || []).unshift( func ); - - // Otherwise append - } else { - (structure[ dataType ] = structure[ dataType ] || []).push( func ); - } - } - } - }; -} - -// Base inspection function for prefilters and transports -function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { - - var inspected = {}, - seekingTransport = ( structure === transports ); - - function inspect( dataType ) { - var selected; - inspected[ dataType ] = true; - jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { - var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); - if( typeof dataTypeOrTransport === "string" && !seekingTransport && !inspected[ dataTypeOrTransport ] ) { - options.dataTypes.unshift( dataTypeOrTransport ); - inspect( dataTypeOrTransport ); - return false; - } else if ( seekingTransport ) { - return !( selected = dataTypeOrTransport ); - } - }); - return selected; - } - - return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); -} - -// A special extend for ajax options -// that takes "flat" options (not to be deep extended) -// Fixes #9887 -function ajaxExtend( target, src ) { - var deep, key, - flatOptions = jQuery.ajaxSettings.flatOptions || {}; - - for ( key in src ) { - if ( src[ key ] !== undefined ) { - ( flatOptions[ key ] ? target : ( deep || (deep = {}) ) )[ key ] = src[ key ]; - } - } - if ( deep ) { - jQuery.extend( true, target, deep ); - } - - return target; -} - -jQuery.fn.load = function( url, params, callback ) { - if ( typeof url !== "string" && _load ) { - return _load.apply( this, arguments ); - } - - var selector, response, type, - self = this, - off = url.indexOf(" "); - - if ( off >= 0 ) { - selector = url.slice( off, url.length ); - url = url.slice( 0, off ); - } - - // If it's a function - if ( jQuery.isFunction( params ) ) { - - // We assume that it's the callback - callback = params; - params = undefined; - - // Otherwise, build a param string - } else if ( params && typeof params === "object" ) { - type = "POST"; - } - - // If we have elements to modify, make the request - if ( self.length > 0 ) { - jQuery.ajax({ - url: url, - - // if "type" variable is undefined, then "GET" method will be used - type: type, - dataType: "html", - data: params - }).done(function( responseText ) { - - // Save response for use in complete callback - response = arguments; - - self.html( selector ? - - // If a selector was specified, locate the right elements in a dummy div - // Exclude scripts to avoid IE 'Permission Denied' errors - jQuery("<div>").append( jQuery.parseHTML( responseText ) ).find( selector ) : - - // Otherwise use the full result - responseText ); - - }).complete( callback && function( jqXHR, status ) { - self.each( callback, response || [ jqXHR.responseText, status, jqXHR ] ); - }); - } - - return this; -}; - -// Attach a bunch of functions for handling common AJAX events -jQuery.each( [ "ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend" ], function( i, type ){ - jQuery.fn[ type ] = function( fn ){ - return this.on( type, fn ); - }; -}); - -jQuery.each( [ "get", "post" ], function( i, method ) { - jQuery[ method ] = function( url, data, callback, type ) { - // shift arguments if data argument was omitted - if ( jQuery.isFunction( data ) ) { - type = type || callback; - callback = data; - data = undefined; - } - - return jQuery.ajax({ - url: url, - type: method, - dataType: type, - data: data, - success: callback - }); - }; -}); - -jQuery.extend({ - - // Counter for holding the number of active queries - active: 0, - - // Last-Modified header cache for next request - lastModified: {}, - etag: {}, - - ajaxSettings: { - url: ajaxLocation, - type: "GET", - isLocal: rlocalProtocol.test( ajaxLocParts[ 1 ] ), - global: true, - processData: true, - async: true, - contentType: "application/x-www-form-urlencoded; charset=UTF-8", - /* - timeout: 0, - data: null, - dataType: null, - username: null, - password: null, - cache: null, - throws: false, - traditional: false, - headers: {}, - */ - - accepts: { - "*": allTypes, - text: "text/plain", - html: "text/html", - xml: "application/xml, text/xml", - json: "application/json, text/javascript" - }, - - contents: { - xml: /xml/, - html: /html/, - json: /json/ - }, - - responseFields: { - xml: "responseXML", - text: "responseText" - }, - - // Data converters - // Keys separate source (or catchall "*") and destination types with a single space - converters: { - - // Convert anything to text - "* text": window.String, - - // Text to html (true = no transformation) - "text html": true, - - // Evaluate text as a json expression - "text json": jQuery.parseJSON, - - // Parse text as xml - "text xml": jQuery.parseXML - }, - - // For options that shouldn't be deep extended: - // you can add your own custom options here if - // and when you create one that shouldn't be - // deep extended (see ajaxExtend) - flatOptions: { - url: true, - context: true - } - }, - - // Creates a full fledged settings object into target - // with both ajaxSettings and settings fields. - // If target is omitted, writes into ajaxSettings. - ajaxSetup: function( target, settings ) { - return settings ? - - // Building a settings object - ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : - - // Extending ajaxSettings - ajaxExtend( jQuery.ajaxSettings, target ); - }, - - ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), - ajaxTransport: addToPrefiltersOrTransports( transports ), - - // Main method - ajax: function( url, options ) { - - // If url is an object, simulate pre-1.5 signature - if ( typeof url === "object" ) { - options = url; - url = undefined; - } - - // Force options to be an object - options = options || {}; - - var // Cross-domain detection vars - parts, - // Loop variable - i, - // URL without anti-cache param - cacheURL, - // Response headers as string - responseHeadersString, - // timeout handle - timeoutTimer, - - // To know if global events are to be dispatched - fireGlobals, - - transport, - // Response headers - responseHeaders, - // Create the final options object - s = jQuery.ajaxSetup( {}, options ), - // Callbacks context - callbackContext = s.context || s, - // Context for global events is callbackContext if it is a DOM node or jQuery collection - globalEventContext = s.context && ( callbackContext.nodeType || callbackContext.jquery ) ? - jQuery( callbackContext ) : - jQuery.event, - // Deferreds - deferred = jQuery.Deferred(), - completeDeferred = jQuery.Callbacks("once memory"), - // Status-dependent callbacks - statusCode = s.statusCode || {}, - // Headers (they are sent all at once) - requestHeaders = {}, - requestHeadersNames = {}, - // The jqXHR state - state = 0, - // Default abort message - strAbort = "canceled", - // Fake xhr - jqXHR = { - readyState: 0, - - // Builds headers hashtable if needed - getResponseHeader: function( key ) { - var match; - if ( state === 2 ) { - if ( !responseHeaders ) { - responseHeaders = {}; - while ( (match = rheaders.exec( responseHeadersString )) ) { - responseHeaders[ match[1].toLowerCase() ] = match[ 2 ]; - } - } - match = responseHeaders[ key.toLowerCase() ]; - } - return match == null ? null : match; - }, - - // Raw string - getAllResponseHeaders: function() { - return state === 2 ? responseHeadersString : null; - }, - - // Caches the header - setRequestHeader: function( name, value ) { - var lname = name.toLowerCase(); - if ( !state ) { - name = requestHeadersNames[ lname ] = requestHeadersNames[ lname ] || name; - requestHeaders[ name ] = value; - } - return this; - }, - - // Overrides response content-type header - overrideMimeType: function( type ) { - if ( !state ) { - s.mimeType = type; - } - return this; - }, - - // Status-dependent callbacks - statusCode: function( map ) { - var code; - if ( map ) { - if ( state < 2 ) { - for ( code in map ) { - // Lazy-add the new callback in a way that preserves old ones - statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; - } - } else { - // Execute the appropriate callbacks - jqXHR.always( map[ jqXHR.status ] ); - } - } - return this; - }, - - // Cancel the request - abort: function( statusText ) { - var finalText = statusText || strAbort; - if ( transport ) { - transport.abort( finalText ); - } - done( 0, finalText ); - return this; - } - }; - - // Attach deferreds - deferred.promise( jqXHR ).complete = completeDeferred.add; - jqXHR.success = jqXHR.done; - jqXHR.error = jqXHR.fail; - - // Remove hash character (#7531: and string promotion) - // Add protocol if not provided (#5866: IE7 issue with protocol-less urls) - // Handle falsy url in the settings object (#10093: consistency with old signature) - // We also use the url parameter if available - s.url = ( ( url || s.url || ajaxLocation ) + "" ).replace( rhash, "" ).replace( rprotocol, ajaxLocParts[ 1 ] + "//" ); - - // Alias method option to type as per ticket #12004 - s.type = options.method || options.type || s.method || s.type; - - // Extract dataTypes list - s.dataTypes = jQuery.trim( s.dataType || "*" ).toLowerCase().match( core_rnotwhite ) || [""]; - - // A cross-domain request is in order when we have a protocol:host:port mismatch - if ( s.crossDomain == null ) { - parts = rurl.exec( s.url.toLowerCase() ); - s.crossDomain = !!( parts && - ( parts[ 1 ] !== ajaxLocParts[ 1 ] || parts[ 2 ] !== ajaxLocParts[ 2 ] || - ( parts[ 3 ] || ( parts[ 1 ] === "http:" ? 80 : 443 ) ) != - ( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === "http:" ? 80 : 443 ) ) ) - ); - } - - // Convert data if not already a string - if ( s.data && s.processData && typeof s.data !== "string" ) { - s.data = jQuery.param( s.data, s.traditional ); - } - - // Apply prefilters - inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); - - // If request was aborted inside a prefilter, stop there - if ( state === 2 ) { - return jqXHR; - } - - // We can fire global events as of now if asked to - fireGlobals = s.global; - - // Watch for a new set of requests - if ( fireGlobals && jQuery.active++ === 0 ) { - jQuery.event.trigger("ajaxStart"); - } - - // Uppercase the type - s.type = s.type.toUpperCase(); - - // Determine if request has content - s.hasContent = !rnoContent.test( s.type ); - - // Save the URL in case we're toying with the If-Modified-Since - // and/or If-None-Match header later on - cacheURL = s.url; - - // More options handling for requests with no content - if ( !s.hasContent ) { - - // If data is available, append data to url - if ( s.data ) { - cacheURL = ( s.url += ( ajax_rquery.test( cacheURL ) ? "&" : "?" ) + s.data ); - // #9682: remove data so that it's not used in an eventual retry - delete s.data; - } - - // Add anti-cache in url if needed - if ( s.cache === false ) { - s.url = rts.test( cacheURL ) ? - - // If there is already a '_' parameter, set its value - cacheURL.replace( rts, "$1_=" + ajax_nonce++ ) : - - // Otherwise add one to the end - cacheURL + ( ajax_rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ajax_nonce++; - } - } - - // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. - if ( s.ifModified ) { - if ( jQuery.lastModified[ cacheURL ] ) { - jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); - } - if ( jQuery.etag[ cacheURL ] ) { - jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); - } - } - - // Set the correct header, if data is being sent - if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { - jqXHR.setRequestHeader( "Content-Type", s.contentType ); - } - - // Set the Accepts header for the server, depending on the dataType - jqXHR.setRequestHeader( - "Accept", - s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[0] ] ? - s.accepts[ s.dataTypes[0] ] + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : - s.accepts[ "*" ] - ); - - // Check for headers option - for ( i in s.headers ) { - jqXHR.setRequestHeader( i, s.headers[ i ] ); - } - - // Allow custom headers/mimetypes and early abort - if ( s.beforeSend && ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || state === 2 ) ) { - // Abort if not done already and return - return jqXHR.abort(); - } - - // aborting is no longer a cancellation - strAbort = "abort"; - - // Install callbacks on deferreds - for ( i in { success: 1, error: 1, complete: 1 } ) { - jqXHR[ i ]( s[ i ] ); - } - - // Get transport - transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); - - // If no transport, we auto-abort - if ( !transport ) { - done( -1, "No Transport" ); - } else { - jqXHR.readyState = 1; - - // Send global event - if ( fireGlobals ) { - globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); - } - // Timeout - if ( s.async && s.timeout > 0 ) { - timeoutTimer = setTimeout(function() { - jqXHR.abort("timeout"); - }, s.timeout ); - } - - try { - state = 1; - transport.send( requestHeaders, done ); - } catch ( e ) { - // Propagate exception as error if not done - if ( state < 2 ) { - done( -1, e ); - // Simply rethrow otherwise - } else { - throw e; - } - } - } - - // Callback for when everything is done - function done( status, nativeStatusText, responses, headers ) { - var isSuccess, success, error, response, modified, - statusText = nativeStatusText; - - // Called once - if ( state === 2 ) { - return; - } - - // State is "done" now - state = 2; - - // Clear timeout if it exists - if ( timeoutTimer ) { - clearTimeout( timeoutTimer ); - } - - // Dereference transport for early garbage collection - // (no matter how long the jqXHR object will be used) - transport = undefined; - - // Cache response headers - responseHeadersString = headers || ""; - - // Set readyState - jqXHR.readyState = status > 0 ? 4 : 0; - - // Get response data - if ( responses ) { - response = ajaxHandleResponses( s, jqXHR, responses ); - } - - // If successful, handle type chaining - if ( status >= 200 && status < 300 || status === 304 ) { - - // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. - if ( s.ifModified ) { - modified = jqXHR.getResponseHeader("Last-Modified"); - if ( modified ) { - jQuery.lastModified[ cacheURL ] = modified; - } - modified = jqXHR.getResponseHeader("etag"); - if ( modified ) { - jQuery.etag[ cacheURL ] = modified; - } - } - - // if no content - if ( status === 204 ) { - isSuccess = true; - statusText = "nocontent"; - - // if not modified - } else if ( status === 304 ) { - isSuccess = true; - statusText = "notmodified"; - - // If we have data, let's convert it - } else { - isSuccess = ajaxConvert( s, response ); - statusText = isSuccess.state; - success = isSuccess.data; - error = isSuccess.error; - isSuccess = !error; - } - } else { - // We extract error from statusText - // then normalize statusText and status for non-aborts - error = statusText; - if ( status || !statusText ) { - statusText = "error"; - if ( status < 0 ) { - status = 0; - } - } - } - - // Set data for the fake xhr object - jqXHR.status = status; - jqXHR.statusText = ( nativeStatusText || statusText ) + ""; - - // Success/Error - if ( isSuccess ) { - deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); - } else { - deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); - } - - // Status-dependent callbacks - jqXHR.statusCode( statusCode ); - statusCode = undefined; - - if ( fireGlobals ) { - globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", - [ jqXHR, s, isSuccess ? success : error ] ); - } - - // Complete - completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); - - if ( fireGlobals ) { - globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); - // Handle the global AJAX counter - if ( !( --jQuery.active ) ) { - jQuery.event.trigger("ajaxStop"); - } - } - } - - return jqXHR; - }, - - getScript: function( url, callback ) { - return jQuery.get( url, undefined, callback, "script" ); - }, - - getJSON: function( url, data, callback ) { - return jQuery.get( url, data, callback, "json" ); - } -}); - -/* Handles responses to an ajax request: - * - sets all responseXXX fields accordingly - * - finds the right dataType (mediates between content-type and expected dataType) - * - returns the corresponding response - */ -function ajaxHandleResponses( s, jqXHR, responses ) { - var firstDataType, ct, finalDataType, type, - contents = s.contents, - dataTypes = s.dataTypes, - responseFields = s.responseFields; - - // Fill responseXXX fields - for ( type in responseFields ) { - if ( type in responses ) { - jqXHR[ responseFields[type] ] = responses[ type ]; - } - } - - // Remove auto dataType and get content-type in the process - while( dataTypes[ 0 ] === "*" ) { - dataTypes.shift(); - if ( ct === undefined ) { - ct = s.mimeType || jqXHR.getResponseHeader("Content-Type"); - } - } - - // Check if we're dealing with a known content-type - if ( ct ) { - for ( type in contents ) { - if ( contents[ type ] && contents[ type ].test( ct ) ) { - dataTypes.unshift( type ); - break; - } - } - } - - // Check to see if we have a response for the expected dataType - if ( dataTypes[ 0 ] in responses ) { - finalDataType = dataTypes[ 0 ]; - } else { - // Try convertible dataTypes - for ( type in responses ) { - if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[0] ] ) { - finalDataType = type; - break; - } - if ( !firstDataType ) { - firstDataType = type; - } - } - // Or just use first one - finalDataType = finalDataType || firstDataType; - } - - // If we found a dataType - // We add the dataType to the list if needed - // and return the corresponding response - if ( finalDataType ) { - if ( finalDataType !== dataTypes[ 0 ] ) { - dataTypes.unshift( finalDataType ); - } - return responses[ finalDataType ]; - } -} - -// Chain conversions given the request and the original response -function ajaxConvert( s, response ) { - var conv2, current, conv, tmp, - converters = {}, - i = 0, - // Work with a copy of dataTypes in case we need to modify it for conversion - dataTypes = s.dataTypes.slice(), - prev = dataTypes[ 0 ]; - - // Apply the dataFilter if provided - if ( s.dataFilter ) { - response = s.dataFilter( response, s.dataType ); - } - - // Create converters map with lowercased keys - if ( dataTypes[ 1 ] ) { - for ( conv in s.converters ) { - converters[ conv.toLowerCase() ] = s.converters[ conv ]; - } - } - - // Convert to each sequential dataType, tolerating list modification - for ( ; (current = dataTypes[++i]); ) { - - // There's only work to do if current dataType is non-auto - if ( current !== "*" ) { - - // Convert response if prev dataType is non-auto and differs from current - if ( prev !== "*" && prev !== current ) { - - // Seek a direct converter - conv = converters[ prev + " " + current ] || converters[ "* " + current ]; - - // If none found, seek a pair - if ( !conv ) { - for ( conv2 in converters ) { - - // If conv2 outputs current - tmp = conv2.split(" "); - if ( tmp[ 1 ] === current ) { - - // If prev can be converted to accepted input - conv = converters[ prev + " " + tmp[ 0 ] ] || - converters[ "* " + tmp[ 0 ] ]; - if ( conv ) { - // Condense equivalence converters - if ( conv === true ) { - conv = converters[ conv2 ]; - - // Otherwise, insert the intermediate dataType - } else if ( converters[ conv2 ] !== true ) { - current = tmp[ 0 ]; - dataTypes.splice( i--, 0, current ); - } - - break; - } - } - } - } - - // Apply converter (if not an equivalence) - if ( conv !== true ) { - - // Unless errors are allowed to bubble, catch and return them - if ( conv && s["throws"] ) { - response = conv( response ); - } else { - try { - response = conv( response ); - } catch ( e ) { - return { state: "parsererror", error: conv ? e : "No conversion from " + prev + " to " + current }; - } - } - } - } - - // Update prev for next iteration - prev = current; - } - } - - return { state: "success", data: response }; -} -// Install script dataType -jQuery.ajaxSetup({ - accepts: { - script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" - }, - contents: { - script: /(?:java|ecma)script/ - }, - converters: { - "text script": function( text ) { - jQuery.globalEval( text ); - return text; - } - } -}); - -// Handle cache's special case and global -jQuery.ajaxPrefilter( "script", function( s ) { - if ( s.cache === undefined ) { - s.cache = false; - } - if ( s.crossDomain ) { - s.type = "GET"; - s.global = false; - } -}); - -// Bind script tag hack transport -jQuery.ajaxTransport( "script", function(s) { - - // This transport only deals with cross domain requests - if ( s.crossDomain ) { - - var script, - head = document.head || jQuery("head")[0] || document.documentElement; - - return { - - send: function( _, callback ) { - - script = document.createElement("script"); - - script.async = true; - - if ( s.scriptCharset ) { - script.charset = s.scriptCharset; - } - - script.src = s.url; - - // Attach handlers for all browsers - script.onload = script.onreadystatechange = function( _, isAbort ) { - - if ( isAbort || !script.readyState || /loaded|complete/.test( script.readyState ) ) { - - // Handle memory leak in IE - script.onload = script.onreadystatechange = null; - - // Remove the script - if ( script.parentNode ) { - script.parentNode.removeChild( script ); - } - - // Dereference the script - script = null; - - // Callback if not abort - if ( !isAbort ) { - callback( 200, "success" ); - } - } - }; - - // Circumvent IE6 bugs with base elements (#2709 and #4378) by prepending - // Use native DOM manipulation to avoid our domManip AJAX trickery - head.insertBefore( script, head.firstChild ); - }, - - abort: function() { - if ( script ) { - script.onload( undefined, true ); - } - } - }; - } -}); -var oldCallbacks = [], - rjsonp = /(=)\?(?=&|$)|\?\?/; - -// Default jsonp settings -jQuery.ajaxSetup({ - jsonp: "callback", - jsonpCallback: function() { - var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( ajax_nonce++ ) ); - this[ callback ] = true; - return callback; - } -}); - -// Detect, normalize options and install callbacks for jsonp requests -jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { - - var callbackName, overwritten, responseContainer, - jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ? - "url" : - typeof s.data === "string" && !( s.contentType || "" ).indexOf("application/x-www-form-urlencoded") && rjsonp.test( s.data ) && "data" - ); - - // Handle iff the expected data type is "jsonp" or we have a parameter to set - if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) { - - // Get callback name, remembering preexisting value associated with it - callbackName = s.jsonpCallback = jQuery.isFunction( s.jsonpCallback ) ? - s.jsonpCallback() : - s.jsonpCallback; - - // Insert callback into url or form data - if ( jsonProp ) { - s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName ); - } else if ( s.jsonp !== false ) { - s.url += ( ajax_rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName; - } - - // Use data converter to retrieve json after script execution - s.converters["script json"] = function() { - if ( !responseContainer ) { - jQuery.error( callbackName + " was not called" ); - } - return responseContainer[ 0 ]; - }; - - // force json dataType - s.dataTypes[ 0 ] = "json"; - - // Install callback - overwritten = window[ callbackName ]; - window[ callbackName ] = function() { - responseContainer = arguments; - }; - - // Clean-up function (fires after converters) - jqXHR.always(function() { - // Restore preexisting value - window[ callbackName ] = overwritten; - - // Save back as free - if ( s[ callbackName ] ) { - // make sure that re-using the options doesn't screw things around - s.jsonpCallback = originalSettings.jsonpCallback; - - // save the callback name for future use - oldCallbacks.push( callbackName ); - } - - // Call if it was a function and we have a response - if ( responseContainer && jQuery.isFunction( overwritten ) ) { - overwritten( responseContainer[ 0 ] ); - } - - responseContainer = overwritten = undefined; - }); - - // Delegate to script - return "script"; - } -}); -var xhrCallbacks, xhrSupported, - xhrId = 0, - // #5280: Internet Explorer will keep connections alive if we don't abort on unload - xhrOnUnloadAbort = window.ActiveXObject && function() { - // Abort all pending requests - var key; - for ( key in xhrCallbacks ) { - xhrCallbacks[ key ]( undefined, true ); - } - }; - -// Functions to create xhrs -function createStandardXHR() { - try { - return new window.XMLHttpRequest(); - } catch( e ) {} -} - -function createActiveXHR() { - try { - return new window.ActiveXObject("Microsoft.XMLHTTP"); - } catch( e ) {} -} - -// Create the request object -// (This is still attached to ajaxSettings for backward compatibility) -jQuery.ajaxSettings.xhr = window.ActiveXObject ? - /* Microsoft failed to properly - * implement the XMLHttpRequest in IE7 (can't request local files), - * so we use the ActiveXObject when it is available - * Additionally XMLHttpRequest can be disabled in IE7/IE8 so - * we need a fallback. - */ - function() { - return !this.isLocal && createStandardXHR() || createActiveXHR(); - } : - // For all other browsers, use the standard XMLHttpRequest object - createStandardXHR; - -// Determine support properties -xhrSupported = jQuery.ajaxSettings.xhr(); -jQuery.support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); -xhrSupported = jQuery.support.ajax = !!xhrSupported; - -// Create transport if the browser can provide an xhr -if ( xhrSupported ) { - - jQuery.ajaxTransport(function( s ) { - // Cross domain only allowed if supported through XMLHttpRequest - if ( !s.crossDomain || jQuery.support.cors ) { - - var callback; - - return { - send: function( headers, complete ) { - - // Get a new xhr - var handle, i, - xhr = s.xhr(); - - // Open the socket - // Passing null username, generates a login popup on Opera (#2865) - if ( s.username ) { - xhr.open( s.type, s.url, s.async, s.username, s.password ); - } else { - xhr.open( s.type, s.url, s.async ); - } - - // Apply custom fields if provided - if ( s.xhrFields ) { - for ( i in s.xhrFields ) { - xhr[ i ] = s.xhrFields[ i ]; - } - } - - // Override mime type if needed - if ( s.mimeType && xhr.overrideMimeType ) { - xhr.overrideMimeType( s.mimeType ); - } - - // X-Requested-With header - // For cross-domain requests, seeing as conditions for a preflight are - // akin to a jigsaw puzzle, we simply never set it to be sure. - // (it can always be set on a per-request basis or even using ajaxSetup) - // For same-domain requests, won't change header if already provided. - if ( !s.crossDomain && !headers["X-Requested-With"] ) { - headers["X-Requested-With"] = "XMLHttpRequest"; - } - - // Need an extra try/catch for cross domain requests in Firefox 3 - try { - for ( i in headers ) { - xhr.setRequestHeader( i, headers[ i ] ); - } - } catch( err ) {} - - // Do send the request - // This may raise an exception which is actually - // handled in jQuery.ajax (so no try/catch here) - xhr.send( ( s.hasContent && s.data ) || null ); - - // Listener - callback = function( _, isAbort ) { - var status, responseHeaders, statusText, responses; - - // Firefox throws exceptions when accessing properties - // of an xhr when a network error occurred - // http://helpful.knobs-dials.com/index.php/Component_returned_failure_code:_0x80040111_(NS_ERROR_NOT_AVAILABLE) - try { - - // Was never called and is aborted or complete - if ( callback && ( isAbort || xhr.readyState === 4 ) ) { - - // Only called once - callback = undefined; - - // Do not keep as active anymore - if ( handle ) { - xhr.onreadystatechange = jQuery.noop; - if ( xhrOnUnloadAbort ) { - delete xhrCallbacks[ handle ]; - } - } - - // If it's an abort - if ( isAbort ) { - // Abort it manually if needed - if ( xhr.readyState !== 4 ) { - xhr.abort(); - } - } else { - responses = {}; - status = xhr.status; - responseHeaders = xhr.getAllResponseHeaders(); - - // When requesting binary data, IE6-9 will throw an exception - // on any attempt to access responseText (#11426) - if ( typeof xhr.responseText === "string" ) { - responses.text = xhr.responseText; - } - - // Firefox throws an exception when accessing - // statusText for faulty cross-domain requests - try { - statusText = xhr.statusText; - } catch( e ) { - // We normalize with Webkit giving an empty statusText - statusText = ""; - } - - // Filter status for non standard behaviors - - // If the request is local and we have data: assume a success - // (success with no data won't get notified, that's the best we - // can do given current implementations) - if ( !status && s.isLocal && !s.crossDomain ) { - status = responses.text ? 200 : 404; - // IE - #1450: sometimes returns 1223 when it should be 204 - } else if ( status === 1223 ) { - status = 204; - } - } - } - } catch( firefoxAccessException ) { - if ( !isAbort ) { - complete( -1, firefoxAccessException ); - } - } - - // Call complete if needed - if ( responses ) { - complete( status, statusText, responses, responseHeaders ); - } - }; - - if ( !s.async ) { - // if we're in sync mode we fire the callback - callback(); - } else if ( xhr.readyState === 4 ) { - // (IE6 & IE7) if it's in cache and has been - // retrieved directly we need to fire the callback - setTimeout( callback ); - } else { - handle = ++xhrId; - if ( xhrOnUnloadAbort ) { - // Create the active xhrs callbacks list if needed - // and attach the unload handler - if ( !xhrCallbacks ) { - xhrCallbacks = {}; - jQuery( window ).unload( xhrOnUnloadAbort ); - } - // Add to list of active xhrs callbacks - xhrCallbacks[ handle ] = callback; - } - xhr.onreadystatechange = callback; - } - }, - - abort: function() { - if ( callback ) { - callback( undefined, true ); - } - } - }; - } - }); -} -var fxNow, timerId, - rfxtypes = /^(?:toggle|show|hide)$/, - rfxnum = new RegExp( "^(?:([+-])=|)(" + core_pnum + ")([a-z%]*)$", "i" ), - rrun = /queueHooks$/, - animationPrefilters = [ defaultPrefilter ], - tweeners = { - "*": [function( prop, value ) { - var end, unit, - tween = this.createTween( prop, value ), - parts = rfxnum.exec( value ), - target = tween.cur(), - start = +target || 0, - scale = 1, - maxIterations = 20; - - if ( parts ) { - end = +parts[2]; - unit = parts[3] || ( jQuery.cssNumber[ prop ] ? "" : "px" ); - - // We need to compute starting value - if ( unit !== "px" && start ) { - // Iteratively approximate from a nonzero starting point - // Prefer the current property, because this process will be trivial if it uses the same units - // Fallback to end or a simple constant - start = jQuery.css( tween.elem, prop, true ) || end || 1; - - do { - // If previous iteration zeroed out, double until we get *something* - // Use a string for doubling factor so we don't accidentally see scale as unchanged below - scale = scale || ".5"; - - // Adjust and apply - start = start / scale; - jQuery.style( tween.elem, prop, start + unit ); - - // Update scale, tolerating zero or NaN from tween.cur() - // And breaking the loop if scale is unchanged or perfect, or if we've just had enough - } while ( scale !== (scale = tween.cur() / target) && scale !== 1 && --maxIterations ); - } - - tween.unit = unit; - tween.start = start; - // If a +=/-= token was provided, we're doing a relative animation - tween.end = parts[1] ? start + ( parts[1] + 1 ) * end : end; - } - return tween; - }] - }; - -// Animations created synchronously will run synchronously -function createFxNow() { - setTimeout(function() { - fxNow = undefined; - }); - return ( fxNow = jQuery.now() ); -} - -function createTweens( animation, props ) { - jQuery.each( props, function( prop, value ) { - var collection = ( tweeners[ prop ] || [] ).concat( tweeners[ "*" ] ), - index = 0, - length = collection.length; - for ( ; index < length; index++ ) { - if ( collection[ index ].call( animation, prop, value ) ) { - - // we're done with this property - return; - } - } - }); -} - -function Animation( elem, properties, options ) { - var result, - stopped, - index = 0, - length = animationPrefilters.length, - deferred = jQuery.Deferred().always( function() { - // don't match elem in the :animated selector - delete tick.elem; - }), - tick = function() { - if ( stopped ) { - return false; - } - var currentTime = fxNow || createFxNow(), - remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), - // archaic crash bug won't allow us to use 1 - ( 0.5 || 0 ) (#12497) - temp = remaining / animation.duration || 0, - percent = 1 - temp, - index = 0, - length = animation.tweens.length; - - for ( ; index < length ; index++ ) { - animation.tweens[ index ].run( percent ); - } - - deferred.notifyWith( elem, [ animation, percent, remaining ]); - - if ( percent < 1 && length ) { - return remaining; - } else { - deferred.resolveWith( elem, [ animation ] ); - return false; - } - }, - animation = deferred.promise({ - elem: elem, - props: jQuery.extend( {}, properties ), - opts: jQuery.extend( true, { specialEasing: {} }, options ), - originalProperties: properties, - originalOptions: options, - startTime: fxNow || createFxNow(), - duration: options.duration, - tweens: [], - createTween: function( prop, end ) { - var tween = jQuery.Tween( elem, animation.opts, prop, end, - animation.opts.specialEasing[ prop ] || animation.opts.easing ); - animation.tweens.push( tween ); - return tween; - }, - stop: function( gotoEnd ) { - var index = 0, - // if we are going to the end, we want to run all the tweens - // otherwise we skip this part - length = gotoEnd ? animation.tweens.length : 0; - if ( stopped ) { - return this; - } - stopped = true; - for ( ; index < length ; index++ ) { - animation.tweens[ index ].run( 1 ); - } - - // resolve when we played the last frame - // otherwise, reject - if ( gotoEnd ) { - deferred.resolveWith( elem, [ animation, gotoEnd ] ); - } else { - deferred.rejectWith( elem, [ animation, gotoEnd ] ); - } - return this; - } - }), - props = animation.props; - - propFilter( props, animation.opts.specialEasing ); - - for ( ; index < length ; index++ ) { - result = animationPrefilters[ index ].call( animation, elem, props, animation.opts ); - if ( result ) { - return result; - } - } - - createTweens( animation, props ); - - if ( jQuery.isFunction( animation.opts.start ) ) { - animation.opts.start.call( elem, animation ); - } - - jQuery.fx.timer( - jQuery.extend( tick, { - elem: elem, - anim: animation, - queue: animation.opts.queue - }) - ); - - // attach callbacks from options - return animation.progress( animation.opts.progress ) - .done( animation.opts.done, animation.opts.complete ) - .fail( animation.opts.fail ) - .always( animation.opts.always ); -} - -function propFilter( props, specialEasing ) { - var value, name, index, easing, hooks; - - // camelCase, specialEasing and expand cssHook pass - for ( index in props ) { - name = jQuery.camelCase( index ); - easing = specialEasing[ name ]; - value = props[ index ]; - if ( jQuery.isArray( value ) ) { - easing = value[ 1 ]; - value = props[ index ] = value[ 0 ]; - } - - if ( index !== name ) { - props[ name ] = value; - delete props[ index ]; - } - - hooks = jQuery.cssHooks[ name ]; - if ( hooks && "expand" in hooks ) { - value = hooks.expand( value ); - delete props[ name ]; - - // not quite $.extend, this wont overwrite keys already present. - // also - reusing 'index' from above because we have the correct "name" - for ( index in value ) { - if ( !( index in props ) ) { - props[ index ] = value[ index ]; - specialEasing[ index ] = easing; - } - } - } else { - specialEasing[ name ] = easing; - } - } -} - -jQuery.Animation = jQuery.extend( Animation, { - - tweener: function( props, callback ) { - if ( jQuery.isFunction( props ) ) { - callback = props; - props = [ "*" ]; - } else { - props = props.split(" "); - } - - var prop, - index = 0, - length = props.length; - - for ( ; index < length ; index++ ) { - prop = props[ index ]; - tweeners[ prop ] = tweeners[ prop ] || []; - tweeners[ prop ].unshift( callback ); - } - }, - - prefilter: function( callback, prepend ) { - if ( prepend ) { - animationPrefilters.unshift( callback ); - } else { - animationPrefilters.push( callback ); - } - } -}); - -function defaultPrefilter( elem, props, opts ) { - /*jshint validthis:true */ - var prop, index, length, - value, dataShow, toggle, - tween, hooks, oldfire, - anim = this, - style = elem.style, - orig = {}, - handled = [], - hidden = elem.nodeType && isHidden( elem ); - - // handle queue: false promises - if ( !opts.queue ) { - hooks = jQuery._queueHooks( elem, "fx" ); - if ( hooks.unqueued == null ) { - hooks.unqueued = 0; - oldfire = hooks.empty.fire; - hooks.empty.fire = function() { - if ( !hooks.unqueued ) { - oldfire(); - } - }; - } - hooks.unqueued++; - - anim.always(function() { - // doing this makes sure that the complete handler will be called - // before this completes - anim.always(function() { - hooks.unqueued--; - if ( !jQuery.queue( elem, "fx" ).length ) { - hooks.empty.fire(); - } - }); - }); - } - - // height/width overflow pass - if ( elem.nodeType === 1 && ( "height" in props || "width" in props ) ) { - // Make sure that nothing sneaks out - // Record all 3 overflow attributes because IE does not - // change the overflow attribute when overflowX and - // overflowY are set to the same value - opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; - - // Set display property to inline-block for height/width - // animations on inline elements that are having width/height animated - if ( jQuery.css( elem, "display" ) === "inline" && - jQuery.css( elem, "float" ) === "none" ) { - - // inline-level elements accept inline-block; - // block-level elements need to be inline with layout - if ( !jQuery.support.inlineBlockNeedsLayout || css_defaultDisplay( elem.nodeName ) === "inline" ) { - style.display = "inline-block"; - - } else { - style.zoom = 1; - } - } - } - - if ( opts.overflow ) { - style.overflow = "hidden"; - if ( !jQuery.support.shrinkWrapBlocks ) { - anim.always(function() { - style.overflow = opts.overflow[ 0 ]; - style.overflowX = opts.overflow[ 1 ]; - style.overflowY = opts.overflow[ 2 ]; - }); - } - } - - - // show/hide pass - for ( index in props ) { - value = props[ index ]; - if ( rfxtypes.exec( value ) ) { - delete props[ index ]; - toggle = toggle || value === "toggle"; - if ( value === ( hidden ? "hide" : "show" ) ) { - continue; - } - handled.push( index ); - } - } - - length = handled.length; - if ( length ) { - dataShow = jQuery._data( elem, "fxshow" ) || jQuery._data( elem, "fxshow", {} ); - if ( "hidden" in dataShow ) { - hidden = dataShow.hidden; - } - - // store state if its toggle - enables .stop().toggle() to "reverse" - if ( toggle ) { - dataShow.hidden = !hidden; - } - if ( hidden ) { - jQuery( elem ).show(); - } else { - anim.done(function() { - jQuery( elem ).hide(); - }); - } - anim.done(function() { - var prop; - jQuery._removeData( elem, "fxshow" ); - for ( prop in orig ) { - jQuery.style( elem, prop, orig[ prop ] ); - } - }); - for ( index = 0 ; index < length ; index++ ) { - prop = handled[ index ]; - tween = anim.createTween( prop, hidden ? dataShow[ prop ] : 0 ); - orig[ prop ] = dataShow[ prop ] || jQuery.style( elem, prop ); - - if ( !( prop in dataShow ) ) { - dataShow[ prop ] = tween.start; - if ( hidden ) { - tween.end = tween.start; - tween.start = prop === "width" || prop === "height" ? 1 : 0; - } - } - } - } -} - -function Tween( elem, options, prop, end, easing ) { - return new Tween.prototype.init( elem, options, prop, end, easing ); -} -jQuery.Tween = Tween; - -Tween.prototype = { - constructor: Tween, - init: function( elem, options, prop, end, easing, unit ) { - this.elem = elem; - this.prop = prop; - this.easing = easing || "swing"; - this.options = options; - this.start = this.now = this.cur(); - this.end = end; - this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); - }, - cur: function() { - var hooks = Tween.propHooks[ this.prop ]; - - return hooks && hooks.get ? - hooks.get( this ) : - Tween.propHooks._default.get( this ); - }, - run: function( percent ) { - var eased, - hooks = Tween.propHooks[ this.prop ]; - - if ( this.options.duration ) { - this.pos = eased = jQuery.easing[ this.easing ]( - percent, this.options.duration * percent, 0, 1, this.options.duration - ); - } else { - this.pos = eased = percent; - } - this.now = ( this.end - this.start ) * eased + this.start; - - if ( this.options.step ) { - this.options.step.call( this.elem, this.now, this ); - } - - if ( hooks && hooks.set ) { - hooks.set( this ); - } else { - Tween.propHooks._default.set( this ); - } - return this; - } -}; - -Tween.prototype.init.prototype = Tween.prototype; - -Tween.propHooks = { - _default: { - get: function( tween ) { - var result; - - if ( tween.elem[ tween.prop ] != null && - (!tween.elem.style || tween.elem.style[ tween.prop ] == null) ) { - return tween.elem[ tween.prop ]; - } - - // passing an empty string as a 3rd parameter to .css will automatically - // attempt a parseFloat and fallback to a string if the parse fails - // so, simple values such as "10px" are parsed to Float. - // complex values such as "rotate(1rad)" are returned as is. - result = jQuery.css( tween.elem, tween.prop, "" ); - // Empty strings, null, undefined and "auto" are converted to 0. - return !result || result === "auto" ? 0 : result; - }, - set: function( tween ) { - // use step hook for back compat - use cssHook if its there - use .style if its - // available and use plain properties where available - if ( jQuery.fx.step[ tween.prop ] ) { - jQuery.fx.step[ tween.prop ]( tween ); - } else if ( tween.elem.style && ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || jQuery.cssHooks[ tween.prop ] ) ) { - jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); - } else { - tween.elem[ tween.prop ] = tween.now; - } - } - } -}; - -// Remove in 2.0 - this supports IE8's panic based approach -// to setting things on disconnected nodes - -Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { - set: function( tween ) { - if ( tween.elem.nodeType && tween.elem.parentNode ) { - tween.elem[ tween.prop ] = tween.now; - } - } -}; - -jQuery.each([ "toggle", "show", "hide" ], function( i, name ) { - var cssFn = jQuery.fn[ name ]; - jQuery.fn[ name ] = function( speed, easing, callback ) { - return speed == null || typeof speed === "boolean" ? - cssFn.apply( this, arguments ) : - this.animate( genFx( name, true ), speed, easing, callback ); - }; -}); - -jQuery.fn.extend({ - fadeTo: function( speed, to, easing, callback ) { - - // show any hidden elements after setting opacity to 0 - return this.filter( isHidden ).css( "opacity", 0 ).show() - - // animate to the value specified - .end().animate({ opacity: to }, speed, easing, callback ); - }, - animate: function( prop, speed, easing, callback ) { - var empty = jQuery.isEmptyObject( prop ), - optall = jQuery.speed( speed, easing, callback ), - doAnimation = function() { - // Operate on a copy of prop so per-property easing won't be lost - var anim = Animation( this, jQuery.extend( {}, prop ), optall ); - doAnimation.finish = function() { - anim.stop( true ); - }; - // Empty animations, or finishing resolves immediately - if ( empty || jQuery._data( this, "finish" ) ) { - anim.stop( true ); - } - }; - doAnimation.finish = doAnimation; - - return empty || optall.queue === false ? - this.each( doAnimation ) : - this.queue( optall.queue, doAnimation ); - }, - stop: function( type, clearQueue, gotoEnd ) { - var stopQueue = function( hooks ) { - var stop = hooks.stop; - delete hooks.stop; - stop( gotoEnd ); - }; - - if ( typeof type !== "string" ) { - gotoEnd = clearQueue; - clearQueue = type; - type = undefined; - } - if ( clearQueue && type !== false ) { - this.queue( type || "fx", [] ); - } - - return this.each(function() { - var dequeue = true, - index = type != null && type + "queueHooks", - timers = jQuery.timers, - data = jQuery._data( this ); - - if ( index ) { - if ( data[ index ] && data[ index ].stop ) { - stopQueue( data[ index ] ); - } - } else { - for ( index in data ) { - if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { - stopQueue( data[ index ] ); - } - } - } - - for ( index = timers.length; index--; ) { - if ( timers[ index ].elem === this && (type == null || timers[ index ].queue === type) ) { - timers[ index ].anim.stop( gotoEnd ); - dequeue = false; - timers.splice( index, 1 ); - } - } - - // start the next in the queue if the last step wasn't forced - // timers currently will call their complete callbacks, which will dequeue - // but only if they were gotoEnd - if ( dequeue || !gotoEnd ) { - jQuery.dequeue( this, type ); - } - }); - }, - finish: function( type ) { - if ( type !== false ) { - type = type || "fx"; - } - return this.each(function() { - var index, - data = jQuery._data( this ), - queue = data[ type + "queue" ], - hooks = data[ type + "queueHooks" ], - timers = jQuery.timers, - length = queue ? queue.length : 0; - - // enable finishing flag on private data - data.finish = true; - - // empty the queue first - jQuery.queue( this, type, [] ); - - if ( hooks && hooks.cur && hooks.cur.finish ) { - hooks.cur.finish.call( this ); - } - - // look for any active animations, and finish them - for ( index = timers.length; index--; ) { - if ( timers[ index ].elem === this && timers[ index ].queue === type ) { - timers[ index ].anim.stop( true ); - timers.splice( index, 1 ); - } - } - - // look for any animations in the old queue and finish them - for ( index = 0; index < length; index++ ) { - if ( queue[ index ] && queue[ index ].finish ) { - queue[ index ].finish.call( this ); - } - } - - // turn off finishing flag - delete data.finish; - }); - } -}); - -// Generate parameters to create a standard animation -function genFx( type, includeWidth ) { - var which, - attrs = { height: type }, - i = 0; - - // if we include width, step value is 1 to do all cssExpand values, - // if we don't include width, step value is 2 to skip over Left and Right - includeWidth = includeWidth? 1 : 0; - for( ; i < 4 ; i += 2 - includeWidth ) { - which = cssExpand[ i ]; - attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; - } - - if ( includeWidth ) { - attrs.opacity = attrs.width = type; - } - - return attrs; -} - -// Generate shortcuts for custom animations -jQuery.each({ - slideDown: genFx("show"), - slideUp: genFx("hide"), - slideToggle: genFx("toggle"), - fadeIn: { opacity: "show" }, - fadeOut: { opacity: "hide" }, - fadeToggle: { opacity: "toggle" } -}, function( name, props ) { - jQuery.fn[ name ] = function( speed, easing, callback ) { - return this.animate( props, speed, easing, callback ); - }; -}); - -jQuery.speed = function( speed, easing, fn ) { - var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { - complete: fn || !fn && easing || - jQuery.isFunction( speed ) && speed, - duration: speed, - easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing - }; - - opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration : - opt.duration in jQuery.fx.speeds ? jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default; - - // normalize opt.queue - true/undefined/null -> "fx" - if ( opt.queue == null || opt.queue === true ) { - opt.queue = "fx"; - } - - // Queueing - opt.old = opt.complete; - - opt.complete = function() { - if ( jQuery.isFunction( opt.old ) ) { - opt.old.call( this ); - } - - if ( opt.queue ) { - jQuery.dequeue( this, opt.queue ); - } - }; - - return opt; -}; - -jQuery.easing = { - linear: function( p ) { - return p; - }, - swing: function( p ) { - return 0.5 - Math.cos( p*Math.PI ) / 2; - } -}; - -jQuery.timers = []; -jQuery.fx = Tween.prototype.init; -jQuery.fx.tick = function() { - var timer, - timers = jQuery.timers, - i = 0; - - fxNow = jQuery.now(); - - for ( ; i < timers.length; i++ ) { - timer = timers[ i ]; - // Checks the timer has not already been removed - if ( !timer() && timers[ i ] === timer ) { - timers.splice( i--, 1 ); - } - } - - if ( !timers.length ) { - jQuery.fx.stop(); - } - fxNow = undefined; -}; - -jQuery.fx.timer = function( timer ) { - if ( timer() && jQuery.timers.push( timer ) ) { - jQuery.fx.start(); - } -}; - -jQuery.fx.interval = 13; - -jQuery.fx.start = function() { - if ( !timerId ) { - timerId = setInterval( jQuery.fx.tick, jQuery.fx.interval ); - } -}; - -jQuery.fx.stop = function() { - clearInterval( timerId ); - timerId = null; -}; - -jQuery.fx.speeds = { - slow: 600, - fast: 200, - // Default speed - _default: 400 -}; - -// Back Compat <1.8 extension point -jQuery.fx.step = {}; - -if ( jQuery.expr && jQuery.expr.filters ) { - jQuery.expr.filters.animated = function( elem ) { - return jQuery.grep(jQuery.timers, function( fn ) { - return elem === fn.elem; - }).length; - }; -} -jQuery.fn.offset = function( options ) { - if ( arguments.length ) { - return options === undefined ? - this : - this.each(function( i ) { - jQuery.offset.setOffset( this, options, i ); - }); - } - - var docElem, win, - box = { top: 0, left: 0 }, - elem = this[ 0 ], - doc = elem && elem.ownerDocument; - - if ( !doc ) { - return; - } - - docElem = doc.documentElement; - - // Make sure it's not a disconnected DOM node - if ( !jQuery.contains( docElem, elem ) ) { - return box; - } - - // If we don't have gBCR, just use 0,0 rather than error - // BlackBerry 5, iOS 3 (original iPhone) - if ( typeof elem.getBoundingClientRect !== core_strundefined ) { - box = elem.getBoundingClientRect(); - } - win = getWindow( doc ); - return { - top: box.top + ( win.pageYOffset || docElem.scrollTop ) - ( docElem.clientTop || 0 ), - left: box.left + ( win.pageXOffset || docElem.scrollLeft ) - ( docElem.clientLeft || 0 ) - }; -}; - -jQuery.offset = { - - setOffset: function( elem, options, i ) { - var position = jQuery.css( elem, "position" ); - - // set position first, in-case top/left are set even on static elem - if ( position === "static" ) { - elem.style.position = "relative"; - } - - var curElem = jQuery( elem ), - curOffset = curElem.offset(), - curCSSTop = jQuery.css( elem, "top" ), - curCSSLeft = jQuery.css( elem, "left" ), - calculatePosition = ( position === "absolute" || position === "fixed" ) && jQuery.inArray("auto", [curCSSTop, curCSSLeft]) > -1, - props = {}, curPosition = {}, curTop, curLeft; - - // need to be able to calculate position if either top or left is auto and position is either absolute or fixed - if ( calculatePosition ) { - curPosition = curElem.position(); - curTop = curPosition.top; - curLeft = curPosition.left; - } else { - curTop = parseFloat( curCSSTop ) || 0; - curLeft = parseFloat( curCSSLeft ) || 0; - } - - if ( jQuery.isFunction( options ) ) { - options = options.call( elem, i, curOffset ); - } - - if ( options.top != null ) { - props.top = ( options.top - curOffset.top ) + curTop; - } - if ( options.left != null ) { - props.left = ( options.left - curOffset.left ) + curLeft; - } - - if ( "using" in options ) { - options.using.call( elem, props ); - } else { - curElem.css( props ); - } - } -}; - - -jQuery.fn.extend({ - - position: function() { - if ( !this[ 0 ] ) { - return; - } - - var offsetParent, offset, - parentOffset = { top: 0, left: 0 }, - elem = this[ 0 ]; - - // fixed elements are offset from window (parentOffset = {top:0, left: 0}, because it is it's only offset parent - if ( jQuery.css( elem, "position" ) === "fixed" ) { - // we assume that getBoundingClientRect is available when computed position is fixed - offset = elem.getBoundingClientRect(); - } else { - // Get *real* offsetParent - offsetParent = this.offsetParent(); - - // Get correct offsets - offset = this.offset(); - if ( !jQuery.nodeName( offsetParent[ 0 ], "html" ) ) { - parentOffset = offsetParent.offset(); - } - - // Add offsetParent borders - parentOffset.top += jQuery.css( offsetParent[ 0 ], "borderTopWidth", true ); - parentOffset.left += jQuery.css( offsetParent[ 0 ], "borderLeftWidth", true ); - } - - // Subtract parent offsets and element margins - // note: when an element has margin: auto the offsetLeft and marginLeft - // are the same in Safari causing offset.left to incorrectly be 0 - return { - top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ), - left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true) - }; - }, - - offsetParent: function() { - return this.map(function() { - var offsetParent = this.offsetParent || document.documentElement; - while ( offsetParent && ( !jQuery.nodeName( offsetParent, "html" ) && jQuery.css( offsetParent, "position") === "static" ) ) { - offsetParent = offsetParent.offsetParent; - } - return offsetParent || document.documentElement; - }); - } -}); - - -// Create scrollLeft and scrollTop methods -jQuery.each( {scrollLeft: "pageXOffset", scrollTop: "pageYOffset"}, function( method, prop ) { - var top = /Y/.test( prop ); - - jQuery.fn[ method ] = function( val ) { - return jQuery.access( this, function( elem, method, val ) { - var win = getWindow( elem ); - - if ( val === undefined ) { - return win ? (prop in win) ? win[ prop ] : - win.document.documentElement[ method ] : - elem[ method ]; - } - - if ( win ) { - win.scrollTo( - !top ? val : jQuery( win ).scrollLeft(), - top ? val : jQuery( win ).scrollTop() - ); - - } else { - elem[ method ] = val; - } - }, method, val, arguments.length, null ); - }; -}); - -function getWindow( elem ) { - return jQuery.isWindow( elem ) ? - elem : - elem.nodeType === 9 ? - elem.defaultView || elem.parentWindow : - false; -} -// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods -jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { - jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name }, function( defaultExtra, funcName ) { - // margin is only for outerHeight, outerWidth - jQuery.fn[ funcName ] = function( margin, value ) { - var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ), - extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" ); - - return jQuery.access( this, function( elem, type, value ) { - var doc; - - if ( jQuery.isWindow( elem ) ) { - // As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there - // isn't a whole lot we can do. See pull request at this URL for discussion: - // https://github.com/jquery/jquery/pull/764 - return elem.document.documentElement[ "client" + name ]; - } - - // Get document width or height - if ( elem.nodeType === 9 ) { - doc = elem.documentElement; - - // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], whichever is greatest - // unfortunately, this causes bug #3838 in IE6/8 only, but there is currently no good, small way to fix it. - return Math.max( - elem.body[ "scroll" + name ], doc[ "scroll" + name ], - elem.body[ "offset" + name ], doc[ "offset" + name ], - doc[ "client" + name ] - ); - } - - return value === undefined ? - // Get width or height on the element, requesting but not forcing parseFloat - jQuery.css( elem, type, extra ) : - - // Set width or height on the element - jQuery.style( elem, type, value, extra ); - }, type, chainable ? margin : undefined, chainable, null ); - }; - }); -}); -// Limit scope pollution from any deprecated API -// (function() { - -// })(); -// Expose jQuery to the global object -window.jQuery = window.$ = jQuery; - -// Expose jQuery as an AMD module, but only for AMD loaders that -// understand the issues with loading multiple versions of jQuery -// in a page that all might call define(). The loader will indicate -// they have special allowances for multiple jQuery versions by -// specifying define.amd.jQuery = true. Register as a named module, -// since jQuery can be concatenated with other files that may use define, -// but not use a proper concatenation script that understands anonymous -// AMD modules. A named AMD is safest and most robust way to register. -// Lowercase jquery is used because AMD module names are derived from -// file names, and jQuery is normally delivered in a lowercase file name. -// Do this after creating the global so that if an AMD module wants to call -// noConflict to hide this version of jQuery, it will work. -if ( typeof define === "function" && define.amd && define.amd.jQuery ) { - define( "jquery", [], function () { return jQuery; } ); -} - -})( window ); diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/README.md b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/README.md deleted file mode 100644 index a384f97..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Tests from the HTML Working Group - -See: http://www.w3.org/html/wg/wiki/Testing \ No newline at end of file diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/harness/index.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/harness/index.js deleted file mode 100644 index 59750bc..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/harness/index.js +++ /dev/null @@ -1,45 +0,0 @@ -var fs = require('fs'); -var assert = require('assert'); -var Path = require('path'); -var domino = require('../../../lib'); - -function read(file) { - return fs.readFileSync(Path.resolve(__dirname, '..', file), 'utf8'); -} - -var testharness = read(__dirname + '/testharness.js'); - -function list(dir, fn) { - var result = {}; - dir = Path.resolve(__dirname, '..', dir); - fs.readdirSync(dir).forEach(function(file) { - var path = Path.join(dir, file); - var stat = fs.statSync(path); - if (stat.isDirectory()) { - result[file] = list(path, fn); - } - else if (file.match(/\.x?html$/)) { - var test = fn(path); - if (test) result[file] = test; - } - }); - return result; -} - -module.exports = function(path) { - return list(path, function(file) { - var html = read(file); - var window = domino.createWindow(html); - window._run(testharness); - var scripts = window.document.getElementsByTagName('script'); - if (scripts.length) { - var script = scripts[scripts.length-1]; - var code = script.textContent; - if (/assert/.test(code)) { - return function() { - window._run(code); - }; - } - } - }); -}; diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/harness/testharness.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/harness/testharness.js deleted file mode 100644 index 49cd5e8..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/harness/testharness.js +++ /dev/null @@ -1,1739 +0,0 @@ -/* -Distributed under both the W3C Test Suite License [1] and the W3C -3-clause BSD License [2]. To contribute to a W3C Test Suite, see the -policies and contribution forms [3]. - -[1] http://www.w3.org/Consortium/Legal/2008/04-testsuite-license -[2] http://www.w3.org/Consortium/Legal/2008/03-bsd-license -[3] http://www.w3.org/2004/10/27-testcases -*/ - -/* - * == Introduction == - * - * This file provides a framework for writing testcases. It is intended to - * provide a convenient API for making common assertions, and to work both - * for testing synchronous and asynchronous DOM features in a way that - * promotes clear, robust, tests. - * - * == Basic Usage == - * - * To use this file, import the script and the testharnessreport script into - * the test document: - * <script src="/resources/testharness.js"></script> - * <script src="/resources/testharnessreport.js"></script> - * - * Within each file one may define one or more tests. Each test is atomic - * in the sense that a single test has a single result (pass/fail/timeout). - * Within each test one may have a number of asserts. The test fails at the - * first failing assert, and the remainder of the test is (typically) not run. - * - * If the file containing the tests is a HTML file with an element of id "log" - * this will be populated with a table containing the test results after all - * the tests have run. - * - * NOTE: By default tests must be created before the load event fires. For ways - * to create tests after the load event, see "Determining when all tests are - * complete", below - * - * == Synchronous Tests == - * - * To create a synchronous test use the test() function: - * - * test(test_function, name, properties) - * - * test_function is a function that contains the code to test. For example a - * trivial passing test would be: - * - * test(function() {assert_true(true)}, "assert_true with true") - * - * The function passed in is run in the test() call. - * - * properties is an object that overrides default test properties. The recognised properties - * are: - * timeout - the test timeout in ms - * - * e.g. - * test(test_function, "Sample test", {timeout:1000}) - * - * would run test_function with a timeout of 1s. - * - * == Asynchronous Tests == - * - * Testing asynchronous features is somewhat more complex since the result of - * a test may depend on one or more events or other callbacks. The API provided - * for testing these features is indended to be rather low-level but hopefully - * applicable to many situations. - * - * To create a test, one starts by getting a Test object using async_test: - * - * async_test(name, properties) - * - * e.g. - * var t = async_test("Simple async test") - * - * Assertions can be added to the test by calling the step method of the test - * object with a function containing the test assertions: - * - * t.step(function() {assert_true(true)}); - * - * When all the steps are complete, the done() method must be called: - * - * t.done(); - * - * The properties argument is identical to that for test(). - * - * In many cases it is convenient to run a step in response to an event or a - * callback. A convenient method of doing this is through the step_func method - * which returns a function that, when called runs a test step. For example - * - * object.some_event = t.step_func(function(e) {assert_true(e.a)}); - * - * == Making assertions == - * - * Functions for making assertions start assert_ - * The best way to get a list is to look in this file for functions names - * matching that pattern. The general signature is - * - * assert_something(actual, expected, description) - * - * although not all assertions precisely match this pattern e.g. assert_true - * only takes actual and description as arguments. - * - * The description parameter is used to present more useful error messages when - * a test fails - * - * NOTE: All asserts must be located in a test() or a step of an async_test(). - * asserts outside these places won't be detected correctly by the harness - * and may cause a file to stop testing. - * - * == Setup == - * - * Sometimes tests require non-trivial setup that may fail. For this purpose - * there is a setup() function, that may be called with one or two arguments. - * The two argument version is: - * - * setup(func, properties) - * - * The one argument versions may omit either argument. - * func is a function to be run synchronously. setup() becomes a no-op once - * any tests have returned results. Properties are global properties of the test - * harness. Currently recognised properties are: - * - * timeout - The time in ms after which the harness should stop waiting for - * tests to complete (this is different to the per-test timeout - * because async tests do not start their timer until .step is called) - * - * explicit_done - Wait for an explicit call to done() before declaring all tests - * complete (see below) - * - * output_document - The document to which results should be logged. By default this is - * the current document but could be an ancestor document in some cases - * e.g. a SVG test loaded in an HTML wrapper - * - * == Determining when all tests are complete == - * - * By default the test harness will assume there are no more results to come - * when: - * 1) There are no Test objects that have been created but not completed - * 2) The load event on the document has fired - * - * This behaviour can be overridden by setting the explicit_done property to true - * in a call to setup(). If explicit_done is true, the test harness will not assume - * it is done until the global done() function is called. Once done() is called, the - * two conditions above apply like normal. - * - * == Generating tests == - * - * NOTE: this functionality may be removed - * - * There are scenarios in which is is desirable to create a large number of - * (synchronous) tests that are internally similar but vary in the parameters - * used. To make this easier, the generate_tests function allows a single - * function to be called with each set of parameters in a list: - * - * generate_tests(test_function, parameter_lists) - * - * For example: - * - * generate_tests(assert_equals, [ - * ["Sum one and one", 1+1, 2], - * ["Sum one and zero", 1+0, 1] - * ]) - * - * Is equivalent to: - * - * test(function() {assert_equals(1+1, 2)}, "Sum one and one") - * test(function() {assert_equals(1+0, 1)}, "Sum one and zero") - * - * Note that the first item in each parameter list corresponds to the name of - * the test. - * - * == Callback API == - * - * The framework provides callbacks corresponding to 3 events: - * - * start - happens when the first Test is created - * result - happens when a test result is recieved - * complete - happens when all results are recieved - * - * The page defining the tests may add callbacks for these events by calling - * the following methods: - * - * add_start_callback(callback) - callback called with no arguments - * add_result_callback(callback) - callback called with a test argument - * add_completion_callback(callback) - callback called with an array of tests - * and an status object - * - * tests have the following properties: - * status: A status code. This can be compared to the PASS, FAIL, TIMEOUT and - * NOTRUN properties on the test object - * message: A message indicating the reason for failure. In the future this - * will always be a string - * - * The status object gives the overall status of the harness. It has the - * following properties: - * status: Can be compared to the OK, ERROR and TIMEOUT properties - * message: An error message set when the status is ERROR - * - * == External API == - * - * In order to collect the results of multiple pages containing tests, the test - * harness will, when loaded in a nested browsing context, attempt to call - * certain functions in each ancestor browsing context: - * - * start - start_callback - * result - result_callback - * complete - completion_callback - * - * These are given the same arguments as the corresponding internal callbacks - * described above. - * - * == List of assertions == - * - * assert_true(actual, description) - * asserts that /actual/ is strictly true - * - * assert_false(actual, description) - * asserts that /actual/ is strictly false - * - * assert_equals(actual, expected, description) - * asserts that /actual/ is the same value as /expected/ - * - * assert_not_equals(actual, expected, description) - * asserts that /actual/ is a different value to /expected/. Yes, this means - * that "expected" is a misnomer - * - * assert_array_equals(actual, expected, description) - * asserts that /actual/ and /expected/ have the same length and the value of - * each indexed property in /actual/ is the strictly equal to the corresponding - * property value in /expected/ - * - * assert_approx_equals(actual, expected, epsilon, description) - * asserts that /actual/ is a number within +/- /epsilon/ of /expected/ - * - * assert_regexp_match(actual, expected, description) - * asserts that /actual/ matches the regexp /expected/ - * - * assert_own_property(object, property_name, description) - * assert that object has own property property_name - * - * assert_inherits(object, property_name, description) - * assert that object does not have an own property named property_name - * but that property_name is present in the prototype chain for object - * - * assert_idl_attribute(object, attribute_name, description) - * assert that an object that is an instance of some interface has the - * attribute attribute_name following the conditions specified by WebIDL - * - * assert_readonly(object, property_name, description) - * assert that property property_name on object is readonly - * - * assert_throws(code, func, description) - * code - a DOMException/RangeException code as a string, e.g. "HIERARCHY_REQUEST_ERR" - * func - a function that should throw - * - * assert that func throws a DOMException or RangeException (as appropriate) - * with the given code. If an object is passed for code instead of a string, - * checks that the thrown exception has a property called "name" that matches - * the property of code called "name". Note, this function will probably be - * rewritten sometime to make more sense. - * - * assert_unreached(description) - * asserts if called. Used to ensure that some codepath is *not* taken e.g. - * an event does not fire. - * - * assert_exists(object, property_name, description) - * *** deprecated *** - * asserts that object has an own property property_name - * - * assert_not_exists(object, property_name, description) - * *** deprecated *** - * assert that object does not have own property property_name - */ - -(function () -{ - var debug = false; - // default timeout is 5 seconds, test can override if needed - var settings = { - output:true, - timeout:5000, - test_timeout:2000 - }; - - var xhtml_ns = "http://www.w3.org/1999/xhtml"; - - // script_prefix is used by Output.prototype.show_results() to figure out - // where to get testharness.css from. It's enclosed in an extra closure to - // not pollute the library's namespace with variables like "src". - var script_prefix = null; - (function () - { - var scripts = document.getElementsByTagName("script"); - for (var i = 0; i < scripts.length; i++) - { - if (scripts[i].src) - { - var src = scripts[i].src; - } - else if (scripts[i].href) - { - //SVG case - var src = scripts[i].href.baseVal; - } - if (src && src.slice(src.length - "testharness.js".length) === "testharness.js") - { - script_prefix = src.slice(0, src.length - "testharness.js".length); - break; - } - } - })(); - - /* - * API functions - */ - - var name_counter = 0; - function next_default_name() - { - //Don't use document.title to work around an Opera bug in XHTML documents - var prefix = document.title || "Untitled"; - var suffix = name_counter > 0 ? " " + name_counter : ""; - name_counter++; - return prefix + suffix; - } - - function test(func, name, properties) - { - var test_name = name ? name : next_default_name(); - properties = properties ? properties : {}; - var test_obj = new Test(test_name, properties); - test_obj.step(func); - if (test_obj.status === test_obj.NOTRUN) { - test_obj.done(); - } - } - - function async_test(name, properties) - { - var test_name = name ? name : next_default_name(); - properties = properties ? properties : {}; - var test_obj = new Test(test_name, properties); - return test_obj; - } - - function setup(func_or_properties, maybe_properties) - { - var func = null; - var properties = {}; - if (arguments.length === 2) { - func = func_or_properties; - properties = maybe_properties; - } else if (func_or_properties instanceof Function){ - func = func_or_properties; - } else { - properties = func_or_properties; - } - tests.setup(func, properties); - output.setup(properties); - } - - function done() { - tests.end_wait(); - } - - function generate_tests(func, args) { - forEach(args, function(x) - { - var name = x[0]; - test(function() - { - func.apply(this, x.slice(1)); - }, name); - }); - } - - function on_event(object, event, callback) - { - object.addEventListener(event, callback, false); - } - - expose(test, 'test'); - expose(async_test, 'async_test'); - expose(generate_tests, 'generate_tests'); - expose(setup, 'setup'); - expose(done, 'done'); - expose(on_event, 'on_event'); - - /* - * Return a string truncated to the given length, with ... added at the end - * if it was longer. - */ - function truncate(s, len) - { - if (s.length > len) { - return s.substring(0, len - 3) + "..."; - } - return s; - } - - /* - * Convert a value to a nice, human-readable string - */ - function format_value(val) - { - switch (typeof val) - { - case "string": - for (var i = 0; i < 32; i++) - { - var replace = "\\"; - switch (i) { - case 0: replace += "0"; break; - case 1: replace += "x01"; break; - case 2: replace += "x02"; break; - case 3: replace += "x03"; break; - case 4: replace += "x04"; break; - case 5: replace += "x05"; break; - case 6: replace += "x06"; break; - case 7: replace += "x07"; break; - case 8: replace += "b"; break; - case 9: replace += "t"; break; - case 10: replace += "n"; break; - case 11: replace += "v"; break; - case 12: replace += "f"; break; - case 13: replace += "r"; break; - case 14: replace += "x0e"; break; - case 15: replace += "x0f"; break; - case 16: replace += "x10"; break; - case 17: replace += "x11"; break; - case 18: replace += "x12"; break; - case 19: replace += "x13"; break; - case 20: replace += "x14"; break; - case 21: replace += "x15"; break; - case 22: replace += "x16"; break; - case 23: replace += "x17"; break; - case 24: replace += "x18"; break; - case 25: replace += "x19"; break; - case 26: replace += "x1a"; break; - case 27: replace += "x1b"; break; - case 28: replace += "x1c"; break; - case 29: replace += "x1d"; break; - case 30: replace += "x1e"; break; - case 31: replace += "x1f"; break; - } - val = val.replace(RegExp(String.fromCharCode(i), "g"), replace); - } - return '"' + val.replace(/"/g, '\\"') + '"'; - case "boolean": - case "undefined": - return String(val); - case "number": - // In JavaScript, -0 === 0 and String(-0) == "0", so we have to - // special-case. - if (val === -0 && 1/val === -Infinity) - { - return "-0"; - } - return String(val); - case "object": - if (val === null) - { - return "null"; - } - - // Special-case Node objects, since those come up a lot in my tests. I - // ignore namespaces. I use duck-typing instead of instanceof, because - // instanceof doesn't work if the node is from another window (like an - // iframe's contentWindow): - // http://www.w3.org/Bugs/Public/show_bug.cgi?id=12295 - if ("nodeType" in val - && "nodeName" in val - && "nodeValue" in val - && "childNodes" in val) - { - switch (val.nodeType) - { - case Node.ELEMENT_NODE: - var ret = "<" + val.tagName.toLowerCase(); - for (var i = 0; i < val.attributes.length; i++) - { - ret += " " + val.attributes[i].name + '="' + val.attributes[i].value + '"'; - } - ret += ">" + val.innerHTML + "</" + val.tagName.toLowerCase() + ">"; - return "Element node " + truncate(ret, 60); - case Node.TEXT_NODE: - return 'Text node "' + truncate(val.data, 60) + '"'; - case Node.PROCESSING_INSTRUCTION_NODE: - return "ProcessingInstruction node with target " + format_value(truncate(val.target, 60)) + " and data " + format_value(truncate(val.data, 60)); - case Node.COMMENT_NODE: - return "Comment node <!--" + truncate(val.data, 60) + "-->"; - case Node.DOCUMENT_NODE: - return "Document node with " + val.childNodes.length + (val.childNodes.length == 1 ? " child" : " children"); - case Node.DOCUMENT_TYPE_NODE: - return "DocumentType node"; - case Node.DOCUMENT_FRAGMENT_NODE: - return "DocumentFragment node with " + val.childNodes.length + (val.childNodes.length == 1 ? " child" : " children"); - default: - return "Node object of unknown type"; - } - } - - // Fall through to default - default: - return typeof val + ' "' + truncate(String(val), 60) + '"'; - } - } - expose(format_value, "format_value"); - - /* - * Assertions - */ - - function assert_true(actual, description) - { - assert(actual === true, "assert_true", description, - "expected true got ${actual}", {actual:actual}); - }; - expose(assert_true, "assert_true"); - - function assert_false(actual, description) - { - assert(actual === false, "assert_false", description, - "expected false got ${actual}", {actual:actual}); - }; - expose(assert_false, "assert_false"); - - function same_value(x, y) { - if (y !== y) - { - //NaN case - return x !== x; - } - else if (x === 0 && y === 0) { - //Distinguish +0 and -0 - return 1/x === 1/y; - } - else - { - //typical case - return x === y; - } - } - - function assert_equals(actual, expected, description) - { - /* - * Test if two primitives are equal or two objects - * are the same object - */ - assert(same_value(actual, expected), "assert_equals", description, - "expected ${expected} but got ${actual}", - {expected:expected, actual:actual}); - }; - expose(assert_equals, "assert_equals"); - - function assert_not_equals(actual, expected, description) - { - /* - * Test if two primitives are unequal or two objects - * are different objects - */ - assert(!same_value(actual, expected), "assert_not_equals", description, - "got disallowed value ${actual}", - {actual:actual}); - }; - expose(assert_not_equals, "assert_not_equals"); - - function assert_object_equals(actual, expected, description) - { - //This needs to be improved a great deal - function check_equal(expected, actual, stack) - { - stack.push(actual); - - var p; - for (p in actual) - { - assert(expected.hasOwnProperty(p), "assert_object_equals", description, - "unexpected property ${p}", {p:p}); - - if (typeof actual[p] === "object" && actual[p] !== null) - { - if (stack.indexOf(actual[p]) === -1) - { - check_equal(actual[p], expected[p], stack); - } - } - else - { - assert(actual[p] === expected[p], "assert_object_equals", description, - "property ${p} expected ${expected} got ${actual}", - {p:p, expected:expected, actual:actual}); - } - } - for (p in expected) - { - assert(actual.hasOwnProperty(p), - "assert_object_equals", description, - "expected property ${p} missing", {p:p}); - } - stack.pop(); - } - check_equal(actual, expected, []); - }; - expose(assert_object_equals, "assert_object_equals"); - - function assert_array_equals(actual, expected, description) - { - assert(actual.length === expected.length, - "assert_array_equals", description, - "lengths differ, expected ${expected} got ${actual}", - {expected:expected.length, actual:actual.length}); - - for (var i=0; i < actual.length; i++) - { - assert(actual.hasOwnProperty(i) === expected.hasOwnProperty(i), - "assert_array_equals", description, - "property ${i}, property expected to be $expected but was $actual", - {i:i, expected:expected.hasOwnProperty(i) ? "present" : "missing", - actual:actual.hasOwnProperty(i) ? "present" : "missing"}); - assert(expected[i] === actual[i], - "assert_array_equals", description, - "property ${i}, expected ${expected} but got ${actual}", - {i:i, expected:expected[i], actual:actual[i]}); - } - } - expose(assert_array_equals, "assert_array_equals"); - - function assert_approx_equals(actual, expected, epsilon, description) - { - /* - * Test if two primitive numbers are equal withing +/- epsilon - */ - assert(typeof actual === "number", - "assert_approx_equals", description, - "expected a number but got a ${type_actual}", - {type_actual:typeof actual}); - - assert(Math.abs(actual - expected) < epsilon, - "assert_approx_equals", description, - "expected ${expected} +/- ${epsilon} but got ${actual}", - {expected:expected, actual:actual, epsilon:epsilon}); - }; - expose(assert_approx_equals, "assert_approx_equals"); - - function assert_regexp_match(actual, expected, description) { - /* - * Test if a string (actual) matches a regexp (expected) - */ - assert(expected.test(actual), - "assert_regexp_match", description, - "expected ${expected} but got ${actual}", - {expected:expected, actual:actual}); - } - expose(assert_regexp_match, "assert_regexp_match"); - - - function _assert_own_property(name) { - return function(object, property_name, description) - { - assert(object.hasOwnProperty(property_name), - name, description, - "expected property ${p} missing", {p:property_name}); - }; - } - expose(_assert_own_property("assert_exists"), "assert_exists"); - expose(_assert_own_property("assert_own_property"), "assert_own_property"); - - function assert_not_exists(object, property_name, description) - { - assert(!object.hasOwnProperty(property_name), - "assert_not_exists", description, - "unexpected property ${p} found", {p:property_name}); - }; - expose(assert_not_exists, "assert_not_exists"); - - function _assert_inherits(name) { - return function (object, property_name, description) - { - assert(typeof object === "object", - name, description, - "provided value is not an object"); - - assert("hasOwnProperty" in object, - name, description, - "provided value is an object but has no hasOwnProperty method"); - - assert(!object.hasOwnProperty(property_name), - name, description, - "property ${p} found on object expected in prototype chain", - {p:property_name}); - - assert(property_name in object, - name, description, - "property ${p} not found in prototype chain", - {p:property_name}); - }; - } - expose(_assert_inherits("assert_inherits"), "assert_inherits"); - expose(_assert_inherits("assert_idl_attribute"), "assert_idl_attribute"); - - function assert_readonly(object, property_name, description) - { - var initial_value = object[property_name]; - try { - //Note that this can have side effects in the case where - //the property has PutForwards - object[property_name] = initial_value + "a"; //XXX use some other value here? - assert(object[property_name] === initial_value, - "assert_readonly", description, - "changing property ${p} succeeded", - {p:property_name}); - } - finally - { - object[property_name] = initial_value; - } - }; - expose(assert_readonly, "assert_readonly"); - - function assert_throws(code, func, description) - { - try - { - func.call(this); - assert(false, "assert_throws", description, - "${func} did not throw", {func:func}); - } - catch(e) - { - if (e instanceof AssertionError) { - throw(e); - } - if (typeof code === "object") - { - assert(typeof e == "object" && "name" in e && e.name == code.name, - "assert_throws", description, - "${func} threw ${actual} (${actual_name}) expected ${expected} (${expected_name})", - {func:func, actual:e, actual_name:e.name, - expected:code, - expected_name:code.name}); - return; - } - var required_props = {}; - required_props.code = { - INDEX_SIZE_ERR: 1, - HIERARCHY_REQUEST_ERR: 3, - WRONG_DOCUMENT_ERR: 4, - INVALID_CHARACTER_ERR: 5, - NO_MODIFICATION_ALLOWED_ERR: 7, - NOT_FOUND_ERR: 8, - NOT_SUPPORTED_ERR: 9, - INVALID_STATE_ERR: 11, - SYNTAX_ERR: 12, - INVALID_MODIFICATION_ERR: 13, - NAMESPACE_ERR: 14, - INVALID_ACCESS_ERR: 15, - TYPE_MISMATCH_ERR: 17, - SECURITY_ERR: 18, - NETWORK_ERR: 19, - ABORT_ERR: 20, - URL_MISMATCH_ERR: 21, - QUOTA_EXCEEDED_ERR: 22, - TIMEOUT_ERR: 23, - INVALID_NODE_TYPE_ERR: 24, - DATA_CLONE_ERR: 25, - }[code]; - if (required_props.code === undefined) - { - throw new AssertionError('Test bug: unrecognized DOMException code "' + code + '" passed to assert_throws()'); - } - required_props[code] = required_props.code; - //Uncomment this when the latest version of every browser - //actually implements the spec; otherwise it just creates - //zillions of failures. Also do required_props.type. - //required_props.name = code; - // - //We'd like to test that e instanceof the appropriate interface, - //but we can't, because we don't know what window it was created - //in. It might be an instanceof the appropriate interface on some - //unknown other window. TODO: Work around this somehow? - - assert(typeof e == "object", - "assert_throws", description, - "${func} threw ${e} with type ${type}, not an object", - {func:func, e:e, type:typeof e}); - - for (var prop in required_props) - { - assert(typeof e == "object" && prop in e && e[prop] == required_props[prop], - "assert_throws", description, - "${func} threw ${e} that is not a DOMException " + code + ": property ${prop} is equal to ${actual}, expected ${expected}", - {func:func, e:e, prop:prop, actual:e[prop], expected:required_props[prop]}); - } - } - } - expose(assert_throws, "assert_throws"); - - function assert_unreached(description) { - assert(false, "assert_unreached", description, - "Reached unreachable code"); - } - expose(assert_unreached, "assert_unreached"); - - function Test(name, properties) - { - this.name = name; - this.status = this.NOTRUN; - this.timeout_id = null; - this.is_done = false; - - this.timeout_length = properties.timeout ? properties.timeout : settings.test_timeout; - - this.message = null; - - var this_obj = this; - this.steps = []; - - tests.push(this); - } - - Test.prototype = { - PASS:0, - FAIL:1, - TIMEOUT:2, - NOTRUN:3 - }; - - - Test.prototype.step = function(func, this_obj) - { - //In case the test has already failed - if (this.status !== this.NOTRUN) - { - return; - } - - tests.started = true; - - if (this.timeout_id === null) { - this.set_timeout(); - } - - this.steps.push(func); - - if (arguments.length === 1) - { - this_obj = this; - } - - try - { - func.apply(this_obj, Array.prototype.slice.call(arguments, 2)); - } - catch(e) - { - //This can happen if something called synchronously invoked another - //step - if (this.status !== this.NOTRUN) - { - return; - } - this.status = this.FAIL; - this.message = e.message; - if (typeof e.stack != "undefined" && typeof e.message == "string") { - //Try to make it more informative for some exceptions, at least - //in Gecko and WebKit. This results in a stack dump instead of - //just errors like "Cannot read property 'parentNode' of null" - //or "root is null". Makes it a lot longer, of course. - this.message += "(stack: " + e.stack + ")"; - } - this.done(); - if (debug && e.constructor !== AssertionError) { - throw e; - } - } - }; - - Test.prototype.step_func = function(func, this_obj) - { - var test_this = this; - - if (arguments.length === 1) - { - this_obj = test_this; - } - - return function() - { - test_this.step.apply(test_this, [func, this_obj].concat( - Array.prototype.slice.call(arguments))); - }; - }; - - Test.prototype.set_timeout = function() - { - var this_obj = this; - this.timeout_id = setTimeout(function() - { - this_obj.timeout(); - }, this.timeout_length); - }; - - Test.prototype.timeout = function() - { - this.status = this.TIMEOUT; - this.timeout_id = null; - this.message = "Test timed out"; - this.done(); - }; - - Test.prototype.done = function() - { - if (this.is_done) { - return; - } - clearTimeout(this.timeout_id); - if (this.status === this.NOTRUN) - { - this.status = this.PASS; - } - this.is_done = true; - tests.result(this); - }; - - - /* - * Harness - */ - - function TestsStatus() - { - this.status = null; - this.message = null; - } - TestsStatus.prototype = { - OK:0, - ERROR:1, - TIMEOUT:2 - }; - - function Tests() - { - this.tests = []; - this.num_pending = 0; - - this.phases = { - INITIAL:0, - SETUP:1, - HAVE_TESTS:2, - HAVE_RESULTS:3, - COMPLETE:4 - }; - this.phase = this.phases.INITIAL; - - //All tests can't be done until the load event fires - this.all_loaded = false; - this.wait_for_finish = false; - this.processing_callbacks = false; - - this.timeout_length = settings.timeout; - this.timeout_id = null; - this.set_timeout(); - - this.start_callbacks = []; - this.test_done_callbacks = []; - this.all_done_callbacks = []; - - this.status = new TestsStatus(); - - var this_obj = this; - - on_event(window, "load", - function() - { - this_obj.all_loaded = true; - if (this_obj.all_done()) - { - this_obj.complete(); - } - }); - this.properties = {}; - } - - Tests.prototype.setup = function(func, properties) - { - if (this.phase >= this.phases.HAVE_RESULTS) - { - return; - } - if (this.phase < this.phases.SETUP) - { - this.phase = this.phases.SETUP; - } - - for (var p in properties) - { - if (properties.hasOwnProperty(p)) - { - this.properties[p] = properties[p]; - } - } - - if (properties.timeout) - { - this.timeout_length = properties.timeout; - this.set_timeout(); - } - if (properties.explicit_done) - { - this.wait_for_finish = true; - } - - if (func) - { - try - { - func(); - } catch(e) - { - this.status.status = this.status.ERROR; - this.status.message = e; - }; - } - }; - - Tests.prototype.set_timeout = function() - { - var this_obj = this; - clearTimeout(this.timeout_id); - this.timeout_id = setTimeout(function() { - this_obj.timeout(); - }, this.timeout_length); - }; - - Tests.prototype.timeout = function() { - this.status.status = this.status.TIMEOUT; - this.complete(); - }; - - Tests.prototype.end_wait = function() - { - this.wait_for_finish = false; - if (this.all_done()) { - this.complete(); - } - }; - - Tests.prototype.push = function(test) - { - if (this.phase < this.phases.HAVE_TESTS) { - this.notify_start(); - } - this.num_pending++; - this.tests.push(test); - }; - - Tests.prototype.all_done = function() { - return (this.all_loaded && this.num_pending === 0 && - !this.wait_for_finish && !this.processing_callbacks); - }; - - Tests.prototype.start = function() { - this.phase = this.phases.HAVE_TESTS; - this.notify_start(); - }; - - Tests.prototype.notify_start = function() { - var this_obj = this; - forEach (this.start_callbacks, - function(callback) - { - callback(this_obj.properties); - }); - forEach(ancestor_windows(), - function(w) - { - if(w.start_callback) - { - try - { - w.start_callback(this_obj.properties); - } - catch(e) - { - if (debug) - { - throw(e); - } - } - } - }); - }; - - Tests.prototype.result = function(test) - { - if (this.phase > this.phases.HAVE_RESULTS) - { - return; - } - this.phase = this.phases.HAVE_RESULTS; - this.num_pending--; - this.notify_result(test); - }; - - Tests.prototype.notify_result = function(test) { - var this_obj = this; - this.processing_callbacks = true; - forEach(this.test_done_callbacks, - function(callback) - { - callback(test, this_obj); - }); - - forEach(ancestor_windows(), - function(w) - { - if(w.result_callback) - { - try - { - w.result_callback(test); - } - catch(e) - { - if(debug) { - throw e; - } - } - } - }); - this.processing_callbacks = false; - if (this_obj.all_done()) - { - this_obj.complete(); - } - }; - - Tests.prototype.complete = function() { - if (this.phase === this.phases.COMPLETE) { - return; - } - this.phase = this.phases.COMPLETE; - this.notify_complete(); - }; - - Tests.prototype.notify_complete = function() - { - clearTimeout(this.timeout_id); - var this_obj = this; - if (this.status.status === null) - { - this.status.status = this.status.OK; - } - - forEach (this.all_done_callbacks, - function(callback) - { - callback(this_obj.tests, this_obj.status); - }); - - forEach(ancestor_windows(), - function(w) - { - if(w.completion_callback) - { - try - { - w.completion_callback(this_obj.tests, this_obj.status); - } - catch(e) - { - if (debug) - { - throw e; - } - } - } - }); - }; - - var tests = new Tests(); - - function add_start_callback(callback) { - tests.start_callbacks.push(callback); - } - - function add_result_callback(callback) - { - tests.test_done_callbacks.push(callback); - } - - function add_completion_callback(callback) - { - tests.all_done_callbacks.push(callback); - } - - expose(add_start_callback, 'add_start_callback'); - expose(add_result_callback, 'add_result_callback'); - expose(add_completion_callback, 'add_completion_callback'); - - /* - * Output listener - */ - - function Output() { - this.output_document = null; - this.output_node = null; - this.done_count = 0; - this.enabled = settings.output; - this.phase = this.INITIAL; - } - - Output.prototype.INITIAL = 0; - Output.prototype.STARTED = 1; - Output.prototype.HAVE_RESULTS = 2; - Output.prototype.COMPLETE = 3; - - Output.prototype.setup = function(properties) { - if (this.phase > this.INITIAL) { - return; - } - - //If output is disabled in testharnessreport.js the test shouldn't be - //able to override that - this.enabled = this.enabled && (properties.hasOwnProperty("output") ? - properties.output : settings.output); - }; - - Output.prototype.init = function(properties) - { - if (this.phase >= this.STARTED) { - return; - } - if (properties.output_document) { - this.output_document = properties.output_document; - } else { - this.output_document = document; - } - this.phase = this.STARTED; - }; - - Output.prototype.resolve_log = function() - { - if (!this.output_document) { - return; - } - var node = this.output_document.getElementById("log"); - if (node) { - this.output_node = node; - } - }; - - Output.prototype.show_status = function(test) - { - if (this.phase < this.STARTED) - { - this.init(); - } - if (!this.enabled) - { - return; - } - if (this.phase < this.HAVE_RESULTS) - { - this.resolve_log(); - this.phase = this.HAVE_RESULTS; - } - this.done_count++; - if (this.output_node) - { - if (this.done_count < 100 - || (this.done_count < 1000 && this.done_count % 100 == 0) - || this.done_count % 1000 == 0) { - this.output_node.textContent = "Running, " - + this.done_count + " complete, " - + tests.num_pending + " remain"; - } - } - }; - - Output.prototype.show_results = function (tests, harness_status) - { - if (this.phase >= this.COMPLETE) { - return; - } - if (!this.enabled) - { - return; - } - if (!this.output_node) { - this.resolve_log(); - } - this.phase = this.COMPLETE; - - var log = this.output_node; - if (!log) - { - return; - } - var output_document = this.output_document; - - while (log.lastChild) - { - log.removeChild(log.lastChild); - } - - if (script_prefix != null) { - var stylesheet = output_document.createElementNS(xhtml_ns, "link"); - stylesheet.setAttribute("rel", "stylesheet"); - stylesheet.setAttribute("href", script_prefix + "testharness.css"); - var heads = output_document.getElementsByTagName("head"); - if (heads.length) { - heads[0].appendChild(stylesheet); - } - } - - var status_text = {}; - status_text[Test.prototype.PASS] = "Pass"; - status_text[Test.prototype.FAIL] = "Fail"; - status_text[Test.prototype.TIMEOUT] = "Timeout"; - status_text[Test.prototype.NOTRUN] = "Not Run"; - - var status_number = {}; - forEach(tests, function(test) { - var status = status_text[test.status]; - if (status_number.hasOwnProperty(status)) - { - status_number[status] += 1; - } else { - status_number[status] = 1; - } - }); - - function status_class(status) - { - return status.replace(/\s/g, '').toLowerCase(); - } - - var summary_template = ["section", {"id":"summary"}, - ["h2", {}, "Summary"], - ["p", {}, "Found ${num_tests} tests"], - function(vars) { - var rv = [["div", {}]]; - var i=0; - while (status_text.hasOwnProperty(i)) { - if (status_number.hasOwnProperty(status_text[i])) { - var status = status_text[i]; - rv[0].push(["div", {"class":status_class(status)}, - ["label", {}, - ["input", {type:"checkbox", checked:"checked"}], - status_number[status] + " " + status]]); - } - i++; - } - return rv; - }]; - - log.appendChild(render(summary_template, {num_tests:tests.length}, output_document)); - - forEach(output_document.querySelectorAll("section#summary label"), - function(element) - { - on_event(element, "click", - function(e) - { - if (output_document.getElementById("results") === null) - { - e.preventDefault(); - return; - } - var result_class = element.parentNode.getAttribute("class"); - var style_element = output_document.querySelector("style#hide-" + result_class); - var input_element = element.querySelector("input"); - if (!style_element && !input_element.checked) { - style_element = output_document.createElementNS(xhtml_ns, "style"); - style_element.id = "hide-" + result_class; - style_element.innerHTML = "table#results > tbody > tr."+result_class+"{display:none}"; - output_document.body.appendChild(style_element); - } else if (style_element && input_element.checked) { - style_element.parentNode.removeChild(style_element); - } - }); - }); - - // This use of innerHTML plus manual escaping is not recommended in - // general, but is necessary here for performance. Using textContent - // on each individual <td> adds tens of seconds of execution time for - // large test suites (tens of thousands of tests). - function escape_html(s) - { - return s.replace(/\&/g, "&") - .replace(/</g, "<") - .replace(/"/g, """) - .replace(/'/g, "'"); - } - - log.appendChild(document.createElement("section")); - var html = "<h2>Details</h2><table id='results'>" - + "<thead><tr><th>Result</th><th>Test Name</th><th>Message</th></tr></thead>" - + "<tbody>"; - for (var i = 0; i < tests.length; i++) { - html += '<tr class="' - + escape_html(status_class(status_text[tests[i].status])) - + '"><td>' - + escape_html(status_text[tests[i].status]) - + "</td><td>" - + escape_html(tests[i].name) - + "</td><td>" - + escape_html(tests[i].message ? tests[i].message : " ") - + "</td></tr>"; - } - log.lastChild.innerHTML = html + "</tbody></table>"; - }; - - var output = new Output(); - add_start_callback(function (properties) {output.init(properties);}); - add_result_callback(function (test) {output.show_status(tests);}); - add_completion_callback(function (tests, harness_status) {output.show_results(tests, harness_status);}); - - /* - * Template code - * - * A template is just a javascript structure. An element is represented as: - * - * [tag_name, {attr_name:attr_value}, child1, child2] - * - * the children can either be strings (which act like text nodes), other templates or - * functions (see below) - * - * A text node is represented as - * - * ["{text}", value] - * - * String values have a simple substitution syntax; ${foo} represents a variable foo. - * - * It is possible to embed logic in templates by using a function in a place where a - * node would usually go. The function must either return part of a template or null. - * - * In cases where a set of nodes are required as output rather than a single node - * with children it is possible to just use a list - * [node1, node2, node3] - * - * Usage: - * - * render(template, substitutions) - take a template and an object mapping - * variable names to parameters and return either a DOM node or a list of DOM nodes - * - * substitute(template, substitutions) - take a template and variable mapping object, - * make the variable substitutions and return the substituted template - * - */ - - function is_single_node(template) - { - return typeof template[0] === "string"; - } - - function substitute(template, substitutions) - { - if (typeof template === "function") { - var replacement = template(substitutions); - if (replacement) - { - var rv = substitute(replacement, substitutions); - return rv; - } - else - { - return null; - } - } - else if (is_single_node(template)) - { - return substitute_single(template, substitutions); - } - else - { - return filter(map(template, function(x) { - return substitute(x, substitutions); - }), function(x) {return x !== null;}); - } - } - - function substitute_single(template, substitutions) - { - var substitution_re = /\${([^ }]*)}/g; - - function do_substitution(input) { - var components = input.split(substitution_re); - var rv = []; - for (var i=0; i<components.length; i+=2) - { - rv.push(components[i]); - if (components[i+1]) - { - rv.push(String(substitutions[components[i+1]])); - } - } - return rv; - } - - var rv = []; - rv.push(do_substitution(String(template[0])).join("")); - - if (template[0] === "{text}") { - substitute_children(template.slice(1), rv); - } else { - substitute_attrs(template[1], rv); - substitute_children(template.slice(2), rv); - } - - function substitute_attrs(attrs, rv) - { - rv[1] = {}; - for (var name in template[1]) - { - if (attrs.hasOwnProperty(name)) - { - var new_name = do_substitution(name).join(""); - var new_value = do_substitution(attrs[name]).join(""); - rv[1][new_name] = new_value; - }; - } - } - - function substitute_children(children, rv) - { - for (var i=0; i<children.length; i++) - { - if (children[i] instanceof Object) { - var replacement = substitute(children[i], substitutions); - if (replacement !== null) - { - if (is_single_node(replacement)) - { - rv.push(replacement); - } - else - { - extend(rv, replacement); - } - } - } - else - { - extend(rv, do_substitution(String(children[i]))); - } - } - return rv; - } - - return rv; - } - - function make_dom_single(template, doc) - { - var output_document = doc || document; - if (template[0] === "{text}") - { - var element = output_document.createTextNode(""); - for (var i=1; i<template.length; i++) - { - element.data += template[i]; - } - } - else - { - var element = output_document.createElementNS(xhtml_ns, template[0]); - for (var name in template[1]) { - if (template[1].hasOwnProperty(name)) - { - element.setAttribute(name, template[1][name]); - } - } - for (var i=2; i<template.length; i++) - { - if (template[i] instanceof Object) - { - var sub_element = make_dom(template[i]); - element.appendChild(sub_element); - } - else - { - var text_node = output_document.createTextNode(template[i]); - element.appendChild(text_node); - } - } - } - - return element; - } - - - - function make_dom(template, substitutions, output_document) - { - if (is_single_node(template)) - { - return make_dom_single(template, output_document); - } - else - { - return map(template, function(x) { - return make_dom_single(x, output_document); - }); - } - } - - function render(template, substitutions, output_document) - { - return make_dom(substitute(template, substitutions), output_document); - } - - /* - * Utility funcions - */ - function assert(expected_true, function_name, description, error, substitutions) - { - if (expected_true !== true) - { - throw new AssertionError(make_message(function_name, description, - error, substitutions)); - } - } - - function AssertionError(message) - { - this.message = message; - } - - function make_message(function_name, description, error, substitutions) - { - for (var p in substitutions) { - if (substitutions.hasOwnProperty(p)) { - substitutions[p] = format_value(substitutions[p]); - } - } - var node_form = substitute(["{text}", "${function_name}: ${description}" + error], - merge({function_name:function_name, - description:(description?description + " ":"")}, - substitutions)); - return node_form.slice(1).join(""); - } - - function filter(array, callable, thisObj) { - var rv = []; - for (var i=0; i<array.length; i++) - { - if (array.hasOwnProperty(i)) - { - var pass = callable.call(thisObj, array[i], i, array); - if (pass) { - rv.push(array[i]); - } - } - } - return rv; - } - - function map(array, callable, thisObj) - { - var rv = []; - rv.length = array.length; - for (var i=0; i<array.length; i++) - { - if (array.hasOwnProperty(i)) - { - rv[i] = callable.call(thisObj, array[i], i, array); - } - } - return rv; - } - - function extend(array, items) - { - Array.prototype.push.apply(array, items); - } - - function forEach (array, callback, thisObj) - { - for (var i=0; i<array.length; i++) - { - if (array.hasOwnProperty(i)) - { - callback.call(thisObj, array[i], i, array); - } - } - } - - function merge(a,b) - { - var rv = {}; - var p; - for (p in a) - { - rv[p] = a[p]; - } - for (p in b) { - rv[p] = b[p]; - } - return rv; - } - - function expose(object, name) - { - var components = name.split("."); - var target = window; - for (var i=0; i<components.length - 1; i++) - { - if (!(components[i] in target)) - { - target[components[i]] = {}; - } - target = target[components[i]]; - } - target[components[components.length - 1]] = object; - } - - function ancestor_windows() { - //Get the windows [self ... top] as an array - if ("result_cache" in ancestor_windows) - { - return ancestor_windows.result_cache; - } - var rv = [self]; - var w = self; - while (w != w.parent) - { - w = w.parent; - rv.push(w); - } - ancestor_windows.result_cache = rv; - return rv; - } - -})(); -// vim: set expandtab shiftwidth=4 tabstop=4: diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/index.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/index.js deleted file mode 100644 index 26c5390..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/index.js +++ /dev/null @@ -1,2 +0,0 @@ -var harness = require('./harness'); -module.exports = harness('submission'); diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-01.html deleted file mode 100644 index fb9e16b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-01.html +++ /dev/null @@ -1,144 +0,0 @@ -<!DOCTYPE html> -<title>document.getElementsByTagName and foreign parser-inserted -elements - - - - - - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-02.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-02.html deleted file mode 100644 index d03e63e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-02.html +++ /dev/null @@ -1,25 +0,0 @@ - -getElementsByTagName and font - - - - - - -
    -
    - - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-01.html deleted file mode 100644 index 4b265c0..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-01.html +++ /dev/null @@ -1,26 +0,0 @@ - -getElementsByTagName and font - - - - - - -
    -
    - - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-02.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-02.html deleted file mode 100644 index 351d4d6..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-02.html +++ /dev/null @@ -1,30 +0,0 @@ - -getElementsByTagName and font - - - - - - -
    -
    - - - - - - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/browsing-the-web/load-text-plain.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/browsing-the-web/load-text-plain.html deleted file mode 100644 index 5a6e403..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/browsing-the-web/load-text-plain.html +++ /dev/null @@ -1,30 +0,0 @@ - -Page load processing model for text files - - - - - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Document.getElementsByClassName-null-undef.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Document.getElementsByClassName-null-undef.html deleted file mode 100644 index 8cd3a22..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Document.getElementsByClassName-null-undef.html +++ /dev/null @@ -1,31 +0,0 @@ - -getElementsByClassName and null/undefined - - - - - -
    -
    -

    -

    -

    -

    -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Element.getElementsByClassName-null-undef.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Element.getElementsByClassName-null-undef.html deleted file mode 100644 index 96c58fa..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Element.getElementsByClassName-null-undef.html +++ /dev/null @@ -1,31 +0,0 @@ - -getElementsByClassName and null/undefined - - - - - -
    -
    -

    -

    -

    -

    -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-foreign-frameset.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-foreign-frameset.html deleted file mode 100644 index 14692ab..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-foreign-frameset.html +++ /dev/null @@ -1,17 +0,0 @@ - -document.body and a frameset in a foreign namespace - - - - - - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-frameset-and-body.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-frameset-and-body.html deleted file mode 100644 index 7a0d51d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-frameset-and-body.html +++ /dev/null @@ -1,18 +0,0 @@ - -document.body and framesets - - - - - - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-setter-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-setter-01.html deleted file mode 100644 index 8c53e76..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-setter-01.html +++ /dev/null @@ -1,17 +0,0 @@ - -Setting document.body to incorrect values - - - - - - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.embeds-document.plugins-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.embeds-document.plugins-01.html deleted file mode 100644 index df937fd..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.embeds-document.plugins-01.html +++ /dev/null @@ -1,24 +0,0 @@ - -document.embeds and document.plugins - - - - - - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByClassName-same.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByClassName-same.html deleted file mode 100644 index 03bdbea..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByClassName-same.html +++ /dev/null @@ -1,18 +0,0 @@ - -Calling getElementsByClassName with the same argument - - - - - -
    -
    -
    -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.html deleted file mode 100644 index 4f967cb..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.html +++ /dev/null @@ -1,17 +0,0 @@ - -getElementsByName and case - - - - - -
    -
    -
    -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.xhtml b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.xhtml deleted file mode 100644 index 66ac58c..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.xhtml +++ /dev/null @@ -1,22 +0,0 @@ - - -getElementsByName and case - - - - - - - -
    -
    -
    -
    - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.html deleted file mode 100644 index 2a89c30..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.html +++ /dev/null @@ -1,16 +0,0 @@ - -getElementsByName and ids - - - - - -
    -
    -
    -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.xhtml b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.xhtml deleted file mode 100644 index 5925b40..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.xhtml +++ /dev/null @@ -1,21 +0,0 @@ - - -getElementsByName and ids - - - - - - - -
    -
    -
    -
    - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.html deleted file mode 100644 index 0193c23..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.html +++ /dev/null @@ -1,28 +0,0 @@ - -getElementsByName and foreign namespaces - - - - - -
    -
    -

    -a -+ -b - -

    - - -

    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.xhtml b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.xhtml deleted file mode 100644 index 98b94f7..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.xhtml +++ /dev/null @@ -1,33 +0,0 @@ - - -getElementsByName and foreign namespaces - - - - - - - -
    -
    -

    -a -+ -b -

    -

    - -

    -
    - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.html deleted file mode 100644 index 09461e3..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.html +++ /dev/null @@ -1,122 +0,0 @@ - -getElementsByName and newly introduced HTML elements - - - - - -
    -
    -
    -
    - -
    -
    -
    - - -
    - - - - - - - - - - -
    - - - - - - - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.xhtml b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.xhtml deleted file mode 100644 index f03c354..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.xhtml +++ /dev/null @@ -1,127 +0,0 @@ - - -getElementsByName and newly introduced HTML elements - - - - - - - -
    -
    -
    -
    - -
    -
    -
    - - -
    - - - - - - - - - - -
    - - - - - - - -
    - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.html deleted file mode 100644 index a8130b4..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.html +++ /dev/null @@ -1,23 +0,0 @@ - -Calling getElementsByName with null and undefined - - - - - - - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.xhtml b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.xhtml deleted file mode 100644 index fbef6be..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.xhtml +++ /dev/null @@ -1,29 +0,0 @@ - - -Calling getElementsByName with null and undefined - - - - - - - - - -
    - - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.html deleted file mode 100644 index 983a5ea..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.html +++ /dev/null @@ -1,24 +0,0 @@ - -getElementsByName and the param element - - - - - -
    -
    - - - - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.xhtml b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.xhtml deleted file mode 100644 index 3a9c452..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.xhtml +++ /dev/null @@ -1,29 +0,0 @@ - - -getElementsByName and the param element - - - - - - - -
    -
    - - - - -
    - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-same.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-same.html deleted file mode 100644 index 455f842..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-same.html +++ /dev/null @@ -1,18 +0,0 @@ - -Calling getElementsByName with the same argument - - - - - -
    -
    -
    -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-01.html deleted file mode 100644 index 9ea949a..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-01.html +++ /dev/null @@ -1,23 +0,0 @@ - -document.head - - - - - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-02.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-02.html deleted file mode 100644 index 7b17ca1..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-02.html +++ /dev/null @@ -1,21 +0,0 @@ - -document.head - - - - - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-01.html deleted file mode 100644 index da11061..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-01.html +++ /dev/null @@ -1,33 +0,0 @@ - -document.title with head blown away - - - - - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-02.xhtml b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-02.xhtml deleted file mode 100644 index c197ca7..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-02.xhtml +++ /dev/null @@ -1,38 +0,0 @@ - - -document.title with head blown away - - - - - - - -
    - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-03.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-03.html deleted file mode 100644 index d4d59bc..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-03.html +++ /dev/null @@ -1,44 +0,0 @@ - - document.title and space normalization - - - - - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-04.xhtml b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-04.xhtml deleted file mode 100644 index fa7f57a..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-04.xhtml +++ /dev/null @@ -1,49 +0,0 @@ - - - document.title and space normalization - - - - - - - -
    - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-05.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-05.html deleted file mode 100644 index b7f76ef..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-05.html +++ /dev/null @@ -1,41 +0,0 @@ - -document.title and White_Space characters - - - - - - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-06.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-06.html deleted file mode 100644 index 809ede0..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-06.html +++ /dev/null @@ -1,24 +0,0 @@ - -document.title and the empty string - - - - - - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-07.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-07.html deleted file mode 100644 index d5d6bac..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-07.html +++ /dev/null @@ -1,21 +0,0 @@ - -Document.title and DOMImplementation.createHTMLDocument - - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/nameditem-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/nameditem-01.html deleted file mode 100644 index dcb5a0b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/nameditem-01.html +++ /dev/null @@ -1,19 +0,0 @@ - -Named items: img id & name - - - - - -
    -
    - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.close-01.xhtml b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.close-01.xhtml deleted file mode 100644 index 7ba4624..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.close-01.xhtml +++ /dev/null @@ -1,19 +0,0 @@ - - -document.close in XHTML - - - - - - -
    - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-01.xhtml b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-01.xhtml deleted file mode 100644 index 47b92a9..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-01.xhtml +++ /dev/null @@ -1,19 +0,0 @@ - - -document.open in XHTML - - - - - - -
    - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-02.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-02.html deleted file mode 100644 index cea89a9..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-02.html +++ /dev/null @@ -1,17 +0,0 @@ - -document.open with three arguments - - - - -
    - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-01.xhtml b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-01.xhtml deleted file mode 100644 index 254d786..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-01.xhtml +++ /dev/null @@ -1,19 +0,0 @@ - - -document.write in XHTML - - - - - - -
    - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-02.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-02.html deleted file mode 100644 index dd2e8be..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-02.html +++ /dev/null @@ -1,27 +0,0 @@ - -document.write and null/undefined - - - - - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-01.xhtml b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-01.xhtml deleted file mode 100644 index b43b33e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-01.xhtml +++ /dev/null @@ -1,19 +0,0 @@ - - -document.writeln in XHTML - - - - - - -
    - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-02.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-02.html deleted file mode 100644 index 586cca1..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-02.html +++ /dev/null @@ -1,27 +0,0 @@ - -document.writeln and null/undefined - - - - - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/elements-in-the-dom/unknown-element.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/elements-in-the-dom/unknown-element.html deleted file mode 100644 index d1dc969..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/elements-in-the-dom/unknown-element.html +++ /dev/null @@ -1,16 +0,0 @@ - -HTMLUnknownElement - - - - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/events/event-handler-spec-example.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/events/event-handler-spec-example.html deleted file mode 100644 index f6ef11d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/events/event-handler-spec-example.html +++ /dev/null @@ -1,31 +0,0 @@ - -Event handler invocation order - - -
    - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/general/interfaces.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/general/interfaces.html deleted file mode 100644 index d36d3bc..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/general/interfaces.html +++ /dev/null @@ -1,163 +0,0 @@ - -Test of interfaces - - - - - - - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/classlist-nonstring.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/classlist-nonstring.html deleted file mode 100644 index a85641d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/classlist-nonstring.html +++ /dev/null @@ -1,44 +0,0 @@ - -classList: non-string contains - - - - - - - -
    -
    -
      -
    • -
    • -
    • -
    • -
    • -
    • -
    - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/dataset.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/dataset.html deleted file mode 100644 index fe3e032..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/dataset.html +++ /dev/null @@ -1,28 +0,0 @@ - -dataset: should return 'undefined' for non-existent properties - - - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/document-dir.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/document-dir.html deleted file mode 100644 index 734f922..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/document-dir.html +++ /dev/null @@ -1,25 +0,0 @@ - - -document.dir - - - - - - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/id-name.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/id-name.html deleted file mode 100644 index 080fd80..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/id-name.html +++ /dev/null @@ -1,18 +0,0 @@ - -id and name attributes and getElementById - - - - - -
    -
    -
    -

    -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01-ref.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01-ref.html deleted file mode 100644 index d2120ad..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01-ref.html +++ /dev/null @@ -1,20 +0,0 @@ - -Languages - - - - - - -

    All lines below should have a green background.

    -
    -

    {}{lang}{en}

    -

    {}{xml:lang}{en}

    -

    Parent: {}{lang}{en}

    -

    Parent: {}{xml:lang}{en}

    -

    {xml}{lang}{en}

    -

    {xml}{lang}{en} - {lang}{de}

    -

    {xml}{lang}{de} - {lang}{en}

    -
    diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01.html deleted file mode 100644 index 6f2a2ae..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01.html +++ /dev/null @@ -1,57 +0,0 @@ - -Languages - - - - - - -

    All lines below should have a green background.

    -
    -

    {}{lang}{en}

    -

    {}{xml:lang}{en}

    -

    Parent: {}{lang}{en}

    -

    Parent: {}{xml:lang}{en}

    -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy-ref.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy-ref.html deleted file mode 100644 index b203718..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy-ref.html +++ /dev/null @@ -1,9 +0,0 @@ - -Invalid languages - - - - -
    -

    ABC

    -
    diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy.html deleted file mode 100644 index 6b87581..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy.html +++ /dev/null @@ -1,11 +0,0 @@ - -Invalid languages - - - - - - -
    -

    ABC

    -
    diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01-ref.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01-ref.html deleted file mode 100644 index 74f1384..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01-ref.html +++ /dev/null @@ -1,24 +0,0 @@ - -The style attribute - - - - - - -
    -

    This line should have a green background. -

    This line should have a green background. -

    This line should have a green background. -

    This line should have a green background. -

    This line should have a green background. -

    This line should have a green background. -

    This line should have a green background. -

    This line should have a green background. -

    This line should have a green background. -

    This line should have a green background. -

    This line should have a green background. -

    This line should have a green background. -

    diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01.html deleted file mode 100644 index 8412050..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01.html +++ /dev/null @@ -1,25 +0,0 @@ - -The style attribute - - - - - - -
    -

    This line should have a green background. -

    This line should have a green background. -

    This line should have a green background. -

    This line should have a green background. -

    This line should have a green background. -

    This line should have a green background. -

    This line should have a green background. -

    This line should have a green background. -

    This line should have a green background. -

    This line should have a green background. -

    This line should have a green background. -

    This line should have a green background. -

    diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-01.html deleted file mode 100644 index 9ddcebd..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-01.html +++ /dev/null @@ -1,18 +0,0 @@ - -document: fg/bg/link/vlink/alink-color - - - - - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-02.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-02.html deleted file mode 100644 index a4eae1d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-02.html +++ /dev/null @@ -1,47 +0,0 @@ - -document: fg/bg/link/vlink/alink-color - - - - - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-03.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-03.html deleted file mode 100644 index ced3988..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-03.html +++ /dev/null @@ -1,47 +0,0 @@ - -document: fg/bg/link/vlink/alink-color - - - - - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-04.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-04.html deleted file mode 100644 index a67fecd..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-04.html +++ /dev/null @@ -1,47 +0,0 @@ - -document: fg/bg/link/vlink/alink-color - - - - - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-01.html deleted file mode 100644 index 735cb0f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-01.html +++ /dev/null @@ -1,22 +0,0 @@ - -document.all: willfull violations - - - - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-02.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-02.html deleted file mode 100644 index 4721e1f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-02.html +++ /dev/null @@ -1,13 +0,0 @@ - -document.all: length - - - - - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-03.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-03.html deleted file mode 100644 index f78e89b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-03.html +++ /dev/null @@ -1,13 +0,0 @@ - -document.all: index getter - - - - - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-04.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-04.html deleted file mode 100644 index cf16ba5..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-04.html +++ /dev/null @@ -1,19 +0,0 @@ - -document.all: img@name - - - - - -
    - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-05.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-05.html deleted file mode 100644 index a568a1e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-05.html +++ /dev/null @@ -1,23 +0,0 @@ - -document.all: willfull violations - - - - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/heading-obsolete-attributes-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/heading-obsolete-attributes-01.html deleted file mode 100644 index 5bed010..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/heading-obsolete-attributes-01.html +++ /dev/null @@ -1,16 +0,0 @@ - -HTMLHeadingElement: obsolete attribute reflecting - - - - - - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/script-IDL-event-htmlfor.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/script-IDL-event-htmlfor.html deleted file mode 100644 index 04871d7..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/script-IDL-event-htmlfor.html +++ /dev/null @@ -1,57 +0,0 @@ - -event and htmlFor IDL attributes of HTMLScriptElement - - - - - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/parsing/comment.dat b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/parsing/comment.dat deleted file mode 100644 index acfcd2e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/parsing/comment.dat +++ /dev/null @@ -1,10 +0,0 @@ -#data -Comment before head -#errors -#document -| -| -| -| -| "Comment before head" -| <body> diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-01.html deleted file mode 100644 index 84037b6..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-01.html +++ /dev/null @@ -1,13 +0,0 @@ -<!DOCTYPE html> -<title>document.compatMode: Standards - - - -
    - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-02.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-02.html deleted file mode 100644 index ea4b43c..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-02.html +++ /dev/null @@ -1,14 +0,0 @@ - -document.compatMode: Almost standards - - - -
    - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-03.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-03.html deleted file mode 100644 index b8fddb6..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-03.html +++ /dev/null @@ -1,12 +0,0 @@ -document.compatMode: Quirks - - - -
    - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-04.xhtml b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-04.xhtml deleted file mode 100644 index 5834aa3..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-04.xhtml +++ /dev/null @@ -1,18 +0,0 @@ - - - -document.compatMode: Standards - - - - -
    - - - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-05.xhtml b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-05.xhtml deleted file mode 100644 index 1f038b2..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-05.xhtml +++ /dev/null @@ -1,19 +0,0 @@ - - - -document.compatMode: Standards - - - - -
    - - - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-06.xhtml b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-06.xhtml deleted file mode 100644 index e78a8af..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-06.xhtml +++ /dev/null @@ -1,17 +0,0 @@ - - -document.compatMode: Standards - - - - -
    - - - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/200-textplain.cgi b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/200-textplain.cgi deleted file mode 100755 index f74d295..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/200-textplain.cgi +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env python - -print 'Content-Type: text/plain\r\n', -print -print 'html { color: red; }' diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/404-textcss.cgi b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/404-textcss.cgi deleted file mode 100755 index c0b449f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/404-textcss.cgi +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env python - -print 'Content-Type: text/css\r\n', -print 'Status: 404 Not Found\r\n', -print -print 'html { color: red; }' diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/support/text/200-textplain.cgi b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/support/text/200-textplain.cgi deleted file mode 100755 index 616707e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/support/text/200-textplain.cgi +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env python - -print 'Content-Type: text/plain\r\n', -print -print 'Text' diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-rellist.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-rellist.html deleted file mode 100644 index 448231d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-rellist.html +++ /dev/null @@ -1,23 +0,0 @@ - -link.relList: non-string contains - - - - - - - - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-style-error-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-style-error-01.html deleted file mode 100644 index dce6a8f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-style-error-01.html +++ /dev/null @@ -1,32 +0,0 @@ - -link: error events - - - - -
    -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-style-element/style-error-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-style-element/style-error-01.html deleted file mode 100644 index 7c68c27..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-style-element/style-error-01.html +++ /dev/null @@ -1,32 +0,0 @@ - -style: error events - - - - -
    -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-01.html deleted file mode 100644 index 0d2e120..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-01.html +++ /dev/null @@ -1,25 +0,0 @@ - -title.text with comment and element children. - - - - -
    - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-02.xhtml b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-02.xhtml deleted file mode 100644 index 4d2385c..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-02.xhtml +++ /dev/null @@ -1,30 +0,0 @@ - - -title.text with comment and element children. - - - - - - -
    - - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-03.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-03.html deleted file mode 100644 index 2a56433..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-03.html +++ /dev/null @@ -1,95 +0,0 @@ - - title.text and space normalization - - - - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-04.xhtml b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-04.xhtml deleted file mode 100644 index d57ee57..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-04.xhtml +++ /dev/null @@ -1,100 +0,0 @@ - - - title.text and space normalization - - - - - - -
    - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/embedded-content/the-video-element/video-tabindex.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/embedded-content/the-video-element/video-tabindex.html deleted file mode 100644 index 70af7e9..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/embedded-content/the-video-element/video-tabindex.html +++ /dev/null @@ -1,18 +0,0 @@ - -tabindex on video elements - - - - -
    -
    - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-interfaces-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-interfaces-01.html deleted file mode 100644 index cc61bdf..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-interfaces-01.html +++ /dev/null @@ -1,20 +0,0 @@ - -form.elements: interfaces - - - - - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-matches.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-matches.html deleted file mode 100644 index 149dd09..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-matches.html +++ /dev/null @@ -1,28 +0,0 @@ - -form.elements: matches - - - - -
    -
    -
    - -
    -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-01.html deleted file mode 100644 index 779361d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-01.html +++ /dev/null @@ -1,43 +0,0 @@ - -form.elements: namedItem - - - - -
    -
    -
    - - -
    -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-02.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-02.html deleted file mode 100644 index 5a74617..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-02.html +++ /dev/null @@ -1,28 +0,0 @@ - -form.elements: parsing - - - - - -
    -
    -
    - - - - - - -
    -
    -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-input-element/input-textselection-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-input-element/input-textselection-01.html deleted file mode 100644 index 3e1e79b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-input-element/input-textselection-01.html +++ /dev/null @@ -1,42 +0,0 @@ - -The selection interface members - - - - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/textarea-type.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/textarea-type.html deleted file mode 100644 index 40f3882..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/textarea-type.html +++ /dev/null @@ -1,16 +0,0 @@ - -The type IDL attribute - - - - -
    - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1-ref.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1-ref.html deleted file mode 100644 index 3b68fca..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1-ref.html +++ /dev/null @@ -1,5 +0,0 @@ - -Dynamic manipulation of textarea.wrap - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1a.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1a.html deleted file mode 100644 index f056934..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1a.html +++ /dev/null @@ -1,8 +0,0 @@ - -Dynamic manipulation of textarea.wrap - - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1b.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1b.html deleted file mode 100644 index 13c4251..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1b.html +++ /dev/null @@ -1,8 +0,0 @@ - -Dynamic manipulation of textarea.wrap - - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-language-type.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-language-type.html deleted file mode 100644 index 1126c50..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-language-type.html +++ /dev/null @@ -1,18 +0,0 @@ - -Script: combinations of @type and @language - - - - -
    - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-01.html deleted file mode 100644 index 42cac65..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-01.html +++ /dev/null @@ -1,24 +0,0 @@ - -Script @type: unknown parameters - - - - -
    -
    - - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-02.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-02.html deleted file mode 100644 index 71c0aa9..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-02.html +++ /dev/null @@ -1,65 +0,0 @@ - -Script @type: JavaScript types - - - - -
    -
    - - - - - - - - - - - - - - - - - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-noembed-noframes-iframe.xhtml b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-noembed-noframes-iframe.xhtml deleted file mode 100644 index 8dd9ceb..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-noembed-noframes-iframe.xhtml +++ /dev/null @@ -1,36 +0,0 @@ - - -Script inside noembed, noframes and iframe - - - - - -
    - -
    - -<script> -run.push("noembed"); -</script> - - -<script> -run.push("noframes"); -</script> - - -
    - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-01.html deleted file mode 100644 index e21b052..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-01.html +++ /dev/null @@ -1,24 +0,0 @@ - -insertRow(): INDEX_SIZE_ERR - - - - -
    -
    - - -
    -
    -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-02.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-02.html deleted file mode 100644 index 7620099..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-02.html +++ /dev/null @@ -1,34 +0,0 @@ - -insertRow(): Empty table - - - - -
    -
    -
    -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-getter-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-getter-01.html deleted file mode 100644 index 35ddf68..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-getter-01.html +++ /dev/null @@ -1,33 +0,0 @@ - -HTMLAnchorElement.text getting - - - - -
    -
    -a b c -a b c -a b c -a c - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-setter-01.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-setter-01.html deleted file mode 100644 index d042424..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-setter-01.html +++ /dev/null @@ -1,41 +0,0 @@ - -HTMLAnchorElement.text setting - - - - -
    -
    -a b c -a c -a b c - -
    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1-ref.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1-ref.html deleted file mode 100644 index 6056912..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1-ref.html +++ /dev/null @@ -1,5 +0,0 @@ - -The hidden attribute - - -

    This line should be visible. diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1a.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1a.html deleted file mode 100644 index edcbf3a..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1a.html +++ /dev/null @@ -1,6 +0,0 @@ - -The hidden attribute - - -

    This line should be visible. -

    This line should not be visible. - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1d.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1d.html deleted file mode 100644 index 94d3a7b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1d.html +++ /dev/null @@ -1,10 +0,0 @@ - -The hidden attribute - - -

    This line should not be visible. - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2-ref.svg b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2-ref.svg deleted file mode 100644 index 8aacdc8..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2-ref.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2.svg b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2.svg deleted file mode 100644 index 9a0db1e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/index.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/index.js deleted file mode 100644 index 857dedb..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/index.js +++ /dev/null @@ -1,3 +0,0 @@ -exports.htmlwg = require('./htmlwg'); -exports.w3c = require('./w3c'); - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/mocha.opts b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/mocha.opts deleted file mode 100644 index eee6dac..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/mocha.opts +++ /dev/null @@ -1,6 +0,0 @@ ---ui exports ---reporter dot ---require should ---slow 20 ---growl - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/README.md b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/README.md deleted file mode 100644 index 4791699..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/README.md +++ /dev/null @@ -1,13 +0,0 @@ -# Document Object Model (DOM) Conformance Test Suites - -http://www.w3.org/DOM/Test/ - -Since domino doesn't implement deprecated DOM features some tests are no longer relevant. These tests have been moved to the `obsolete` directory so that they are excluded from the suite. - -## Attributes vs. Nodes - -The majority of the excluded level1/core tests expect Attributes to inherit from the Node interface which is no longer required in DOM level 4. Also `Element.attributes` no longer returns a NamedNodeMap but a read-only array. - -## Obsolete Attributes - -Another big hunk of excluded tests checks the support of reflected attributes that have become obsolete in HTML 5. diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/harness/DomTestCase.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/harness/DomTestCase.js deleted file mode 100644 index c20e2d2..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/harness/DomTestCase.js +++ /dev/null @@ -1,438 +0,0 @@ -/* -Copyright (c) 2001-2005 World Wide Web Consortium, -(Massachusetts Institute of Technology, Institut National de -Recherche en Informatique et en Automatique, Keio University). All -Rights Reserved. This program is distributed under the W3C's Software -Intellectual Property License. This program is distributed in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -PURPOSE. -See W3C License http://www.w3.org/Consortium/Legal/ for more details. -*/ - -function assertSize(descr, expected, actual) { - var actualSize; - assertNotNull(descr, actual); - actualSize = actual.length; - assertEquals(descr, expected, actualSize); -} - -function assertEqualsAutoCase(context, descr, expected, actual) { - if (builder.contentType == "text/html") { - if(context == "attribute") { - assertEquals(descr, expected.toLowerCase(), actual.toLowerCase()); - } - else { - assertEquals(descr, expected.toUpperCase(), actual); - } - } - else { - assertEquals(descr, expected, actual); - } -} - - - function assertEqualsCollectionAutoCase(context, descr, expected, actual) { - // - // if they aren't the same size, they aren't equal - assertEquals(descr, expected.length, actual.length); - - // - // if there length is the same, then every entry in the expected list - // must appear once and only once in the actual list - var expectedLen = expected.length; - var expectedValue; - var actualLen = actual.length; - var i; - var j; - var matches; - for(i = 0; i < expectedLen; i++) { - matches = 0; - expectedValue = expected[i]; - for(j = 0; j < actualLen; j++) { - if (builder.contentType == "text/html") { - if (context == "attribute") { - if (expectedValue.toLowerCase() == actual[j].toLowerCase()) { - matches++; - } - } - else { - if (expectedValue.toUpperCase() == actual[j]) { - matches++; - } - } - } - else { - if(expectedValue == actual[j]) { - matches++; - } - } - } - if(matches == 0) { - assert(descr + ": No match found for " + expectedValue,false); - } - if(matches > 1) { - assert(descr + ": Multiple matches found for " + expectedValue, false); - } - } -} - -function assertEqualsCollection(descr, expected, actual) { - // - // if they aren't the same size, they aren't equal - assertEquals(descr, expected.length, actual.length); - // - // if there length is the same, then every entry in the expected list - // must appear once and only once in the actual list - var expectedLen = expected.length; - var expectedValue; - var actualLen = actual.length; - var i; - var j; - var matches; - for(i = 0; i < expectedLen; i++) { - matches = 0; - expectedValue = expected[i]; - for(j = 0; j < actualLen; j++) { - if(expectedValue == actual[j]) { - matches++; - } - } - if(matches == 0) { - assert(descr + ": No match found for " + expectedValue,false); - } - if(matches > 1) { - assert(descr + ": Multiple matches found for " + expectedValue, false); - } - } -} - - -function assertEqualsListAutoCase(context, descr, expected, actual) { - var minLength = expected.length; - if (actual.length < minLength) { - minLength = actual.length; - } - // - for(var i = 0; i < minLength; i++) { - assertEqualsAutoCase(context, descr, expected[i], actual[i]); - } - // - // if they aren't the same size, they aren't equal - assertEquals(descr, expected.length, actual.length); -} - -function assertEqualsList(descr, expected, actual) { - var minLength = expected.length; - if (actual.length < minLength) { - minLength = actual.length; - } - // - for(var i = 0; i < minLength; i++) { - if(expected[i] != actual[i]) { - assertEquals(descr, expected[i], actual[i]); - } - } - // - // if they aren't the same size, they aren't equal - assertEquals(descr, expected.length, actual.length); -} - -function assertInstanceOf(descr, type, obj) { - if(type == "Attr") { - assertEquals(descr,2,obj.nodeType); - var specd = obj.specified; - } -} - -function assertSame(descr, expected, actual) { - if(expected != actual) { - assertEquals(descr, expected.nodeType, actual.nodeType); - assertEquals(descr, expected.nodeValue, actual.nodeValue); - } -} - -function assertURIEquals(assertID, scheme, path, host, file, name, query, fragment, isAbsolute, actual) { - // - // URI must be non-null - assertNotNull(assertID, actual); - - var uri = actual; - - var lastPound = actual.lastIndexOf("#"); - var actualFragment = ""; - if(lastPound != -1) { - // - // substring before pound - // - uri = actual.substring(0,lastPound); - actualFragment = actual.substring(lastPound+1); - } - if(fragment != null) assertEquals(assertID,fragment, actualFragment); - - var lastQuestion = uri.lastIndexOf("?"); - var actualQuery = ""; - if(lastQuestion != -1) { - // - // substring before pound - // - uri = actual.substring(0,lastQuestion); - actualQuery = actual.substring(lastQuestion+1); - } - if(query != null) assertEquals(assertID, query, actualQuery); - - var firstColon = uri.indexOf(":"); - var firstSlash = uri.indexOf("/"); - var actualPath = uri; - var actualScheme = ""; - if(firstColon != -1 && firstColon < firstSlash) { - actualScheme = uri.substring(0,firstColon); - actualPath = uri.substring(firstColon + 1); - } - - if(scheme != null) { - assertEquals(assertID, scheme, actualScheme); - } - - if(path != null) { - assertEquals(assertID, path, actualPath); - } - - if(host != null) { - var actualHost = ""; - if(actualPath.substring(0,2) == "//") { - var termSlash = actualPath.substring(2).indexOf("/") + 2; - actualHost = actualPath.substring(0,termSlash); - } - assertEquals(assertID, host, actualHost); - } - - if(file != null || name != null) { - var actualFile = actualPath; - var finalSlash = actualPath.lastIndexOf("/"); - if(finalSlash != -1) { - actualFile = actualPath.substring(finalSlash+1); - } - if (file != null) { - assertEquals(assertID, file, actualFile); - } - if (name != null) { - var actualName = actualFile; - var finalDot = actualFile.lastIndexOf("."); - if (finalDot != -1) { - actualName = actualName.substring(0, finalDot); - } - assertEquals(assertID, name, actualName); - } - } - - if(isAbsolute != null) { - assertEquals(assertID + ' ' + actualPath, isAbsolute, actualPath.substring(0,1) == "/"); - } -} - - -// size() used by assertSize element -function size(collection) { - return collection.length; -} - -function same(expected, actual) { - return expected === actual; -} - -function getSuffix(contentType) { - switch(contentType) { - case "text/html": - return ".html"; - - case "text/xml": - return ".xml"; - - case "application/xhtml+xml": - return ".xhtml"; - - case "image/svg+xml": - return ".svg"; - - case "text/mathml": - return ".mml"; - } - return ".html"; -} - -function equalsAutoCase(context, expected, actual) { - if (builder.contentType == "text/html") { - if (context == "attribute") { - return expected.toLowerCase() == actual; - } - return expected.toUpperCase() == actual; - } - return expected == actual; -} - -function catchInitializationError(blder, ex) { - if (blder == null) { - alert(ex); - } - else { - blder.initializationError = ex; - blder.initializationFatalError = ex; - } -} - -function checkInitialization(blder, testname) { - if (blder.initializationError != null) { - if (blder.skipIncompatibleTests) { - info(testname + " not run:" + blder.initializationError); - return blder.initializationError; - } - else { - // - // if an exception was thrown - // rethrow it and do not run the test - if (blder.initializationFatalError != null) { - throw blder.initializationFatalError; - } else { - // - // might be recoverable, warn but continue the test - warn(testname + ": " + blder.initializationError); - } - } - } - return null; -} - -function createTempURI(scheme) { - if (scheme == "http") { - return "http://localhost:8080/webdav/tmp" + Math.floor(Math.random() * 100000) + ".xml"; - } - return "file:///tmp/domts" + Math.floor(Math.random() * 100000) + ".xml"; -} - - -function EventMonitor() { - this.atEvents = new Array(); - this.bubbledEvents = new Array(); - this.capturedEvents = new Array(); - this.allEvents = new Array(); -} - -EventMonitor.prototype.handleEvent = function(evt) { - switch(evt.eventPhase) { - case 1: - monitor.capturedEvents[monitor.capturedEvents.length] = evt; - break; - - case 2: - monitor.atEvents[monitor.atEvents.length] = evt; - break; - - case 3: - monitor.bubbledEvents[monitor.bubbledEvents.length] = evt; - break; - } - monitor.allEvents[monitor.allEvents.length] = evt; -} - -function DOMErrorImpl(err) { - this.severity = err.severity; - this.message = err.message; - this.type = err.type; - this.relatedException = err.relatedException; - this.relatedData = err.relatedData; - this.location = err.location; -} - - - -function DOMErrorMonitor() { - this.allErrors = new Array(); -} - -DOMErrorMonitor.prototype.handleError = function(err) { - errorMonitor.allErrors[errorMonitor.allErrors.length] = new DOMErrorImpl(err); -} - -DOMErrorMonitor.prototype.assertLowerSeverity = function(id, severity) { - var i; - for (i = 0; i < errorMonitor.allErrors.length; i++) { - if (errorMonitor.allErrors[i].severity >= severity) { - assertEquals(id, severity - 1, errorMonitor.allErrors[i].severity); - } - } -} - -function UserDataNotification(operation, key, data, src, dst) { - this.operation = operation; - this.key = key; - this.data = data; - this.src = src; - this.dst = dst; -} - -function UserDataMonitor() { - this.allNotifications = new Array(); -} - -UserDataMonitor.prototype.handle = function(operation, key, data, src, dst) { - userDataMonitor.allNotifications[this.allNotifications.length] = - new UserDataNotification(operation, key, data, src, dst); -} - - - - -function checkFeature(feature, version) -{ - if (!builder.hasFeature(feature, version)) - { - // - // don't throw exception so that users can select to ignore the precondition - // - builder.initializationError = "builder does not support feature " + feature + " version " + version; - } -} - -function preload(frame, varname, url) { - return builder.preload(frame, varname, url); -} - -function load(frame, varname, url) { - return builder.load(frame, varname, url); -} - -function getImplementationAttribute(attr) { - return builder.getImplementationAttribute(attr); -} - - -function setImplementationAttribute(attribute, value) { - builder.setImplementationAttribute(attribute, value); -} - -function setAsynchronous(value) { - if (builder.supportsAsyncChange) { - builder.async = value; - } else { - update(); - } -} - - -function toLowerArray(src) { - var newArray = new Array(); - var i; - for (i = 0; i < src.length; i++) { - newArray[i] = src[i].toLowerCase(); - } - return newArray; -} - -function getImplementation() { - return builder.getImplementation(); -} - -function warn(msg) { - //console.log(msg); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/harness/index.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/harness/index.js deleted file mode 100644 index 2b99432..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/harness/index.js +++ /dev/null @@ -1,86 +0,0 @@ -var fs = require('fs'); -var vm = require('vm'); -var assert = require('assert'); -var util = require('util'); -var Path = require('path'); -var domino = require('../../../lib'); -var impl = domino.createDOMImplementation(); - -var globals = { - assertEquals: function(message, expected, actual) { - assert.equal(actual, expected, message + ': expected ' + - util.inspect(expected, false, 0) + ' got ' + - util.inspect(actual, false, 0) - ); - }, - assertTrue: function(message, actual) { - globals.assertEquals(message, true, actual); - }, - assertFalse: function(message, actual) { - assert.ok(!actual, message); - }, - assertNull: function(message, actual) { - globals.assertEquals(message, null, actual); - }, - assertNotNull: function(message, actual) { - assert.notEqual(actual, null, message); - }, - console: console -}; - -function list(dir, re, fn) { - dir = Path.resolve(__dirname, '..', dir); - fs.readdirSync(dir).forEach(function(file) { - var path = Path.join(dir, file); - var m = re.exec(path); - if (m) fn.apply(null, m); - }); -} - -module.exports = function(path) { - - function run(file) { - vm.runInContext(fs.readFileSync(file, 'utf8'), ctx, file); - return ctx; - } - - var ctx = vm.createContext(); // create new independent context - Object.keys(globals).forEach(function(k) { - ctx[k] = globals[k]; // shallow clone - }); - - ctx.createConfiguredBuilder = function() { - return { - contentType: 'text/html', - hasFeature: function(feature, version) { - return impl.hasFeature(feature, version); - }, - getImplementation: function() { - return impl; - }, - setImplementationAttribute: function(attr, value) { - // Ignore - }, - preload: function(docRef, name, href) { - return 1; - }, - load: function(docRef, name, href) { - var doc = Path.resolve(__dirname, '..', path, 'files', href) + '.html'; - var html = fs.readFileSync(doc, 'utf8'); - return domino.createDocument(html); - } - }; - }; - - run(__dirname + '/DomTestCase.js'); - - var tests = {}; - list(path, /(.*?)\.js$/, function(file, basename) { - tests[basename] = function() { - run(file); - ctx.setUpPage(); - ctx.runTest(); - }; - }); - return tests; -}; diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/index.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/index.js deleted file mode 100644 index c093a4c..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/index.js +++ /dev/null @@ -1,12 +0,0 @@ -var suite = require('./harness'); - -exports.level1 = { - core: suite('level1/core/'), - html: suite('level1/html/') -}; -/* -exports.level2 = { - core: suite('level2/core/'), - html: suite('level2/html/') -}; -*/ \ No newline at end of file diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/documentgetdoctypenodtd.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/documentgetdoctypenodtd.js deleted file mode 100644 index 7d475f9..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/documentgetdoctypenodtd.js +++ /dev/null @@ -1,110 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/documentgetdoctypenodtd"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - setImplementationAttribute("validating", false); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_nodtdstaff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "getDoctype()" method returns null for XML documents - without a document type declaration. - Retrieve the XML document without a DTD and invoke the - "getDoctype()" method. It should return null. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A31 -*/ -function documentgetdoctypenodtd() { - var success; - if(checkInitialization(builder, "documentgetdoctypenodtd") != null) return; - var doc; - var docType; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_nodtdstaff"); - docType = doc.doctype; - - assertNull("documentGetDocTypeNoDTDAssert",docType); - -} - - - - -function runTest() { - documentgetdoctypenodtd(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi.js deleted file mode 100644 index 3216c53..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi.js +++ /dev/null @@ -1,143 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/documentinvalidcharacterexceptioncreatepi"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - checkFeature("XML", null); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "createProcessingInstruction(target,data) method - raises an INVALID_CHARACTER_ERR DOMException if the - specified tagName contains an invalid character. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-135944439 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-135944439')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR']) -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 -*/ -function documentinvalidcharacterexceptioncreatepi() { - var success; - if(checkInitialization(builder, "documentinvalidcharacterexceptioncreatepi") != null) return; - var doc; - var badPI; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - - if( - - (builder.contentType == "text/html") - - ) { - - { - success = false; - try { - badPI = doc.createProcessingInstruction("foo","data"); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 9); - } - assertTrue("throw_NOT_SUPPORTED_ERR",success); - } - - } - - else { - - { - success = false; - try { - badPI = doc.createProcessingInstruction("invalid^Name","data"); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 5); - } - assertTrue("throw_INVALID_CHARACTER_ERR",success); - } - - } - -} - - - - -function runTest() { - documentinvalidcharacterexceptioncreatepi(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi1.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi1.js deleted file mode 100644 index fb6104d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi1.js +++ /dev/null @@ -1,140 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/documentinvalidcharacterexceptioncreatepi1"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - checkFeature("XML", null); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Creating a processing instruction with an empty target should cause an INVALID_CHARACTER_ERR. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-135944439 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-135944439')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR']) -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=525 -*/ -function documentinvalidcharacterexceptioncreatepi1() { - var success; - if(checkInitialization(builder, "documentinvalidcharacterexceptioncreatepi1") != null) return; - var doc; - var badPI; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - - if( - - (builder.contentType == "text/html") - - ) { - - { - success = false; - try { - badPI = doc.createProcessingInstruction("foo","data"); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 9); - } - assertTrue("throw_NOT_SUPPORTED_ERR",success); - } - - } - - else { - - { - success = false; - try { - badPI = doc.createProcessingInstruction("","data"); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 5); - } - assertTrue("throw_INVALID_CHARACTER_ERR",success); - } - - } - -} - - - - -function runTest() { - documentinvalidcharacterexceptioncreatepi1(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/.cvsignore b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/.cvsignore deleted file mode 100644 index e69de29..0000000 diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/hc_nodtdstaff.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/hc_nodtdstaff.html deleted file mode 100644 index f98d0be..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/hc_nodtdstaff.html +++ /dev/null @@ -1,10 +0,0 @@ -hc_nodtdstaff -

    - EMP0001 - Margaret Martin - Accountant - 56,000 - Female - 1230 North Ave. Dallas, Texas 98551 -

    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/hc_staff.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/hc_staff.html deleted file mode 100644 index 9acf750..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/hc_staff.html +++ /dev/null @@ -1,48 +0,0 @@ - - -hc_staff -

    - EMP0001 - Margaret Martin - Accountant - 56,000 - Female - 1230 North Ave. Dallas, Texas 98551 -

    -

    - EMP0002 - Martha RaynoldsThis is a CDATASection with EntityReference number 2 &ent2; -This is an adjacent CDATASection with a reference to a tab &tab; - Secretary - 35,000 - Female - β Dallas, γ - 98554 -

    -

    - EMP0003 - Roger - Jones - Department Manager - 100,000 - δ - PO Box 27 Irving, texas 98553 -

    -

    - EMP0004 - Jeny Oconnor - Personnel Director - 95,000 - Female - 27 South Road. Dallas, Texas 98556 -

    -

    - EMP0005 - Robert Myers - Computer Specialist - 90,000 - male - 1821 Nordic. Road, Irving Texas 98558 -

    - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/staff.dtd b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/staff.dtd deleted file mode 100644 index 02a994d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/staff.dtd +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddata.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddata.js deleted file mode 100644 index a479174..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddata.js +++ /dev/null @@ -1,124 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataappenddata"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "appendData(arg)" method appends a string to the end - of the character data of the node. - - Retrieve the character data from the second child - of the first employee. The appendData(arg) method is - called with arg=", Esquire". The method should append - the specified data to the already existing character - data. The new value return by the "getLength()" method - should be 24. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-32791A2F -*/ -function hc_characterdataappenddata() { - var success; - if(checkInitialization(builder, "hc_characterdataappenddata") != null) return; - var doc; - var elementList; - var nameNode; - var child; - var childValue; - var childLength; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("strong"); - nameNode = elementList.item(0); - child = nameNode.firstChild; - - child.appendData(", Esquire"); - childValue = child.data; - - childLength = childValue.length; - assertEquals("characterdataAppendDataAssert",24,childLength); - -} - - - - -function runTest() { - hc_characterdataappenddata(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddatagetdata.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddatagetdata.js deleted file mode 100644 index 4aed0ce..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddatagetdata.js +++ /dev/null @@ -1,123 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataappenddatagetdata"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - On successful invocation of the "appendData(arg)" - method the "getData()" method provides access to the - concatentation of data and the specified string. - - Retrieve the character data from the second child - of the first employee. The appendData(arg) method is - called with arg=", Esquire". The method should append - the specified data to the already existing character - data. The new value return by the "getData()" method - should be "Margaret Martin, Esquire". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-32791A2F -*/ -function hc_characterdataappenddatagetdata() { - var success; - if(checkInitialization(builder, "hc_characterdataappenddatagetdata") != null) return; - var doc; - var elementList; - var nameNode; - var child; - var childData; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("strong"); - nameNode = elementList.item(0); - child = nameNode.firstChild; - - child.appendData(", Esquire"); - childData = child.data; - - assertEquals("characterdataAppendDataGetDataAssert","Margaret Martin, Esquire",childData); - -} - - - - -function runTest() { - hc_characterdataappenddatagetdata(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatabegining.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatabegining.js deleted file mode 100644 index 8fc32ed..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatabegining.js +++ /dev/null @@ -1,122 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatadeletedatabegining"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -The "deleteData(offset,count)" method removes a range of -characters from the node. Delete data at the beginning -of the character data. - -Retrieve the character data from the last child of the -first employee. The "deleteData(offset,count)" -method is then called with offset=0 and count=16. -The method should delete the characters from position -0 thru position 16. The new value of the character data -should be "Dallas, Texas 98551". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 -*/ -function hc_characterdatadeletedatabegining() { - var success; - if(checkInitialization(builder, "hc_characterdatadeletedatabegining") != null) return; - var doc; - var elementList; - var nameNode; - var child; - var childData; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - nameNode = elementList.item(0); - child = nameNode.firstChild; - - child.deleteData(0,16); - childData = child.data; - - assertEquals("data","Dallas, Texas 98551",childData); - -} - - - - -function runTest() { - hc_characterdatadeletedatabegining(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataend.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataend.js deleted file mode 100644 index 8d567d0..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataend.js +++ /dev/null @@ -1,123 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatadeletedataend"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "deleteData(offset,count)" method removes a range of - characters from the node. Delete data at the end - of the character data. - - Retrieve the character data from the last child of the - first employee. The "deleteData(offset,count)" - method is then called with offset=30 and count=5. - The method should delete the characters from position - 30 thru position 35. The new value of the character data - should be "1230 North Ave. Dallas, Texas". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 -*/ -function hc_characterdatadeletedataend() { - var success; - if(checkInitialization(builder, "hc_characterdatadeletedataend") != null) return; - var doc; - var elementList; - var nameNode; - var child; - var childData; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - nameNode = elementList.item(0); - child = nameNode.firstChild; - - child.deleteData(30,5); - childData = child.data; - - assertEquals("characterdataDeleteDataEndAssert","1230 North Ave. Dallas, Texas ",childData); - -} - - - - -function runTest() { - hc_characterdatadeletedataend(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataexceedslength.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataexceedslength.js deleted file mode 100644 index 4dccc5e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataexceedslength.js +++ /dev/null @@ -1,125 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatadeletedataexceedslength"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - If the sum of the offset and count used in the - "deleteData(offset,count) method is greater than the - length of the character data then all the characters - from the offset to the end of the data are deleted. - - Retrieve the character data from the last child of the - first employee. The "deleteData(offset,count)" - method is then called with offset=4 and count=50. - The method should delete the characters from position 4 - to the end of the data since the offset+count(50+4) - is greater than the length of the character data(35). - The new value of the character data should be "1230". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 -*/ -function hc_characterdatadeletedataexceedslength() { - var success; - if(checkInitialization(builder, "hc_characterdatadeletedataexceedslength") != null) return; - var doc; - var elementList; - var nameNode; - var child; - var childData; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - nameNode = elementList.item(0); - child = nameNode.firstChild; - - child.deleteData(4,50); - childData = child.data; - - assertEquals("characterdataDeleteDataExceedsLengthAssert","1230",childData); - -} - - - - -function runTest() { - hc_characterdatadeletedataexceedslength(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatagetlengthanddata.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatagetlengthanddata.js deleted file mode 100644 index b3784f3..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatagetlengthanddata.js +++ /dev/null @@ -1,132 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatadeletedatagetlengthanddata"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - On successful invocation of the "deleteData(offset,count)" - method, the "getData()" and "getLength()" methods reflect - the changes. - - Retrieve the character data from the last child of the - first employee. The "deleteData(offset,count)" - method is then called with offset=30 and count=5. - The method should delete the characters from position - 30 thru position 35. The new value of the character data - should be "1230 North Ave. Dallas, Texas" which is - returned by the "getData()" method and "getLength()" - method should return 30". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7D61178C -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 -*/ -function hc_characterdatadeletedatagetlengthanddata() { - var success; - if(checkInitialization(builder, "hc_characterdatadeletedatagetlengthanddata") != null) return; - var doc; - var elementList; - var nameNode; - var child; - var childData; - var childLength; - var result = new Array(); - - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - nameNode = elementList.item(0); - child = nameNode.firstChild; - - child.deleteData(30,5); - childData = child.data; - - assertEquals("data","1230 North Ave. Dallas, Texas ",childData); - childLength = child.length; - - assertEquals("length",30,childLength); - -} - - - - -function runTest() { - hc_characterdatadeletedatagetlengthanddata(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatamiddle.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatamiddle.js deleted file mode 100644 index 9afa810..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatamiddle.js +++ /dev/null @@ -1,123 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatadeletedatamiddle"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "deleteData(offset,count)" method removes a range of - characters from the node. Delete data in the middle - of the character data. - - Retrieve the character data from the last child of the - first employee. The "deleteData(offset,count)" - method is then called with offset=16 and count=8. - The method should delete the characters from position - 16 thru position 24. The new value of the character data - should be "1230 North Ave. Texas 98551". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 -*/ -function hc_characterdatadeletedatamiddle() { - var success; - if(checkInitialization(builder, "hc_characterdatadeletedatamiddle") != null) return; - var doc; - var elementList; - var nameNode; - var child; - var childData; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - nameNode = elementList.item(0); - child = nameNode.firstChild; - - child.deleteData(16,8); - childData = child.data; - - assertEquals("characterdataDeleteDataMiddleAssert","1230 North Ave. Texas 98551",childData); - -} - - - - -function runTest() { - hc_characterdatadeletedatamiddle(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatagetdata.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatagetdata.js deleted file mode 100644 index ef16bb0..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatagetdata.js +++ /dev/null @@ -1,124 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatagetdata"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - - The "getData()" method retrieves the character data - - currently stored in the node. - - Retrieve the character data from the second child - - of the first employee and invoke the "getData()" - - method. The method returns the character data - - string. - - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 -*/ -function hc_characterdatagetdata() { - var success; - if(checkInitialization(builder, "hc_characterdatagetdata") != null) return; - var doc; - var elementList; - var nameNode; - var child; - var childData; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("strong"); - nameNode = elementList.item(0); - child = nameNode.firstChild; - - childData = child.data; - - assertEquals("characterdataGetDataAssert","Margaret Martin",childData); - -} - - - - -function runTest() { - hc_characterdatagetdata(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatagetlength.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatagetlength.js deleted file mode 100644 index 214b14c..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatagetlength.js +++ /dev/null @@ -1,119 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatagetlength"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "getLength()" method returns the number of characters - stored in this nodes data. - Retrieve the character data from the second - child of the first employee and examine the - value returned by the getLength() method. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7D61178C -*/ -function hc_characterdatagetlength() { - var success; - if(checkInitialization(builder, "hc_characterdatagetlength") != null) return; - var doc; - var elementList; - var nameNode; - var child; - var childValue; - var childLength; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("strong"); - nameNode = elementList.item(0); - child = nameNode.firstChild; - - childValue = child.data; - - childLength = childValue.length; - assertEquals("characterdataGetLengthAssert",15,childLength); - -} - - - - -function runTest() { - hc_characterdatagetlength(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative.js deleted file mode 100644 index 9d03881..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative.js +++ /dev/null @@ -1,130 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - setImplementationAttribute("signed", true); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "deleteData(offset,count)" method raises an - INDEX_SIZE_ERR DOMException if the specified count - is negative. - - Retrieve the character data of the last child of the - first employee and invoke its "deleteData(offset,count)" - method with offset=10 and count=-3. It should raise the - desired exception since the count is negative. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6531BCCF -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-6531BCCF')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) -*/ -function hc_characterdataindexsizeerrdeletedatacountnegative() { - var success; - if(checkInitialization(builder, "hc_characterdataindexsizeerrdeletedatacountnegative") != null) return; - var doc; - var elementList; - var nameNode; - var child; - var childSubstring; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - nameNode = elementList.item(0); - child = nameNode.firstChild; - - - { - success = false; - try { - childSubstring = child.substringData(10,-3); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 1); - } - assertTrue("throws_INDEX_SIZE_ERR",success); - } - -} - - - - -function runTest() { - hc_characterdataindexsizeerrdeletedatacountnegative(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetgreater.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetgreater.js deleted file mode 100644 index a66a6c1..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetgreater.js +++ /dev/null @@ -1,131 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrdeletedataoffsetgreater"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "deleteData(offset,count)" method raises an - INDEX_SIZE_ERR DOMException if the specified offset - is greater that the number of characters in the string. - - Retrieve the character data of the last child of the - first employee and invoke its "deleteData(offset,count)" - method with offset=40 and count=3. It should raise the - desired exception since the offset is greater than the - number of characters in the string. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-7C603781')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 -*/ -function hc_characterdataindexsizeerrdeletedataoffsetgreater() { - var success; - if(checkInitialization(builder, "hc_characterdataindexsizeerrdeletedataoffsetgreater") != null) return; - var doc; - var elementList; - var nameNode; - var child; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - nameNode = elementList.item(0); - child = nameNode.firstChild; - - - { - success = false; - try { - child.deleteData(40,3); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 1); - } - assertTrue("throw_INDEX_SIZE_ERR",success); - } - -} - - - - -function runTest() { - hc_characterdataindexsizeerrdeletedataoffsetgreater(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetnegative.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetnegative.js deleted file mode 100644 index ca26f7d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetnegative.js +++ /dev/null @@ -1,130 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrdeletedataoffsetnegative"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - setImplementationAttribute("signed", true); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "deleteData(offset,count)" method raises an - INDEX_SIZE_ERR DOMException if the specified offset - is negative. - - Retrieve the character data of the last child of the - first employee and invoke its "deleteData(offset,count)" - method with offset=-5 and count=3. It should raise the - desired exception since the offset is negative. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-7C603781')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 -*/ -function hc_characterdataindexsizeerrdeletedataoffsetnegative() { - var success; - if(checkInitialization(builder, "hc_characterdataindexsizeerrdeletedataoffsetnegative") != null) return; - var doc; - var elementList; - var nameNode; - var child; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - nameNode = elementList.item(0); - child = nameNode.firstChild; - - - { - success = false; - try { - child.deleteData(-5,3); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 1); - } - assertTrue("throws_INDEX_SIZE_ERR",success); - } - -} - - - - -function runTest() { - hc_characterdataindexsizeerrdeletedataoffsetnegative(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetgreater.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetgreater.js deleted file mode 100644 index 0abfe7e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetgreater.js +++ /dev/null @@ -1,130 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrinsertdataoffsetgreater"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "insertData(offset,arg)" method raises an - INDEX_SIZE_ERR DOMException if the specified offset - is greater than the number of characters in the string. - - Retrieve the character data of the last child of the - first employee and invoke its insertData"(offset,arg)" - method with offset=40 and arg="ABC". It should raise - the desired exception since the offset is greater than - the number of characters in the string. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-7C603781')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 -*/ -function hc_characterdataindexsizeerrinsertdataoffsetgreater() { - var success; - if(checkInitialization(builder, "hc_characterdataindexsizeerrinsertdataoffsetgreater") != null) return; - var doc; - var elementList; - var nameNode; - var child; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - nameNode = elementList.item(0); - child = nameNode.firstChild; - - - { - success = false; - try { - child.deleteData(40,3); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 1); - } - assertTrue("throw_INDEX_SIZE_ERR",success); - } - -} - - - - -function runTest() { - hc_characterdataindexsizeerrinsertdataoffsetgreater(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetnegative.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetnegative.js deleted file mode 100644 index 4712b94..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetnegative.js +++ /dev/null @@ -1,129 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrinsertdataoffsetnegative"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - setImplementationAttribute("signed", true); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "insertData(offset,arg)" method raises an - INDEX_SIZE_ERR DOMException if the specified offset - is negative. - - Retrieve the character data of the last child of the - first employee and invoke its insertData"(offset,arg)" - method with offset=-5 and arg="ABC". It should raise - the desired exception since the offset is negative. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-E5CBA7FB')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) -*/ -function hc_characterdataindexsizeerrinsertdataoffsetnegative() { - var success; - if(checkInitialization(builder, "hc_characterdataindexsizeerrinsertdataoffsetnegative") != null) return; - var doc; - var elementList; - var nameNode; - var child; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - nameNode = elementList.item(0); - child = nameNode.firstChild; - - - { - success = false; - try { - child.replaceData(-5,3,"ABC"); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 1); - } - assertTrue("throws_INDEX_SIZE_ERR",success); - } - -} - - - - -function runTest() { - hc_characterdataindexsizeerrinsertdataoffsetnegative(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedatacountnegative.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedatacountnegative.js deleted file mode 100644 index 7a2b7d2..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedatacountnegative.js +++ /dev/null @@ -1,131 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrreplacedatacountnegative"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - setImplementationAttribute("signed", true); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "replaceData(offset,count,arg)" method raises an - INDEX_SIZE_ERR DOMException if the specified count - is negative. - - Retrieve the character data of the last child of the - first employee and invoke its - "replaceData(offset,count,arg) method with offset=10 - and count=-3 and arg="ABC". It should raise the - desired exception since the count is negative. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6531BCCF -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-6531BCCF')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) -*/ -function hc_characterdataindexsizeerrreplacedatacountnegative() { - var success; - if(checkInitialization(builder, "hc_characterdataindexsizeerrreplacedatacountnegative") != null) return; - var doc; - var elementList; - var nameNode; - var child; - var badString; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - nameNode = elementList.item(0); - child = nameNode.firstChild; - - - { - success = false; - try { - badString = child.substringData(10,-3); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 1); - } - assertTrue("throws_INDEX_SIZE_ERR",success); - } - -} - - - - -function runTest() { - hc_characterdataindexsizeerrreplacedatacountnegative(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetgreater.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetgreater.js deleted file mode 100644 index dc62aa7..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetgreater.js +++ /dev/null @@ -1,131 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrreplacedataoffsetgreater"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "replaceData(offset,count,arg)" method raises an - INDEX_SIZE_ERR DOMException if the specified offset - is greater than the length of the string. - - Retrieve the character data of the last child of the - first employee and invoke its - "replaceData(offset,count,arg) method with offset=40 - and count=3 and arg="ABC". It should raise the - desired exception since the offset is greater than the - length of the string. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-7C603781')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=242 -*/ -function hc_characterdataindexsizeerrreplacedataoffsetgreater() { - var success; - if(checkInitialization(builder, "hc_characterdataindexsizeerrreplacedataoffsetgreater") != null) return; - var doc; - var elementList; - var nameNode; - var child; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - nameNode = elementList.item(0); - child = nameNode.firstChild; - - - { - success = false; - try { - child.deleteData(40,3); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 1); - } - assertTrue("throw_INDEX_SIZE_ERR",success); - } - -} - - - - -function runTest() { - hc_characterdataindexsizeerrreplacedataoffsetgreater(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetnegative.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetnegative.js deleted file mode 100644 index af267df..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetnegative.js +++ /dev/null @@ -1,131 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrreplacedataoffsetnegative"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - setImplementationAttribute("signed", true); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "replaceData(offset,count,arg)" method raises an - INDEX_SIZE_ERR DOMException if the specified offset - is negative. - - Retrieve the character data of the last child of the - first employee and invoke its - "replaceData(offset,count,arg) method with offset=-5 - and count=3 and arg="ABC". It should raise the - desired exception since the offset is negative. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-E5CBA7FB')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB -*/ -function hc_characterdataindexsizeerrreplacedataoffsetnegative() { - var success; - if(checkInitialization(builder, "hc_characterdataindexsizeerrreplacedataoffsetnegative") != null) return; - var doc; - var elementList; - var nameNode; - var child; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - nameNode = elementList.item(0); - child = nameNode.firstChild; - - - { - success = false; - try { - child.replaceData(-5,3,"ABC"); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 1); - } - assertTrue("throws_INDEX_SIZE_ERR",success); - } - -} - - - - -function runTest() { - hc_characterdataindexsizeerrreplacedataoffsetnegative(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringcountnegative.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringcountnegative.js deleted file mode 100644 index 2e96dbe..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringcountnegative.js +++ /dev/null @@ -1,130 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrsubstringcountnegative"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - setImplementationAttribute("signed", true); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "substringData(offset,count)" method raises an - INDEX_SIZE_ERR DOMException if the specified count - is negative. - - Retrieve the character data of the last child of the - first employee and invoke its "substringData(offset,count) - method with offset=10 and count=-3. It should raise the - desired exception since the count is negative. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6531BCCF -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-6531BCCF')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) -*/ -function hc_characterdataindexsizeerrsubstringcountnegative() { - var success; - if(checkInitialization(builder, "hc_characterdataindexsizeerrsubstringcountnegative") != null) return; - var doc; - var elementList; - var nameNode; - var child; - var badSubstring; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - nameNode = elementList.item(0); - child = nameNode.firstChild; - - - { - success = false; - try { - badSubstring = child.substringData(10,-3); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 1); - } - assertTrue("throws_INDEX_SIZE_ERR",success); - } - -} - - - - -function runTest() { - hc_characterdataindexsizeerrsubstringcountnegative(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringnegativeoffset.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringnegativeoffset.js deleted file mode 100644 index bc2fbf1..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringnegativeoffset.js +++ /dev/null @@ -1,130 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrsubstringnegativeoffset"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - setImplementationAttribute("signed", true); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "substringData(offset,count)" method raises an - INDEX_SIZE_ERR DOMException if the specified offset - is negative. - - Retrieve the character data of the last child of the - first employee and invoke its "substringData(offset,count) - method with offset=-5 and count=3. It should raise the - desired exception since the offset is negative. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6531BCCF -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-6531BCCF')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) -*/ -function hc_characterdataindexsizeerrsubstringnegativeoffset() { - var success; - if(checkInitialization(builder, "hc_characterdataindexsizeerrsubstringnegativeoffset") != null) return; - var doc; - var elementList; - var nameNode; - var child; - var badString; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - nameNode = elementList.item(0); - child = nameNode.firstChild; - - - { - success = false; - try { - badString = child.substringData(-5,3); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 1); - } - assertTrue("throws_INDEX_SIZE_ERR",success); - } - -} - - - - -function runTest() { - hc_characterdataindexsizeerrsubstringnegativeoffset(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringoffsetgreater.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringoffsetgreater.js deleted file mode 100644 index 65325c7..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringoffsetgreater.js +++ /dev/null @@ -1,131 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrsubstringoffsetgreater"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "substringData(offset,count)" method raises an - INDEX_SIZE_ERR DOMException if the specified offset - is greater than the number of characters in the string. - - Retrieve the character data of the last child of the - first employee and invoke its "substringData(offset,count) - method with offset=40 and count=3. It should raise the - desired exception since the offsets value is greater - than the length. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6531BCCF -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-6531BCCF')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 -*/ -function hc_characterdataindexsizeerrsubstringoffsetgreater() { - var success; - if(checkInitialization(builder, "hc_characterdataindexsizeerrsubstringoffsetgreater") != null) return; - var doc; - var elementList; - var nameNode; - var child; - var badString; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - nameNode = elementList.item(0); - child = nameNode.firstChild; - - - { - success = false; - try { - badString = child.substringData(40,3); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 1); - } - assertTrue("throw_INDEX_SIZE_ERR",success); - } - -} - - - - -function runTest() { - hc_characterdataindexsizeerrsubstringoffsetgreater(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatabeginning.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatabeginning.js deleted file mode 100644 index 576e855..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatabeginning.js +++ /dev/null @@ -1,122 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatainsertdatabeginning"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -The "insertData(offset,arg)" method will insert a string -at the specified character offset. Insert the data at -the beginning of the character data. - -Retrieve the character data from the second child of -the first employee. The "insertData(offset,arg)" -method is then called with offset=0 and arg="Mss.". -The method should insert the string "Mss." at position 0. -The new value of the character data should be -"Mss. Margaret Martin". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3EDB695F -*/ -function hc_characterdatainsertdatabeginning() { - var success; - if(checkInitialization(builder, "hc_characterdatainsertdatabeginning") != null) return; - var doc; - var elementList; - var nameNode; - var child; - var childData; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("strong"); - nameNode = elementList.item(0); - child = nameNode.firstChild; - - child.insertData(0,"Mss. "); - childData = child.data; - - assertEquals("characterdataInsertDataBeginningAssert","Mss. Margaret Martin",childData); - -} - - - - -function runTest() { - hc_characterdatainsertdatabeginning(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdataend.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdataend.js deleted file mode 100644 index 424f776..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdataend.js +++ /dev/null @@ -1,123 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatainsertdataend"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "insertData(offset,arg)" method will insert a string - at the specified character offset. Insert the data at - the end of the character data. - - Retrieve the character data from the second child of - the first employee. The "insertData(offset,arg)" - method is then called with offset=15 and arg=", Esquire". - The method should insert the string ", Esquire" at - position 15. The new value of the character data should - be "Margaret Martin, Esquire". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3EDB695F -*/ -function hc_characterdatainsertdataend() { - var success; - if(checkInitialization(builder, "hc_characterdatainsertdataend") != null) return; - var doc; - var elementList; - var nameNode; - var child; - var childData; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("strong"); - nameNode = elementList.item(0); - child = nameNode.firstChild; - - child.insertData(15,", Esquire"); - childData = child.data; - - assertEquals("characterdataInsertDataEndAssert","Margaret Martin, Esquire",childData); - -} - - - - -function runTest() { - hc_characterdatainsertdataend(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatamiddle.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatamiddle.js deleted file mode 100644 index 081714c..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatamiddle.js +++ /dev/null @@ -1,123 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatainsertdatamiddle"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "insertData(offset,arg)" method will insert a string - at the specified character offset. Insert the data in - the middle of the character data. - - Retrieve the character data from the second child of - the first employee. The "insertData(offset,arg)" - method is then called with offset=9 and arg="Ann". - The method should insert the string "Ann" at position 9. - The new value of the character data should be - "Margaret Ann Martin". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3EDB695F -*/ -function hc_characterdatainsertdatamiddle() { - var success; - if(checkInitialization(builder, "hc_characterdatainsertdatamiddle") != null) return; - var doc; - var elementList; - var nameNode; - var child; - var childData; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("strong"); - nameNode = elementList.item(0); - child = nameNode.firstChild; - - child.insertData(9,"Ann "); - childData = child.data; - - assertEquals("characterdataInsertDataMiddleAssert","Margaret Ann Martin",childData); - -} - - - - -function runTest() { - hc_characterdatainsertdatamiddle(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatabegining.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatabegining.js deleted file mode 100644 index 2f5820d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatabegining.js +++ /dev/null @@ -1,122 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatareplacedatabegining"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -The "replaceData(offset,count,arg)" method replaces the -characters starting at the specified offset with the -specified string. Test for replacement in the -middle of the data. - -Retrieve the character data from the last child of the -first employee. The "replaceData(offset,count,arg)" -method is then called with offset=5 and count=5 and -arg="South". The method should replace characters five -thru 9 of the character data with "South". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB -*/ -function hc_characterdatareplacedatabegining() { - var success; - if(checkInitialization(builder, "hc_characterdatareplacedatabegining") != null) return; - var doc; - var elementList; - var nameNode; - var child; - var childData; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - nameNode = elementList.item(0); - child = nameNode.firstChild; - - child.replaceData(0,4,"2500"); - childData = child.data; - - assertEquals("characterdataReplaceDataBeginingAssert","2500 North Ave. Dallas, Texas 98551",childData); - -} - - - - -function runTest() { - hc_characterdatareplacedatabegining(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataend.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataend.js deleted file mode 100644 index 8c01d58..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataend.js +++ /dev/null @@ -1,123 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatareplacedataend"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "replaceData(offset,count,arg)" method replaces the - characters starting at the specified offset with the - specified string. Test for replacement at the - end of the data. - - Retrieve the character data from the last child of the - first employee. The "replaceData(offset,count,arg)" - method is then called with offset=30 and count=5 and - arg="98665". The method should replace characters 30 - thru 34 of the character data with "98665". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB -*/ -function hc_characterdatareplacedataend() { - var success; - if(checkInitialization(builder, "hc_characterdatareplacedataend") != null) return; - var doc; - var elementList; - var nameNode; - var child; - var childData; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - nameNode = elementList.item(0); - child = nameNode.firstChild; - - child.replaceData(30,5,"98665"); - childData = child.data; - - assertEquals("characterdataReplaceDataEndAssert","1230 North Ave. Dallas, Texas 98665",childData); - -} - - - - -function runTest() { - hc_characterdatareplacedataend(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofarg.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofarg.js deleted file mode 100644 index a9cf8e2..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofarg.js +++ /dev/null @@ -1,124 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatareplacedataexceedslengthofarg"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "replaceData(offset,count,arg)" method replaces the - characters starting at the specified offset with the - specified string. Test the situation where the length - of the arg string is greater than the specified offset. - - Retrieve the character data from the last child of the - first employee. The "replaceData(offset,count,arg)" - method is then called with offset=0 and count=4 and - arg="260030". The method should replace characters one - thru four with "260030". Note that the length of the - specified string is greater that the specified offset. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB -*/ -function hc_characterdatareplacedataexceedslengthofarg() { - var success; - if(checkInitialization(builder, "hc_characterdatareplacedataexceedslengthofarg") != null) return; - var doc; - var elementList; - var nameNode; - var child; - var childData; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - nameNode = elementList.item(0); - child = nameNode.firstChild; - - child.replaceData(0,4,"260030"); - childData = child.data; - - assertEquals("characterdataReplaceDataExceedsLengthOfArgAssert","260030 North Ave. Dallas, Texas 98551",childData); - -} - - - - -function runTest() { - hc_characterdatareplacedataexceedslengthofarg(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofdata.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofdata.js deleted file mode 100644 index b2b4205..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofdata.js +++ /dev/null @@ -1,122 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatareplacedataexceedslengthofdata"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - If the sum of the offset and count exceeds the length then - all the characters to the end of the data are replaced. - - Retrieve the character data from the last child of the - first employee. The "replaceData(offset,count,arg)" - method is then called with offset=0 and count=50 and - arg="2600". The method should replace all the characters - with "2600". This is because the sum of the offset and - count exceeds the length of the character data. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB -*/ -function hc_characterdatareplacedataexceedslengthofdata() { - var success; - if(checkInitialization(builder, "hc_characterdatareplacedataexceedslengthofdata") != null) return; - var doc; - var elementList; - var nameNode; - var child; - var childData; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - nameNode = elementList.item(0); - child = nameNode.firstChild; - - child.replaceData(0,50,"2600"); - childData = child.data; - - assertEquals("characterdataReplaceDataExceedsLengthOfDataAssert","2600",childData); - -} - - - - -function runTest() { - hc_characterdatareplacedataexceedslengthofdata(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatamiddle.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatamiddle.js deleted file mode 100644 index 6558cde..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatamiddle.js +++ /dev/null @@ -1,123 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatareplacedatamiddle"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "replaceData(offset,count,arg)" method replaces the - characters starting at the specified offset with the - specified string. Test for replacement in the - middle of the data. - - Retrieve the character data from the last child of the - first employee. The "replaceData(offset,count,arg)" - method is then called with offset=5 and count=5 and - arg="South". The method should replace characters five - thru 9 of the character data with "South". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB -*/ -function hc_characterdatareplacedatamiddle() { - var success; - if(checkInitialization(builder, "hc_characterdatareplacedatamiddle") != null) return; - var doc; - var elementList; - var nameNode; - var child; - var childData; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - nameNode = elementList.item(0); - child = nameNode.firstChild; - - child.replaceData(5,5,"South"); - childData = child.data; - - assertEquals("characterdataReplaceDataMiddleAssert","1230 South Ave. Dallas, Texas 98551",childData); - -} - - - - -function runTest() { - hc_characterdatareplacedatamiddle(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatasetnodevalue.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatasetnodevalue.js deleted file mode 100644 index e56ce72..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatasetnodevalue.js +++ /dev/null @@ -1,122 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatasetnodevalue"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "setNodeValue()" method changes the character data - currently stored in the node. - Retrieve the character data from the second child - of the first employee and invoke the "setNodeValue()" - method, call "getData()" and compare. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 -*/ -function hc_characterdatasetnodevalue() { - var success; - if(checkInitialization(builder, "hc_characterdatasetnodevalue") != null) return; - var doc; - var elementList; - var nameNode; - var child; - var childData; - var childValue; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("strong"); - nameNode = elementList.item(0); - child = nameNode.firstChild; - - child.nodeValue = "Marilyn Martin"; - - childData = child.data; - - assertEquals("data","Marilyn Martin",childData); - childValue = child.nodeValue; - - assertEquals("value","Marilyn Martin",childValue); - -} - - - - -function runTest() { - hc_characterdatasetnodevalue(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringexceedsvalue.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringexceedsvalue.js deleted file mode 100644 index 043dac2..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringexceedsvalue.js +++ /dev/null @@ -1,120 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatasubstringexceedsvalue"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - If the sum of the "offset" and "count" exceeds the - "length" then the "substringData(offset,count)" method - returns all the characters to the end of the data. - - Retrieve the character data from the second child - of the first employee and access part of the data - by using the substringData(offset,count) method - with offset=9 and count=10. The method should return - the substring "Martin" since offset+count > length - (19 > 15). - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6531BCCF -*/ -function hc_characterdatasubstringexceedsvalue() { - var success; - if(checkInitialization(builder, "hc_characterdatasubstringexceedsvalue") != null) return; - var doc; - var elementList; - var nameNode; - var child; - var substring; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("strong"); - nameNode = elementList.item(0); - child = nameNode.firstChild; - - substring = child.substringData(9,10); - assertEquals("characterdataSubStringExceedsValueAssert","Martin",substring); - -} - - - - -function runTest() { - hc_characterdatasubstringexceedsvalue(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringvalue.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringvalue.js deleted file mode 100644 index 379e3b0..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringvalue.js +++ /dev/null @@ -1,119 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatasubstringvalue"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "substringData(offset,count)" method returns the - specified string. - - Retrieve the character data from the second child - of the first employee and access part of the data - by using the substringData(offset,count) method. The - method should return the specified substring starting - at position "offset" and extract "count" characters. - The method should return the string "Margaret". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6531BCCF -*/ -function hc_characterdatasubstringvalue() { - var success; - if(checkInitialization(builder, "hc_characterdatasubstringvalue") != null) return; - var doc; - var elementList; - var nameNode; - var child; - var substring; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("strong"); - nameNode = elementList.item(0); - child = nameNode.firstChild; - - substring = child.substringData(0,8); - assertEquals("characterdataSubStringValueAssert","Margaret",substring); - -} - - - - -function runTest() { - hc_characterdatasubstringvalue(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_commentgetcomment.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_commentgetcomment.js deleted file mode 100644 index b7c76b4..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_commentgetcomment.js +++ /dev/null @@ -1,144 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_commentgetcomment"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - A comment is all the characters between the starting - '' - Retrieve the nodes of the DOM document. Search for a - comment node and the content is its value. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1334481328 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=509 -*/ -function hc_commentgetcomment() { - var success; - if(checkInitialization(builder, "hc_commentgetcomment") != null) return; - var doc; - var elementList; - var child; - var childName; - var childValue; - var commentCount = 0; - var childType; - var attributes; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.childNodes; - - for(var indexN1005E = 0;indexN1005E < elementList.length; indexN1005E++) { - child = elementList.item(indexN1005E); - childType = child.nodeType; - - - if( - (8 == childType) - ) { - childName = child.nodeName; - - assertEquals("nodeName","#comment",childName); - childValue = child.nodeValue; - - assertEquals("nodeValue"," This is comment number 1.",childValue); - attributes = child.attributes; - - assertNull("attributes",attributes); - commentCount += 1; - - } - - } - assertTrue("atMostOneComment", - - (commentCount < 2) -); - -} - - - - -function runTest() { - hc_commentgetcomment(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreatecomment.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreatecomment.js deleted file mode 100644 index fdd69a8..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreatecomment.js +++ /dev/null @@ -1,120 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentcreatecomment"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "createComment(data)" method creates a new Comment - node given the specified string. - Retrieve the entire DOM document and invoke its - "createComment(data)" method. It should create a new - Comment node whose "data" is the specified string. - The content, name and type are retrieved and output. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1334481328 -*/ -function hc_documentcreatecomment() { - var success; - if(checkInitialization(builder, "hc_documentcreatecomment") != null) return; - var doc; - var newCommentNode; - var newCommentValue; - var newCommentName; - var newCommentType; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - newCommentNode = doc.createComment("This is a new Comment node"); - newCommentValue = newCommentNode.nodeValue; - - assertEquals("value","This is a new Comment node",newCommentValue); - newCommentName = newCommentNode.nodeName; - - assertEquals("strong","#comment",newCommentName); - newCommentType = newCommentNode.nodeType; - - assertEquals("type",8,newCommentType); - -} - - - - -function runTest() { - hc_documentcreatecomment(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreatedocumentfragment.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreatedocumentfragment.js deleted file mode 100644 index 40240c5..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreatedocumentfragment.js +++ /dev/null @@ -1,126 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentcreatedocumentfragment"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "createDocumentFragment()" method creates an empty - DocumentFragment object. - Retrieve the entire DOM document and invoke its - "createDocumentFragment()" method. The content, name, - type and value of the newly created object are output. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-35CB04B5 -*/ -function hc_documentcreatedocumentfragment() { - var success; - if(checkInitialization(builder, "hc_documentcreatedocumentfragment") != null) return; - var doc; - var newDocFragment; - var children; - var length; - var newDocFragmentName; - var newDocFragmentType; - var newDocFragmentValue; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - newDocFragment = doc.createDocumentFragment(); - children = newDocFragment.childNodes; - - length = children.length; - - assertEquals("length",0,length); - newDocFragmentName = newDocFragment.nodeName; - - assertEquals("strong","#document-fragment",newDocFragmentName); - newDocFragmentType = newDocFragment.nodeType; - - assertEquals("type",11,newDocFragmentType); - newDocFragmentValue = newDocFragment.nodeValue; - - assertNull("value",newDocFragmentValue); - -} - - - - -function runTest() { - hc_documentcreatedocumentfragment(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreateelement.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreateelement.js deleted file mode 100644 index fbba09a..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreateelement.js +++ /dev/null @@ -1,121 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentcreateelement"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "createElement(tagName)" method creates an Element - of the type specified. - Retrieve the entire DOM document and invoke its - "createElement(tagName)" method with tagName="acronym". - The method should create an instance of an Element node - whose tagName is "acronym". The NodeName, NodeType - and NodeValue are returned. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-2141741547 -*/ -function hc_documentcreateelement() { - var success; - if(checkInitialization(builder, "hc_documentcreateelement") != null) return; - var doc; - var newElement; - var newElementName; - var newElementType; - var newElementValue; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - newElement = doc.createElement("acronym"); - newElementName = newElement.nodeName; - - assertEqualsAutoCase("element", "strong","acronym",newElementName); - newElementType = newElement.nodeType; - - assertEquals("type",1,newElementType); - newElementValue = newElement.nodeValue; - - assertNull("valueInitiallyNull",newElementValue); - -} - - - - -function runTest() { - hc_documentcreateelement(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreateelementcasesensitive.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreateelementcasesensitive.js deleted file mode 100644 index a22069f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreateelementcasesensitive.js +++ /dev/null @@ -1,132 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentcreateelementcasesensitive"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The tagName parameter in the "createElement(tagName)" - method is case-sensitive for XML documents. - Retrieve the entire DOM document and invoke its - "createElement(tagName)" method twice. Once for tagName - equal to "acronym" and once for tagName equal to "ACRONYM" - Each call should create a distinct Element node. The - newly created Elements are then assigned attributes - that are retrieved. - - Modified on 27 June 2003 to avoid setting an invalid style - values and checked the node names to see if they matched expectations. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-2141741547 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 -*/ -function hc_documentcreateelementcasesensitive() { - var success; - if(checkInitialization(builder, "hc_documentcreateelementcasesensitive") != null) return; - var doc; - var newElement1; - var newElement2; - var attribute1; - var attribute2; - var nodeName1; - var nodeName2; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - newElement1 = doc.createElement("ACRONYM"); - newElement2 = doc.createElement("acronym"); - newElement1.setAttribute("lang","EN"); - newElement2.setAttribute("title","Dallas"); - attribute1 = newElement1.getAttribute("lang"); - attribute2 = newElement2.getAttribute("title"); - assertEquals("attrib1","EN",attribute1); - assertEquals("attrib2","Dallas",attribute2); - nodeName1 = newElement1.nodeName; - - nodeName2 = newElement2.nodeName; - - assertEqualsAutoCase("element", "nodeName1","ACRONYM",nodeName1); - assertEqualsAutoCase("element", "nodeName2","acronym",nodeName2); - -} - - - - -function runTest() { - hc_documentcreateelementcasesensitive(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreatetextnode.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreatetextnode.js deleted file mode 100644 index 8b04106..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreatetextnode.js +++ /dev/null @@ -1,120 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentcreatetextnode"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "createTextNode(data)" method creates a Text node - given the specfied string. - Retrieve the entire DOM document and invoke its - "createTextNode(data)" method. It should create a - new Text node whose "data" is the specified string. - The NodeName and NodeType are also checked. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1975348127 -*/ -function hc_documentcreatetextnode() { - var success; - if(checkInitialization(builder, "hc_documentcreatetextnode") != null) return; - var doc; - var newTextNode; - var newTextName; - var newTextValue; - var newTextType; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - newTextNode = doc.createTextNode("This is a new Text node"); - newTextValue = newTextNode.nodeValue; - - assertEquals("value","This is a new Text node",newTextValue); - newTextName = newTextNode.nodeName; - - assertEquals("strong","#text",newTextName); - newTextType = newTextNode.nodeType; - - assertEquals("type",3,newTextType); - -} - - - - -function runTest() { - hc_documentcreatetextnode(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetdoctype.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetdoctype.js deleted file mode 100644 index c3aa3c5..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetdoctype.js +++ /dev/null @@ -1,149 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentgetdoctype"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Access Document.doctype for hc_staff, if not text/html should return DocumentType node. -HTML implementations may return null. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A31 -*/ -function hc_documentgetdoctype() { - var success; - if(checkInitialization(builder, "hc_documentgetdoctype") != null) return; - var doc; - var docType; - var docTypeName; - var nodeValue; - var attributes; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - docType = doc.doctype; - - - if( - - !( - (builder.contentType == "text/html") -) - - ) { - assertNotNull("docTypeNotNull",docType); - - } - - if( - - (docType != null) - - ) { - docTypeName = docType.name; - - - if( - - (builder.contentType == "image/svg+xml") - - ) { - assertEquals("nodeNameSVG","svg",docTypeName); - - } - - else { - assertEquals("nodeName","html",docTypeName); - - } - nodeValue = docType.nodeValue; - - assertNull("nodeValue",nodeValue); - attributes = docType.attributes; - - assertNull("attributes",attributes); - - } - -} - - - - -function runTest() { - hc_documentgetdoctype(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamelength.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamelength.js deleted file mode 100644 index 1eb3e39..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamelength.js +++ /dev/null @@ -1,110 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentgetelementsbytagnamelength"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "getElementsByTagName(tagName)" method returns a - NodeList of all the Elements with a given tagName. - - Retrieve the entire DOM document and invoke its - "getElementsByTagName(tagName)" method with tagName - equal to "strong". The method should return a NodeList - that contains 5 elements. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-A6C9094 -*/ -function hc_documentgetelementsbytagnamelength() { - var success; - if(checkInitialization(builder, "hc_documentgetelementsbytagnamelength") != null) return; - var doc; - var nameList; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - nameList = doc.getElementsByTagName("strong"); - assertSize("documentGetElementsByTagNameLengthAssert",5,nameList); - -} - - - - -function runTest() { - hc_documentgetelementsbytagnamelength(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnametotallength.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnametotallength.js deleted file mode 100644 index 00fa119..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnametotallength.js +++ /dev/null @@ -1,221 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentgetelementsbytagnametotallength"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - Retrieve the entire DOM document and invoke its - "getElementsByTagName(tagName)" method with tagName - equal to "*". The method should return a NodeList - that contains all the elements of the document. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-A6C9094 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=251 -*/ -function hc_documentgetelementsbytagnametotallength() { - var success; - if(checkInitialization(builder, "hc_documentgetelementsbytagnametotallength") != null) return; - var doc; - var nameList; - expectedNames = new Array(); - expectedNames[0] = "html"; - expectedNames[1] = "head"; - expectedNames[2] = "meta"; - expectedNames[3] = "title"; - expectedNames[4] = "script"; - expectedNames[5] = "script"; - expectedNames[6] = "script"; - expectedNames[7] = "body"; - expectedNames[8] = "p"; - expectedNames[9] = "em"; - expectedNames[10] = "strong"; - expectedNames[11] = "code"; - expectedNames[12] = "sup"; - expectedNames[13] = "var"; - expectedNames[14] = "acronym"; - expectedNames[15] = "p"; - expectedNames[16] = "em"; - expectedNames[17] = "strong"; - expectedNames[18] = "code"; - expectedNames[19] = "sup"; - expectedNames[20] = "var"; - expectedNames[21] = "acronym"; - expectedNames[22] = "p"; - expectedNames[23] = "em"; - expectedNames[24] = "strong"; - expectedNames[25] = "code"; - expectedNames[26] = "sup"; - expectedNames[27] = "var"; - expectedNames[28] = "acronym"; - expectedNames[29] = "p"; - expectedNames[30] = "em"; - expectedNames[31] = "strong"; - expectedNames[32] = "code"; - expectedNames[33] = "sup"; - expectedNames[34] = "var"; - expectedNames[35] = "acronym"; - expectedNames[36] = "p"; - expectedNames[37] = "em"; - expectedNames[38] = "strong"; - expectedNames[39] = "code"; - expectedNames[40] = "sup"; - expectedNames[41] = "var"; - expectedNames[42] = "acronym"; - - svgExpectedNames = new Array(); - svgExpectedNames[0] = "svg"; - svgExpectedNames[1] = "rect"; - svgExpectedNames[2] = "script"; - svgExpectedNames[3] = "head"; - svgExpectedNames[4] = "meta"; - svgExpectedNames[5] = "title"; - svgExpectedNames[6] = "body"; - svgExpectedNames[7] = "p"; - svgExpectedNames[8] = "em"; - svgExpectedNames[9] = "strong"; - svgExpectedNames[10] = "code"; - svgExpectedNames[11] = "sup"; - svgExpectedNames[12] = "var"; - svgExpectedNames[13] = "acronym"; - svgExpectedNames[14] = "p"; - svgExpectedNames[15] = "em"; - svgExpectedNames[16] = "strong"; - svgExpectedNames[17] = "code"; - svgExpectedNames[18] = "sup"; - svgExpectedNames[19] = "var"; - svgExpectedNames[20] = "acronym"; - svgExpectedNames[21] = "p"; - svgExpectedNames[22] = "em"; - svgExpectedNames[23] = "strong"; - svgExpectedNames[24] = "code"; - svgExpectedNames[25] = "sup"; - svgExpectedNames[26] = "var"; - svgExpectedNames[27] = "acronym"; - svgExpectedNames[28] = "p"; - svgExpectedNames[29] = "em"; - svgExpectedNames[30] = "strong"; - svgExpectedNames[31] = "code"; - svgExpectedNames[32] = "sup"; - svgExpectedNames[33] = "var"; - svgExpectedNames[34] = "acronym"; - svgExpectedNames[35] = "p"; - svgExpectedNames[36] = "em"; - svgExpectedNames[37] = "strong"; - svgExpectedNames[38] = "code"; - svgExpectedNames[39] = "sup"; - svgExpectedNames[40] = "var"; - svgExpectedNames[41] = "acronym"; - - var actualNames = new Array(); - - var thisElement; - var thisTag; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - nameList = doc.getElementsByTagName("*"); - for(var indexN10148 = 0;indexN10148 < nameList.length; indexN10148++) { - thisElement = nameList.item(indexN10148); - thisTag = thisElement.tagName; - - actualNames[actualNames.length] = thisTag; - - } - - if( - - (builder.contentType == "image/svg+xml") - - ) { - assertEqualsListAutoCase("element", "svgTagNames",svgExpectedNames,actualNames); - - } - - else { - assertEqualsListAutoCase("element", "tagNames",expectedNames,actualNames); - - } - -} - - - - -function runTest() { - hc_documentgetelementsbytagnametotallength(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamevalue.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamevalue.js deleted file mode 100644 index e9d39ed..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamevalue.js +++ /dev/null @@ -1,120 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentgetelementsbytagnamevalue"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "getElementsByTagName(tagName)" method returns a - NodeList of all the Elements with a given tagName - in a pre-order traversal of the tree. - - Retrieve the entire DOM document and invoke its - "getElementsByTagName(tagName)" method with tagName - equal to "strong". The method should return a NodeList - that contains 5 elements. The FOURTH item in the - list is retrieved and output. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-A6C9094 -*/ -function hc_documentgetelementsbytagnamevalue() { - var success; - if(checkInitialization(builder, "hc_documentgetelementsbytagnamevalue") != null) return; - var doc; - var nameList; - var nameNode; - var firstChild; - var childValue; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - nameList = doc.getElementsByTagName("strong"); - nameNode = nameList.item(3); - firstChild = nameNode.firstChild; - - childValue = firstChild.nodeValue; - - assertEquals("documentGetElementsByTagNameValueAssert","Jeny Oconnor",childValue); - -} - - - - -function runTest() { - hc_documentgetelementsbytagnamevalue(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetimplementation.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetimplementation.js deleted file mode 100644 index 5bb3f3b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetimplementation.js +++ /dev/null @@ -1,126 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentgetimplementation"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - Retrieve the entire DOM document and invoke its - "getImplementation()" method. If contentType="text/html", - DOMImplementation.hasFeature("HTML","1.0") should be true. - Otherwise, DOMImplementation.hasFeature("XML", "1.0") - should be true. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1B793EBA -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=245 -*/ -function hc_documentgetimplementation() { - var success; - if(checkInitialization(builder, "hc_documentgetimplementation") != null) return; - var doc; - var docImpl; - var xmlstate; - var htmlstate; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - docImpl = doc.implementation; -xmlstate = docImpl.hasFeature("XML","1.0"); -htmlstate = docImpl.hasFeature("HTML","1.0"); - - if( - - (builder.contentType == "text/html") - - ) { - assertTrue("supports_HTML_1.0",htmlstate); - - } - - else { - assertTrue("supports_XML_1.0",xmlstate); - - } - -} - - - - -function runTest() { - hc_documentgetimplementation(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetrootnode.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetrootnode.js deleted file mode 100644 index e221ff1..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetrootnode.js +++ /dev/null @@ -1,123 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentgetrootnode"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - Load a document and invoke its - "getDocumentElement()" method. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-87CD092 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=251 -*/ -function hc_documentgetrootnode() { - var success; - if(checkInitialization(builder, "hc_documentgetrootnode") != null) return; - var doc; - var root; - var rootName; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - root = doc.documentElement; - - rootName = root.nodeName; - - - if( - - (builder.contentType == "image/svg+xml") - - ) { - assertEquals("svgTagName","svg",rootName); - - } - - else { - assertEqualsAutoCase("element", "docElemName","html",rootName); - - } - -} - - - - -function runTest() { - hc_documentgetrootnode(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement.js deleted file mode 100644 index 624a46a..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement.js +++ /dev/null @@ -1,124 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentinvalidcharacterexceptioncreateelement"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "createElement(tagName)" method raises an - INVALID_CHARACTER_ERR DOMException if the specified - tagName contains an invalid character. - - Retrieve the entire DOM document and invoke its - "createElement(tagName)" method with the tagName equal - to the string "invalid^Name". Due to the invalid - character the desired EXCEPTION should be raised. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-2141741547 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-2141741547')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-2141741547 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 -*/ -function hc_documentinvalidcharacterexceptioncreateelement() { - var success; - if(checkInitialization(builder, "hc_documentinvalidcharacterexceptioncreateelement") != null) return; - var doc; - var badElement; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - - { - success = false; - try { - badElement = doc.createElement("invalid^Name"); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 5); - } - assertTrue("throw_INVALID_CHARACTER_ERR",success); - } - -} - - - - -function runTest() { - hc_documentinvalidcharacterexceptioncreateelement(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement1.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement1.js deleted file mode 100644 index cbf69fe..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement1.js +++ /dev/null @@ -1,117 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentinvalidcharacterexceptioncreateelement1"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Creating an element with an empty name should cause an INVALID_CHARACTER_ERR. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-2141741547 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-2141741547')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-2141741547 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=525 -*/ -function hc_documentinvalidcharacterexceptioncreateelement1() { - var success; - if(checkInitialization(builder, "hc_documentinvalidcharacterexceptioncreateelement1") != null) return; - var doc; - var badElement; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - - { - success = false; - try { - badElement = doc.createElement(""); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 5); - } - assertTrue("throw_INVALID_CHARACTER_ERR",success); - } - -} - - - - -function runTest() { - hc_documentinvalidcharacterexceptioncreateelement1(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenoversion.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenoversion.js deleted file mode 100644 index f723ce5..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenoversion.js +++ /dev/null @@ -1,126 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_domimplementationfeaturenoversion"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - Load a document and invoke its - "getImplementation()" method. This should create a - DOMImplementation object whose "hasFeature(feature, - version)" method is invoked with version equal to "". - If the version is not specified, supporting any version - feature will cause the method to return "true". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-5CED94D7 -* @see http://www.w3.org/2000/11/DOM-Level-2-errata#core-14 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=245 -*/ -function hc_domimplementationfeaturenoversion() { - var success; - if(checkInitialization(builder, "hc_domimplementationfeaturenoversion") != null) return; - var doc; - var domImpl; - var state; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - domImpl = doc.implementation; - - if( - - (builder.contentType == "text/html") - - ) { - state = domImpl.hasFeature("HTML",""); - - } - - else { - state = domImpl.hasFeature("XML",""); - - } - assertTrue("hasFeatureBlank",state); - -} - - - - -function runTest() { - hc_domimplementationfeaturenoversion(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenull.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenull.js deleted file mode 100644 index bfa69f3..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenull.js +++ /dev/null @@ -1,129 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_domimplementationfeaturenull"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - setImplementationAttribute("hasNullString", true); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - Load a document and invoke its - "getImplementation()" method. This should create a - DOMImplementation object whose "hasFeature(feature, - version)" method is invoked with version equal to null. - If the version is not specified, supporting any version - feature will cause the method to return "true". - -* @author Curt Arnold -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-5CED94D7 -* @see http://www.w3.org/2000/11/DOM-Level-2-errata#core-14 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=245 -*/ -function hc_domimplementationfeaturenull() { - var success; - if(checkInitialization(builder, "hc_domimplementationfeaturenull") != null) return; - var doc; - var domImpl; - var state; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - domImpl = doc.implementation; - - if( - - (builder.contentType == "text/html") - - ) { - state = domImpl.hasFeature("HTML",null); -assertTrue("supports_HTML_null",state); - - } - - else { - state = domImpl.hasFeature("XML",null); -assertTrue("supports_XML_null",state); - - } - -} - - - - -function runTest() { - hc_domimplementationfeaturenull(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturexml.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturexml.js deleted file mode 100644 index acd4d37..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturexml.js +++ /dev/null @@ -1,125 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_domimplementationfeaturexml"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - Retrieve the entire DOM document and invoke its - "getImplementation()" method. This should create a - DOMImplementation object whose "hasFeature(feature, - version)" method is invoked with "feature" equal to "html" or "xml". - The method should return a boolean "true". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-5CED94D7 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=245 -*/ -function hc_domimplementationfeaturexml() { - var success; - if(checkInitialization(builder, "hc_domimplementationfeaturexml") != null) return; - var doc; - var domImpl; - var state; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - domImpl = doc.implementation; - - if( - - (builder.contentType == "text/html") - - ) { - state = domImpl.hasFeature("html","1.0"); -assertTrue("supports_html_1.0",state); - - } - - else { - state = domImpl.hasFeature("xml","1.0"); -assertTrue("supports_xml_1.0",state); - - } - -} - - - - -function runTest() { - hc_domimplementationfeaturexml(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementaddnewattribute.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementaddnewattribute.js deleted file mode 100644 index 90d483b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementaddnewattribute.js +++ /dev/null @@ -1,117 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementaddnewattribute"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "setAttribute(name,value)" method adds a new attribute - to the Element - - Retrieve the last child of the last employee, then - add an attribute to it by invoking the - "setAttribute(name,value)" method. It should create - a "strong" attribute with an assigned value equal to - "value". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68F082 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 -*/ -function hc_elementaddnewattribute() { - var success; - if(checkInitialization(builder, "hc_elementaddnewattribute") != null) return; - var doc; - var elementList; - var testEmployee; - var attrValue; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - testEmployee = elementList.item(4); - testEmployee.setAttribute("lang","EN-us"); - attrValue = testEmployee.getAttribute("lang"); - assertEquals("attrValue","EN-us",attrValue); - -} - - - - -function runTest() { - hc_elementaddnewattribute(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementchangeattributevalue.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementchangeattributevalue.js deleted file mode 100644 index 2777f22..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementchangeattributevalue.js +++ /dev/null @@ -1,119 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementchangeattributevalue"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "setAttribute(name,value)" method adds a new attribute - to the Element. If the "strong" is already present, then - its value should be changed to the new one that is in - the "value" parameter. - - Retrieve the last child of the fourth employee, then add - an attribute to it by invoking the - "setAttribute(name,value)" method. Since the name of the - used attribute("class") is already present in this - element, then its value should be changed to the new one - of the "value" parameter. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68F082 -*/ -function hc_elementchangeattributevalue() { - var success; - if(checkInitialization(builder, "hc_elementchangeattributevalue") != null) return; - var doc; - var elementList; - var testEmployee; - var attrValue; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - testEmployee = elementList.item(3); - testEmployee.setAttribute("class","Neither"); - attrValue = testEmployee.getAttribute("class"); - assertEquals("elementChangeAttributeValueAssert","Neither",attrValue); - -} - - - - -function runTest() { - hc_elementchangeattributevalue(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagname.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagname.js deleted file mode 100644 index bed6cfe..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagname.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementgetelementsbytagname"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -The "getElementsByTagName(name)" method returns a list -of all descendant Elements with the given tag name. -Test for an empty list. - -Create a NodeList of all the descendant elements -using the string "noMatch" as the tagName. -The method should return a NodeList whose length is -"0" since there are not any descendant elements -that match the given tag name. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1938918D -*/ -function hc_elementgetelementsbytagname() { - var success; - if(checkInitialization(builder, "hc_elementgetelementsbytagname") != null) return; - var doc; - var elementList; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("p"); - assertSize("elementGetElementsByTagNameAssert",5,elementList); - -} - - - - -function runTest() { - hc_elementgetelementsbytagname(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnameaccessnodelist.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnameaccessnodelist.js deleted file mode 100644 index cd53408..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnameaccessnodelist.js +++ /dev/null @@ -1,144 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementgetelementsbytagnameaccessnodelist"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -The "getElementsByTagName(name)" method returns a list -of all descendant Elements in the order the children -were encountered in a pre order traversal of the element -tree. - -Create a NodeList of all the descendant elements -using the string "p" as the tagName. -The method should return a NodeList whose length is -"5" in the order the children were encountered. -Access the FOURTH element in the NodeList. The FOURTH -element, the first or second should be an "em" node with -the content "EMP0004". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1938918D -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 -*/ -function hc_elementgetelementsbytagnameaccessnodelist() { - var success; - if(checkInitialization(builder, "hc_elementgetelementsbytagnameaccessnodelist") != null) return; - var doc; - var elementList; - var testEmployee; - var firstC; - var childName; - var nodeType; - var employeeIDNode; - var employeeID; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("p"); - testEmployee = elementList.item(3); - firstC = testEmployee.firstChild; - - nodeType = firstC.nodeType; - - - while( - (3 == nodeType) - ) { - firstC = firstC.nextSibling; - - nodeType = firstC.nodeType; - - - } -childName = firstC.nodeName; - - assertEqualsAutoCase("element", "childName","em",childName); - employeeIDNode = firstC.firstChild; - - employeeID = employeeIDNode.nodeValue; - - assertEquals("employeeID","EMP0004",employeeID); - -} - - - - -function runTest() { - hc_elementgetelementsbytagnameaccessnodelist(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamenomatch.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamenomatch.js deleted file mode 100644 index 941fd4a..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamenomatch.js +++ /dev/null @@ -1,110 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementgetelementsbytagnamenomatch"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -The "getElementsByTagName(name)" method returns a list -of all descendant Elements with the given tag name. - -Create a NodeList of all the descendant elements -using the string "employee" as the tagName. -The method should return a NodeList whose length is -"5". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1938918D -*/ -function hc_elementgetelementsbytagnamenomatch() { - var success; - if(checkInitialization(builder, "hc_elementgetelementsbytagnamenomatch") != null) return; - var doc; - var elementList; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("noMatch"); - assertSize("elementGetElementsByTagNameNoMatchNoMatchAssert",0,elementList); - -} - - - - -function runTest() { - hc_elementgetelementsbytagnamenomatch(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamespecialvalue.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamespecialvalue.js deleted file mode 100644 index 3b8c10d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamespecialvalue.js +++ /dev/null @@ -1,134 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementgetelementsbytagnamespecialvalue"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -The "getElementsByTagName(name)" method may use the -special value "*" to match all tags in the element -tree. - -Create a NodeList of all the descendant elements -of the last employee by using the special value "*". -The method should return all the descendant children(6) -in the order the children were encountered. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1938918D -*/ -function hc_elementgetelementsbytagnamespecialvalue() { - var success; - if(checkInitialization(builder, "hc_elementgetelementsbytagnamespecialvalue") != null) return; - var doc; - var elementList; - var lastEmployee; - var lastempList; - var child; - var childName; - var result = new Array(); - - expectedResult = new Array(); - expectedResult[0] = "em"; - expectedResult[1] = "strong"; - expectedResult[2] = "code"; - expectedResult[3] = "sup"; - expectedResult[4] = "var"; - expectedResult[5] = "acronym"; - - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("p"); - lastEmployee = elementList.item(4); - lastempList = lastEmployee.getElementsByTagName("*"); - for(var indexN10067 = 0;indexN10067 < lastempList.length; indexN10067++) { - child = lastempList.item(indexN10067); - childName = child.nodeName; - - result[result.length] = childName; - - } - assertEqualsListAutoCase("element", "tagNames",expectedResult,result); - -} - - - - -function runTest() { - hc_elementgetelementsbytagnamespecialvalue(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgettagname.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgettagname.js deleted file mode 100644 index 567d234..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgettagname.js +++ /dev/null @@ -1,123 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementgettagname"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - Invoke the "getTagName()" method one the - root node. The value returned should be "html" or "svg". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-104682815 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=251 -*/ -function hc_elementgettagname() { - var success; - if(checkInitialization(builder, "hc_elementgettagname") != null) return; - var doc; - var root; - var tagname; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - root = doc.documentElement; - - tagname = root.tagName; - - - if( - - (builder.contentType == "image/svg+xml") - - ) { - assertEquals("svgTagname","svg",tagname); - - } - - else { - assertEqualsAutoCase("element", "tagname","html",tagname); - - } - -} - - - - -function runTest() { - hc_elementgettagname(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception.js deleted file mode 100644 index 4d581a3..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception.js +++ /dev/null @@ -1,125 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementinvalidcharacterexception"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "setAttribute(name,value)" method raises an - "INVALID_CHARACTER_ERR DOMException if the specified - name contains an invalid character. - - Retrieve the last child of the first employee and - call its "setAttribute(name,value)" method with - "strong" containing an invalid character. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68F082 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-F68F082')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR']) -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 -*/ -function hc_elementinvalidcharacterexception() { - var success; - if(checkInitialization(builder, "hc_elementinvalidcharacterexception") != null) return; - var doc; - var elementList; - var testAddress; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - testAddress = elementList.item(0); - - { - success = false; - try { - testAddress.setAttribute("invalid^Name","value"); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 5); - } - assertTrue("throw_INVALID_CHARACTER_ERR",success); - } - -} - - - - -function runTest() { - hc_elementinvalidcharacterexception(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception1.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception1.js deleted file mode 100644 index 5376968..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception1.js +++ /dev/null @@ -1,119 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementinvalidcharacterexception1"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Calling Element.setAttribute with an empty name will cause an INVALID_CHARACTER_ERR. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68F082 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-F68F082')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR']) -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=525 -*/ -function hc_elementinvalidcharacterexception1() { - var success; - if(checkInitialization(builder, "hc_elementinvalidcharacterexception1") != null) return; - var doc; - var elementList; - var testAddress; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - testAddress = elementList.item(0); - - { - success = false; - try { - testAddress.setAttribute("","value"); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 5); - } - assertTrue("throw_INVALID_CHARACTER_ERR",success); - } - -} - - - - -function runTest() { - hc_elementinvalidcharacterexception1(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementnormalize.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementnormalize.js deleted file mode 100644 index c00a5bc..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementnormalize.js +++ /dev/null @@ -1,126 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementnormalize"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Append a couple of text nodes to the first sup element, normalize the -document element and check that the element has been normalized. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-162CF083 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=546 -*/ -function hc_elementnormalize() { - var success; - if(checkInitialization(builder, "hc_elementnormalize") != null) return; - var doc; - var root; - var elementList; - var testName; - var firstChild; - var childValue; - var textNode; - var retNode; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("sup"); - testName = elementList.item(0); - textNode = doc.createTextNode(""); - retNode = testName.appendChild(textNode); - textNode = doc.createTextNode(",000"); - retNode = testName.appendChild(textNode); - root = doc.documentElement; - - root.normalize(); - elementList = doc.getElementsByTagName("sup"); - testName = elementList.item(0); - firstChild = testName.firstChild; - - childValue = firstChild.nodeValue; - - assertEquals("elementNormalizeAssert","56,000,000",childValue); - -} - - - - -function runTest() { - hc_elementnormalize(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementremoveattribute.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementremoveattribute.js deleted file mode 100644 index 136b4a1..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementremoveattribute.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementremoveattribute"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "removeAttribute(name)" removes an attribute by name. - If the attribute has a default value, it is immediately - replaced. However, there is no default values in the HTML - compatible tests, so its value is "". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6D6AC0F9 -* @see http://lists.w3.org/Archives/Public/www-dom-ts/2002Mar/0002.html -*/ -function hc_elementremoveattribute() { - var success; - if(checkInitialization(builder, "hc_elementremoveattribute") != null) return; - var doc; - var elementList; - var testEmployee; - var attrValue; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - testEmployee = elementList.item(3); - testEmployee.removeAttribute("class"); - attrValue = testEmployee.getAttribute("class"); - assertEquals("attrValue",null,attrValue); //XXX Domino returns null as WebKit and FF do - -} - - - - -function runTest() { - hc_elementremoveattribute(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementretrieveallattributes.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementretrieveallattributes.js deleted file mode 100644 index 585b2ce..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementretrieveallattributes.js +++ /dev/null @@ -1,144 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementretrieveallattributes"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - Create a list of all the attributes of the last child - of the first "p" element by using the "getAttributes()" - method. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 -* @see http://lists.w3.org/Archives/Public/www-dom-ts/2002Mar/0002.html -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=184 -*/ -function hc_elementretrieveallattributes() { - var success; - if(checkInitialization(builder, "hc_elementretrieveallattributes") != null) return; - var doc; - var addressList; - var testAddress; - var attributes; - var attribute; - var attributeName; - var actual = new Array(); - - htmlExpected = new Array(); - htmlExpected[0] = "title"; - - expected = new Array(); - expected[0] = "title"; - expected[1] = "dir"; - - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - addressList = doc.getElementsByTagName("acronym"); - testAddress = addressList.item(0); - attributes = testAddress.attributes; - - for(var indexN1006B = 0;indexN1006B < attributes.length; indexN1006B++) { - attribute = attributes.item(indexN1006B); - attributeName = attribute.name; - - actual[actual.length] = attributeName; - - } - - if( - - (builder.contentType == "text/html") - - ) { - assertEqualsCollection("htmlAttributeNames",toLowerArray(htmlExpected),toLowerArray(actual)); - - } - - else { - assertEqualsCollection("attributeNames",toLowerArray(expected),toLowerArray(actual)); - - } - -} - - - - -function runTest() { - hc_elementretrieveallattributes(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementretrieveattrvalue.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementretrieveattrvalue.js deleted file mode 100644 index 288afcd..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementretrieveattrvalue.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementretrieveattrvalue"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "getAttribute(name)" method returns an attribute - value by name. - - Retrieve the second address element, then - invoke the 'getAttribute("class")' method. This should - return the value of the attribute("No"). - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-666EE0F9 -*/ -function hc_elementretrieveattrvalue() { - var success; - if(checkInitialization(builder, "hc_elementretrieveattrvalue") != null) return; - var doc; - var elementList; - var testAddress; - var attrValue; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - testAddress = elementList.item(2); - attrValue = testAddress.getAttribute("class"); - assertEquals("attrValue","No",attrValue); - -} - - - - -function runTest() { - hc_elementretrieveattrvalue(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementretrievetagname.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementretrievetagname.js deleted file mode 100644 index 9208b54..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementretrievetagname.js +++ /dev/null @@ -1,118 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementretrievetagname"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "getElementsByTagName()" method returns a NodeList - of all descendant elements with a given tagName. - - Invoke the "getElementsByTagName()" method and create - a NodeList of "code" elements. Retrieve the second - "code" element in the list and return the NodeName. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-104682815 -*/ -function hc_elementretrievetagname() { - var success; - if(checkInitialization(builder, "hc_elementretrievetagname") != null) return; - var doc; - var elementList; - var testEmployee; - var strong; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("code"); - testEmployee = elementList.item(1); - strong = testEmployee.nodeName; - - assertEqualsAutoCase("element", "nodename","code",strong); - strong = testEmployee.tagName; - - assertEqualsAutoCase("element", "tagname","code",strong); - -} - - - - -function runTest() { - hc_elementretrievetagname(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_entitiesremovenameditem1.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_entitiesremovenameditem1.js deleted file mode 100644 index 54ca9ff..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_entitiesremovenameditem1.js +++ /dev/null @@ -1,133 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_entitiesremovenameditem1"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - checkFeature("XML", null); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -An attempt to add remove an entity should result in a NO_MODIFICATION_ERR. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1788794630 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D58B193 -*/ -function hc_entitiesremovenameditem1() { - var success; - if(checkInitialization(builder, "hc_entitiesremovenameditem1") != null) return; - var doc; - var entities; - var docType; - var retval; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - docType = doc.doctype; - - - if( - - !( - (builder.contentType == "text/html") -) - - ) { - assertNotNull("docTypeNotNull",docType); -entities = docType.entities; - - assertNotNull("entitiesNotNull",entities); - - { - success = false; - try { - retval = entities.removeNamedItem("alpha"); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 7); - } - assertTrue("throw_NO_MODIFICATION_ALLOWED_ERR",success); - } - - } - -} - - - - -function runTest() { - hc_entitiesremovenameditem1(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_entitiessetnameditem1.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_entitiessetnameditem1.js deleted file mode 100644 index 17876c0..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_entitiessetnameditem1.js +++ /dev/null @@ -1,144 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_entitiessetnameditem1"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - checkFeature("XML", null); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -An attempt to add an element to the named node map returned by entities should -result in a NO_MODIFICATION_ERR or HIERARCHY_REQUEST_ERR. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1788794630 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788 -*/ -function hc_entitiessetnameditem1() { - var success; - if(checkInitialization(builder, "hc_entitiessetnameditem1") != null) return; - var doc; - var entities; - var docType; - var retval; - var elem; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - docType = doc.doctype; - - - if( - - !( - (builder.contentType == "text/html") -) - - ) { - assertNotNull("docTypeNotNull",docType); -entities = docType.entities; - - assertNotNull("entitiesNotNull",entities); -elem = doc.createElement("br"); - - try { - retval = entities.setNamedItem(elem); - fail("throw_HIER_OR_NO_MOD_ERR"); - - } catch (ex) { - if (typeof(ex.code) != 'undefined') { - switch(ex.code) { - case /* HIERARCHY_REQUEST_ERR */ 3 : - break; - case /* NO_MODIFICATION_ALLOWED_ERR */ 7 : - break; - default: - throw ex; - } - } else { - throw ex; - } - } - - } - -} - - - - -function runTest() { - hc_entitiessetnameditem1(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_namednodemapchildnoderange.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_namednodemapchildnoderange.js deleted file mode 100644 index d70da8d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_namednodemapchildnoderange.js +++ /dev/null @@ -1,141 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapchildnoderange"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - Create a NamedNodeMap object from the attributes of the - last child of the third "p" element and traverse the - list from index 0 thru length -1. All indices should - be valid. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6D0FB19E -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=250 -*/ -function hc_namednodemapchildnoderange() { - var success; - if(checkInitialization(builder, "hc_namednodemapchildnoderange") != null) return; - var doc; - var elementList; - var testEmployee; - var attributes; - var child; - var strong; - var length; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - testEmployee = elementList.item(2); - attributes = testEmployee.attributes; - - length = attributes.length; - - - if( - - (builder.contentType == "text/html") - - ) { - assertEquals("htmlLength",2,length); - - } - - else { - assertEquals("length",3,length); - child = attributes.item(2); - assertNotNull("attr2",child); - - } - child = attributes.item(0); - assertNotNull("attr0",child); -child = attributes.item(1); - assertNotNull("attr1",child); -child = attributes.item(3); - assertNull("attr3",child); - -} - - - - -function runTest() { - hc_namednodemapchildnoderange(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_namednodemapnumberofnodes.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_namednodemapnumberofnodes.js deleted file mode 100644 index b703b21..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_namednodemapnumberofnodes.js +++ /dev/null @@ -1,127 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapnumberofnodes"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - Retrieve the second "p" element and evaluate Node.attributes.length. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6D0FB19E -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=250 -*/ -function hc_namednodemapnumberofnodes() { - var success; - if(checkInitialization(builder, "hc_namednodemapnumberofnodes") != null) return; - var doc; - var elementList; - var testEmployee; - var attributes; - var length; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - testEmployee = elementList.item(2); - attributes = testEmployee.attributes; - - length = attributes.length; - - - if( - - (builder.contentType == "text/html") - - ) { - assertEquals("htmlLength",2,length); - - } - - else { - assertEquals("length",3,length); - - } - -} - - - - -function runTest() { - hc_namednodemapnumberofnodes(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchild.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchild.js deleted file mode 100644 index 0da5325..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchild.js +++ /dev/null @@ -1,123 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeappendchild"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - Retrieve the second "p" and append a "br" Element - node to the list of children. The last node in the list - is then retrieved and its NodeName examined. The - "getNodeName()" method should return "br". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 -*/ -function hc_nodeappendchild() { - var success; - if(checkInitialization(builder, "hc_nodeappendchild") != null) return; - var doc; - var elementList; - var employeeNode; - var childList; - var createdNode; - var lchild; - var childName; - var appendedChild; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("p"); - employeeNode = elementList.item(1); - childList = employeeNode.childNodes; - - createdNode = doc.createElement("br"); - appendedChild = employeeNode.appendChild(createdNode); - lchild = employeeNode.lastChild; - - childName = lchild.nodeName; - - assertEqualsAutoCase("element", "nodeName","br",childName); - -} - - - - -function runTest() { - hc_nodeappendchild(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildchildexists.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildchildexists.js deleted file mode 100644 index 2c95d9f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildchildexists.js +++ /dev/null @@ -1,160 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeappendchildchildexists"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - If the "newChild" is already in the tree, it is first - removed before the new one is appended. - - Retrieve the "em" second employee and - append the first child to the end of the list. After - the "appendChild(newChild)" method is invoked the first - child should be the one that was second and the last - child should be the one that was first. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 -*/ -function hc_nodeappendchildchildexists() { - var success; - if(checkInitialization(builder, "hc_nodeappendchildchildexists") != null) return; - var doc; - var elementList; - var childList; - var childNode; - var newChild; - var memberNode; - var memberName; - var refreshedActual = new Array(); - - var actual = new Array(); - - var nodeType; - expected = new Array(); - expected[0] = "strong"; - expected[1] = "code"; - expected[2] = "sup"; - expected[3] = "var"; - expected[4] = "acronym"; - expected[5] = "em"; - - var appendedChild; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("p"); - childNode = elementList.item(1); - childList = childNode.getElementsByTagName("*"); - newChild = childList.item(0); - appendedChild = childNode.appendChild(newChild); - for(var indexN10085 = 0;indexN10085 < childList.length; indexN10085++) { - memberNode = childList.item(indexN10085); - memberName = memberNode.nodeName; - - actual[actual.length] = memberName; - - } - assertEqualsListAutoCase("element", "liveByTagName",expected,actual); - childList = childNode.childNodes; - - for(var indexN1009C = 0;indexN1009C < childList.length; indexN1009C++) { - memberNode = childList.item(indexN1009C); - nodeType = memberNode.nodeType; - - - if( - (1 == nodeType) - ) { - memberName = memberNode.nodeName; - - refreshedActual[refreshedActual.length] = memberName; - - } - - } - assertEqualsListAutoCase("element", "refreshedChildNodes",expected,refreshedActual); - -} - - - - -function runTest() { - hc_nodeappendchildchildexists(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchilddocfragment.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchilddocfragment.js deleted file mode 100644 index f1b95ea..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchilddocfragment.js +++ /dev/null @@ -1,158 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeappendchilddocfragment"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - If the "newChild" is a DocumentFragment object then - all its content is added to the child list of this node. - - Create and populate a new DocumentFragment object and - append it to the second employee. After the - "appendChild(newChild)" method is invoked retrieve the - new nodes at the end of the list, they should be the - two Element nodes from the DocumentFragment. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 -*/ -function hc_nodeappendchilddocfragment() { - var success; - if(checkInitialization(builder, "hc_nodeappendchilddocfragment") != null) return; - var doc; - var elementList; - var employeeNode; - var childList; - var newdocFragment; - var newChild1; - var newChild2; - var child; - var childName; - var result = new Array(); - - var appendedChild; - var nodeType; - expected = new Array(); - expected[0] = "em"; - expected[1] = "strong"; - expected[2] = "code"; - expected[3] = "sup"; - expected[4] = "var"; - expected[5] = "acronym"; - expected[6] = "br"; - expected[7] = "b"; - - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("p"); - employeeNode = elementList.item(1); - childList = employeeNode.childNodes; - - newdocFragment = doc.createDocumentFragment(); - newChild1 = doc.createElement("br"); - newChild2 = doc.createElement("b"); - appendedChild = newdocFragment.appendChild(newChild1); - appendedChild = newdocFragment.appendChild(newChild2); - appendedChild = employeeNode.appendChild(newdocFragment); - for(var indexN100A2 = 0;indexN100A2 < childList.length; indexN100A2++) { - child = childList.item(indexN100A2); - nodeType = child.nodeType; - - - if( - (1 == nodeType) - ) { - childName = child.nodeName; - - result[result.length] = childName; - - } - - } - assertEqualsListAutoCase("element", "nodeNames",expected,result); - -} - - - - -function runTest() { - hc_nodeappendchilddocfragment(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildgetnodename.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildgetnodename.js deleted file mode 100644 index f7499c5..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildgetnodename.js +++ /dev/null @@ -1,123 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeappendchildgetnodename"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "appendChild(newChild)" method returns the node - added. - - Append a newly created node to the child list of the - second employee and check the NodeName returned. The - "getNodeName()" method should return "br". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 -*/ -function hc_nodeappendchildgetnodename() { - var success; - if(checkInitialization(builder, "hc_nodeappendchildgetnodename") != null) return; - var doc; - var elementList; - var employeeNode; - var childList; - var newChild; - var appendNode; - var childName; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("p"); - employeeNode = elementList.item(1); - childList = employeeNode.childNodes; - - newChild = doc.createElement("br"); - appendNode = employeeNode.appendChild(newChild); - childName = appendNode.nodeName; - - assertEqualsAutoCase("element", "nodeName","br",childName); - -} - - - - -function runTest() { - hc_nodeappendchildgetnodename(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnewchilddiffdocument.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnewchilddiffdocument.js deleted file mode 100644 index 1be650b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnewchilddiffdocument.js +++ /dev/null @@ -1,144 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeappendchildnewchilddiffdocument"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var doc1Ref = null; - if (typeof(this.doc1) != 'undefined') { - doc1Ref = this.doc1; - } - docsLoaded += preload(doc1Ref, "doc1", "hc_staff"); - - var doc2Ref = null; - if (typeof(this.doc2) != 'undefined') { - doc2Ref = this.doc2; - } - docsLoaded += preload(doc2Ref, "doc2", "hc_staff"); - - if (docsLoaded == 2) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 2) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "appendChild(newChild)" method raises a - WRONG_DOCUMENT_ERR DOMException if the "newChild" was - created from a different document than the one that - created this node. - - Retrieve the second employee and attempt to append - a node created from a different document. An attempt - to make such a replacement should raise the desired - exception. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NOT_FOUND_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-184E7107')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NOT_FOUND_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 -*/ -function hc_nodeappendchildnewchilddiffdocument() { - var success; - if(checkInitialization(builder, "hc_nodeappendchildnewchilddiffdocument") != null) return; - var doc1; - var doc2; - var newChild; - var elementList; - var elementNode; - var appendedChild; - - var doc1Ref = null; - if (typeof(this.doc1) != 'undefined') { - doc1Ref = this.doc1; - } - doc1 = load(doc1Ref, "doc1", "hc_staff"); - - var doc2Ref = null; - if (typeof(this.doc2) != 'undefined') { - doc2Ref = this.doc2; - } - doc2 = load(doc2Ref, "doc2", "hc_staff"); - newChild = doc1.createElement("br"); - elementList = doc2.getElementsByTagName("p"); - elementNode = elementList.item(1); - - { - success = false; - try { - appendedChild = elementNode.appendChild(newChild); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 4); - } - assertTrue("throw_WRONG_DOCUMENT_ERR",success); - } - -} - - - - -function runTest() { - hc_nodeappendchildnewchilddiffdocument(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnodeancestor.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnodeancestor.js deleted file mode 100644 index a8ba817..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnodeancestor.js +++ /dev/null @@ -1,132 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeappendchildnodeancestor"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "appendChild(newChild)" method raises a - HIERARCHY_REQUEST_ERR DOMException if the node to - append is one of this node's ancestors. - - Retrieve the second employee and attempt to append - an ancestor node(root node) to it. - An attempt to make such an addition should raise the - desired exception. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='HIERARCHY_REQUEST_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-184E7107')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='HIERARCHY_REQUEST_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 -*/ -function hc_nodeappendchildnodeancestor() { - var success; - if(checkInitialization(builder, "hc_nodeappendchildnodeancestor") != null) return; - var doc; - var newChild; - var elementList; - var employeeNode; - var childList; - var oldChild; - var appendedChild; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - newChild = doc.documentElement; - - elementList = doc.getElementsByTagName("p"); - employeeNode = elementList.item(1); - - { - success = false; - try { - appendedChild = employeeNode.appendChild(newChild); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 3); - } - assertTrue("throw_HIERARCHY_REQUEST_ERR",success); - } - -} - - - - -function runTest() { - hc_nodeappendchildnodeancestor(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeattributenodeattribute.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeattributenodeattribute.js deleted file mode 100644 index e8443db..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeattributenodeattribute.js +++ /dev/null @@ -1,120 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeattributenodeattribute"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -The "getAttributes()" method invoked on an Attribute -Node returns null. - -Retrieve the first attribute from the last child of the -first employee and invoke the "getAttributes()" method -on the Attribute Node. It should return null. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 -*/ -function hc_nodeattributenodeattribute() { - var success; - if(checkInitialization(builder, "hc_nodeattributenodeattribute") != null) return; - var doc; - var elementList; - var testAddr; - var addrAttr; - var attrNode; - var attrList; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - testAddr = elementList.item(0); - addrAttr = testAddr.attributes; - - attrNode = addrAttr.item(0); - attrList = attrNode.attributes; - - assertNull("nodeAttributeNodeAttributeAssert1",attrList); - -} - - - - -function runTest() { - hc_nodeattributenodeattribute(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodechildnodes.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodechildnodes.js deleted file mode 100644 index 855ec35..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodechildnodes.js +++ /dev/null @@ -1,149 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodechildnodes"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - - The "getChildNodes()" method returns a NodeList - that contains all children of this node. - - Retrieve the second employee and check the NodeList - returned by the "getChildNodes()" method. The - length of the list should be 13. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1451460987 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 -*/ -function hc_nodechildnodes() { - var success; - if(checkInitialization(builder, "hc_nodechildnodes") != null) return; - var doc; - var elementList; - var employeeNode; - var childNode; - var childNodes; - var nodeType; - var childName; - var actual = new Array(); - - expected = new Array(); - expected[0] = "em"; - expected[1] = "strong"; - expected[2] = "code"; - expected[3] = "sup"; - expected[4] = "var"; - expected[5] = "acronym"; - - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("p"); - employeeNode = elementList.item(1); - childNodes = employeeNode.childNodes; - - for(var indexN1006C = 0;indexN1006C < childNodes.length; indexN1006C++) { - childNode = childNodes.item(indexN1006C); - nodeType = childNode.nodeType; - - childName = childNode.nodeName; - - - if( - (1 == nodeType) - ) { - actual[actual.length] = childName; - - } - - else { - assertEquals("textNodeType",3,nodeType); - - } - - } - assertEqualsListAutoCase("element", "elementNames",expected,actual); - -} - - - - -function runTest() { - hc_nodechildnodes(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesappendchild.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesappendchild.js deleted file mode 100644 index a262e24..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesappendchild.js +++ /dev/null @@ -1,159 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodechildnodesappendchild"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The NodeList returned by the "getChildNodes()" method - is live. Changes on the node's children are immediately - reflected on the nodes returned in the NodeList. - - Create a NodeList of the children of the second employee - and then add a newly created element that was created - by the "createElement()" method(Document Interface) to - the second employee by using the "appendChild()" method. - The length of the NodeList should reflect this new - addition to the child list. It should return the value 14. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1451460987 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 -*/ -function hc_nodechildnodesappendchild() { - var success; - if(checkInitialization(builder, "hc_nodechildnodesappendchild") != null) return; - var doc; - var elementList; - var employeeNode; - var childList; - var createdNode; - var childNode; - var childName; - var childType; - var textNode; - var actual = new Array(); - - expected = new Array(); - expected[0] = "em"; - expected[1] = "strong"; - expected[2] = "code"; - expected[3] = "sup"; - expected[4] = "var"; - expected[5] = "acronym"; - expected[6] = "br"; - - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("p"); - employeeNode = elementList.item(1); - childList = employeeNode.childNodes; - - createdNode = doc.createElement("br"); - employeeNode = employeeNode.appendChild(createdNode); - for(var indexN10087 = 0;indexN10087 < childList.length; indexN10087++) { - childNode = childList.item(indexN10087); - childName = childNode.nodeName; - - childType = childNode.nodeType; - - - if( - (1 == childType) - ) { - actual[actual.length] = childName; - - } - - else { - assertEquals("textNodeType",3,childType); - - } - - } - assertEqualsListAutoCase("element", "childElements",expected,actual); - -} - - - - -function runTest() { - hc_nodechildnodesappendchild(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesempty.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesempty.js deleted file mode 100644 index 612307c..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesempty.js +++ /dev/null @@ -1,123 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodechildnodesempty"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "getChildNodes()" method returns a NodeList - that contains all children of this node. If there - are not any children, this is a NodeList that does not - contain any nodes. - - Retrieve the character data of the second "em" node and - invoke the "getChildNodes()" method. The - NodeList returned should not have any nodes. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1451460987 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 -*/ -function hc_nodechildnodesempty() { - var success; - if(checkInitialization(builder, "hc_nodechildnodesempty") != null) return; - var doc; - var elementList; - var childList; - var employeeNode; - var textNode; - var length; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("em"); - employeeNode = elementList.item(1); - textNode = employeeNode.firstChild; - - childList = textNode.childNodes; - - length = childList.length; - - assertEquals("length_zero",0,length); - -} - - - - -function runTest() { - hc_nodechildnodesempty(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecloneattributescopied.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecloneattributescopied.js deleted file mode 100644 index 86f04da..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecloneattributescopied.js +++ /dev/null @@ -1,149 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodecloneattributescopied"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - Retrieve the second acronym element and invoke - the cloneNode method. The - duplicate node returned by the method should copy the - attributes associated with this node. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=184 -*/ -function hc_nodecloneattributescopied() { - var success; - if(checkInitialization(builder, "hc_nodecloneattributescopied") != null) return; - var doc; - var elementList; - var addressNode; - var clonedNode; - var attributes; - var attributeNode; - var attributeName; - var result = new Array(); - - htmlExpected = new Array(); - htmlExpected[0] = "class"; - htmlExpected[1] = "title"; - - expected = new Array(); - expected[0] = "class"; - expected[1] = "title"; - expected[2] = "dir"; - - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - addressNode = elementList.item(1); - clonedNode = addressNode.cloneNode(false); - attributes = clonedNode.attributes; - - for(var indexN10076 = 0;indexN10076 < attributes.length; indexN10076++) { - attributeNode = attributes.item(indexN10076); - attributeName = attributeNode.name; - - result[result.length] = attributeName; - - } - - if( - - (builder.contentType == "text/html") - - ) { - assertEqualsCollection("nodeNames_html",toLowerArray(htmlExpected),toLowerArray(result)); - - } - - else { - assertEqualsCollection("nodeNames",expected,result); - - } - -} - - - - -function runTest() { - hc_nodecloneattributescopied(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonefalsenocopytext.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonefalsenocopytext.js deleted file mode 100644 index 8d41464..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonefalsenocopytext.js +++ /dev/null @@ -1,122 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeclonefalsenocopytext"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "cloneNode(deep)" method does not copy text unless it - is deep cloned.(Test for deep=false) - - Retrieve the fourth child of the second employee and - the "cloneNode(deep)" method with deep=false. The - duplicate node returned by the method should not copy - any text data contained in this node. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3A0ED0A4 -*/ -function hc_nodeclonefalsenocopytext() { - var success; - if(checkInitialization(builder, "hc_nodeclonefalsenocopytext") != null) return; - var doc; - var elementList; - var employeeNode; - var childList; - var childNode; - var clonedNode; - var lastChildNode; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("p"); - employeeNode = elementList.item(1); - childList = employeeNode.childNodes; - - childNode = childList.item(3); - clonedNode = childNode.cloneNode(false); - lastChildNode = clonedNode.lastChild; - - assertNull("nodeCloneFalseNoCopyTextAssert1",lastChildNode); - -} - - - - -function runTest() { - hc_nodeclonefalsenocopytext(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonegetparentnull.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonegetparentnull.js deleted file mode 100644 index ab52c8a..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonegetparentnull.js +++ /dev/null @@ -1,117 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeclonegetparentnull"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The duplicate node returned by the "cloneNode(deep)" - method does not have a ParentNode. - - Retrieve the second employee and invoke the - "cloneNode(deep)" method with deep=false. The - duplicate node returned should return null when the - "getParentNode()" is invoked. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3A0ED0A4 -*/ -function hc_nodeclonegetparentnull() { - var success; - if(checkInitialization(builder, "hc_nodeclonegetparentnull") != null) return; - var doc; - var elementList; - var employeeNode; - var clonedNode; - var parentNode; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("p"); - employeeNode = elementList.item(1); - clonedNode = employeeNode.cloneNode(false); - parentNode = clonedNode.parentNode; - - assertNull("nodeCloneGetParentNullAssert1",parentNode); - -} - - - - -function runTest() { - hc_nodeclonegetparentnull(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodefalse.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodefalse.js deleted file mode 100644 index 7d48edf..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodefalse.js +++ /dev/null @@ -1,126 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeclonenodefalse"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "cloneNode(deep)" method returns a copy of the node - only if deep=false. - - Retrieve the second employee and invoke the - "cloneNode(deep)" method with deep=false. The - method should only clone this node. The NodeName and - length of the NodeList are checked. The "getNodeName()" - method should return "employee" and the "getLength()" - method should return 0. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3A0ED0A4 -*/ -function hc_nodeclonenodefalse() { - var success; - if(checkInitialization(builder, "hc_nodeclonenodefalse") != null) return; - var doc; - var elementList; - var employeeNode; - var clonedNode; - var cloneName; - var cloneChildren; - var length; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("p"); - employeeNode = elementList.item(1); - clonedNode = employeeNode.cloneNode(false); - cloneName = clonedNode.nodeName; - - assertEqualsAutoCase("element", "strong","p",cloneName); - cloneChildren = clonedNode.childNodes; - - length = cloneChildren.length; - - assertEquals("length",0,length); - -} - - - - -function runTest() { - hc_nodeclonenodefalse(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodetrue.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodetrue.js deleted file mode 100644 index 5eba8cd..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodetrue.js +++ /dev/null @@ -1,145 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeclonenodetrue"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "cloneNode(deep)" method returns a copy of the node - and the subtree under it if deep=true. - - Retrieve the second employee and invoke the - "cloneNode(deep)" method with deep=true. The - method should clone this node and the subtree under it. - The NodeName of each child in the returned node is - checked to insure the entire subtree under the second - employee was cloned. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3A0ED0A4 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 -*/ -function hc_nodeclonenodetrue() { - var success; - if(checkInitialization(builder, "hc_nodeclonenodetrue") != null) return; - var doc; - var elementList; - var employeeNode; - var clonedNode; - var clonedList; - var clonedChild; - var clonedChildName; - var origList; - var origChild; - var origChildName; - var result = new Array(); - - var expected = new Array(); - - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("p"); - employeeNode = elementList.item(1); - origList = employeeNode.childNodes; - - for(var indexN10065 = 0;indexN10065 < origList.length; indexN10065++) { - origChild = origList.item(indexN10065); - origChildName = origChild.nodeName; - - expected[expected.length] = origChildName; - - } - clonedNode = employeeNode.cloneNode(true); - clonedList = clonedNode.childNodes; - - for(var indexN1007B = 0;indexN1007B < clonedList.length; indexN1007B++) { - clonedChild = clonedList.item(indexN1007B); - clonedChildName = clonedChild.nodeName; - - result[result.length] = clonedChildName; - - } - assertEqualsList("clone",expected,result); - -} - - - - -function runTest() { - hc_nodeclonenodetrue(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonetruecopytext.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonetruecopytext.js deleted file mode 100644 index c12370b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonetruecopytext.js +++ /dev/null @@ -1,121 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeclonetruecopytext"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "cloneNode(deep)" method does not copy text unless it - is deep cloned.(Test for deep=true) - - Retrieve the eighth child of the second employee and - the "cloneNode(deep)" method with deep=true. The - duplicate node returned by the method should copy - any text data contained in this node. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3A0ED0A4 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 -*/ -function hc_nodeclonetruecopytext() { - var success; - if(checkInitialization(builder, "hc_nodeclonetruecopytext") != null) return; - var doc; - var elementList; - var childNode; - var clonedNode; - var lastChildNode; - var childValue; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("sup"); - childNode = elementList.item(1); - clonedNode = childNode.cloneNode(true); - lastChildNode = clonedNode.lastChild; - - childValue = lastChildNode.nodeValue; - - assertEquals("cloneContainsText","35,000",childValue); - -} - - - - -function runTest() { - hc_nodeclonetruecopytext(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodeattributes.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodeattributes.js deleted file mode 100644 index 7e3e2e9..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodeattributes.js +++ /dev/null @@ -1,135 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodecommentnodeattributes"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "getAttributes()" method invoked on a Comment - Node returns null. - - Find any comment that is an immediate child of the root - and assert that Node.attributes is null. Then create - a new comment node (in case they had been omitted) and - make the assertion. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1728279322 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=248 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=263 -*/ -function hc_nodecommentnodeattributes() { - var success; - if(checkInitialization(builder, "hc_nodecommentnodeattributes") != null) return; - var doc; - var commentNode; - var nodeList; - var attrList; - var nodeType; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - nodeList = doc.childNodes; - - for(var indexN10043 = 0;indexN10043 < nodeList.length; indexN10043++) { - commentNode = nodeList.item(indexN10043); - nodeType = commentNode.nodeType; - - - if( - (8 == nodeType) - ) { - attrList = commentNode.attributes; - - assertNull("existingCommentAttributesNull",attrList); - - } - - } - commentNode = doc.createComment("This is a comment"); - attrList = commentNode.attributes; - - assertNull("createdCommentAttributesNull",attrList); - -} - - - - -function runTest() { - hc_nodecommentnodeattributes(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodename.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodename.js deleted file mode 100644 index de7013a..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodename.js +++ /dev/null @@ -1,134 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodecommentnodename"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The string returned by the "getNodeName()" method for a - Comment Node is "#comment". - - Retrieve the Comment node in the XML file - and check the string returned by the "getNodeName()" - method. It should be equal to "#comment". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1728279322 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=248 -*/ -function hc_nodecommentnodename() { - var success; - if(checkInitialization(builder, "hc_nodecommentnodename") != null) return; - var doc; - var elementList; - var commentNode; - var nodeType; - var commentName; - var commentNodeName; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.childNodes; - - for(var indexN10044 = 0;indexN10044 < elementList.length; indexN10044++) { - commentNode = elementList.item(indexN10044); - nodeType = commentNode.nodeType; - - - if( - (8 == nodeType) - ) { - commentNodeName = commentNode.nodeName; - - assertEquals("existingNodeName","#comment",commentNodeName); - - } - - } - commentNode = doc.createComment("This is a comment"); - commentNodeName = commentNode.nodeName; - - assertEquals("createdNodeName","#comment",commentNodeName); - -} - - - - -function runTest() { - hc_nodecommentnodename(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodetype.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodetype.js deleted file mode 100644 index 168b918..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodetype.js +++ /dev/null @@ -1,133 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodecommentnodetype"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "getNodeType()" method for a Comment Node - returns the constant value 8. - - Retrieve the nodes from the document and check for - a comment node and invoke the "getNodeType()" method. This should - return 8. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1728279322 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=248 -*/ -function hc_nodecommentnodetype() { - var success; - if(checkInitialization(builder, "hc_nodecommentnodetype") != null) return; - var doc; - var testList; - var commentNode; - var commentNodeName; - var nodeType; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - testList = doc.childNodes; - - for(var indexN10040 = 0;indexN10040 < testList.length; indexN10040++) { - commentNode = testList.item(indexN10040); - commentNodeName = commentNode.nodeName; - - - if( - ("#comment" == commentNodeName) - ) { - nodeType = commentNode.nodeType; - - assertEquals("existingCommentNodeType",8,nodeType); - - } - - } - commentNode = doc.createComment("This is a comment"); - nodeType = commentNode.nodeType; - - assertEquals("createdCommentNodeType",8,nodeType); - -} - - - - -function runTest() { - hc_nodecommentnodetype(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodevalue.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodevalue.js deleted file mode 100644 index 64e35b2..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodevalue.js +++ /dev/null @@ -1,133 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodecommentnodevalue"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The string returned by the "getNodeValue()" method for a - Comment Node is the content of the comment. - - Retrieve the comment in the XML file and - check the string returned by the "getNodeValue()" method. - It should be equal to "This is comment number 1". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1728279322 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=248 -*/ -function hc_nodecommentnodevalue() { - var success; - if(checkInitialization(builder, "hc_nodecommentnodevalue") != null) return; - var doc; - var elementList; - var commentNode; - var commentName; - var commentValue; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.childNodes; - - for(var indexN10040 = 0;indexN10040 < elementList.length; indexN10040++) { - commentNode = elementList.item(indexN10040); - commentName = commentNode.nodeName; - - - if( - ("#comment" == commentName) - ) { - commentValue = commentNode.nodeValue; - - assertEquals("value"," This is comment number 1.",commentValue); - - } - - } - commentNode = doc.createComment(" This is a comment"); - commentValue = commentNode.nodeValue; - - assertEquals("createdCommentNodeValue"," This is a comment",commentValue); - -} - - - - -function runTest() { - hc_nodecommentnodevalue(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodename.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodename.js deleted file mode 100644 index 4c3b8f2..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodename.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodedocumentfragmentnodename"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The string returned by the "getNodeName()" method for a - DocumentFragment Node is "#document-frament". - - Retrieve the DOM document and invoke the - "createDocumentFragment()" method and check the string - returned by the "getNodeName()" method. It should be - equal to "#document-fragment". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A3 -*/ -function hc_nodedocumentfragmentnodename() { - var success; - if(checkInitialization(builder, "hc_nodedocumentfragmentnodename") != null) return; - var doc; - var docFragment; - var documentFragmentName; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - docFragment = doc.createDocumentFragment(); - documentFragmentName = docFragment.nodeName; - - assertEquals("nodeDocumentFragmentNodeNameAssert1","#document-fragment",documentFragmentName); - -} - - - - -function runTest() { - hc_nodedocumentfragmentnodename(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodetype.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodetype.js deleted file mode 100644 index 404dcd4..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodetype.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodedocumentfragmentnodetype"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "getNodeType()" method for a DocumentFragment Node - returns the constant value 11. - - Invoke the "createDocumentFragment()" method and - examine the NodeType of the document fragment - returned by the "getNodeType()" method. The method - should return 11. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A3 -*/ -function hc_nodedocumentfragmentnodetype() { - var success; - if(checkInitialization(builder, "hc_nodedocumentfragmentnodetype") != null) return; - var doc; - var documentFragmentNode; - var nodeType; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - documentFragmentNode = doc.createDocumentFragment(); - nodeType = documentFragmentNode.nodeType; - - assertEquals("nodeDocumentFragmentNodeTypeAssert1",11,nodeType); - -} - - - - -function runTest() { - hc_nodedocumentfragmentnodetype(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodevalue.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodevalue.js deleted file mode 100644 index 3817faf..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodevalue.js +++ /dev/null @@ -1,120 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodedocumentfragmentnodevalue"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The string returned by the "getNodeValue()" method for a - DocumentFragment Node is null. - - Retrieve the DOM document and invoke the - "createDocumentFragment()" method and check the string - returned by the "getNodeValue()" method. It should be - equal to null. - -* @author Curt Arnold -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A3 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 -*/ -function hc_nodedocumentfragmentnodevalue() { - var success; - if(checkInitialization(builder, "hc_nodedocumentfragmentnodevalue") != null) return; - var doc; - var docFragment; - var attrList; - var value; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - docFragment = doc.createDocumentFragment(); - attrList = docFragment.attributes; - - assertNull("attributesNull",attrList); - value = docFragment.nodeValue; - - assertNull("initiallyNull",value); - -} - - - - -function runTest() { - hc_nodedocumentfragmentnodevalue(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodeattribute.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodeattribute.js deleted file mode 100644 index 0509317..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodeattribute.js +++ /dev/null @@ -1,111 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodedocumentnodeattribute"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -The "getAttributes()" method invoked on a Document -Node returns null. - -Retrieve the DOM Document and invoke the -"getAttributes()" method on the Document Node. -It should return null. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#i-Document -*/ -function hc_nodedocumentnodeattribute() { - var success; - if(checkInitialization(builder, "hc_nodedocumentnodeattribute") != null) return; - var doc; - var attrList; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - attrList = doc.attributes; - - assertNull("doc_attributes_is_null",attrList); - -} - - - - -function runTest() { - hc_nodedocumentnodeattribute(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodename.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodename.js deleted file mode 100644 index 7cdef03..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodename.js +++ /dev/null @@ -1,111 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodedocumentnodename"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The string returned by the "getNodeName()" method for a - Document Node is "#document". - - Retrieve the DOM document and check the string returned - by the "getNodeName()" method. It should be equal to - "#document". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#i-Document -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 -*/ -function hc_nodedocumentnodename() { - var success; - if(checkInitialization(builder, "hc_nodedocumentnodename") != null) return; - var doc; - var documentName; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - documentName = doc.nodeName; - - assertEquals("documentNodeName","#document",documentName); - -} - - - - -function runTest() { - hc_nodedocumentnodename(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodetype.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodetype.js deleted file mode 100644 index 12ac065..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodetype.js +++ /dev/null @@ -1,110 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodedocumentnodetype"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -The "getNodeType()" method for a Document Node -returns the constant value 9. - -Retrieve the document and invoke the "getNodeType()" -method. The method should return 9. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#i-Document -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558 -*/ -function hc_nodedocumentnodetype() { - var success; - if(checkInitialization(builder, "hc_nodedocumentnodetype") != null) return; - var doc; - var nodeType; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - nodeType = doc.nodeType; - - assertEquals("nodeDocumentNodeTypeAssert1",9,nodeType); - -} - - - - -function runTest() { - hc_nodedocumentnodetype(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodevalue.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodevalue.js deleted file mode 100644 index 6cd8934..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodevalue.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodedocumentnodevalue"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The string returned by the "getNodeValue()" method for a - Document Node is null. - - Retrieve the DOM Document and check the string returned - by the "getNodeValue()" method. It should be equal to - null. - - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#i-Document -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 -*/ -function hc_nodedocumentnodevalue() { - var success; - if(checkInitialization(builder, "hc_nodedocumentnodevalue") != null) return; - var doc; - var documentValue; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - documentValue = doc.nodeValue; - - assertNull("documentNodeValue",documentValue); - -} - - - - -function runTest() { - hc_nodedocumentnodevalue(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodeattributes.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodeattributes.js deleted file mode 100644 index a3bfcd3..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodeattributes.js +++ /dev/null @@ -1,145 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeelementnodeattributes"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - Retrieve the third "acronym" element and evaluate Node.attributes. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 -* @see http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=184 -*/ -function hc_nodeelementnodeattributes() { - var success; - if(checkInitialization(builder, "hc_nodeelementnodeattributes") != null) return; - var doc; - var elementList; - var testAddr; - var addrAttr; - var attrNode; - var attrName; - var attrList = new Array(); - - htmlExpected = new Array(); - htmlExpected[0] = "title"; - htmlExpected[1] = "class"; - - expected = new Array(); - expected[0] = "title"; - expected[1] = "class"; - expected[2] = "dir"; - - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - testAddr = elementList.item(2); - addrAttr = testAddr.attributes; - - for(var indexN10070 = 0;indexN10070 < addrAttr.length; indexN10070++) { - attrNode = addrAttr.item(indexN10070); - attrName = attrNode.name; - - attrList[attrList.length] = attrName; - - } - - if( - - (builder.contentType == "text/html") - - ) { - assertEqualsCollection("attrNames_html",toLowerArray(htmlExpected),toLowerArray(attrList)); - - } - - else { - assertEqualsCollection("attrNames",expected,attrList); - - } - -} - - - - -function runTest() { - hc_nodeelementnodeattributes(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodename.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodename.js deleted file mode 100644 index 693d23e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodename.js +++ /dev/null @@ -1,125 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeelementnodename"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - Retrieve the first Element Node(Root Node) of the - DOM object and check the string returned by the - "getNodeName()" method. It should be equal to its - tagName. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=251 -*/ -function hc_nodeelementnodename() { - var success; - if(checkInitialization(builder, "hc_nodeelementnodename") != null) return; - var doc; - var elementNode; - var elementName; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementNode = doc.documentElement; - - elementName = elementNode.nodeName; - - - if( - - (builder.contentType == "image/svg+xml") - - ) { - assertEquals("svgNodeName","svg",elementName); - - } - - else { - assertEqualsAutoCase("element", "nodeName","html",elementName); - - } - -} - - - - -function runTest() { - hc_nodeelementnodename(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodetype.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodetype.js deleted file mode 100644 index 56dd936..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodetype.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeelementnodetype"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "getNodeType()" method for an Element Node - returns the constant value 1. - - Retrieve the root node and invoke the "getNodeType()" - method. The method should return 1. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558 -*/ -function hc_nodeelementnodetype() { - var success; - if(checkInitialization(builder, "hc_nodeelementnodetype") != null) return; - var doc; - var rootNode; - var nodeType; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - rootNode = doc.documentElement; - - nodeType = rootNode.nodeType; - - assertEquals("nodeElementNodeTypeAssert1",1,nodeType); - -} - - - - -function runTest() { - hc_nodeelementnodetype(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodevalue.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodevalue.js deleted file mode 100644 index 29124cf..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodevalue.js +++ /dev/null @@ -1,109 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeelementnodevalue"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The string returned by the "getNodeValue()" method for an - Element Node is null. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 -*/ -function hc_nodeelementnodevalue() { - var success; - if(checkInitialization(builder, "hc_nodeelementnodevalue") != null) return; - var doc; - var elementNode; - var elementValue; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementNode = doc.documentElement; - - elementValue = elementNode.nodeValue; - - assertNull("elementNodeValue",elementValue); - -} - - - - -function runTest() { - hc_nodeelementnodevalue(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchild.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchild.js deleted file mode 100644 index a4681f0..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchild.js +++ /dev/null @@ -1,130 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodegetfirstchild"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "getFirstChild()" method returns the first child - of this node. - - Retrieve the second employee and invoke the - "getFirstChild()" method. The NodeName returned - should be "#text" or "EM". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-169727388 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 -*/ -function hc_nodegetfirstchild() { - var success; - if(checkInitialization(builder, "hc_nodegetfirstchild") != null) return; - var doc; - var elementList; - var employeeNode; - var fchildNode; - var childName; - var nodeType; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("p"); - employeeNode = elementList.item(1); - fchildNode = employeeNode.firstChild; - - childName = fchildNode.nodeName; - - - if( - ("#text" == childName) - ) { - assertEquals("firstChild_w_whitespace","#text",childName); - - } - - else { - assertEqualsAutoCase("element", "firstChild_wo_whitespace","em",childName); - - } - -} - - - - -function runTest() { - hc_nodegetfirstchild(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchildnull.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchildnull.js deleted file mode 100644 index dec151f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchildnull.js +++ /dev/null @@ -1,117 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodegetfirstchildnull"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - If there is not a first child then the "getFirstChild()" - method returns null. - - Retrieve the text of the first "em" element and invoke the "getFirstChild()" method. It - should return null. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-169727388 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 -*/ -function hc_nodegetfirstchildnull() { - var success; - if(checkInitialization(builder, "hc_nodegetfirstchildnull") != null) return; - var doc; - var emList; - var emNode; - var emText; - var nullChild; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - emList = doc.getElementsByTagName("em"); - emNode = emList.item(0); - emText = emNode.firstChild; - - nullChild = emText.firstChild; - - assertNull("nullChild",nullChild); - -} - - - - -function runTest() { - hc_nodegetfirstchildnull(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchild.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchild.js deleted file mode 100644 index 712c5ef..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchild.js +++ /dev/null @@ -1,117 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodegetlastchild"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "getLastChild()" method returns the last child - of this node. - - Retrieve the second employee and invoke the - "getLastChild()" method. The NodeName returned - should be "#text". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-61AD09FB -*/ -function hc_nodegetlastchild() { - var success; - if(checkInitialization(builder, "hc_nodegetlastchild") != null) return; - var doc; - var elementList; - var employeeNode; - var lchildNode; - var childName; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("p"); - employeeNode = elementList.item(1); - lchildNode = employeeNode.lastChild; - - childName = lchildNode.nodeName; - - assertEquals("whitespace","#text",childName); - -} - - - - -function runTest() { - hc_nodegetlastchild(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchildnull.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchildnull.js deleted file mode 100644 index 9e5a6ad..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchildnull.js +++ /dev/null @@ -1,118 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodegetlastchildnull"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - - If there is not a last child then the "getLastChild()" - method returns null. - - Retrieve the text of the first "em" element and invoke the "getFirstChild()" method. It - should return null. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-61AD09FB -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 -*/ -function hc_nodegetlastchildnull() { - var success; - if(checkInitialization(builder, "hc_nodegetlastchildnull") != null) return; - var doc; - var emList; - var emNode; - var emText; - var nullChild; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - emList = doc.getElementsByTagName("em"); - emNode = emList.item(0); - emText = emNode.firstChild; - - nullChild = emText.lastChild; - - assertNull("nullChild",nullChild); - -} - - - - -function runTest() { - hc_nodegetlastchildnull(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsibling.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsibling.js deleted file mode 100644 index 3daca44..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsibling.js +++ /dev/null @@ -1,117 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodegetnextsibling"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "getNextSibling()" method returns the node immediately - following this node. - - Retrieve the first child of the second employee and - invoke the "getNextSibling()" method. It should return - a node with the NodeName of "#text". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6AC54C2F -*/ -function hc_nodegetnextsibling() { - var success; - if(checkInitialization(builder, "hc_nodegetnextsibling") != null) return; - var doc; - var elementList; - var emNode; - var nsNode; - var nsName; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("em"); - emNode = elementList.item(1); - nsNode = emNode.nextSibling; - - nsName = nsNode.nodeName; - - assertEquals("whitespace","#text",nsName); - -} - - - - -function runTest() { - hc_nodegetnextsibling(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsiblingnull.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsiblingnull.js deleted file mode 100644 index 0f9cb7b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsiblingnull.js +++ /dev/null @@ -1,124 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodegetnextsiblingnull"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - - If there is not a node immediately following this node the - - "getNextSibling()" method returns null. - - - - Retrieve the first child of the second employee and - - invoke the "getNextSibling()" method. It should - - be set to null. - - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6AC54C2F -*/ -function hc_nodegetnextsiblingnull() { - var success; - if(checkInitialization(builder, "hc_nodegetnextsiblingnull") != null) return; - var doc; - var elementList; - var employeeNode; - var lcNode; - var nsNode; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("p"); - employeeNode = elementList.item(1); - lcNode = employeeNode.lastChild; - - nsNode = lcNode.nextSibling; - - assertNull("nodeGetNextSiblingNullAssert1",nsNode); - -} - - - - -function runTest() { - hc_nodegetnextsiblingnull(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocument.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocument.js deleted file mode 100644 index 85853b8..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocument.js +++ /dev/null @@ -1,129 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodegetownerdocument"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Evaluate Node.ownerDocument on the second "p" element. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#node-ownerDoc -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=251 -*/ -function hc_nodegetownerdocument() { - var success; - if(checkInitialization(builder, "hc_nodegetownerdocument") != null) return; - var doc; - var elementList; - var docNode; - var ownerDocument; - var docElement; - var elementName; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("p"); - docNode = elementList.item(1); - ownerDocument = docNode.ownerDocument; - - docElement = ownerDocument.documentElement; - - elementName = docElement.nodeName; - - - if( - - (builder.contentType == "image/svg+xml") - - ) { - assertEquals("svgNodeName","svg",elementName); - - } - - else { - assertEqualsAutoCase("element", "ownerDocElemTagName","html",elementName); - - } - -} - - - - -function runTest() { - hc_nodegetownerdocument(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocumentnull.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocumentnull.js deleted file mode 100644 index 67bfd87..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocumentnull.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodegetownerdocumentnull"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - - The "getOwnerDocument()" method returns null if the target - - node itself is a document. - - - - Invoke the "getOwnerDocument()" method on the master - - document. The Document returned should be null. - - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#node-ownerDoc -*/ -function hc_nodegetownerdocumentnull() { - var success; - if(checkInitialization(builder, "hc_nodegetownerdocumentnull") != null) return; - var doc; - var ownerDocument; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - ownerDocument = doc.ownerDocument; - - assertNull("nodeGetOwnerDocumentNullAssert1",ownerDocument); - -} - - - - -function runTest() { - hc_nodegetownerdocumentnull(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussibling.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussibling.js deleted file mode 100644 index 5434f05..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussibling.js +++ /dev/null @@ -1,117 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodegetprevioussibling"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "getPreviousSibling()" method returns the node - immediately preceding this node. - - Retrieve the second child of the second employee and - invoke the "getPreviousSibling()" method. It should - return a node with a NodeName of "#text". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-640FB3C8 -*/ -function hc_nodegetprevioussibling() { - var success; - if(checkInitialization(builder, "hc_nodegetprevioussibling") != null) return; - var doc; - var elementList; - var nameNode; - var psNode; - var psName; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("strong"); - nameNode = elementList.item(1); - psNode = nameNode.previousSibling; - - psName = psNode.nodeName; - - assertEquals("whitespace","#text",psName); - -} - - - - -function runTest() { - hc_nodegetprevioussibling(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussiblingnull.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussiblingnull.js deleted file mode 100644 index b1dc787..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussiblingnull.js +++ /dev/null @@ -1,124 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodegetprevioussiblingnull"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - - If there is not a node immediately preceding this node the - - "getPreviousSibling()" method returns null. - - - - Retrieve the first child of the second employee and - - invoke the "getPreviousSibling()" method. It should - - be set to null. - - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-640FB3C8 -*/ -function hc_nodegetprevioussiblingnull() { - var success; - if(checkInitialization(builder, "hc_nodegetprevioussiblingnull") != null) return; - var doc; - var elementList; - var employeeNode; - var fcNode; - var psNode; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("p"); - employeeNode = elementList.item(2); - fcNode = employeeNode.firstChild; - - psNode = fcNode.previousSibling; - - assertNull("nodeGetPreviousSiblingNullAssert1",psNode); - -} - - - - -function runTest() { - hc_nodegetprevioussiblingnull(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodes.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodes.js deleted file mode 100644 index 1ff38a9..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodes.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodehaschildnodes"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "hasChildNodes()" method returns true if the node - has children. - - Retrieve the root node("staff") and invoke the - "hasChildNodes()" method. It should return the boolean - value "true". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-810594187 -*/ -function hc_nodehaschildnodes() { - var success; - if(checkInitialization(builder, "hc_nodehaschildnodes") != null) return; - var doc; - var elementList; - var employeeNode; - var state; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("p"); - employeeNode = elementList.item(1); - state = employeeNode.hasChildNodes(); - assertTrue("nodeHasChildAssert1",state); - -} - - - - -function runTest() { - hc_nodehaschildnodes(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodesfalse.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodesfalse.js deleted file mode 100644 index f966eba..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodesfalse.js +++ /dev/null @@ -1,117 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodehaschildnodesfalse"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "hasChildNodes()" method returns false if the node - does not have any children. - - Retrieve the text of the first "em" element and invoke the "hasChildNodes()" method. It - should return false. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1451460987 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-810594187 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 -*/ -function hc_nodehaschildnodesfalse() { - var success; - if(checkInitialization(builder, "hc_nodehaschildnodesfalse") != null) return; - var doc; - var emList; - var emNode; - var emText; - var hasChild; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - emList = doc.getElementsByTagName("em"); - emNode = emList.item(0); - emText = emNode.firstChild; - - hasChild = emText.hasChildNodes(); - assertFalse("hasChild",hasChild); - -} - - - - -function runTest() { - hc_nodehaschildnodesfalse(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbefore.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbefore.js deleted file mode 100644 index f73bd6d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbefore.js +++ /dev/null @@ -1,153 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeinsertbefore"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "insertBefore(newChild,refChild)" method inserts the - node "newChild" before the node "refChild". - - Insert a newly created Element node before the second - sup element in the document and check the "newChild" - and "refChild" after insertion for correct placement. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=261 -*/ -function hc_nodeinsertbefore() { - var success; - if(checkInitialization(builder, "hc_nodeinsertbefore") != null) return; - var doc; - var elementList; - var employeeNode; - var childList; - var refChild; - var newChild; - var child; - var childName; - var insertedNode; - var actual = new Array(); - - expected = new Array(); - expected[0] = "em"; - expected[1] = "strong"; - expected[2] = "code"; - expected[3] = "br"; - expected[4] = "sup"; - expected[5] = "var"; - expected[6] = "acronym"; - - var nodeType; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("sup"); - refChild = elementList.item(2); - employeeNode = refChild.parentNode; - - childList = employeeNode.childNodes; - - newChild = doc.createElement("br"); - insertedNode = employeeNode.insertBefore(newChild,refChild); - for(var indexN10091 = 0;indexN10091 < childList.length; indexN10091++) { - child = childList.item(indexN10091); - nodeType = child.nodeType; - - - if( - (1 == nodeType) - ) { - childName = child.nodeName; - - actual[actual.length] = childName; - - } - - } - assertEqualsListAutoCase("element", "nodeNames",expected,actual); - -} - - - - -function runTest() { - hc_nodeinsertbefore(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforedocfragment.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforedocfragment.js deleted file mode 100644 index 1e132c9..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforedocfragment.js +++ /dev/null @@ -1,141 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeinsertbeforedocfragment"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - If the "newChild" is a DocumentFragment object then all - its children are inserted in the same order before the - the "refChild". - - Create a DocumentFragment object and populate it with - two Element nodes. Retrieve the second employee and - insert the newly created DocumentFragment before its - fourth child. The second employee should now have two - extra children("newChild1" and "newChild2") at - positions fourth and fifth respectively. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 -*/ -function hc_nodeinsertbeforedocfragment() { - var success; - if(checkInitialization(builder, "hc_nodeinsertbeforedocfragment") != null) return; - var doc; - var elementList; - var employeeNode; - var childList; - var refChild; - var newdocFragment; - var newChild1; - var newChild2; - var child; - var childName; - var appendedChild; - var insertedNode; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("p"); - employeeNode = elementList.item(1); - childList = employeeNode.childNodes; - - refChild = childList.item(3); - newdocFragment = doc.createDocumentFragment(); - newChild1 = doc.createElement("br"); - newChild2 = doc.createElement("b"); - appendedChild = newdocFragment.appendChild(newChild1); - appendedChild = newdocFragment.appendChild(newChild2); - insertedNode = employeeNode.insertBefore(newdocFragment,refChild); - child = childList.item(3); - childName = child.nodeName; - - assertEqualsAutoCase("element", "childName3","br",childName); - child = childList.item(4); - childName = child.nodeName; - - assertEqualsAutoCase("element", "childName4","b",childName); - -} - - - - -function runTest() { - hc_nodeinsertbeforedocfragment(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchilddiffdocument.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchilddiffdocument.js deleted file mode 100644 index 915104f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchilddiffdocument.js +++ /dev/null @@ -1,147 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeinsertbeforenewchilddiffdocument"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var doc1Ref = null; - if (typeof(this.doc1) != 'undefined') { - doc1Ref = this.doc1; - } - docsLoaded += preload(doc1Ref, "doc1", "hc_staff"); - - var doc2Ref = null; - if (typeof(this.doc2) != 'undefined') { - doc2Ref = this.doc2; - } - docsLoaded += preload(doc2Ref, "doc2", "hc_staff"); - - if (docsLoaded == 2) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 2) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "insertBefore(newChild,refChild)" method raises a - WRONG_DOCUMENT_ERR DOMException if the "newChild" was - created from a different document than the one that - created this node. - - Retrieve the second employee and attempt to insert a new - child that was created from a different document than the - one that created the second employee. An attempt to - insert such a child should raise the desired exception. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='WRONG_DOCUMENT_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-952280727')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='WRONG_DOCUMENT_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 -*/ -function hc_nodeinsertbeforenewchilddiffdocument() { - var success; - if(checkInitialization(builder, "hc_nodeinsertbeforenewchilddiffdocument") != null) return; - var doc1; - var doc2; - var refChild; - var newChild; - var elementList; - var elementNode; - var insertedNode; - - var doc1Ref = null; - if (typeof(this.doc1) != 'undefined') { - doc1Ref = this.doc1; - } - doc1 = load(doc1Ref, "doc1", "hc_staff"); - - var doc2Ref = null; - if (typeof(this.doc2) != 'undefined') { - doc2Ref = this.doc2; - } - doc2 = load(doc2Ref, "doc2", "hc_staff"); - newChild = doc1.createElement("br"); - elementList = doc2.getElementsByTagName("p"); - elementNode = elementList.item(1); - refChild = elementNode.firstChild; - - - { - success = false; - try { - insertedNode = elementNode.insertBefore(newChild,refChild); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 4); - } - assertTrue("throw_WRONG_DOCUMENT_ERR",success); - } - -} - - - - -function runTest() { - hc_nodeinsertbeforenewchilddiffdocument(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchildexists.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchildexists.js deleted file mode 100644 index f7adaff..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchildexists.js +++ /dev/null @@ -1,151 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeinsertbeforenewchildexists"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - If the "newChild" is already in the tree, the - "insertBefore(newChild,refChild)" method must first - remove it before the insertion takes place. - - Insert a node Element ("em") that is already - present in the tree. The existing node should be - removed first and the new one inserted. The node is - inserted at a different position in the tree to assure - that it was indeed inserted. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 -*/ -function hc_nodeinsertbeforenewchildexists() { - var success; - if(checkInitialization(builder, "hc_nodeinsertbeforenewchildexists") != null) return; - var doc; - var elementList; - var employeeNode; - var childList; - var refChild; - var newChild; - var child; - var childName; - var insertedNode; - expected = new Array(); - expected[0] = "strong"; - expected[1] = "code"; - expected[2] = "sup"; - expected[3] = "var"; - expected[4] = "em"; - expected[5] = "acronym"; - - var result = new Array(); - - var nodeType; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("p"); - employeeNode = elementList.item(1); - childList = employeeNode.getElementsByTagName("*"); - refChild = childList.item(5); - newChild = childList.item(0); - insertedNode = employeeNode.insertBefore(newChild,refChild); - for(var indexN1008C = 0;indexN1008C < childList.length; indexN1008C++) { - child = childList.item(indexN1008C); - nodeType = child.nodeType; - - - if( - (1 == nodeType) - ) { - childName = child.nodeName; - - result[result.length] = childName; - - } - - } - assertEqualsListAutoCase("element", "childNames",expected,result); - -} - - - - -function runTest() { - hc_nodeinsertbeforenewchildexists(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodeancestor.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodeancestor.js deleted file mode 100644 index cd7c956..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodeancestor.js +++ /dev/null @@ -1,135 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeinsertbeforenodeancestor"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "insertBefore(newChild,refChild)" method raises a - HIERARCHY_REQUEST_ERR DOMException if the node to be - inserted is one of this nodes ancestors. - - Retrieve the second employee and attempt to insert a - node that is one of its ancestors(root node). An - attempt to insert such a node should raise the - desired exception. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='HIERARCHY_REQUEST_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-952280727')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='HIERARCHY_REQUEST_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 -*/ -function hc_nodeinsertbeforenodeancestor() { - var success; - if(checkInitialization(builder, "hc_nodeinsertbeforenodeancestor") != null) return; - var doc; - var newChild; - var elementList; - var employeeNode; - var childList; - var refChild; - var insertedNode; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - newChild = doc.documentElement; - - elementList = doc.getElementsByTagName("p"); - employeeNode = elementList.item(1); - childList = employeeNode.childNodes; - - refChild = childList.item(0); - - { - success = false; - try { - insertedNode = employeeNode.insertBefore(newChild,refChild); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 3); - } - assertTrue("throw_HIERARCHY_REQUEST_ERR",success); - } - -} - - - - -function runTest() { - hc_nodeinsertbeforenodeancestor(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodename.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodename.js deleted file mode 100644 index eeb61c8..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodename.js +++ /dev/null @@ -1,126 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeinsertbeforenodename"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "insertBefore(newChild,refchild)" method returns - the node being inserted. - - Insert an Element node before the fourth - child of the second employee and check the node - returned from the "insertBefore(newChild,refChild)" - method. The node returned should be "newChild". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 -*/ -function hc_nodeinsertbeforenodename() { - var success; - if(checkInitialization(builder, "hc_nodeinsertbeforenodename") != null) return; - var doc; - var elementList; - var employeeNode; - var childList; - var refChild; - var newChild; - var insertedNode; - var childName; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("p"); - employeeNode = elementList.item(1); - childList = employeeNode.childNodes; - - refChild = childList.item(3); - newChild = doc.createElement("br"); - insertedNode = employeeNode.insertBefore(newChild,refChild); - childName = insertedNode.nodeName; - - assertEqualsAutoCase("element", "nodeName","br",childName); - -} - - - - -function runTest() { - hc_nodeinsertbeforenodename(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnonexistent.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnonexistent.js deleted file mode 100644 index d4c8f3e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnonexistent.js +++ /dev/null @@ -1,133 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeinsertbeforerefchildnonexistent"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "insertBefore(newChild,refChild)" method raises a - NOT_FOUND_ERR DOMException if the reference child is - not a child of this node. - - Retrieve the second employee and attempt to insert a - new node before a reference node that is not a child - of this node. An attempt to insert before a non child - node should raise the desired exception. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NOT_FOUND_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-952280727')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NOT_FOUND_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 -*/ -function hc_nodeinsertbeforerefchildnonexistent() { - var success; - if(checkInitialization(builder, "hc_nodeinsertbeforerefchildnonexistent") != null) return; - var doc; - var refChild; - var newChild; - var elementList; - var elementNode; - var insertedNode; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - newChild = doc.createElement("br"); - refChild = doc.createElement("b"); - elementList = doc.getElementsByTagName("p"); - elementNode = elementList.item(1); - - { - success = false; - try { - insertedNode = elementNode.insertBefore(newChild,refChild); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 8); - } - assertTrue("throw_NOT_FOUND_ERR",success); - } - -} - - - - -function runTest() { - hc_nodeinsertbeforerefchildnonexistent(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnull.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnull.js deleted file mode 100644 index a0bf5e4..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnull.js +++ /dev/null @@ -1,131 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeinsertbeforerefchildnull"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - If the "refChild" is null then the - "insertBefore(newChild,refChild)" method inserts the - node "newChild" at the end of the list of children. - - Retrieve the second employee and invoke the - "insertBefore(newChild,refChild)" method with - refChild=null. Since "refChild" is null the "newChild" - should be added to the end of the list. The last item - in the list is checked after insertion. The last Element - node of the list should be "newChild". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 -*/ -function hc_nodeinsertbeforerefchildnull() { - var success; - if(checkInitialization(builder, "hc_nodeinsertbeforerefchildnull") != null) return; - var doc; - var elementList; - var employeeNode; - var childList; - var refChild = null; - - var newChild; - var child; - var childName; - var insertedNode; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("p"); - employeeNode = elementList.item(1); - childList = employeeNode.childNodes; - - newChild = doc.createElement("br"); - insertedNode = employeeNode.insertBefore(newChild,refChild); - child = employeeNode.lastChild; - - childName = child.nodeName; - - assertEqualsAutoCase("element", "nodeName","br",childName); - -} - - - - -function runTest() { - hc_nodeinsertbeforerefchildnull(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexequalzero.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexequalzero.js deleted file mode 100644 index eff64d9..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexequalzero.js +++ /dev/null @@ -1,135 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodelistindexequalzero"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - Create a list of all the children elements of the third - employee and access its first child by using an index - of 0. This should result in the whitspace before "em" being - selected (em when ignoring whitespace). - Further we evaluate its content(by using - the "getNodeName()" method) to ensure the proper - element was accessed. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-844377136 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 -*/ -function hc_nodelistindexequalzero() { - var success; - if(checkInitialization(builder, "hc_nodelistindexequalzero") != null) return; - var doc; - var elementList; - var employeeNode; - var employeeList; - var child; - var childName; - var length; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("p"); - employeeNode = elementList.item(2); - employeeList = employeeNode.childNodes; - - length = employeeList.length; - - child = employeeList.item(0); - childName = child.nodeName; - - - if( - (13 == length) - ) { - assertEquals("childName_w_whitespace","#text",childName); - - } - - else { - assertEqualsAutoCase("element", "childName_wo_whitespace","em",childName); - - } - -} - - - - -function runTest() { - hc_nodelistindexequalzero(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlength.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlength.js deleted file mode 100644 index d169a62..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlength.js +++ /dev/null @@ -1,129 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodelistindexgetlength"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "getLength()" method returns the number of nodes - in the list. - - Create a list of all the children elements of the third - employee and invoke the "getLength()" method. - It should contain the value 13. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-203510337 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 -*/ -function hc_nodelistindexgetlength() { - var success; - if(checkInitialization(builder, "hc_nodelistindexgetlength") != null) return; - var doc; - var elementList; - var employeeNode; - var employeeList; - var length; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("p"); - employeeNode = elementList.item(2); - employeeList = employeeNode.childNodes; - - length = employeeList.length; - - - if( - (6 == length) - ) { - assertEquals("length_wo_space",6,length); - - } - - else { - assertEquals("length_w_space",13,length); - - } - -} - - - - -function runTest() { - hc_nodelistindexgetlength(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlengthofemptylist.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlengthofemptylist.js deleted file mode 100644 index 9ae4969..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlengthofemptylist.js +++ /dev/null @@ -1,122 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodelistindexgetlengthofemptylist"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "getLength()" method returns the number of nodes - in the list.(Test for EMPTY list) - - Create a list of all the children of the Text node - inside the first child of the third employee and - invoke the "getLength()" method. It should contain - the value 0. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-203510337 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 -*/ -function hc_nodelistindexgetlengthofemptylist() { - var success; - if(checkInitialization(builder, "hc_nodelistindexgetlengthofemptylist") != null) return; - var doc; - var emList; - var emNode; - var textNode; - var textList; - var length; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - emList = doc.getElementsByTagName("em"); - emNode = emList.item(2); - textNode = emNode.firstChild; - - textList = textNode.childNodes; - - length = textList.length; - - assertEquals("length",0,length); - -} - - - - -function runTest() { - hc_nodelistindexgetlengthofemptylist(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexnotzero.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexnotzero.js deleted file mode 100644 index 8976e02..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexnotzero.js +++ /dev/null @@ -1,133 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodelistindexnotzero"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The items in the list are accessible via an integral - index starting from zero. - (Index not equal 0) - - Create a list of all the children elements of the third - employee and access its fourth child by using an index - of 3 and calling getNodeName() which should return - "strong" (no whitespace) or "#text" (with whitespace). - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-844377136 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 -*/ -function hc_nodelistindexnotzero() { - var success; - if(checkInitialization(builder, "hc_nodelistindexnotzero") != null) return; - var doc; - var elementList; - var employeeNode; - var employeeList; - var child; - var childName; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("p"); - employeeNode = elementList.item(2); - employeeList = employeeNode.childNodes; - - child = employeeList.item(3); - childName = child.nodeName; - - - if( - ("#text" == childName) - ) { - assertEquals("childName_space","#text",childName); - - } - - else { - assertEqualsAutoCase("element", "childName_strong","strong",childName); - - } - -} - - - - -function runTest() { - hc_nodelistindexnotzero(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnfirstitem.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnfirstitem.js deleted file mode 100644 index 117be61..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnfirstitem.js +++ /dev/null @@ -1,129 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodelistreturnfirstitem"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - Create a list of all the children elements of the third - employee and access its first child by invoking the - "item(index)" method with an index=0. This should - result in node with a nodeName of "#text" or "em". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-844377136 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 -*/ -function hc_nodelistreturnfirstitem() { - var success; - if(checkInitialization(builder, "hc_nodelistreturnfirstitem") != null) return; - var doc; - var elementList; - var employeeNode; - var employeeList; - var child; - var childName; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("p"); - employeeNode = elementList.item(2); - employeeList = employeeNode.childNodes; - - child = employeeList.item(0); - childName = child.nodeName; - - - if( - ("#text" == childName) - ) { - assertEquals("nodeName_w_space","#text",childName); - - } - - else { - assertEqualsAutoCase("element", "nodeName_wo_space","em",childName); - - } - -} - - - - -function runTest() { - hc_nodelistreturnfirstitem(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnlastitem.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnlastitem.js deleted file mode 100644 index b6652fe..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnlastitem.js +++ /dev/null @@ -1,133 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodelistreturnlastitem"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - Create a list of all the children elements of the third - employee and access its last child by invoking the - "item(index)" method with an index=length-1. This should - result in node with nodeName="#text" or acronym. -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-844377136 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 -*/ -function hc_nodelistreturnlastitem() { - var success; - if(checkInitialization(builder, "hc_nodelistreturnlastitem") != null) return; - var doc; - var elementList; - var employeeNode; - var employeeList; - var child; - var childName; - var index; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("p"); - employeeNode = elementList.item(2); - employeeList = employeeNode.childNodes; - - index = employeeList.length; - - index -= 1; -child = employeeList.item(index); - childName = child.nodeName; - - - if( - (12 == index) - ) { - assertEquals("lastNodeName_w_whitespace","#text",childName); - - } - - else { - assertEqualsAutoCase("element", "lastNodeName","acronym",childName); - assertEquals("index",5,index); - - } - -} - - - - -function runTest() { - hc_nodelistreturnlastitem(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelisttraverselist.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelisttraverselist.js deleted file mode 100644 index dc6862b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelisttraverselist.js +++ /dev/null @@ -1,149 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodelisttraverselist"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The range of valid child node indices is 0 thru length -1 - - Create a list of all the children elements of the third - employee and traverse the list from index=0 thru - length -1. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-203510337 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-844377136 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 -*/ -function hc_nodelisttraverselist() { - var success; - if(checkInitialization(builder, "hc_nodelisttraverselist") != null) return; - var doc; - var elementList; - var employeeNode; - var employeeList; - var child; - var childName; - var nodeType; - var result = new Array(); - - expected = new Array(); - expected[0] = "em"; - expected[1] = "strong"; - expected[2] = "code"; - expected[3] = "sup"; - expected[4] = "var"; - expected[5] = "acronym"; - - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("p"); - employeeNode = elementList.item(2); - employeeList = employeeNode.childNodes; - - for(var indexN10073 = 0;indexN10073 < employeeList.length; indexN10073++) { - child = employeeList.item(indexN10073); - nodeType = child.nodeType; - - childName = child.nodeName; - - - if( - (1 == nodeType) - ) { - result[result.length] = childName; - - } - - else { - assertEquals("textNodeType",3,nodeType); - assertEquals("textNodeName","#text",childName); - - } - - } - assertEqualsListAutoCase("element", "nodeNames",expected,result); - -} - - - - -function runTest() { - hc_nodelisttraverselist(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeparentnode.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeparentnode.js deleted file mode 100644 index e3408f6..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeparentnode.js +++ /dev/null @@ -1,117 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeparentnode"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "getParentNode()" method returns the parent - of this node. - - Retrieve the second employee and invoke the - "getParentNode()" method on this node. It should - be set to "body". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1060184317 -*/ -function hc_nodeparentnode() { - var success; - if(checkInitialization(builder, "hc_nodeparentnode") != null) return; - var doc; - var elementList; - var employeeNode; - var parentNode; - var parentName; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("p"); - employeeNode = elementList.item(1); - parentNode = employeeNode.parentNode; - - parentName = parentNode.nodeName; - - assertEqualsAutoCase("element", "parentNodeName","body",parentName); - -} - - - - -function runTest() { - hc_nodeparentnode(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeparentnodenull.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeparentnodenull.js deleted file mode 100644 index 9c80de3..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeparentnodenull.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeparentnodenull"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "getParentNode()" method invoked on a node that has - just been created and not yet added to the tree is null. - - Create a new "employee" Element node using the - "createElement(name)" method from the Document interface. - Since this new node has not yet been added to the tree, - the "getParentNode()" method will return null. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1060184317 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 -*/ -function hc_nodeparentnodenull() { - var success; - if(checkInitialization(builder, "hc_nodeparentnodenull") != null) return; - var doc; - var createdNode; - var parentNode; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - createdNode = doc.createElement("br"); - parentNode = createdNode.parentNode; - - assertNull("parentNode",parentNode); - -} - - - - -function runTest() { - hc_nodeparentnodenull(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechild.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechild.js deleted file mode 100644 index 35e04b2..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechild.js +++ /dev/null @@ -1,123 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_noderemovechild"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "removeChild(oldChild)" method removes the child node - indicated by "oldChild" from the list of children and - returns it. - - Remove the first employee by invoking the - "removeChild(oldChild)" method an checking the - node returned by the "getParentNode()" method. It - should be set to null. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 -*/ -function hc_noderemovechild() { - var success; - if(checkInitialization(builder, "hc_noderemovechild") != null) return; - var doc; - var rootNode; - var childList; - var childToRemove; - var removedChild; - var parentNode; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - rootNode = doc.documentElement; - - childList = rootNode.childNodes; - - childToRemove = childList.item(1); - removedChild = rootNode.removeChild(childToRemove); - parentNode = removedChild.parentNode; - - assertNull("parentNodeNull",parentNode); - -} - - - - -function runTest() { - hc_noderemovechild(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechildgetnodename.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechildgetnodename.js deleted file mode 100644 index d81a2a9..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechildgetnodename.js +++ /dev/null @@ -1,128 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_noderemovechildgetnodename"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "removeChild(oldChild)" method returns - the node being removed. - - Remove the first child of the second employee - and check the NodeName returned by the - "removeChild(oldChild)" method. The returned node - should have a NodeName equal to "#text". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 -*/ -function hc_noderemovechildgetnodename() { - var success; - if(checkInitialization(builder, "hc_noderemovechildgetnodename") != null) return; - var doc; - var elementList; - var employeeNode; - var childList; - var oldChild; - var removedChild; - var childName; - var oldName; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("p"); - employeeNode = elementList.item(1); - childList = employeeNode.childNodes; - - oldChild = childList.item(0); - oldName = oldChild.nodeName; - - removedChild = employeeNode.removeChild(oldChild); - assertNotNull("notnull",removedChild); -childName = removedChild.nodeName; - - assertEquals("nodeName",oldName,childName); - -} - - - - -function runTest() { - hc_noderemovechildgetnodename(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechildnode.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechildnode.js deleted file mode 100644 index b6cef22..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechildnode.js +++ /dev/null @@ -1,160 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_noderemovechildnode"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "removeChild(oldChild)" method removes the node - indicated by "oldChild". - - Retrieve the second p element and remove its first child. - After the removal, the second p element should have 5 element - children and the first child should now be the child - that used to be at the second position in the list. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 -*/ -function hc_noderemovechildnode() { - var success; - if(checkInitialization(builder, "hc_noderemovechildnode") != null) return; - var doc; - var elementList; - var emList; - var employeeNode; - var childList; - var oldChild; - var child; - var childName; - var length; - var removedChild; - var removedName; - var nodeType; - expected = new Array(); - expected[0] = "strong"; - expected[1] = "code"; - expected[2] = "sup"; - expected[3] = "var"; - expected[4] = "acronym"; - - var actual = new Array(); - - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("p"); - employeeNode = elementList.item(1); - childList = employeeNode.childNodes; - - emList = employeeNode.getElementsByTagName("em"); - oldChild = emList.item(0); - removedChild = employeeNode.removeChild(oldChild); - removedName = removedChild.nodeName; - - assertEqualsAutoCase("element", "removedName","em",removedName); - for(var indexN10098 = 0;indexN10098 < childList.length; indexN10098++) { - child = childList.item(indexN10098); - nodeType = child.nodeType; - - childName = child.nodeName; - - - if( - (1 == nodeType) - ) { - actual[actual.length] = childName; - - } - - else { - assertEquals("textNodeType",3,nodeType); - assertEquals("textNodeName","#text",childName); - - } - - } - assertEqualsListAutoCase("element", "childNames",expected,actual); - -} - - - - -function runTest() { - hc_noderemovechildnode(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechildoldchildnonexistent.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechildoldchildnonexistent.js deleted file mode 100644 index 7f68dbd..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechildoldchildnonexistent.js +++ /dev/null @@ -1,129 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_noderemovechildoldchildnonexistent"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "removeChild(oldChild)" method raises a - NOT_FOUND_ERR DOMException if the old child is - not a child of this node. - - Retrieve the second employee and attempt to remove a - node that is not one of its children. An attempt to - remove such a node should raise the desired exception. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NOT_FOUND_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-1734834066')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NOT_FOUND_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 -*/ -function hc_noderemovechildoldchildnonexistent() { - var success; - if(checkInitialization(builder, "hc_noderemovechildoldchildnonexistent") != null) return; - var doc; - var oldChild; - var elementList; - var elementNode; - var removedChild; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - oldChild = doc.createElement("br"); - elementList = doc.getElementsByTagName("p"); - elementNode = elementList.item(1); - - { - success = false; - try { - removedChild = elementNode.removeChild(oldChild); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 8); - } - assertTrue("throw_NOT_FOUND_ERR",success); - } - -} - - - - -function runTest() { - hc_noderemovechildoldchildnonexistent(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechild.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechild.js deleted file mode 100644 index db4ba3b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechild.js +++ /dev/null @@ -1,127 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodereplacechild"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "replaceChild(newChild,oldChild)" method replaces - the node "oldChild" with the node "newChild". - - Replace the first element of the second employee with - a newly created Element node. Check the first position - after the replacement operation is completed. The new - Element should be "newChild". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 -*/ -function hc_nodereplacechild() { - var success; - if(checkInitialization(builder, "hc_nodereplacechild") != null) return; - var doc; - var elementList; - var employeeNode; - var childList; - var oldChild; - var newChild; - var child; - var childName; - var replacedNode; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("p"); - employeeNode = elementList.item(1); - childList = employeeNode.childNodes; - - oldChild = childList.item(0); - newChild = doc.createElement("br"); - replacedNode = employeeNode.replaceChild(newChild,oldChild); - child = childList.item(0); - childName = child.nodeName; - - assertEqualsAutoCase("element", "nodeName","br",childName); - -} - - - - -function runTest() { - hc_nodereplacechild(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchilddiffdocument.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchilddiffdocument.js deleted file mode 100644 index 23af319..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchilddiffdocument.js +++ /dev/null @@ -1,147 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodereplacechildnewchilddiffdocument"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var doc1Ref = null; - if (typeof(this.doc1) != 'undefined') { - doc1Ref = this.doc1; - } - docsLoaded += preload(doc1Ref, "doc1", "hc_staff"); - - var doc2Ref = null; - if (typeof(this.doc2) != 'undefined') { - doc2Ref = this.doc2; - } - docsLoaded += preload(doc2Ref, "doc2", "hc_staff"); - - if (docsLoaded == 2) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 2) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "replaceChild(newChild,oldChild)" method raises a - WRONG_DOCUMENT_ERR DOMException if the "newChild" was - created from a different document than the one that - created this node. - - Retrieve the second employee and attempt to replace one - of its children with a node created from a different - document. An attempt to make such a replacement - should raise the desired exception. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NOT_FOUND_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-785887307')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NOT_FOUND_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 -*/ -function hc_nodereplacechildnewchilddiffdocument() { - var success; - if(checkInitialization(builder, "hc_nodereplacechildnewchilddiffdocument") != null) return; - var doc1; - var doc2; - var oldChild; - var newChild; - var elementList; - var elementNode; - var replacedChild; - - var doc1Ref = null; - if (typeof(this.doc1) != 'undefined') { - doc1Ref = this.doc1; - } - doc1 = load(doc1Ref, "doc1", "hc_staff"); - - var doc2Ref = null; - if (typeof(this.doc2) != 'undefined') { - doc2Ref = this.doc2; - } - doc2 = load(doc2Ref, "doc2", "hc_staff"); - newChild = doc1.createElement("br"); - elementList = doc2.getElementsByTagName("p"); - elementNode = elementList.item(1); - oldChild = elementNode.firstChild; - - - { - success = false; - try { - replacedChild = elementNode.replaceChild(newChild,oldChild); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 4); - } - assertTrue("throw_WRONG_DOCUMENT_ERR",success); - } - -} - - - - -function runTest() { - hc_nodereplacechildnewchilddiffdocument(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchildexists.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchildexists.js deleted file mode 100644 index 06be50b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchildexists.js +++ /dev/null @@ -1,155 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodereplacechildnewchildexists"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - If the "newChild" is already in the tree, it is first - removed before the new one is added. - - Retrieve the second "p" and replace "acronym" with its "em". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 -*/ -function hc_nodereplacechildnewchildexists() { - var success; - if(checkInitialization(builder, "hc_nodereplacechildnewchildexists") != null) return; - var doc; - var elementList; - var employeeNode; - var childList; - var oldChild = null; - - var newChild = null; - - var child; - var childName; - var childNode; - var actual = new Array(); - - expected = new Array(); - expected[0] = "strong"; - expected[1] = "code"; - expected[2] = "sup"; - expected[3] = "var"; - expected[4] = "em"; - - var replacedChild; - var nodeType; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("p"); - employeeNode = elementList.item(1); - childList = employeeNode.getElementsByTagName("*"); - newChild = childList.item(0); - oldChild = childList.item(5); - replacedChild = employeeNode.replaceChild(newChild,oldChild); - assertSame("return_value_same",oldChild,replacedChild); -for(var indexN10094 = 0;indexN10094 < childList.length; indexN10094++) { - childNode = childList.item(indexN10094); - childName = childNode.nodeName; - - nodeType = childNode.nodeType; - - - if( - (1 == nodeType) - ) { - actual[actual.length] = childName; - - } - - else { - assertEquals("textNodeType",3,nodeType); - assertEquals("textNodeName","#text",childName); - - } - - } - assertEqualsListAutoCase("element", "childNames",expected,actual); - -} - - - - -function runTest() { - hc_nodereplacechildnewchildexists(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodeancestor.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodeancestor.js deleted file mode 100644 index 5e7b044..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodeancestor.js +++ /dev/null @@ -1,135 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodereplacechildnodeancestor"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "replaceChild(newChild,oldChild)" method raises a - HIERARCHY_REQUEST_ERR DOMException if the node to put - in is one of this node's ancestors. - - Retrieve the second employee and attempt to replace - one of its children with an ancestor node(root node). - An attempt to make such a replacement should raise the - desired exception. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='HIERARCHY_REQUEST_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-785887307')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='HIERARCHY_REQUEST_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 -*/ -function hc_nodereplacechildnodeancestor() { - var success; - if(checkInitialization(builder, "hc_nodereplacechildnodeancestor") != null) return; - var doc; - var newChild; - var elementList; - var employeeNode; - var childList; - var oldChild; - var replacedNode; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - newChild = doc.documentElement; - - elementList = doc.getElementsByTagName("p"); - employeeNode = elementList.item(1); - childList = employeeNode.childNodes; - - oldChild = childList.item(0); - - { - success = false; - try { - replacedNode = employeeNode.replaceChild(newChild,oldChild); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 3); - } - assertTrue("throw_HIERARCHY_REQUEST_ERR",success); - } - -} - - - - -function runTest() { - hc_nodereplacechildnodeancestor(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodename.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodename.js deleted file mode 100644 index baeab8a..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodename.js +++ /dev/null @@ -1,126 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodereplacechildnodename"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "replaceChild(newChild,oldChild)" method returns - the node being replaced. - - Replace the second Element of the second employee with - a newly created node Element and check the NodeName - returned by the "replaceChild(newChild,oldChild)" - method. The returned node should have a NodeName equal - to "em". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 -*/ -function hc_nodereplacechildnodename() { - var success; - if(checkInitialization(builder, "hc_nodereplacechildnodename") != null) return; - var doc; - var elementList; - var employeeNode; - var childList; - var oldChild; - var newChild; - var replacedNode; - var childName; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("p"); - employeeNode = elementList.item(1); - childList = employeeNode.getElementsByTagName("em"); - oldChild = childList.item(0); - newChild = doc.createElement("br"); - replacedNode = employeeNode.replaceChild(newChild,oldChild); - childName = replacedNode.nodeName; - - assertEqualsAutoCase("element", "replacedNodeName","em",childName); - -} - - - - -function runTest() { - hc_nodereplacechildnodename(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildoldchildnonexistent.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildoldchildnonexistent.js deleted file mode 100644 index 74ef15c..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildoldchildnonexistent.js +++ /dev/null @@ -1,131 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodereplacechildoldchildnonexistent"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "replaceChild(newChild,oldChild)" method raises a - NOT_FOUND_ERR DOMException if the old child is - not a child of this node. - - Retrieve the second employee and attempt to replace a - node that is not one of its children. An attempt to - replace such a node should raise the desired exception. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NOT_FOUND_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-785887307')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NOT_FOUND_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 -*/ -function hc_nodereplacechildoldchildnonexistent() { - var success; - if(checkInitialization(builder, "hc_nodereplacechildoldchildnonexistent") != null) return; - var doc; - var oldChild; - var newChild; - var elementList; - var elementNode; - var replacedNode; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - newChild = doc.createElement("br"); - oldChild = doc.createElement("b"); - elementList = doc.getElementsByTagName("p"); - elementNode = elementList.item(1); - - { - success = false; - try { - replacedNode = elementNode.replaceChild(newChild,oldChild); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 8); - } - assertTrue("throw_NOT_FOUND_ERR",success); - } - -} - - - - -function runTest() { - hc_nodereplacechildoldchildnonexistent(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodeattribute.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodeattribute.js deleted file mode 100644 index fd1f751..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodeattribute.js +++ /dev/null @@ -1,118 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodetextnodeattribute"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -The "getAttributes()" method invoked on a Text -Node returns null. - -Retrieve the Text node from the last child of the -first employee and invoke the "getAttributes()" method -on the Text Node. It should return null. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1312295772 -*/ -function hc_nodetextnodeattribute() { - var success; - if(checkInitialization(builder, "hc_nodetextnodeattribute") != null) return; - var doc; - var elementList; - var testAddr; - var textNode; - var attrList; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - testAddr = elementList.item(0); - textNode = testAddr.firstChild; - - attrList = textNode.attributes; - - assertNull("text_attributes_is_null",attrList); - -} - - - - -function runTest() { - hc_nodetextnodeattribute(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodename.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodename.js deleted file mode 100644 index bad6607..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodename.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodetextnodename"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The string returned by the "getNodeName()" method for a - Text Node is "#text". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 -*/ -function hc_nodetextnodename() { - var success; - if(checkInitialization(builder, "hc_nodetextnodename") != null) return; - var doc; - var elementList; - var testAddr; - var textNode; - var textName; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - testAddr = elementList.item(0); - textNode = testAddr.firstChild; - - textName = textNode.nodeName; - - assertEquals("textNodeName","#text",textName); - -} - - - - -function runTest() { - hc_nodetextnodename(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodetype.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodetype.js deleted file mode 100644 index 43c358d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodetype.js +++ /dev/null @@ -1,124 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodetextnodetype"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - - The "getNodeType()" method for a Text Node - - returns the constant value 3. - - - - Retrieve the Text node from the last child of - - the first employee and invoke the "getNodeType()" - - method. The method should return 3. - - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558 -*/ -function hc_nodetextnodetype() { - var success; - if(checkInitialization(builder, "hc_nodetextnodetype") != null) return; - var doc; - var elementList; - var testAddr; - var textNode; - var nodeType; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - testAddr = elementList.item(0); - textNode = testAddr.firstChild; - - nodeType = textNode.nodeType; - - assertEquals("nodeTextNodeTypeAssert1",3,nodeType); - -} - - - - -function runTest() { - hc_nodetextnodetype(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodevalue.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodevalue.js deleted file mode 100644 index 1a1ec4b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodevalue.js +++ /dev/null @@ -1,118 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodetextnodevalue"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The string returned by the "getNodeValue()" method for a - Text Node is the content of the Text node. - - Retrieve the Text node from the last child of the first - employee and check the string returned by the - "getNodeValue()" method. It should be equal to - "1230 North Ave. Dallas, Texas 98551". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 -*/ -function hc_nodetextnodevalue() { - var success; - if(checkInitialization(builder, "hc_nodetextnodevalue") != null) return; - var doc; - var elementList; - var testAddr; - var textNode; - var textValue; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - testAddr = elementList.item(0); - textNode = testAddr.firstChild; - - textValue = textNode.nodeValue; - - assertEquals("textNodeValue","1230 North Ave. Dallas, Texas 98551",textValue); - -} - - - - -function runTest() { - hc_nodetextnodevalue(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue01.js deleted file mode 100644 index c632b22..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue01.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodevalue01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -An element is created, setNodeValue is called with a non-null argument, but getNodeValue -should still return null. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#i-Document -*/ -function hc_nodevalue01() { - var success; - if(checkInitialization(builder, "hc_nodevalue01") != null) return; - var doc; - var newNode; - var newValue; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - newNode = doc.createElement("acronym"); - newValue = newNode.nodeValue; - - assertNull("initiallyNull",newValue); - newNode.nodeValue = "This should have no effect"; - - newValue = newNode.nodeValue; - - assertNull("nullAfterAttemptedChange",newValue); - -} - - - - -function runTest() { - hc_nodevalue01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue02.js deleted file mode 100644 index 80682b9..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue02.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodevalue02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -An comment is created, setNodeValue is called with a non-null argument, but getNodeValue -should still return null. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1728279322 -*/ -function hc_nodevalue02() { - var success; - if(checkInitialization(builder, "hc_nodevalue02") != null) return; - var doc; - var newNode; - var newValue; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - newNode = doc.createComment("This is a new Comment node"); - newValue = newNode.nodeValue; - - assertEquals("initial","This is a new Comment node",newValue); - newNode.nodeValue = "This should have an effect"; - - newValue = newNode.nodeValue; - - assertEquals("afterChange","This should have an effect",newValue); - -} - - - - -function runTest() { - hc_nodevalue02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue04.js deleted file mode 100644 index 40ceb64..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue04.js +++ /dev/null @@ -1,132 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodevalue04"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -An document type accessed, setNodeValue is called with a non-null argument, but getNodeValue -should still return null. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A31 -*/ -function hc_nodevalue04() { - var success; - if(checkInitialization(builder, "hc_nodevalue04") != null) return; - var doc; - var newNode; - var newValue; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - newNode = doc.doctype; - - assertTrue("docTypeNotNullOrDocIsHTML", - - ( - (newNode != null) - || - (builder.contentType == "text/html") -) -); - - if( - - (newNode != null) - - ) { - assertNotNull("docTypeNotNull",newNode); -newValue = newNode.nodeValue; - - assertNull("initiallyNull",newValue); - newNode.nodeValue = "This should have no effect"; - - newValue = newNode.nodeValue; - - assertNull("nullAfterAttemptedChange",newValue); - - } - -} - - - - -function runTest() { - hc_nodevalue04(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue05.js deleted file mode 100644 index 34e2e33..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue05.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodevalue05"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -A document fragment is created, setNodeValue is called with a non-null argument, but getNodeValue -should still return null. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A3 -*/ -function hc_nodevalue05() { - var success; - if(checkInitialization(builder, "hc_nodevalue05") != null) return; - var doc; - var newNode; - var newValue; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - newNode = doc.createDocumentFragment(); - newValue = newNode.nodeValue; - - assertNull("initiallyNull",newValue); - newNode.nodeValue = "This should have no effect"; - - newValue = newNode.nodeValue; - - assertNull("nullAfterAttemptedChange",newValue); - -} - - - - -function runTest() { - hc_nodevalue05(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue06.js deleted file mode 100644 index 6cb9ac7..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue06.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodevalue06"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var newNodeRef = null; - if (typeof(this.newNode) != 'undefined') { - newNodeRef = this.newNode; - } - docsLoaded += preload(newNodeRef, "newNode", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -An document is accessed, setNodeValue is called with a non-null argument, but getNodeValue -should still return null. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#i-Document -*/ -function hc_nodevalue06() { - var success; - if(checkInitialization(builder, "hc_nodevalue06") != null) return; - var newNode; - var newValue; - - var newNodeRef = null; - if (typeof(this.newNode) != 'undefined') { - newNodeRef = this.newNode; - } - newNode = load(newNodeRef, "newNode", "hc_staff"); - newValue = newNode.nodeValue; - - assertNull("initiallyNull",newValue); - newNode.nodeValue = "This should have no effect"; - - newValue = newNode.nodeValue; - - assertNull("nullAfterAttemptedChange",newValue); - -} - - - - -function runTest() { - hc_nodevalue06(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue07.js deleted file mode 100644 index 867a682..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue07.js +++ /dev/null @@ -1,134 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodevalue07"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - checkFeature("XML", null); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -An Entity is accessed, setNodeValue is called with a non-null argument, but getNodeValue -should still return null. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-527DCFF2 -*/ -function hc_nodevalue07() { - var success; - if(checkInitialization(builder, "hc_nodevalue07") != null) return; - var doc; - var newNode; - var newValue; - var nodeMap; - var docType; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - docType = doc.doctype; - - - if( - - !( - (builder.contentType == "text/html") -) - - ) { - assertNotNull("docTypeNotNull",docType); -nodeMap = docType.entities; - - assertNotNull("entitiesNotNull",nodeMap); -newNode = nodeMap.getNamedItem("alpha"); - assertNotNull("entityNotNull",newNode); -newValue = newNode.nodeValue; - - assertNull("initiallyNull",newValue); - newNode.nodeValue = "This should have no effect"; - - newValue = newNode.nodeValue; - - assertNull("nullAfterAttemptedChange",newValue); - - } - -} - - - - -function runTest() { - hc_nodevalue07(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue08.js deleted file mode 100644 index 6bbab84..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue08.js +++ /dev/null @@ -1,134 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodevalue08"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - checkFeature("XML", null); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -An notation is accessed, setNodeValue is called with a non-null argument, but getNodeValue -should still return null. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-5431D1B9 -*/ -function hc_nodevalue08() { - var success; - if(checkInitialization(builder, "hc_nodevalue08") != null) return; - var doc; - var docType; - var newNode; - var newValue; - var nodeMap; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - docType = doc.doctype; - - - if( - - !( - (builder.contentType == "text/html") -) - - ) { - assertNotNull("docTypeNotNull",docType); -nodeMap = docType.notations; - - assertNotNull("notationsNotNull",nodeMap); -newNode = nodeMap.getNamedItem("notation1"); - assertNotNull("notationNotNull",newNode); -newValue = newNode.nodeValue; - - assertNull("initiallyNull",newValue); - newNode.nodeValue = "This should have no effect"; - - newValue = newNode.nodeValue; - - assertNull("nullAfterAttemptedChange",newValue); - - } - -} - - - - -function runTest() { - hc_nodevalue08(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_notationsremovenameditem1.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_notationsremovenameditem1.js deleted file mode 100644 index 28d3cc6..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_notationsremovenameditem1.js +++ /dev/null @@ -1,133 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_notationsremovenameditem1"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - checkFeature("XML", null); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -An attempt to add remove an notation should result in a NO_MODIFICATION_ERR. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D46829EF -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D58B193 -*/ -function hc_notationsremovenameditem1() { - var success; - if(checkInitialization(builder, "hc_notationsremovenameditem1") != null) return; - var doc; - var notations; - var docType; - var retval; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - docType = doc.doctype; - - - if( - - !( - (builder.contentType == "text/html") -) - - ) { - assertNotNull("docTypeNotNull",docType); -notations = docType.notations; - - assertNotNull("notationsNotNull",notations); - - { - success = false; - try { - retval = notations.removeNamedItem("notation1"); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 7); - } - assertTrue("throw_NO_MODIFICATION_ALLOWED_ERR",success); - } - - } - -} - - - - -function runTest() { - hc_notationsremovenameditem1(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_notationssetnameditem1.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_notationssetnameditem1.js deleted file mode 100644 index 0ae1333..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_notationssetnameditem1.js +++ /dev/null @@ -1,144 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_notationssetnameditem1"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - checkFeature("XML", null); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -An attempt to add an element to the named node map returned by notations should -result in a NO_MODIFICATION_ERR or HIERARCHY_REQUEST_ERR. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D46829EF -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788 -*/ -function hc_notationssetnameditem1() { - var success; - if(checkInitialization(builder, "hc_notationssetnameditem1") != null) return; - var doc; - var notations; - var docType; - var retval; - var elem; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - docType = doc.doctype; - - - if( - - !( - (builder.contentType == "text/html") -) - - ) { - assertNotNull("docTypeNotNull",docType); -notations = docType.notations; - - assertNotNull("notationsNotNull",notations); -elem = doc.createElement("br"); - - try { - retval = notations.setNamedItem(elem); - fail("throw_HIER_OR_NO_MOD_ERR"); - - } catch (ex) { - if (typeof(ex.code) != 'undefined') { - switch(ex.code) { - case /* HIERARCHY_REQUEST_ERR */ 3 : - break; - case /* NO_MODIFICATION_ALLOWED_ERR */ 7 : - break; - default: - throw ex; - } - } else { - throw ex; - } - } - - } - -} - - - - -function runTest() { - hc_notationssetnameditem1(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerrnegativeoffset.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerrnegativeoffset.js deleted file mode 100644 index 965648b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerrnegativeoffset.js +++ /dev/null @@ -1,130 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_textindexsizeerrnegativeoffset"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - setImplementationAttribute("signed", true); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "splitText(offset)" method raises an - INDEX_SIZE_ERR DOMException if the specified offset is - negative. - - Retrieve the textual data from the second child of the - third employee and invoke the "splitText(offset)" method. - The desired exception should be raised since the offset - is a negative number. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-38853C1D -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-38853C1D')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) -*/ -function hc_textindexsizeerrnegativeoffset() { - var success; - if(checkInitialization(builder, "hc_textindexsizeerrnegativeoffset") != null) return; - var doc; - var elementList; - var nameNode; - var textNode; - var splitNode; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("strong"); - nameNode = elementList.item(2); - textNode = nameNode.firstChild; - - - { - success = false; - try { - splitNode = textNode.splitText(-69); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 1); - } - assertTrue("throws_INDEX_SIZE_ERR",success); - } - -} - - - - -function runTest() { - hc_textindexsizeerrnegativeoffset(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerroffsetoutofbounds.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerroffsetoutofbounds.js deleted file mode 100644 index 170d435..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerroffsetoutofbounds.js +++ /dev/null @@ -1,131 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_textindexsizeerroffsetoutofbounds"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "splitText(offset)" method raises an - INDEX_SIZE_ERR DOMException if the specified offset is - greater than the number of characters in the Text node. - - Retrieve the textual data from the second child of the - third employee and invoke the "splitText(offset)" method. - The desired exception should be raised since the offset - is a greater than the number of characters in the Text - node. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-38853C1D -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-38853C1D')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 -*/ -function hc_textindexsizeerroffsetoutofbounds() { - var success; - if(checkInitialization(builder, "hc_textindexsizeerroffsetoutofbounds") != null) return; - var doc; - var elementList; - var nameNode; - var textNode; - var splitNode; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("strong"); - nameNode = elementList.item(2); - textNode = nameNode.firstChild; - - - { - success = false; - try { - splitNode = textNode.splitText(300); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 1); - } - assertTrue("throw_INDEX_SIZE_ERR",success); - } - -} - - - - -function runTest() { - hc_textindexsizeerroffsetoutofbounds(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textparseintolistofelements.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textparseintolistofelements.js deleted file mode 100644 index 71d362f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textparseintolistofelements.js +++ /dev/null @@ -1,169 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_textparseintolistofelements"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - Retrieve the textual data from the last child of the - second employee. That node is composed of two - EntityReference nodes and two Text nodes. After - the content node is parsed, the "acronym" Element - should contain four children with each one of the - EntityReferences containing one child. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1451460987 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-11C98490 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-745549614 -*/ -function hc_textparseintolistofelements() { - var success; - if(checkInitialization(builder, "hc_textparseintolistofelements") != null) return; - var doc; - var elementList; - var addressNode; - var childList; - var child; - var value; - var grandChild; - var length; - var result = new Array(); - - expectedNormal = new Array(); - expectedNormal[0] = "β"; - expectedNormal[1] = " Dallas, "; - expectedNormal[2] = "γ"; - expectedNormal[3] = "\n 98554"; - - expectedExpanded = new Array(); - expectedExpanded[0] = "β Dallas, γ\n 98554"; - - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - addressNode = elementList.item(1); - childList = addressNode.childNodes; - - length = childList.length; - - for(var indexN1007C = 0;indexN1007C < childList.length; indexN1007C++) { - child = childList.item(indexN1007C); - value = child.nodeValue; - - - if( - - (value == null) - - ) { - grandChild = child.firstChild; - - assertNotNull("grandChildNotNull",grandChild); -value = grandChild.nodeValue; - - result[result.length] = value; - - } - - else { - result[result.length] = value; - - } - - } - - if( - (1 == length) - ) { - assertEqualsList("assertEqCoalescing",expectedExpanded,result); - - } - - else { - assertEqualsList("assertEqNormal",expectedNormal,result); - - } - -} - - - - -function runTest() { - hc_textparseintolistofelements(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittextfour.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittextfour.js deleted file mode 100644 index ece64c2..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittextfour.js +++ /dev/null @@ -1,122 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_textsplittextfour"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "splitText(offset)" method returns the new Text node. - - Retrieve the textual data from the last child of the - first employee and invoke the "splitText(offset)" method. - The method should return the new Text node. The offset - value used for this test is 30. The "getNodeValue()" - method is called to check that the new node now contains - the characters at and after position 30. - (Starting count at 0) - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-38853C1D -*/ -function hc_textsplittextfour() { - var success; - if(checkInitialization(builder, "hc_textsplittextfour") != null) return; - var doc; - var elementList; - var addressNode; - var textNode; - var splitNode; - var value; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - addressNode = elementList.item(0); - textNode = addressNode.firstChild; - - splitNode = textNode.splitText(30); - value = splitNode.nodeValue; - - assertEquals("textSplitTextFourAssert","98551",value); - -} - - - - -function runTest() { - hc_textsplittextfour(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittextone.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittextone.js deleted file mode 100644 index 2e089c5..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittextone.js +++ /dev/null @@ -1,126 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_textsplittextone"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "splitText(offset)" method breaks the Text node into - two Text nodes at the specified offset keeping each node - as siblings in the tree. - - Retrieve the textual data from the second child of the - third employee and invoke the "splitText(offset)" method. - The method splits the Text node into two new sibling - Text nodes keeping both of them in the tree. This test - checks the "nextSibling()" method of the original node - to ensure that the two nodes are indeed siblings. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-38853C1D -*/ -function hc_textsplittextone() { - var success; - if(checkInitialization(builder, "hc_textsplittextone") != null) return; - var doc; - var elementList; - var nameNode; - var textNode; - var splitNode; - var secondPart; - var value; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("strong"); - nameNode = elementList.item(2); - textNode = nameNode.firstChild; - - splitNode = textNode.splitText(7); - secondPart = textNode.nextSibling; - - value = secondPart.nodeValue; - - assertEquals("textSplitTextOneAssert","Jones",value); - -} - - - - -function runTest() { - hc_textsplittextone(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittextthree.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittextthree.js deleted file mode 100644 index 6992628..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittextthree.js +++ /dev/null @@ -1,124 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_textsplittextthree"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - After the "splitText(offset)" method breaks the Text node - into two Text nodes, the new Text node contains all the - content at and after the offset point. - - Retrieve the textual data from the second child of the - third employee and invoke the "splitText(offset)" method. - The new Text node should contain all the content - at and after the offset point. The "getNodeValue()" - method is called to check that the new node now contains - the characters at and after position seven. - (Starting count at 0) - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-38853C1D -*/ -function hc_textsplittextthree() { - var success; - if(checkInitialization(builder, "hc_textsplittextthree") != null) return; - var doc; - var elementList; - var nameNode; - var textNode; - var splitNode; - var value; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("strong"); - nameNode = elementList.item(2); - textNode = nameNode.firstChild; - - splitNode = textNode.splitText(6); - value = splitNode.nodeValue; - - assertEquals("textSplitTextThreeAssert"," Jones",value); - -} - - - - -function runTest() { - hc_textsplittextthree(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittexttwo.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittexttwo.js deleted file mode 100644 index 8778694..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittexttwo.js +++ /dev/null @@ -1,123 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_textsplittexttwo"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - After the "splitText(offset)" method breaks the Text node - into two Text nodes, the original node contains all the - content up to the offset point. - - Retrieve the textual data from the second child of the - third employee and invoke the "splitText(offset)" method. - The original Text node should contain all the content - up to the offset point. The "getNodeValue()" method - is called to check that the original node now contains - the first five characters. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-38853C1D -*/ -function hc_textsplittexttwo() { - var success; - if(checkInitialization(builder, "hc_textsplittexttwo") != null) return; - var doc; - var elementList; - var nameNode; - var textNode; - var splitNode; - var value; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("strong"); - nameNode = elementList.item(2); - textNode = nameNode.firstChild; - - splitNode = textNode.splitText(5); - value = textNode.nodeValue; - - assertEquals("textSplitTextTwoAssert","Roger",value); - -} - - - - -function runTest() { - hc_textsplittexttwo(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textwithnomarkup.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textwithnomarkup.js deleted file mode 100644 index 2b3bae9..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textwithnomarkup.js +++ /dev/null @@ -1,122 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_textwithnomarkup"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - If there is not any markup inside an Element or Attr node - content, then the text is contained in a single object - implementing the Text interface that is the only child - of the element. - - Retrieve the textual data from the second child of the - third employee. That Text node contains a block of - multiple text lines without markup, so they should be - treated as a single Text node. The "getNodeValue()" - method should contain the combination of the two lines. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1312295772 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 -*/ -function hc_textwithnomarkup() { - var success; - if(checkInitialization(builder, "hc_textwithnomarkup") != null) return; - var doc; - var elementList; - var nameNode; - var nodeV; - var value; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("strong"); - nameNode = elementList.item(2); - nodeV = nameNode.firstChild; - - value = nodeV.nodeValue; - - assertEquals("textWithNoMarkupAssert","Roger\n Jones",value); - -} - - - - -function runTest() { - hc_textwithnomarkup(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref.js deleted file mode 100644 index ce7e127..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref.js +++ /dev/null @@ -1,143 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/documentinvalidcharacterexceptioncreateentref"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - checkFeature("XML", null); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "createEntityReference(tagName)" method raises an - INVALID_CHARACTER_ERR DOMException if the specified - tagName contains an invalid character. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-392B75AE -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-392B75AE')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR']) -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 -*/ -function documentinvalidcharacterexceptioncreateentref() { - var success; - if(checkInitialization(builder, "documentinvalidcharacterexceptioncreateentref") != null) return; - var doc; - var badEntityRef; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - - if( - - (builder.contentType == "text/html") - - ) { - - { - success = false; - try { - badEntityRef = doc.createEntityReference("foo"); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 9); - } - assertTrue("throw_NOT_SUPPORTED_ERR",success); - } - - } - - else { - - { - success = false; - try { - badEntityRef = doc.createEntityReference("invalid^Name"); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 5); - } - assertTrue("throw_INVALID_CHARACTER_ERR",success); - } - - } - -} - - - - -function runTest() { - documentinvalidcharacterexceptioncreateentref(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref1.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref1.js deleted file mode 100644 index b4d1ec9..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref1.js +++ /dev/null @@ -1,140 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/documentinvalidcharacterexceptioncreateentref1"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - checkFeature("XML", null); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Creating an entity reference with an empty name should cause an INVALID_CHARACTER_ERR. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-392B75AE -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-392B75AE')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR']) -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=525 -*/ -function documentinvalidcharacterexceptioncreateentref1() { - var success; - if(checkInitialization(builder, "documentinvalidcharacterexceptioncreateentref1") != null) return; - var doc; - var badEntityRef; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - - if( - - (builder.contentType == "text/html") - - ) { - - { - success = false; - try { - badEntityRef = doc.createEntityReference("foo"); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 9); - } - assertTrue("throw_NOT_SUPPORTED_ERR",success); - } - - } - - else { - - { - success = false; - try { - badEntityRef = doc.createEntityReference(""); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 5); - } - assertTrue("throw_INVALID_CHARACTER_ERR",success); - } - - } - -} - - - - -function runTest() { - documentinvalidcharacterexceptioncreateentref1(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild1.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild1.js deleted file mode 100644 index 0bb0ad9..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild1.js +++ /dev/null @@ -1,132 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrappendchild1"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Appends a text node to an attribute and checks if the value of -the attribute is changed. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 -*/ -function hc_attrappendchild1() { - var success; - if(checkInitialization(builder, "hc_attrappendchild1") != null) return; - var doc; - var acronymList; - var testNode; - var attributes; - var titleAttr; - var value; - var textNode; - var retval; - var lastChild; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - acronymList = doc.getElementsByTagName("acronym"); - testNode = acronymList.item(3); - attributes = testNode.attributes; - - titleAttr = attributes.getNamedItem("title"); - textNode = doc.createTextNode("terday"); - retval = titleAttr.appendChild(textNode); - value = titleAttr.value; - - assertEquals("attrValue","Yesterday",value); - value = titleAttr.nodeValue; - - assertEquals("attrNodeValue","Yesterday",value); - value = retval.nodeValue; - - assertEquals("retvalValue","terday",value); - lastChild = titleAttr.lastChild; - - value = lastChild.nodeValue; - - assertEquals("lastChildValue","terday",value); - -} - - - - -function runTest() { - hc_attrappendchild1(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild2.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild2.js deleted file mode 100644 index ac53896..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild2.js +++ /dev/null @@ -1,127 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrappendchild2"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Attempts to append an element to the child nodes of an attribute. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 -*/ -function hc_attrappendchild2() { - var success; - if(checkInitialization(builder, "hc_attrappendchild2") != null) return; - var doc; - var acronymList; - var testNode; - var attributes; - var titleAttr; - var value; - var newChild; - var retval; - var lastChild; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - acronymList = doc.getElementsByTagName("acronym"); - testNode = acronymList.item(3); - attributes = testNode.attributes; - - titleAttr = attributes.getNamedItem("title"); - newChild = doc.createElement("terday"); - - { - success = false; - try { - retval = titleAttr.appendChild(newChild); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 3); - } - assertTrue("throw_HIERARCHY_REQUEST_ERR",success); - } - -} - - - - -function runTest() { - hc_attrappendchild2(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild3.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild3.js deleted file mode 100644 index 66adc3d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild3.js +++ /dev/null @@ -1,138 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrappendchild3"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Appends a document fragment to an attribute and checks if the value of -the attribute is changed. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 -*/ -function hc_attrappendchild3() { - var success; - if(checkInitialization(builder, "hc_attrappendchild3") != null) return; - var doc; - var acronymList; - var testNode; - var attributes; - var titleAttr; - var value; - var terNode; - var dayNode; - var retval; - var lastChild; - var docFrag; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - acronymList = doc.getElementsByTagName("acronym"); - testNode = acronymList.item(3); - attributes = testNode.attributes; - - titleAttr = attributes.getNamedItem("title"); - terNode = doc.createTextNode("ter"); - dayNode = doc.createTextNode("day"); - docFrag = doc.createDocumentFragment(); - retval = docFrag.appendChild(terNode); - retval = docFrag.appendChild(dayNode); - retval = titleAttr.appendChild(docFrag); - value = titleAttr.value; - - assertEquals("attrValue","Yesterday",value); - value = titleAttr.nodeValue; - - assertEquals("attrNodeValue","Yesterday",value); - value = retval.nodeValue; - - assertNull("retvalValue",value); - lastChild = titleAttr.lastChild; - - value = lastChild.nodeValue; - - assertEquals("lastChildValue","day",value); - -} - - - - -function runTest() { - hc_attrappendchild3(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild4.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild4.js deleted file mode 100644 index dc70102..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild4.js +++ /dev/null @@ -1,152 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrappendchild4"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - checkFeature("XML", null); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Attempt to append a CDATASection to an attribute which should result -in a HIERARCHY_REQUEST_ERR. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 -*/ -function hc_attrappendchild4() { - var success; - if(checkInitialization(builder, "hc_attrappendchild4") != null) return; - var doc; - var acronymList; - var testNode; - var attributes; - var titleAttr; - var value; - var textNode; - var retval; - var lastChild; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - acronymList = doc.getElementsByTagName("acronym"); - testNode = acronymList.item(3); - attributes = testNode.attributes; - - titleAttr = attributes.getNamedItem("title"); - - if( - - (builder.contentType == "text/html") - - ) { - - { - success = false; - try { - textNode = doc.createCDATASection("terday"); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 9); - } - assertTrue("throw_NOT_SUPPORTED_ERR",success); - } - - } - - else { - textNode = doc.createCDATASection("terday"); - - { - success = false; - try { - retval = titleAttr.appendChild(textNode); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 3); - } - assertTrue("throw_HIERARCHY_REQUEST_ERR",success); - } - - } - -} - - - - -function runTest() { - hc_attrappendchild4(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild5.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild5.js deleted file mode 100644 index c9e8855..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild5.js +++ /dev/null @@ -1,141 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrappendchild5"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - var otherDocRef = null; - if (typeof(this.otherDoc) != 'undefined') { - otherDocRef = this.otherDoc; - } - docsLoaded += preload(otherDocRef, "otherDoc", "hc_staff"); - - if (docsLoaded == 2) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 2) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Attempt to append a node from another document to an attribute which should result -in a WRONG_DOCUMENT_ERR. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 -*/ -function hc_attrappendchild5() { - var success; - if(checkInitialization(builder, "hc_attrappendchild5") != null) return; - var doc; - var acronymList; - var testNode; - var attributes; - var titleAttr; - var value; - var textNode; - var retval; - var lastChild; - var otherDoc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - - var otherDocRef = null; - if (typeof(this.otherDoc) != 'undefined') { - otherDocRef = this.otherDoc; - } - otherDoc = load(otherDocRef, "otherDoc", "hc_staff"); - acronymList = doc.getElementsByTagName("acronym"); - testNode = acronymList.item(3); - attributes = testNode.attributes; - - titleAttr = attributes.getNamedItem("title"); - textNode = otherDoc.createTextNode("terday"); - - { - success = false; - try { - retval = titleAttr.appendChild(textNode); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 4); - } - assertTrue("throw_WRONG_DOCUMENT_ERR",success); - } - -} - - - - -function runTest() { - hc_attrappendchild5(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild6.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild6.js deleted file mode 100644 index 01b3d80..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild6.js +++ /dev/null @@ -1,127 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrappendchild6"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Creates an new attribute node and appends a text node. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 -*/ -function hc_attrappendchild6() { - var success; - if(checkInitialization(builder, "hc_attrappendchild6") != null) return; - var doc; - var acronymList; - var testNode; - var attributes; - var titleAttr; - var value; - var textNode; - var retval; - var lastChild; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - titleAttr = doc.createAttribute("title"); - textNode = doc.createTextNode("Yesterday"); - retval = titleAttr.appendChild(textNode); - value = titleAttr.value; - - assertEquals("attrValue","Yesterday",value); - value = titleAttr.nodeValue; - - assertEquals("attrNodeValue","Yesterday",value); - value = retval.nodeValue; - - assertEquals("retvalValue","Yesterday",value); - lastChild = titleAttr.lastChild; - - value = lastChild.nodeValue; - - assertEquals("lastChildValue","Yesterday",value); - -} - - - - -function runTest() { - hc_attrappendchild6(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes1.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes1.js deleted file mode 100644 index ac088f4..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes1.js +++ /dev/null @@ -1,124 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrchildnodes1"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Checks that Node.childNodes for an attribute node contains -the expected text node. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1451460987 -*/ -function hc_attrchildnodes1() { - var success; - if(checkInitialization(builder, "hc_attrchildnodes1") != null) return; - var doc; - var acronymList; - var testNode; - var attributes; - var titleAttr; - var value; - var textNode; - var childNodes; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - acronymList = doc.getElementsByTagName("acronym"); - testNode = acronymList.item(3); - attributes = testNode.attributes; - - titleAttr = attributes.getNamedItem("title"); - childNodes = titleAttr.childNodes; - - assertSize("childNodesSize",1,childNodes); -textNode = childNodes.item(0); - value = textNode.nodeValue; - - assertEquals("child1IsYes","Yes",value); - textNode = childNodes.item(1); - assertNull("secondItemIsNull",textNode); - -} - - - - -function runTest() { - hc_attrchildnodes1(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes2.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes2.js deleted file mode 100644 index c6c6cd5..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes2.js +++ /dev/null @@ -1,130 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrchildnodes2"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Checks Node.childNodes for an attribute with multiple child nodes. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1451460987 -*/ -function hc_attrchildnodes2() { - var success; - if(checkInitialization(builder, "hc_attrchildnodes2") != null) return; - var doc; - var acronymList; - var testNode; - var attributes; - var titleAttr; - var value; - var textNode; - var childNodes; - var retval; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - acronymList = doc.getElementsByTagName("acronym"); - testNode = acronymList.item(3); - attributes = testNode.attributes; - - titleAttr = attributes.getNamedItem("title"); - childNodes = titleAttr.childNodes; - - textNode = doc.createTextNode("terday"); - retval = titleAttr.appendChild(textNode); - assertSize("childNodesSize",2,childNodes); -textNode = childNodes.item(0); - value = textNode.nodeValue; - - assertEquals("child1IsYes","Yes",value); - textNode = childNodes.item(1); - value = textNode.nodeValue; - - assertEquals("child2IsTerday","terday",value); - textNode = childNodes.item(2); - assertNull("thirdItemIsNull",textNode); - -} - - - - -function runTest() { - hc_attrchildnodes2(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrclonenode1.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrclonenode1.js deleted file mode 100644 index 7667e85..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrclonenode1.js +++ /dev/null @@ -1,132 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrclonenode1"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Appends a text node to an attribute and clones the node. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3A0ED0A4 -*/ -function hc_attrclonenode1() { - var success; - if(checkInitialization(builder, "hc_attrclonenode1") != null) return; - var doc; - var acronymList; - var testNode; - var attributes; - var titleAttr; - var value; - var textNode; - var retval; - var lastChild; - var clonedTitle; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - acronymList = doc.getElementsByTagName("acronym"); - testNode = acronymList.item(3); - attributes = testNode.attributes; - - titleAttr = attributes.getNamedItem("title"); - textNode = doc.createTextNode("terday"); - retval = titleAttr.appendChild(textNode); - clonedTitle = titleAttr.cloneNode(false); - textNode.nodeValue = "text_node_not_cloned"; - - value = clonedTitle.value; - - assertEquals("attrValue","Yesterday",value); - value = clonedTitle.nodeValue; - - assertEquals("attrNodeValue","Yesterday",value); - lastChild = clonedTitle.lastChild; - - value = lastChild.nodeValue; - - assertEquals("lastChildValue","terday",value); - -} - - - - -function runTest() { - hc_attrclonenode1(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatedocumentfragment.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatedocumentfragment.js deleted file mode 100644 index b35e00f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatedocumentfragment.js +++ /dev/null @@ -1,138 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrcreatedocumentfragment"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - Create a new DocumentFragment and add a newly created Element node(with one attribute). - Once the element is added, its attribute should be available as an attribute associated - with an Element within a DocumentFragment. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-35CB04B5 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68F082 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A3 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 -* @see http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=184 -*/ -function hc_attrcreatedocumentfragment() { - var success; - if(checkInitialization(builder, "hc_attrcreatedocumentfragment") != null) return; - var doc; - var docFragment; - var newOne; - var domesticNode; - var attributes; - var attribute; - var attrName; - var appendedChild; - var langAttrCount = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - docFragment = doc.createDocumentFragment(); - newOne = doc.createElement("html"); - newOne.setAttribute("lang","EN"); - appendedChild = docFragment.appendChild(newOne); - domesticNode = docFragment.firstChild; - - attributes = domesticNode.attributes; - - for(var indexN10078 = 0;indexN10078 < attributes.length; indexN10078++) { - attribute = attributes.item(indexN10078); - attrName = attribute.nodeName; - - - if( - equalsAutoCase("attribute", "lang", attrName) - ) { - langAttrCount += 1; - - } - - } - assertEquals("hasLangAttr",1,langAttrCount); - -} - - - - -function runTest() { - hc_attrcreatedocumentfragment(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode.js deleted file mode 100644 index 0298426..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode.js +++ /dev/null @@ -1,127 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrcreatetextnode"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "setValue()" method for an attribute creates a - Text node with the unparsed content of the string. - Retrieve the attribute named "class" from the last - child of of the fourth employee and assign the "Y&ent1;" - string to its value attribute. This value is not yet - parsed and therefore should still be the same upon - retrieval. This test uses the "getNamedItem(name)" method - from the NamedNodeMap interface. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-221662474 -* @see http://lists.w3.org/Archives/Public/www-dom-ts/2002Apr/0057.html -*/ -function hc_attrcreatetextnode() { - var success; - if(checkInitialization(builder, "hc_attrcreatetextnode") != null) return; - var doc; - var addressList; - var testNode; - var attributes; - var streetAttr; - var value; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - addressList = doc.getElementsByTagName("acronym"); - testNode = addressList.item(3); - attributes = testNode.attributes; - - streetAttr = attributes.getNamedItem("class"); - streetAttr.value = "Y&ent1;"; - - value = streetAttr.value; - - assertEquals("value","Y&ent1;",value); - value = streetAttr.nodeValue; - - assertEquals("nodeValue","Y&ent1;",value); - -} - - - - -function runTest() { - hc_attrcreatetextnode(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode2.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode2.js deleted file mode 100644 index bfa0d05..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode2.js +++ /dev/null @@ -1,127 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrcreatetextnode2"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "setNodeValue()" method for an attribute creates a - Text node with the unparsed content of the string. - Retrieve the attribute named "class" from the last - child of of the fourth employee and assign the "Y&ent1;" - string to its value attribute. This value is not yet - parsed and therefore should still be the same upon - retrieval. This test uses the "getNamedItem(name)" method - from the NamedNodeMap interface. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 -* @see http://lists.w3.org/Archives/Public/www-dom-ts/2002Apr/0057.html -*/ -function hc_attrcreatetextnode2() { - var success; - if(checkInitialization(builder, "hc_attrcreatetextnode2") != null) return; - var doc; - var addressList; - var testNode; - var attributes; - var streetAttr; - var value; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - addressList = doc.getElementsByTagName("acronym"); - testNode = addressList.item(3); - attributes = testNode.attributes; - - streetAttr = attributes.getNamedItem("class"); - streetAttr.nodeValue = "Y&ent1;"; - - value = streetAttr.value; - - assertEquals("value","Y&ent1;",value); - value = streetAttr.nodeValue; - - assertEquals("nodeValue","Y&ent1;",value); - -} - - - - -function runTest() { - hc_attrcreatetextnode2(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attreffectivevalue.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attreffectivevalue.js deleted file mode 100644 index 89a41c0..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attreffectivevalue.js +++ /dev/null @@ -1,118 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attreffectivevalue"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - If an Attr is explicitly assigned any value, then that value is the attributes effective value. - Retrieve the attribute named "domestic" from the last child of of the first employee - and examine its nodeValue attribute. This test uses the "getNamedItem(name)" method - from the NamedNodeMap interface. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1074577549 -*/ -function hc_attreffectivevalue() { - var success; - if(checkInitialization(builder, "hc_attreffectivevalue") != null) return; - var doc; - var addressList; - var testNode; - var attributes; - var domesticAttr; - var value; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - addressList = doc.getElementsByTagName("acronym"); - testNode = addressList.item(0); - attributes = testNode.attributes; - - domesticAttr = attributes.getNamedItem("title"); - value = domesticAttr.nodeValue; - - assertEquals("attrEffectiveValueAssert","Yes",value); - -} - - - - -function runTest() { - hc_attreffectivevalue(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrfirstchild.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrfirstchild.js deleted file mode 100644 index 68f8b52..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrfirstchild.js +++ /dev/null @@ -1,127 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrfirstchild"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Checks that Node.firstChild for an attribute node contains -the expected text node. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-169727388 -*/ -function hc_attrfirstchild() { - var success; - if(checkInitialization(builder, "hc_attrfirstchild") != null) return; - var doc; - var acronymList; - var testNode; - var attributes; - var titleAttr; - var value; - var textNode; - var otherChild; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - acronymList = doc.getElementsByTagName("acronym"); - testNode = acronymList.item(3); - attributes = testNode.attributes; - - titleAttr = attributes.getNamedItem("title"); - textNode = titleAttr.firstChild; - - assertNotNull("textNodeNotNull",textNode); -value = textNode.nodeValue; - - assertEquals("child1IsYes","Yes",value); - otherChild = textNode.nextSibling; - - assertNull("nextSiblingIsNull",otherChild); - otherChild = textNode.previousSibling; - - assertNull("previousSiblingIsNull",otherChild); - -} - - - - -function runTest() { - hc_attrfirstchild(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue1.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue1.js deleted file mode 100644 index 9ee328c..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue1.js +++ /dev/null @@ -1,117 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrgetvalue1"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Checks the value of an attribute that contains entity references. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-221662474 -*/ -function hc_attrgetvalue1() { - var success; - if(checkInitialization(builder, "hc_attrgetvalue1") != null) return; - var doc; - var acronymList; - var testNode; - var attributes; - var titleAttr; - var value; - var textNode; - var retval; - var lastChild; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - acronymList = doc.getElementsByTagName("acronym"); - testNode = acronymList.item(3); - attributes = testNode.attributes; - - titleAttr = attributes.getNamedItem("class"); - value = titleAttr.value; - - assertEquals("attrValue1","Yα",value); - -} - - - - -function runTest() { - hc_attrgetvalue1(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue2.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue2.js deleted file mode 100644 index 94cc2ae..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue2.js +++ /dev/null @@ -1,146 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrgetvalue2"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - checkFeature("XML", null); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Checks the value of an attribute that contains entity references. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-221662474 -*/ -function hc_attrgetvalue2() { - var success; - if(checkInitialization(builder, "hc_attrgetvalue2") != null) return; - var doc; - var acronymList; - var testNode; - var attributes; - var titleAttr; - var value; - var textNode; - var retval; - var firstChild; - var alphaRef; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - acronymList = doc.getElementsByTagName("acronym"); - testNode = acronymList.item(3); - attributes = testNode.attributes; - - titleAttr = attributes.getNamedItem("class"); - - if( - - (builder.contentType == "text/html") - - ) { - - { - success = false; - try { - alphaRef = doc.createEntityReference("alpha"); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 9); - } - assertTrue("throw_NOT_SUPPORTED_ERR",success); - } - - } - - else { - alphaRef = doc.createEntityReference("alpha"); - firstChild = titleAttr.firstChild; - - retval = titleAttr.insertBefore(alphaRef,firstChild); - value = titleAttr.value; - - assertEquals("attrValue1","αYα",value); - - } - -} - - - - -function runTest() { - hc_attrgetvalue2(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrhaschildnodes.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrhaschildnodes.js deleted file mode 100644 index 71487c3..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrhaschildnodes.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrhaschildnodes"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Checks that Node.hasChildNodes() is true for an attribute with content. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-810594187 -*/ -function hc_attrhaschildnodes() { - var success; - if(checkInitialization(builder, "hc_attrhaschildnodes") != null) return; - var doc; - var acronymList; - var testNode; - var attributes; - var titleAttr; - var hasChildNodes; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - acronymList = doc.getElementsByTagName("acronym"); - testNode = acronymList.item(3); - attributes = testNode.attributes; - - titleAttr = attributes.getNamedItem("title"); - hasChildNodes = titleAttr.hasChildNodes(); - assertTrue("hasChildrenIsTrue",hasChildNodes); - -} - - - - -function runTest() { - hc_attrhaschildnodes(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore1.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore1.js deleted file mode 100644 index 89aa99e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore1.js +++ /dev/null @@ -1,140 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrinsertbefore1"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Appends a text node to an attribute and checks if the value of -the attribute is changed. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 -*/ -function hc_attrinsertbefore1() { - var success; - if(checkInitialization(builder, "hc_attrinsertbefore1") != null) return; - var doc; - var acronymList; - var testNode; - var attributes; - var titleAttr; - var value; - var textNode; - var retval; - var firstChild; - var lastChild; - var refChild = null; - - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - acronymList = doc.getElementsByTagName("acronym"); - testNode = acronymList.item(3); - attributes = testNode.attributes; - - titleAttr = attributes.getNamedItem("title"); - textNode = doc.createTextNode("terday"); - retval = titleAttr.insertBefore(textNode,refChild); - value = titleAttr.value; - - assertEquals("attrValue","Yesterday",value); - value = titleAttr.nodeValue; - - assertEquals("attrNodeValue","Yesterday",value); - value = retval.nodeValue; - - assertEquals("retvalValue","terday",value); - firstChild = titleAttr.firstChild; - - value = firstChild.nodeValue; - - assertEquals("firstChildValue","Yes",value); - lastChild = titleAttr.lastChild; - - value = lastChild.nodeValue; - - assertEquals("lastChildValue","terday",value); - -} - - - - -function runTest() { - hc_attrinsertbefore1(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore2.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore2.js deleted file mode 100644 index cc4f50e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore2.js +++ /dev/null @@ -1,141 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrinsertbefore2"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Prepends a text node to an attribute and checks if the value of -the attribute is changed. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 -*/ -function hc_attrinsertbefore2() { - var success; - if(checkInitialization(builder, "hc_attrinsertbefore2") != null) return; - var doc; - var acronymList; - var testNode; - var attributes; - var titleAttr; - var value; - var textNode; - var retval; - var lastChild; - var firstChild; - var refChild; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - acronymList = doc.getElementsByTagName("acronym"); - testNode = acronymList.item(3); - attributes = testNode.attributes; - - titleAttr = attributes.getNamedItem("title"); - textNode = doc.createTextNode("terday"); - refChild = titleAttr.firstChild; - - retval = titleAttr.insertBefore(textNode,refChild); - value = titleAttr.value; - - assertEquals("attrValue","terdayYes",value); - value = titleAttr.nodeValue; - - assertEquals("attrNodeValue","terdayYes",value); - value = retval.nodeValue; - - assertEquals("retvalValue","terday",value); - firstChild = titleAttr.firstChild; - - value = firstChild.nodeValue; - - assertEquals("firstChildValue","terday",value); - lastChild = titleAttr.lastChild; - - value = lastChild.nodeValue; - - assertEquals("lastChildValue","Yes",value); - -} - - - - -function runTest() { - hc_attrinsertbefore2(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore3.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore3.js deleted file mode 100644 index 3cb24cd..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore3.js +++ /dev/null @@ -1,146 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrinsertbefore3"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Appends a document fragment to an attribute and checks if the value of -the attribute is changed. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 -*/ -function hc_attrinsertbefore3() { - var success; - if(checkInitialization(builder, "hc_attrinsertbefore3") != null) return; - var doc; - var acronymList; - var testNode; - var attributes; - var titleAttr; - var value; - var terNode; - var dayNode; - var docFrag; - var retval; - var firstChild; - var lastChild; - var refChild = null; - - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - acronymList = doc.getElementsByTagName("acronym"); - testNode = acronymList.item(3); - attributes = testNode.attributes; - - titleAttr = attributes.getNamedItem("title"); - terNode = doc.createTextNode("ter"); - dayNode = doc.createTextNode("day"); - docFrag = doc.createDocumentFragment(); - retval = docFrag.appendChild(terNode); - retval = docFrag.appendChild(dayNode); - retval = titleAttr.insertBefore(docFrag,refChild); - value = titleAttr.value; - - assertEquals("attrValue","Yesterday",value); - value = titleAttr.nodeValue; - - assertEquals("attrNodeValue","Yesterday",value); - value = retval.nodeValue; - - assertNull("retvalValue",value); - firstChild = titleAttr.firstChild; - - value = firstChild.nodeValue; - - assertEquals("firstChildValue","Yes",value); - lastChild = titleAttr.lastChild; - - value = lastChild.nodeValue; - - assertEquals("lastChildValue","day",value); - -} - - - - -function runTest() { - hc_attrinsertbefore3(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore4.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore4.js deleted file mode 100644 index 700e61d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore4.js +++ /dev/null @@ -1,147 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrinsertbefore4"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Prepends a document fragment to an attribute and checks if the value of -the attribute is changed. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 -*/ -function hc_attrinsertbefore4() { - var success; - if(checkInitialization(builder, "hc_attrinsertbefore4") != null) return; - var doc; - var acronymList; - var testNode; - var attributes; - var titleAttr; - var value; - var terNode; - var dayNode; - var docFrag; - var retval; - var firstChild; - var lastChild; - var refChild; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - acronymList = doc.getElementsByTagName("acronym"); - testNode = acronymList.item(3); - attributes = testNode.attributes; - - titleAttr = attributes.getNamedItem("title"); - terNode = doc.createTextNode("ter"); - dayNode = doc.createTextNode("day"); - docFrag = doc.createDocumentFragment(); - retval = docFrag.appendChild(terNode); - retval = docFrag.appendChild(dayNode); - refChild = titleAttr.firstChild; - - retval = titleAttr.insertBefore(docFrag,refChild); - value = titleAttr.value; - - assertEquals("attrValue","terdayYes",value); - value = titleAttr.nodeValue; - - assertEquals("attrNodeValue","terdayYes",value); - value = retval.nodeValue; - - assertNull("retvalValue",value); - firstChild = titleAttr.firstChild; - - value = firstChild.nodeValue; - - assertEquals("firstChildValue","ter",value); - lastChild = titleAttr.lastChild; - - value = lastChild.nodeValue; - - assertEquals("lastChildValue","Yes",value); - -} - - - - -function runTest() { - hc_attrinsertbefore4(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore5.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore5.js deleted file mode 100644 index a9737ed..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore5.js +++ /dev/null @@ -1,153 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrinsertbefore5"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - checkFeature("XML", null); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Attempt to append a CDATASection to an attribute which should result -in a HIERARCHY_REQUEST_ERR. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 -*/ -function hc_attrinsertbefore5() { - var success; - if(checkInitialization(builder, "hc_attrinsertbefore5") != null) return; - var doc; - var acronymList; - var testNode; - var attributes; - var titleAttr; - var value; - var textNode; - var retval; - var refChild = null; - - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - acronymList = doc.getElementsByTagName("acronym"); - testNode = acronymList.item(3); - attributes = testNode.attributes; - - titleAttr = attributes.getNamedItem("title"); - - if( - - (builder.contentType == "text/html") - - ) { - - { - success = false; - try { - textNode = doc.createCDATASection("terday"); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 9); - } - assertTrue("throw_NOT_SUPPORTED_ERR",success); - } - - } - - else { - textNode = doc.createCDATASection("terday"); - - { - success = false; - try { - retval = titleAttr.insertBefore(textNode,refChild); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 3); - } - assertTrue("throw_HIERARCHY_REQUEST_ERR",success); - } - - } - -} - - - - -function runTest() { - hc_attrinsertbefore5(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore6.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore6.js deleted file mode 100644 index dc04f62..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore6.js +++ /dev/null @@ -1,142 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrinsertbefore6"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - var otherDocRef = null; - if (typeof(this.otherDoc) != 'undefined') { - otherDocRef = this.otherDoc; - } - docsLoaded += preload(otherDocRef, "otherDoc", "hc_staff"); - - if (docsLoaded == 2) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 2) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Attempt to append a text node from another document to an attribute which should result -in a WRONG_DOCUMENT_ERR. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 -*/ -function hc_attrinsertbefore6() { - var success; - if(checkInitialization(builder, "hc_attrinsertbefore6") != null) return; - var doc; - var acronymList; - var testNode; - var attributes; - var titleAttr; - var value; - var textNode; - var retval; - var refChild = null; - - var otherDoc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - - var otherDocRef = null; - if (typeof(this.otherDoc) != 'undefined') { - otherDocRef = this.otherDoc; - } - otherDoc = load(otherDocRef, "otherDoc", "hc_staff"); - acronymList = doc.getElementsByTagName("acronym"); - testNode = acronymList.item(3); - attributes = testNode.attributes; - - titleAttr = attributes.getNamedItem("title"); - textNode = otherDoc.createTextNode("terday"); - - { - success = false; - try { - retval = titleAttr.insertBefore(textNode,refChild); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 4); - } - assertTrue("throw_WRONG_DOCUMENT_ERR",success); - } - -} - - - - -function runTest() { - hc_attrinsertbefore6(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore7.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore7.js deleted file mode 100644 index f014502..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore7.js +++ /dev/null @@ -1,160 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrinsertbefore7"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - checkFeature("XML", null); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Appends a document fragment containing a CDATASection to an attribute. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 -*/ -function hc_attrinsertbefore7() { - var success; - if(checkInitialization(builder, "hc_attrinsertbefore7") != null) return; - var doc; - var acronymList; - var testNode; - var attributes; - var titleAttr; - var value; - var terNode; - var dayNode; - var docFrag; - var retval; - var firstChild; - var lastChild; - var refChild = null; - - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - acronymList = doc.getElementsByTagName("acronym"); - testNode = acronymList.item(3); - attributes = testNode.attributes; - - titleAttr = attributes.getNamedItem("title"); - terNode = doc.createTextNode("ter"); - - if( - - (builder.contentType == "text/html") - - ) { - - { - success = false; - try { - dayNode = doc.createCDATASection("day"); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 9); - } - assertTrue("throw_NOT_SUPPORTED_ERR",success); - } - - } - - else { - dayNode = doc.createCDATASection("day"); - docFrag = doc.createDocumentFragment(); - retval = docFrag.appendChild(terNode); - retval = docFrag.appendChild(dayNode); - - { - success = false; - try { - retval = titleAttr.insertBefore(docFrag,refChild); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 3); - } - assertTrue("throw_HIERARCHY_REQUEST_ERR",success); - } - - } - -} - - - - -function runTest() { - hc_attrinsertbefore7(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrlastchild.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrlastchild.js deleted file mode 100644 index 1df7342..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrlastchild.js +++ /dev/null @@ -1,127 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrlastchild"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Checks that Node.lastChild for an attribute node contains -the expected text node. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-61AD09FB -*/ -function hc_attrlastchild() { - var success; - if(checkInitialization(builder, "hc_attrlastchild") != null) return; - var doc; - var acronymList; - var testNode; - var attributes; - var titleAttr; - var value; - var textNode; - var otherChild; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - acronymList = doc.getElementsByTagName("acronym"); - testNode = acronymList.item(3); - attributes = testNode.attributes; - - titleAttr = attributes.getNamedItem("title"); - textNode = titleAttr.firstChild; - - assertNotNull("textNodeNotNull",textNode); -value = textNode.nodeValue; - - assertEquals("child1IsYes","Yes",value); - otherChild = textNode.nextSibling; - - assertNull("nextSiblingIsNull",otherChild); - otherChild = textNode.previousSibling; - - assertNull("previousSiblingIsNull",otherChild); - -} - - - - -function runTest() { - hc_attrlastchild(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrname.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrname.js deleted file mode 100644 index 890fae1..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrname.js +++ /dev/null @@ -1,123 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrname"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - Retrieve the attribute named class from the last - child of of the second "p" element and examine its - NodeName. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1112119403 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 -* @see http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html -*/ -function hc_attrname() { - var success; - if(checkInitialization(builder, "hc_attrname") != null) return; - var doc; - var addressList; - var testNode; - var attributes; - var streetAttr; - var strong1; - var strong2; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - addressList = doc.getElementsByTagName("acronym"); - testNode = addressList.item(1); - attributes = testNode.attributes; - - streetAttr = attributes.getNamedItem("class"); - strong1 = streetAttr.nodeName; - - strong2 = streetAttr.name; - - assertEqualsAutoCase("attribute", "nodeName","class",strong1); - assertEqualsAutoCase("attribute", "name","class",strong2); - -} - - - - -function runTest() { - hc_attrname(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnextsiblingnull.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnextsiblingnull.js deleted file mode 100644 index 12fc9f9..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnextsiblingnull.js +++ /dev/null @@ -1,118 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrnextsiblingnull"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -The "getNextSibling()" method for an Attr node should return null. -Retrieve the attribute named "domestic" from the last child of of the -first employee and examine its NextSibling node. This test uses the -"getNamedItem(name)" method from the NamedNodeMap interface. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6AC54C2F -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 -*/ -function hc_attrnextsiblingnull() { - var success; - if(checkInitialization(builder, "hc_attrnextsiblingnull") != null) return; - var doc; - var addressList; - var testNode; - var attributes; - var domesticAttr; - var s; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - addressList = doc.getElementsByTagName("acronym"); - testNode = addressList.item(0); - attributes = testNode.attributes; - - domesticAttr = attributes.getNamedItem("title"); - s = domesticAttr.nextSibling; - - assertNull("attrNextSiblingNullAssert",s); - -} - - - - -function runTest() { - hc_attrnextsiblingnull(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnormalize.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnormalize.js deleted file mode 100644 index d9f5e29..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnormalize.js +++ /dev/null @@ -1,133 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrnormalize"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Appends a text node to an attribute, normalizes the attribute -and checks for a single child node. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-162CF083 -*/ -function hc_attrnormalize() { - var success; - if(checkInitialization(builder, "hc_attrnormalize") != null) return; - var doc; - var acronymList; - var testNode; - var attributes; - var titleAttr; - var value; - var textNode; - var retval; - var firstChild; - var secondChild; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - acronymList = doc.getElementsByTagName("acronym"); - testNode = acronymList.item(3); - attributes = testNode.attributes; - - titleAttr = attributes.getNamedItem("title"); - textNode = doc.createTextNode("terday"); - retval = titleAttr.appendChild(textNode); - textNode = doc.createTextNode(""); - retval = titleAttr.appendChild(textNode); - testNode.normalize(); - value = titleAttr.nodeValue; - - assertEquals("attrNodeValue","Yesterday",value); - firstChild = titleAttr.firstChild; - - value = firstChild.nodeValue; - - assertEquals("firstChildValue","Yesterday",value); - secondChild = firstChild.nextSibling; - - assertNull("secondChildIsNull",secondChild); - -} - - - - -function runTest() { - hc_attrnormalize(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrparentnodenull.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrparentnodenull.js deleted file mode 100644 index 3c6a403..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrparentnodenull.js +++ /dev/null @@ -1,118 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrparentnodenull"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -The "getParentNode()" method for an Attr node should return null. Retrieve -the attribute named "domestic" from the last child of the first employee -and examine its parentNode attribute. This test also uses the "getNamedItem(name)" -method from the NamedNodeMap interface. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1060184317 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 -*/ -function hc_attrparentnodenull() { - var success; - if(checkInitialization(builder, "hc_attrparentnodenull") != null) return; - var doc; - var addressList; - var testNode; - var attributes; - var domesticAttr; - var s; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - addressList = doc.getElementsByTagName("acronym"); - testNode = addressList.item(0); - attributes = testNode.attributes; - - domesticAttr = attributes.getNamedItem("title"); - s = domesticAttr.parentNode; - - assertNull("attrParentNodeNullAssert",s); - -} - - - - -function runTest() { - hc_attrparentnodenull(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrprevioussiblingnull.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrprevioussiblingnull.js deleted file mode 100644 index 2773718..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrprevioussiblingnull.js +++ /dev/null @@ -1,118 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrprevioussiblingnull"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -The "getPreviousSibling()" method for an Attr node should return null. -Retrieve the attribute named "domestic" from the last child of of the -first employee and examine its PreviousSibling node. This test uses the -"getNamedItem(name)" method from the NamedNodeMap interface. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-640FB3C8 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 -*/ -function hc_attrprevioussiblingnull() { - var success; - if(checkInitialization(builder, "hc_attrprevioussiblingnull") != null) return; - var doc; - var addressList; - var testNode; - var attributes; - var domesticAttr; - var s; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - addressList = doc.getElementsByTagName("acronym"); - testNode = addressList.item(0); - attributes = testNode.attributes; - - domesticAttr = attributes.getNamedItem("title"); - s = domesticAttr.previousSibling; - - assertNull("attrPreviousSiblingNullAssert",s); - -} - - - - -function runTest() { - hc_attrprevioussiblingnull(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild1.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild1.js deleted file mode 100644 index 5f98746..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild1.js +++ /dev/null @@ -1,131 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrremovechild1"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Removes the child node of an attribute and checks that the value is empty. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066 -*/ -function hc_attrremovechild1() { - var success; - if(checkInitialization(builder, "hc_attrremovechild1") != null) return; - var doc; - var acronymList; - var testNode; - var attributes; - var titleAttr; - var value; - var textNode; - var retval; - var firstChild; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - acronymList = doc.getElementsByTagName("acronym"); - testNode = acronymList.item(3); - attributes = testNode.attributes; - - titleAttr = attributes.getNamedItem("title"); - textNode = titleAttr.firstChild; - - assertNotNull("attrChildNotNull",textNode); -retval = titleAttr.removeChild(textNode); - value = titleAttr.value; - - assertEquals("attrValue","",value); - value = titleAttr.nodeValue; - - assertEquals("attrNodeValue","",value); - value = retval.nodeValue; - - assertEquals("retvalValue","Yes",value); - firstChild = titleAttr.firstChild; - - assertNull("firstChildNull",firstChild); - -} - - - - -function runTest() { - hc_attrremovechild1(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild2.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild2.js deleted file mode 100644 index 3e19f4e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild2.js +++ /dev/null @@ -1,126 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrremovechild2"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Attempts to remove a freshly created text node which should result in a NOT_FOUND_ERR exception. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066 -*/ -function hc_attrremovechild2() { - var success; - if(checkInitialization(builder, "hc_attrremovechild2") != null) return; - var doc; - var acronymList; - var testNode; - var attributes; - var titleAttr; - var value; - var textNode; - var retval; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - acronymList = doc.getElementsByTagName("acronym"); - testNode = acronymList.item(3); - attributes = testNode.attributes; - - titleAttr = attributes.getNamedItem("title"); - textNode = doc.createTextNode("Yesterday"); - - { - success = false; - try { - retval = titleAttr.removeChild(textNode); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 8); - } - assertTrue("throw_NOT_FOUND_ERR",success); - } - -} - - - - -function runTest() { - hc_attrremovechild2(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild1.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild1.js deleted file mode 100644 index ff499e5..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild1.js +++ /dev/null @@ -1,135 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrreplacechild1"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Replaces a text node of an attribute and checks if the value of -the attribute is changed. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 -*/ -function hc_attrreplacechild1() { - var success; - if(checkInitialization(builder, "hc_attrreplacechild1") != null) return; - var doc; - var acronymList; - var testNode; - var attributes; - var titleAttr; - var value; - var textNode; - var retval; - var firstChild; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - acronymList = doc.getElementsByTagName("acronym"); - testNode = acronymList.item(3); - attributes = testNode.attributes; - - titleAttr = attributes.getNamedItem("title"); - textNode = doc.createTextNode("terday"); - firstChild = titleAttr.firstChild; - - assertNotNull("attrChildNotNull",firstChild); -retval = titleAttr.replaceChild(textNode,firstChild); - value = titleAttr.value; - - assertEquals("attrValue","terday",value); - value = titleAttr.nodeValue; - - assertEquals("attrNodeValue","terday",value); - value = retval.nodeValue; - - assertEquals("retvalValue","Yes",value); - firstChild = titleAttr.firstChild; - - value = firstChild.nodeValue; - - assertEquals("firstChildValue","terday",value); - -} - - - - -function runTest() { - hc_attrreplacechild1(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild2.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild2.js deleted file mode 100644 index c26d316..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild2.js +++ /dev/null @@ -1,141 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrreplacechild2"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Replaces a text node of an attribute with a document fragment and checks if the value of -the attribute is changed. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 -*/ -function hc_attrreplacechild2() { - var success; - if(checkInitialization(builder, "hc_attrreplacechild2") != null) return; - var doc; - var acronymList; - var testNode; - var attributes; - var titleAttr; - var value; - var terNode; - var dayNode; - var docFrag; - var retval; - var firstChild; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - acronymList = doc.getElementsByTagName("acronym"); - testNode = acronymList.item(3); - attributes = testNode.attributes; - - titleAttr = attributes.getNamedItem("title"); - terNode = doc.createTextNode("ter"); - dayNode = doc.createTextNode("day"); - docFrag = doc.createDocumentFragment(); - retval = docFrag.appendChild(terNode); - retval = docFrag.appendChild(dayNode); - firstChild = titleAttr.firstChild; - - assertNotNull("attrChildNotNull",firstChild); -retval = titleAttr.replaceChild(docFrag,firstChild); - value = titleAttr.value; - - assertEquals("attrValue","terday",value); - value = titleAttr.nodeValue; - - assertEquals("attrNodeValue","terday",value); - value = retval.nodeValue; - - assertEquals("retvalValue","Yes",value); - firstChild = titleAttr.firstChild; - - value = firstChild.nodeValue; - - assertEquals("firstChildValue","ter",value); - -} - - - - -function runTest() { - hc_attrreplacechild2(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue1.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue1.js deleted file mode 100644 index 457f7b6..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue1.js +++ /dev/null @@ -1,135 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrsetvalue1"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Sets Attr.value on an attribute that only has a simple value. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-221662474 -*/ -function hc_attrsetvalue1() { - var success; - if(checkInitialization(builder, "hc_attrsetvalue1") != null) return; - var doc; - var acronymList; - var testNode; - var attributes; - var titleAttr; - var value; - var retval; - var firstChild; - var otherChild; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - acronymList = doc.getElementsByTagName("acronym"); - testNode = acronymList.item(3); - attributes = testNode.attributes; - - titleAttr = attributes.getNamedItem("title"); - firstChild = titleAttr.firstChild; - - assertNotNull("attrChildNotNull",firstChild); -titleAttr.value = "Tomorrow"; - - firstChild.nodeValue = "impl reused node"; - - value = titleAttr.value; - - assertEquals("attrValue","Tomorrow",value); - value = titleAttr.nodeValue; - - assertEquals("attrNodeValue","Tomorrow",value); - firstChild = titleAttr.lastChild; - - value = firstChild.nodeValue; - - assertEquals("firstChildValue","Tomorrow",value); - otherChild = firstChild.nextSibling; - - assertNull("nextSiblingIsNull",otherChild); - -} - - - - -function runTest() { - hc_attrsetvalue1(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue2.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue2.js deleted file mode 100644 index 029d7d5..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue2.js +++ /dev/null @@ -1,138 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrsetvalue2"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Sets Attr.value on an attribute that should contain multiple child nodes. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-221662474 -*/ -function hc_attrsetvalue2() { - var success; - if(checkInitialization(builder, "hc_attrsetvalue2") != null) return; - var doc; - var acronymList; - var testNode; - var attributes; - var titleAttr; - var value; - var textNode; - var retval; - var firstChild; - var otherChild; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - acronymList = doc.getElementsByTagName("acronym"); - testNode = acronymList.item(3); - attributes = testNode.attributes; - - titleAttr = attributes.getNamedItem("title"); - textNode = doc.createTextNode("terday"); - retval = titleAttr.appendChild(textNode); - firstChild = titleAttr.firstChild; - - assertNotNull("attrChildNotNull",firstChild); -titleAttr.value = "Tomorrow"; - - firstChild.nodeValue = "impl reused node"; - - value = titleAttr.value; - - assertEquals("attrValue","Tomorrow",value); - value = titleAttr.nodeValue; - - assertEquals("attrNodeValue","Tomorrow",value); - firstChild = titleAttr.lastChild; - - value = firstChild.nodeValue; - - assertEquals("firstChildValue","Tomorrow",value); - otherChild = firstChild.nextSibling; - - assertNull("nextSiblingIsNull",otherChild); - -} - - - - -function runTest() { - hc_attrsetvalue2(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvalue.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvalue.js deleted file mode 100644 index deb504d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvalue.js +++ /dev/null @@ -1,121 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrspecifiedvalue"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "getSpecified()" method for an Attr node should - be set to true if the attribute was explicitly given - a value. - Retrieve the attribute named "domestic" from the last - child of of the first employee and examine the value - returned by the "getSpecified()" method. This test uses - the "getNamedItem(name)" method from the NamedNodeMap - interface. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-862529273 -*/ -function hc_attrspecifiedvalue() { - var success; - if(checkInitialization(builder, "hc_attrspecifiedvalue") != null) return; - var doc; - var addressList; - var testNode; - var attributes; - var domesticAttr; - var state; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - addressList = doc.getElementsByTagName("acronym"); - testNode = addressList.item(0); - attributes = testNode.attributes; - - domesticAttr = attributes.getNamedItem("title"); - state = domesticAttr.specified; - - assertTrue("acronymTitleSpecified",state); - -} - - - - -function runTest() { - hc_attrspecifiedvalue(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvaluechanged.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvaluechanged.js deleted file mode 100644 index fd65931..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvaluechanged.js +++ /dev/null @@ -1,123 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrspecifiedvaluechanged"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "getSpecified()" method for an Attr node should return true if the - value of the attribute is changed. - Retrieve the attribute named "class" from the last - child of of the THIRD employee and change its - value to "Yes"(which is the default DTD value). This - should cause the "getSpecified()" method to be true. - This test uses the "setAttribute(name,value)" method - from the Element interface and the "getNamedItem(name)" - method from the NamedNodeMap interface. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-862529273 -*/ -function hc_attrspecifiedvaluechanged() { - var success; - if(checkInitialization(builder, "hc_attrspecifiedvaluechanged") != null) return; - var doc; - var addressList; - var testNode; - var attributes; - var streetAttr; - var state; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - addressList = doc.getElementsByTagName("acronym"); - testNode = addressList.item(2); - testNode.setAttribute("class","Yα"); - attributes = testNode.attributes; - - streetAttr = attributes.getNamedItem("class"); - state = streetAttr.specified; - - assertTrue("acronymClassSpecified",state); - -} - - - - -function runTest() { - hc_attrspecifiedvaluechanged(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentcreateattribute.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentcreateattribute.js deleted file mode 100644 index 31284f3..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentcreateattribute.js +++ /dev/null @@ -1,122 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentcreateattribute"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - Retrieve the entire DOM document and invoke its - "createAttribute(name)" method. It should create a - new Attribute node with the given name. The name, value - and type of the newly created object are retrieved and - output. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1084891198 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 -* @see http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 -*/ -function hc_documentcreateattribute() { - var success; - if(checkInitialization(builder, "hc_documentcreateattribute") != null) return; - var doc; - var newAttrNode; - var attrValue; - var attrName; - var attrType; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - newAttrNode = doc.createAttribute("title"); - attrValue = newAttrNode.nodeValue; - - assertEquals("value","",attrValue); - attrName = newAttrNode.nodeName; - - assertEqualsAutoCase("attribute", "name","title",attrName); - attrType = newAttrNode.nodeType; - - assertEquals("type",2,attrType); - -} - - - - -function runTest() { - hc_documentcreateattribute(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute.js deleted file mode 100644 index 9038f2e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute.js +++ /dev/null @@ -1,124 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentinvalidcharacterexceptioncreateattribute"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "createAttribute(tagName)" method raises an - INVALID_CHARACTER_ERR DOMException if the specified - tagName contains an invalid character. - - Retrieve the entire DOM document and invoke its - "createAttribute(tagName)" method with the tagName equal - to the string "invalid^Name". Due to the invalid - character the desired EXCEPTION should be raised. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1084891198 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-1084891198')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1084891198 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 -*/ -function hc_documentinvalidcharacterexceptioncreateattribute() { - var success; - if(checkInitialization(builder, "hc_documentinvalidcharacterexceptioncreateattribute") != null) return; - var doc; - var createdAttr; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - - { - success = false; - try { - createdAttr = doc.createAttribute("invalid^Name"); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 5); - } - assertTrue("throw_INVALID_CHARACTER_ERR",success); - } - -} - - - - -function runTest() { - hc_documentinvalidcharacterexceptioncreateattribute(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute1.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute1.js deleted file mode 100644 index 4f9933d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute1.js +++ /dev/null @@ -1,117 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentinvalidcharacterexceptioncreateattribute1"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Creating an attribute with an empty name should cause an INVALID_CHARACTER_ERR. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1084891198 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-1084891198')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1084891198 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=525 -*/ -function hc_documentinvalidcharacterexceptioncreateattribute1() { - var success; - if(checkInitialization(builder, "hc_documentinvalidcharacterexceptioncreateattribute1") != null) return; - var doc; - var createdAttr; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - - { - success = false; - try { - createdAttr = doc.createAttribute(""); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 5); - } - assertTrue("throw_INVALID_CHARACTER_ERR",success); - } - -} - - - - -function runTest() { - hc_documentinvalidcharacterexceptioncreateattribute1(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementassociatedattribute.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementassociatedattribute.js deleted file mode 100644 index c3642a9..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementassociatedattribute.js +++ /dev/null @@ -1,119 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementassociatedattribute"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - Retrieve the first attribute from the last child of - the first employee and invoke the "getSpecified()" - method. This test is only intended to show that - Elements can actually have attributes. This test uses - the "getNamedItem(name)" method from the NamedNodeMap - interface. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 -*/ -function hc_elementassociatedattribute() { - var success; - if(checkInitialization(builder, "hc_elementassociatedattribute") != null) return; - var doc; - var elementList; - var testEmployee; - var attributes; - var domesticAttr; - var specified; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - testEmployee = elementList.item(0); - attributes = testEmployee.attributes; - - domesticAttr = attributes.getNamedItem("title"); - specified = domesticAttr.specified; - - assertTrue("acronymTitleSpecified",specified); - -} - - - - -function runTest() { - hc_elementassociatedattribute(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementcreatenewattribute.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementcreatenewattribute.js deleted file mode 100644 index aad9aa1..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementcreatenewattribute.js +++ /dev/null @@ -1,124 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementcreatenewattribute"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "setAttributeNode(newAttr)" method adds a new - attribute to the Element. - - Retrieve first address element and add - a new attribute node to it by invoking its - "setAttributeNode(newAttr)" method. This test makes use - of the "createAttribute(name)" method from the Document - interface. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 -*/ -function hc_elementcreatenewattribute() { - var success; - if(checkInitialization(builder, "hc_elementcreatenewattribute") != null) return; - var doc; - var elementList; - var testAddress; - var newAttribute; - var oldAttr; - var districtAttr; - var attrVal; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - testAddress = elementList.item(0); - newAttribute = doc.createAttribute("lang"); - oldAttr = testAddress.setAttributeNode(newAttribute); - assertNull("old_attr_doesnt_exist",oldAttr); - districtAttr = testAddress.getAttributeNode("lang"); - assertNotNull("new_district_accessible",districtAttr); -attrVal = testAddress.getAttribute("lang"); - assertEquals("attr_value","",attrVal); - -} - - - - -function runTest() { - hc_elementcreatenewattribute(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenode.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenode.js deleted file mode 100644 index 17b0106..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenode.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementgetattributenode"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - Retrieve the attribute "title" from the last child - of the first "p" element and check its node name. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-217A91B8 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 -* @see http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html -*/ -function hc_elementgetattributenode() { - var success; - if(checkInitialization(builder, "hc_elementgetattributenode") != null) return; - var doc; - var elementList; - var testEmployee; - var domesticAttr; - var nodeName; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - testEmployee = elementList.item(0); - domesticAttr = testEmployee.getAttributeNode("title"); - nodeName = domesticAttr.nodeName; - - assertEqualsAutoCase("attribute", "nodeName","title",nodeName); - -} - - - - -function runTest() { - hc_elementgetattributenode(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenodenull.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenodenull.js deleted file mode 100644 index 2c9a905..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenodenull.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementgetattributenodenull"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "getAttributeNode(name)" method retrieves an - attribute node by name. It should return null if the - "strong" attribute does not exist. - - Retrieve the last child of the first employee and attempt - to retrieve a non-existing attribute. The method should - return "null". The non-existing attribute to be used - is "invalidAttribute". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-217A91B8 -*/ -function hc_elementgetattributenodenull() { - var success; - if(checkInitialization(builder, "hc_elementgetattributenodenull") != null) return; - var doc; - var elementList; - var testEmployee; - var domesticAttr; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - testEmployee = elementList.item(0); - domesticAttr = testEmployee.getAttributeNode("invalidAttribute"); - assertNull("elementGetAttributeNodeNullAssert",domesticAttr); - -} - - - - -function runTest() { - hc_elementgetattributenodenull(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetelementempty.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetelementempty.js deleted file mode 100644 index b4ddf55..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetelementempty.js +++ /dev/null @@ -1,123 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementgetelementempty"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "getAttribute(name)" method returns an empty - string if no value was assigned to an attribute and - no default value was given in the DTD file. - - Retrieve the last child of the last employee, then - invoke "getAttribute(name)" method, where "strong" is an - attribute without a specified or DTD default value. - The "getAttribute(name)" method should return the empty - string. This method makes use of the - "createAttribute(newAttr)" method from the Document - interface. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-666EE0F9 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 -*/ -function hc_elementgetelementempty() { - var success; - if(checkInitialization(builder, "hc_elementgetelementempty") != null) return; - var doc; - var newAttribute; - var elementList; - var testEmployee; - var domesticAttr; - var attrValue; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - newAttribute = doc.createAttribute("lang"); - elementList = doc.getElementsByTagName("acronym"); - testEmployee = elementList.item(3); - domesticAttr = testEmployee.setAttributeNode(newAttribute); - attrValue = testEmployee.getAttribute("lang"); - assertEquals("elementGetElementEmptyAssert","",attrValue); - -} - - - - -function runTest() { - hc_elementgetelementempty(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementinuseattributeerr.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementinuseattributeerr.js deleted file mode 100644 index fa2fd0a..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementinuseattributeerr.js +++ /dev/null @@ -1,131 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementinuseattributeerr"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "setAttributeNode(newAttr)" method raises an - "INUSE_ATTRIBUTE_ERR DOMException if the "newAttr" - is already an attribute of another element. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INUSE_ATTRIBUTE_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-887236154')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INUSE_ATTRIBUTE_ERR']) -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=244 -*/ -function hc_elementinuseattributeerr() { - var success; - if(checkInitialization(builder, "hc_elementinuseattributeerr") != null) return; - var doc; - var newAttribute; - var addressElementList; - var testAddress; - var newElement; - var attrAddress; - var appendedChild; - var setAttr1; - var setAttr2; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - addressElementList = doc.getElementsByTagName("body"); - testAddress = addressElementList.item(0); - newElement = doc.createElement("p"); - appendedChild = testAddress.appendChild(newElement); - newAttribute = doc.createAttribute("title"); - setAttr1 = newElement.setAttributeNode(newAttribute); - - { - success = false; - try { - setAttr2 = testAddress.setAttributeNode(newAttribute); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 10); - } - assertTrue("throw_INUSE_ATTRIBUTE_ERR",success); - } - -} - - - - -function runTest() { - hc_elementinuseattributeerr(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnormalize2.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnormalize2.js deleted file mode 100644 index b2197ed..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnormalize2.js +++ /dev/null @@ -1,129 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementnormalize2"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Add an empty text node to an existing attribute node, normalize the containing element -and check that the attribute node has eliminated the empty text. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-162CF083 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=482 -*/ -function hc_elementnormalize2() { - var success; - if(checkInitialization(builder, "hc_elementnormalize2") != null) return; - var doc; - var root; - var elementList; - var element; - var firstChild; - var secondChild; - var childValue; - var emptyText; - var attrNode; - var retval; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - root = doc.documentElement; - - emptyText = doc.createTextNode(""); - elementList = root.getElementsByTagName("acronym"); - element = elementList.item(0); - attrNode = element.getAttributeNode("title"); - retval = attrNode.appendChild(emptyText); - element.normalize(); - attrNode = element.getAttributeNode("title"); - firstChild = attrNode.firstChild; - - childValue = firstChild.nodeValue; - - assertEquals("firstChild","Yes",childValue); - secondChild = firstChild.nextSibling; - - assertNull("secondChildNull",secondChild); - -} - - - - -function runTest() { - hc_elementnormalize2(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnotfounderr.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnotfounderr.js deleted file mode 100644 index ad15587..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnotfounderr.js +++ /dev/null @@ -1,130 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementnotfounderr"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "removeAttributeNode(oldAttr)" method raises a - NOT_FOUND_ERR DOMException if the "oldAttr" attribute - is not an attribute of the element. - - Retrieve the last employee and attempt to remove - a non existing attribute node. This should cause the - intended exception to be raised. This test makes use - of the "createAttribute(name)" method from the Document - interface. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INUSE_ATTRIBUTE_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D589198 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-D589198')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INUSE_ATTRIBUTE_ERR']) -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 -*/ -function hc_elementnotfounderr() { - var success; - if(checkInitialization(builder, "hc_elementnotfounderr") != null) return; - var doc; - var oldAttribute; - var addressElementList; - var testAddress; - var attrAddress; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - addressElementList = doc.getElementsByTagName("acronym"); - testAddress = addressElementList.item(4); - oldAttribute = doc.createAttribute("title"); - - { - success = false; - try { - attrAddress = testAddress.removeAttributeNode(oldAttribute); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 8); - } - assertTrue("throw_NOT_FOUND_ERR",success); - } - -} - - - - -function runTest() { - hc_elementnotfounderr(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributeaftercreate.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributeaftercreate.js deleted file mode 100644 index 724a3e8..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributeaftercreate.js +++ /dev/null @@ -1,124 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementremoveattributeaftercreate"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "removeAttributeNode(oldAttr)" method removes the - specified attribute. - - Retrieve the last child of the third employee, add a - new "lang" attribute to it and then try to remove it. - To verify that the node was removed use the - "getNamedItem(name)" method from the NamedNodeMap - interface. It also uses the "getAttributes()" method - from the Node interface. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D589198 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 -*/ -function hc_elementremoveattributeaftercreate() { - var success; - if(checkInitialization(builder, "hc_elementremoveattributeaftercreate") != null) return; - var doc; - var elementList; - var testEmployee; - var newAttribute; - var attributes; - var districtAttr; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - testEmployee = elementList.item(2); - newAttribute = doc.createAttribute("lang"); - districtAttr = testEmployee.setAttributeNode(newAttribute); - districtAttr = testEmployee.removeAttributeNode(newAttribute); - attributes = testEmployee.attributes; - - districtAttr = attributes.getNamedItem("lang"); - assertNull("removed_item_null",districtAttr); - -} - - - - -function runTest() { - hc_elementremoveattributeaftercreate(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributenode.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributenode.js deleted file mode 100644 index 58bf730..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributenode.js +++ /dev/null @@ -1,119 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementremoveattributenode"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "removeAttributeNode(oldAttr)" method returns the - node that was removed. - - Retrieve the last child of the third employee and - remove its "class" Attr node. The method should - return the old attribute node. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D589198 -*/ -function hc_elementremoveattributenode() { - var success; - if(checkInitialization(builder, "hc_elementremoveattributenode") != null) return; - var doc; - var elementList; - var testEmployee; - var streetAttr; - var removedAttr; - var removedValue; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - testEmployee = elementList.item(2); - streetAttr = testEmployee.getAttributeNode("class"); - removedAttr = testEmployee.removeAttributeNode(streetAttr); - assertNotNull("removedAttrNotNull",removedAttr); -removedValue = removedAttr.value; - - assertEquals("elementRemoveAttributeNodeAssert","No",removedValue); - -} - - - - -function runTest() { - hc_elementremoveattributenode(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceattributewithself.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceattributewithself.js deleted file mode 100644 index 14b1f7d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceattributewithself.js +++ /dev/null @@ -1,117 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementreplaceattributewithself"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -This test calls setAttributeNode to replace an attribute with itself. -Since the node is not an attribute of another Element, it would -be inappropriate to throw an INUSE_ATTRIBUTE_ERR. - -This test was derived from elementinuserattributeerr which -inadvertanly made this test. - -* @author Curt Arnold -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154 -*/ -function hc_elementreplaceattributewithself() { - var success; - if(checkInitialization(builder, "hc_elementreplaceattributewithself") != null) return; - var doc; - var elementList; - var testEmployee; - var streetAttr; - var replacedAttr; - var value; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - testEmployee = elementList.item(2); - streetAttr = testEmployee.getAttributeNode("class"); - replacedAttr = testEmployee.setAttributeNode(streetAttr); - assertSame("replacedAttr",streetAttr,replacedAttr); - -} - - - - -function runTest() { - hc_elementreplaceattributewithself(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattribute.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattribute.js deleted file mode 100644 index 949ac3b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattribute.js +++ /dev/null @@ -1,122 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementreplaceexistingattribute"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "setAttributeNode(newAttr)" method adds a new - attribute to the Element. If the "newAttr" Attr node is - already present in this element, it should replace the - existing one. - - Retrieve the last child of the third employee and add a - new attribute node by invoking the "setAttributeNode(new - Attr)" method. The new attribute node to be added is - "class", which is already present in this element. The - method should replace the existing Attr node with the - new one. This test uses the "createAttribute(name)" - method from the Document interface. - -* @author Curt Arnold -*/ -function hc_elementreplaceexistingattribute() { - var success; - if(checkInitialization(builder, "hc_elementreplaceexistingattribute") != null) return; - var doc; - var elementList; - var testEmployee; - var newAttribute; - var strong; - var setAttr; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - testEmployee = elementList.item(2); - newAttribute = doc.createAttribute("class"); - setAttr = testEmployee.setAttributeNode(newAttribute); - strong = testEmployee.getAttribute("class"); - assertEquals("replacedValue","",strong); - -} - - - - -function runTest() { - hc_elementreplaceexistingattribute(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattributegevalue.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattributegevalue.js deleted file mode 100644 index 0318918..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattributegevalue.js +++ /dev/null @@ -1,123 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementreplaceexistingattributegevalue"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -If the "setAttributeNode(newAttr)" method replaces an -existing Attr node with the same name, then it should -return the previously existing Attr node. - -Retrieve the last child of the third employee and add a -new attribute node. The new attribute node is "class", -which is already present in this Element. The method -should return the existing Attr node(old "class" Attr). -This test uses the "createAttribute(name)" method -from the Document interface. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154 -*/ -function hc_elementreplaceexistingattributegevalue() { - var success; - if(checkInitialization(builder, "hc_elementreplaceexistingattributegevalue") != null) return; - var doc; - var elementList; - var testEmployee; - var newAttribute; - var streetAttr; - var value; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - testEmployee = elementList.item(2); - newAttribute = doc.createAttribute("class"); - streetAttr = testEmployee.setAttributeNode(newAttribute); - assertNotNull("previousAttrNotNull",streetAttr); -value = streetAttr.value; - - assertEquals("previousAttrValue","No",value); - -} - - - - -function runTest() { - hc_elementreplaceexistingattributegevalue(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementsetattributenodenull.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementsetattributenodenull.js deleted file mode 100644 index 65db9d7..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementsetattributenodenull.js +++ /dev/null @@ -1,120 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementsetattributenodenull"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "setAttributeNode(newAttr)" method returns the - null value if no previously existing Attr node with the - same name was replaced. - - Retrieve the last child of the third employee and add a - new attribute to it. The new attribute node added is - "lang", which is not part of this Element. The - method should return the null value. - This test uses the "createAttribute(name)" - method from the Document interface. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 -*/ -function hc_elementsetattributenodenull() { - var success; - if(checkInitialization(builder, "hc_elementsetattributenodenull") != null) return; - var doc; - var elementList; - var testEmployee; - var newAttribute; - var districtAttr; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - testEmployee = elementList.item(2); - newAttribute = doc.createAttribute("lang"); - districtAttr = testEmployee.setAttributeNode(newAttribute); - assertNull("elementSetAttributeNodeNullAssert",districtAttr); - -} - - - - -function runTest() { - hc_elementsetattributenodenull(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementwrongdocumenterr.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementwrongdocumenterr.js deleted file mode 100644 index e17340c..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementwrongdocumenterr.js +++ /dev/null @@ -1,147 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementwrongdocumenterr"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var doc1Ref = null; - if (typeof(this.doc1) != 'undefined') { - doc1Ref = this.doc1; - } - docsLoaded += preload(doc1Ref, "doc1", "hc_staff"); - - var doc2Ref = null; - if (typeof(this.doc2) != 'undefined') { - doc2Ref = this.doc2; - } - docsLoaded += preload(doc2Ref, "doc2", "hc_staff"); - - if (docsLoaded == 2) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 2) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "setAttributeNode(newAttr)" method raises an - "WRONG_DOCUMENT_ERR DOMException if the "newAttr" - was created from a different document than the one that - created this document. - - Retrieve the last employee and attempt to set a new - attribute node for its "employee" element. The new - attribute was created from a document other than the - one that created this element, therefore a - WRONG_DOCUMENT_ERR DOMException should be raised. - - This test uses the "createAttribute(newAttr)" method - from the Document interface. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='WRONG_DOCUMENT_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-887236154')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='WRONG_DOCUMENT_ERR']) -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 -*/ -function hc_elementwrongdocumenterr() { - var success; - if(checkInitialization(builder, "hc_elementwrongdocumenterr") != null) return; - var doc1; - var doc2; - var newAttribute; - var addressElementList; - var testAddress; - var attrAddress; - - var doc1Ref = null; - if (typeof(this.doc1) != 'undefined') { - doc1Ref = this.doc1; - } - doc1 = load(doc1Ref, "doc1", "hc_staff"); - - var doc2Ref = null; - if (typeof(this.doc2) != 'undefined') { - doc2Ref = this.doc2; - } - doc2 = load(doc2Ref, "doc2", "hc_staff"); - newAttribute = doc2.createAttribute("newAttribute"); - addressElementList = doc1.getElementsByTagName("acronym"); - testAddress = addressElementList.item(4); - - { - success = false; - try { - attrAddress = testAddress.setAttributeNode(newAttribute); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 4); - } - assertTrue("throw_WRONG_DOCUMENT_ERR",success); - } - -} - - - - -function runTest() { - hc_elementwrongdocumenterr(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapgetnameditem.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapgetnameditem.js deleted file mode 100644 index f8f9478..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapgetnameditem.js +++ /dev/null @@ -1,121 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapgetnameditem"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - Retrieve the second "p" element and create a NamedNodeMap - listing of the attributes of the last child. Once the - list is created an invocation of the "getNamedItem(name)" - method is done with name="title". This should result - in the title Attr node being returned. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1074577549 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 -* @see http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html -*/ -function hc_namednodemapgetnameditem() { - var success; - if(checkInitialization(builder, "hc_namednodemapgetnameditem") != null) return; - var doc; - var elementList; - var testEmployee; - var attributes; - var domesticAttr; - var attrName; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - testEmployee = elementList.item(1); - attributes = testEmployee.attributes; - - domesticAttr = attributes.getNamedItem("title"); - attrName = domesticAttr.name; - - assertEqualsAutoCase("attribute", "nodeName","title",attrName); - -} - - - - -function runTest() { - hc_namednodemapgetnameditem(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapinuseattributeerr.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapinuseattributeerr.js deleted file mode 100644 index fdf0c15..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapinuseattributeerr.js +++ /dev/null @@ -1,139 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapinuseattributeerr"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -The "setNamedItem(arg)" method raises a -INUSE_ATTRIBUTE_ERR DOMException if "arg" is an -Attr that is already in an attribute of another Element. - -Create a NamedNodeMap object from the attributes of the -last child of the third employee and attempt to add -an attribute that is already being used by the first -employee. This should raise the desired exception. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INUSE_ATTRIBUTE_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-1025163788')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INUSE_ATTRIBUTE_ERR']) -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 -*/ -function hc_namednodemapinuseattributeerr() { - var success; - if(checkInitialization(builder, "hc_namednodemapinuseattributeerr") != null) return; - var doc; - var elementList; - var firstNode; - var testNode; - var attributes; - var domesticAttr; - var setAttr; - var setNode; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - firstNode = elementList.item(0); - domesticAttr = doc.createAttribute("title"); - domesticAttr.value = "Yα"; - - setAttr = firstNode.setAttributeNode(domesticAttr); - elementList = doc.getElementsByTagName("acronym"); - testNode = elementList.item(2); - attributes = testNode.attributes; - - - { - success = false; - try { - setNode = attributes.setNamedItem(domesticAttr); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 10); - } - assertTrue("throw_INUSE_ATTRIBUTE_ERR",success); - } - -} - - - - -function runTest() { - hc_namednodemapinuseattributeerr(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapnotfounderr.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapnotfounderr.js deleted file mode 100644 index 67467c3..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapnotfounderr.js +++ /dev/null @@ -1,131 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapnotfounderr"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "removeNamedItem(name)" method raises a - NOT_FOUND_ERR DOMException if there is not a node - named "strong" in the map. - - Create a NamedNodeMap object from the attributes of the - last child of the third employee and attempt to remove - the "lang" attribute. There is not a node named - "lang" in the list and therefore the desired - exception should be raised. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INUSE_ATTRIBUTE_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D58B193 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-D58B193')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INUSE_ATTRIBUTE_ERR']) -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 -*/ -function hc_namednodemapnotfounderr() { - var success; - if(checkInitialization(builder, "hc_namednodemapnotfounderr") != null) return; - var doc; - var elementList; - var testEmployee; - var attributes; - var removedNode; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - testEmployee = elementList.item(2); - attributes = testEmployee.attributes; - - - { - success = false; - try { - removedNode = attributes.removeNamedItem("lang"); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 8); - } - assertTrue("throw_NOT_FOUND_ERR",success); - } - -} - - - - -function runTest() { - hc_namednodemapnotfounderr(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapremovenameditem.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapremovenameditem.js deleted file mode 100644 index 1370fa9..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapremovenameditem.js +++ /dev/null @@ -1,124 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapremovenameditem"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "removeNamedItem(name)" method removes a node - specified by name. - - Retrieve the third employee and create a NamedNodeMap - object of the attributes of the last child. Once the - list is created invoke the "removeNamedItem(name)" - method with name="class". This should result - in the removal of the specified attribute. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D58B193 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9 -* @see http://lists.w3.org/Archives/Public/www-dom-ts/2002Mar/0002.html -*/ -function hc_namednodemapremovenameditem() { - var success; - if(checkInitialization(builder, "hc_namednodemapremovenameditem") != null) return; - var doc; - var elementList; - var newAttribute; - var testAddress; - var attributes; - var streetAttr; - var specified; - var removedNode; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - testAddress = elementList.item(2); - attributes = testAddress.attributes; - - removedNode = attributes.removeNamedItem("class"); - streetAttr = attributes.getNamedItem("class"); - assertNull("isnull",streetAttr); - -} - - - - -function runTest() { - hc_namednodemapremovenameditem(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnattrnode.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnattrnode.js deleted file mode 100644 index bfb396b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnattrnode.js +++ /dev/null @@ -1,126 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapreturnattrnode"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - Retrieve the second p element and create a NamedNodeMap - listing of the attributes of the last child. Once the - list is created an invocation of the "getNamedItem(name)" - method is done with name="class". This should result - in the method returning an Attr node. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1074577549 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1112119403 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 -*/ -function hc_namednodemapreturnattrnode() { - var success; - if(checkInitialization(builder, "hc_namednodemapreturnattrnode") != null) return; - var doc; - var elementList; - var testEmployee; - var attributes; - var streetAttr; - var attrName; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - testEmployee = elementList.item(1); - attributes = testEmployee.attributes; - - streetAttr = attributes.getNamedItem("class"); - assertInstanceOf("typeAssert","Attr",streetAttr); -attrName = streetAttr.nodeName; - - assertEqualsAutoCase("attribute", "nodeName","class",attrName); - attrName = streetAttr.name; - - assertEqualsAutoCase("attribute", "name","class",attrName); - -} - - - - -function runTest() { - hc_namednodemapreturnattrnode(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnfirstitem.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnfirstitem.js deleted file mode 100644 index 9b17c3f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnfirstitem.js +++ /dev/null @@ -1,150 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapreturnfirstitem"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "item(index)" method returns the indexth item in - the map(test for first item). - - Retrieve the second "acronym" get the NamedNodeMap of the attributes. Since the - DOM does not specify an order of these nodes the contents - of the FIRST node can contain either "title", "class" or "dir". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 -* @see http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=184 -*/ -function hc_namednodemapreturnfirstitem() { - var success; - if(checkInitialization(builder, "hc_namednodemapreturnfirstitem") != null) return; - var doc; - var elementList; - var testAddress; - var attributes; - var child; - var nodeName; - htmlExpected = new Array(); - htmlExpected[0] = "title"; - htmlExpected[1] = "class"; - - expected = new Array(); - expected[0] = "title"; - expected[1] = "class"; - expected[2] = "dir"; - - var actual = new Array(); - - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - testAddress = elementList.item(1); - attributes = testAddress.attributes; - - for(var indexN10070 = 0;indexN10070 < attributes.length; indexN10070++) { - child = attributes.item(indexN10070); - nodeName = child.nodeName; - - actual[actual.length] = nodeName; - - } - - if( - - (builder.contentType == "text/html") - - ) { - assertEqualsCollection("attrName_html",toLowerArray(htmlExpected),toLowerArray(actual)); - - } - - else { - assertEqualsCollection("attrName",expected,actual); - - } - -} - - - - -function runTest() { - hc_namednodemapreturnfirstitem(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnlastitem.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnlastitem.js deleted file mode 100644 index 90422c8..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnlastitem.js +++ /dev/null @@ -1,152 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapreturnlastitem"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "item(index)" method returns the indexth item in - the map(test for last item). - - Retrieve the second "acronym" and get the attribute name. Since the - DOM does not specify an order of these nodes the contents - of the LAST node can contain either "title" or "class". - The test should return "true" if the LAST node is either - of these values. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 -* @see http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=184 -*/ -function hc_namednodemapreturnlastitem() { - var success; - if(checkInitialization(builder, "hc_namednodemapreturnlastitem") != null) return; - var doc; - var elementList; - var testEmployee; - var attributes; - var child; - var nodeName; - htmlExpected = new Array(); - htmlExpected[0] = "title"; - htmlExpected[1] = "class"; - - expected = new Array(); - expected[0] = "title"; - expected[1] = "class"; - expected[2] = "dir"; - - var actual = new Array(); - - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - testEmployee = elementList.item(1); - attributes = testEmployee.attributes; - - for(var indexN10070 = 0;indexN10070 < attributes.length; indexN10070++) { - child = attributes.item(indexN10070); - nodeName = child.nodeName; - - actual[actual.length] = nodeName; - - } - - if( - - (builder.contentType == "text/html") - - ) { - assertEqualsCollection("attrName_html",toLowerArray(htmlExpected),toLowerArray(actual)); - - } - - else { - assertEqualsCollection("attrName",expected,actual); - - } - -} - - - - -function runTest() { - hc_namednodemapreturnlastitem(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnnull.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnnull.js deleted file mode 100644 index 04cb17e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnnull.js +++ /dev/null @@ -1,121 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapreturnnull"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "getNamedItem(name)" method returns null of the - specified name did not identify any node in the map. - - Retrieve the second employee and create a NamedNodeMap - listing of the attributes of the last child. Once the - list is created an invocation of the "getNamedItem(name)" - method is done with name="lang". This name does not - match any names in the list therefore the method should - return null. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1074577549 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 -*/ -function hc_namednodemapreturnnull() { - var success; - if(checkInitialization(builder, "hc_namednodemapreturnnull") != null) return; - var doc; - var elementList; - var testEmployee; - var attributes; - var districtNode; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - testEmployee = elementList.item(1); - attributes = testEmployee.attributes; - - districtNode = attributes.getNamedItem("lang"); - assertNull("langAttrNull",districtNode); - -} - - - - -function runTest() { - hc_namednodemapreturnnull(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditem.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditem.js deleted file mode 100644 index ffba08a..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditem.js +++ /dev/null @@ -1,131 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapsetnameditem"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - Retrieve the second "p" element and create a NamedNodeMap - object from the attributes of the last child by - invoking the "getAttributes()" method. Once the - list is created an invocation of the "setNamedItem(arg)" - method is done with arg=newAttr, where newAttr is a - new Attr Node previously created. The "setNamedItem(arg)" - method should add then new node to the NamedNodeItem - object by using its "nodeName" attribute("lang'). - This node is then retrieved using the "getNamedItem(name)" - method. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 -* @see http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 -*/ -function hc_namednodemapsetnameditem() { - var success; - if(checkInitialization(builder, "hc_namednodemapsetnameditem") != null) return; - var doc; - var elementList; - var newAttribute; - var testAddress; - var attributes; - var districtNode; - var attrName; - var setNode; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - testAddress = elementList.item(1); - newAttribute = doc.createAttribute("lang"); - attributes = testAddress.attributes; - - setNode = attributes.setNamedItem(newAttribute); - districtNode = attributes.getNamedItem("lang"); - attrName = districtNode.nodeName; - - assertEqualsAutoCase("attribute", "nodeName","lang",attrName); - -} - - - - -function runTest() { - hc_namednodemapsetnameditem(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemreturnvalue.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemreturnvalue.js deleted file mode 100644 index 0d82c40..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemreturnvalue.js +++ /dev/null @@ -1,132 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapsetnameditemreturnvalue"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - If the "setNamedItem(arg)" method replaces an already - existing node with the same name then the already - existing node is returned. - - Retrieve the third employee and create a NamedNodeMap - object from the attributes of the last child by - invoking the "getAttributes()" method. Once the - list is created an invocation of the "setNamedItem(arg)" - method is done with arg=newAttr, where newAttr is a - new Attr Node previously created and whose node name - already exists in the map. The "setNamedItem(arg)" - method should replace the already existing node with - the new one and return the existing node. - This test uses the "createAttribute(name)" method from - the document interface. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9 -*/ -function hc_namednodemapsetnameditemreturnvalue() { - var success; - if(checkInitialization(builder, "hc_namednodemapsetnameditemreturnvalue") != null) return; - var doc; - var elementList; - var newAttribute; - var testAddress; - var attributes; - var newNode; - var attrValue; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - testAddress = elementList.item(2); - newAttribute = doc.createAttribute("class"); - attributes = testAddress.attributes; - - newNode = attributes.setNamedItem(newAttribute); - assertNotNull("previousAttrNotNull",newNode); -attrValue = newNode.nodeValue; - - assertEquals("previousAttrValue","No",attrValue); - -} - - - - -function runTest() { - hc_namednodemapsetnameditemreturnvalue(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemthatexists.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemthatexists.js deleted file mode 100644 index 7ba88c4..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemthatexists.js +++ /dev/null @@ -1,134 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapsetnameditemthatexists"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - If the node to be added by the "setNamedItem(arg)" method - already exists in the NamedNodeMap, it is replaced by - the new one. - - Retrieve the second employee and create a NamedNodeMap - object from the attributes of the last child by - invoking the "getAttributes()" method. Once the - list is created an invocation of the "setNamedItem(arg)" - method is done with arg=newAttr, where newAttr is a - new Attr Node previously created and whose node name - already exists in the map. The "setNamedItem(arg)" - method should replace the already existing node with - the new one. - This node is then retrieved using the "getNamedItem(name)" - method. This test uses the "createAttribute(name)" - method from the document interface - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9 -*/ -function hc_namednodemapsetnameditemthatexists() { - var success; - if(checkInitialization(builder, "hc_namednodemapsetnameditemthatexists") != null) return; - var doc; - var elementList; - var newAttribute; - var testAddress; - var attributes; - var districtNode; - var attrValue; - var setNode; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - testAddress = elementList.item(1); - newAttribute = doc.createAttribute("class"); - attributes = testAddress.attributes; - - setNode = attributes.setNamedItem(newAttribute); - districtNode = attributes.getNamedItem("class"); - attrValue = districtNode.nodeValue; - - assertEquals("namednodemapSetNamedItemThatExistsAssert","",attrValue); - -} - - - - -function runTest() { - hc_namednodemapsetnameditemthatexists(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemwithnewvalue.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemwithnewvalue.js deleted file mode 100644 index 0ecee32..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemwithnewvalue.js +++ /dev/null @@ -1,126 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapsetnameditemwithnewvalue"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - If the "setNamedItem(arg)" method does not replace an - existing node with the same name then it returns null. - - Retrieve the third employee and create a NamedNodeMap - object from the attributes of the last child. - Once the list is created the "setNamedItem(arg)" method - is invoked with arg=newAttr, where newAttr is a - newly created Attr Node and whose node name - already exists in the map. The "setNamedItem(arg)" - method should add the new node and return null. - This test uses the "createAttribute(name)" method from - the document interface. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 -*/ -function hc_namednodemapsetnameditemwithnewvalue() { - var success; - if(checkInitialization(builder, "hc_namednodemapsetnameditemwithnewvalue") != null) return; - var doc; - var elementList; - var newAttribute; - var testAddress; - var attributes; - var newNode; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - testAddress = elementList.item(2); - newAttribute = doc.createAttribute("lang"); - attributes = testAddress.attributes; - - newNode = attributes.setNamedItem(newAttribute); - assertNull("prevValueNull",newNode); - -} - - - - -function runTest() { - hc_namednodemapsetnameditemwithnewvalue(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapwrongdocumenterr.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapwrongdocumenterr.js deleted file mode 100644 index bde21e4..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapwrongdocumenterr.js +++ /dev/null @@ -1,149 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapwrongdocumenterr"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var doc1Ref = null; - if (typeof(this.doc1) != 'undefined') { - doc1Ref = this.doc1; - } - docsLoaded += preload(doc1Ref, "doc1", "hc_staff"); - - var doc2Ref = null; - if (typeof(this.doc2) != 'undefined') { - doc2Ref = this.doc2; - } - docsLoaded += preload(doc2Ref, "doc2", "hc_staff"); - - if (docsLoaded == 2) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 2) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "setNamedItem(arg)" method raises a - WRONG_DOCUMENT_ERR DOMException if "arg" was created - from a different document than the one that created - the NamedNodeMap. - - Create a NamedNodeMap object from the attributes of the - last child of the third employee and attempt to add - another Attr node to it that was created from a - different DOM document. This should raise the desired - exception. This method uses the "createAttribute(name)" - method from the Document interface. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='WRONG_DOCUMENT_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-1025163788')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='WRONG_DOCUMENT_ERR']) -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 -*/ -function hc_namednodemapwrongdocumenterr() { - var success; - if(checkInitialization(builder, "hc_namednodemapwrongdocumenterr") != null) return; - var doc1; - var doc2; - var elementList; - var testAddress; - var attributes; - var newAttribute; - var strong; - var setNode; - - var doc1Ref = null; - if (typeof(this.doc1) != 'undefined') { - doc1Ref = this.doc1; - } - doc1 = load(doc1Ref, "doc1", "hc_staff"); - - var doc2Ref = null; - if (typeof(this.doc2) != 'undefined') { - doc2Ref = this.doc2; - } - doc2 = load(doc2Ref, "doc2", "hc_staff"); - elementList = doc1.getElementsByTagName("acronym"); - testAddress = elementList.item(2); - newAttribute = doc2.createAttribute("newAttribute"); - attributes = testAddress.attributes; - - - { - success = false; - try { - setNode = attributes.setNamedItem(newAttribute); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 4); - } - assertTrue("throw_WRONG_DOCUMENT_ERR",success); - } - -} - - - - -function runTest() { - hc_namednodemapwrongdocumenterr(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeappendchildinvalidnodetype.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeappendchildinvalidnodetype.js deleted file mode 100644 index 854d1c3..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeappendchildinvalidnodetype.js +++ /dev/null @@ -1,130 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeappendchildinvalidnodetype"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "appendChild(newChild)" method raises a - HIERARCHY_REQUEST_ERR DOMException if this node is of - a type that does not allow children of the type "newChild" - to be inserted. - - Retrieve the root node and attempt to append a newly - created Attr node. An Element node cannot have children - of the "Attr" type, therefore the desired exception - should be raised. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='HIERARCHY_REQUEST_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-184E7107')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='HIERARCHY_REQUEST_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 -*/ -function hc_nodeappendchildinvalidnodetype() { - var success; - if(checkInitialization(builder, "hc_nodeappendchildinvalidnodetype") != null) return; - var doc; - var rootNode; - var newChild; - var appendedChild; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - rootNode = doc.documentElement; - - newChild = doc.createAttribute("newAttribute"); - - { - success = false; - try { - appendedChild = rootNode.appendChild(newChild); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 3); - } - assertTrue("throw_HIERARCHY_REQUEST_ERR",success); - } - -} - - - - -function runTest() { - hc_nodeappendchildinvalidnodetype(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodename.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodename.js deleted file mode 100644 index 20b8e71..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodename.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeattributenodename"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - Retrieve the Attribute named "title" from the last - child of the first p element and check the string returned - by the "getNodeName()" method. It should be equal to - "title". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 -*/ -function hc_nodeattributenodename() { - var success; - if(checkInitialization(builder, "hc_nodeattributenodename") != null) return; - var doc; - var elementList; - var testAddr; - var addrAttr; - var attrName; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - testAddr = elementList.item(0); - addrAttr = testAddr.getAttributeNode("title"); - attrName = addrAttr.nodeName; - - assertEqualsAutoCase("attribute", "nodeName","title",attrName); - -} - - - - -function runTest() { - hc_nodeattributenodename(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodetype.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodetype.js deleted file mode 100644 index 41d7f10..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodetype.js +++ /dev/null @@ -1,123 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeattributenodetype"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - - The "getNodeType()" method for an Attribute Node - - returns the constant value 2. - - - - Retrieve the first attribute from the last child of - - the first employee and invoke the "getNodeType()" - - method. The method should return 2. - - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558 -*/ -function hc_nodeattributenodetype() { - var success; - if(checkInitialization(builder, "hc_nodeattributenodetype") != null) return; - var doc; - var elementList; - var testAddr; - var addrAttr; - var nodeType; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - testAddr = elementList.item(0); - addrAttr = testAddr.getAttributeNode("title"); - nodeType = addrAttr.nodeType; - - assertEquals("nodeAttrNodeTypeAssert1",2,nodeType); - -} - - - - -function runTest() { - hc_nodeattributenodetype(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodevalue.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodevalue.js deleted file mode 100644 index 679a9dd..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodevalue.js +++ /dev/null @@ -1,118 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeattributenodevalue"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - - The string returned by the "getNodeValue()" method for an - Attribute Node is the value of the Attribute. - - Retrieve the Attribute named "title" from the last - child of the first "p" and check the string returned - by the "getNodeValue()" method. It should be equal to - "Yes". - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 -*/ -function hc_nodeattributenodevalue() { - var success; - if(checkInitialization(builder, "hc_nodeattributenodevalue") != null) return; - var doc; - var elementList; - var testAddr; - var addrAttr; - var attrValue; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - elementList = doc.getElementsByTagName("acronym"); - testAddr = elementList.item(0); - addrAttr = testAddr.getAttributeNode("title"); - attrValue = addrAttr.nodeValue; - - assertEquals("nodeValue","Yes",attrValue); - -} - - - - -function runTest() { - hc_nodeattributenodevalue(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeinsertbeforeinvalidnodetype.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeinsertbeforeinvalidnodetype.js deleted file mode 100644 index e467f33..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeinsertbeforeinvalidnodetype.js +++ /dev/null @@ -1,136 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeinsertbeforeinvalidnodetype"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "insertBefore(newChild,refChild)" method raises a - HIERARCHY_REQUEST_ERR DOMException if this node is of - a type that does not allow children of the type "newChild" - to be inserted. - - Retrieve the root node and attempt to insert a newly - created Attr node. An Element node cannot have children - of the "Attr" type, therefore the desired exception - should be raised. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='HIERARCHY_REQUEST_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-952280727')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='HIERARCHY_REQUEST_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=406 -*/ -function hc_nodeinsertbeforeinvalidnodetype() { - var success; - if(checkInitialization(builder, "hc_nodeinsertbeforeinvalidnodetype") != null) return; - var doc; - var rootNode; - var newChild; - var elementList; - var refChild; - var insertedNode; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - newChild = doc.createAttribute("title"); - elementList = doc.getElementsByTagName("p"); - refChild = elementList.item(1); - rootNode = refChild.parentNode; - - - { - success = false; - try { - insertedNode = rootNode.insertBefore(newChild,refChild); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 3); - } - assertTrue("throw_HIERARCHY_REQUEST_ERR",success); - } - -} - - - - -function runTest() { - hc_nodeinsertbeforeinvalidnodetype(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodereplacechildinvalidnodetype.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodereplacechildinvalidnodetype.js deleted file mode 100644 index 789f5cf..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodereplacechildinvalidnodetype.js +++ /dev/null @@ -1,136 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodereplacechildinvalidnodetype"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The "replaceChild(newChild,oldChild)" method raises a - HIERARCHY_REQUEST_ERR DOMException if this node is of - a type that does not allow children of the type "newChild" - to be inserted. - - Retrieve the root node and attempt to replace - one of its children with a newly created Attr node. - An Element node cannot have children of the "Attr" - type, therefore the desired exception should be raised. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='HIERARCHY_REQUEST_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-785887307')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='HIERARCHY_REQUEST_ERR']) -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=406 -*/ -function hc_nodereplacechildinvalidnodetype() { - var success; - if(checkInitialization(builder, "hc_nodereplacechildinvalidnodetype") != null) return; - var doc; - var rootNode; - var newChild; - var elementList; - var oldChild; - var replacedChild; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - newChild = doc.createAttribute("lang"); - elementList = doc.getElementsByTagName("p"); - oldChild = elementList.item(1); - rootNode = oldChild.parentNode; - - - { - success = false; - try { - replacedChild = rootNode.replaceChild(newChild,oldChild); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 3); - } - assertTrue("throw_HIERARCHY_REQUEST_ERR",success); - } - -} - - - - -function runTest() { - hc_nodereplacechildinvalidnodetype(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodevalue03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodevalue03.js deleted file mode 100644 index e61671a..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodevalue03.js +++ /dev/null @@ -1,138 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodevalue03"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hc_staff"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -An entity reference is created, setNodeValue is called with a non-null argument, but getNodeValue -should still return null. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-11C98490 -*/ -function hc_nodevalue03() { - var success; - if(checkInitialization(builder, "hc_nodevalue03") != null) return; - var doc; - var newNode; - var newValue; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hc_staff"); - - if( - - (builder.contentType == "text/html") - - ) { - - { - success = false; - try { - newNode = doc.createEntityReference("ent1"); - } - catch(ex) { - success = (typeof(ex.code) != 'undefined' && ex.code == 9); - } - assertTrue("throw_NOT_SUPPORTED_ERR",success); - } - - } - - else { - newNode = doc.createEntityReference("ent1"); - assertNotNull("createdEntRefNotNull",newNode); -newValue = newNode.nodeValue; - - assertNull("initiallyNull",newValue); - newNode.nodeValue = "This should have no effect"; - - newValue = newNode.nodeValue; - - assertNull("nullAfterAttemptedChange",newValue); - - } - -} - - - - -function runTest() { - hc_nodevalue03(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement01.js deleted file mode 100644 index a9265cc..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement01.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "anchor"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The accessKey attribute is a single character access key to give - access to the form control. - - Retrieve the accessKey attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-89647724 -*/ -function HTMLAnchorElement01() { - var success; - if(checkInitialization(builder, "HTMLAnchorElement01") != null) return; - var nodeList; - var testNode; - var vaccesskey; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "anchor"); - nodeList = doc.getElementsByTagName("a"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vaccesskey = testNode.accessKey; - - assertEquals("accessKeyLink","g",vaccesskey); - -} - - - - -function runTest() { - HTMLAnchorElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement04.js deleted file mode 100644 index 01e2e2d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement04.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement04"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "anchor"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The href attribute contains the URL of the linked resource. - - Retrieve the href attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88517319 -*/ -function HTMLAnchorElement04() { - var success; - if(checkInitialization(builder, "HTMLAnchorElement04") != null) return; - var nodeList; - var testNode; - var vhref; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "anchor"); - nodeList = doc.getElementsByTagName("a"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vhref = testNode.href; - - assertURIEquals("hrefLink",null,null,null,"submit.gif",null,null,null,null,vhref); - -} - - - - -function runTest() { - HTMLAnchorElement04(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement05.js deleted file mode 100644 index 61ef509..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement05.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement05"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "anchor"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The hreflang attribute contains the language code of the linked resource. - - Retrieve the hreflang attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87358513 -*/ -function HTMLAnchorElement05() { - var success; - if(checkInitialization(builder, "HTMLAnchorElement05") != null) return; - var nodeList; - var testNode; - var vhreflink; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "anchor"); - nodeList = doc.getElementsByTagName("a"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vhreflink = testNode.hreflang; - - assertEquals("hreflangLink","en",vhreflink); - -} - - - - -function runTest() { - HTMLAnchorElement05(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement07.js deleted file mode 100644 index 996450d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement07.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement07"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "anchor"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The rel attribute contains the forward link type. - - Retrieve the rel attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-3815891 -*/ -function HTMLAnchorElement07() { - var success; - if(checkInitialization(builder, "HTMLAnchorElement07") != null) return; - var nodeList; - var testNode; - var vrel; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "anchor"); - nodeList = doc.getElementsByTagName("a"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vrel = testNode.rel; - - assertEquals("relLink","GLOSSARY",vrel); - -} - - - - -function runTest() { - HTMLAnchorElement07(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement10.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement10.js deleted file mode 100644 index a64af76..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement10.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement10"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "anchor"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The tabIndex attribute contains an index that represents the elements - position in the tabbing order. - - Retrieve the tabIndex attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-41586466 -*/ -function HTMLAnchorElement10() { - var success; - if(checkInitialization(builder, "HTMLAnchorElement10") != null) return; - var nodeList; - var testNode; - var vtabindex; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "anchor"); - nodeList = doc.getElementsByTagName("a"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vtabindex = testNode.tabIndex; - - assertEquals("tabIndexLink",22,vtabindex); - -} - - - - -function runTest() { - HTMLAnchorElement10(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement11.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement11.js deleted file mode 100644 index 2c82789..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement11.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement11"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "anchor2"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The target attribute specifies the frame to render the source in. - - Retrieve the target attribute and examine it's value. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6414197 -*/ -function HTMLAnchorElement11() { - var success; - if(checkInitialization(builder, "HTMLAnchorElement11") != null) return; - var nodeList; - var testNode; - var vtarget; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "anchor2"); - nodeList = doc.getElementsByTagName("a"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vtarget = testNode.target; - - assertEquals("targetLink","dynamic",vtarget); - -} - - - - -function runTest() { - HTMLAnchorElement11(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement12.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement12.js deleted file mode 100644 index 604cbcb..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement12.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement12"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "anchor"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The type attribute contains the advisory content model. - - Retrieve the type attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63938221 -*/ -function HTMLAnchorElement12() { - var success; - if(checkInitialization(builder, "HTMLAnchorElement12") != null) return; - var nodeList; - var testNode; - var vtype; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "anchor"); - nodeList = doc.getElementsByTagName("a"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vtype = testNode.type; - - assertEquals("typeLink","image/gif",vtype); - -} - - - - -function runTest() { - HTMLAnchorElement12(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement13.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement13.js deleted file mode 100644 index 81f1ee6..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement13.js +++ /dev/null @@ -1,107 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement13"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "anchor"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -HTMLAnchorElement.blur should surrender input focus. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-65068939 -*/ -function HTMLAnchorElement13() { - var success; - if(checkInitialization(builder, "HTMLAnchorElement13") != null) return; - var nodeList; - var testNode; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "anchor"); - nodeList = doc.getElementsByTagName("a"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - testNode.blur(); - -} - - - - -function runTest() { - HTMLAnchorElement13(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement14.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement14.js deleted file mode 100644 index f45f091..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement14.js +++ /dev/null @@ -1,107 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement14"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "anchor"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -HTMLAnchorElement.focus should capture input focus. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-47150313 -*/ -function HTMLAnchorElement14() { - var success; - if(checkInitialization(builder, "HTMLAnchorElement14") != null) return; - var nodeList; - var testNode; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "anchor"); - nodeList = doc.getElementsByTagName("a"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - testNode.focus(); - -} - - - - -function runTest() { - HTMLAnchorElement14(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement01.js deleted file mode 100644 index ef529b4..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement01.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAreaElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "area"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The accessKey attribute specifies a single character access key to - give access to the control form. - - Retrieve the accessKey attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-57944457 -*/ -function HTMLAreaElement01() { - var success; - if(checkInitialization(builder, "HTMLAreaElement01") != null) return; - var nodeList; - var testNode; - var vaccesskey; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "area"); - nodeList = doc.getElementsByTagName("area"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vaccesskey = testNode.accessKey; - - assertEquals("alignLink","a",vaccesskey); - -} - - - - -function runTest() { - HTMLAreaElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement02.js deleted file mode 100644 index 95cca4d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement02.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAreaElement02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "area"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The alt attribute specifies an alternate text for user agents not - rendering the normal content of this element. - - Retrieve the alt attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39775416 -*/ -function HTMLAreaElement02() { - var success; - if(checkInitialization(builder, "HTMLAreaElement02") != null) return; - var nodeList; - var testNode; - var valt; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "area"); - nodeList = doc.getElementsByTagName("area"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - valt = testNode.alt; - - assertEquals("altLink","Domain",valt); - -} - - - - -function runTest() { - HTMLAreaElement02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement03.js deleted file mode 100644 index 0f2e564..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement03.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAreaElement03"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "area"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The coords attribute specifies a comma-seperated list of lengths, - defining an active region geometry. - - Retrieve the coords attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-66021476 -*/ -function HTMLAreaElement03() { - var success; - if(checkInitialization(builder, "HTMLAreaElement03") != null) return; - var nodeList; - var testNode; - var vcoords; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "area"); - nodeList = doc.getElementsByTagName("area"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vcoords = testNode.coords; - - assertEquals("coordsLink","0,2,45,45",vcoords); - -} - - - - -function runTest() { - HTMLAreaElement03(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement04.js deleted file mode 100644 index 2c1cd85..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement04.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAreaElement04"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "area"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The href attribute specifies the URI of the linked resource. - - Retrieve the href attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-34672936 -*/ -function HTMLAreaElement04() { - var success; - if(checkInitialization(builder, "HTMLAreaElement04") != null) return; - var nodeList; - var testNode; - var vhref; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "area"); - nodeList = doc.getElementsByTagName("area"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vhref = testNode.href; - - assertURIEquals("hrefLink",null,null,null,"dletter.html",null,null,null,null,vhref); - -} - - - - -function runTest() { - HTMLAreaElement04(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement05.js deleted file mode 100644 index d7e8c3a..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement05.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAreaElement05"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "area"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The noHref attribute specifies that this area is inactive. - - Retrieve the noHref attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-61826871 -*/ -function HTMLAreaElement05() { - var success; - if(checkInitialization(builder, "HTMLAreaElement05") != null) return; - var nodeList; - var testNode; - var vnohref; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "area"); - nodeList = doc.getElementsByTagName("area"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vnohref = testNode.noHref; - - assertFalse("noHrefLink",vnohref); - -} - - - - -function runTest() { - HTMLAreaElement05(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement06.js deleted file mode 100644 index 04e39eb..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement06.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAreaElement06"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "area"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The shape attribute specifies the shape of the active area. - - Retrieve the shape attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-85683271 -*/ -function HTMLAreaElement06() { - var success; - if(checkInitialization(builder, "HTMLAreaElement06") != null) return; - var nodeList; - var testNode; - var vshape; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "area"); - nodeList = doc.getElementsByTagName("area"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vshape = testNode.shape; - - assertEquals("shapeLink","rect".toLowerCase(),vshape.toLowerCase()); - -} - - - - -function runTest() { - HTMLAreaElement06(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement07.js deleted file mode 100644 index 0324425..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement07.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAreaElement07"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "area"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The tabIndex attribute specifies an index that represents the element's - position in the tabbing order. - - Retrieve the tabIndex attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-8722121 -*/ -function HTMLAreaElement07() { - var success; - if(checkInitialization(builder, "HTMLAreaElement07") != null) return; - var nodeList; - var testNode; - var vtabindex; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "area"); - nodeList = doc.getElementsByTagName("area"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vtabindex = testNode.tabIndex; - - assertEquals("tabIndexLink",10,vtabindex); - -} - - - - -function runTest() { - HTMLAreaElement07(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement08.js deleted file mode 100644 index 6ae1dde..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement08.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAreaElement08"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "area2"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The target specifies the frame to render the resource in. - - Retrieve the target attribute and examine it's value. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-46054682 -*/ -function HTMLAreaElement08() { - var success; - if(checkInitialization(builder, "HTMLAreaElement08") != null) return; - var nodeList; - var testNode; - var vtarget; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "area2"); - nodeList = doc.getElementsByTagName("area"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vtarget = testNode.target; - - assertEquals("targetLink","dynamic",vtarget); - -} - - - - -function runTest() { - HTMLAreaElement08(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement01.js deleted file mode 100644 index b78f113..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement01.js +++ /dev/null @@ -1,116 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLButtonElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "button"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The form attribute returns the FORM element containing this control. - - Retrieve the form attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71254493 -*/ -function HTMLButtonElement01() { - var success; - if(checkInitialization(builder, "HTMLButtonElement01") != null) return; - var nodeList; - var testNode; - var fNode; - var vform; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "button"); - nodeList = doc.getElementsByTagName("button"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - fNode = testNode.form; - - vform = fNode.id; - - assertEquals("formLink","form2",vform); - -} - - - - -function runTest() { - HTMLButtonElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement02.js deleted file mode 100644 index d603116..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement02.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLButtonElement02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "button"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The form attribute returns null if control in not within the context of - form. - - Retrieve the form attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71254493 -*/ -function HTMLButtonElement02() { - var success; - if(checkInitialization(builder, "HTMLButtonElement02") != null) return; - var nodeList; - var testNode; - var vform; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "button"); - nodeList = doc.getElementsByTagName("button"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(1); - vform = testNode.form; - - assertNull("formNullLink",vform); - -} - - - - -function runTest() { - HTMLButtonElement02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement03.js deleted file mode 100644 index 80f2a82..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement03.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLButtonElement03"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "button"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The accessKey attribute returns a single character access key to - give access to the form control. - - Retrieve the accessKey attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-73169431 -*/ -function HTMLButtonElement03() { - var success; - if(checkInitialization(builder, "HTMLButtonElement03") != null) return; - var nodeList; - var testNode; - var vaccesskey; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "button"); - nodeList = doc.getElementsByTagName("button"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vaccesskey = testNode.accessKey; - - assertEquals("accessKeyLink","f",vaccesskey); - -} - - - - -function runTest() { - HTMLButtonElement03(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement04.js deleted file mode 100644 index f21d7a5..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement04.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLButtonElement04"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "button"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The disabled attribute specifies whether the control is unavailable - in this context. - - Retrieve the disabled attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-92757155 -*/ -function HTMLButtonElement04() { - var success; - if(checkInitialization(builder, "HTMLButtonElement04") != null) return; - var nodeList; - var testNode; - var vdisabled; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "button"); - nodeList = doc.getElementsByTagName("button"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vdisabled = testNode.disabled; - - assertTrue("disabledLink",vdisabled); - -} - - - - -function runTest() { - HTMLButtonElement04(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement05.js deleted file mode 100644 index 753b536..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement05.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLButtonElement05"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "button"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The name attribute is the form control or object name when submitted - with a form. - - Retrieve the name attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-11029910 -*/ -function HTMLButtonElement05() { - var success; - if(checkInitialization(builder, "HTMLButtonElement05") != null) return; - var nodeList; - var testNode; - var vname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "button"); - nodeList = doc.getElementsByTagName("button"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vname = testNode.name; - - assertEquals("nameLink","disabledButton",vname); - -} - - - - -function runTest() { - HTMLButtonElement05(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement06.js deleted file mode 100644 index 9ece4a2..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement06.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLButtonElement06"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "button"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The tabIndex attribute specifies an index that represents the element's - position in the tabbing order. - - Retrieve the tabIndex attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39190908 -*/ -function HTMLButtonElement06() { - var success; - if(checkInitialization(builder, "HTMLButtonElement06") != null) return; - var nodeList; - var testNode; - var vtabindex; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "button"); - nodeList = doc.getElementsByTagName("button"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vtabindex = testNode.tabIndex; - - assertEquals("tabIndexLink",20,vtabindex); - -} - - - - -function runTest() { - HTMLButtonElement06(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement07.js deleted file mode 100644 index 94e674e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement07.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLButtonElement07"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "button"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The type attribute specifies the type of button. - - Retrieve the type attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-27430092 -*/ -function HTMLButtonElement07() { - var success; - if(checkInitialization(builder, "HTMLButtonElement07") != null) return; - var nodeList; - var testNode; - var vtype; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "button"); - nodeList = doc.getElementsByTagName("button"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vtype = testNode.type; - - assertEquals("typeLink","reset",vtype); - -} - - - - -function runTest() { - HTMLButtonElement07(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement08.js deleted file mode 100644 index 316bf15..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement08.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLButtonElement08"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "button"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The value attribute specifies the current control value. - - Retrieve the value attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-72856782 -*/ -function HTMLButtonElement08() { - var success; - if(checkInitialization(builder, "HTMLButtonElement08") != null) return; - var nodeList; - var testNode; - var vvalue; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "button"); - nodeList = doc.getElementsByTagName("button"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vvalue = testNode.value; - - assertEquals("valueLink","Reset Disabled Button",vvalue); - -} - - - - -function runTest() { - HTMLButtonElement08(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument01.js deleted file mode 100644 index 57ce0ab..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument01.js +++ /dev/null @@ -1,109 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "document"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The title attribute is the specified title as a string. - - Retrieve the title attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-18446827 -*/ -function HTMLDocument01() { - var success; - if(checkInitialization(builder, "HTMLDocument01") != null) return; - var nodeList; - var vtitle; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "document"); - vtitle = doc.title; - - assertEquals("titleLink","NIST DOM HTML Test - DOCUMENT",vtitle); - -} - - - - -function runTest() { - HTMLDocument01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument05.js deleted file mode 100644 index cbbd213..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument05.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument05"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "document"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The body attribute is the element that contains the content for the - document. - - Retrieve the body attribute and examine its value for the id attribute. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-56360201 -*/ -function HTMLDocument05() { - var success; - if(checkInitialization(builder, "HTMLDocument05") != null) return; - var nodeList; - var testNode; - var vbody; - var vid; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "document"); - vbody = doc.body; - - vid = vbody.id; - - assertEquals("idLink","TEST-BODY",vid); - -} - - - - -function runTest() { - HTMLDocument05(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument15.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument15.js deleted file mode 100644 index f60d2b7..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument15.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument15"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "document"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The getElementById method returns the Element whose id is given by - elementId. If no such element exists, returns null. - - Retrieve the element whose id is "mapid". - Check the value of the element. - - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-36113835 -* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-26809268 -* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-getElBId -*/ -function HTMLDocument15() { - var success; - if(checkInitialization(builder, "HTMLDocument15") != null) return; - var elementNode; - var elementValue; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "document"); - elementNode = doc.getElementById("mapid"); - elementValue = elementNode.nodeName; - - assertEqualsAutoCase("element", "elementId","map",elementValue); - -} - - - - -function runTest() { - HTMLDocument15(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument16.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument16.js deleted file mode 100644 index a6c0543..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument16.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument16"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "document"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The getElementById method returns the Element whose id is given by - elementId. If no such element exists, returns null. - - Retrieve the element whose id is "noid". - The value returned should be null since there are not any elements with - an id of "noid". - - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-36113835 -* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-26809268 -* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-getElBId -*/ -function HTMLDocument16() { - var success; - if(checkInitialization(builder, "HTMLDocument16") != null) return; - var elementNode; - var elementValue; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "document"); - elementNode = doc.getElementById("noid"); - assertNull("elementId",elementNode); - -} - - - - -function runTest() { - HTMLDocument16(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument17.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument17.js deleted file mode 100644 index e9226e1..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument17.js +++ /dev/null @@ -1,119 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument17"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "document"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Clears the current document using HTMLDocument.open immediately followed by close. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-72161170 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98948567 -*/ -function HTMLDocument17() { - var success; - if(checkInitialization(builder, "HTMLDocument17") != null) return; - var doc; - var bodyElem; - var bodyChild; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "document"); - doc.open(); - doc.close(); - bodyElem = doc.body; - - - if( - - (bodyElem != null) - - ) { - bodyChild = bodyElem.firstChild; - - assertNull("bodyContainsChildren",bodyChild); - - } - -} - - - - -function runTest() { - HTMLDocument17(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument18.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument18.js deleted file mode 100644 index 254593e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument18.js +++ /dev/null @@ -1,102 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument18"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "document"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Calls HTMLDocument.close on a document that has not been opened for modification. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98948567 -*/ -function HTMLDocument18() { - var success; - if(checkInitialization(builder, "HTMLDocument18") != null) return; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "document"); - doc.close(); - -} - - - - -function runTest() { - HTMLDocument18(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument19.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument19.js deleted file mode 100644 index 7137836..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument19.js +++ /dev/null @@ -1,129 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument19"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "document"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Replaces the current document with a valid HTML document using HTMLDocument.open, write and close. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-72161170 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98948567 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75233634 -*/ -function HTMLDocument19() { - var success; - if(checkInitialization(builder, "HTMLDocument19") != null) return; - var doc; - var docElem; - var title; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "document"); - doc.open(); - - if( - - (builder.contentType == "text/html") - - ) { - doc.write(""); - - } - - else { - doc.write(""); - - } - doc.write(""); - doc.write("Replacement"); - doc.write(""); - doc.write("

    "); - doc.write("Hello, World."); - doc.write("

    "); - doc.write(""); - doc.write(""); - doc.close(); - -} - - - - -function runTest() { - HTMLDocument19(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument20.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument20.js deleted file mode 100644 index 38bb598..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument20.js +++ /dev/null @@ -1,129 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument20"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "document"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Replaces the current document with a valid HTML document using HTMLDocument.open, writeln and close. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-72161170 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98948567 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-35318390 -*/ -function HTMLDocument20() { - var success; - if(checkInitialization(builder, "HTMLDocument20") != null) return; - var doc; - var docElem; - var title; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "document"); - doc.open(); - - if( - - (builder.contentType == "text/html") - - ) { - doc.writeln(""); - - } - - else { - doc.writeln(""); - - } - doc.writeln(""); - doc.writeln("Replacement"); - doc.writeln(""); - doc.writeln("

    "); - doc.writeln("Hello, World."); - doc.writeln("

    "); - doc.writeln(""); - doc.writeln(""); - doc.close(); - -} - - - - -function runTest() { - HTMLDocument20(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument21.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument21.js deleted file mode 100644 index 52f94df..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument21.js +++ /dev/null @@ -1,138 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument21"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "document"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Replaces the current document checks that writeln adds a new line. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-72161170 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98948567 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75233634 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-35318390 -*/ -function HTMLDocument21() { - var success; - if(checkInitialization(builder, "HTMLDocument21") != null) return; - var doc; - var docElem; - var preElems; - var preElem; - var preText; - var preValue; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "document"); - doc.open(); - - if( - - (builder.contentType == "text/html") - - ) { - doc.writeln(""); - - } - - else { - doc.writeln(""); - - } - doc.writeln(""); - doc.writeln("Replacement"); - doc.writeln(""); - doc.write("
    ");
    -      doc.writeln("Hello, World.");
    -      doc.writeln("Hello, World.");
    -      doc.writeln("
    "); - doc.write("
    ");
    -      doc.write("Hello, World.");
    -      doc.write("Hello, World.");
    -      doc.writeln("
    "); - doc.writeln(""); - doc.writeln(""); - doc.close(); - -} - - - - -function runTest() { - HTMLDocument21(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement01.js deleted file mode 100644 index e9c3c43..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement01.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The id specifies the elements identifier. - - Retrieve the id attribute of the HEAD element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 -*/ -function HTMLElement01() { - var success; - if(checkInitialization(builder, "HTMLElement01") != null) return; - var nodeList; - var testNode; - var vid; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("head"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vid = testNode.id; - - assertEquals("idLink","Test-HEAD",vid); - -} - - - - -function runTest() { - HTMLElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement02.js deleted file mode 100644 index 8af6509..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement02.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The id specifies the elements identifier. - - Retrieve the id attribute of the SUB element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 -*/ -function HTMLElement02() { - var success; - if(checkInitialization(builder, "HTMLElement02") != null) return; - var nodeList; - var testNode; - var vid; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("sub"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vid = testNode.id; - - assertEquals("idLink","Test-SUB",vid); - -} - - - - -function runTest() { - HTMLElement02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement03.js deleted file mode 100644 index c9a9da2..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement03.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement03"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The id specifies the elements identifier. - - Retrieve the id attribute of the SUP element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 -*/ -function HTMLElement03() { - var success; - if(checkInitialization(builder, "HTMLElement03") != null) return; - var nodeList; - var testNode; - var vid; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("sup"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vid = testNode.id; - - assertEquals("idLink","Test-SUP",vid); - -} - - - - -function runTest() { - HTMLElement03(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement04.js deleted file mode 100644 index bb6af3a..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement04.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement04"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The id specifies the elements identifier. - - Retrieve the id attribute of the SPAN element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 -*/ -function HTMLElement04() { - var success; - if(checkInitialization(builder, "HTMLElement04") != null) return; - var nodeList; - var testNode; - var vid; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("span"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vid = testNode.id; - - assertEquals("idLink","Test-SPAN",vid); - -} - - - - -function runTest() { - HTMLElement04(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement05.js deleted file mode 100644 index 056d122..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement05.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement05"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The id specifies the elements identifier. - - Retrieve the id attribute of the BDO element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 -*/ -function HTMLElement05() { - var success; - if(checkInitialization(builder, "HTMLElement05") != null) return; - var nodeList; - var testNode; - var vid; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("bdo"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vid = testNode.id; - - assertEquals("idLink","Test-BDO",vid); - -} - - - - -function runTest() { - HTMLElement05(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement06.js deleted file mode 100644 index 80434d0..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement06.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement06"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The id specifies the elements identifier. - - Retrieve the id attribute of the TT element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 -*/ -function HTMLElement06() { - var success; - if(checkInitialization(builder, "HTMLElement06") != null) return; - var nodeList; - var testNode; - var vid; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("tt"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vid = testNode.id; - - assertEquals("idLink","Test-TT",vid); - -} - - - - -function runTest() { - HTMLElement06(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement07.js deleted file mode 100644 index c18742c..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement07.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement07"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The id specifies the elements identifier. - - Retrieve the id attribute of the I element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 -*/ -function HTMLElement07() { - var success; - if(checkInitialization(builder, "HTMLElement07") != null) return; - var nodeList; - var testNode; - var vid; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("i"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vid = testNode.id; - - assertEquals("idLink","Test-I",vid); - -} - - - - -function runTest() { - HTMLElement07(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement08.js deleted file mode 100644 index 0772de1..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement08.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement08"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The id specifies the elements identifier. - - Retrieve the id attribute of the B element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 -*/ -function HTMLElement08() { - var success; - if(checkInitialization(builder, "HTMLElement08") != null) return; - var nodeList; - var testNode; - var vid; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("b"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vid = testNode.id; - - assertEquals("idLink","Test-B",vid); - -} - - - - -function runTest() { - HTMLElement08(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement09.js deleted file mode 100644 index fab7c70..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement09.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement09"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The id specifies the elements identifier. - - Retrieve the id attribute of the U element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 -*/ -function HTMLElement09() { - var success; - if(checkInitialization(builder, "HTMLElement09") != null) return; - var nodeList; - var testNode; - var vid; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("u"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vid = testNode.id; - - assertEquals("idLink","Test-U",vid); - -} - - - - -function runTest() { - HTMLElement09(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement10.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement10.js deleted file mode 100644 index 4c7cf44..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement10.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement10"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The id specifies the elements identifier. - - Retrieve the id attribute of the S element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 -*/ -function HTMLElement10() { - var success; - if(checkInitialization(builder, "HTMLElement10") != null) return; - var nodeList; - var testNode; - var vid; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("s"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vid = testNode.id; - - assertEquals("idLink","Test-S",vid); - -} - - - - -function runTest() { - HTMLElement10(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement100.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement100.js deleted file mode 100644 index cb483aa..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement100.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement100"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. - - Retrieve the dir attribute of the SMALL element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 -*/ -function HTMLElement100() { - var success; - if(checkInitialization(builder, "HTMLElement100") != null) return; - var nodeList; - var testNode; - var vdir; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("small"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vdir = testNode.dir; - - assertEquals("dirLink","ltr",vdir); - -} - - - - -function runTest() { - HTMLElement100(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement101.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement101.js deleted file mode 100644 index 544027c..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement101.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement101"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. - - Retrieve the dir attribute of the EM element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 -*/ -function HTMLElement101() { - var success; - if(checkInitialization(builder, "HTMLElement101") != null) return; - var nodeList; - var testNode; - var vdir; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("em"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vdir = testNode.dir; - - assertEquals("dirLink","ltr",vdir); - -} - - - - -function runTest() { - HTMLElement101(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement102.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement102.js deleted file mode 100644 index 674d54e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement102.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement102"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. - - Retrieve the dir attribute of the STRONG element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 -*/ -function HTMLElement102() { - var success; - if(checkInitialization(builder, "HTMLElement102") != null) return; - var nodeList; - var testNode; - var vdir; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("strong"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vdir = testNode.dir; - - assertEquals("dirLink","ltr",vdir); - -} - - - - -function runTest() { - HTMLElement102(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement103.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement103.js deleted file mode 100644 index 5d1e1b7..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement103.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement103"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. - - Retrieve the dir attribute of the DFN element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 -*/ -function HTMLElement103() { - var success; - if(checkInitialization(builder, "HTMLElement103") != null) return; - var nodeList; - var testNode; - var vdir; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("dfn"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vdir = testNode.dir; - - assertEquals("dirLink","ltr",vdir); - -} - - - - -function runTest() { - HTMLElement103(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement104.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement104.js deleted file mode 100644 index 9007dd7..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement104.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement104"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. - - Retrieve the dir attribute of the CODE element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 -*/ -function HTMLElement104() { - var success; - if(checkInitialization(builder, "HTMLElement104") != null) return; - var nodeList; - var testNode; - var vdir; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("code"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vdir = testNode.dir; - - assertEquals("dirLink","ltr",vdir); - -} - - - - -function runTest() { - HTMLElement104(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement105.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement105.js deleted file mode 100644 index 228ebf0..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement105.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement105"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. - - Retrieve the dir attribute of the SAMP element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 -*/ -function HTMLElement105() { - var success; - if(checkInitialization(builder, "HTMLElement105") != null) return; - var nodeList; - var testNode; - var vdir; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("samp"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vdir = testNode.dir; - - assertEquals("dirLink","ltr",vdir); - -} - - - - -function runTest() { - HTMLElement105(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement106.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement106.js deleted file mode 100644 index 03c7706..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement106.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement106"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. - - Retrieve the dir attribute of the KBD element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 -*/ -function HTMLElement106() { - var success; - if(checkInitialization(builder, "HTMLElement106") != null) return; - var nodeList; - var testNode; - var vdir; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("kbd"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vdir = testNode.dir; - - assertEquals("dirLink","ltr",vdir); - -} - - - - -function runTest() { - HTMLElement106(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement107.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement107.js deleted file mode 100644 index 459db0a..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement107.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement107"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. - - Retrieve the dir attribute of the VAR element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 -*/ -function HTMLElement107() { - var success; - if(checkInitialization(builder, "HTMLElement107") != null) return; - var nodeList; - var testNode; - var vdir; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("var"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vdir = testNode.dir; - - assertEquals("dirLink","ltr",vdir); - -} - - - - -function runTest() { - HTMLElement107(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement108.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement108.js deleted file mode 100644 index 6a7bfd7..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement108.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement108"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. - - Retrieve the dir attribute of the CITE element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 -*/ -function HTMLElement108() { - var success; - if(checkInitialization(builder, "HTMLElement108") != null) return; - var nodeList; - var testNode; - var vdir; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("cite"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vdir = testNode.dir; - - assertEquals("dirLink","ltr",vdir); - -} - - - - -function runTest() { - HTMLElement108(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement109.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement109.js deleted file mode 100644 index f4237b7..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement109.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement109"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. - - Retrieve the dir attribute of the ACRONYM element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 -*/ -function HTMLElement109() { - var success; - if(checkInitialization(builder, "HTMLElement109") != null) return; - var nodeList; - var testNode; - var vdir; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("acronym"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vdir = testNode.dir; - - assertEquals("dirLink","ltr",vdir); - -} - - - - -function runTest() { - HTMLElement109(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement11.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement11.js deleted file mode 100644 index 6ba22ad..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement11.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement11"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The id specifies the elements identifier. - - Retrieve the id attribute of the STRIKE element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 -*/ -function HTMLElement11() { - var success; - if(checkInitialization(builder, "HTMLElement11") != null) return; - var nodeList; - var testNode; - var vid; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("strike"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vid = testNode.id; - - assertEquals("idLink","Test-STRIKE",vid); - -} - - - - -function runTest() { - HTMLElement11(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement110.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement110.js deleted file mode 100644 index 2a16af3..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement110.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement110"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. - - Retrieve the dir attribute of the ABBR element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 -*/ -function HTMLElement110() { - var success; - if(checkInitialization(builder, "HTMLElement110") != null) return; - var nodeList; - var testNode; - var vdir; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("abbr"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vdir = testNode.dir; - - assertEquals("dirLink","ltr",vdir); - -} - - - - -function runTest() { - HTMLElement110(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement111.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement111.js deleted file mode 100644 index 4a0a562..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement111.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement111"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. - - Retrieve the dir attribute of the DD element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 -*/ -function HTMLElement111() { - var success; - if(checkInitialization(builder, "HTMLElement111") != null) return; - var nodeList; - var testNode; - var vdir; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("dd"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(0); - vdir = testNode.dir; - - assertEquals("dirLink","ltr",vdir); - -} - - - - -function runTest() { - HTMLElement111(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement112.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement112.js deleted file mode 100644 index c8c4f41..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement112.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement112"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. - - Retrieve the dir attribute of the DT element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 -*/ -function HTMLElement112() { - var success; - if(checkInitialization(builder, "HTMLElement112") != null) return; - var nodeList; - var testNode; - var vdir; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("dt"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vdir = testNode.dir; - - assertEquals("dirLink","ltr",vdir); - -} - - - - -function runTest() { - HTMLElement112(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement113.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement113.js deleted file mode 100644 index e7dde6f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement113.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement113"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. - - Retrieve the dir attribute of the NOFRAMES element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 -*/ -function HTMLElement113() { - var success; - if(checkInitialization(builder, "HTMLElement113") != null) return; - var nodeList; - var testNode; - var vdir; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("noframes"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vdir = testNode.dir; - - assertEquals("dirLink","ltr",vdir); - -} - - - - -function runTest() { - HTMLElement113(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement114.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement114.js deleted file mode 100644 index c51bd98..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement114.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement114"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. - - Retrieve the dir attribute of the NOSCRIPT element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 -*/ -function HTMLElement114() { - var success; - if(checkInitialization(builder, "HTMLElement114") != null) return; - var nodeList; - var testNode; - var vdir; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("noscript"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vdir = testNode.dir; - - assertEquals("dirLink","ltr",vdir); - -} - - - - -function runTest() { - HTMLElement114(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement115.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement115.js deleted file mode 100644 index fdd9ba4..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement115.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement115"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. - - Retrieve the dir attribute of the ADDRESS element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 -*/ -function HTMLElement115() { - var success; - if(checkInitialization(builder, "HTMLElement115") != null) return; - var nodeList; - var testNode; - var vdir; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("address"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vdir = testNode.dir; - - assertEquals("dirLink","ltr",vdir); - -} - - - - -function runTest() { - HTMLElement115(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement116.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement116.js deleted file mode 100644 index 9008915..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement116.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement116"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. - - Retrieve the dir attribute of the CENTER element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 -*/ -function HTMLElement116() { - var success; - if(checkInitialization(builder, "HTMLElement116") != null) return; - var nodeList; - var testNode; - var vdir; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("center"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vdir = testNode.dir; - - assertEquals("dirLink","ltr",vdir); - -} - - - - -function runTest() { - HTMLElement116(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement117.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement117.js deleted file mode 100644 index 0ee8c6e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement117.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement117"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The className attribute specifies the class attribute of the element. - - Retrieve the class attribute of the HEAD element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 -*/ -function HTMLElement117() { - var success; - if(checkInitialization(builder, "HTMLElement117") != null) return; - var nodeList; - var testNode; - var vclassname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("head"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vclassname = testNode.className; - - assertEquals("classNameLink","HEAD-class",vclassname); - -} - - - - -function runTest() { - HTMLElement117(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement118.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement118.js deleted file mode 100644 index 818a97d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement118.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement118"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The className attribute specifies the class attribute of the element. - - Retrieve the class attribute of the SUB element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 -*/ -function HTMLElement118() { - var success; - if(checkInitialization(builder, "HTMLElement118") != null) return; - var nodeList; - var testNode; - var vclassname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("sub"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vclassname = testNode.className; - - assertEquals("classNameLink","SUB-class",vclassname); - -} - - - - -function runTest() { - HTMLElement118(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement119.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement119.js deleted file mode 100644 index 58898f3..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement119.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement119"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The className attribute specifies the class attribute of the element. - - Retrieve the class attribute of the SUP element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 -*/ -function HTMLElement119() { - var success; - if(checkInitialization(builder, "HTMLElement119") != null) return; - var nodeList; - var testNode; - var vclassname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("sup"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vclassname = testNode.className; - - assertEquals("classNameLink","SUP-class",vclassname); - -} - - - - -function runTest() { - HTMLElement119(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement12.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement12.js deleted file mode 100644 index 59393fa..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement12.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement12"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The id specifies the elements identifier. - - Retrieve the id attribute of the BIG element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 -*/ -function HTMLElement12() { - var success; - if(checkInitialization(builder, "HTMLElement12") != null) return; - var nodeList; - var testNode; - var vid; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("big"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vid = testNode.id; - - assertEquals("idLink","Test-BIG",vid); - -} - - - - -function runTest() { - HTMLElement12(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement120.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement120.js deleted file mode 100644 index 3298278..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement120.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement120"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The className attribute specifies the class attribute of the element. - - Retrieve the class attribute of the SPAN element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 -*/ -function HTMLElement120() { - var success; - if(checkInitialization(builder, "HTMLElement120") != null) return; - var nodeList; - var testNode; - var vclassname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("span"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vclassname = testNode.className; - - assertEquals("classNameLink","SPAN-class",vclassname); - -} - - - - -function runTest() { - HTMLElement120(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement121.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement121.js deleted file mode 100644 index ef69745..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement121.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement121"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The className attribute specifies the class attribute of the element. - - Retrieve the class attribute of the BDO element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 -*/ -function HTMLElement121() { - var success; - if(checkInitialization(builder, "HTMLElement121") != null) return; - var nodeList; - var testNode; - var vclassname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("bdo"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vclassname = testNode.className; - - assertEquals("classNameLink","BDO-class",vclassname); - -} - - - - -function runTest() { - HTMLElement121(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement122.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement122.js deleted file mode 100644 index 4285f67..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement122.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement122"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The className attribute specifies the class attribute of the element. - - Retrieve the class attribute of the TT element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 -*/ -function HTMLElement122() { - var success; - if(checkInitialization(builder, "HTMLElement122") != null) return; - var nodeList; - var testNode; - var vclassname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("tt"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vclassname = testNode.className; - - assertEquals("classNameLink","TT-class",vclassname); - -} - - - - -function runTest() { - HTMLElement122(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement123.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement123.js deleted file mode 100644 index 5381e18..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement123.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement123"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The className attribute specifies the class attribute of the element. - - Retrieve the class attribute of the I element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 -*/ -function HTMLElement123() { - var success; - if(checkInitialization(builder, "HTMLElement123") != null) return; - var nodeList; - var testNode; - var vclassname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("i"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vclassname = testNode.className; - - assertEquals("classNameLink","I-class",vclassname); - -} - - - - -function runTest() { - HTMLElement123(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement124.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement124.js deleted file mode 100644 index 15097e0..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement124.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement124"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The className attribute specifies the class attribute of the element. - - Retrieve the class attribute of the B element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 -*/ -function HTMLElement124() { - var success; - if(checkInitialization(builder, "HTMLElement124") != null) return; - var nodeList; - var testNode; - var vclassname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("b"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vclassname = testNode.className; - - assertEquals("classNameLink","B-class",vclassname); - -} - - - - -function runTest() { - HTMLElement124(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement125.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement125.js deleted file mode 100644 index 22af864..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement125.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement125"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The className attribute specifies the class attribute of the element. - - Retrieve the class attribute of the U element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 -*/ -function HTMLElement125() { - var success; - if(checkInitialization(builder, "HTMLElement125") != null) return; - var nodeList; - var testNode; - var vclassname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("u"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vclassname = testNode.className; - - assertEquals("classNameLink","U-class",vclassname); - -} - - - - -function runTest() { - HTMLElement125(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement126.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement126.js deleted file mode 100644 index 4026e7e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement126.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement126"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The className attribute specifies the class attribute of the element. - - Retrieve the class attribute of the S element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 -*/ -function HTMLElement126() { - var success; - if(checkInitialization(builder, "HTMLElement126") != null) return; - var nodeList; - var testNode; - var vclassname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("s"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vclassname = testNode.className; - - assertEquals("classNameLink","S-class",vclassname); - -} - - - - -function runTest() { - HTMLElement126(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement127.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement127.js deleted file mode 100644 index b302bcf..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement127.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement127"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The className attribute specifies the class attribute of the element. - - Retrieve the class attribute of the STRIKE element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 -*/ -function HTMLElement127() { - var success; - if(checkInitialization(builder, "HTMLElement127") != null) return; - var nodeList; - var testNode; - var vclassname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("strike"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vclassname = testNode.className; - - assertEquals("classNameLink","STRIKE-class",vclassname); - -} - - - - -function runTest() { - HTMLElement127(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement128.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement128.js deleted file mode 100644 index 490a3ea..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement128.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement128"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The className attribute specifies the class attribute of the element. - - Retrieve the class attribute of the BIG element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 -*/ -function HTMLElement128() { - var success; - if(checkInitialization(builder, "HTMLElement128") != null) return; - var nodeList; - var testNode; - var vclassname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("big"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vclassname = testNode.className; - - assertEquals("classNameLink","BIG-class",vclassname); - -} - - - - -function runTest() { - HTMLElement128(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement129.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement129.js deleted file mode 100644 index 0a46d87..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement129.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement129"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The className attribute specifies the class attribute of the element. - - Retrieve the class attribute of the SMALL element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 -*/ -function HTMLElement129() { - var success; - if(checkInitialization(builder, "HTMLElement129") != null) return; - var nodeList; - var testNode; - var vclassname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("small"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vclassname = testNode.className; - - assertEquals("classNameLink","SMALL-class",vclassname); - -} - - - - -function runTest() { - HTMLElement129(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement13.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement13.js deleted file mode 100644 index 6ff3486..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement13.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement13"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The id specifies the elements identifier. - - Retrieve the id attribute of the SMALL element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 -*/ -function HTMLElement13() { - var success; - if(checkInitialization(builder, "HTMLElement13") != null) return; - var nodeList; - var testNode; - var vid; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("small"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vid = testNode.id; - - assertEquals("idLink","Test-SMALL",vid); - -} - - - - -function runTest() { - HTMLElement13(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement130.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement130.js deleted file mode 100644 index f5a10fe..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement130.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement130"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The className attribute specifies the class attribute of the element. - - Retrieve the class attribute of the EM element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 -*/ -function HTMLElement130() { - var success; - if(checkInitialization(builder, "HTMLElement130") != null) return; - var nodeList; - var testNode; - var vclassname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("em"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vclassname = testNode.className; - - assertEquals("classNameLink","EM-class",vclassname); - -} - - - - -function runTest() { - HTMLElement130(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement131.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement131.js deleted file mode 100644 index fff3d81..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement131.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement131"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The className attribute specifies the class attribute of the element. - - Retrieve the class attribute of the STRONG element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 -*/ -function HTMLElement131() { - var success; - if(checkInitialization(builder, "HTMLElement131") != null) return; - var nodeList; - var testNode; - var vclassname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("strong"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vclassname = testNode.className; - - assertEquals("classNameLink","STRONG-class",vclassname); - -} - - - - -function runTest() { - HTMLElement131(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement132.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement132.js deleted file mode 100644 index 6f617cd..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement132.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement132"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The className attribute specifies the class attribute of the element. - - Retrieve the class attribute of the DFN element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 -*/ -function HTMLElement132() { - var success; - if(checkInitialization(builder, "HTMLElement132") != null) return; - var nodeList; - var testNode; - var vclassname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("dfn"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vclassname = testNode.className; - - assertEquals("classNameLink","DFN-class",vclassname); - -} - - - - -function runTest() { - HTMLElement132(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement133.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement133.js deleted file mode 100644 index 10ffd29..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement133.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement133"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The className attribute specifies the class attribute of the element. - - Retrieve the class attribute of the CODE element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 -*/ -function HTMLElement133() { - var success; - if(checkInitialization(builder, "HTMLElement133") != null) return; - var nodeList; - var testNode; - var vclassname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("code"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vclassname = testNode.className; - - assertEquals("classNameLink","CODE-class",vclassname); - -} - - - - -function runTest() { - HTMLElement133(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement134.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement134.js deleted file mode 100644 index 2c452d2..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement134.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement134"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The className attribute specifies the class attribute of the element. - - Retrieve the class attribute of the SAMP element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 -*/ -function HTMLElement134() { - var success; - if(checkInitialization(builder, "HTMLElement134") != null) return; - var nodeList; - var testNode; - var vclassname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("samp"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vclassname = testNode.className; - - assertEquals("classNameLink","SAMP-class",vclassname); - -} - - - - -function runTest() { - HTMLElement134(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement135.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement135.js deleted file mode 100644 index b726eb2..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement135.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement135"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The className attribute specifies the class attribute of the element. - - Retrieve the class attribute of the KBD element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 -*/ -function HTMLElement135() { - var success; - if(checkInitialization(builder, "HTMLElement135") != null) return; - var nodeList; - var testNode; - var vclassname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("kbd"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vclassname = testNode.className; - - assertEquals("classNameLink","KBD-class",vclassname); - -} - - - - -function runTest() { - HTMLElement135(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement136.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement136.js deleted file mode 100644 index b790ea0..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement136.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement136"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The className attribute specifies the class attribute of the element. - - Retrieve the class attribute of the VAR element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 -*/ -function HTMLElement136() { - var success; - if(checkInitialization(builder, "HTMLElement136") != null) return; - var nodeList; - var testNode; - var vclassname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("var"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vclassname = testNode.className; - - assertEquals("classNameLink","VAR-class",vclassname); - -} - - - - -function runTest() { - HTMLElement136(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement137.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement137.js deleted file mode 100644 index 44cc553..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement137.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement137"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The className attribute specifies the class attribute of the element. - - Retrieve the class attribute of the CITE element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 -*/ -function HTMLElement137() { - var success; - if(checkInitialization(builder, "HTMLElement137") != null) return; - var nodeList; - var testNode; - var vclassname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("cite"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vclassname = testNode.className; - - assertEquals("classNameLink","CITE-class",vclassname); - -} - - - - -function runTest() { - HTMLElement137(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement138.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement138.js deleted file mode 100644 index 2a2df22..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement138.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement138"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The className attribute specifies the class attribute of the element. - - Retrieve the class attribute of the ACRONYM element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 -*/ -function HTMLElement138() { - var success; - if(checkInitialization(builder, "HTMLElement138") != null) return; - var nodeList; - var testNode; - var vclassname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("acronym"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vclassname = testNode.className; - - assertEquals("classNameLink","ACRONYM-class",vclassname); - -} - - - - -function runTest() { - HTMLElement138(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement139.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement139.js deleted file mode 100644 index 1ecef9a..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement139.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement139"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The className attribute specifies the class attribute of the element. - - Retrieve the class attribute of the ABBR element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 -*/ -function HTMLElement139() { - var success; - if(checkInitialization(builder, "HTMLElement139") != null) return; - var nodeList; - var testNode; - var vclassname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("abbr"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vclassname = testNode.className; - - assertEquals("classNameLink","ABBR-class",vclassname); - -} - - - - -function runTest() { - HTMLElement139(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement14.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement14.js deleted file mode 100644 index 24c045b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement14.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement14"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The id specifies the elements identifier. - - Retrieve the id attribute of the EM element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 -*/ -function HTMLElement14() { - var success; - if(checkInitialization(builder, "HTMLElement14") != null) return; - var nodeList; - var testNode; - var vid; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("em"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vid = testNode.id; - - assertEquals("idLink","Test-EM",vid); - -} - - - - -function runTest() { - HTMLElement14(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement140.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement140.js deleted file mode 100644 index d9522c1..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement140.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement140"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The className attribute specifies the class attribute of the element. - - Retrieve the class attribute of the DD element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 -*/ -function HTMLElement140() { - var success; - if(checkInitialization(builder, "HTMLElement140") != null) return; - var nodeList; - var testNode; - var vclassname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("dd"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(0); - vclassname = testNode.className; - - assertEquals("classNameLink","DD-class",vclassname); - -} - - - - -function runTest() { - HTMLElement140(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement141.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement141.js deleted file mode 100644 index ccd7acf..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement141.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement141"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The className attribute specifies the class attribute of the element. - - Retrieve the class attribute of the DT element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 -*/ -function HTMLElement141() { - var success; - if(checkInitialization(builder, "HTMLElement141") != null) return; - var nodeList; - var testNode; - var vclassname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("dt"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vclassname = testNode.className; - - assertEquals("classNameLink","DT-class",vclassname); - -} - - - - -function runTest() { - HTMLElement141(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement142.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement142.js deleted file mode 100644 index 9ba56ba..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement142.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement142"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The className attribute specifies the class attribute of the element. - - Retrieve the class attribute of the NOFRAMES element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 -*/ -function HTMLElement142() { - var success; - if(checkInitialization(builder, "HTMLElement142") != null) return; - var nodeList; - var testNode; - var vclassname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("noframes"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vclassname = testNode.className; - - assertEquals("classNameLink","NOFRAMES-class",vclassname); - -} - - - - -function runTest() { - HTMLElement142(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement143.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement143.js deleted file mode 100644 index 6fa2949..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement143.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement143"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The className attribute specifies the class attribute of the element. - - Retrieve the class attribute of the NOSCRIPT element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 -*/ -function HTMLElement143() { - var success; - if(checkInitialization(builder, "HTMLElement143") != null) return; - var nodeList; - var testNode; - var vclassname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("noscript"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vclassname = testNode.className; - - assertEquals("classNameLink","NOSCRIPT-class",vclassname); - -} - - - - -function runTest() { - HTMLElement143(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement144.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement144.js deleted file mode 100644 index 0005aac..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement144.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement144"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The className attribute specifies the class attribute of the element. - - Retrieve the class attribute of the ADDRESS element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 -*/ -function HTMLElement144() { - var success; - if(checkInitialization(builder, "HTMLElement144") != null) return; - var nodeList; - var testNode; - var vclassname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("address"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vclassname = testNode.className; - - assertEquals("classNameLink","ADDRESS-class",vclassname); - -} - - - - -function runTest() { - HTMLElement144(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement145.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement145.js deleted file mode 100644 index 360b7f5..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement145.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement145"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The className attribute specifies the class attribute of the element. - - Retrieve the class attribute of the CENTER element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 -*/ -function HTMLElement145() { - var success; - if(checkInitialization(builder, "HTMLElement145") != null) return; - var nodeList; - var testNode; - var vclassname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("center"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vclassname = testNode.className; - - assertEquals("classNameLink","CENTER-class",vclassname); - -} - - - - -function runTest() { - HTMLElement145(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement15.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement15.js deleted file mode 100644 index d1a7937..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement15.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement15"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The id specifies the elements identifier. - - Retrieve the id attribute of the STRONG element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 -*/ -function HTMLElement15() { - var success; - if(checkInitialization(builder, "HTMLElement15") != null) return; - var nodeList; - var testNode; - var vid; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("strong"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vid = testNode.id; - - assertEquals("idLink","Test-STRONG",vid); - -} - - - - -function runTest() { - HTMLElement15(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement16.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement16.js deleted file mode 100644 index f4af647..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement16.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement16"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The id specifies the elements identifier. - - Retrieve the id attribute of the DFN element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 -*/ -function HTMLElement16() { - var success; - if(checkInitialization(builder, "HTMLElement16") != null) return; - var nodeList; - var testNode; - var vid; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("dfn"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vid = testNode.id; - - assertEquals("idLink","Test-DFN",vid); - -} - - - - -function runTest() { - HTMLElement16(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement17.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement17.js deleted file mode 100644 index ac7623c..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement17.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement17"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The id specifies the elements identifier. - - Retrieve the id attribute of the CODE element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 -*/ -function HTMLElement17() { - var success; - if(checkInitialization(builder, "HTMLElement17") != null) return; - var nodeList; - var testNode; - var vid; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("code"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vid = testNode.id; - - assertEquals("idLink","Test-CODE",vid); - -} - - - - -function runTest() { - HTMLElement17(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement18.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement18.js deleted file mode 100644 index 4b35a26..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement18.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement18"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The id specifies the elements identifier. - - Retrieve the id attribute of the SAMP element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 -*/ -function HTMLElement18() { - var success; - if(checkInitialization(builder, "HTMLElement18") != null) return; - var nodeList; - var testNode; - var vid; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("samp"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vid = testNode.id; - - assertEquals("idLink","Test-SAMP",vid); - -} - - - - -function runTest() { - HTMLElement18(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement19.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement19.js deleted file mode 100644 index 5482f26..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement19.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement19"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The id specifies the elements identifier. - - Retrieve the id attribute of the KBD element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 -*/ -function HTMLElement19() { - var success; - if(checkInitialization(builder, "HTMLElement19") != null) return; - var nodeList; - var testNode; - var vid; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("kbd"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vid = testNode.id; - - assertEquals("idLink","Test-KBD",vid); - -} - - - - -function runTest() { - HTMLElement19(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement20.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement20.js deleted file mode 100644 index d50a352..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement20.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement20"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The id specifies the elements identifier. - - Retrieve the id attribute of the VAR element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 -*/ -function HTMLElement20() { - var success; - if(checkInitialization(builder, "HTMLElement20") != null) return; - var nodeList; - var testNode; - var vid; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("var"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vid = testNode.id; - - assertEquals("idLink","Test-VAR",vid); - -} - - - - -function runTest() { - HTMLElement20(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement21.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement21.js deleted file mode 100644 index a33c682..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement21.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement21"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The id specifies the elements identifier. - - Retrieve the id attribute of the CITE element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 -*/ -function HTMLElement21() { - var success; - if(checkInitialization(builder, "HTMLElement21") != null) return; - var nodeList; - var testNode; - var vid; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("cite"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vid = testNode.id; - - assertEquals("idLink","Test-CITE",vid); - -} - - - - -function runTest() { - HTMLElement21(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement22.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement22.js deleted file mode 100644 index 2c94717..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement22.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement22"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The id specifies the elements identifier. - - Retrieve the id attribute of the ACRONYM element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 -*/ -function HTMLElement22() { - var success; - if(checkInitialization(builder, "HTMLElement22") != null) return; - var nodeList; - var testNode; - var vid; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("acronym"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vid = testNode.id; - - assertEquals("idLink","Test-ACRONYM",vid); - -} - - - - -function runTest() { - HTMLElement22(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement23.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement23.js deleted file mode 100644 index 9897a08..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement23.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement23"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The id specifies the elements identifier. - - Retrieve the id attribute of the ABBR element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 -*/ -function HTMLElement23() { - var success; - if(checkInitialization(builder, "HTMLElement23") != null) return; - var nodeList; - var testNode; - var vid; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("abbr"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vid = testNode.id; - - assertEquals("idLink","Test-ABBR",vid); - -} - - - - -function runTest() { - HTMLElement23(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement24.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement24.js deleted file mode 100644 index e7d45ef..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement24.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement24"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The id specifies the elements identifier. - - Retrieve the id attribute of the DD element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 -*/ -function HTMLElement24() { - var success; - if(checkInitialization(builder, "HTMLElement24") != null) return; - var nodeList; - var testNode; - var vid; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("dd"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(0); - vid = testNode.id; - - assertEquals("idLink","Test-DD",vid); - -} - - - - -function runTest() { - HTMLElement24(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement25.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement25.js deleted file mode 100644 index 3129f44..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement25.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement25"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The id specifies the elements identifier. - - Retrieve the id attribute of the DT element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 -*/ -function HTMLElement25() { - var success; - if(checkInitialization(builder, "HTMLElement25") != null) return; - var nodeList; - var testNode; - var vid; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("dt"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vid = testNode.id; - - assertEquals("idLink","Test-DT",vid); - -} - - - - -function runTest() { - HTMLElement25(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement26.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement26.js deleted file mode 100644 index 5eb2657..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement26.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement26"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The id specifies the elements identifier. - - Retrieve the id attribute of the NOFRAMES element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 -*/ -function HTMLElement26() { - var success; - if(checkInitialization(builder, "HTMLElement26") != null) return; - var nodeList; - var testNode; - var vid; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("noframes"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vid = testNode.id; - - assertEquals("idLink","Test-NOFRAMES",vid); - -} - - - - -function runTest() { - HTMLElement26(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement27.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement27.js deleted file mode 100644 index 180cbc7..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement27.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement27"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The id specifies the elements identifier. - - Retrieve the id attribute of the NOSCRIPT element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 -*/ -function HTMLElement27() { - var success; - if(checkInitialization(builder, "HTMLElement27") != null) return; - var nodeList; - var testNode; - var vid; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("noscript"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vid = testNode.id; - - assertEquals("idLink","Test-NOSCRIPT",vid); - -} - - - - -function runTest() { - HTMLElement27(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement28.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement28.js deleted file mode 100644 index d851c15..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement28.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement28"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The id specifies the elements identifier. - - Retrieve the id attribute of the ADDRESS element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 -*/ -function HTMLElement28() { - var success; - if(checkInitialization(builder, "HTMLElement28") != null) return; - var nodeList; - var testNode; - var vid; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("address"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vid = testNode.id; - - assertEquals("idLink","Test-ADDRESS",vid); - -} - - - - -function runTest() { - HTMLElement28(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement29.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement29.js deleted file mode 100644 index 7612c4c..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement29.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement29"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The id specifies the elements identifier. - - Retrieve the id attribute of the CENTER element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 -*/ -function HTMLElement29() { - var success; - if(checkInitialization(builder, "HTMLElement29") != null) return; - var nodeList; - var testNode; - var vid; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("center"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vid = testNode.id; - - assertEquals("idLink","Test-CENTER",vid); - -} - - - - -function runTest() { - HTMLElement29(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement30.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement30.js deleted file mode 100644 index 4eaa63b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement30.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement30"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The title attribute specifies the elements advisory title. - - Retrieve the title attribute of the HEAD element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 -*/ -function HTMLElement30() { - var success; - if(checkInitialization(builder, "HTMLElement30") != null) return; - var nodeList; - var testNode; - var vtitle; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("head"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vtitle = testNode.title; - - assertEquals("titleLink","HEAD Element",vtitle); - -} - - - - -function runTest() { - HTMLElement30(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement31.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement31.js deleted file mode 100644 index b7fdc98..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement31.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement31"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The title attribute specifies the elements advisory title. - - Retrieve the title attribute of the SUB element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 -*/ -function HTMLElement31() { - var success; - if(checkInitialization(builder, "HTMLElement31") != null) return; - var nodeList; - var testNode; - var vtitle; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("sub"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vtitle = testNode.title; - - assertEquals("titleLink","SUB Element",vtitle); - -} - - - - -function runTest() { - HTMLElement31(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement32.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement32.js deleted file mode 100644 index b48c310..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement32.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement32"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The title attribute specifies the elements advisory title. - - Retrieve the title attribute of the SUP element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 -*/ -function HTMLElement32() { - var success; - if(checkInitialization(builder, "HTMLElement32") != null) return; - var nodeList; - var testNode; - var vtitle; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("sup"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vtitle = testNode.title; - - assertEquals("titleLink","SUP Element",vtitle); - -} - - - - -function runTest() { - HTMLElement32(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement33.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement33.js deleted file mode 100644 index 4b6824f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement33.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement33"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The title attribute specifies the elements advisory title. - - Retrieve the title attribute of the SPAN element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 -*/ -function HTMLElement33() { - var success; - if(checkInitialization(builder, "HTMLElement33") != null) return; - var nodeList; - var testNode; - var vtitle; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("span"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vtitle = testNode.title; - - assertEquals("titleLink","SPAN Element",vtitle); - -} - - - - -function runTest() { - HTMLElement33(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement34.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement34.js deleted file mode 100644 index 1340f7b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement34.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement34"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The title attribute specifies the elements advisory title. - - Retrieve the title attribute of the BDO element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 -*/ -function HTMLElement34() { - var success; - if(checkInitialization(builder, "HTMLElement34") != null) return; - var nodeList; - var testNode; - var vtitle; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("bdo"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vtitle = testNode.title; - - assertEquals("titleLink","BDO Element",vtitle); - -} - - - - -function runTest() { - HTMLElement34(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement35.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement35.js deleted file mode 100644 index 4264639..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement35.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement35"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The title attribute specifies the elements advisory title. - - Retrieve the title attribute of the TT element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 -*/ -function HTMLElement35() { - var success; - if(checkInitialization(builder, "HTMLElement35") != null) return; - var nodeList; - var testNode; - var vtitle; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("tt"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vtitle = testNode.title; - - assertEquals("titleLink","TT Element",vtitle); - -} - - - - -function runTest() { - HTMLElement35(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement36.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement36.js deleted file mode 100644 index 5c10480..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement36.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement36"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The title attribute specifies the elements advisory title. - - Retrieve the title attribute of the I element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 -*/ -function HTMLElement36() { - var success; - if(checkInitialization(builder, "HTMLElement36") != null) return; - var nodeList; - var testNode; - var vtitle; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("i"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vtitle = testNode.title; - - assertEquals("titleLink","I Element",vtitle); - -} - - - - -function runTest() { - HTMLElement36(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement37.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement37.js deleted file mode 100644 index 68dcf12..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement37.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement37"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The title attribute specifies the elements advisory title. - - Retrieve the title attribute of the B element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 -*/ -function HTMLElement37() { - var success; - if(checkInitialization(builder, "HTMLElement37") != null) return; - var nodeList; - var testNode; - var vtitle; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("b"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vtitle = testNode.title; - - assertEquals("titleLink","B Element",vtitle); - -} - - - - -function runTest() { - HTMLElement37(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement38.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement38.js deleted file mode 100644 index 607ba1c..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement38.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement38"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The title attribute specifies the elements advisory title. - - Retrieve the title attribute of the U element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 -*/ -function HTMLElement38() { - var success; - if(checkInitialization(builder, "HTMLElement38") != null) return; - var nodeList; - var testNode; - var vtitle; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("u"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vtitle = testNode.title; - - assertEquals("titleLink","U Element",vtitle); - -} - - - - -function runTest() { - HTMLElement38(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement39.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement39.js deleted file mode 100644 index c85be70..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement39.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement39"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The title attribute specifies the elements advisory title. - - Retrieve the title attribute of the S element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 -*/ -function HTMLElement39() { - var success; - if(checkInitialization(builder, "HTMLElement39") != null) return; - var nodeList; - var testNode; - var vtitle; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("s"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vtitle = testNode.title; - - assertEquals("titleLink","S Element",vtitle); - -} - - - - -function runTest() { - HTMLElement39(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement40.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement40.js deleted file mode 100644 index 0bd9f65..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement40.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement40"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The title attribute specifies the elements advisory title. - - Retrieve the title attribute of the STRIKE element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 -*/ -function HTMLElement40() { - var success; - if(checkInitialization(builder, "HTMLElement40") != null) return; - var nodeList; - var testNode; - var vtitle; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("strike"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vtitle = testNode.title; - - assertEquals("titleLink","STRIKE Element",vtitle); - -} - - - - -function runTest() { - HTMLElement40(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement41.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement41.js deleted file mode 100644 index 792e1f4..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement41.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement41"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The title attribute specifies the elements advisory title. - - Retrieve the title attribute of the BIG element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 -*/ -function HTMLElement41() { - var success; - if(checkInitialization(builder, "HTMLElement41") != null) return; - var nodeList; - var testNode; - var vtitle; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("big"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vtitle = testNode.title; - - assertEquals("titleLink","BIG Element",vtitle); - -} - - - - -function runTest() { - HTMLElement41(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement42.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement42.js deleted file mode 100644 index 2dfb6b2..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement42.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement42"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The title attribute specifies the elements advisory title. - - Retrieve the title attribute of the SMALL element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 -*/ -function HTMLElement42() { - var success; - if(checkInitialization(builder, "HTMLElement42") != null) return; - var nodeList; - var testNode; - var vtitle; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("small"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vtitle = testNode.title; - - assertEquals("titleLink","SMALL Element",vtitle); - -} - - - - -function runTest() { - HTMLElement42(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement43.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement43.js deleted file mode 100644 index afa4cad..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement43.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement43"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The title attribute specifies the elements advisory title. - - Retrieve the title attribute of the EM element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 -*/ -function HTMLElement43() { - var success; - if(checkInitialization(builder, "HTMLElement43") != null) return; - var nodeList; - var testNode; - var vtitle; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("em"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vtitle = testNode.title; - - assertEquals("titleLink","EM Element",vtitle); - -} - - - - -function runTest() { - HTMLElement43(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement44.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement44.js deleted file mode 100644 index d327e32..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement44.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement44"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The title attribute specifies the elements advisory title. - - Retrieve the title attribute of the STRONG element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 -*/ -function HTMLElement44() { - var success; - if(checkInitialization(builder, "HTMLElement44") != null) return; - var nodeList; - var testNode; - var vtitle; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("strong"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vtitle = testNode.title; - - assertEquals("titleLink","STRONG Element",vtitle); - -} - - - - -function runTest() { - HTMLElement44(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement45.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement45.js deleted file mode 100644 index fbac213..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement45.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement45"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The title attribute specifies the elements advisory title. - - Retrieve the title attribute of the DFN element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 -*/ -function HTMLElement45() { - var success; - if(checkInitialization(builder, "HTMLElement45") != null) return; - var nodeList; - var testNode; - var vtitle; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("dfn"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vtitle = testNode.title; - - assertEquals("titleLink","DFN Element",vtitle); - -} - - - - -function runTest() { - HTMLElement45(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement46.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement46.js deleted file mode 100644 index 825fb8f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement46.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement46"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The title attribute specifies the elements advisory title. - - Retrieve the title attribute of the CODE element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 -*/ -function HTMLElement46() { - var success; - if(checkInitialization(builder, "HTMLElement46") != null) return; - var nodeList; - var testNode; - var vtitle; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("code"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vtitle = testNode.title; - - assertEquals("titleLink","CODE Element",vtitle); - -} - - - - -function runTest() { - HTMLElement46(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement47.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement47.js deleted file mode 100644 index d5a3383..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement47.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement47"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The title attribute specifies the elements advisory title. - - Retrieve the title attribute of the SAMP element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 -*/ -function HTMLElement47() { - var success; - if(checkInitialization(builder, "HTMLElement47") != null) return; - var nodeList; - var testNode; - var vtitle; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("samp"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vtitle = testNode.title; - - assertEquals("titleLink","SAMP Element",vtitle); - -} - - - - -function runTest() { - HTMLElement47(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement48.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement48.js deleted file mode 100644 index 4245e28..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement48.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement48"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The title attribute specifies the elements advisory title. - - Retrieve the title attribute of the KBD element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 -*/ -function HTMLElement48() { - var success; - if(checkInitialization(builder, "HTMLElement48") != null) return; - var nodeList; - var testNode; - var vtitle; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("kbd"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vtitle = testNode.title; - - assertEquals("titleLink","KBD Element",vtitle); - -} - - - - -function runTest() { - HTMLElement48(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement49.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement49.js deleted file mode 100644 index 0b4099b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement49.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement49"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The title attribute specifies the elements advisory title. - - Retrieve the title attribute of the VAR element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 -*/ -function HTMLElement49() { - var success; - if(checkInitialization(builder, "HTMLElement49") != null) return; - var nodeList; - var testNode; - var vtitle; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("var"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vtitle = testNode.title; - - assertEquals("titleLink","VAR Element",vtitle); - -} - - - - -function runTest() { - HTMLElement49(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement50.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement50.js deleted file mode 100644 index d1ebdf7..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement50.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement50"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The title attribute specifies the elements advisory title. - - Retrieve the title attribute of the CITE element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 -*/ -function HTMLElement50() { - var success; - if(checkInitialization(builder, "HTMLElement50") != null) return; - var nodeList; - var testNode; - var vtitle; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("cite"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vtitle = testNode.title; - - assertEquals("titleLink","CITE Element",vtitle); - -} - - - - -function runTest() { - HTMLElement50(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement51.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement51.js deleted file mode 100644 index f512269..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement51.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement51"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The title attribute specifies the elements advisory title. - - Retrieve the title attribute of the ACRONYM element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 -*/ -function HTMLElement51() { - var success; - if(checkInitialization(builder, "HTMLElement51") != null) return; - var nodeList; - var testNode; - var vtitle; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("acronym"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vtitle = testNode.title; - - assertEquals("titleLink","ACRONYM Element",vtitle); - -} - - - - -function runTest() { - HTMLElement51(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement52.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement52.js deleted file mode 100644 index 97ed7ce..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement52.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement52"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The title attribute specifies the elements advisory title. - - Retrieve the title attribute of the ABBR element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 -*/ -function HTMLElement52() { - var success; - if(checkInitialization(builder, "HTMLElement52") != null) return; - var nodeList; - var testNode; - var vtitle; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("abbr"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vtitle = testNode.title; - - assertEquals("titleLink","ABBR Element",vtitle); - -} - - - - -function runTest() { - HTMLElement52(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement53.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement53.js deleted file mode 100644 index c725643..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement53.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement53"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The title attribute specifies the elements advisory title. - - Retrieve the title attribute of the DD element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 -*/ -function HTMLElement53() { - var success; - if(checkInitialization(builder, "HTMLElement53") != null) return; - var nodeList; - var testNode; - var vtitle; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("dd"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(0); - vtitle = testNode.title; - - assertEquals("titleLink","DD Element",vtitle); - -} - - - - -function runTest() { - HTMLElement53(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement54.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement54.js deleted file mode 100644 index 64859fe..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement54.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement54"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The title attribute specifies the elements advisory title. - - Retrieve the title attribute of the DT element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 -*/ -function HTMLElement54() { - var success; - if(checkInitialization(builder, "HTMLElement54") != null) return; - var nodeList; - var testNode; - var vtitle; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("dt"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vtitle = testNode.title; - - assertEquals("titleLink","DT Element",vtitle); - -} - - - - -function runTest() { - HTMLElement54(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement55.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement55.js deleted file mode 100644 index c5d6dfe..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement55.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement55"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The title attribute specifies the elements advisory title. - - Retrieve the title attribute of the NOFRAMES element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 -*/ -function HTMLElement55() { - var success; - if(checkInitialization(builder, "HTMLElement55") != null) return; - var nodeList; - var testNode; - var vtitle; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("noframes"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vtitle = testNode.title; - - assertEquals("titleLink","NOFRAMES Element",vtitle); - -} - - - - -function runTest() { - HTMLElement55(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement56.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement56.js deleted file mode 100644 index 7f83399..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement56.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement56"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The title attribute specifies the elements advisory title. - - Retrieve the title attribute of the NOSCRIPT element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 -*/ -function HTMLElement56() { - var success; - if(checkInitialization(builder, "HTMLElement56") != null) return; - var nodeList; - var testNode; - var vtitle; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("noscript"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vtitle = testNode.title; - - assertEquals("titleLink","NOSCRIPT Element",vtitle); - -} - - - - -function runTest() { - HTMLElement56(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement57.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement57.js deleted file mode 100644 index d9a2697..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement57.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement57"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The title attribute specifies the elements advisory title. - - Retrieve the title attribute of the ADDRESS element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 -*/ -function HTMLElement57() { - var success; - if(checkInitialization(builder, "HTMLElement57") != null) return; - var nodeList; - var testNode; - var vtitle; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("address"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vtitle = testNode.title; - - assertEquals("titleLink","ADDRESS Element",vtitle); - -} - - - - -function runTest() { - HTMLElement57(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement58.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement58.js deleted file mode 100644 index 3716161..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement58.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement58"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The title attribute specifies the elements advisory title. - - Retrieve the title attribute of the CENTER element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 -*/ -function HTMLElement58() { - var success; - if(checkInitialization(builder, "HTMLElement58") != null) return; - var nodeList; - var testNode; - var vtitle; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("center"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vtitle = testNode.title; - - assertEquals("titleLink","CENTER Element",vtitle); - -} - - - - -function runTest() { - HTMLElement58(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement59.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement59.js deleted file mode 100644 index 9361262..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement59.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement59"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The lang attribute specifies the language code defined in RFC 1766. - - Retrieve the lang attribute of the HEAD element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 -*/ -function HTMLElement59() { - var success; - if(checkInitialization(builder, "HTMLElement59") != null) return; - var nodeList; - var testNode; - var vlang; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("head"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vlang = testNode.lang; - - assertEquals("langLink","en",vlang); - -} - - - - -function runTest() { - HTMLElement59(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement60.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement60.js deleted file mode 100644 index c5de5ce..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement60.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement60"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The lang attribute specifies the language code defined in RFC 1766. - - Retrieve the lang attribute of the SUB element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 -*/ -function HTMLElement60() { - var success; - if(checkInitialization(builder, "HTMLElement60") != null) return; - var nodeList; - var testNode; - var vlang; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("sub"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vlang = testNode.lang; - - assertEquals("langLink","en",vlang); - -} - - - - -function runTest() { - HTMLElement60(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement61.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement61.js deleted file mode 100644 index acc368b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement61.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement61"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The lang attribute specifies the language code defined in RFC 1766. - - Retrieve the lang attribute of the SUP element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 -*/ -function HTMLElement61() { - var success; - if(checkInitialization(builder, "HTMLElement61") != null) return; - var nodeList; - var testNode; - var vlang; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("sup"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vlang = testNode.lang; - - assertEquals("langLink","en",vlang); - -} - - - - -function runTest() { - HTMLElement61(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement62.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement62.js deleted file mode 100644 index 7c61525..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement62.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement62"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The lang attribute specifies the language code defined in RFC 1766. - - Retrieve the lang attribute of the SPAN element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 -*/ -function HTMLElement62() { - var success; - if(checkInitialization(builder, "HTMLElement62") != null) return; - var nodeList; - var testNode; - var vlang; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("span"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vlang = testNode.lang; - - assertEquals("langLink","en",vlang); - -} - - - - -function runTest() { - HTMLElement62(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement63.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement63.js deleted file mode 100644 index 6b7d3d2..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement63.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement63"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The lang attribute specifies the language code defined in RFC 1766. - - Retrieve the lang attribute of the BDO element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 -*/ -function HTMLElement63() { - var success; - if(checkInitialization(builder, "HTMLElement63") != null) return; - var nodeList; - var testNode; - var vlang; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("bdo"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vlang = testNode.lang; - - assertEquals("langLink","en",vlang); - -} - - - - -function runTest() { - HTMLElement63(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement64.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement64.js deleted file mode 100644 index a9efc97..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement64.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement64"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The lang attribute specifies the language code defined in RFC 1766. - - Retrieve the lang attribute of the TT element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 -*/ -function HTMLElement64() { - var success; - if(checkInitialization(builder, "HTMLElement64") != null) return; - var nodeList; - var testNode; - var vlang; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("tt"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vlang = testNode.lang; - - assertEquals("langLink","en",vlang); - -} - - - - -function runTest() { - HTMLElement64(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement65.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement65.js deleted file mode 100644 index 9ad20a3..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement65.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement65"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The lang attribute specifies the language code defined in RFC 1766. - - Retrieve the lang attribute of the I element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 -*/ -function HTMLElement65() { - var success; - if(checkInitialization(builder, "HTMLElement65") != null) return; - var nodeList; - var testNode; - var vlang; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("i"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vlang = testNode.lang; - - assertEquals("langLink","en",vlang); - -} - - - - -function runTest() { - HTMLElement65(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement66.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement66.js deleted file mode 100644 index aa8539e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement66.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement66"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The lang attribute specifies the language code defined in RFC 1766. - - Retrieve the lang attribute of the B element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 -*/ -function HTMLElement66() { - var success; - if(checkInitialization(builder, "HTMLElement66") != null) return; - var nodeList; - var testNode; - var vlang; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("b"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vlang = testNode.lang; - - assertEquals("langLink","en",vlang); - -} - - - - -function runTest() { - HTMLElement66(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement67.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement67.js deleted file mode 100644 index 5591270..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement67.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement67"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The lang attribute specifies the language code defined in RFC 1766. - - Retrieve the lang attribute of the U element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 -*/ -function HTMLElement67() { - var success; - if(checkInitialization(builder, "HTMLElement67") != null) return; - var nodeList; - var testNode; - var vlang; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("u"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vlang = testNode.lang; - - assertEquals("langLink","en",vlang); - -} - - - - -function runTest() { - HTMLElement67(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement68.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement68.js deleted file mode 100644 index 3cecb74..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement68.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement68"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The lang attribute specifies the language code defined in RFC 1766. - - Retrieve the lang attribute of the S element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 -*/ -function HTMLElement68() { - var success; - if(checkInitialization(builder, "HTMLElement68") != null) return; - var nodeList; - var testNode; - var vlang; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("s"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vlang = testNode.lang; - - assertEquals("langLink","en",vlang); - -} - - - - -function runTest() { - HTMLElement68(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement69.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement69.js deleted file mode 100644 index f872bbc..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement69.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement69"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The lang attribute specifies the language code defined in RFC 1766. - - Retrieve the lang attribute of the STRIKE element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 -*/ -function HTMLElement69() { - var success; - if(checkInitialization(builder, "HTMLElement69") != null) return; - var nodeList; - var testNode; - var vlang; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("strike"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vlang = testNode.lang; - - assertEquals("langLink","en",vlang); - -} - - - - -function runTest() { - HTMLElement69(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement70.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement70.js deleted file mode 100644 index 25765c8..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement70.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement70"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The lang attribute specifies the language code defined in RFC 1766. - - Retrieve the lang attribute of the BIG element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 -*/ -function HTMLElement70() { - var success; - if(checkInitialization(builder, "HTMLElement70") != null) return; - var nodeList; - var testNode; - var vlang; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("big"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vlang = testNode.lang; - - assertEquals("langLink","en",vlang); - -} - - - - -function runTest() { - HTMLElement70(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement71.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement71.js deleted file mode 100644 index 374a076..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement71.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement71"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The lang attribute specifies the language code defined in RFC 1766. - - Retrieve the lang attribute of the SMALL element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 -*/ -function HTMLElement71() { - var success; - if(checkInitialization(builder, "HTMLElement71") != null) return; - var nodeList; - var testNode; - var vlang; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("small"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vlang = testNode.lang; - - assertEquals("langLink","en",vlang); - -} - - - - -function runTest() { - HTMLElement71(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement72.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement72.js deleted file mode 100644 index 2a4d6bf..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement72.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement72"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The lang attribute specifies the language code defined in RFC 1766. - - Retrieve the lang attribute of the EM element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 -*/ -function HTMLElement72() { - var success; - if(checkInitialization(builder, "HTMLElement72") != null) return; - var nodeList; - var testNode; - var vlang; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("em"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vlang = testNode.lang; - - assertEquals("langLink","en",vlang); - -} - - - - -function runTest() { - HTMLElement72(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement73.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement73.js deleted file mode 100644 index bb8d09d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement73.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement73"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The lang attribute specifies the language code defined in RFC 1766. - - Retrieve the lang attribute of the STRONG element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 -*/ -function HTMLElement73() { - var success; - if(checkInitialization(builder, "HTMLElement73") != null) return; - var nodeList; - var testNode; - var vlang; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("strong"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vlang = testNode.lang; - - assertEquals("langLink","en",vlang); - -} - - - - -function runTest() { - HTMLElement73(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement74.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement74.js deleted file mode 100644 index 1a8355e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement74.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement74"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The lang attribute specifies the language code defined in RFC 1766. - - Retrieve the lang attribute of the DFN element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 -*/ -function HTMLElement74() { - var success; - if(checkInitialization(builder, "HTMLElement74") != null) return; - var nodeList; - var testNode; - var vlang; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("dfn"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vlang = testNode.lang; - - assertEquals("langLink","en",vlang); - -} - - - - -function runTest() { - HTMLElement74(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement75.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement75.js deleted file mode 100644 index 383cc45..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement75.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement75"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The lang attribute specifies the language code defined in RFC 1766. - - Retrieve the lang attribute of the CODE element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 -*/ -function HTMLElement75() { - var success; - if(checkInitialization(builder, "HTMLElement75") != null) return; - var nodeList; - var testNode; - var vlang; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("code"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vlang = testNode.lang; - - assertEquals("langLink","en",vlang); - -} - - - - -function runTest() { - HTMLElement75(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement76.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement76.js deleted file mode 100644 index c6ae96c..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement76.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement76"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The lang attribute specifies the language code defined in RFC 1766. - - Retrieve the lang attribute of the SAMP element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 -*/ -function HTMLElement76() { - var success; - if(checkInitialization(builder, "HTMLElement76") != null) return; - var nodeList; - var testNode; - var vlang; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("samp"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vlang = testNode.lang; - - assertEquals("langLink","en",vlang); - -} - - - - -function runTest() { - HTMLElement76(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement77.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement77.js deleted file mode 100644 index e81fd64..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement77.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement77"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The lang attribute specifies the language code defined in RFC 1766. - - Retrieve the lang attribute of the KBD element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 -*/ -function HTMLElement77() { - var success; - if(checkInitialization(builder, "HTMLElement77") != null) return; - var nodeList; - var testNode; - var vlang; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("kbd"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vlang = testNode.lang; - - assertEquals("langLink","en",vlang); - -} - - - - -function runTest() { - HTMLElement77(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement78.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement78.js deleted file mode 100644 index 57379e9..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement78.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement78"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The lang attribute specifies the language code defined in RFC 1766. - - Retrieve the lang attribute of the VAR element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 -*/ -function HTMLElement78() { - var success; - if(checkInitialization(builder, "HTMLElement78") != null) return; - var nodeList; - var testNode; - var vlang; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("var"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vlang = testNode.lang; - - assertEquals("langLink","en",vlang); - -} - - - - -function runTest() { - HTMLElement78(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement79.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement79.js deleted file mode 100644 index 950cd88..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement79.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement79"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The lang attribute specifies the language code defined in RFC 1766. - - Retrieve the lang attribute of the CITE element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 -*/ -function HTMLElement79() { - var success; - if(checkInitialization(builder, "HTMLElement79") != null) return; - var nodeList; - var testNode; - var vlang; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("cite"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vlang = testNode.lang; - - assertEquals("langLink","en",vlang); - -} - - - - -function runTest() { - HTMLElement79(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement80.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement80.js deleted file mode 100644 index a8d8f7e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement80.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement80"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The lang attribute specifies the language code defined in RFC 1766. - - Retrieve the lang attribute of the ACRONYM element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 -*/ -function HTMLElement80() { - var success; - if(checkInitialization(builder, "HTMLElement80") != null) return; - var nodeList; - var testNode; - var vlang; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("acronym"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vlang = testNode.lang; - - assertEquals("langLink","en",vlang); - -} - - - - -function runTest() { - HTMLElement80(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement81.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement81.js deleted file mode 100644 index b32bd02..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement81.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement81"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The lang attribute specifies the language code defined in RFC 1766. - - Retrieve the lang attribute of the ABBR element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 -*/ -function HTMLElement81() { - var success; - if(checkInitialization(builder, "HTMLElement81") != null) return; - var nodeList; - var testNode; - var vlang; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("abbr"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vlang = testNode.lang; - - assertEquals("langLink","en",vlang); - -} - - - - -function runTest() { - HTMLElement81(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement82.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement82.js deleted file mode 100644 index 95bc905..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement82.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement82"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The lang attribute specifies the language code defined in RFC 1766. - - Retrieve the lang attribute of the DD element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 -*/ -function HTMLElement82() { - var success; - if(checkInitialization(builder, "HTMLElement82") != null) return; - var nodeList; - var testNode; - var vlang; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("dd"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(0); - vlang = testNode.lang; - - assertEquals("langLink","en",vlang); - -} - - - - -function runTest() { - HTMLElement82(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement83.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement83.js deleted file mode 100644 index 978178e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement83.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement83"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The lang attribute specifies the language code defined in RFC 1766. - - Retrieve the lang attribute of the DT element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 -*/ -function HTMLElement83() { - var success; - if(checkInitialization(builder, "HTMLElement83") != null) return; - var nodeList; - var testNode; - var vlang; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("dt"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vlang = testNode.lang; - - assertEquals("langLink","en",vlang); - -} - - - - -function runTest() { - HTMLElement83(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement84.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement84.js deleted file mode 100644 index 82424d2..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement84.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement84"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The lang attribute specifies the language code defined in RFC 1766. - - Retrieve the lang attribute of the NOFRAMES element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 -*/ -function HTMLElement84() { - var success; - if(checkInitialization(builder, "HTMLElement84") != null) return; - var nodeList; - var testNode; - var vlang; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("noframes"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vlang = testNode.lang; - - assertEquals("langLink","en",vlang); - -} - - - - -function runTest() { - HTMLElement84(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement85.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement85.js deleted file mode 100644 index 4345c91..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement85.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement85"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The lang attribute specifies the language code defined in RFC 1766. - - Retrieve the lang attribute of the NOSCRIPT element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 -*/ -function HTMLElement85() { - var success; - if(checkInitialization(builder, "HTMLElement85") != null) return; - var nodeList; - var testNode; - var vlang; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("noscript"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vlang = testNode.lang; - - assertEquals("langLink","en",vlang); - -} - - - - -function runTest() { - HTMLElement85(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement86.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement86.js deleted file mode 100644 index e451df9..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement86.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement86"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The lang attribute specifies the language code defined in RFC 1766. - - Retrieve the lang attribute of the ADDRESS element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 -*/ -function HTMLElement86() { - var success; - if(checkInitialization(builder, "HTMLElement86") != null) return; - var nodeList; - var testNode; - var vlang; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("address"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vlang = testNode.lang; - - assertEquals("langLink","en",vlang); - -} - - - - -function runTest() { - HTMLElement86(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement87.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement87.js deleted file mode 100644 index 1ee2256..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement87.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement87"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The lang attribute specifies the language code defined in RFC 1766. - - Retrieve the lang attribute of the CENTER element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 -*/ -function HTMLElement87() { - var success; - if(checkInitialization(builder, "HTMLElement87") != null) return; - var nodeList; - var testNode; - var vlang; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("center"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vlang = testNode.lang; - - assertEquals("langLink","en",vlang); - -} - - - - -function runTest() { - HTMLElement87(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement88.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement88.js deleted file mode 100644 index 9d5851a..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement88.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement88"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. - - Retrieve the dir attribute of the HEAD element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 -*/ -function HTMLElement88() { - var success; - if(checkInitialization(builder, "HTMLElement88") != null) return; - var nodeList; - var testNode; - var vdir; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("head"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vdir = testNode.dir; - - assertEquals("dirLink","ltr",vdir); - -} - - - - -function runTest() { - HTMLElement88(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement89.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement89.js deleted file mode 100644 index 20b337d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement89.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement89"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. - - Retrieve the dir attribute of the SUB element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 -*/ -function HTMLElement89() { - var success; - if(checkInitialization(builder, "HTMLElement89") != null) return; - var nodeList; - var testNode; - var vdir; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("sub"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vdir = testNode.dir; - - assertEquals("dirLink","ltr",vdir); - -} - - - - -function runTest() { - HTMLElement89(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement90.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement90.js deleted file mode 100644 index bf60dd9..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement90.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement90"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. - - Retrieve the dir attribute of the SUP element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 -*/ -function HTMLElement90() { - var success; - if(checkInitialization(builder, "HTMLElement90") != null) return; - var nodeList; - var testNode; - var vdir; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("sup"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vdir = testNode.dir; - - assertEquals("dirLink","ltr",vdir); - -} - - - - -function runTest() { - HTMLElement90(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement91.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement91.js deleted file mode 100644 index 5fd73af..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement91.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement91"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. - - Retrieve the dir attribute of the SPAN element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 -*/ -function HTMLElement91() { - var success; - if(checkInitialization(builder, "HTMLElement91") != null) return; - var nodeList; - var testNode; - var vdir; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("span"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vdir = testNode.dir; - - assertEquals("dirLink","ltr",vdir); - -} - - - - -function runTest() { - HTMLElement91(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement92.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement92.js deleted file mode 100644 index 36be79b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement92.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement92"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. - - Retrieve the dir attribute of the BDO element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 -*/ -function HTMLElement92() { - var success; - if(checkInitialization(builder, "HTMLElement92") != null) return; - var nodeList; - var testNode; - var vdir; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("bdo"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vdir = testNode.dir; - - assertEquals("dirLink","ltr",vdir); - -} - - - - -function runTest() { - HTMLElement92(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement93.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement93.js deleted file mode 100644 index eab5171..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement93.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement93"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. - - Retrieve the dir attribute of the TT element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 -*/ -function HTMLElement93() { - var success; - if(checkInitialization(builder, "HTMLElement93") != null) return; - var nodeList; - var testNode; - var vdir; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("tt"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vdir = testNode.dir; - - assertEquals("dirLink","ltr",vdir); - -} - - - - -function runTest() { - HTMLElement93(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement94.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement94.js deleted file mode 100644 index 00ee75d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement94.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement94"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. - - Retrieve the dir attribute of the I element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 -*/ -function HTMLElement94() { - var success; - if(checkInitialization(builder, "HTMLElement94") != null) return; - var nodeList; - var testNode; - var vdir; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("i"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vdir = testNode.dir; - - assertEquals("dirLink","ltr",vdir); - -} - - - - -function runTest() { - HTMLElement94(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement95.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement95.js deleted file mode 100644 index 5c89e6b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement95.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement95"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. - - Retrieve the dir attribute of the B element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 -*/ -function HTMLElement95() { - var success; - if(checkInitialization(builder, "HTMLElement95") != null) return; - var nodeList; - var testNode; - var vdir; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("b"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vdir = testNode.dir; - - assertEquals("dirLink","ltr",vdir); - -} - - - - -function runTest() { - HTMLElement95(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement96.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement96.js deleted file mode 100644 index eecad7b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement96.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement96"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. - - Retrieve the dir attribute of the U element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 -*/ -function HTMLElement96() { - var success; - if(checkInitialization(builder, "HTMLElement96") != null) return; - var nodeList; - var testNode; - var vdir; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("u"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vdir = testNode.dir; - - assertEquals("dirLink","ltr",vdir); - -} - - - - -function runTest() { - HTMLElement96(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement97.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement97.js deleted file mode 100644 index b383f5a..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement97.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement97"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. - - Retrieve the dir attribute of the S element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 -*/ -function HTMLElement97() { - var success; - if(checkInitialization(builder, "HTMLElement97") != null) return; - var nodeList; - var testNode; - var vdir; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("s"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vdir = testNode.dir; - - assertEquals("dirLink","ltr",vdir); - -} - - - - -function runTest() { - HTMLElement97(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement98.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement98.js deleted file mode 100644 index 19a60b0..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement98.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement98"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. - - Retrieve the dir attribute of the STRIKE element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 -*/ -function HTMLElement98() { - var success; - if(checkInitialization(builder, "HTMLElement98") != null) return; - var nodeList; - var testNode; - var vdir; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("strike"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vdir = testNode.dir; - - assertEquals("dirLink","ltr",vdir); - -} - - - - -function runTest() { - HTMLElement98(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement99.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement99.js deleted file mode 100644 index 8ea7258..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement99.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement99"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "element"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. - - Retrieve the dir attribute of the BIG element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 -*/ -function HTMLElement99() { - var success; - if(checkInitialization(builder, "HTMLElement99") != null) return; - var nodeList; - var testNode; - var vdir; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "element"); - nodeList = doc.getElementsByTagName("big"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vdir = testNode.dir; - - assertEquals("dirLink","ltr",vdir); - -} - - - - -function runTest() { - HTMLElement99(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement01.js deleted file mode 100644 index c308420..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement01.js +++ /dev/null @@ -1,116 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFieldSetElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "fieldset"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The form attribute returns the FORM element containing this control. - - Retrieve the form attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75392630 -*/ -function HTMLFieldSetElement01() { - var success; - if(checkInitialization(builder, "HTMLFieldSetElement01") != null) return; - var nodeList; - var testNode; - var vform; - var fNode; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "fieldset"); - nodeList = doc.getElementsByTagName("fieldset"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - fNode = testNode.form; - - vform = fNode.id; - - assertEquals("formLink","form2",vform); - -} - - - - -function runTest() { - HTMLFieldSetElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement02.js deleted file mode 100644 index c63c92c..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement02.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFieldSetElement02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "fieldset"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The form attribute returns null if control in not within the context of - form. - - Retrieve the form attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75392630 -*/ -function HTMLFieldSetElement02() { - var success; - if(checkInitialization(builder, "HTMLFieldSetElement02") != null) return; - var nodeList; - var testNode; - var vform; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "fieldset"); - nodeList = doc.getElementsByTagName("fieldset"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(1); - vform = testNode.form; - - assertNull("formNullLink",vform); - -} - - - - -function runTest() { - HTMLFieldSetElement02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement03.js deleted file mode 100644 index a4b79bb..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement03.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFormElement03"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "form"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The id(name) attribute specifies the name of the form. - - Retrieve the id attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-22051454 -*/ -function HTMLFormElement03() { - var success; - if(checkInitialization(builder, "HTMLFormElement03") != null) return; - var nodeList; - var testNode; - var vname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "form"); - nodeList = doc.getElementsByTagName("form"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vname = testNode.id; - - assertEquals("nameLink","form1",vname); - -} - - - - -function runTest() { - HTMLFormElement03(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement04.js deleted file mode 100644 index 1343e02..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement04.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFormElement04"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "form"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The acceptCharset attribute specifies the list of character sets - supported by the server. - - Retrieve the acceptCharset attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-19661795 -*/ -function HTMLFormElement04() { - var success; - if(checkInitialization(builder, "HTMLFormElement04") != null) return; - var nodeList; - var testNode; - var vacceptcharset; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "form"); - nodeList = doc.getElementsByTagName("form"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vacceptcharset = testNode.acceptCharset; - - assertEquals("acceptCharsetLink","US-ASCII",vacceptcharset); - -} - - - - -function runTest() { - HTMLFormElement04(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement05.js deleted file mode 100644 index ac05c42..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement05.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFormElement05"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "form"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The action attribute specifies the server-side form handler. - - Retrieve the action attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-74049184 -*/ -function HTMLFormElement05() { - var success; - if(checkInitialization(builder, "HTMLFormElement05") != null) return; - var nodeList; - var testNode; - var vaction; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "form"); - nodeList = doc.getElementsByTagName("form"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vaction = testNode.action; - - assertURIEquals("actionLink",null,null,null,"getData.pl",null,null,null,null,vaction); - -} - - - - -function runTest() { - HTMLFormElement05(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement06.js deleted file mode 100644 index d61fb0c..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement06.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFormElement06"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "form"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The enctype attribute specifies the content of the submitted form. - - Retrieve the enctype attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-84227810 -*/ -function HTMLFormElement06() { - var success; - if(checkInitialization(builder, "HTMLFormElement06") != null) return; - var nodeList; - var testNode; - var venctype; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "form"); - nodeList = doc.getElementsByTagName("form"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - venctype = testNode.enctype; - - assertEquals("enctypeLink","application/x-www-form-urlencoded",venctype); - -} - - - - -function runTest() { - HTMLFormElement06(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement07.js deleted file mode 100644 index 3516b4e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement07.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFormElement07"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "form"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The method attribute specifies the HTTP method used to submit the form. - - Retrieve the method attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-82545539 -*/ -function HTMLFormElement07() { - var success; - if(checkInitialization(builder, "HTMLFormElement07") != null) return; - var nodeList; - var testNode; - var vmethod; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "form"); - nodeList = doc.getElementsByTagName("form"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vmethod = testNode.method; - - assertEquals("methodLink","post",vmethod); - -} - - - - -function runTest() { - HTMLFormElement07(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement08.js deleted file mode 100644 index 93655ba..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement08.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFormElement08"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "form2"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The target attribute specifies the frame to render the resource in. - - Retrieve the target attribute and examine it's value. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6512890 -*/ -function HTMLFormElement08() { - var success; - if(checkInitialization(builder, "HTMLFormElement08") != null) return; - var nodeList; - var testNode; - var vtarget; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "form2"); - nodeList = doc.getElementsByTagName("form"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vtarget = testNode.target; - - assertEquals("targetLink","dynamic",vtarget); - -} - - - - -function runTest() { - HTMLFormElement08(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement03.js deleted file mode 100644 index 7c3cf5d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement03.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIFrameElement03"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "iframe"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The height attribute specifies the frame height. - - Retrieve the height attribute of the first IFRAME element and examine - it's value. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-1678118 -*/ -function HTMLIFrameElement03() { - var success; - if(checkInitialization(builder, "HTMLIFrameElement03") != null) return; - var nodeList; - var testNode; - var vheight; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "iframe"); - nodeList = doc.getElementsByTagName("iframe"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vheight = testNode.height; - - assertEquals("heightLink","50",vheight); - -} - - - - -function runTest() { - HTMLIFrameElement03(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement07.js deleted file mode 100644 index 8eda1d9..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement07.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIFrameElement07"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "iframe"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The name attribute specifies the frame name(object of the target - attribute). - - Retrieve the name attribute of the first IFRAME element and examine - it's value. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96819659 -*/ -function HTMLIFrameElement07() { - var success; - if(checkInitialization(builder, "HTMLIFrameElement07") != null) return; - var nodeList; - var testNode; - var vname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "iframe"); - nodeList = doc.getElementsByTagName("iframe"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vname = testNode.name; - - assertEquals("nameLink","Iframe1",vname); - -} - - - - -function runTest() { - HTMLIFrameElement07(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement09.js deleted file mode 100644 index 05f227d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement09.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIFrameElement09"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "iframe"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The src attribute specifies a URI designating the initial frame contents. - - Retrieve the src attribute of the first FRAME element and examine - it's value. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-43933957 -*/ -function HTMLIFrameElement09() { - var success; - if(checkInitialization(builder, "HTMLIFrameElement09") != null) return; - var nodeList; - var testNode; - var vsrc; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "iframe"); - nodeList = doc.getElementsByTagName("iframe"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vsrc = testNode.src; - - assertURIEquals("srcLink",null,null,null,null,"right",null,null,null,vsrc); - -} - - - - -function runTest() { - HTMLIFrameElement09(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement10.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement10.js deleted file mode 100644 index 87df1f5..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement10.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIFrameElement10"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "iframe"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The width attribute specifies the frame width. - - Retrieve the width attribute of the first IFRAME element and examine - it's value. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-67133005 -*/ -function HTMLIFrameElement10() { - var success; - if(checkInitialization(builder, "HTMLIFrameElement10") != null) return; - var nodeList; - var testNode; - var vwidth; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "iframe"); - nodeList = doc.getElementsByTagName("iframe"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vwidth = testNode.width; - - assertEquals("widthLink","60",vwidth); - -} - - - - -function runTest() { - HTMLIFrameElement10(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement05.js deleted file mode 100644 index b11671f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement05.js +++ /dev/null @@ -1,125 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement05"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "img"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The height attribute overrides the natural "height" of the image. Retrieve the height attribute and examine its value. - - This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-91561496 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 -*/ -function HTMLImageElement05() { - var success; - if(checkInitialization(builder, "HTMLImageElement05") != null) return; - var nodeList; - var testNode; - var vheight; - var doc; - var domImpl; - var hasHTML2; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "img"); - domImpl = doc.implementation; -hasHTML2 = domImpl.hasFeature("HTML","2.0"); - - if( - - !hasHTML2 - ) { - nodeList = doc.getElementsByTagName("img"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vheight = testNode.height; - - assertEquals("heightLink","47",vheight); - - } - -} - - - - -function runTest() { - HTMLImageElement05(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement06.js deleted file mode 100644 index babd977..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement06.js +++ /dev/null @@ -1,128 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement06"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "img"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The hspace attribute specifies the horizontal space to the left and - right of this image. - - Retrieve the hspace attribute and examine its value. - - This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-53675471 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 -*/ -function HTMLImageElement06() { - var success; - if(checkInitialization(builder, "HTMLImageElement06") != null) return; - var nodeList; - var testNode; - var vhspace; - var doc; - var domImpl; - var hasHTML2; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "img"); - domImpl = doc.implementation; -hasHTML2 = domImpl.hasFeature("HTML","2.0"); - - if( - - !hasHTML2 - ) { - nodeList = doc.getElementsByTagName("img"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vhspace = testNode.hspace; - - assertEquals("hspaceLink","4",vhspace); - - } - -} - - - - -function runTest() { - HTMLImageElement06(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement07.js deleted file mode 100644 index 0e7cd06..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement07.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement07"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "img"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The isMap attribute indicates the use of server-side image map. - - Retrieve the isMap attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-58983880 -*/ -function HTMLImageElement07() { - var success; - if(checkInitialization(builder, "HTMLImageElement07") != null) return; - var nodeList; - var testNode; - var vismap; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "img"); - nodeList = doc.getElementsByTagName("img"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vismap = testNode.isMap; - - assertFalse("isMapLink",vismap); - -} - - - - -function runTest() { - HTMLImageElement07(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement09.js deleted file mode 100644 index c362b82..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement09.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement09"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "img"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The src attribute contains an URI designating the source of this image. - - Retrieve the src attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87762984 -*/ -function HTMLImageElement09() { - var success; - if(checkInitialization(builder, "HTMLImageElement09") != null) return; - var nodeList; - var testNode; - var vsrc; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "img"); - nodeList = doc.getElementsByTagName("img"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vsrc = testNode.src; - - assertURIEquals("srcLink",null,null,null,"dts.gif",null,null,null,null,vsrc); - -} - - - - -function runTest() { - HTMLImageElement09(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement11.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement11.js deleted file mode 100644 index b21b839..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement11.js +++ /dev/null @@ -1,128 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement11"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "img"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The vspace attribute specifies the vertical space above and below this - image. - - Retrieve the vspace attribute and examine its value. - - This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-85374897 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 -*/ -function HTMLImageElement11() { - var success; - if(checkInitialization(builder, "HTMLImageElement11") != null) return; - var nodeList; - var testNode; - var vvspace; - var doc; - var domImpl; - var hasHTML2; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "img"); - domImpl = doc.implementation; -hasHTML2 = domImpl.hasFeature("HTML","2.0"); - - if( - - !hasHTML2 - ) { - nodeList = doc.getElementsByTagName("img"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vvspace = testNode.vspace; - - assertEquals("vspaceLink","10",vvspace); - - } - -} - - - - -function runTest() { - HTMLImageElement11(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement12.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement12.js deleted file mode 100644 index ef8d61b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement12.js +++ /dev/null @@ -1,127 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement12"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "img"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The width attribute overrides the natural "width" of the image. - - Retrieve the width attribute and examine its value. - - This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-13839076 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 -*/ -function HTMLImageElement12() { - var success; - if(checkInitialization(builder, "HTMLImageElement12") != null) return; - var nodeList; - var testNode; - var vwidth; - var doc; - var domImpl; - var hasHTML2; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "img"); - domImpl = doc.implementation; -hasHTML2 = domImpl.hasFeature("HTML","2.0"); - - if( - - !hasHTML2 - ) { - nodeList = doc.getElementsByTagName("img"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vwidth = testNode.width; - - assertEquals("widthLink","115",vwidth); - - } - -} - - - - -function runTest() { - HTMLImageElement12(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement01.js deleted file mode 100644 index 9dd8135..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement01.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "input"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The defaultValue attribute represents the HTML value of the attribute - when the type attribute has the value of "Text", "File" or "Password". - - Retrieve the defaultValue attribute of the 1st INPUT element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-26091157 -*/ -function HTMLInputElement01() { - var success; - if(checkInitialization(builder, "HTMLInputElement01") != null) return; - var nodeList; - var testNode; - var vdefaultvalue; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "input"); - nodeList = doc.getElementsByTagName("input"); - assertSize("Asize",9,nodeList); -testNode = nodeList.item(0); - vdefaultvalue = testNode.defaultValue; - - assertEquals("defaultValueLink","Password",vdefaultvalue); - -} - - - - -function runTest() { - HTMLInputElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement02.js deleted file mode 100644 index 80257f5..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement02.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "input"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The defaultChecked attribute represents the HTML checked attribute of - the element when the type attribute has the value checkbox or radio. - - Retrieve the defaultValue attribute of the 4th INPUT element and - examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-20509171 -*/ -function HTMLInputElement02() { - var success; - if(checkInitialization(builder, "HTMLInputElement02") != null) return; - var nodeList; - var testNode; - var vdefaultchecked; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "input"); - nodeList = doc.getElementsByTagName("input"); - assertSize("Asize",9,nodeList); -testNode = nodeList.item(3); - vdefaultchecked = testNode.defaultChecked; - - assertTrue("defaultCheckedLink",vdefaultchecked); - -} - - - - -function runTest() { - HTMLInputElement02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement03.js deleted file mode 100644 index 27a48c2..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement03.js +++ /dev/null @@ -1,116 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement03"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "input"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The form attribute returns the FORM element containing this control. - - Retrieve the form attribute of the 1st INPUT element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63239895 -*/ -function HTMLInputElement03() { - var success; - if(checkInitialization(builder, "HTMLInputElement03") != null) return; - var nodeList; - var testNode; - var vform; - var fNode; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "input"); - nodeList = doc.getElementsByTagName("input"); - assertSize("Asize",9,nodeList); -testNode = nodeList.item(0); - fNode = testNode.form; - - vform = fNode.id; - - assertEquals("formLink","form1",vform); - -} - - - - -function runTest() { - HTMLInputElement03(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement04.js deleted file mode 100644 index 3d32ebd..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement04.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement04"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "input"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The accept attribute is a comma-seperated list of content types that - a server processing this form will handle correctly. - - Retrieve the accept attribute of the 9th INPUT element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-15328520 -*/ -function HTMLInputElement04() { - var success; - if(checkInitialization(builder, "HTMLInputElement04") != null) return; - var nodeList; - var testNode; - var vaccept; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "input"); - nodeList = doc.getElementsByTagName("input"); - assertSize("Asize",9,nodeList); -testNode = nodeList.item(8); - vaccept = testNode.accept; - - assertEquals("acceptLink","GIF,JPEG",vaccept); - -} - - - - -function runTest() { - HTMLInputElement04(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement05.js deleted file mode 100644 index a9acc28..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement05.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement05"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "input"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The accessKey attribute is a single character access key to give access - to the form control. - - Retrieve the accessKey attribute of the 2nd INPUT element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59914154 -*/ -function HTMLInputElement05() { - var success; - if(checkInitialization(builder, "HTMLInputElement05") != null) return; - var nodeList; - var testNode; - var vaccesskey; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "input"); - nodeList = doc.getElementsByTagName("input"); - assertSize("Asize",9,nodeList); -testNode = nodeList.item(1); - vaccesskey = testNode.accessKey; - - assertEquals("accesskeyLink","c",vaccesskey); - -} - - - - -function runTest() { - HTMLInputElement05(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement07.js deleted file mode 100644 index 27b046d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement07.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement07"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "input"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The alt attribute alternates text for user agents not rendering the - normal content of this element. - - Retrieve the alt attribute of the 1st INPUT element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-92701314 -*/ -function HTMLInputElement07() { - var success; - if(checkInitialization(builder, "HTMLInputElement07") != null) return; - var nodeList; - var testNode; - var valt; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "input"); - nodeList = doc.getElementsByTagName("input"); - assertSize("Asize",9,nodeList); -testNode = nodeList.item(0); - valt = testNode.alt; - - assertEquals("altLink","Password entry",valt); - -} - - - - -function runTest() { - HTMLInputElement07(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement08.js deleted file mode 100644 index f4aad49..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement08.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement08"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "input"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The checked attribute represents the current state of the corresponding - form control when type has the value Radio or Checkbox. - - Retrieve the accept attribute of the 3rd INPUT element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-30233917 -*/ -function HTMLInputElement08() { - var success; - if(checkInitialization(builder, "HTMLInputElement08") != null) return; - var nodeList; - var testNode; - var vchecked; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "input"); - nodeList = doc.getElementsByTagName("input"); - assertSize("Asize",9,nodeList); -testNode = nodeList.item(2); - vchecked = testNode.checked; - - assertTrue("checkedLink",vchecked); - -} - - - - -function runTest() { - HTMLInputElement08(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement09.js deleted file mode 100644 index 5ec9a0e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement09.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement09"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "input"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The disabled attribute has a TRUE value if it is explicitly set. - - Retrieve the disabled attribute of the 7th INPUT element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-50886781 -*/ -function HTMLInputElement09() { - var success; - if(checkInitialization(builder, "HTMLInputElement09") != null) return; - var nodeList; - var testNode; - var vdisabled; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "input"); - nodeList = doc.getElementsByTagName("input"); - assertSize("Asize",9,nodeList); -testNode = nodeList.item(6); - vdisabled = testNode.disabled; - - assertTrue("disabledLink",vdisabled); - -} - - - - -function runTest() { - HTMLInputElement09(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement10.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement10.js deleted file mode 100644 index 10564f6..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement10.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement10"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "input"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The maxLength attribute is the maximum number of text characters for text - fields, when type has the value of Text or Password. - - Retrieve the maxLenght attribute of the 1st INPUT element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-54719353 -*/ -function HTMLInputElement10() { - var success; - if(checkInitialization(builder, "HTMLInputElement10") != null) return; - var nodeList; - var testNode; - var vmaxlength; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "input"); - nodeList = doc.getElementsByTagName("input"); - assertSize("Asize",9,nodeList); -testNode = nodeList.item(0); - vmaxlength = testNode.maxLength; - - assertEquals("maxlengthLink",5,vmaxlength); - -} - - - - -function runTest() { - HTMLInputElement10(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement11.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement11.js deleted file mode 100644 index ff44902..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement11.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement11"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "input"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The name attribute is the form control or object name when submitted with - a form. - - Retrieve the name attribute of the 1st INPUT element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-89658498 -*/ -function HTMLInputElement11() { - var success; - if(checkInitialization(builder, "HTMLInputElement11") != null) return; - var nodeList; - var testNode; - var vname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "input"); - nodeList = doc.getElementsByTagName("input"); - assertSize("Asize",9,nodeList); -testNode = nodeList.item(0); - vname = testNode.name; - - assertEquals("nameLink","Password",vname); - -} - - - - -function runTest() { - HTMLInputElement11(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement12.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement12.js deleted file mode 100644 index 30dac7e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement12.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement12"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "input"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The readOnly attribute indicates that this control is read-only when - type has a value of text or password only. - - Retrieve the readOnly attribute of the 1st INPUT element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88461592 -*/ -function HTMLInputElement12() { - var success; - if(checkInitialization(builder, "HTMLInputElement12") != null) return; - var nodeList; - var testNode; - var vreadonly; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "input"); - nodeList = doc.getElementsByTagName("input"); - assertSize("Asize",9,nodeList); -testNode = nodeList.item(0); - vreadonly = testNode.readOnly; - - assertTrue("readonlyLink",vreadonly); - -} - - - - -function runTest() { - HTMLInputElement12(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement13.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement13.js deleted file mode 100644 index 2e82ba7..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement13.js +++ /dev/null @@ -1,130 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement13"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "input"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The size attribute contains the size information. Its precise meaning - is specific to each type of field. - - Retrieve the size attribute of the 1st INPUT element and examine - its value. - - This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. - - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-79659438 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 -*/ -function HTMLInputElement13() { - var success; - if(checkInitialization(builder, "HTMLInputElement13") != null) return; - var nodeList; - var testNode; - var vsize; - var doc; - var domImpl; - var hasHTML2; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "input"); - domImpl = doc.implementation; -hasHTML2 = domImpl.hasFeature("HTML","2.0"); - - if( - - !hasHTML2 - ) { - nodeList = doc.getElementsByTagName("input"); - assertSize("Asize",9,nodeList); -testNode = nodeList.item(0); - vsize = testNode.size; - - assertEquals("sizeLink","25",vsize); - - } - -} - - - - -function runTest() { - HTMLInputElement13(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement14.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement14.js deleted file mode 100644 index 112fe07..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement14.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement14"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "input"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The src attribute specifies the location of the image to decorate the - graphical submit button when the type has the value Image. - - Retrieve the src attribute of the 8th INPUT element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-97320704 -*/ -function HTMLInputElement14() { - var success; - if(checkInitialization(builder, "HTMLInputElement14") != null) return; - var nodeList; - var testNode; - var vsrc; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "input"); - nodeList = doc.getElementsByTagName("input"); - assertSize("Asize",9,nodeList); -testNode = nodeList.item(7); - vsrc = testNode.src; - - assertURIEquals("srcLink",null,null,null,"submit.gif",null,null,null,null,vsrc); - -} - - - - -function runTest() { - HTMLInputElement14(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement15.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement15.js deleted file mode 100644 index 2fd0c1d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement15.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement15"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "input"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The tabIndex attribute is an index that represents the elements position - in the tabbing order. - - Retrieve the tabIndex attribute of the 3rd INPUT element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-62176355 -*/ -function HTMLInputElement15() { - var success; - if(checkInitialization(builder, "HTMLInputElement15") != null) return; - var nodeList; - var testNode; - var vtabindex; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "input"); - nodeList = doc.getElementsByTagName("input"); - assertSize("Asize",9,nodeList); -testNode = nodeList.item(2); - vtabindex = testNode.tabIndex; - - assertEquals("tabindexLink",9,vtabindex); - -} - - - - -function runTest() { - HTMLInputElement15(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement16.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement16.js deleted file mode 100644 index 335cf12..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement16.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement16"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "input"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The type attribute is the type of control created. - - Retrieve the type attribute of the 1st INPUT element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-62883744 -*/ -function HTMLInputElement16() { - var success; - if(checkInitialization(builder, "HTMLInputElement16") != null) return; - var nodeList; - var testNode; - var vtype; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "input"); - nodeList = doc.getElementsByTagName("input"); - assertSize("Asize",9,nodeList); -testNode = nodeList.item(0); - vtype = testNode.type; - - assertEquals("typeLink","password",vtype); - -} - - - - -function runTest() { - HTMLInputElement16(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement18.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement18.js deleted file mode 100644 index 9d34ac1..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement18.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement18"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "input"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The value attribute is the current content of the corresponding form - control when the type attribute has the value Text, File or Password. - - Retrieve the value attribute of the 2nd INPUT element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-49531485 -*/ -function HTMLInputElement18() { - var success; - if(checkInitialization(builder, "HTMLInputElement18") != null) return; - var nodeList; - var testNode; - var vvalue; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "input"); - nodeList = doc.getElementsByTagName("input"); - assertSize("Asize",9,nodeList); -testNode = nodeList.item(1); - vvalue = testNode.value; - - assertEquals("valueLink","ReHire",vvalue); - -} - - - - -function runTest() { - HTMLInputElement18(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement21.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement21.js deleted file mode 100644 index cb7f7f4..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement21.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement21"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "input"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -HTMLInputElement.click should change the state of checked on a radio button. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-2651361 -*/ -function HTMLInputElement21() { - var success; - if(checkInitialization(builder, "HTMLInputElement21") != null) return; - var nodeList; - var testNode; - var doc; - var checked; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "input"); - nodeList = doc.getElementsByTagName("input"); - assertSize("Asize",9,nodeList); -testNode = nodeList.item(1); - checked = testNode.checked; - - assertFalse("notCheckedBeforeClick",checked); -testNode.click(); - checked = testNode.checked; - - assertTrue("checkedAfterClick",checked); - -} - - - - -function runTest() { - HTMLInputElement21(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLIElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLIElement02.js deleted file mode 100644 index bdaff41..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLIElement02.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLIElement02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "li"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The value attribute is a reset sequence number when used in OL. - - Retrieve the value attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-45496263 -*/ -function HTMLLIElement02() { - var success; - if(checkInitialization(builder, "HTMLLIElement02") != null) return; - var nodeList; - var testNode; - var vvalue; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "li"); - nodeList = doc.getElementsByTagName("li"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vvalue = testNode.value; - - assertEquals("valueLink",2,vvalue); - -} - - - - -function runTest() { - HTMLLIElement02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement01.js deleted file mode 100644 index 927b3aa..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement01.js +++ /dev/null @@ -1,116 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLabelElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "label"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The form attribute returns the FORM element containing this control. - - Retrieve the form attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-32480901 -*/ -function HTMLLabelElement01() { - var success; - if(checkInitialization(builder, "HTMLLabelElement01") != null) return; - var nodeList; - var testNode; - var vform; - var fNode; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "label"); - nodeList = doc.getElementsByTagName("label"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - fNode = testNode.form; - - vform = fNode.id; - - assertEquals("formLink","form1",vform); - -} - - - - -function runTest() { - HTMLLabelElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement02.js deleted file mode 100644 index f7c908b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement02.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLabelElement02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "label"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The form attribute returns null if control in not within the context of - form. - - Retrieve the form attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-32480901 -*/ -function HTMLLabelElement02() { - var success; - if(checkInitialization(builder, "HTMLLabelElement02") != null) return; - var nodeList; - var testNode; - var vform; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "label"); - nodeList = doc.getElementsByTagName("label"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(1); - vform = testNode.form; - - assertNull("formNullLink",vform); - -} - - - - -function runTest() { - HTMLLabelElement02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement03.js deleted file mode 100644 index 380802d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement03.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLabelElement03"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "label"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The accessKey attribute is a single character access key to give access - to the form control. - - Retrieve the accessKey attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-43589892 -*/ -function HTMLLabelElement03() { - var success; - if(checkInitialization(builder, "HTMLLabelElement03") != null) return; - var nodeList; - var testNode; - var vaccesskey; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "label"); - nodeList = doc.getElementsByTagName("label"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vaccesskey = testNode.accessKey; - - assertEquals("accesskeyLink","b",vaccesskey); - -} - - - - -function runTest() { - HTMLLabelElement03(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement04.js deleted file mode 100644 index 1a5681d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement04.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLabelElement04"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "label"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The htmlFor attribute links this label with another form control by - id attribute. - - Retrieve the htmlFor attribute of the first LABEL element - and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96509813 -*/ -function HTMLLabelElement04() { - var success; - if(checkInitialization(builder, "HTMLLabelElement04") != null) return; - var nodeList; - var testNode; - var vhtmlfor; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "label"); - nodeList = doc.getElementsByTagName("label"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vhtmlfor = testNode.htmlFor; - - assertEquals("htmlForLink","input1",vhtmlfor); - -} - - - - -function runTest() { - HTMLLabelElement04(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement01.js deleted file mode 100644 index cf0bb6a..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement01.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLinkElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "link"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The disabled attribute enables/disables the link. - - Retrieve the disabled attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87355129 -*/ -function HTMLLinkElement01() { - var success; - if(checkInitialization(builder, "HTMLLinkElement01") != null) return; - var nodeList; - var testNode; - var vdisabled; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "link"); - nodeList = doc.getElementsByTagName("link"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(1); - vdisabled = testNode.disabled; - - assertFalse("disabled",vdisabled); - -} - - - - -function runTest() { - HTMLLinkElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement03.js deleted file mode 100644 index d8856f9..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement03.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLinkElement03"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "link"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The href attribute specifies the URI of the linked resource. - - Retrieve the href attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33532588 -*/ -function HTMLLinkElement03() { - var success; - if(checkInitialization(builder, "HTMLLinkElement03") != null) return; - var nodeList; - var testNode; - var vhref; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "link"); - nodeList = doc.getElementsByTagName("link"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vhref = testNode.href; - - assertURIEquals("hrefLink",null,null,null,"glossary.html",null,null,null,null,vhref); - -} - - - - -function runTest() { - HTMLLinkElement03(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement04.js deleted file mode 100644 index e3012bd..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement04.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLinkElement04"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "link"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The hreflang attribute specifies the language code of the linked resource. - - Retrieve the hreflang attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-85145682 -*/ -function HTMLLinkElement04() { - var success; - if(checkInitialization(builder, "HTMLLinkElement04") != null) return; - var nodeList; - var testNode; - var vhreflang; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "link"); - nodeList = doc.getElementsByTagName("link"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vhreflang = testNode.hreflang; - - assertEquals("hreflangLink","en",vhreflang); - -} - - - - -function runTest() { - HTMLLinkElement04(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement05.js deleted file mode 100644 index 35b59ca..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement05.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLinkElement05"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "link"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The media attribute specifies the targeted media. - - Retrieve the media attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75813125 -*/ -function HTMLLinkElement05() { - var success; - if(checkInitialization(builder, "HTMLLinkElement05") != null) return; - var nodeList; - var testNode; - var vmedia; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "link"); - nodeList = doc.getElementsByTagName("link"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vmedia = testNode.media; - - assertEquals("mediaLink","screen",vmedia); - -} - - - - -function runTest() { - HTMLLinkElement05(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement06.js deleted file mode 100644 index d9004b9..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement06.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLinkElement06"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "link"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The rel attribute specifies the forward link type. - - Retrieve the rel attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-41369587 -*/ -function HTMLLinkElement06() { - var success; - if(checkInitialization(builder, "HTMLLinkElement06") != null) return; - var nodeList; - var testNode; - var vrel; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "link"); - nodeList = doc.getElementsByTagName("link"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vrel = testNode.rel; - - assertEquals("relLink","Glossary",vrel); - -} - - - - -function runTest() { - HTMLLinkElement06(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement08.js deleted file mode 100644 index 001e995..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement08.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLinkElement08"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "link"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The type attribute specifies the advisory content type. - - Retrieve the type attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-32498296 -*/ -function HTMLLinkElement08() { - var success; - if(checkInitialization(builder, "HTMLLinkElement08") != null) return; - var nodeList; - var testNode; - var vtype; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "link"); - nodeList = doc.getElementsByTagName("link"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vtype = testNode.type; - - assertEquals("typeLink","text/html",vtype); - -} - - - - -function runTest() { - HTMLLinkElement08(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMapElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMapElement02.js deleted file mode 100644 index 5ba184f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMapElement02.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLMapElement02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "map"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The name attribute names the map(for use with usemap). - - Retrieve the name attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52696514 -*/ -function HTMLMapElement02() { - var success; - if(checkInitialization(builder, "HTMLMapElement02") != null) return; - var nodeList; - var testNode; - var vname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "map"); - nodeList = doc.getElementsByTagName("map"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vname = testNode.name; - - assertEquals("mapLink","mapid",vname); - -} - - - - -function runTest() { - HTMLMapElement02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement01.js deleted file mode 100644 index e344809..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement01.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLMetaElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "meta"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The content attribute specifies associated information. - - Retrieve the content attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87670826 -*/ -function HTMLMetaElement01() { - var success; - if(checkInitialization(builder, "HTMLMetaElement01") != null) return; - var nodeList; - var testNode; - var vcontent; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "meta"); - nodeList = doc.getElementsByTagName("meta"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vcontent = testNode.content; - - assertEquals("contentLink","text/html; CHARSET=utf-8",vcontent); - -} - - - - -function runTest() { - HTMLMetaElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement02.js deleted file mode 100644 index 3da9693..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement02.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLMetaElement02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "meta"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The httpEquiv attribute specifies an HTTP respnse header name. - - Retrieve the httpEquiv attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-77289449 -*/ -function HTMLMetaElement02() { - var success; - if(checkInitialization(builder, "HTMLMetaElement02") != null) return; - var nodeList; - var testNode; - var vhttpequiv; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "meta"); - nodeList = doc.getElementsByTagName("meta"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vhttpequiv = testNode.httpEquiv; - - assertEquals("httpEquivLink","Content-Type",vhttpequiv); - -} - - - - -function runTest() { - HTMLMetaElement02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement03.js deleted file mode 100644 index 3554091..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement03.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLMetaElement03"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "meta"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The name attribute specifies the meta information name. - - Retrieve the name attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-31037081 -*/ -function HTMLMetaElement03() { - var success; - if(checkInitialization(builder, "HTMLMetaElement03") != null) return; - var nodeList; - var testNode; - var vname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "meta"); - nodeList = doc.getElementsByTagName("meta"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vname = testNode.name; - - assertEquals("nameLink","Meta-Name",vname); - -} - - - - -function runTest() { - HTMLMetaElement03(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement04.js deleted file mode 100644 index 2ba7efd..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement04.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLMetaElement04"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "meta"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The scheme attribute specifies a select form of content. - - Retrieve the scheme attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-35993789 -*/ -function HTMLMetaElement04() { - var success; - if(checkInitialization(builder, "HTMLMetaElement04") != null) return; - var nodeList; - var testNode; - var vscheme; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "meta"); - nodeList = doc.getElementsByTagName("meta"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vscheme = testNode.scheme; - - assertEquals("schemeLink","NIST",vscheme); - -} - - - - -function runTest() { - HTMLMetaElement04(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement01.js deleted file mode 100644 index 9840f14..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement01.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLModElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "mod"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The cite attribute specifies an URI designating a document that describes - the reason for the change. - - Retrieve the cite attribute of the INS element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75101708 -*/ -function HTMLModElement01() { - var success; - if(checkInitialization(builder, "HTMLModElement01") != null) return; - var nodeList; - var testNode; - var vcite; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "mod"); - nodeList = doc.getElementsByTagName("ins"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vcite = testNode.cite; - - assertURIEquals("citeLink",null,null,null,"ins-reasons.html",null,null,null,null,vcite); - -} - - - - -function runTest() { - HTMLModElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement02.js deleted file mode 100644 index fe3fa8e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement02.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLModElement02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "mod"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The dateTime attribute specifies the date and time of the change. - - Retrieve the dateTime attribute of the INS element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88432678 -*/ -function HTMLModElement02() { - var success; - if(checkInitialization(builder, "HTMLModElement02") != null) return; - var nodeList; - var testNode; - var vdatetime; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "mod"); - nodeList = doc.getElementsByTagName("ins"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vdatetime = testNode.dateTime; - - assertEquals("dateTimeLink","January 1, 2002",vdatetime); - -} - - - - -function runTest() { - HTMLModElement02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement03.js deleted file mode 100644 index e796da6..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement03.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLModElement03"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "mod"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The cite attribute specifies an URI designating a document that describes - the reason for the change. - - Retrieve the cite attribute of the DEL element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75101708 -*/ -function HTMLModElement03() { - var success; - if(checkInitialization(builder, "HTMLModElement03") != null) return; - var nodeList; - var testNode; - var vcite; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "mod"); - nodeList = doc.getElementsByTagName("del"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vcite = testNode.cite; - - assertURIEquals("citeLink",null,null,null,"del-reasons.html",null,null,null,null,vcite); - -} - - - - -function runTest() { - HTMLModElement03(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement04.js deleted file mode 100644 index 1150082..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement04.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLModElement04"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "mod"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The dateTime attribute specifies the date and time of the change. - - Retrieve the dateTime attribute of the DEL element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88432678 -*/ -function HTMLModElement04() { - var success; - if(checkInitialization(builder, "HTMLModElement04") != null) return; - var nodeList; - var testNode; - var vdatetime; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "mod"); - nodeList = doc.getElementsByTagName("del"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vdatetime = testNode.dateTime; - - assertEquals("dateTimeLink","January 2, 2002",vdatetime); - -} - - - - -function runTest() { - HTMLModElement04(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOListElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOListElement02.js deleted file mode 100644 index f7a44be..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOListElement02.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOListElement02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "olist"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The start attribute specifies the starting sequence number. - - Retrieve the start attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14793325 -*/ -function HTMLOListElement02() { - var success; - if(checkInitialization(builder, "HTMLOListElement02") != null) return; - var nodeList; - var testNode; - var vstart; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "olist"); - nodeList = doc.getElementsByTagName("ol"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vstart = testNode.start; - - assertEquals("startLink",1,vstart); - -} - - - - -function runTest() { - HTMLOListElement02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOListElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOListElement03.js deleted file mode 100644 index 8731b7c..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOListElement03.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOListElement03"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "olist"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The type attribute specifies the numbering style. - - Retrieve the type attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40971103 -*/ -function HTMLOListElement03() { - var success; - if(checkInitialization(builder, "HTMLOListElement03") != null) return; - var nodeList; - var testNode; - var vtype; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "olist"); - nodeList = doc.getElementsByTagName("ol"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vtype = testNode.type; - - assertEquals("typeLink","1",vtype); - -} - - - - -function runTest() { - HTMLOListElement03(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement01.js deleted file mode 100644 index c70af00..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement01.js +++ /dev/null @@ -1,116 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "object2"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The form attribute returns the FORM element containing this control. - - Retrieve the form attribute and examine its value. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-46094773 -*/ -function HTMLObjectElement01() { - var success; - if(checkInitialization(builder, "HTMLObjectElement01") != null) return; - var nodeList; - var testNode; - var fNode; - var vform; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "object2"); - nodeList = doc.getElementsByTagName("object"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(1); - fNode = testNode.form; - - vform = fNode.id; - - assertEquals("idLink","object2",vform); - -} - - - - -function runTest() { - HTMLObjectElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement08.js deleted file mode 100644 index 9bab5c1..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement08.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement08"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "object"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The data attribute specifies the URI of the location of the objects data. - - Retrieve the data attribute of the first OBJECT element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-81766986 -*/ -function HTMLObjectElement08() { - var success; - if(checkInitialization(builder, "HTMLObjectElement08") != null) return; - var nodeList; - var testNode; - var vdata; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "object"); - nodeList = doc.getElementsByTagName("object"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vdata = testNode.data; - - assertURIEquals("dataLink",null,null,null,"logo.gif",null,null,null,null,vdata); - -} - - - - -function runTest() { - HTMLObjectElement08(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement10.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement10.js deleted file mode 100644 index 17cb218..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement10.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement10"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "object"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The height attribute overrides the value of the actual height of the - object. - - Retrieve the height attribute of the first OBJECT element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88925838 -*/ -function HTMLObjectElement10() { - var success; - if(checkInitialization(builder, "HTMLObjectElement10") != null) return; - var nodeList; - var testNode; - var vheight; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "object"); - nodeList = doc.getElementsByTagName("object"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vheight = testNode.height; - - assertEquals("heightLink","60",vheight); - -} - - - - -function runTest() { - HTMLObjectElement10(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement11.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement11.js deleted file mode 100644 index 8915326..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement11.js +++ /dev/null @@ -1,129 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement11"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "object"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The hspace attribute specifies the horizontal space to the left and right - of this image, applet or object. - - Retrieve the hspace attribute of the first OBJECT element and examine - its value. - - This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-17085376 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 -*/ -function HTMLObjectElement11() { - var success; - if(checkInitialization(builder, "HTMLObjectElement11") != null) return; - var nodeList; - var testNode; - var vhspace; - var doc; - var domImpl; - var hasHTML2; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "object"); - domImpl = doc.implementation; -hasHTML2 = domImpl.hasFeature("HTML","2.0"); - - if( - - !hasHTML2 - ) { - nodeList = doc.getElementsByTagName("object"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vhspace = testNode.hspace; - - assertEquals("hspaceLink","0",vhspace); - - } - -} - - - - -function runTest() { - HTMLObjectElement11(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement13.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement13.js deleted file mode 100644 index af2e44b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement13.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement13"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "object"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The tabIndex attribute specifies the elements position in the tabbing - order. - - Retrieve the tabIndex attribute of the first OBJECT element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-27083787 -*/ -function HTMLObjectElement13() { - var success; - if(checkInitialization(builder, "HTMLObjectElement13") != null) return; - var nodeList; - var testNode; - var vtabindex; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "object"); - nodeList = doc.getElementsByTagName("object"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vtabindex = testNode.tabIndex; - - assertEquals("tabIndexLink",0,vtabindex); - -} - - - - -function runTest() { - HTMLObjectElement13(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement14.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement14.js deleted file mode 100644 index b52c2b6..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement14.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement14"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "object"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The type attribute specifies the content type for data downloaded via - the data attribute. - - Retrieve the type attribute of the first OBJECT element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-91665621 -*/ -function HTMLObjectElement14() { - var success; - if(checkInitialization(builder, "HTMLObjectElement14") != null) return; - var nodeList; - var testNode; - var vtype; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "object"); - nodeList = doc.getElementsByTagName("object"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vtype = testNode.type; - - assertEquals("typeLink","image/gif",vtype); - -} - - - - -function runTest() { - HTMLObjectElement14(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement15.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement15.js deleted file mode 100644 index 2a497b1..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement15.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement15"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "object"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The useMap attribute specifies the used client-side image map. - - Retrieve the useMap attribute of the first OBJECT element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6649772 -*/ -function HTMLObjectElement15() { - var success; - if(checkInitialization(builder, "HTMLObjectElement15") != null) return; - var nodeList; - var testNode; - var vusemap; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "object"); - nodeList = doc.getElementsByTagName("object"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vusemap = testNode.useMap; - - assertEquals("useMapLink","#DivLogo-map",vusemap); - -} - - - - -function runTest() { - HTMLObjectElement15(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement16.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement16.js deleted file mode 100644 index 85adf7d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement16.js +++ /dev/null @@ -1,129 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement16"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "object"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The vspace attribute specifies the vertical space above or below this - image, applet or object. - - Retrieve the vspace attribute of the first OBJECT element and examine - its value. - - This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-8682483 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 -*/ -function HTMLObjectElement16() { - var success; - if(checkInitialization(builder, "HTMLObjectElement16") != null) return; - var nodeList; - var testNode; - var vvspace; - var doc; - var domImpl; - var hasHTML2; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "object"); - domImpl = doc.implementation; -hasHTML2 = domImpl.hasFeature("HTML","2.0"); - - if( - - !hasHTML2 - ) { - nodeList = doc.getElementsByTagName("object"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vvspace = testNode.vspace; - - assertEquals("vspaceLink","0",vvspace); - - } - -} - - - - -function runTest() { - HTMLObjectElement16(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement17.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement17.js deleted file mode 100644 index e76e4d8..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement17.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement17"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "object"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The width attribute overrides the original width value. - - Retrieve the width attribute of the first OBJECT element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-38538620 -*/ -function HTMLObjectElement17() { - var success; - if(checkInitialization(builder, "HTMLObjectElement17") != null) return; - var nodeList; - var testNode; - var vwidth; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "object"); - nodeList = doc.getElementsByTagName("object"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vwidth = testNode.width; - - assertEquals("widthLink","550",vwidth); - -} - - - - -function runTest() { - HTMLObjectElement17(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement18.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement18.js deleted file mode 100644 index f299c61..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement18.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement18"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "object"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The name attribute specifies form control or object name when submitted - with a form. - - Retrieve the name attribute of the second OBJECT element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-20110362 -*/ -function HTMLObjectElement18() { - var success; - if(checkInitialization(builder, "HTMLObjectElement18") != null) return; - var nodeList; - var testNode; - var vname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "object"); - nodeList = doc.getElementsByTagName("object"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(1); - vname = testNode.name; - - assertEquals("vspaceLink","OBJECT2",vname); - -} - - - - -function runTest() { - HTMLObjectElement18(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement19.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement19.js deleted file mode 100644 index a1157ff..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement19.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement19"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "object2"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The form attribute returns null if control in not within the context of - form. - - Retrieve the form attribute and examine its value. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-46094773 -*/ -function HTMLObjectElement19() { - var success; - if(checkInitialization(builder, "HTMLObjectElement19") != null) return; - var nodeList; - var testNode; - var vform; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "object2"); - nodeList = doc.getElementsByTagName("object"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vform = testNode.form; - - assertNull("formNullLink",vform); - -} - - - - -function runTest() { - HTMLObjectElement19(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement01.js deleted file mode 100644 index 088c526..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement01.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptGroupElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "optgroup"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The disabled attribute indicates that the control is unavailable in - this context. - - Retrieve the disabled attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-15518803 -*/ -function HTMLOptGroupElement01() { - var success; - if(checkInitialization(builder, "HTMLOptGroupElement01") != null) return; - var nodeList; - var testNode; - var vdisabled; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "optgroup"); - nodeList = doc.getElementsByTagName("optgroup"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(1); - vdisabled = testNode.disabled; - - assertTrue("disabledLink",vdisabled); - -} - - - - -function runTest() { - HTMLOptGroupElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement02.js deleted file mode 100644 index 4c5f323..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement02.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptGroupElement02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "optgroup"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The label attribute specifies the label assigned to this option group. - - Retrieve the label attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95806054 -*/ -function HTMLOptGroupElement02() { - var success; - if(checkInitialization(builder, "HTMLOptGroupElement02") != null) return; - var nodeList; - var testNode; - var vlabel; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "optgroup"); - nodeList = doc.getElementsByTagName("optgroup"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vlabel = testNode.label; - - assertEquals("labelLink","Regular Employees",vlabel); - -} - - - - -function runTest() { - HTMLOptGroupElement02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement01.js deleted file mode 100644 index 9cea72a..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement01.js +++ /dev/null @@ -1,117 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptionElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "option"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The form attribute returns the FORM element containing this control. - - Retrieve the form attribute from the first SELECT element - and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-17116503 -*/ -function HTMLOptionElement01() { - var success; - if(checkInitialization(builder, "HTMLOptionElement01") != null) return; - var nodeList; - var testNode; - var vform; - var fNode; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "option"); - nodeList = doc.getElementsByTagName("option"); - assertSize("Asize",10,nodeList); -testNode = nodeList.item(0); - fNode = testNode.form; - - vform = fNode.id; - - assertEquals("formLink","form1",vform); - -} - - - - -function runTest() { - HTMLOptionElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement02.js deleted file mode 100644 index 4914f41..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement02.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptionElement02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "option"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The form attribute returns null if control in not within the context of - a form. - - Retrieve the first OPTION attribute from the second select element and - examine its form element. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-17116503 -*/ -function HTMLOptionElement02() { - var success; - if(checkInitialization(builder, "HTMLOptionElement02") != null) return; - var nodeList; - var testNode; - var vform; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "option"); - nodeList = doc.getElementsByTagName("option"); - assertSize("Asize",10,nodeList); -testNode = nodeList.item(6); - vform = testNode.form; - - assertNull("formNullLink",vform); - -} - - - - -function runTest() { - HTMLOptionElement02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement03.js deleted file mode 100644 index d9e340b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement03.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptionElement03"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "option"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The defaultSelected attribute contains the value of the selected - attribute. - - Retrieve the defaultSelected attribute from the first OPTION element - and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-37770574 -*/ -function HTMLOptionElement03() { - var success; - if(checkInitialization(builder, "HTMLOptionElement03") != null) return; - var nodeList; - var testNode; - var vdefaultselected; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "option"); - nodeList = doc.getElementsByTagName("option"); - assertSize("Asize",10,nodeList); -testNode = nodeList.item(0); - vdefaultselected = testNode.defaultSelected; - - assertTrue("defaultSelectedLink",vdefaultselected); - -} - - - - -function runTest() { - HTMLOptionElement03(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement06.js deleted file mode 100644 index 18638e5..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement06.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptionElement06"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "option"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The disabled attribute indicates that this control is not available - within this context. - - Retrieve the disabled attribute from the last OPTION element - and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-23482473 -*/ -function HTMLOptionElement06() { - var success; - if(checkInitialization(builder, "HTMLOptionElement06") != null) return; - var nodeList; - var testNode; - var vdisabled; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "option"); - nodeList = doc.getElementsByTagName("option"); - assertSize("Asize",10,nodeList); -testNode = nodeList.item(9); - vdisabled = testNode.disabled; - - assertTrue("disabledLink",vdisabled); - -} - - - - -function runTest() { - HTMLOptionElement06(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement07.js deleted file mode 100644 index 9cc670f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement07.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptionElement07"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "option"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The label attribute is used in hierarchical menus. It specifies - a shorter label for an option that the content of the OPTION element. - - Retrieve the label attribute from the second OPTION element - and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40736115 -*/ -function HTMLOptionElement07() { - var success; - if(checkInitialization(builder, "HTMLOptionElement07") != null) return; - var nodeList; - var testNode; - var vlabel; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "option"); - nodeList = doc.getElementsByTagName("option"); - assertSize("Asize",10,nodeList); -testNode = nodeList.item(1); - vlabel = testNode.label; - - assertEquals("labelLink","l1",vlabel); - -} - - - - -function runTest() { - HTMLOptionElement07(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement08.js deleted file mode 100644 index d6e4b22..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement08.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptionElement08"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "option"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The selected attribute indicates the current state of the corresponding - form control in an interactive user-agent. - - Retrieve the selected attribute from the first OPTION element - and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-70874476 -*/ -function HTMLOptionElement08() { - var success; - if(checkInitialization(builder, "HTMLOptionElement08") != null) return; - var nodeList; - var testNode; - var vselected; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "option"); - nodeList = doc.getElementsByTagName("option"); - assertSize("Asize",10,nodeList); -testNode = nodeList.item(0); - vselected = testNode.defaultSelected; - - assertTrue("selectedLink",vselected); - -} - - - - -function runTest() { - HTMLOptionElement08(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLParamElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLParamElement02.js deleted file mode 100644 index 338cbfe..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLParamElement02.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLParamElement02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "param"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The value attribute specifies the value of the run-time parameter. - - Retrieve the value attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-77971357 -*/ -function HTMLParamElement02() { - var success; - if(checkInitialization(builder, "HTMLParamElement02") != null) return; - var nodeList; - var testNode; - var vvalue; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "param"); - nodeList = doc.getElementsByTagName("param"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vvalue = testNode.value; - - assertURIEquals("valueLink",null,null,null,"file.gif",null,null,null,null,vvalue); - -} - - - - -function runTest() { - HTMLParamElement02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement01.js deleted file mode 100644 index d46c2aa..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement01.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLQuoteElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "quote"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The cite attribute specifies a URI designating a source document - or message. - - Retrieve the cite attribute from the Q element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-53895598 -*/ -function HTMLQuoteElement01() { - var success; - if(checkInitialization(builder, "HTMLQuoteElement01") != null) return; - var nodeList; - var testNode; - var vcite; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "quote"); - nodeList = doc.getElementsByTagName("q"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vcite = testNode.cite; - - assertURIEquals("citeLink",null,null,null,"Q.html",null,null,null,null,vcite); - -} - - - - -function runTest() { - HTMLQuoteElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement02.js deleted file mode 100644 index f0b002b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement02.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLQuoteElement02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "quote"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The cite attribute specifies a URI designating a source document - or message. - - Retrieve the cite attribute from the BLOCKQUOTE element and - examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-53895598 -*/ -function HTMLQuoteElement02() { - var success; - if(checkInitialization(builder, "HTMLQuoteElement02") != null) return; - var nodeList; - var testNode; - var vcite; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "quote"); - nodeList = doc.getElementsByTagName("blockquote"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vcite = testNode.cite; - - assertURIEquals("citeLink",null,null,null,"BLOCKQUOTE.html",null,null,null,null,vcite); - -} - - - - -function runTest() { - HTMLQuoteElement02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement01.js deleted file mode 100644 index 95f6b58..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement01.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLScriptElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "script"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The text attribute specifies the script content of the element. - - Retrieve the text attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-46872999 -*/ -function HTMLScriptElement01() { - var success; - if(checkInitialization(builder, "HTMLScriptElement01") != null) return; - var nodeList; - var testNode; - var vtext; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "script"); - nodeList = doc.getElementsByTagName("script"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vtext = testNode.text; - - assertEquals("textLink","var a=2;",vtext); - -} - - - - -function runTest() { - HTMLScriptElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement02.js deleted file mode 100644 index a85f04f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement02.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLScriptElement02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "script"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The charset attribute specifies the character encoding of the linked - resource. - - Retrieve the charset attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-35305677 -*/ -function HTMLScriptElement02() { - var success; - if(checkInitialization(builder, "HTMLScriptElement02") != null) return; - var nodeList; - var testNode; - var vcharset; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "script"); - nodeList = doc.getElementsByTagName("script"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vcharset = testNode.charset; - - assertEquals("charsetLink","US-ASCII",vcharset); - -} - - - - -function runTest() { - HTMLScriptElement02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement03.js deleted file mode 100644 index cd60d5d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement03.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLScriptElement03"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "script"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The defer attribute specifies the user agent can defer processing of - the script. - - Retrieve the defer attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93788534 -*/ -function HTMLScriptElement03() { - var success; - if(checkInitialization(builder, "HTMLScriptElement03") != null) return; - var nodeList; - var testNode; - var vdefer; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "script"); - nodeList = doc.getElementsByTagName("script"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vdefer = testNode.defer; - - assertTrue("deferLink",vdefer); - -} - - - - -function runTest() { - HTMLScriptElement03(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement04.js deleted file mode 100644 index fe417e3..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement04.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLScriptElement04"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "script"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The src attribute specifies a URI designating an external script. - - Retrieve the src attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75147231 -*/ -function HTMLScriptElement04() { - var success; - if(checkInitialization(builder, "HTMLScriptElement04") != null) return; - var nodeList; - var testNode; - var vsrc; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "script"); - nodeList = doc.getElementsByTagName("script"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vsrc = testNode.src; - - assertURIEquals("srcLink",null,null,null,"script1.js",null,null,null,null,vsrc); - -} - - - - -function runTest() { - HTMLScriptElement04(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement05.js deleted file mode 100644 index 96a717b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement05.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLScriptElement05"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "script"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The type attribute specifies the content of the script language. - - Retrieve the type attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-30534818 -*/ -function HTMLScriptElement05() { - var success; - if(checkInitialization(builder, "HTMLScriptElement05") != null) return; - var nodeList; - var testNode; - var vtype; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "script"); - nodeList = doc.getElementsByTagName("script"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vtype = testNode.type; - - assertEquals("typeLink","text/javaScript",vtype); - -} - - - - -function runTest() { - HTMLScriptElement05(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement06.js deleted file mode 100644 index a1275eb..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement06.js +++ /dev/null @@ -1,109 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLScriptElement06"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "script"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -htmlFor is described as for future use. Test accesses the value, but makes no assertions about its value. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-66979266 -*/ -function HTMLScriptElement06() { - var success; - if(checkInitialization(builder, "HTMLScriptElement06") != null) return; - var nodeList; - var testNode; - var htmlFor; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "script"); - nodeList = doc.getElementsByTagName("script"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - htmlFor = testNode.htmlFor; - - -} - - - - -function runTest() { - HTMLScriptElement06(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement07.js deleted file mode 100644 index a3c1976..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement07.js +++ /dev/null @@ -1,109 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLScriptElement07"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "script"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -event is described as for future use. Test accesses the value, but makes no assertions about its value. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-56700403 -*/ -function HTMLScriptElement07() { - var success; - if(checkInitialization(builder, "HTMLScriptElement07") != null) return; - var nodeList; - var testNode; - var event; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "script"); - nodeList = doc.getElementsByTagName("script"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - event = testNode.event; - - -} - - - - -function runTest() { - HTMLScriptElement07(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement03.js deleted file mode 100644 index a7dda0c..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement03.js +++ /dev/null @@ -1,118 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement03"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "select"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The selectedIndex attribute specifies the ordinal index of the selected - option. If no element is selected -1 is returned. - - Retrieve the selectedIndex attribute from the second SELECT element and - examine its value. - - Per http://www.w3.org/TR/html401/interact/forms.html#h-17.6.1, - without an explicit selected attribute, user agent behavior is - undefined. There is no way to coerce no option to be selected. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-85676760 -*/ -function HTMLSelectElement03() { - var success; - if(checkInitialization(builder, "HTMLSelectElement03") != null) return; - var nodeList; - var testNode; - var vselectedindex; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "select"); - nodeList = doc.getElementsByTagName("select"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(1); - vselectedindex = testNode.selectedIndex; - - -} - - - - -function runTest() { - HTMLSelectElement03(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement06.js deleted file mode 100644 index 14f8f6a..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement06.js +++ /dev/null @@ -1,117 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement06"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "select"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The form attribute returns the FORM element containing this control. - - Retrieve the form attribute from the first SELECT element - and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-20489458 -*/ -function HTMLSelectElement06() { - var success; - if(checkInitialization(builder, "HTMLSelectElement06") != null) return; - var nodeList; - var testNode; - var vform; - var fNode; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "select"); - nodeList = doc.getElementsByTagName("select"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(0); - fNode = testNode.form; - - vform = fNode.id; - - assertEquals("formLink","form1",vform); - -} - - - - -function runTest() { - HTMLSelectElement06(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement07.js deleted file mode 100644 index 047585c..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement07.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement07"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "select"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The form attribute returns null if control in not within the context of - a form. - - Retrieve the second SELECT element and - examine its form element. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-20489458 -*/ -function HTMLSelectElement07() { - var success; - if(checkInitialization(builder, "HTMLSelectElement07") != null) return; - var nodeList; - var testNode; - var vform; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "select"); - nodeList = doc.getElementsByTagName("select"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(1); - vform = testNode.form; - - assertNull("formNullLink",vform); - -} - - - - -function runTest() { - HTMLSelectElement07(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement08.js deleted file mode 100644 index 5617296..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement08.js +++ /dev/null @@ -1,134 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement08"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "select"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The options attribute returns a collection of OPTION elements contained - by this element. - - Retrieve the options attribute from the first SELECT element and - examine the items of the returned collection. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-30606413 -*/ -function HTMLSelectElement08() { - var success; - if(checkInitialization(builder, "HTMLSelectElement08") != null) return; - var nodeList; - var optionsnodeList; - var testNode; - var vareas; - var doc; - var optionName; - var voption; - var result = new Array(); - - expectedOptions = new Array(); - expectedOptions[0] = "option"; - expectedOptions[1] = "option"; - expectedOptions[2] = "option"; - expectedOptions[3] = "option"; - expectedOptions[4] = "option"; - - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "select"); - nodeList = doc.getElementsByTagName("select"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(0); - optionsnodeList = testNode.options; - - for(var indexN65648 = 0;indexN65648 < optionsnodeList.length; indexN65648++) { - voption = optionsnodeList.item(indexN65648); - optionName = voption.nodeName; - - result[result.length] = optionName; - - } - assertEqualsListAutoCase("element", "optionsLink",expectedOptions,result); - -} - - - - -function runTest() { - HTMLSelectElement08(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement09.js deleted file mode 100644 index 41a9ca9..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement09.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement09"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "select"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The disabled attribute indicates that this control is not available - within this context. - - Retrieve the disabled attribute from the third SELECT element - and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-79102918 -*/ -function HTMLSelectElement09() { - var success; - if(checkInitialization(builder, "HTMLSelectElement09") != null) return; - var nodeList; - var testNode; - var vdisabled; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "select"); - nodeList = doc.getElementsByTagName("select"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(2); - vdisabled = testNode.disabled; - - assertTrue("disabledLink",vdisabled); - -} - - - - -function runTest() { - HTMLSelectElement09(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement10.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement10.js deleted file mode 100644 index 2a05689..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement10.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement10"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "select"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The multiple attribute(if true) indicates that multiple OPTION elements - may be selected - - Retrieve the multiple attribute from the first SELECT element - and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-13246613 -*/ -function HTMLSelectElement10() { - var success; - if(checkInitialization(builder, "HTMLSelectElement10") != null) return; - var nodeList; - var testNode; - var vmultiple; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "select"); - nodeList = doc.getElementsByTagName("select"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(0); - vmultiple = testNode.multiple; - - assertTrue("multipleLink",vmultiple); - -} - - - - -function runTest() { - HTMLSelectElement10(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement11.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement11.js deleted file mode 100644 index 7fa1223..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement11.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement11"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "select"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The name attribute specifies the form control or object name when - submitted with a form. - - Retrieve the name attribute from the first SELECT element and - examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-41636323 -*/ -function HTMLSelectElement11() { - var success; - if(checkInitialization(builder, "HTMLSelectElement11") != null) return; - var nodeList; - var testNode; - var vname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "select"); - nodeList = doc.getElementsByTagName("select"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(0); - vname = testNode.name; - - assertEquals("nameLink","select1",vname); - -} - - - - -function runTest() { - HTMLSelectElement11(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement12.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement12.js deleted file mode 100644 index d534194..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement12.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement12"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "select"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The size attribute specifies the number of visible rows. - - Retrieve the size attribute from the first SELECT element and - examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-18293826 -*/ -function HTMLSelectElement12() { - var success; - if(checkInitialization(builder, "HTMLSelectElement12") != null) return; - var nodeList; - var testNode; - var vsize; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "select"); - nodeList = doc.getElementsByTagName("select"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(0); - vsize = testNode.size; - - assertEquals("sizeLink",1,vsize); - -} - - - - -function runTest() { - HTMLSelectElement12(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement13.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement13.js deleted file mode 100644 index 12e9402..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement13.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement13"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "select"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The tabIndex attribute specifies an index that represents the elements - position in the tabbing order. - - Retrieve the tabIndex attribute from the first SELECT element and - examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40676705 -*/ -function HTMLSelectElement13() { - var success; - if(checkInitialization(builder, "HTMLSelectElement13") != null) return; - var nodeList; - var testNode; - var vtabindex; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "select"); - nodeList = doc.getElementsByTagName("select"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(0); - vtabindex = testNode.tabIndex; - - assertEquals("tabIndexLink",7,vtabindex); - -} - - - - -function runTest() { - HTMLSelectElement13(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLStyleElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLStyleElement01.js deleted file mode 100644 index e63f631..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLStyleElement01.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLStyleElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "style"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The disabled attribute enables/disables the stylesheet. - - Retrieve the disabled attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-51162010 -*/ -function HTMLStyleElement01() { - var success; - if(checkInitialization(builder, "HTMLStyleElement01") != null) return; - var nodeList; - var testNode; - var vdisabled; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "style"); - nodeList = doc.getElementsByTagName("style"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vdisabled = testNode.disabled; - - assertFalse("disabledLink",vdisabled); - -} - - - - -function runTest() { - HTMLStyleElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLStyleElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLStyleElement02.js deleted file mode 100644 index c547c7d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLStyleElement02.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLStyleElement02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "style"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The media attribute identifies the intended medium of the style info. - - Retrieve the media attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76412738 -*/ -function HTMLStyleElement02() { - var success; - if(checkInitialization(builder, "HTMLStyleElement02") != null) return; - var nodeList; - var testNode; - var vmedia; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "style"); - nodeList = doc.getElementsByTagName("style"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vmedia = testNode.media; - - assertEquals("mediaLink","screen",vmedia); - -} - - - - -function runTest() { - HTMLStyleElement02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLStyleElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLStyleElement03.js deleted file mode 100644 index c085c22..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLStyleElement03.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLStyleElement03"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "style"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The type attribute specifies the style sheet language(Internet media type). - - Retrieve the type attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-22472002 -*/ -function HTMLStyleElement03() { - var success; - if(checkInitialization(builder, "HTMLStyleElement03") != null) return; - var nodeList; - var testNode; - var vtype; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "style"); - nodeList = doc.getElementsByTagName("style"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vtype = testNode.type; - - assertEquals("typeLink","text/css",vtype); - -} - - - - -function runTest() { - HTMLStyleElement03(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement15.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement15.js deleted file mode 100644 index 6d22965..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement15.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement15"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The colSpan attribute specifies the number of columns spanned by a table - header(TH) cell. - - Retrieve the colspan attribute of the second TH element and examine its - value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-84645244 -*/ -function HTMLTableCellElement15() { - var success; - if(checkInitialization(builder, "HTMLTableCellElement15") != null) return; - var nodeList; - var testNode; - var vcolspan; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("th"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(1); - vcolspan = testNode.colSpan; - - assertEquals("colSpanLink",1,vcolspan); - -} - - - - -function runTest() { - HTMLTableCellElement15(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement16.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement16.js deleted file mode 100644 index d6e385f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement16.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement16"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The colSpan attribute specifies the number of columns spanned by a - table data(TD) cell. - - Retrieve the colSpan attribute of the second TD element and examine its - value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-84645244 -*/ -function HTMLTableCellElement16() { - var success; - if(checkInitialization(builder, "HTMLTableCellElement16") != null) return; - var nodeList; - var testNode; - var vcolspan; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("td"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(1); - vcolspan = testNode.colSpan; - - assertEquals("colSpanLink",1,vcolspan); - -} - - - - -function runTest() { - HTMLTableCellElement16(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement23.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement23.js deleted file mode 100644 index 5375f82..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement23.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement23"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The rowSpan attribute specifies the number of rows spanned by a table - header(TH) cell. - - Retrieve the rowSpan attribute of the second TH element and examine its - value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-48237625 -*/ -function HTMLTableCellElement23() { - var success; - if(checkInitialization(builder, "HTMLTableCellElement23") != null) return; - var nodeList; - var testNode; - var vrowspan; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("th"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(1); - vrowspan = testNode.rowSpan; - - assertEquals("rowSpanLink",1,vrowspan); - -} - - - - -function runTest() { - HTMLTableCellElement23(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement24.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement24.js deleted file mode 100644 index 6120e16..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement24.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement24"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The rowSpan attribute specifies the number of rows spanned by a - table data(TD) cell. - - Retrieve the rowSpan attribute of the second TD element and examine its - value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-48237625 -*/ -function HTMLTableCellElement24() { - var success; - if(checkInitialization(builder, "HTMLTableCellElement24") != null) return; - var nodeList; - var testNode; - var vrowspan; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("td"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(1); - vrowspan = testNode.rowSpan; - - assertEquals("rowSpanLink",1,vrowspan); - -} - - - - -function runTest() { - HTMLTableCellElement24(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement25.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement25.js deleted file mode 100644 index 37c99c4..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement25.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement25"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The scope attribute specifies the scope covered by header cells. - - Retrieve the scope attribute from the second TH element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-36139952 -*/ -function HTMLTableCellElement25() { - var success; - if(checkInitialization(builder, "HTMLTableCellElement25") != null) return; - var nodeList; - var testNode; - var vscope; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("th"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(1); - vscope = testNode.scope; - - assertEquals("scopeLink","col",vscope); - -} - - - - -function runTest() { - HTMLTableCellElement25(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableColElement07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableColElement07.js deleted file mode 100644 index 2d09b66..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableColElement07.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement07"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecol"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The span attribute indicates the number of columns in a group or affected - by a grouping(COL). - - Retrieve the span attribute of the COL element and examine its - value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96511335 -*/ -function HTMLTableColElement07() { - var success; - if(checkInitialization(builder, "HTMLTableColElement07") != null) return; - var nodeList; - var testNode; - var vspan; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecol"); - nodeList = doc.getElementsByTagName("col"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vspan = testNode.span; - - assertEquals("spanLink",1,vspan); - -} - - - - -function runTest() { - HTMLTableColElement07(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableColElement08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableColElement08.js deleted file mode 100644 index 672827f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableColElement08.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement08"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecol"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The span attribute indicates the number of columns in a group or affected - by a grouping(COLGROUP). - - Retrieve the span attribute of the COLGROUP element and examine its - value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96511335 -*/ -function HTMLTableColElement08() { - var success; - if(checkInitialization(builder, "HTMLTableColElement08") != null) return; - var nodeList; - var testNode; - var vspan; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecol"); - nodeList = doc.getElementsByTagName("colgroup"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vspan = testNode.span; - - assertEquals("spanLink",2,vspan); - -} - - - - -function runTest() { - HTMLTableColElement08(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement02.js deleted file mode 100644 index 116127e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement02.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The caption attribute returns the tables CAPTION or void if it does not - exist. - - Retrieve the CAPTION element from within the first TABLE element. - Since one does not exist it should be void. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14594520 -*/ -function HTMLTableElement02() { - var success; - if(checkInitialization(builder, "HTMLTableElement02") != null) return; - var nodeList; - var testNode; - var vcaption; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(0); - vcaption = testNode.caption; - - assertNull("captionLink",vcaption); - -} - - - - -function runTest() { - HTMLTableElement02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement04.js deleted file mode 100644 index bb664eb..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement04.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement04"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The tHead attribute returns the tables THEAD or null if it does not - exist. - - Retrieve the THEAD element from within the first TABLE element. - Since one does not exist it should be null. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-9530944 -*/ -function HTMLTableElement04() { - var success; - if(checkInitialization(builder, "HTMLTableElement04") != null) return; - var nodeList; - var testNode; - var vsection; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(0); - vsection = testNode.tHead; - - assertNull("sectionLink",vsection); - -} - - - - -function runTest() { - HTMLTableElement04(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement06.js deleted file mode 100644 index d61ca57..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement06.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement06"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The tFoot attribute returns the tables TFOOT or null if it does not - exist. - - Retrieve the TFOOT element from within the first TABLE element. - Since one does not exist it should be null. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097 -*/ -function HTMLTableElement06() { - var success; - if(checkInitialization(builder, "HTMLTableElement06") != null) return; - var nodeList; - var testNode; - var vsection; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(0); - vsection = testNode.tFoot; - - assertNull("sectionLink",vsection); - -} - - - - -function runTest() { - HTMLTableElement06(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement07.js deleted file mode 100644 index b050fc4..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement07.js +++ /dev/null @@ -1,132 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement07"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The rows attribute returns a collection of all the rows in the table, - including al in THEAD, TFOOT, all TBODY elements. - - Retrieve the rows attribute from the second TABLE element and - examine the items of the returned collection. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6156016 -*/ -function HTMLTableElement07() { - var success; - if(checkInitialization(builder, "HTMLTableElement07") != null) return; - var nodeList; - var rowsnodeList; - var testNode; - var doc; - var rowName; - var vrow; - var result = new Array(); - - expectedOptions = new Array(); - expectedOptions[0] = "tr"; - expectedOptions[1] = "tr"; - expectedOptions[2] = "tr"; - expectedOptions[3] = "tr"; - - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(1); - rowsnodeList = testNode.rows; - - for(var indexN65641 = 0;indexN65641 < rowsnodeList.length; indexN65641++) { - vrow = rowsnodeList.item(indexN65641); - rowName = vrow.nodeName; - - result[result.length] = rowName; - - } - assertEqualsListAutoCase("element", "rowsLink",expectedOptions,result); - -} - - - - -function runTest() { - HTMLTableElement07(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement12.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement12.js deleted file mode 100644 index 1ffdd80..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement12.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement12"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The border attribute specifies the width of the border around the table. - - Retrieve the border attribute of the first TABLE element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-50969400 -*/ -function HTMLTableElement12() { - var success; - if(checkInitialization(builder, "HTMLTableElement12") != null) return; - var nodeList; - var testNode; - var vborder; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(1); - vborder = testNode.border; - - assertEquals("borderLink","4",vborder); - -} - - - - -function runTest() { - HTMLTableElement12(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableRowElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableRowElement05.js deleted file mode 100644 index 77dd707..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableRowElement05.js +++ /dev/null @@ -1,117 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement05"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablerow"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The cells attribute specifies the collection of cells in this row. - - Retrieve the fourth TR element and examine the value of - the cells length attribute. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-67349879 -*/ -function HTMLTableRowElement05() { - var success; - if(checkInitialization(builder, "HTMLTableRowElement05") != null) return; - var nodeList; - var cellsnodeList; - var testNode; - var vcells; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablerow"); - nodeList = doc.getElementsByTagName("tr"); - assertSize("Asize",5,nodeList); -testNode = nodeList.item(3); - cellsnodeList = testNode.cells; - - vcells = cellsnodeList.length; - - assertEquals("cellsLink",6,vcells); - -} - - - - -function runTest() { - HTMLTableRowElement05(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement13.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement13.js deleted file mode 100644 index 5f1c565..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement13.js +++ /dev/null @@ -1,117 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement13"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablesection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The rows attribute specifies the collection of rows in this table section. - - Retrieve the first THEAD element and examine the value of - the rows length attribute. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52092650 -*/ -function HTMLTableSectionElement13() { - var success; - if(checkInitialization(builder, "HTMLTableSectionElement13") != null) return; - var nodeList; - var rowsnodeList; - var testNode; - var vrows; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablesection"); - nodeList = doc.getElementsByTagName("thead"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - rowsnodeList = testNode.rows; - - vrows = rowsnodeList.length; - - assertEquals("rowsLink",1,vrows); - -} - - - - -function runTest() { - HTMLTableSectionElement13(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement14.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement14.js deleted file mode 100644 index d27f24b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement14.js +++ /dev/null @@ -1,117 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement14"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablesection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The rows attribute specifies the collection of rows in this table section. - - Retrieve the first TFOOT element and examine the value of - the rows length attribute. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52092650 -*/ -function HTMLTableSectionElement14() { - var success; - if(checkInitialization(builder, "HTMLTableSectionElement14") != null) return; - var nodeList; - var rowsnodeList; - var testNode; - var vrows; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablesection"); - nodeList = doc.getElementsByTagName("tfoot"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - rowsnodeList = testNode.rows; - - vrows = rowsnodeList.length; - - assertEquals("rowsLink",1,vrows); - -} - - - - -function runTest() { - HTMLTableSectionElement14(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement15.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement15.js deleted file mode 100644 index 6937129..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement15.js +++ /dev/null @@ -1,117 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement15"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablesection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The rows attribute specifies the collection of rows in this table section. - - Retrieve the first TBODY element and examine the value of - the rows length attribute. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52092650 -*/ -function HTMLTableSectionElement15() { - var success; - if(checkInitialization(builder, "HTMLTableSectionElement15") != null) return; - var nodeList; - var rowsnodeList; - var testNode; - var vrows; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablesection"); - nodeList = doc.getElementsByTagName("tbody"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(1); - rowsnodeList = testNode.rows; - - vrows = rowsnodeList.length; - - assertEquals("rowsLink",2,vrows); - -} - - - - -function runTest() { - HTMLTableSectionElement15(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement02.js deleted file mode 100644 index 400e39f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement02.js +++ /dev/null @@ -1,117 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "textarea"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The form attribute returns the FORM element containing this control. - - Retrieve the form attribute from the first TEXTAREA element - and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-18911464 -*/ -function HTMLTextAreaElement02() { - var success; - if(checkInitialization(builder, "HTMLTextAreaElement02") != null) return; - var nodeList; - var testNode; - var vform; - var fNode; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "textarea"); - nodeList = doc.getElementsByTagName("textarea"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(0); - fNode = testNode.form; - - vform = fNode.id; - - assertEquals("formLink","form1",vform); - -} - - - - -function runTest() { - HTMLTextAreaElement02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement03.js deleted file mode 100644 index f9eaa66..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement03.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement03"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "textarea"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The form attribute returns null if control in not within the context of - a form. - - Retrieve the second TEXTAREA element and - examine its form element. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-18911464 -*/ -function HTMLTextAreaElement03() { - var success; - if(checkInitialization(builder, "HTMLTextAreaElement03") != null) return; - var nodeList; - var testNode; - var vform; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "textarea"); - nodeList = doc.getElementsByTagName("textarea"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(1); - vform = testNode.form; - - assertNull("formNullLink",vform); - -} - - - - -function runTest() { - HTMLTextAreaElement03(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement04.js deleted file mode 100644 index f1ce5ba..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement04.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement04"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "textarea"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The accessKey attribute specifies a single character access key to - give access to the form control. - - Retrieve the accessKey attribute of the 1st TEXTAREA element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93102991 -*/ -function HTMLTextAreaElement04() { - var success; - if(checkInitialization(builder, "HTMLTextAreaElement04") != null) return; - var nodeList; - var testNode; - var vaccesskey; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "textarea"); - nodeList = doc.getElementsByTagName("textarea"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(0); - vaccesskey = testNode.accessKey; - - assertEquals("accessKeyLink","c",vaccesskey); - -} - - - - -function runTest() { - HTMLTextAreaElement04(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement05.js deleted file mode 100644 index ffb050a..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement05.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement05"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "textarea"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The cols attribute specifies the width of control(in characters). - - Retrieve the cols attribute of the 1st TEXTAREA element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-51387225 -*/ -function HTMLTextAreaElement05() { - var success; - if(checkInitialization(builder, "HTMLTextAreaElement05") != null) return; - var nodeList; - var testNode; - var vcols; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "textarea"); - nodeList = doc.getElementsByTagName("textarea"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(0); - vcols = testNode.cols; - - assertEquals("colsLink",20,vcols); - -} - - - - -function runTest() { - HTMLTextAreaElement05(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement06.js deleted file mode 100644 index 3e8271a..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement06.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement06"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "textarea"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The disabled attribute specifies the control is unavailable in this - context. - - Retrieve the disabled attribute from the 2nd TEXTAREA element and - examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98725443 -*/ -function HTMLTextAreaElement06() { - var success; - if(checkInitialization(builder, "HTMLTextAreaElement06") != null) return; - var nodeList; - var testNode; - var vdisabled; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "textarea"); - nodeList = doc.getElementsByTagName("textarea"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(1); - vdisabled = testNode.disabled; - - assertTrue("disabledLink",vdisabled); - -} - - - - -function runTest() { - HTMLTextAreaElement06(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement07.js deleted file mode 100644 index b1e6d71..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement07.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement07"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "textarea"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The name attribute specifies the form control or object name when - submitted with a form. - - Retrieve the name attribute of the 1st TEXTAREA element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-70715578 -*/ -function HTMLTextAreaElement07() { - var success; - if(checkInitialization(builder, "HTMLTextAreaElement07") != null) return; - var nodeList; - var testNode; - var vname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "textarea"); - nodeList = doc.getElementsByTagName("textarea"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(0); - vname = testNode.name; - - assertEquals("nameLink","text1",vname); - -} - - - - -function runTest() { - HTMLTextAreaElement07(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement08.js deleted file mode 100644 index 31714f9..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement08.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement08"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "textarea"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The readOnly attribute specifies this control is read-only. - - Retrieve the readOnly attribute from the 3rd TEXTAREA element and - examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39131423 -*/ -function HTMLTextAreaElement08() { - var success; - if(checkInitialization(builder, "HTMLTextAreaElement08") != null) return; - var nodeList; - var testNode; - var vreadonly; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "textarea"); - nodeList = doc.getElementsByTagName("textarea"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(2); - vreadonly = testNode.readOnly; - - assertTrue("readOnlyLink",vreadonly); - -} - - - - -function runTest() { - HTMLTextAreaElement08(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement09.js deleted file mode 100644 index baef099..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement09.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement09"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "textarea"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The rows attribute specifies the number of text rowns. - - Retrieve the rows attribute of the 1st TEXTAREA element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-46975887 -*/ -function HTMLTextAreaElement09() { - var success; - if(checkInitialization(builder, "HTMLTextAreaElement09") != null) return; - var nodeList; - var testNode; - var vrows; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "textarea"); - nodeList = doc.getElementsByTagName("textarea"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(0); - vrows = testNode.rows; - - assertEquals("rowsLink",7,vrows); - -} - - - - -function runTest() { - HTMLTextAreaElement09(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement10.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement10.js deleted file mode 100644 index 762fef3..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement10.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement10"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "textarea"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The tabIndex attribute is an index that represents the element's position - in the tabbing order. - - Retrieve the tabIndex attribute of the 1st TEXTAREA element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-60363303 -*/ -function HTMLTextAreaElement10() { - var success; - if(checkInitialization(builder, "HTMLTextAreaElement10") != null) return; - var nodeList; - var testNode; - var vtabindex; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "textarea"); - nodeList = doc.getElementsByTagName("textarea"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(0); - vtabindex = testNode.tabIndex; - - assertEquals("tabIndexLink",5,vtabindex); - -} - - - - -function runTest() { - HTMLTextAreaElement10(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTitleElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTitleElement01.js deleted file mode 100644 index ba4ad26..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTitleElement01.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTitleElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "title"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The text attribute is the specified title as a string. - - Retrieve the text attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-77500413 -*/ -function HTMLTitleElement01() { - var success; - if(checkInitialization(builder, "HTMLTitleElement01") != null) return; - var nodeList; - var testNode; - var vtext; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "title"); - nodeList = doc.getElementsByTagName("title"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vtext = testNode.text; - - assertEquals("textLink","NIST DOM HTML Test - TITLE",vtext); - -} - - - - -function runTest() { - HTMLTitleElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/anchor01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/anchor01.js deleted file mode 100644 index f185f5a..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/anchor01.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/anchor01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "anchor"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -A single character access key to give access to the form control. -The value of attribute accessKey of the anchor element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-89647724 -*/ -function anchor01() { - var success; - if(checkInitialization(builder, "anchor01") != null) return; - var nodeList; - var testNode; - var vaccesskey; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "anchor"); - nodeList = doc.getElementsByTagName("a"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vaccesskey = testNode.accessKey; - - assertEquals("accessKeyLink","g",vaccesskey); - -} - - - - -function runTest() { - anchor01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/anchor04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/anchor04.js deleted file mode 100644 index 1a578ef..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/anchor04.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/anchor04"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "anchor"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -The URI of the linked resource. -The value of attribute href of the anchor element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88517319 -*/ -function anchor04() { - var success; - if(checkInitialization(builder, "anchor04") != null) return; - var nodeList; - var testNode; - var vhref; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "anchor"); - nodeList = doc.getElementsByTagName("a"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vhref = testNode.href; - - assertURIEquals("hrefLink",null,null,null,"submit.gif",null,null,null,true,vhref); - -} - - - - -function runTest() { - anchor04(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/anchor05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/anchor05.js deleted file mode 100644 index 5b0103a..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/anchor05.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/anchor05"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "anchor"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Advisory content type. -The value of attribute type of the anchor element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63938221 -*/ -function anchor05() { - var success; - if(checkInitialization(builder, "anchor05") != null) return; - var nodeList; - var testNode; - var vtype; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "anchor"); - nodeList = doc.getElementsByTagName("a"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vtype = testNode.type; - - assertEquals("typeLink","image/gif",vtype); - -} - - - - -function runTest() { - anchor05(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area01.js deleted file mode 100644 index 8fe9f88..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area01.js +++ /dev/null @@ -1,111 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/area01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "area"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-66021476 -*/ -function area01() { - var success; - if(checkInitialization(builder, "area01") != null) return; - var nodeList; - var testNode; - var vcoords; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "area"); - nodeList = doc.getElementsByTagName("area"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vcoords = testNode.coords; - - assertEquals("coordsLink","0,2,45,45",vcoords); - -} - - - - -function runTest() { - area01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area02.js deleted file mode 100644 index 59d16a8..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area02.js +++ /dev/null @@ -1,111 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/area02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "area"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-61826871 -*/ -function area02() { - var success; - if(checkInitialization(builder, "area02") != null) return; - var nodeList; - var testNode; - var vnohref; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "area"); - nodeList = doc.getElementsByTagName("area"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vnohref = testNode.noHref; - - assertFalse("noHrefLink",vnohref); - -} - - - - -function runTest() { - area02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area03.js deleted file mode 100644 index b335beb..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area03.js +++ /dev/null @@ -1,111 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/area03"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "area"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-8722121 -*/ -function area03() { - var success; - if(checkInitialization(builder, "area03") != null) return; - var nodeList; - var testNode; - var vtabindex; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "area"); - nodeList = doc.getElementsByTagName("area"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vtabindex = testNode.tabIndex; - - assertEquals("tabIndexLink",10,vtabindex); - -} - - - - -function runTest() { - area03(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area04.js deleted file mode 100644 index daefea2..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area04.js +++ /dev/null @@ -1,111 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/area04"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "area"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-57944457 -*/ -function area04() { - var success; - if(checkInitialization(builder, "area04") != null) return; - var nodeList; - var testNode; - var vaccesskey; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "area"); - nodeList = doc.getElementsByTagName("area"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vaccesskey = testNode.accessKey; - - assertEquals("accessKeyLink","a",vaccesskey); - -} - - - - -function runTest() { - area04(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button01.js deleted file mode 100644 index 68151af..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button01.js +++ /dev/null @@ -1,111 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/button01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "button"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Returns the FORM element containing this control. Returns null if this control is not within the context of a form. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71254493 -*/ -function button01() { - var success; - if(checkInitialization(builder, "button01") != null) return; - var nodeList; - var testNode; - var vform; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "button"); - nodeList = doc.getElementsByTagName("button"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(1); - vform = testNode.form; - - assertNull("formLink",vform); - -} - - - - -function runTest() { - button01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button02.js deleted file mode 100644 index e8f45a4..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button02.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/button02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "button"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -The value of attribute name of the form element which contains this button is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71254493 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 -*/ -function button02() { - var success; - if(checkInitialization(builder, "button02") != null) return; - var nodeList; - var testNode; - var formNode; - var vfname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "button"); - nodeList = doc.getElementsByTagName("button"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - formNode = testNode.form; - - vfname = formNode.id; - - assertEquals("formLink","form2",vfname); - -} - - - - -function runTest() { - button02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button03.js deleted file mode 100644 index 4ae81ac..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button03.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/button03"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "button"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -The value of attribute action of the form element which contains this button is read and checked against the expected value - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71254493 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-74049184 -*/ -function button03() { - var success; - if(checkInitialization(builder, "button03") != null) return; - var nodeList; - var testNode; - var formNode; - var vfaction; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "button"); - nodeList = doc.getElementsByTagName("button"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - formNode = testNode.form; - - vfaction = formNode.action; - - assertEquals("formLink","...",vfaction); - -} - - - - -function runTest() { - button03(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button04.js deleted file mode 100644 index ff7e32b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button04.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/button04"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "button"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -The value of attribute method of the form element which contains this button is read and checked against the expected value - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71254493 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-82545539 -*/ -function button04() { - var success; - if(checkInitialization(builder, "button04") != null) return; - var nodeList; - var testNode; - var formNode; - var vfmethod; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "button"); - nodeList = doc.getElementsByTagName("button"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - formNode = testNode.form; - - vfmethod = formNode.method; - - assertEquals("formLink","POST".toLowerCase(),vfmethod.toLowerCase()); - -} - - - - -function runTest() { - button04(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button05.js deleted file mode 100644 index 1bc6767..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button05.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/button05"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "button"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -A single character access key to give access to the form control. -The value of attribute accessKey of the button element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-73169431 -*/ -function button05() { - var success; - if(checkInitialization(builder, "button05") != null) return; - var nodeList; - var testNode; - var vakey; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "button"); - nodeList = doc.getElementsByTagName("button"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vakey = testNode.accessKey; - - assertEquals("accessKeyLink","f".toLowerCase(),vakey.toLowerCase()); - -} - - - - -function runTest() { - button05(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button06.js deleted file mode 100644 index 84f4118..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button06.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/button06"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "button"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Index that represents the element's position in the tabbing order. -The value of attribute tabIndex of the button element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39190908 -*/ -function button06() { - var success; - if(checkInitialization(builder, "button06") != null) return; - var nodeList; - var testNode; - var vtabIndex; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "button"); - nodeList = doc.getElementsByTagName("button"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vtabIndex = testNode.tabIndex; - - assertEquals("tabIndexLink",20,vtabIndex); - -} - - - - -function runTest() { - button06(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button07.js deleted file mode 100644 index e619d04..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button07.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/button07"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "button"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -The type of button -The value of attribute type of the button element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-27430092 -*/ -function button07() { - var success; - if(checkInitialization(builder, "button07") != null) return; - var nodeList; - var testNode; - var vtype; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "button"); - nodeList = doc.getElementsByTagName("button"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vtype = testNode.type; - - assertEquals("typeLink","reset",vtype); - -} - - - - -function runTest() { - button07(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button08.js deleted file mode 100644 index 24062ed..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button08.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/button08"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "button"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -The control is unavailable in this context. -The boolean value of attribute disabled of the button element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-92757155 -*/ -function button08() { - var success; - if(checkInitialization(builder, "button08") != null) return; - var nodeList; - var testNode; - var vdisabled; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "button"); - nodeList = doc.getElementsByTagName("button"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vdisabled = testNode.disabled; - - assertTrue("disabledLink",vdisabled); - -} - - - - -function runTest() { - button08(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button09.js deleted file mode 100644 index 4db3697..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button09.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/button09"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "button"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -The current form control value. -The value of attribute value of the button element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-72856782 -*/ -function button09() { - var success; - if(checkInitialization(builder, "button09") != null) return; - var nodeList; - var testNode; - var vvalue; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "button"); - nodeList = doc.getElementsByTagName("button"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vvalue = testNode.value; - - assertEquals("typeLink","Reset Disabled Button",vvalue); - -} - - - - -function runTest() { - button09(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/doc01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/doc01.js deleted file mode 100644 index 4565ccf..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/doc01.js +++ /dev/null @@ -1,106 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/doc01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "anchor"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Retrieve the title attribute of HTMLDocument and examine it's value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-18446827 -*/ -function doc01() { - var success; - if(checkInitialization(builder, "doc01") != null) return; - var vtitle; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "anchor"); - vtitle = doc.title; - - assertEquals("titleLink","NIST DOM HTML Test - Anchor",vtitle); - -} - - - - -function runTest() { - doc01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/.cvsignore b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/.cvsignore deleted file mode 100644 index 30d6772..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/.cvsignore +++ /dev/null @@ -1,6 +0,0 @@ -xhtml1-frameset.dtd -xhtml1-strict.dtd -xhtml1-transitional.dtd -xhtml-lat1.ent -xhtml-special.ent -xhtml-symbol.ent diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/HTMLDocument04.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/HTMLDocument04.html deleted file mode 100644 index 6e56eac..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/HTMLDocument04.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - -NIST DOM HTML Test - DOCUMENT - - -
    -

    - - - -

    -
    -

    - -Domain -Domain - -

    -

    -DTS IMAGE LOGO -

    -

    - - - - - - -

    -

    -View Submit Button -

    - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/anchor.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/anchor.html deleted file mode 100644 index 952e8d9..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/anchor.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - -NIST DOM HTML Test - Anchor - - -

    -View Submit Button -

    - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/anchor2.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/anchor2.html deleted file mode 100644 index 1b04fb9..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/anchor2.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - -NIST DOM HTML Test - Anchor - - -

    -View Submit Button -

    - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/applet.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/applet.html deleted file mode 100644 index d721cf1..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/applet.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - -NIST DOM HTML Test - Applet - - -

    - -

    - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/applet2.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/applet2.html deleted file mode 100644 index 0379ed1..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/applet2.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - -NIST DOM HTML Test - Applet - - -

    - -

    - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/area.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/area.html deleted file mode 100644 index dddff68..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/area.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - -NIST DOM HTML Test - Area - - -

    - -Domain - -

    - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/area2.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/area2.html deleted file mode 100644 index f1ae081..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/area2.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - -NIST DOM HTML Test - Area - - -

    - -Domain - -

    - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/base.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/base.html deleted file mode 100644 index 53d151d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/base.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - - -NIST DOM HTML Test - Base - - -

    Some Text

    - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/base2.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/base2.html deleted file mode 100644 index c9e0d1a..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/base2.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -NIST DOM HTML Test - Base2 - - - - - - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/basefont.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/basefont.html deleted file mode 100644 index e3753f7..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/basefont.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - -NIST DOM HTML Test - BaseFont - - -

    - -

    - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/body.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/body.html deleted file mode 100644 index 6468cd0..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/body.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - -NIST DOM HTML Test - Body - - -

    Hello, World

    - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/br.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/br.html deleted file mode 100644 index 0a3a3d4..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/br.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - -NIST DOM HTML Test - BR - - -

    -
    -

    - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/button.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/button.html deleted file mode 100644 index c891ba4..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/button.html +++ /dev/null @@ -1,21 +0,0 @@ - - - - -NIST DOM HTML Test - Button - - -
    -

    - -

    -
    - - - - -
    - -
    - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/collection.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/collection.html deleted file mode 100644 index 885202d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/collection.html +++ /dev/null @@ -1,79 +0,0 @@ - - - - -NIST DOM HTML Test - SELECT - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Table Caption
    Employee IdEmployee NamePositionSalaryGenderAddress
    next page ...next page ...next page ...next page ...next page ...next page ...
    EMP0001Margaret MartinAccountant56,000Female1230 North Ave. Dallas, Texas 98551
    EMP0002Martha RaynoldsSecretary35,000Female1900 Dallas Road Dallas, Texas 98554
    -
    -

    - -

    -
    -

    - -

    -

    - -

    - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/directory.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/directory.html deleted file mode 100644 index 0e2f460..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/directory.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - -NIST DOM HTML Test - Directory - - - -
  • DIR item number 1.
  • -
  • DIR item number 2.
  • -
  • DIR item number 3.
  • -
    - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/div.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/div.html deleted file mode 100644 index 6b83646..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/div.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - -NIST DOM HTML Test - DIV - - -
    The DIV element is a generic block container. This text should be centered.
    - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/dl.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/dl.html deleted file mode 100644 index 5dec3af..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/dl.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - -NIST DOM HTML Test - DL - - -
    -
    Accountant
    -
    56,000
    -
    Female
    -
    1230 North Ave. Dallas, Texas 98551
    -
    - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/document.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/document.html deleted file mode 100644 index 9cd9c8a..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/document.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - -NIST DOM HTML Test - DOCUMENT - - -
    -

    - - - -

    -
    -

    - -Domain -Domain - -

    -

    -DTS IMAGE LOGO -

    -

    - - - - - - -

    -

    -View Submit Button -

    - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/element.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/element.html deleted file mode 100644 index a0c198e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/element.html +++ /dev/null @@ -1,81 +0,0 @@ - - - - -NIST DOM HTML Test - Element - - -
    - -
    -
    -

    Test Lists

    -
    -
    -
      -
    1. EMP0001 -
        -
      • Margaret Martin -
        -
        Accountant
        -
        56,000
        -
        Female
        -
        1230 North Ave. Dallas, Texas 98551
        -
        -
      • -
      -
    2. -
    -
    -Bold -
    -
    -
    DT element
    -
    -
    -Bidirectional algorithm overide - -
    -Italicized -
    - -
    -Teletype -
    -Subscript -
    -SuperScript -
    -Strike Through (S) -
    -Strike Through (STRIKE) -
    -Small -
    -Big -
    -Emphasis -
    -Strong -
    - - 10 Computer Code Fragment 20 Temp = 10 - Temp = 20 - *2 - Temp - Citation - -
    -Temp -
    -NIST -
    -
    Gaithersburg, MD 20899
    -
    -Not -
    - -
    -Underlined - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/fieldset.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/fieldset.html deleted file mode 100644 index 312ea44..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/fieldset.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - -NIST DOM HTML Test - FieldSet - - -
    -
    -All data entered must be valid -
    -
    - - - - -
    -
    -All data entered must be valid -
    -
    - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/font.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/font.html deleted file mode 100644 index 894e442..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/font.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - -NIST DOM HTML Test - Font - - -Test Tables - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/form.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/form.html deleted file mode 100644 index d8bf024..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/form.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - -NIST DOM HTML Test - FORM - - -
    -

    - - - -

    -
    - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/form2.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/form2.html deleted file mode 100644 index c44b672..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/form2.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - -NIST DOM HTML Test - FORM - - -
    -

    - - - -

    -
    - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/form3.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/form3.html deleted file mode 100644 index 543d09e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/form3.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - -FORM3 - - -
    -

    - - - -

    -
    - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/frame.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/frame.html deleted file mode 100644 index 41182c9..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/frame.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - -NIST DOM HTML Test - FRAME - - - - - - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/frameset.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/frameset.html deleted file mode 100644 index f208fe0..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/frameset.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - -NIST DOM HTML Test - FRAMESET - - - - - - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/head.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/head.html deleted file mode 100644 index 5bbb8c0..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/head.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - -NIST DOM HTML Test - HEAD - - -

    Hello, World.

    - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/heading.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/heading.html deleted file mode 100644 index 90d388c..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/heading.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - -NIST DOM HTML Test - HEADING - - -

    Head Element 1

    -

    Head Element 2

    -

    Head Element 3

    -

    Head Element 4

    -
    Head Element 5
    -
    Head Element 6
    - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/hr.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/hr.html deleted file mode 100644 index 9c4facc..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/hr.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - -NIST DOM HTML Test - HR - - -
    - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/html.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/html.html deleted file mode 100644 index 2c91731..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/html.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - -NIST DOM HTML Test - Html - - -

    Hello, World.

    - - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/iframe.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/iframe.html deleted file mode 100644 index 0a44fc3..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/iframe.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - -NIST DOM HTML Test - IFRAME - - - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/img.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/img.html deleted file mode 100644 index b4e8b27..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/img.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - -NIST DOM HTML Test - IMG - - -

    -DTS IMAGE LOGO -

    - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/input.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/input.html deleted file mode 100644 index c36e87d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/input.html +++ /dev/null @@ -1,60 +0,0 @@ - - - - -NIST DOM HTML Test - INPUT - - - - - - -
    Under a FORM control -
    - - - - - - - - - - - - - - - - - - - - - -
    - - - -
    -ReHire -
    -NewHire -
    Hours available to work -EarlyMornings -
    -Afternoon -
    -Evenings -
    -Closing -
    -
    - -
    - -
    -
    -
    - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/isindex.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/isindex.html deleted file mode 100644 index 0fd50ce..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/isindex.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - -NIST DOM HTML Test - ISINDEX - - -
    - - - - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/label.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/label.html deleted file mode 100644 index d0abc04..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/label.html +++ /dev/null @@ -1,21 +0,0 @@ - - - - -NIST DOM HTML Test - LABEL - - -
    -

    - - -

    -
    -

    - - -

    - - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/legend.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/legend.html deleted file mode 100644 index 53160ee..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/legend.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - -NIST DOM HTML Test - LEGEND - - -
    -
    -Enter Password1: - -
    -
    -
    -Enter Password2: - -
    - - - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/li.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/li.html deleted file mode 100644 index 0c97b4c..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/li.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - -NIST DOM HTML Test - LI - - -
      -
    1. EMP0001 -
        -
      • Margaret Martin -
        -
        Accountant
        -
        56,000
        -
        Female
        -
        -
      • -
      -
    2. -
    - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/link.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/link.html deleted file mode 100644 index 2d4c082..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/link.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - -NIST DOM HTML Test - LINK - - - - -

    -
    -

    - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/link2.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/link2.html deleted file mode 100644 index 12fac9d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/link2.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - -NIST DOM HTML Test - LINK - - - - -

    -
    -

    - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/map.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/map.html deleted file mode 100644 index a636fa5..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/map.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - -NIST DOM HTML Test - MAP - - -

    - -Domain1 -Domain2 -Domain3 - -

    - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/menu.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/menu.html deleted file mode 100644 index e07204f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/menu.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - -NIST DOM HTML Test - MENU - - - -
  • Interview
  • -
  • Paperwork
  • -
  • Give start date
  • -
    - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/meta.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/meta.html deleted file mode 100644 index e88fe8f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/meta.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - -NIST DOM HTML Test - META - - -

    -
    -

    - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/mod.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/mod.html deleted file mode 100644 index 1ab7969..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/mod.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - -NIST DOM HTML Test - MOD - - -

    -The INS element is used to indicate that a section of a document had been inserted. -
    -The DEL element is used to indicate that a section of a document had been removed. -

    - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/object.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/object.html deleted file mode 100644 index 7960549..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/object.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - -NIST DOM HTML Test - OBJECT - - -

    - -

    -
    -

    - -

    -
    - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/object2.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/object2.html deleted file mode 100644 index 0a39363..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/object2.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - -NIST DOM HTML Test - OBJECT - - -

    - -

    -
    -

    - -

    -
    - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/olist.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/olist.html deleted file mode 100644 index f69c9de..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/olist.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - -NIST DOM HTML Test - OLIST - - -
      -
    1. EMP0001 -
        -
      • Margaret Martin -
        -
        Accountant
        -
        56,000
        -
        -
      • -
      -
    2. -
    3. EMP0002 -
        -
      • Martha Raynolds -
        -
        Secretary
        -
        35,000
        -
        -
      • -
      -
    4. -
    - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/optgroup.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/optgroup.html deleted file mode 100644 index a354af8..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/optgroup.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - -NIST DOM HTML Test - OPTGROUP - - -
    -

    - -

    -
    - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/option.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/option.html deleted file mode 100644 index 83707c3..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/option.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - -NIST DOM HTML Test - OPTION - - -
    -

    - -

    -
    -

    - -

    - - - - - - - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/paragraph.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/paragraph.html deleted file mode 100644 index 0da4836..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/paragraph.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - -NIST DOM HTML Test - PARAGRAPH - - -

    -TEXT -

    - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/param.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/param.html deleted file mode 100644 index 290e626..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/param.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - -NIST DOM HTML Test - PARAM - - -

    - - - -

    - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/pre.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/pre.html deleted file mode 100644 index 2a40206..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/pre.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - -NIST DOM HTML Test - PRE - - -
    The PRE is used to indicate pre-formatted text.  Visual agents may:
    -
    -                leave white space intact.
    -                May render text with a fixed-pitch font.
    -                May disable automatic word wrap.
    -                Must not disable bidirectional processing.
    -
    - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/quote.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/quote.html deleted file mode 100644 index 6bad2b8..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/quote.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - -NIST DOM HTML Test - QUOTE - - -

    -The Q element is intended for short quotations -

    -
    -

    The BLOCKQUOTE element is used for long quotations.

    -
    - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/script.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/script.html deleted file mode 100644 index 362860b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/script.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - -NIST DOM HTML Test - SCRIPT - - - - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/select.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/select.html deleted file mode 100644 index 7820624..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/select.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - -NIST DOM HTML Test - SELECT - - -
    -

    - -

    -
    -

    - -

    -

    - -

    - - - - - - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/style.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/style.html deleted file mode 100644 index c3df424..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/style.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - -NIST DOM HTML Test - STYLE - - -

    Hello, World.

    - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/table.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/table.html deleted file mode 100644 index b8f151e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/table.html +++ /dev/null @@ -1,78 +0,0 @@ - - - - -NIST DOM HTML Test - TABLE - - - - - - - - - -
    IdNamePositionSalary
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Table Caption
    Employee IdEmployee NamePositionSalaryGenderAddress
    next page ...next page ...next page ...next page ...next page ...next page ...
    EMP0001Margaret MartinAccountant56,000Female1230 North Ave. Dallas, Texas 98551
    EMP0002Martha RaynoldsSecretary35,000Female1900 Dallas Road Dallas, Texas 98554
    - - - - - - - - - - - - - - - - -
    -
    -
    -
    - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/table1.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/table1.html deleted file mode 100644 index 8f5d19b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/table1.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - -NIST DOM HTML Test - TABLE - - - - -
    HTML can't abide empty table
    - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablecaption.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablecaption.html deleted file mode 100644 index f9181c7..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablecaption.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - -NIST DOM HTML Test - TABLECAPTION - - - - - - - - - - -
    CAPTION 1
    Employee IdEmployee NamePositionSalary
    - - - - - - - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablecell.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablecell.html deleted file mode 100644 index c9adef2..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablecell.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - -NIST DOM HTML Test - TABLECELL - - - - - - - - - - - - - - - -
    Employee IdEmployee NamePositionSalary
    EMP0001Margaret MartinAccountant56,000
    - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablecol.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablecol.html deleted file mode 100644 index c72a948..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablecol.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - -NIST DOM HTML Test - TABLECOL - - - --- - - - - - - - - - - - - -
    IdNamePositionSalary
    EMP0001MartinAccountant56,000
    - - - - - - - - - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablerow.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablerow.html deleted file mode 100644 index 9e76a4c..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablerow.html +++ /dev/null @@ -1,59 +0,0 @@ - - - - -NIST DOM HTML Test - TABLEROW - - - - - - - - - -
    IdNamePositionSalary
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Table Caption
    Employee IdEmployee NamePositionSalaryGenderAddress
    next page ...next page ...next page ...next page ...next page ...next page ...
    EMP0001Margaret MartinAccountant56,000Female1230 North Ave. Dallas, Texas 98551
    EMP0002Martha RaynoldsSecretary35,000Female1900 Dallas Road Dallas, Texas 98554
    - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablesection.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablesection.html deleted file mode 100644 index 0c1a5f7..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablesection.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - -NIST DOM HTML Test - TABLESECTION - - - - - - - - - - - -
    IdNamePositionSalary
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Table Caption
    Employee IdEmployee NamePositionSalaryGenderAddress
    next page ...next page ...next page ...next page ...next page ...next page ...
    EMP0001Margaret MartinAccountant56,000Female1230 North Ave. Dallas, Texas 98551
    EMP0002Martha RaynoldsSecretary35,000Female1900 Dallas Road Dallas, Texas 98554
    - - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/textarea.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/textarea.html deleted file mode 100644 index b9aedc4..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/textarea.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - -NIST DOM HTML Test - TEXTAREA - - -
    -

    - - - -

    -
    -

    - - - - - - -

    - - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/title.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/title.html deleted file mode 100644 index 2078ee9..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/title.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - -NIST DOM HTML Test - TITLE - - -

    -
    -

    - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/ulist.html b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/ulist.html deleted file mode 100644 index 75498e2..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/ulist.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - -NIST DOM HTML Test - ULIST - - -
      -
    1. EMP0001 -
        -
      • Margaret Martin -
        -
        Accountant
        -
        56,000
        -
        Female
        -
        1230 North Ave. Dallas, Texas 98551
        -
        -
      • -
      -
    2. -
    3. EMP0002 -
        -
      • Martha Raynolds -
        -
        Secretary
        -
        35,000
        -
        Female
        -
        1900 Dallas Road. Dallas, Texas 98554
        -
        -
      • -
      -
    4. -
    - - - diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/hasFeature01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/hasFeature01.js deleted file mode 100644 index d717032..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/hasFeature01.js +++ /dev/null @@ -1,96 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/hasFeature01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - if (docsLoaded == 0) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 0) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -hasFeature("hTmL", null) should return true. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-5CED94D7 -*/ -function hasFeature01() { - var success; - if(checkInitialization(builder, "hasFeature01") != null) return; - var doc; - var domImpl; - var version = null; - - var state; - domImpl = getImplementation(); -state = domImpl.hasFeature("hTmL",version); -assertTrue("hasHTMLnull",state); - -} - - - - -function runTest() { - hasFeature01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument02.js deleted file mode 100644 index 4d3d8e5..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument02.js +++ /dev/null @@ -1,111 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "document"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The referrer attribute returns the URI of the page that linked to this - page. - - Retrieve the referrer attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95229140 -*/ -function HTMLDocument02() { - var success; - if(checkInitialization(builder, "HTMLDocument02") != null) return; - var nodeList; - var testNode; - var vreferrer; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "document"); - vreferrer = doc.referrer; - - assertEquals("referrerLink","",vreferrer); - -} - - - - -function runTest() { - HTMLDocument02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument03.js deleted file mode 100644 index 884dd1a..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument03.js +++ /dev/null @@ -1,111 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument03"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "document"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The domain attribute specifies the domain name of the server that served - the document, or null if the server cannot be identified by a domain name. - - Retrieve the domain attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-2250147 -*/ -function HTMLDocument03() { - var success; - if(checkInitialization(builder, "HTMLDocument03") != null) return; - var nodeList; - var testNode; - var vdomain; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "document"); - vdomain = doc.domain; - - assertEquals("domainLink","",vdomain); - -} - - - - -function runTest() { - HTMLDocument03(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument04.js deleted file mode 100644 index c8c7669..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument04.js +++ /dev/null @@ -1,110 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument04"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "HTMLDocument04"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The URL attribute specifies the absolute URI of the document. - - Retrieve the URL attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-46183437 -*/ -function HTMLDocument04() { - var success; - if(checkInitialization(builder, "HTMLDocument04") != null) return; - var nodeList; - var testNode; - var vurl; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "HTMLDocument04"); - vurl = doc.URL; - - assertURIEquals("URLLink",null,null,null,null,"HTMLDocument04",null,null,true,vurl); - -} - - - - -function runTest() { - HTMLDocument04(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument07.js deleted file mode 100644 index 4223896..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument07.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument07"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "document"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The images attribute returns a collection of all IMG elements in a document. - - Retrieve the images attribute from the document and examine its value. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-90379117 -*/ -function HTMLDocument07() { - var success; - if(checkInitialization(builder, "HTMLDocument07") != null) return; - var nodeList; - var testNode; - var vimages; - var vlength; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "document"); - vimages = doc.images; - - vlength = vimages.length; - - assertEquals("lengthLink",1,vlength); - -} - - - - -function runTest() { - HTMLDocument07(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument09.js deleted file mode 100644 index bea426e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument09.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument09"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "document"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The links attribute returns a collection of all AREA and A elements - in a document with a value for the href attribute. - - Retrieve the links attribute from the document and examine its value. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-7068919 -*/ -function HTMLDocument09() { - var success; - if(checkInitialization(builder, "HTMLDocument09") != null) return; - var nodeList; - var testNode; - var vlinks; - var vlength; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "document"); - vlinks = doc.links; - - vlength = vlinks.length; - - assertEquals("lengthLink",3,vlength); - -} - - - - -function runTest() { - HTMLDocument09(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument10.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument10.js deleted file mode 100644 index 0595c99..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument10.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument10"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "document"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The forms attribute returns a collection of all the forms in a document. - - Retrieve the forms attribute from the document and examine its value. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-1689064 -*/ -function HTMLDocument10() { - var success; - if(checkInitialization(builder, "HTMLDocument10") != null) return; - var nodeList; - var testNode; - var vforms; - var vlength; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "document"); - vforms = doc.forms; - - vlength = vforms.length; - - assertEquals("lengthLink",1,vlength); - -} - - - - -function runTest() { - HTMLDocument10(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument12.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument12.js deleted file mode 100644 index 9be7e7b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument12.js +++ /dev/null @@ -1,109 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument12"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "document"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The cookie attribute returns the cookies associated with this document. - - Retrieve the cookie attribute and examine its value. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-8747038 -*/ -function HTMLDocument12() { - var success; - if(checkInitialization(builder, "HTMLDocument12") != null) return; - var nodeList; - var vcookie; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "document"); - vcookie = doc.cookie; - - assertEquals("cookieLink","",vcookie); - -} - - - - -function runTest() { - HTMLDocument12(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement01.js deleted file mode 100644 index 11aefe8..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement01.js +++ /dev/null @@ -1,117 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFormElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "form"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The elements attribute specifies a collection of all control element - in the form. - - Retrieve the elements attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76728479 -*/ -function HTMLFormElement01() { - var success; - if(checkInitialization(builder, "HTMLFormElement01") != null) return; - var nodeList; - var elementnodeList; - var testNode; - var velements; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "form"); - nodeList = doc.getElementsByTagName("form"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - elementnodeList = testNode.elements; - - velements = elementnodeList.length; - - assertEquals("elementsLink",3,velements); - -} - - - - -function runTest() { - HTMLFormElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement09.js deleted file mode 100644 index 07c97ae..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement09.js +++ /dev/null @@ -1,107 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFormElement09"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "form2"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -HTMLFormElement.reset restores the forms default values. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76767677 -*/ -function HTMLFormElement09() { - var success; - if(checkInitialization(builder, "HTMLFormElement09") != null) return; - var nodeList; - var testNode; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "form2"); - nodeList = doc.getElementsByTagName("form"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - testNode.reset(); - -} - - - - -function runTest() { - HTMLFormElement09(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement10.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement10.js deleted file mode 100644 index fd8a2a1..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement10.js +++ /dev/null @@ -1,107 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFormElement10"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "form3"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -HTMLFormElement.submit submits the form. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76767676 -*/ -function HTMLFormElement10() { - var success; - if(checkInitialization(builder, "HTMLFormElement10") != null) return; - var nodeList; - var testNode; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "form3"); - nodeList = doc.getElementsByTagName("form"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - testNode.submit(); - -} - - - - -function runTest() { - HTMLFormElement10(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement19.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement19.js deleted file mode 100644 index 5141acf..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement19.js +++ /dev/null @@ -1,107 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement19"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "input"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -HTMLInputElement.blur should surrender input focus. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-26838235 -*/ -function HTMLInputElement19() { - var success; - if(checkInitialization(builder, "HTMLInputElement19") != null) return; - var nodeList; - var testNode; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "input"); - nodeList = doc.getElementsByTagName("input"); - assertSize("Asize",9,nodeList); -testNode = nodeList.item(1); - testNode.blur(); - -} - - - - -function runTest() { - HTMLInputElement19(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement20.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement20.js deleted file mode 100644 index aac64e9..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement20.js +++ /dev/null @@ -1,107 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement20"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "input"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -HTMLInputElement.focus should capture input focus. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-65996295 -*/ -function HTMLInputElement20() { - var success; - if(checkInitialization(builder, "HTMLInputElement20") != null) return; - var nodeList; - var testNode; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "input"); - nodeList = doc.getElementsByTagName("input"); - assertSize("Asize",9,nodeList); -testNode = nodeList.item(1); - testNode.focus(); - -} - - - - -function runTest() { - HTMLInputElement20(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement22.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement22.js deleted file mode 100644 index a1ce02e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement22.js +++ /dev/null @@ -1,108 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement22"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "input"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -HTMLInputElement.select should select the contents of a text area. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-34677168 -*/ -function HTMLInputElement22() { - var success; - if(checkInitialization(builder, "HTMLInputElement22") != null) return; - var nodeList; - var testNode; - var doc; - var checked; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "input"); - nodeList = doc.getElementsByTagName("input"); - assertSize("Asize",9,nodeList); -testNode = nodeList.item(0); - testNode.select(); - -} - - - - -function runTest() { - HTMLInputElement22(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement01.js deleted file mode 100644 index 925bfca..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement01.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "select"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The type attribute is the string "select-multiple" when multiple - attribute is true. - - Retrieve the type attribute from the first SELECT element and - examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-58783172 -*/ -function HTMLSelectElement01() { - var success; - if(checkInitialization(builder, "HTMLSelectElement01") != null) return; - var nodeList; - var testNode; - var vtype; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "select"); - nodeList = doc.getElementsByTagName("select"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(0); - vtype = testNode.type; - - assertEquals("typeLink","select-multiple",vtype); - -} - - - - -function runTest() { - HTMLSelectElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement02.js deleted file mode 100644 index cf4665b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement02.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "select"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The selectedIndex attribute specifies the ordinal index of the selected - option. - - Retrieve the selectedIndex attribute from the first SELECT element and - examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-85676760 -*/ -function HTMLSelectElement02() { - var success; - if(checkInitialization(builder, "HTMLSelectElement02") != null) return; - var nodeList; - var testNode; - var vselectedindex; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "select"); - nodeList = doc.getElementsByTagName("select"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(0); - vselectedindex = testNode.selectedIndex; - - assertEquals("selectedIndexLink",0,vselectedindex); - -} - - - - -function runTest() { - HTMLSelectElement02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement04.js deleted file mode 100644 index 149ee9c..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement04.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement04"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "select"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The value attribute specifies the current form control value. - - Retrieve the value attribute from the first SELECT element and - examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59351919 -*/ -function HTMLSelectElement04() { - var success; - if(checkInitialization(builder, "HTMLSelectElement04") != null) return; - var nodeList; - var testNode; - var vvalue; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "select"); - nodeList = doc.getElementsByTagName("select"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(0); - vvalue = testNode.value; - - assertEquals("valueLink","EMP1",vvalue); - -} - - - - -function runTest() { - HTMLSelectElement04(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement05.js deleted file mode 100644 index 0ad9c9d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement05.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement05"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "select"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The length attribute specifies the number of options in this select. - - Retrieve the length attribute from the first SELECT element and - examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-5933486 -*/ -function HTMLSelectElement05() { - var success; - if(checkInitialization(builder, "HTMLSelectElement05") != null) return; - var nodeList; - var testNode; - var vlength; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "select"); - nodeList = doc.getElementsByTagName("select"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(0); - vlength = testNode.length; - - assertEquals("lengthLink",5,vlength); - -} - - - - -function runTest() { - HTMLSelectElement05(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement14.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement14.js deleted file mode 100644 index c41c697..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement14.js +++ /dev/null @@ -1,107 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement14"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "select"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -focus should give the select element input focus. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-32130014 -*/ -function HTMLSelectElement14() { - var success; - if(checkInitialization(builder, "HTMLSelectElement14") != null) return; - var nodeList; - var testNode; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "select"); - nodeList = doc.getElementsByTagName("select"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(0); - testNode.focus(); - -} - - - - -function runTest() { - HTMLSelectElement14(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement15.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement15.js deleted file mode 100644 index 43bd641..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement15.js +++ /dev/null @@ -1,107 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement15"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "select"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -blur should surrender input focus. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-28216144 -*/ -function HTMLSelectElement15() { - var success; - if(checkInitialization(builder, "HTMLSelectElement15") != null) return; - var nodeList; - var testNode; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "select"); - nodeList = doc.getElementsByTagName("select"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(0); - testNode.blur(); - -} - - - - -function runTest() { - HTMLSelectElement15(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement16.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement16.js deleted file mode 100644 index e7175a2..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement16.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement16"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "select"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Removes an option using HTMLSelectElement.remove. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33404570 -*/ -function HTMLSelectElement16() { - var success; - if(checkInitialization(builder, "HTMLSelectElement16") != null) return; - var nodeList; - var testNode; - var doc; - var optLength; - var selected; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "select"); - nodeList = doc.getElementsByTagName("select"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(0); - testNode.remove(0); - optLength = testNode.length; - - assertEquals("optLength",4,optLength); - selected = testNode.selectedIndex; - - assertEquals("selected",-1,selected); - -} - - - - -function runTest() { - HTMLSelectElement16(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement17.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement17.js deleted file mode 100644 index 4f8a99f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement17.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement17"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "select"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Removes a non-existant option using HTMLSelectElement.remove. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33404570 -*/ -function HTMLSelectElement17() { - var success; - if(checkInitialization(builder, "HTMLSelectElement17") != null) return; - var nodeList; - var testNode; - var doc; - var optLength; - var selected; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "select"); - nodeList = doc.getElementsByTagName("select"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(0); - testNode.remove(6); - optLength = testNode.length; - - assertEquals("optLength",5,optLength); - selected = testNode.selectedIndex; - - assertEquals("selected",0,selected); - -} - - - - -function runTest() { - HTMLSelectElement17(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement18.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement18.js deleted file mode 100644 index 74d793c..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement18.js +++ /dev/null @@ -1,133 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement18"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "select"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Add a new option at the end of an select using HTMLSelectElement.add. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14493106 -*/ -function HTMLSelectElement18() { - var success; - if(checkInitialization(builder, "HTMLSelectElement18") != null) return; - var nodeList; - var testNode; - var doc; - var optLength; - var selected; - var newOpt; - var newOptText; - var opt; - var optText; - var optValue; - var retNode; - var nullNode = null; - - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "select"); - nodeList = doc.getElementsByTagName("select"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(0); - newOpt = doc.createElement("option"); - newOptText = doc.createTextNode("EMP31415"); - retNode = newOpt.appendChild(newOptText); - testNode.add(newOpt,nullNode); - optLength = testNode.length; - - assertEquals("optLength",6,optLength); - selected = testNode.selectedIndex; - - assertEquals("selected",0,selected); - opt = testNode.lastChild; - - optText = opt.firstChild; - - optValue = optText.nodeValue; - - assertEquals("lastValue","EMP31415",optValue); - -} - - - - -function runTest() { - HTMLSelectElement18(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement19.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement19.js deleted file mode 100644 index 8e4dcc1..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement19.js +++ /dev/null @@ -1,137 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement19"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "select"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Add a new option before the selected node using HTMLSelectElement.add. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14493106 -*/ -function HTMLSelectElement19() { - var success; - if(checkInitialization(builder, "HTMLSelectElement19") != null) return; - var nodeList; - var testNode; - var doc; - var optLength; - var selected; - var newOpt; - var newOptText; - var opt; - var optText; - var optValue; - var retNode; - var options; - var selectedNode; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "select"); - nodeList = doc.getElementsByTagName("select"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(0); - newOpt = doc.createElement("option"); - newOptText = doc.createTextNode("EMP31415"); - retNode = newOpt.appendChild(newOptText); - options = testNode.options; - - selectedNode = options.item(0); - testNode.add(newOpt,selectedNode); - optLength = testNode.length; - - assertEquals("optLength",6,optLength); - selected = testNode.selectedIndex; - - assertEquals("selected",1,selected); - options = testNode.options; - - opt = options.item(0); - optText = opt.firstChild; - - optValue = optText.nodeValue; - - assertEquals("lastValue","EMP31415",optValue); - -} - - - - -function runTest() { - HTMLSelectElement19(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement08.js deleted file mode 100644 index 4105582..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement08.js +++ /dev/null @@ -1,129 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement08"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The tBodies attribute returns a collection of all the defined - table bodies. - - Retrieve the tBodies attribute from the second TABLE element and - examine the items of the returned collection. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63206416 -*/ -function HTMLTableElement08() { - var success; - if(checkInitialization(builder, "HTMLTableElement08") != null) return; - var nodeList; - var tbodiesnodeList; - var testNode; - var doc; - var tbodiesName; - var vtbodies; - var result = new Array(); - - expectedOptions = new Array(); - expectedOptions[0] = "tbody"; - - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(1); - tbodiesnodeList = testNode.tBodies; - - for(var indexN65632 = 0;indexN65632 < tbodiesnodeList.length; indexN65632++) { - vtbodies = tbodiesnodeList.item(indexN65632); - tbodiesName = vtbodies.nodeName; - - result[result.length] = tbodiesName; - - } - assertEqualsListAutoCase("element", "tbodiesLink",expectedOptions,result); - -} - - - - -function runTest() { - HTMLTableElement08(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement09.js deleted file mode 100644 index 83a420a..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement09.js +++ /dev/null @@ -1,132 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement09"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The tBodies attribute returns a collection of all the defined - table bodies. - - Retrieve the tBodies attribute from the third TABLE element and - examine the items of the returned collection. Tests multiple TBODY - elements. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63206416 -*/ -function HTMLTableElement09() { - var success; - if(checkInitialization(builder, "HTMLTableElement09") != null) return; - var nodeList; - var tbodiesnodeList; - var testNode; - var doc; - var tbodiesName; - var vtbodies; - var result = new Array(); - - expectedOptions = new Array(); - expectedOptions[0] = "tbody"; - expectedOptions[1] = "tbody"; - expectedOptions[2] = "tbody"; - - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(2); - tbodiesnodeList = testNode.tBodies; - - for(var indexN65638 = 0;indexN65638 < tbodiesnodeList.length; indexN65638++) { - vtbodies = tbodiesnodeList.item(indexN65638); - tbodiesName = vtbodies.nodeName; - - result[result.length] = tbodiesName; - - } - assertEqualsListAutoCase("element", "tbodiesLink",expectedOptions,result); - -} - - - - -function runTest() { - HTMLTableElement09(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement19.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement19.js deleted file mode 100644 index e9d5d98..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement19.js +++ /dev/null @@ -1,123 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement19"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The createTHead() method creates a table header row or returns - an existing one. - - Create a new THEAD element on the first TABLE element. The first - TABLE element should return null to make sure one doesn't exist. - After creation of the THEAD element the value is once again - checked and should not be null. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-70313345 -*/ -function HTMLTableElement19() { - var success; - if(checkInitialization(builder, "HTMLTableElement19") != null) return; - var nodeList; - var testNode; - var vsection1; - var vsection2; - var newHead; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(0); - vsection1 = testNode.tHead; - - assertNull("vsection1Id",vsection1); - newHead = testNode.createTHead(); - vsection2 = testNode.tHead; - - assertNotNull("vsection2Id",vsection2); - -} - - - - -function runTest() { - HTMLTableElement19(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement20.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement20.js deleted file mode 100644 index b2aba77..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement20.js +++ /dev/null @@ -1,122 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement20"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The createTHead() method creates a table header row or returns - an existing one. - - Try to create a new THEAD element on the second TABLE element. - Since a THEAD element already exists in the TABLE element a new - THEAD element is not created and information from the already - existing THEAD element is returned. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-70313345 -*/ -function HTMLTableElement20() { - var success; - if(checkInitialization(builder, "HTMLTableElement20") != null) return; - var nodeList; - var testNode; - var vsection; - var newHead; - var valign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(1); - newHead = testNode.createTHead(); - vsection = testNode.tHead; - - valign = vsection.align; - - assertEquals("alignLink","center",valign); - -} - - - - -function runTest() { - HTMLTableElement20(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement21.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement21.js deleted file mode 100644 index 2c3145b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement21.js +++ /dev/null @@ -1,139 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement21"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The deleteTHead() method deletes the header from the table. - - The deleteTHead() method will delete the THEAD Element from the - second TABLE element. First make sure that the THEAD element exists - and then count the number of rows. After the THEAD element is - deleted there should be one less row. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-38310198 -*/ -function HTMLTableElement21() { - var success; - if(checkInitialization(builder, "HTMLTableElement21") != null) return; - var nodeList; - var rowsnodeList; - var testNode; - var vsection1; - var vsection2; - var vrows; - var doc; - var result = new Array(); - - expectedResult = new Array(); - expectedResult[0] = 4; - expectedResult[1] = 3; - - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(1); - vsection1 = testNode.tHead; - - assertNotNull("vsection1Id",vsection1); -rowsnodeList = testNode.rows; - - vrows = rowsnodeList.length; - - result[result.length] = vrows; -testNode.deleteTHead(); - vsection2 = testNode.tHead; - - rowsnodeList = testNode.rows; - - vrows = rowsnodeList.length; - - result[result.length] = vrows; -assertEqualsList("rowsLink",expectedResult,result); - -} - - - - -function runTest() { - HTMLTableElement21(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement22.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement22.js deleted file mode 100644 index e725f71..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement22.js +++ /dev/null @@ -1,123 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement22"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The createTFoot() method creates a table footer row or returns - an existing one. - - Create a new TFOOT element on the first TABLE element. The first - TABLE element should return null to make sure one doesn't exist. - After creation of the TFOOT element the value is once again - checked and should not be null. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-8453710 -*/ -function HTMLTableElement22() { - var success; - if(checkInitialization(builder, "HTMLTableElement22") != null) return; - var nodeList; - var testNode; - var vsection1; - var vsection2; - var newFoot; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(0); - vsection1 = testNode.tFoot; - - assertNull("vsection1Id",vsection1); - newFoot = testNode.createTFoot(); - vsection2 = testNode.tFoot; - - assertNotNull("vsection2Id",vsection2); - -} - - - - -function runTest() { - HTMLTableElement22(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement23.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement23.js deleted file mode 100644 index 1e24500..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement23.js +++ /dev/null @@ -1,122 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement23"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The createTFoot() method creates a table footer row or returns - an existing one. - - Try to create a new TFOOT element on the second TABLE element. - Since a TFOOT element already exists in the TABLE element a new - TFOOT element is not created and information from the already - existing TFOOT element is returned. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-8453710 -*/ -function HTMLTableElement23() { - var success; - if(checkInitialization(builder, "HTMLTableElement23") != null) return; - var nodeList; - var testNode; - var vsection; - var newFoot; - var valign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(1); - newFoot = testNode.createTFoot(); - vsection = testNode.tFoot; - - valign = vsection.align; - - assertEquals("alignLink","center",valign); - -} - - - - -function runTest() { - HTMLTableElement23(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement24.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement24.js deleted file mode 100644 index efa614f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement24.js +++ /dev/null @@ -1,139 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement24"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The deleteTFoot() method deletes the footer from the table. - - The deleteTFoot() method will delete the TFOOT Element from the - second TABLE element. First make sure that the TFOOT element exists - and then count the number of rows. After the TFOOT element is - deleted there should be one less row. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78363258 -*/ -function HTMLTableElement24() { - var success; - if(checkInitialization(builder, "HTMLTableElement24") != null) return; - var nodeList; - var rowsnodeList; - var testNode; - var vsection1; - var vsection2; - var vrows; - var doc; - var result = new Array(); - - expectedResult = new Array(); - expectedResult[0] = 4; - expectedResult[1] = 3; - - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(1); - vsection1 = testNode.tFoot; - - assertNotNull("vsection1Id",vsection1); -rowsnodeList = testNode.rows; - - vrows = rowsnodeList.length; - - result[result.length] = vrows; -testNode.deleteTFoot(); - vsection2 = testNode.tFoot; - - rowsnodeList = testNode.rows; - - vrows = rowsnodeList.length; - - result[result.length] = vrows; -assertEqualsList("rowsLink",expectedResult,result); - -} - - - - -function runTest() { - HTMLTableElement24(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement25.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement25.js deleted file mode 100644 index aeaa566..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement25.js +++ /dev/null @@ -1,121 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement25"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The createCaption() method creates a new table caption object or returns - an existing one. - - Create a new CAPTION element on the first TABLE element. Since - one does not currently exist the CAPTION element is created. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96920263 -*/ -function HTMLTableElement25() { - var success; - if(checkInitialization(builder, "HTMLTableElement25") != null) return; - var nodeList; - var testNode; - var vsection1; - var vsection2; - var newCaption; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(0); - vsection1 = testNode.caption; - - assertNull("vsection1Id",vsection1); - newCaption = testNode.createCaption(); - vsection2 = testNode.caption; - - assertNotNull("vsection2Id",vsection2); - -} - - - - -function runTest() { - HTMLTableElement25(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement26.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement26.js deleted file mode 100644 index 358d245..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement26.js +++ /dev/null @@ -1,125 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement26"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The createCaption() method creates a new table caption object or returns - an existing one. - - Create a new CAPTION element on the first TABLE element. Since - one currently exists the CAPTION element is not created and you - can get the align attribute from the CAPTION element that exists. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96920263 -*/ -function HTMLTableElement26() { - var success; - if(checkInitialization(builder, "HTMLTableElement26") != null) return; - var nodeList; - var testNode; - var vsection1; - var vcaption; - var newCaption; - var valign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(1); - vsection1 = testNode.caption; - - assertNotNull("vsection1Id",vsection1); -newCaption = testNode.createCaption(); - vcaption = testNode.caption; - - valign = vcaption.align; - - assertEquals("alignLink","top",valign); - -} - - - - -function runTest() { - HTMLTableElement26(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement27.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement27.js deleted file mode 100644 index 415636a..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement27.js +++ /dev/null @@ -1,119 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement27"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The deleteCaption() method deletes the table caption. - - Delete the CAPTION element on the second TABLE element. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-22930071 -*/ -function HTMLTableElement27() { - var success; - if(checkInitialization(builder, "HTMLTableElement27") != null) return; - var nodeList; - var testNode; - var vsection1; - var vsection2; - var valign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(1); - vsection1 = testNode.caption; - - assertNotNull("vsection1Id",vsection1); -testNode.deleteCaption(); - vsection2 = testNode.caption; - - assertNull("vsection2Id",vsection2); - -} - - - - -function runTest() { - HTMLTableElement27(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement28.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement28.js deleted file mode 100644 index d87b1a9..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement28.js +++ /dev/null @@ -1,133 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement28"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The insertRow() method inserts a new empty table row. - - Retrieve the second TABLE element and invoke the insertRow() method - with an index of 0. Currently the zero indexed row is in the THEAD - section of the TABLE. The number of rows in the THEAD section before - insertion of the new row is one. After the new row is inserted the number - of rows in the THEAD section is two. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39872903 -*/ -function HTMLTableElement28() { - var success; - if(checkInitialization(builder, "HTMLTableElement28") != null) return; - var nodeList; - var testNode; - var newRow; - var rowsnodeList; - var vsection1; - var vsection2; - var vrows; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(1); - vsection1 = testNode.tHead; - - rowsnodeList = vsection1.rows; - - vrows = rowsnodeList.length; - - assertEquals("rowsLink1",1,vrows); - newRow = testNode.insertRow(0); - vsection2 = testNode.tHead; - - rowsnodeList = vsection2.rows; - - vrows = rowsnodeList.length; - - assertEquals("rowsLink2",2,vrows); - -} - - - - -function runTest() { - HTMLTableElement28(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement29.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement29.js deleted file mode 100644 index e681547..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement29.js +++ /dev/null @@ -1,137 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement29"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The insertRow() method inserts a new empty table row. - - Retrieve the second TABLE element and invoke the insertRow() method - with an index of two. Currently the 2nd indexed row is in the TBODY - section of the TABLE. The number of rows in the TBODY section before - insertion of the new row is two. After the new row is inserted the number - of rows in the TBODY section is three. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39872903 -*/ -function HTMLTableElement29() { - var success; - if(checkInitialization(builder, "HTMLTableElement29") != null) return; - var nodeList; - var tbodiesnodeList; - var testNode; - var bodyNode; - var newRow; - var rowsnodeList; - var vsection1; - var vsection2; - var vrows; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(1); - tbodiesnodeList = testNode.tBodies; - - bodyNode = tbodiesnodeList.item(0); - rowsnodeList = bodyNode.rows; - - vrows = rowsnodeList.length; - - assertEquals("rowsLink1",2,vrows); - newRow = testNode.insertRow(2); - tbodiesnodeList = testNode.tBodies; - - bodyNode = tbodiesnodeList.item(0); - rowsnodeList = bodyNode.rows; - - vrows = rowsnodeList.length; - - assertEquals("rowsLink2",3,vrows); - -} - - - - -function runTest() { - HTMLTableElement29(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement30.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement30.js deleted file mode 100644 index 8606249..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement30.js +++ /dev/null @@ -1,144 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement30"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The insertRow() method inserts a new empty table row. - - Retrieve the second TABLE element and invoke the insertRow() method - with an index of four. After the new row is inserted the number of rows - in the table should be five. - Also the number of rows in the TFOOT section before - insertion of the new row is one. After the new row is inserted the number - of rows in the TFOOT section is two. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39872903 -*/ -function HTMLTableElement30() { - var success; - if(checkInitialization(builder, "HTMLTableElement30") != null) return; - var nodeList; - var tbodiesnodeList; - var testNode; - var newRow; - var rowsnodeList; - var vsection1; - var vrows; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(1); - rowsnodeList = testNode.rows; - - vrows = rowsnodeList.length; - - assertEquals("rowsLink1",4,vrows); - vsection1 = testNode.tFoot; - - rowsnodeList = vsection1.rows; - - vrows = rowsnodeList.length; - - assertEquals("rowsLink",1,vrows); - newRow = testNode.insertRow(4); - rowsnodeList = testNode.rows; - - vrows = rowsnodeList.length; - - assertEquals("rowsLink2",5,vrows); - vsection1 = testNode.tFoot; - - rowsnodeList = vsection1.rows; - - vrows = rowsnodeList.length; - - assertEquals("rowsLink3",2,vrows); - -} - - - - -function runTest() { - HTMLTableElement30(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement31.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement31.js deleted file mode 100644 index a8f7a59..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement31.js +++ /dev/null @@ -1,138 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement31"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table1"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The insertRow() method inserts a new empty table row. In addition, when - the table is empty the row is inserted into a TBODY which is created - and inserted into the table. - - Load the table1 file which has a non-empty table element. - Create an empty TABLE element and append to the document. - Check to make sure that the empty TABLE element doesn't - have a TBODY element. Insert a new row into the empty - TABLE element. Check for existence of the a TBODY element - in the table. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39872903 -* @see http://lists.w3.org/Archives/Public/www-dom-ts/2002Aug/0019.html -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=502 -*/ -function HTMLTableElement31() { - var success; - if(checkInitialization(builder, "HTMLTableElement31") != null) return; - var nodeList; - var testNode; - var tableNode; - var tbodiesnodeList; - var newRow; - var doc; - var table; - var tbodiesLength; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table1"); - nodeList = doc.getElementsByTagName("body"); - assertSize("tableSize1",1,nodeList); -testNode = nodeList.item(0); - table = doc.createElement("table"); - tableNode = testNode.appendChild(table); - nodeList = doc.getElementsByTagName("table"); - assertSize("tableSize2",2,nodeList); -tbodiesnodeList = tableNode.tBodies; - - tbodiesLength = tbodiesnodeList.length; - - assertEquals("Asize3",0,tbodiesLength); - newRow = tableNode.insertRow(0); - tbodiesnodeList = tableNode.tBodies; - - tbodiesLength = tbodiesnodeList.length; - - assertEquals("Asize4",1,tbodiesLength); - -} - - - - -function runTest() { - HTMLTableElement31(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement32.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement32.js deleted file mode 100644 index 71c45ad..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement32.js +++ /dev/null @@ -1,125 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement32"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The deleteRow() method deletes a table row. - - Retrieve the second TABLE element and invoke the deleteRow() method - with an index of 0(first row). Currently there are four rows in the - table. After the deleteRow() method is called there should be - three rows in the table. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-13114938 -*/ -function HTMLTableElement32() { - var success; - if(checkInitialization(builder, "HTMLTableElement32") != null) return; - var nodeList; - var testNode; - var rowsnodeList; - var vrows; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(1); - rowsnodeList = testNode.rows; - - vrows = rowsnodeList.length; - - assertEquals("rowsLink1",4,vrows); - testNode.deleteRow(0); - rowsnodeList = testNode.rows; - - vrows = rowsnodeList.length; - - assertEquals("rowsLink2",3,vrows); - -} - - - - -function runTest() { - HTMLTableElement32(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement33.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement33.js deleted file mode 100644 index e839d22..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement33.js +++ /dev/null @@ -1,124 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement33"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The deleteRow() method deletes a table row. - - Retrieve the second TABLE element and invoke the deleteRow() method - with an index of 3(last row). Currently there are four rows in the - table. The deleteRow() method is called and now there should be three. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-13114938 -*/ -function HTMLTableElement33() { - var success; - if(checkInitialization(builder, "HTMLTableElement33") != null) return; - var nodeList; - var testNode; - var rowsnodeList; - var vrows; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(1); - rowsnodeList = testNode.rows; - - vrows = rowsnodeList.length; - - assertEquals("rowsLink1",4,vrows); - testNode.deleteRow(3); - rowsnodeList = testNode.rows; - - vrows = rowsnodeList.length; - - assertEquals("rowsLink2",3,vrows); - -} - - - - -function runTest() { - HTMLTableElement33(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableRowElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableRowElement01.js deleted file mode 100644 index 1e0ea89..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableRowElement01.js +++ /dev/null @@ -1,117 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablerow"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The rowIndex attribute specifies the index of the row, relative to the - entire table, starting from 0. This is in document tree order and - not display order. The rowIndex does not take into account sections - (THEAD, TFOOT, or TBODY) within the table. - - Retrieve the third TR element within the document and examine - its rowIndex value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-67347567 -*/ -function HTMLTableRowElement01() { - var success; - if(checkInitialization(builder, "HTMLTableRowElement01") != null) return; - var nodeList; - var testNode; - var vrowindex; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablerow"); - nodeList = doc.getElementsByTagName("tr"); - assertSize("Asize",5,nodeList); -testNode = nodeList.item(3); - vrowindex = testNode.rowIndex; - - assertEquals("rowIndexLink",1,vrowindex); - -} - - - - -function runTest() { - HTMLTableRowElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement13.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement13.js deleted file mode 100644 index ed45bbb..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement13.js +++ /dev/null @@ -1,107 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement13"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "textarea"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Calling HTMLTextAreaElement.blur should surrender input focus. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6750689 -*/ -function HTMLTextAreaElement13() { - var success; - if(checkInitialization(builder, "HTMLTextAreaElement13") != null) return; - var nodeList; - var testNode; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "textarea"); - nodeList = doc.getElementsByTagName("textarea"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(0); - testNode.blur(); - -} - - - - -function runTest() { - HTMLTextAreaElement13(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement14.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement14.js deleted file mode 100644 index 01e6bab..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement14.js +++ /dev/null @@ -1,107 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement14"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "textarea"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Calling HTMLTextAreaElement.focus should capture input focus. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39055426 -*/ -function HTMLTextAreaElement14() { - var success; - if(checkInitialization(builder, "HTMLTextAreaElement14") != null) return; - var nodeList; - var testNode; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "textarea"); - nodeList = doc.getElementsByTagName("textarea"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(0); - testNode.focus(); - -} - - - - -function runTest() { - HTMLTextAreaElement14(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement15.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement15.js deleted file mode 100644 index d10c2f0..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement15.js +++ /dev/null @@ -1,107 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement15"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "textarea"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Calling HTMLTextAreaElement.select should select the text area. - -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-48880622 -*/ -function HTMLTextAreaElement15() { - var success; - if(checkInitialization(builder, "HTMLTextAreaElement15") != null) return; - var nodeList; - var testNode; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "textarea"); - nodeList = doc.getElementsByTagName("textarea"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(0); - testNode.select(); - -} - - - - -function runTest() { - HTMLTextAreaElement15(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object01.js deleted file mode 100644 index 269c72b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object01.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "object"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Returns the FORM element containing this control. Returns null if this control is not within the context of a form. -The value of attribute form of the object element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-46094773 -*/ -function object01() { - var success; - if(checkInitialization(builder, "object01") != null) return; - var nodeList; - var testNode; - var vform; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "object"); - nodeList = doc.getElementsByTagName("object"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vform = testNode.form; - - assertNull("formLink",vform); - -} - - - - -function runTest() { - object01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object06.js deleted file mode 100644 index 947ee95..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object06.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object06"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "object"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -A URI specifying the location of the object's data. -The value of attribute data of the object element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-81766986 -*/ -function object06() { - var success; - if(checkInitialization(builder, "object06") != null) return; - var nodeList; - var testNode; - var vdata; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "object"); - nodeList = doc.getElementsByTagName("object"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vdata = testNode.data; - - assertEquals("dataLink","./pix/logo.gif",vdata); - -} - - - - -function runTest() { - object06(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object07.js deleted file mode 100644 index 1f28258..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object07.js +++ /dev/null @@ -1,111 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object07"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "object"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -The value of attribute height of the object element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88925838 -*/ -function object07() { - var success; - if(checkInitialization(builder, "object07") != null) return; - var nodeList; - var testNode; - var vheight; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "object"); - nodeList = doc.getElementsByTagName("object"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vheight = testNode.height; - - assertEquals("heightLink","60",vheight); - -} - - - - -function runTest() { - object07(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object08.js deleted file mode 100644 index 1157c1a..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object08.js +++ /dev/null @@ -1,126 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object08"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "object"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Horizontal space to the left and right of this image, applet, or object. -The value of attribute hspace of the object element is read and checked against the expected value. - - This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-17085376 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 -*/ -function object08() { - var success; - if(checkInitialization(builder, "object08") != null) return; - var nodeList; - var testNode; - var vhspace; - var doc; - var domImpl; - var hasHTML2; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "object"); - domImpl = doc.implementation; -hasHTML2 = domImpl.hasFeature("HTML","2.0"); - - if( - - !hasHTML2 - ) { - nodeList = doc.getElementsByTagName("object"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vhspace = testNode.hspace; - - assertEquals("hspaceLink","0",vhspace); - - } - -} - - - - -function runTest() { - object08(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object10.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object10.js deleted file mode 100644 index 6e930b9..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object10.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object10"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "object"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Index that represents the element's position in the tabbing order. -The value of attribute tabIndex of the object element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-27083787 -*/ -function object10() { - var success; - if(checkInitialization(builder, "object10") != null) return; - var nodeList; - var testNode; - var vtabindex; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "object"); - nodeList = doc.getElementsByTagName("object"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vtabindex = testNode.tabIndex; - - assertEquals("tabIndexLink",0,vtabindex); - -} - - - - -function runTest() { - object10(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object11.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object11.js deleted file mode 100644 index 6b6e67b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object11.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object11"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "object"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Content type for data downloaded via data attribute. -The value of attribute type of the object element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-91665621 -*/ -function object11() { - var success; - if(checkInitialization(builder, "object11") != null) return; - var nodeList; - var testNode; - var vtype; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "object"); - nodeList = doc.getElementsByTagName("object"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vtype = testNode.type; - - assertEquals("typeLink","image/gif",vtype); - -} - - - - -function runTest() { - object11(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object12.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object12.js deleted file mode 100644 index fcb6bac..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object12.js +++ /dev/null @@ -1,111 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object12"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "object"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -The value of attribute usemap of the object element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6649772 -*/ -function object12() { - var success; - if(checkInitialization(builder, "object12") != null) return; - var nodeList; - var testNode; - var vusemap; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "object"); - nodeList = doc.getElementsByTagName("object"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vusemap = testNode.useMap; - - assertEquals("useMapLink","#DivLogo-map",vusemap); - -} - - - - -function runTest() { - object12(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object13.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object13.js deleted file mode 100644 index a130490..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object13.js +++ /dev/null @@ -1,126 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object13"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "object"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Vertical space above and below this image, applet, or object. -The value of attribute vspace of the object element is read and checked against the expected value. - - This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-8682483 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 -*/ -function object13() { - var success; - if(checkInitialization(builder, "object13") != null) return; - var nodeList; - var testNode; - var vvspace; - var doc; - var domImpl; - var hasHTML2; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "object"); - domImpl = doc.implementation; -hasHTML2 = domImpl.hasFeature("HTML","2.0"); - - if( - - !hasHTML2 - ) { - nodeList = doc.getElementsByTagName("object"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vvspace = testNode.vspace; - - assertEquals("vspaceLink","0",vvspace); - - } - -} - - - - -function runTest() { - object13(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object14.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object14.js deleted file mode 100644 index 3d8df0d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object14.js +++ /dev/null @@ -1,111 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object14"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "object"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -The value of attribute width of the object element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-38538620 -*/ -function object14() { - var success; - if(checkInitialization(builder, "object14") != null) return; - var nodeList; - var testNode; - var vwidth; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "object"); - nodeList = doc.getElementsByTagName("object"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vwidth = testNode.width; - - assertEquals("widthLink","550",vwidth); - -} - - - - -function runTest() { - object14(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement02.js deleted file mode 100644 index 6eeb796..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement02.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "anchor"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The charset attribute indicates the character encoding of the linked - resource. - - Retrieve the charset attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-67619266 -*/ -function HTMLAnchorElement02() { - var success; - if(checkInitialization(builder, "HTMLAnchorElement02") != null) return; - var nodeList; - var testNode; - var vcharset; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "anchor"); - nodeList = doc.getElementsByTagName("a"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vcharset = testNode.charset; - - assertEquals("charsetLink","US-ASCII",vcharset); - -} - - - - -function runTest() { - HTMLAnchorElement02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement03.js deleted file mode 100644 index d43eadc..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement03.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement03"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "anchor"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The coords attribute is a comma-seperated list of lengths, defining - an active region geometry. - - Retrieve the coords attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-92079539 -*/ -function HTMLAnchorElement03() { - var success; - if(checkInitialization(builder, "HTMLAnchorElement03") != null) return; - var nodeList; - var testNode; - var vcoords; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "anchor"); - nodeList = doc.getElementsByTagName("a"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vcoords = testNode.coords; - - assertEquals("coordsLink","0,0,100,100",vcoords); - -} - - - - -function runTest() { - HTMLAnchorElement03(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement06.js deleted file mode 100644 index 003c17a..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement06.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement06"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "anchor"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The name attribute contains the anchor name. - - Retrieve the name attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-32783304 -*/ -function HTMLAnchorElement06() { - var success; - if(checkInitialization(builder, "HTMLAnchorElement06") != null) return; - var nodeList; - var testNode; - var vname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "anchor"); - nodeList = doc.getElementsByTagName("a"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vname = testNode.name; - - assertEquals("nameLink","Anchor",vname); - -} - - - - -function runTest() { - HTMLAnchorElement06(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement08.js deleted file mode 100644 index 4f5746e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement08.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement08"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "anchor"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The rev attribute contains the reverse link type - - Retrieve the rev attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-58259771 -*/ -function HTMLAnchorElement08() { - var success; - if(checkInitialization(builder, "HTMLAnchorElement08") != null) return; - var nodeList; - var testNode; - var vrev; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "anchor"); - nodeList = doc.getElementsByTagName("a"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vrev = testNode.rev; - - assertEquals("revLink","STYLESHEET",vrev); - -} - - - - -function runTest() { - HTMLAnchorElement08(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement09.js deleted file mode 100644 index cb2225d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement09.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement09"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "anchor"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The shape attribute contains the shape of the active area. - - Retrieve the shape attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-49899808 -*/ -function HTMLAnchorElement09() { - var success; - if(checkInitialization(builder, "HTMLAnchorElement09") != null) return; - var nodeList; - var testNode; - var vshape; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "anchor"); - nodeList = doc.getElementsByTagName("a"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vshape = testNode.shape; - - assertEquals("shapeLink","rect",vshape); - -} - - - - -function runTest() { - HTMLAnchorElement09(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement01.js deleted file mode 100644 index ce480ba..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement01.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "applet"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The align attribute specifies the alignment of the object(Vertically - or Horizontally) with respect to its surrounding text. - - Retrieve the align attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-8049912 -*/ -function HTMLAppletElement01() { - var success; - if(checkInitialization(builder, "HTMLAppletElement01") != null) return; - var nodeList; - var testNode; - var valign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "applet"); - nodeList = doc.getElementsByTagName("applet"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - valign = testNode.align; - - assertEquals("alignLink","bottom".toLowerCase(),valign.toLowerCase()); - -} - - - - -function runTest() { - HTMLAppletElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement02.js deleted file mode 100644 index b9c1827..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement02.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "applet"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The alt attribute specifies the alternate text for user agents not - rendering the normal context of this element. - - Retrieve the alt attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-58610064 -*/ -function HTMLAppletElement02() { - var success; - if(checkInitialization(builder, "HTMLAppletElement02") != null) return; - var nodeList; - var testNode; - var valt; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "applet"); - nodeList = doc.getElementsByTagName("applet"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - valt = testNode.alt; - - assertEquals("altLink","Applet Number 1",valt); - -} - - - - -function runTest() { - HTMLAppletElement02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement03.js deleted file mode 100644 index d8b68e1..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement03.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement03"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "applet"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The archive attribute specifies a comma-seperated archive list. - - Retrieve the archive attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14476360 -*/ -function HTMLAppletElement03() { - var success; - if(checkInitialization(builder, "HTMLAppletElement03") != null) return; - var nodeList; - var testNode; - var varchive; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "applet"); - nodeList = doc.getElementsByTagName("applet"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - varchive = testNode.archive; - - assertEquals("archiveLink","",varchive); - -} - - - - -function runTest() { - HTMLAppletElement03(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement04.js deleted file mode 100644 index 32ff6d8..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement04.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement04"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "applet"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The code attribute specifies the applet class file. - - Retrieve the code attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-61509645 -*/ -function HTMLAppletElement04() { - var success; - if(checkInitialization(builder, "HTMLAppletElement04") != null) return; - var nodeList; - var testNode; - var vcode; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "applet"); - nodeList = doc.getElementsByTagName("applet"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vcode = testNode.code; - - assertEquals("codeLink","org/w3c/domts/DOMTSApplet.class",vcode); - -} - - - - -function runTest() { - HTMLAppletElement04(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement05.js deleted file mode 100644 index a6a3c4b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement05.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement05"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "applet"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The codeBase attribute specifies an optional base URI for the applet. - - Retrieve the codeBase attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6581160 -*/ -function HTMLAppletElement05() { - var success; - if(checkInitialization(builder, "HTMLAppletElement05") != null) return; - var nodeList; - var testNode; - var vcodebase; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "applet"); - nodeList = doc.getElementsByTagName("applet"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vcodebase = testNode.codeBase; - - assertEquals("codebase","applets",vcodebase); - -} - - - - -function runTest() { - HTMLAppletElement05(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement06.js deleted file mode 100644 index 1b0bab9..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement06.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement06"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "applet"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The height attribute overrides the height. - - Retrieve the height attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-90184867 -*/ -function HTMLAppletElement06() { - var success; - if(checkInitialization(builder, "HTMLAppletElement06") != null) return; - var nodeList; - var testNode; - var vheight; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "applet"); - nodeList = doc.getElementsByTagName("applet"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vheight = testNode.height; - - assertEquals("heightLink","306",vheight); - -} - - - - -function runTest() { - HTMLAppletElement06(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement07.js deleted file mode 100644 index 505cf2d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement07.js +++ /dev/null @@ -1,126 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement07"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "applet"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The hspace attribute specifies the horizontal space to the left - and right of this image, applet, or object. Retrieve the hspace attribute and examine its value. - - This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-1567197 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 -*/ -function HTMLAppletElement07() { - var success; - if(checkInitialization(builder, "HTMLAppletElement07") != null) return; - var nodeList; - var testNode; - var vhspace; - var doc; - var domImpl; - var hasHTML2; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "applet"); - domImpl = doc.implementation; -hasHTML2 = domImpl.hasFeature("HTML","2.0"); - - if( - - !hasHTML2 - ) { - nodeList = doc.getElementsByTagName("applet"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vhspace = testNode.hspace; - - assertEquals("hspaceLink","0",vhspace); - - } - -} - - - - -function runTest() { - HTMLAppletElement07(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement08.js deleted file mode 100644 index 1ed0b30..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement08.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement08"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "applet"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The name attribute specifies the name of the applet. - - Retrieve the name attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39843695 -*/ -function HTMLAppletElement08() { - var success; - if(checkInitialization(builder, "HTMLAppletElement08") != null) return; - var nodeList; - var testNode; - var vname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "applet"); - nodeList = doc.getElementsByTagName("applet"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vname = testNode.name; - - assertEquals("nameLink","applet1",vname); - -} - - - - -function runTest() { - HTMLAppletElement08(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement09.js deleted file mode 100644 index 2f0f765..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement09.js +++ /dev/null @@ -1,127 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement09"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "applet"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The vspace attribute specifies the vertical space above and below - this image, applet or object. Retrieve the vspace attribute and examine its value. - - This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. - - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-22637173 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 -*/ -function HTMLAppletElement09() { - var success; - if(checkInitialization(builder, "HTMLAppletElement09") != null) return; - var nodeList; - var testNode; - var vvspace; - var doc; - var domImpl; - var hasHTML2; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "applet"); - domImpl = doc.implementation; -hasHTML2 = domImpl.hasFeature("HTML","2.0"); - - if( - - !hasHTML2 - ) { - nodeList = doc.getElementsByTagName("applet"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vvspace = testNode.vspace; - - assertEquals("vspaceLink","0",vvspace); - - } - -} - - - - -function runTest() { - HTMLAppletElement09(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement10.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement10.js deleted file mode 100644 index 3578b0b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement10.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement10"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "applet"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The width attribute overrides the regular width. - - Retrieve the width attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-16526327 -*/ -function HTMLAppletElement10() { - var success; - if(checkInitialization(builder, "HTMLAppletElement10") != null) return; - var nodeList; - var testNode; - var vwidth; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "applet"); - nodeList = doc.getElementsByTagName("applet"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vwidth = testNode.width; - - assertEquals("widthLink","301",vwidth); - -} - - - - -function runTest() { - HTMLAppletElement10(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement11.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement11.js deleted file mode 100644 index 3aeee28..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement11.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement11"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "applet2"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The object attribute specifies the serialized applet file. - - Retrieve the object attribute and examine its value. - -* @author NIST -* @author Rick Rivello -* @author Curt Arnold -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93681523 -*/ -function HTMLAppletElement11() { - var success; - if(checkInitialization(builder, "HTMLAppletElement11") != null) return; - var nodeList; - var testNode; - var vobject; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "applet2"); - nodeList = doc.getElementsByTagName("applet"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vobject = testNode.object; - - assertEquals("object","DOMTSApplet.dat",vobject); - -} - - - - -function runTest() { - HTMLAppletElement11(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBRElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBRElement01.js deleted file mode 100644 index 0bfafb2..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBRElement01.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLBRElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "br"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The clear attribute specifies control flow of text around floats. - - Retrieve the clear attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-82703081 -*/ -function HTMLBRElement01() { - var success; - if(checkInitialization(builder, "HTMLBRElement01") != null) return; - var nodeList; - var testNode; - var vclear; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "br"); - nodeList = doc.getElementsByTagName("br"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vclear = testNode.clear; - - assertEquals("clearLink","none",vclear); - -} - - - - -function runTest() { - HTMLBRElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement01.js deleted file mode 100644 index c2d252c..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement01.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLBaseFontElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "basefont"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The color attribute specifies the base font's color. - - Retrieve the color attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87502302 -*/ -function HTMLBaseFontElement01() { - var success; - if(checkInitialization(builder, "HTMLBaseFontElement01") != null) return; - var nodeList; - var testNode; - var vcolor; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "basefont"); - nodeList = doc.getElementsByTagName("basefont"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vcolor = testNode.color; - - assertEquals("colorLink","#000000",vcolor); - -} - - - - -function runTest() { - HTMLBaseFontElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement02.js deleted file mode 100644 index 9da696e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement02.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLBaseFontElement02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "basefont"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The face attribute specifies the base font's face identifier. - - Retrieve the face attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88128969 -*/ -function HTMLBaseFontElement02() { - var success; - if(checkInitialization(builder, "HTMLBaseFontElement02") != null) return; - var nodeList; - var testNode; - var vface; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "basefont"); - nodeList = doc.getElementsByTagName("basefont"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vface = testNode.face; - - assertEquals("faceLink","arial,helvitica",vface); - -} - - - - -function runTest() { - HTMLBaseFontElement02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement03.js deleted file mode 100644 index 3c1d788..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement03.js +++ /dev/null @@ -1,125 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLBaseFontElement03"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "basefont"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The size attribute specifies the base font's size. Retrieve the size attribute and examine its value. - - This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-38930424 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 -*/ -function HTMLBaseFontElement03() { - var success; - if(checkInitialization(builder, "HTMLBaseFontElement03") != null) return; - var nodeList; - var testNode; - var vsize; - var doc; - var domImpl; - var hasHTML2; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "basefont"); - domImpl = doc.implementation; -hasHTML2 = domImpl.hasFeature("HTML","2.0"); - - if( - - !hasHTML2 - ) { - nodeList = doc.getElementsByTagName("basefont"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vsize = testNode.size; - - assertEquals("sizeLink","4",vsize); - - } - -} - - - - -function runTest() { - HTMLBaseFontElement03(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement01.js deleted file mode 100644 index 2496d66..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement01.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLBodyElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "body"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The aLink attribute specifies the color of active links. - - Retrieve the aLink attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59424581 -*/ -function HTMLBodyElement01() { - var success; - if(checkInitialization(builder, "HTMLBodyElement01") != null) return; - var nodeList; - var testNode; - var valink; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "body"); - nodeList = doc.getElementsByTagName("body"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - valink = testNode.aLink; - - assertEquals("aLinkLink","#0000ff",valink); - -} - - - - -function runTest() { - HTMLBodyElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement02.js deleted file mode 100644 index 5b92d5a..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement02.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLBodyElement02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "body"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The background attribute specifies the URI fo the background texture - tile image. - - Retrieve the background attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-37574810 -*/ -function HTMLBodyElement02() { - var success; - if(checkInitialization(builder, "HTMLBodyElement02") != null) return; - var nodeList; - var testNode; - var vbackground; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "body"); - nodeList = doc.getElementsByTagName("body"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vbackground = testNode.background; - - assertEquals("backgroundLink","./pix/back1.gif",vbackground); - -} - - - - -function runTest() { - HTMLBodyElement02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement03.js deleted file mode 100644 index 1814654..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement03.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLBodyElement03"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "body"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The bgColor attribute specifies the document background color. - - Retrieve the bgColor attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-24940084 -*/ -function HTMLBodyElement03() { - var success; - if(checkInitialization(builder, "HTMLBodyElement03") != null) return; - var nodeList; - var testNode; - var vbgcolor; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "body"); - nodeList = doc.getElementsByTagName("body"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vbgcolor = testNode.bgColor; - - assertEquals("bgColorLink","#ffff00",vbgcolor); - -} - - - - -function runTest() { - HTMLBodyElement03(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement04.js deleted file mode 100644 index 5f1d65d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement04.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLBodyElement04"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "body"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The link attribute specifies the color of links that are not active - and unvisited. - - Retrieve the link attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-7662206 -*/ -function HTMLBodyElement04() { - var success; - if(checkInitialization(builder, "HTMLBodyElement04") != null) return; - var nodeList; - var testNode; - var vlink; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "body"); - nodeList = doc.getElementsByTagName("body"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vlink = testNode.link; - - assertEquals("linkLink","#ff0000",vlink); - -} - - - - -function runTest() { - HTMLBodyElement04(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement05.js deleted file mode 100644 index d3bde6c..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement05.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLBodyElement05"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "body"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The text attribute specifies the document text color. - - Retrieve the text attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-73714763 -*/ -function HTMLBodyElement05() { - var success; - if(checkInitialization(builder, "HTMLBodyElement05") != null) return; - var nodeList; - var testNode; - var vtext; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "body"); - nodeList = doc.getElementsByTagName("body"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vtext = testNode.text; - - assertEquals("textLink","#000000",vtext); - -} - - - - -function runTest() { - HTMLBodyElement05(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement06.js deleted file mode 100644 index 16cae78..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement06.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLBodyElement06"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "body"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The vLink attribute specifies the color of links that have been - visited by the user. - - Retrieve the vLink attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83224305 -*/ -function HTMLBodyElement06() { - var success; - if(checkInitialization(builder, "HTMLBodyElement06") != null) return; - var nodeList; - var testNode; - var vvlink; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "body"); - nodeList = doc.getElementsByTagName("body"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vvlink = testNode.vLink; - - assertEquals("vLinkLink","#00ffff",vvlink); - -} - - - - -function runTest() { - HTMLBodyElement06(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection01.js deleted file mode 100644 index 6c4d68d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection01.js +++ /dev/null @@ -1,121 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "collection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - An individual node may be accessed by either ordinal index, the node's - name or id attributes. (Test ordinal index). - - Retrieve the first TABLE element and create a HTMLCollection by invoking - the "rows" attribute. The item located at ordinal index 0 is further - retrieved and its "rowIndex" attribute is examined. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33262535 -*/ -function HTMLCollection01() { - var success; - if(checkInitialization(builder, "HTMLCollection01") != null) return; - var nodeList; - var testNode; - var rowNode; - var rowsnodeList; - var vrowindex; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "collection"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - rowsnodeList = testNode.rows; - - rowNode = rowsnodeList.item(0); - vrowindex = rowNode.rowIndex; - - assertEquals("rowIndexLink",0,vrowindex); - -} - - - - -function runTest() { - HTMLCollection01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection02.js deleted file mode 100644 index 1a08fe1..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection02.js +++ /dev/null @@ -1,121 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "collection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - An individual node may be accessed by either ordinal index, the node's - name or id attributes. (Test node name). - - Retrieve the first FORM element and create a HTMLCollection by invoking - the elements attribute. The first SELECT element is further retrieved - using the elements name attribute. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76728479 -*/ -function HTMLCollection02() { - var success; - if(checkInitialization(builder, "HTMLCollection02") != null) return; - var nodeList; - var testNode; - var formNode; - var formsnodeList; - var vname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "collection"); - nodeList = doc.getElementsByTagName("form"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - formsnodeList = testNode.elements; - - formNode = formsnodeList.namedItem("select1"); - vname = formNode.nodeName; - - assertEqualsAutoCase("element", "nameIndexLink","SELECT",vname); - -} - - - - -function runTest() { - HTMLCollection02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection03.js deleted file mode 100644 index 1c002fd..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection03.js +++ /dev/null @@ -1,121 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection03"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "collection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - An individual node may be accessed by either ordinal index, the node's - name or id attributes. (Test id attribute). - - Retrieve the first FORM element and create a HTMLCollection by invoking - the "element" attribute. The first SELECT element is further retrieved - using the elements id. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-21069976 -*/ -function HTMLCollection03() { - var success; - if(checkInitialization(builder, "HTMLCollection03") != null) return; - var nodeList; - var testNode; - var formNode; - var formsnodeList; - var vname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "collection"); - nodeList = doc.getElementsByTagName("form"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - formsnodeList = testNode.elements; - - formNode = formsnodeList.namedItem("selectId"); - vname = formNode.nodeName; - - assertEqualsAutoCase("element", "nameIndexLink","select",vname); - -} - - - - -function runTest() { - HTMLCollection03(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection04.js deleted file mode 100644 index 0082417..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection04.js +++ /dev/null @@ -1,133 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection04"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "collection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - HTMLCollections are live, they are automatically updated when the - underlying document is changed. - - Create a HTMLCollection object by invoking the rows attribute of the - first TABLE element and examine its length, then add a new row and - re-examine the length. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40057551 -*/ -function HTMLCollection04() { - var success; - if(checkInitialization(builder, "HTMLCollection04") != null) return; - var nodeList; - var testNode; - var rowLength1; - var rowLength2; - var rowsnodeList; - var newRow; - var vrowindex; - var doc; - var result = new Array(); - - expectedResult = new Array(); - expectedResult[0] = 4; - expectedResult[1] = 5; - - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "collection"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - rowsnodeList = testNode.rows; - - rowLength1 = rowsnodeList.length; - - result[result.length] = rowLength1; -newRow = testNode.insertRow(4); - rowLength2 = rowsnodeList.length; - - result[result.length] = rowLength2; -assertEqualsList("rowIndexLink",expectedResult,result); - -} - - - - -function runTest() { - HTMLCollection04(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection05.js deleted file mode 100644 index efe0226..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection05.js +++ /dev/null @@ -1,118 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection05"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "collection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The length attribute specifies the length or size of the list. - - Retrieve the first TABLE element and create a HTMLCollection by invoking - the "rows" attribute. Retrieve the length attribute of the HTMLCollection - object. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40057551 -*/ -function HTMLCollection05() { - var success; - if(checkInitialization(builder, "HTMLCollection05") != null) return; - var nodeList; - var testNode; - var rowsnodeList; - var rowLength; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "collection"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - rowsnodeList = testNode.rows; - - rowLength = rowsnodeList.length; - - assertEquals("rowIndexLink",4,rowLength); - -} - - - - -function runTest() { - HTMLCollection05(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection06.js deleted file mode 100644 index 0c274cc..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection06.js +++ /dev/null @@ -1,122 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection06"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "collection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - An item(index) method retrieves an item specified by ordinal index - (Test for index=0). - - Retrieve the first TABLE element and create a HTMLCollection by invoking - the "rows" attribute. The item located at ordinal index 0 is further - retrieved and its "rowIndex" attribute is examined. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6156016 -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33262535 -*/ -function HTMLCollection06() { - var success; - if(checkInitialization(builder, "HTMLCollection06") != null) return; - var nodeList; - var testNode; - var rowNode; - var rowsnodeList; - var vrowindex; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "collection"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - rowsnodeList = testNode.rows; - - rowNode = rowsnodeList.item(0); - vrowindex = rowNode.rowIndex; - - assertEquals("rowIndexLink",0,vrowindex); - -} - - - - -function runTest() { - HTMLCollection06(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection07.js deleted file mode 100644 index 2b167d8..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection07.js +++ /dev/null @@ -1,121 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection07"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "collection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - An item(index) method retrieves an item specified by ordinal index - (Test for index=3). - - Retrieve the first TABLE element and create a HTMLCollection by invoking - the "rows" attribute. The item located at ordinal index 3 is further - retrieved and its "rowIndex" attribute is examined. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33262535 -*/ -function HTMLCollection07() { - var success; - if(checkInitialization(builder, "HTMLCollection07") != null) return; - var nodeList; - var testNode; - var rowNode; - var rowsnodeList; - var vrowindex; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "collection"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - rowsnodeList = testNode.rows; - - rowNode = rowsnodeList.item(3); - vrowindex = rowNode.rowIndex; - - assertEquals("rowIndexLink",3,vrowindex); - -} - - - - -function runTest() { - HTMLCollection07(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection08.js deleted file mode 100644 index 7069f49..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection08.js +++ /dev/null @@ -1,121 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection08"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "collection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - Nodes in a HTMLCollection object are numbered in tree order. - (Depth-first traversal order). - - Retrieve the first TABLE element and create a HTMLCollection by invoking - the "rows" attribute. Access the item in the third ordinal index. The - resulting rowIndex attribute is examined and should be two. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33262535 -*/ -function HTMLCollection08() { - var success; - if(checkInitialization(builder, "HTMLCollection08") != null) return; - var nodeList; - var testNode; - var rowNode; - var rowsnodeList; - var vrowindex; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "collection"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - rowsnodeList = testNode.rows; - - rowNode = rowsnodeList.item(2); - vrowindex = rowNode.rowIndex; - - assertEquals("rowIndexLink",2,vrowindex); - -} - - - - -function runTest() { - HTMLCollection08(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection09.js deleted file mode 100644 index 6e75f07..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection09.js +++ /dev/null @@ -1,118 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection09"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "collection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The item(index) method returns null if the index is out of range. - - Retrieve the first TABLE element and create a HTMLCollection by invoking - the "rows" attribute. Invoke the item(index) method with an index - of 5. This index is out of range and should return null. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33262535 -*/ -function HTMLCollection09() { - var success; - if(checkInitialization(builder, "HTMLCollection09") != null) return; - var nodeList; - var testNode; - var rowNode; - var rowsnodeList; - var vrowindex; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "collection"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - rowsnodeList = testNode.rows; - - rowNode = rowsnodeList.item(5); - assertNull("rowIndexLink",rowNode); - -} - - - - -function runTest() { - HTMLCollection09(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection10.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection10.js deleted file mode 100644 index 9a823d4..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection10.js +++ /dev/null @@ -1,123 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection10"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "collection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The namedItem(name) method retrieves a node using a name. It first - searches for a node with a matching id attribute. If it doesn't find - one, it then searches for a Node with a matching name attribute, but only - on those elements that are allowed a name attribute. - - Retrieve the first FORM element and create a HTMLCollection by invoking - the elements attribute. The first SELECT element is further retrieved - using the elements name attribute since the id attribute doesn't match. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-21069976 -*/ -function HTMLCollection10() { - var success; - if(checkInitialization(builder, "HTMLCollection10") != null) return; - var nodeList; - var testNode; - var formNode; - var formsnodeList; - var vname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "collection"); - nodeList = doc.getElementsByTagName("form"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - formsnodeList = testNode.elements; - - formNode = formsnodeList.namedItem("select1"); - vname = formNode.nodeName; - - assertEqualsAutoCase("element", "nameIndexLink","SELECT",vname); - -} - - - - -function runTest() { - HTMLCollection10(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection11.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection11.js deleted file mode 100644 index 2874b39..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection11.js +++ /dev/null @@ -1,123 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection11"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "collection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The namedItem(name) method retrieves a node using a name. It first - searches for a node with a matching id attribute. If it doesn't find - one, it then searches for a Node with a matching name attribute, but only - on those elements that are allowed a name attribute. - - Retrieve the first FORM element and create a HTMLCollection by invoking - the elements attribute. The first SELECT element is further retrieved - using the elements id attribute. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76728479 -*/ -function HTMLCollection11() { - var success; - if(checkInitialization(builder, "HTMLCollection11") != null) return; - var nodeList; - var testNode; - var formNode; - var formsnodeList; - var vname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "collection"); - nodeList = doc.getElementsByTagName("form"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - formsnodeList = testNode.elements; - - formNode = formsnodeList.namedItem("selectId"); - vname = formNode.nodeName; - - assertEqualsAutoCase("element", "nameIndexLink","select",vname); - -} - - - - -function runTest() { - HTMLCollection11(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection12.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection12.js deleted file mode 100644 index 7325273..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection12.js +++ /dev/null @@ -1,121 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection12"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "collection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The namedItem(name) method retrieves a node using a name. It first - searches for a node with a matching id attribute. If it doesn't find - one, it then searches for a Node with a matching name attribute, but only - on those elements that are allowed a name attribute. If there isn't - a matching node the method returns null. - - Retrieve the first FORM element and create a HTMLCollection by invoking - the elements attribute. The method returns null since there is not a - match of the name or id attribute. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-21069976 -*/ -function HTMLCollection12() { - var success; - if(checkInitialization(builder, "HTMLCollection12") != null) return; - var nodeList; - var testNode; - var formNode; - var formsnodeList; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "collection"); - nodeList = doc.getElementsByTagName("form"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - formsnodeList = testNode.elements; - - formNode = formsnodeList.namedItem("select9"); - assertNull("nameIndexLink",formNode); - -} - - - - -function runTest() { - HTMLCollection12(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDirectoryElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDirectoryElement01.js deleted file mode 100644 index 471233a..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDirectoryElement01.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDirectoryElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "directory"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The compact attribute specifies a boolean value on whether to display - the list more compactly. - - Retrieve the compact attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75317739 -*/ -function HTMLDirectoryElement01() { - var success; - if(checkInitialization(builder, "HTMLDirectoryElement01") != null) return; - var nodeList; - var testNode; - var vcompact; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "directory"); - nodeList = doc.getElementsByTagName("dir"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vcompact = testNode.compact; - - assertTrue("compactLink",vcompact); - -} - - - - -function runTest() { - HTMLDirectoryElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDivElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDivElement01.js deleted file mode 100644 index 4557401..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDivElement01.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDivElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "div"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The align attribute specifies the horizontal text alignment. - - Retrieve the align attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-70908791 -*/ -function HTMLDivElement01() { - var success; - if(checkInitialization(builder, "HTMLDivElement01") != null) return; - var nodeList; - var testNode; - var valign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "div"); - nodeList = doc.getElementsByTagName("div"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - valign = testNode.align; - - assertEquals("alignLink","center",valign); - -} - - - - -function runTest() { - HTMLDivElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDlistElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDlistElement01.js deleted file mode 100644 index 1ce061f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDlistElement01.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDlistElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "dl"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The compact attribute specifies a boolean value on whether to display - the list more compactly. - - Retrieve the compact attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-21738539 -*/ -function HTMLDlistElement01() { - var success; - if(checkInitialization(builder, "HTMLDlistElement01") != null) return; - var nodeList; - var testNode; - var vcompact; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "dl"); - nodeList = doc.getElementsByTagName("dl"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vcompact = testNode.compact; - - assertTrue("compactLink",vcompact); - -} - - - - -function runTest() { - HTMLDlistElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument08.js deleted file mode 100644 index 3469421..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument08.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument08"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "document"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The applets attribute returns a collection of all OBJECT elements that - include applets abd APPLET elements in a document. - - Retrieve the applets attribute from the document and examine its value. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-85113862 -*/ -function HTMLDocument08() { - var success; - if(checkInitialization(builder, "HTMLDocument08") != null) return; - var nodeList; - var testNode; - var vapplets; - var vlength; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "document"); - vapplets = doc.applets; - - vlength = vapplets.length; - - assertEquals("length",4,vlength); - -} - - - - -function runTest() { - HTMLDocument08(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument11.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument11.js deleted file mode 100644 index a05690e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument11.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument11"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "document"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The anchors attribute returns a collection of all A elements with values - for the name attribute. - - Retrieve the anchors attribute from the document and examine its value. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-7577272 -*/ -function HTMLDocument11() { - var success; - if(checkInitialization(builder, "HTMLDocument11") != null) return; - var nodeList; - var testNode; - var vanchors; - var vlength; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "document"); - vanchors = doc.anchors; - - vlength = vanchors.length; - - assertEquals("lengthLink",1,vlength); - -} - - - - -function runTest() { - HTMLDocument11(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument13.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument13.js deleted file mode 100644 index af26d5a..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument13.js +++ /dev/null @@ -1,109 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument13"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "document"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The getElementsByName method returns the (possibly empty) collection - of elements whose name value is given by the elementName. - - Retrieve all the elements whose name attribute is "mapid". - Check the length of the nodelist. It should be 1. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71555259 -*/ -function HTMLDocument13() { - var success; - if(checkInitialization(builder, "HTMLDocument13") != null) return; - var nodeList; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "document"); - nodeList = doc.getElementsByName("mapid"); - assertSize("Asize",1,nodeList); - -} - - - - -function runTest() { - HTMLDocument13(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument14.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument14.js deleted file mode 100644 index ebb16dd..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument14.js +++ /dev/null @@ -1,110 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument14"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "document"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The getElementsByName method returns the (possibly empty) collection - of elements whose name value is given by the elementName. - - Retrieve all the elements whose name attribute is "noid". - Check the length of the nodelist. It should be 0 since - the id "noid" does not exist. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71555259 -*/ -function HTMLDocument14() { - var success; - if(checkInitialization(builder, "HTMLDocument14") != null) return; - var nodeList; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "document"); - nodeList = doc.getElementsByName("noid"); - assertSize("Asize",0,nodeList); - -} - - - - -function runTest() { - HTMLDocument14(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement01.js deleted file mode 100644 index a9696c0..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement01.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFontElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "font"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The color attribute specifies the font's color. - - Retrieve the color attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-53532975 -*/ -function HTMLFontElement01() { - var success; - if(checkInitialization(builder, "HTMLFontElement01") != null) return; - var nodeList; - var testNode; - var vcolor; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "font"); - nodeList = doc.getElementsByTagName("font"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vcolor = testNode.color; - - assertEquals("colorLink","#000000",vcolor); - -} - - - - -function runTest() { - HTMLFontElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement02.js deleted file mode 100644 index 1e10269..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement02.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFontElement02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "font"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The face attribute specifies the font's face identifier. - - Retrieve the face attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-55715655 -* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#HTML-HTMLFormElement-length -*/ -function HTMLFontElement02() { - var success; - if(checkInitialization(builder, "HTMLFontElement02") != null) return; - var nodeList; - var testNode; - var vface; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "font"); - nodeList = doc.getElementsByTagName("font"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vface = testNode.face; - - assertEquals("faceLink","arial,helvetica",vface); - -} - - - - -function runTest() { - HTMLFontElement02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement03.js deleted file mode 100644 index 437a36e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement03.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFontElement03"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "font"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The size attribute specifies the font's size. - - Retrieve the size attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-90127284 -*/ -function HTMLFontElement03() { - var success; - if(checkInitialization(builder, "HTMLFontElement03") != null) return; - var nodeList; - var testNode; - var vsize; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "font"); - nodeList = doc.getElementsByTagName("font"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vsize = testNode.size; - - assertEquals("sizeLink","4",vsize); - -} - - - - -function runTest() { - HTMLFontElement03(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFormElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFormElement02.js deleted file mode 100644 index 40b962b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFormElement02.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFormElement02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "form"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The length attribute specifies the number of form controls - in the form. - - Retrieve the length attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40002357 -* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#HTML-HTMLFormElement-length -*/ -function HTMLFormElement02() { - var success; - if(checkInitialization(builder, "HTMLFormElement02") != null) return; - var nodeList; - var testNode; - var vlength; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "form"); - nodeList = doc.getElementsByTagName("form"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vlength = testNode.length; - - assertEquals("lengthLink",3,vlength); - -} - - - - -function runTest() { - HTMLFormElement02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement01.js deleted file mode 100644 index 977208c..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement01.js +++ /dev/null @@ -1,116 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFrameElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "frame"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The frameBorder attribute specifies the request for frame borders. - (frameBorder=1 A border is drawn) - (FrameBorder=0 A border is not drawn) - - Retrieve the frameBorder attribute of the first FRAME element and examine - it's value. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-11858633 -*/ -function HTMLFrameElement01() { - var success; - if(checkInitialization(builder, "HTMLFrameElement01") != null) return; - var nodeList; - var testNode; - var vframeborder; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "frame"); - nodeList = doc.getElementsByTagName("frame"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vframeborder = testNode.frameBorder; - - assertEquals("frameborderLink","1",vframeborder); - -} - - - - -function runTest() { - HTMLFrameElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement02.js deleted file mode 100644 index 31ba4dc..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement02.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFrameElement02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "frame"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The longDesc attribute specifies a URI designating a long description - of this image or frame. - - Retrieve the longDesc attribute of the first FRAME element and examine - its value. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-7836998 -*/ -function HTMLFrameElement02() { - var success; - if(checkInitialization(builder, "HTMLFrameElement02") != null) return; - var nodeList; - var testNode; - var vlongdesc; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "frame"); - nodeList = doc.getElementsByTagName("frame"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vlongdesc = testNode.longDesc; - - assertEquals("longdescLink","about:blank",vlongdesc); - -} - - - - -function runTest() { - HTMLFrameElement02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement03.js deleted file mode 100644 index 7820c3a..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement03.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFrameElement03"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "frame"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The marginHeight attribute specifies the frame margin height, in pixels. - - Retrieve the marginHeight attribute of the first FRAME element and examine - it's value. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-55569778 -*/ -function HTMLFrameElement03() { - var success; - if(checkInitialization(builder, "HTMLFrameElement03") != null) return; - var nodeList; - var testNode; - var vmarginheight; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "frame"); - nodeList = doc.getElementsByTagName("frame"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vmarginheight = testNode.marginHeight; - - assertEquals("marginheightLink","10",vmarginheight); - -} - - - - -function runTest() { - HTMLFrameElement03(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement04.js deleted file mode 100644 index 702daf4..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement04.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFrameElement04"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "frame"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The marginWidth attribute specifies the frame margin width, in pixels. - - Retrieve the marginWidth attribute of the first FRAME element and examine - it's value. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-8369969 -*/ -function HTMLFrameElement04() { - var success; - if(checkInitialization(builder, "HTMLFrameElement04") != null) return; - var nodeList; - var testNode; - var vmarginwidth; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "frame"); - nodeList = doc.getElementsByTagName("frame"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vmarginwidth = testNode.marginWidth; - - assertEquals("marginwidthLink","5",vmarginwidth); - -} - - - - -function runTest() { - HTMLFrameElement04(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement05.js deleted file mode 100644 index 6a59d13..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement05.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFrameElement05"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "frame"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The name attribute specifies the frame name(object of the target - attribute). - - Retrieve the name attribute of the first FRAME element and examine - it's value. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-91128709 -*/ -function HTMLFrameElement05() { - var success; - if(checkInitialization(builder, "HTMLFrameElement05") != null) return; - var nodeList; - var testNode; - var vname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "frame"); - nodeList = doc.getElementsByTagName("frame"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vname = testNode.name; - - assertEquals("nameLink","Frame1",vname); - -} - - - - -function runTest() { - HTMLFrameElement05(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement06.js deleted file mode 100644 index 06f7e07..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement06.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFrameElement06"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "frame"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The noResize attribute specifies if the user can resize the frame. When - true, forbid user from resizing frame. - - Retrieve the noResize attribute of the first FRAME element and examine - it's value. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-80766578 -*/ -function HTMLFrameElement06() { - var success; - if(checkInitialization(builder, "HTMLFrameElement06") != null) return; - var nodeList; - var testNode; - var vnoresize; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "frame"); - nodeList = doc.getElementsByTagName("frame"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vnoresize = testNode.noResize; - - assertTrue("noresizeLink",vnoresize); - -} - - - - -function runTest() { - HTMLFrameElement06(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement07.js deleted file mode 100644 index 878a942..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement07.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFrameElement07"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "frame"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The scrolling attribute specifies whether or not the frame should have - scrollbars. - - Retrieve the scrolling attribute of the first FRAME element and examine - it's value. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-45411424 -*/ -function HTMLFrameElement07() { - var success; - if(checkInitialization(builder, "HTMLFrameElement07") != null) return; - var nodeList; - var testNode; - var vscrolling; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "frame"); - nodeList = doc.getElementsByTagName("frame"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vscrolling = testNode.scrolling; - - assertEquals("scrollingLink","yes",vscrolling); - -} - - - - -function runTest() { - HTMLFrameElement07(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement08.js deleted file mode 100644 index 541b5f4..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement08.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFrameElement08"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "frame"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The src attribute specifies a URI designating the initial frame contents. - - Retrieve the src attribute of the first FRAME element and examine - it's value. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78799535 -*/ -function HTMLFrameElement08() { - var success; - if(checkInitialization(builder, "HTMLFrameElement08") != null) return; - var nodeList; - var testNode; - var vsrc; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "frame"); - nodeList = doc.getElementsByTagName("frame"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vsrc = testNode.src; - - assertURIEquals("srcLink",null,null,null,null,"right",null,null,null,vsrc); - -} - - - - -function runTest() { - HTMLFrameElement08(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement01.js deleted file mode 100644 index a8ed24f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement01.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFrameSetElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "frameset"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The cols attribute specifies the number of columns of frames in the - frameset. - - Retrieve the cols attribute of the first FRAMESET element and examine - it's value. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98869594 -*/ -function HTMLFrameSetElement01() { - var success; - if(checkInitialization(builder, "HTMLFrameSetElement01") != null) return; - var nodeList; - var testNode; - var vcols; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "frameset"); - nodeList = doc.getElementsByTagName("frameset"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vcols = testNode.cols; - - assertEquals("colsLink","20, 80",vcols); - -} - - - - -function runTest() { - HTMLFrameSetElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement02.js deleted file mode 100644 index e7bc555..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement02.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFrameSetElement02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "frameset"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The rows attribute specifies the number of rows of frames in the - frameset. - - Retrieve the rows attribute of the second FRAMESET element and examine - it's value. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-19739247 -*/ -function HTMLFrameSetElement02() { - var success; - if(checkInitialization(builder, "HTMLFrameSetElement02") != null) return; - var nodeList; - var testNode; - var vrows; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "frameset"); - nodeList = doc.getElementsByTagName("frameset"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(1); - vrows = testNode.rows; - - assertEquals("rowsLink","100, 200",vrows); - -} - - - - -function runTest() { - HTMLFrameSetElement02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement01.js deleted file mode 100644 index 31599c0..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement01.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHRElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hr"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The align attribute specifies the rule alignment on the page. - - Retrieve the align attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-15235012 -*/ -function HTMLHRElement01() { - var success; - if(checkInitialization(builder, "HTMLHRElement01") != null) return; - var nodeList; - var testNode; - var valign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hr"); - nodeList = doc.getElementsByTagName("hr"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - valign = testNode.align; - - assertEquals("alignLink","center",valign); - -} - - - - -function runTest() { - HTMLHRElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement02.js deleted file mode 100644 index 215b4c6..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement02.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHRElement02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hr"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The noShade attribute specifies that the rule should be drawn as - a solid color. - - Retrieve the noShade attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-79813978 -*/ -function HTMLHRElement02() { - var success; - if(checkInitialization(builder, "HTMLHRElement02") != null) return; - var nodeList; - var testNode; - var vnoshade; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hr"); - nodeList = doc.getElementsByTagName("hr"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vnoshade = testNode.noShade; - - assertTrue("noShadeLink",vnoshade); - -} - - - - -function runTest() { - HTMLHRElement02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement03.js deleted file mode 100644 index 405472f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement03.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHRElement03"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hr"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The size attribute specifies the height of the rule. - - Retrieve the size attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-77612587 -*/ -function HTMLHRElement03() { - var success; - if(checkInitialization(builder, "HTMLHRElement03") != null) return; - var nodeList; - var testNode; - var vsize; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hr"); - nodeList = doc.getElementsByTagName("hr"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vsize = testNode.size; - - assertEquals("sizeLink","5",vsize); - -} - - - - -function runTest() { - HTMLHRElement03(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement04.js deleted file mode 100644 index 0ffdfa0..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement04.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHRElement04"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "hr"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The width attribute specifies the width of the rule. - - Retrieve the width attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87744198 -*/ -function HTMLHRElement04() { - var success; - if(checkInitialization(builder, "HTMLHRElement04") != null) return; - var nodeList; - var testNode; - var vwidth; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "hr"); - nodeList = doc.getElementsByTagName("hr"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vwidth = testNode.width; - - assertEquals("widthLink","400",vwidth); - -} - - - - -function runTest() { - HTMLHRElement04(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadElement01.js deleted file mode 100644 index cea3273..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadElement01.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHeadElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "head"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The profile attribute specifies a URI designating a metadata profile. - - Retrieve the profile attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96921909 -*/ -function HTMLHeadElement01() { - var success; - if(checkInitialization(builder, "HTMLHeadElement01") != null) return; - var nodeList; - var testNode; - var vprofile; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "head"); - nodeList = doc.getElementsByTagName("head"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vprofile = testNode.profile; - - assertURIEquals("profileLink",null,null,null,"profile",null,null,null,null,vprofile); - -} - - - - -function runTest() { - HTMLHeadElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement01.js deleted file mode 100644 index 46395cc..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement01.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHeadingElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "heading"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The align attribute specifies the horizontal text alignment(H1). - - Retrieve the align attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6796462 -*/ -function HTMLHeadingElement01() { - var success; - if(checkInitialization(builder, "HTMLHeadingElement01") != null) return; - var nodeList; - var testNode; - var valign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "heading"); - nodeList = doc.getElementsByTagName("h1"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - valign = testNode.align; - - assertEquals("alignLink","center",valign); - -} - - - - -function runTest() { - HTMLHeadingElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement02.js deleted file mode 100644 index 9e38da7..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement02.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHeadingElement02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "heading"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The align attribute specifies the horizontal text alignment(H2). - - Retrieve the align attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6796462 -*/ -function HTMLHeadingElement02() { - var success; - if(checkInitialization(builder, "HTMLHeadingElement02") != null) return; - var nodeList; - var testNode; - var valign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "heading"); - nodeList = doc.getElementsByTagName("h2"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - valign = testNode.align; - - assertEquals("alignLink","left",valign); - -} - - - - -function runTest() { - HTMLHeadingElement02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement03.js deleted file mode 100644 index f0400e4..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement03.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHeadingElement03"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "heading"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The align attribute specifies the horizontal text alignment(H3). - - Retrieve the align attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6796462 -*/ -function HTMLHeadingElement03() { - var success; - if(checkInitialization(builder, "HTMLHeadingElement03") != null) return; - var nodeList; - var testNode; - var valign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "heading"); - nodeList = doc.getElementsByTagName("h3"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - valign = testNode.align; - - assertEquals("alignLink","right",valign); - -} - - - - -function runTest() { - HTMLHeadingElement03(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement04.js deleted file mode 100644 index 0a48815..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement04.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHeadingElement04"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "heading"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The align attribute specifies the horizontal text alignment(H4). - - Retrieve the align attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6796462 -*/ -function HTMLHeadingElement04() { - var success; - if(checkInitialization(builder, "HTMLHeadingElement04") != null) return; - var nodeList; - var testNode; - var valign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "heading"); - nodeList = doc.getElementsByTagName("h4"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - valign = testNode.align; - - assertEquals("alignLink","justify",valign); - -} - - - - -function runTest() { - HTMLHeadingElement04(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement05.js deleted file mode 100644 index 67de088..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement05.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHeadingElement05"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "heading"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The align attribute specifies the horizontal text alignment(H5). - - Retrieve the align attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6796462 -*/ -function HTMLHeadingElement05() { - var success; - if(checkInitialization(builder, "HTMLHeadingElement05") != null) return; - var nodeList; - var testNode; - var valign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "heading"); - nodeList = doc.getElementsByTagName("h5"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - valign = testNode.align; - - assertEquals("alignLink","center",valign); - -} - - - - -function runTest() { - HTMLHeadingElement05(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement06.js deleted file mode 100644 index 97218f9..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement06.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHeadingElement06"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "heading"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The align attribute specifies the horizontal text alignment(H6). - - Retrieve the align attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6796462 -*/ -function HTMLHeadingElement06() { - var success; - if(checkInitialization(builder, "HTMLHeadingElement06") != null) return; - var nodeList; - var testNode; - var valign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "heading"); - nodeList = doc.getElementsByTagName("h6"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - valign = testNode.align; - - assertEquals("alignLink","left",valign); - -} - - - - -function runTest() { - HTMLHeadingElement06(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHtmlElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHtmlElement01.js deleted file mode 100644 index 5e62cdb..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHtmlElement01.js +++ /dev/null @@ -1,124 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHtmlElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "html"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The version attribute specifies version information about the document's - DTD. - - Retrieve the version attribute and examine its value. - - Test is only applicable to HTML, version attribute is not supported in XHTML. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-9383775 -*/ -function HTMLHtmlElement01() { - var success; - if(checkInitialization(builder, "HTMLHtmlElement01") != null) return; - var nodeList; - var testNode; - var vversion; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "html"); - nodeList = doc.getElementsByTagName("html"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vversion = testNode.version; - - - if( - - (builder.contentType == "text/html") - - ) { - assertEquals("versionLink","-//W3C//DTD HTML 4.01 Transitional//EN",vversion); - - } - -} - - - - -function runTest() { - HTMLHtmlElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement01.js deleted file mode 100644 index 591f57e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement01.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIFrameElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "iframe"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The align attribute aligns this object(vertically or horizontally with - respect to its surrounding text. - - Retrieve the align attribute of the first IFRAME element and examine - it's value. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-11309947 -*/ -function HTMLIFrameElement01() { - var success; - if(checkInitialization(builder, "HTMLIFrameElement01") != null) return; - var nodeList; - var testNode; - var valign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "iframe"); - nodeList = doc.getElementsByTagName("iframe"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - valign = testNode.align; - - assertEquals("alignLink","top",valign); - -} - - - - -function runTest() { - HTMLIFrameElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement02.js deleted file mode 100644 index 28326df..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement02.js +++ /dev/null @@ -1,116 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIFrameElement02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "iframe"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The frameBorder attribute specifies the request for frame borders. - (frameBorder=1 A border is drawn) - (FrameBorder=0 A border is not drawn) - - Retrieve the frameBorder attribute of the first IFRAME element and examine - it's value. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-22463410 -*/ -function HTMLIFrameElement02() { - var success; - if(checkInitialization(builder, "HTMLIFrameElement02") != null) return; - var nodeList; - var testNode; - var vframeborder; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "iframe"); - nodeList = doc.getElementsByTagName("iframe"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vframeborder = testNode.frameBorder; - - assertEquals("frameborderLink","1",vframeborder); - -} - - - - -function runTest() { - HTMLIFrameElement02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement04.js deleted file mode 100644 index cc3bd41..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement04.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIFrameElement04"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "iframe"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The longDesc attribute specifies a URI designating a long description - of this image or frame. - - Retrieve the longDesc attribute of the first IFRAME element and examine - its value. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-70472105 -*/ -function HTMLIFrameElement04() { - var success; - if(checkInitialization(builder, "HTMLIFrameElement04") != null) return; - var nodeList; - var testNode; - var vlongdesc; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "iframe"); - nodeList = doc.getElementsByTagName("iframe"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vlongdesc = testNode.longDesc; - - assertEquals("longdescLink","about:blank",vlongdesc); - -} - - - - -function runTest() { - HTMLIFrameElement04(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement05.js deleted file mode 100644 index 1f03bea..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement05.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIFrameElement05"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "iframe"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The marginWidth attribute specifies the frame margin width, in pixels. - - Retrieve the marginWidth attribute of the first FRAME element and examine - it's value. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-66486595 -*/ -function HTMLIFrameElement05() { - var success; - if(checkInitialization(builder, "HTMLIFrameElement05") != null) return; - var nodeList; - var testNode; - var vmarginwidth; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "iframe"); - nodeList = doc.getElementsByTagName("iframe"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vmarginwidth = testNode.marginWidth; - - assertEquals("marginwidthLink","5",vmarginwidth); - -} - - - - -function runTest() { - HTMLIFrameElement05(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement06.js deleted file mode 100644 index 9081c4c..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement06.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIFrameElement06"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "iframe"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The marginHeight attribute specifies the frame margin height, in pixels. - - Retrieve the marginHeight attribute of the first IFRAME element and examine - it's value. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-91371294 -*/ -function HTMLIFrameElement06() { - var success; - if(checkInitialization(builder, "HTMLIFrameElement06") != null) return; - var nodeList; - var testNode; - var vmarginheight; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "iframe"); - nodeList = doc.getElementsByTagName("iframe"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vmarginheight = testNode.marginHeight; - - assertEquals("marginheightLink","10",vmarginheight); - -} - - - - -function runTest() { - HTMLIFrameElement06(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement08.js deleted file mode 100644 index 2c1a4a8..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement08.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIFrameElement08"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "iframe"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The scrolling attribute specifies whether or not the frame should have - scrollbars. - - Retrieve the scrolling attribute of the first FRAME element and examine - it's value. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-36369822 -*/ -function HTMLIFrameElement08() { - var success; - if(checkInitialization(builder, "HTMLIFrameElement08") != null) return; - var nodeList; - var testNode; - var vscrolling; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "iframe"); - nodeList = doc.getElementsByTagName("iframe"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vscrolling = testNode.scrolling; - - assertEquals("scrollingLink","yes",vscrolling); - -} - - - - -function runTest() { - HTMLIFrameElement08(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement01.js deleted file mode 100644 index 48a4806..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement01.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "img"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The name attribute specifies the name of the element. - - Retrieve the name attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-47534097 -*/ -function HTMLImageElement01() { - var success; - if(checkInitialization(builder, "HTMLImageElement01") != null) return; - var nodeList; - var testNode; - var vname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "img"); - nodeList = doc.getElementsByTagName("img"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vname = testNode.name; - - assertEquals("nameLink","IMAGE-1",vname); - -} - - - - -function runTest() { - HTMLImageElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement02.js deleted file mode 100644 index 549b1e7..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement02.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "img"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The align attribute aligns this object with respect to its surrounding - text. - - Retrieve the align attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-3211094 -*/ -function HTMLImageElement02() { - var success; - if(checkInitialization(builder, "HTMLImageElement02") != null) return; - var nodeList; - var testNode; - var valign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "img"); - nodeList = doc.getElementsByTagName("img"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - valign = testNode.align; - - assertEquals("alignLink","middle",valign); - -} - - - - -function runTest() { - HTMLImageElement02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement03.js deleted file mode 100644 index 1dcf05e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement03.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement03"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "img"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The alt attribute specifies an alternative text for user agenst not - rendering the normal content of this element. - - Retrieve the alt attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95636861 -*/ -function HTMLImageElement03() { - var success; - if(checkInitialization(builder, "HTMLImageElement03") != null) return; - var nodeList; - var testNode; - var valt; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "img"); - nodeList = doc.getElementsByTagName("img"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - valt = testNode.alt; - - assertEquals("altLink","DTS IMAGE LOGO",valt); - -} - - - - -function runTest() { - HTMLImageElement03(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement04.js deleted file mode 100644 index 9015271..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement04.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement04"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "img"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The border attribute specifies the width of the border around the image. - - Retrieve the border attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-136671 -*/ -function HTMLImageElement04() { - var success; - if(checkInitialization(builder, "HTMLImageElement04") != null) return; - var nodeList; - var testNode; - var vborder; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "img"); - nodeList = doc.getElementsByTagName("img"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vborder = testNode.border; - - assertEquals("borderLink","0",vborder); - -} - - - - -function runTest() { - HTMLImageElement04(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement08.js deleted file mode 100644 index 1a63d60..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement08.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement08"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "img"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The longDesc attribute contains an URI designating a long description - of this image or frame. - - Retrieve the longDesc attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-77376969 -*/ -function HTMLImageElement08() { - var success; - if(checkInitialization(builder, "HTMLImageElement08") != null) return; - var nodeList; - var testNode; - var vlongdesc; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "img"); - nodeList = doc.getElementsByTagName("img"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vlongdesc = testNode.longDesc; - - assertURIEquals("longDescLink",null,null,null,"desc.html",null,null,null,null,vlongdesc); - -} - - - - -function runTest() { - HTMLImageElement08(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement10.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement10.js deleted file mode 100644 index 52012c9..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement10.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement10"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "img"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The useMap attribute specifies to use the client-side image map. - - Retrieve the useMap attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-35981181 -*/ -function HTMLImageElement10() { - var success; - if(checkInitialization(builder, "HTMLImageElement10") != null) return; - var nodeList; - var testNode; - var vusemap; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "img"); - nodeList = doc.getElementsByTagName("img"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vusemap = testNode.useMap; - - assertEquals("useMapLink","#DTS-MAP",vusemap); - -} - - - - -function runTest() { - HTMLImageElement10(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement14.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement14.js deleted file mode 100644 index 65212eb..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement14.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement14"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "img"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -The lowSrc attribute specifies an URI designating a long description of -this image or frame. - -Retrieve the lowSrc attribute of the first IMG element and examine -its value. Should be "" since lowSrc is not a valid attribute for IMG. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-91256910 -*/ -function HTMLImageElement14() { - var success; - if(checkInitialization(builder, "HTMLImageElement14") != null) return; - var nodeList; - var testNode; - var vlow; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "img"); - nodeList = doc.getElementsByTagName("img"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vlow = testNode.lowSrc; - - assertEquals("lowLink","",vlow); - -} - - - - -function runTest() { - HTMLImageElement14(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement06.js deleted file mode 100644 index 52d1b31..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement06.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement06"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "input"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The align attribute aligns this object(vertically or horizontally) - with respect to the surrounding text. - - Retrieve the align attribute of the 4th INPUT element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96991182 -*/ -function HTMLInputElement06() { - var success; - if(checkInitialization(builder, "HTMLInputElement06") != null) return; - var nodeList; - var testNode; - var valign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "input"); - nodeList = doc.getElementsByTagName("input"); - assertSize("Asize",9,nodeList); -testNode = nodeList.item(3); - valign = testNode.align; - - assertEquals("alignLink","bottom".toLowerCase(),valign.toLowerCase()); - -} - - - - -function runTest() { - HTMLInputElement06(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement17.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement17.js deleted file mode 100644 index c0ebbf5..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement17.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement17"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "input"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The useMap attribute specifies the use of the client-side image map. - - Retrieve the useMap attribute of the 8th INPUT element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-32463706 -*/ -function HTMLInputElement17() { - var success; - if(checkInitialization(builder, "HTMLInputElement17") != null) return; - var nodeList; - var testNode; - var vusemap; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "input"); - nodeList = doc.getElementsByTagName("input"); - assertSize("Asize",9,nodeList); -testNode = nodeList.item(7); - vusemap = testNode.useMap; - - assertEquals("usemapLink","#submit-map",vusemap); - -} - - - - -function runTest() { - HTMLInputElement17(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement01.js deleted file mode 100644 index d125608..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement01.js +++ /dev/null @@ -1,122 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIsIndexElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "isindex"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The form attribute returns the FORM element containing this control. - - Retrieve the form attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87069980 -*/ -function HTMLIsIndexElement01() { - var success; - if(checkInitialization(builder, "HTMLIsIndexElement01") != null) return; - var nodeList; - var testNode; - var vform; - var fNode; - var doc; - var prompt; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "isindex"); - nodeList = doc.getElementsByTagName("isindex"); - testNode = nodeList.item(0); - assertNotNull("notnull",testNode); -prompt = testNode.prompt; - - assertEquals("IsIndex.Prompt","New Employee: ",prompt); - fNode = testNode.form; - - assertNotNull("formNotNull",fNode); -vform = fNode.id; - - assertEquals("formLink","form1",vform); - assertSize("Asize",2,nodeList); - -} - - - - -function runTest() { - HTMLIsIndexElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement02.js deleted file mode 100644 index 76bbf9c..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement02.js +++ /dev/null @@ -1,119 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIsIndexElement02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "isindex"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The form attribute returns null if control in not within the context of - form. - - Retrieve the form attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87069980 -*/ -function HTMLIsIndexElement02() { - var success; - if(checkInitialization(builder, "HTMLIsIndexElement02") != null) return; - var nodeList; - var testNode; - var vform; - var doc; - var prompt; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "isindex"); - nodeList = doc.getElementsByTagName("isindex"); - testNode = nodeList.item(1); - assertNotNull("notnull",testNode); -prompt = testNode.prompt; - - assertEquals("IsIndex.Prompt","Old Employee: ",prompt); - vform = testNode.form; - - assertNull("formNullLink",vform); - assertSize("Asize",2,nodeList); - -} - - - - -function runTest() { - HTMLIsIndexElement02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement03.js deleted file mode 100644 index 86d0c13..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement03.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIsIndexElement03"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "isindex"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The prompt attribute specifies the prompt message. - - Retrieve the prompt attribute of the 1st isindex element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33589862 -*/ -function HTMLIsIndexElement03() { - var success; - if(checkInitialization(builder, "HTMLIsIndexElement03") != null) return; - var nodeList; - var testNode; - var vprompt; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "isindex"); - nodeList = doc.getElementsByTagName("isindex"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vprompt = testNode.prompt; - - assertEquals("promptLink","New Employee: ",vprompt); - -} - - - - -function runTest() { - HTMLIsIndexElement03(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLIElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLIElement01.js deleted file mode 100644 index 1a95bb2..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLIElement01.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLIElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "li"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The type attribute is a list item bullet style. - - Retrieve the type attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52387668 -*/ -function HTMLLIElement01() { - var success; - if(checkInitialization(builder, "HTMLLIElement01") != null) return; - var nodeList; - var testNode; - var vtype; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "li"); - nodeList = doc.getElementsByTagName("li"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vtype = testNode.type; - - assertEquals("typeLink","square",vtype); - -} - - - - -function runTest() { - HTMLLIElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement01.js deleted file mode 100644 index cd03965..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement01.js +++ /dev/null @@ -1,117 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLegendElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "legend"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The form attribute returns the FORM element containing this control. - - Retrieve the form attribute from the first LEGEND element - and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-29594519 -*/ -function HTMLLegendElement01() { - var success; - if(checkInitialization(builder, "HTMLLegendElement01") != null) return; - var nodeList; - var testNode; - var vform; - var fNode; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "legend"); - nodeList = doc.getElementsByTagName("legend"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - fNode = testNode.form; - - vform = fNode.id; - - assertEquals("formLink","form1",vform); - -} - - - - -function runTest() { - HTMLLegendElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement02.js deleted file mode 100644 index b8395cc..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement02.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLegendElement02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "legend"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The form attribute returns null if control in not within the context of - form. - - Retrieve the second ELEMENT and examine its form element. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-29594519 -*/ -function HTMLLegendElement02() { - var success; - if(checkInitialization(builder, "HTMLLegendElement02") != null) return; - var nodeList; - var testNode; - var vform; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "legend"); - nodeList = doc.getElementsByTagName("legend"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(1); - vform = testNode.form; - - assertNull("formNullLink",vform); - -} - - - - -function runTest() { - HTMLLegendElement02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement03.js deleted file mode 100644 index 33fabad..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement03.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLegendElement03"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "legend"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The accessKey attribute is a single character access key to give access - to the form control. - - Retrieve the accessKey attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-11297832 -*/ -function HTMLLegendElement03() { - var success; - if(checkInitialization(builder, "HTMLLegendElement03") != null) return; - var nodeList; - var testNode; - var vaccesskey; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "legend"); - nodeList = doc.getElementsByTagName("legend"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vaccesskey = testNode.accessKey; - - assertEquals("accesskeyLink","b",vaccesskey); - -} - - - - -function runTest() { - HTMLLegendElement03(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement04.js deleted file mode 100644 index 510d114..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement04.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLegendElement04"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "legend"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The align attribute specifies the text alignment relative to FIELDSET. - - Retrieve the align attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-79538067 -*/ -function HTMLLegendElement04() { - var success; - if(checkInitialization(builder, "HTMLLegendElement04") != null) return; - var nodeList; - var testNode; - var valign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "legend"); - nodeList = doc.getElementsByTagName("legend"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - valign = testNode.align; - - assertEquals("alignLink","top",valign); - -} - - - - -function runTest() { - HTMLLegendElement04(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement02.js deleted file mode 100644 index 7768bee..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement02.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLinkElement02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "link"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The charset attribute indicates the character encoding of the linked - resource. - - Retrieve the charset attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63954491 -*/ -function HTMLLinkElement02() { - var success; - if(checkInitialization(builder, "HTMLLinkElement02") != null) return; - var nodeList; - var testNode; - var vcharset; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "link"); - nodeList = doc.getElementsByTagName("link"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vcharset = testNode.charset; - - assertEquals("charsetLink","Latin-1",vcharset); - -} - - - - -function runTest() { - HTMLLinkElement02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement07.js deleted file mode 100644 index c5597f8..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement07.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLinkElement07"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "link"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The rev attribute specifies the reverse link type. - - Retrieve the rev attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40715461 -*/ -function HTMLLinkElement07() { - var success; - if(checkInitialization(builder, "HTMLLinkElement07") != null) return; - var nodeList; - var testNode; - var vrev; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "link"); - nodeList = doc.getElementsByTagName("link"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(1); - vrev = testNode.rev; - - assertEquals("revLink","stylesheet",vrev); - -} - - - - -function runTest() { - HTMLLinkElement07(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement09.js deleted file mode 100644 index 050f9b8..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement09.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLinkElement09"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "link2"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The target attribute specifies the frame to render the resource in. - - Retrieve the target attribute and examine it's value. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-84183095 -*/ -function HTMLLinkElement09() { - var success; - if(checkInitialization(builder, "HTMLLinkElement09") != null) return; - var nodeList; - var testNode; - var vtarget; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "link2"); - nodeList = doc.getElementsByTagName("link"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vtarget = testNode.target; - - assertEquals("targetLink","dynamic",vtarget); - -} - - - - -function runTest() { - HTMLLinkElement09(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMapElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMapElement01.js deleted file mode 100644 index ab2b9c4..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMapElement01.js +++ /dev/null @@ -1,116 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLMapElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "map"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The areas attribute is a list of areas defined for the image map. - - Retrieve the areas attribute and find the number of areas defined. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71838730 -*/ -function HTMLMapElement01() { - var success; - if(checkInitialization(builder, "HTMLMapElement01") != null) return; - var nodeList; - var areasnodeList; - var testNode; - var vareas; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "map"); - nodeList = doc.getElementsByTagName("map"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - areasnodeList = testNode.areas; - - vareas = areasnodeList.length; - - assertEquals("areasLink",3,vareas); - -} - - - - -function runTest() { - HTMLMapElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMenuElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMenuElement01.js deleted file mode 100644 index c2ff01d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMenuElement01.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLMenuElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "menu"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The compact attribute specifies a boolean value on whether to display - the list more compactly. - - Retrieve the compact attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-68436464 -*/ -function HTMLMenuElement01() { - var success; - if(checkInitialization(builder, "HTMLMenuElement01") != null) return; - var nodeList; - var testNode; - var vcompact; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "menu"); - nodeList = doc.getElementsByTagName("menu"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vcompact = testNode.compact; - - assertTrue("compactLink",vcompact); - -} - - - - -function runTest() { - HTMLMenuElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOListElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOListElement01.js deleted file mode 100644 index 05aa1e6..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOListElement01.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOListElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "olist"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The compact attribute specifies a boolean value on whether to display - the list more compactly. - - Retrieve the compact attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76448506 -*/ -function HTMLOListElement01() { - var success; - if(checkInitialization(builder, "HTMLOListElement01") != null) return; - var nodeList; - var testNode; - var vcompact; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "olist"); - nodeList = doc.getElementsByTagName("ol"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vcompact = testNode.compact; - - assertTrue("compactLink",vcompact); - -} - - - - -function runTest() { - HTMLOListElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement02.js deleted file mode 100644 index 1cbaaa3..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement02.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "object"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -The code attribute specifies an Applet class file. - -Retrieve the code attribute of the second OBJECT element and examine -its value. Should be "" since CODE is not a valid attribute for OBJECT. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75241146 -*/ -function HTMLObjectElement02() { - var success; - if(checkInitialization(builder, "HTMLObjectElement02") != null) return; - var nodeList; - var testNode; - var vcode; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "object"); - nodeList = doc.getElementsByTagName("object"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(1); - vcode = testNode.code; - - assertEquals("codeLink","",vcode); - -} - - - - -function runTest() { - HTMLObjectElement02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement03.js deleted file mode 100644 index 0e37e00..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement03.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement03"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "object"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The align attribute specifies the alignment of this object with respect - to its surrounding text. - - Retrieve the align attribute of the first OBJECT element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-16962097 -*/ -function HTMLObjectElement03() { - var success; - if(checkInitialization(builder, "HTMLObjectElement03") != null) return; - var nodeList; - var testNode; - var valign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "object"); - nodeList = doc.getElementsByTagName("object"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - valign = testNode.align; - - assertEquals("alignLink","middle",valign); - -} - - - - -function runTest() { - HTMLObjectElement03(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement04.js deleted file mode 100644 index 8200dd1..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement04.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement04"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "object"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The archive attribute specifies a space-separated list of archives. - - Retrieve the archive attribute of the first OBJECT element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-47783837 -*/ -function HTMLObjectElement04() { - var success; - if(checkInitialization(builder, "HTMLObjectElement04") != null) return; - var nodeList; - var testNode; - var varchive; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "object"); - nodeList = doc.getElementsByTagName("object"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - varchive = testNode.archive; - - assertEquals("archiveLink","",varchive); - -} - - - - -function runTest() { - HTMLObjectElement04(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement05.js deleted file mode 100644 index 699a281..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement05.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement05"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "object"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The border attribute specifies the widht of the border around the object. - - Retrieve the border attribute of the first OBJECT element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-82818419 -*/ -function HTMLObjectElement05() { - var success; - if(checkInitialization(builder, "HTMLObjectElement05") != null) return; - var nodeList; - var testNode; - var vborder; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "object"); - nodeList = doc.getElementsByTagName("object"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vborder = testNode.border; - - assertEquals("borderLink","0",vborder); - -} - - - - -function runTest() { - HTMLObjectElement05(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement06.js deleted file mode 100644 index fbc1b94..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement06.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement06"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "object"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The codeBase attribute specifies the base URI for the classid, data and - archive attributes. - - Retrieve the codeBase attribute of the first OBJECT element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-25709136 -*/ -function HTMLObjectElement06() { - var success; - if(checkInitialization(builder, "HTMLObjectElement06") != null) return; - var nodeList; - var testNode; - var vcodebase; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "object"); - nodeList = doc.getElementsByTagName("object"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vcodebase = testNode.codeBase; - - assertURIEquals("codebaseLink",null,"//xw2k.sdct.itl.nist.gov/brady/dom/",null,null,null,null,null,null,vcodebase); - -} - - - - -function runTest() { - HTMLObjectElement06(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement07.js deleted file mode 100644 index e893e0f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement07.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement07"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "object"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The codeType attribute specifies the data downloaded via the classid - attribute. - - Retrieve the codeType attribute of the second OBJECT element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-19945008 -*/ -function HTMLObjectElement07() { - var success; - if(checkInitialization(builder, "HTMLObjectElement07") != null) return; - var nodeList; - var testNode; - var vcodetype; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "object"); - nodeList = doc.getElementsByTagName("object"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(1); - vcodetype = testNode.codeType; - - assertEquals("codetypeLink","image/gif",vcodetype); - -} - - - - -function runTest() { - HTMLObjectElement07(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement09.js deleted file mode 100644 index 3309870..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement09.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement09"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "object"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The declare attribute specifies this object should be declared only and - no instance of it should be created. - - Retrieve the declare attribute of the second OBJECT element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-942770 -*/ -function HTMLObjectElement09() { - var success; - if(checkInitialization(builder, "HTMLObjectElement09") != null) return; - var nodeList; - var testNode; - var vdeclare; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "object"); - nodeList = doc.getElementsByTagName("object"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(1); - vdeclare = testNode.declare; - - assertTrue("declareLink",vdeclare); - -} - - - - -function runTest() { - HTMLObjectElement09(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement12.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement12.js deleted file mode 100644 index ac365bb..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement12.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement12"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "object"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The standby attribute specifies a message to render while loading the - object. - - Retrieve the standby attribute of the first OBJECT element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-25039673 -*/ -function HTMLObjectElement12() { - var success; - if(checkInitialization(builder, "HTMLObjectElement12") != null) return; - var nodeList; - var testNode; - var vstandby; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "object"); - nodeList = doc.getElementsByTagName("object"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vstandby = testNode.standby; - - assertEquals("alignLink","Loading Image ...",vstandby); - -} - - - - -function runTest() { - HTMLObjectElement12(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement04.js deleted file mode 100644 index 838554c..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement04.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptionElement04"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "option"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The text attribute contains the text contained within the option element. - - Retrieve the text attribute from the second OPTION element - and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-48154426 -*/ -function HTMLOptionElement04() { - var success; - if(checkInitialization(builder, "HTMLOptionElement04") != null) return; - var nodeList; - var testNode; - var vtext; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "option"); - nodeList = doc.getElementsByTagName("option"); - assertSize("Asize",10,nodeList); -testNode = nodeList.item(1); - vtext = testNode.text; - - assertEquals("textLink","EMP10002",vtext); - -} - - - - -function runTest() { - HTMLOptionElement04(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement05.js deleted file mode 100644 index c3965f9..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement05.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptionElement05"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "option"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The index attribute indicates th index of this OPTION in ints parent - SELECT. - - Retrieve the index attribute from the seventh OPTION element - and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14038413 -*/ -function HTMLOptionElement05() { - var success; - if(checkInitialization(builder, "HTMLOptionElement05") != null) return; - var nodeList; - var testNode; - var vindex; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "option"); - nodeList = doc.getElementsByTagName("option"); - assertSize("Asize",10,nodeList); -testNode = nodeList.item(6); - vindex = testNode.index; - - assertEquals("indexLink",1,vindex); - -} - - - - -function runTest() { - HTMLOptionElement05(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement09.js deleted file mode 100644 index c10ea1c..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement09.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptionElement09"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "option"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The value attribute contains the current form control value. - - Retrieve the value attribute from the first OPTION element - and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6185554 -*/ -function HTMLOptionElement09() { - var success; - if(checkInitialization(builder, "HTMLOptionElement09") != null) return; - var nodeList; - var testNode; - var vvalue; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "option"); - nodeList = doc.getElementsByTagName("option"); - assertSize("Asize",10,nodeList); -testNode = nodeList.item(0); - vvalue = testNode.value; - - assertEquals("valueLink","10001",vvalue); - -} - - - - -function runTest() { - HTMLOptionElement09(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParagraphElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParagraphElement01.js deleted file mode 100644 index 64a86e0..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParagraphElement01.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLParagraphElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "paragraph"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The align attribute specifies the horizontal text alignment. - - Retrieve the align attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-53465507 -*/ -function HTMLParagraphElement01() { - var success; - if(checkInitialization(builder, "HTMLParagraphElement01") != null) return; - var nodeList; - var testNode; - var valign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "paragraph"); - nodeList = doc.getElementsByTagName("p"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - valign = testNode.align; - - assertEquals("alignLink","center",valign); - -} - - - - -function runTest() { - HTMLParagraphElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement01.js deleted file mode 100644 index c3d6c44..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement01.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLParamElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "param"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The name attribute specifies the name of the run-time parameter. - - Retrieve the name attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59871447 -*/ -function HTMLParamElement01() { - var success; - if(checkInitialization(builder, "HTMLParamElement01") != null) return; - var nodeList; - var testNode; - var vname; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "param"); - nodeList = doc.getElementsByTagName("param"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vname = testNode.name; - - assertEquals("nameLink","image3",vname); - -} - - - - -function runTest() { - HTMLParamElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement03.js deleted file mode 100644 index 48efd58..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement03.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLParamElement03"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "param"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The valueType attribute specifies information about the meaning of the - value specified by the value attribute. - - Retrieve the valueType attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-23931872 -*/ -function HTMLParamElement03() { - var success; - if(checkInitialization(builder, "HTMLParamElement03") != null) return; - var nodeList; - var testNode; - var vvaluetype; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "param"); - nodeList = doc.getElementsByTagName("param"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vvaluetype = testNode.valueType; - - assertEquals("valueTypeLink","ref",vvaluetype); - -} - - - - -function runTest() { - HTMLParamElement03(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement04.js deleted file mode 100644 index c6523e3..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement04.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLParamElement04"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "param"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The type attribute specifies the content type for the value attribute - when valuetype has the value ref. - - Retrieve the type attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-18179888 -*/ -function HTMLParamElement04() { - var success; - if(checkInitialization(builder, "HTMLParamElement04") != null) return; - var nodeList; - var testNode; - var vtype; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "param"); - nodeList = doc.getElementsByTagName("param"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vtype = testNode.type; - - assertEquals("typeLink","image/gif",vtype); - -} - - - - -function runTest() { - HTMLParamElement04(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLPreElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLPreElement01.js deleted file mode 100644 index b2c16f3..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLPreElement01.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLPreElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "pre"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The width attribute specifies the fixed width for content. - - Retrieve the width attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-13894083 -*/ -function HTMLPreElement01() { - var success; - if(checkInitialization(builder, "HTMLPreElement01") != null) return; - var nodeList; - var testNode; - var vwidth; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "pre"); - nodeList = doc.getElementsByTagName("pre"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vwidth = testNode.width; - - assertEquals("widthLink",277,vwidth); - -} - - - - -function runTest() { - HTMLPreElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCaptionElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCaptionElement01.js deleted file mode 100644 index e5947a8..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCaptionElement01.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCaptionElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecaption"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The align attribute specifies the caption alignment with respect to - the table. - - Retrieve the align attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-79875068 -*/ -function HTMLTableCaptionElement01() { - var success; - if(checkInitialization(builder, "HTMLTableCaptionElement01") != null) return; - var nodeList; - var testNode; - var valign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecaption"); - nodeList = doc.getElementsByTagName("caption"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - valign = testNode.align; - - assertEquals("alignLink","top",valign); - -} - - - - -function runTest() { - HTMLTableCaptionElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement01.js deleted file mode 100644 index dcc8a80..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement01.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The cellIndex attribute specifies the index of this cell in the row(TH). - - Retrieve the cellIndex attribute of the first TH element and examine its - value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-80748363 -*/ -function HTMLTableCellElement01() { - var success; - if(checkInitialization(builder, "HTMLTableCellElement01") != null) return; - var nodeList; - var testNode; - var vcellindex; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("th"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(0); - vcellindex = testNode.cellIndex; - - assertEquals("cellIndexLink",0,vcellindex); - -} - - - - -function runTest() { - HTMLTableCellElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement02.js deleted file mode 100644 index 049c770..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement02.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The cellIndex attribute specifies the index of this cell in the row(TD). - - Retrieve the cellIndex attribute of the first TD element and examine its - value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-80748363 -*/ -function HTMLTableCellElement02() { - var success; - if(checkInitialization(builder, "HTMLTableCellElement02") != null) return; - var nodeList; - var testNode; - var vcellindex; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("td"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(0); - vcellindex = testNode.cellIndex; - - assertEquals("cellIndexLink",0,vcellindex); - -} - - - - -function runTest() { - HTMLTableCellElement02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement03.js deleted file mode 100644 index 72ffe5f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement03.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement03"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The abbr attribute specifies the abbreviation for table header cells(TH). - - Retrieve the abbr attribute from the second TH element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-74444037 -*/ -function HTMLTableCellElement03() { - var success; - if(checkInitialization(builder, "HTMLTableCellElement03") != null) return; - var nodeList; - var testNode; - var vabbr; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("th"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(1); - vabbr = testNode.abbr; - - assertEquals("abbrLink","hd1",vabbr); - -} - - - - -function runTest() { - HTMLTableCellElement03(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement04.js deleted file mode 100644 index 2d41fe9..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement04.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement04"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The abbr attribute specifies the abbreviation for table data cells(TD). - - Retrieve the abbr attribute from the second TD element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-74444037 -*/ -function HTMLTableCellElement04() { - var success; - if(checkInitialization(builder, "HTMLTableCellElement04") != null) return; - var nodeList; - var testNode; - var vabbr; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("td"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(1); - vabbr = testNode.abbr; - - assertEquals("abbrLink","hd2",vabbr); - -} - - - - -function runTest() { - HTMLTableCellElement04(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement05.js deleted file mode 100644 index 90da834..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement05.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement05"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The align attribute specifies the horizontal alignment for table - header cells(TH). - - Retrieve the align attribute from the second TH element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98433879 -*/ -function HTMLTableCellElement05() { - var success; - if(checkInitialization(builder, "HTMLTableCellElement05") != null) return; - var nodeList; - var testNode; - var valign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("th"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(1); - valign = testNode.align; - - assertEquals("alignLink","center",valign); - -} - - - - -function runTest() { - HTMLTableCellElement05(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement06.js deleted file mode 100644 index 99ab7a0..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement06.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement06"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The align attribute specifies the horizontal alignment for table - data cells(TD). - - Retrieve the align attribute from the second TD element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98433879 -*/ -function HTMLTableCellElement06() { - var success; - if(checkInitialization(builder, "HTMLTableCellElement06") != null) return; - var nodeList; - var testNode; - var valign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("td"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(1); - valign = testNode.align; - - assertEquals("alignLink","center",valign); - -} - - - - -function runTest() { - HTMLTableCellElement06(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement07.js deleted file mode 100644 index b0e9c20..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement07.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement07"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The axis attribute specifies the names group of related headers for table - header cells(TH). - - Retrieve the align attribute from the second TH element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76554418 -*/ -function HTMLTableCellElement07() { - var success; - if(checkInitialization(builder, "HTMLTableCellElement07") != null) return; - var nodeList; - var testNode; - var vaxis; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("th"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(1); - vaxis = testNode.axis; - - assertEquals("axisLink","center",vaxis); - -} - - - - -function runTest() { - HTMLTableCellElement07(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement08.js deleted file mode 100644 index c051a8f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement08.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement08"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The axis attribute specifies the names group of related headers for table - data cells(TD). - - Retrieve the axis attribute from the second TD element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76554418 -*/ -function HTMLTableCellElement08() { - var success; - if(checkInitialization(builder, "HTMLTableCellElement08") != null) return; - var nodeList; - var testNode; - var vaxis; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("td"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(1); - vaxis = testNode.axis; - - assertEquals("axisLink","center",vaxis); - -} - - - - -function runTest() { - HTMLTableCellElement08(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement09.js deleted file mode 100644 index 05d1444..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement09.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement09"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The bgColor attribute specifies the cells background color for - table header cells(TH). - - Retrieve the bgColor attribute from the second TH element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88135431 -*/ -function HTMLTableCellElement09() { - var success; - if(checkInitialization(builder, "HTMLTableCellElement09") != null) return; - var nodeList; - var testNode; - var vbgcolor; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("th"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(1); - vbgcolor = testNode.bgColor; - - assertEquals("bgColorLink","#00FFFF".toLowerCase(),vbgcolor.toLowerCase()); - -} - - - - -function runTest() { - HTMLTableCellElement09(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement10.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement10.js deleted file mode 100644 index 798f16f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement10.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement10"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The bgColor attribute specifies the cells background color for table - data cells(TD). - - Retrieve the bgColor attribute from the second TD element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88135431 -*/ -function HTMLTableCellElement10() { - var success; - if(checkInitialization(builder, "HTMLTableCellElement10") != null) return; - var nodeList; - var testNode; - var vbgcolor; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("td"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(1); - vbgcolor = testNode.bgColor; - - assertEquals("bgColorLink","#FF0000".toLowerCase(),vbgcolor.toLowerCase()); - -} - - - - -function runTest() { - HTMLTableCellElement10(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement11.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement11.js deleted file mode 100644 index 452831c..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement11.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement11"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The char attribute specifies the alignment character for cells in a column - of table header cells(TH). - - Retrieve the char attribute from the second TH element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-30914780 -*/ -function HTMLTableCellElement11() { - var success; - if(checkInitialization(builder, "HTMLTableCellElement11") != null) return; - var nodeList; - var testNode; - var vch; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("th"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(1); - vch = testNode.ch; - - assertEquals("chLink",":",vch); - -} - - - - -function runTest() { - HTMLTableCellElement11(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement12.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement12.js deleted file mode 100644 index d27b212..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement12.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement12"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The char attribute specifies the alignment character for cells in a column - of table data cells(TD). - - Retrieve the char attribute from the second TD element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-30914780 -*/ -function HTMLTableCellElement12() { - var success; - if(checkInitialization(builder, "HTMLTableCellElement12") != null) return; - var nodeList; - var testNode; - var vch; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("td"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(1); - vch = testNode.ch; - - assertEquals("chLink",":",vch); - -} - - - - -function runTest() { - HTMLTableCellElement12(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement13.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement13.js deleted file mode 100644 index 5604e67..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement13.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement13"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The charoff attribute specifies the offset of alignment characacter - of table header cells(TH). - - Retrieve the charoff attribute from the second TH element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-20144310 -*/ -function HTMLTableCellElement13() { - var success; - if(checkInitialization(builder, "HTMLTableCellElement13") != null) return; - var nodeList; - var testNode; - var vcharoff; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("th"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(1); - vcharoff = testNode.chOff; - - assertEquals("chOffLink","1",vcharoff); - -} - - - - -function runTest() { - HTMLTableCellElement13(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement14.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement14.js deleted file mode 100644 index ae6b77c..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement14.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement14"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The charoff attribute specifies the offset of alignment character - of table data cells(TD). - - Retrieve the charoff attribute from the second TD element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-20144310 -*/ -function HTMLTableCellElement14() { - var success; - if(checkInitialization(builder, "HTMLTableCellElement14") != null) return; - var nodeList; - var testNode; - var vcharoff; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("td"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(1); - vcharoff = testNode.chOff; - - assertEquals("chOffLink","1",vcharoff); - -} - - - - -function runTest() { - HTMLTableCellElement14(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement17.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement17.js deleted file mode 100644 index abd17f1..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement17.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement17"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The headers attribute specifies a list of id attribute values for - table header cells(TH). - - Retrieve the headers attribute from the second TH element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-89104817 -*/ -function HTMLTableCellElement17() { - var success; - if(checkInitialization(builder, "HTMLTableCellElement17") != null) return; - var nodeList; - var testNode; - var vheaders; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("th"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(1); - vheaders = testNode.headers; - - assertEquals("headersLink","header-1",vheaders); - -} - - - - -function runTest() { - HTMLTableCellElement17(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement18.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement18.js deleted file mode 100644 index fec2282..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement18.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement18"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The headers attribute specifies a list of id attribute values for - table data cells(TD). - - Retrieve the headers attribute from the second TD element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-89104817 -*/ -function HTMLTableCellElement18() { - var success; - if(checkInitialization(builder, "HTMLTableCellElement18") != null) return; - var nodeList; - var testNode; - var vheaders; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("td"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(1); - vheaders = testNode.headers; - - assertEquals("headersLink","header-3",vheaders); - -} - - - - -function runTest() { - HTMLTableCellElement18(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement19.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement19.js deleted file mode 100644 index 73ab423..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement19.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement19"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The height attribute specifies the cell height. - - Retrieve the height attribute from the second TH element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83679212 -*/ -function HTMLTableCellElement19() { - var success; - if(checkInitialization(builder, "HTMLTableCellElement19") != null) return; - var nodeList; - var testNode; - var vheight; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("th"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(1); - vheight = testNode.height; - - assertEquals("heightLink","50",vheight); - -} - - - - -function runTest() { - HTMLTableCellElement19(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement20.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement20.js deleted file mode 100644 index cf122ff..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement20.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement20"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The height attribute specifies the cell height. - - Retrieve the height attribute from the second TD element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83679212 -*/ -function HTMLTableCellElement20() { - var success; - if(checkInitialization(builder, "HTMLTableCellElement20") != null) return; - var nodeList; - var testNode; - var vheight; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("td"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(1); - vheight = testNode.height; - - assertEquals("heightLink","50",vheight); - -} - - - - -function runTest() { - HTMLTableCellElement20(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement21.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement21.js deleted file mode 100644 index 68edd32..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement21.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement21"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The noWrap attribute supresses word wrapping. - - Retrieve the noWrap attribute of the second TH Element and - examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-62922045 -*/ -function HTMLTableCellElement21() { - var success; - if(checkInitialization(builder, "HTMLTableCellElement21") != null) return; - var nodeList; - var testNode; - var vnowrap; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("th"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(1); - vnowrap = testNode.noWrap; - - assertTrue("noWrapLink",vnowrap); - -} - - - - -function runTest() { - HTMLTableCellElement21(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement22.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement22.js deleted file mode 100644 index 441ee84..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement22.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement22"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The noWrap attribute supresses word wrapping. - - Retrieve the noWrap attribute of the second TD Element and - examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-62922045 -*/ -function HTMLTableCellElement22() { - var success; - if(checkInitialization(builder, "HTMLTableCellElement22") != null) return; - var nodeList; - var testNode; - var vnowrap; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("td"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(1); - vnowrap = testNode.noWrap; - - assertTrue("noWrapLink",vnowrap); - -} - - - - -function runTest() { - HTMLTableCellElement22(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement26.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement26.js deleted file mode 100644 index 36813b2..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement26.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement26"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The scope attribute specifies the scope covered by data cells. - - Retrieve the scope attribute from the second TD element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-36139952 -*/ -function HTMLTableCellElement26() { - var success; - if(checkInitialization(builder, "HTMLTableCellElement26") != null) return; - var nodeList; - var testNode; - var vscope; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("td"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(1); - vscope = testNode.scope; - - assertEquals("scopeLink","col",vscope); - -} - - - - -function runTest() { - HTMLTableCellElement26(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement27.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement27.js deleted file mode 100644 index a861962..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement27.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement27"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The vAlign attribute specifies the vertical alignment of data in cell. - - Retrieve the vAlign attribute from the second TH element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-58284221 -*/ -function HTMLTableCellElement27() { - var success; - if(checkInitialization(builder, "HTMLTableCellElement27") != null) return; - var nodeList; - var testNode; - var vvalign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("th"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(1); - vvalign = testNode.vAlign; - - assertEquals("vAlignLink","middle",vvalign); - -} - - - - -function runTest() { - HTMLTableCellElement27(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement28.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement28.js deleted file mode 100644 index 00c1c9f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement28.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement28"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The vAlign attribute specifies the vertical alignment of data in cell. - - Retrieve the vAlign attribute from the second TD element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-58284221 -*/ -function HTMLTableCellElement28() { - var success; - if(checkInitialization(builder, "HTMLTableCellElement28") != null) return; - var nodeList; - var testNode; - var vvalign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("td"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(1); - vvalign = testNode.vAlign; - - assertEquals("vAlignLink","middle",vvalign); - -} - - - - -function runTest() { - HTMLTableCellElement28(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement29.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement29.js deleted file mode 100644 index 1655b67..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement29.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement29"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The width attribute specifies the cells width. - - Retrieve the width attribute from the second TH element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-27480795 -*/ -function HTMLTableCellElement29() { - var success; - if(checkInitialization(builder, "HTMLTableCellElement29") != null) return; - var nodeList; - var testNode; - var vwidth; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("th"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(1); - vwidth = testNode.width; - - assertEquals("widthLink","170",vwidth); - -} - - - - -function runTest() { - HTMLTableCellElement29(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement30.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement30.js deleted file mode 100644 index 6f54987..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement30.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement30"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The width attribute specifies the cells width. - - Retrieve the width attribute from the second TD element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-27480795 -*/ -function HTMLTableCellElement30() { - var success; - if(checkInitialization(builder, "HTMLTableCellElement30") != null) return; - var nodeList; - var testNode; - var vwidth; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("td"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(1); - vwidth = testNode.width; - - assertEquals("widthLink","175",vwidth); - -} - - - - -function runTest() { - HTMLTableCellElement30(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement01.js deleted file mode 100644 index 7b58a8e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement01.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecol"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The align attribute specifies the horizontal alignment of cell data - in column(COL). - - Retrieve the align attribute from the COL element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-31128447 -*/ -function HTMLTableColElement01() { - var success; - if(checkInitialization(builder, "HTMLTableColElement01") != null) return; - var nodeList; - var testNode; - var valign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecol"); - nodeList = doc.getElementsByTagName("col"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - valign = testNode.align; - - assertEquals("alignLink","center",valign); - -} - - - - -function runTest() { - HTMLTableColElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement02.js deleted file mode 100644 index 637aa7a..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement02.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecol"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The align attribute specifies the horizontal alignment of cell data - in column(COLGROUP). - - Retrieve the align attribute from the COLGROUP element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-31128447 -*/ -function HTMLTableColElement02() { - var success; - if(checkInitialization(builder, "HTMLTableColElement02") != null) return; - var nodeList; - var testNode; - var valign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecol"); - nodeList = doc.getElementsByTagName("colgroup"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - valign = testNode.align; - - assertEquals("alignLink","center",valign); - -} - - - - -function runTest() { - HTMLTableColElement02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement03.js deleted file mode 100644 index 754b82e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement03.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement03"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecol"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The char attribute specifies the alignment character for cells - in a column(COL). - - Retrieve the char attribute from the COL element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-9447412 -*/ -function HTMLTableColElement03() { - var success; - if(checkInitialization(builder, "HTMLTableColElement03") != null) return; - var nodeList; - var testNode; - var vch; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecol"); - nodeList = doc.getElementsByTagName("col"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vch = testNode.ch; - - assertEquals("chLink","*",vch); - -} - - - - -function runTest() { - HTMLTableColElement03(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement04.js deleted file mode 100644 index 89c959f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement04.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement04"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecol"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The char attribute specifies the alignment character for cells - in a column(COLGROUP). - - Retrieve the char attribute from the COLGROUP element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-9447412 -*/ -function HTMLTableColElement04() { - var success; - if(checkInitialization(builder, "HTMLTableColElement04") != null) return; - var nodeList; - var testNode; - var vch; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecol"); - nodeList = doc.getElementsByTagName("colgroup"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vch = testNode.ch; - - assertEquals("chLink","$",vch); - -} - - - - -function runTest() { - HTMLTableColElement04(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement05.js deleted file mode 100644 index b959a5f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement05.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement05"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecol"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The charoff attribute specifies offset of alignment character(COL). - - Retrieve the charoff attribute from the COL element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-57779225 -*/ -function HTMLTableColElement05() { - var success; - if(checkInitialization(builder, "HTMLTableColElement05") != null) return; - var nodeList; - var testNode; - var vchoff; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecol"); - nodeList = doc.getElementsByTagName("col"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vchoff = testNode.chOff; - - assertEquals("chLink","20",vchoff); - -} - - - - -function runTest() { - HTMLTableColElement05(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement06.js deleted file mode 100644 index 5c7275c..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement06.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement06"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecol"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The charoff attribute specifies offset of alignment character(COLGROUP). - - Retrieve the charoff attribute from the COLGROUP element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-57779225 -*/ -function HTMLTableColElement06() { - var success; - if(checkInitialization(builder, "HTMLTableColElement06") != null) return; - var nodeList; - var testNode; - var vchoff; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecol"); - nodeList = doc.getElementsByTagName("colgroup"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vchoff = testNode.chOff; - - assertEquals("chLink","15",vchoff); - -} - - - - -function runTest() { - HTMLTableColElement06(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement09.js deleted file mode 100644 index 8b49c29..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement09.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement09"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecol"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The vAlign attribute specifies the vertical alignment of cell data - in column(COL). - - Retrieve the vAlign attribute from the COL element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83291710 -*/ -function HTMLTableColElement09() { - var success; - if(checkInitialization(builder, "HTMLTableColElement09") != null) return; - var nodeList; - var testNode; - var vvalign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecol"); - nodeList = doc.getElementsByTagName("col"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vvalign = testNode.vAlign; - - assertEquals("vAlignLink","middle",vvalign); - -} - - - - -function runTest() { - HTMLTableColElement09(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement10.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement10.js deleted file mode 100644 index a18ec5c..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement10.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement10"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecol"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The vAlign attribute specifies the vertical alignment of cell data - in column(COLGROUP). - - Retrieve the vAlign attribute from the COLGROUP element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83291710 -*/ -function HTMLTableColElement10() { - var success; - if(checkInitialization(builder, "HTMLTableColElement10") != null) return; - var nodeList; - var testNode; - var vvalign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecol"); - nodeList = doc.getElementsByTagName("colgroup"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vvalign = testNode.vAlign; - - assertEquals("vAlignLink","middle",vvalign); - -} - - - - -function runTest() { - HTMLTableColElement10(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement11.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement11.js deleted file mode 100644 index 690c21f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement11.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement11"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecol"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The width attribute specifies the default column width(COL). - - Retrieve the width attribute from the COL element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-25196799 -*/ -function HTMLTableColElement11() { - var success; - if(checkInitialization(builder, "HTMLTableColElement11") != null) return; - var nodeList; - var testNode; - var vwidth; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecol"); - nodeList = doc.getElementsByTagName("col"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vwidth = testNode.width; - - assertEquals("widthLink","20",vwidth); - -} - - - - -function runTest() { - HTMLTableColElement11(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement12.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement12.js deleted file mode 100644 index 00a0106..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement12.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement12"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecol"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The width attribute specifies the default column width(COLGORUP). - - Retrieve the width attribute from the COLGROUP element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-25196799 -*/ -function HTMLTableColElement12() { - var success; - if(checkInitialization(builder, "HTMLTableColElement12") != null) return; - var nodeList; - var testNode; - var vwidth; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecol"); - nodeList = doc.getElementsByTagName("colgroup"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vwidth = testNode.width; - - assertEquals("widthLink","20",vwidth); - -} - - - - -function runTest() { - HTMLTableColElement12(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement01.js deleted file mode 100644 index e293873..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement01.js +++ /dev/null @@ -1,117 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The caption attribute returns the tables CAPTION. - - Retrieve the align attribute of the CAPTION element from the second - TABLE element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14594520 -*/ -function HTMLTableElement01() { - var success; - if(checkInitialization(builder, "HTMLTableElement01") != null) return; - var nodeList; - var testNode; - var vcaption; - var valign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(1); - vcaption = testNode.caption; - - valign = vcaption.align; - - assertEquals("alignLink","top",valign); - -} - - - - -function runTest() { - HTMLTableElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement03.js deleted file mode 100644 index 15a53ff..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement03.js +++ /dev/null @@ -1,117 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement03"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The tHead attribute returns the tables THEAD. - - Retrieve the align attribute of the THEAD element from the second - TABLE element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-9530944 -*/ -function HTMLTableElement03() { - var success; - if(checkInitialization(builder, "HTMLTableElement03") != null) return; - var nodeList; - var testNode; - var vsection; - var valign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(1); - vsection = testNode.tHead; - - valign = vsection.align; - - assertEquals("alignLink","center",valign); - -} - - - - -function runTest() { - HTMLTableElement03(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement05.js deleted file mode 100644 index e3ca76a..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement05.js +++ /dev/null @@ -1,117 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement05"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The tFoot attribute returns the tables TFOOT. - - Retrieve the align attribute of the TFOOT element from the second - TABLE element and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097 -*/ -function HTMLTableElement05() { - var success; - if(checkInitialization(builder, "HTMLTableElement05") != null) return; - var nodeList; - var testNode; - var vsection; - var valign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(1); - vsection = testNode.tFoot; - - valign = vsection.align; - - assertEquals("alignLink","center",valign); - -} - - - - -function runTest() { - HTMLTableElement05(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement10.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement10.js deleted file mode 100644 index bbd3801..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement10.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement10"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The align attribute specifies the table's position with respect to the - rest of the document. - - Retrieve the align attribute of the first TABLE element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-23180977 -*/ -function HTMLTableElement10() { - var success; - if(checkInitialization(builder, "HTMLTableElement10") != null) return; - var nodeList; - var testNode; - var valign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(0); - valign = testNode.align; - - assertEquals("alignLink","center",valign); - -} - - - - -function runTest() { - HTMLTableElement10(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement11.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement11.js deleted file mode 100644 index f8172e4..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement11.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement11"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The bgColor attribute specifies cell background color. - - Retrieve the bgColor attribute of the first TABLE element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83532985 -*/ -function HTMLTableElement11() { - var success; - if(checkInitialization(builder, "HTMLTableElement11") != null) return; - var nodeList; - var testNode; - var vbgcolor; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(1); - vbgcolor = testNode.bgColor; - - assertEquals("bgColorLink","#ff0000",vbgcolor); - -} - - - - -function runTest() { - HTMLTableElement11(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement13.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement13.js deleted file mode 100644 index 4f2ba8f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement13.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement13"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The cellpadding attribute specifies the horizontal and vertical space - between cell content and cell borders. - - Retrieve the cellpadding attribute of the first TABLE element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59162158 -*/ -function HTMLTableElement13() { - var success; - if(checkInitialization(builder, "HTMLTableElement13") != null) return; - var nodeList; - var testNode; - var vcellpadding; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(1); - vcellpadding = testNode.cellPadding; - - assertEquals("cellPaddingLink","2",vcellpadding); - -} - - - - -function runTest() { - HTMLTableElement13(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement14.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement14.js deleted file mode 100644 index d2ff13f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement14.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement14"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The cellSpacing attribute specifies the horizontal and vertical separation - between cells. - - Retrieve the cellSpacing attribute of the first TABLE element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-68907883 -*/ -function HTMLTableElement14() { - var success; - if(checkInitialization(builder, "HTMLTableElement14") != null) return; - var nodeList; - var testNode; - var cellSpacing; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(1); - cellSpacing = testNode.cellSpacing; - - assertEquals("cellSpacingLink","2",cellSpacing); - -} - - - - -function runTest() { - HTMLTableElement14(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement15.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement15.js deleted file mode 100644 index 5f5f8da..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement15.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement15"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The frame attribute specifies which external table borders to render. - - Retrieve the frame attribute of the first TABLE element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64808476 -*/ -function HTMLTableElement15() { - var success; - if(checkInitialization(builder, "HTMLTableElement15") != null) return; - var nodeList; - var testNode; - var vframe; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(1); - vframe = testNode.frame; - - assertEquals("frameLink","border",vframe); - -} - - - - -function runTest() { - HTMLTableElement15(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement16.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement16.js deleted file mode 100644 index 54cdbe0..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement16.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement16"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The rules attribute specifies which internal table borders to render. - - Retrieve the rules attribute of the first TABLE element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-26347553 -*/ -function HTMLTableElement16() { - var success; - if(checkInitialization(builder, "HTMLTableElement16") != null) return; - var nodeList; - var testNode; - var vrules; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(1); - vrules = testNode.rules; - - assertEquals("rulesLink","all",vrules); - -} - - - - -function runTest() { - HTMLTableElement16(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement17.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement17.js deleted file mode 100644 index 361a908..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement17.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement17"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The summary attribute is a description about the purpose or structure - of a table. - - Retrieve the summary attribute of the first TABLE element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-44998528 -*/ -function HTMLTableElement17() { - var success; - if(checkInitialization(builder, "HTMLTableElement17") != null) return; - var nodeList; - var testNode; - var vsummary; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(1); - vsummary = testNode.summary; - - assertEquals("summaryLink","HTML Control Table",vsummary); - -} - - - - -function runTest() { - HTMLTableElement17(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement18.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement18.js deleted file mode 100644 index ca51828..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement18.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement18"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The width attribute specifies the desired table width. - - Retrieve the width attribute of the first TABLE element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-77447361 -*/ -function HTMLTableElement18() { - var success; - if(checkInitialization(builder, "HTMLTableElement18") != null) return; - var nodeList; - var testNode; - var vwidth; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(1); - vwidth = testNode.width; - - assertEquals("widthLink","680",vwidth); - -} - - - - -function runTest() { - HTMLTableElement18(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement02.js deleted file mode 100644 index 63d0e5e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement02.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablerow"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The sectionRowIndex attribute specifies the index of this row, relative - to the current section(THEAD, TFOOT, or TBODY),starting from 0. - - Retrieve the second TR(1st In THEAD) element within the document and - examine its sectionRowIndex value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-79105901 -*/ -function HTMLTableRowElement02() { - var success; - if(checkInitialization(builder, "HTMLTableRowElement02") != null) return; - var nodeList; - var testNode; - var vsectionrowindex; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablerow"); - nodeList = doc.getElementsByTagName("tr"); - assertSize("Asize",5,nodeList); -testNode = nodeList.item(1); - vsectionrowindex = testNode.sectionRowIndex; - - assertEquals("sectionRowIndexLink",0,vsectionrowindex); - -} - - - - -function runTest() { - HTMLTableRowElement02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement03.js deleted file mode 100644 index 6c2f8aa..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement03.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement03"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablerow"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The sectionRowIndex attribute specifies the index of this row, relative - to the current section(THEAD, TFOOT, or TBODY),starting from 0. - - Retrieve the third TR(1st In TFOOT) element within the document and - examine its sectionRowIndex value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-79105901 -*/ -function HTMLTableRowElement03() { - var success; - if(checkInitialization(builder, "HTMLTableRowElement03") != null) return; - var nodeList; - var testNode; - var vsectionrowindex; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablerow"); - nodeList = doc.getElementsByTagName("tr"); - assertSize("Asize",5,nodeList); -testNode = nodeList.item(2); - vsectionrowindex = testNode.sectionRowIndex; - - assertEquals("sectionRowIndexLink",0,vsectionrowindex); - -} - - - - -function runTest() { - HTMLTableRowElement03(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement04.js deleted file mode 100644 index bea897c..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement04.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement04"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablerow"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The sectionRowIndex attribute specifies the index of this row, relative - to the current section(THEAD, TFOOT, or TBODY),starting from 0. - - Retrieve the fifth TR(2nd In TBODY) element within the document and - examine its sectionRowIndex value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-79105901 -*/ -function HTMLTableRowElement04() { - var success; - if(checkInitialization(builder, "HTMLTableRowElement04") != null) return; - var nodeList; - var testNode; - var vsectionrowindex; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablerow"); - nodeList = doc.getElementsByTagName("tr"); - assertSize("Asize",5,nodeList); -testNode = nodeList.item(4); - vsectionrowindex = testNode.sectionRowIndex; - - assertEquals("sectionRowIndexLink",1,vsectionrowindex); - -} - - - - -function runTest() { - HTMLTableRowElement04(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement06.js deleted file mode 100644 index 4251d3d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement06.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement06"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablerow"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The align attribute specifies the horizontal alignment of data within - cells of this row. - - Retrieve the align attribute of the second TR element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-74098257 -*/ -function HTMLTableRowElement06() { - var success; - if(checkInitialization(builder, "HTMLTableRowElement06") != null) return; - var nodeList; - var testNode; - var valign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablerow"); - nodeList = doc.getElementsByTagName("tr"); - assertSize("Asize",5,nodeList); -testNode = nodeList.item(1); - valign = testNode.align; - - assertEquals("alignLink","center",valign); - -} - - - - -function runTest() { - HTMLTableRowElement06(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement07.js deleted file mode 100644 index 0c2c25a..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement07.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement07"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablerow"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The bgColor attribute specifies the background color of rows. - - Retrieve the bgColor attribute of the second TR element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-18161327 -*/ -function HTMLTableRowElement07() { - var success; - if(checkInitialization(builder, "HTMLTableRowElement07") != null) return; - var nodeList; - var testNode; - var vbgcolor; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablerow"); - nodeList = doc.getElementsByTagName("tr"); - assertSize("Asize",5,nodeList); -testNode = nodeList.item(1); - vbgcolor = testNode.bgColor; - - assertEquals("bgColorLink","#00FFFF".toLowerCase(),vbgcolor.toLowerCase()); - -} - - - - -function runTest() { - HTMLTableRowElement07(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement08.js deleted file mode 100644 index a46b6d7..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement08.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement08"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablerow"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The ch attribute specifies the alignment character for cells in a column. - - Retrieve the char attribute of the second TR element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-16230502 -*/ -function HTMLTableRowElement08() { - var success; - if(checkInitialization(builder, "HTMLTableRowElement08") != null) return; - var nodeList; - var testNode; - var vch; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablerow"); - nodeList = doc.getElementsByTagName("tr"); - assertSize("Asize",5,nodeList); -testNode = nodeList.item(1); - vch = testNode.ch; - - assertEquals("chLink","*",vch); - -} - - - - -function runTest() { - HTMLTableRowElement08(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement09.js deleted file mode 100644 index 5857a65..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement09.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement09"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablerow"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The chOff attribute specifies the offset of alignment character. - - Retrieve the charoff attribute of the second TR element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-68207461 -*/ -function HTMLTableRowElement09() { - var success; - if(checkInitialization(builder, "HTMLTableRowElement09") != null) return; - var nodeList; - var testNode; - var vchoff; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablerow"); - nodeList = doc.getElementsByTagName("tr"); - assertSize("Asize",5,nodeList); -testNode = nodeList.item(1); - vchoff = testNode.chOff; - - assertEquals("charOffLink","1",vchoff); - -} - - - - -function runTest() { - HTMLTableRowElement09(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement10.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement10.js deleted file mode 100644 index 2025f05..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement10.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement10"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablerow"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The vAlign attribute specifies the vertical alignment of data within - cells of this row. - - Retrieve the vAlign attribute of the second TR element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-90000058 -*/ -function HTMLTableRowElement10() { - var success; - if(checkInitialization(builder, "HTMLTableRowElement10") != null) return; - var nodeList; - var testNode; - var vvalign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablerow"); - nodeList = doc.getElementsByTagName("tr"); - assertSize("Asize",5,nodeList); -testNode = nodeList.item(1); - vvalign = testNode.vAlign; - - assertEquals("vAlignLink","middle",vvalign); - -} - - - - -function runTest() { - HTMLTableRowElement10(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement11.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement11.js deleted file mode 100644 index 8ab3b31..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement11.js +++ /dev/null @@ -1,144 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement11"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablerow"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The insertCell() method inserts an empty TD cell into this row. - - - Retrieve the fourth TR element and examine the value of - the cells length attribute which should be set to six. - Check the value of the first TD element. Invoke the - insertCell() which will create an empty TD cell at the - zero index position. Check the value of the newly created - cell and make sure it is null and also the numbers of cells - should now be seven. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-68927016 -*/ -function HTMLTableRowElement11() { - var success; - if(checkInitialization(builder, "HTMLTableRowElement11") != null) return; - var nodeList; - var cellsnodeList; - var testNode; - var trNode; - var cellNode; - var value; - var newCell; - var vcells; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablerow"); - nodeList = doc.getElementsByTagName("tr"); - assertSize("Asize",5,nodeList); -testNode = nodeList.item(3); - cellsnodeList = testNode.cells; - - vcells = cellsnodeList.length; - - assertEquals("cellsLink1",6,vcells); - trNode = cellsnodeList.item(0); - cellNode = trNode.firstChild; - - value = cellNode.nodeValue; - - assertEquals("value1Link","EMP0001",value); - newCell = testNode.insertCell(0); - testNode = nodeList.item(3); - cellsnodeList = testNode.cells; - - vcells = cellsnodeList.length; - - assertEquals("cellsLink2",7,vcells); - trNode = cellsnodeList.item(0); - cellNode = trNode.firstChild; - - assertNull("value2Link",cellNode); - -} - - - - -function runTest() { - HTMLTableRowElement11(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement12.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement12.js deleted file mode 100644 index f0b1490..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement12.js +++ /dev/null @@ -1,143 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement12"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablerow"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The insertCell() method inserts an empty TD cell into this row. - - - Retrieve the fourth TR element and examine the value of - the cells length attribute which should be set to six. - Check the value of the last TD element. Invoke the - insertCell() which will append the empty cell to the end of the list. - Check the value of the newly created cell and make sure it is null - and also the numbers of cells should now be seven. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-68927016 -*/ -function HTMLTableRowElement12() { - var success; - if(checkInitialization(builder, "HTMLTableRowElement12") != null) return; - var nodeList; - var cellsnodeList; - var testNode; - var trNode; - var cellNode; - var value; - var newCell; - var vcells; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablerow"); - nodeList = doc.getElementsByTagName("tr"); - assertSize("Asize",5,nodeList); -testNode = nodeList.item(3); - cellsnodeList = testNode.cells; - - vcells = cellsnodeList.length; - - assertEquals("cellsLink1",6,vcells); - trNode = cellsnodeList.item(5); - cellNode = trNode.firstChild; - - value = cellNode.nodeValue; - - assertEquals("value1Link","1230 North Ave. Dallas, Texas 98551",value); - newCell = testNode.insertCell(6); - testNode = nodeList.item(3); - cellsnodeList = testNode.cells; - - vcells = cellsnodeList.length; - - assertEquals("cellsLink2",7,vcells); - trNode = cellsnodeList.item(6); - cellNode = trNode.firstChild; - - assertNull("value2Link",cellNode); - -} - - - - -function runTest() { - HTMLTableRowElement12(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement13.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement13.js deleted file mode 100644 index 4f249d0..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement13.js +++ /dev/null @@ -1,144 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement13"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablerow"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The deleteCell() method deletes a cell from the current row. - - - Retrieve the fourth TR element and examine the value of - the cells length attribute which should be set to six. - Check the value of the first TD element. Invoke the - deleteCell() method which will delete a cell from the current row. - Check the value of the cell at the zero index and also check - the number of cells which should now be five. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-11738598 -*/ -function HTMLTableRowElement13() { - var success; - if(checkInitialization(builder, "HTMLTableRowElement13") != null) return; - var nodeList; - var cellsnodeList; - var testNode; - var trNode; - var cellNode; - var value; - var vcells; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablerow"); - nodeList = doc.getElementsByTagName("tr"); - assertSize("Asize",5,nodeList); -testNode = nodeList.item(3); - cellsnodeList = testNode.cells; - - vcells = cellsnodeList.length; - - assertEquals("cellsLink1",6,vcells); - trNode = cellsnodeList.item(0); - cellNode = trNode.firstChild; - - value = cellNode.nodeValue; - - assertEquals("value1Link","EMP0001",value); - testNode.deleteCell(0); - testNode = nodeList.item(3); - cellsnodeList = testNode.cells; - - vcells = cellsnodeList.length; - - assertEquals("cellsLink2",5,vcells); - trNode = cellsnodeList.item(0); - cellNode = trNode.firstChild; - - value = cellNode.nodeValue; - - assertEquals("value2Link","Margaret Martin",value); - -} - - - - -function runTest() { - HTMLTableRowElement13(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement14.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement14.js deleted file mode 100644 index e9cef6e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement14.js +++ /dev/null @@ -1,144 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement14"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablerow"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The deleteCell() method deletes a cell from the current row. - - - Retrieve the fourth TR element and examine the value of - the cells length attribute which should be set to six. - Check the value of the third(index 2) TD element. Invoke the - deleteCell() method which will delete a cell from the current row. - Check the value of the third cell(index 2) and also check - the number of cells which should now be five. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-11738598 -*/ -function HTMLTableRowElement14() { - var success; - if(checkInitialization(builder, "HTMLTableRowElement14") != null) return; - var nodeList; - var cellsnodeList; - var testNode; - var trNode; - var cellNode; - var value; - var vcells; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablerow"); - nodeList = doc.getElementsByTagName("tr"); - assertSize("Asize",5,nodeList); -testNode = nodeList.item(3); - cellsnodeList = testNode.cells; - - vcells = cellsnodeList.length; - - assertEquals("cellsLink1",6,vcells); - trNode = cellsnodeList.item(2); - cellNode = trNode.firstChild; - - value = cellNode.nodeValue; - - assertEquals("value1Link","Accountant",value); - testNode.deleteCell(2); - testNode = nodeList.item(3); - cellsnodeList = testNode.cells; - - vcells = cellsnodeList.length; - - assertEquals("cellsLink2",5,vcells); - trNode = cellsnodeList.item(2); - cellNode = trNode.firstChild; - - value = cellNode.nodeValue; - - assertEquals("value2Link","56,000",value); - -} - - - - -function runTest() { - HTMLTableRowElement14(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement01.js deleted file mode 100644 index 306d52e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement01.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablesection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The align attribute specifies the horizontal alignment of data within - cells. - - Retrieve the align attribute of the first THEAD element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40530119 -*/ -function HTMLTableSectionElement01() { - var success; - if(checkInitialization(builder, "HTMLTableSectionElement01") != null) return; - var nodeList; - var testNode; - var valign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablesection"); - nodeList = doc.getElementsByTagName("thead"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - valign = testNode.align; - - assertEquals("alignLink","center",valign); - -} - - - - -function runTest() { - HTMLTableSectionElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement02.js deleted file mode 100644 index a2aee27..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement02.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablesection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The align attribute specifies the horizontal alignment of data within - cells. - - Retrieve the align attribute of the first TFOOT element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40530119 -*/ -function HTMLTableSectionElement02() { - var success; - if(checkInitialization(builder, "HTMLTableSectionElement02") != null) return; - var nodeList; - var testNode; - var valign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablesection"); - nodeList = doc.getElementsByTagName("tfoot"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - valign = testNode.align; - - assertEquals("alignLink","center",valign); - -} - - - - -function runTest() { - HTMLTableSectionElement02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement03.js deleted file mode 100644 index 9f106d7..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement03.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement03"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablesection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The align attribute specifies the horizontal alignment of data within - cells. - - Retrieve the align attribute of the first TBODY element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40530119 -*/ -function HTMLTableSectionElement03() { - var success; - if(checkInitialization(builder, "HTMLTableSectionElement03") != null) return; - var nodeList; - var testNode; - var valign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablesection"); - nodeList = doc.getElementsByTagName("tbody"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(1); - valign = testNode.align; - - assertEquals("alignLink","center",valign); - -} - - - - -function runTest() { - HTMLTableSectionElement03(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement04.js deleted file mode 100644 index 0013a9a..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement04.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement04"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablesection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The ch attribute specifies the alignment character for cells in a - column. - - Retrieve the char attribute of the first THEAD element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83470012 -*/ -function HTMLTableSectionElement04() { - var success; - if(checkInitialization(builder, "HTMLTableSectionElement04") != null) return; - var nodeList; - var testNode; - var vch; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablesection"); - nodeList = doc.getElementsByTagName("thead"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vch = testNode.ch; - - assertEquals("chLink","*",vch); - -} - - - - -function runTest() { - HTMLTableSectionElement04(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement05.js deleted file mode 100644 index 85c8b7d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement05.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement05"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablesection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The ch attribute specifies the alignment character for cells in a - column. - - Retrieve the char attribute of the first TFOOT element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83470012 -*/ -function HTMLTableSectionElement05() { - var success; - if(checkInitialization(builder, "HTMLTableSectionElement05") != null) return; - var nodeList; - var testNode; - var vch; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablesection"); - nodeList = doc.getElementsByTagName("tfoot"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vch = testNode.ch; - - assertEquals("chLink","+",vch); - -} - - - - -function runTest() { - HTMLTableSectionElement05(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement06.js deleted file mode 100644 index 4e58b00..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement06.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement06"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablesection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The ch attribute specifies the alignment character for cells in a - column. - - Retrieve the char attribute of the first TBODY element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83470012 -*/ -function HTMLTableSectionElement06() { - var success; - if(checkInitialization(builder, "HTMLTableSectionElement06") != null) return; - var nodeList; - var testNode; - var vch; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablesection"); - nodeList = doc.getElementsByTagName("tbody"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(1); - vch = testNode.ch; - - assertEquals("chLink","$",vch); - -} - - - - -function runTest() { - HTMLTableSectionElement06(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement07.js deleted file mode 100644 index 97ee9de..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement07.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement07"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablesection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The chOff attribute specifies the offset of alignment character. - - Retrieve the charoff attribute of the first THEAD element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-53459732 -*/ -function HTMLTableSectionElement07() { - var success; - if(checkInitialization(builder, "HTMLTableSectionElement07") != null) return; - var nodeList; - var testNode; - var vcharoff; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablesection"); - nodeList = doc.getElementsByTagName("thead"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vcharoff = testNode.chOff; - - assertEquals("chOffLink","1",vcharoff); - -} - - - - -function runTest() { - HTMLTableSectionElement07(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement08.js deleted file mode 100644 index bbec905..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement08.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement08"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablesection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The chOff attribute specifies the offset of alignment character. - - Retrieve the charoff attribute of the first TFOOT element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-53459732 -*/ -function HTMLTableSectionElement08() { - var success; - if(checkInitialization(builder, "HTMLTableSectionElement08") != null) return; - var nodeList; - var testNode; - var vcharoff; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablesection"); - nodeList = doc.getElementsByTagName("tfoot"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vcharoff = testNode.chOff; - - assertEquals("chOffLink","2",vcharoff); - -} - - - - -function runTest() { - HTMLTableSectionElement08(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement09.js deleted file mode 100644 index b3c67c8..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement09.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement09"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablesection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The chOff attribute specifies the offset of alignment character. - - Retrieve the charoff attribute of the first TBODY element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-53459732 -*/ -function HTMLTableSectionElement09() { - var success; - if(checkInitialization(builder, "HTMLTableSectionElement09") != null) return; - var nodeList; - var testNode; - var vcharoff; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablesection"); - nodeList = doc.getElementsByTagName("tbody"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(1); - vcharoff = testNode.chOff; - - assertEquals("chOffLink","3",vcharoff); - -} - - - - -function runTest() { - HTMLTableSectionElement09(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement10.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement10.js deleted file mode 100644 index 71cacac..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement10.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement10"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablesection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The vAlign attribute specifies the vertical alignment of cell data in - column. - - Retrieve the vAlign attribute of the first THEAD element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-4379116 -*/ -function HTMLTableSectionElement10() { - var success; - if(checkInitialization(builder, "HTMLTableSectionElement10") != null) return; - var nodeList; - var testNode; - var vvalign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablesection"); - nodeList = doc.getElementsByTagName("thead"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vvalign = testNode.vAlign; - - assertEquals("vAlignLink","middle",vvalign); - -} - - - - -function runTest() { - HTMLTableSectionElement10(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement11.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement11.js deleted file mode 100644 index 7b6b25b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement11.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement11"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablesection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The vAlign attribute specifies the vertical alignment of cell data in - column. - - Retrieve the vAlign attribute of the first TFOOT element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-4379116 -*/ -function HTMLTableSectionElement11() { - var success; - if(checkInitialization(builder, "HTMLTableSectionElement11") != null) return; - var nodeList; - var testNode; - var vvalign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablesection"); - nodeList = doc.getElementsByTagName("tfoot"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vvalign = testNode.vAlign; - - assertEquals("vAlignLink","middle",vvalign); - -} - - - - -function runTest() { - HTMLTableSectionElement11(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement12.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement12.js deleted file mode 100644 index 9652f0b..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement12.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement12"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablesection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The vAlign attribute specifies the vertical alignment of cell data in - column. - - Retrieve the vAlign attribute of the first TBODY element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-4379116 -*/ -function HTMLTableSectionElement12() { - var success; - if(checkInitialization(builder, "HTMLTableSectionElement12") != null) return; - var nodeList; - var testNode; - var vvalign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablesection"); - nodeList = doc.getElementsByTagName("tbody"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(1); - vvalign = testNode.vAlign; - - assertEquals("vAlignLink","middle",vvalign); - -} - - - - -function runTest() { - HTMLTableSectionElement12(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement16.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement16.js deleted file mode 100644 index 91df5f1..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement16.js +++ /dev/null @@ -1,126 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement16"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablesection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The insertRow() method inserts a new empty table row. - - Retrieve the first THEAD element and invoke the insertRow() method - with an index of 0. The nuber of rows in the THEAD section before - insertion of the new row is one. After the new row is inserted the number - of rows in the THEAD section is two. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93995626 -*/ -function HTMLTableSectionElement16() { - var success; - if(checkInitialization(builder, "HTMLTableSectionElement16") != null) return; - var nodeList; - var testNode; - var newRow; - var rowsnodeList; - var vrows; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablesection"); - nodeList = doc.getElementsByTagName("thead"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - rowsnodeList = testNode.rows; - - vrows = rowsnodeList.length; - - assertEquals("rowsLink1",1,vrows); - newRow = testNode.insertRow(0); - rowsnodeList = testNode.rows; - - vrows = rowsnodeList.length; - - assertEquals("rowsLink2",2,vrows); - -} - - - - -function runTest() { - HTMLTableSectionElement16(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement17.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement17.js deleted file mode 100644 index 9ee6ced..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement17.js +++ /dev/null @@ -1,126 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement17"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablesection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The insertRow() method inserts a new empty table row. - - Retrieve the first TFOOT element and invoke the insertRow() method - with an index of 0. The nuber of rows in the TFOOT section before - insertion of the new row is one. After the new row is inserted the number - of rows in the TFOOT section is two. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93995626 -*/ -function HTMLTableSectionElement17() { - var success; - if(checkInitialization(builder, "HTMLTableSectionElement17") != null) return; - var nodeList; - var testNode; - var newRow; - var rowsnodeList; - var vrows; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablesection"); - nodeList = doc.getElementsByTagName("tfoot"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - rowsnodeList = testNode.rows; - - vrows = rowsnodeList.length; - - assertEquals("rowsLink1",1,vrows); - newRow = testNode.insertRow(0); - rowsnodeList = testNode.rows; - - vrows = rowsnodeList.length; - - assertEquals("rowsLink2",2,vrows); - -} - - - - -function runTest() { - HTMLTableSectionElement17(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement18.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement18.js deleted file mode 100644 index e7d06d2..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement18.js +++ /dev/null @@ -1,126 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement18"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablesection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The insertRow() method inserts a new empty table row. - - Retrieve the first TBODY element and invoke the insertRow() method - with an index of 0. The nuber of rows in the TBODY section before - insertion of the new row is two. After the new row is inserted the number - of rows in the TBODY section is three. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93995626 -*/ -function HTMLTableSectionElement18() { - var success; - if(checkInitialization(builder, "HTMLTableSectionElement18") != null) return; - var nodeList; - var testNode; - var newRow; - var rowsnodeList; - var vrows; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablesection"); - nodeList = doc.getElementsByTagName("tbody"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(1); - rowsnodeList = testNode.rows; - - vrows = rowsnodeList.length; - - assertEquals("rowsLink1",2,vrows); - newRow = testNode.insertRow(0); - rowsnodeList = testNode.rows; - - vrows = rowsnodeList.length; - - assertEquals("rowsLink2",3,vrows); - -} - - - - -function runTest() { - HTMLTableSectionElement18(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement19.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement19.js deleted file mode 100644 index 2324e7e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement19.js +++ /dev/null @@ -1,127 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement19"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablesection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The insertRow() method inserts a new empty table row. - - Retrieve the first THEAD element and invoke the insertRow() method - with an index of 1. The nuber of rows in the THEAD section before - insertion of the new row is one therefore the new row is appended. - After the new row is inserted the number of rows in the THEAD - section is two. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93995626 -*/ -function HTMLTableSectionElement19() { - var success; - if(checkInitialization(builder, "HTMLTableSectionElement19") != null) return; - var nodeList; - var testNode; - var newRow; - var rowsnodeList; - var vrows; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablesection"); - nodeList = doc.getElementsByTagName("thead"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - rowsnodeList = testNode.rows; - - vrows = rowsnodeList.length; - - assertEquals("rowsLink1",1,vrows); - newRow = testNode.insertRow(1); - rowsnodeList = testNode.rows; - - vrows = rowsnodeList.length; - - assertEquals("rowsLink2",2,vrows); - -} - - - - -function runTest() { - HTMLTableSectionElement19(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement20.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement20.js deleted file mode 100644 index c0f3ad0..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement20.js +++ /dev/null @@ -1,127 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement20"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablesection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The insertRow() method inserts a new empty table row. - - Retrieve the first TFOOT element and invoke the insertRow() method - with an index of one. The nuber of rows in the TFOOT section before - insertion of the new row is one therefore the new row is appended. - After the new row is inserted the number of rows in the TFOOT section - is two. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93995626 -*/ -function HTMLTableSectionElement20() { - var success; - if(checkInitialization(builder, "HTMLTableSectionElement20") != null) return; - var nodeList; - var testNode; - var newRow; - var rowsnodeList; - var vrows; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablesection"); - nodeList = doc.getElementsByTagName("tfoot"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - rowsnodeList = testNode.rows; - - vrows = rowsnodeList.length; - - assertEquals("rowsLink1",1,vrows); - newRow = testNode.insertRow(1); - rowsnodeList = testNode.rows; - - vrows = rowsnodeList.length; - - assertEquals("rowsLink2",2,vrows); - -} - - - - -function runTest() { - HTMLTableSectionElement20(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement21.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement21.js deleted file mode 100644 index 24a8ada..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement21.js +++ /dev/null @@ -1,128 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement21"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablesection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The insertRow() method inserts a new empty table row. - - Retrieve the first TBODY element and invoke the insertRow() method - with an index of two. The number of rows in the TBODY section before - insertion of the new row is two therefore the row is appended. - After the new row is inserted the number of rows in the TBODY section is - three. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93995626 -* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=502 -*/ -function HTMLTableSectionElement21() { - var success; - if(checkInitialization(builder, "HTMLTableSectionElement21") != null) return; - var nodeList; - var testNode; - var newRow; - var rowsnodeList; - var vrows; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablesection"); - nodeList = doc.getElementsByTagName("tbody"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(1); - rowsnodeList = testNode.rows; - - vrows = rowsnodeList.length; - - assertEquals("rowsLink1",2,vrows); - newRow = testNode.insertRow(2); - rowsnodeList = testNode.rows; - - vrows = rowsnodeList.length; - - assertEquals("rowsLink2",3,vrows); - -} - - - - -function runTest() { - HTMLTableSectionElement21(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement22.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement22.js deleted file mode 100644 index 2df6822..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement22.js +++ /dev/null @@ -1,125 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement22"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablesection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The deleteRow() method deletes a row from this section. - - Retrieve the first THEAD element and invoke the deleteRow() method - with an index of 0. The nuber of rows in the THEAD section before - the deletion of the row is one. After the row is deleted the number - of rows in the THEAD section is zero. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-5625626 -*/ -function HTMLTableSectionElement22() { - var success; - if(checkInitialization(builder, "HTMLTableSectionElement22") != null) return; - var nodeList; - var testNode; - var rowsnodeList; - var vrows; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablesection"); - nodeList = doc.getElementsByTagName("thead"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - rowsnodeList = testNode.rows; - - vrows = rowsnodeList.length; - - assertEquals("rowsLink1",1,vrows); - testNode.deleteRow(0); - rowsnodeList = testNode.rows; - - vrows = rowsnodeList.length; - - assertEquals("rowsLink2",0,vrows); - -} - - - - -function runTest() { - HTMLTableSectionElement22(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement23.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement23.js deleted file mode 100644 index c22f00c..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement23.js +++ /dev/null @@ -1,125 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement23"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablesection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The deleteRow() method deletes a row from this section. - - Retrieve the first TFOOT element and invoke the deleteRow() method - with an index of 0. The nuber of rows in the TFOOT section before - the deletion of the row is one. After the row is deleted the number - of rows in the TFOOT section is zero. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-5625626 -*/ -function HTMLTableSectionElement23() { - var success; - if(checkInitialization(builder, "HTMLTableSectionElement23") != null) return; - var nodeList; - var testNode; - var rowsnodeList; - var vrows; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablesection"); - nodeList = doc.getElementsByTagName("tfoot"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - rowsnodeList = testNode.rows; - - vrows = rowsnodeList.length; - - assertEquals("rowsLink1",1,vrows); - testNode.deleteRow(0); - rowsnodeList = testNode.rows; - - vrows = rowsnodeList.length; - - assertEquals("rowsLink2",0,vrows); - -} - - - - -function runTest() { - HTMLTableSectionElement23(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement24.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement24.js deleted file mode 100644 index 4624ff6..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement24.js +++ /dev/null @@ -1,125 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement24"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablesection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The deleteRow() method deletes a row from this section. - - Retrieve the first TBODY element and invoke the deleteRow() method - with an index of 0. The nuber of rows in the TBODY section before - the deletion of the row is two. After the row is deleted the number - of rows in the TBODY section is one. - -* @author NIST -* @author Rick Rivello -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-5625626 -*/ -function HTMLTableSectionElement24() { - var success; - if(checkInitialization(builder, "HTMLTableSectionElement24") != null) return; - var nodeList; - var testNode; - var rowsnodeList; - var vrows; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablesection"); - nodeList = doc.getElementsByTagName("tbody"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(1); - rowsnodeList = testNode.rows; - - vrows = rowsnodeList.length; - - assertEquals("rowsLink1",2,vrows); - testNode.deleteRow(0); - rowsnodeList = testNode.rows; - - vrows = rowsnodeList.length; - - assertEquals("rowsLink2",1,vrows); - -} - - - - -function runTest() { - HTMLTableSectionElement24(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement01.js deleted file mode 100644 index 0b75781..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement01.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "textarea"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The defaultValue attribute represents the HTML value of the attribute - when the type attribute has the value of "Text", "File" or "Password". - - Retrieve the defaultValue attribute of the 2nd TEXTAREA element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-36152213 -*/ -function HTMLTextAreaElement01() { - var success; - if(checkInitialization(builder, "HTMLTextAreaElement01") != null) return; - var nodeList; - var testNode; - var vdefaultvalue; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "textarea"); - nodeList = doc.getElementsByTagName("textarea"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(1); - vdefaultvalue = testNode.defaultValue; - - assertEquals("defaultValueLink","TEXTAREA2",vdefaultvalue); - -} - - - - -function runTest() { - HTMLTextAreaElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement11.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement11.js deleted file mode 100644 index 62831fa..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement11.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement11"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "textarea"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The type attribute specifies the type of this form control. - - Retrieve the type attribute of the 1st TEXTAREA element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-24874179 -* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#HTML-HTMLTextAreaElement-type -*/ -function HTMLTextAreaElement11() { - var success; - if(checkInitialization(builder, "HTMLTextAreaElement11") != null) return; - var nodeList; - var testNode; - var vtype; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "textarea"); - nodeList = doc.getElementsByTagName("textarea"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(0); - vtype = testNode.type; - - assertEquals("typeLink","textarea",vtype); - -} - - - - -function runTest() { - HTMLTextAreaElement11(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement12.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement12.js deleted file mode 100644 index da12ed7..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement12.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement12"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "textarea"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The value attribute represents the current contents of the corresponding - form control, in an interactive user agent. - - Retrieve the value attribute of the 1st TEXTAREA element and examine - its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-70715579 -*/ -function HTMLTextAreaElement12() { - var success; - if(checkInitialization(builder, "HTMLTextAreaElement12") != null) return; - var nodeList; - var testNode; - var vvalue; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "textarea"); - nodeList = doc.getElementsByTagName("textarea"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(0); - vvalue = testNode.value; - - assertEquals("valueLink","TEXTAREA1",vvalue); - -} - - - - -function runTest() { - HTMLTextAreaElement12(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement01.js deleted file mode 100644 index 171a30d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement01.js +++ /dev/null @@ -1,114 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLUListElement01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "ulist"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The compact attribute specifies whether to reduce spacing between list - items. - - Retrieve the compact attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39864178 -*/ -function HTMLUListElement01() { - var success; - if(checkInitialization(builder, "HTMLUListElement01") != null) return; - var nodeList; - var testNode; - var vcompact; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "ulist"); - nodeList = doc.getElementsByTagName("ul"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vcompact = testNode.compact; - - assertTrue("compactLink",vcompact); - -} - - - - -function runTest() { - HTMLUListElement01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement02.js deleted file mode 100644 index 98abae2..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement02.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLUListElement02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "ulist"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - The type attribute specifies the bullet style. - - Retrieve the type attribute and examine its value. - -* @author NIST -* @author Mary Brady -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96874670 -*/ -function HTMLUListElement02() { - var success; - if(checkInitialization(builder, "HTMLUListElement02") != null) return; - var nodeList; - var testNode; - var vtype; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "ulist"); - nodeList = doc.getElementsByTagName("ul"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vtype = testNode.type; - - assertEquals("typeLink","disc",vtype); - -} - - - - -function runTest() { - HTMLUListElement02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/anchor02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/anchor02.js deleted file mode 100644 index 26d3306..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/anchor02.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/anchor02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "anchor"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -The character encoding of the linked resource. -The value of attribute charset of the anchor element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-67619266 -*/ -function anchor02() { - var success; - if(checkInitialization(builder, "anchor02") != null) return; - var nodeList; - var testNode; - var vcharset; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "anchor"); - nodeList = doc.getElementsByTagName("a"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vcharset = testNode.charset; - - assertEquals("charsetLink","US-ASCII",vcharset); - -} - - - - -function runTest() { - anchor02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/anchor03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/anchor03.js deleted file mode 100644 index 81b3723..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/anchor03.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/anchor03"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "anchor"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Comma-separated list of lengths, defining an active region geometry. -The value of attribute coords of the anchor element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-92079539 -*/ -function anchor03() { - var success; - if(checkInitialization(builder, "anchor03") != null) return; - var nodeList; - var testNode; - var vcoords; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "anchor"); - nodeList = doc.getElementsByTagName("a"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vcoords = testNode.coords; - - assertEquals("coordsLink","0,0,100,100",vcoords); - -} - - - - -function runTest() { - anchor03(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/anchor06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/anchor06.js deleted file mode 100644 index 3ba7b19..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/anchor06.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/anchor06"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "anchor"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -The shape of the active area. The coordinates are given by coords -The value of attribute shape of the anchor element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-49899808 -*/ -function anchor06() { - var success; - if(checkInitialization(builder, "anchor06") != null) return; - var nodeList; - var testNode; - var vshape; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "anchor"); - nodeList = doc.getElementsByTagName("a"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vshape = testNode.shape; - - assertEquals("shapeLink","rect",vshape); - -} - - - - -function runTest() { - anchor06(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/basefont01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/basefont01.js deleted file mode 100644 index 32d6edd..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/basefont01.js +++ /dev/null @@ -1,111 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/basefont01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "basefont"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -The value of attribute color of the basefont element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87502302 -*/ -function basefont01() { - var success; - if(checkInitialization(builder, "basefont01") != null) return; - var nodeList; - var testNode; - var vcolor; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "basefont"); - nodeList = doc.getElementsByTagName("basefont"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vcolor = testNode.color; - - assertEquals("colorLink","#000000",vcolor); - -} - - - - -function runTest() { - basefont01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/body01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/body01.js deleted file mode 100644 index 16617e8..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/body01.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/body01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "body"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Color of active links (after mouse-button down, but before mouse-button up). -The value of attribute alink of the body element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59424581 -*/ -function body01() { - var success; - if(checkInitialization(builder, "body01") != null) return; - var nodeList; - var testNode; - var valink; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "body"); - nodeList = doc.getElementsByTagName("body"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - valink = testNode.aLink; - - assertEquals("aLinkLink","#0000ff",valink); - -} - - - - -function runTest() { - body01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/dlist01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/dlist01.js deleted file mode 100644 index e85d5ce..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/dlist01.js +++ /dev/null @@ -1,111 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/dlist01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "dl"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* - - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-21738539 -*/ -function dlist01() { - var success; - if(checkInitialization(builder, "dlist01") != null) return; - var nodeList; - var testNode; - var vcompact; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "dl"); - nodeList = doc.getElementsByTagName("dl"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vcompact = testNode.compact; - - assertTrue("compactLink",vcompact); - -} - - - - -function runTest() { - dlist01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object02.js deleted file mode 100644 index 72bf106..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object02.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "object"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Aligns this object (vertically or horizontally) with respect to its surrounding text. -The value of attribute align of the object element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-16962097 -*/ -function object02() { - var success; - if(checkInitialization(builder, "object02") != null) return; - var nodeList; - var testNode; - var valign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "object"); - nodeList = doc.getElementsByTagName("object"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - valign = testNode.align; - - assertEquals("alignLink","middle",valign); - -} - - - - -function runTest() { - object02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object03.js deleted file mode 100644 index 0be0bfe..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object03.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object03"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "object"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Space-separated list of archives -The value of attribute archive of the object element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-47783837 -*/ -function object03() { - var success; - if(checkInitialization(builder, "object03") != null) return; - var nodeList; - var testNode; - var varchive; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "object"); - nodeList = doc.getElementsByTagName("object"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - varchive = testNode.archive; - - assertEquals("archiveLink","",varchive); - -} - - - - -function runTest() { - object03(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object04.js deleted file mode 100644 index 4807d6a..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object04.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object04"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "object"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Width of border around the object. -The value of attribute border of the object element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-82818419 -*/ -function object04() { - var success; - if(checkInitialization(builder, "object04") != null) return; - var nodeList; - var testNode; - var vborder; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "object"); - nodeList = doc.getElementsByTagName("object"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vborder = testNode.border; - - assertEquals("borderLink","0",vborder); - -} - - - - -function runTest() { - object04(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object05.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object05.js deleted file mode 100644 index 50d0a15..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object05.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object05"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "object"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Base URI for classid, data, and archive attributes. -The value of attribute codebase of the object element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-25709136 -*/ -function object05() { - var success; - if(checkInitialization(builder, "object05") != null) return; - var nodeList; - var testNode; - var vcodebase; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "object"); - nodeList = doc.getElementsByTagName("object"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vcodebase = testNode.codeBase; - - assertEquals("codebaseLink","http://xw2k.sdct.itl.nist.gov/brady/dom/",vcodebase); - -} - - - - -function runTest() { - object05(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object09.js deleted file mode 100644 index 9e7275e..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object09.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object09"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "object"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Message to render while loading the object. -The value of attribute standby of the object element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-25039673 -*/ -function object09() { - var success; - if(checkInitialization(builder, "object09") != null) return; - var nodeList; - var testNode; - var vstandby; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "object"); - nodeList = doc.getElementsByTagName("object"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(0); - vstandby = testNode.standby; - - assertEquals("standbyLink","Loading Image ...",vstandby); - -} - - - - -function runTest() { - object09(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object15.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object15.js deleted file mode 100644 index 805240f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object15.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object15"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "object"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Content type for data downloaded via classid attribute. -The value of attribute codetype of the object element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-19945008 -*/ -function object15() { - var success; - if(checkInitialization(builder, "object15") != null) return; - var nodeList; - var testNode; - var vcodetype; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "object"); - nodeList = doc.getElementsByTagName("object"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(1); - vcodetype = testNode.codeType; - - assertEquals("codeTypeLink","image/gif",vcodetype); - -} - - - - -function runTest() { - object15(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table02.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table02.js deleted file mode 100644 index b64d882..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table02.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table02"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablesection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Caption alignment with respect to the table. -The value of attribute align of the tablecaption element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14594520 -*/ -function table02() { - var success; - if(checkInitialization(builder, "table02") != null) return; - var nodeList; - var testNode; - var vcaption; - var valign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablesection"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(1); - vcaption = testNode.caption; - - valign = vcaption.align; - - assertEquals("alignLink","top",valign); - -} - - - - -function runTest() { - table02(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table03.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table03.js deleted file mode 100644 index 94a91d2..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table03.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table03"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablesection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Alignment character for cells in a column. -The value of attribute ch of the tablesection element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-9530944 -*/ -function table03() { - var success; - if(checkInitialization(builder, "table03") != null) return; - var nodeList; - var testNode; - var vsection; - var vch; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablesection"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(1); - vsection = testNode.tHead; - - vch = vsection.ch; - - assertEquals("chLink","*",vch); - -} - - - - -function runTest() { - table03(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table04.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table04.js deleted file mode 100644 index b102221..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table04.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table04"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablesection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Horizontal alignment of data in cells. -The value of attribute align of the tablesection element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-9530944 -*/ -function table04() { - var success; - if(checkInitialization(builder, "table04") != null) return; - var nodeList; - var testNode; - var vsection; - var valign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablesection"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(1); - vsection = testNode.tHead; - - valign = vsection.align; - - assertEquals("alignLink","center",valign); - -} - - - - -function runTest() { - table04(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table06.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table06.js deleted file mode 100644 index 8b56579..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table06.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table06"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablesection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Vertical alignment of data in cells. -The value of attribute valign of the tablesection element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097 -*/ -function table06() { - var success; - if(checkInitialization(builder, "table06") != null) return; - var nodeList; - var testNode; - var vsection; - var vvAlign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablesection"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(1); - vsection = testNode.tFoot; - - vvAlign = vsection.vAlign; - - assertEquals("vAlignLink","middle",vvAlign); - -} - - - - -function runTest() { - table06(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table07.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table07.js deleted file mode 100644 index fc052b1..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table07.js +++ /dev/null @@ -1,118 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table07"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablesection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -The collection of rows in this table section. -The value of attribute rows of the tablesection element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097 -*/ -function table07() { - var success; - if(checkInitialization(builder, "table07") != null) return; - var nodeList; - var testNode; - var vsection; - var vcollection; - var vrows; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablesection"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(1); - vsection = testNode.tFoot; - - vcollection = vsection.rows; - - vrows = vcollection.length; - - assertEquals("vrowsLink",1,vrows); - -} - - - - -function runTest() { - table07(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table08.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table08.js deleted file mode 100644 index b8d998c..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table08.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table08"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablesection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Horizontal alignment of data in cells. -The value of attribute align of the tablesection element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097 -*/ -function table08() { - var success; - if(checkInitialization(builder, "table08") != null) return; - var nodeList; - var testNode; - var vsection; - var valign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablesection"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(1); - vsection = testNode.tFoot; - - valign = vsection.align; - - assertEquals("alignLink","center",valign); - -} - - - - -function runTest() { - table08(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table09.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table09.js deleted file mode 100644 index e47dec3..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table09.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table09"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablesection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Vertical alignment of data in cells. -The value of attribute valign of the table element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-9530944 -*/ -function table09() { - var success; - if(checkInitialization(builder, "table09") != null) return; - var nodeList; - var testNode; - var vsection; - var vvalign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablesection"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(1); - vsection = testNode.tHead; - - vvalign = vsection.vAlign; - - assertEquals("alignLink","middle",vvalign); - -} - - - - -function runTest() { - table09(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table10.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table10.js deleted file mode 100644 index 146787d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table10.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table10"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablesection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Alignment character for cells in a column. -The value of attribute ch of the tablesection element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097 -*/ -function table10() { - var success; - if(checkInitialization(builder, "table10") != null) return; - var nodeList; - var testNode; - var vsection; - var vch; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablesection"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(1); - vsection = testNode.tFoot; - - vch = vsection.ch; - - assertEquals("chLink","+",vch); - -} - - - - -function runTest() { - table10(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table12.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table12.js deleted file mode 100644 index cf01790..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table12.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table12"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablesection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Offset of alignment character. -The value of attribute choff of the tablesection element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097 -*/ -function table12() { - var success; - if(checkInitialization(builder, "table12") != null) return; - var nodeList; - var testNode; - var vsection; - var vchoff; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablesection"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(1); - vsection = testNode.tHead; - - vchoff = vsection.chOff; - - assertEquals("choffLink","1",vchoff); - -} - - - - -function runTest() { - table12(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table15.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table15.js deleted file mode 100644 index 909bb10..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table15.js +++ /dev/null @@ -1,118 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table15"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablesection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -The collection of rows in this table section. -The value of attribute rows of the tablesection element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097 -*/ -function table15() { - var success; - if(checkInitialization(builder, "table15") != null) return; - var nodeList; - var testNode; - var vsection; - var vcollection; - var vrows; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablesection"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(1); - vsection = testNode.tHead; - - vcollection = vsection.rows; - - vrows = vcollection.length; - - assertEquals("vrowsLink",1,vrows); - -} - - - - -function runTest() { - table15(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table17.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table17.js deleted file mode 100644 index c362aa6..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table17.js +++ /dev/null @@ -1,115 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table17"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablesection"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Offset of alignment character. -The value of attribute chOff of the tablesection element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097 -*/ -function table17() { - var success; - if(checkInitialization(builder, "table17") != null) return; - var nodeList; - var testNode; - var vsection; - var vchoff; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablesection"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",2,nodeList); -testNode = nodeList.item(1); - vsection = testNode.tFoot; - - vchoff = vsection.chOff; - - assertEquals("choffLink","2",vchoff); - -} - - - - -function runTest() { - table17(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table18.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table18.js deleted file mode 100644 index 6312b86..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table18.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table18"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -The index of this cell in the row. -The value of attribute cellIndex of the tablecell element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-80748363 -*/ -function table18() { - var success; - if(checkInitialization(builder, "table18") != null) return; - var nodeList; - var testNode; - var vcindex; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("td"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(1); - vcindex = testNode.cellIndex; - - assertEquals("cellIndexLink",1,vcindex); - -} - - - - -function runTest() { - table18(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table19.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table19.js deleted file mode 100644 index b340f60..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table19.js +++ /dev/null @@ -1,113 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table19"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Abbreviation for header cells. -The index of this cell in the row. -The value of attribute abbr of the tablecell element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-74444037 -*/ -function table19() { - var success; - if(checkInitialization(builder, "table19") != null) return; - var nodeList; - var testNode; - var vabbr; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("td"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(1); - vabbr = testNode.abbr; - - assertEquals("abbrLink","hd2",vabbr); - -} - - - - -function runTest() { - table19(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table20.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table20.js deleted file mode 100644 index 15d0f9a..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table20.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table20"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Names group of related headers. -The value of attribute axis of the tablecell element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76554418 -*/ -function table20() { - var success; - if(checkInitialization(builder, "table20") != null) return; - var nodeList; - var testNode; - var vaxis; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("td"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(1); - vaxis = testNode.axis; - - assertEquals("axisLink","center",vaxis); - -} - - - - -function runTest() { - table20(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table21.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table21.js deleted file mode 100644 index 26b7227..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table21.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table21"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Horizontal alignment of data in cell. -The value of attribute align of the tablecell element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98433879 -*/ -function table21() { - var success; - if(checkInitialization(builder, "table21") != null) return; - var nodeList; - var testNode; - var valign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("td"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(1); - valign = testNode.align; - - assertEquals("alignLink","center",valign); - -} - - - - -function runTest() { - table21(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table22.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table22.js deleted file mode 100644 index 686ca1f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table22.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table22"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Cell background color. -The value of attribute bgColor of the tablecell element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88135431 -*/ -function table22() { - var success; - if(checkInitialization(builder, "table22") != null) return; - var nodeList; - var testNode; - var vbgcolor; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("td"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(1); - vbgcolor = testNode.bgColor; - - assertEquals("bgcolorLink","#FF0000".toLowerCase(),vbgcolor.toLowerCase()); - -} - - - - -function runTest() { - table22(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table23.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table23.js deleted file mode 100644 index 7ba050c..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table23.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table23"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Alignment character for cells in a column. -The value of attribute char of the tablecell element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-30914780 -*/ -function table23() { - var success; - if(checkInitialization(builder, "table23") != null) return; - var nodeList; - var testNode; - var vch; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("td"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(1); - vch = testNode.ch; - - assertEquals("chLink",":",vch); - -} - - - - -function runTest() { - table23(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table24.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table24.js deleted file mode 100644 index 01828ff..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table24.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table24"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -offset of alignment character. -The value of attribute chOff of the tablecell element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-20144310 -*/ -function table24() { - var success; - if(checkInitialization(builder, "table24") != null) return; - var nodeList; - var testNode; - var vchoff; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("td"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(1); - vchoff = testNode.chOff; - - assertEquals("chOffLink","1",vchoff); - -} - - - - -function runTest() { - table24(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table26.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table26.js deleted file mode 100644 index c5560be..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table26.js +++ /dev/null @@ -1,111 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table26"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -The value of attribute height of the tablecell element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83679212 -*/ -function table26() { - var success; - if(checkInitialization(builder, "table26") != null) return; - var nodeList; - var testNode; - var vheight; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("td"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(1); - vheight = testNode.height; - - assertEquals("heightLink","50",vheight); - -} - - - - -function runTest() { - table26(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table27.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table27.js deleted file mode 100644 index f2ceb93..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table27.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table27"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Suppress word wrapping. -The value of attribute nowrap of the tablecell element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-62922045 -*/ -function table27() { - var success; - if(checkInitialization(builder, "table27") != null) return; - var nodeList; - var testNode; - var vnowrap; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("td"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(1); - vnowrap = testNode.noWrap; - - assertTrue("nowrapLink",vnowrap); - -} - - - - -function runTest() { - table27(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table29.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table29.js deleted file mode 100644 index df78641..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table29.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table29"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Scope covered by header cells. -The value of attribute scope of the tablecell element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-36139952 -*/ -function table29() { - var success; - if(checkInitialization(builder, "table29") != null) return; - var nodeList; - var testNode; - var vscope; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("td"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(1); - vscope = testNode.scope; - - assertEquals("scopeLink","col",vscope); - -} - - - - -function runTest() { - table29(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table30.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table30.js deleted file mode 100644 index 542b61c..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table30.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table30"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -List of id attribute values for header cells. -The value of attribute headers of the tablecell element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-89104817 -*/ -function table30() { - var success; - if(checkInitialization(builder, "table30") != null) return; - var nodeList; - var testNode; - var vheaders; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("td"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(1); - vheaders = testNode.headers; - - assertEquals("headersLink","header-3",vheaders); - -} - - - - -function runTest() { - table30(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table31.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table31.js deleted file mode 100644 index 9d83aae..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table31.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table31"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Vertical alignment of data in cell. -The value of attribute valign of the tablecell element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-58284221 -*/ -function table31() { - var success; - if(checkInitialization(builder, "table31") != null) return; - var nodeList; - var testNode; - var vvalign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("td"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(1); - vvalign = testNode.vAlign; - - assertEquals("vAlignLink","middle",vvalign); - -} - - - - -function runTest() { - table31(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table32.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table32.js deleted file mode 100644 index bfa2719..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table32.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table32"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -cell width. -The value of attribute width of the table element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-27480795 -*/ -function table32() { - var success; - if(checkInitialization(builder, "table32") != null) return; - var nodeList; - var testNode; - var vwidth; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("td"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(1); - vwidth = testNode.width; - - assertEquals("vwidthLink","175",vwidth); - -} - - - - -function runTest() { - table32(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table33.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table33.js deleted file mode 100644 index 0813b82..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table33.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table33"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Specifies the table's position with respect to the rest of the document. -The value of attribute align of the table element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-23180977 -*/ -function table33() { - var success; - if(checkInitialization(builder, "table33") != null) return; - var nodeList; - var testNode; - var valign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(1); - valign = testNode.align; - - assertEquals("alignLink","center",valign); - -} - - - - -function runTest() { - table33(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table35.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table35.js deleted file mode 100644 index 26e1e43..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table35.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table35"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Cell background color. -The value of attribute bgcolor of the table element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83532985 -*/ -function table35() { - var success; - if(checkInitialization(builder, "table35") != null) return; - var nodeList; - var testNode; - var vbgcolor; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(1); - vbgcolor = testNode.bgColor; - - assertEquals("bgcolorLink","#ff0000",vbgcolor); - -} - - - - -function runTest() { - table35(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table36.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table36.js deleted file mode 100644 index dd39fa1..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table36.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table36"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Specifies which external table borders to render. -The value of attribute frame of the table element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64808476 -*/ -function table36() { - var success; - if(checkInitialization(builder, "table36") != null) return; - var nodeList; - var testNode; - var vframe; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(1); - vframe = testNode.frame; - - assertEquals("frameLink","border",vframe); - -} - - - - -function runTest() { - table36(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table37.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table37.js deleted file mode 100644 index 7e23568..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table37.js +++ /dev/null @@ -1,111 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table37"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Specifies the horizontal and vertical space between cell content and cell borders. The value of attribute cellpadding of the table element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59162158 -*/ -function table37() { - var success; - if(checkInitialization(builder, "table37") != null) return; - var nodeList; - var testNode; - var vcellpadding; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(1); - vcellpadding = testNode.cellPadding; - - assertEquals("cellpaddingLink","2",vcellpadding); - -} - - - - -function runTest() { - table37(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table38.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table38.js deleted file mode 100644 index 0710edc..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table38.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table38"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Specifies the horizontal and vertical separation between cells. -The value of attribute cellspacing of the table element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-68907883 -*/ -function table38() { - var success; - if(checkInitialization(builder, "table38") != null) return; - var nodeList; - var testNode; - var vcellspacing; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(1); - vcellspacing = testNode.cellSpacing; - - assertEquals("cellspacingLink","2",vcellspacing); - -} - - - - -function runTest() { - table38(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table39.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table39.js deleted file mode 100644 index eb4ce79..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table39.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table39"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Supplementary description about the purpose or structure of a table. -The value of attribute summary of the table element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-44998528 -*/ -function table39() { - var success; - if(checkInitialization(builder, "table39") != null) return; - var nodeList; - var testNode; - var vsummary; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(1); - vsummary = testNode.summary; - - assertEquals("summaryLink","HTML Control Table",vsummary); - -} - - - - -function runTest() { - table39(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table40.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table40.js deleted file mode 100644 index ab7baa9..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table40.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table40"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Specifies which internal table borders to render. -The value of attribute rules of the table element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-26347553 -*/ -function table40() { - var success; - if(checkInitialization(builder, "table40") != null) return; - var nodeList; - var testNode; - var vrules; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(1); - vrules = testNode.rules; - - assertEquals("rulesLink","all",vrules); - -} - - - - -function runTest() { - table40(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table41.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table41.js deleted file mode 100644 index d3f524f..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table41.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table41"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Specifies the desired table width. -The value of attribute width of the table element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-77447361 -*/ -function table41() { - var success; - if(checkInitialization(builder, "table41") != null) return; - var nodeList; - var testNode; - var vwidth; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(1); - vwidth = testNode.width; - - assertEquals("widthLink","680",vwidth); - -} - - - - -function runTest() { - table41(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table42.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table42.js deleted file mode 100644 index 06394b2..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table42.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table42"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Horizontal alignment of data within cells of this row. -The value of attribute align of the tablerow element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-74098257 -*/ -function table42() { - var success; - if(checkInitialization(builder, "table42") != null) return; - var nodeList; - var testNode; - var valign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("tr"); - assertSize("Asize",8,nodeList); -testNode = nodeList.item(1); - valign = testNode.align; - - assertEquals("alignLink","center",valign); - -} - - - - -function runTest() { - table42(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table43.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table43.js deleted file mode 100644 index 2fb11a0..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table43.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table43"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Background color for rows. -The value of attribute bgcolor of the tablerow element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-18161327 -*/ -function table43() { - var success; - if(checkInitialization(builder, "table43") != null) return; - var nodeList; - var testNode; - var vbgcolor; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("tr"); - assertSize("Asize",8,nodeList); -testNode = nodeList.item(1); - vbgcolor = testNode.bgColor; - - assertEquals("bgcolorLink","#00FFFF".toLowerCase(),vbgcolor.toLowerCase()); - -} - - - - -function runTest() { - table43(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table44.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table44.js deleted file mode 100644 index 78c2cdb..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table44.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table44"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Vertical alignment of data within cells of this row. -The value of attribute valign of the tablerow element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-90000058 -*/ -function table44() { - var success; - if(checkInitialization(builder, "table44") != null) return; - var nodeList; - var testNode; - var vvalign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("tr"); - assertSize("Asize",8,nodeList); -testNode = nodeList.item(1); - vvalign = testNode.vAlign; - - assertEquals("valignLink","middle",vvalign); - -} - - - - -function runTest() { - table44(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table45.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table45.js deleted file mode 100644 index a762d79..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table45.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table45"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablerow"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Alignment character for cells in a column. -The value of attribute ch of the tablerow element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-16230502 -*/ -function table45() { - var success; - if(checkInitialization(builder, "table45") != null) return; - var nodeList; - var testNode; - var vch; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablerow"); - nodeList = doc.getElementsByTagName("tr"); - assertSize("Asize",5,nodeList); -testNode = nodeList.item(1); - vch = testNode.ch; - - assertEquals("vchLink","*",vch); - -} - - - - -function runTest() { - table45(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table46.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table46.js deleted file mode 100644 index 76f88ac..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table46.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table46"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablerow"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Offset of alignment character. -The value of attribute choff of the tablerow element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-68207461 -*/ -function table46() { - var success; - if(checkInitialization(builder, "table46") != null) return; - var nodeList; - var testNode; - var vchoff; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablerow"); - nodeList = doc.getElementsByTagName("tr"); - assertSize("Asize",5,nodeList); -testNode = nodeList.item(1); - vchoff = testNode.chOff; - - assertEquals("choffLink","1",vchoff); - -} - - - - -function runTest() { - table46(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table47.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table47.js deleted file mode 100644 index 592c778..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table47.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table47"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablerow"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -The index of this row, relative to the entire table. -The value of attribute rowIndex of the table element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-67347567 -*/ -function table47() { - var success; - if(checkInitialization(builder, "table47") != null) return; - var nodeList; - var testNode; - var vrindex; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablerow"); - nodeList = doc.getElementsByTagName("tr"); - assertSize("Asize",5,nodeList); -testNode = nodeList.item(4); - vrindex = testNode.rowIndex; - - assertEquals("rowIndexLink",2,vrindex); - -} - - - - -function runTest() { - table47(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table48.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table48.js deleted file mode 100644 index 4ec5b61..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table48.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table48"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecol"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Horizontal alignment of cell data in column. -The value of attribute align of the tablecol element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-74098257 -*/ -function table48() { - var success; - if(checkInitialization(builder, "table48") != null) return; - var nodeList; - var testNode; - var valign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecol"); - nodeList = doc.getElementsByTagName("col"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - valign = testNode.align; - - assertEquals("alignLink","center",valign); - -} - - - - -function runTest() { - table48(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table49.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table49.js deleted file mode 100644 index e362b47..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table49.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table49"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecol"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Alignment character for cells in a column. -The value of attribute ch of the tablecol element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-16230502 -*/ -function table49() { - var success; - if(checkInitialization(builder, "table49") != null) return; - var nodeList; - var testNode; - var vch; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecol"); - nodeList = doc.getElementsByTagName("col"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vch = testNode.ch; - - assertEquals("chLink","*",vch); - -} - - - - -function runTest() { - table49(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table50.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table50.js deleted file mode 100644 index d27f07d..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table50.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table50"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecol"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Offset of alignment character. -The value of attribute choff of the tablecol element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-68207461 -*/ -function table50() { - var success; - if(checkInitialization(builder, "table50") != null) return; - var nodeList; - var testNode; - var vchoff; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecol"); - nodeList = doc.getElementsByTagName("col"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vchoff = testNode.chOff; - - assertEquals("chOffLink","20",vchoff); - -} - - - - -function runTest() { - table50(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table52.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table52.js deleted file mode 100644 index 6b9b274..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table52.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table52"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecol"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Vertical alignment of cell data in column. -The value of attribute valign of the tablecol element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83291710 -*/ -function table52() { - var success; - if(checkInitialization(builder, "table52") != null) return; - var nodeList; - var testNode; - var vvalign; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecol"); - nodeList = doc.getElementsByTagName("col"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vvalign = testNode.vAlign; - - assertEquals("vAlignLink","middle",vvalign); - -} - - - - -function runTest() { - table52(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table53.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table53.js deleted file mode 100644 index 1a42944..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table53.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table53"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecol"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Default column width. -The value of attribute width of the tablecol element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-25196799 -*/ -function table53() { - var success; - if(checkInitialization(builder, "table53") != null) return; - var nodeList; - var testNode; - var vwidth; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecol"); - nodeList = doc.getElementsByTagName("col"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vwidth = testNode.width; - - assertEquals("widthLink","20",vwidth); - -} - - - - -function runTest() { - table53(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table01.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table01.js deleted file mode 100644 index b561015..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table01.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table01"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table1"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Returns the table's CAPTION, or void if none exists. -The value of attribute caption of the table element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14594520 -*/ -function table01() { - var success; - if(checkInitialization(builder, "table01") != null) return; - var nodeList; - var testNode; - var vcaption; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table1"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vcaption = testNode.caption; - - assertNull("captionLink",vcaption); - -} - - - - -function runTest() { - table01(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table25.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table25.js deleted file mode 100644 index 504eb18..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table25.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table25"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Number of columns spanned by cell. -The value of attribute colspan of the tablecell element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-84645244 -*/ -function table25() { - var success; - if(checkInitialization(builder, "table25") != null) return; - var nodeList; - var testNode; - var vcolspan; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("td"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(1); - vcolspan = testNode.colSpan; - - assertEquals("colSpanLink",1,vcolspan); - -} - - - - -function runTest() { - table25(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table28.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table28.js deleted file mode 100644 index b3ceab8..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table28.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table28"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecell"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Number of rows spanned by cell. -The value of attribute rowspan of the tablecell element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-48237625 -*/ -function table28() { - var success; - if(checkInitialization(builder, "table28") != null) return; - var nodeList; - var testNode; - var vrowspan; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecell"); - nodeList = doc.getElementsByTagName("td"); - assertSize("Asize",4,nodeList); -testNode = nodeList.item(1); - vrowspan = testNode.rowSpan; - - assertEquals("rowSpanLink",1,vrowspan); - -} - - - - -function runTest() { - table28(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table34.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table34.js deleted file mode 100644 index 673fa06..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table34.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table34"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "table"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -The width of the border around the table. -The value of attribute border of the table element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-50969400 -*/ -function table34() { - var success; - if(checkInitialization(builder, "table34") != null) return; - var nodeList; - var testNode; - var vborder; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "table"); - nodeList = doc.getElementsByTagName("table"); - assertSize("Asize",3,nodeList); -testNode = nodeList.item(1); - vborder = testNode.border; - - assertEquals("borderLink","4",vborder); - -} - - - - -function runTest() { - table34(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table51.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table51.js deleted file mode 100644 index b6588b4..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table51.js +++ /dev/null @@ -1,112 +0,0 @@ - -/* -Copyright © 2001-2004 World Wide Web Consortium, -(Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All -Rights Reserved. This work is distributed under the W3C® Software License [1] in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 -*/ - - - - /** - * Gets URI that identifies the test. - * @return uri identifier of test - */ -function getTargetURI() { - return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table51"; - } - -var docsLoaded = -1000000; -var builder = null; - -// -// This function is called by the testing framework before -// running the test suite. -// -// If there are no configuration exceptions, asynchronous -// document loading is started. Otherwise, the status -// is set to complete and the exception is immediately -// raised when entering the body of the test. -// -function setUpPage() { - setUpPageStatus = 'running'; - try { - // - // creates test document builder, may throw exception - // - builder = createConfiguredBuilder(); - - docsLoaded = 0; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - docsLoaded += preload(docRef, "doc", "tablecol"); - - if (docsLoaded == 1) { - setUpPageStatus = 'complete'; - } - } catch(ex) { - catchInitializationError(builder, ex); - setUpPageStatus = 'complete'; - } -} - - - -// -// This method is called on the completion of -// each asychronous load started in setUpTests. -// -// When every synchronous loaded document has completed, -// the page status is changed which allows the -// body of the test to be executed. -function loadComplete() { - if (++docsLoaded == 1) { - setUpPageStatus = 'complete'; - } -} - - -/** -* -Indicates the number of columns in a group or affected by a grouping. -The value of attribute span of the tablecol element is read and checked against the expected value. - -* @author Netscape -* @author Sivakiran Tummala -* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96511335 -*/ -function table51() { - var success; - if(checkInitialization(builder, "table51") != null) return; - var nodeList; - var testNode; - var vspan; - var doc; - - var docRef = null; - if (typeof(this.doc) != 'undefined') { - docRef = this.doc; - } - doc = load(docRef, "doc", "tablecol"); - nodeList = doc.getElementsByTagName("col"); - assertSize("Asize",1,nodeList); -testNode = nodeList.item(0); - vspan = testNode.span; - - assertEquals("spanLink",1,vspan); - -} - - - - -function runTest() { - table51(); -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/package.json b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/package.json deleted file mode 100644 index 5846fa3..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/package.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "tassembly", - "version": "0.1.0", - "main": "tassembly.js", - "dependencies": { - "domino": "1.x.x" - }, - "readme": "tassembly\n=========\n\nJSON IR for templating and corresponding runtime implementation\n\n**\"Fast but safe\"**\n\nSecurity guarantees of DOM-based templating (tag balancing, context-sensitive\nhref/src/style sanitization etc) with the performance of string-based templating.\n\nSee\n [this page for background.](https://www.mediawiki.org/wiki/Requests_for_comment/HTML_templating_library/Knockout_-_Tassembly)\n\n* The JSON format is compact, can easily be persisted and can be evaluated with\na tiny library.\n\n* Performance is on par with compiled handlebars templates, the fastest\nstring-based library in our tests.\n\n* Compilation target for [KnockoutJS templates\n (KoTasm)](https://github.com/gwicke/kotasm) and\n [Spacebars](https://github.com/gwicke/TemplatePerf/tree/master/handlebars-htmljs-node/spacebars-qt).\n\nExamples:\n\n```javascript\n['',['text','body'],'
    ']\n\n['',\n ['foreach',{data:'items',tpl:['',['text','val'],'
    ']}],\n'']\n```\n", - "readmeFilename": "README.md", - "description": "tassembly =========", - "_id": "tassembly@0.1.0", - "dist": { - "shasum": "db58fd095005cc59dfe54ecdc2c55ddb2e6732fc" - }, - "_resolved": "git+https://github.com/gwicke/tassembly.git#f0d301f2332b8005b3374d0dd2447f82217cfe3f", - "_from": "tassembly@git+https://github.com/gwicke/tassembly.git#master" -} diff --git a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/tassembly.js b/knockoff-node/node_modules/KOTASM/node_modules/tassembly/tassembly.js deleted file mode 100644 index fd8c640..0000000 --- a/knockoff-node/node_modules/KOTASM/node_modules/tassembly/tassembly.js +++ /dev/null @@ -1,351 +0,0 @@ -/* - * Prototype JSON template IR evaluator - * - * Motto: Fast but safe! - * - * A string-based template representation that can be compiled from DOM-based - * templates (knockoutjs syntax for example) and can statically enforce - * balancing and contextual sanitization to prevent XSS, for example in href - * and src attributes. The JSON format is compact, can easily be persisted and - * can be evaluated with a tiny library (this file). - * - * Performance is on par with compiled handlebars templates, the fastest - * string-based library in our tests. - * - * Input examples: - * ['',['text','body'],''] - * ['', - * ['foreach',{data:'m_items',tpl:['',['text','val'],'']}], - * ''] - */ -"use strict"; - - -function TAssembly () { - this.uid = 0; - // Cache for sub-structure parameters. Storing them globally keyed on uid - // makes it possible to reuse compilations. - this.cache = {}; - // Partials: tassembly objects - this.partials = {}; -} - -TAssembly.prototype._getUID = function() { - this.uid++; - return this.uid; -}; - -/** - * Call a callable, or return a plain value. - * - * If support for IE <= 8 is not needed we could also use - * Object.defineProperty to define callables as getters instead for lower - * overhead. - */ -TAssembly.prototype._maybeCall = function(val) { - if (!val || val.constructor !== Function) { - return val; - } else { - return val(); - } -}; - - -TAssembly.prototype._evalExpr = function (expression, scope) { - // Simple variable / fast path - if (/^[a-zA-Z_]+$/.test(expression)) { - return this._maybeCall(scope[expression]); - } - - // String literal - if (/^'.*'$/.test(expression)) { - return this._maybeCall(expression.slice(1,-1).replace(/\\'/g, "'")); - } - - // Dot notation - if (/^[a-zA-Z_]+(?:[.][a-zA-Z_])+$/.test(expression)) { - try { - return this._maybeCall(new Function('scope', 'return scope.' + expression)(scope)); - } catch (e) { - return ''; - } - } - - // Don't want to allow full JS expressions for PHP compat & general - // sanity. We could do the heavy sanitization work in the compiler & just - // eval simple JS-compatible expressions here (possibly using 'with', - // although that is deprecated & disabled in strict mode). For now we play - // it safe & don't eval the expression. Can relax this later. - return expression; -}; - -/* - * Optimized _evalExpr stub for the code generator - * - * Directly dereference the scope for simple expressions (the common case), - * and fall back to the full method otherwise. - */ -function evalExprStub(expr) { - if (/^[a-zA-Z_]+$/.test(expr)) { - // simple variable, the fast and common case - // XXX: Omit this._maybeCall if not on IE (defineProperty available) - return 'this._maybeCall(scope[' + JSON.stringify(expr) + '])'; - } else { - return 'this._evalExpr(' + JSON.stringify(expr) + ', scope)'; - } -} - -TAssembly.prototype._getTemplate = function (tpl, cb) { - if (Array.isArray(tpl)) { - return tpl; - } else { - // String literal: strip quotes - if (/^'.*'$/.test(tpl)) { - tpl = tpl.slice(1,-1).replace(/\\'/g, "'"); - } - return this.partials[tpl]; - } -}; - -TAssembly.prototype.ctlFn_foreach = function(options, scope, cb) { - // deal with options - var iterable = this._evalExpr(options.data, scope), - // worth compiling the nested template - tpl = this.compile(this._getTemplate(options.tpl), cb), - l = iterable.length; - for(var i = 0; i < l; i++) { - tpl(iterable[i]); - } -}; -TAssembly.prototype.ctlFn_template = function(options, scope, cb) { - // deal with options - var data = this._evalExpr(options.data, scope); - this.render(this._getTemplate(options.tpl), data, cb); -}; - -TAssembly.prototype.ctlFn_with = function(options, scope, cb) { - var val = this._evalExpr(options.data, scope); - if (val) { - this.render(this._getTemplate(options.tpl), val, cb); - } else { - // TODO: hide the parent element similar to visible - } -}; - -TAssembly.prototype.ctlFn_if = function(options, scope, cb) { - if (this._evalExpr(options.data, scope)) { - this.render(options.tpl, scope, cb); - } -}; - -TAssembly.prototype.ctlFn_ifnot = function(options, scope, cb) { - if (!this._evalExpr(options.data, scope)) { - this.render(options.tpl, scope, cb); - } -}; - -TAssembly.prototype.ctlFn_attr = function(options, scope, cb) { - var self = this, - attVal; - Object.keys(options).forEach(function(name) { - var attValObj = options[name]; - if (typeof attValObj === 'string') { - attVal = self._evalExpr(options[name], scope); - } else { - // Must be an object - attVal = attValObj.v || ''; - if (attValObj.app && Array.isArray(attValObj.app)) { - attValObj.app.forEach(function(appItem) { - if (appItem['if'] && self._evalExpr(appItem['if'], scope)) { - attVal += appItem.v || ''; - } - if (appItem.ifnot && ! self._evalExpr(appItem.ifnot, scope)) { - attVal += appItem.v || ''; - } - }); - } - if (!attVal && attValObj.v === null) { - attVal = null; - } - } - if (attVal !== null) { - cb(' ' + name + '="' - // TODO: context-sensitive sanitization on href / src / style - // (also in compiled version at end) - + attVal.toString().replace(/"/g, '"') - + '"'); - } - }); -}; - -// Actually handled inline for performance -//TAssembly.prototype.ctlFn_text = function(options, scope, cb) { -// cb(this._evalExpr(options, scope)); -//}; - -TAssembly.prototype._xmlEncoder = function(c){ - switch(c) { - case '<': return '<'; - case '>': return '>'; - case '&': return '&'; - case '"': return '"'; - default: return '&#' + c.charCodeAt() + ';'; - } -}; - -TAssembly.prototype._assemble = function(template, cb) { - var code = []; - code.push('var val;'); - if (!cb) { - code.push('var res = "", cb = function(bit) { res += bit; };'); - } - - var self = this, - l = template.length; - for(var i = 0; i < l; i++) { - var bit = template[i], - c = bit.constructor; - if (c === String) { - // static string - code.push('cb(' + JSON.stringify(bit) + ');'); - } else if (c === Array) { - // control structure - var fnName = bit[0]; - - // Inline text and attr handlers for speed - if (fnName === 'text') { - code.push('val = ' + evalExprStub(bit[1]) + ';' - + 'val = !val && val !== 0 ? "" : "" + val;' - + 'if(!/[<&]/.test(val)) { cb(val); }' - + 'else { cb(val.replace(/[<&]/g,this._xmlEncoder)); };'); - } else if ( fnName === 'attr' ) { - var names = Object.keys(bit[1]); - for(var j = 0; j < names.length; j++) { - var name = names[j]; - code.push('val = ' + evalExprStub(bit[1][name]) + ';'); - code.push("if (val !== null) { " - // escape the attribute value - // TODO: hook up context-sensitive sanitization for href, - // src, style - + 'val = !val && val !== 0 ? "" : "" + val;' - + 'if(/[<&"]/.test(val)) { val = val.replace(/[<&"]/g,this._xmlEncoder); }' - + "cb(" + JSON.stringify(' ' + name + '="') - + " + val " - + "+ '\"');}"); - } - } else { - // Generic control function call - - // Store the args in the cache to a) keep the compiled code - // small, and b) share compilations of sub-blocks between - // repeated calls - var uid = this._getUID(); - this.cache[uid] = bit[1]; - - code.push('try {'); - // call the method - code.push('this[' + JSON.stringify('ctlFn_' + bit[0]) - // store in cache / unique key rather than here - + '](this.cache["' + uid + '"], scope, cb);'); - code.push('} catch(e) {'); - code.push("console.error('Unsupported control function:', " - + JSON.stringify(bit[0]) + ", e.stack);"); - code.push('}'); - } - } else { - console.error('Unsupported type:', bit); - } - } - if (!cb) { - code.push("return res;"); - } - return code.join('\n'); -}; - -/** - * Interpreted template expansion entry point - * - * @param {array} template The tassembly template in JSON IR - * @param {object} scope the model - * @param {function} cb (optional) chunk callback for bits of text (instead of - * return) - * @return {string} Rendered template string - */ -TAssembly.prototype.render = function(template, scope, cb) { - var res; - if (!cb) { - res = []; - cb = function(bit) { - res.push(bit); - }; - } - - // Just call a cached compiled version if available - if (template.__cachedFn) { - return template.__cachedFn.call(this, scope, cb); - } - - var self = this, - l = template.length; - for(var i = 0; i < l; i++) { - var bit = template[i], - c = bit.constructor, - val; - if (c === String) { - cb(bit); - } else if (c === Array) { - // control structure - var fnName = bit[0]; - if (fnName === 'text') { - val = this._evalExpr(bit[1], scope); - if (!val && val !== 0) { - val = ''; - } - cb( ('' + val) // convert to string - .replace(/[<&]/g, this._xmlEncoder)); // and escape - } else { - - try { - self['ctlFn_' + bit[0]](bit[1], scope, cb); - } catch(e) { - console.error('Unsupported control function:', bit, e); - } - } - } else { - console.error('Unsupported type:', bit); - } - } - if(res) { - return res.join(''); - } -}; - - -/** - * Compile a template to a function - * - * @param {array} template The tassembly template in JSON IR - * @param {function} cb (optional) chunk callback for bits of text (instead of - * return) - * @return {function} template function(model) - */ -TAssembly.prototype.compile = function(template, cb) { - var self = this; - if (template.__cachedFn) { - // - return function(scope) { - return template.__cachedFn.call(self, scope, cb); - }; - } - var code = this._assemble(template, cb); - //console.log(code); - var fn = new Function('scope', 'cb', code); - template.__cachedFn = fn; - // bind this and cb - var res = function (scope) { - return fn.call(self, scope, cb); - }; - return res; -}; - -module.exports = new TAssembly(); diff --git a/knockoff-node/node_modules/KOTASM/package.json b/knockoff-node/node_modules/KOTASM/package.json deleted file mode 100644 index 75a2053..0000000 --- a/knockoff-node/node_modules/KOTASM/package.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "KOTASM", - "version": "0.1.0", - "dependencies": { - "tassembly": "git+https://github.com/gwicke/tassembly.git#master" - }, - "readme": "kotasm\n======\n\nKnockoutJS to Tassembly compiler\n", - "readmeFilename": "README.md", - "description": "kotasm ======", - "_id": "KOTASM@0.1.0", - "dist": { - "shasum": "9db06dec48d11e287e8ca0c1096c796c39b831da" - }, - "_resolved": "git+https://github.com/gwicke/kotasm#66f5edbfd3a3a8e44519663a990c4affa9fb5e46", - "_from": "kotasm@git+https://github.com/gwicke/kotasm#master" -} diff --git a/knockoff-node/node_modules/KOTASM/testKnockoutCompiler.js b/knockoff-node/node_modules/KOTASM/testKnockoutCompiler.js deleted file mode 100644 index c81a82d..0000000 --- a/knockoff-node/node_modules/KOTASM/testKnockoutCompiler.js +++ /dev/null @@ -1,69 +0,0 @@ -var c = require('./KnockoutCompiler.js'), - ta = require('tassembly'); - -// Register a partial -ta.partials.testPartial = c.compile(''); - -function test(input) { - // compile the knockout template to TAssembly JSON - var json = c.compile(input); - // now compile the TAssembly JSON to a JS method - // could also interpret it with ta.render(json, testData); - //tpl = ta.compile(json); - - var testData = { - items: [ - { - key: 'key1', - value: 'value1' - }, - { - key: 'key2', - value: 'value2' - } - ], - obj: { - foo: "foo", - bar: "bar" - }, - name: 'Some name', - content: 'Some sample content', - id: 'mw1234', - predTrue: true, - predFalse: false - }; - - console.log('========================='); - console.log('Knockout template:'); - console.log(input); - console.log('TAssembly JSON:'); - console.log(JSON.stringify(json, null, 2)); - console.log('Rendered HTML:'); - console.log(ta.render(json, testData)); -} - -test('
    ' - + '
    '); - -test('
    Hello world
    '); -test('
    Hello world
    '); -// constant string -test('
    Hello world
    '); - -// constant number -test('
    Hello world
    '); - -// arithmetic expression -test('
    Hello world
    '); - -test('hello worldfoo
    ipsum
    '); - -test('hello worldfoo
    hopefully foohopefully bar
    '); - -test('hello world
    '); - -test('
    '); - -test('
    '); - -test('
    '); diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json b/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json index 6610b82..f58acb8 100644 --- a/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json @@ -10,8 +10,8 @@ "description": "tassembly =========", "_id": "tassembly@0.1.0", "dist": { - "shasum": "7443c5904275d785e3cdfa948a240e707e93393e" + "shasum": "89009cb64a3c1268e54dd9bffe21eaf26ea7ff8f" }, - "_resolved": "git+https://github.com/gwicke/tassembly.git#6426f37019272b7a17c8ac2d96e0386a6c150aab", + "_resolved": "git+https://github.com/gwicke/tassembly.git#0b2ed930e72ab0f360be0034db0ebcc5d4b07cff", "_from": "tassembly@git+https://github.com/gwicke/tassembly.git#master" } diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js index 8261181..d0e8c70 100644 --- a/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js @@ -41,35 +41,32 @@ var simpleExpression = /^(?:[.][a-zA-Z_$]+)+$/, + '(?:\\((?:[0-9a-zA-Z_$.]+|["\'][a-zA-Z0-9_$\.]+["\'])\\))?' + ')+$'); TAssembly.prototype._evalExpr = function (expression, scope) { - var func = this.cache['expr' + expression]; - if (!func) { - // Simple variable / fast path - if (/^[a-zA-Z_$]+$/.test(expression)) { - return scope[expression]; - } + // Simple variable / fast path + if (/^[a-zA-Z_$]+$/.test(expression)) { + return scope[expression]; + } - // String literal - if (/^'.*'$/.test(expression)) { - return expression.slice(1,-1).replace(/\\'/g, "'"); - } + // String literal + if (/^'.*'$/.test(expression)) { + return expression.slice(1,-1).replace(/\\'/g, "'"); + } - // Dot notation, array indexing and function calls - // a.b.c - // literal array indexes (number and string) and nullary functions only - // a[1]().b['b']() - var texpression = '.' + expression; - if (simpleExpression.test(texpression) || complexExpression.test(texpression)) { - func = new Function('scope', 'var $index = scope.$index;' - + 'var $data = scope.$data;' - + 'var $parent = scope.$parent;' - + 'return scope' + texpression); - this.cache['expr' + expression] = func; + // Dot notation, array indexing and function calls + // a.b.c + // literal array indexes (number and string) and nullary functions only + // a[1]().b['b']() + var texpression = '.' + expression; + if (simpleExpression.test(texpression)) { + try { + return new Function('scope', 'with(scope) { return ' + expression + ')')(scope); + } catch (e) { + console.log(e); + return ''; } - } - if (func) { + } else if (complexExpression.test(texpression)) { try { - return func(scope); - } catch (e) { + return new Function('scope', 'with(scope) { return ' + expression + '}')(scope); + } catch (e) { console.log(e); return ''; } From ff100cc021857ddd1a60e8aa052d88fe11d5c1bd Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Fri, 14 Mar 2014 22:36:46 -0700 Subject: [PATCH 38/72] Update knockoff deps --- .../node_modules => }/domino/.npmignore | 0 .../node_modules => }/domino/.travis.yml | 0 .../node_modules => }/domino/LICENSE | 0 .../node_modules => }/domino/README.md | 0 .../domino/lib/CSSStyleDeclaration.js | 0 .../domino/lib/CharacterData.js | 0 .../node_modules => }/domino/lib/Comment.js | 0 .../domino/lib/CustomEvent.js | 0 .../domino/lib/DOMException.js | 0 .../domino/lib/DOMImplementation.js | 0 .../domino/lib/DOMTokenList.js | 0 .../node_modules => }/domino/lib/Document.js | 0 .../domino/lib/DocumentFragment.js | 0 .../domino/lib/DocumentType.js | 0 .../node_modules => }/domino/lib/Element.js | 0 .../node_modules => }/domino/lib/Event.js | 0 .../domino/lib/EventTarget.js | 0 .../domino/lib/FilteredElementList.js | 0 .../domino/lib/HTMLParser.js | 0 .../node_modules => }/domino/lib/Leaf.js | 0 .../node_modules => }/domino/lib/Location.js | 0 .../domino/lib/MouseEvent.js | 0 .../domino/lib/MutationConstants.js | 0 .../node_modules => }/domino/lib/Node.js | 0 .../domino/lib/NodeFilter.js | 0 .../node_modules => }/domino/lib/NodeList.js | 0 .../domino/lib/ProcessingInstruction.js | 0 .../node_modules => }/domino/lib/Text.js | 0 .../domino/lib/TreeWalker.js | 0 .../node_modules => }/domino/lib/UIEvent.js | 0 .../node_modules => }/domino/lib/URL.js | 0 .../domino/lib/URLDecompositionAttributes.js | 0 .../node_modules => }/domino/lib/Window.js | 0 .../domino/lib/attributes.js | 0 .../node_modules => }/domino/lib/cssparser.js | 0 .../node_modules => }/domino/lib/events.js | 0 .../node_modules => }/domino/lib/htmlelts.js | 0 .../node_modules => }/domino/lib/impl.js | 0 .../node_modules => }/domino/lib/index.js | 0 .../node_modules => }/domino/lib/select.js | 0 .../node_modules => }/domino/lib/utils.js | 0 .../node_modules => }/domino/lib/xmlnames.js | 0 .../node_modules => }/domino/package.json | 0 .../node_modules => }/domino/test/domino.js | 0 .../domino/test/fixture/doc.html | 0 .../domino/test/fixture/jquery-1.9.1.js | 0 .../domino/test/htmlwg/README.md | 0 .../domino/test/htmlwg/harness/index.js | 0 .../domino/test/htmlwg/harness/testharness.js | 0 .../domino/test/htmlwg/index.js | 0 ...ument.getElementsByTagName-foreign-01.html | 0 ...ument.getElementsByTagName-foreign-02.html | 0 ...ement.getElementsByTagName-foreign-01.html | 0 ...ement.getElementsByTagName-foreign-02.html | 0 .../browsing-the-web/load-text-plain.html | 0 ...ent.getElementsByClassName-null-undef.html | 0 ...ent.getElementsByClassName-null-undef.html | 0 ...document.body-getter-foreign-frameset.html | 0 ...ocument.body-getter-frameset-and-body.html | 0 .../document.body-setter-01.html | 0 .../document.embeds-document.plugins-01.html | 0 .../document.getElementsByClassName-same.html | 0 .../document.getElementsByName-case.html | 0 .../document.getElementsByName-case.xhtml | 0 .../document.getElementsByName-id.html | 0 .../document.getElementsByName-id.xhtml | 0 .../document.getElementsByName-namespace.html | 0 ...document.getElementsByName-namespace.xhtml | 0 ...ocument.getElementsByName-newelements.html | 0 ...cument.getElementsByName-newelements.xhtml | 0 ...document.getElementsByName-null-undef.html | 0 ...ocument.getElementsByName-null-undef.xhtml | 0 .../document.getElementsByName-param.html | 0 .../document.getElementsByName-param.xhtml | 0 .../document.getElementsByName-same.html | 0 .../dom-tree-accessors/document.head-01.html | 0 .../dom-tree-accessors/document.head-02.html | 0 .../dom-tree-accessors/document.title-01.html | 0 .../document.title-02.xhtml | 0 .../dom-tree-accessors/document.title-03.html | 0 .../document.title-04.xhtml | 0 .../dom-tree-accessors/document.title-05.html | 0 .../dom-tree-accessors/document.title-06.html | 0 .../dom-tree-accessors/document.title-07.html | 0 .../dom-tree-accessors/nameditem-01.html | 0 .../document.close-01.xhtml | 0 .../document.open-01.xhtml | 0 .../document.open-02.html | 0 .../document.write-01.xhtml | 0 .../document.write-02.html | 0 .../document.writeln-01.xhtml | 0 .../document.writeln-02.html | 0 .../elements-in-the-dom/unknown-element.html | 0 .../events/event-handler-spec-example.html | 0 .../submission/Ms2ger/general/interfaces.html | 0 .../classlist-nonstring.html | 0 .../Ms2ger/global-attributes/dataset.html | 0 .../global-attributes/document-dir.html | 0 .../Ms2ger/global-attributes/id-name.html | 0 .../lang-xmllang-01-ref.html | 0 .../global-attributes/lang-xmllang-01.html | 0 .../global-attributes/lang-xyzzy-ref.html | 0 .../Ms2ger/global-attributes/lang-xyzzy.html | 0 .../global-attributes/style-01-ref.html | 0 .../Ms2ger/global-attributes/style-01.html | 0 .../document-color-01.html | 0 .../document-color-02.html | 0 .../document-color-03.html | 0 .../document-color-04.html | 0 .../document.all-01.html | 0 .../document.all-02.html | 0 .../document.all-03.html | 0 .../document.all-04.html | 0 .../document.all-05.html | 0 .../heading-obsolete-attributes-01.html | 0 .../script-IDL-event-htmlfor.html | 0 .../submission/Ms2ger/parsing/comment.dat | 0 .../document-compatmode-01.html | 0 .../document-compatmode-02.html | 0 .../document-compatmode-03.html | 0 .../document-compatmode-04.xhtml | 0 .../document-compatmode-05.xhtml | 0 .../document-compatmode-06.xhtml | 0 .../Ms2ger/support/css/200-textplain.cgi | 0 .../Ms2ger/support/css/404-textcss.cgi | 0 .../Ms2ger/support/text/200-textplain.cgi | 0 .../the-link-element/link-rellist.html | 0 .../the-link-element/link-style-error-01.html | 0 .../the-style-element/style-error-01.html | 0 .../the-title-element/title.text-01.html | 0 .../the-title-element/title.text-02.xhtml | 0 .../the-title-element/title.text-03.html | 0 .../the-title-element/title.text-04.xhtml | 0 .../the-video-element/video-tabindex.html | 0 .../form-elements-interfaces-01.html | 0 .../form-elements-matches.html | 0 .../form-elements-nameditem-01.html | 0 .../form-elements-nameditem-02.html | 0 .../input-textselection-01.html | 0 .../the-textarea-element/textarea-type.html | 0 .../wrap-reflect-1-ref.html | 0 .../the-textarea-element/wrap-reflect-1a.html | 0 .../the-textarea-element/wrap-reflect-1b.html | 0 .../script-language-type.html | 0 .../script-languages-01.html | 0 .../script-languages-02.html | 0 .../script-noembed-noframes-iframe.xhtml | 0 .../insertRow-method-01.html | 0 .../insertRow-method-02.html | 0 .../the-a-element/a.text-getter-01.html | 0 .../the-a-element/a.text-setter-01.html | 0 .../the-hidden-attribute/hidden-1-ref.html | 0 .../the-hidden-attribute/hidden-1a.html | 0 .../the-hidden-attribute/hidden-1b.html | 0 .../the-hidden-attribute/hidden-1c.html | 0 .../the-hidden-attribute/hidden-1d.html | 0 .../the-hidden-attribute/hidden-2-ref.svg | 0 .../Ms2ger/the-hidden-attribute/hidden-2.svg | 0 .../node_modules => }/domino/test/index.js | 0 .../node_modules => }/domino/test/mocha.opts | 0 .../domino/test/w3c/README.md | 0 .../domino/test/w3c/harness/DomTestCase.js | 0 .../domino/test/w3c/harness/index.js | 0 .../domino/test/w3c/index.js | 0 .../level1/core/documentgetdoctypenodtd.js | 0 ...cumentinvalidcharacterexceptioncreatepi.js | 0 ...umentinvalidcharacterexceptioncreatepi1.js | 0 .../test/w3c/level1/core/files/.cvsignore | 0 .../w3c/level1/core/files/hc_nodtdstaff.html | 0 .../test/w3c/level1/core/files/hc_staff.html | 0 .../test/w3c/level1/core/files/staff.dtd | 0 .../level1/core/hc_characterdataappenddata.js | 0 .../core/hc_characterdataappenddatagetdata.js | 0 .../hc_characterdatadeletedatabegining.js | 0 .../core/hc_characterdatadeletedataend.js | 0 ...hc_characterdatadeletedataexceedslength.js | 0 ...characterdatadeletedatagetlengthanddata.js | 0 .../core/hc_characterdatadeletedatamiddle.js | 0 .../level1/core/hc_characterdatagetdata.js | 0 .../level1/core/hc_characterdatagetlength.js | 0 ...dataindexsizeerrdeletedatacountnegative.js | 0 ...dataindexsizeerrdeletedataoffsetgreater.js | 0 ...ataindexsizeerrdeletedataoffsetnegative.js | 0 ...dataindexsizeerrinsertdataoffsetgreater.js | 0 ...ataindexsizeerrinsertdataoffsetnegative.js | 0 ...ataindexsizeerrreplacedatacountnegative.js | 0 ...ataindexsizeerrreplacedataoffsetgreater.js | 0 ...taindexsizeerrreplacedataoffsetnegative.js | 0 ...rdataindexsizeerrsubstringcountnegative.js | 0 ...dataindexsizeerrsubstringnegativeoffset.js | 0 ...rdataindexsizeerrsubstringoffsetgreater.js | 0 .../hc_characterdatainsertdatabeginning.js | 0 .../core/hc_characterdatainsertdataend.js | 0 .../core/hc_characterdatainsertdatamiddle.js | 0 .../hc_characterdatareplacedatabegining.js | 0 .../core/hc_characterdatareplacedataend.js | 0 ...racterdatareplacedataexceedslengthofarg.js | 0 ...acterdatareplacedataexceedslengthofdata.js | 0 .../core/hc_characterdatareplacedatamiddle.js | 0 .../core/hc_characterdatasetnodevalue.js | 0 .../hc_characterdatasubstringexceedsvalue.js | 0 .../core/hc_characterdatasubstringvalue.js | 0 .../w3c/level1/core/hc_commentgetcomment.js | 0 .../level1/core/hc_documentcreatecomment.js | 0 .../core/hc_documentcreatedocumentfragment.js | 0 .../level1/core/hc_documentcreateelement.js | 0 .../hc_documentcreateelementcasesensitive.js | 0 .../level1/core/hc_documentcreatetextnode.js | 0 .../w3c/level1/core/hc_documentgetdoctype.js | 0 .../hc_documentgetelementsbytagnamelength.js | 0 ...documentgetelementsbytagnametotallength.js | 0 .../hc_documentgetelementsbytagnamevalue.js | 0 .../core/hc_documentgetimplementation.js | 0 .../w3c/level1/core/hc_documentgetrootnode.js | 0 ...tinvalidcharacterexceptioncreateelement.js | 0 ...invalidcharacterexceptioncreateelement1.js | 0 .../hc_domimplementationfeaturenoversion.js | 0 .../core/hc_domimplementationfeaturenull.js | 0 .../core/hc_domimplementationfeaturexml.js | 0 .../level1/core/hc_elementaddnewattribute.js | 0 .../core/hc_elementchangeattributevalue.js | 0 .../core/hc_elementgetelementsbytagname.js | 0 ...ementgetelementsbytagnameaccessnodelist.js | 0 .../hc_elementgetelementsbytagnamenomatch.js | 0 ...elementgetelementsbytagnamespecialvalue.js | 0 .../w3c/level1/core/hc_elementgettagname.js | 0 .../hc_elementinvalidcharacterexception.js | 0 .../hc_elementinvalidcharacterexception1.js | 0 .../w3c/level1/core/hc_elementnormalize.js | 0 .../level1/core/hc_elementremoveattribute.js | 0 .../core/hc_elementretrieveallattributes.js | 0 .../core/hc_elementretrieveattrvalue.js | 0 .../level1/core/hc_elementretrievetagname.js | 0 .../core/hc_entitiesremovenameditem1.js | 0 .../level1/core/hc_entitiessetnameditem1.js | 0 .../core/hc_namednodemapchildnoderange.js | 0 .../core/hc_namednodemapnumberofnodes.js | 0 .../w3c/level1/core/hc_nodeappendchild.js | 0 .../core/hc_nodeappendchildchildexists.js | 0 .../core/hc_nodeappendchilddocfragment.js | 0 .../core/hc_nodeappendchildgetnodename.js | 0 .../hc_nodeappendchildnewchilddiffdocument.js | 0 .../core/hc_nodeappendchildnodeancestor.js | 0 .../core/hc_nodeattributenodeattribute.js | 0 .../test/w3c/level1/core/hc_nodechildnodes.js | 0 .../core/hc_nodechildnodesappendchild.js | 0 .../w3c/level1/core/hc_nodechildnodesempty.js | 0 .../core/hc_nodecloneattributescopied.js | 0 .../core/hc_nodeclonefalsenocopytext.js | 0 .../level1/core/hc_nodeclonegetparentnull.js | 0 .../w3c/level1/core/hc_nodeclonenodefalse.js | 0 .../w3c/level1/core/hc_nodeclonenodetrue.js | 0 .../level1/core/hc_nodeclonetruecopytext.js | 0 .../core/hc_nodecommentnodeattributes.js | 0 .../w3c/level1/core/hc_nodecommentnodename.js | 0 .../w3c/level1/core/hc_nodecommentnodetype.js | 0 .../level1/core/hc_nodecommentnodevalue.js | 0 .../core/hc_nodedocumentfragmentnodename.js | 0 .../core/hc_nodedocumentfragmentnodetype.js | 0 .../core/hc_nodedocumentfragmentnodevalue.js | 0 .../core/hc_nodedocumentnodeattribute.js | 0 .../level1/core/hc_nodedocumentnodename.js | 0 .../level1/core/hc_nodedocumentnodetype.js | 0 .../level1/core/hc_nodedocumentnodevalue.js | 0 .../core/hc_nodeelementnodeattributes.js | 0 .../w3c/level1/core/hc_nodeelementnodename.js | 0 .../w3c/level1/core/hc_nodeelementnodetype.js | 0 .../level1/core/hc_nodeelementnodevalue.js | 0 .../w3c/level1/core/hc_nodegetfirstchild.js | 0 .../level1/core/hc_nodegetfirstchildnull.js | 0 .../w3c/level1/core/hc_nodegetlastchild.js | 0 .../level1/core/hc_nodegetlastchildnull.js | 0 .../w3c/level1/core/hc_nodegetnextsibling.js | 0 .../level1/core/hc_nodegetnextsiblingnull.js | 0 .../level1/core/hc_nodegetownerdocument.js | 0 .../core/hc_nodegetownerdocumentnull.js | 0 .../level1/core/hc_nodegetprevioussibling.js | 0 .../core/hc_nodegetprevioussiblingnull.js | 0 .../w3c/level1/core/hc_nodehaschildnodes.js | 0 .../level1/core/hc_nodehaschildnodesfalse.js | 0 .../w3c/level1/core/hc_nodeinsertbefore.js | 0 .../core/hc_nodeinsertbeforedocfragment.js | 0 ...hc_nodeinsertbeforenewchilddiffdocument.js | 0 .../core/hc_nodeinsertbeforenewchildexists.js | 0 .../core/hc_nodeinsertbeforenodeancestor.js | 0 .../core/hc_nodeinsertbeforenodename.js | 0 .../hc_nodeinsertbeforerefchildnonexistent.js | 0 .../core/hc_nodeinsertbeforerefchildnull.js | 0 .../level1/core/hc_nodelistindexequalzero.js | 0 .../level1/core/hc_nodelistindexgetlength.js | 0 .../hc_nodelistindexgetlengthofemptylist.js | 0 .../level1/core/hc_nodelistindexnotzero.js | 0 .../level1/core/hc_nodelistreturnfirstitem.js | 0 .../level1/core/hc_nodelistreturnlastitem.js | 0 .../level1/core/hc_nodelisttraverselist.js | 0 .../test/w3c/level1/core/hc_nodeparentnode.js | 0 .../w3c/level1/core/hc_nodeparentnodenull.js | 0 .../w3c/level1/core/hc_noderemovechild.js | 0 .../core/hc_noderemovechildgetnodename.js | 0 .../w3c/level1/core/hc_noderemovechildnode.js | 0 .../hc_noderemovechildoldchildnonexistent.js | 0 .../w3c/level1/core/hc_nodereplacechild.js | 0 ...hc_nodereplacechildnewchilddiffdocument.js | 0 .../core/hc_nodereplacechildnewchildexists.js | 0 .../core/hc_nodereplacechildnodeancestor.js | 0 .../core/hc_nodereplacechildnodename.js | 0 .../hc_nodereplacechildoldchildnonexistent.js | 0 .../level1/core/hc_nodetextnodeattribute.js | 0 .../w3c/level1/core/hc_nodetextnodename.js | 0 .../w3c/level1/core/hc_nodetextnodetype.js | 0 .../w3c/level1/core/hc_nodetextnodevalue.js | 0 .../test/w3c/level1/core/hc_nodevalue01.js | 0 .../test/w3c/level1/core/hc_nodevalue02.js | 0 .../test/w3c/level1/core/hc_nodevalue04.js | 0 .../test/w3c/level1/core/hc_nodevalue05.js | 0 .../test/w3c/level1/core/hc_nodevalue06.js | 0 .../test/w3c/level1/core/hc_nodevalue07.js | 0 .../test/w3c/level1/core/hc_nodevalue08.js | 0 .../core/hc_notationsremovenameditem1.js | 0 .../level1/core/hc_notationssetnameditem1.js | 0 .../core/hc_textindexsizeerrnegativeoffset.js | 0 .../hc_textindexsizeerroffsetoutofbounds.js | 0 .../core/hc_textparseintolistofelements.js | 0 .../w3c/level1/core/hc_textsplittextfour.js | 0 .../w3c/level1/core/hc_textsplittextone.js | 0 .../w3c/level1/core/hc_textsplittextthree.js | 0 .../w3c/level1/core/hc_textsplittexttwo.js | 0 .../w3c/level1/core/hc_textwithnomarkup.js | 0 ...ntinvalidcharacterexceptioncreateentref.js | 0 ...tinvalidcharacterexceptioncreateentref1.js | 0 .../core/obsolete/hc_attrappendchild1.js | 0 .../core/obsolete/hc_attrappendchild2.js | 0 .../core/obsolete/hc_attrappendchild3.js | 0 .../core/obsolete/hc_attrappendchild4.js | 0 .../core/obsolete/hc_attrappendchild5.js | 0 .../core/obsolete/hc_attrappendchild6.js | 0 .../core/obsolete/hc_attrchildnodes1.js | 0 .../core/obsolete/hc_attrchildnodes2.js | 0 .../level1/core/obsolete/hc_attrclonenode1.js | 0 .../obsolete/hc_attrcreatedocumentfragment.js | 0 .../core/obsolete/hc_attrcreatetextnode.js | 0 .../core/obsolete/hc_attrcreatetextnode2.js | 0 .../core/obsolete/hc_attreffectivevalue.js | 0 .../level1/core/obsolete/hc_attrfirstchild.js | 0 .../level1/core/obsolete/hc_attrgetvalue1.js | 0 .../level1/core/obsolete/hc_attrgetvalue2.js | 0 .../core/obsolete/hc_attrhaschildnodes.js | 0 .../core/obsolete/hc_attrinsertbefore1.js | 0 .../core/obsolete/hc_attrinsertbefore2.js | 0 .../core/obsolete/hc_attrinsertbefore3.js | 0 .../core/obsolete/hc_attrinsertbefore4.js | 0 .../core/obsolete/hc_attrinsertbefore5.js | 0 .../core/obsolete/hc_attrinsertbefore6.js | 0 .../core/obsolete/hc_attrinsertbefore7.js | 0 .../level1/core/obsolete/hc_attrlastchild.js | 0 .../w3c/level1/core/obsolete/hc_attrname.js | 0 .../core/obsolete/hc_attrnextsiblingnull.js | 0 .../level1/core/obsolete/hc_attrnormalize.js | 0 .../core/obsolete/hc_attrparentnodenull.js | 0 .../obsolete/hc_attrprevioussiblingnull.js | 0 .../core/obsolete/hc_attrremovechild1.js | 0 .../core/obsolete/hc_attrremovechild2.js | 0 .../core/obsolete/hc_attrreplacechild1.js | 0 .../core/obsolete/hc_attrreplacechild2.js | 0 .../level1/core/obsolete/hc_attrsetvalue1.js | 0 .../level1/core/obsolete/hc_attrsetvalue2.js | 0 .../core/obsolete/hc_attrspecifiedvalue.js | 0 .../obsolete/hc_attrspecifiedvaluechanged.js | 0 .../obsolete/hc_documentcreateattribute.js | 0 ...nvalidcharacterexceptioncreateattribute.js | 0 ...validcharacterexceptioncreateattribute1.js | 0 .../obsolete/hc_elementassociatedattribute.js | 0 .../obsolete/hc_elementcreatenewattribute.js | 0 .../obsolete/hc_elementgetattributenode.js | 0 .../hc_elementgetattributenodenull.js | 0 .../obsolete/hc_elementgetelementempty.js | 0 .../obsolete/hc_elementinuseattributeerr.js | 0 .../core/obsolete/hc_elementnormalize2.js | 0 .../core/obsolete/hc_elementnotfounderr.js | 0 .../hc_elementremoveattributeaftercreate.js | 0 .../obsolete/hc_elementremoveattributenode.js | 0 .../hc_elementreplaceattributewithself.js | 0 .../hc_elementreplaceexistingattribute.js | 0 ..._elementreplaceexistingattributegevalue.js | 0 .../hc_elementsetattributenodenull.js | 0 .../obsolete/hc_elementwrongdocumenterr.js | 0 .../obsolete/hc_namednodemapgetnameditem.js | 0 .../hc_namednodemapinuseattributeerr.js | 0 .../obsolete/hc_namednodemapnotfounderr.js | 0 .../hc_namednodemapremovenameditem.js | 0 .../obsolete/hc_namednodemapreturnattrnode.js | 0 .../hc_namednodemapreturnfirstitem.js | 0 .../obsolete/hc_namednodemapreturnlastitem.js | 0 .../obsolete/hc_namednodemapreturnnull.js | 0 .../obsolete/hc_namednodemapsetnameditem.js | 0 .../hc_namednodemapsetnameditemreturnvalue.js | 0 .../hc_namednodemapsetnameditemthatexists.js | 0 ...hc_namednodemapsetnameditemwithnewvalue.js | 0 .../hc_namednodemapwrongdocumenterr.js | 0 .../hc_nodeappendchildinvalidnodetype.js | 0 .../core/obsolete/hc_nodeattributenodename.js | 0 .../core/obsolete/hc_nodeattributenodetype.js | 0 .../obsolete/hc_nodeattributenodevalue.js | 0 .../hc_nodeinsertbeforeinvalidnodetype.js | 0 .../hc_nodereplacechildinvalidnodetype.js | 0 .../level1/core/obsolete/hc_nodevalue03.js | 0 .../w3c/level1/html/HTMLAnchorElement01.js | 0 .../w3c/level1/html/HTMLAnchorElement04.js | 0 .../w3c/level1/html/HTMLAnchorElement05.js | 0 .../w3c/level1/html/HTMLAnchorElement07.js | 0 .../w3c/level1/html/HTMLAnchorElement10.js | 0 .../w3c/level1/html/HTMLAnchorElement11.js | 0 .../w3c/level1/html/HTMLAnchorElement12.js | 0 .../w3c/level1/html/HTMLAnchorElement13.js | 0 .../w3c/level1/html/HTMLAnchorElement14.js | 0 .../test/w3c/level1/html/HTMLAreaElement01.js | 0 .../test/w3c/level1/html/HTMLAreaElement02.js | 0 .../test/w3c/level1/html/HTMLAreaElement03.js | 0 .../test/w3c/level1/html/HTMLAreaElement04.js | 0 .../test/w3c/level1/html/HTMLAreaElement05.js | 0 .../test/w3c/level1/html/HTMLAreaElement06.js | 0 .../test/w3c/level1/html/HTMLAreaElement07.js | 0 .../test/w3c/level1/html/HTMLAreaElement08.js | 0 .../w3c/level1/html/HTMLButtonElement01.js | 0 .../w3c/level1/html/HTMLButtonElement02.js | 0 .../w3c/level1/html/HTMLButtonElement03.js | 0 .../w3c/level1/html/HTMLButtonElement04.js | 0 .../w3c/level1/html/HTMLButtonElement05.js | 0 .../w3c/level1/html/HTMLButtonElement06.js | 0 .../w3c/level1/html/HTMLButtonElement07.js | 0 .../w3c/level1/html/HTMLButtonElement08.js | 0 .../test/w3c/level1/html/HTMLDocument01.js | 0 .../test/w3c/level1/html/HTMLDocument05.js | 0 .../test/w3c/level1/html/HTMLDocument15.js | 0 .../test/w3c/level1/html/HTMLDocument16.js | 0 .../test/w3c/level1/html/HTMLDocument17.js | 0 .../test/w3c/level1/html/HTMLDocument18.js | 0 .../test/w3c/level1/html/HTMLDocument19.js | 0 .../test/w3c/level1/html/HTMLDocument20.js | 0 .../test/w3c/level1/html/HTMLDocument21.js | 0 .../test/w3c/level1/html/HTMLElement01.js | 0 .../test/w3c/level1/html/HTMLElement02.js | 0 .../test/w3c/level1/html/HTMLElement03.js | 0 .../test/w3c/level1/html/HTMLElement04.js | 0 .../test/w3c/level1/html/HTMLElement05.js | 0 .../test/w3c/level1/html/HTMLElement06.js | 0 .../test/w3c/level1/html/HTMLElement07.js | 0 .../test/w3c/level1/html/HTMLElement08.js | 0 .../test/w3c/level1/html/HTMLElement09.js | 0 .../test/w3c/level1/html/HTMLElement10.js | 0 .../test/w3c/level1/html/HTMLElement100.js | 0 .../test/w3c/level1/html/HTMLElement101.js | 0 .../test/w3c/level1/html/HTMLElement102.js | 0 .../test/w3c/level1/html/HTMLElement103.js | 0 .../test/w3c/level1/html/HTMLElement104.js | 0 .../test/w3c/level1/html/HTMLElement105.js | 0 .../test/w3c/level1/html/HTMLElement106.js | 0 .../test/w3c/level1/html/HTMLElement107.js | 0 .../test/w3c/level1/html/HTMLElement108.js | 0 .../test/w3c/level1/html/HTMLElement109.js | 0 .../test/w3c/level1/html/HTMLElement11.js | 0 .../test/w3c/level1/html/HTMLElement110.js | 0 .../test/w3c/level1/html/HTMLElement111.js | 0 .../test/w3c/level1/html/HTMLElement112.js | 0 .../test/w3c/level1/html/HTMLElement113.js | 0 .../test/w3c/level1/html/HTMLElement114.js | 0 .../test/w3c/level1/html/HTMLElement115.js | 0 .../test/w3c/level1/html/HTMLElement116.js | 0 .../test/w3c/level1/html/HTMLElement117.js | 0 .../test/w3c/level1/html/HTMLElement118.js | 0 .../test/w3c/level1/html/HTMLElement119.js | 0 .../test/w3c/level1/html/HTMLElement12.js | 0 .../test/w3c/level1/html/HTMLElement120.js | 0 .../test/w3c/level1/html/HTMLElement121.js | 0 .../test/w3c/level1/html/HTMLElement122.js | 0 .../test/w3c/level1/html/HTMLElement123.js | 0 .../test/w3c/level1/html/HTMLElement124.js | 0 .../test/w3c/level1/html/HTMLElement125.js | 0 .../test/w3c/level1/html/HTMLElement126.js | 0 .../test/w3c/level1/html/HTMLElement127.js | 0 .../test/w3c/level1/html/HTMLElement128.js | 0 .../test/w3c/level1/html/HTMLElement129.js | 0 .../test/w3c/level1/html/HTMLElement13.js | 0 .../test/w3c/level1/html/HTMLElement130.js | 0 .../test/w3c/level1/html/HTMLElement131.js | 0 .../test/w3c/level1/html/HTMLElement132.js | 0 .../test/w3c/level1/html/HTMLElement133.js | 0 .../test/w3c/level1/html/HTMLElement134.js | 0 .../test/w3c/level1/html/HTMLElement135.js | 0 .../test/w3c/level1/html/HTMLElement136.js | 0 .../test/w3c/level1/html/HTMLElement137.js | 0 .../test/w3c/level1/html/HTMLElement138.js | 0 .../test/w3c/level1/html/HTMLElement139.js | 0 .../test/w3c/level1/html/HTMLElement14.js | 0 .../test/w3c/level1/html/HTMLElement140.js | 0 .../test/w3c/level1/html/HTMLElement141.js | 0 .../test/w3c/level1/html/HTMLElement142.js | 0 .../test/w3c/level1/html/HTMLElement143.js | 0 .../test/w3c/level1/html/HTMLElement144.js | 0 .../test/w3c/level1/html/HTMLElement145.js | 0 .../test/w3c/level1/html/HTMLElement15.js | 0 .../test/w3c/level1/html/HTMLElement16.js | 0 .../test/w3c/level1/html/HTMLElement17.js | 0 .../test/w3c/level1/html/HTMLElement18.js | 0 .../test/w3c/level1/html/HTMLElement19.js | 0 .../test/w3c/level1/html/HTMLElement20.js | 0 .../test/w3c/level1/html/HTMLElement21.js | 0 .../test/w3c/level1/html/HTMLElement22.js | 0 .../test/w3c/level1/html/HTMLElement23.js | 0 .../test/w3c/level1/html/HTMLElement24.js | 0 .../test/w3c/level1/html/HTMLElement25.js | 0 .../test/w3c/level1/html/HTMLElement26.js | 0 .../test/w3c/level1/html/HTMLElement27.js | 0 .../test/w3c/level1/html/HTMLElement28.js | 0 .../test/w3c/level1/html/HTMLElement29.js | 0 .../test/w3c/level1/html/HTMLElement30.js | 0 .../test/w3c/level1/html/HTMLElement31.js | 0 .../test/w3c/level1/html/HTMLElement32.js | 0 .../test/w3c/level1/html/HTMLElement33.js | 0 .../test/w3c/level1/html/HTMLElement34.js | 0 .../test/w3c/level1/html/HTMLElement35.js | 0 .../test/w3c/level1/html/HTMLElement36.js | 0 .../test/w3c/level1/html/HTMLElement37.js | 0 .../test/w3c/level1/html/HTMLElement38.js | 0 .../test/w3c/level1/html/HTMLElement39.js | 0 .../test/w3c/level1/html/HTMLElement40.js | 0 .../test/w3c/level1/html/HTMLElement41.js | 0 .../test/w3c/level1/html/HTMLElement42.js | 0 .../test/w3c/level1/html/HTMLElement43.js | 0 .../test/w3c/level1/html/HTMLElement44.js | 0 .../test/w3c/level1/html/HTMLElement45.js | 0 .../test/w3c/level1/html/HTMLElement46.js | 0 .../test/w3c/level1/html/HTMLElement47.js | 0 .../test/w3c/level1/html/HTMLElement48.js | 0 .../test/w3c/level1/html/HTMLElement49.js | 0 .../test/w3c/level1/html/HTMLElement50.js | 0 .../test/w3c/level1/html/HTMLElement51.js | 0 .../test/w3c/level1/html/HTMLElement52.js | 0 .../test/w3c/level1/html/HTMLElement53.js | 0 .../test/w3c/level1/html/HTMLElement54.js | 0 .../test/w3c/level1/html/HTMLElement55.js | 0 .../test/w3c/level1/html/HTMLElement56.js | 0 .../test/w3c/level1/html/HTMLElement57.js | 0 .../test/w3c/level1/html/HTMLElement58.js | 0 .../test/w3c/level1/html/HTMLElement59.js | 0 .../test/w3c/level1/html/HTMLElement60.js | 0 .../test/w3c/level1/html/HTMLElement61.js | 0 .../test/w3c/level1/html/HTMLElement62.js | 0 .../test/w3c/level1/html/HTMLElement63.js | 0 .../test/w3c/level1/html/HTMLElement64.js | 0 .../test/w3c/level1/html/HTMLElement65.js | 0 .../test/w3c/level1/html/HTMLElement66.js | 0 .../test/w3c/level1/html/HTMLElement67.js | 0 .../test/w3c/level1/html/HTMLElement68.js | 0 .../test/w3c/level1/html/HTMLElement69.js | 0 .../test/w3c/level1/html/HTMLElement70.js | 0 .../test/w3c/level1/html/HTMLElement71.js | 0 .../test/w3c/level1/html/HTMLElement72.js | 0 .../test/w3c/level1/html/HTMLElement73.js | 0 .../test/w3c/level1/html/HTMLElement74.js | 0 .../test/w3c/level1/html/HTMLElement75.js | 0 .../test/w3c/level1/html/HTMLElement76.js | 0 .../test/w3c/level1/html/HTMLElement77.js | 0 .../test/w3c/level1/html/HTMLElement78.js | 0 .../test/w3c/level1/html/HTMLElement79.js | 0 .../test/w3c/level1/html/HTMLElement80.js | 0 .../test/w3c/level1/html/HTMLElement81.js | 0 .../test/w3c/level1/html/HTMLElement82.js | 0 .../test/w3c/level1/html/HTMLElement83.js | 0 .../test/w3c/level1/html/HTMLElement84.js | 0 .../test/w3c/level1/html/HTMLElement85.js | 0 .../test/w3c/level1/html/HTMLElement86.js | 0 .../test/w3c/level1/html/HTMLElement87.js | 0 .../test/w3c/level1/html/HTMLElement88.js | 0 .../test/w3c/level1/html/HTMLElement89.js | 0 .../test/w3c/level1/html/HTMLElement90.js | 0 .../test/w3c/level1/html/HTMLElement91.js | 0 .../test/w3c/level1/html/HTMLElement92.js | 0 .../test/w3c/level1/html/HTMLElement93.js | 0 .../test/w3c/level1/html/HTMLElement94.js | 0 .../test/w3c/level1/html/HTMLElement95.js | 0 .../test/w3c/level1/html/HTMLElement96.js | 0 .../test/w3c/level1/html/HTMLElement97.js | 0 .../test/w3c/level1/html/HTMLElement98.js | 0 .../test/w3c/level1/html/HTMLElement99.js | 0 .../w3c/level1/html/HTMLFieldSetElement01.js | 0 .../w3c/level1/html/HTMLFieldSetElement02.js | 0 .../test/w3c/level1/html/HTMLFormElement03.js | 0 .../test/w3c/level1/html/HTMLFormElement04.js | 0 .../test/w3c/level1/html/HTMLFormElement05.js | 0 .../test/w3c/level1/html/HTMLFormElement06.js | 0 .../test/w3c/level1/html/HTMLFormElement07.js | 0 .../test/w3c/level1/html/HTMLFormElement08.js | 0 .../w3c/level1/html/HTMLIFrameElement03.js | 0 .../w3c/level1/html/HTMLIFrameElement07.js | 0 .../w3c/level1/html/HTMLIFrameElement09.js | 0 .../w3c/level1/html/HTMLIFrameElement10.js | 0 .../w3c/level1/html/HTMLImageElement05.js | 0 .../w3c/level1/html/HTMLImageElement06.js | 0 .../w3c/level1/html/HTMLImageElement07.js | 0 .../w3c/level1/html/HTMLImageElement09.js | 0 .../w3c/level1/html/HTMLImageElement11.js | 0 .../w3c/level1/html/HTMLImageElement12.js | 0 .../w3c/level1/html/HTMLInputElement01.js | 0 .../w3c/level1/html/HTMLInputElement02.js | 0 .../w3c/level1/html/HTMLInputElement03.js | 0 .../w3c/level1/html/HTMLInputElement04.js | 0 .../w3c/level1/html/HTMLInputElement05.js | 0 .../w3c/level1/html/HTMLInputElement07.js | 0 .../w3c/level1/html/HTMLInputElement08.js | 0 .../w3c/level1/html/HTMLInputElement09.js | 0 .../w3c/level1/html/HTMLInputElement10.js | 0 .../w3c/level1/html/HTMLInputElement11.js | 0 .../w3c/level1/html/HTMLInputElement12.js | 0 .../w3c/level1/html/HTMLInputElement13.js | 0 .../w3c/level1/html/HTMLInputElement14.js | 0 .../w3c/level1/html/HTMLInputElement15.js | 0 .../w3c/level1/html/HTMLInputElement16.js | 0 .../w3c/level1/html/HTMLInputElement18.js | 0 .../w3c/level1/html/HTMLInputElement21.js | 0 .../test/w3c/level1/html/HTMLLIElement02.js | 0 .../w3c/level1/html/HTMLLabelElement01.js | 0 .../w3c/level1/html/HTMLLabelElement02.js | 0 .../w3c/level1/html/HTMLLabelElement03.js | 0 .../w3c/level1/html/HTMLLabelElement04.js | 0 .../test/w3c/level1/html/HTMLLinkElement01.js | 0 .../test/w3c/level1/html/HTMLLinkElement03.js | 0 .../test/w3c/level1/html/HTMLLinkElement04.js | 0 .../test/w3c/level1/html/HTMLLinkElement05.js | 0 .../test/w3c/level1/html/HTMLLinkElement06.js | 0 .../test/w3c/level1/html/HTMLLinkElement08.js | 0 .../test/w3c/level1/html/HTMLMapElement02.js | 0 .../test/w3c/level1/html/HTMLMetaElement01.js | 0 .../test/w3c/level1/html/HTMLMetaElement02.js | 0 .../test/w3c/level1/html/HTMLMetaElement03.js | 0 .../test/w3c/level1/html/HTMLMetaElement04.js | 0 .../test/w3c/level1/html/HTMLModElement01.js | 0 .../test/w3c/level1/html/HTMLModElement02.js | 0 .../test/w3c/level1/html/HTMLModElement03.js | 0 .../test/w3c/level1/html/HTMLModElement04.js | 0 .../w3c/level1/html/HTMLOListElement02.js | 0 .../w3c/level1/html/HTMLOListElement03.js | 0 .../w3c/level1/html/HTMLObjectElement01.js | 0 .../w3c/level1/html/HTMLObjectElement08.js | 0 .../w3c/level1/html/HTMLObjectElement10.js | 0 .../w3c/level1/html/HTMLObjectElement11.js | 0 .../w3c/level1/html/HTMLObjectElement13.js | 0 .../w3c/level1/html/HTMLObjectElement14.js | 0 .../w3c/level1/html/HTMLObjectElement15.js | 0 .../w3c/level1/html/HTMLObjectElement16.js | 0 .../w3c/level1/html/HTMLObjectElement17.js | 0 .../w3c/level1/html/HTMLObjectElement18.js | 0 .../w3c/level1/html/HTMLObjectElement19.js | 0 .../w3c/level1/html/HTMLOptGroupElement01.js | 0 .../w3c/level1/html/HTMLOptGroupElement02.js | 0 .../w3c/level1/html/HTMLOptionElement01.js | 0 .../w3c/level1/html/HTMLOptionElement02.js | 0 .../w3c/level1/html/HTMLOptionElement03.js | 0 .../w3c/level1/html/HTMLOptionElement06.js | 0 .../w3c/level1/html/HTMLOptionElement07.js | 0 .../w3c/level1/html/HTMLOptionElement08.js | 0 .../w3c/level1/html/HTMLParamElement02.js | 0 .../w3c/level1/html/HTMLQuoteElement01.js | 0 .../w3c/level1/html/HTMLQuoteElement02.js | 0 .../w3c/level1/html/HTMLScriptElement01.js | 0 .../w3c/level1/html/HTMLScriptElement02.js | 0 .../w3c/level1/html/HTMLScriptElement03.js | 0 .../w3c/level1/html/HTMLScriptElement04.js | 0 .../w3c/level1/html/HTMLScriptElement05.js | 0 .../w3c/level1/html/HTMLScriptElement06.js | 0 .../w3c/level1/html/HTMLScriptElement07.js | 0 .../w3c/level1/html/HTMLSelectElement03.js | 0 .../w3c/level1/html/HTMLSelectElement06.js | 0 .../w3c/level1/html/HTMLSelectElement07.js | 0 .../w3c/level1/html/HTMLSelectElement08.js | 0 .../w3c/level1/html/HTMLSelectElement09.js | 0 .../w3c/level1/html/HTMLSelectElement10.js | 0 .../w3c/level1/html/HTMLSelectElement11.js | 0 .../w3c/level1/html/HTMLSelectElement12.js | 0 .../w3c/level1/html/HTMLSelectElement13.js | 0 .../w3c/level1/html/HTMLStyleElement01.js | 0 .../w3c/level1/html/HTMLStyleElement02.js | 0 .../w3c/level1/html/HTMLStyleElement03.js | 0 .../w3c/level1/html/HTMLTableCellElement15.js | 0 .../w3c/level1/html/HTMLTableCellElement16.js | 0 .../w3c/level1/html/HTMLTableCellElement23.js | 0 .../w3c/level1/html/HTMLTableCellElement24.js | 0 .../w3c/level1/html/HTMLTableCellElement25.js | 0 .../w3c/level1/html/HTMLTableColElement07.js | 0 .../w3c/level1/html/HTMLTableColElement08.js | 0 .../w3c/level1/html/HTMLTableElement02.js | 0 .../w3c/level1/html/HTMLTableElement04.js | 0 .../w3c/level1/html/HTMLTableElement06.js | 0 .../w3c/level1/html/HTMLTableElement07.js | 0 .../w3c/level1/html/HTMLTableElement12.js | 0 .../w3c/level1/html/HTMLTableRowElement05.js | 0 .../level1/html/HTMLTableSectionElement13.js | 0 .../level1/html/HTMLTableSectionElement14.js | 0 .../level1/html/HTMLTableSectionElement15.js | 0 .../w3c/level1/html/HTMLTextAreaElement02.js | 0 .../w3c/level1/html/HTMLTextAreaElement03.js | 0 .../w3c/level1/html/HTMLTextAreaElement04.js | 0 .../w3c/level1/html/HTMLTextAreaElement05.js | 0 .../w3c/level1/html/HTMLTextAreaElement06.js | 0 .../w3c/level1/html/HTMLTextAreaElement07.js | 0 .../w3c/level1/html/HTMLTextAreaElement08.js | 0 .../w3c/level1/html/HTMLTextAreaElement09.js | 0 .../w3c/level1/html/HTMLTextAreaElement10.js | 0 .../w3c/level1/html/HTMLTitleElement01.js | 0 .../domino/test/w3c/level1/html/anchor01.js | 0 .../domino/test/w3c/level1/html/anchor04.js | 0 .../domino/test/w3c/level1/html/anchor05.js | 0 .../domino/test/w3c/level1/html/area01.js | 0 .../domino/test/w3c/level1/html/area02.js | 0 .../domino/test/w3c/level1/html/area03.js | 0 .../domino/test/w3c/level1/html/area04.js | 0 .../domino/test/w3c/level1/html/button01.js | 0 .../domino/test/w3c/level1/html/button02.js | 0 .../domino/test/w3c/level1/html/button03.js | 0 .../domino/test/w3c/level1/html/button04.js | 0 .../domino/test/w3c/level1/html/button05.js | 0 .../domino/test/w3c/level1/html/button06.js | 0 .../domino/test/w3c/level1/html/button07.js | 0 .../domino/test/w3c/level1/html/button08.js | 0 .../domino/test/w3c/level1/html/button09.js | 0 .../domino/test/w3c/level1/html/doc01.js | 0 .../test/w3c/level1/html/files/.cvsignore | 0 .../w3c/level1/html/files/HTMLDocument04.html | 0 .../test/w3c/level1/html/files/anchor.html | 0 .../test/w3c/level1/html/files/anchor2.html | 0 .../test/w3c/level1/html/files/applet.html | 0 .../test/w3c/level1/html/files/applet2.html | 0 .../test/w3c/level1/html/files/area.html | 0 .../test/w3c/level1/html/files/area2.html | 0 .../test/w3c/level1/html/files/base.html | 0 .../test/w3c/level1/html/files/base2.html | 0 .../test/w3c/level1/html/files/basefont.html | 0 .../test/w3c/level1/html/files/body.html | 0 .../domino/test/w3c/level1/html/files/br.html | 0 .../test/w3c/level1/html/files/button.html | 0 .../w3c/level1/html/files/collection.html | 0 .../test/w3c/level1/html/files/directory.html | 0 .../test/w3c/level1/html/files/div.html | 0 .../domino/test/w3c/level1/html/files/dl.html | 0 .../test/w3c/level1/html/files/document.html | 0 .../test/w3c/level1/html/files/element.html | 0 .../test/w3c/level1/html/files/fieldset.html | 0 .../test/w3c/level1/html/files/font.html | 0 .../test/w3c/level1/html/files/form.html | 0 .../test/w3c/level1/html/files/form2.html | 0 .../test/w3c/level1/html/files/form3.html | 0 .../test/w3c/level1/html/files/frame.html | 0 .../test/w3c/level1/html/files/frameset.html | 0 .../test/w3c/level1/html/files/head.html | 0 .../test/w3c/level1/html/files/heading.html | 0 .../domino/test/w3c/level1/html/files/hr.html | 0 .../test/w3c/level1/html/files/html.html | 0 .../test/w3c/level1/html/files/iframe.html | 0 .../test/w3c/level1/html/files/img.html | 0 .../test/w3c/level1/html/files/input.html | 0 .../test/w3c/level1/html/files/isindex.html | 0 .../test/w3c/level1/html/files/label.html | 0 .../test/w3c/level1/html/files/legend.html | 0 .../domino/test/w3c/level1/html/files/li.html | 0 .../test/w3c/level1/html/files/link.html | 0 .../test/w3c/level1/html/files/link2.html | 0 .../test/w3c/level1/html/files/map.html | 0 .../test/w3c/level1/html/files/menu.html | 0 .../test/w3c/level1/html/files/meta.html | 0 .../test/w3c/level1/html/files/mod.html | 0 .../test/w3c/level1/html/files/object.html | 0 .../test/w3c/level1/html/files/object2.html | 0 .../test/w3c/level1/html/files/olist.html | 0 .../test/w3c/level1/html/files/optgroup.html | 0 .../test/w3c/level1/html/files/option.html | 0 .../test/w3c/level1/html/files/paragraph.html | 0 .../test/w3c/level1/html/files/param.html | 0 .../test/w3c/level1/html/files/pre.html | 0 .../test/w3c/level1/html/files/quote.html | 0 .../test/w3c/level1/html/files/script.html | 0 .../test/w3c/level1/html/files/select.html | 0 .../test/w3c/level1/html/files/style.html | 0 .../test/w3c/level1/html/files/table.html | 0 .../test/w3c/level1/html/files/table1.html | 0 .../w3c/level1/html/files/tablecaption.html | 0 .../test/w3c/level1/html/files/tablecell.html | 0 .../test/w3c/level1/html/files/tablecol.html | 0 .../test/w3c/level1/html/files/tablerow.html | 0 .../w3c/level1/html/files/tablesection.html | 0 .../test/w3c/level1/html/files/textarea.html | 0 .../test/w3c/level1/html/files/title.html | 0 .../test/w3c/level1/html/files/ulist.html | 0 .../test/w3c/level1/html/hasFeature01.js | 0 .../w3c/level1/html/nyi/HTMLDocument02.js | 0 .../w3c/level1/html/nyi/HTMLDocument03.js | 0 .../w3c/level1/html/nyi/HTMLDocument04.js | 0 .../w3c/level1/html/nyi/HTMLDocument07.js | 0 .../w3c/level1/html/nyi/HTMLDocument09.js | 0 .../w3c/level1/html/nyi/HTMLDocument10.js | 0 .../w3c/level1/html/nyi/HTMLDocument12.js | 0 .../w3c/level1/html/nyi/HTMLFormElement01.js | 0 .../w3c/level1/html/nyi/HTMLFormElement09.js | 0 .../w3c/level1/html/nyi/HTMLFormElement10.js | 0 .../w3c/level1/html/nyi/HTMLInputElement19.js | 0 .../w3c/level1/html/nyi/HTMLInputElement20.js | 0 .../w3c/level1/html/nyi/HTMLInputElement22.js | 0 .../level1/html/nyi/HTMLSelectElement01.js | 0 .../level1/html/nyi/HTMLSelectElement02.js | 0 .../level1/html/nyi/HTMLSelectElement04.js | 0 .../level1/html/nyi/HTMLSelectElement05.js | 0 .../level1/html/nyi/HTMLSelectElement14.js | 0 .../level1/html/nyi/HTMLSelectElement15.js | 0 .../level1/html/nyi/HTMLSelectElement16.js | 0 .../level1/html/nyi/HTMLSelectElement17.js | 0 .../level1/html/nyi/HTMLSelectElement18.js | 0 .../level1/html/nyi/HTMLSelectElement19.js | 0 .../w3c/level1/html/nyi/HTMLTableElement08.js | 0 .../w3c/level1/html/nyi/HTMLTableElement09.js | 0 .../w3c/level1/html/nyi/HTMLTableElement19.js | 0 .../w3c/level1/html/nyi/HTMLTableElement20.js | 0 .../w3c/level1/html/nyi/HTMLTableElement21.js | 0 .../w3c/level1/html/nyi/HTMLTableElement22.js | 0 .../w3c/level1/html/nyi/HTMLTableElement23.js | 0 .../w3c/level1/html/nyi/HTMLTableElement24.js | 0 .../w3c/level1/html/nyi/HTMLTableElement25.js | 0 .../w3c/level1/html/nyi/HTMLTableElement26.js | 0 .../w3c/level1/html/nyi/HTMLTableElement27.js | 0 .../w3c/level1/html/nyi/HTMLTableElement28.js | 0 .../w3c/level1/html/nyi/HTMLTableElement29.js | 0 .../w3c/level1/html/nyi/HTMLTableElement30.js | 0 .../w3c/level1/html/nyi/HTMLTableElement31.js | 0 .../w3c/level1/html/nyi/HTMLTableElement32.js | 0 .../w3c/level1/html/nyi/HTMLTableElement33.js | 0 .../level1/html/nyi/HTMLTableRowElement01.js | 0 .../level1/html/nyi/HTMLTextAreaElement13.js | 0 .../level1/html/nyi/HTMLTextAreaElement14.js | 0 .../level1/html/nyi/HTMLTextAreaElement15.js | 0 .../domino/test/w3c/level1/html/object01.js | 0 .../domino/test/w3c/level1/html/object06.js | 0 .../domino/test/w3c/level1/html/object07.js | 0 .../domino/test/w3c/level1/html/object08.js | 0 .../domino/test/w3c/level1/html/object10.js | 0 .../domino/test/w3c/level1/html/object11.js | 0 .../domino/test/w3c/level1/html/object12.js | 0 .../domino/test/w3c/level1/html/object13.js | 0 .../domino/test/w3c/level1/html/object14.js | 0 .../html/obsolete/HTMLAnchorElement02.js | 0 .../html/obsolete/HTMLAnchorElement03.js | 0 .../html/obsolete/HTMLAnchorElement06.js | 0 .../html/obsolete/HTMLAnchorElement08.js | 0 .../html/obsolete/HTMLAnchorElement09.js | 0 .../html/obsolete/HTMLAppletElement01.js | 0 .../html/obsolete/HTMLAppletElement02.js | 0 .../html/obsolete/HTMLAppletElement03.js | 0 .../html/obsolete/HTMLAppletElement04.js | 0 .../html/obsolete/HTMLAppletElement05.js | 0 .../html/obsolete/HTMLAppletElement06.js | 0 .../html/obsolete/HTMLAppletElement07.js | 0 .../html/obsolete/HTMLAppletElement08.js | 0 .../html/obsolete/HTMLAppletElement09.js | 0 .../html/obsolete/HTMLAppletElement10.js | 0 .../html/obsolete/HTMLAppletElement11.js | 0 .../level1/html/obsolete/HTMLBRElement01.js | 0 .../html/obsolete/HTMLBaseFontElement01.js | 0 .../html/obsolete/HTMLBaseFontElement02.js | 0 .../html/obsolete/HTMLBaseFontElement03.js | 0 .../level1/html/obsolete/HTMLBodyElement01.js | 0 .../level1/html/obsolete/HTMLBodyElement02.js | 0 .../level1/html/obsolete/HTMLBodyElement03.js | 0 .../level1/html/obsolete/HTMLBodyElement04.js | 0 .../level1/html/obsolete/HTMLBodyElement05.js | 0 .../level1/html/obsolete/HTMLBodyElement06.js | 0 .../level1/html/obsolete/HTMLCollection01.js | 0 .../level1/html/obsolete/HTMLCollection02.js | 0 .../level1/html/obsolete/HTMLCollection03.js | 0 .../level1/html/obsolete/HTMLCollection04.js | 0 .../level1/html/obsolete/HTMLCollection05.js | 0 .../level1/html/obsolete/HTMLCollection06.js | 0 .../level1/html/obsolete/HTMLCollection07.js | 0 .../level1/html/obsolete/HTMLCollection08.js | 0 .../level1/html/obsolete/HTMLCollection09.js | 0 .../level1/html/obsolete/HTMLCollection10.js | 0 .../level1/html/obsolete/HTMLCollection11.js | 0 .../level1/html/obsolete/HTMLCollection12.js | 0 .../html/obsolete/HTMLDirectoryElement01.js | 0 .../level1/html/obsolete/HTMLDivElement01.js | 0 .../html/obsolete/HTMLDlistElement01.js | 0 .../level1/html/obsolete/HTMLDocument08.js | 0 .../level1/html/obsolete/HTMLDocument11.js | 0 .../level1/html/obsolete/HTMLDocument13.js | 0 .../level1/html/obsolete/HTMLDocument14.js | 0 .../level1/html/obsolete/HTMLFontElement01.js | 0 .../level1/html/obsolete/HTMLFontElement02.js | 0 .../level1/html/obsolete/HTMLFontElement03.js | 0 .../level1/html/obsolete/HTMLFormElement02.js | 0 .../html/obsolete/HTMLFrameElement01.js | 0 .../html/obsolete/HTMLFrameElement02.js | 0 .../html/obsolete/HTMLFrameElement03.js | 0 .../html/obsolete/HTMLFrameElement04.js | 0 .../html/obsolete/HTMLFrameElement05.js | 0 .../html/obsolete/HTMLFrameElement06.js | 0 .../html/obsolete/HTMLFrameElement07.js | 0 .../html/obsolete/HTMLFrameElement08.js | 0 .../html/obsolete/HTMLFrameSetElement01.js | 0 .../html/obsolete/HTMLFrameSetElement02.js | 0 .../level1/html/obsolete/HTMLHRElement01.js | 0 .../level1/html/obsolete/HTMLHRElement02.js | 0 .../level1/html/obsolete/HTMLHRElement03.js | 0 .../level1/html/obsolete/HTMLHRElement04.js | 0 .../level1/html/obsolete/HTMLHeadElement01.js | 0 .../html/obsolete/HTMLHeadingElement01.js | 0 .../html/obsolete/HTMLHeadingElement02.js | 0 .../html/obsolete/HTMLHeadingElement03.js | 0 .../html/obsolete/HTMLHeadingElement04.js | 0 .../html/obsolete/HTMLHeadingElement05.js | 0 .../html/obsolete/HTMLHeadingElement06.js | 0 .../level1/html/obsolete/HTMLHtmlElement01.js | 0 .../html/obsolete/HTMLIFrameElement01.js | 0 .../html/obsolete/HTMLIFrameElement02.js | 0 .../html/obsolete/HTMLIFrameElement04.js | 0 .../html/obsolete/HTMLIFrameElement05.js | 0 .../html/obsolete/HTMLIFrameElement06.js | 0 .../html/obsolete/HTMLIFrameElement08.js | 0 .../html/obsolete/HTMLImageElement01.js | 0 .../html/obsolete/HTMLImageElement02.js | 0 .../html/obsolete/HTMLImageElement03.js | 0 .../html/obsolete/HTMLImageElement04.js | 0 .../html/obsolete/HTMLImageElement08.js | 0 .../html/obsolete/HTMLImageElement10.js | 0 .../html/obsolete/HTMLImageElement14.js | 0 .../html/obsolete/HTMLInputElement06.js | 0 .../html/obsolete/HTMLInputElement17.js | 0 .../html/obsolete/HTMLIsIndexElement01.js | 0 .../html/obsolete/HTMLIsIndexElement02.js | 0 .../html/obsolete/HTMLIsIndexElement03.js | 0 .../level1/html/obsolete/HTMLLIElement01.js | 0 .../html/obsolete/HTMLLegendElement01.js | 0 .../html/obsolete/HTMLLegendElement02.js | 0 .../html/obsolete/HTMLLegendElement03.js | 0 .../html/obsolete/HTMLLegendElement04.js | 0 .../level1/html/obsolete/HTMLLinkElement02.js | 0 .../level1/html/obsolete/HTMLLinkElement07.js | 0 .../level1/html/obsolete/HTMLLinkElement09.js | 0 .../level1/html/obsolete/HTMLMapElement01.js | 0 .../level1/html/obsolete/HTMLMenuElement01.js | 0 .../html/obsolete/HTMLOListElement01.js | 0 .../html/obsolete/HTMLObjectElement02.js | 0 .../html/obsolete/HTMLObjectElement03.js | 0 .../html/obsolete/HTMLObjectElement04.js | 0 .../html/obsolete/HTMLObjectElement05.js | 0 .../html/obsolete/HTMLObjectElement06.js | 0 .../html/obsolete/HTMLObjectElement07.js | 0 .../html/obsolete/HTMLObjectElement09.js | 0 .../html/obsolete/HTMLObjectElement12.js | 0 .../html/obsolete/HTMLOptionElement04.js | 0 .../html/obsolete/HTMLOptionElement05.js | 0 .../html/obsolete/HTMLOptionElement09.js | 0 .../html/obsolete/HTMLParagraphElement01.js | 0 .../html/obsolete/HTMLParamElement01.js | 0 .../html/obsolete/HTMLParamElement03.js | 0 .../html/obsolete/HTMLParamElement04.js | 0 .../level1/html/obsolete/HTMLPreElement01.js | 0 .../obsolete/HTMLTableCaptionElement01.js | 0 .../html/obsolete/HTMLTableCellElement01.js | 0 .../html/obsolete/HTMLTableCellElement02.js | 0 .../html/obsolete/HTMLTableCellElement03.js | 0 .../html/obsolete/HTMLTableCellElement04.js | 0 .../html/obsolete/HTMLTableCellElement05.js | 0 .../html/obsolete/HTMLTableCellElement06.js | 0 .../html/obsolete/HTMLTableCellElement07.js | 0 .../html/obsolete/HTMLTableCellElement08.js | 0 .../html/obsolete/HTMLTableCellElement09.js | 0 .../html/obsolete/HTMLTableCellElement10.js | 0 .../html/obsolete/HTMLTableCellElement11.js | 0 .../html/obsolete/HTMLTableCellElement12.js | 0 .../html/obsolete/HTMLTableCellElement13.js | 0 .../html/obsolete/HTMLTableCellElement14.js | 0 .../html/obsolete/HTMLTableCellElement17.js | 0 .../html/obsolete/HTMLTableCellElement18.js | 0 .../html/obsolete/HTMLTableCellElement19.js | 0 .../html/obsolete/HTMLTableCellElement20.js | 0 .../html/obsolete/HTMLTableCellElement21.js | 0 .../html/obsolete/HTMLTableCellElement22.js | 0 .../html/obsolete/HTMLTableCellElement26.js | 0 .../html/obsolete/HTMLTableCellElement27.js | 0 .../html/obsolete/HTMLTableCellElement28.js | 0 .../html/obsolete/HTMLTableCellElement29.js | 0 .../html/obsolete/HTMLTableCellElement30.js | 0 .../html/obsolete/HTMLTableColElement01.js | 0 .../html/obsolete/HTMLTableColElement02.js | 0 .../html/obsolete/HTMLTableColElement03.js | 0 .../html/obsolete/HTMLTableColElement04.js | 0 .../html/obsolete/HTMLTableColElement05.js | 0 .../html/obsolete/HTMLTableColElement06.js | 0 .../html/obsolete/HTMLTableColElement09.js | 0 .../html/obsolete/HTMLTableColElement10.js | 0 .../html/obsolete/HTMLTableColElement11.js | 0 .../html/obsolete/HTMLTableColElement12.js | 0 .../html/obsolete/HTMLTableElement01.js | 0 .../html/obsolete/HTMLTableElement03.js | 0 .../html/obsolete/HTMLTableElement05.js | 0 .../html/obsolete/HTMLTableElement10.js | 0 .../html/obsolete/HTMLTableElement11.js | 0 .../html/obsolete/HTMLTableElement13.js | 0 .../html/obsolete/HTMLTableElement14.js | 0 .../html/obsolete/HTMLTableElement15.js | 0 .../html/obsolete/HTMLTableElement16.js | 0 .../html/obsolete/HTMLTableElement17.js | 0 .../html/obsolete/HTMLTableElement18.js | 0 .../html/obsolete/HTMLTableRowElement02.js | 0 .../html/obsolete/HTMLTableRowElement03.js | 0 .../html/obsolete/HTMLTableRowElement04.js | 0 .../html/obsolete/HTMLTableRowElement06.js | 0 .../html/obsolete/HTMLTableRowElement07.js | 0 .../html/obsolete/HTMLTableRowElement08.js | 0 .../html/obsolete/HTMLTableRowElement09.js | 0 .../html/obsolete/HTMLTableRowElement10.js | 0 .../html/obsolete/HTMLTableRowElement11.js | 0 .../html/obsolete/HTMLTableRowElement12.js | 0 .../html/obsolete/HTMLTableRowElement13.js | 0 .../html/obsolete/HTMLTableRowElement14.js | 0 .../obsolete/HTMLTableSectionElement01.js | 0 .../obsolete/HTMLTableSectionElement02.js | 0 .../obsolete/HTMLTableSectionElement03.js | 0 .../obsolete/HTMLTableSectionElement04.js | 0 .../obsolete/HTMLTableSectionElement05.js | 0 .../obsolete/HTMLTableSectionElement06.js | 0 .../obsolete/HTMLTableSectionElement07.js | 0 .../obsolete/HTMLTableSectionElement08.js | 0 .../obsolete/HTMLTableSectionElement09.js | 0 .../obsolete/HTMLTableSectionElement10.js | 0 .../obsolete/HTMLTableSectionElement11.js | 0 .../obsolete/HTMLTableSectionElement12.js | 0 .../obsolete/HTMLTableSectionElement16.js | 0 .../obsolete/HTMLTableSectionElement17.js | 0 .../obsolete/HTMLTableSectionElement18.js | 0 .../obsolete/HTMLTableSectionElement19.js | 0 .../obsolete/HTMLTableSectionElement20.js | 0 .../obsolete/HTMLTableSectionElement21.js | 0 .../obsolete/HTMLTableSectionElement22.js | 0 .../obsolete/HTMLTableSectionElement23.js | 0 .../obsolete/HTMLTableSectionElement24.js | 0 .../html/obsolete/HTMLTextAreaElement01.js | 0 .../html/obsolete/HTMLTextAreaElement11.js | 0 .../html/obsolete/HTMLTextAreaElement12.js | 0 .../html/obsolete/HTMLUListElement01.js | 0 .../html/obsolete/HTMLUListElement02.js | 0 .../test/w3c/level1/html/obsolete/anchor02.js | 0 .../test/w3c/level1/html/obsolete/anchor03.js | 0 .../test/w3c/level1/html/obsolete/anchor06.js | 0 .../w3c/level1/html/obsolete/basefont01.js | 0 .../test/w3c/level1/html/obsolete/body01.js | 0 .../test/w3c/level1/html/obsolete/dlist01.js | 0 .../test/w3c/level1/html/obsolete/object02.js | 0 .../test/w3c/level1/html/obsolete/object03.js | 0 .../test/w3c/level1/html/obsolete/object04.js | 0 .../test/w3c/level1/html/obsolete/object05.js | 0 .../test/w3c/level1/html/obsolete/object09.js | 0 .../test/w3c/level1/html/obsolete/object15.js | 0 .../test/w3c/level1/html/obsolete/table02.js | 0 .../test/w3c/level1/html/obsolete/table03.js | 0 .../test/w3c/level1/html/obsolete/table04.js | 0 .../test/w3c/level1/html/obsolete/table06.js | 0 .../test/w3c/level1/html/obsolete/table07.js | 0 .../test/w3c/level1/html/obsolete/table08.js | 0 .../test/w3c/level1/html/obsolete/table09.js | 0 .../test/w3c/level1/html/obsolete/table10.js | 0 .../test/w3c/level1/html/obsolete/table12.js | 0 .../test/w3c/level1/html/obsolete/table15.js | 0 .../test/w3c/level1/html/obsolete/table17.js | 0 .../test/w3c/level1/html/obsolete/table18.js | 0 .../test/w3c/level1/html/obsolete/table19.js | 0 .../test/w3c/level1/html/obsolete/table20.js | 0 .../test/w3c/level1/html/obsolete/table21.js | 0 .../test/w3c/level1/html/obsolete/table22.js | 0 .../test/w3c/level1/html/obsolete/table23.js | 0 .../test/w3c/level1/html/obsolete/table24.js | 0 .../test/w3c/level1/html/obsolete/table26.js | 0 .../test/w3c/level1/html/obsolete/table27.js | 0 .../test/w3c/level1/html/obsolete/table29.js | 0 .../test/w3c/level1/html/obsolete/table30.js | 0 .../test/w3c/level1/html/obsolete/table31.js | 0 .../test/w3c/level1/html/obsolete/table32.js | 0 .../test/w3c/level1/html/obsolete/table33.js | 0 .../test/w3c/level1/html/obsolete/table35.js | 0 .../test/w3c/level1/html/obsolete/table36.js | 0 .../test/w3c/level1/html/obsolete/table37.js | 0 .../test/w3c/level1/html/obsolete/table38.js | 0 .../test/w3c/level1/html/obsolete/table39.js | 0 .../test/w3c/level1/html/obsolete/table40.js | 0 .../test/w3c/level1/html/obsolete/table41.js | 0 .../test/w3c/level1/html/obsolete/table42.js | 0 .../test/w3c/level1/html/obsolete/table43.js | 0 .../test/w3c/level1/html/obsolete/table44.js | 0 .../test/w3c/level1/html/obsolete/table45.js | 0 .../test/w3c/level1/html/obsolete/table46.js | 0 .../test/w3c/level1/html/obsolete/table47.js | 0 .../test/w3c/level1/html/obsolete/table48.js | 0 .../test/w3c/level1/html/obsolete/table49.js | 0 .../test/w3c/level1/html/obsolete/table50.js | 0 .../test/w3c/level1/html/obsolete/table52.js | 0 .../test/w3c/level1/html/obsolete/table53.js | 0 .../domino/test/w3c/level1/html/table01.js | 0 .../domino/test/w3c/level1/html/table25.js | 0 .../domino/test/w3c/level1/html/table28.js | 0 .../domino/test/w3c/level1/html/table34.js | 0 .../domino/test/w3c/level1/html/table51.js | 0 .../node_modules/tassembly/package.json | 7 +-- .../node_modules/tassembly/tassembly.js | 47 ++++++++++--------- .../node_modules/knockoff/package.json | 7 +-- .../node_modules/knockoff/testKnockOff.js | 9 ++++ 1111 files changed, 40 insertions(+), 30 deletions(-) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/.npmignore (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/.travis.yml (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/LICENSE (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/README.md (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/lib/CSSStyleDeclaration.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/lib/CharacterData.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/lib/Comment.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/lib/CustomEvent.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/lib/DOMException.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/lib/DOMImplementation.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/lib/DOMTokenList.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/lib/Document.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/lib/DocumentFragment.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/lib/DocumentType.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/lib/Element.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/lib/Event.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/lib/EventTarget.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/lib/FilteredElementList.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/lib/HTMLParser.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/lib/Leaf.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/lib/Location.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/lib/MouseEvent.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/lib/MutationConstants.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/lib/Node.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/lib/NodeFilter.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/lib/NodeList.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/lib/ProcessingInstruction.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/lib/Text.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/lib/TreeWalker.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/lib/UIEvent.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/lib/URL.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/lib/URLDecompositionAttributes.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/lib/Window.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/lib/attributes.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/lib/cssparser.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/lib/events.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/lib/htmlelts.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/lib/impl.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/lib/index.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/lib/select.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/lib/utils.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/lib/xmlnames.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/package.json (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/domino.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/fixture/doc.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/fixture/jquery-1.9.1.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/README.md (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/harness/index.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/harness/testharness.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/index.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-01.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-02.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-01.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-02.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/browsing-the-web/load-text-plain.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Document.getElementsByClassName-null-undef.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Element.getElementsByClassName-null-undef.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-foreign-frameset.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-frameset-and-body.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-setter-01.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.embeds-document.plugins-01.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByClassName-same.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.xhtml (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.xhtml (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.xhtml (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.xhtml (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.xhtml (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.xhtml (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-same.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-01.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-02.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-01.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-02.xhtml (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-03.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-04.xhtml (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-05.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-06.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-07.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/nameditem-01.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.close-01.xhtml (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-01.xhtml (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-02.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-01.xhtml (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-02.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-01.xhtml (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-02.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/elements-in-the-dom/unknown-element.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/events/event-handler-spec-example.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/general/interfaces.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/global-attributes/classlist-nonstring.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/global-attributes/dataset.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/global-attributes/document-dir.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/global-attributes/id-name.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01-ref.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy-ref.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01-ref.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-01.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-02.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-03.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-04.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-01.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-02.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-03.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-04.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-05.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/heading-obsolete-attributes-01.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/script-IDL-event-htmlfor.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/parsing/comment.dat (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-01.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-02.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-03.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-04.xhtml (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-05.xhtml (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-06.xhtml (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/support/css/200-textplain.cgi (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/support/css/404-textcss.cgi (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/support/text/200-textplain.cgi (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-rellist.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-style-error-01.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-style-element/style-error-01.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-01.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-02.xhtml (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-03.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-04.xhtml (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/embedded-content/the-video-element/video-tabindex.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-interfaces-01.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-matches.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-01.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-02.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-input-element/input-textselection-01.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/textarea-type.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1-ref.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1a.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1b.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-language-type.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-01.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-02.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-noembed-noframes-iframe.xhtml (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-01.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-02.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-getter-01.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-setter-01.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1-ref.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1a.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1b.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1c.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1d.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2-ref.svg (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2.svg (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/index.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/mocha.opts (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/README.md (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/harness/DomTestCase.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/harness/index.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/index.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/documentgetdoctypenodtd.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi1.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/files/.cvsignore (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/files/hc_nodtdstaff.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/files/hc_staff.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/files/staff.dtd (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_characterdataappenddata.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_characterdataappenddatagetdata.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_characterdatadeletedatabegining.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_characterdatadeletedataend.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_characterdatadeletedataexceedslength.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_characterdatadeletedatagetlengthanddata.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_characterdatadeletedatamiddle.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_characterdatagetdata.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_characterdatagetlength.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetgreater.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetnegative.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetgreater.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetnegative.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedatacountnegative.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetgreater.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetnegative.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringcountnegative.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringnegativeoffset.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringoffsetgreater.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_characterdatainsertdatabeginning.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_characterdatainsertdataend.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_characterdatainsertdatamiddle.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_characterdatareplacedatabegining.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_characterdatareplacedataend.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofarg.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofdata.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_characterdatareplacedatamiddle.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_characterdatasetnodevalue.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_characterdatasubstringexceedsvalue.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_characterdatasubstringvalue.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_commentgetcomment.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_documentcreatecomment.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_documentcreatedocumentfragment.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_documentcreateelement.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_documentcreateelementcasesensitive.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_documentcreatetextnode.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_documentgetdoctype.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamelength.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_documentgetelementsbytagnametotallength.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamevalue.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_documentgetimplementation.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_documentgetrootnode.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement1.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_domimplementationfeaturenoversion.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_domimplementationfeaturenull.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_domimplementationfeaturexml.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_elementaddnewattribute.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_elementchangeattributevalue.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_elementgetelementsbytagname.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_elementgetelementsbytagnameaccessnodelist.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamenomatch.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamespecialvalue.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_elementgettagname.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception1.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_elementnormalize.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_elementremoveattribute.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_elementretrieveallattributes.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_elementretrieveattrvalue.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_elementretrievetagname.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_entitiesremovenameditem1.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_entitiessetnameditem1.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_namednodemapchildnoderange.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_namednodemapnumberofnodes.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodeappendchild.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodeappendchildchildexists.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodeappendchilddocfragment.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodeappendchildgetnodename.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodeappendchildnewchilddiffdocument.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodeappendchildnodeancestor.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodeattributenodeattribute.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodechildnodes.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodechildnodesappendchild.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodechildnodesempty.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodecloneattributescopied.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodeclonefalsenocopytext.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodeclonegetparentnull.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodeclonenodefalse.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodeclonenodetrue.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodeclonetruecopytext.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodecommentnodeattributes.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodecommentnodename.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodecommentnodetype.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodecommentnodevalue.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodename.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodetype.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodevalue.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodedocumentnodeattribute.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodedocumentnodename.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodedocumentnodetype.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodedocumentnodevalue.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodeelementnodeattributes.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodeelementnodename.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodeelementnodetype.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodeelementnodevalue.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodegetfirstchild.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodegetfirstchildnull.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodegetlastchild.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodegetlastchildnull.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodegetnextsibling.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodegetnextsiblingnull.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodegetownerdocument.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodegetownerdocumentnull.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodegetprevioussibling.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodegetprevioussiblingnull.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodehaschildnodes.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodehaschildnodesfalse.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodeinsertbefore.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodeinsertbeforedocfragment.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchilddiffdocument.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchildexists.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodeinsertbeforenodeancestor.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodeinsertbeforenodename.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnonexistent.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnull.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodelistindexequalzero.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodelistindexgetlength.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodelistindexgetlengthofemptylist.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodelistindexnotzero.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodelistreturnfirstitem.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodelistreturnlastitem.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodelisttraverselist.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodeparentnode.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodeparentnodenull.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_noderemovechild.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_noderemovechildgetnodename.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_noderemovechildnode.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_noderemovechildoldchildnonexistent.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodereplacechild.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodereplacechildnewchilddiffdocument.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodereplacechildnewchildexists.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodereplacechildnodeancestor.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodereplacechildnodename.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodereplacechildoldchildnonexistent.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodetextnodeattribute.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodetextnodename.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodetextnodetype.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodetextnodevalue.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodevalue01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodevalue02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodevalue04.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodevalue05.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodevalue06.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodevalue07.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_nodevalue08.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_notationsremovenameditem1.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_notationssetnameditem1.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_textindexsizeerrnegativeoffset.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_textindexsizeerroffsetoutofbounds.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_textparseintolistofelements.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_textsplittextfour.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_textsplittextone.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_textsplittextthree.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_textsplittexttwo.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/hc_textwithnomarkup.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref1.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_attrappendchild1.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_attrappendchild2.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_attrappendchild3.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_attrappendchild4.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_attrappendchild5.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_attrappendchild6.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes1.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes2.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_attrclonenode1.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_attrcreatedocumentfragment.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode2.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_attreffectivevalue.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_attrfirstchild.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue1.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue2.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_attrhaschildnodes.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore1.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore2.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore3.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore4.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore5.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore6.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore7.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_attrlastchild.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_attrname.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_attrnextsiblingnull.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_attrnormalize.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_attrparentnodenull.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_attrprevioussiblingnull.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_attrremovechild1.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_attrremovechild2.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild1.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild2.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue1.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue2.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvalue.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvaluechanged.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_documentcreateattribute.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute1.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_elementassociatedattribute.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_elementcreatenewattribute.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenode.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenodenull.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_elementgetelementempty.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_elementinuseattributeerr.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_elementnormalize2.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_elementnotfounderr.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributeaftercreate.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributenode.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_elementreplaceattributewithself.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattribute.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattributegevalue.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_elementsetattributenodenull.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_elementwrongdocumenterr.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_namednodemapgetnameditem.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_namednodemapinuseattributeerr.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_namednodemapnotfounderr.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_namednodemapremovenameditem.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnattrnode.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnfirstitem.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnlastitem.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnnull.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditem.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemreturnvalue.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemthatexists.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemwithnewvalue.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_namednodemapwrongdocumenterr.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_nodeappendchildinvalidnodetype.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodename.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodetype.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodevalue.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_nodeinsertbeforeinvalidnodetype.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_nodereplacechildinvalidnodetype.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/core/obsolete/hc_nodevalue03.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLAnchorElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLAnchorElement04.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLAnchorElement05.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLAnchorElement07.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLAnchorElement10.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLAnchorElement11.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLAnchorElement12.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLAnchorElement13.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLAnchorElement14.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLAreaElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLAreaElement02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLAreaElement03.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLAreaElement04.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLAreaElement05.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLAreaElement06.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLAreaElement07.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLAreaElement08.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLButtonElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLButtonElement02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLButtonElement03.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLButtonElement04.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLButtonElement05.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLButtonElement06.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLButtonElement07.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLButtonElement08.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLDocument01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLDocument05.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLDocument15.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLDocument16.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLDocument17.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLDocument18.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLDocument19.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLDocument20.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLDocument21.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement03.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement04.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement05.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement06.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement07.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement08.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement09.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement10.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement100.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement101.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement102.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement103.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement104.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement105.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement106.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement107.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement108.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement109.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement11.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement110.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement111.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement112.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement113.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement114.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement115.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement116.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement117.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement118.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement119.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement12.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement120.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement121.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement122.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement123.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement124.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement125.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement126.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement127.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement128.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement129.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement13.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement130.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement131.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement132.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement133.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement134.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement135.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement136.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement137.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement138.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement139.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement14.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement140.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement141.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement142.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement143.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement144.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement145.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement15.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement16.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement17.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement18.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement19.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement20.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement21.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement22.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement23.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement24.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement25.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement26.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement27.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement28.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement29.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement30.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement31.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement32.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement33.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement34.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement35.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement36.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement37.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement38.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement39.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement40.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement41.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement42.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement43.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement44.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement45.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement46.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement47.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement48.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement49.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement50.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement51.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement52.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement53.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement54.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement55.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement56.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement57.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement58.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement59.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement60.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement61.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement62.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement63.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement64.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement65.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement66.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement67.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement68.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement69.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement70.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement71.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement72.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement73.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement74.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement75.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement76.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement77.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement78.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement79.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement80.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement81.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement82.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement83.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement84.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement85.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement86.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement87.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement88.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement89.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement90.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement91.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement92.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement93.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement94.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement95.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement96.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement97.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement98.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLElement99.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLFieldSetElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLFieldSetElement02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLFormElement03.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLFormElement04.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLFormElement05.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLFormElement06.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLFormElement07.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLFormElement08.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLIFrameElement03.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLIFrameElement07.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLIFrameElement09.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLIFrameElement10.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLImageElement05.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLImageElement06.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLImageElement07.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLImageElement09.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLImageElement11.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLImageElement12.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLInputElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLInputElement02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLInputElement03.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLInputElement04.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLInputElement05.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLInputElement07.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLInputElement08.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLInputElement09.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLInputElement10.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLInputElement11.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLInputElement12.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLInputElement13.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLInputElement14.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLInputElement15.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLInputElement16.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLInputElement18.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLInputElement21.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLLIElement02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLLabelElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLLabelElement02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLLabelElement03.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLLabelElement04.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLLinkElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLLinkElement03.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLLinkElement04.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLLinkElement05.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLLinkElement06.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLLinkElement08.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLMapElement02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLMetaElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLMetaElement02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLMetaElement03.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLMetaElement04.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLModElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLModElement02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLModElement03.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLModElement04.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLOListElement02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLOListElement03.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLObjectElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLObjectElement08.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLObjectElement10.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLObjectElement11.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLObjectElement13.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLObjectElement14.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLObjectElement15.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLObjectElement16.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLObjectElement17.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLObjectElement18.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLObjectElement19.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLOptGroupElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLOptGroupElement02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLOptionElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLOptionElement02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLOptionElement03.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLOptionElement06.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLOptionElement07.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLOptionElement08.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLParamElement02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLQuoteElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLQuoteElement02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLScriptElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLScriptElement02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLScriptElement03.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLScriptElement04.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLScriptElement05.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLScriptElement06.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLScriptElement07.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLSelectElement03.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLSelectElement06.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLSelectElement07.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLSelectElement08.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLSelectElement09.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLSelectElement10.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLSelectElement11.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLSelectElement12.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLSelectElement13.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLStyleElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLStyleElement02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLStyleElement03.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLTableCellElement15.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLTableCellElement16.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLTableCellElement23.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLTableCellElement24.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLTableCellElement25.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLTableColElement07.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLTableColElement08.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLTableElement02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLTableElement04.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLTableElement06.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLTableElement07.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLTableElement12.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLTableRowElement05.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLTableSectionElement13.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLTableSectionElement14.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLTableSectionElement15.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLTextAreaElement02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLTextAreaElement03.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLTextAreaElement04.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLTextAreaElement05.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLTextAreaElement06.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLTextAreaElement07.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLTextAreaElement08.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLTextAreaElement09.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLTextAreaElement10.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/HTMLTitleElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/anchor01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/anchor04.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/anchor05.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/area01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/area02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/area03.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/area04.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/button01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/button02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/button03.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/button04.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/button05.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/button06.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/button07.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/button08.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/button09.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/doc01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/.cvsignore (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/HTMLDocument04.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/anchor.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/anchor2.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/applet.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/applet2.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/area.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/area2.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/base.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/base2.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/basefont.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/body.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/br.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/button.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/collection.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/directory.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/div.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/dl.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/document.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/element.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/fieldset.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/font.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/form.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/form2.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/form3.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/frame.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/frameset.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/head.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/heading.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/hr.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/html.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/iframe.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/img.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/input.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/isindex.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/label.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/legend.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/li.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/link.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/link2.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/map.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/menu.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/meta.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/mod.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/object.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/object2.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/olist.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/optgroup.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/option.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/paragraph.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/param.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/pre.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/quote.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/script.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/select.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/style.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/table.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/table1.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/tablecaption.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/tablecell.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/tablecol.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/tablerow.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/tablesection.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/textarea.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/title.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/files/ulist.html (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/hasFeature01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLDocument02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLDocument03.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLDocument04.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLDocument07.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLDocument09.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLDocument10.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLDocument12.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLFormElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLFormElement09.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLFormElement10.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLInputElement19.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLInputElement20.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLInputElement22.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLSelectElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLSelectElement02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLSelectElement04.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLSelectElement05.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLSelectElement14.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLSelectElement15.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLSelectElement16.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLSelectElement17.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLSelectElement18.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLSelectElement19.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLTableElement08.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLTableElement09.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLTableElement19.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLTableElement20.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLTableElement21.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLTableElement22.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLTableElement23.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLTableElement24.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLTableElement25.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLTableElement26.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLTableElement27.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLTableElement28.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLTableElement29.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLTableElement30.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLTableElement31.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLTableElement32.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLTableElement33.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLTableRowElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement13.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement14.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement15.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/object01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/object06.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/object07.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/object08.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/object10.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/object11.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/object12.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/object13.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/object14.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement03.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement06.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement08.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement09.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLAppletElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLAppletElement02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLAppletElement03.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLAppletElement04.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLAppletElement05.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLAppletElement06.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLAppletElement07.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLAppletElement08.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLAppletElement09.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLAppletElement10.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLAppletElement11.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLBRElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement03.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLBodyElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLBodyElement02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLBodyElement03.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLBodyElement04.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLBodyElement05.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLBodyElement06.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLCollection01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLCollection02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLCollection03.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLCollection04.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLCollection05.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLCollection06.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLCollection07.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLCollection08.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLCollection09.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLCollection10.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLCollection11.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLCollection12.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLDirectoryElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLDivElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLDlistElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLDocument08.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLDocument11.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLDocument13.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLDocument14.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLFontElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLFontElement02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLFontElement03.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLFormElement02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLFrameElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLFrameElement02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLFrameElement03.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLFrameElement04.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLFrameElement05.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLFrameElement06.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLFrameElement07.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLFrameElement08.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLHRElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLHRElement02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLHRElement03.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLHRElement04.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLHeadElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement03.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement04.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement05.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement06.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLHtmlElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement04.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement05.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement06.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement08.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLImageElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLImageElement02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLImageElement03.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLImageElement04.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLImageElement08.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLImageElement10.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLImageElement14.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLInputElement06.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLInputElement17.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement03.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLLIElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLLegendElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLLegendElement02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLLegendElement03.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLLegendElement04.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLLinkElement02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLLinkElement07.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLLinkElement09.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLMapElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLMenuElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLOListElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLObjectElement02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLObjectElement03.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLObjectElement04.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLObjectElement05.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLObjectElement06.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLObjectElement07.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLObjectElement09.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLObjectElement12.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLOptionElement04.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLOptionElement05.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLOptionElement09.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLParagraphElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLParamElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLParamElement03.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLParamElement04.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLPreElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableCaptionElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement03.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement04.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement05.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement06.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement07.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement08.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement09.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement10.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement11.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement12.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement13.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement14.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement17.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement18.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement19.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement20.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement21.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement22.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement26.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement27.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement28.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement29.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement30.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableColElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableColElement02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableColElement03.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableColElement04.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableColElement05.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableColElement06.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableColElement09.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableColElement10.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableColElement11.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableColElement12.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableElement03.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableElement05.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableElement10.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableElement11.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableElement13.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableElement14.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableElement15.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableElement16.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableElement17.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableElement18.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement03.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement04.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement06.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement07.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement08.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement09.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement10.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement11.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement12.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement13.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement14.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement03.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement04.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement05.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement06.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement07.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement08.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement09.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement10.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement11.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement12.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement16.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement17.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement18.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement19.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement20.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement21.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement22.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement23.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement24.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement11.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement12.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLUListElement01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/HTMLUListElement02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/anchor02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/anchor03.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/anchor06.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/basefont01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/body01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/dlist01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/object02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/object03.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/object04.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/object05.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/object09.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/object15.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/table02.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/table03.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/table04.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/table06.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/table07.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/table08.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/table09.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/table10.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/table12.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/table15.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/table17.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/table18.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/table19.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/table20.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/table21.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/table22.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/table23.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/table24.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/table26.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/table27.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/table29.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/table30.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/table31.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/table32.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/table33.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/table35.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/table36.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/table37.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/table38.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/table39.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/table40.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/table41.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/table42.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/table43.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/table44.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/table45.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/table46.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/table47.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/table48.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/table49.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/table50.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/table52.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/obsolete/table53.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/table01.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/table25.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/table28.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/table34.js (100%) rename knockoff-node/node_modules/knockoff/node_modules/{tassembly/node_modules => }/domino/test/w3c/level1/html/table51.js (100%) diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/.npmignore b/knockoff-node/node_modules/knockoff/node_modules/domino/.npmignore similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/.npmignore rename to knockoff-node/node_modules/knockoff/node_modules/domino/.npmignore diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/.travis.yml b/knockoff-node/node_modules/knockoff/node_modules/domino/.travis.yml similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/.travis.yml rename to knockoff-node/node_modules/knockoff/node_modules/domino/.travis.yml diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/LICENSE b/knockoff-node/node_modules/knockoff/node_modules/domino/LICENSE similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/LICENSE rename to knockoff-node/node_modules/knockoff/node_modules/domino/LICENSE diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/README.md b/knockoff-node/node_modules/knockoff/node_modules/domino/README.md similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/README.md rename to knockoff-node/node_modules/knockoff/node_modules/domino/README.md diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/CSSStyleDeclaration.js b/knockoff-node/node_modules/knockoff/node_modules/domino/lib/CSSStyleDeclaration.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/CSSStyleDeclaration.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/lib/CSSStyleDeclaration.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/CharacterData.js b/knockoff-node/node_modules/knockoff/node_modules/domino/lib/CharacterData.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/CharacterData.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/lib/CharacterData.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/Comment.js b/knockoff-node/node_modules/knockoff/node_modules/domino/lib/Comment.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/Comment.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/lib/Comment.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/CustomEvent.js b/knockoff-node/node_modules/knockoff/node_modules/domino/lib/CustomEvent.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/CustomEvent.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/lib/CustomEvent.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/DOMException.js b/knockoff-node/node_modules/knockoff/node_modules/domino/lib/DOMException.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/DOMException.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/lib/DOMException.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/DOMImplementation.js b/knockoff-node/node_modules/knockoff/node_modules/domino/lib/DOMImplementation.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/DOMImplementation.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/lib/DOMImplementation.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/DOMTokenList.js b/knockoff-node/node_modules/knockoff/node_modules/domino/lib/DOMTokenList.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/DOMTokenList.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/lib/DOMTokenList.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/Document.js b/knockoff-node/node_modules/knockoff/node_modules/domino/lib/Document.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/Document.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/lib/Document.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/DocumentFragment.js b/knockoff-node/node_modules/knockoff/node_modules/domino/lib/DocumentFragment.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/DocumentFragment.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/lib/DocumentFragment.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/DocumentType.js b/knockoff-node/node_modules/knockoff/node_modules/domino/lib/DocumentType.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/DocumentType.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/lib/DocumentType.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/Element.js b/knockoff-node/node_modules/knockoff/node_modules/domino/lib/Element.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/Element.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/lib/Element.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/Event.js b/knockoff-node/node_modules/knockoff/node_modules/domino/lib/Event.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/Event.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/lib/Event.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/EventTarget.js b/knockoff-node/node_modules/knockoff/node_modules/domino/lib/EventTarget.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/EventTarget.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/lib/EventTarget.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/FilteredElementList.js b/knockoff-node/node_modules/knockoff/node_modules/domino/lib/FilteredElementList.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/FilteredElementList.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/lib/FilteredElementList.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/HTMLParser.js b/knockoff-node/node_modules/knockoff/node_modules/domino/lib/HTMLParser.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/HTMLParser.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/lib/HTMLParser.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/Leaf.js b/knockoff-node/node_modules/knockoff/node_modules/domino/lib/Leaf.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/Leaf.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/lib/Leaf.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/Location.js b/knockoff-node/node_modules/knockoff/node_modules/domino/lib/Location.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/Location.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/lib/Location.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/MouseEvent.js b/knockoff-node/node_modules/knockoff/node_modules/domino/lib/MouseEvent.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/MouseEvent.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/lib/MouseEvent.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/MutationConstants.js b/knockoff-node/node_modules/knockoff/node_modules/domino/lib/MutationConstants.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/MutationConstants.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/lib/MutationConstants.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/Node.js b/knockoff-node/node_modules/knockoff/node_modules/domino/lib/Node.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/Node.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/lib/Node.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/NodeFilter.js b/knockoff-node/node_modules/knockoff/node_modules/domino/lib/NodeFilter.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/NodeFilter.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/lib/NodeFilter.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/NodeList.js b/knockoff-node/node_modules/knockoff/node_modules/domino/lib/NodeList.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/NodeList.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/lib/NodeList.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/ProcessingInstruction.js b/knockoff-node/node_modules/knockoff/node_modules/domino/lib/ProcessingInstruction.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/ProcessingInstruction.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/lib/ProcessingInstruction.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/Text.js b/knockoff-node/node_modules/knockoff/node_modules/domino/lib/Text.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/Text.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/lib/Text.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/TreeWalker.js b/knockoff-node/node_modules/knockoff/node_modules/domino/lib/TreeWalker.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/TreeWalker.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/lib/TreeWalker.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/UIEvent.js b/knockoff-node/node_modules/knockoff/node_modules/domino/lib/UIEvent.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/UIEvent.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/lib/UIEvent.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/URL.js b/knockoff-node/node_modules/knockoff/node_modules/domino/lib/URL.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/URL.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/lib/URL.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/URLDecompositionAttributes.js b/knockoff-node/node_modules/knockoff/node_modules/domino/lib/URLDecompositionAttributes.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/URLDecompositionAttributes.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/lib/URLDecompositionAttributes.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/Window.js b/knockoff-node/node_modules/knockoff/node_modules/domino/lib/Window.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/Window.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/lib/Window.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/attributes.js b/knockoff-node/node_modules/knockoff/node_modules/domino/lib/attributes.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/attributes.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/lib/attributes.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/cssparser.js b/knockoff-node/node_modules/knockoff/node_modules/domino/lib/cssparser.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/cssparser.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/lib/cssparser.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/events.js b/knockoff-node/node_modules/knockoff/node_modules/domino/lib/events.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/events.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/lib/events.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/htmlelts.js b/knockoff-node/node_modules/knockoff/node_modules/domino/lib/htmlelts.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/htmlelts.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/lib/htmlelts.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/impl.js b/knockoff-node/node_modules/knockoff/node_modules/domino/lib/impl.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/impl.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/lib/impl.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/index.js b/knockoff-node/node_modules/knockoff/node_modules/domino/lib/index.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/index.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/lib/index.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/select.js b/knockoff-node/node_modules/knockoff/node_modules/domino/lib/select.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/select.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/lib/select.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/utils.js b/knockoff-node/node_modules/knockoff/node_modules/domino/lib/utils.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/utils.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/lib/utils.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/xmlnames.js b/knockoff-node/node_modules/knockoff/node_modules/domino/lib/xmlnames.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/lib/xmlnames.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/lib/xmlnames.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/package.json b/knockoff-node/node_modules/knockoff/node_modules/domino/package.json similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/package.json rename to knockoff-node/node_modules/knockoff/node_modules/domino/package.json diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/domino.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/domino.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/domino.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/domino.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/fixture/doc.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/fixture/doc.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/fixture/doc.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/fixture/doc.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/fixture/jquery-1.9.1.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/fixture/jquery-1.9.1.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/fixture/jquery-1.9.1.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/fixture/jquery-1.9.1.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/README.md b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/README.md similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/README.md rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/README.md diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/harness/index.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/harness/index.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/harness/index.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/harness/index.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/harness/testharness.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/harness/testharness.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/harness/testharness.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/harness/testharness.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/index.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/index.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/index.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/index.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-01.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-01.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-01.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-01.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-02.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-02.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-02.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-02.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-01.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-01.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-01.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-01.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-02.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-02.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-02.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-02.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/browsing-the-web/load-text-plain.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/browsing-the-web/load-text-plain.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/browsing-the-web/load-text-plain.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/browsing-the-web/load-text-plain.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Document.getElementsByClassName-null-undef.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Document.getElementsByClassName-null-undef.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Document.getElementsByClassName-null-undef.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Document.getElementsByClassName-null-undef.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Element.getElementsByClassName-null-undef.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Element.getElementsByClassName-null-undef.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Element.getElementsByClassName-null-undef.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Element.getElementsByClassName-null-undef.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-foreign-frameset.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-foreign-frameset.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-foreign-frameset.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-foreign-frameset.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-frameset-and-body.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-frameset-and-body.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-frameset-and-body.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-frameset-and-body.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-setter-01.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-setter-01.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-setter-01.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-setter-01.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.embeds-document.plugins-01.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.embeds-document.plugins-01.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.embeds-document.plugins-01.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.embeds-document.plugins-01.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByClassName-same.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByClassName-same.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByClassName-same.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByClassName-same.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.xhtml b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.xhtml similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.xhtml rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.xhtml diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.xhtml b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.xhtml similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.xhtml rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.xhtml diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.xhtml b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.xhtml similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.xhtml rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.xhtml diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.xhtml b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.xhtml similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.xhtml rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.xhtml diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.xhtml b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.xhtml similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.xhtml rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.xhtml diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.xhtml b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.xhtml similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.xhtml rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.xhtml diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-same.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-same.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-same.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-same.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-01.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-01.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-01.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-01.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-02.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-02.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-02.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-02.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-01.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-01.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-01.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-01.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-02.xhtml b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-02.xhtml similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-02.xhtml rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-02.xhtml diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-03.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-03.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-03.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-03.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-04.xhtml b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-04.xhtml similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-04.xhtml rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-04.xhtml diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-05.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-05.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-05.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-05.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-06.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-06.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-06.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-06.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-07.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-07.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-07.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-07.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/nameditem-01.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/nameditem-01.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/nameditem-01.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/nameditem-01.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.close-01.xhtml b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.close-01.xhtml similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.close-01.xhtml rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.close-01.xhtml diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-01.xhtml b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-01.xhtml similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-01.xhtml rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-01.xhtml diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-02.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-02.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-02.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-02.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-01.xhtml b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-01.xhtml similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-01.xhtml rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-01.xhtml diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-02.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-02.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-02.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-02.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-01.xhtml b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-01.xhtml similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-01.xhtml rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-01.xhtml diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-02.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-02.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-02.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-02.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/elements-in-the-dom/unknown-element.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/elements-in-the-dom/unknown-element.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/elements-in-the-dom/unknown-element.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/elements-in-the-dom/unknown-element.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/events/event-handler-spec-example.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/events/event-handler-spec-example.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/events/event-handler-spec-example.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/events/event-handler-spec-example.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/general/interfaces.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/general/interfaces.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/general/interfaces.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/general/interfaces.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/classlist-nonstring.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/classlist-nonstring.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/classlist-nonstring.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/classlist-nonstring.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/dataset.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/dataset.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/dataset.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/dataset.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/document-dir.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/document-dir.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/document-dir.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/document-dir.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/id-name.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/id-name.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/id-name.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/id-name.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01-ref.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01-ref.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01-ref.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01-ref.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy-ref.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy-ref.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy-ref.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy-ref.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01-ref.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01-ref.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01-ref.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01-ref.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-01.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-01.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-01.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-01.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-02.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-02.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-02.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-02.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-03.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-03.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-03.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-03.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-04.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-04.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-04.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-04.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-01.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-01.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-01.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-01.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-02.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-02.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-02.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-02.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-03.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-03.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-03.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-03.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-04.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-04.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-04.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-04.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-05.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-05.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-05.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-05.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/heading-obsolete-attributes-01.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/heading-obsolete-attributes-01.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/heading-obsolete-attributes-01.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/heading-obsolete-attributes-01.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/script-IDL-event-htmlfor.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/script-IDL-event-htmlfor.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/script-IDL-event-htmlfor.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/script-IDL-event-htmlfor.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/parsing/comment.dat b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/parsing/comment.dat similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/parsing/comment.dat rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/parsing/comment.dat diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-01.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-01.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-01.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-01.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-02.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-02.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-02.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-02.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-03.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-03.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-03.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-03.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-04.xhtml b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-04.xhtml similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-04.xhtml rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-04.xhtml diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-05.xhtml b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-05.xhtml similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-05.xhtml rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-05.xhtml diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-06.xhtml b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-06.xhtml similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-06.xhtml rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-06.xhtml diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/200-textplain.cgi b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/200-textplain.cgi similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/200-textplain.cgi rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/200-textplain.cgi diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/404-textcss.cgi b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/404-textcss.cgi similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/404-textcss.cgi rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/404-textcss.cgi diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/support/text/200-textplain.cgi b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/support/text/200-textplain.cgi similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/support/text/200-textplain.cgi rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/support/text/200-textplain.cgi diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-rellist.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-rellist.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-rellist.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-rellist.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-style-error-01.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-style-error-01.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-style-error-01.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-style-error-01.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-style-element/style-error-01.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-style-element/style-error-01.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-style-element/style-error-01.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-style-element/style-error-01.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-01.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-01.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-01.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-01.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-02.xhtml b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-02.xhtml similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-02.xhtml rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-02.xhtml diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-03.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-03.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-03.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-03.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-04.xhtml b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-04.xhtml similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-04.xhtml rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-04.xhtml diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/embedded-content/the-video-element/video-tabindex.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/embedded-content/the-video-element/video-tabindex.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/embedded-content/the-video-element/video-tabindex.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/embedded-content/the-video-element/video-tabindex.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-interfaces-01.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-interfaces-01.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-interfaces-01.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-interfaces-01.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-matches.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-matches.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-matches.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-matches.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-01.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-01.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-01.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-01.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-02.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-02.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-02.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-02.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-input-element/input-textselection-01.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-input-element/input-textselection-01.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-input-element/input-textselection-01.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-input-element/input-textselection-01.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/textarea-type.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/textarea-type.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/textarea-type.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/textarea-type.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1-ref.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1-ref.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1-ref.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1-ref.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1a.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1a.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1a.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1a.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1b.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1b.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1b.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1b.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-language-type.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-language-type.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-language-type.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-language-type.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-01.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-01.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-01.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-01.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-02.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-02.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-02.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-02.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-noembed-noframes-iframe.xhtml b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-noembed-noframes-iframe.xhtml similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-noembed-noframes-iframe.xhtml rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-noembed-noframes-iframe.xhtml diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-01.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-01.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-01.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-01.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-02.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-02.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-02.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-02.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-getter-01.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-getter-01.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-getter-01.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-getter-01.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-setter-01.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-setter-01.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-setter-01.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-setter-01.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1-ref.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1-ref.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1-ref.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1-ref.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1a.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1a.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1a.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1a.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1b.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1b.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1b.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1b.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1c.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1c.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1c.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1c.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1d.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1d.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1d.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1d.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2-ref.svg b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2-ref.svg similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2-ref.svg rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2-ref.svg diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2.svg b/knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2.svg similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2.svg rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2.svg diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/index.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/index.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/index.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/index.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/mocha.opts b/knockoff-node/node_modules/knockoff/node_modules/domino/test/mocha.opts similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/mocha.opts rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/mocha.opts diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/README.md b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/README.md similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/README.md rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/README.md diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/harness/DomTestCase.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/harness/DomTestCase.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/harness/DomTestCase.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/harness/DomTestCase.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/harness/index.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/harness/index.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/harness/index.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/harness/index.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/index.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/index.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/index.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/index.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/documentgetdoctypenodtd.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/documentgetdoctypenodtd.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/documentgetdoctypenodtd.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/documentgetdoctypenodtd.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi1.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi1.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi1.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi1.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/.cvsignore b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/files/.cvsignore similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/.cvsignore rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/files/.cvsignore diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/hc_nodtdstaff.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/files/hc_nodtdstaff.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/hc_nodtdstaff.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/files/hc_nodtdstaff.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/hc_staff.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/files/hc_staff.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/hc_staff.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/files/hc_staff.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/staff.dtd b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/files/staff.dtd similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/files/staff.dtd rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/files/staff.dtd diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddata.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddata.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddata.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddata.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddatagetdata.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddatagetdata.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddatagetdata.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddatagetdata.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatabegining.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatabegining.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatabegining.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatabegining.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataend.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataend.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataend.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataend.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataexceedslength.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataexceedslength.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataexceedslength.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataexceedslength.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatagetlengthanddata.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatagetlengthanddata.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatagetlengthanddata.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatagetlengthanddata.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatamiddle.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatamiddle.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatamiddle.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatamiddle.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatagetdata.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatagetdata.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatagetdata.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatagetdata.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatagetlength.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatagetlength.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatagetlength.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatagetlength.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetgreater.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetgreater.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetgreater.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetgreater.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetnegative.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetnegative.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetnegative.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetnegative.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetgreater.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetgreater.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetgreater.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetgreater.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetnegative.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetnegative.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetnegative.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetnegative.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedatacountnegative.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedatacountnegative.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedatacountnegative.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedatacountnegative.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetgreater.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetgreater.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetgreater.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetgreater.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetnegative.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetnegative.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetnegative.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetnegative.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringcountnegative.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringcountnegative.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringcountnegative.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringcountnegative.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringnegativeoffset.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringnegativeoffset.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringnegativeoffset.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringnegativeoffset.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringoffsetgreater.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringoffsetgreater.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringoffsetgreater.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringoffsetgreater.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatabeginning.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatabeginning.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatabeginning.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatabeginning.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdataend.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdataend.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdataend.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdataend.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatamiddle.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatamiddle.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatamiddle.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatamiddle.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatabegining.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatabegining.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatabegining.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatabegining.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataend.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataend.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataend.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataend.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofarg.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofarg.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofarg.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofarg.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofdata.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofdata.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofdata.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofdata.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatamiddle.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatamiddle.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatamiddle.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatamiddle.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatasetnodevalue.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatasetnodevalue.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatasetnodevalue.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatasetnodevalue.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringexceedsvalue.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringexceedsvalue.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringexceedsvalue.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringexceedsvalue.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringvalue.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringvalue.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringvalue.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringvalue.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_commentgetcomment.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_commentgetcomment.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_commentgetcomment.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_commentgetcomment.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreatecomment.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentcreatecomment.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreatecomment.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentcreatecomment.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreatedocumentfragment.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentcreatedocumentfragment.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreatedocumentfragment.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentcreatedocumentfragment.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreateelement.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentcreateelement.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreateelement.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentcreateelement.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreateelementcasesensitive.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentcreateelementcasesensitive.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreateelementcasesensitive.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentcreateelementcasesensitive.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreatetextnode.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentcreatetextnode.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentcreatetextnode.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentcreatetextnode.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetdoctype.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentgetdoctype.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetdoctype.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentgetdoctype.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamelength.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamelength.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamelength.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamelength.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnametotallength.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnametotallength.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnametotallength.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnametotallength.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamevalue.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamevalue.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamevalue.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamevalue.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetimplementation.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentgetimplementation.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetimplementation.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentgetimplementation.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetrootnode.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentgetrootnode.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentgetrootnode.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentgetrootnode.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement1.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement1.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement1.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement1.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenoversion.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenoversion.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenoversion.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenoversion.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenull.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenull.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenull.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenull.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturexml.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturexml.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturexml.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturexml.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementaddnewattribute.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementaddnewattribute.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementaddnewattribute.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementaddnewattribute.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementchangeattributevalue.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementchangeattributevalue.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementchangeattributevalue.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementchangeattributevalue.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagname.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagname.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagname.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagname.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnameaccessnodelist.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnameaccessnodelist.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnameaccessnodelist.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnameaccessnodelist.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamenomatch.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamenomatch.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamenomatch.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamenomatch.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamespecialvalue.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamespecialvalue.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamespecialvalue.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamespecialvalue.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgettagname.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementgettagname.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementgettagname.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementgettagname.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception1.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception1.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception1.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception1.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementnormalize.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementnormalize.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementnormalize.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementnormalize.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementremoveattribute.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementremoveattribute.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementremoveattribute.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementremoveattribute.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementretrieveallattributes.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementretrieveallattributes.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementretrieveallattributes.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementretrieveallattributes.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementretrieveattrvalue.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementretrieveattrvalue.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementretrieveattrvalue.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementretrieveattrvalue.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementretrievetagname.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementretrievetagname.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_elementretrievetagname.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementretrievetagname.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_entitiesremovenameditem1.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_entitiesremovenameditem1.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_entitiesremovenameditem1.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_entitiesremovenameditem1.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_entitiessetnameditem1.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_entitiessetnameditem1.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_entitiessetnameditem1.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_entitiessetnameditem1.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_namednodemapchildnoderange.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_namednodemapchildnoderange.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_namednodemapchildnoderange.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_namednodemapchildnoderange.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_namednodemapnumberofnodes.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_namednodemapnumberofnodes.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_namednodemapnumberofnodes.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_namednodemapnumberofnodes.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchild.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeappendchild.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchild.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeappendchild.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildchildexists.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildchildexists.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildchildexists.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildchildexists.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchilddocfragment.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeappendchilddocfragment.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchilddocfragment.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeappendchilddocfragment.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildgetnodename.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildgetnodename.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildgetnodename.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildgetnodename.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnewchilddiffdocument.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnewchilddiffdocument.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnewchilddiffdocument.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnewchilddiffdocument.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnodeancestor.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnodeancestor.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnodeancestor.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnodeancestor.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeattributenodeattribute.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeattributenodeattribute.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeattributenodeattribute.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeattributenodeattribute.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodechildnodes.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodechildnodes.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodechildnodes.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodechildnodes.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesappendchild.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesappendchild.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesappendchild.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesappendchild.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesempty.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesempty.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesempty.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesempty.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecloneattributescopied.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodecloneattributescopied.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecloneattributescopied.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodecloneattributescopied.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonefalsenocopytext.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeclonefalsenocopytext.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonefalsenocopytext.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeclonefalsenocopytext.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonegetparentnull.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeclonegetparentnull.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonegetparentnull.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeclonegetparentnull.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodefalse.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodefalse.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodefalse.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodefalse.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodetrue.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodetrue.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodetrue.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodetrue.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonetruecopytext.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeclonetruecopytext.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeclonetruecopytext.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeclonetruecopytext.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodeattributes.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodeattributes.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodeattributes.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodeattributes.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodename.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodename.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodename.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodename.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodetype.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodetype.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodetype.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodetype.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodevalue.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodevalue.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodevalue.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodevalue.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodename.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodename.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodename.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodename.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodetype.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodetype.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodetype.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodetype.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodevalue.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodevalue.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodevalue.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodevalue.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodeattribute.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodeattribute.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodeattribute.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodeattribute.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodename.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodename.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodename.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodename.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodetype.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodetype.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodetype.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodetype.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodevalue.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodevalue.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodevalue.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodevalue.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodeattributes.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodeattributes.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodeattributes.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodeattributes.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodename.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodename.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodename.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodename.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodetype.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodetype.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodetype.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodetype.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodevalue.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodevalue.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodevalue.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodevalue.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchild.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchild.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchild.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchild.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchildnull.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchildnull.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchildnull.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchildnull.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchild.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchild.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchild.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchild.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchildnull.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchildnull.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchildnull.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchildnull.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsibling.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsibling.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsibling.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsibling.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsiblingnull.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsiblingnull.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsiblingnull.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsiblingnull.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocument.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocument.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocument.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocument.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocumentnull.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocumentnull.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocumentnull.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocumentnull.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussibling.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussibling.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussibling.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussibling.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussiblingnull.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussiblingnull.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussiblingnull.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussiblingnull.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodes.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodes.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodes.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodes.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodesfalse.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodesfalse.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodesfalse.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodesfalse.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbefore.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbefore.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbefore.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbefore.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforedocfragment.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforedocfragment.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforedocfragment.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforedocfragment.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchilddiffdocument.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchilddiffdocument.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchilddiffdocument.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchilddiffdocument.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchildexists.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchildexists.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchildexists.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchildexists.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodeancestor.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodeancestor.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodeancestor.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodeancestor.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodename.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodename.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodename.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodename.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnonexistent.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnonexistent.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnonexistent.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnonexistent.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnull.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnull.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnull.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnull.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexequalzero.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodelistindexequalzero.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexequalzero.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodelistindexequalzero.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlength.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlength.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlength.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlength.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlengthofemptylist.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlengthofemptylist.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlengthofemptylist.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlengthofemptylist.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexnotzero.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodelistindexnotzero.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistindexnotzero.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodelistindexnotzero.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnfirstitem.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnfirstitem.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnfirstitem.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnfirstitem.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnlastitem.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnlastitem.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnlastitem.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnlastitem.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelisttraverselist.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodelisttraverselist.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodelisttraverselist.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodelisttraverselist.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeparentnode.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeparentnode.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeparentnode.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeparentnode.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeparentnodenull.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeparentnodenull.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodeparentnodenull.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeparentnodenull.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechild.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_noderemovechild.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechild.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_noderemovechild.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechildgetnodename.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_noderemovechildgetnodename.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechildgetnodename.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_noderemovechildgetnodename.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechildnode.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_noderemovechildnode.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechildnode.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_noderemovechildnode.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechildoldchildnonexistent.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_noderemovechildoldchildnonexistent.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_noderemovechildoldchildnonexistent.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_noderemovechildoldchildnonexistent.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechild.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodereplacechild.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechild.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodereplacechild.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchilddiffdocument.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchilddiffdocument.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchilddiffdocument.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchilddiffdocument.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchildexists.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchildexists.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchildexists.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchildexists.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodeancestor.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodeancestor.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodeancestor.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodeancestor.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodename.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodename.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodename.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodename.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildoldchildnonexistent.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildoldchildnonexistent.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildoldchildnonexistent.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildoldchildnonexistent.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodeattribute.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodetextnodeattribute.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodeattribute.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodetextnodeattribute.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodename.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodetextnodename.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodename.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodetextnodename.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodetype.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodetextnodetype.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodetype.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodetextnodetype.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodevalue.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodetextnodevalue.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodetextnodevalue.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodetextnodevalue.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodevalue01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodevalue01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodevalue02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodevalue02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue04.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodevalue04.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue04.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodevalue04.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue05.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodevalue05.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue05.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodevalue05.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue06.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodevalue06.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue06.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodevalue06.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue07.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodevalue07.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue07.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodevalue07.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue08.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodevalue08.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_nodevalue08.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodevalue08.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_notationsremovenameditem1.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_notationsremovenameditem1.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_notationsremovenameditem1.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_notationsremovenameditem1.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_notationssetnameditem1.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_notationssetnameditem1.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_notationssetnameditem1.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_notationssetnameditem1.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerrnegativeoffset.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerrnegativeoffset.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerrnegativeoffset.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerrnegativeoffset.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerroffsetoutofbounds.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerroffsetoutofbounds.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerroffsetoutofbounds.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerroffsetoutofbounds.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textparseintolistofelements.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textparseintolistofelements.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textparseintolistofelements.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textparseintolistofelements.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittextfour.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textsplittextfour.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittextfour.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textsplittextfour.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittextone.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textsplittextone.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittextone.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textsplittextone.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittextthree.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textsplittextthree.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittextthree.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textsplittextthree.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittexttwo.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textsplittexttwo.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textsplittexttwo.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textsplittexttwo.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textwithnomarkup.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textwithnomarkup.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/hc_textwithnomarkup.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textwithnomarkup.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref1.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref1.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref1.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref1.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild1.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild1.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild1.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild1.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild2.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild2.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild2.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild2.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild3.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild3.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild3.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild3.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild4.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild4.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild4.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild4.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild5.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild5.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild5.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild5.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild6.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild6.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild6.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild6.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes1.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes1.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes1.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes1.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes2.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes2.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes2.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes2.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrclonenode1.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrclonenode1.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrclonenode1.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrclonenode1.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatedocumentfragment.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatedocumentfragment.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatedocumentfragment.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatedocumentfragment.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode2.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode2.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode2.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode2.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attreffectivevalue.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attreffectivevalue.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attreffectivevalue.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attreffectivevalue.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrfirstchild.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrfirstchild.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrfirstchild.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrfirstchild.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue1.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue1.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue1.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue1.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue2.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue2.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue2.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue2.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrhaschildnodes.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrhaschildnodes.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrhaschildnodes.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrhaschildnodes.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore1.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore1.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore1.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore1.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore2.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore2.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore2.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore2.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore3.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore3.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore3.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore3.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore4.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore4.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore4.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore4.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore5.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore5.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore5.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore5.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore6.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore6.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore6.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore6.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore7.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore7.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore7.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore7.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrlastchild.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrlastchild.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrlastchild.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrlastchild.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrname.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrname.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrname.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrname.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnextsiblingnull.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnextsiblingnull.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnextsiblingnull.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnextsiblingnull.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnormalize.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnormalize.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnormalize.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnormalize.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrparentnodenull.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrparentnodenull.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrparentnodenull.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrparentnodenull.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrprevioussiblingnull.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrprevioussiblingnull.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrprevioussiblingnull.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrprevioussiblingnull.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild1.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild1.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild1.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild1.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild2.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild2.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild2.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild2.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild1.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild1.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild1.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild1.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild2.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild2.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild2.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild2.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue1.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue1.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue1.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue1.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue2.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue2.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue2.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue2.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvalue.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvalue.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvalue.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvalue.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvaluechanged.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvaluechanged.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvaluechanged.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvaluechanged.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentcreateattribute.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentcreateattribute.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentcreateattribute.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentcreateattribute.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute1.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute1.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute1.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute1.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementassociatedattribute.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementassociatedattribute.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementassociatedattribute.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementassociatedattribute.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementcreatenewattribute.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementcreatenewattribute.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementcreatenewattribute.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementcreatenewattribute.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenode.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenode.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenode.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenode.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenodenull.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenodenull.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenodenull.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenodenull.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetelementempty.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetelementempty.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetelementempty.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetelementempty.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementinuseattributeerr.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementinuseattributeerr.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementinuseattributeerr.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementinuseattributeerr.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnormalize2.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnormalize2.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnormalize2.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnormalize2.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnotfounderr.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnotfounderr.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnotfounderr.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnotfounderr.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributeaftercreate.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributeaftercreate.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributeaftercreate.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributeaftercreate.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributenode.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributenode.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributenode.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributenode.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceattributewithself.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceattributewithself.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceattributewithself.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceattributewithself.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattribute.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattribute.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattribute.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattribute.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattributegevalue.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattributegevalue.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattributegevalue.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattributegevalue.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementsetattributenodenull.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementsetattributenodenull.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementsetattributenodenull.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementsetattributenodenull.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementwrongdocumenterr.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementwrongdocumenterr.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementwrongdocumenterr.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementwrongdocumenterr.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapgetnameditem.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapgetnameditem.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapgetnameditem.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapgetnameditem.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapinuseattributeerr.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapinuseattributeerr.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapinuseattributeerr.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapinuseattributeerr.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapnotfounderr.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapnotfounderr.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapnotfounderr.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapnotfounderr.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapremovenameditem.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapremovenameditem.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapremovenameditem.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapremovenameditem.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnattrnode.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnattrnode.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnattrnode.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnattrnode.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnfirstitem.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnfirstitem.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnfirstitem.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnfirstitem.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnlastitem.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnlastitem.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnlastitem.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnlastitem.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnnull.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnnull.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnnull.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnnull.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditem.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditem.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditem.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditem.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemreturnvalue.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemreturnvalue.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemreturnvalue.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemreturnvalue.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemthatexists.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemthatexists.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemthatexists.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemthatexists.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemwithnewvalue.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemwithnewvalue.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemwithnewvalue.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemwithnewvalue.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapwrongdocumenterr.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapwrongdocumenterr.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapwrongdocumenterr.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapwrongdocumenterr.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeappendchildinvalidnodetype.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeappendchildinvalidnodetype.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeappendchildinvalidnodetype.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeappendchildinvalidnodetype.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodename.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodename.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodename.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodename.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodetype.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodetype.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodetype.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodetype.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodevalue.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodevalue.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodevalue.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodevalue.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeinsertbeforeinvalidnodetype.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeinsertbeforeinvalidnodetype.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeinsertbeforeinvalidnodetype.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeinsertbeforeinvalidnodetype.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodereplacechildinvalidnodetype.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodereplacechildinvalidnodetype.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodereplacechildinvalidnodetype.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodereplacechildinvalidnodetype.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodevalue03.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodevalue03.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodevalue03.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodevalue03.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement04.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement04.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement04.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement04.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement05.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement05.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement05.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement05.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement07.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement07.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement07.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement07.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement10.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement10.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement10.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement10.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement11.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement11.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement11.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement11.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement12.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement12.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement12.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement12.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement13.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement13.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement13.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement13.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement14.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement14.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement14.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement14.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement03.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement03.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement03.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement03.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement04.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement04.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement04.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement04.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement05.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement05.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement05.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement05.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement06.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement06.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement06.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement06.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement07.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement07.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement07.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement07.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement08.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement08.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLAreaElement08.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement08.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement03.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement03.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement03.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement03.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement04.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement04.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement04.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement04.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement05.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement05.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement05.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement05.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement06.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement06.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement06.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement06.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement07.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement07.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement07.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement07.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement08.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement08.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLButtonElement08.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement08.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument05.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument05.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument05.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument05.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument15.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument15.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument15.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument15.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument16.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument16.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument16.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument16.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument17.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument17.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument17.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument17.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument18.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument18.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument18.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument18.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument19.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument19.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument19.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument19.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument20.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument20.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument20.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument20.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument21.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument21.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLDocument21.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument21.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement03.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement03.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement03.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement03.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement04.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement04.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement04.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement04.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement05.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement05.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement05.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement05.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement06.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement06.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement06.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement06.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement07.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement07.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement07.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement07.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement08.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement08.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement08.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement08.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement09.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement09.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement09.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement09.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement10.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement10.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement10.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement10.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement100.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement100.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement100.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement100.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement101.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement101.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement101.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement101.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement102.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement102.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement102.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement102.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement103.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement103.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement103.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement103.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement104.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement104.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement104.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement104.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement105.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement105.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement105.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement105.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement106.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement106.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement106.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement106.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement107.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement107.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement107.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement107.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement108.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement108.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement108.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement108.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement109.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement109.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement109.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement109.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement11.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement11.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement11.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement11.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement110.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement110.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement110.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement110.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement111.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement111.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement111.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement111.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement112.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement112.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement112.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement112.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement113.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement113.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement113.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement113.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement114.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement114.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement114.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement114.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement115.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement115.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement115.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement115.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement116.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement116.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement116.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement116.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement117.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement117.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement117.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement117.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement118.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement118.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement118.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement118.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement119.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement119.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement119.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement119.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement12.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement12.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement12.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement12.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement120.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement120.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement120.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement120.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement121.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement121.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement121.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement121.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement122.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement122.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement122.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement122.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement123.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement123.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement123.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement123.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement124.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement124.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement124.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement124.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement125.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement125.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement125.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement125.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement126.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement126.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement126.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement126.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement127.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement127.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement127.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement127.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement128.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement128.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement128.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement128.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement129.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement129.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement129.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement129.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement13.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement13.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement13.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement13.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement130.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement130.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement130.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement130.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement131.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement131.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement131.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement131.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement132.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement132.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement132.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement132.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement133.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement133.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement133.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement133.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement134.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement134.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement134.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement134.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement135.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement135.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement135.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement135.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement136.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement136.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement136.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement136.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement137.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement137.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement137.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement137.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement138.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement138.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement138.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement138.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement139.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement139.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement139.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement139.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement14.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement14.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement14.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement14.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement140.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement140.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement140.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement140.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement141.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement141.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement141.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement141.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement142.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement142.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement142.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement142.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement143.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement143.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement143.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement143.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement144.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement144.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement144.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement144.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement145.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement145.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement145.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement145.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement15.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement15.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement15.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement15.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement16.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement16.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement16.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement16.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement17.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement17.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement17.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement17.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement18.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement18.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement18.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement18.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement19.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement19.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement19.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement19.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement20.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement20.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement20.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement20.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement21.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement21.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement21.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement21.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement22.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement22.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement22.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement22.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement23.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement23.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement23.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement23.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement24.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement24.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement24.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement24.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement25.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement25.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement25.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement25.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement26.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement26.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement26.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement26.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement27.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement27.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement27.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement27.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement28.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement28.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement28.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement28.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement29.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement29.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement29.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement29.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement30.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement30.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement30.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement30.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement31.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement31.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement31.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement31.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement32.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement32.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement32.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement32.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement33.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement33.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement33.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement33.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement34.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement34.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement34.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement34.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement35.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement35.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement35.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement35.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement36.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement36.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement36.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement36.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement37.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement37.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement37.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement37.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement38.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement38.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement38.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement38.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement39.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement39.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement39.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement39.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement40.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement40.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement40.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement40.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement41.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement41.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement41.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement41.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement42.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement42.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement42.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement42.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement43.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement43.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement43.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement43.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement44.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement44.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement44.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement44.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement45.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement45.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement45.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement45.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement46.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement46.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement46.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement46.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement47.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement47.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement47.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement47.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement48.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement48.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement48.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement48.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement49.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement49.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement49.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement49.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement50.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement50.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement50.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement50.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement51.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement51.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement51.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement51.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement52.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement52.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement52.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement52.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement53.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement53.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement53.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement53.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement54.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement54.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement54.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement54.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement55.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement55.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement55.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement55.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement56.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement56.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement56.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement56.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement57.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement57.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement57.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement57.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement58.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement58.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement58.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement58.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement59.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement59.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement59.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement59.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement60.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement60.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement60.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement60.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement61.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement61.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement61.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement61.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement62.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement62.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement62.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement62.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement63.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement63.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement63.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement63.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement64.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement64.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement64.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement64.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement65.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement65.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement65.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement65.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement66.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement66.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement66.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement66.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement67.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement67.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement67.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement67.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement68.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement68.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement68.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement68.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement69.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement69.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement69.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement69.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement70.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement70.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement70.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement70.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement71.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement71.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement71.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement71.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement72.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement72.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement72.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement72.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement73.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement73.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement73.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement73.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement74.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement74.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement74.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement74.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement75.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement75.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement75.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement75.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement76.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement76.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement76.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement76.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement77.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement77.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement77.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement77.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement78.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement78.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement78.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement78.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement79.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement79.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement79.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement79.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement80.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement80.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement80.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement80.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement81.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement81.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement81.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement81.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement82.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement82.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement82.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement82.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement83.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement83.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement83.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement83.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement84.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement84.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement84.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement84.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement85.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement85.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement85.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement85.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement86.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement86.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement86.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement86.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement87.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement87.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement87.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement87.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement88.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement88.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement88.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement88.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement89.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement89.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement89.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement89.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement90.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement90.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement90.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement90.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement91.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement91.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement91.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement91.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement92.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement92.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement92.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement92.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement93.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement93.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement93.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement93.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement94.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement94.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement94.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement94.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement95.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement95.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement95.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement95.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement96.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement96.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement96.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement96.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement97.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement97.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement97.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement97.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement98.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement98.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement98.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement98.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement99.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement99.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLElement99.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement99.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement03.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFormElement03.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement03.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFormElement03.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement04.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFormElement04.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement04.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFormElement04.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement05.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFormElement05.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement05.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFormElement05.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement06.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFormElement06.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement06.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFormElement06.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement07.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFormElement07.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement07.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFormElement07.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement08.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFormElement08.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLFormElement08.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFormElement08.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement03.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement03.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement03.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement03.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement07.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement07.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement07.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement07.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement09.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement09.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement09.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement09.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement10.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement10.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement10.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement10.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement05.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLImageElement05.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement05.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLImageElement05.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement06.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLImageElement06.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement06.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLImageElement06.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement07.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLImageElement07.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement07.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLImageElement07.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement09.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLImageElement09.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement09.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLImageElement09.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement11.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLImageElement11.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement11.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLImageElement11.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement12.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLImageElement12.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLImageElement12.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLImageElement12.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement03.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement03.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement03.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement03.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement04.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement04.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement04.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement04.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement05.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement05.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement05.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement05.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement07.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement07.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement07.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement07.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement08.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement08.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement08.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement08.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement09.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement09.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement09.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement09.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement10.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement10.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement10.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement10.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement11.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement11.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement11.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement11.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement12.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement12.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement12.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement12.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement13.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement13.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement13.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement13.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement14.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement14.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement14.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement14.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement15.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement15.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement15.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement15.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement16.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement16.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement16.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement16.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement18.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement18.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement18.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement18.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement21.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement21.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLInputElement21.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement21.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLIElement02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLIElement02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLIElement02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLIElement02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLabelElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLabelElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLabelElement02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLabelElement02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement03.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLabelElement03.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement03.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLabelElement03.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement04.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLabelElement04.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLabelElement04.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLabelElement04.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLinkElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLinkElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement03.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLinkElement03.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement03.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLinkElement03.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement04.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLinkElement04.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement04.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLinkElement04.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement05.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLinkElement05.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement05.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLinkElement05.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement06.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLinkElement06.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement06.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLinkElement06.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement08.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLinkElement08.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLLinkElement08.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLinkElement08.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMapElement02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLMapElement02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMapElement02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLMapElement02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLMetaElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLMetaElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLMetaElement02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLMetaElement02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement03.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLMetaElement03.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement03.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLMetaElement03.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement04.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLMetaElement04.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLMetaElement04.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLMetaElement04.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLModElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLModElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLModElement02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLModElement02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement03.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLModElement03.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement03.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLModElement03.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement04.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLModElement04.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLModElement04.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLModElement04.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOListElement02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOListElement02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOListElement02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOListElement02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOListElement03.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOListElement03.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOListElement03.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOListElement03.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement08.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement08.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement08.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement08.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement10.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement10.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement10.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement10.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement11.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement11.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement11.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement11.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement13.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement13.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement13.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement13.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement14.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement14.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement14.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement14.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement15.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement15.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement15.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement15.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement16.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement16.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement16.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement16.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement17.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement17.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement17.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement17.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement18.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement18.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement18.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement18.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement19.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement19.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLObjectElement19.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement19.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptionElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptionElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptionElement02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptionElement02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement03.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptionElement03.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement03.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptionElement03.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement06.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptionElement06.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement06.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptionElement06.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement07.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptionElement07.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement07.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptionElement07.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement08.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptionElement08.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLOptionElement08.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptionElement08.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLParamElement02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLParamElement02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLParamElement02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLParamElement02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLScriptElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLScriptElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLScriptElement02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLScriptElement02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement03.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLScriptElement03.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement03.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLScriptElement03.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement04.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLScriptElement04.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement04.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLScriptElement04.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement05.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLScriptElement05.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement05.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLScriptElement05.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement06.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLScriptElement06.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement06.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLScriptElement06.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement07.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLScriptElement07.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLScriptElement07.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLScriptElement07.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement03.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement03.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement03.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement03.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement06.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement06.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement06.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement06.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement07.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement07.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement07.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement07.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement08.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement08.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement08.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement08.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement09.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement09.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement09.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement09.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement10.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement10.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement10.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement10.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement11.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement11.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement11.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement11.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement12.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement12.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement12.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement12.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement13.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement13.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLSelectElement13.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement13.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLStyleElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLStyleElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLStyleElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLStyleElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLStyleElement02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLStyleElement02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLStyleElement02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLStyleElement02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLStyleElement03.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLStyleElement03.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLStyleElement03.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLStyleElement03.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement15.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement15.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement15.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement15.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement16.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement16.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement16.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement16.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement23.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement23.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement23.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement23.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement24.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement24.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement24.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement24.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement25.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement25.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement25.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement25.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableColElement07.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableColElement07.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableColElement07.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableColElement07.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableColElement08.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableColElement08.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableColElement08.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableColElement08.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableElement02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableElement02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement04.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableElement04.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement04.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableElement04.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement06.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableElement06.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement06.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableElement06.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement07.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableElement07.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement07.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableElement07.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement12.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableElement12.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableElement12.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableElement12.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableRowElement05.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableRowElement05.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableRowElement05.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableRowElement05.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement13.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement13.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement13.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement13.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement14.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement14.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement14.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement14.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement15.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement15.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement15.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement15.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement03.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement03.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement03.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement03.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement04.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement04.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement04.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement04.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement05.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement05.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement05.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement05.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement06.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement06.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement06.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement06.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement07.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement07.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement07.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement07.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement08.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement08.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement08.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement08.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement09.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement09.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement09.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement09.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement10.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement10.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement10.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement10.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTitleElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTitleElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/HTMLTitleElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTitleElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/anchor01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/anchor01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/anchor01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/anchor01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/anchor04.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/anchor04.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/anchor04.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/anchor04.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/anchor05.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/anchor05.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/anchor05.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/anchor05.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/area01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/area01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/area02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/area02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area03.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/area03.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area03.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/area03.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area04.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/area04.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/area04.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/area04.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button03.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button03.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button03.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button03.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button04.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button04.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button04.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button04.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button05.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button05.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button05.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button05.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button06.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button06.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button06.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button06.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button07.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button07.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button07.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button07.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button08.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button08.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button08.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button08.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button09.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button09.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/button09.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button09.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/doc01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/doc01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/doc01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/doc01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/.cvsignore b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/.cvsignore similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/.cvsignore rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/.cvsignore diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/HTMLDocument04.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/HTMLDocument04.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/HTMLDocument04.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/HTMLDocument04.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/anchor.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/anchor.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/anchor.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/anchor.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/anchor2.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/anchor2.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/anchor2.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/anchor2.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/applet.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/applet.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/applet.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/applet.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/applet2.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/applet2.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/applet2.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/applet2.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/area.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/area.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/area.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/area.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/area2.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/area2.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/area2.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/area2.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/base.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/base.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/base.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/base.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/base2.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/base2.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/base2.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/base2.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/basefont.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/basefont.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/basefont.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/basefont.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/body.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/body.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/body.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/body.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/br.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/br.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/br.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/br.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/button.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/button.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/button.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/button.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/collection.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/collection.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/collection.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/collection.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/directory.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/directory.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/directory.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/directory.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/div.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/div.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/div.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/div.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/dl.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/dl.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/dl.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/dl.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/document.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/document.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/document.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/document.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/element.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/element.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/element.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/element.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/fieldset.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/fieldset.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/fieldset.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/fieldset.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/font.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/font.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/font.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/font.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/form.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/form.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/form.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/form.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/form2.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/form2.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/form2.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/form2.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/form3.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/form3.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/form3.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/form3.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/frame.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/frame.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/frame.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/frame.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/frameset.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/frameset.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/frameset.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/frameset.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/head.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/head.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/head.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/head.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/heading.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/heading.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/heading.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/heading.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/hr.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/hr.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/hr.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/hr.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/html.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/html.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/html.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/html.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/iframe.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/iframe.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/iframe.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/iframe.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/img.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/img.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/img.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/img.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/input.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/input.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/input.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/input.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/isindex.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/isindex.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/isindex.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/isindex.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/label.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/label.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/label.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/label.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/legend.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/legend.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/legend.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/legend.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/li.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/li.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/li.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/li.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/link.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/link.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/link.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/link.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/link2.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/link2.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/link2.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/link2.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/map.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/map.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/map.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/map.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/menu.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/menu.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/menu.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/menu.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/meta.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/meta.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/meta.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/meta.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/mod.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/mod.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/mod.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/mod.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/object.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/object.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/object.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/object.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/object2.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/object2.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/object2.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/object2.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/olist.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/olist.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/olist.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/olist.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/optgroup.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/optgroup.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/optgroup.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/optgroup.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/option.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/option.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/option.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/option.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/paragraph.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/paragraph.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/paragraph.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/paragraph.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/param.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/param.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/param.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/param.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/pre.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/pre.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/pre.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/pre.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/quote.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/quote.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/quote.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/quote.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/script.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/script.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/script.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/script.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/select.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/select.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/select.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/select.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/style.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/style.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/style.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/style.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/table.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/table.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/table.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/table.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/table1.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/table1.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/table1.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/table1.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablecaption.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/tablecaption.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablecaption.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/tablecaption.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablecell.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/tablecell.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablecell.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/tablecell.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablecol.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/tablecol.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablecol.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/tablecol.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablerow.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/tablerow.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablerow.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/tablerow.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablesection.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/tablesection.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/tablesection.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/tablesection.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/textarea.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/textarea.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/textarea.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/textarea.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/title.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/title.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/title.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/title.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/ulist.html b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/ulist.html similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/files/ulist.html rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/ulist.html diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/hasFeature01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/hasFeature01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/hasFeature01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/hasFeature01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument03.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument03.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument03.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument03.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument04.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument04.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument04.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument04.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument07.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument07.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument07.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument07.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument09.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument09.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument09.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument09.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument10.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument10.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument10.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument10.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument12.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument12.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument12.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument12.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement09.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement09.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement09.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement09.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement10.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement10.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement10.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement10.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement19.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement19.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement19.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement19.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement20.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement20.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement20.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement20.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement22.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement22.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement22.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement22.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement04.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement04.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement04.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement04.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement05.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement05.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement05.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement05.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement14.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement14.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement14.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement14.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement15.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement15.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement15.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement15.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement16.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement16.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement16.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement16.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement17.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement17.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement17.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement17.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement18.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement18.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement18.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement18.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement19.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement19.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement19.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement19.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement08.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement08.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement08.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement08.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement09.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement09.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement09.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement09.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement19.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement19.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement19.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement19.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement20.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement20.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement20.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement20.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement21.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement21.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement21.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement21.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement22.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement22.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement22.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement22.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement23.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement23.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement23.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement23.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement24.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement24.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement24.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement24.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement25.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement25.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement25.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement25.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement26.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement26.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement26.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement26.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement27.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement27.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement27.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement27.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement28.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement28.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement28.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement28.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement29.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement29.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement29.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement29.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement30.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement30.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement30.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement30.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement31.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement31.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement31.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement31.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement32.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement32.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement32.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement32.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement33.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement33.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement33.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement33.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableRowElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableRowElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableRowElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableRowElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement13.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement13.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement13.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement13.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement14.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement14.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement14.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement14.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement15.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement15.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement15.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement15.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object06.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object06.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object06.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object06.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object07.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object07.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object07.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object07.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object08.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object08.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object08.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object08.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object10.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object10.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object10.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object10.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object11.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object11.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object11.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object11.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object12.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object12.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object12.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object12.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object13.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object13.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object13.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object13.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object14.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object14.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/object14.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object14.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement03.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement03.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement03.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement03.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement06.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement06.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement06.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement06.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement08.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement08.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement08.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement08.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement09.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement09.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement09.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement09.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement03.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement03.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement03.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement03.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement04.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement04.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement04.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement04.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement05.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement05.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement05.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement05.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement06.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement06.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement06.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement06.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement07.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement07.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement07.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement07.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement08.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement08.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement08.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement08.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement09.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement09.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement09.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement09.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement10.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement10.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement10.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement10.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement11.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement11.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement11.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement11.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBRElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBRElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBRElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBRElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement03.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement03.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement03.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement03.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement03.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement03.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement03.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement03.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement04.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement04.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement04.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement04.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement05.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement05.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement05.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement05.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement06.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement06.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement06.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement06.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection03.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection03.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection03.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection03.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection04.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection04.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection04.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection04.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection05.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection05.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection05.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection05.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection06.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection06.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection06.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection06.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection07.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection07.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection07.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection07.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection08.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection08.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection08.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection08.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection09.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection09.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection09.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection09.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection10.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection10.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection10.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection10.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection11.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection11.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection11.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection11.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection12.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection12.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection12.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection12.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDirectoryElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDirectoryElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDirectoryElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDirectoryElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDivElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDivElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDivElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDivElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDlistElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDlistElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDlistElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDlistElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument08.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument08.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument08.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument08.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument11.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument11.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument11.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument11.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument13.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument13.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument13.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument13.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument14.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument14.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument14.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument14.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement03.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement03.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement03.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement03.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFormElement02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFormElement02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFormElement02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFormElement02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement03.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement03.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement03.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement03.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement04.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement04.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement04.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement04.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement05.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement05.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement05.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement05.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement06.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement06.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement06.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement06.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement07.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement07.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement07.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement07.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement08.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement08.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement08.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement08.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement03.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement03.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement03.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement03.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement04.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement04.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement04.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement04.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement03.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement03.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement03.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement03.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement04.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement04.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement04.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement04.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement05.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement05.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement05.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement05.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement06.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement06.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement06.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement06.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHtmlElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHtmlElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHtmlElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHtmlElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement04.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement04.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement04.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement04.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement05.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement05.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement05.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement05.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement06.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement06.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement06.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement06.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement08.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement08.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement08.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement08.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement03.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement03.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement03.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement03.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement04.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement04.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement04.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement04.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement08.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement08.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement08.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement08.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement10.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement10.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement10.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement10.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement14.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement14.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement14.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement14.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement06.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement06.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement06.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement06.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement17.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement17.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement17.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement17.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement03.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement03.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement03.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement03.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLIElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLIElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLIElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLIElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement03.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement03.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement03.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement03.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement04.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement04.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement04.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement04.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement07.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement07.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement07.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement07.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement09.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement09.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement09.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement09.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMapElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMapElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMapElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMapElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMenuElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMenuElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMenuElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMenuElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOListElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOListElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOListElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOListElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement03.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement03.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement03.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement03.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement04.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement04.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement04.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement04.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement05.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement05.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement05.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement05.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement06.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement06.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement06.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement06.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement07.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement07.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement07.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement07.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement09.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement09.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement09.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement09.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement12.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement12.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement12.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement12.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement04.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement04.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement04.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement04.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement05.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement05.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement05.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement05.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement09.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement09.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement09.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement09.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParagraphElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParagraphElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParagraphElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParagraphElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement03.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement03.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement03.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement03.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement04.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement04.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement04.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement04.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLPreElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLPreElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLPreElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLPreElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCaptionElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCaptionElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCaptionElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCaptionElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement03.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement03.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement03.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement03.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement04.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement04.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement04.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement04.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement05.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement05.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement05.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement05.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement06.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement06.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement06.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement06.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement07.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement07.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement07.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement07.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement08.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement08.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement08.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement08.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement09.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement09.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement09.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement09.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement10.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement10.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement10.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement10.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement11.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement11.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement11.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement11.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement12.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement12.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement12.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement12.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement13.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement13.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement13.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement13.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement14.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement14.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement14.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement14.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement17.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement17.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement17.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement17.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement18.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement18.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement18.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement18.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement19.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement19.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement19.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement19.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement20.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement20.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement20.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement20.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement21.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement21.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement21.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement21.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement22.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement22.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement22.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement22.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement26.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement26.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement26.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement26.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement27.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement27.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement27.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement27.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement28.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement28.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement28.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement28.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement29.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement29.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement29.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement29.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement30.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement30.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement30.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement30.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement03.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement03.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement03.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement03.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement04.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement04.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement04.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement04.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement05.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement05.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement05.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement05.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement06.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement06.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement06.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement06.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement09.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement09.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement09.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement09.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement10.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement10.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement10.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement10.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement11.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement11.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement11.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement11.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement12.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement12.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement12.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement12.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement03.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement03.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement03.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement03.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement05.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement05.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement05.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement05.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement10.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement10.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement10.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement10.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement11.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement11.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement11.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement11.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement13.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement13.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement13.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement13.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement14.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement14.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement14.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement14.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement15.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement15.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement15.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement15.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement16.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement16.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement16.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement16.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement17.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement17.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement17.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement17.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement18.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement18.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement18.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement18.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement03.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement03.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement03.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement03.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement04.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement04.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement04.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement04.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement06.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement06.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement06.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement06.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement07.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement07.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement07.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement07.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement08.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement08.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement08.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement08.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement09.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement09.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement09.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement09.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement10.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement10.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement10.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement10.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement11.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement11.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement11.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement11.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement12.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement12.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement12.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement12.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement13.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement13.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement13.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement13.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement14.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement14.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement14.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement14.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement03.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement03.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement03.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement03.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement04.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement04.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement04.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement04.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement05.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement05.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement05.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement05.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement06.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement06.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement06.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement06.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement07.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement07.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement07.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement07.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement08.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement08.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement08.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement08.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement09.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement09.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement09.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement09.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement10.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement10.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement10.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement10.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement11.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement11.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement11.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement11.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement12.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement12.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement12.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement12.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement16.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement16.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement16.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement16.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement17.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement17.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement17.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement17.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement18.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement18.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement18.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement18.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement19.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement19.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement19.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement19.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement20.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement20.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement20.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement20.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement21.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement21.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement21.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement21.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement22.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement22.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement22.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement22.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement23.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement23.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement23.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement23.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement24.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement24.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement24.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement24.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement11.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement11.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement11.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement11.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement12.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement12.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement12.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement12.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/anchor02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/anchor02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/anchor02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/anchor02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/anchor03.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/anchor03.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/anchor03.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/anchor03.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/anchor06.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/anchor06.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/anchor06.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/anchor06.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/basefont01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/basefont01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/basefont01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/basefont01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/body01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/body01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/body01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/body01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/dlist01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/dlist01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/dlist01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/dlist01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/object02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/object02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object03.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/object03.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object03.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/object03.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object04.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/object04.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object04.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/object04.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object05.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/object05.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object05.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/object05.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object09.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/object09.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object09.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/object09.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object15.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/object15.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/object15.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/object15.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table02.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table02.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table02.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table02.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table03.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table03.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table03.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table03.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table04.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table04.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table04.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table04.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table06.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table06.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table06.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table06.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table07.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table07.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table07.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table07.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table08.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table08.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table08.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table08.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table09.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table09.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table09.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table09.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table10.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table10.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table10.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table10.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table12.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table12.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table12.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table12.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table15.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table15.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table15.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table15.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table17.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table17.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table17.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table17.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table18.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table18.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table18.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table18.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table19.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table19.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table19.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table19.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table20.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table20.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table20.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table20.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table21.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table21.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table21.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table21.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table22.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table22.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table22.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table22.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table23.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table23.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table23.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table23.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table24.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table24.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table24.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table24.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table26.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table26.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table26.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table26.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table27.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table27.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table27.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table27.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table29.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table29.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table29.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table29.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table30.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table30.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table30.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table30.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table31.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table31.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table31.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table31.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table32.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table32.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table32.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table32.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table33.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table33.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table33.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table33.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table35.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table35.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table35.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table35.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table36.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table36.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table36.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table36.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table37.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table37.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table37.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table37.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table38.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table38.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table38.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table38.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table39.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table39.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table39.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table39.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table40.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table40.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table40.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table40.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table41.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table41.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table41.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table41.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table42.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table42.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table42.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table42.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table43.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table43.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table43.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table43.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table44.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table44.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table44.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table44.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table45.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table45.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table45.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table45.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table46.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table46.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table46.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table46.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table47.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table47.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table47.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table47.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table48.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table48.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table48.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table48.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table49.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table49.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table49.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table49.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table50.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table50.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table50.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table50.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table52.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table52.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table52.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table52.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table53.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table53.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/obsolete/table53.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table53.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table01.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/table01.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table01.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/table01.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table25.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/table25.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table25.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/table25.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table28.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/table28.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table28.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/table28.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table34.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/table34.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table34.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/table34.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table51.js b/knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/table51.js similarity index 100% rename from knockoff-node/node_modules/knockoff/node_modules/tassembly/node_modules/domino/test/w3c/level1/html/table51.js rename to knockoff-node/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/table51.js diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json b/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json index f58acb8..44747a3 100644 --- a/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json @@ -2,16 +2,13 @@ "name": "tassembly", "version": "0.1.0", "main": "tassembly.js", - "dependencies": { - "domino": "1.x.x" - }, "readme": "tassembly\n=========\n\nJSON IR for templating and corresponding runtime implementation\n\n**\"Fast but safe\"**\n\nSecurity guarantees of DOM-based templating (tag balancing, context-sensitive\nhref/src/style sanitization etc) with the performance of string-based templating.\n\nSee\n [this page for background.](https://www.mediawiki.org/wiki/Requests_for_comment/HTML_templating_library/Knockout_-_Tassembly)\n\n* The JSON format is compact, can easily be persisted and can be evaluated with\na tiny library.\n\n* Performance is on par with compiled handlebars templates, the fastest\nstring-based library in our tests.\n\n* Compilation target for [KnockoutJS templates\n (KoTasm)](https://github.com/gwicke/kotasm) and\n [Spacebars](https://github.com/gwicke/TemplatePerf/tree/master/handlebars-htmljs-node/spacebars-qt).\n\nExamples:\n\n```javascript\n['',['text','body'],'']\n\n['',\n ['foreach',{data:'items',tpl:['',['text','val'],'']}],\n'']\n```\n", "readmeFilename": "README.md", "description": "tassembly =========", "_id": "tassembly@0.1.0", "dist": { - "shasum": "89009cb64a3c1268e54dd9bffe21eaf26ea7ff8f" + "shasum": "af210f20c623f61c194d870b49e63d4ed58c368f" }, - "_resolved": "git+https://github.com/gwicke/tassembly.git#0b2ed930e72ab0f360be0034db0ebcc5d4b07cff", + "_resolved": "git+https://github.com/gwicke/tassembly.git#837c93fee364ea0a5d6c5b4529c47289cb106e57", "_from": "tassembly@git+https://github.com/gwicke/tassembly.git#master" } diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js index d0e8c70..8261181 100644 --- a/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js @@ -41,32 +41,35 @@ var simpleExpression = /^(?:[.][a-zA-Z_$]+)+$/, + '(?:\\((?:[0-9a-zA-Z_$.]+|["\'][a-zA-Z0-9_$\.]+["\'])\\))?' + ')+$'); TAssembly.prototype._evalExpr = function (expression, scope) { - // Simple variable / fast path - if (/^[a-zA-Z_$]+$/.test(expression)) { - return scope[expression]; - } + var func = this.cache['expr' + expression]; + if (!func) { + // Simple variable / fast path + if (/^[a-zA-Z_$]+$/.test(expression)) { + return scope[expression]; + } - // String literal - if (/^'.*'$/.test(expression)) { - return expression.slice(1,-1).replace(/\\'/g, "'"); - } + // String literal + if (/^'.*'$/.test(expression)) { + return expression.slice(1,-1).replace(/\\'/g, "'"); + } - // Dot notation, array indexing and function calls - // a.b.c - // literal array indexes (number and string) and nullary functions only - // a[1]().b['b']() - var texpression = '.' + expression; - if (simpleExpression.test(texpression)) { - try { - return new Function('scope', 'with(scope) { return ' + expression + ')')(scope); - } catch (e) { - console.log(e); - return ''; + // Dot notation, array indexing and function calls + // a.b.c + // literal array indexes (number and string) and nullary functions only + // a[1]().b['b']() + var texpression = '.' + expression; + if (simpleExpression.test(texpression) || complexExpression.test(texpression)) { + func = new Function('scope', 'var $index = scope.$index;' + + 'var $data = scope.$data;' + + 'var $parent = scope.$parent;' + + 'return scope' + texpression); + this.cache['expr' + expression] = func; } - } else if (complexExpression.test(texpression)) { + } + if (func) { try { - return new Function('scope', 'with(scope) { return ' + expression + '}')(scope); - } catch (e) { + return func(scope); + } catch (e) { console.log(e); return ''; } diff --git a/knockoff-node/node_modules/knockoff/package.json b/knockoff-node/node_modules/knockoff/package.json index a01970f..0080279 100644 --- a/knockoff-node/node_modules/knockoff/package.json +++ b/knockoff-node/node_modules/knockoff/package.json @@ -3,15 +3,16 @@ "version": "0.1.0", "main": "knockoff.js", "dependencies": { - "tassembly": "git+https://github.com/gwicke/tassembly.git#master" + "tassembly": "git+https://github.com/gwicke/tassembly.git#master", + "domino": "1.x.x" }, "readme": "KnockOff\n========\n\nKnockoutJS to Tassembly compiler\n", "readmeFilename": "README.md", "description": "KnockOff ========", "_id": "knockoff@0.1.0", "dist": { - "shasum": "773814bef2329ba683bb7b8b7dc05e3185906ce1" + "shasum": "d855d04b43fe7ce1b03aef0a4680d67be7d2787a" }, - "_resolved": "git+https://github.com/gwicke/knockoff#b95298d7aae0a6245eb5a0009c240a986e089b6d", + "_resolved": "git+https://github.com/gwicke/knockoff#3c4b3f31dfe3b1eea3f8666360ce78d36291e397", "_from": "knockoff@git+https://github.com/gwicke/knockoff#master" } diff --git a/knockoff-node/node_modules/knockoff/testKnockOff.js b/knockoff-node/node_modules/knockoff/testKnockOff.js index 6315831..304e5b9 100644 --- a/knockoff-node/node_modules/knockoff/testKnockOff.js +++ b/knockoff-node/node_modules/knockoff/testKnockOff.js @@ -8,6 +8,7 @@ ko.registerPartial('testPartial', ''); var testData = { + arr: [1,2,3,4,5,6,7], items: [ { key: 'key1', @@ -29,6 +30,10 @@ var testData = { predFalse: false }; +testData.arr.test = function(i) { + return i + 'test'; +}; + function test(input) { var tpl = ko.compile(input); @@ -68,3 +73,7 @@ test('
    '); test('
    '); + +test('
    '); + +test('
    '); From 5df40698fd8f6ee97add60018cb5451c55271a50 Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Sat, 15 Mar 2014 10:12:44 -0700 Subject: [PATCH 39/72] Update tassembly dependency for knockoff --- .../knockoff/node_modules/tassembly/package.json | 4 ++-- .../knockoff/node_modules/tassembly/tassembly.js | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json b/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json index 44747a3..da7efb0 100644 --- a/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json @@ -7,8 +7,8 @@ "description": "tassembly =========", "_id": "tassembly@0.1.0", "dist": { - "shasum": "af210f20c623f61c194d870b49e63d4ed58c368f" + "shasum": "8929181216108f872492dd3ee282993fc27b6a02" }, - "_resolved": "git+https://github.com/gwicke/tassembly.git#837c93fee364ea0a5d6c5b4529c47289cb106e57", + "_resolved": "git+https://github.com/gwicke/tassembly.git#60e15e0d6e7cf81827d1dacb118d7a4cb6572fd3", "_from": "tassembly@git+https://github.com/gwicke/tassembly.git#master" } diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js index 8261181..aa2bce4 100644 --- a/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js @@ -115,11 +115,12 @@ TAssembly.prototype.ctlFn_foreach = function(options, scope, cb) { var iterable = this._evalExpr(options.data, scope), // worth compiling the nested template tpl = this.compile(this._getTemplate(options.tpl), cb), - l = iterable.length; + l = iterable.length, + itemWrapper = Object.create(null); for(var i = 0; i < l; i++) { var item = iterable[i]; if (!item || typeof item !== 'object') { - item = Object.create(null); + item = itemWrapper; item.$data = iterable[i]; } item.$index = i; From 8c5178c243add0d7c690060d02821548638be2d9 Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Sat, 15 Mar 2014 12:41:07 -0700 Subject: [PATCH 40/72] Update tassembly --- .../node_modules/tassembly/package.json | 4 +- .../node_modules/tassembly/tassembly.js | 81 ++++++++++++------- knockoff-node/test2-loop-lambda.js | 2 +- 3 files changed, 56 insertions(+), 31 deletions(-) diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json b/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json index da7efb0..10c767c 100644 --- a/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json @@ -7,8 +7,8 @@ "description": "tassembly =========", "_id": "tassembly@0.1.0", "dist": { - "shasum": "8929181216108f872492dd3ee282993fc27b6a02" + "shasum": "e06423252d44d841668c3ff5d68c475613419d19" }, - "_resolved": "git+https://github.com/gwicke/tassembly.git#60e15e0d6e7cf81827d1dacb118d7a4cb6572fd3", + "_resolved": "git+https://github.com/gwicke/tassembly.git#a5b1e546d31cc7ea0c7e426f3526894748cf49d7", "_from": "tassembly@git+https://github.com/gwicke/tassembly.git#master" } diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js index aa2bce4..42ccc6b 100644 --- a/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js @@ -38,14 +38,16 @@ TAssembly.prototype._getUID = function() { var simpleExpression = /^(?:[.][a-zA-Z_$]+)+$/, complexExpression = new RegExp('^(?:[.][a-zA-Z_$]+' + '(?:\\[(?:[0-9.]+|["\'][a-zA-Z0-9_$]+["\'])\\])?' - + '(?:\\((?:[0-9a-zA-Z_$.]+|["\'][a-zA-Z0-9_$\.]+["\'])\\))?' + + '(?:\\((?:[0-9a-zA-Z_$.]+|["\'][a-zA-Z0-9_$\\.]+["\'])\\))?' + ')+$'); TAssembly.prototype._evalExpr = function (expression, scope) { var func = this.cache['expr' + expression]; if (!func) { - // Simple variable / fast path - if (/^[a-zA-Z_$]+$/.test(expression)) { + if (/^\$(?:index|parent)$/.test(expression)) { return scope[expression]; + } else if (/^[a-zA-Z_$]+$/.test(expression)) { + // Simple variable, the fast and common case + return scope.$data[expression]; } // String literal @@ -59,10 +61,13 @@ TAssembly.prototype._evalExpr = function (expression, scope) { // a[1]().b['b']() var texpression = '.' + expression; if (simpleExpression.test(texpression) || complexExpression.test(texpression)) { - func = new Function('scope', 'var $index = scope.$index;' - + 'var $data = scope.$data;' - + 'var $parent = scope.$parent;' - + 'return scope' + texpression); + if (!/^(?:\$data|\$parent|\$index)/.test(expression)) { + expression = '$data.' + expression; + } + func = new Function('scope', 'var $index = scope.$index,' + + '$data = scope.$data,' + + '$parent = scope.$parent;' + + 'return scope.' + expression); this.cache['expr' + expression] = func; } } @@ -90,11 +95,20 @@ TAssembly.prototype._evalExpr = function (expression, scope) { * and fall back to the full method otherwise. */ function evalExprStub(expr) { - if (/^[a-zA-Z_$]+$/.test(expr)) { - // simple variable, the fast and common case + if (expr === '$data') { + return '$data'; + } else if (/^$(?:index|parent)$/.test(expr)) { return 'scope[' + JSON.stringify(expr) + ']'; + } else if (/^[a-zA-Z_$]+$/.test(expr)) { + // Simple variable, the fast and common case + return '$data[' + JSON.stringify(expr) + ']'; + } else if (/^'.*'$/.test(expr)) { + // String literal + return JSON.stringify(expr.slice(1,-1).replace(/\\'/g, "'")); } else { - return 'this._evalExpr(' + JSON.stringify(expr) + ', scope)'; + return '(this.cache[' + JSON.stringify('expr' + expr) + '] ?' + + 'this.cache[' + JSON.stringify('expr' + expr) + '](scope) :' + + 'this._evalExpr(' + JSON.stringify(expr) + ', scope))'; } } @@ -116,31 +130,30 @@ TAssembly.prototype.ctlFn_foreach = function(options, scope, cb) { // worth compiling the nested template tpl = this.compile(this._getTemplate(options.tpl), cb), l = iterable.length, - itemWrapper = Object.create(null); + newScope = Object.create(scope); + newScope.$parent = scope; for(var i = 0; i < l; i++) { - var item = iterable[i]; - if (!item || typeof item !== 'object') { - item = itemWrapper; - item.$data = iterable[i]; - } - item.$index = i; - item['$parent'] = iterable; - tpl(item); - // tidy up - //delete item.$index; - //delete item.$parent; + newScope.$data = iterable[i]; + newScope.$index = i; + tpl(newScope); } }; TAssembly.prototype.ctlFn_template = function(options, scope, cb) { // deal with options - var data = this._evalExpr(options.data, scope); - this.render(this._getTemplate(options.tpl), data, cb); + var newScope = { + $data: this._evalExpr(options.data, scope), + $parent: scope + }; + this.render(this._getTemplate(options.tpl), newScope, cb); }; TAssembly.prototype.ctlFn_with = function(options, scope, cb) { - var val = this._evalExpr(options.data, scope); - if (val) { - this.render(this._getTemplate(options.tpl), val, cb); + var data = this._evalExpr(options.data, scope), + newScope = Object.create(data); + newScope.$parent = scope; + newScope.$data = data; + if (newScope.$data) { + this.render(this._getTemplate(options.tpl), newScope, cb); } else { // TODO: hide the parent element similar to visible } @@ -212,6 +225,9 @@ TAssembly.prototype._assemble = function(template, cb) { code.push('var val;'); if (!cb) { code.push('var res = "", cb = function(bit) { res += bit; };'); + code.push('var $data = scope;'); + } else { + code.push('var $data = scope.$data;'); } var self = this, @@ -264,7 +280,7 @@ TAssembly.prototype._assemble = function(template, cb) { // escape the attribute value // TODO: hook up context-sensitive sanitization for href, // src, style - + 'val = val || val === 0 ? val : "";' + + 'val || val === 0 ? val + "" : "";' + 'if(/[<&"]/.test(val)) { val = val.replace(/[<&"]/g,this._xmlEncoder); }' + "cb(" + JSON.stringify(' ' + name + '="') + " + val " @@ -280,6 +296,11 @@ TAssembly.prototype._assemble = function(template, cb) { this.cache[uid] = ctlOpts; code.push('try {'); + // Create a proper scope if not defined yet + code.push('if(scope.$data === undefined) {'); + code.push('var newScope = Object.create(scope);'); + code.push('newScope.$data = scope;scope = newScope;'); + code.push('}'); // call the method code.push('this[' + JSON.stringify('ctlFn_' + ctlFn) // store in cache / unique key rather than here @@ -315,6 +336,10 @@ TAssembly.prototype.render = function(template, scope, cb) { cb = function(bit) { res.push(bit); }; + // Wrap the scope + var newScope = Object.create(scope); + newScope.$data = scope; + scope = newScope; } // Just call a cached compiled version if available diff --git a/knockoff-node/test2-loop-lambda.js b/knockoff-node/test2-loop-lambda.js index 17da276..6e702ea 100644 --- a/knockoff-node/test2-loop-lambda.js +++ b/knockoff-node/test2-loop-lambda.js @@ -19,7 +19,7 @@ for ( var n=0; n <= 1000; ++n ) { var startTime = new Date(); vars.items = Object.keys(items); -vars.items.getvalues = function(i) { +vars.getvalues = function(i) { return items[i]; }; From 656a0d6a390cf648cd69758751cc527d09597a6f Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Sat, 15 Mar 2014 12:41:37 -0700 Subject: [PATCH 41/72] Fix heading for Knockoff test --- runall.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runall.sh b/runall.sh index 5f40938..4910606 100755 --- a/runall.sh +++ b/runall.sh @@ -118,7 +118,7 @@ runTestNode \ "test3" "test3-itterator.js" runTestNode \ - "Handlebars" \ + "Knockoff" \ knockoff-node \ "test1" "test1.js" \ "test1b" "test1b-incid.js" \ From 078ca48037162ff377b17da3e5b60d53c293bc71 Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Sat, 15 Mar 2014 12:57:30 -0700 Subject: [PATCH 42/72] Update tassembly --- .../knockoff/node_modules/tassembly/package.json | 4 ++-- .../knockoff/node_modules/tassembly/tassembly.js | 10 ++++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json b/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json index 10c767c..f515b02 100644 --- a/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json @@ -7,8 +7,8 @@ "description": "tassembly =========", "_id": "tassembly@0.1.0", "dist": { - "shasum": "e06423252d44d841668c3ff5d68c475613419d19" + "shasum": "5c7b818c9f5f997a14f85536641c085a1378cc6e" }, - "_resolved": "git+https://github.com/gwicke/tassembly.git#a5b1e546d31cc7ea0c7e426f3526894748cf49d7", + "_resolved": "git+https://github.com/gwicke/tassembly.git#82a2219562b82837ea713f2655ade5033c94c3ab", "_from": "tassembly@git+https://github.com/gwicke/tassembly.git#master" } diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js index 42ccc6b..370101a 100644 --- a/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js @@ -126,12 +126,14 @@ TAssembly.prototype._getTemplate = function (tpl, cb) { TAssembly.prototype.ctlFn_foreach = function(options, scope, cb) { // deal with options - var iterable = this._evalExpr(options.data, scope), + var iterable = this._evalExpr(options.data, scope); + if (!iterable || !Array.isArray(iterable)) { return } // worth compiling the nested template - tpl = this.compile(this._getTemplate(options.tpl), cb), + var tpl = this.compile(this._getTemplate(options.tpl), cb), l = iterable.length, - newScope = Object.create(scope); - newScope.$parent = scope; + newScope = { + $parent: scope; + }; for(var i = 0; i < l; i++) { newScope.$data = iterable[i]; newScope.$index = i; From 52956e88c55d6522fc1a3868313ef318c14235f3 Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Sat, 15 Mar 2014 12:58:33 -0700 Subject: [PATCH 43/72] Update tassembly --- .../node_modules/knockoff/node_modules/tassembly/package.json | 4 ++-- .../node_modules/knockoff/node_modules/tassembly/tassembly.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json b/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json index f515b02..603f10b 100644 --- a/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json @@ -7,8 +7,8 @@ "description": "tassembly =========", "_id": "tassembly@0.1.0", "dist": { - "shasum": "5c7b818c9f5f997a14f85536641c085a1378cc6e" + "shasum": "0263351907e53bd3ef21af193f10d01eb606013d" }, - "_resolved": "git+https://github.com/gwicke/tassembly.git#82a2219562b82837ea713f2655ade5033c94c3ab", + "_resolved": "git+https://github.com/gwicke/tassembly.git#460b6a913a6d9d00549b78316410e266ace04162", "_from": "tassembly@git+https://github.com/gwicke/tassembly.git#master" } diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js index 370101a..751699a 100644 --- a/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js @@ -132,7 +132,7 @@ TAssembly.prototype.ctlFn_foreach = function(options, scope, cb) { var tpl = this.compile(this._getTemplate(options.tpl), cb), l = iterable.length, newScope = { - $parent: scope; + $parent: scope }; for(var i = 0; i < l; i++) { newScope.$data = iterable[i]; From 356215e25973088b7f6c9bf8fb731b1a3b822384 Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Fri, 21 Mar 2014 21:31:12 -0700 Subject: [PATCH 44/72] Update knockoff --- .../knockoff/KnockoutExpression.js | 75 +++++- knockoff-node/node_modules/knockoff/README.md | 2 +- .../knockoff/node_modules/tassembly/README.md | 6 +- .../node_modules/tassembly/package.json | 8 +- .../node_modules/tassembly/tassembly.js | 245 +++++++++++------- .../knockoff/node_modules/tassembly/test1.js | 16 ++ .../node_modules/knockoff/package.json | 6 +- .../node_modules/knockoff/testKnockOff.js | 44 ++-- 8 files changed, 269 insertions(+), 133 deletions(-) create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/test1.js diff --git a/knockoff-node/node_modules/knockoff/KnockoutExpression.js b/knockoff-node/node_modules/knockoff/KnockoutExpression.js index d5776ce..90cbe3d 100644 --- a/knockoff-node/node_modules/knockoff/KnockoutExpression.js +++ b/knockoff-node/node_modules/knockoff/KnockoutExpression.js @@ -18,7 +18,7 @@ var stringDouble = '"(?:[^"\\\\]|\\\\.)*"', // Match text (at least two characters) that does not contain any of the above special characters, // although some of the special characters are allowed to start it (all but the colon and comma). // The text can contain spaces, but leading or trailing spaces are skipped. - everyThingElse = '[^\\s:,/][^' + specials + ']*[^\\s' + specials + ']', + everyThingElse = '[^\\s:,{\\(/][^' + specials + ']*[^\\s' + specials + ']', // Match any non-space character not matched already. This will match colons and commas, since they're // not matched by "everyThingElse", but will also match any other single character that wasn't already // matched (for example: in "a: 1, b: 2", each of the non-space characters will be matched by oneNotSpace). @@ -31,6 +31,39 @@ var stringDouble = '"(?:[^"\\\\]|\\\\.)*"', divisionLookBehind = /[\])"'A-Za-z0-9_$]+$/, keywordRegexLookBehind = {'in':1,'return':1,'typeof':1}; + +// Rewrite an expression so that it is referencing the context where necessary +function prefixModelVars (expr) { + // Rewrite the expression to be keyed on the context 'c' + // XXX: experiment with some local var definitions and selective + // rewriting for perf + + var res = '', + i = -1, + c = ''; + do { + if (/^$|[\[:(,]/.test(c)) { + res += c; + if (/[a-zA-Z_]/.test(expr[i+1])) { + // Prefix with model reference + res += 'm.'; + } + } else if (c === "'") { + // skip over string literal + var literal = expr.slice(i).match(/'(?:[^\\']+|\\')*'/); + if (literal) { + res += literal[0]; + i += literal[0].length - 1; + } + } else { + res += c; + } + i++; + c = expr[i]; + } while (c); + return res; +} + function parseObjectLiteral(objectLiteralString) { // Trim leading and trailing spaces from the string var str = objectLiteralString.trim(); @@ -62,9 +95,42 @@ function parseObjectLiteral(objectLiteralString) { // Number values = Number(values); } else if (/^".*"$/.test(values)) { - // Quoted string literal, normalize to double + // Quoted string literal, normalize to single // quote values = "'" + values.slice(1, -1).replace(/'/g, "\\'") + "'"; + } else if (!/^[a-zA-Z_$]|^'.*'$/.test(values)) { + // definitely invalid variable: convert to string + values = "'" + values.replace(/'/g, "\\'") + "'"; + } else { + // hopefully a valid variable / expression + // TODO: properly validate! + var ctxMap = { + data: 'm', + root: 'rm', + parent: 'p', + parents: 'ps', + parentContext: 'pc', + index: 'i', + context: 'c', + rawData: 'd' + }, + ctxKeysRe = new RegExp('\\$(' + + Object.keys(ctxMap).join('|') + + ')(?=[^a-zA-Z_$]|$)', 'g'); + // Prefix all non-dollar vars with d. + values = prefixModelVars(values); + + // Now translate all references to special context + // variables + values = values.replace(ctxKeysRe, function(match) { + var tassemblyName = ctxMap[match.replace(/^\$/,'')]; + if (tassemblyName) { + return tassemblyName; + } else { + return match; + } + }); + } if (values) { @@ -104,6 +170,11 @@ function parseObjectLiteral(objectLiteralString) { key = (c === 34 || c === 39) /* '"', "'" */ ? tok.slice(1, -1) : tok; continue; } + if (/^".*"$/.test(tok)) { + // Quoted string literal, normalize to single + // quote + tok = "'" + tok.slice(1, -1).replace(/'/g, "\\'") + "'"; + } if (values) { values += tok; } else { diff --git a/knockoff-node/node_modules/knockoff/README.md b/knockoff-node/node_modules/knockoff/README.md index 99dcc08..dab2835 100644 --- a/knockoff-node/node_modules/knockoff/README.md +++ b/knockoff-node/node_modules/knockoff/README.md @@ -1,4 +1,4 @@ KnockOff ======== -KnockoutJS to Tassembly compiler +[KnockoutJS](http://knockoutjs.com/) to [TAssembly](https://github.com/gwicke/tassembly) compiler diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/README.md b/knockoff-node/node_modules/knockoff/node_modules/tassembly/README.md index 37fa556..0d3a437 100644 --- a/knockoff-node/node_modules/knockoff/node_modules/tassembly/README.md +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/README.md @@ -1,4 +1,4 @@ -tassembly +TAssembly ========= JSON IR for templating and corresponding runtime implementation @@ -17,8 +17,8 @@ a tiny library. * Performance is on par with compiled handlebars templates, the fastest string-based library in our tests. -* Compilation target for [KnockoutJS templates - (KoTasm)](https://github.com/gwicke/kotasm) and +* Compilation target for [Knockoff templates + (KnockoutJS syntax)](https://github.com/gwicke/knockoff) and [Spacebars](https://github.com/gwicke/TemplatePerf/tree/master/handlebars-htmljs-node/spacebars-qt). Examples: diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json b/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json index 603f10b..3d0078d 100644 --- a/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json @@ -2,13 +2,13 @@ "name": "tassembly", "version": "0.1.0", "main": "tassembly.js", - "readme": "tassembly\n=========\n\nJSON IR for templating and corresponding runtime implementation\n\n**\"Fast but safe\"**\n\nSecurity guarantees of DOM-based templating (tag balancing, context-sensitive\nhref/src/style sanitization etc) with the performance of string-based templating.\n\nSee\n [this page for background.](https://www.mediawiki.org/wiki/Requests_for_comment/HTML_templating_library/Knockout_-_Tassembly)\n\n* The JSON format is compact, can easily be persisted and can be evaluated with\na tiny library.\n\n* Performance is on par with compiled handlebars templates, the fastest\nstring-based library in our tests.\n\n* Compilation target for [KnockoutJS templates\n (KoTasm)](https://github.com/gwicke/kotasm) and\n [Spacebars](https://github.com/gwicke/TemplatePerf/tree/master/handlebars-htmljs-node/spacebars-qt).\n\nExamples:\n\n```javascript\n['',['text','body'],'']\n\n['',\n ['foreach',{data:'items',tpl:['',['text','val'],'']}],\n'']\n```\n", + "readme": "TAssembly\n=========\n\nJSON IR for templating and corresponding runtime implementation\n\n**\"Fast but safe\"**\n\nSecurity guarantees of DOM-based templating (tag balancing, context-sensitive\nhref/src/style sanitization etc) with the performance of string-based templating.\n\nSee\n [this page for background.](https://www.mediawiki.org/wiki/Requests_for_comment/HTML_templating_library/Knockout_-_Tassembly)\n\n* The JSON format is compact, can easily be persisted and can be evaluated with\na tiny library.\n\n* Performance is on par with compiled handlebars templates, the fastest\nstring-based library in our tests.\n\n* Compilation target for [Knockoff templates\n (KnockoutJS syntax)](https://github.com/gwicke/knockoff) and\n [Spacebars](https://github.com/gwicke/TemplatePerf/tree/master/handlebars-htmljs-node/spacebars-qt).\n\nExamples:\n\n```javascript\n['',['text','body'],'']\n\n['',\n ['foreach',{data:'items',tpl:['',['text','val'],'']}],\n'']\n```\n", "readmeFilename": "README.md", - "description": "tassembly =========", + "description": "TAssembly =========", "_id": "tassembly@0.1.0", "dist": { - "shasum": "0263351907e53bd3ef21af193f10d01eb606013d" + "shasum": "b107cc77948d145646d678236442e9489bbaed73" }, - "_resolved": "git+https://github.com/gwicke/tassembly.git#460b6a913a6d9d00549b78316410e266ace04162", + "_resolved": "git+https://github.com/gwicke/tassembly.git#b77eb86b1580baf3d4ee2f923ef8c7fafb8926cb", "_from": "tassembly@git+https://github.com/gwicke/tassembly.git#master" } diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js index 751699a..7ab6f18 100644 --- a/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js @@ -1,5 +1,5 @@ /* - * Prototype JSON template IR evaluator + * JSON template IR runtime * * Motto: Fast but safe! * @@ -39,15 +39,52 @@ var simpleExpression = /^(?:[.][a-zA-Z_$]+)+$/, complexExpression = new RegExp('^(?:[.][a-zA-Z_$]+' + '(?:\\[(?:[0-9.]+|["\'][a-zA-Z0-9_$]+["\'])\\])?' + '(?:\\((?:[0-9a-zA-Z_$.]+|["\'][a-zA-Z0-9_$\\.]+["\'])\\))?' - + ')+$'); -TAssembly.prototype._evalExpr = function (expression, scope) { + + ')+$'), + simpleBindingVar = /^(m|p|p[sc]?|rm|i|c)\.([a-zA-Z_$]+)$/; + +// Rewrite an expression so that it is referencing the context where necessary +function rewriteExpression (expr) { + // Rewrite the expression to be keyed on the context 'c' + // XXX: experiment with some local var definitions and selective + // rewriting for perf + + var res = '', + i = -1, + c = ''; + do { + if (/^$|[\[:(]/.test(c)) { + res += c; + if (/[pri]/.test(expr[i+1]) + && /(?:p[sc]?|rm|i)(?:[\.\)\]}]|$)/.test(expr.slice(i+1))) { + // Prefix with full context object; only the local view model + // 'm' and the context 'c' is defined locally for now + res += 'c.'; + } + } else if (c === "'") { + // skip over string literal + var literal = expr.slice(i).match(/'(?:[^\\']+|\\')*'/); + if (literal) { + res += literal[0]; + i += literal[0].length - 1; + } + } else { + res += c; + } + i++; + c = expr[i]; + } while (c); + return res; +} + +TAssembly.prototype._evalExpr = function (expression, ctx) { var func = this.cache['expr' + expression]; if (!func) { - if (/^\$(?:index|parent)$/.test(expression)) { - return scope[expression]; - } else if (/^[a-zA-Z_$]+$/.test(expression)) { - // Simple variable, the fast and common case - return scope.$data[expression]; + + var simpleMatch = expression.match(simpleBindingVar); + if (simpleMatch) { + var ctxMember = simpleMatch[1], + key = simpleMatch[2]; + return ctx[ctxMember][key]; } // String literal @@ -55,25 +92,13 @@ TAssembly.prototype._evalExpr = function (expression, scope) { return expression.slice(1,-1).replace(/\\'/g, "'"); } - // Dot notation, array indexing and function calls - // a.b.c - // literal array indexes (number and string) and nullary functions only - // a[1]().b['b']() - var texpression = '.' + expression; - if (simpleExpression.test(texpression) || complexExpression.test(texpression)) { - if (!/^(?:\$data|\$parent|\$index)/.test(expression)) { - expression = '$data.' + expression; - } - func = new Function('scope', 'var $index = scope.$index,' - + '$data = scope.$data,' - + '$parent = scope.$parent;' - + 'return scope.' + expression); - this.cache['expr' + expression] = func; - } + func = new Function('c', 'var m = c.m;' + + 'return ' + rewriteExpression(expression)); + this.cache['expr' + expression] = func; } if (func) { try { - return func(scope); + return func(ctx); } catch (e) { console.log(e); return ''; @@ -91,24 +116,24 @@ TAssembly.prototype._evalExpr = function (expression, scope) { /* * Optimized _evalExpr stub for the code generator * - * Directly dereference the scope for simple expressions (the common case), + * Directly dereference the ctx for simple expressions (the common case), * and fall back to the full method otherwise. */ function evalExprStub(expr) { - if (expr === '$data') { - return '$data'; - } else if (/^$(?:index|parent)$/.test(expr)) { - return 'scope[' + JSON.stringify(expr) + ']'; - } else if (/^[a-zA-Z_$]+$/.test(expr)) { - // Simple variable, the fast and common case - return '$data[' + JSON.stringify(expr) + ']'; - } else if (/^'.*'$/.test(expr)) { + expr = '' + expr; + var newExpr; + if (simpleBindingVar.test(expr)) { + newExpr = rewriteExpression(expr); + return newExpr; + } else if (/^'/.test(expr)) { // String literal return JSON.stringify(expr.slice(1,-1).replace(/\\'/g, "'")); } else { - return '(this.cache[' + JSON.stringify('expr' + expr) + '] ?' - + 'this.cache[' + JSON.stringify('expr' + expr) + '](scope) :' - + 'this._evalExpr(' + JSON.stringify(expr) + ', scope))'; + newExpr = rewriteExpression(expr); + return '(function() { ' + + 'try {' + + 'return ' + newExpr + ';' + + '} catch (e) { console.error(e); return "";}})()'; } } @@ -117,78 +142,79 @@ TAssembly.prototype._getTemplate = function (tpl, cb) { return tpl; } else { // String literal: strip quotes - if (/^'.*'$/.test(tpl)) { + if (/^'/.test(tpl)) { tpl = tpl.slice(1,-1).replace(/\\'/g, "'"); } return this.partials[tpl]; } }; -TAssembly.prototype.ctlFn_foreach = function(options, scope, cb) { +TAssembly.prototype.ctlFn_foreach = function(options, ctx, cb) { // deal with options - var iterable = this._evalExpr(options.data, scope); - if (!iterable || !Array.isArray(iterable)) { return } + var iterable = this._evalExpr(options.data, ctx); + if (!iterable || !Array.isArray(iterable)) { return; } // worth compiling the nested template var tpl = this.compile(this._getTemplate(options.tpl), cb), l = iterable.length, - newScope = { - $parent: scope - }; + newCtx = this.childContext(null, ctx); for(var i = 0; i < l; i++) { - newScope.$data = iterable[i]; - newScope.$index = i; - tpl(newScope); + // Update the view model for each iteration + newCtx.m = iterable[i]; + newCtx.ps[0] = iterable[i]; + // And set the iteration index + newCtx.i = i; + tpl(newCtx); } }; -TAssembly.prototype.ctlFn_template = function(options, scope, cb) { +TAssembly.prototype.ctlFn_template = function(options, ctx, cb) { // deal with options - var newScope = { - $data: this._evalExpr(options.data, scope), - $parent: scope - }; - this.render(this._getTemplate(options.tpl), newScope, cb); + var model = this._evalExpr(options.data, ctx), + newCtx = this.childContext(model, ctx), + tpl = this._getTemplate(options.tpl); + if (tpl) { + this.render(tpl, newCtx, cb); + } }; -TAssembly.prototype.ctlFn_with = function(options, scope, cb) { - var data = this._evalExpr(options.data, scope), - newScope = Object.create(data); - newScope.$parent = scope; - newScope.$data = data; - if (newScope.$data) { - this.render(this._getTemplate(options.tpl), newScope, cb); +TAssembly.prototype.ctlFn_with = function(options, ctx, cb) { + var model = this._evalExpr(options.data, ctx), + tpl = this._getTemplate(options.tpl); + if (model && tpl) { + var newCtx = this.childContext(model, ctx); + this.render(tpl, newCtx, cb); } else { // TODO: hide the parent element similar to visible } }; -TAssembly.prototype.ctlFn_if = function(options, scope, cb) { - if (this._evalExpr(options.data, scope)) { - this.render(options.tpl, scope, cb); +TAssembly.prototype.ctlFn_if = function(options, ctx, cb) { + if (this._evalExpr(options.data, ctx)) { + this.render(options.tpl, ctx, cb); } }; -TAssembly.prototype.ctlFn_ifnot = function(options, scope, cb) { - if (!this._evalExpr(options.data, scope)) { - this.render(options.tpl, scope, cb); +TAssembly.prototype.ctlFn_ifnot = function(options, ctx, cb) { + if (!this._evalExpr(options.data, ctx)) { + this.render(options.tpl, ctx, cb); } }; -TAssembly.prototype.ctlFn_attr = function(options, scope, cb) { +TAssembly.prototype.ctlFn_attr = function(options, ctx, cb) { var self = this, attVal; Object.keys(options).forEach(function(name) { var attValObj = options[name]; if (typeof attValObj === 'string') { - attVal = self._evalExpr(options[name], scope); + attVal = self._evalExpr(options[name], ctx); } else { // Must be an object attVal = attValObj.v || ''; if (attValObj.app && Array.isArray(attValObj.app)) { attValObj.app.forEach(function(appItem) { - if (appItem['if'] && self._evalExpr(appItem['if'], scope)) { + if (appItem['if'] && self._evalExpr(appItem['if'], ctx)) { attVal += appItem.v || ''; } - if (appItem.ifnot && ! self._evalExpr(appItem.ifnot, scope)) { + if (appItem.ifnot && ! self._evalExpr(appItem.ifnot, ctx)) { attVal += appItem.v || ''; } }); @@ -208,8 +234,8 @@ TAssembly.prototype.ctlFn_attr = function(options, scope, cb) { }; // Actually handled inline for performance -//TAssembly.prototype.ctlFn_text = function(options, scope, cb) { -// cb(this._evalExpr(options, scope)); +//TAssembly.prototype.ctlFn_text = function(options, ctx, cb) { +// cb(this._evalExpr(options, ctx)); //}; TAssembly.prototype._xmlEncoder = function(c){ @@ -222,14 +248,41 @@ TAssembly.prototype._xmlEncoder = function(c){ } }; +TAssembly.prototype.Context = function(model, parentContext) { + this.m = model; + this.c = this; + if (parentContext) { + this.ps = [model].concat(parentContext.ps); + this.p = parentContext.m; + this.pc = parentContext; + this.rm = parentContext.rm; + } else { + this.ps = [model]; + this.rm = model; + } +}; + +TAssembly.prototype.childContext = function (model, parCtx) { + return { + m: model, + p: parCtx.m, + ps: [model].concat(parCtx.ps), + rm: parCtx.rm + }; +}; + TAssembly.prototype._assemble = function(template, cb) { var code = []; + code.push('var val;'); if (!cb) { + // top-level template: set up accumulator code.push('var res = "", cb = function(bit) { res += bit; };'); - code.push('var $data = scope;'); + // and the top context + code.push('var m = c;'); + code.push('c = { rm: m, m: m, ps: [c]};'); } else { - code.push('var $data = scope.$data;'); + code.push('var m = c.m;'); } var self = this, @@ -248,7 +301,8 @@ TAssembly.prototype._assemble = function(template, cb) { // Inline text and attr handlers for speed if (ctlFn === 'text') { code.push('val = ' + evalExprStub(ctlOpts) + ';' - + 'val = !val && val !== 0 ? "" : "" + val;' + // convert val to string + + 'val = val || val === 0 ? "" + val : "";' + 'if(!/[<&]/.test(val)) { cb(val); }' + 'else { cb(val.replace(/[<&]/g,this._xmlEncoder)); };'); } else if ( ctlFn === 'attr' ) { @@ -282,9 +336,9 @@ TAssembly.prototype._assemble = function(template, cb) { // escape the attribute value // TODO: hook up context-sensitive sanitization for href, // src, style - + 'val || val === 0 ? val + "" : "";' - + 'if(/[<&"]/.test(val)) { val = val.replace(/[<&"]/g,this._xmlEncoder); }' - + "cb(" + JSON.stringify(' ' + name + '="') + + '\nval = val || val === 0 ? "" + val : "";' + + '\nif(/[<&"]/.test(val)) { val = val.replace(/[<&"]/g,this._xmlEncoder); }' + + "\ncb(" + JSON.stringify(' ' + name + '="') + " + val " + "+ '\"');}"); } @@ -298,15 +352,10 @@ TAssembly.prototype._assemble = function(template, cb) { this.cache[uid] = ctlOpts; code.push('try {'); - // Create a proper scope if not defined yet - code.push('if(scope.$data === undefined) {'); - code.push('var newScope = Object.create(scope);'); - code.push('newScope.$data = scope;scope = newScope;'); - code.push('}'); // call the method code.push('this[' + JSON.stringify('ctlFn_' + ctlFn) // store in cache / unique key rather than here - + '](this.cache["' + uid + '"], scope, cb);'); + + '](this.cache["' + uid + '"], c, cb);'); code.push('} catch(e) {'); code.push("console.error('Unsupported control function:', " + JSON.stringify(ctlFn) + ", e.stack);"); @@ -326,27 +375,27 @@ TAssembly.prototype._assemble = function(template, cb) { * Interpreted template expansion entry point * * @param {array} template The tassembly template in JSON IR - * @param {object} scope the model + * @param {object} c the model or context * @param {function} cb (optional) chunk callback for bits of text (instead of * return) * @return {string} Rendered template string */ -TAssembly.prototype.render = function(template, scope, cb) { - var res; +TAssembly.prototype.render = function(template, ctx_or_model, cb) { + var res, ctx; if (!cb) { res = []; cb = function(bit) { res.push(bit); }; - // Wrap the scope - var newScope = Object.create(scope); - newScope.$data = scope; - scope = newScope; + // c is really the model. Wrap it into a context. + ctx = { rm: ctx_or_model, m: ctx_or_model, ps: [ctx_or_model]}; + } else { + ctx = ctx_or_model; } // Just call a cached compiled version if available if (template.__cachedFn) { - return template.__cachedFn.call(this, scope, cb); + return template.__cachedFn.call(this, ctx, cb); } var self = this, @@ -362,7 +411,7 @@ TAssembly.prototype.render = function(template, scope, cb) { var ctlFn = bit[0], ctlOpts = bit[1]; if (ctlFn === 'text') { - val = this._evalExpr(ctlOpts, scope); + val = this._evalExpr(ctlOpts, ctx); if (!val && val !== 0) { val = ''; } @@ -371,7 +420,7 @@ TAssembly.prototype.render = function(template, scope, cb) { } else { try { - self['ctlFn_' + ctlFn](ctlOpts, scope, cb); + self['ctlFn_' + ctlFn](ctlOpts, ctx, cb); } catch(e) { console.error('Unsupported control function:', bit, e); } @@ -398,17 +447,17 @@ TAssembly.prototype.compile = function(template, cb) { var self = this; if (template.__cachedFn) { // - return function(scope) { - return template.__cachedFn.call(self, scope, cb); + return function(ctx) { + return template.__cachedFn.call(self, ctx, cb); }; } var code = this._assemble(template, cb); //console.log(code); - var fn = new Function('scope', 'cb', code); + var fn = new Function('c', 'cb', code); template.__cachedFn = fn; // bind this and cb - var res = function (scope) { - return fn.call(self, scope, cb); + var res = function (ctx) { + return fn.call(self, ctx, cb); }; return res; }; diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/test1.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/test1.js new file mode 100644 index 0000000..1625c06 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/test1.js @@ -0,0 +1,16 @@ +var TAssembly = require('./tassembly.js').TAssembly; + +var startTime = new Date(), + vars = {}, + template = (new TAssembly()) + .compile(['',['text','m.body'],'']); + vars.echo = function(e) { + return e; + }; +for ( n=0; n <= 100000; ++n ) { + vars.id = "divid"; + vars.body = 'my div\'s body'; + html = template(vars); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +console.log(html); diff --git a/knockoff-node/node_modules/knockoff/package.json b/knockoff-node/node_modules/knockoff/package.json index 0080279..99cc854 100644 --- a/knockoff-node/node_modules/knockoff/package.json +++ b/knockoff-node/node_modules/knockoff/package.json @@ -6,13 +6,13 @@ "tassembly": "git+https://github.com/gwicke/tassembly.git#master", "domino": "1.x.x" }, - "readme": "KnockOff\n========\n\nKnockoutJS to Tassembly compiler\n", + "readme": "KnockOff\n========\n\n[KnockoutJS](http://knockoutjs.com/) to [TAssembly](https://github.com/gwicke/tassembly) compiler\n", "readmeFilename": "README.md", "description": "KnockOff ========", "_id": "knockoff@0.1.0", "dist": { - "shasum": "d855d04b43fe7ce1b03aef0a4680d67be7d2787a" + "shasum": "de7f66f9c3c5c428e015e92e81f34efd14da9625" }, - "_resolved": "git+https://github.com/gwicke/knockoff#3c4b3f31dfe3b1eea3f8666360ce78d36291e397", + "_resolved": "git+https://github.com/gwicke/knockoff#9195c4a111c52f1c27fb2130d42c4ce978c3500d", "_from": "knockoff@git+https://github.com/gwicke/knockoff#master" } diff --git a/knockoff-node/node_modules/knockoff/testKnockOff.js b/knockoff-node/node_modules/knockoff/testKnockOff.js index 304e5b9..2851f12 100644 --- a/knockoff-node/node_modules/knockoff/testKnockOff.js +++ b/knockoff-node/node_modules/knockoff/testKnockOff.js @@ -10,40 +10,38 @@ ko.registerPartial('testPartial', var testData = { arr: [1,2,3,4,5,6,7], items: [ - { - key: 'key1', - value: 'value1' + { + key: 'key1', + value: 'value1' + }, + { + key: 'key2', + value: 'value2' + } + ], + obj: { + foo: "foo", + bar: "bar" }, - { - key: 'key2', - value: 'value2' + name: 'Some name', + content: 'Some sample content', + id: 'mw1234', + predTrue: true, + predFalse: false, + test: function(i) { + return i + 'test'; } - ], - obj: { - foo: "foo", - bar: "bar" - }, - name: 'Some name', - content: 'Some sample content', - id: 'mw1234', - predTrue: true, - predFalse: false -}; - -testData.arr.test = function(i) { - return i + 'test'; }; function test(input) { - var tpl = ko.compile(input); - console.log('========================='); console.log('Knockout template:'); console.log(input); console.log('TAssembly JSON:'); console.log(JSON.stringify(c.compile(input), null, 2)); console.log('Rendered HTML:'); + var tpl = ko.compile(input); console.log(tpl(testData)); } @@ -77,3 +75,5 @@ test('
    '); test('
    '); test('
    '); + +test('
    '); From 352f6d22a070a6ac5e522684eec9d4b6be8ced93 Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Fri, 21 Mar 2014 21:47:58 -0700 Subject: [PATCH 45/72] Update tassembly --- .../node_modules/knockoff/node_modules/tassembly/package.json | 4 ++-- .../node_modules/knockoff/node_modules/tassembly/tassembly.js | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json b/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json index 3d0078d..a225584 100644 --- a/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json @@ -7,8 +7,8 @@ "description": "TAssembly =========", "_id": "tassembly@0.1.0", "dist": { - "shasum": "b107cc77948d145646d678236442e9489bbaed73" + "shasum": "c12b15759cac3d9c6b4a856bf2787f380e563540" }, - "_resolved": "git+https://github.com/gwicke/tassembly.git#b77eb86b1580baf3d4ee2f923ef8c7fafb8926cb", + "_resolved": "git+https://github.com/gwicke/tassembly.git#490560884b433cb7aa357a4c20c9bd43412003ed", "_from": "tassembly@git+https://github.com/gwicke/tassembly.git#master" } diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js index 7ab6f18..370729e 100644 --- a/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js @@ -128,6 +128,9 @@ function evalExprStub(expr) { } else if (/^'/.test(expr)) { // String literal return JSON.stringify(expr.slice(1,-1).replace(/\\'/g, "'")); + } else if (/[cm]\.?[a-zA-Z_$]*$/.test(expr)) { + // Simple context or model reference + return expr; } else { newExpr = rewriteExpression(expr); return '(function() { ' From dc5fac6e33539e268c8033d373ca52e56a41eaee Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Sat, 22 Mar 2014 08:23:54 -0700 Subject: [PATCH 46/72] Update spacebars-tassembly to be compatible with latest tassembly --- .../node_modules/tassembly/package.json | 4 +-- .../node_modules/tassembly/tassembly.js | 30 +++++++++++++------ 2 files changed, 23 insertions(+), 11 deletions(-) diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json b/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json index a225584..c7ba670 100644 --- a/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json @@ -7,8 +7,8 @@ "description": "TAssembly =========", "_id": "tassembly@0.1.0", "dist": { - "shasum": "c12b15759cac3d9c6b4a856bf2787f380e563540" + "shasum": "68be8bad3aeb83d52ac7cab1acc93d9f8a931f6a" }, - "_resolved": "git+https://github.com/gwicke/tassembly.git#490560884b433cb7aa357a4c20c9bd43412003ed", + "_resolved": "git+https://github.com/gwicke/tassembly.git#df02bf851bad88ed9264f205095cdbb1d32f1385", "_from": "tassembly@git+https://github.com/gwicke/tassembly.git#master" } diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js index 370729e..de5ab28 100644 --- a/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js @@ -275,7 +275,16 @@ TAssembly.prototype.childContext = function (model, parCtx) { }; TAssembly.prototype._assemble = function(template, cb) { - var code = []; + var code = [], + cbExpr = []; + + function pushCode(codeChunk) { + if(cbExpr.length) { + code.push('cb(' + cbExpr.join('+') + ');'); + cbExpr = []; + } + code.push(codeChunk); + } code.push('var val;'); if (!cb) { @@ -295,7 +304,7 @@ TAssembly.prototype._assemble = function(template, cb) { c = bit.constructor; if (c === String) { // static string - code.push('cb(' + JSON.stringify(bit) + ');'); + cbExpr.push(JSON.stringify(bit)); } else if (c === Array) { // control structure var ctlFn = bit[0], @@ -303,11 +312,11 @@ TAssembly.prototype._assemble = function(template, cb) { // Inline text and attr handlers for speed if (ctlFn === 'text') { - code.push('val = ' + evalExprStub(ctlOpts) + ';' + pushCode('val = ' + evalExprStub(ctlOpts) + ';\n' // convert val to string - + 'val = val || val === 0 ? "" + val : "";' - + 'if(!/[<&]/.test(val)) { cb(val); }' - + 'else { cb(val.replace(/[<&]/g,this._xmlEncoder)); };'); + + 'val = val || val === 0 ? "" + val : "";\n' + + 'if(/[<&]/.test(val)) { val = val.replace(/[<&]/g,this._xmlEncoder); }\n'); + cbExpr.push('val'); } else if ( ctlFn === 'attr' ) { var names = Object.keys(ctlOpts); for(var j = 0; j < names.length; j++) { @@ -335,7 +344,7 @@ TAssembly.prototype._assemble = function(template, cb) { code.push('if(!val) { val = null; }'); } } - code.push("if (val !== null) { " + pushCode("if (val !== null) { " // escape the attribute value // TODO: hook up context-sensitive sanitization for href, // src, style @@ -354,7 +363,7 @@ TAssembly.prototype._assemble = function(template, cb) { var uid = this._getUID(); this.cache[uid] = ctlOpts; - code.push('try {'); + pushCode('try {'); // call the method code.push('this[' + JSON.stringify('ctlFn_' + ctlFn) // store in cache / unique key rather than here @@ -369,7 +378,10 @@ TAssembly.prototype._assemble = function(template, cb) { } } if (!cb) { - code.push("return res;"); + pushCode("return res;"); + } else { + // Force out the cb + pushCode(""); } return code.join('\n'); }; From 2ae0f30e562d6099f5e4d0d4443481e98fbec447 Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Sat, 22 Mar 2014 08:36:39 -0700 Subject: [PATCH 47/72] Second part of spacebars-tassembly fixes --- .../{spacebars-qt => spacebars-tassembly}/index.js | 7 ++++--- handlebars-htmljs-node/test1-sbqt.js | 2 +- handlebars-htmljs-node/test2-loop-sbqt.js | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) rename handlebars-htmljs-node/{spacebars-qt => spacebars-tassembly}/index.js (96%) diff --git a/handlebars-htmljs-node/spacebars-qt/index.js b/handlebars-htmljs-node/spacebars-tassembly/index.js similarity index 96% rename from handlebars-htmljs-node/spacebars-qt/index.js rename to handlebars-htmljs-node/spacebars-tassembly/index.js index 7c8dfd1..eb196d3 100644 --- a/handlebars-htmljs-node/spacebars-qt/index.js +++ b/handlebars-htmljs-node/spacebars-tassembly/index.js @@ -2,7 +2,7 @@ // (instead of to htmljs) var HTML = require('../html-tools'); var Spacebars = require('../spacebars-compiler'); -var QT = require('../../QuickTemplate/quicktemplate'); +var ta = new (require('../../knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly').TAssembly)(); HTML.toQT = function(node, parentComponent) { var result = []; @@ -78,7 +78,8 @@ HTML.Tag.prototype._toQT = function(parentComponent, result) { var codeGenPath = function(path) { if (path.length > 1) { throw new Error('unimplemented'); } - return path[0]; + // Assume that all paths reference the model for now + return 'm.' + path[0]; }; // returns: array of source strings, or null if no @@ -182,7 +183,7 @@ SBQT.compile = function(handlebars_template) { var tree = Spacebars.parse(handlebars_template); var template = SBQT.codeGen(tree); //console.log(JSON.stringify(template)); - return QT.compile(template); + return ta.compile(template); }; module.exports = SBQT; diff --git a/handlebars-htmljs-node/test1-sbqt.js b/handlebars-htmljs-node/test1-sbqt.js index c87ebdd..8304eb5 100644 --- a/handlebars-htmljs-node/test1-sbqt.js +++ b/handlebars-htmljs-node/test1-sbqt.js @@ -1,4 +1,4 @@ -var sbqt = require('./spacebars-qt'); +var sbqt = require('./spacebars-tassembly'); var startTime = new Date(), vars = {}, diff --git a/handlebars-htmljs-node/test2-loop-sbqt.js b/handlebars-htmljs-node/test2-loop-sbqt.js index 57a8c98..523ab93 100644 --- a/handlebars-htmljs-node/test2-loop-sbqt.js +++ b/handlebars-htmljs-node/test2-loop-sbqt.js @@ -1,4 +1,4 @@ -var sbqt = require('./spacebars-qt'); +var sbqt = require('./spacebars-tassembly'); function mt_rand () { //[0..1] * PHP mt_getrandmax() From 2e1e2cfbd397daa33341a1198de495e0871903f6 Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Sat, 22 Mar 2014 08:36:52 -0700 Subject: [PATCH 48/72] Reorder tests by performance --- runall.sh | 117 +++++++++++++++++++++++++++--------------------------- 1 file changed, 59 insertions(+), 58 deletions(-) diff --git a/runall.sh b/runall.sh index 4910606..b5f6107 100755 --- a/runall.sh +++ b/runall.sh @@ -49,6 +49,56 @@ function runTest { cd .. } +runTestNode \ + "Knockoff" \ + knockoff-node \ + "test1" "test1.js" \ + "test1b" "test1b-incid.js" \ + "test2" "test2-loop.js" \ + "test2 lambda" "test2-loop-lambda.js" \ + "test3" "test3-itterator.js" + +runTestNode \ + "Handlebars" \ + handlebars-node \ + "test1" "test1.js" \ + "test1b" "test1b-incid.js" \ + "test2" "test2-loop.js" \ + "test2 lambda" "test2-loop-lambda.js" \ + "test3" "test3-itterator.js" + +runTestNode \ + "Spacebars/TAssembly" \ + handlebars-htmljs-node \ + "test1" "test1-sbqt.js" \ + "test2" "test2-loop-sbqt.js" + +runTestNode \ + "Mustache" \ + mustache-node \ + "test1" "test1.js" \ + "test1b" "test1b-incid.js" \ + "test2" "test2-loop.js" \ + "test2 lambda" "test2-loop-lambda.js" \ + "test3" "test3-itterator.js" + +runTestNode \ + "Handlebars HTMLJS" \ + handlebars-htmljs-node \ + "test1" "test1-htmljs.js" \ + "test1b" "test1b-incid-htmljs.js" \ + "test2" "test2-loop-htmljs.js" \ + "test3" "test3-itterator-htmljs.js" + +runTestNode \ + "Spacebars/HTMLJS" \ + handlebars-htmljs-node \ + "test1" "test1-sb.js" \ + "test1b" "test1b-incid-sb.js" \ + "test2" "test2-loop-sb.js" \ + "test2 lambda" "test2-loop-lambda-sb.js" \ + "test3" "test3-itterator-sb.js" + runTestPHP \ "Handlebars lightncandy" \ handlebars-lightncandy-php \ @@ -58,6 +108,15 @@ runTestPHP \ "test2 lambda" "test2-loop-lambda.php" \ "test3" "test3-itterator.php" +runTestPHP \ + "Mustache" \ + mustache \ + "test1" "test1.php" \ + "test1b" "test1b-incid.php" \ + "test2" "test2-loop.php" \ + "test2 lambda" "test2-loop-lambda.php" \ + "test3" "test3-itterator.php" + runTestPHP \ "MediaWiki Templates" \ mediawiki \ @@ -90,61 +149,3 @@ runTestPHP \ "test2" "test2-loop.php" \ "test3" "test3-itterator.php" -runTestPHP \ - "Mustache" \ - mustache \ - "test1" "test1.php" \ - "test1b" "test1b-incid.php" \ - "test2" "test2-loop.php" \ - "test2 lambda" "test2-loop-lambda.php" \ - "test3" "test3-itterator.php" - -runTestNode \ - "Mustache" \ - mustache-node \ - "test1" "test1.js" \ - "test1b" "test1b-incid.js" \ - "test2" "test2-loop.js" \ - "test2 lambda" "test2-loop-lambda.js" \ - "test3" "test3-itterator.js" - -runTestNode \ - "Handlebars" \ - handlebars-node \ - "test1" "test1.js" \ - "test1b" "test1b-incid.js" \ - "test2" "test2-loop.js" \ - "test2 lambda" "test2-loop-lambda.js" \ - "test3" "test3-itterator.js" - -runTestNode \ - "Knockoff" \ - knockoff-node \ - "test1" "test1.js" \ - "test1b" "test1b-incid.js" \ - "test2" "test2-loop.js" \ - "test2 lambda" "test2-loop-lambda.js" \ - "test3" "test3-itterator.js" - -runTestNode \ - "Handlebars HTMLJS" \ - handlebars-htmljs-node \ - "test1" "test1-htmljs.js" \ - "test1b" "test1b-incid-htmljs.js" \ - "test2" "test2-loop-htmljs.js" \ - "test3" "test3-itterator-htmljs.js" - -runTestNode \ - "Spacebars/HTMLJS" \ - handlebars-htmljs-node \ - "test1" "test1-sb.js" \ - "test1b" "test1b-incid-sb.js" \ - "test2" "test2-loop-sb.js" \ - "test2 lambda" "test2-loop-lambda-sb.js" \ - "test3" "test3-itterator-sb.js" - -runTestNode \ - "Spacebars/QuickTemplate" \ - handlebars-htmljs-node \ - "test1" "test1-sbqt.js" \ - "test2" "test2-loop-sbqt.js" From d031d0ee9ebb2b4562f8f85f3652915b1ade13dd Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Sat, 22 Mar 2014 08:58:48 -0700 Subject: [PATCH 49/72] 50 iterations & prettier output; -q parameter --- runall.sh | 87 ++++++++++++++++++++++++++++++------------------------- 1 file changed, 48 insertions(+), 39 deletions(-) diff --git a/runall.sh b/runall.sh index b5f6107..0c26d5b 100755 --- a/runall.sh +++ b/runall.sh @@ -1,52 +1,61 @@ #!/bin/bash -e +if [ "$1" == "-q" ];then + quiet="y" +fi + function runTestPHP { - runTest php "(PHP)" "$@" - runTest "hhvm -vEval.Jit=1" "(HHVM)" "$@" + runTest php "(PHP)" "$@" + runTest "hhvm -vEval.Jit=1" "(HHVM)" "$@" } function runTestNode { - runTest node "(node.js)" "$@" + runTest node "(node.js)" "$@" } function runTest { - iterations=10 - - cd $4 - echo -e "Set: \033[35;40m$3 $2\033[0;00m (${PWD##*/})" - - for (( i=5; i<=$#; i++ )) - do - sum=0 - min=0 - max=0 - - echo -ne "Test: \033[36;40m${!i}\033[0;00m" - ((i++)) - - for (( j=1; j<=$iterations; j++ )) - do - echo -n " $j..." - result=`$1 ${!i}` - time=`echo $result | awk '{print $2}'` - - sum=`bc <<< " $sum + $time"` - - if [ $min == 0 ] || [ `bc <<< " $time < $min"` -eq 1 ] - then - min=$time - fi - - if [ $max == 0 ] || [ `bc <<< " $time > $max"` -eq 1 ] - then - max=$time - fi - done - - printf " Avg: \033[33;40m%.4f\033[0;00m Min: \033[32;40m%.4f\033[0;00m Max: \033[31;40m%.4f\033[0;00m\n" `bc <<< "scale=5; $sum / $iterations"` $min $max - done - cd .. +iterations=50 + +cd $4 +echo -e "Set: \033[35;40m$3 $2\033[0;00m (${PWD##*/})" + +for (( i=5; i<=$#; i++ )) +do + sum=0 + min=0 + max=0 + + echo -ne "Test: \033[36;40m${!i}\033[0;00m" + ((i++)) + + if [ -z "$quiet" ];then + echo -n " [000]" + fi + for j in $(seq -f "%03g" 0 $iterations) + do + if [ -z "$quiet" ];then + echo -ne "\b\b\b\b$j]" + fi + result=`$1 ${!i}` + time=`echo $result | awk '{print $2}'` + + sum=`bc <<< " $sum + $time"` + + if [ $min == 0 ] || [ `bc <<< " $time < $min"` -eq 1 ] + then + min=$time + fi + + if [ $max == 0 ] || [ `bc <<< " $time > $max"` -eq 1 ] + then + max=$time + fi + done + + printf " Avg: \033[33;40m%.4f\033[0;00m Min: \033[32;40m%.4f\033[0;00m Max: \033[31;40m%.4f\033[0;00m\n" `bc <<< "scale=5; $sum / $iterations"` $min $max +done +cd .. } runTestNode \ From 30dc1957f95989dc16d264cde910f4418b3bbda3 Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Sat, 22 Mar 2014 09:48:23 -0700 Subject: [PATCH 50/72] Relegate slow htmljs tests to run last --- runall.sh | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/runall.sh b/runall.sh index 0c26d5b..296516c 100755 --- a/runall.sh +++ b/runall.sh @@ -91,23 +91,6 @@ runTestNode \ "test2 lambda" "test2-loop-lambda.js" \ "test3" "test3-itterator.js" -runTestNode \ - "Handlebars HTMLJS" \ - handlebars-htmljs-node \ - "test1" "test1-htmljs.js" \ - "test1b" "test1b-incid-htmljs.js" \ - "test2" "test2-loop-htmljs.js" \ - "test3" "test3-itterator-htmljs.js" - -runTestNode \ - "Spacebars/HTMLJS" \ - handlebars-htmljs-node \ - "test1" "test1-sb.js" \ - "test1b" "test1b-incid-sb.js" \ - "test2" "test2-loop-sb.js" \ - "test2 lambda" "test2-loop-lambda-sb.js" \ - "test3" "test3-itterator-sb.js" - runTestPHP \ "Handlebars lightncandy" \ handlebars-lightncandy-php \ @@ -158,3 +141,20 @@ runTestPHP \ "test2" "test2-loop.php" \ "test3" "test3-itterator.php" +runTestNode \ + "Handlebars HTMLJS" \ + handlebars-htmljs-node \ + "test1" "test1-htmljs.js" \ + "test1b" "test1b-incid-htmljs.js" \ + "test2" "test2-loop-htmljs.js" \ + "test3" "test3-itterator-htmljs.js" + +runTestNode \ + "Spacebars/HTMLJS" \ + handlebars-htmljs-node \ + "test1" "test1-sb.js" \ + "test1b" "test1b-incid-sb.js" \ + "test2" "test2-loop-sb.js" \ + "test2 lambda" "test2-loop-lambda-sb.js" \ + "test3" "test3-itterator-sb.js" + From 48ce5abc842527930c183b592e8f18a889ef32b4 Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Mon, 24 Mar 2014 09:57:49 -0700 Subject: [PATCH 51/72] Add results of last run --- results.txt | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 results.txt diff --git a/results.txt b/results.txt new file mode 100644 index 0000000..e9f4a82 --- /dev/null +++ b/results.txt @@ -0,0 +1,96 @@ +Set: Knockoff (node.js) (knockoff-node) +Test: test1 Avg: 0.0713 Min: 0.0470 Max: 0.0930 +Test: test1b Avg: 0.1196 Min: 0.0700 Max: 0.1380 +Test: test2 Avg: 0.8298 Min: 0.5910 Max: 1.1180 +Test: test2 lambda Avg: 0.6322 Min: 0.4510 Max: 0.7920 +Test: test3 Avg: 0.2921 Min: 0.1810 Max: 0.3580 +Set: Handlebars (node.js) (handlebars-node) +Test: test1 Avg: 0.1908 Min: 0.1190 Max: 0.2510 +Test: test1b Avg: 0.2655 Min: 0.1600 Max: 0.3610 +Test: test2 Avg: 0.8473 Min: 0.7250 Max: 1.0590 +Test: test2 lambda Avg: 1.5670 Min: 1.2450 Max: 2.3560 +Test: test3 Avg: 0.3217 Min: 0.1850 Max: 0.4480 +Set: Spacebars/TAssembly (node.js) (handlebars-htmljs-node) +Test: test1 Avg: 0.0826 Min: 0.0540 Max: 0.0950 +Test: test2 Avg: 0.8333 Min: 0.6100 Max: 1.0320 +Set: Mustache (node.js) (mustache-node) +Test: test1 Avg: 0.4839 Min: 0.3390 Max: 0.6880 +Test: test1b Avg: 0.5916 Min: 0.3930 Max: 0.8050 +Test: test2 Avg: 2.8683 Min: 2.4890 Max: 3.6090 +Test: test2 lambda Avg: 4.4347 Min: 3.9060 Max: 4.9820 +Test: test3 Avg: 1.0187 Min: 0.7940 Max: 1.3400 +Set: Handlebars lightncandy (PHP) (handlebars-lightncandy-php) +Test: test1 Avg: 0.7644 Min: 0.5424 Max: 1.0565 +Test: test1b Avg: 0.8445 Min: 0.6064 Max: 1.0726 +Test: test2 Avg: 7.7075 Min: 7.1832 Max: 8.1372 +Test: test2 lambda Avg: 143.4457 Min: 135.3426 Max: 147.9139 +Test: test3 Avg: 4.3986 Min: 3.9232 Max: 4.8671 +Set: Handlebars lightncandy (HHVM) (handlebars-lightncandy-php) +Test: test1 Avg: 0.3324 Min: 0.1837 Max: 0.4583 +Test: test1b Avg: 0.3568 Min: 0.2000 Max: 0.5309 +Test: test2 Avg: 1.0966 Min: 0.8471 Max: 1.7369 +Test: test2 lambda Avg: 1.6142 Min: 1.4197 Max: 1.8277 +Test: test3 Avg: 0.7675 Min: 0.5400 Max: 0.8957 +Set: Mustache (PHP) (mustache) +Test: test1 Avg: 2.0955 Min: 1.8212 Max: 2.4668 +Test: test1b Avg: 2.2174 Min: 1.8890 Max: 2.9336 +Test: test2 Avg: 12.0361 Min: 11.4555 Max: 12.6422 +Test: test2 lambda Avg: 25.4043 Min: 24.1202 Max: 26.2702 +Test: test3 Avg: 4.1164 Min: 3.7202 Max: 4.7110 +Set: Mustache (HHVM) (mustache) +Test: test1 Avg: 0.7284 Min: 0.5471 Max: 1.0266 +Test: test1b Avg: 0.7299 Min: 0.4961 Max: 0.9392 +Test: test2 Avg: 1.6056 Min: 1.2821 Max: 2.0479 +Test: test2 lambda Avg: 4.2759 Min: 3.8408 Max: 4.9115 +Test: test3 Avg: 0.8880 Min: 0.6644 Max: 1.0363 +Set: MediaWiki Templates (PHP) (mediawiki) +Test: test1 Avg: 1.9805 Min: 1.6588 Max: 2.3758 +Test: test1b Avg: 2.0400 Min: 1.7154 Max: 2.2543 +Test: test2 Avg: 17.9501 Min: 17.1158 Max: 18.4518 +Test: test3 Avg: 8.0607 Min: 7.6165 Max: 8.4448 +Set: MediaWiki Templates (HHVM) (mediawiki) +Test: test1 Avg: 0.7145 Min: 0.4711 Max: 0.9680 +Test: test1b Avg: 0.7457 Min: 0.5132 Max: 0.9135 +Test: test2 Avg: 4.4329 Min: 4.0914 Max: 5.0195 +Test: test3 Avg: 2.2976 Min: 1.9806 Max: 2.8628 +Set: Twig String (No Cache) (PHP) (twignocache) +Test: test1 Avg: 1.6785 Min: 1.5772 Max: 1.8537 +Test: test1b Avg: 1.7651 Min: 1.4594 Max: 2.1396 +Test: test2 Avg: 6.5853 Min: 6.1999 Max: 6.8559 +Test: test3 Avg: 4.0237 Min: 3.7077 Max: 4.1351 +Set: Twig String (No Cache) (HHVM) (twignocache) +Test: test1 Avg: 0.7305 Min: 0.4757 Max: 1.0112 +Test: test1b Avg: 0.7509 Min: 0.5092 Max: 0.8866 +Test: test2 Avg: 1.2280 Min: 1.0943 Max: 1.5523 +Test: test3 Avg: 0.9557 Min: 0.6571 Max: 1.1949 +Set: Twig File (No Cache) (PHP) (twignocache_file) +Test: test1 Avg: 2.0033 Min: 1.7149 Max: 2.3429 +Test: test1b Avg: 2.0777 Min: 1.7671 Max: 2.5181 +Test: test2 Avg: 6.5103 Min: 6.0805 Max: 6.8876 +Test: test3 Avg: 4.0312 Min: 3.6643 Max: 4.1810 +Set: Twig File (No Cache) (HHVM) (twignocache_file) +Test: test1 Avg: 0.8829 Min: 0.7878 Max: 0.9870 +Test: test1b Avg: 0.8792 Min: 0.7719 Max: 1.0645 +Test: test2 Avg: 1.2803 Min: 1.0703 Max: 1.7611 +Test: test3 Avg: 0.9465 Min: 0.8338 Max: 1.3378 +Set: Twig File (Cached) (PHP) (twigcache_file) +Test: test1 Avg: 1.9764 Min: 1.6643 Max: 2.2396 +Test: test1b Avg: 2.0441 Min: 1.7595 Max: 2.3197 +Test: test2 Avg: 6.5373 Min: 6.0285 Max: 7.1415 +Test: test3 Avg: 4.0404 Min: 3.6560 Max: 4.5413 +Set: Twig File (Cached) (HHVM) (twigcache_file) +Test: test1 Avg: 0.6526 Min: 0.4225 Max: 0.9194 +Test: test1b Avg: 0.6747 Min: 0.4474 Max: 0.8622 +Test: test2 Avg: 0.9813 Min: 0.7361 Max: 1.1933 +Test: test3 Avg: 0.6773 Min: 0.4928 Max: 0.9553 +Set: Handlebars HTMLJS (node.js) (handlebars-htmljs-node) +Test: test1 Avg: 0.7767 Min: 0.5290 Max: 1.0890 +Test: test1b Avg: 0.8712 Min: 0.5740 Max: 1.0780 +Test: test2 Avg: 7.5436 Min: 6.7720 Max: 9.1370 +Test: test3 Avg: 3.3445 Min: 3.0200 Max: 3.9590 +Set: Spacebars/HTMLJS (node.js) (handlebars-htmljs-node) +Test: test1 Avg: 1.4553 Min: 1.2980 Max: 1.8090 +Test: test1b Avg: 1.4601 Min: 1.1690 Max: 1.8360 +Test: test2 Avg: 60.8327 Min: 56.5240 Max: 62.7160 +Test: test2 lambda Avg: 149.8492 Min: 141.4070 Max: 151.6190 +Test: test3 Avg: 42.9998 Min: 40.6960 Max: 43.4940 From 13b5d40840fa5ec98fe2c796dfec8aed953749b0 Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Mon, 24 Mar 2014 09:58:27 -0700 Subject: [PATCH 52/72] Remove old results --- results-bast1001-20140116.txt | 453 ----------------- results-fenari-20140110.txt | 269 ---------- results-fenari.txt | 218 -------- results-ruthenium-20140121.txt | 905 --------------------------------- 4 files changed, 1845 deletions(-) delete mode 100644 results-bast1001-20140116.txt delete mode 100644 results-fenari-20140110.txt delete mode 100644 results-fenari.txt delete mode 100644 results-ruthenium-20140121.txt diff --git a/results-bast1001-20140116.txt b/results-bast1001-20140116.txt deleted file mode 100644 index 3e450f4..0000000 --- a/results-bast1001-20140116.txt +++ /dev/null @@ -1,453 +0,0 @@ ->>>>>>>>>> MediaWiki Templates <<<<<<<<<<<<< -*** test1 (/home/gwicke/TwigPerf/mediawiki)*** -time: 2.081472158432 -
    my div's body
    -time: 2.0712480545044 -
    my div's body
    -time: 2.1092789173126 -
    my div's body
    -time: 2.0638029575348 -
    my div's body
    -time: 2.0973219871521 -
    my div's body
    -time: 2.0970659255981 -
    my div's body
    -time: 2.0920071601868 -
    my div's body
    -time: 2.0993709564209 -
    my div's body
    -time: 2.0983169078827 -
    my div's body
    -time: 2.0917179584503 -
    my div's body
    -*** test1b (/home/gwicke/TwigPerf/mediawiki)*** -time: 2.1818149089813 -
    my div's body
    -time: 2.2287809848785 -
    my div's body
    -time: 2.2228989601135 -
    my div's body
    -time: 2.1838049888611 -
    my div's body
    -time: 2.1882901191711 -
    my div's body
    -time: 2.1539978981018 -
    my div's body
    -time: 2.1708657741547 -
    my div's body
    -time: 2.1780149936676 -
    my div's body
    -time: 2.1635420322418 -
    my div's body
    -time: 2.1534941196442 -
    my div's body
    -*** test2 (/home/gwicke/TwigPerf/mediawiki)*** -time: 21.862528800964 -time: 21.632048845291 -time: 21.403132915497 -time: 21.70383810997 -time: 21.453002929688 -time: 21.331307888031 -time: 21.583967924118 -time: 21.514466047287 -time: 21.713472127914 -time: 21.56484079361 -*** test3 (/home/gwicke/TwigPerf/mediawiki)*** -time: 9.617978811264 -time: 9.3699510097504 -time: 9.3919260501862 -time: 9.5312161445618 -time: 9.3995060920715 -time: 9.4960432052612 -time: 9.472375869751 -time: 9.3912100791931 -time: 9.4260289669037 -time: 9.4692258834839 ->>>>>>>>>> Twig String No Cache <<<<<<<<<<<<< -*** test1 (/home/gwicke/TwigPerf/twignocache)*** -time: 1.811292886734 -
    my div's body
    -time: 1.7644720077515 -
    my div's body
    -time: 1.7952167987823 -
    my div's body
    -time: 1.783105134964 -
    my div's body
    -time: 1.7904529571533 -
    my div's body
    -time: 1.7870628833771 -
    my div's body
    -time: 1.7908871173859 -
    my div's body
    -time: 1.8191800117493 -
    my div's body
    -time: 1.7844839096069 -
    my div's body
    -time: 1.7644619941711 -
    my div's body
    -*** test1b (/home/gwicke/TwigPerf/twignocache)*** -time: 1.8628602027893 -
    my div's body
    -time: 1.853807926178 -
    my div's body
    -time: 1.8701140880585 -
    my div's body
    -time: 1.8534028530121 -
    my div's body
    -time: 1.8601758480072 -
    my div's body
    -time: 1.877571105957 -
    my div's body
    -time: 1.8324131965637 -
    my div's body
    -time: 1.8893389701843 -
    my div's body
    -time: 1.8542740345001 -
    my div's body
    -time: 1.8404738903046 -
    my div's body
    -*** test2 (/home/gwicke/TwigPerf/twignocache)*** -time: 7.8516848087311 -time: 8.0038659572601 -time: 7.9480450153351 -time: 7.8015558719635 -time: 8.0667171478271 -time: 7.8841090202332 -time: 7.927750825882 -time: 7.7851707935333 -time: 8.0008628368378 -time: 7.841922044754 -*** test3 (/home/gwicke/TwigPerf/twignocache)*** -time: 4.7200050354004 -time: 4.7613351345062 -time: 4.7506809234619 -time: 4.878977060318 -time: 4.9192519187927 -time: 4.7294471263885 -time: 4.7936000823975 -time: 4.7943229675293 -time: 4.7502369880676 -time: 4.7436630725861 ->>>>>>>>>> Twig File No Cache <<<<<<<<<<<<< -*** test1 (/home/gwicke/TwigPerf/twignocache_file)*** -time: 2.157151222229 -
    my div's body
    - -time: 2.1137380599976 -
    my div's body
    - -time: 2.1504621505737 -
    my div's body
    - -time: 2.1369400024414 -
    my div's body
    - -time: 2.1496357917786 -
    my div's body
    - -time: 2.115974187851 -
    my div's body
    - -time: 2.1432709693909 -
    my div's body
    - -time: 2.1416909694672 -
    my div's body
    - -time: 2.1419470310211 -
    my div's body
    - -time: 2.1348898410797 -
    my div's body
    - -*** test1b (/home/gwicke/TwigPerf/twignocache_file)*** -time: 2.2371339797974 -
    my div's body
    - -time: 2.2562701702118 -
    my div's body
    - -time: 2.2204968929291 -
    my div's body
    - -time: 2.2127330303192 -
    my div's body
    - -time: 2.2461671829224 -
    my div's body
    - -time: 2.2517890930176 -
    my div's body
    - -time: 2.2279019355774 -
    my div's body
    - -time: 2.2564790248871 -
    my div's body
    - -time: 2.2478220462799 -
    my div's body
    - -time: 2.2556450366974 -
    my div's body
    - -*** test2 (/home/gwicke/TwigPerf/twignocache_file)*** -time: 7.9263210296631 -time: 7.8128190040588 -time: 7.9283990859985 -time: 7.9569821357727 -time: 7.8153719902039 -time: 7.9740588665009 -time: 7.8915190696716 -time: 7.9011838436127 -time: 7.7377669811249 -time: 7.8746101856232 -*** test3 (/home/gwicke/TwigPerf/twignocache_file)*** -time: 4.7443900108337 -time: 4.7383117675781 -time: 4.7612278461456 -time: 4.7584180831909 -time: 4.7767448425293 -time: 4.8138210773468 -time: 4.7654800415039 -time: 4.7469298839569 -time: 4.7985100746155 -time: 4.8124639987946 ->>>>>>>>>> Twig File Cached <<<<<<<<<<<<< -*** test1 (/home/gwicke/TwigPerf/twigcache_file)*** -time: 2.1418039798737 -
    my div's body
    - -time: 2.1372680664062 -
    my div's body
    - -time: 2.118185043335 -
    my div's body
    - -time: 2.1323561668396 -
    my div's body
    - -time: 2.1394419670105 -
    my div's body
    - -time: 2.1318678855896 -
    my div's body
    - -time: 2.1342349052429 -
    my div's body
    - -time: 2.1588618755341 -
    my div's body
    - -time: 2.102648973465 -
    my div's body
    - -time: 2.1943309307098 -
    my div's body
    - -*** test1b (/home/gwicke/TwigPerf/twigcache_file)*** -time: 2.2554769515991 -
    my div's body
    - -time: 2.2177531719208 -
    my div's body
    - -time: 2.2731518745422 -
    my div's body
    - -time: 2.2380249500275 -
    my div's body
    - -time: 2.2279279232025 -
    my div's body
    - -time: 2.2358529567719 -
    my div's body
    - -time: 2.212375164032 -
    my div's body
    - -time: 2.2289340496063 -
    my div's body
    - -time: 2.2335369586945 -
    my div's body
    - -time: 2.2383079528809 -
    my div's body
    - -*** test2 (/home/gwicke/TwigPerf/twigcache_file)*** -time: 7.8833529949188 -time: 7.7100188732147 -time: 7.8859460353851 -time: 7.8015990257263 -time: 7.7323908805847 -time: 7.8166091442108 -time: 7.7604570388794 -time: 8.004499912262 -time: 7.7692239284515 -time: 7.8088960647583 -*** test3 (/home/gwicke/TwigPerf/twigcache_file)*** -time: 4.7990961074829 -time: 4.7299921512604 -time: 4.7277851104736 -time: 4.7421729564667 -time: 4.7416138648987 -time: 4.8839321136475 -time: 4.7280359268188 -time: 4.7811601161957 -time: 4.7292640209198 -time: 4.7900230884552 ->>>>>>>>>> Mustache <<<<<<<<<<<<< -*** test1 (/home/gwicke/TwigPerf/mustache)*** -time: 2.2854030132294 -
    my div's body
    -time: 2.3180830478668 -
    my div's body
    -time: 2.3668010234833 -
    my div's body
    -time: 2.297189950943 -
    my div's body
    -time: 2.3226838111877 -
    my div's body
    -time: 2.332713842392 -
    my div's body
    -time: 2.306538105011 -
    my div's body
    -time: 2.3370180130005 -
    my div's body
    -time: 2.3339068889618 -
    my div's body
    -time: 2.3221662044525 -
    my div's body
    -*** test1b (/home/gwicke/TwigPerf/mustache)*** -time: 2.3871870040894 -
    my div's body
    -time: 2.3893928527832 -
    my div's body
    -time: 2.3829889297485 -
    my div's body
    -time: 2.3512468338013 -
    my div's body
    -time: 2.3713009357452 -
    my div's body
    -time: 2.4069571495056 -
    my div's body
    -time: 2.3618791103363 -
    my div's body
    -time: 2.3718829154968 -
    my div's body
    -time: 2.393593788147 -
    my div's body
    -time: 2.3930649757385 -
    my div's body
    -*** test2 (/home/gwicke/TwigPerf/mustache)*** -time: 14.311942815781 -time: 14.398847818375 -time: 14.545525789261 -time: 14.322947025299 -time: 14.226306915283 -time: 14.141320943832 -time: 14.232918024063 -time: 14.56929397583 -time: 14.837568044662 -time: 14.416908979416 -*** test2 lambda (/home/gwicke/TwigPerf/mustache)*** -time: 31.020719051361 -time: 29.880539894104 -time: 30.162039041519 -time: 30.761042118073 -time: 29.974234819412 -time: 30.352066040039 -time: 30.455353021622 -time: 29.984830856323 -time: 30.088975191116 -time: 30.290798902512 -*** test3 (/home/gwicke/TwigPerf/mustache)*** -time: 4.6726181507111 -time: 4.6613187789917 -time: 4.6368958950043 -time: 4.6271679401398 -time: 4.6255068778992 -time: 4.6611149311066 -time: 4.7000699043274 -time: 4.6204090118408 -time: 4.6887209415436 -time: 4.6058931350708 ->>>>>>>>>> Mustache Node.js <<<<<<<<<<<<< -*** test1 (/home/gwicke/TwigPerf/mustache-node)*** -time: 0.424 -
    my div's body
    -time: 0.402 -
    my div's body
    -time: 0.411 -
    my div's body
    -time: 0.42 -
    my div's body
    -time: 0.408 -
    my div's body
    -time: 0.397 -
    my div's body
    -time: 0.407 -
    my div's body
    -time: 0.41 -
    my div's body
    -time: 0.399 -
    my div's body
    -time: 0.398 -
    my div's body
    -*** test1b (/home/gwicke/TwigPerf/mustache-node)*** -time: 0.465 -
    my div's body
    -time: 0.488 -
    my div's body
    -time: 0.484 -
    my div's body
    -time: 0.469 -
    my div's body
    -time: 0.469 -
    my div's body
    -time: 0.477 -
    my div's body
    -time: 0.477 -
    my div's body
    -time: 0.467 -
    my div's body
    -time: 0.455 -
    my div's body
    -time: 0.483 -
    my div's body
    -*** test2 (/home/gwicke/TwigPerf/mustache-node)*** -time: 2.916 -time: 2.993 -time: 2.79 -time: 2.594 -time: 3.006 -time: 2.977 -time: 2.922 -time: 2.752 -time: 2.996 -time: 3.062 -*** test2 lambda (/home/gwicke/TwigPerf/mustache-node)*** -time: 4.229 -time: 4.434 -time: 4.251 -time: 4.476 -time: 4.534 -time: 4.333 -time: 4.467 -time: 4.307 -time: 4.468 -time: 4.353 -*** test3 (/home/gwicke/TwigPerf/mustache-node)*** -time: 0.727 -time: 0.797 -time: 0.749 -time: 0.784 -time: 0.761 -time: 0.789 -time: 0.835 -time: 0.772 -time: 0.767 -time: 0.784 -done diff --git a/results-fenari-20140110.txt b/results-fenari-20140110.txt deleted file mode 100644 index 50b5030..0000000 --- a/results-fenari-20140110.txt +++ /dev/null @@ -1,269 +0,0 @@ -csteipp@fenari:~/TwigPerf$ . ./runall.sh ->>>>>>>>>> MediaWiki Templates <<<<<<<<<<<<< -*** test1 (/home/csteipp/TwigPerf/mediawiki)*** -time: 1.999340057373 -
    my div's body
    -time: 2.0032889842987 -
    my div's body
    -time: 1.9890780448914 -
    my div's body
    -time: 2.03484582901 -
    my div's body
    -time: 2.0203349590302 -
    my div's body
    -time: 2.0344641208649 -
    my div's body
    -time: 1.9837138652802 -
    my div's body
    -time: 2.0144309997559 -
    my div's body
    -time: 1.9849269390106 -
    my div's body
    -time: 2.0378170013428 -
    my div's body
    -*** test1b (/home/csteipp/TwigPerf/mediawiki)*** -time: 2.0834031105042 -
    my div's body
    -time: 2.0542628765106 -
    my div's body
    -time: 2.073872089386 -
    my div's body
    -time: 2.1023778915405 -
    my div's body
    -time: 2.0562930107117 -
    my div's body
    -time: 2.0645909309387 -
    my div's body
    -time: 2.0453078746796 -
    my div's body
    -time: 2.0152230262756 -
    my div's body
    -time: 2.0587260723114 -
    my div's body
    -time: 2.1229519844055 -
    my div's body
    -*** test2 (/home/csteipp/TwigPerf/mediawiki)*** -time: 20.373653888702time: 20.839544057846time: 20.583324193954time: 20.06797003746time: 20.124174833298time: 20.065726995468time: 20.102138996124time: 20.775791168213time: 20.109370946884time: 20.279092073441*** test3 (/home/csteipp/TwigPerf/mediawiki)*** -time: 8.6320011615753time: 8.9008648395538time: 8.7308061122894time: 8.3882050514221time: 8.5798439979553time: 8.7367827892303time: 8.6111280918121time: 9.1377170085907time: 9.9331388473511time: 10.139732122421>>>>>>>>>> Twig String No Cache <<<<<<<<<<<<< -*** test1 (/home/csteipp/TwigPerf/twignocache)*** -time: 1.9776339530945 -
    my div's body
    -time: 1.9687089920044 -
    my div's body
    -time: 1.8748798370361 -
    my div's body
    -time: 1.9682610034943 -
    my div's body
    -time: 1.9217829704285 -
    my div's body
    -time: 1.9022560119629 -
    my div's body
    -time: 1.9204671382904 -
    my div's body
    -time: 1.8446371555328 -
    my div's body
    -time: 1.8111619949341 -
    my div's body
    -time: 1.7861430644989 -
    my div's body
    -*** test1b (/home/csteipp/TwigPerf/twignocache)*** -time: 1.8202550411224 -
    my div's body
    -time: 1.827290058136 -
    my div's body
    -time: 1.8441569805145 -
    my div's body
    -time: 1.8860158920288 -
    my div's body
    -time: 1.8216998577118 -
    my div's body
    -time: 1.8587050437927 -
    my div's body
    -time: 1.8263969421387 -
    my div's body
    -time: 1.8365449905396 -
    my div's body
    -time: 1.9372870922089 -
    my div's body
    -time: 1.8102281093597 -
    my div's body
    -*** test2 (/home/csteipp/TwigPerf/twignocache)*** -time: 7.7250170707703time: 8.1143050193787time: 8.4050779342651time: 7.5031378269196time: 7.1119379997253time: 7.3407459259033time: 7.5033569335938time: 7.2989768981934time: 7.6084721088409time: 7.8185999393463*** test3 (/home/csteipp/TwigPerf/twignocache)*** -time: 4.35551404953time: 4.3577251434326time: 4.4967701435089time: 4.397891998291time: 4.3836359977722time: 4.496701002121time: 4.4027819633484time: 4.4838700294495time: 4.4584419727325time: 4.4853608608246>>>>>>>>>> Twig File No Cache <<<<<<<<<<<<< -*** test1 (/home/csteipp/TwigPerf/twignocache_file)*** -time: 2.1126530170441 -
    my div's body
    - -time: 2.1232550144196 -
    my div's body
    - -time: 2.1129169464111 -
    my div's body
    - -time: 2.131374835968 -
    my div's body
    - -time: 2.1260859966278 -
    my div's body
    - -time: 2.1499030590057 -
    my div's body
    - -time: 2.1025650501251 -
    my div's body
    - -time: 2.1287009716034 -
    my div's body
    - -time: 2.1295249462128 -
    my div's body
    - -time: 2.1118741035461 -
    my div's body
    - -*** test1b (/home/csteipp/TwigPerf/twignocache_file)*** -time: 2.1859548091888 -
    my div's body
    - -time: 2.2096080780029 -
    my div's body
    - -time: 2.1809740066528 -
    my div's body
    - -time: 2.1998209953308 -
    my div's body
    - -time: 2.231024980545 -
    my div's body
    - -time: 2.1630871295929 -
    my div's body
    - -time: 2.1666460037231 -
    my div's body
    - -time: 2.2127041816711 -
    my div's body
    - -time: 2.220489025116 -
    my div's body
    - -time: 2.2038578987122 -
    my div's body
    - -*** test2 (/home/csteipp/TwigPerf/twignocache_file)*** -time: 7.3147070407867time: 7.3253529071808time: 7.4893901348114time: 7.6940970420837time: 7.1944818496704time: 7.2274360656738time: 7.5479309558868time: 7.5168969631195time: 7.2286648750305time: 7.719379901886*** test3 (/home/csteipp/TwigPerf/twignocache_file)*** -time: 4.4235060214996time: 4.7618880271912time: 4.8911550045013time: 4.6580810546875time: 4.3469090461731time: 4.3877668380737time: 4.5675270557404time: 4.3626158237457time: 4.4264540672302time: 4.3558421134949>>>>>>>>>> Twig File Cached <<<<<<<<<<<<< -*** test1 (/home/csteipp/TwigPerf/twigcache_file)*** -time: 2.0459389686584 -
    my div's body
    - -time: 2.0370190143585 -
    my div's body
    - -time: 2.0118968486786 -
    my div's body
    - -time: 2.0244560241699 -
    my div's body
    - -time: 2.0290510654449 -
    my div's body
    - -time: 2.0248818397522 -
    my div's body
    - -time: 2.0615990161896 -
    my div's body
    - -time: 2.0613300800323 -
    my div's body
    - -time: 2.0295541286469 -
    my div's body
    - -time: 2.1236538887024 -
    my div's body
    - -*** test1b (/home/csteipp/TwigPerf/twigcache_file)*** -time: 2.1897799968719 -
    my div's body
    - -time: 2.1601090431213 -
    my div's body
    - -time: 2.1690020561218 -
    my div's body
    - -time: 2.1202991008759 -
    my div's body
    - -time: 2.1574900150299 -
    my div's body
    - -time: 2.1326448917389 -
    my div's body
    - -time: 2.1851868629456 -
    my div's body
    - -time: 2.1634709835052 -
    my div's body
    - -time: 2.1204731464386 -
    my div's body
    - -time: 2.1222629547119 -
    my div's body
    - -*** test2 (/home/csteipp/TwigPerf/twigcache_file)*** -time: 7.0418500900269time: 7.1433279514313time: 7.2637729644775time: 7.2331640720367time: 7.1282608509064time: 7.3852660655975time: 7.2955350875854time: 7.2605440616608time: 7.2426130771637time: 7.2114708423615*** test3 (/home/csteipp/TwigPerf/twigcache_file)*** -time: 4.2369990348816time: 4.3170299530029time: 4.3340549468994time: 4.4587979316711time: 4.4548830986023time: 4.4691588878632time: 4.69109582901time: 4.6533930301666time: 4.435604095459time: 4.3395400047302>>>>>>>>>> Mustache <<<<<<<<<<<<< -*** test1 (/home/csteipp/TwigPerf/mustache)*** -time: 2.2711658477783 -
    my div's body
    -time: 2.2907059192657 -
    my div's body
    -time: 2.2668459415436 -
    my div's body
    -time: 2.3319361209869 -
    my div's body
    -time: 2.2181489467621 -
    my div's body
    -time: 2.2605209350586 -
    my div's body
    -time: 2.2703850269318 -
    my div's body
    -time: 2.2485918998718 -
    my div's body
    -time: 2.2499589920044 -
    my div's body
    -time: 2.2658989429474 -
    my div's body
    -*** test1b (/home/csteipp/TwigPerf/mustache)*** -time: 2.3188240528107 -
    my div's body
    -time: 2.324282169342 -
    my div's body
    -time: 2.2915351390839 -
    my div's body
    -time: 2.3141648769379 -
    my div's body
    -time: 2.3331770896912 -
    my div's body
    -time: 2.319415807724 -
    my div's body
    -time: 2.3300199508667 -
    my div's body
    -time: 2.3361098766327 -
    my div's body
    -time: 2.3245141506195 -
    my div's body
    -time: 2.330796957016 -
    my div's body
    -*** test2 (/home/csteipp/TwigPerf/mustache)*** -time: 14.285026073456time: 13.925657987595time: 13.620018959045time: 14.223971843719time: 14.73696398735time: 13.592642068863time: 13.723544836044time: 14.231287956238time: 14.712008953094time: 13.848010063171*** test2 lambda (/home/csteipp/TwigPerf/mustache)*** -time: 29.669378042221time: 30.158655166626time: 29.545544147491time: 30.119630813599time: 29.261018037796time: 29.918608188629time: 29.56553196907time: 30.03117609024time: 29.824964046478time: 30.13038611412*** test3 (/home/csteipp/TwigPerf/mustache)*** -time: 4.2919127941132time: 4.2832779884338time: 4.2955501079559time: 4.2555201053619time: 4.2370500564575time: 4.2424409389496time: 4.3527030944824time: 4.2411458492279time: 4.6197688579559time: 4.74187707901done - diff --git a/results-fenari.txt b/results-fenari.txt deleted file mode 100644 index ad0e1cc..0000000 --- a/results-fenari.txt +++ /dev/null @@ -1,218 +0,0 @@ -csteipp@fenari:~/templatetest$ . ./runall.sh ->>>>>>>>>> MediaWiki Templates <<<<<<<<<<<<< -*** test1 (/home/csteipp/templatetest/mediawiki)*** -time: 1.9770638942719 -
    my div's body
    -time: 2.031054019928 -
    my div's body
    -time: 2.0561780929565 -
    my div's body
    -time: 2.038115978241 -
    my div's body
    -time: 2.0110890865326 -
    my div's body
    -time: 2.0182700157166 -
    my div's body
    -time: 1.9692871570587 -
    my div's body
    -time: 1.9406850337982 -
    my div's body
    -time: 1.979336977005 -
    my div's body
    -time: 1.9662790298462 -
    my div's body
    -*** test1b (/home/csteipp/templatetest/mediawiki)*** -time: 2.0406219959259 -
    my div's body
    -time: 2.0317549705505 -
    my div's body
    -time: 2.1083741188049 -
    my div's body
    -time: 2.043349981308 -
    my div's body
    -time: 2.0051989555359 -
    my div's body
    -time: 2.0134110450745 -
    my div's body
    -time: 2.0594279766083 -
    my div's body
    -time: 2.0487840175629 -
    my div's body
    -time: 2.0690019130707 -
    my div's body
    -time: 2.0512299537659 -
    my div's body
    -*** test2 (/home/csteipp/templatetest/mediawiki)*** -time: 20.269570112228time: 20.175647974014time: 19.772657155991time: 20.241451978683time: 20.389709949493time: 20.014718055725time: 20.144588947296time: 20.245056867599time: 20.115723848343time: 20.146353960037>>>>>>>>>> Twig String No Cache <<<<<<<<<<<<< -*** test1 (/home/csteipp/templatetest/twignocache)*** -time: 1.7663350105286 -
    my div's body
    -time: 1.7269070148468 -
    my div's body
    -time: 1.7474808692932 -
    my div's body
    -time: 1.8055942058563 -
    my div's body
    -time: 1.7581701278687 -
    my div's body
    -time: 1.7206509113312 -
    my div's body
    -time: 1.719398021698 -
    my div's body
    -time: 1.7724249362946 -
    my div's body
    -time: 1.7326049804688 -
    my div's body
    -time: 1.7460210323334 -
    my div's body
    -*** test1b (/home/csteipp/templatetest/twignocache)*** -time: 1.8085751533508 -
    my div's body
    -time: 1.7932620048523 -
    my div's body
    -time: 1.7761988639832 -
    my div's body
    -time: 1.8120110034943 -
    my div's body
    -time: 1.7875680923462 -
    my div's body
    -time: 1.824784040451 -
    my div's body
    -time: 1.8433759212494 -
    my div's body
    -time: 1.8310830593109 -
    my div's body
    -time: 1.8393650054932 -
    my div's body
    -time: 1.7913479804993 -
    my div's body
    -*** test2 (/home/csteipp/templatetest/twignocache)*** -time: 7.1434059143066time: 7.1825828552246time: 7.292240858078time: 7.6470439434052time: 7.1688361167908time: 7.1579480171204time: 7.2506771087646time: 7.298024892807time: 7.3290519714355time: 7.3783459663391>>>>>>>>>> Twig File No Cache <<<<<<<<<<<<< -*** test1 (/home/csteipp/templatetest/twignocache_file)*** -time: 2.06849193573 -
    my div's body
    - -time: 2.0882091522217 -
    my div's body
    - -time: 2.0857231616974 -
    my div's body
    - -time: 2.0748779773712 -
    my div's body
    - -time: 2.1048369407654 -
    my div's body
    - -time: 2.1007599830627 -
    my div's body
    - -time: 2.138002872467 -
    my div's body
    - -time: 2.0930120944977 -
    my div's body
    - -time: 2.1000430583954 -
    my div's body
    - -time: 2.0479049682617 -
    my div's body
    - -*** test1b (/home/csteipp/templatetest/twignocache_file)*** -time: 2.2052750587463 -
    my div's body
    - -time: 2.1458361148834 -
    my div's body
    - -time: 2.1835560798645 -
    my div's body
    - -time: 2.1121079921722 -
    my div's body
    - -time: 2.1110868453979 -
    my div's body
    - -time: 2.1594519615173 -
    my div's body
    - -time: 2.1030130386353 -
    my div's body
    - -time: 2.1851317882538 -
    my div's body
    - -time: 2.1677260398865 -
    my div's body
    - -time: 2.1177299022675 -
    my div's body
    - -*** test2 (/home/csteipp/templatetest/twignocache_file)*** -time: 7.3404848575592time: 7.1644330024719time: 7.0633728504181time: 7.3260807991028time: 7.874459028244time: 7.3694670200348time: 7.281879901886time: 7.1920239925385time: 7.2231659889221time: 7.2266538143158>>>>>>>>>> Twig File Cached <<<<<<<<<<<<< -*** test1 (/home/csteipp/templatetest/twigcache_file)*** -time: 2.0660858154297 -
    my div's body
    - -time: 2.0030090808868 -
    my div's body
    - -time: 2.0551979541779 -
    my div's body
    - -time: 2.0318078994751 -
    my div's body
    - -time: 2.0733399391174 -
    my div's body
    - -time: 2.015683889389 -
    my div's body
    - -time: 2.0391328334808 -
    my div's body
    - -time: 2.0816469192505 -
    my div's body
    - -time: 2.0808479785919 -
    my div's body
    - -time: 2.0573711395264 -
    my div's body
    - -*** test1b (/home/csteipp/templatetest/twigcache_file)*** -time: 2.1481759548187 -
    my div's body
    - -time: 2.1348259449005 -
    my div's body
    - -time: 2.1315059661865 -
    my div's body
    - -time: 2.1578369140625 -
    my div's body
    - -time: 2.132218837738 -
    my div's body
    - -time: 2.1411211490631 -
    my div's body
    - -time: 2.1326441764832 -
    my div's body
    - -time: 2.1479308605194 -
    my div's body
    - -time: 2.1566548347473 -
    my div's body
    - -time: 2.1411089897156 -
    my div's body
    - -*** test2 (/home/csteipp/templatetest/twigcache_file)*** -time: 7.1320459842682time: 7.5466508865356time: 7.3594369888306time: 7.8603298664093time: 7.5562160015106time: 7.394403219223time: 7.2235989570618time: 7.2896399497986time: 7.4817950725555time: 7.3161149024963done diff --git a/results-ruthenium-20140121.txt b/results-ruthenium-20140121.txt deleted file mode 100644 index 4c2eb5d..0000000 --- a/results-ruthenium-20140121.txt +++ /dev/null @@ -1,905 +0,0 @@ ->>>>>>>>>> MediaWiki Templates <<<<<<<<<<<<< -*** test1 (/home/gwicke/TwigPerf/mediawiki)*** -time: 2.0922861099243 -
    my div's body
    -time: 1.820818901062 -
    my div's body
    -time: 1.9429981708527 -
    my div's body
    -time: 1.7779641151428 -
    my div's body
    -time: 1.7650308609009 -
    my div's body
    -time: 1.97967004776 -
    my div's body
    -time: 1.7316069602966 -
    my div's body
    -time: 1.7751259803772 -
    my div's body
    -time: 1.7396252155304 -
    my div's body
    -time: 1.7314519882202 -
    my div's body
    -*** test1b (/home/gwicke/TwigPerf/mediawiki)*** -time: 2.0872731208801 -
    my div's body
    -time: 2.0203950405121 -
    my div's body
    -time: 1.8580820560455 -
    my div's body
    -time: 1.8429050445557 -
    my div's body
    -time: 1.8159799575806 -
    my div's body
    -time: 1.8580541610718 -
    my div's body
    -time: 2.6906440258026 -
    my div's body
    -time: 2.0507760047913 -
    my div's body
    -time: 1.82674908638 -
    my div's body
    -time: 1.8692429065704 -
    my div's body
    -*** test2 (/home/gwicke/TwigPerf/mediawiki)*** -time: 17.75124001503 -time: 17.945694923401 -time: 18.524353027344 -time: 17.953158140182 -time: 17.741994142532 -time: 17.521550893784 -time: 17.838640928268 -time: 18.461360931396 -time: 18.254492044449 -time: 17.859427928925 -*** test3 (/home/gwicke/TwigPerf/mediawiki)*** -time: 7.733717918396 -time: 7.6998920440674 -time: 7.511824131012 -time: 7.7397420406342 -time: 7.4549639225006 -time: 7.9100620746613 -time: 7.7375228404999 -time: 7.5191121101379 -time: 8.0336999893188 -time: 7.8790249824524 ->>>>>>>>>> Twig String No Cache <<<<<<<<<<<<< -*** test1 (/home/gwicke/TwigPerf/twignocache)*** -time: 1.3874859809875 -
    my div's body
    -time: 1.4286789894104 -
    my div's body
    -time: 1.3967800140381 -
    my div's body
    -time: 1.4026029109955 -
    my div's body
    -time: 1.394387960434 -
    my div's body
    -time: 1.3880951404572 -
    my div's body
    -time: 1.4052741527557 -
    my div's body
    -time: 1.3989150524139 -
    my div's body
    -time: 1.3884139060974 -
    my div's body
    -time: 1.3969440460205 -
    my div's body
    -*** test1b (/home/gwicke/TwigPerf/twignocache)*** -time: 1.7718799114227 -
    my div's body
    -time: 1.4824650287628 -
    my div's body
    -time: 1.4892339706421 -
    my div's body
    -time: 1.915549993515 -
    my div's body
    -time: 1.7543179988861 -
    my div's body
    -time: 1.4617128372192 -
    my div's body
    -time: 1.5116300582886 -
    my div's body
    -time: 1.4899580478668 -
    my div's body
    -time: 1.7638299465179 -
    my div's body
    -time: 1.4725880622864 -
    my div's body
    -*** test2 (/home/gwicke/TwigPerf/twignocache)*** -time: 6.7265050411224 -time: 6.0560150146484 -time: 6.155571937561 -time: 6.1233339309692 -time: 6.0189418792725 -time: 6.2846169471741 -time: 6.1376969814301 -time: 6.046147108078 -time: 6.2330558300018 -time: 6.0734140872955 -*** test3 (/home/gwicke/TwigPerf/twignocache)*** -time: 3.6822130680084 -time: 3.6985688209534 -time: 3.6736669540405 -time: 3.7539999485016 -time: 3.6689009666443 -time: 3.6713659763336 -time: 3.7212510108948 -time: 3.7069330215454 -time: 3.7332458496094 -time: 3.6858279705048 ->>>>>>>>>> Twig File No Cache <<<<<<<<<<<<< -*** test1 (/home/gwicke/TwigPerf/twignocache_file)*** -time: 1.6927270889282 -
    my div's body
    - -time: 1.7371180057526 -
    my div's body
    - -time: 1.7182850837708 -
    my div's body
    - -time: 2.1678698062897 -
    my div's body
    - -time: 1.7213599681854 -
    my div's body
    - -time: 2.0212061405182 -
    my div's body
    - -time: 1.946084022522 -
    my div's body
    - -time: 1.7107799053192 -
    my div's body
    - -time: 1.690456867218 -
    my div's body
    - -time: 1.726499080658 -
    my div's body
    - -*** test1b (/home/gwicke/TwigPerf/twignocache_file)*** -time: 2.0144500732422 -
    my div's body
    - -time: 2.0338809490204 -
    my div's body
    - -time: 1.7894539833069 -
    my div's body
    - -time: 1.8012609481812 -
    my div's body
    - -time: 1.8192510604858 -
    my div's body
    - -time: 2.17604804039 -
    my div's body
    - -time: 1.8617939949036 -
    my div's body
    - -time: 1.7969369888306 -
    my div's body
    - -time: 1.8304390907288 -
    my div's body
    - -time: 1.8212881088257 -
    my div's body
    - -*** test2 (/home/gwicke/TwigPerf/twignocache_file)*** -time: 6.4451670646667 -time: 6.197448015213 -time: 6.2204129695892 -time: 6.1532719135284 -time: 6.0600578784943 -time: 7.0875568389893 -time: 6.128947019577 -time: 6.0854380130768 -time: 6.1550018787384 -time: 6.0644779205322 -*** test3 (/home/gwicke/TwigPerf/twignocache_file)*** -time: 3.943146944046 -time: 3.7658529281616 -time: 3.7636241912842 -time: 3.6942780017853 -time: 3.695042848587 -time: 3.7287609577179 -time: 3.7655849456787 -time: 3.7517850399017 -time: 3.7269170284271 -time: 3.7469599246979 ->>>>>>>>>> Twig File Cached <<<<<<<<<<<<< -*** test1 (/home/gwicke/TwigPerf/twigcache_file)*** -time: 2.5373349189758 -
    my div's body
    - -time: 1.6739978790283 -
    my div's body
    - -time: 1.6735599040985 -
    my div's body
    - -time: 1.6825950145721 -
    my div's body
    - -time: 1.683357000351 -
    my div's body
    - -time: 1.7240188121796 -
    my div's body
    - -time: 2.0779399871826 -
    my div's body
    - -time: 1.708349943161 -
    my div's body
    - -time: 1.7159938812256 -
    my div's body
    - -time: 1.7155349254608 -
    my div's body
    - -*** test1b (/home/gwicke/TwigPerf/twigcache_file)*** -time: 2.2524108886719 -
    my div's body
    - -time: 1.7895040512085 -
    my div's body
    - -time: 2.4947011470795 -
    my div's body
    - -time: 2.0268959999084 -
    my div's body
    - -time: 1.8171231746674 -
    my div's body
    - -time: 1.7894330024719 -
    my div's body
    - -time: 1.8010270595551 -
    my div's body
    - -time: 1.8120229244232 -
    my div's body
    - -time: 2.2609620094299 -
    my div's body
    - -time: 1.8383359909058 -
    my div's body
    - -*** test2 (/home/gwicke/TwigPerf/twigcache_file)*** -time: 6.5225718021393 -time: 6.0909278392792 -time: 6.1822800636292 -time: 6.1575970649719 -time: 6.2063701152802 -time: 6.1487469673157 -time: 6.1124060153961 -time: 6.1646089553833 -time: 6.2265059947968 -time: 6.2263309955597 -*** test3 (/home/gwicke/TwigPerf/twigcache_file)*** -time: 3.9698748588562 -time: 3.7099311351776 -time: 3.6575360298157 -time: 3.78724193573 -time: 3.7534120082855 -time: 3.9666419029236 -time: 3.6473770141602 -time: 3.6535320281982 -time: 3.6877241134644 -time: 3.6561949253082 ->>>>>>>>>> Mustache <<<<<<<<<<<<< -*** test1 (/home/gwicke/TwigPerf/mustache)*** -time: 2.1402289867401 -
    my div's body
    -time: 2.2558510303497 -
    my div's body
    -time: 1.8591160774231 -
    my div's body
    -time: 1.9085121154785 -
    my div's body
    -time: 1.8861429691315 -
    my div's body
    -time: 1.8953540325165 -
    my div's body
    -time: 1.9094741344452 -
    my div's body
    -time: 2.1896991729736 -
    my div's body
    -time: 1.8644828796387 -
    my div's body
    -time: 1.8545100688934 -
    my div's body
    -*** test1b (/home/gwicke/TwigPerf/mustache)*** -time: 2.3389139175415 -
    my div's body
    -time: 2.0298838615417 -
    my div's body
    -time: 1.9972689151764 -
    my div's body
    -time: 2.046028137207 -
    my div's body
    -time: 1.9961700439453 -
    my div's body
    -time: 1.9802930355072 -
    my div's body
    -time: 2.6035101413727 -
    my div's body
    -time: 2.0291340351105 -
    my div's body
    -time: 1.9559791088104 -
    my div's body
    -time: 1.9729590415955 -
    my div's body
    -*** test2 (/home/gwicke/TwigPerf/mustache)*** -time: 11.896132946014 -time: 11.310665845871 -time: 11.516778945923 -time: 11.390492916107 -time: 11.469634056091 -time: 11.548548936844 -time: 11.607029914856 -time: 11.561788082123 -time: 11.421263217926 -time: 11.521655082703 -*** test2 lambda (/home/gwicke/TwigPerf/mustache)*** -time: 25.559880018234 -time: 25.464154005051 -time: 24.965583086014 -time: 25.004081964493 -time: 25.896878957748 -time: 25.194032907486 -time: 24.980645895004 -time: 24.873515844345 -time: 24.417538881302 -time: 25.132347822189 -*** test3 (/home/gwicke/TwigPerf/mustache)*** -time: 4.070817232132 -time: 3.7667989730835 -time: 3.7732429504395 -time: 3.9702131748199 -time: 4.0122611522675 -time: 3.8039290904999 -time: 3.8241710662842 -time: 3.7452161312103 -time: 3.728600025177 -time: 3.7415709495544 ->>>>>>>>>> MediaWiki Templates (HHVM) <<<<<<<<<<<<< -*** test1 (/home/gwicke/TwigPerf/mediawiki)*** -time: 1.1176979541779 -
    my div's body
    -time: 0.93934679031372 -
    my div's body
    -time: 1.301680803299 -
    my div's body
    -time: 0.92472720146179 -
    my div's body
    -time: 1.0520257949829 -
    my div's body
    -time: 0.92278409004211 -
    my div's body
    -time: 1.3131959438324 -
    my div's body
    -time: 0.92341685295105 -
    my div's body
    -time: 0.93059086799622 -
    my div's body
    -time: 1.2451829910278 -
    my div's body
    -*** test1b (/home/gwicke/TwigPerf/mediawiki)*** -time: 1.311420917511 -
    my div's body
    -time: 0.98903107643127 -
    my div's body
    -time: 0.98314905166626 -
    my div's body
    -time: 1.2354509830475 -
    my div's body
    -time: 1.3428671360016 -
    my div's body
    -time: 1.2121560573578 -
    my div's body
    -time: 0.97050881385803 -
    my div's body
    -time: 0.97520399093628 -
    my div's body
    -time: 0.97282099723816 -
    my div's body
    -time: 1.2335741519928 -
    my div's body
    -*** test2 (/home/gwicke/TwigPerf/mediawiki)*** -time: 9.0611610412598 -time: 8.864443063736 -time: 9.1095721721649 -time: 9.0763428211212 -time: 9.1269619464874 -time: 9.1279950141907 -time: 8.8952350616455 -time: 8.8288140296936 -time: 8.8033850193024 -time: 8.8816139698029 -*** test3 (/home/gwicke/TwigPerf/mediawiki)*** -time: 4.877669095993 -time: 4.7710499763489 -time: 5.4659497737885 -time: 4.7436769008636 -time: 4.6960780620575 -time: 4.4027419090271 -time: 4.6466929912567 -time: 4.4663310050964 -time: 5.5634989738464 -time: 4.6475419998169 ->>>>>>>>>> Twig String No Cache (HHVM) <<<<<<<<<<<<< -*** test1 (/home/gwicke/TwigPerf/twignocache)*** -time: 1.4070119857788 -
    my div's body
    -time: 1.2471399307251 -
    my div's body
    -time: 0.99309396743774 -
    my div's body
    -time: 1.018461227417 -
    my div's body
    -time: 1.1769609451294 -
    my div's body
    -time: 0.99390077590942 -
    my div's body
    -time: 1.0263888835907 -
    my div's body
    -time: 1.0043270587921 -
    my div's body
    -time: 1.0004150867462 -
    my div's body
    -time: 1.3165171146393 -
    my div's body
    -*** test1b (/home/gwicke/TwigPerf/twignocache)*** -time: 1.0237169265747 -
    my div's body
    -time: 1.4358258247375 -
    my div's body
    -time: 1.3110110759735 -
    my div's body
    -time: 1.299791097641 -
    my div's body
    -time: 1.4663879871368 -
    my div's body
    -time: 1.0073621273041 -
    my div's body
    -time: 1.0995941162109 -
    my div's body
    -time: 1.3942120075226 -
    my div's body
    -time: 1.3646819591522 -
    my div's body
    -time: 1.0344431400299 -
    my div's body
    -*** test2 (/home/gwicke/TwigPerf/twignocache)*** -time: 4.3455548286438 -time: 3.9373948574066 -time: 4.1291089057922 -time: 3.9781010150909 -time: 4.4212129116058 -time: 4.3696031570435 -time: 4.0152831077576 -time: 4.0060448646545 -time: 3.9570598602295 -time: 3.9862198829651 -*** test3 (/home/gwicke/TwigPerf/twignocache)*** -time: 3.068754196167 -time: 2.6394851207733 -time: 3.5884640216827 -time: 3.7611200809479 -time: 2.7337400913239 -time: 2.6029438972473 -time: 2.7012619972229 -time: 3.000608921051 -time: 2.9475581645966 -time: 2.7695519924164 ->>>>>>>>>> Twig File No Cache (HHVM) <<<<<<<<<<<<< -*** test1 (/home/gwicke/TwigPerf/twignocache_file)*** -time: 1.2101299762726 -
    my div's body
    - -time: 1.271143913269 -
    my div's body
    - -time: 1.2216880321503 -
    my div's body
    - -time: 1.2060680389404 -
    my div's body
    - -time: 1.2802131175995 -
    my div's body
    - -time: 1.2252399921417 -
    my div's body
    - -time: 1.4193158149719 -
    my div's body
    - -time: 1.1905519962311 -
    my div's body
    - -time: 1.2146320343018 -
    my div's body
    - -time: 1.2243931293488 -
    my div's body
    - -*** test1b (/home/gwicke/TwigPerf/twignocache_file)*** -time: 1.4773299694061 -
    my div's body
    - -time: 1.2607889175415 -
    my div's body
    - -time: 1.2780508995056 -
    my div's body
    - -time: 1.5448141098022 -
    my div's body
    - -time: 1.2513048648834 -
    my div's body
    - -time: 1.266340970993 -
    my div's body
    - -time: 1.2411069869995 -
    my div's body
    - -time: 1.2637469768524 -
    my div's body
    - -time: 1.5282690525055 -
    my div's body
    - -time: 1.6277649402618 -
    my div's body
    - -*** test2 (/home/gwicke/TwigPerf/twignocache_file)*** -time: 4.199511051178 -time: 4.086296081543 -time: 3.9922461509705 -time: 4.0472748279572 -time: 4.0871329307556 -time: 4.0947740077972 -time: 3.9959228038788 -time: 4.05482006073 -time: 4.033417224884 -time: 4.0440418720245 -*** test3 (/home/gwicke/TwigPerf/twignocache_file)*** -time: 3.0185258388519 -time: 2.7407381534576 -time: 2.7504191398621 -time: 2.7822968959808 -time: 2.7747058868408 -time: 2.714724779129 -time: 2.9673249721527 -time: 2.7832658290863 -time: 2.6918880939484 -time: 2.9257140159607 ->>>>>>>>>> Twig File Cached (HHVM) <<<<<<<<<<<<< -*** test1 (/home/gwicke/TwigPerf/twigcache_file)*** -time: 1.215441942215 -
    my div's body
    - -time: 1.1932780742645 -
    my div's body
    - -time: 1.1952681541443 -
    my div's body
    - -time: 1.2374610900879 -
    my div's body
    - -time: 1.2171580791473 -
    my div's body
    - -time: 1.2211940288544 -
    my div's body
    - -time: 1.6642611026764 -
    my div's body
    - -time: 1.1920080184937 -
    my div's body
    - -time: 1.6697461605072 -
    my div's body
    - -time: 1.569305896759 -
    my div's body
    - -*** test1b (/home/gwicke/TwigPerf/twigcache_file)*** -time: 1.4523169994354 -
    my div's body
    - -time: 1.2372648715973 -
    my div's body
    - -time: 1.6127080917358 -
    my div's body
    - -time: 1.2737278938293 -
    my div's body
    - -time: 1.2518398761749 -
    my div's body
    - -time: 1.4823899269104 -
    my div's body
    - -time: 1.7438340187073 -
    my div's body
    - -time: 1.6782209873199 -
    my div's body
    - -time: 1.2399661540985 -
    my div's body
    - -time: 1.2828099727631 -
    my div's body
    - -*** test2 (/home/gwicke/TwigPerf/twigcache_file)*** -time: 4.4654948711395 -time: 4.1667342185974 -time: 3.9888031482697 -time: 4.6315910816193 -time: 5.2288119792938 -time: 4.0784149169922 -time: 4.0778939723969 -time: 4.1627340316772 -time: 4.3036658763885 -time: 4.0243489742279 -*** test3 (/home/gwicke/TwigPerf/twigcache_file)*** -time: 3.2850520610809 -time: 2.695130109787 -time: 2.6833670139313 -time: 2.6640059947968 -time: 2.7817018032074 -time: 2.7382299900055 -time: 2.65838098526 -time: 2.8614139556885 -time: 2.8563210964203 -time: 2.8144710063934 ->>>>>>>>>> Mustache (HHVM) <<<<<<<<<<<<< -*** test1 (/home/gwicke/TwigPerf/mustache)*** -time: 1.38978099823 -
    my div's body
    -time: 1.1623780727386 -
    my div's body
    -time: 1.4161641597748 -
    my div's body
    -time: 1.159462928772 -
    my div's body
    -time: 1.6125409603119 -
    my div's body
    -time: 1.2052099704742 -
    my div's body
    -time: 1.5948858261108 -
    my div's body
    -time: 1.1680300235748 -
    my div's body
    -time: 1.1660687923431 -
    my div's body
    -time: 1.6032540798187 -
    my div's body
    -*** test1b (/home/gwicke/TwigPerf/mustache)*** -time: 1.4956459999084 -
    my div's body
    -time: 1.1978030204773 -
    my div's body
    -time: 1.2304239273071 -
    my div's body
    -time: 1.2141079902649 -
    my div's body
    -time: 1.2005429267883 -
    my div's body
    -time: 1.5935389995575 -
    my div's body
    -time: 1.4432940483093 -
    my div's body
    -time: 1.2051420211792 -
    my div's body
    -time: 1.2296969890594 -
    my div's body
    -time: 1.1810250282288 -
    my div's body
    -*** test2 (/home/gwicke/TwigPerf/mustache)*** -time: 5.7666141986847 -time: 5.549674987793 -time: 5.8573980331421 -time: 5.5671091079712 -time: 5.6015169620514 -time: 5.5996959209442 -time: 6.0101552009583 -time: 5.5394160747528 -time: 5.8268468379974 -time: 5.5447549819946 -*** test2 lambda (/home/gwicke/TwigPerf/mustache)*** -time: 12.942080974579 -time: 12.852567911148 -time: 13.687101840973 -time: 13.094290971756 -time: 13.094475030899 -time: 12.860243082047 -time: 12.852432012558 -time: 12.880685091019 -time: 12.883264064789 -time: 12.69643497467 -*** test3 (/home/gwicke/TwigPerf/mustache)*** -time: 2.7171151638031 -time: 2.4128489494324 -time: 2.7259049415588 -time: 2.5838551521301 -time: 2.5621118545532 -time: 2.5902869701385 -time: 2.3345749378204 -time: 2.3319189548492 -time: 2.3375899791718 -time: 3.3288519382477 ->>>>>>>>>> Mustache Node.js <<<<<<<<<<<<< -*** test1 (/home/gwicke/TwigPerf/mustache-node)*** -time: 0.369 -
    my div's body
    -time: 0.453 -
    my div's body
    -time: 0.339 -
    my div's body
    -time: 0.453 -
    my div's body
    -time: 0.565 -
    my div's body
    -time: 0.341 -
    my div's body
    -time: 0.364 -
    my div's body
    -time: 0.651 -
    my div's body
    -time: 0.684 -
    my div's body
    -time: 0.641 -
    my div's body
    -*** test1b (/home/gwicke/TwigPerf/mustache-node)*** -time: 0.397 -
    my div's body
    -time: 0.403 -
    my div's body
    -time: 0.404 -
    my div's body
    -time: 0.401 -
    my div's body
    -time: 0.402 -
    my div's body
    -time: 0.409 -
    my div's body
    -time: 0.411 -
    my div's body
    -time: 0.39 -
    my div's body
    -time: 0.405 -
    my div's body
    -time: 0.384 -
    my div's body
    -*** test2 (/home/gwicke/TwigPerf/mustache-node)*** -time: 2.665 -time: 3.304 -time: 2.404 -time: 2.735 -time: 2.559 -time: 2.674 -time: 2.393 -time: 2.668 -time: 2.45 -time: 2.501 -*** test2 lambda (/home/gwicke/TwigPerf/mustache-node)*** -time: 4.116 -time: 3.738 -time: 4.624 -time: 3.814 -time: 3.839 -time: 3.733 -time: 3.878 -time: 4.592 -time: 3.72 -time: 3.805 -*** test3 (/home/gwicke/TwigPerf/mustache-node)*** -time: 0.722 -time: 0.936 -time: 0.949 -time: 0.723 -time: 0.721 -time: 0.737 -time: 0.719 -time: 0.722 -time: 0.727 -time: 0.722 ->>>>>>>>>> Handlebars Node.js <<<<<<<<<<<<< -*** test1 (/home/gwicke/TwigPerf/handlebars-node)*** -time: 0.238 -
    my div's body
    -time: 0.236 -
    my div's body
    -time: 0.237 -
    my div's body
    -time: 0.237 -
    my div's body
    -time: 0.122 -
    my div's body
    -time: 0.119 -
    my div's body
    -time: 0.121 -
    my div's body
    -time: 0.118 -
    my div's body
    -time: 0.118 -
    my div's body
    -time: 0.123 -
    my div's body
    -*** test1b (/home/gwicke/TwigPerf/handlebars-node)*** -time: 0.16 -
    my div's body
    -time: 0.158 -
    my div's body
    -time: 0.318 -
    my div's body
    -time: 0.193 -
    my div's body
    -time: 0.162 -
    my div's body
    -time: 0.287 -
    my div's body
    -time: 0.235 -
    my div's body
    -time: 0.159 -
    my div's body
    -time: 0.164 -
    my div's body
    -time: 0.16 -
    my div's body
    -*** test2 (/home/gwicke/TwigPerf/handlebars-node)*** -time: 0.597 -time: 0.597 -time: 0.589 -time: 0.596 -time: 0.878 -time: 0.87 -time: 0.594 -time: 0.591 -time: 0.984 -time: 0.832 -*** test2 lambda (/home/gwicke/TwigPerf/handlebars-node)*** -time: 1.666 -time: 1.47 -time: 1.252 -time: 1.251 -time: 1.249 -time: 1.5 -time: 1.252 -time: 1.242 -time: 1.235 -time: 1.504 -*** test3 (/home/gwicke/TwigPerf/handlebars-node)*** -time: 0.226 -time: 0.184 -time: 0.183 -time: 0.183 -time: 0.183 -time: 0.184 -time: 0.184 -time: 0.183 -time: 0.184 -time: 0.223 -done From 02f546b87b7e6ed32105b7f02ec813e389de9828 Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Thu, 3 Apr 2014 19:55:04 -0700 Subject: [PATCH 53/72] Update knockoff --- .../node_modules/knockoff/KnockoutCompiler.js | 69 +++++- .../node_modules/knockoff/knockoff.js | 32 ++- .../node_modules/tassembly/package.json | 4 +- .../node_modules/tassembly/tassembly.js | 209 ++++++++++-------- .../knockoff/node_modules/tassembly/test1.js | 5 +- .../node_modules/knockoff/package.json | 10 +- .../node_modules/knockoff/testKnockOff.js | 79 ------- knockoff-node/test1.js | 3 +- knockoff-node/test1b-incid.js | 4 +- knockoff-node/test2-loop-lambda.js | 2 +- knockoff-node/test2-loop.js | 2 +- knockoff-node/test3-itterator.js | 2 +- 12 files changed, 213 insertions(+), 208 deletions(-) delete mode 100644 knockoff-node/node_modules/knockoff/testKnockOff.js diff --git a/knockoff-node/node_modules/knockoff/KnockoutCompiler.js b/knockoff-node/node_modules/knockoff/KnockoutCompiler.js index 3609f35..74dc6e4 100644 --- a/knockoff-node/node_modules/knockoff/KnockoutCompiler.js +++ b/knockoff-node/node_modules/knockoff/KnockoutCompiler.js @@ -4,9 +4,59 @@ "use strict"; var DOMCompiler = require('./DOMCompiler.js'), - KnockoutExpression = require('./KnockoutExpression.js'), + KnockoutExpressionParser = require('./KnockoutExpressionParser.js'), domino = require('domino'); + +var ctxMap = { + '$data': 'm', + '$root': 'rm', + '$parent': 'pm', + '$parents': 'pms', + '$parentContext': 'pc', + '$index': 'i', + '$context': 'c', + '$rawData': 'd' +}; + +function stringifyObject (obj) { + if (obj.constructor === Object) { + var res = '{', + keys = Object.keys(obj); + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + if (i !== 0) { + res += ','; + } + if (/^[a-z_$][a-z0-9_$]*$/.test(key)) { + res += key + ':'; + } else { + res += "'" + key.replace(/'/g, "\\'") + "':"; + } + res += stringifyObject(obj[key]); + } + res += '}'; + return res; + } else { + return obj.toString(); + } +} + +function stringifyChildObjects (obj) { + for (var key in obj) { + var child = obj[key]; + if (child && child.constructor === Object) { + obj[key] = stringifyObject(child); + } + } + return obj; +} + +var parserOptions = { + ctxMap: ctxMap, + stringifyObject: stringifyObject +}; + function handleNode(node, cb, options) { var dataBind = node.getAttribute('data-bind'); if (!dataBind) { @@ -15,9 +65,16 @@ function handleNode(node, cb, options) { } // XXX: keep this for client-side re-execution? node.removeAttribute('data-bind'); - var bindObj = KnockoutExpression.parseObjectLiteral(dataBind), + var bindObj, bindOpts, ctlFn, ctlOpts, ret = {}; + try { + bindObj = KnockoutExpressionParser.parse(dataBind, parserOptions); + } catch (e) { + console.error('Error while compiling ' + JSON.stringify(dataBind) + ':\n' + e); + //console.error(e.stack); + return {}; + } /* * attr @@ -28,7 +85,7 @@ function handleNode(node, cb, options) { // XXX: don't do destructive updates on the DOM node.removeAttribute(name); }); - ret.attr = ['attr', bindObj.attr]; + ret.attr = ['attr', stringifyChildObjects(bindObj.attr)]; } if (bindObj.visible || bindObj['with']) { @@ -57,7 +114,7 @@ function handleNode(node, cb, options) { */ if (bindObj.text) { // replace content with text directive - ret.content = ['text', bindObj.text]; + ret.content = ['text', stringifyObject(bindObj.text)]; return ret; } @@ -72,7 +129,7 @@ function handleNode(node, cb, options) { var trigger = templateTriggers[i]; if (trigger in bindOpts) { ctlFn = trigger; - ctlOpts.data = bindOpts[ctlFn] || bindOpts.data; + ctlOpts.data = stringifyObject(bindOpts[ctlFn] || bindOpts.data); if (trigger === 'foreach' && bindOpts.as) { ctlOpts.as = bindOpts.as + ''; } @@ -89,7 +146,7 @@ function handleNode(node, cb, options) { // Simple template without foreach / with / if / ifnot if (bindObj.template) { - ctlOpts.data = bindOpts.data; + ctlOpts.data = stringifyObject(bindOpts.data); if (!bindOpts.name) { ctlOpts.tpl = new DOMCompiler().compile(node, options); } else { diff --git a/knockoff-node/node_modules/knockoff/knockoff.js b/knockoff-node/node_modules/knockoff/knockoff.js index 375097c..64efcee 100644 --- a/knockoff-node/node_modules/knockoff/knockoff.js +++ b/knockoff-node/node_modules/knockoff/knockoff.js @@ -1,11 +1,7 @@ "use strict"; -var TAssembly = require('tassembly').TAssembly, +var TA = require('tassembly'), koCompiler = require('./KnockoutCompiler.js'); -function KnockOff () { - this.TA = new TAssembly(); -} - /** * Compile a Knockout template to a function * @@ -14,21 +10,21 @@ function KnockOff () { * @returns {function(model)} function that can be called with a model and * returns an HTML string */ -KnockOff.prototype.compile = function(template, options) { +function compile(template, options) { var templateASM = koCompiler.compile(template, options); - return this.TA.compile(templateASM, options && options.cb); -}; + if (options && options.partials) { + // compile partials + var partials = options.partials; + for (var name in partials) { + if (!Array.isArray(partials[name])) { + partials[name] = koCompiler.compile(partials[name]); + } + } + } + return TA.compile(templateASM, options); +} -/** - * Register a partial (nested template) - * - * @param {string} name of the template - * @param {misc} template HTML string or DOM node - **/ -KnockOff.prototype.registerPartial = function(name, template) { - this.TA.partials[name] = koCompiler.compile(template); -}; module.exports = { - KnockOff: KnockOff + compile: compile }; diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json b/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json index c7ba670..253507c 100644 --- a/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json @@ -7,8 +7,8 @@ "description": "TAssembly =========", "_id": "tassembly@0.1.0", "dist": { - "shasum": "68be8bad3aeb83d52ac7cab1acc93d9f8a931f6a" + "shasum": "4aef25e4632a9808690b2f6a71eab1539b25097a" }, - "_resolved": "git+https://github.com/gwicke/tassembly.git#df02bf851bad88ed9264f205095cdbb1d32f1385", + "_resolved": "git+https://github.com/gwicke/tassembly.git#83e0a6588e19af16737fcb526e097250a3560325", "_from": "tassembly@git+https://github.com/gwicke/tassembly.git#master" } diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js index de5ab28..c5b3617 100644 --- a/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js @@ -20,6 +20,7 @@ */ "use strict"; +var attrSanitizer = new (require('./AttributeSanitizer.js').AttributeSanitizer)(); function TAssembly () { this.uid = 0; @@ -30,6 +31,8 @@ function TAssembly () { this.partials = {}; } +TAssembly.prototype.attrSanitizer = attrSanitizer; + TAssembly.prototype._getUID = function() { this.uid++; return this.uid; @@ -40,7 +43,7 @@ var simpleExpression = /^(?:[.][a-zA-Z_$]+)+$/, + '(?:\\[(?:[0-9.]+|["\'][a-zA-Z0-9_$]+["\'])\\])?' + '(?:\\((?:[0-9a-zA-Z_$.]+|["\'][a-zA-Z0-9_$\\.]+["\'])\\))?' + ')+$'), - simpleBindingVar = /^(m|p|p[sc]?|rm|i|c)\.([a-zA-Z_$]+)$/; + simpleBindingVar = /^(m|p(?:[cm]s?)?|r[mc]|i|c)\.([a-zA-Z_$]+)$/; // Rewrite an expression so that it is referencing the context where necessary function rewriteExpression (expr) { @@ -55,7 +58,7 @@ function rewriteExpression (expr) { if (/^$|[\[:(]/.test(c)) { res += c; if (/[pri]/.test(expr[i+1]) - && /(?:p[sc]?|rm|i)(?:[\.\)\]}]|$)/.test(expr.slice(i+1))) { + && /(?:p(?:[cm]s?)?|r[mc]|i)(?:[\.\)\]}]|$)/.test(expr.slice(i+1))) { // Prefix with full context object; only the local view model // 'm' and the context 'c' is defined locally for now res += 'c.'; @@ -128,7 +131,7 @@ function evalExprStub(expr) { } else if (/^'/.test(expr)) { // String literal return JSON.stringify(expr.slice(1,-1).replace(/\\'/g, "'")); - } else if (/[cm]\.?[a-zA-Z_$]*$/.test(expr)) { + } else if (/^[cm](?:\.[a-zA-Z_$]*)?$/.test(expr)) { // Simple context or model reference return expr; } else { @@ -140,7 +143,7 @@ function evalExprStub(expr) { } } -TAssembly.prototype._getTemplate = function (tpl, cb) { +TAssembly.prototype._getTemplate = function (tpl, ctx) { if (Array.isArray(tpl)) { return tpl; } else { @@ -148,61 +151,62 @@ TAssembly.prototype._getTemplate = function (tpl, cb) { if (/^'/.test(tpl)) { tpl = tpl.slice(1,-1).replace(/\\'/g, "'"); } - return this.partials[tpl]; + return ctx.rc.options.partials[tpl]; } }; -TAssembly.prototype.ctlFn_foreach = function(options, ctx, cb) { +TAssembly.prototype.ctlFn_foreach = function(options, ctx) { // deal with options var iterable = this._evalExpr(options.data, ctx); if (!iterable || !Array.isArray(iterable)) { return; } // worth compiling the nested template - var tpl = this.compile(this._getTemplate(options.tpl), cb), + var tpl = this.compile(this._getTemplate(options.tpl), ctx), l = iterable.length, newCtx = this.childContext(null, ctx); for(var i = 0; i < l; i++) { // Update the view model for each iteration newCtx.m = iterable[i]; - newCtx.ps[0] = iterable[i]; + newCtx.pms[0] = iterable[i]; // And set the iteration index newCtx.i = i; tpl(newCtx); } }; -TAssembly.prototype.ctlFn_template = function(options, ctx, cb) { + +TAssembly.prototype.ctlFn_template = function(options, ctx) { // deal with options var model = this._evalExpr(options.data, ctx), newCtx = this.childContext(model, ctx), - tpl = this._getTemplate(options.tpl); + tpl = this._getTemplate(options.tpl, ctx); if (tpl) { - this.render(tpl, newCtx, cb); + this._render(tpl, newCtx); } }; -TAssembly.prototype.ctlFn_with = function(options, ctx, cb) { +TAssembly.prototype.ctlFn_with = function(options, ctx) { var model = this._evalExpr(options.data, ctx), - tpl = this._getTemplate(options.tpl); + tpl = this._getTemplate(options.tpl, ctx); if (model && tpl) { var newCtx = this.childContext(model, ctx); - this.render(tpl, newCtx, cb); + this._render(tpl, newCtx); } else { // TODO: hide the parent element similar to visible } }; -TAssembly.prototype.ctlFn_if = function(options, ctx, cb) { +TAssembly.prototype.ctlFn_if = function(options, ctx) { if (this._evalExpr(options.data, ctx)) { - this.render(options.tpl, ctx, cb); + this._render(options.tpl, ctx); } }; -TAssembly.prototype.ctlFn_ifnot = function(options, ctx, cb) { +TAssembly.prototype.ctlFn_ifnot = function(options, ctx) { if (!this._evalExpr(options.data, ctx)) { - this.render(options.tpl, ctx, cb); + this._render(options.tpl, ctx); } }; -TAssembly.prototype.ctlFn_attr = function(options, ctx, cb) { +TAssembly.prototype.ctlFn_attr = function(options, ctx) { var self = this, attVal; Object.keys(options).forEach(function(name) { @@ -226,8 +230,16 @@ TAssembly.prototype.ctlFn_attr = function(options, ctx, cb) { attVal = null; } } - if (attVal !== null) { - cb(' ' + name + '="' + if (attVal) { + if (name === 'href' || name === 'src') { + attVal = this.attrSanitizer.sanitizeHref(attVal); + } else if (name === 'style') { + attVal = this.attrSanitizer.sanitizeStyle(attVal); + } + } + // Omit attributes if they are undefined, null or false + if (attVal || attVal === 0 || attVal === '') { + ctx.cb(' ' + name + '="' // TODO: context-sensitive sanitization on href / src / style // (also in compiled version at end) + attVal.toString().replace(/"/g, '"') @@ -237,7 +249,7 @@ TAssembly.prototype.ctlFn_attr = function(options, ctx, cb) { }; // Actually handled inline for performance -//TAssembly.prototype.ctlFn_text = function(options, ctx, cb) { +//TAssembly.prototype.ctlFn_text = function(options, ctx) { // cb(this._evalExpr(options, ctx)); //}; @@ -251,30 +263,20 @@ TAssembly.prototype._xmlEncoder = function(c){ } }; -TAssembly.prototype.Context = function(model, parentContext) { - this.m = model; - this.c = this; - if (parentContext) { - this.ps = [model].concat(parentContext.ps); - this.p = parentContext.m; - this.pc = parentContext; - this.rm = parentContext.rm; - } else { - this.ps = [model]; - this.rm = model; - } -}; - +// Create a child context using plain old objects TAssembly.prototype.childContext = function (model, parCtx) { return { m: model, - p: parCtx.m, - ps: [model].concat(parCtx.ps), - rm: parCtx.rm + pc: parCtx, + pm: parCtx.m, + pms: [model].concat(parCtx.ps), + rm: parCtx.rm, + rc: parCtx.rc, // the root context + cb: parCtx.cb }; }; -TAssembly.prototype._assemble = function(template, cb) { +TAssembly.prototype._assemble = function(template, options) { var code = [], cbExpr = []; @@ -287,15 +289,6 @@ TAssembly.prototype._assemble = function(template, cb) { } code.push('var val;'); - if (!cb) { - // top-level template: set up accumulator - code.push('var res = "", cb = function(bit) { res += bit; };'); - // and the top context - code.push('var m = c;'); - code.push('c = { rm: m, m: m, ps: [c]};'); - } else { - code.push('var m = c.m;'); - } var self = this, l = template.length; @@ -344,7 +337,17 @@ TAssembly.prototype._assemble = function(template, cb) { code.push('if(!val) { val = null; }'); } } - pushCode("if (val !== null) { " + // attribute sanitization + if (name === 'href' || name === 'src') { + code.push("if (val) {" + + "val = this.attrSanitizer.sanitizeHref(val);" + + "}"); + } else if (name === 'style') { + code.push("if (val) {" + + "val = this.attrSanitizer.sanitizeStyle(val);" + + "}"); + } + pushCode("if (val || val === 0 || val === '') { " // escape the attribute value // TODO: hook up context-sensitive sanitization for href, // src, style @@ -367,7 +370,7 @@ TAssembly.prototype._assemble = function(template, cb) { // call the method code.push('this[' + JSON.stringify('ctlFn_' + ctlFn) // store in cache / unique key rather than here - + '](this.cache["' + uid + '"], c, cb);'); + + '](this.cache["' + uid + '"], c);'); code.push('} catch(e) {'); code.push("console.error('Unsupported control function:', " + JSON.stringify(ctlFn) + ", e.stack);"); @@ -377,12 +380,8 @@ TAssembly.prototype._assemble = function(template, cb) { console.error('Unsupported type:', bit); } } - if (!cb) { - pushCode("return res;"); - } else { - // Force out the cb - pushCode(""); - } + // Force out the cb + pushCode(""); return code.join('\n'); }; @@ -395,26 +394,44 @@ TAssembly.prototype._assemble = function(template, cb) { * return) * @return {string} Rendered template string */ -TAssembly.prototype.render = function(template, ctx_or_model, cb) { - var res, ctx; - if (!cb) { - res = []; - cb = function(bit) { - res.push(bit); +TAssembly.prototype.render = function(template, model, options) { + if (!options) { options = {}; } + + // Create the root context + var ctx = { + rm: model, + m: model, + pms: [model], + rc: null, + g: options.globals, + cb: options.cb, + options: options + }; + ctx.rc = ctx; + + var res = ''; + if (!options.cb) { + ctx.cb = function(bit) { + res += bit; }; - // c is really the model. Wrap it into a context. - ctx = { rm: ctx_or_model, m: ctx_or_model, ps: [ctx_or_model]}; - } else { - ctx = ctx_or_model; } + this._render(template, ctx); + + if (!options.cb) { + return res; + } +}; + +TAssembly.prototype._render = function (template, ctx) { // Just call a cached compiled version if available if (template.__cachedFn) { - return template.__cachedFn.call(this, ctx, cb); + return template.__cachedFn(ctx); } var self = this, - l = template.length; + l = template.length, + cb = ctx.cb; for(var i = 0; i < l; i++) { var bit = template[i], c = bit.constructor, @@ -435,7 +452,7 @@ TAssembly.prototype.render = function(template, ctx_or_model, cb) { } else { try { - self['ctlFn_' + ctlFn](ctlOpts, ctx, cb); + self['ctlFn_' + ctlFn](ctlOpts, ctx); } catch(e) { console.error('Unsupported control function:', bit, e); } @@ -444,9 +461,6 @@ TAssembly.prototype.render = function(template, ctx_or_model, cb) { console.error('Unsupported type:', bit); } } - if(res) { - return res.join(''); - } }; @@ -458,25 +472,40 @@ TAssembly.prototype.render = function(template, ctx_or_model, cb) { * return) * @return {function} template function(model) */ -TAssembly.prototype.compile = function(template, cb) { - var self = this; +TAssembly.prototype.compile = function(template, options) { + var self = this, opts = options || {}; if (template.__cachedFn) { - // - return function(ctx) { - return template.__cachedFn.call(self, ctx, cb); - }; + return template.__cachedFn; + } + + var code = ''; + if (!opts.cb) { + // top-level template: set up accumulator + code += 'var res = "", cb = function(bit) { res += bit; };\n'; + // and the top context + code += 'var m = c;\n'; + code += 'c = { rc: null, rm: m, m: m, pms: [m], ' + + 'g: options.globals, options: options, cb: cb }; c.rc = c;\n'; + } else { + code += 'var m = c.m, cb = c.cb;\n'; } - var code = this._assemble(template, cb); + + code += this._assemble(template, opts); + + if (!opts.cb) { + code += 'return res;'; + } + //console.log(code); - var fn = new Function('c', 'cb', code); - template.__cachedFn = fn; - // bind this and cb - var res = function (ctx) { - return fn.call(self, ctx, cb); - }; - return res; -}; -module.exports = { - TAssembly: TAssembly + var fn = new Function('c', 'options', code), + boundFn = function(ctx) { + return fn.call(self, ctx, opts); + }; + template.__cachedFn = boundFn; + + return boundFn; }; + +// TODO: cut down interface further as it's all static now +module.exports = new TAssembly(); diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/test1.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/test1.js index 1625c06..280c0f0 100644 --- a/knockoff-node/node_modules/knockoff/node_modules/tassembly/test1.js +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/test1.js @@ -1,9 +1,8 @@ -var TAssembly = require('./tassembly.js').TAssembly; +var ta = require('./tassembly.js'); var startTime = new Date(), vars = {}, - template = (new TAssembly()) - .compile(['',['text','m.body'],'']); + template = ta.compile(['',['text','m.body'],'']); vars.echo = function(e) { return e; }; diff --git a/knockoff-node/node_modules/knockoff/package.json b/knockoff-node/node_modules/knockoff/package.json index 99cc854..e7bff1d 100644 --- a/knockoff-node/node_modules/knockoff/package.json +++ b/knockoff-node/node_modules/knockoff/package.json @@ -6,13 +6,19 @@ "tassembly": "git+https://github.com/gwicke/tassembly.git#master", "domino": "1.x.x" }, + "devDependencies": { + "pegjs": "~0.8.0" + }, + "scripts": { + "prepublish": "node makeKnockoutExpressionParser.js" + }, "readme": "KnockOff\n========\n\n[KnockoutJS](http://knockoutjs.com/) to [TAssembly](https://github.com/gwicke/tassembly) compiler\n", "readmeFilename": "README.md", "description": "KnockOff ========", "_id": "knockoff@0.1.0", "dist": { - "shasum": "de7f66f9c3c5c428e015e92e81f34efd14da9625" + "shasum": "74a897e7635e36f0220fd956a614ae34790c1634" }, - "_resolved": "git+https://github.com/gwicke/knockoff#9195c4a111c52f1c27fb2130d42c4ce978c3500d", + "_resolved": "git+https://github.com/gwicke/knockoff#d0288d7e2d4c8d266025320326957f97af81139f", "_from": "knockoff@git+https://github.com/gwicke/knockoff#master" } diff --git a/knockoff-node/node_modules/knockoff/testKnockOff.js b/knockoff-node/node_modules/knockoff/testKnockOff.js deleted file mode 100644 index 2851f12..0000000 --- a/knockoff-node/node_modules/knockoff/testKnockOff.js +++ /dev/null @@ -1,79 +0,0 @@ -var KO = require('./knockoff.js'), - c = require('./KnockoutCompiler'); - - -var ko = new KO.KnockOff(); -// Register a partial -ko.registerPartial('testPartial', - ''); - -var testData = { - arr: [1,2,3,4,5,6,7], - items: [ - { - key: 'key1', - value: 'value1' - }, - { - key: 'key2', - value: 'value2' - } - ], - obj: { - foo: "foo", - bar: "bar" - }, - name: 'Some name', - content: 'Some sample content', - id: 'mw1234', - predTrue: true, - predFalse: false, - test: function(i) { - return i + 'test'; - } -}; - - -function test(input) { - console.log('========================='); - console.log('Knockout template:'); - console.log(input); - console.log('TAssembly JSON:'); - console.log(JSON.stringify(c.compile(input), null, 2)); - console.log('Rendered HTML:'); - var tpl = ko.compile(input); - console.log(tpl(testData)); -} - -test('
    ' - + '
    '); - -test('
    Hello world
    '); -test('
    Hello world
    '); -// constant string -test('
    Hello world
    '); - -// constant number - -test('
    Hello world
    '); - -// arithmetic expression -test('
    Hello world
    '); - -test('hello worldfoo
    ipsum
    '); - -test('hello worldfoo
    hopefully foohopefully bar
    '); - -test('hello world
    '); - -test('
    '); - -test('
    '); - -test('
    '); - -test('
    '); - -test('
    '); - -test('
    '); diff --git a/knockoff-node/test1.js b/knockoff-node/test1.js index c2b484f..8c01832 100644 --- a/knockoff-node/test1.js +++ b/knockoff-node/test1.js @@ -1,8 +1,7 @@ -var KnockOff = require('knockoff').KnockOff; +var ko = require('knockoff'); var startTime = new Date(), vars = {}, - ko = new KnockOff(), template = ko.compile('
    '); for ( n=0; n <= 100000; ++n ) { vars.id = "divid"; diff --git a/knockoff-node/test1b-incid.js b/knockoff-node/test1b-incid.js index 32be8e3..8e33602 100644 --- a/knockoff-node/test1b-incid.js +++ b/knockoff-node/test1b-incid.js @@ -1,8 +1,6 @@ -var KnockOff = require('knockoff').KnockOff; - +var ko = require('knockoff'); var startTime = new Date(), - ko = new KnockOff(), vars = {}, template = ko.compile('
    '); for ( n=0; n <= 100000; ++n ) { diff --git a/knockoff-node/test2-loop-lambda.js b/knockoff-node/test2-loop-lambda.js index 6e702ea..c39377b 100644 --- a/knockoff-node/test2-loop-lambda.js +++ b/knockoff-node/test2-loop-lambda.js @@ -1,4 +1,4 @@ -var ko = new (require('knockoff').KnockOff)(); +var ko = require('knockoff'); function mt_rand () { //[0..1] * PHP mt_getrandmax() diff --git a/knockoff-node/test2-loop.js b/knockoff-node/test2-loop.js index 9e0c677..f067e8b 100644 --- a/knockoff-node/test2-loop.js +++ b/knockoff-node/test2-loop.js @@ -1,4 +1,4 @@ -var ko = new (require('knockoff').KnockOff)(); +var ko = require('knockoff'); function mt_rand () { //[0..1] * PHP mt_getrandmax() diff --git a/knockoff-node/test3-itterator.js b/knockoff-node/test3-itterator.js index f0930f9..096ed95 100644 --- a/knockoff-node/test3-itterator.js +++ b/knockoff-node/test3-itterator.js @@ -1,4 +1,4 @@ -var ko = new (require('knockoff').KnockOff)(); +var ko = require('knockoff'); function mt_rand () { //[0..1] * PHP mt_getrandmax() From bce71c7e39f3dd5c9887f247f862206ec6c30753 Mon Sep 17 00:00:00 2001 From: Matt Walker Date: Thu, 3 Apr 2014 20:39:27 -0700 Subject: [PATCH 54/72] Tassembly php tests --- tassembly-php/test1.php | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 tassembly-php/test1.php diff --git a/tassembly-php/test1.php b/tassembly-php/test1.php new file mode 100644 index 0000000..91fc10a --- /dev/null +++ b/tassembly-php/test1.php @@ -0,0 +1,20 @@ +",["text","m.body"],""]'; + +$ir = json_decode( $template, true ); + +for ( $n=0; $n <= 100000; ++$n ) { + $model = array( + 'id' => 'divid', + 'body' => 'my div\'s body' + ); + $html = $ta->render( $ir, $model ); +} +echo "time: " . ( microtime(true) - $time_start ) . "\n"; +echo "$html\n"; + From 7eb342d60dae46fe14c58dd67ae8f2fe60ced043 Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Thu, 3 Apr 2014 23:23:01 -0700 Subject: [PATCH 55/72] Add missing TAssembly copy --- lib/tassembly-php/TAssembly.php | 342 ++++++++++++++++++++++++++++++++ 1 file changed, 342 insertions(+) create mode 100644 lib/tassembly-php/TAssembly.php diff --git a/lib/tassembly-php/TAssembly.php b/lib/tassembly-php/TAssembly.php new file mode 100644 index 0000000..e3dba48 --- /dev/null +++ b/lib/tassembly-php/TAssembly.php @@ -0,0 +1,342 @@ + array()); + } + + $ctx = Array ( + 'rm' => &$model, + 'm' => &$model, + 'pm' => null, + 'pms' => array(), + 'pcs' => array(), + 'g' => isset($options['globals']) ? $options['globals'] : Array(), + 'options' => &$options + ); + $ctx['rc'] = &$ctx; + + return TAssembly::render_context( $ir, $ctx ); + } + + + protected static function render_context( array &$ir, Array &$ctx ) { + $bits = ''; + static $builtins = Array ( + 'foreach' => true, + 'attr' => true, + 'if' => true, + 'ifnot' => true, + 'with' => true, + 'template' => true, + ); + + foreach ( $ir as $bit ) { + if ( is_array( $bit ) ) { + // Control function + $ctlFn = $bit[0]; + $ctlOpts = $bit[1]; + if ( $ctlFn === 'text' ) { + if ( preg_match( '/^m\.([a-zA-Z_$]+)$/', $ctlOpts, $matches) ) { + $val = $ctx['m'][$matches[1]]; + } else { + $val = TAssembly::evaluate_expression( $ctlOpts, $ctx ); + } + if ( ! is_null( $val ) ) { + $bits .= htmlspecialchars( $val, ENT_NOQUOTES ); + } + } elseif ( $ctlFn === 'attr' ) { + foreach($ctlOpts as $name => &$val) { + if (is_string($val)) { + if ( preg_match( '/^m\.([a-zA-Z_$]+)$/', $val, $matches) ) { + $attVal = $ctx['m'][$matches[1]]; + } else { + $attVal = TAssembly::evaluate_expression( $ctlOpts, $ctx ); + } + } else { + // must be an object + $attVal = $val['v'] ? $val['v'] : ''; + if (is_array($val['app'])) { + foreach ($val['app'] as $appItem) { + if (isset($appItem['if']) + && self::evaluate_expression($appItem['if'], $ctx)) { + $attVal .= $appItem['v'] ? $appItem['v'] : ''; + } + if (isset($appItem['ifnot']) + && ! self::evaluate_expression($appItem['ifnot'], $ctx)) { + $attVal .= $appItem['v'] ? $appItem['v'] : ''; + } + } + } + if (!$attVal && $val['v'] === null) { + $attVal = null; + } + } + /* + * TODO: hook up sanitization to MW sanitizer via options? + if ($attVal != null) { + if ($name === 'href' || $name === 'src') { + $attVal = self::sanitizeHref($attVal); + } else if ($name === 'style') { + $attVal = self::sanitizeStyle($attVal); + } + } + */ + if ($attVal != null) { + $escaped = htmlspecialchars( $attVal, ENT_COMPAT ) . '"'; + $bits .= ' ' . $name . '="' . $escaped; + } + } + } elseif ( isset($builtins[$ctlFn]) ) { + $ctlFn = 'ctlFn_' . $ctlFn; + $bits .= self::$ctlFn( $ctlOpts, $ctx ); + } else { + throw new TAssemblyException( "Function '$ctlFn' does not exist in the context.", $bit ); + } + } else { + $bits .= $bit; + } + } + + return $bits; + } + + /** + * Evaluate an expression in the given context + * + * Note: This uses php eval(); we are relying on the compiler to + * make sure nothing dangerous is passed in. + * + * @param $expr + * @param Array $context + * @return mixed|string + */ + protected static function evaluate_expression( &$expr, Array &$context ) { + // Simple variable + if ( preg_match( '/^m\.([a-zA-Z_$]+)$/', $expr, $matches) ) { + return $context['m'][$matches[1]]; + } + + // String literal + if ( preg_match( '/^\'.*\'$/', $expr ) ) { + return str_replace( '\\\'', '\'', substr( $expr, 1, -1 ) ); + } + + // More complex var + if ( preg_match( '/^(m|p(?:[cm]s?)?|rm|i|c)(?:\.([a-zA-Z_$]+))?$/', $expr, $matches ) ) { + $x = $matches[0]; + $member = $matches[1]; + $key = isset($matches[2]) ? $matches[2] : false; + if ( $key && is_array( $context[$member] ) ) { + return ( array_key_exists( $key, $context[$member] ) ? + $context[$member][$key] : '' ); + } else { + $res = $context[$member]; + return $res ? $res : ''; + } + } + + // More complex expression which must be rewritten to use PHP style accessors + $newExpr = self::rewriteExpression( $expr ); + //echo $newExpr . "\n"; + $model = $context['m']; + return eval('return ' . $newExpr . ';'); + } + + /** + * Rewrite a simple expression to be keyed on the context + * + * Allow objects { foo: 'basf', bar: contextVar.arr[5] } + * + * TODO: error checking for member access + */ + protected static function rewriteExpression( &$expr ) { + $result = ''; + $i = -1; + $c = ''; + $len = strlen( $expr ); + $inArray = false; + + do { + if ( preg_match( '/^$|[\[:(]/', $c ) ) { + // Match the empty string (start of expression), or one of [, :, ( + if ( $inArray ) { + // close the array reference + $result .= "']"; + $inArray = false; + } + if ($c != ':') { + $result .= $c; + } + $remainingExpr = substr( $expr, $i+1 ); + if ( preg_match( '/[pri]/', $expr[$i+1] ) + && preg_match( '/(?:p[cm]s?|r[cm]|i)(?:[\.\)\]}]|$)/', $remainingExpr ) ) + { + // This is an expression referencing the parent, root, or iteration scopes + $result .= "\$context['"; + $inArray = true; + } else if ( preg_match( '/^m(\.)?/', $remainingExpr, $matches ) ) { + if (count($matches) > 1) { + $result .= "\$model['"; + $i += 2; + $inArray = true; + } else { + $result .= '$model'; + $i++; + } + } else if ( $c === ':' ) { + $result .= '=>'; + } else if ( preg_match('/^([a-zA-Z_$][a-zA-Z0-9_$]*):/', + $remainingExpr, $match) ) + { + // unquoted object key + $result .= "'" . $match[1] . "'"; + $i += strlen($match[1]) + 2; + } + + + } elseif ( $c === "'") { + // String literal, just skip over it and add it + $match = array(); + preg_match( '/^(?:[^\\\']+|\\\')*\'/', substr( $expr, $i + 1 ), $match ); + if ( !empty( $match ) ) { + $result .= $c . $match[0]; + $i += strlen( $match[0] ); + } else { + throw new TAssemblyException( "Caught truncated string!" . $expr ); + } + } elseif ( $c === "{" ) { + // Object + $result .= 'Array('; + + if ( preg_match('/^([a-zA-Z_$][a-zA-Z0-9_$]*):/', + substr( $expr, $i+1 ), $match) ) + { + // unquoted object key + $result .= "'" . $match[1] . "'"; + $i += strlen($match[1]); + } + + } elseif ( $c === "}" ) { + // End of object + $result .= ')'; + } elseif ( $c === "." ) { + if ( $inArray ) { + $result .= "']['"; + } else { + $inArray = true; + $result .= "['"; + } + } else { + // Anything else is sane as it conforms to the quite + // restricted TAssembly spec, just pass it through + $result .= $c; + } + + $i++; + } while ( $i < $len && $c = $expr[$i] ); + if ($inArray) { + // close an open array reference + $result .= "']"; + } + return $result; + } + + protected static function createChildCtx ( &$parCtx, &$model ) { + $ctx = Array( + 'm' => &$model, + 'pc' => &$parCtx, + 'pm' => &$parCtx['m'], + 'pms' => array_merge(Array($model), $parCtx['pms']), + 'rm' => &$parCtx['rm'], + 'rc' => &$parCtx['rc'], + ); + $ctx['pcs'] = array_merge(Array($ctx), $parCtx['pcs']); + return $ctx; + } + + protected static function getTemplate(&$tpl, &$ctx) { + if (is_array($tpl)) { + return $tpl; + } else { + // String literal: strip quotes + $tpl = preg_replace('/^\'(.*)\'$/', '$1', $tpl); + return $ctx['rc']['options']['partials'][$tpl]; + } + } + + protected static function ctlFn_foreach (&$opts, &$ctx) { + $iterable = self::evaluate_expression($opts['data'], $ctx); + if (!is_array($iterable)) { + return ''; + } + $bits = array(); + $newCtx = self::createChildCtx($ctx, null); + $len = count($iterable); + for ($i = 0; $i < $len; $i++) { + $newCtx['m'] = &$iterable[$i]; + $newCtx['pms'][0] = &$iterable[$i]; + $newCtx['i'] = $i; + $bits[] = self::render_context($opts['tpl'], $newCtx); + } + return join('', $bits); + } + + protected static function ctlFn_template (&$opts, &$ctx) { + $model = $opts['data'] ? self::evaluate_expression($opts['data'], $ctx) : $ctx->m; + $tpl = self::getTemplate($opts['tpl'], $ctx); + $newCtx = self::createChildCtx($ctx, $model); + if ($tpl) { + return self::render_context($tpl, $newCtx); + } + } + + protected static function ctlFn_with (&$opts, &$ctx) { + $model = $opts['data'] ? self::evaluate_expression($opts['data'], $ctx) : $ctx->m; + $tpl = self::getTemplate($opts['tpl'], $ctx); + if ($model && $tpl) { + $newCtx = self::createChildCtx($ctx, $model); + return self::render_context($tpl, $newCtx); + } + } + + protected static function ctlFn_if (&$opts, &$ctx) { + if (self::evaluate_expression($opts['data'], $ctx)) { + return self::render_context($opts['tpl'], $ctx); + } + } + + protected static function ctlFn_ifnot (&$opts, &$ctx) { + if (!self::evaluate_expression($opts['data'], $ctx)) { + return self::render_context($opts['tpl'], $ctx); + } + } +} + +class TAssemblyException extends \Exception { + public function __construct($message = "", $ir = '', $code = 0, Exception $previous = null) { + parent::__construct($message,$code,$previous); // TODO: Change the autogenerated stub + } +} From 5ecf41370bbd8bd42a5093ae7edcce77cba4e282 Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Fri, 4 Apr 2014 16:02:02 -0700 Subject: [PATCH 56/72] Update tassembly.js --- .../node_modules/knockoff/knockoff.js | 24 ++++++++++++++++++- .../node_modules/tassembly/package.json | 4 ++-- .../node_modules/tassembly/tassembly.js | 9 +++---- .../node_modules/knockoff/package.json | 4 ++-- 4 files changed, 32 insertions(+), 9 deletions(-) diff --git a/knockoff-node/node_modules/knockoff/knockoff.js b/knockoff-node/node_modules/knockoff/knockoff.js index 64efcee..b88b1d9 100644 --- a/knockoff-node/node_modules/knockoff/knockoff.js +++ b/knockoff-node/node_modules/knockoff/knockoff.js @@ -21,10 +21,32 @@ function compile(template, options) { } } } - return TA.compile(templateASM, options); + if (options && options.toTAssembly) { + return templateASM; + } else { + return TA.compile(templateASM, options); + } } module.exports = { compile: compile }; + +function main () { + var template = ''; + process.stdin.on('readable', function() { + var chunk = process.stdin.read(); + if (chunk !== null) { + template += chunk; + } + }); + process.stdin.on('end', function () { + console.log(JSON.stringify(koCompiler.compile(template))); + }); +} + +if (!module.parent) { + // run as cmdline script + main(); +} diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json b/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json index 253507c..ff8bb0c 100644 --- a/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/package.json @@ -7,8 +7,8 @@ "description": "TAssembly =========", "_id": "tassembly@0.1.0", "dist": { - "shasum": "4aef25e4632a9808690b2f6a71eab1539b25097a" + "shasum": "bc694cea9d034af9fdfec6ee9dcf697da223727f" }, - "_resolved": "git+https://github.com/gwicke/tassembly.git#83e0a6588e19af16737fcb526e097250a3560325", + "_resolved": "git+https://github.com/gwicke/tassembly.git#104a3026b37031f2ea74a1ebe95822aa8901018b", "_from": "tassembly@git+https://github.com/gwicke/tassembly.git#master" } diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js index c5b3617..f97fa3e 100644 --- a/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly.js @@ -55,7 +55,7 @@ function rewriteExpression (expr) { i = -1, c = ''; do { - if (/^$|[\[:(]/.test(c)) { + if (/^$|[\[:(,]/.test(c)) { res += c; if (/[pri]/.test(expr[i+1]) && /(?:p(?:[cm]s?)?|r[mc]|i)(?:[\.\)\]}]|$)/.test(expr.slice(i+1))) { @@ -103,7 +103,8 @@ TAssembly.prototype._evalExpr = function (expression, ctx) { try { return func(ctx); } catch (e) { - console.log(e); + console.error('Error while evaluating ' + expression); + console.error(e); return ''; } } @@ -139,7 +140,7 @@ function evalExprStub(expr) { return '(function() { ' + 'try {' + 'return ' + newExpr + ';' - + '} catch (e) { console.error(e); return "";}})()'; + + '} catch (e) { console.error("Error in " + ' + JSON.stringify(newExpr) +'+": " + e.toString()); return "";}})()'; } } @@ -496,7 +497,7 @@ TAssembly.prototype.compile = function(template, options) { code += 'return res;'; } - //console.log(code); + //console.error(code); var fn = new Function('c', 'options', code), boundFn = function(ctx) { diff --git a/knockoff-node/node_modules/knockoff/package.json b/knockoff-node/node_modules/knockoff/package.json index e7bff1d..c01e7b9 100644 --- a/knockoff-node/node_modules/knockoff/package.json +++ b/knockoff-node/node_modules/knockoff/package.json @@ -17,8 +17,8 @@ "description": "KnockOff ========", "_id": "knockoff@0.1.0", "dist": { - "shasum": "74a897e7635e36f0220fd956a614ae34790c1634" + "shasum": "08d839c0ec5682d25404ceaf3be521018cc309d7" }, - "_resolved": "git+https://github.com/gwicke/knockoff#d0288d7e2d4c8d266025320326957f97af81139f", + "_resolved": "git+https://github.com/gwicke/knockoff#7bf993d7dbdc2656311bfd536c51e73f2822974b", "_from": "knockoff@git+https://github.com/gwicke/knockoff#master" } From 1e40a8c6b1e175e825635ba29a22a8e6f7b4e7a5 Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Fri, 4 Apr 2014 16:02:39 -0700 Subject: [PATCH 57/72] Add full set of tassembly-php tests --- lib/tassembly-php/TAssembly.php | 43 ++++++++++++++++------------- runall.sh | 9 ++++++ tassembly-php/test1.php | 12 +++----- tassembly-php/test1b-incid.php | 16 +++++++++++ tassembly-php/test2-loop-lambda.php | 31 +++++++++++++++++++++ tassembly-php/test2-loop.php | 25 +++++++++++++++++ tassembly-php/test3-itterator.php | 23 +++++++++++++++ 7 files changed, 132 insertions(+), 27 deletions(-) create mode 100644 tassembly-php/test1b-incid.php create mode 100644 tassembly-php/test2-loop-lambda.php create mode 100644 tassembly-php/test2-loop.php create mode 100644 tassembly-php/test3-itterator.php diff --git a/lib/tassembly-php/TAssembly.php b/lib/tassembly-php/TAssembly.php index e3dba48..7cc93ea 100644 --- a/lib/tassembly-php/TAssembly.php +++ b/lib/tassembly-php/TAssembly.php @@ -22,17 +22,13 @@ class TAssembly { * * @return string HTML */ - public static function render( array &$ir, array &$model = array(), Array &$options = null ) { - if ( $options == null ) { - $options = Array('globals' => array()); - } + public static function render( array &$ir, array &$model = array(), Array &$options = Array() ) { $ctx = Array ( 'rm' => &$model, 'm' => &$model, 'pm' => null, 'pms' => array(), - 'pcs' => array(), 'g' => isset($options['globals']) ? $options['globals'] : Array(), 'options' => &$options ); @@ -60,7 +56,7 @@ protected static function render_context( array &$ir, Array &$ctx ) { $ctlOpts = $bit[1]; if ( $ctlFn === 'text' ) { if ( preg_match( '/^m\.([a-zA-Z_$]+)$/', $ctlOpts, $matches) ) { - $val = $ctx['m'][$matches[1]]; + $val = @$ctx['m'][$matches[1]]; } else { $val = TAssembly::evaluate_expression( $ctlOpts, $ctx ); } @@ -71,9 +67,9 @@ protected static function render_context( array &$ir, Array &$ctx ) { foreach($ctlOpts as $name => &$val) { if (is_string($val)) { if ( preg_match( '/^m\.([a-zA-Z_$]+)$/', $val, $matches) ) { - $attVal = $ctx['m'][$matches[1]]; + $attVal = @$ctx['m'][$matches[1]]; } else { - $attVal = TAssembly::evaluate_expression( $ctlOpts, $ctx ); + $attVal = TAssembly::evaluate_expression( $val, $ctx ); } } else { // must be an object @@ -136,7 +132,7 @@ protected static function render_context( array &$ir, Array &$ctx ) { protected static function evaluate_expression( &$expr, Array &$context ) { // Simple variable if ( preg_match( '/^m\.([a-zA-Z_$]+)$/', $expr, $matches) ) { - return $context['m'][$matches[1]]; + return @$context['m'][$matches[1]]; } // String literal @@ -160,7 +156,7 @@ protected static function evaluate_expression( &$expr, Array &$context ) { // More complex expression which must be rewritten to use PHP style accessors $newExpr = self::rewriteExpression( $expr ); - //echo $newExpr . "\n"; + //echo "$expr\n$newExpr\n"; $model = $context['m']; return eval('return ' . $newExpr . ';'); } @@ -180,8 +176,8 @@ protected static function rewriteExpression( &$expr ) { $inArray = false; do { - if ( preg_match( '/^$|[\[:(]/', $c ) ) { - // Match the empty string (start of expression), or one of [, :, ( + if ( preg_match( '/^$|[\[:(,]/', $c ) ) { + // Match the empty string (start of expression), or one of '[:(,' if ( $inArray ) { // close the array reference $result .= "']"; @@ -208,24 +204,27 @@ protected static function rewriteExpression( &$expr ) { } } else if ( $c === ':' ) { $result .= '=>'; - } else if ( preg_match('/^([a-zA-Z_$][a-zA-Z0-9_$]*):/', + } else if ( ( $c === '{' || $c === ',' ) + && preg_match('/^([a-zA-Z_$][a-zA-Z0-9_$]*):/', $remainingExpr, $match) ) { // unquoted object key $result .= "'" . $match[1] . "'"; - $i += strlen($match[1]) + 2; + $i += strlen($match[1]); } } elseif ( $c === "'") { // String literal, just skip over it and add it $match = array(); - preg_match( '/^(?:[^\\\']+|\\\')*\'/', substr( $expr, $i + 1 ), $match ); + $remainingExpr = substr( $expr, $i+1 ); + preg_match( '/^(?:[^\\\\\']+|\\\\\'|[\\\\])*\'/', $remainingExpr, $match ); if ( !empty( $match ) ) { $result .= $c . $match[0]; $i += strlen( $match[0] ); } else { - throw new TAssemblyException( "Caught truncated string!" . $expr ); + throw new TAssemblyException( "Caught truncated string in " . + json_encode($expr) ); } } elseif ( $c === "{" ) { // Object @@ -249,6 +248,12 @@ protected static function rewriteExpression( &$expr ) { $inArray = true; $result .= "['"; } + } else if ( $c === ')' && $inArray ) { + if ( $inArray ) { + $result .= "']"; + $inArray = false; + } + $result .= $c; } else { // Anything else is sane as it conforms to the quite // restricted TAssembly spec, just pass it through @@ -256,7 +261,8 @@ protected static function rewriteExpression( &$expr ) { } $i++; - } while ( $i < $len && $c = $expr[$i] ); + $c = @$expr[$i]; + } while ( $i < $len); if ($inArray) { // close an open array reference $result .= "']"; @@ -273,7 +279,6 @@ protected static function createChildCtx ( &$parCtx, &$model ) { 'rm' => &$parCtx['rm'], 'rc' => &$parCtx['rc'], ); - $ctx['pcs'] = array_merge(Array($ctx), $parCtx['pcs']); return $ctx; } @@ -293,7 +298,7 @@ protected static function ctlFn_foreach (&$opts, &$ctx) { return ''; } $bits = array(); - $newCtx = self::createChildCtx($ctx, null); + $newCtx = self::createChildCtx($ctx, $ctx); $len = count($iterable); for ($i = 0; $i < $len; $i++) { $newCtx['m'] = &$iterable[$i]; diff --git a/runall.sh b/runall.sh index 296516c..c3252e3 100755 --- a/runall.sh +++ b/runall.sh @@ -109,6 +109,15 @@ runTestPHP \ "test2 lambda" "test2-loop-lambda.php" \ "test3" "test3-itterator.php" +runTestPHP \ + "TAssembly" \ + tassembly-php \ + "test1" "test1.php" \ + "test1b" "test1b-incid.php" \ + "test2" "test2-loop.php" \ + "test2 lambda" "test2-loop-lambda.php" \ + "test3" "test3-itterator.php" + runTestPHP \ "MediaWiki Templates" \ mediawiki \ diff --git a/tassembly-php/test1.php b/tassembly-php/test1.php index 91fc10a..d70e80d 100644 --- a/tassembly-php/test1.php +++ b/tassembly-php/test1.php @@ -2,18 +2,14 @@ require_once( '../lib/tassembly-php/TAssembly.php' ); $time_start = microtime(true); - -$ta = new TAssembly\TAssembly(); $template = '["",["text","m.body"],""]'; - $ir = json_decode( $template, true ); +$model = array(); for ( $n=0; $n <= 100000; ++$n ) { - $model = array( - 'id' => 'divid', - 'body' => 'my div\'s body' - ); - $html = $ta->render( $ir, $model ); + $model['id'] = 'divid'; + $model['body'] = 'my div\'s body'; + $html = TAssembly\TAssembly::render( $ir, $model ); } echo "time: " . ( microtime(true) - $time_start ) . "\n"; echo "$html\n"; diff --git a/tassembly-php/test1b-incid.php b/tassembly-php/test1b-incid.php new file mode 100644 index 0000000..ab410d5 --- /dev/null +++ b/tassembly-php/test1b-incid.php @@ -0,0 +1,16 @@ +",["text","m.body"],""]'; +$ir = json_decode( $template, true ); + +$model = array(); +for ( $n=0; $n <= 100000; ++$n ) { + $model['id'] = "divid$n"; + $model['body'] = 'my div\'s body'; + $html = TAssembly\TAssembly::render( $ir, $model ); +} +echo "time: " . ( microtime(true) - $time_start ) . "\n"; +echo "$html\n"; + diff --git a/tassembly-php/test2-loop-lambda.php b/tassembly-php/test2-loop-lambda.php new file mode 100644 index 0000000..b0617bf --- /dev/null +++ b/tassembly-php/test2-loop-lambda.php @@ -0,0 +1,31 @@ +",["foreach",{"data":"m.items","tpl":["",["text","rc.g.getvalues(m)"],""]}],"\n"]', + true); + +$options = Array( + 'globals' => Array( + 'getvalues' => function ( $key ) { + global $items; + return '' . $items[$key]; + } + ) +); + + +for ( $n=0; $n <= 1000; ++$n ) { + $vars['items'] = array_keys( $items ); + $vars['id'] = "divid"; + $vars['body'] = 'my div\'s body'; + $html = TAssembly\TAssembly::render( $template, $vars, $options ); +} +echo "time: " . ( microtime(true) - $time_start ) . "\n"; +//echo "$html\n"; + diff --git a/tassembly-php/test2-loop.php b/tassembly-php/test2-loop.php new file mode 100644 index 0000000..c3f7f6d --- /dev/null +++ b/tassembly-php/test2-loop.php @@ -0,0 +1,25 @@ +",["foreach",{"data":"m.m_items","tpl":["",["text","m.val"],""]}],"\n"]', + true); + +for ( $n=0; $n <= 1000; ++$n ) { + $vars['id'] = "divid"; + $vars['body'] = 'my div\'s body'; + $m_items = array(); + foreach ( $items as $key => $val ) { + $m_items[] = array( 'key'=>$key, 'val'=>$val ); + } + $vars['m_items'] = $m_items; + $html = TAssembly\TAssembly::render( $template, $vars ); +} +echo "time: " . ( microtime(true) - $time_start ) . "\n"; +//echo "$html\n"; + diff --git a/tassembly-php/test3-itterator.php b/tassembly-php/test3-itterator.php new file mode 100644 index 0000000..4fca311 --- /dev/null +++ b/tassembly-php/test3-itterator.php @@ -0,0 +1,23 @@ +",["foreach",{"data":"m.items","tpl":["

    ",["text","m"],"

    "]}],"\n"]', + true); + +for ( $n=0; $n <= 1000; ++$n ) { + $key = array_rand( $items ); + $items[$key] = 'b:'.mt_rand(); + $vars['items'] = $items; + $vars['id'] = "divid"; + $vars['body'] = 'my div\'s body'; + $html = TAssembly\TAssembly::render( $template, $vars ); +} +echo "time: " . ( microtime(true) - $time_start ) . "\n"; +//echo "$html\n"; + From defc1799b86d02ec84c52b0e265ddb59de412a9c Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Fri, 4 Apr 2014 16:02:59 -0700 Subject: [PATCH 58/72] Fix spacebars-tassembly --- handlebars-htmljs-node/spacebars-tassembly/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/handlebars-htmljs-node/spacebars-tassembly/index.js b/handlebars-htmljs-node/spacebars-tassembly/index.js index eb196d3..0289f37 100644 --- a/handlebars-htmljs-node/spacebars-tassembly/index.js +++ b/handlebars-htmljs-node/spacebars-tassembly/index.js @@ -2,7 +2,7 @@ // (instead of to htmljs) var HTML = require('../html-tools'); var Spacebars = require('../spacebars-compiler'); -var ta = new (require('../../knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly').TAssembly)(); +var ta = require('../../knockoff-node/node_modules/knockoff/node_modules/tassembly/tassembly'); HTML.toQT = function(node, parentComponent) { var result = []; From 66f1aee713996ecb9edc30167bc36ff255959326 Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Fri, 4 Apr 2014 16:56:32 -0700 Subject: [PATCH 59/72] Run tassembly / PHP before lightncandy as that takes forever --- runall.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/runall.sh b/runall.sh index c3252e3..30c3123 100755 --- a/runall.sh +++ b/runall.sh @@ -92,8 +92,8 @@ runTestNode \ "test3" "test3-itterator.js" runTestPHP \ - "Handlebars lightncandy" \ - handlebars-lightncandy-php \ + "TAssembly" \ + tassembly-php \ "test1" "test1.php" \ "test1b" "test1b-incid.php" \ "test2" "test2-loop.php" \ @@ -101,8 +101,8 @@ runTestPHP \ "test3" "test3-itterator.php" runTestPHP \ - "Mustache" \ - mustache \ + "Handlebars lightncandy" \ + handlebars-lightncandy-php \ "test1" "test1.php" \ "test1b" "test1b-incid.php" \ "test2" "test2-loop.php" \ @@ -110,8 +110,8 @@ runTestPHP \ "test3" "test3-itterator.php" runTestPHP \ - "TAssembly" \ - tassembly-php \ + "Mustache" \ + mustache \ "test1" "test1.php" \ "test1b" "test1b-incid.php" \ "test2" "test2-loop.php" \ From d09a0cc3de43691db2205f6b79bce77d64a316a7 Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Fri, 4 Apr 2014 19:00:13 -0700 Subject: [PATCH 60/72] Update TAssembly and its benchmarks to namespace-less version --- lib/tassembly-php/TAssembly.php | 3 +-- tassembly-php/test1.php | 2 +- tassembly-php/test1b-incid.php | 2 +- tassembly-php/test2-loop-lambda.php | 2 +- tassembly-php/test2-loop.php | 2 +- tassembly-php/test3-itterator.php | 2 +- 6 files changed, 6 insertions(+), 7 deletions(-) diff --git a/lib/tassembly-php/TAssembly.php b/lib/tassembly-php/TAssembly.php index 7cc93ea..07196f6 100644 --- a/lib/tassembly-php/TAssembly.php +++ b/lib/tassembly-php/TAssembly.php @@ -1,5 +1,4 @@ -$key, 'val'=>$val ); } $vars['m_items'] = $m_items; - $html = TAssembly\TAssembly::render( $template, $vars ); + $html = TAssembly::render( $template, $vars ); } echo "time: " . ( microtime(true) - $time_start ) . "\n"; //echo "$html\n"; diff --git a/tassembly-php/test3-itterator.php b/tassembly-php/test3-itterator.php index 4fca311..266e61f 100644 --- a/tassembly-php/test3-itterator.php +++ b/tassembly-php/test3-itterator.php @@ -16,7 +16,7 @@ $vars['items'] = $items; $vars['id'] = "divid"; $vars['body'] = 'my div\'s body'; - $html = TAssembly\TAssembly::render( $template, $vars ); + $html = TAssembly::render( $template, $vars ); } echo "time: " . ( microtime(true) - $time_start ) . "\n"; //echo "$html\n"; From cc30581d499e00427c9652724d34426e8a4ac017 Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Mon, 14 Apr 2014 15:15:23 -0700 Subject: [PATCH 61/72] Update knockoff dependencies --- .../knockoff/KnockoutExpressionParser.js | 1308 +++++++++++++++++ .../knockoff/KnockoutExpressionParser.pegjs | 99 ++ .../knockoff/makeKnockoutExpressionParser.js | 12 + .../tassembly/AttributeSanitizer.js | 210 +++ .../knockoff/testCaseGenerator.js | 171 +++ .../node_modules/knockoff/tests.json | 868 +++++++++++ 6 files changed, 2668 insertions(+) create mode 100644 knockoff-node/node_modules/knockoff/KnockoutExpressionParser.js create mode 100644 knockoff-node/node_modules/knockoff/KnockoutExpressionParser.pegjs create mode 100644 knockoff-node/node_modules/knockoff/makeKnockoutExpressionParser.js create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/AttributeSanitizer.js create mode 100644 knockoff-node/node_modules/knockoff/testCaseGenerator.js create mode 100644 knockoff-node/node_modules/knockoff/tests.json diff --git a/knockoff-node/node_modules/knockoff/KnockoutExpressionParser.js b/knockoff-node/node_modules/knockoff/KnockoutExpressionParser.js new file mode 100644 index 0000000..f5da8b7 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/KnockoutExpressionParser.js @@ -0,0 +1,1308 @@ +module.exports = (function() { + /* + * Generated by PEG.js 0.8.0. + * + * http://pegjs.majda.cz/ + */ + + function peg$subclass(child, parent) { + function ctor() { this.constructor = child; } + ctor.prototype = parent.prototype; + child.prototype = new ctor(); + } + + function SyntaxError(message, expected, found, offset, line, column) { + this.message = message; + this.expected = expected; + this.found = found; + this.offset = offset; + this.line = line; + this.column = column; + + this.name = "SyntaxError"; + } + + peg$subclass(SyntaxError, Error); + + function parse(input) { + var options = arguments.length > 1 ? arguments[1] : {}, + + peg$FAILED = {}, + + peg$startRuleFunctions = { start: peg$parsestart }, + peg$startRuleFunction = peg$parsestart, + + peg$c0 = peg$FAILED, + peg$c1 = null, + peg$c2 = "{", + peg$c3 = { type: "literal", value: "{", description: "\"{\"" }, + peg$c4 = "}", + peg$c5 = { type: "literal", value: "}", description: "\"}\"" }, + peg$c6 = function(kvs) { return kvs; }, + peg$c7 = [], + peg$c8 = ",", + peg$c9 = { type: "literal", value: ",", description: "\",\"" }, + peg$c10 = function(kvv) { return kvv; }, + peg$c11 = function(kv, kvs) { + var res = {}; + [kv].concat(kvs).forEach(function(tuple) { + res[tuple[0]] = tuple[1]; + }); + return res; + }, + peg$c12 = function(s) { return s.slice(1,-1).replace(/\\'/g,"'"); }, + peg$c13 = ":", + peg$c14 = { type: "literal", value: ":", description: "\":\"" }, + peg$c15 = function(k, v) { return [k,v]; }, + peg$c16 = ".", + peg$c17 = { type: "literal", value: ".", description: "\".\"" }, + peg$c18 = function(vp) { return vp; }, + peg$c19 = function(v, vs) { + var vars = [v].concat(vs), + res = vars[0]; + // Rewrite the first path component + if (res[0] === '$') { + if (res === '$') { + // user-defined global context access + res = 'rc.g'; + } else if (options.ctxMap[res]) { + // Built-in context var access + res = options.ctxMap[res]; + } else { + // local model access + res = 'm.' + res; + } + } else { + // local model access + res = 'm.' + res; + } + + // remaining path members + for (var i = 1, l = vars.length; i < l; i++) { + var v = vars[i]; + if (/^\$/.test(v) + && (vars[i-1] === '$parentContext' + || vars[i-1] === '$context') + ) + { + // only rewrite if previous path element can be a context + res += '.' + (options.ctxMap[v] || v); + } else { + res += '.' + v; + } + } + + return res; + }, + peg$c20 = function(vn, r, c) { return vn + (r || '') + (c || ''); }, + peg$c21 = /^[a-z_$]/i, + peg$c22 = { type: "class", value: "[a-z_$]i", description: "[a-z_$]i" }, + peg$c23 = /^[a-z0-9_$]/i, + peg$c24 = { type: "class", value: "[a-z0-9_$]i", description: "[a-z0-9_$]i" }, + peg$c25 = "[", + peg$c26 = { type: "literal", value: "[", description: "\"[\"" }, + peg$c27 = "]", + peg$c28 = { type: "literal", value: "]", description: "\"]\"" }, + peg$c29 = function(e) { return '[' + options.stringifyObject(e) + ']'; }, + peg$c30 = "(", + peg$c31 = { type: "literal", value: "(", description: "\"(\"" }, + peg$c32 = ")", + peg$c33 = { type: "literal", value: ")", description: "\")\"" }, + peg$c34 = function(p) { return '(' + p + ')'; }, + peg$c35 = function(pn) { return pn; }, + peg$c36 = function(p0, ps) { + var params = [p0 || ''].concat(ps); + params = params.map(function(p) { + return options.stringifyObject(p); + }); + return params.join(','); + }, + peg$c37 = /^["]/, + peg$c38 = { type: "class", value: "[\"]", description: "[\"]" }, + peg$c39 = /^[^"\\]/, + peg$c40 = { type: "class", value: "[^\"\\\\]", description: "[^\"\\\\]" }, + peg$c41 = "\\\"", + peg$c42 = { type: "literal", value: "\\\"", description: "\"\\\\\\\"\"" }, + peg$c43 = function(s) { return "'" + s.replace(/\\"/g, '"').replace(/'/g, "\\'") + "'"; }, + peg$c44 = /^[']/, + peg$c45 = { type: "class", value: "[']", description: "[']" }, + peg$c46 = /^[^'\\]/, + peg$c47 = { type: "class", value: "[^'\\\\]", description: "[^'\\\\]" }, + peg$c48 = "\\'", + peg$c49 = { type: "literal", value: "\\'", description: "\"\\\\'\"" }, + peg$c50 = function(s) { return "'" + s + "'" }, + peg$c51 = /^[0-9]/, + peg$c52 = { type: "class", value: "[0-9]", description: "[0-9]" }, + peg$c53 = function() { return Number(text()); }, + peg$c54 = /^[ \t\n]/, + peg$c55 = { type: "class", value: "[ \\t\\n]", description: "[ \\t\\n]" }, + + peg$currPos = 0, + peg$reportedPos = 0, + peg$cachedPos = 0, + peg$cachedPosDetails = { line: 1, column: 1, seenCR: false }, + peg$maxFailPos = 0, + peg$maxFailExpected = [], + peg$silentFails = 0, + + peg$result; + + if ("startRule" in options) { + if (!(options.startRule in peg$startRuleFunctions)) { + throw new Error("Can't start parsing from rule \"" + options.startRule + "\"."); + } + + peg$startRuleFunction = peg$startRuleFunctions[options.startRule]; + } + + function text() { + return input.substring(peg$reportedPos, peg$currPos); + } + + function offset() { + return peg$reportedPos; + } + + function line() { + return peg$computePosDetails(peg$reportedPos).line; + } + + function column() { + return peg$computePosDetails(peg$reportedPos).column; + } + + function expected(description) { + throw peg$buildException( + null, + [{ type: "other", description: description }], + peg$reportedPos + ); + } + + function error(message) { + throw peg$buildException(message, null, peg$reportedPos); + } + + function peg$computePosDetails(pos) { + function advance(details, startPos, endPos) { + var p, ch; + + for (p = startPos; p < endPos; p++) { + ch = input.charAt(p); + if (ch === "\n") { + if (!details.seenCR) { details.line++; } + details.column = 1; + details.seenCR = false; + } else if (ch === "\r" || ch === "\u2028" || ch === "\u2029") { + details.line++; + details.column = 1; + details.seenCR = true; + } else { + details.column++; + details.seenCR = false; + } + } + } + + if (peg$cachedPos !== pos) { + if (peg$cachedPos > pos) { + peg$cachedPos = 0; + peg$cachedPosDetails = { line: 1, column: 1, seenCR: false }; + } + advance(peg$cachedPosDetails, peg$cachedPos, pos); + peg$cachedPos = pos; + } + + return peg$cachedPosDetails; + } + + function peg$fail(expected) { + if (peg$currPos < peg$maxFailPos) { return; } + + if (peg$currPos > peg$maxFailPos) { + peg$maxFailPos = peg$currPos; + peg$maxFailExpected = []; + } + + peg$maxFailExpected.push(expected); + } + + function peg$buildException(message, expected, pos) { + function cleanupExpected(expected) { + var i = 1; + + expected.sort(function(a, b) { + if (a.description < b.description) { + return -1; + } else if (a.description > b.description) { + return 1; + } else { + return 0; + } + }); + + while (i < expected.length) { + if (expected[i - 1] === expected[i]) { + expected.splice(i, 1); + } else { + i++; + } + } + } + + function buildMessage(expected, found) { + function stringEscape(s) { + function hex(ch) { return ch.charCodeAt(0).toString(16).toUpperCase(); } + + return s + .replace(/\\/g, '\\\\') + .replace(/"/g, '\\"') + .replace(/\x08/g, '\\b') + .replace(/\t/g, '\\t') + .replace(/\n/g, '\\n') + .replace(/\f/g, '\\f') + .replace(/\r/g, '\\r') + .replace(/[\x00-\x07\x0B\x0E\x0F]/g, function(ch) { return '\\x0' + hex(ch); }) + .replace(/[\x10-\x1F\x80-\xFF]/g, function(ch) { return '\\x' + hex(ch); }) + .replace(/[\u0180-\u0FFF]/g, function(ch) { return '\\u0' + hex(ch); }) + .replace(/[\u1080-\uFFFF]/g, function(ch) { return '\\u' + hex(ch); }); + } + + var expectedDescs = new Array(expected.length), + expectedDesc, foundDesc, i; + + for (i = 0; i < expected.length; i++) { + expectedDescs[i] = expected[i].description; + } + + expectedDesc = expected.length > 1 + ? expectedDescs.slice(0, -1).join(", ") + + " or " + + expectedDescs[expected.length - 1] + : expectedDescs[0]; + + foundDesc = found ? "\"" + stringEscape(found) + "\"" : "end of input"; + + return "Expected " + expectedDesc + " but " + foundDesc + " found."; + } + + var posDetails = peg$computePosDetails(pos), + found = pos < input.length ? input.charAt(pos) : null; + + if (expected !== null) { + cleanupExpected(expected); + } + + return new SyntaxError( + message !== null ? message : buildMessage(expected, found), + expected, + found, + pos, + posDetails.line, + posDetails.column + ); + } + + function peg$parsestart() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 123) { + s1 = peg$c2; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c3); } + } + if (s1 === peg$FAILED) { + s1 = peg$c1; + } + if (s1 !== peg$FAILED) { + s2 = peg$parsespc(); + if (s2 !== peg$FAILED) { + s3 = peg$parsekey_values(); + if (s3 !== peg$FAILED) { + s4 = peg$parsespc(); + if (s4 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 125) { + s5 = peg$c4; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c5); } + } + if (s5 === peg$FAILED) { + s5 = peg$c1; + } + if (s5 !== peg$FAILED) { + peg$reportedPos = s0; + s1 = peg$c6(s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$c0; + } + } else { + peg$currPos = s0; + s0 = peg$c0; + } + } else { + peg$currPos = s0; + s0 = peg$c0; + } + } else { + peg$currPos = s0; + s0 = peg$c0; + } + } else { + peg$currPos = s0; + s0 = peg$c0; + } + + return s0; + } + + function peg$parsekey_values() { + var s0, s1, s2, s3, s4, s5, s6, s7; + + s0 = peg$currPos; + s1 = peg$parsekey_value(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$currPos; + s4 = peg$parsespc(); + if (s4 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 44) { + s5 = peg$c8; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c9); } + } + if (s5 !== peg$FAILED) { + s6 = peg$parsespc(); + if (s6 !== peg$FAILED) { + s7 = peg$parsekey_value(); + if (s7 !== peg$FAILED) { + peg$reportedPos = s3; + s4 = peg$c10(s7); + s3 = s4; + } else { + peg$currPos = s3; + s3 = peg$c0; + } + } else { + peg$currPos = s3; + s3 = peg$c0; + } + } else { + peg$currPos = s3; + s3 = peg$c0; + } + } else { + peg$currPos = s3; + s3 = peg$c0; + } + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$currPos; + s4 = peg$parsespc(); + if (s4 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 44) { + s5 = peg$c8; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c9); } + } + if (s5 !== peg$FAILED) { + s6 = peg$parsespc(); + if (s6 !== peg$FAILED) { + s7 = peg$parsekey_value(); + if (s7 !== peg$FAILED) { + peg$reportedPos = s3; + s4 = peg$c10(s7); + s3 = s4; + } else { + peg$currPos = s3; + s3 = peg$c0; + } + } else { + peg$currPos = s3; + s3 = peg$c0; + } + } else { + peg$currPos = s3; + s3 = peg$c0; + } + } else { + peg$currPos = s3; + s3 = peg$c0; + } + } + if (s2 !== peg$FAILED) { + peg$reportedPos = s0; + s1 = peg$c11(s1, s2); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$c0; + } + } else { + peg$currPos = s0; + s0 = peg$c0; + } + + return s0; + } + + function peg$parsekey_value() { + var s0, s1, s2, s3, s4, s5, s6; + + s0 = peg$currPos; + s1 = peg$parsevarname(); + if (s1 === peg$FAILED) { + s1 = peg$currPos; + s2 = peg$parsestring(); + if (s2 !== peg$FAILED) { + peg$reportedPos = s1; + s2 = peg$c12(s2); + } + s1 = s2; + } + if (s1 !== peg$FAILED) { + s2 = peg$parsespc(); + if (s2 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 58) { + s3 = peg$c13; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c14); } + } + if (s3 !== peg$FAILED) { + s4 = peg$parsespc(); + if (s4 !== peg$FAILED) { + s5 = peg$parseexpression(); + if (s5 !== peg$FAILED) { + s6 = peg$parsespc(); + if (s6 !== peg$FAILED) { + peg$reportedPos = s0; + s1 = peg$c15(s1, s5); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$c0; + } + } else { + peg$currPos = s0; + s0 = peg$c0; + } + } else { + peg$currPos = s0; + s0 = peg$c0; + } + } else { + peg$currPos = s0; + s0 = peg$c0; + } + } else { + peg$currPos = s0; + s0 = peg$c0; + } + } else { + peg$currPos = s0; + s0 = peg$c0; + } + + return s0; + } + + function peg$parseobject() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 123) { + s1 = peg$c2; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c3); } + } + if (s1 !== peg$FAILED) { + s2 = peg$parsespc(); + if (s2 !== peg$FAILED) { + s3 = peg$parsekey_values(); + if (s3 !== peg$FAILED) { + s4 = peg$parsespc(); + if (s4 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 125) { + s5 = peg$c4; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c5); } + } + if (s5 !== peg$FAILED) { + peg$reportedPos = s0; + s1 = peg$c6(s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$c0; + } + } else { + peg$currPos = s0; + s0 = peg$c0; + } + } else { + peg$currPos = s0; + s0 = peg$c0; + } + } else { + peg$currPos = s0; + s0 = peg$c0; + } + } else { + peg$currPos = s0; + s0 = peg$c0; + } + + return s0; + } + + function peg$parseexpression() { + var s0; + + s0 = peg$parsevariable(); + if (s0 === peg$FAILED) { + s0 = peg$parseobject(); + if (s0 === peg$FAILED) { + s0 = peg$parsestring(); + if (s0 === peg$FAILED) { + s0 = peg$parsenumber(); + } + } + } + + return s0; + } + + function peg$parsevariable() { + var s0, s1, s2, s3, s4, s5, s6; + + s0 = peg$currPos; + s1 = peg$parsevarpart(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$currPos; + s4 = peg$parsespc(); + if (s4 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 46) { + s5 = peg$c16; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c17); } + } + if (s5 !== peg$FAILED) { + s6 = peg$parsevarpart(); + if (s6 !== peg$FAILED) { + peg$reportedPos = s3; + s4 = peg$c18(s6); + s3 = s4; + } else { + peg$currPos = s3; + s3 = peg$c0; + } + } else { + peg$currPos = s3; + s3 = peg$c0; + } + } else { + peg$currPos = s3; + s3 = peg$c0; + } + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$currPos; + s4 = peg$parsespc(); + if (s4 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 46) { + s5 = peg$c16; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c17); } + } + if (s5 !== peg$FAILED) { + s6 = peg$parsevarpart(); + if (s6 !== peg$FAILED) { + peg$reportedPos = s3; + s4 = peg$c18(s6); + s3 = s4; + } else { + peg$currPos = s3; + s3 = peg$c0; + } + } else { + peg$currPos = s3; + s3 = peg$c0; + } + } else { + peg$currPos = s3; + s3 = peg$c0; + } + } + if (s2 !== peg$FAILED) { + peg$reportedPos = s0; + s1 = peg$c19(s1, s2); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$c0; + } + } else { + peg$currPos = s0; + s0 = peg$c0; + } + + return s0; + } + + function peg$parsevarpart() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = peg$parsevarname(); + if (s1 !== peg$FAILED) { + s2 = peg$parsearrayref(); + if (s2 === peg$FAILED) { + s2 = peg$c1; + } + if (s2 !== peg$FAILED) { + s3 = peg$parsecall(); + if (s3 === peg$FAILED) { + s3 = peg$c1; + } + if (s3 !== peg$FAILED) { + peg$reportedPos = s0; + s1 = peg$c20(s1, s2, s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$c0; + } + } else { + peg$currPos = s0; + s0 = peg$c0; + } + } else { + peg$currPos = s0; + s0 = peg$c0; + } + + return s0; + } + + function peg$parsevarname() { + var s0, s1, s2, s3, s4; + + s0 = peg$currPos; + s1 = peg$currPos; + if (peg$c21.test(input.charAt(peg$currPos))) { + s2 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s2 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c22); } + } + if (s2 !== peg$FAILED) { + s3 = []; + if (peg$c23.test(input.charAt(peg$currPos))) { + s4 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s4 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c24); } + } + while (s4 !== peg$FAILED) { + s3.push(s4); + if (peg$c23.test(input.charAt(peg$currPos))) { + s4 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s4 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c24); } + } + } + if (s3 !== peg$FAILED) { + s2 = [s2, s3]; + s1 = s2; + } else { + peg$currPos = s1; + s1 = peg$c0; + } + } else { + peg$currPos = s1; + s1 = peg$c0; + } + if (s1 !== peg$FAILED) { + s1 = input.substring(s0, peg$currPos); + } + s0 = s1; + + return s0; + } + + function peg$parsearrayref() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 91) { + s1 = peg$c25; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c26); } + } + if (s1 !== peg$FAILED) { + s2 = peg$parsespc(); + if (s2 !== peg$FAILED) { + s3 = peg$parseexpression(); + if (s3 !== peg$FAILED) { + s4 = peg$parsespc(); + if (s4 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 93) { + s5 = peg$c27; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c28); } + } + if (s5 !== peg$FAILED) { + peg$reportedPos = s0; + s1 = peg$c29(s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$c0; + } + } else { + peg$currPos = s0; + s0 = peg$c0; + } + } else { + peg$currPos = s0; + s0 = peg$c0; + } + } else { + peg$currPos = s0; + s0 = peg$c0; + } + } else { + peg$currPos = s0; + s0 = peg$c0; + } + + return s0; + } + + function peg$parsecall() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 40) { + s1 = peg$c30; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c31); } + } + if (s1 !== peg$FAILED) { + s2 = peg$parsespc(); + if (s2 !== peg$FAILED) { + s3 = peg$parseparameters(); + if (s3 !== peg$FAILED) { + s4 = peg$parsespc(); + if (s4 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 41) { + s5 = peg$c32; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c33); } + } + if (s5 !== peg$FAILED) { + peg$reportedPos = s0; + s1 = peg$c34(s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$c0; + } + } else { + peg$currPos = s0; + s0 = peg$c0; + } + } else { + peg$currPos = s0; + s0 = peg$c0; + } + } else { + peg$currPos = s0; + s0 = peg$c0; + } + } else { + peg$currPos = s0; + s0 = peg$c0; + } + + return s0; + } + + function peg$parseparameters() { + var s0, s1, s2, s3, s4, s5, s6, s7; + + s0 = peg$currPos; + s1 = peg$parseexpression(); + if (s1 === peg$FAILED) { + s1 = peg$c1; + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$currPos; + s4 = peg$parsespc(); + if (s4 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 44) { + s5 = peg$c8; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c9); } + } + if (s5 !== peg$FAILED) { + s6 = peg$parsespc(); + if (s6 !== peg$FAILED) { + s7 = peg$parseexpression(); + if (s7 !== peg$FAILED) { + peg$reportedPos = s3; + s4 = peg$c35(s7); + s3 = s4; + } else { + peg$currPos = s3; + s3 = peg$c0; + } + } else { + peg$currPos = s3; + s3 = peg$c0; + } + } else { + peg$currPos = s3; + s3 = peg$c0; + } + } else { + peg$currPos = s3; + s3 = peg$c0; + } + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$currPos; + s4 = peg$parsespc(); + if (s4 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 44) { + s5 = peg$c8; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c9); } + } + if (s5 !== peg$FAILED) { + s6 = peg$parsespc(); + if (s6 !== peg$FAILED) { + s7 = peg$parseexpression(); + if (s7 !== peg$FAILED) { + peg$reportedPos = s3; + s4 = peg$c35(s7); + s3 = s4; + } else { + peg$currPos = s3; + s3 = peg$c0; + } + } else { + peg$currPos = s3; + s3 = peg$c0; + } + } else { + peg$currPos = s3; + s3 = peg$c0; + } + } else { + peg$currPos = s3; + s3 = peg$c0; + } + } + if (s2 !== peg$FAILED) { + peg$reportedPos = s0; + s1 = peg$c36(s1, s2); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$c0; + } + } else { + peg$currPos = s0; + s0 = peg$c0; + } + + return s0; + } + + function peg$parsestring() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + if (peg$c37.test(input.charAt(peg$currPos))) { + s1 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c38); } + } + if (s1 !== peg$FAILED) { + s2 = peg$currPos; + s3 = []; + s4 = []; + if (peg$c39.test(input.charAt(peg$currPos))) { + s5 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c40); } + } + if (s5 !== peg$FAILED) { + while (s5 !== peg$FAILED) { + s4.push(s5); + if (peg$c39.test(input.charAt(peg$currPos))) { + s5 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c40); } + } + } + } else { + s4 = peg$c0; + } + if (s4 === peg$FAILED) { + if (input.substr(peg$currPos, 2) === peg$c41) { + s4 = peg$c41; + peg$currPos += 2; + } else { + s4 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c42); } + } + } + while (s4 !== peg$FAILED) { + s3.push(s4); + s4 = []; + if (peg$c39.test(input.charAt(peg$currPos))) { + s5 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c40); } + } + if (s5 !== peg$FAILED) { + while (s5 !== peg$FAILED) { + s4.push(s5); + if (peg$c39.test(input.charAt(peg$currPos))) { + s5 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c40); } + } + } + } else { + s4 = peg$c0; + } + if (s4 === peg$FAILED) { + if (input.substr(peg$currPos, 2) === peg$c41) { + s4 = peg$c41; + peg$currPos += 2; + } else { + s4 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c42); } + } + } + } + if (s3 !== peg$FAILED) { + s3 = input.substring(s2, peg$currPos); + } + s2 = s3; + if (s2 !== peg$FAILED) { + if (peg$c37.test(input.charAt(peg$currPos))) { + s3 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c38); } + } + if (s3 !== peg$FAILED) { + peg$reportedPos = s0; + s1 = peg$c43(s2); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$c0; + } + } else { + peg$currPos = s0; + s0 = peg$c0; + } + } else { + peg$currPos = s0; + s0 = peg$c0; + } + if (s0 === peg$FAILED) { + s0 = peg$currPos; + if (peg$c44.test(input.charAt(peg$currPos))) { + s1 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c45); } + } + if (s1 !== peg$FAILED) { + s2 = peg$currPos; + s3 = []; + s4 = []; + if (peg$c46.test(input.charAt(peg$currPos))) { + s5 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c47); } + } + if (s5 !== peg$FAILED) { + while (s5 !== peg$FAILED) { + s4.push(s5); + if (peg$c46.test(input.charAt(peg$currPos))) { + s5 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c47); } + } + } + } else { + s4 = peg$c0; + } + if (s4 === peg$FAILED) { + if (input.substr(peg$currPos, 2) === peg$c48) { + s4 = peg$c48; + peg$currPos += 2; + } else { + s4 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c49); } + } + } + while (s4 !== peg$FAILED) { + s3.push(s4); + s4 = []; + if (peg$c46.test(input.charAt(peg$currPos))) { + s5 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c47); } + } + if (s5 !== peg$FAILED) { + while (s5 !== peg$FAILED) { + s4.push(s5); + if (peg$c46.test(input.charAt(peg$currPos))) { + s5 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c47); } + } + } + } else { + s4 = peg$c0; + } + if (s4 === peg$FAILED) { + if (input.substr(peg$currPos, 2) === peg$c48) { + s4 = peg$c48; + peg$currPos += 2; + } else { + s4 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c49); } + } + } + } + if (s3 !== peg$FAILED) { + s3 = input.substring(s2, peg$currPos); + } + s2 = s3; + if (s2 !== peg$FAILED) { + if (peg$c44.test(input.charAt(peg$currPos))) { + s3 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c45); } + } + if (s3 !== peg$FAILED) { + peg$reportedPos = s0; + s1 = peg$c50(s2); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$c0; + } + } else { + peg$currPos = s0; + s0 = peg$c0; + } + } else { + peg$currPos = s0; + s0 = peg$c0; + } + } + + return s0; + } + + function peg$parsenumber() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + s1 = []; + if (peg$c51.test(input.charAt(peg$currPos))) { + s2 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s2 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c52); } + } + if (s2 !== peg$FAILED) { + while (s2 !== peg$FAILED) { + s1.push(s2); + if (peg$c51.test(input.charAt(peg$currPos))) { + s2 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s2 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c52); } + } + } + } else { + s1 = peg$c0; + } + if (s1 !== peg$FAILED) { + s2 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 46) { + s3 = peg$c16; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c17); } + } + if (s3 !== peg$FAILED) { + s4 = []; + if (peg$c51.test(input.charAt(peg$currPos))) { + s5 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c52); } + } + if (s5 !== peg$FAILED) { + while (s5 !== peg$FAILED) { + s4.push(s5); + if (peg$c51.test(input.charAt(peg$currPos))) { + s5 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c52); } + } + } + } else { + s4 = peg$c0; + } + if (s4 !== peg$FAILED) { + s3 = [s3, s4]; + s2 = s3; + } else { + peg$currPos = s2; + s2 = peg$c0; + } + } else { + peg$currPos = s2; + s2 = peg$c0; + } + if (s2 === peg$FAILED) { + s2 = peg$c1; + } + if (s2 !== peg$FAILED) { + peg$reportedPos = s0; + s1 = peg$c53(); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$c0; + } + } else { + peg$currPos = s0; + s0 = peg$c0; + } + + return s0; + } + + function peg$parsespc() { + var s0, s1; + + s0 = []; + if (peg$c54.test(input.charAt(peg$currPos))) { + s1 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c55); } + } + while (s1 !== peg$FAILED) { + s0.push(s1); + if (peg$c54.test(input.charAt(peg$currPos))) { + s1 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c55); } + } + } + + return s0; + } + + peg$result = peg$startRuleFunction(); + + if (peg$result !== peg$FAILED && peg$currPos === input.length) { + return peg$result; + } else { + if (peg$result !== peg$FAILED && peg$currPos < input.length) { + peg$fail({ type: "end", description: "end of input" }); + } + + throw peg$buildException(null, peg$maxFailExpected, peg$maxFailPos); + } + } + + return { + SyntaxError: SyntaxError, + parse: parse + }; +})() \ No newline at end of file diff --git a/knockoff-node/node_modules/knockoff/KnockoutExpressionParser.pegjs b/knockoff-node/node_modules/knockoff/KnockoutExpressionParser.pegjs new file mode 100644 index 0000000..992163f --- /dev/null +++ b/knockoff-node/node_modules/knockoff/KnockoutExpressionParser.pegjs @@ -0,0 +1,99 @@ +// KnockoutJS expression grammar with rewriting to TAssembly expressions + +start = '{'? spc kvs:key_values spc '}'? { return kvs; } + +key_values = + kv:key_value + kvs:(spc ',' spc kvv:key_value { return kvv; })* + { + var res = {}; + [kv].concat(kvs).forEach(function(tuple) { + res[tuple[0]] = tuple[1]; + }); + return res; + } + +key_value = + k:(varname + // Unquote string + / s:string { return s.slice(1,-1).replace(/\\'/g,"'"); } ) + spc ':' + spc v:expression spc + { return [k,v]; } + +object = '{' spc kvs:key_values spc '}' + { return kvs; } + +expression = variable / object / string / number + +variable = v:varpart vs:(spc '.' vp:varpart { return vp; })* + { + var vars = [v].concat(vs), + res = vars[0]; + // Rewrite the first path component + if (res[0] === '$') { + if (res === '$') { + // user-defined global context access + res = 'rc.g'; + } else if (options.ctxMap[res]) { + // Built-in context var access + res = options.ctxMap[res]; + } else { + // local model access + res = 'm.' + res; + } + } else { + // local model access + res = 'm.' + res; + } + + // remaining path members + for (var i = 1, l = vars.length; i < l; i++) { + var v = vars[i]; + if (/^\$/.test(v) + && (vars[i-1] === '$parentContext' + || vars[i-1] === '$context') + ) + { + // only rewrite if previous path element can be a context + res += '.' + (options.ctxMap[v] || v); + } else { + res += '.' + v; + } + } + + return res; + } + +varpart = vn:varname r:arrayref? c:call? + { return vn + (r || '') + (c || ''); } + +varname = $([a-z_$]i [a-z0-9_$]i*) + +arrayref = '[' spc e:expression spc ']' + { return '[' + options.stringifyObject(e) + ']'; } + +call = '(' spc p:parameters spc ')' + { return '(' + p + ')'; } + +parameters = p0:expression? ps:(spc ',' spc pn:expression { return pn; })* + { + var params = [p0 || ''].concat(ps); + params = params.map(function(p) { + return options.stringifyObject(p); + }); + return params.join(','); + } + +string = + (["] s:$([^"\\]+ / '\\"')* ["] + { return "'" + s.replace(/\\"/g, '"').replace(/'/g, "\\'") + "'"; } ) + / (['] s:$([^'\\]+ / "\\'")* ['] { return "'" + s + "'" } ) + +number = [0-9]+ ('.' [0-9]+)? + { return Number(text()); } + +spc = [ \t\n]* + +/* Tabs do not mix well with the hybrid production syntax */ +/* vim: set filetype=javascript expandtab ts=4 sw=4 cindent : */ diff --git a/knockoff-node/node_modules/knockoff/makeKnockoutExpressionParser.js b/knockoff-node/node_modules/knockoff/makeKnockoutExpressionParser.js new file mode 100644 index 0000000..bd507b6 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/makeKnockoutExpressionParser.js @@ -0,0 +1,12 @@ +// Maintenance / build script: +// Re-generate the KnockoutJS expression parser from the grammar +// Called by npm publish and local npm install + +var PEG = require('pegjs'), + fs = require('fs'), + grammar = fs.readFileSync('./KnockoutExpressionParser.pegjs', 'utf8'), + parser = PEG.buildParser(grammar, {output:"source"}); + +console.log('Re-building KnockoutExpressionParser.js ' + + 'from KnockoutExpressionParser.pegjs'); +fs.writeFileSync('KnockoutExpressionParser.js', 'module.exports = ' + parser); diff --git a/knockoff-node/node_modules/knockoff/node_modules/tassembly/AttributeSanitizer.js b/knockoff-node/node_modules/knockoff/node_modules/tassembly/AttributeSanitizer.js new file mode 100644 index 0000000..bae2094 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/node_modules/tassembly/AttributeSanitizer.js @@ -0,0 +1,210 @@ +"use strict"; + +var protocolRegex = new RegExp( '^(' + [ + "http://", + "https://", + "ftp://", + "irc://", + "ircs://", + "gopher://", + "telnet://", + "nntp://", + "worldwind://", + "mailto:", + "news:", + "svn://", + "git://", + "mms://", + "//" + ].join('|') + ')', 'i'), + CHAR_REFS_RE = /&([A-Za-z0-9\x80-\xff]+);|&\#([0-9]+);|&\#[xX]([0-9A-Fa-f]+);|(&)/; + +function AttributeSanitizer(options) { + // XXX: make protocol regexp configurable! + this.protocolRegex = protocolRegex; +} + +/** + * Decode any character references, numeric or named entities, + * in the text and return a UTF-8 string. + */ +AttributeSanitizer.prototype.decodeCharReferences = function ( text ) { + var sanitizer = this; + return text.replace(CHAR_REFS_RE, function() { + if (arguments[1]) { + return sanitizer.decodeEntity(arguments[1]); + } else if (arguments[2]) { + return sanitizer.decodeChar(parseInt(arguments[2], 10)); + } else if (arguments[3]) { + return sanitizer.decodeChar(parseInt(arguments[3], 16)); + } else { + return arguments[4]; + } + }); +}; + +var IDN_RE = new RegExp( + "[\t ]|" + // general whitespace + "\u00ad|" + // 00ad SOFT HYPHEN + "\u1806|" + // 1806 MONGOLIAN TODO SOFT HYPHEN + "\u200b|" + // 200b ZERO WIDTH SPACE + "\u2060|" + // 2060 WORD JOINER + "\ufeff|" + // feff ZERO WIDTH NO-BREAK SPACE + "\u034f|" + // 034f COMBINING GRAPHEME JOINER + "\u180b|" + // 180b MONGOLIAN FREE VARIATION SELECTOR ONE + "\u180c|" + // 180c MONGOLIAN FREE VARIATION SELECTOR TWO + "\u180d|" + // 180d MONGOLIAN FREE VARIATION SELECTOR THREE + "\u200c|" + // 200c ZERO WIDTH NON-JOINER + "\u200d|" + // 200d ZERO WIDTH JOINER + "[\ufe00-\ufe0f]", // fe00-fe0f VARIATION SELECTOR-1-16 + 'g' + ); + +function stripIDNs ( host ) { + return host.replace( IDN_RE, '' ); +} + +function codepointToUtf8 (cp) { + try { + return String.fromCharCode(cp); + } catch (e) { + // Return a tofu? + return cp.toString(); + } +} + +AttributeSanitizer.prototype.cssDecodeRE = (function() { + // Decode escape sequences and line continuation + // See the grammar in the CSS 2 spec, appendix D. + // This has to be done AFTER decoding character references. + // This means it isn't possible for this function to return + // unsanitized escape sequences. It is possible to manufacture + // input that contains character references that decode to + // escape sequences that decode to character references, but + // it's OK for the return value to contain character references + // because the caller is supposed to escape those anyway. + var space = '[\\x20\\t\\r\\n\\f]'; + var nl = '(?:\\n|\\r\\n|\\r|\\f)'; + var backslash = '\\\\'; + return new RegExp(backslash + + "(?:" + + "(" + nl + ")|" + // 1. Line continuation + "([0-9A-Fa-f]{1,6})" + space + "?|" + // 2. character number + "(.)|" + // 3. backslash cancelling special meaning + "()$" + // 4. backslash at end of string + ")"); +})(); + +AttributeSanitizer.prototype.sanitizeStyle = function (text) { + function removeMismatchedQuoteChar(str, quoteChar) { + var re1, re2; + if (quoteChar === "'") { + re1 = /'/g; + re2 = /'([^'\n\r\f]*)$/; + } else { + re1 = /"/g; + re2 = /"([^"\n\r\f]*)$/; + } + + var mismatch = ((str.match(re1) || []).length) % 2 === 1; + if (mismatch) { + str = str.replace(re2, function() { + // replace the mismatched quoteChar with a space + return " " + arguments[1]; + }); + } + + return str; + } + + // Decode character references like { + text = this.decodeCharReferences(text); + text = text.replace(this.cssDecodeRE, function() { + var c; + if (arguments[1] !== undefined ) { + // Line continuation + return ''; + } else if (arguments[2] !== undefined ) { + c = codepointToUtf8(parseInt(arguments[2], 16)); + } else if (arguments[3] !== undefined ) { + c = arguments[3]; + } else { + c = '\\'; + } + + if ( c === "\n" || c === '"' || c === "'" || c === '\\' ) { + // These characters need to be escaped in strings + // Clean up the escape sequence to avoid parsing errors by clients + return '\\' + (c.charCodeAt(0)).toString(16) + ' '; + } else { + // Decode unnecessary escape + return c; + } + }); + + // Remove any comments; IE gets token splitting wrong + // This must be done AFTER decoding character references and + // escape sequences, because those steps can introduce comments + // This step cannot introduce character references or escape + // sequences, because it replaces comments with spaces rather + // than removing them completely. + text = text.replace(/\/\*.*\*\//g, ' '); + + // Fix up unmatched double-quote and single-quote chars + // Full CSS syntax here: http://www.w3.org/TR/CSS21/syndata.html#syntax + // + // This can be converted to a function and called once for ' and " + // but we have to construct 4 different REs anyway + text = removeMismatchedQuoteChar(text, "'"); + text = removeMismatchedQuoteChar(text, '"'); + + /* --------- shorter but less efficient alternative to removeMismatchedQuoteChar ------------ + text = text.replace(/("[^"\n\r\f]*")+|('[^'\n\r\f]*')+|([^'"\n\r\f]+)|"([^"\n\r\f]*)$|'([^'\n\r\f]*)$/g, function() { + return arguments[1] || arguments[2] || arguments[3] || arguments[4]|| arguments[5]; + }); + * ----------------------------------- */ + + // Remove anything after a comment-start token, to guard against + // incorrect client implementations. + var commentPos = text.indexOf('/*'); + if (commentPos >= 0) { + text = text.substr( 0, commentPos ); + } + + // SSS FIXME: Looks like the HTML5 library normalizes attributes + // and gets rid of these attribute values -- something that needs + // investigation and fixing. + // + // So, style="/* insecure input */" comes out as style="" + if (/[\000-\010\016-\037\177]/.test(text)) { + return '/* invalid control char */'; + } + if (/expression|filter\s*:|accelerator\s*:|url\s*\(/i.test(text)) { + return '/* insecure input */'; + } + return text; +}; + +AttributeSanitizer.prototype.sanitizeHref = function ( href ) { + // protocol needs to begin with a letter (ie, .// is not a protocol) + var bits = href.match( /^((?:[a-zA-Z][^:\/]*:)?(?:\/\/)?)([^\/]+)(\/?.*)/ ), + proto, host, path; + if ( bits ) { + proto = bits[1]; + host = bits[2]; + path = bits[3]; + if ( ! proto.match(this.protocolRegex)) { + // invalid proto, disallow URL + return null; + } + } else { + proto = ''; + host = ''; + path = href; + } + host = stripIDNs( host ); + + return proto + host + path; +}; + +module.exports = {AttributeSanitizer: AttributeSanitizer}; diff --git a/knockoff-node/node_modules/knockoff/testCaseGenerator.js b/knockoff-node/node_modules/knockoff/testCaseGenerator.js new file mode 100644 index 0000000..ad13912 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/testCaseGenerator.js @@ -0,0 +1,171 @@ +"use strict"; +var ko = require('./knockoff.js'), + c = require('./KnockoutCompiler'); + + +var model = { + arr: [1,2,3,4,5,6,7], + items: [ + { + key: 'key1', + value: 'value1' + }, + { + key: 'key2', + value: 'value2' + } + ], + obj: { + foo: "foo", + bar: "bar" + }, + name: 'Some name', + content: 'Some sample content', + id: 'mw1234', + predTrue: true, + predFalse: false, + nullItem: null, + someItems: [ + { childProp: 'first child' }, + { childProp: 'second child' } + ] + }, + options = { + globals: { + echo: function(i) { + return i; + }, + echoJSON: function() { + return JSON.stringify(Array.prototype.slice.apply(arguments)); + } + }, + partials: { + 'testPartial': '' + } + }; + +var tests = { + partials: { + knockout: { + testPartial: '' + }, + tassembly: { + testPartial: c.compile('') + } + }, + model: model, + tests: [] +}; + +function test(input) { + var tpl = ko.compile(input, options), + testObj = { + knockout: input, + tassembly: c.compile(input), + result: tpl(model) + }; + //console.log('========================='); + //console.log('Knockout template:'); + //console.log(input); + //console.log('TAssembly JSON:'); + //console.log(JSON.stringify(testObj.tassembly, null, 2)); + //console.log('Rendered HTML:'); + //console.log(testObj.result); + tests.tests.push(testObj); +} + +// foreach +test('
    ' + + '
    '); +test("
    "); + +// if / ifnot +test('
    Hello world
    '); +test('
    Hello world
    '); +test('
    Hello world
    '); +test('
    Hello world
    '); + +test('
    Hello world
    '); +test('
    Hello world
    '); +test('
    Hello world
    '); +test('
    Hello world
    '); + +// Expression literals +// constant string +test('
    Hello world
    '); +test('
    Hello world
    '); +test('
    Hello world
    '); +test('
    Hello world
    '); + +test('
    Some number
    '); + +// constant number + +test('
    Hello world
    '); + + +test('hello worldfoo
    ipsum
    '); + +test('hello worldfoo
    hopefully foohopefully bar
    '); + +test('hello world
    '); + +test('
    '); + +test('
    '); + +test('
    '); + +test('
    '); +// complex attr +test('
    '); + +test('
    '); + +test('
    '); +test('
    '); +test('
    '); +test('
    '); +test('
    '); +test('
    '); +test('
    '); + +/** + * KnockoutJS tests + */ + +// attrBehavior.js +test("
    "); +// null value +test(""); +test(""); +test("
    "); + +// foreachBehaviors.js +test("
    "); +test("
    "); +//test("
    "); +test("
    "); +test("
    "); +//test("
    ab
    "); +//test("x-"); +//test("
    "); +test("
    " + + "
    " + + "(Val: , Parents: , Rootval: )" + + "
    " + + "
    "); +test("
    "); +test("
    "); + +// HTML comment syntax +//test("hi "); + + +/** + * Invalid expressions + */ +// arithmetic expressions are not allowed +test('
    Hello world
    '); + +console.log(JSON.stringify(tests, null, 2)); diff --git a/knockoff-node/node_modules/knockoff/tests.json b/knockoff-node/node_modules/knockoff/tests.json new file mode 100644 index 0000000..712e938 --- /dev/null +++ b/knockoff-node/node_modules/knockoff/tests.json @@ -0,0 +1,868 @@ +{ + "partials": { + "knockout": { + "testPartial": "" + }, + "tassembly": { + "testPartial": [ + "", + [ + "text", + "m.foo" + ], + "", + [ + "text", + "m.bar" + ], + "" + ] + } + }, + "model": { + "arr": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "items": [ + { + "key": "key1", + "value": "value1" + }, + { + "key": "key2", + "value": "value2" + } + ], + "obj": { + "foo": "foo", + "bar": "bar" + }, + "name": "Some name", + "content": "Some sample content", + "id": "mw1234", + "predTrue": true, + "predFalse": false, + "nullItem": null, + "someItems": [ + { + "childProp": "first child" + }, + { + "childProp": "second child" + } + ] + }, + "tests": [ + { + "knockout": "
    ", + "tassembly": [ + "", + [ + "foreach", + { + "data": "m.items", + "tpl": [ + "", + [ + "text", + "m.value" + ], + "" + ] + } + ], + "" + ], + "result": "
    value1value2
    " + }, + { + "knockout": "
    ", + "tassembly": [ + "
    ", + [ + "foreach", + { + "data": "m.myArray", + "tpl": [ + "", + [ + "text", + "m" + ], + "" + ] + } + ], + "
    " + ], + "result": "
    " + }, + { + "knockout": "
    Hello world
    ", + "tassembly": [ + "
    ", + [ + "if", + { + "data": "m.predTrue", + "tpl": [ + "Hello world" + ] + } + ], + "
    " + ], + "result": "
    Hello world
    " + }, + { + "knockout": "
    Hello world
    ", + "tassembly": [ + "
    ", + [ + "if", + { + "data": "m.predFalse", + "tpl": [ + "Hello world" + ] + } + ], + "
    " + ], + "result": "
    " + }, + { + "knockout": "
    Hello world
    ", + "tassembly": [ + "
    ", + [ + "text", + "m.name" + ], + "
    " + ], + "result": "
    Some name
    " + }, + { + "knockout": "
    Hello world
    ", + "tassembly": [ + "
    ", + [ + "text", + "m.name" + ], + "
    " + ], + "result": "
    Some name
    " + }, + { + "knockout": "
    Hello world
    ", + "tassembly": [ + "
    ", + [ + "ifnot", + { + "data": "m.predTrue", + "tpl": [ + "Hello world" + ] + } + ], + "
    " + ], + "result": "
    " + }, + { + "knockout": "
    Hello world
    ", + "tassembly": [ + "
    ", + [ + "ifnot", + { + "data": "m.predFalse", + "tpl": [ + "Hello world" + ] + } + ], + "
    " + ], + "result": "
    Hello world
    " + }, + { + "knockout": "
    Hello world
    ", + "tassembly": [ + "
    ", + [ + "text", + "m.name" + ], + "
    " + ], + "result": "
    Some name
    " + }, + { + "knockout": "
    Hello world
    ", + "tassembly": [ + "
    ", + [ + "text", + "m.name" + ], + "
    " + ], + "result": "
    Some name
    " + }, + { + "knockout": "
    Hello world
    ", + "tassembly": [ + "
    ", + [ + "text", + "'constant stri\\'ng expression'" + ], + "
    " + ], + "result": "
    constant stri'ng expression
    " + }, + { + "knockout": "
    Hello world
    ", + "tassembly": [ + "
    ", + [ + "text", + "'constant \"stri\\'ng expression'" + ], + "
    " + ], + "result": "
    constant \"stri'ng expression
    " + }, + { + "knockout": "
    Hello world
    ", + "tassembly": [ + "
    ", + [ + "text", + "'constant string'" + ], + "
    " + ], + "result": "
    constant string
    " + }, + { + "knockout": "
    Hello world
    ", + "tassembly": [ + "
    ", + [ + "text", + "'constant \"string'" + ], + "
    " + ], + "result": "
    constant \"string
    " + }, + { + "knockout": "
    Some number
    ", + "tassembly": [ + "
    ", + [ + "text", + "12345" + ], + "
    " + ], + "result": "
    12345
    " + }, + { + "knockout": "
    Hello world
    ", + "tassembly": [ + "
    ", + [ + "text", + "2" + ], + "
    " + ], + "result": "
    2
    " + }, + { + "knockout": "hello worldfoo
    ipsum
    ", + "tassembly": [ + "hello worldfoo
    ", + [ + "text", + "m.content" + ], + "
    " + ], + "result": "hello worldfoo
    Some sample content
    " + }, + { + "knockout": "hello worldfoo
    hopefully foohopefully bar
    ", + "tassembly": [ + "hello worldfoo", + [ + "with", + { + "data": "m.obj", + "tpl": [ + "", + [ + "text", + "m.foo" + ], + "", + [ + "text", + "m.bar" + ], + "" + ] + } + ], + "" + ], + "result": "hello worldfoo
    foobar
    " + }, + { + "knockout": "hello world
    ", + "tassembly": [ + "hello world
    ", + [ + "template", + { + "data": "m.obj", + "tpl": "'testPartial'" + } + ], + "
    " + ], + "result": "hello world
    foobar
    " + }, + { + "knockout": "
    ", + "tassembly": [ + "", + [ + "text", + "m.name" + ], + "" + ], + "result": "
    Some name
    " + }, + { + "knockout": "
    ", + "tassembly": [ + "", + [ + "with", + { + "data": "m.predFalse", + "tpl": [ + "", + [ + "text", + "m.name" + ], + "" + ] + } + ], + "" + ], + "result": "
    " + }, + { + "knockout": "
    ", + "tassembly": [ + "", + [ + "with", + { + "data": "m.obj", + "tpl": [ + "", + [ + "text", + "m.foo" + ], + "" + ] + } + ], + "" + ], + "result": "
    foo
    " + }, + { + "knockout": "
    ", + "tassembly": [ + "", + [ + "foreach", + { + "data": "m.items", + "tpl": [ + "", + [ + "text", + "m.value" + ], + "" + ] + } + ], + "" + ], + "result": "
    value1
    value2
    " + }, + { + "knockout": "
    ", + "tassembly": [ + "" + ], + "result": "
    " + }, + { + "knockout": "
    ", + "tassembly": [ + "
    ", + [ + "foreach", + { + "data": "m.arr", + "tpl": [ + "
    ", + [ + "text", + "rc.g.echo(m)" + ], + "
    " + ] + } + ], + "
    " + ], + "result": "
    1
    2
    3
    4
    5
    6
    7
    " + }, + { + "knockout": "
    ", + "tassembly": [ + "
    ", + [ + "text", + "rc.g.echoJSON({id:'id'})" + ], + "
    " + ], + "result": "
    [{\"id\":\"id\"}]
    " + }, + { + "knockout": "
    ", + "tassembly": [ + "
    ", + [ + "text", + "rc.g.echoJSON({id:'a',foo:'foo'})" + ], + "
    " + ], + "result": "
    [{\"id\":\"a\",\"foo\":\"foo\"}]
    " + }, + { + "knockout": "
    ", + "tassembly": [ + "
    ", + [ + "text", + "rc.g.echoJSON(1,2,3,4)" + ], + "
    " + ], + "result": "
    [1,2,3,4]
    " + }, + { + "knockout": "
    ", + "tassembly": [ + "
    ", + [ + "text", + "rc.g.echoJSON(m.items)" + ], + "
    " + ], + "result": "
    [[{\"key\":\"key1\",\"value\":\"value1\"},{\"key\":\"key2\",\"value\":\"value2\"}]]
    " + }, + { + "knockout": "
    ", + "tassembly": [ + "
    ", + [ + "text", + "rc.g.echoJSON(m.items[0])" + ], + "
    " + ], + "result": "
    [{\"key\":\"key1\",\"value\":\"value1\"}]
    " + }, + { + "knockout": "
    ", + "tassembly": [ + "
    ", + [ + "text", + "rc.g.echoJSON(m.items[0].key)" + ], + "
    " + ], + "result": "
    [\"key1\"]
    " + }, + { + "knockout": "
    ", + "tassembly": [ + "
    ", + [ + "text", + "rc.g.echoJSON(m.items[0].key,m.items[1].key)" + ], + "
    " + ], + "result": "
    [\"key1\",\"key2\"]
    " + }, + { + "knockout": "
    ", + "tassembly": [ + "" + ], + "result": "
    " + }, + { + "knockout": "", + "tassembly": [ + "" + ], + "result": "" + }, + { + "knockout": "", + "tassembly": [ + "" + ], + "result": "" + }, + { + "knockout": "
    ", + "tassembly": [ + "" + ], + "result": "
    " + }, + { + "knockout": "
    ", + "tassembly": [ + "
    ", + [ + "foreach", + { + "data": "m.nullItem", + "tpl": [ + "", + [ + "text", + "m.nullItem.nonExistentChildProp" + ], + "" + ] + } + ], + "
    " + ], + "result": "
    " + }, + { + "knockout": "
    ", + "tassembly": [ + "
    ", + [ + "foreach", + { + "data": "m.someItems", + "tpl": [ + "", + [ + "text", + "m.childProp" + ], + "" + ] + } + ], + "
    " + ], + "result": "
    first childsecond child
    " + }, + { + "knockout": "
    ", + "tassembly": [ + "
    ", + [ + "foreach", + { + "data": "m.someItems", + "tpl": [ + "", + [ + "text", + "rc.g.echoJSON(m)" + ], + "" + ] + } + ], + "
    " + ], + "result": "
    [{\"childProp\":\"first child\"}][{\"childProp\":\"second child\"}]
    " + }, + { + "knockout": "
    ", + "tassembly": [ + "
    ", + [ + "foreach", + { + "data": "m.someItems", + "tpl": [ + "", + [ + "text", + "m.childProp" + ], + "" + ] + } + ], + "
    " + ], + "result": "
    first childsecond child
    " + }, + { + "knockout": "
    (Val: , Parents: , Rootval: )
    ", + "tassembly": [ + "
    ", + [ + "foreach", + { + "data": "m.items", + "tpl": [ + "
    ", + [ + "foreach", + { + "data": "m.children", + "tpl": [ + "(Val: ", + [ + "text", + "m" + ], + ", Parents: ", + [ + "text", + "pms.length" + ], + ", Rootval: ", + [ + "text", + "rm.rootVal" + ], + ")" + ] + } + ], + "
    " + ] + } + ], + "
    " + ], + "result": "
    " + }, + { + "knockout": "
    ", + "tassembly": [ + "
    ", + [ + "foreach", + { + "data": "m.arr", + "tpl": [ + "" + ] + } + ], + "
    " + ], + "result": "
    " + }, + { + "knockout": "
    ", + "tassembly": [ + "
    ", + [ + "foreach", + { + "data": "m.arr", + "tpl": [ + "", + [ + "text", + "m" + ], + "" + ] + } + ], + "
    " + ], + "result": "
    1234567
    " + }, + { + "knockout": "
    Hello world
    ", + "tassembly": [ + "
    Hello world
    " + ], + "result": "
    Hello world
    " + } + ] +} From 85539dfedb5ab948d9cd958924c137bf45e5ff91 Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Wed, 16 Apr 2014 11:05:49 -0700 Subject: [PATCH 62/72] Latest results --- results.txt | 204 +++++++++++++++++++++++++++------------------------- 1 file changed, 108 insertions(+), 96 deletions(-) diff --git a/results.txt b/results.txt index e9f4a82..1482c98 100644 --- a/results.txt +++ b/results.txt @@ -1,96 +1,108 @@ -Set: Knockoff (node.js) (knockoff-node) -Test: test1 Avg: 0.0713 Min: 0.0470 Max: 0.0930 -Test: test1b Avg: 0.1196 Min: 0.0700 Max: 0.1380 -Test: test2 Avg: 0.8298 Min: 0.5910 Max: 1.1180 -Test: test2 lambda Avg: 0.6322 Min: 0.4510 Max: 0.7920 -Test: test3 Avg: 0.2921 Min: 0.1810 Max: 0.3580 -Set: Handlebars (node.js) (handlebars-node) -Test: test1 Avg: 0.1908 Min: 0.1190 Max: 0.2510 -Test: test1b Avg: 0.2655 Min: 0.1600 Max: 0.3610 -Test: test2 Avg: 0.8473 Min: 0.7250 Max: 1.0590 -Test: test2 lambda Avg: 1.5670 Min: 1.2450 Max: 2.3560 -Test: test3 Avg: 0.3217 Min: 0.1850 Max: 0.4480 -Set: Spacebars/TAssembly (node.js) (handlebars-htmljs-node) -Test: test1 Avg: 0.0826 Min: 0.0540 Max: 0.0950 -Test: test2 Avg: 0.8333 Min: 0.6100 Max: 1.0320 -Set: Mustache (node.js) (mustache-node) -Test: test1 Avg: 0.4839 Min: 0.3390 Max: 0.6880 -Test: test1b Avg: 0.5916 Min: 0.3930 Max: 0.8050 -Test: test2 Avg: 2.8683 Min: 2.4890 Max: 3.6090 -Test: test2 lambda Avg: 4.4347 Min: 3.9060 Max: 4.9820 -Test: test3 Avg: 1.0187 Min: 0.7940 Max: 1.3400 -Set: Handlebars lightncandy (PHP) (handlebars-lightncandy-php) -Test: test1 Avg: 0.7644 Min: 0.5424 Max: 1.0565 -Test: test1b Avg: 0.8445 Min: 0.6064 Max: 1.0726 -Test: test2 Avg: 7.7075 Min: 7.1832 Max: 8.1372 -Test: test2 lambda Avg: 143.4457 Min: 135.3426 Max: 147.9139 -Test: test3 Avg: 4.3986 Min: 3.9232 Max: 4.8671 -Set: Handlebars lightncandy (HHVM) (handlebars-lightncandy-php) -Test: test1 Avg: 0.3324 Min: 0.1837 Max: 0.4583 -Test: test1b Avg: 0.3568 Min: 0.2000 Max: 0.5309 -Test: test2 Avg: 1.0966 Min: 0.8471 Max: 1.7369 -Test: test2 lambda Avg: 1.6142 Min: 1.4197 Max: 1.8277 -Test: test3 Avg: 0.7675 Min: 0.5400 Max: 0.8957 -Set: Mustache (PHP) (mustache) -Test: test1 Avg: 2.0955 Min: 1.8212 Max: 2.4668 -Test: test1b Avg: 2.2174 Min: 1.8890 Max: 2.9336 -Test: test2 Avg: 12.0361 Min: 11.4555 Max: 12.6422 -Test: test2 lambda Avg: 25.4043 Min: 24.1202 Max: 26.2702 -Test: test3 Avg: 4.1164 Min: 3.7202 Max: 4.7110 -Set: Mustache (HHVM) (mustache) -Test: test1 Avg: 0.7284 Min: 0.5471 Max: 1.0266 -Test: test1b Avg: 0.7299 Min: 0.4961 Max: 0.9392 -Test: test2 Avg: 1.6056 Min: 1.2821 Max: 2.0479 -Test: test2 lambda Avg: 4.2759 Min: 3.8408 Max: 4.9115 -Test: test3 Avg: 0.8880 Min: 0.6644 Max: 1.0363 -Set: MediaWiki Templates (PHP) (mediawiki) -Test: test1 Avg: 1.9805 Min: 1.6588 Max: 2.3758 -Test: test1b Avg: 2.0400 Min: 1.7154 Max: 2.2543 -Test: test2 Avg: 17.9501 Min: 17.1158 Max: 18.4518 -Test: test3 Avg: 8.0607 Min: 7.6165 Max: 8.4448 -Set: MediaWiki Templates (HHVM) (mediawiki) -Test: test1 Avg: 0.7145 Min: 0.4711 Max: 0.9680 -Test: test1b Avg: 0.7457 Min: 0.5132 Max: 0.9135 -Test: test2 Avg: 4.4329 Min: 4.0914 Max: 5.0195 -Test: test3 Avg: 2.2976 Min: 1.9806 Max: 2.8628 -Set: Twig String (No Cache) (PHP) (twignocache) -Test: test1 Avg: 1.6785 Min: 1.5772 Max: 1.8537 -Test: test1b Avg: 1.7651 Min: 1.4594 Max: 2.1396 -Test: test2 Avg: 6.5853 Min: 6.1999 Max: 6.8559 -Test: test3 Avg: 4.0237 Min: 3.7077 Max: 4.1351 -Set: Twig String (No Cache) (HHVM) (twignocache) -Test: test1 Avg: 0.7305 Min: 0.4757 Max: 1.0112 -Test: test1b Avg: 0.7509 Min: 0.5092 Max: 0.8866 -Test: test2 Avg: 1.2280 Min: 1.0943 Max: 1.5523 -Test: test3 Avg: 0.9557 Min: 0.6571 Max: 1.1949 -Set: Twig File (No Cache) (PHP) (twignocache_file) -Test: test1 Avg: 2.0033 Min: 1.7149 Max: 2.3429 -Test: test1b Avg: 2.0777 Min: 1.7671 Max: 2.5181 -Test: test2 Avg: 6.5103 Min: 6.0805 Max: 6.8876 -Test: test3 Avg: 4.0312 Min: 3.6643 Max: 4.1810 -Set: Twig File (No Cache) (HHVM) (twignocache_file) -Test: test1 Avg: 0.8829 Min: 0.7878 Max: 0.9870 -Test: test1b Avg: 0.8792 Min: 0.7719 Max: 1.0645 -Test: test2 Avg: 1.2803 Min: 1.0703 Max: 1.7611 -Test: test3 Avg: 0.9465 Min: 0.8338 Max: 1.3378 -Set: Twig File (Cached) (PHP) (twigcache_file) -Test: test1 Avg: 1.9764 Min: 1.6643 Max: 2.2396 -Test: test1b Avg: 2.0441 Min: 1.7595 Max: 2.3197 -Test: test2 Avg: 6.5373 Min: 6.0285 Max: 7.1415 -Test: test3 Avg: 4.0404 Min: 3.6560 Max: 4.5413 -Set: Twig File (Cached) (HHVM) (twigcache_file) -Test: test1 Avg: 0.6526 Min: 0.4225 Max: 0.9194 -Test: test1b Avg: 0.6747 Min: 0.4474 Max: 0.8622 -Test: test2 Avg: 0.9813 Min: 0.7361 Max: 1.1933 -Test: test3 Avg: 0.6773 Min: 0.4928 Max: 0.9553 -Set: Handlebars HTMLJS (node.js) (handlebars-htmljs-node) -Test: test1 Avg: 0.7767 Min: 0.5290 Max: 1.0890 -Test: test1b Avg: 0.8712 Min: 0.5740 Max: 1.0780 -Test: test2 Avg: 7.5436 Min: 6.7720 Max: 9.1370 -Test: test3 Avg: 3.3445 Min: 3.0200 Max: 3.9590 -Set: Spacebars/HTMLJS (node.js) (handlebars-htmljs-node) -Test: test1 Avg: 1.4553 Min: 1.2980 Max: 1.8090 -Test: test1b Avg: 1.4601 Min: 1.1690 Max: 1.8360 -Test: test2 Avg: 60.8327 Min: 56.5240 Max: 62.7160 -Test: test2 lambda Avg: 149.8492 Min: 141.4070 Max: 151.6190 -Test: test3 Avg: 42.9998 Min: 40.6960 Max: 43.4940 +Set: Knockoff (node.js) (knockoff-node) +Test: test1 Avg: 0.0964 Min: 0.0510 Max: 0.1010 +Test: test1b Avg: 0.0988 Min: 0.0730 Max: 0.1370 +Test: test2 Avg: 0.8604 Min: 0.6180 Max: 1.0950 +Test: test2 lambda Avg: 0.6405 Min: 0.4650 Max: 0.8730 +Test: test3 Avg: 0.3161 Min: 0.1880 Max: 0.3750 +Set: Handlebars (node.js) (handlebars-node) +Test: test1 Avg: 0.2144 Min: 0.1210 Max: 0.2590 +Test: test1b Avg: 0.2656 Min: 0.1610 Max: 0.3540 +Test: test2 Avg: 0.8430 Min: 0.6050 Max: 0.9840 +Test: test2 lambda Avg: 1.5371 Min: 1.4440 Max: 1.7300 +Test: test3 Avg: 0.3382 Min: 0.1850 Max: 0.4470 +Set: Spacebars/TAssembly (node.js) (handlebars-htmljs-node) +Test: test1 Avg: 0.0759 Min: 0.0470 Max: 0.0950 +Test: test2 Avg: 0.8511 Min: 0.6140 Max: 1.1020 +Set: Mustache (node.js) (mustache-node) +Test: test1 Avg: 0.5156 Min: 0.3380 Max: 0.7110 +Test: test1b Avg: 0.6038 Min: 0.3880 Max: 0.8310 +Test: test2 Avg: 2.8912 Min: 2.4570 Max: 4.1240 +Test: test2 lambda Avg: 4.3700 Min: 3.9550 Max: 4.9590 +Test: test3 Avg: 0.9944 Min: 0.7430 Max: 1.3430 +Set: TAssembly (PHP) (tassembly-php) +Test: test1 Avg: 2.0609 Min: 1.7516 Max: 2.3131 +Test: test1b Avg: 2.0709 Min: 1.7651 Max: 2.4719 +Test: test2 Avg: 20.1083 Min: 18.9612 Max: 20.9398 +Test: test2 lambda Avg: 89.0733 Min: 82.3047 Max: 94.2674 +Test: test3 Avg: 13.2211 Min: 12.2209 Max: 14.6462 +Set: TAssembly (HHVM) (tassembly-php) +Test: test1 Avg: 0.7559 Min: 0.5103 Max: 0.9900 +Test: test1b Avg: 0.8229 Min: 0.6976 Max: 0.9687 +Test: test2 Avg: 3.8451 Min: 3.3810 Max: 4.4872 +Test: test2 lambda Avg: 17.8128 Min: 16.5737 Max: 19.1655 +Test: test3 Avg: 2.5183 Min: 2.2452 Max: 3.0586 +Set: Handlebars lightncandy (PHP) (handlebars-lightncandy-php) +Test: test1 Avg: 0.7610 Min: 0.5212 Max: 0.9692 +Test: test1b Avg: 0.8545 Min: 0.6034 Max: 1.0630 +Test: test2 Avg: 7.7986 Min: 7.1088 Max: 9.3338 +Test: test2 lambda Avg: 144.8932 Min: 133.8865 Max: 150.1486 +Test: test3 Avg: 4.4064 Min: 3.9762 Max: 5.0164 +Set: Handlebars lightncandy (HHVM) (handlebars-lightncandy-php) +Test: test1 Avg: 0.3597 Min: 0.1981 Max: 0.4723 +Test: test1b Avg: 0.3978 Min: 0.2069 Max: 0.5747 +Test: test2 Avg: 1.1287 Min: 0.9738 Max: 1.6498 +Test: test2 lambda Avg: 1.6544 Min: 1.2858 Max: 2.1060 +Test: test3 Avg: 0.7876 Min: 0.5260 Max: 1.0030 +Set: Mustache (PHP) (mustache) +Test: test1 Avg: 2.1404 Min: 1.7943 Max: 2.5217 +Test: test1b Avg: 2.1900 Min: 1.8990 Max: 2.3798 +Test: test2 Avg: 12.0718 Min: 11.5944 Max: 12.6408 +Test: test2 lambda Avg: 26.0376 Min: 24.5799 Max: 27.4677 +Test: test3 Avg: 4.1402 Min: 3.9017 Max: 4.7237 +Set: Mustache (HHVM) (mustache) +Test: test1 Avg: 0.7337 Min: 0.5446 Max: 0.9552 +Test: test1b Avg: 0.7685 Min: 0.5816 Max: 0.9358 +Test: test2 Avg: 1.6662 Min: 1.2838 Max: 2.2723 +Test: test2 lambda Avg: 4.3188 Min: 3.9500 Max: 4.8780 +Test: test3 Avg: 0.8935 Min: 0.6352 Max: 1.1658 +Set: MediaWiki Templates (PHP) (mediawiki) +Test: test1 Avg: 1.9912 Min: 1.6854 Max: 2.5252 +Test: test1b Avg: 2.0593 Min: 1.7278 Max: 2.5106 +Test: test2 Avg: 18.1493 Min: 17.1635 Max: 19.3290 +Test: test3 Avg: 8.1533 Min: 7.6736 Max: 8.9284 +Set: MediaWiki Templates (HHVM) (mediawiki) +Test: test1 Avg: 0.7187 Min: 0.5410 Max: 0.9447 +Test: test1b Avg: 0.7650 Min: 0.5192 Max: 1.0441 +Test: test2 Avg: 4.4519 Min: 4.0641 Max: 4.8676 +Test: test3 Avg: 2.2749 Min: 1.9899 Max: 2.5187 +Set: Twig String (No Cache) (PHP) (twignocache) +Test: test1 Avg: 1.6829 Min: 1.3652 Max: 2.1604 +Test: test1b Avg: 1.7773 Min: 1.4596 Max: 2.2277 +Test: test2 Avg: 6.6068 Min: 6.2296 Max: 7.1584 +Test: test3 Avg: 4.0730 Min: 3.6712 Max: 4.4202 +Set: Twig String (No Cache) (HHVM) (twignocache) +Test: test1 Avg: 0.7886 Min: 0.5330 Max: 1.0789 +Test: test1b Avg: 0.7902 Min: 0.5930 Max: 1.1824 +Test: test2 Avg: 1.2206 Min: 0.9417 Max: 1.4312 +Test: test3 Avg: 0.9569 Min: 0.6566 Max: 1.3782 +Set: Twig File (No Cache) (PHP) (twignocache_file) +Test: test1 Avg: 2.0195 Min: 1.9038 Max: 2.2989 +Test: test1b Avg: 2.0955 Min: 1.8188 Max: 2.4218 +Test: test2 Avg: 6.5977 Min: 6.2724 Max: 7.5479 +Test: test3 Avg: 4.0944 Min: 3.7351 Max: 4.9622 +Set: Twig File (No Cache) (HHVM) (twignocache_file) +Test: test1 Avg: 0.8768 Min: 0.6084 Max: 1.1116 +Test: test1b Avg: 0.9254 Min: 0.8262 Max: 1.1476 +Test: test2 Avg: 1.3257 Min: 0.9701 Max: 1.7781 +Test: test3 Avg: 0.9676 Min: 0.6806 Max: 1.2286 +Set: Twig File (Cached) (PHP) (twigcache_file) +Test: test1 Avg: 2.0304 Min: 1.7008 Max: 2.6887 +Test: test1b Avg: 2.1064 Min: 1.7508 Max: 2.6093 +Test: test2 Avg: 6.5701 Min: 6.0253 Max: 7.1464 +Test: test3 Avg: 4.0421 Min: 3.7309 Max: 4.3804 +Set: Twig File (Cached) (HHVM) (twigcache_file) +Test: test1 Avg: 0.6484 Min: 0.4466 Max: 0.8514 +Test: test1b Avg: 0.6654 Min: 0.4410 Max: 0.8649 +Test: test2 Avg: 1.0016 Min: 0.7369 Max: 1.2385 +Test: test3 Avg: 0.6625 Min: 0.4446 Max: 0.8265 +Set: Handlebars HTMLJS (node.js) (handlebars-htmljs-node) +Test: test1 Avg: 0.8171 Min: 0.6520 Max: 1.0660 +Test: test1b Avg: 0.8813 Min: 0.6920 Max: 1.1090 +Test: test2 Avg: 7.6339 Min: 6.7810 Max: 8.2800 +Test: test3 Avg: 3.3652 Min: 2.8050 Max: 4.3230 +Set: Spacebars/HTMLJS (node.js) (handlebars-htmljs-node) +Test: test1 Avg: 1.4629 Min: 1.1450 Max: 1.9560 +Test: test1b Avg: 1.5076 Min: 1.2710 Max: 1.7840 +Test: test2 Avg: 61.6710 Min: 57.7290 Max: 63.5410 +Test: test2 lambda Avg: 151.1186 Min: 143.8930 Max: 151.8790 +Test: test3 Avg: 43.2990 Min: 40.3560 Max: 44.3380 From fc4abd04238004bb77c42f45eb157e50823af1df Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Wed, 16 Apr 2014 11:06:44 -0700 Subject: [PATCH 63/72] Add comment on how to strip ascii color codes --- runall.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/runall.sh b/runall.sh index 30c3123..edc36e4 100755 --- a/runall.sh +++ b/runall.sh @@ -2,6 +2,9 @@ if [ "$1" == "-q" ];then quiet="y" + # TODO: disable color too + # For now, can strip it with + # sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g" fi function runTestPHP { From 3c331f24e8f74690f8219eb7fe74f5997e0e5e8a Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Tue, 8 Jul 2014 13:15:17 -0700 Subject: [PATCH 64/72] Update knockoff to 0.1.3 release --- .../node_modules/knockoff/DOMCompiler.js | 262 ++-- .../node_modules/knockoff/KnockoutCompiler.js | 368 +++-- knockoff-node/node_modules/knockoff/README.md | 227 ++- .../node_modules/knockoff/callgrind.out.12434 | 10 + .../node_modules/knockoff/callgrind.out.12451 | 1358 ++++++++++++++++ .../node_modules/knockoff/callgrind.out.12471 | 1378 +++++++++++++++++ .../node_modules/knockoff/callgrind.out.13901 | 970 ++++++++++++ .../knockoff/node_modules/domino/CHANGELOG.md | 67 + .../node_modules/domino/lib/Element.js | 2 +- .../node_modules/domino/lib/HTMLParser.js | 193 ++- .../knockoff/node_modules/domino/lib/Node.js | 20 +- .../knockoff/node_modules/domino/package.json | 16 +- .../node_modules/domino/test/domino.js | 45 +- .../node_modules/tassembly/.npmignore | 1 + .../knockoff/node_modules/tassembly/README.md | 177 ++- .../tassembly/browser/tassembly.js | 16 + .../node_modules/tassembly/package.json | 16 +- .../node_modules/tassembly/tassembly.js | 4 +- .../node_modules/knockoff/package.json | 15 +- knockoff-node/node_modules/knockoff/test.js | 33 + knockoff-node/node_modules/knockoff/test1.js | 12 + .../knockoff/test2-loop-lambda.js | 35 + knockoff-node/node_modules/knockoff/test2.js | 31 + .../knockoff/testCaseGenerator.js | 3 +- .../knockoff/testKnockoutExpressionParser.js | 4 + .../node_modules/knockoff/tests.json | 43 + knockoff-node/package.json | 2 +- 27 files changed, 4900 insertions(+), 408 deletions(-) create mode 100644 knockoff-node/node_modules/knockoff/callgrind.out.12434 create mode 100644 knockoff-node/node_modules/knockoff/callgrind.out.12451 create mode 100644 knockoff-node/node_modules/knockoff/callgrind.out.12471 create mode 100644 knockoff-node/node_modules/knockoff/callgrind.out.13901 create mode 100644 knockoff-node/node_modules/knockoff/node_modules/domino/CHANGELOG.md create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/.npmignore create mode 100644 knockoff-node/node_modules/knockoff/node_modules/tassembly/browser/tassembly.js create mode 100644 knockoff-node/node_modules/knockoff/test.js create mode 100644 knockoff-node/node_modules/knockoff/test1.js create mode 100644 knockoff-node/node_modules/knockoff/test2-loop-lambda.js create mode 100644 knockoff-node/node_modules/knockoff/test2.js create mode 100644 knockoff-node/node_modules/knockoff/testKnockoutExpressionParser.js diff --git a/knockoff-node/node_modules/knockoff/DOMCompiler.js b/knockoff-node/node_modules/knockoff/DOMCompiler.js index 6b96d23..731311b 100644 --- a/knockoff-node/node_modules/knockoff/DOMCompiler.js +++ b/knockoff-node/node_modules/knockoff/DOMCompiler.js @@ -4,19 +4,19 @@ "use strict"; var htmlns = 'http://www.w3.org/1999/xhtml', - // nodeType constants - ELEMENT_NODE = 1, - ATTRIBUTE_NODE = 2, - TEXT_NODE = 3, - CDATA_SECTION_NODE = 4, - ENTITY_REFERENCE_NODE = 5, - ENTITY_NODE = 6, - PROCESSING_INSTRUCTION_NODE = 7, - COMMENT_NODE = 8, - DOCUMENT_NODE = 9, - DOCUMENT_TYPE_NODE = 10, - DOCUMENT_FRAGMENT_NODE = 11, - NOTATION_NODE = 12; + // nodeType constants + ELEMENT_NODE = 1, + ATTRIBUTE_NODE = 2, + TEXT_NODE = 3, + CDATA_SECTION_NODE = 4, + ENTITY_REFERENCE_NODE = 5, + ENTITY_NODE = 6, + PROCESSING_INSTRUCTION_NODE = 7, + COMMENT_NODE = 8, + DOCUMENT_NODE = 9, + DOCUMENT_TYPE_NODE = 10, + DOCUMENT_FRAGMENT_NODE = 11, + NOTATION_NODE = 12; /** * HTML5 void elements @@ -61,131 +61,133 @@ var hasRawContent = { * Use only very few entities, encode everything else as numeric entity */ function _xmlEncoder(c){ - switch(c) { - case '<': return '<'; - case '>': return '>'; - case '&': return '&'; - case '"': return '"'; - default: return '&#' + c.charCodeAt() + ';'; - } + switch(c) { + case '<': return '<'; + case '>': return '>'; + case '&': return '&'; + case '"': return '"'; + default: return '&#' + c.charCodeAt() + ';'; + } } function serializeToString(node, options, cb){ - var child, content; - switch(node.nodeType){ - case ELEMENT_NODE: - var handler = options.handlers.element, - attrs = node.attributes, - ret; - child = node.firstChild; - if (handler) { - // Call the handler for elements - ret = handler(node, cb, options); - } - var len = attrs.length; - var nodeName = node.tagName.toLowerCase(), - localName = node.localName; - cb('<' + localName); - for(var i=0;i - (attr.value.match(/'/g) || []).length) - { - // use single quotes - cb(' ' + attr.name + "='" - + attr.value.replace(/[<&']/g, _xmlEncoder) + "'"); - } else { - // use double quotes - cb(' ' + attr.name + '="' - + attr.value.replace(/[<&"]/g, _xmlEncoder) + '"'); - } - } - if (ret.attr) { - cb(ret.attr); - } - if(child || ret.content || !emptyElements[nodeName]) { - cb('>'); - if (ret.content) { - cb(ret.content); - } else if(hasRawContent[nodeName]) { - // if is cdata child node - // TODO: perform context-sensitive escaping? - // Currently this content is not normally part of our DOM, so - // no problem. If it was, we'd probably have to do some - // tag-specific escaping. Examples: - // * < to \u003c in + +
    +
    +
    + + +
    +

    Templates

    +

    + Hogan.js was developed against the mustache test suite, so everything that holds true for templates as specified here, is also the case for hogan.js. +

    +

    + That means you get variables, sections, lambdas, partials, filters, and everything else you've come to expect from mustache templating - only much, much faster. +

    +
    +
    + +
    +
    +
    +
    + + +
    +

    Compiling

    +

    + Use hogan.compile() to precompile your templates into vanilla JS. +

    +

    + It's best to serve your templates precompiled whenever you can (rather than the raw templates), as parsing is the most time consuming operation. +

    +

    +

    +
    +
    + +
    +
    +
    +
    + + +
    +

    Rendering

    +

    + Once compiled, call the render() method with a context and optional partials object. +

    +

    + If supplying partials, you can compile them ahead of time, or pass string templates.

    +

    +

    +
    +
    + +
    +
    +
    +
    + + + +
    +

    Hulk

    +

    + Hulk is Hogan's command line utility. Use it to easily compile your templates as js files. +

    +

    + Hulk supports the * wilcard (even on windows) and allows you to target specific file extensions as well.

    +

    +

    +
    + +
    + +
    + + + + + + + + + diff --git a/hogan-node/node_modules/hogan.js/build/gh-pages/stylesheets/layout.css b/hogan-node/node_modules/hogan.js/build/gh-pages/stylesheets/layout.css new file mode 100755 index 0000000..20e20cf --- /dev/null +++ b/hogan-node/node_modules/hogan.js/build/gh-pages/stylesheets/layout.css @@ -0,0 +1,206 @@ + +/* #Reset & Basics (Inspired by E. Meyers) +================================================== */ + html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; } + article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { + display: block; } + body { + line-height: 1; } + ol, ul { + list-style: none; } + blockquote, q { + quotes: none; } + blockquote:before, blockquote:after, + q:before, q:after { + content: ''; + content: none; } + table { + border-collapse: collapse; + border-spacing: 0; } + + +/* #Basic Styles +================================================== */ + body { + background: #fff; + font: 14px/24px "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif; + color: #000; + -webkit-font-smoothing: antialiased; /* Fix for webkit rendering */ + -webkit-text-size-adjust: 100%; + } + a { + color: #999113; + text-decoration: none; + } + a:hover { + color: #7b750e; + text-decoration: underline; + } + + +/* #Typography +================================================== */ + h1, h2, h3, h4, h5, h6 { + font-weight: bold; } + h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { font-weight: inherit; } + h1 { font-size: 75px; line-height: 80px; margin-bottom: 14px;} + h2 { font-size: 35px; line-height: 40px; margin-bottom: 10px; } + h3 { font-size: 28px; line-height: 34px; margin-bottom: 8px; } + h4 { font-size: 21px; line-height: 30px; margin-bottom: 4px; } + h5 { font-size: 17px; line-height: 24px; } + h6 { font-size: 14px; line-height: 21px; } + p { margin-bottom: 22px; } + + +/* #Main styles +================================================== */ + +/* Hogan Hero */ +.hogan-hero { + position: relative; + background: #333; /* Old browsers */ + background: -moz-radial-gradient(center, ellipse cover, #333 0%, #000 100%); /* FF3.6+ */ + background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%,#333), color-stop(100%,#000)); /* Chrome,Safari4+ */ + background: -webkit-radial-gradient(center, ellipse cover, #333 0%,#000 100%); /* Chrome10+,Safari5.1+ */ + background: -o-radial-gradient(center, ellipse cover, #333 0%,#000 100%); /* Opera 12+ */ + background: -ms-radial-gradient(center, ellipse cover, #333 0%,#000 100%); /* IE10+ */ + background: radial-gradient(center, ellipse cover, #333 0%,#000 100%); /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#333', endColorstr='#000',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */ +} +.hogan-hero .container { + padding: 180px 0; +} +.hogan-hero h1 { + letter-spacing: -3px; + color: #fff; + position: relative; + margin-bottom: 5px; +} +.hogan-hero h3 { + max-width: 650px; + margin-bottom: 20px; + color: #fff; +} +.hogan-hero .noise, +.hogan-hero .stripes { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; +} +.hogan-hero .noise { + background: url(../images/noise.png) repeat; +} +.hogan-hero .stripes { + background: url(../images/stripes.png) repeat; +} + +/* Primary content container */ +.primary.container { + padding-top: 100px; +} + +/*Hogan divider */ +.hogan-divider { + padding-top: 60px; + border-bottom: 1px solid #ddd; + margin-bottom: 60px; + clear: both; + position: relative; +} +.hogan-icon { + width: 40px; + height: 30px; + position: absolute; + left: 50%; + top: 46px; + margin-left: -20px; + background: url('../images/small-hogan-icon.png') white no-repeat center center; +} + +/* Button style */ +.button { + display: inline-block; + cursor: pointer; + background: #dfd52e; + border-radius: 3px; + margin-bottom: 20px; + color: #000; + text-transform: uppercase; + text-decoration: none; + font-size: 15px; + padding: 0 34px; + line-height: 46px; + font-weight: bold; + -webkit-transition: background-color .3s ease-in-out; + -moz-transition: background-color .3s ease-in-out; + -o-transition: background-color .3s ease-in-out; + transition: background-color .3s ease-in-out; + +} +.button:hover { + text-decoration: inherit; + color: inherit; + background-color: #f5e810; +} + +/* Hogan footer */ +.hogan-footer { + border-top: 1px solid #ddd; + margin-top: 60px; + padding: 20px 0 40px; + color: #999; + font-size: 12px; +} +.hogan-footer .copyright { + float: left; +} +.hogan-footer .colophon { + float: right; +} + +pre, code { + background: #F8F8FF; + border: 1px solid #DDD; + padding: 5px 10px; + margin-bottom: 20px; + font-family: courier; + overflow: hidden; +} + +pre code { + border: 0; + padding: 0; + margin-bottom: 0; +} + + +/* #Media Queries +================================================== */ + + /* Smaller than standard 960 (devices and browsers) */ + @media only screen and (max-width: 959px) {} + + /* Tablet Portrait size to standard 960 (devices and browsers) */ + @media only screen and (min-width: 768px) and (max-width: 959px) {} + + /* All Mobile Sizes (devices and browser) */ + @media only screen and (max-width: 767px) { + .hogan-hero .container { + padding: 100px 0; + } + } + + /* Mobile Landscape Size to Tablet Portrait (devices and browsers) */ + @media only screen and (min-width: 480px) and (max-width: 767px) {} + + /* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */ + @media only screen and (max-width: 479px) {} + diff --git a/hogan-node/node_modules/hogan.js/build/gh-pages/stylesheets/skeleton.css b/hogan-node/node_modules/hogan.js/build/gh-pages/stylesheets/skeleton.css new file mode 100755 index 0000000..d0264a4 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/build/gh-pages/stylesheets/skeleton.css @@ -0,0 +1,236 @@ +/* +* Skeleton V1.1 +* Copyright 2011, Dave Gamache +* www.getskeleton.com +* Free to use under the MIT license. +* http://www.opensource.org/licenses/mit-license.php +* 8/17/2011 +*/ + + +/* Table of Contents +================================================== + #Base 960 Grid + #Tablet (Portrait) + #Mobile (Portrait) + #Mobile (Landscape) + #Clearing */ + + + +/* #Base 960 Grid +================================================== */ + + .container { position: relative; width: 960px; margin: 0 auto; padding: 0; } + .column, .columns { float: left; display: inline; margin-left: 10px; margin-right: 10px; } + .row { margin-bottom: 20px; } + + /* Nested Column Classes */ + .column.alpha, .columns.alpha { margin-left: 0; } + .column.omega, .columns.omega { margin-right: 0; } + + /* Base Grid */ + .container .one.column { width: 40px; } + .container .two.columns { width: 100px; } + .container .three.columns { width: 160px; } + .container .four.columns { width: 220px; } + .container .five.columns { width: 280px; } + .container .six.columns { width: 340px; } + .container .seven.columns { width: 400px; } + .container .eight.columns { width: 460px; } + .container .nine.columns { width: 520px; } + .container .ten.columns { width: 580px; } + .container .eleven.columns { width: 640px; } + .container .twelve.columns { width: 700px; } + .container .thirteen.columns { width: 760px; } + .container .fourteen.columns { width: 820px; } + .container .fifteen.columns { width: 880px; } + .container .sixteen.columns { width: 940px; } + + .container .one-third.column { width: 300px; } + .container .two-thirds.column { width: 620px; } + + /* Offsets */ + .container .offset-by-one { padding-left: 60px; } + .container .offset-by-two { padding-left: 120px; } + .container .offset-by-three { padding-left: 180px; } + .container .offset-by-four { padding-left: 240px; } + .container .offset-by-five { padding-left: 300px; } + .container .offset-by-six { padding-left: 360px; } + .container .offset-by-seven { padding-left: 420px; } + .container .offset-by-eight { padding-left: 480px; } + .container .offset-by-nine { padding-left: 540px; } + .container .offset-by-ten { padding-left: 600px; } + .container .offset-by-eleven { padding-left: 660px; } + .container .offset-by-twelve { padding-left: 720px; } + .container .offset-by-thirteen { padding-left: 780px; } + .container .offset-by-fourteen { padding-left: 840px; } + .container .offset-by-fifteen { padding-left: 900px; } + + + +/* #Tablet (Portrait) +================================================== */ + + /* Note: Design for a width of 768px */ + + @media only screen and (min-width: 768px) and (max-width: 959px) { + .container { width: 768px; } + .container .column, + .container .columns { margin-left: 10px; margin-right: 10px; } + .column.alpha, .columns.alpha { margin-left: 0; margin-right: 10px; } + .column.omega, .columns.omega { margin-right: 0; margin-left: 10px; } + + .container .one.column { width: 28px; } + .container .two.columns { width: 76px; } + .container .three.columns { width: 124px; } + .container .four.columns { width: 172px; } + .container .five.columns { width: 220px; } + .container .six.columns { width: 268px; } + .container .seven.columns { width: 316px; } + .container .eight.columns { width: 364px; } + .container .nine.columns { width: 412px; } + .container .ten.columns { width: 460px; } + .container .eleven.columns { width: 508px; } + .container .twelve.columns { width: 556px; } + .container .thirteen.columns { width: 604px; } + .container .fourteen.columns { width: 652px; } + .container .fifteen.columns { width: 700px; } + .container .sixteen.columns { width: 748px; } + + .container .one-third.column { width: 236px; } + .container .two-thirds.column { width: 492px; } + + /* Offsets */ + .container .offset-by-one { padding-left: 48px; } + .container .offset-by-two { padding-left: 96px; } + .container .offset-by-three { padding-left: 144px; } + .container .offset-by-four { padding-left: 192px; } + .container .offset-by-five { padding-left: 240px; } + .container .offset-by-six { padding-left: 288px; } + .container .offset-by-seven { padding-left: 336px; } + .container .offset-by-eight { padding-left: 348px; } + .container .offset-by-nine { padding-left: 432px; } + .container .offset-by-ten { padding-left: 480px; } + .container .offset-by-eleven { padding-left: 528px; } + .container .offset-by-twelve { padding-left: 576px; } + .container .offset-by-thirteen { padding-left: 624px; } + .container .offset-by-fourteen { padding-left: 672px; } + .container .offset-by-fifteen { padding-left: 720px; } + } + + +/* #Mobile (Portrait) +================================================== */ + + /* Note: Design for a width of 320px */ + + @media only screen and (max-width: 767px) { + .container { width: 300px; } + .columns, .column { margin: 0; } + + .container .one.column, + .container .two.columns, + .container .three.columns, + .container .four.columns, + .container .five.columns, + .container .six.columns, + .container .seven.columns, + .container .eight.columns, + .container .nine.columns, + .container .ten.columns, + .container .eleven.columns, + .container .twelve.columns, + .container .thirteen.columns, + .container .fourteen.columns, + .container .fifteen.columns, + .container .sixteen.columns, + .container .one-third.column, + .container .two-thirds.column { width: 300px; } + + /* Offsets */ + .container .offset-by-one, + .container .offset-by-two, + .container .offset-by-three, + .container .offset-by-four, + .container .offset-by-five, + .container .offset-by-six, + .container .offset-by-seven, + .container .offset-by-eight, + .container .offset-by-nine, + .container .offset-by-ten, + .container .offset-by-eleven, + .container .offset-by-twelve, + .container .offset-by-thirteen, + .container .offset-by-fourteen, + .container .offset-by-fifteen { padding-left: 0; } + + } + + +/* #Mobile (Landscape) +================================================== */ + + /* Note: Design for a width of 480px */ + + @media only screen and (min-width: 480px) and (max-width: 767px) { + .container { width: 420px; } + .columns, .column { margin: 0; } + + .container .one.column, + .container .two.columns, + .container .three.columns, + .container .four.columns, + .container .five.columns, + .container .six.columns, + .container .seven.columns, + .container .eight.columns, + .container .nine.columns, + .container .ten.columns, + .container .eleven.columns, + .container .twelve.columns, + .container .thirteen.columns, + .container .fourteen.columns, + .container .fifteen.columns, + .container .sixteen.columns, + .container .one-third.column, + .container .two-thirds.column { width: 420px; } + } + + +/* #Clearing +================================================== */ + + /* Self Clearing Goodness */ + .container:after { content: "\0020"; display: block; height: 0; clear: both; visibility: hidden; } + + /* Use clearfix class on parent to clear nested columns, + or wrap each row of columns in a
    */ + .clearfix:before, + .clearfix:after, + .row:before, + .row:after { + content: '\0020'; + display: block; + overflow: hidden; + visibility: hidden; + width: 0; + height: 0; } + .row:after, + .clearfix:after { + clear: both; } + .row, + .clearfix { + zoom: 1; } + + /* You can also use a
    to clear columns */ + .clear { + clear: both; + display: block; + overflow: hidden; + visibility: hidden; + width: 0; + height: 0; + } + + diff --git a/hogan-node/node_modules/hogan.js/component.json b/hogan-node/node_modules/hogan.js/component.json new file mode 100644 index 0000000..56fc5e9 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/component.json @@ -0,0 +1,28 @@ +{ + "name": "hogan.js" + , "description": "A mustache compiler." + , "version": "3.0.2" + , "keywords": ["mustache", "template"] + , "main": "lib/hogan.js" + , "scripts": [ + "lib/compiler.js", + "lib/hogan.js", + "lib/template.js" + ] + , "homepage": "http://twitter.github.com/hogan.js/" + , "author": "Twitter Inc." + , "repository": { + "type": "git" + , "url": "https://github.com/twitter/hogan.js.git" + } + , "licenses": [ + { "type": "Apache-2.0" + , "url": "http://www.apache.org/licenses/LICENSE-2.0" + } + ] + , "ignore" : [ + ,"tools" + ,"wrappers" + ,".*" + ] +} diff --git a/hogan-node/node_modules/hogan.js/dist/hogan-3.0.2.amd.js b/hogan-node/node_modules/hogan.js/dist/hogan-3.0.2.amd.js new file mode 100644 index 0000000..aea31a6 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/dist/hogan-3.0.2.amd.js @@ -0,0 +1,759 @@ +/*! + * Copyright 2011 Twitter, Inc. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + + +var Hogan = {}; + +(function (Hogan) { + Hogan.Template = function (codeObj, text, compiler, options) { + codeObj = codeObj || {}; + this.r = codeObj.code || this.r; + this.c = compiler; + this.options = options || {}; + this.text = text || ''; + this.partials = codeObj.partials || {}; + this.subs = codeObj.subs || {}; + this.buf = ''; + } + + Hogan.Template.prototype = { + // render: replaced by generated code. + r: function (context, partials, indent) { return ''; }, + + // variable escaping + v: hoganEscape, + + // triple stache + t: coerceToString, + + render: function render(context, partials, indent) { + return this.ri([context], partials || {}, indent); + }, + + // render internal -- a hook for overrides that catches partials too + ri: function (context, partials, indent) { + return this.r(context, partials, indent); + }, + + // ensurePartial + ep: function(symbol, partials) { + var partial = this.partials[symbol]; + + // check to see that if we've instantiated this partial before + var template = partials[partial.name]; + if (partial.instance && partial.base == template) { + return partial.instance; + } + + if (typeof template == 'string') { + if (!this.c) { + throw new Error("No compiler available."); + } + template = this.c.compile(template, this.options); + } + + if (!template) { + return null; + } + + // We use this to check whether the partials dictionary has changed + this.partials[symbol].base = template; + + if (partial.subs) { + // Make sure we consider parent template now + if (!partials.stackText) partials.stackText = {}; + for (key in partial.subs) { + if (!partials.stackText[key]) { + partials.stackText[key] = (this.activeSub !== undefined && partials.stackText[this.activeSub]) ? partials.stackText[this.activeSub] : this.text; + } + } + template = createSpecializedPartial(template, partial.subs, partial.partials, + this.stackSubs, this.stackPartials, partials.stackText); + } + this.partials[symbol].instance = template; + + return template; + }, + + // tries to find a partial in the current scope and render it + rp: function(symbol, context, partials, indent) { + var partial = this.ep(symbol, partials); + if (!partial) { + return ''; + } + + return partial.ri(context, partials, indent); + }, + + // render a section + rs: function(context, partials, section) { + var tail = context[context.length - 1]; + + if (!isArray(tail)) { + section(context, partials, this); + return; + } + + for (var i = 0; i < tail.length; i++) { + context.push(tail[i]); + section(context, partials, this); + context.pop(); + } + }, + + // maybe start a section + s: function(val, ctx, partials, inverted, start, end, tags) { + var pass; + + if (isArray(val) && val.length === 0) { + return false; + } + + if (typeof val == 'function') { + val = this.ms(val, ctx, partials, inverted, start, end, tags); + } + + pass = !!val; + + if (!inverted && pass && ctx) { + ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]); + } + + return pass; + }, + + // find values with dotted names + d: function(key, ctx, partials, returnFound) { + var found, + names = key.split('.'), + val = this.f(names[0], ctx, partials, returnFound), + doModelGet = this.options.modelGet, + cx = null; + + if (key === '.' && isArray(ctx[ctx.length - 2])) { + val = ctx[ctx.length - 1]; + } else { + for (var i = 1; i < names.length; i++) { + found = findInScope(names[i], val, doModelGet); + if (found !== undefined) { + cx = val; + val = found; + } else { + val = ''; + } + } + } + + if (returnFound && !val) { + return false; + } + + if (!returnFound && typeof val == 'function') { + ctx.push(cx); + val = this.mv(val, ctx, partials); + ctx.pop(); + } + + return val; + }, + + // find values with normal names + f: function(key, ctx, partials, returnFound) { + var val = false, + v = null, + found = false, + doModelGet = this.options.modelGet; + + for (var i = ctx.length - 1; i >= 0; i--) { + v = ctx[i]; + val = findInScope(key, v, doModelGet); + if (val !== undefined) { + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.mv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ls: function(func, cx, partials, text, tags) { + var oldTags = this.options.delimiters; + + this.options.delimiters = tags; + this.b(this.ct(coerceToString(func.call(cx, text)), cx, partials)); + this.options.delimiters = oldTags; + + return false; + }, + + // compile text + ct: function(text, cx, partials) { + if (this.options.disableLambda) { + throw new Error('Lambda features disabled.'); + } + return this.c.compile(text, this.options).render(cx, partials); + }, + + // template result buffering + b: function(s) { this.buf += s; }, + + fl: function() { var r = this.buf; this.buf = ''; return r; }, + + // method replace section + ms: function(func, ctx, partials, inverted, start, end, tags) { + var textSource, + cx = ctx[ctx.length - 1], + result = func.call(cx); + + if (typeof result == 'function') { + if (inverted) { + return true; + } else { + textSource = (this.activeSub && this.subsText && this.subsText[this.activeSub]) ? this.subsText[this.activeSub] : this.text; + return this.ls(result, cx, partials, textSource.substring(start, end), tags); + } + } + + return result; + }, + + // method replace variable + mv: function(func, ctx, partials) { + var cx = ctx[ctx.length - 1]; + var result = func.call(cx); + + if (typeof result == 'function') { + return this.ct(coerceToString(result.call(cx)), cx, partials); + } + + return result; + }, + + sub: function(name, context, partials, indent) { + var f = this.subs[name]; + if (f) { + this.activeSub = name; + f(context, partials, this, indent); + this.activeSub = false; + } + } + + }; + + //Find a key in an object + function findInScope(key, scope, doModelGet) { + var val; + + if (scope && typeof scope == 'object') { + + if (scope[key] !== undefined) { + val = scope[key]; + + // try lookup with get for backbone or similar model data + } else if (doModelGet && scope.get && typeof scope.get == 'function') { + val = scope.get(key); + } + } + + return val; + } + + function createSpecializedPartial(instance, subs, partials, stackSubs, stackPartials, stackText) { + function PartialTemplate() {}; + PartialTemplate.prototype = instance; + function Substitutions() {}; + Substitutions.prototype = instance.subs; + var key; + var partial = new PartialTemplate(); + partial.subs = new Substitutions(); + partial.subsText = {}; //hehe. substext. + partial.buf = ''; + + stackSubs = stackSubs || {}; + partial.stackSubs = stackSubs; + partial.subsText = stackText; + for (key in subs) { + if (!stackSubs[key]) stackSubs[key] = subs[key]; + } + for (key in stackSubs) { + partial.subs[key] = stackSubs[key]; + } + + stackPartials = stackPartials || {}; + partial.stackPartials = stackPartials; + for (key in partials) { + if (!stackPartials[key]) stackPartials[key] = partials[key]; + } + for (key in stackPartials) { + partial.partials[key] = stackPartials[key]; + } + + return partial; + } + + var rAmp = /&/g, + rLt = //g, + rApos = /\'/g, + rQuot = /\"/g, + hChars = /[&<>\"\']/; + + function coerceToString(val) { + return String((val === null || val === undefined) ? '' : val); + } + + function hoganEscape(str) { + str = coerceToString(str); + return hChars.test(str) ? + str + .replace(rAmp, '&') + .replace(rLt, '<') + .replace(rGt, '>') + .replace(rApos, ''') + .replace(rQuot, '"') : + str; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + }; + +})(typeof exports !== 'undefined' ? exports : Hogan); + + + +(function (Hogan) { + // Setup regex assignments + // remove whitespace according to Mustache spec + var rIsWhitespace = /\S/, + rQuot = /\"/g, + rNewline = /\n/g, + rCr = /\r/g, + rSlash = /\\/g, + rLineSep = /\u2028/, + rParagraphSep = /\u2029/; + + Hogan.tags = { + '#': 1, '^': 2, '<': 3, '$': 4, + '/': 5, '!': 6, '>': 7, '=': 8, '_v': 9, + '{': 10, '&': 11, '_t': 12 + }; + + Hogan.scan = function scan(text, delimiters) { + var len = text.length, + IN_TEXT = 0, + IN_TAG_TYPE = 1, + IN_TAG = 2, + state = IN_TEXT, + tagType = null, + tag = null, + buf = '', + tokens = [], + seenTag = false, + i = 0, + lineStart = 0, + otag = '{{', + ctag = '}}'; + + function addBuf() { + if (buf.length > 0) { + tokens.push({tag: '_t', text: new String(buf)}); + buf = ''; + } + } + + function lineIsWhitespace() { + var isAllWhitespace = true; + for (var j = lineStart; j < tokens.length; j++) { + isAllWhitespace = + (Hogan.tags[tokens[j].tag] < Hogan.tags['_v']) || + (tokens[j].tag == '_t' && tokens[j].text.match(rIsWhitespace) === null); + if (!isAllWhitespace) { + return false; + } + } + + return isAllWhitespace; + } + + function filterLine(haveSeenTag, noNewLine) { + addBuf(); + + if (haveSeenTag && lineIsWhitespace()) { + for (var j = lineStart, next; j < tokens.length; j++) { + if (tokens[j].text) { + if ((next = tokens[j+1]) && next.tag == '>') { + // set indent to token value + next.indent = tokens[j].text.toString() + } + tokens.splice(j, 1); + } + } + } else if (!noNewLine) { + tokens.push({tag:'\n'}); + } + + seenTag = false; + lineStart = tokens.length; + } + + function changeDelimiters(text, index) { + var close = '=' + ctag, + closeIndex = text.indexOf(close, index), + delimiters = trim( + text.substring(text.indexOf('=', index) + 1, closeIndex) + ).split(' '); + + otag = delimiters[0]; + ctag = delimiters[delimiters.length - 1]; + + return closeIndex + close.length - 1; + } + + if (delimiters) { + delimiters = delimiters.split(' '); + otag = delimiters[0]; + ctag = delimiters[1]; + } + + for (i = 0; i < len; i++) { + if (state == IN_TEXT) { + if (tagChange(otag, text, i)) { + --i; + addBuf(); + state = IN_TAG_TYPE; + } else { + if (text.charAt(i) == '\n') { + filterLine(seenTag); + } else { + buf += text.charAt(i); + } + } + } else if (state == IN_TAG_TYPE) { + i += otag.length - 1; + tag = Hogan.tags[text.charAt(i + 1)]; + tagType = tag ? text.charAt(i + 1) : '_v'; + if (tagType == '=') { + i = changeDelimiters(text, i); + state = IN_TEXT; + } else { + if (tag) { + i++; + } + state = IN_TAG; + } + seenTag = i; + } else { + if (tagChange(ctag, text, i)) { + tokens.push({tag: tagType, n: trim(buf), otag: otag, ctag: ctag, + i: (tagType == '/') ? seenTag - otag.length : i + ctag.length}); + buf = ''; + i += ctag.length - 1; + state = IN_TEXT; + if (tagType == '{') { + if (ctag == '}}') { + i++; + } else { + cleanTripleStache(tokens[tokens.length - 1]); + } + } + } else { + buf += text.charAt(i); + } + } + } + + filterLine(seenTag, true); + + return tokens; + } + + function cleanTripleStache(token) { + if (token.n.substr(token.n.length - 1) === '}') { + token.n = token.n.substring(0, token.n.length - 1); + } + } + + function trim(s) { + if (s.trim) { + return s.trim(); + } + + return s.replace(/^\s*|\s*$/g, ''); + } + + function tagChange(tag, text, index) { + if (text.charAt(index) != tag.charAt(0)) { + return false; + } + + for (var i = 1, l = tag.length; i < l; i++) { + if (text.charAt(index + i) != tag.charAt(i)) { + return false; + } + } + + return true; + } + + // the tags allowed inside super templates + var allowedInSuper = {'_t': true, '\n': true, '$': true, '/': true}; + + function buildTree(tokens, kind, stack, customTags) { + var instructions = [], + opener = null, + tail = null, + token = null; + + tail = stack[stack.length - 1]; + + while (tokens.length > 0) { + token = tokens.shift(); + + if (tail && tail.tag == '<' && !(token.tag in allowedInSuper)) { + throw new Error('Illegal content in < super tag.'); + } + + if (Hogan.tags[token.tag] <= Hogan.tags['$'] || isOpener(token, customTags)) { + stack.push(token); + token.nodes = buildTree(tokens, token.tag, stack, customTags); + } else if (token.tag == '/') { + if (stack.length === 0) { + throw new Error('Closing tag without opener: /' + token.n); + } + opener = stack.pop(); + if (token.n != opener.n && !isCloser(token.n, opener.n, customTags)) { + throw new Error('Nesting error: ' + opener.n + ' vs. ' + token.n); + } + opener.end = token.i; + return instructions; + } else if (token.tag == '\n') { + token.last = (tokens.length == 0) || (tokens[0].tag == '\n'); + } + + instructions.push(token); + } + + if (stack.length > 0) { + throw new Error('missing closing tag: ' + stack.pop().n); + } + + return instructions; + } + + function isOpener(token, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].o == token.n) { + token.tag = '#'; + return true; + } + } + } + + function isCloser(close, open, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].c == close && tags[i].o == open) { + return true; + } + } + } + + function stringifySubstitutions(obj) { + var items = []; + for (var key in obj) { + items.push('"' + esc(key) + '": function(c,p,t,i) {' + obj[key] + '}'); + } + return "{ " + items.join(",") + " }"; + } + + function stringifyPartials(codeObj) { + var partials = []; + for (var key in codeObj.partials) { + partials.push('"' + esc(key) + '":{name:"' + esc(codeObj.partials[key].name) + '", ' + stringifyPartials(codeObj.partials[key]) + "}"); + } + return "partials: {" + partials.join(",") + "}, subs: " + stringifySubstitutions(codeObj.subs); + } + + Hogan.stringify = function(codeObj, text, options) { + return "{code: function (c,p,i) { " + Hogan.wrapMain(codeObj.code) + " }," + stringifyPartials(codeObj) + "}"; + } + + var serialNo = 0; + Hogan.generate = function(tree, text, options) { + serialNo = 0; + var context = { code: '', subs: {}, partials: {} }; + Hogan.walk(tree, context); + + if (options.asString) { + return this.stringify(context, text, options); + } + + return this.makeTemplate(context, text, options); + } + + Hogan.wrapMain = function(code) { + return 'var t=this;t.b(i=i||"");' + code + 'return t.fl();'; + } + + Hogan.template = Hogan.Template; + + Hogan.makeTemplate = function(codeObj, text, options) { + var template = this.makePartials(codeObj); + template.code = new Function('c', 'p', 'i', this.wrapMain(codeObj.code)); + return new this.template(template, text, this, options); + } + + Hogan.makePartials = function(codeObj) { + var key, template = {subs: {}, partials: codeObj.partials, name: codeObj.name}; + for (key in template.partials) { + template.partials[key] = this.makePartials(template.partials[key]); + } + for (key in codeObj.subs) { + template.subs[key] = new Function('c', 'p', 't', 'i', codeObj.subs[key]); + } + return template; + } + + function esc(s) { + return s.replace(rSlash, '\\\\') + .replace(rQuot, '\\\"') + .replace(rNewline, '\\n') + .replace(rCr, '\\r') + .replace(rLineSep, '\\u2028') + .replace(rParagraphSep, '\\u2029'); + } + + function chooseMethod(s) { + return (~s.indexOf('.')) ? 'd' : 'f'; + } + + function createPartial(node, context) { + var prefix = "<" + (context.prefix || ""); + var sym = prefix + node.n + serialNo++; + context.partials[sym] = {name: node.n, partials: {}}; + context.code += 't.b(t.rp("' + esc(sym) + '",c,p,"' + (node.indent || '') + '"));'; + return sym; + } + + Hogan.codegen = { + '#': function(node, context) { + context.code += 'if(t.s(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,1),' + + 'c,p,0,' + node.i + ',' + node.end + ',"' + node.otag + " " + node.ctag + '")){' + + 't.rs(c,p,' + 'function(c,p,t){'; + Hogan.walk(node.nodes, context); + context.code += '});c.pop();}'; + }, + + '^': function(node, context) { + context.code += 'if(!t.s(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,1),c,p,1,0,0,"")){'; + Hogan.walk(node.nodes, context); + context.code += '};'; + }, + + '>': createPartial, + '<': function(node, context) { + var ctx = {partials: {}, code: '', subs: {}, inPartial: true}; + Hogan.walk(node.nodes, ctx); + var template = context.partials[createPartial(node, context)]; + template.subs = ctx.subs; + template.partials = ctx.partials; + }, + + '$': function(node, context) { + var ctx = {subs: {}, code: '', partials: context.partials, prefix: node.n}; + Hogan.walk(node.nodes, ctx); + context.subs[node.n] = ctx.code; + if (!context.inPartial) { + context.code += 't.sub("' + esc(node.n) + '",c,p,i);'; + } + }, + + '\n': function(node, context) { + context.code += write('"\\n"' + (node.last ? '' : ' + i')); + }, + + '_v': function(node, context) { + context.code += 't.b(t.v(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,0)));'; + }, + + '_t': function(node, context) { + context.code += write('"' + esc(node.text) + '"'); + }, + + '{': tripleStache, + + '&': tripleStache + } + + function tripleStache(node, context) { + context.code += 't.b(t.t(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,0)));'; + } + + function write(s) { + return 't.b(' + s + ');'; + } + + Hogan.walk = function(nodelist, context) { + var func; + for (var i = 0, l = nodelist.length; i < l; i++) { + func = Hogan.codegen[nodelist[i].tag]; + func && func(nodelist[i], context); + } + return context; + } + + Hogan.parse = function(tokens, text, options) { + options = options || {}; + return buildTree(tokens, '', [], options.sectionTags || []); + } + + Hogan.cache = {}; + + Hogan.cacheKey = function(text, options) { + return [text, !!options.asString, !!options.disableLambda, options.delimiters, !!options.modelGet].join('||'); + } + + Hogan.compile = function(text, options) { + options = options || {}; + var key = Hogan.cacheKey(text, options); + var template = this.cache[key]; + + if (template) { + var partials = template.partials; + for (var name in partials) { + delete partials[name].instance; + } + return template; + } + + template = this.generate(this.parse(this.scan(text, options.delimiters), text, options), text, options); + return this.cache[key] = template; + } +})(typeof exports !== 'undefined' ? exports : Hogan); + + +if (typeof define === 'function' && define.amd) { + define(Hogan); +} diff --git a/hogan-node/node_modules/hogan.js/dist/hogan-3.0.2.common.js b/hogan-node/node_modules/hogan.js/dist/hogan-3.0.2.common.js new file mode 100644 index 0000000..0066335 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/dist/hogan-3.0.2.common.js @@ -0,0 +1,759 @@ +/*! + * Copyright 2011 Twitter, Inc. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + + +var Hogan = {}; + +(function (Hogan) { + Hogan.Template = function (codeObj, text, compiler, options) { + codeObj = codeObj || {}; + this.r = codeObj.code || this.r; + this.c = compiler; + this.options = options || {}; + this.text = text || ''; + this.partials = codeObj.partials || {}; + this.subs = codeObj.subs || {}; + this.buf = ''; + } + + Hogan.Template.prototype = { + // render: replaced by generated code. + r: function (context, partials, indent) { return ''; }, + + // variable escaping + v: hoganEscape, + + // triple stache + t: coerceToString, + + render: function render(context, partials, indent) { + return this.ri([context], partials || {}, indent); + }, + + // render internal -- a hook for overrides that catches partials too + ri: function (context, partials, indent) { + return this.r(context, partials, indent); + }, + + // ensurePartial + ep: function(symbol, partials) { + var partial = this.partials[symbol]; + + // check to see that if we've instantiated this partial before + var template = partials[partial.name]; + if (partial.instance && partial.base == template) { + return partial.instance; + } + + if (typeof template == 'string') { + if (!this.c) { + throw new Error("No compiler available."); + } + template = this.c.compile(template, this.options); + } + + if (!template) { + return null; + } + + // We use this to check whether the partials dictionary has changed + this.partials[symbol].base = template; + + if (partial.subs) { + // Make sure we consider parent template now + if (!partials.stackText) partials.stackText = {}; + for (key in partial.subs) { + if (!partials.stackText[key]) { + partials.stackText[key] = (this.activeSub !== undefined && partials.stackText[this.activeSub]) ? partials.stackText[this.activeSub] : this.text; + } + } + template = createSpecializedPartial(template, partial.subs, partial.partials, + this.stackSubs, this.stackPartials, partials.stackText); + } + this.partials[symbol].instance = template; + + return template; + }, + + // tries to find a partial in the current scope and render it + rp: function(symbol, context, partials, indent) { + var partial = this.ep(symbol, partials); + if (!partial) { + return ''; + } + + return partial.ri(context, partials, indent); + }, + + // render a section + rs: function(context, partials, section) { + var tail = context[context.length - 1]; + + if (!isArray(tail)) { + section(context, partials, this); + return; + } + + for (var i = 0; i < tail.length; i++) { + context.push(tail[i]); + section(context, partials, this); + context.pop(); + } + }, + + // maybe start a section + s: function(val, ctx, partials, inverted, start, end, tags) { + var pass; + + if (isArray(val) && val.length === 0) { + return false; + } + + if (typeof val == 'function') { + val = this.ms(val, ctx, partials, inverted, start, end, tags); + } + + pass = !!val; + + if (!inverted && pass && ctx) { + ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]); + } + + return pass; + }, + + // find values with dotted names + d: function(key, ctx, partials, returnFound) { + var found, + names = key.split('.'), + val = this.f(names[0], ctx, partials, returnFound), + doModelGet = this.options.modelGet, + cx = null; + + if (key === '.' && isArray(ctx[ctx.length - 2])) { + val = ctx[ctx.length - 1]; + } else { + for (var i = 1; i < names.length; i++) { + found = findInScope(names[i], val, doModelGet); + if (found !== undefined) { + cx = val; + val = found; + } else { + val = ''; + } + } + } + + if (returnFound && !val) { + return false; + } + + if (!returnFound && typeof val == 'function') { + ctx.push(cx); + val = this.mv(val, ctx, partials); + ctx.pop(); + } + + return val; + }, + + // find values with normal names + f: function(key, ctx, partials, returnFound) { + var val = false, + v = null, + found = false, + doModelGet = this.options.modelGet; + + for (var i = ctx.length - 1; i >= 0; i--) { + v = ctx[i]; + val = findInScope(key, v, doModelGet); + if (val !== undefined) { + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.mv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ls: function(func, cx, partials, text, tags) { + var oldTags = this.options.delimiters; + + this.options.delimiters = tags; + this.b(this.ct(coerceToString(func.call(cx, text)), cx, partials)); + this.options.delimiters = oldTags; + + return false; + }, + + // compile text + ct: function(text, cx, partials) { + if (this.options.disableLambda) { + throw new Error('Lambda features disabled.'); + } + return this.c.compile(text, this.options).render(cx, partials); + }, + + // template result buffering + b: function(s) { this.buf += s; }, + + fl: function() { var r = this.buf; this.buf = ''; return r; }, + + // method replace section + ms: function(func, ctx, partials, inverted, start, end, tags) { + var textSource, + cx = ctx[ctx.length - 1], + result = func.call(cx); + + if (typeof result == 'function') { + if (inverted) { + return true; + } else { + textSource = (this.activeSub && this.subsText && this.subsText[this.activeSub]) ? this.subsText[this.activeSub] : this.text; + return this.ls(result, cx, partials, textSource.substring(start, end), tags); + } + } + + return result; + }, + + // method replace variable + mv: function(func, ctx, partials) { + var cx = ctx[ctx.length - 1]; + var result = func.call(cx); + + if (typeof result == 'function') { + return this.ct(coerceToString(result.call(cx)), cx, partials); + } + + return result; + }, + + sub: function(name, context, partials, indent) { + var f = this.subs[name]; + if (f) { + this.activeSub = name; + f(context, partials, this, indent); + this.activeSub = false; + } + } + + }; + + //Find a key in an object + function findInScope(key, scope, doModelGet) { + var val; + + if (scope && typeof scope == 'object') { + + if (scope[key] !== undefined) { + val = scope[key]; + + // try lookup with get for backbone or similar model data + } else if (doModelGet && scope.get && typeof scope.get == 'function') { + val = scope.get(key); + } + } + + return val; + } + + function createSpecializedPartial(instance, subs, partials, stackSubs, stackPartials, stackText) { + function PartialTemplate() {}; + PartialTemplate.prototype = instance; + function Substitutions() {}; + Substitutions.prototype = instance.subs; + var key; + var partial = new PartialTemplate(); + partial.subs = new Substitutions(); + partial.subsText = {}; //hehe. substext. + partial.buf = ''; + + stackSubs = stackSubs || {}; + partial.stackSubs = stackSubs; + partial.subsText = stackText; + for (key in subs) { + if (!stackSubs[key]) stackSubs[key] = subs[key]; + } + for (key in stackSubs) { + partial.subs[key] = stackSubs[key]; + } + + stackPartials = stackPartials || {}; + partial.stackPartials = stackPartials; + for (key in partials) { + if (!stackPartials[key]) stackPartials[key] = partials[key]; + } + for (key in stackPartials) { + partial.partials[key] = stackPartials[key]; + } + + return partial; + } + + var rAmp = /&/g, + rLt = //g, + rApos = /\'/g, + rQuot = /\"/g, + hChars = /[&<>\"\']/; + + function coerceToString(val) { + return String((val === null || val === undefined) ? '' : val); + } + + function hoganEscape(str) { + str = coerceToString(str); + return hChars.test(str) ? + str + .replace(rAmp, '&') + .replace(rLt, '<') + .replace(rGt, '>') + .replace(rApos, ''') + .replace(rQuot, '"') : + str; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + }; + +})(typeof exports !== 'undefined' ? exports : Hogan); + + + +(function (Hogan) { + // Setup regex assignments + // remove whitespace according to Mustache spec + var rIsWhitespace = /\S/, + rQuot = /\"/g, + rNewline = /\n/g, + rCr = /\r/g, + rSlash = /\\/g, + rLineSep = /\u2028/, + rParagraphSep = /\u2029/; + + Hogan.tags = { + '#': 1, '^': 2, '<': 3, '$': 4, + '/': 5, '!': 6, '>': 7, '=': 8, '_v': 9, + '{': 10, '&': 11, '_t': 12 + }; + + Hogan.scan = function scan(text, delimiters) { + var len = text.length, + IN_TEXT = 0, + IN_TAG_TYPE = 1, + IN_TAG = 2, + state = IN_TEXT, + tagType = null, + tag = null, + buf = '', + tokens = [], + seenTag = false, + i = 0, + lineStart = 0, + otag = '{{', + ctag = '}}'; + + function addBuf() { + if (buf.length > 0) { + tokens.push({tag: '_t', text: new String(buf)}); + buf = ''; + } + } + + function lineIsWhitespace() { + var isAllWhitespace = true; + for (var j = lineStart; j < tokens.length; j++) { + isAllWhitespace = + (Hogan.tags[tokens[j].tag] < Hogan.tags['_v']) || + (tokens[j].tag == '_t' && tokens[j].text.match(rIsWhitespace) === null); + if (!isAllWhitespace) { + return false; + } + } + + return isAllWhitespace; + } + + function filterLine(haveSeenTag, noNewLine) { + addBuf(); + + if (haveSeenTag && lineIsWhitespace()) { + for (var j = lineStart, next; j < tokens.length; j++) { + if (tokens[j].text) { + if ((next = tokens[j+1]) && next.tag == '>') { + // set indent to token value + next.indent = tokens[j].text.toString() + } + tokens.splice(j, 1); + } + } + } else if (!noNewLine) { + tokens.push({tag:'\n'}); + } + + seenTag = false; + lineStart = tokens.length; + } + + function changeDelimiters(text, index) { + var close = '=' + ctag, + closeIndex = text.indexOf(close, index), + delimiters = trim( + text.substring(text.indexOf('=', index) + 1, closeIndex) + ).split(' '); + + otag = delimiters[0]; + ctag = delimiters[delimiters.length - 1]; + + return closeIndex + close.length - 1; + } + + if (delimiters) { + delimiters = delimiters.split(' '); + otag = delimiters[0]; + ctag = delimiters[1]; + } + + for (i = 0; i < len; i++) { + if (state == IN_TEXT) { + if (tagChange(otag, text, i)) { + --i; + addBuf(); + state = IN_TAG_TYPE; + } else { + if (text.charAt(i) == '\n') { + filterLine(seenTag); + } else { + buf += text.charAt(i); + } + } + } else if (state == IN_TAG_TYPE) { + i += otag.length - 1; + tag = Hogan.tags[text.charAt(i + 1)]; + tagType = tag ? text.charAt(i + 1) : '_v'; + if (tagType == '=') { + i = changeDelimiters(text, i); + state = IN_TEXT; + } else { + if (tag) { + i++; + } + state = IN_TAG; + } + seenTag = i; + } else { + if (tagChange(ctag, text, i)) { + tokens.push({tag: tagType, n: trim(buf), otag: otag, ctag: ctag, + i: (tagType == '/') ? seenTag - otag.length : i + ctag.length}); + buf = ''; + i += ctag.length - 1; + state = IN_TEXT; + if (tagType == '{') { + if (ctag == '}}') { + i++; + } else { + cleanTripleStache(tokens[tokens.length - 1]); + } + } + } else { + buf += text.charAt(i); + } + } + } + + filterLine(seenTag, true); + + return tokens; + } + + function cleanTripleStache(token) { + if (token.n.substr(token.n.length - 1) === '}') { + token.n = token.n.substring(0, token.n.length - 1); + } + } + + function trim(s) { + if (s.trim) { + return s.trim(); + } + + return s.replace(/^\s*|\s*$/g, ''); + } + + function tagChange(tag, text, index) { + if (text.charAt(index) != tag.charAt(0)) { + return false; + } + + for (var i = 1, l = tag.length; i < l; i++) { + if (text.charAt(index + i) != tag.charAt(i)) { + return false; + } + } + + return true; + } + + // the tags allowed inside super templates + var allowedInSuper = {'_t': true, '\n': true, '$': true, '/': true}; + + function buildTree(tokens, kind, stack, customTags) { + var instructions = [], + opener = null, + tail = null, + token = null; + + tail = stack[stack.length - 1]; + + while (tokens.length > 0) { + token = tokens.shift(); + + if (tail && tail.tag == '<' && !(token.tag in allowedInSuper)) { + throw new Error('Illegal content in < super tag.'); + } + + if (Hogan.tags[token.tag] <= Hogan.tags['$'] || isOpener(token, customTags)) { + stack.push(token); + token.nodes = buildTree(tokens, token.tag, stack, customTags); + } else if (token.tag == '/') { + if (stack.length === 0) { + throw new Error('Closing tag without opener: /' + token.n); + } + opener = stack.pop(); + if (token.n != opener.n && !isCloser(token.n, opener.n, customTags)) { + throw new Error('Nesting error: ' + opener.n + ' vs. ' + token.n); + } + opener.end = token.i; + return instructions; + } else if (token.tag == '\n') { + token.last = (tokens.length == 0) || (tokens[0].tag == '\n'); + } + + instructions.push(token); + } + + if (stack.length > 0) { + throw new Error('missing closing tag: ' + stack.pop().n); + } + + return instructions; + } + + function isOpener(token, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].o == token.n) { + token.tag = '#'; + return true; + } + } + } + + function isCloser(close, open, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].c == close && tags[i].o == open) { + return true; + } + } + } + + function stringifySubstitutions(obj) { + var items = []; + for (var key in obj) { + items.push('"' + esc(key) + '": function(c,p,t,i) {' + obj[key] + '}'); + } + return "{ " + items.join(",") + " }"; + } + + function stringifyPartials(codeObj) { + var partials = []; + for (var key in codeObj.partials) { + partials.push('"' + esc(key) + '":{name:"' + esc(codeObj.partials[key].name) + '", ' + stringifyPartials(codeObj.partials[key]) + "}"); + } + return "partials: {" + partials.join(",") + "}, subs: " + stringifySubstitutions(codeObj.subs); + } + + Hogan.stringify = function(codeObj, text, options) { + return "{code: function (c,p,i) { " + Hogan.wrapMain(codeObj.code) + " }," + stringifyPartials(codeObj) + "}"; + } + + var serialNo = 0; + Hogan.generate = function(tree, text, options) { + serialNo = 0; + var context = { code: '', subs: {}, partials: {} }; + Hogan.walk(tree, context); + + if (options.asString) { + return this.stringify(context, text, options); + } + + return this.makeTemplate(context, text, options); + } + + Hogan.wrapMain = function(code) { + return 'var t=this;t.b(i=i||"");' + code + 'return t.fl();'; + } + + Hogan.template = Hogan.Template; + + Hogan.makeTemplate = function(codeObj, text, options) { + var template = this.makePartials(codeObj); + template.code = new Function('c', 'p', 'i', this.wrapMain(codeObj.code)); + return new this.template(template, text, this, options); + } + + Hogan.makePartials = function(codeObj) { + var key, template = {subs: {}, partials: codeObj.partials, name: codeObj.name}; + for (key in template.partials) { + template.partials[key] = this.makePartials(template.partials[key]); + } + for (key in codeObj.subs) { + template.subs[key] = new Function('c', 'p', 't', 'i', codeObj.subs[key]); + } + return template; + } + + function esc(s) { + return s.replace(rSlash, '\\\\') + .replace(rQuot, '\\\"') + .replace(rNewline, '\\n') + .replace(rCr, '\\r') + .replace(rLineSep, '\\u2028') + .replace(rParagraphSep, '\\u2029'); + } + + function chooseMethod(s) { + return (~s.indexOf('.')) ? 'd' : 'f'; + } + + function createPartial(node, context) { + var prefix = "<" + (context.prefix || ""); + var sym = prefix + node.n + serialNo++; + context.partials[sym] = {name: node.n, partials: {}}; + context.code += 't.b(t.rp("' + esc(sym) + '",c,p,"' + (node.indent || '') + '"));'; + return sym; + } + + Hogan.codegen = { + '#': function(node, context) { + context.code += 'if(t.s(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,1),' + + 'c,p,0,' + node.i + ',' + node.end + ',"' + node.otag + " " + node.ctag + '")){' + + 't.rs(c,p,' + 'function(c,p,t){'; + Hogan.walk(node.nodes, context); + context.code += '});c.pop();}'; + }, + + '^': function(node, context) { + context.code += 'if(!t.s(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,1),c,p,1,0,0,"")){'; + Hogan.walk(node.nodes, context); + context.code += '};'; + }, + + '>': createPartial, + '<': function(node, context) { + var ctx = {partials: {}, code: '', subs: {}, inPartial: true}; + Hogan.walk(node.nodes, ctx); + var template = context.partials[createPartial(node, context)]; + template.subs = ctx.subs; + template.partials = ctx.partials; + }, + + '$': function(node, context) { + var ctx = {subs: {}, code: '', partials: context.partials, prefix: node.n}; + Hogan.walk(node.nodes, ctx); + context.subs[node.n] = ctx.code; + if (!context.inPartial) { + context.code += 't.sub("' + esc(node.n) + '",c,p,i);'; + } + }, + + '\n': function(node, context) { + context.code += write('"\\n"' + (node.last ? '' : ' + i')); + }, + + '_v': function(node, context) { + context.code += 't.b(t.v(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,0)));'; + }, + + '_t': function(node, context) { + context.code += write('"' + esc(node.text) + '"'); + }, + + '{': tripleStache, + + '&': tripleStache + } + + function tripleStache(node, context) { + context.code += 't.b(t.t(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,0)));'; + } + + function write(s) { + return 't.b(' + s + ');'; + } + + Hogan.walk = function(nodelist, context) { + var func; + for (var i = 0, l = nodelist.length; i < l; i++) { + func = Hogan.codegen[nodelist[i].tag]; + func && func(nodelist[i], context); + } + return context; + } + + Hogan.parse = function(tokens, text, options) { + options = options || {}; + return buildTree(tokens, '', [], options.sectionTags || []); + } + + Hogan.cache = {}; + + Hogan.cacheKey = function(text, options) { + return [text, !!options.asString, !!options.disableLambda, options.delimiters, !!options.modelGet].join('||'); + } + + Hogan.compile = function(text, options) { + options = options || {}; + var key = Hogan.cacheKey(text, options); + var template = this.cache[key]; + + if (template) { + var partials = template.partials; + for (var name in partials) { + delete partials[name].instance; + } + return template; + } + + template = this.generate(this.parse(this.scan(text, options.delimiters), text, options), text, options); + return this.cache[key] = template; + } +})(typeof exports !== 'undefined' ? exports : Hogan); + + +if (typeof module !== 'undefined' && module.exports) { + module.exports = Hogan; +} diff --git a/hogan-node/node_modules/hogan.js/dist/hogan-3.0.2.js b/hogan-node/node_modules/hogan.js/dist/hogan-3.0.2.js new file mode 100644 index 0000000..306579b --- /dev/null +++ b/hogan-node/node_modules/hogan.js/dist/hogan-3.0.2.js @@ -0,0 +1,755 @@ +/*! + * Copyright 2011 Twitter, Inc. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + + +var Hogan = {}; + +(function (Hogan) { + Hogan.Template = function (codeObj, text, compiler, options) { + codeObj = codeObj || {}; + this.r = codeObj.code || this.r; + this.c = compiler; + this.options = options || {}; + this.text = text || ''; + this.partials = codeObj.partials || {}; + this.subs = codeObj.subs || {}; + this.buf = ''; + } + + Hogan.Template.prototype = { + // render: replaced by generated code. + r: function (context, partials, indent) { return ''; }, + + // variable escaping + v: hoganEscape, + + // triple stache + t: coerceToString, + + render: function render(context, partials, indent) { + return this.ri([context], partials || {}, indent); + }, + + // render internal -- a hook for overrides that catches partials too + ri: function (context, partials, indent) { + return this.r(context, partials, indent); + }, + + // ensurePartial + ep: function(symbol, partials) { + var partial = this.partials[symbol]; + + // check to see that if we've instantiated this partial before + var template = partials[partial.name]; + if (partial.instance && partial.base == template) { + return partial.instance; + } + + if (typeof template == 'string') { + if (!this.c) { + throw new Error("No compiler available."); + } + template = this.c.compile(template, this.options); + } + + if (!template) { + return null; + } + + // We use this to check whether the partials dictionary has changed + this.partials[symbol].base = template; + + if (partial.subs) { + // Make sure we consider parent template now + if (!partials.stackText) partials.stackText = {}; + for (key in partial.subs) { + if (!partials.stackText[key]) { + partials.stackText[key] = (this.activeSub !== undefined && partials.stackText[this.activeSub]) ? partials.stackText[this.activeSub] : this.text; + } + } + template = createSpecializedPartial(template, partial.subs, partial.partials, + this.stackSubs, this.stackPartials, partials.stackText); + } + this.partials[symbol].instance = template; + + return template; + }, + + // tries to find a partial in the current scope and render it + rp: function(symbol, context, partials, indent) { + var partial = this.ep(symbol, partials); + if (!partial) { + return ''; + } + + return partial.ri(context, partials, indent); + }, + + // render a section + rs: function(context, partials, section) { + var tail = context[context.length - 1]; + + if (!isArray(tail)) { + section(context, partials, this); + return; + } + + for (var i = 0; i < tail.length; i++) { + context.push(tail[i]); + section(context, partials, this); + context.pop(); + } + }, + + // maybe start a section + s: function(val, ctx, partials, inverted, start, end, tags) { + var pass; + + if (isArray(val) && val.length === 0) { + return false; + } + + if (typeof val == 'function') { + val = this.ms(val, ctx, partials, inverted, start, end, tags); + } + + pass = !!val; + + if (!inverted && pass && ctx) { + ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]); + } + + return pass; + }, + + // find values with dotted names + d: function(key, ctx, partials, returnFound) { + var found, + names = key.split('.'), + val = this.f(names[0], ctx, partials, returnFound), + doModelGet = this.options.modelGet, + cx = null; + + if (key === '.' && isArray(ctx[ctx.length - 2])) { + val = ctx[ctx.length - 1]; + } else { + for (var i = 1; i < names.length; i++) { + found = findInScope(names[i], val, doModelGet); + if (found !== undefined) { + cx = val; + val = found; + } else { + val = ''; + } + } + } + + if (returnFound && !val) { + return false; + } + + if (!returnFound && typeof val == 'function') { + ctx.push(cx); + val = this.mv(val, ctx, partials); + ctx.pop(); + } + + return val; + }, + + // find values with normal names + f: function(key, ctx, partials, returnFound) { + var val = false, + v = null, + found = false, + doModelGet = this.options.modelGet; + + for (var i = ctx.length - 1; i >= 0; i--) { + v = ctx[i]; + val = findInScope(key, v, doModelGet); + if (val !== undefined) { + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.mv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ls: function(func, cx, partials, text, tags) { + var oldTags = this.options.delimiters; + + this.options.delimiters = tags; + this.b(this.ct(coerceToString(func.call(cx, text)), cx, partials)); + this.options.delimiters = oldTags; + + return false; + }, + + // compile text + ct: function(text, cx, partials) { + if (this.options.disableLambda) { + throw new Error('Lambda features disabled.'); + } + return this.c.compile(text, this.options).render(cx, partials); + }, + + // template result buffering + b: function(s) { this.buf += s; }, + + fl: function() { var r = this.buf; this.buf = ''; return r; }, + + // method replace section + ms: function(func, ctx, partials, inverted, start, end, tags) { + var textSource, + cx = ctx[ctx.length - 1], + result = func.call(cx); + + if (typeof result == 'function') { + if (inverted) { + return true; + } else { + textSource = (this.activeSub && this.subsText && this.subsText[this.activeSub]) ? this.subsText[this.activeSub] : this.text; + return this.ls(result, cx, partials, textSource.substring(start, end), tags); + } + } + + return result; + }, + + // method replace variable + mv: function(func, ctx, partials) { + var cx = ctx[ctx.length - 1]; + var result = func.call(cx); + + if (typeof result == 'function') { + return this.ct(coerceToString(result.call(cx)), cx, partials); + } + + return result; + }, + + sub: function(name, context, partials, indent) { + var f = this.subs[name]; + if (f) { + this.activeSub = name; + f(context, partials, this, indent); + this.activeSub = false; + } + } + + }; + + //Find a key in an object + function findInScope(key, scope, doModelGet) { + var val; + + if (scope && typeof scope == 'object') { + + if (scope[key] !== undefined) { + val = scope[key]; + + // try lookup with get for backbone or similar model data + } else if (doModelGet && scope.get && typeof scope.get == 'function') { + val = scope.get(key); + } + } + + return val; + } + + function createSpecializedPartial(instance, subs, partials, stackSubs, stackPartials, stackText) { + function PartialTemplate() {}; + PartialTemplate.prototype = instance; + function Substitutions() {}; + Substitutions.prototype = instance.subs; + var key; + var partial = new PartialTemplate(); + partial.subs = new Substitutions(); + partial.subsText = {}; //hehe. substext. + partial.buf = ''; + + stackSubs = stackSubs || {}; + partial.stackSubs = stackSubs; + partial.subsText = stackText; + for (key in subs) { + if (!stackSubs[key]) stackSubs[key] = subs[key]; + } + for (key in stackSubs) { + partial.subs[key] = stackSubs[key]; + } + + stackPartials = stackPartials || {}; + partial.stackPartials = stackPartials; + for (key in partials) { + if (!stackPartials[key]) stackPartials[key] = partials[key]; + } + for (key in stackPartials) { + partial.partials[key] = stackPartials[key]; + } + + return partial; + } + + var rAmp = /&/g, + rLt = //g, + rApos = /\'/g, + rQuot = /\"/g, + hChars = /[&<>\"\']/; + + function coerceToString(val) { + return String((val === null || val === undefined) ? '' : val); + } + + function hoganEscape(str) { + str = coerceToString(str); + return hChars.test(str) ? + str + .replace(rAmp, '&') + .replace(rLt, '<') + .replace(rGt, '>') + .replace(rApos, ''') + .replace(rQuot, '"') : + str; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + }; + +})(typeof exports !== 'undefined' ? exports : Hogan); + + + +(function (Hogan) { + // Setup regex assignments + // remove whitespace according to Mustache spec + var rIsWhitespace = /\S/, + rQuot = /\"/g, + rNewline = /\n/g, + rCr = /\r/g, + rSlash = /\\/g, + rLineSep = /\u2028/, + rParagraphSep = /\u2029/; + + Hogan.tags = { + '#': 1, '^': 2, '<': 3, '$': 4, + '/': 5, '!': 6, '>': 7, '=': 8, '_v': 9, + '{': 10, '&': 11, '_t': 12 + }; + + Hogan.scan = function scan(text, delimiters) { + var len = text.length, + IN_TEXT = 0, + IN_TAG_TYPE = 1, + IN_TAG = 2, + state = IN_TEXT, + tagType = null, + tag = null, + buf = '', + tokens = [], + seenTag = false, + i = 0, + lineStart = 0, + otag = '{{', + ctag = '}}'; + + function addBuf() { + if (buf.length > 0) { + tokens.push({tag: '_t', text: new String(buf)}); + buf = ''; + } + } + + function lineIsWhitespace() { + var isAllWhitespace = true; + for (var j = lineStart; j < tokens.length; j++) { + isAllWhitespace = + (Hogan.tags[tokens[j].tag] < Hogan.tags['_v']) || + (tokens[j].tag == '_t' && tokens[j].text.match(rIsWhitespace) === null); + if (!isAllWhitespace) { + return false; + } + } + + return isAllWhitespace; + } + + function filterLine(haveSeenTag, noNewLine) { + addBuf(); + + if (haveSeenTag && lineIsWhitespace()) { + for (var j = lineStart, next; j < tokens.length; j++) { + if (tokens[j].text) { + if ((next = tokens[j+1]) && next.tag == '>') { + // set indent to token value + next.indent = tokens[j].text.toString() + } + tokens.splice(j, 1); + } + } + } else if (!noNewLine) { + tokens.push({tag:'\n'}); + } + + seenTag = false; + lineStart = tokens.length; + } + + function changeDelimiters(text, index) { + var close = '=' + ctag, + closeIndex = text.indexOf(close, index), + delimiters = trim( + text.substring(text.indexOf('=', index) + 1, closeIndex) + ).split(' '); + + otag = delimiters[0]; + ctag = delimiters[delimiters.length - 1]; + + return closeIndex + close.length - 1; + } + + if (delimiters) { + delimiters = delimiters.split(' '); + otag = delimiters[0]; + ctag = delimiters[1]; + } + + for (i = 0; i < len; i++) { + if (state == IN_TEXT) { + if (tagChange(otag, text, i)) { + --i; + addBuf(); + state = IN_TAG_TYPE; + } else { + if (text.charAt(i) == '\n') { + filterLine(seenTag); + } else { + buf += text.charAt(i); + } + } + } else if (state == IN_TAG_TYPE) { + i += otag.length - 1; + tag = Hogan.tags[text.charAt(i + 1)]; + tagType = tag ? text.charAt(i + 1) : '_v'; + if (tagType == '=') { + i = changeDelimiters(text, i); + state = IN_TEXT; + } else { + if (tag) { + i++; + } + state = IN_TAG; + } + seenTag = i; + } else { + if (tagChange(ctag, text, i)) { + tokens.push({tag: tagType, n: trim(buf), otag: otag, ctag: ctag, + i: (tagType == '/') ? seenTag - otag.length : i + ctag.length}); + buf = ''; + i += ctag.length - 1; + state = IN_TEXT; + if (tagType == '{') { + if (ctag == '}}') { + i++; + } else { + cleanTripleStache(tokens[tokens.length - 1]); + } + } + } else { + buf += text.charAt(i); + } + } + } + + filterLine(seenTag, true); + + return tokens; + } + + function cleanTripleStache(token) { + if (token.n.substr(token.n.length - 1) === '}') { + token.n = token.n.substring(0, token.n.length - 1); + } + } + + function trim(s) { + if (s.trim) { + return s.trim(); + } + + return s.replace(/^\s*|\s*$/g, ''); + } + + function tagChange(tag, text, index) { + if (text.charAt(index) != tag.charAt(0)) { + return false; + } + + for (var i = 1, l = tag.length; i < l; i++) { + if (text.charAt(index + i) != tag.charAt(i)) { + return false; + } + } + + return true; + } + + // the tags allowed inside super templates + var allowedInSuper = {'_t': true, '\n': true, '$': true, '/': true}; + + function buildTree(tokens, kind, stack, customTags) { + var instructions = [], + opener = null, + tail = null, + token = null; + + tail = stack[stack.length - 1]; + + while (tokens.length > 0) { + token = tokens.shift(); + + if (tail && tail.tag == '<' && !(token.tag in allowedInSuper)) { + throw new Error('Illegal content in < super tag.'); + } + + if (Hogan.tags[token.tag] <= Hogan.tags['$'] || isOpener(token, customTags)) { + stack.push(token); + token.nodes = buildTree(tokens, token.tag, stack, customTags); + } else if (token.tag == '/') { + if (stack.length === 0) { + throw new Error('Closing tag without opener: /' + token.n); + } + opener = stack.pop(); + if (token.n != opener.n && !isCloser(token.n, opener.n, customTags)) { + throw new Error('Nesting error: ' + opener.n + ' vs. ' + token.n); + } + opener.end = token.i; + return instructions; + } else if (token.tag == '\n') { + token.last = (tokens.length == 0) || (tokens[0].tag == '\n'); + } + + instructions.push(token); + } + + if (stack.length > 0) { + throw new Error('missing closing tag: ' + stack.pop().n); + } + + return instructions; + } + + function isOpener(token, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].o == token.n) { + token.tag = '#'; + return true; + } + } + } + + function isCloser(close, open, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].c == close && tags[i].o == open) { + return true; + } + } + } + + function stringifySubstitutions(obj) { + var items = []; + for (var key in obj) { + items.push('"' + esc(key) + '": function(c,p,t,i) {' + obj[key] + '}'); + } + return "{ " + items.join(",") + " }"; + } + + function stringifyPartials(codeObj) { + var partials = []; + for (var key in codeObj.partials) { + partials.push('"' + esc(key) + '":{name:"' + esc(codeObj.partials[key].name) + '", ' + stringifyPartials(codeObj.partials[key]) + "}"); + } + return "partials: {" + partials.join(",") + "}, subs: " + stringifySubstitutions(codeObj.subs); + } + + Hogan.stringify = function(codeObj, text, options) { + return "{code: function (c,p,i) { " + Hogan.wrapMain(codeObj.code) + " }," + stringifyPartials(codeObj) + "}"; + } + + var serialNo = 0; + Hogan.generate = function(tree, text, options) { + serialNo = 0; + var context = { code: '', subs: {}, partials: {} }; + Hogan.walk(tree, context); + + if (options.asString) { + return this.stringify(context, text, options); + } + + return this.makeTemplate(context, text, options); + } + + Hogan.wrapMain = function(code) { + return 'var t=this;t.b(i=i||"");' + code + 'return t.fl();'; + } + + Hogan.template = Hogan.Template; + + Hogan.makeTemplate = function(codeObj, text, options) { + var template = this.makePartials(codeObj); + template.code = new Function('c', 'p', 'i', this.wrapMain(codeObj.code)); + return new this.template(template, text, this, options); + } + + Hogan.makePartials = function(codeObj) { + var key, template = {subs: {}, partials: codeObj.partials, name: codeObj.name}; + for (key in template.partials) { + template.partials[key] = this.makePartials(template.partials[key]); + } + for (key in codeObj.subs) { + template.subs[key] = new Function('c', 'p', 't', 'i', codeObj.subs[key]); + } + return template; + } + + function esc(s) { + return s.replace(rSlash, '\\\\') + .replace(rQuot, '\\\"') + .replace(rNewline, '\\n') + .replace(rCr, '\\r') + .replace(rLineSep, '\\u2028') + .replace(rParagraphSep, '\\u2029'); + } + + function chooseMethod(s) { + return (~s.indexOf('.')) ? 'd' : 'f'; + } + + function createPartial(node, context) { + var prefix = "<" + (context.prefix || ""); + var sym = prefix + node.n + serialNo++; + context.partials[sym] = {name: node.n, partials: {}}; + context.code += 't.b(t.rp("' + esc(sym) + '",c,p,"' + (node.indent || '') + '"));'; + return sym; + } + + Hogan.codegen = { + '#': function(node, context) { + context.code += 'if(t.s(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,1),' + + 'c,p,0,' + node.i + ',' + node.end + ',"' + node.otag + " " + node.ctag + '")){' + + 't.rs(c,p,' + 'function(c,p,t){'; + Hogan.walk(node.nodes, context); + context.code += '});c.pop();}'; + }, + + '^': function(node, context) { + context.code += 'if(!t.s(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,1),c,p,1,0,0,"")){'; + Hogan.walk(node.nodes, context); + context.code += '};'; + }, + + '>': createPartial, + '<': function(node, context) { + var ctx = {partials: {}, code: '', subs: {}, inPartial: true}; + Hogan.walk(node.nodes, ctx); + var template = context.partials[createPartial(node, context)]; + template.subs = ctx.subs; + template.partials = ctx.partials; + }, + + '$': function(node, context) { + var ctx = {subs: {}, code: '', partials: context.partials, prefix: node.n}; + Hogan.walk(node.nodes, ctx); + context.subs[node.n] = ctx.code; + if (!context.inPartial) { + context.code += 't.sub("' + esc(node.n) + '",c,p,i);'; + } + }, + + '\n': function(node, context) { + context.code += write('"\\n"' + (node.last ? '' : ' + i')); + }, + + '_v': function(node, context) { + context.code += 't.b(t.v(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,0)));'; + }, + + '_t': function(node, context) { + context.code += write('"' + esc(node.text) + '"'); + }, + + '{': tripleStache, + + '&': tripleStache + } + + function tripleStache(node, context) { + context.code += 't.b(t.t(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,0)));'; + } + + function write(s) { + return 't.b(' + s + ');'; + } + + Hogan.walk = function(nodelist, context) { + var func; + for (var i = 0, l = nodelist.length; i < l; i++) { + func = Hogan.codegen[nodelist[i].tag]; + func && func(nodelist[i], context); + } + return context; + } + + Hogan.parse = function(tokens, text, options) { + options = options || {}; + return buildTree(tokens, '', [], options.sectionTags || []); + } + + Hogan.cache = {}; + + Hogan.cacheKey = function(text, options) { + return [text, !!options.asString, !!options.disableLambda, options.delimiters, !!options.modelGet].join('||'); + } + + Hogan.compile = function(text, options) { + options = options || {}; + var key = Hogan.cacheKey(text, options); + var template = this.cache[key]; + + if (template) { + var partials = template.partials; + for (var name in partials) { + delete partials[name].instance; + } + return template; + } + + template = this.generate(this.parse(this.scan(text, options.delimiters), text, options), text, options); + return this.cache[key] = template; + } +})(typeof exports !== 'undefined' ? exports : Hogan); + diff --git a/hogan-node/node_modules/hogan.js/dist/hogan-3.0.2.min.amd.js b/hogan-node/node_modules/hogan.js/dist/hogan-3.0.2.min.amd.js new file mode 100644 index 0000000..b6c5801 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/dist/hogan-3.0.2.min.amd.js @@ -0,0 +1,5 @@ +/** +* @preserve Copyright 2012 Twitter, Inc. +* @license http://www.apache.org/licenses/LICENSE-2.0.txt +*/ +var Hogan={};!function(t){function n(t,n,e){var i;return n&&"object"==typeof n&&(void 0!==n[t]?i=n[t]:e&&n.get&&"function"==typeof n.get&&(i=n.get(t))),i}function e(t,n,e,i,r,s){function a(){}function o(){}a.prototype=t,o.prototype=t.subs;var u,c=new a;c.subs=new o,c.subsText={},c.buf="",i=i||{},c.stackSubs=i,c.subsText=s;for(u in n)i[u]||(i[u]=n[u]);for(u in i)c.subs[u]=i[u];r=r||{},c.stackPartials=r;for(u in e)r[u]||(r[u]=e[u]);for(u in r)c.partials[u]=r[u];return c}function i(t){return String(null===t||void 0===t?"":t)}function r(t){return t=i(t),l.test(t)?t.replace(s,"&").replace(a,"<").replace(o,">").replace(u,"'").replace(c,"""):t}t.Template=function(t,n,e,i){t=t||{},this.r=t.code||this.r,this.c=e,this.options=i||{},this.text=n||"",this.partials=t.partials||{},this.subs=t.subs||{},this.buf=""},t.Template.prototype={r:function(){return""},v:r,t:i,render:function(t,n,e){return this.ri([t],n||{},e)},ri:function(t,n,e){return this.r(t,n,e)},ep:function(t,n){var i=this.partials[t],r=n[i.name];if(i.instance&&i.base==r)return i.instance;if("string"==typeof r){if(!this.c)throw new Error("No compiler available.");r=this.c.compile(r,this.options)}if(!r)return null;if(this.partials[t].base=r,i.subs){n.stackText||(n.stackText={});for(key in i.subs)n.stackText[key]||(n.stackText[key]=void 0!==this.activeSub&&n.stackText[this.activeSub]?n.stackText[this.activeSub]:this.text);r=e(r,i.subs,i.partials,this.stackSubs,this.stackPartials,n.stackText)}return this.partials[t].instance=r,r},rp:function(t,n,e,i){var r=this.ep(t,e);return r?r.ri(n,e,i):""},rs:function(t,n,e){var i=t[t.length-1];if(!f(i))return void e(t,n,this);for(var r=0;r=0;c--)if(a=e[c],s=n(t,a,u),void 0!==s){o=!0;break}return o?(r||"function"!=typeof s||(s=this.mv(s,e,i)),s):r?!1:""},ls:function(t,n,e,r,s){var a=this.options.delimiters;return this.options.delimiters=s,this.b(this.ct(i(t.call(n,r)),n,e)),this.options.delimiters=a,!1},ct:function(t,n,e){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(t,this.options).render(n,e)},b:function(t){this.buf+=t},fl:function(){var t=this.buf;return this.buf="",t},ms:function(t,n,e,i,r,s,a){var o,u=n[n.length-1],c=t.call(u);return"function"==typeof c?i?!0:(o=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(c,u,e,o.substring(r,s),a)):c},mv:function(t,n,e){var r=n[n.length-1],s=t.call(r);return"function"==typeof s?this.ct(i(s.call(r)),r,e):s},sub:function(t,n,e,i){var r=this.subs[t];r&&(this.activeSub=t,r(n,e,this,i),this.activeSub=!1)}};var s=/&/g,a=//g,u=/\'/g,c=/\"/g,l=/[&<>\"\']/,f=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)}}("undefined"!=typeof exports?exports:Hogan),function(t){function n(t){"}"===t.n.substr(t.n.length-1)&&(t.n=t.n.substring(0,t.n.length-1))}function e(t){return t.trim?t.trim():t.replace(/^\s*|\s*$/g,"")}function i(t,n,e){if(n.charAt(e)!=t.charAt(0))return!1;for(var i=1,r=t.length;r>i;i++)if(n.charAt(e+i)!=t.charAt(i))return!1;return!0}function r(n,e,i,o){var u=[],c=null,l=null,f=null;for(l=i[i.length-1];n.length>0;){if(f=n.shift(),l&&"<"==l.tag&&!(f.tag in k))throw new Error("Illegal content in < super tag.");if(t.tags[f.tag]<=t.tags.$||s(f,o))i.push(f),f.nodes=r(n,f.tag,i,o);else{if("/"==f.tag){if(0===i.length)throw new Error("Closing tag without opener: /"+f.n);if(c=i.pop(),f.n!=c.n&&!a(f.n,c.n,o))throw new Error("Nesting error: "+c.n+" vs. "+f.n);return c.end=f.i,u}"\n"==f.tag&&(f.last=0==n.length||"\n"==n[0].tag)}u.push(f)}if(i.length>0)throw new Error("missing closing tag: "+i.pop().n);return u}function s(t,n){for(var e=0,i=n.length;i>e;e++)if(n[e].o==t.n)return t.tag="#",!0}function a(t,n,e){for(var i=0,r=e.length;r>i;i++)if(e[i].c==t&&e[i].o==n)return!0}function o(t){var n=[];for(var e in t)n.push('"'+c(e)+'": function(c,p,t,i) {'+t[e]+"}");return"{ "+n.join(",")+" }"}function u(t){var n=[];for(var e in t.partials)n.push('"'+c(e)+'":{name:"'+c(t.partials[e].name)+'", '+u(t.partials[e])+"}");return"partials: {"+n.join(",")+"}, subs: "+o(t.subs)}function c(t){return t.replace(m,"\\\\").replace(v,'\\"').replace(b,"\\n").replace(d,"\\r").replace(x,"\\u2028").replace(w,"\\u2029")}function l(t){return~t.indexOf(".")?"d":"f"}function f(t,n){var e="<"+(n.prefix||""),i=e+t.n+y++;return n.partials[i]={name:t.n,partials:{}},n.code+='t.b(t.rp("'+c(i)+'",c,p,"'+(t.indent||"")+'"));',i}function h(t,n){n.code+="t.b(t.t(t."+l(t.n)+'("'+c(t.n)+'",c,p,0)));'}function p(t){return"t.b("+t+");"}var g=/\S/,v=/\"/g,b=/\n/g,d=/\r/g,m=/\\/g,x=/\u2028/,w=/\u2029/;t.tags={"#":1,"^":2,"<":3,$:4,"/":5,"!":6,">":7,"=":8,_v:9,"{":10,"&":11,_t:12},t.scan=function(r,s){function a(){m.length>0&&(x.push({tag:"_t",text:new String(m)}),m="")}function o(){for(var n=!0,e=y;e"==e.tag&&(e.indent=x[i].text.toString()),x.splice(i,1));else n||x.push({tag:"\n"});w=!1,y=x.length}function c(t,n){var i="="+S,r=t.indexOf(i,n),s=e(t.substring(t.indexOf("=",n)+1,r)).split(" ");return T=s[0],S=s[s.length-1],r+i.length-1}var l=r.length,f=0,h=1,p=2,v=f,b=null,d=null,m="",x=[],w=!1,k=0,y=0,T="{{",S="}}";for(s&&(s=s.split(" "),T=s[0],S=s[1]),k=0;l>k;k++)v==f?i(T,r,k)?(--k,a(),v=h):"\n"==r.charAt(k)?u(w):m+=r.charAt(k):v==h?(k+=T.length-1,d=t.tags[r.charAt(k+1)],b=d?r.charAt(k+1):"_v","="==b?(k=c(r,k),v=f):(d&&k++,v=p),w=k):i(S,r,k)?(x.push({tag:b,n:e(m),otag:T,ctag:S,i:"/"==b?w-T.length:k+S.length}),m="",k+=S.length-1,v=f,"{"==b&&("}}"==S?k++:n(x[x.length-1]))):m+=r.charAt(k);return u(w,!0),x};var k={_t:!0,"\n":!0,$:!0,"/":!0};t.stringify=function(n){return"{code: function (c,p,i) { "+t.wrapMain(n.code)+" },"+u(n)+"}"};var y=0;t.generate=function(n,e,i){y=0;var r={code:"",subs:{},partials:{}};return t.walk(n,r),i.asString?this.stringify(r,e,i):this.makeTemplate(r,e,i)},t.wrapMain=function(t){return'var t=this;t.b(i=i||"");'+t+"return t.fl();"},t.template=t.Template,t.makeTemplate=function(t,n,e){var i=this.makePartials(t);return i.code=new Function("c","p","i",this.wrapMain(t.code)),new this.template(i,n,this,e)},t.makePartials=function(t){var n,e={subs:{},partials:t.partials,name:t.name};for(n in e.partials)e.partials[n]=this.makePartials(e.partials[n]);for(n in t.subs)e.subs[n]=new Function("c","p","t","i",t.subs[n]);return e},t.codegen={"#":function(n,e){e.code+="if(t.s(t."+l(n.n)+'("'+c(n.n)+'",c,p,1),c,p,0,'+n.i+","+n.end+',"'+n.otag+" "+n.ctag+'")){t.rs(c,p,function(c,p,t){',t.walk(n.nodes,e),e.code+="});c.pop();}"},"^":function(n,e){e.code+="if(!t.s(t."+l(n.n)+'("'+c(n.n)+'",c,p,1),c,p,1,0,0,"")){',t.walk(n.nodes,e),e.code+="};"},">":f,"<":function(n,e){var i={partials:{},code:"",subs:{},inPartial:!0};t.walk(n.nodes,i);var r=e.partials[f(n,e)];r.subs=i.subs,r.partials=i.partials},$:function(n,e){var i={subs:{},code:"",partials:e.partials,prefix:n.n};t.walk(n.nodes,i),e.subs[n.n]=i.code,e.inPartial||(e.code+='t.sub("'+c(n.n)+'",c,p,i);')},"\n":function(t,n){n.code+=p('"\\n"'+(t.last?"":" + i"))},_v:function(t,n){n.code+="t.b(t.v(t."+l(t.n)+'("'+c(t.n)+'",c,p,0)));'},_t:function(t,n){n.code+=p('"'+c(t.text)+'"')},"{":h,"&":h},t.walk=function(n,e){for(var i,r=0,s=n.length;s>r;r++)i=t.codegen[n[r].tag],i&&i(n[r],e);return e},t.parse=function(t,n,e){return e=e||{},r(t,"",[],e.sectionTags||[])},t.cache={},t.cacheKey=function(t,n){return[t,!!n.asString,!!n.disableLambda,n.delimiters,!!n.modelGet].join("||")},t.compile=function(n,e){e=e||{};var i=t.cacheKey(n,e),r=this.cache[i];if(r){var s=r.partials;for(var a in s)delete s[a].instance;return r}return r=this.generate(this.parse(this.scan(n,e.delimiters),n,e),n,e),this.cache[i]=r}}("undefined"!=typeof exports?exports:Hogan),"function"==typeof define&&define.amd&&define(Hogan); \ No newline at end of file diff --git a/hogan-node/node_modules/hogan.js/dist/hogan-3.0.2.min.common.js b/hogan-node/node_modules/hogan.js/dist/hogan-3.0.2.min.common.js new file mode 100644 index 0000000..a571cf3 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/dist/hogan-3.0.2.min.common.js @@ -0,0 +1,5 @@ +/** +* @preserve Copyright 2012 Twitter, Inc. +* @license http://www.apache.org/licenses/LICENSE-2.0.txt +*/ +var Hogan={};!function(t){function n(t,n,e){var i;return n&&"object"==typeof n&&(void 0!==n[t]?i=n[t]:e&&n.get&&"function"==typeof n.get&&(i=n.get(t))),i}function e(t,n,e,i,r,s){function a(){}function o(){}a.prototype=t,o.prototype=t.subs;var u,c=new a;c.subs=new o,c.subsText={},c.buf="",i=i||{},c.stackSubs=i,c.subsText=s;for(u in n)i[u]||(i[u]=n[u]);for(u in i)c.subs[u]=i[u];r=r||{},c.stackPartials=r;for(u in e)r[u]||(r[u]=e[u]);for(u in r)c.partials[u]=r[u];return c}function i(t){return String(null===t||void 0===t?"":t)}function r(t){return t=i(t),l.test(t)?t.replace(s,"&").replace(a,"<").replace(o,">").replace(u,"'").replace(c,"""):t}t.Template=function(t,n,e,i){t=t||{},this.r=t.code||this.r,this.c=e,this.options=i||{},this.text=n||"",this.partials=t.partials||{},this.subs=t.subs||{},this.buf=""},t.Template.prototype={r:function(){return""},v:r,t:i,render:function(t,n,e){return this.ri([t],n||{},e)},ri:function(t,n,e){return this.r(t,n,e)},ep:function(t,n){var i=this.partials[t],r=n[i.name];if(i.instance&&i.base==r)return i.instance;if("string"==typeof r){if(!this.c)throw new Error("No compiler available.");r=this.c.compile(r,this.options)}if(!r)return null;if(this.partials[t].base=r,i.subs){n.stackText||(n.stackText={});for(key in i.subs)n.stackText[key]||(n.stackText[key]=void 0!==this.activeSub&&n.stackText[this.activeSub]?n.stackText[this.activeSub]:this.text);r=e(r,i.subs,i.partials,this.stackSubs,this.stackPartials,n.stackText)}return this.partials[t].instance=r,r},rp:function(t,n,e,i){var r=this.ep(t,e);return r?r.ri(n,e,i):""},rs:function(t,n,e){var i=t[t.length-1];if(!f(i))return void e(t,n,this);for(var r=0;r=0;c--)if(a=e[c],s=n(t,a,u),void 0!==s){o=!0;break}return o?(r||"function"!=typeof s||(s=this.mv(s,e,i)),s):r?!1:""},ls:function(t,n,e,r,s){var a=this.options.delimiters;return this.options.delimiters=s,this.b(this.ct(i(t.call(n,r)),n,e)),this.options.delimiters=a,!1},ct:function(t,n,e){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(t,this.options).render(n,e)},b:function(t){this.buf+=t},fl:function(){var t=this.buf;return this.buf="",t},ms:function(t,n,e,i,r,s,a){var o,u=n[n.length-1],c=t.call(u);return"function"==typeof c?i?!0:(o=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(c,u,e,o.substring(r,s),a)):c},mv:function(t,n,e){var r=n[n.length-1],s=t.call(r);return"function"==typeof s?this.ct(i(s.call(r)),r,e):s},sub:function(t,n,e,i){var r=this.subs[t];r&&(this.activeSub=t,r(n,e,this,i),this.activeSub=!1)}};var s=/&/g,a=//g,u=/\'/g,c=/\"/g,l=/[&<>\"\']/,f=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)}}("undefined"!=typeof exports?exports:Hogan),function(t){function n(t){"}"===t.n.substr(t.n.length-1)&&(t.n=t.n.substring(0,t.n.length-1))}function e(t){return t.trim?t.trim():t.replace(/^\s*|\s*$/g,"")}function i(t,n,e){if(n.charAt(e)!=t.charAt(0))return!1;for(var i=1,r=t.length;r>i;i++)if(n.charAt(e+i)!=t.charAt(i))return!1;return!0}function r(n,e,i,o){var u=[],c=null,l=null,f=null;for(l=i[i.length-1];n.length>0;){if(f=n.shift(),l&&"<"==l.tag&&!(f.tag in k))throw new Error("Illegal content in < super tag.");if(t.tags[f.tag]<=t.tags.$||s(f,o))i.push(f),f.nodes=r(n,f.tag,i,o);else{if("/"==f.tag){if(0===i.length)throw new Error("Closing tag without opener: /"+f.n);if(c=i.pop(),f.n!=c.n&&!a(f.n,c.n,o))throw new Error("Nesting error: "+c.n+" vs. "+f.n);return c.end=f.i,u}"\n"==f.tag&&(f.last=0==n.length||"\n"==n[0].tag)}u.push(f)}if(i.length>0)throw new Error("missing closing tag: "+i.pop().n);return u}function s(t,n){for(var e=0,i=n.length;i>e;e++)if(n[e].o==t.n)return t.tag="#",!0}function a(t,n,e){for(var i=0,r=e.length;r>i;i++)if(e[i].c==t&&e[i].o==n)return!0}function o(t){var n=[];for(var e in t)n.push('"'+c(e)+'": function(c,p,t,i) {'+t[e]+"}");return"{ "+n.join(",")+" }"}function u(t){var n=[];for(var e in t.partials)n.push('"'+c(e)+'":{name:"'+c(t.partials[e].name)+'", '+u(t.partials[e])+"}");return"partials: {"+n.join(",")+"}, subs: "+o(t.subs)}function c(t){return t.replace(m,"\\\\").replace(v,'\\"').replace(b,"\\n").replace(d,"\\r").replace(x,"\\u2028").replace(w,"\\u2029")}function l(t){return~t.indexOf(".")?"d":"f"}function f(t,n){var e="<"+(n.prefix||""),i=e+t.n+y++;return n.partials[i]={name:t.n,partials:{}},n.code+='t.b(t.rp("'+c(i)+'",c,p,"'+(t.indent||"")+'"));',i}function p(t,n){n.code+="t.b(t.t(t."+l(t.n)+'("'+c(t.n)+'",c,p,0)));'}function h(t){return"t.b("+t+");"}var g=/\S/,v=/\"/g,b=/\n/g,d=/\r/g,m=/\\/g,x=/\u2028/,w=/\u2029/;t.tags={"#":1,"^":2,"<":3,$:4,"/":5,"!":6,">":7,"=":8,_v:9,"{":10,"&":11,_t:12},t.scan=function(r,s){function a(){m.length>0&&(x.push({tag:"_t",text:new String(m)}),m="")}function o(){for(var n=!0,e=y;e"==e.tag&&(e.indent=x[i].text.toString()),x.splice(i,1));else n||x.push({tag:"\n"});w=!1,y=x.length}function c(t,n){var i="="+S,r=t.indexOf(i,n),s=e(t.substring(t.indexOf("=",n)+1,r)).split(" ");return T=s[0],S=s[s.length-1],r+i.length-1}var l=r.length,f=0,p=1,h=2,v=f,b=null,d=null,m="",x=[],w=!1,k=0,y=0,T="{{",S="}}";for(s&&(s=s.split(" "),T=s[0],S=s[1]),k=0;l>k;k++)v==f?i(T,r,k)?(--k,a(),v=p):"\n"==r.charAt(k)?u(w):m+=r.charAt(k):v==p?(k+=T.length-1,d=t.tags[r.charAt(k+1)],b=d?r.charAt(k+1):"_v","="==b?(k=c(r,k),v=f):(d&&k++,v=h),w=k):i(S,r,k)?(x.push({tag:b,n:e(m),otag:T,ctag:S,i:"/"==b?w-T.length:k+S.length}),m="",k+=S.length-1,v=f,"{"==b&&("}}"==S?k++:n(x[x.length-1]))):m+=r.charAt(k);return u(w,!0),x};var k={_t:!0,"\n":!0,$:!0,"/":!0};t.stringify=function(n){return"{code: function (c,p,i) { "+t.wrapMain(n.code)+" },"+u(n)+"}"};var y=0;t.generate=function(n,e,i){y=0;var r={code:"",subs:{},partials:{}};return t.walk(n,r),i.asString?this.stringify(r,e,i):this.makeTemplate(r,e,i)},t.wrapMain=function(t){return'var t=this;t.b(i=i||"");'+t+"return t.fl();"},t.template=t.Template,t.makeTemplate=function(t,n,e){var i=this.makePartials(t);return i.code=new Function("c","p","i",this.wrapMain(t.code)),new this.template(i,n,this,e)},t.makePartials=function(t){var n,e={subs:{},partials:t.partials,name:t.name};for(n in e.partials)e.partials[n]=this.makePartials(e.partials[n]);for(n in t.subs)e.subs[n]=new Function("c","p","t","i",t.subs[n]);return e},t.codegen={"#":function(n,e){e.code+="if(t.s(t."+l(n.n)+'("'+c(n.n)+'",c,p,1),c,p,0,'+n.i+","+n.end+',"'+n.otag+" "+n.ctag+'")){t.rs(c,p,function(c,p,t){',t.walk(n.nodes,e),e.code+="});c.pop();}"},"^":function(n,e){e.code+="if(!t.s(t."+l(n.n)+'("'+c(n.n)+'",c,p,1),c,p,1,0,0,"")){',t.walk(n.nodes,e),e.code+="};"},">":f,"<":function(n,e){var i={partials:{},code:"",subs:{},inPartial:!0};t.walk(n.nodes,i);var r=e.partials[f(n,e)];r.subs=i.subs,r.partials=i.partials},$:function(n,e){var i={subs:{},code:"",partials:e.partials,prefix:n.n};t.walk(n.nodes,i),e.subs[n.n]=i.code,e.inPartial||(e.code+='t.sub("'+c(n.n)+'",c,p,i);')},"\n":function(t,n){n.code+=h('"\\n"'+(t.last?"":" + i"))},_v:function(t,n){n.code+="t.b(t.v(t."+l(t.n)+'("'+c(t.n)+'",c,p,0)));'},_t:function(t,n){n.code+=h('"'+c(t.text)+'"')},"{":p,"&":p},t.walk=function(n,e){for(var i,r=0,s=n.length;s>r;r++)i=t.codegen[n[r].tag],i&&i(n[r],e);return e},t.parse=function(t,n,e){return e=e||{},r(t,"",[],e.sectionTags||[])},t.cache={},t.cacheKey=function(t,n){return[t,!!n.asString,!!n.disableLambda,n.delimiters,!!n.modelGet].join("||")},t.compile=function(n,e){e=e||{};var i=t.cacheKey(n,e),r=this.cache[i];if(r){var s=r.partials;for(var a in s)delete s[a].instance;return r}return r=this.generate(this.parse(this.scan(n,e.delimiters),n,e),n,e),this.cache[i]=r}}("undefined"!=typeof exports?exports:Hogan),"undefined"!=typeof module&&module.exports&&(module.exports=Hogan); \ No newline at end of file diff --git a/hogan-node/node_modules/hogan.js/dist/hogan-3.0.2.min.js b/hogan-node/node_modules/hogan.js/dist/hogan-3.0.2.min.js new file mode 100644 index 0000000..437c5d4 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/dist/hogan-3.0.2.min.js @@ -0,0 +1,5 @@ +/** +* @preserve Copyright 2012 Twitter, Inc. +* @license http://www.apache.org/licenses/LICENSE-2.0.txt +*/ +var Hogan={};!function(t){function n(t,n,e){var i;return n&&"object"==typeof n&&(void 0!==n[t]?i=n[t]:e&&n.get&&"function"==typeof n.get&&(i=n.get(t))),i}function e(t,n,e,i,r,s){function a(){}function o(){}a.prototype=t,o.prototype=t.subs;var u,c=new a;c.subs=new o,c.subsText={},c.buf="",i=i||{},c.stackSubs=i,c.subsText=s;for(u in n)i[u]||(i[u]=n[u]);for(u in i)c.subs[u]=i[u];r=r||{},c.stackPartials=r;for(u in e)r[u]||(r[u]=e[u]);for(u in r)c.partials[u]=r[u];return c}function i(t){return String(null===t||void 0===t?"":t)}function r(t){return t=i(t),l.test(t)?t.replace(s,"&").replace(a,"<").replace(o,">").replace(u,"'").replace(c,"""):t}t.Template=function(t,n,e,i){t=t||{},this.r=t.code||this.r,this.c=e,this.options=i||{},this.text=n||"",this.partials=t.partials||{},this.subs=t.subs||{},this.buf=""},t.Template.prototype={r:function(){return""},v:r,t:i,render:function(t,n,e){return this.ri([t],n||{},e)},ri:function(t,n,e){return this.r(t,n,e)},ep:function(t,n){var i=this.partials[t],r=n[i.name];if(i.instance&&i.base==r)return i.instance;if("string"==typeof r){if(!this.c)throw new Error("No compiler available.");r=this.c.compile(r,this.options)}if(!r)return null;if(this.partials[t].base=r,i.subs){n.stackText||(n.stackText={});for(key in i.subs)n.stackText[key]||(n.stackText[key]=void 0!==this.activeSub&&n.stackText[this.activeSub]?n.stackText[this.activeSub]:this.text);r=e(r,i.subs,i.partials,this.stackSubs,this.stackPartials,n.stackText)}return this.partials[t].instance=r,r},rp:function(t,n,e,i){var r=this.ep(t,e);return r?r.ri(n,e,i):""},rs:function(t,n,e){var i=t[t.length-1];if(!f(i))return void e(t,n,this);for(var r=0;r=0;c--)if(a=e[c],s=n(t,a,u),void 0!==s){o=!0;break}return o?(r||"function"!=typeof s||(s=this.mv(s,e,i)),s):r?!1:""},ls:function(t,n,e,r,s){var a=this.options.delimiters;return this.options.delimiters=s,this.b(this.ct(i(t.call(n,r)),n,e)),this.options.delimiters=a,!1},ct:function(t,n,e){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(t,this.options).render(n,e)},b:function(t){this.buf+=t},fl:function(){var t=this.buf;return this.buf="",t},ms:function(t,n,e,i,r,s,a){var o,u=n[n.length-1],c=t.call(u);return"function"==typeof c?i?!0:(o=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(c,u,e,o.substring(r,s),a)):c},mv:function(t,n,e){var r=n[n.length-1],s=t.call(r);return"function"==typeof s?this.ct(i(s.call(r)),r,e):s},sub:function(t,n,e,i){var r=this.subs[t];r&&(this.activeSub=t,r(n,e,this,i),this.activeSub=!1)}};var s=/&/g,a=//g,u=/\'/g,c=/\"/g,l=/[&<>\"\']/,f=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)}}("undefined"!=typeof exports?exports:Hogan),function(t){function n(t){"}"===t.n.substr(t.n.length-1)&&(t.n=t.n.substring(0,t.n.length-1))}function e(t){return t.trim?t.trim():t.replace(/^\s*|\s*$/g,"")}function i(t,n,e){if(n.charAt(e)!=t.charAt(0))return!1;for(var i=1,r=t.length;r>i;i++)if(n.charAt(e+i)!=t.charAt(i))return!1;return!0}function r(n,e,i,o){var u=[],c=null,l=null,f=null;for(l=i[i.length-1];n.length>0;){if(f=n.shift(),l&&"<"==l.tag&&!(f.tag in k))throw new Error("Illegal content in < super tag.");if(t.tags[f.tag]<=t.tags.$||s(f,o))i.push(f),f.nodes=r(n,f.tag,i,o);else{if("/"==f.tag){if(0===i.length)throw new Error("Closing tag without opener: /"+f.n);if(c=i.pop(),f.n!=c.n&&!a(f.n,c.n,o))throw new Error("Nesting error: "+c.n+" vs. "+f.n);return c.end=f.i,u}"\n"==f.tag&&(f.last=0==n.length||"\n"==n[0].tag)}u.push(f)}if(i.length>0)throw new Error("missing closing tag: "+i.pop().n);return u}function s(t,n){for(var e=0,i=n.length;i>e;e++)if(n[e].o==t.n)return t.tag="#",!0}function a(t,n,e){for(var i=0,r=e.length;r>i;i++)if(e[i].c==t&&e[i].o==n)return!0}function o(t){var n=[];for(var e in t)n.push('"'+c(e)+'": function(c,p,t,i) {'+t[e]+"}");return"{ "+n.join(",")+" }"}function u(t){var n=[];for(var e in t.partials)n.push('"'+c(e)+'":{name:"'+c(t.partials[e].name)+'", '+u(t.partials[e])+"}");return"partials: {"+n.join(",")+"}, subs: "+o(t.subs)}function c(t){return t.replace(m,"\\\\").replace(v,'\\"').replace(b,"\\n").replace(d,"\\r").replace(x,"\\u2028").replace(w,"\\u2029")}function l(t){return~t.indexOf(".")?"d":"f"}function f(t,n){var e="<"+(n.prefix||""),i=e+t.n+y++;return n.partials[i]={name:t.n,partials:{}},n.code+='t.b(t.rp("'+c(i)+'",c,p,"'+(t.indent||"")+'"));',i}function h(t,n){n.code+="t.b(t.t(t."+l(t.n)+'("'+c(t.n)+'",c,p,0)));'}function p(t){return"t.b("+t+");"}var g=/\S/,v=/\"/g,b=/\n/g,d=/\r/g,m=/\\/g,x=/\u2028/,w=/\u2029/;t.tags={"#":1,"^":2,"<":3,$:4,"/":5,"!":6,">":7,"=":8,_v:9,"{":10,"&":11,_t:12},t.scan=function(r,s){function a(){m.length>0&&(x.push({tag:"_t",text:new String(m)}),m="")}function o(){for(var n=!0,e=y;e"==e.tag&&(e.indent=x[i].text.toString()),x.splice(i,1));else n||x.push({tag:"\n"});w=!1,y=x.length}function c(t,n){var i="="+S,r=t.indexOf(i,n),s=e(t.substring(t.indexOf("=",n)+1,r)).split(" ");return T=s[0],S=s[s.length-1],r+i.length-1}var l=r.length,f=0,h=1,p=2,v=f,b=null,d=null,m="",x=[],w=!1,k=0,y=0,T="{{",S="}}";for(s&&(s=s.split(" "),T=s[0],S=s[1]),k=0;l>k;k++)v==f?i(T,r,k)?(--k,a(),v=h):"\n"==r.charAt(k)?u(w):m+=r.charAt(k):v==h?(k+=T.length-1,d=t.tags[r.charAt(k+1)],b=d?r.charAt(k+1):"_v","="==b?(k=c(r,k),v=f):(d&&k++,v=p),w=k):i(S,r,k)?(x.push({tag:b,n:e(m),otag:T,ctag:S,i:"/"==b?w-T.length:k+S.length}),m="",k+=S.length-1,v=f,"{"==b&&("}}"==S?k++:n(x[x.length-1]))):m+=r.charAt(k);return u(w,!0),x};var k={_t:!0,"\n":!0,$:!0,"/":!0};t.stringify=function(n){return"{code: function (c,p,i) { "+t.wrapMain(n.code)+" },"+u(n)+"}"};var y=0;t.generate=function(n,e,i){y=0;var r={code:"",subs:{},partials:{}};return t.walk(n,r),i.asString?this.stringify(r,e,i):this.makeTemplate(r,e,i)},t.wrapMain=function(t){return'var t=this;t.b(i=i||"");'+t+"return t.fl();"},t.template=t.Template,t.makeTemplate=function(t,n,e){var i=this.makePartials(t);return i.code=new Function("c","p","i",this.wrapMain(t.code)),new this.template(i,n,this,e)},t.makePartials=function(t){var n,e={subs:{},partials:t.partials,name:t.name};for(n in e.partials)e.partials[n]=this.makePartials(e.partials[n]);for(n in t.subs)e.subs[n]=new Function("c","p","t","i",t.subs[n]);return e},t.codegen={"#":function(n,e){e.code+="if(t.s(t."+l(n.n)+'("'+c(n.n)+'",c,p,1),c,p,0,'+n.i+","+n.end+',"'+n.otag+" "+n.ctag+'")){t.rs(c,p,function(c,p,t){',t.walk(n.nodes,e),e.code+="});c.pop();}"},"^":function(n,e){e.code+="if(!t.s(t."+l(n.n)+'("'+c(n.n)+'",c,p,1),c,p,1,0,0,"")){',t.walk(n.nodes,e),e.code+="};"},">":f,"<":function(n,e){var i={partials:{},code:"",subs:{},inPartial:!0};t.walk(n.nodes,i);var r=e.partials[f(n,e)];r.subs=i.subs,r.partials=i.partials},$:function(n,e){var i={subs:{},code:"",partials:e.partials,prefix:n.n};t.walk(n.nodes,i),e.subs[n.n]=i.code,e.inPartial||(e.code+='t.sub("'+c(n.n)+'",c,p,i);')},"\n":function(t,n){n.code+=p('"\\n"'+(t.last?"":" + i"))},_v:function(t,n){n.code+="t.b(t.v(t."+l(t.n)+'("'+c(t.n)+'",c,p,0)));'},_t:function(t,n){n.code+=p('"'+c(t.text)+'"')},"{":h,"&":h},t.walk=function(n,e){for(var i,r=0,s=n.length;s>r;r++)i=t.codegen[n[r].tag],i&&i(n[r],e);return e},t.parse=function(t,n,e){return e=e||{},r(t,"",[],e.sectionTags||[])},t.cache={},t.cacheKey=function(t,n){return[t,!!n.asString,!!n.disableLambda,n.delimiters,!!n.modelGet].join("||")},t.compile=function(n,e){e=e||{};var i=t.cacheKey(n,e),r=this.cache[i];if(r){var s=r.partials;for(var a in s)delete s[a].instance;return r}return r=this.generate(this.parse(this.scan(n,e.delimiters),n,e),n,e),this.cache[i]=r}}("undefined"!=typeof exports?exports:Hogan); \ No newline at end of file diff --git a/hogan-node/node_modules/hogan.js/dist/hogan-3.0.2.min.mustache.js b/hogan-node/node_modules/hogan.js/dist/hogan-3.0.2.min.mustache.js new file mode 100644 index 0000000..93c7918 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/dist/hogan-3.0.2.min.mustache.js @@ -0,0 +1,5 @@ +/** +* @preserve Copyright 2012 Twitter, Inc. +* @license http://www.apache.org/licenses/LICENSE-2.0.txt +*/ +var Hogan={};!function(t){function n(t,n,e){var r;return n&&"object"==typeof n&&(void 0!==n[t]?r=n[t]:e&&n.get&&"function"==typeof n.get&&(r=n.get(t))),r}function e(t,n,e,r,i,a){function s(){}function o(){}s.prototype=t,o.prototype=t.subs;var u,c=new s;c.subs=new o,c.subsText={},c.buf="",r=r||{},c.stackSubs=r,c.subsText=a;for(u in n)r[u]||(r[u]=n[u]);for(u in r)c.subs[u]=r[u];i=i||{},c.stackPartials=i;for(u in e)i[u]||(i[u]=e[u]);for(u in i)c.partials[u]=i[u];return c}function r(t){return String(null===t||void 0===t?"":t)}function i(t){return t=r(t),l.test(t)?t.replace(a,"&").replace(s,"<").replace(o,">").replace(u,"'").replace(c,"""):t}t.Template=function(t,n,e,r){t=t||{},this.r=t.code||this.r,this.c=e,this.options=r||{},this.text=n||"",this.partials=t.partials||{},this.subs=t.subs||{},this.buf=""},t.Template.prototype={r:function(){return""},v:i,t:r,render:function(t,n,e){return this.ri([t],n||{},e)},ri:function(t,n,e){return this.r(t,n,e)},ep:function(t,n){var r=this.partials[t],i=n[r.name];if(r.instance&&r.base==i)return r.instance;if("string"==typeof i){if(!this.c)throw new Error("No compiler available.");i=this.c.compile(i,this.options)}if(!i)return null;if(this.partials[t].base=i,r.subs){n.stackText||(n.stackText={});for(key in r.subs)n.stackText[key]||(n.stackText[key]=void 0!==this.activeSub&&n.stackText[this.activeSub]?n.stackText[this.activeSub]:this.text);i=e(i,r.subs,r.partials,this.stackSubs,this.stackPartials,n.stackText)}return this.partials[t].instance=i,i},rp:function(t,n,e,r){var i=this.ep(t,e);return i?i.ri(n,e,r):""},rs:function(t,n,e){var r=t[t.length-1];if(!f(r))return void e(t,n,this);for(var i=0;i=0;c--)if(s=e[c],a=n(t,s,u),void 0!==a){o=!0;break}return o?(i||"function"!=typeof a||(a=this.mv(a,e,r)),a):i?!1:""},ls:function(t,n,e,i,a){var s=this.options.delimiters;return this.options.delimiters=a,this.b(this.ct(r(t.call(n,i)),n,e)),this.options.delimiters=s,!1},ct:function(t,n,e){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(t,this.options).render(n,e)},b:function(t){this.buf+=t},fl:function(){var t=this.buf;return this.buf="",t},ms:function(t,n,e,r,i,a,s){var o,u=n[n.length-1],c=t.call(u);return"function"==typeof c?r?!0:(o=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(c,u,e,o.substring(i,a),s)):c},mv:function(t,n,e){var i=n[n.length-1],a=t.call(i);return"function"==typeof a?this.ct(r(a.call(i)),i,e):a},sub:function(t,n,e,r){var i=this.subs[t];i&&(this.activeSub=t,i(n,e,this,r),this.activeSub=!1)}};var a=/&/g,s=//g,u=/\'/g,c=/\"/g,l=/[&<>\"\']/,f=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)}}("undefined"!=typeof exports?exports:Hogan),function(t){function n(t){"}"===t.n.substr(t.n.length-1)&&(t.n=t.n.substring(0,t.n.length-1))}function e(t){return t.trim?t.trim():t.replace(/^\s*|\s*$/g,"")}function r(t,n,e){if(n.charAt(e)!=t.charAt(0))return!1;for(var r=1,i=t.length;i>r;r++)if(n.charAt(e+r)!=t.charAt(r))return!1;return!0}function i(n,e,r,o){var u=[],c=null,l=null,f=null;for(l=r[r.length-1];n.length>0;){if(f=n.shift(),l&&"<"==l.tag&&!(f.tag in y))throw new Error("Illegal content in < super tag.");if(t.tags[f.tag]<=t.tags.$||a(f,o))r.push(f),f.nodes=i(n,f.tag,r,o);else{if("/"==f.tag){if(0===r.length)throw new Error("Closing tag without opener: /"+f.n);if(c=r.pop(),f.n!=c.n&&!s(f.n,c.n,o))throw new Error("Nesting error: "+c.n+" vs. "+f.n);return c.end=f.i,u}"\n"==f.tag&&(f.last=0==n.length||"\n"==n[0].tag)}u.push(f)}if(r.length>0)throw new Error("missing closing tag: "+r.pop().n);return u}function a(t,n){for(var e=0,r=n.length;r>e;e++)if(n[e].o==t.n)return t.tag="#",!0}function s(t,n,e){for(var r=0,i=e.length;i>r;r++)if(e[r].c==t&&e[r].o==n)return!0}function o(t){var n=[];for(var e in t)n.push('"'+c(e)+'": function(c,p,t,i) {'+t[e]+"}");return"{ "+n.join(",")+" }"}function u(t){var n=[];for(var e in t.partials)n.push('"'+c(e)+'":{name:"'+c(t.partials[e].name)+'", '+u(t.partials[e])+"}");return"partials: {"+n.join(",")+"}, subs: "+o(t.subs)}function c(t){return t.replace(m,"\\\\").replace(v,'\\"').replace(b,"\\n").replace(d,"\\r").replace(w,"\\u2028").replace(x,"\\u2029")}function l(t){return~t.indexOf(".")?"d":"f"}function f(t,n){var e="<"+(n.prefix||""),r=e+t.n+k++;return n.partials[r]={name:t.n,partials:{}},n.code+='t.b(t.rp("'+c(r)+'",c,p,"'+(t.indent||"")+'"));',r}function p(t,n){n.code+="t.b(t.t(t."+l(t.n)+'("'+c(t.n)+'",c,p,0)));'}function h(t){return"t.b("+t+");"}var g=/\S/,v=/\"/g,b=/\n/g,d=/\r/g,m=/\\/g,w=/\u2028/,x=/\u2029/;t.tags={"#":1,"^":2,"<":3,$:4,"/":5,"!":6,">":7,"=":8,_v:9,"{":10,"&":11,_t:12},t.scan=function(i,a){function s(){m.length>0&&(w.push({tag:"_t",text:new String(m)}),m="")}function o(){for(var n=!0,e=k;e"==e.tag&&(e.indent=w[r].text.toString()),w.splice(r,1));else n||w.push({tag:"\n"});x=!1,k=w.length}function c(t,n){var r="="+S,i=t.indexOf(r,n),a=e(t.substring(t.indexOf("=",n)+1,i)).split(" ");return T=a[0],S=a[a.length-1],i+r.length-1}var l=i.length,f=0,p=1,h=2,v=f,b=null,d=null,m="",w=[],x=!1,y=0,k=0,T="{{",S="}}";for(a&&(a=a.split(" "),T=a[0],S=a[1]),y=0;l>y;y++)v==f?r(T,i,y)?(--y,s(),v=p):"\n"==i.charAt(y)?u(x):m+=i.charAt(y):v==p?(y+=T.length-1,d=t.tags[i.charAt(y+1)],b=d?i.charAt(y+1):"_v","="==b?(y=c(i,y),v=f):(d&&y++,v=h),x=y):r(S,i,y)?(w.push({tag:b,n:e(m),otag:T,ctag:S,i:"/"==b?x-T.length:y+S.length}),m="",y+=S.length-1,v=f,"{"==b&&("}}"==S?y++:n(w[w.length-1]))):m+=i.charAt(y);return u(x,!0),w};var y={_t:!0,"\n":!0,$:!0,"/":!0};t.stringify=function(n){return"{code: function (c,p,i) { "+t.wrapMain(n.code)+" },"+u(n)+"}"};var k=0;t.generate=function(n,e,r){k=0;var i={code:"",subs:{},partials:{}};return t.walk(n,i),r.asString?this.stringify(i,e,r):this.makeTemplate(i,e,r)},t.wrapMain=function(t){return'var t=this;t.b(i=i||"");'+t+"return t.fl();"},t.template=t.Template,t.makeTemplate=function(t,n,e){var r=this.makePartials(t);return r.code=new Function("c","p","i",this.wrapMain(t.code)),new this.template(r,n,this,e)},t.makePartials=function(t){var n,e={subs:{},partials:t.partials,name:t.name};for(n in e.partials)e.partials[n]=this.makePartials(e.partials[n]);for(n in t.subs)e.subs[n]=new Function("c","p","t","i",t.subs[n]);return e},t.codegen={"#":function(n,e){e.code+="if(t.s(t."+l(n.n)+'("'+c(n.n)+'",c,p,1),c,p,0,'+n.i+","+n.end+',"'+n.otag+" "+n.ctag+'")){t.rs(c,p,function(c,p,t){',t.walk(n.nodes,e),e.code+="});c.pop();}"},"^":function(n,e){e.code+="if(!t.s(t."+l(n.n)+'("'+c(n.n)+'",c,p,1),c,p,1,0,0,"")){',t.walk(n.nodes,e),e.code+="};"},">":f,"<":function(n,e){var r={partials:{},code:"",subs:{},inPartial:!0};t.walk(n.nodes,r);var i=e.partials[f(n,e)];i.subs=r.subs,i.partials=r.partials},$:function(n,e){var r={subs:{},code:"",partials:e.partials,prefix:n.n};t.walk(n.nodes,r),e.subs[n.n]=r.code,e.inPartial||(e.code+='t.sub("'+c(n.n)+'",c,p,i);')},"\n":function(t,n){n.code+=h('"\\n"'+(t.last?"":" + i"))},_v:function(t,n){n.code+="t.b(t.v(t."+l(t.n)+'("'+c(t.n)+'",c,p,0)));'},_t:function(t,n){n.code+=h('"'+c(t.text)+'"')},"{":p,"&":p},t.walk=function(n,e){for(var r,i=0,a=n.length;a>i;i++)r=t.codegen[n[i].tag],r&&r(n[i],e);return e},t.parse=function(t,n,e){return e=e||{},i(t,"",[],e.sectionTags||[])},t.cache={},t.cacheKey=function(t,n){return[t,!!n.asString,!!n.disableLambda,n.delimiters,!!n.modelGet].join("||")},t.compile=function(n,e){e=e||{};var r=t.cacheKey(n,e),i=this.cache[r];if(i){var a=i.partials;for(var s in a)delete a[s].instance;return i}return i=this.generate(this.parse(this.scan(n,e.delimiters),n,e),n,e),this.cache[r]=i}}("undefined"!=typeof exports?exports:Hogan);var Mustache=function(t){function n(n,e,r,i){var a=this.f(n,e,r,0),s=e;return a&&(s=s.concat(a)),t.Template.prototype.rp.call(this,n,s,r,i)}var e=function(e,r,i){this.rp=n,t.Template.call(this,e,r,i)};e.prototype=t.Template.prototype;var r,i=function(){this.cache={},this.generate=function(t,n){return new e(new Function("c","p","i",t),n,r)}};return i.prototype=t,r=new i,{to_html:function(t,n,e,i){var a=r.compile(t),s=a.render(n,e);return i?void i(s):s}}}(Hogan); \ No newline at end of file diff --git a/hogan-node/node_modules/hogan.js/dist/hogan-3.0.2.mustache.js b/hogan-node/node_modules/hogan.js/dist/hogan-3.0.2.mustache.js new file mode 100644 index 0000000..f1300c4 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/dist/hogan-3.0.2.mustache.js @@ -0,0 +1,802 @@ +/*! + * Copyright 2011 Twitter, Inc. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// A wrapper for compatibility with Mustache.js, quirks and all + + + +var Hogan = {}; + +(function (Hogan) { + Hogan.Template = function (codeObj, text, compiler, options) { + codeObj = codeObj || {}; + this.r = codeObj.code || this.r; + this.c = compiler; + this.options = options || {}; + this.text = text || ''; + this.partials = codeObj.partials || {}; + this.subs = codeObj.subs || {}; + this.buf = ''; + } + + Hogan.Template.prototype = { + // render: replaced by generated code. + r: function (context, partials, indent) { return ''; }, + + // variable escaping + v: hoganEscape, + + // triple stache + t: coerceToString, + + render: function render(context, partials, indent) { + return this.ri([context], partials || {}, indent); + }, + + // render internal -- a hook for overrides that catches partials too + ri: function (context, partials, indent) { + return this.r(context, partials, indent); + }, + + // ensurePartial + ep: function(symbol, partials) { + var partial = this.partials[symbol]; + + // check to see that if we've instantiated this partial before + var template = partials[partial.name]; + if (partial.instance && partial.base == template) { + return partial.instance; + } + + if (typeof template == 'string') { + if (!this.c) { + throw new Error("No compiler available."); + } + template = this.c.compile(template, this.options); + } + + if (!template) { + return null; + } + + // We use this to check whether the partials dictionary has changed + this.partials[symbol].base = template; + + if (partial.subs) { + // Make sure we consider parent template now + if (!partials.stackText) partials.stackText = {}; + for (key in partial.subs) { + if (!partials.stackText[key]) { + partials.stackText[key] = (this.activeSub !== undefined && partials.stackText[this.activeSub]) ? partials.stackText[this.activeSub] : this.text; + } + } + template = createSpecializedPartial(template, partial.subs, partial.partials, + this.stackSubs, this.stackPartials, partials.stackText); + } + this.partials[symbol].instance = template; + + return template; + }, + + // tries to find a partial in the current scope and render it + rp: function(symbol, context, partials, indent) { + var partial = this.ep(symbol, partials); + if (!partial) { + return ''; + } + + return partial.ri(context, partials, indent); + }, + + // render a section + rs: function(context, partials, section) { + var tail = context[context.length - 1]; + + if (!isArray(tail)) { + section(context, partials, this); + return; + } + + for (var i = 0; i < tail.length; i++) { + context.push(tail[i]); + section(context, partials, this); + context.pop(); + } + }, + + // maybe start a section + s: function(val, ctx, partials, inverted, start, end, tags) { + var pass; + + if (isArray(val) && val.length === 0) { + return false; + } + + if (typeof val == 'function') { + val = this.ms(val, ctx, partials, inverted, start, end, tags); + } + + pass = !!val; + + if (!inverted && pass && ctx) { + ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]); + } + + return pass; + }, + + // find values with dotted names + d: function(key, ctx, partials, returnFound) { + var found, + names = key.split('.'), + val = this.f(names[0], ctx, partials, returnFound), + doModelGet = this.options.modelGet, + cx = null; + + if (key === '.' && isArray(ctx[ctx.length - 2])) { + val = ctx[ctx.length - 1]; + } else { + for (var i = 1; i < names.length; i++) { + found = findInScope(names[i], val, doModelGet); + if (found !== undefined) { + cx = val; + val = found; + } else { + val = ''; + } + } + } + + if (returnFound && !val) { + return false; + } + + if (!returnFound && typeof val == 'function') { + ctx.push(cx); + val = this.mv(val, ctx, partials); + ctx.pop(); + } + + return val; + }, + + // find values with normal names + f: function(key, ctx, partials, returnFound) { + var val = false, + v = null, + found = false, + doModelGet = this.options.modelGet; + + for (var i = ctx.length - 1; i >= 0; i--) { + v = ctx[i]; + val = findInScope(key, v, doModelGet); + if (val !== undefined) { + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.mv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ls: function(func, cx, partials, text, tags) { + var oldTags = this.options.delimiters; + + this.options.delimiters = tags; + this.b(this.ct(coerceToString(func.call(cx, text)), cx, partials)); + this.options.delimiters = oldTags; + + return false; + }, + + // compile text + ct: function(text, cx, partials) { + if (this.options.disableLambda) { + throw new Error('Lambda features disabled.'); + } + return this.c.compile(text, this.options).render(cx, partials); + }, + + // template result buffering + b: function(s) { this.buf += s; }, + + fl: function() { var r = this.buf; this.buf = ''; return r; }, + + // method replace section + ms: function(func, ctx, partials, inverted, start, end, tags) { + var textSource, + cx = ctx[ctx.length - 1], + result = func.call(cx); + + if (typeof result == 'function') { + if (inverted) { + return true; + } else { + textSource = (this.activeSub && this.subsText && this.subsText[this.activeSub]) ? this.subsText[this.activeSub] : this.text; + return this.ls(result, cx, partials, textSource.substring(start, end), tags); + } + } + + return result; + }, + + // method replace variable + mv: function(func, ctx, partials) { + var cx = ctx[ctx.length - 1]; + var result = func.call(cx); + + if (typeof result == 'function') { + return this.ct(coerceToString(result.call(cx)), cx, partials); + } + + return result; + }, + + sub: function(name, context, partials, indent) { + var f = this.subs[name]; + if (f) { + this.activeSub = name; + f(context, partials, this, indent); + this.activeSub = false; + } + } + + }; + + //Find a key in an object + function findInScope(key, scope, doModelGet) { + var val; + + if (scope && typeof scope == 'object') { + + if (scope[key] !== undefined) { + val = scope[key]; + + // try lookup with get for backbone or similar model data + } else if (doModelGet && scope.get && typeof scope.get == 'function') { + val = scope.get(key); + } + } + + return val; + } + + function createSpecializedPartial(instance, subs, partials, stackSubs, stackPartials, stackText) { + function PartialTemplate() {}; + PartialTemplate.prototype = instance; + function Substitutions() {}; + Substitutions.prototype = instance.subs; + var key; + var partial = new PartialTemplate(); + partial.subs = new Substitutions(); + partial.subsText = {}; //hehe. substext. + partial.buf = ''; + + stackSubs = stackSubs || {}; + partial.stackSubs = stackSubs; + partial.subsText = stackText; + for (key in subs) { + if (!stackSubs[key]) stackSubs[key] = subs[key]; + } + for (key in stackSubs) { + partial.subs[key] = stackSubs[key]; + } + + stackPartials = stackPartials || {}; + partial.stackPartials = stackPartials; + for (key in partials) { + if (!stackPartials[key]) stackPartials[key] = partials[key]; + } + for (key in stackPartials) { + partial.partials[key] = stackPartials[key]; + } + + return partial; + } + + var rAmp = /&/g, + rLt = //g, + rApos = /\'/g, + rQuot = /\"/g, + hChars = /[&<>\"\']/; + + function coerceToString(val) { + return String((val === null || val === undefined) ? '' : val); + } + + function hoganEscape(str) { + str = coerceToString(str); + return hChars.test(str) ? + str + .replace(rAmp, '&') + .replace(rLt, '<') + .replace(rGt, '>') + .replace(rApos, ''') + .replace(rQuot, '"') : + str; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + }; + +})(typeof exports !== 'undefined' ? exports : Hogan); + + + +(function (Hogan) { + // Setup regex assignments + // remove whitespace according to Mustache spec + var rIsWhitespace = /\S/, + rQuot = /\"/g, + rNewline = /\n/g, + rCr = /\r/g, + rSlash = /\\/g, + rLineSep = /\u2028/, + rParagraphSep = /\u2029/; + + Hogan.tags = { + '#': 1, '^': 2, '<': 3, '$': 4, + '/': 5, '!': 6, '>': 7, '=': 8, '_v': 9, + '{': 10, '&': 11, '_t': 12 + }; + + Hogan.scan = function scan(text, delimiters) { + var len = text.length, + IN_TEXT = 0, + IN_TAG_TYPE = 1, + IN_TAG = 2, + state = IN_TEXT, + tagType = null, + tag = null, + buf = '', + tokens = [], + seenTag = false, + i = 0, + lineStart = 0, + otag = '{{', + ctag = '}}'; + + function addBuf() { + if (buf.length > 0) { + tokens.push({tag: '_t', text: new String(buf)}); + buf = ''; + } + } + + function lineIsWhitespace() { + var isAllWhitespace = true; + for (var j = lineStart; j < tokens.length; j++) { + isAllWhitespace = + (Hogan.tags[tokens[j].tag] < Hogan.tags['_v']) || + (tokens[j].tag == '_t' && tokens[j].text.match(rIsWhitespace) === null); + if (!isAllWhitespace) { + return false; + } + } + + return isAllWhitespace; + } + + function filterLine(haveSeenTag, noNewLine) { + addBuf(); + + if (haveSeenTag && lineIsWhitespace()) { + for (var j = lineStart, next; j < tokens.length; j++) { + if (tokens[j].text) { + if ((next = tokens[j+1]) && next.tag == '>') { + // set indent to token value + next.indent = tokens[j].text.toString() + } + tokens.splice(j, 1); + } + } + } else if (!noNewLine) { + tokens.push({tag:'\n'}); + } + + seenTag = false; + lineStart = tokens.length; + } + + function changeDelimiters(text, index) { + var close = '=' + ctag, + closeIndex = text.indexOf(close, index), + delimiters = trim( + text.substring(text.indexOf('=', index) + 1, closeIndex) + ).split(' '); + + otag = delimiters[0]; + ctag = delimiters[delimiters.length - 1]; + + return closeIndex + close.length - 1; + } + + if (delimiters) { + delimiters = delimiters.split(' '); + otag = delimiters[0]; + ctag = delimiters[1]; + } + + for (i = 0; i < len; i++) { + if (state == IN_TEXT) { + if (tagChange(otag, text, i)) { + --i; + addBuf(); + state = IN_TAG_TYPE; + } else { + if (text.charAt(i) == '\n') { + filterLine(seenTag); + } else { + buf += text.charAt(i); + } + } + } else if (state == IN_TAG_TYPE) { + i += otag.length - 1; + tag = Hogan.tags[text.charAt(i + 1)]; + tagType = tag ? text.charAt(i + 1) : '_v'; + if (tagType == '=') { + i = changeDelimiters(text, i); + state = IN_TEXT; + } else { + if (tag) { + i++; + } + state = IN_TAG; + } + seenTag = i; + } else { + if (tagChange(ctag, text, i)) { + tokens.push({tag: tagType, n: trim(buf), otag: otag, ctag: ctag, + i: (tagType == '/') ? seenTag - otag.length : i + ctag.length}); + buf = ''; + i += ctag.length - 1; + state = IN_TEXT; + if (tagType == '{') { + if (ctag == '}}') { + i++; + } else { + cleanTripleStache(tokens[tokens.length - 1]); + } + } + } else { + buf += text.charAt(i); + } + } + } + + filterLine(seenTag, true); + + return tokens; + } + + function cleanTripleStache(token) { + if (token.n.substr(token.n.length - 1) === '}') { + token.n = token.n.substring(0, token.n.length - 1); + } + } + + function trim(s) { + if (s.trim) { + return s.trim(); + } + + return s.replace(/^\s*|\s*$/g, ''); + } + + function tagChange(tag, text, index) { + if (text.charAt(index) != tag.charAt(0)) { + return false; + } + + for (var i = 1, l = tag.length; i < l; i++) { + if (text.charAt(index + i) != tag.charAt(i)) { + return false; + } + } + + return true; + } + + // the tags allowed inside super templates + var allowedInSuper = {'_t': true, '\n': true, '$': true, '/': true}; + + function buildTree(tokens, kind, stack, customTags) { + var instructions = [], + opener = null, + tail = null, + token = null; + + tail = stack[stack.length - 1]; + + while (tokens.length > 0) { + token = tokens.shift(); + + if (tail && tail.tag == '<' && !(token.tag in allowedInSuper)) { + throw new Error('Illegal content in < super tag.'); + } + + if (Hogan.tags[token.tag] <= Hogan.tags['$'] || isOpener(token, customTags)) { + stack.push(token); + token.nodes = buildTree(tokens, token.tag, stack, customTags); + } else if (token.tag == '/') { + if (stack.length === 0) { + throw new Error('Closing tag without opener: /' + token.n); + } + opener = stack.pop(); + if (token.n != opener.n && !isCloser(token.n, opener.n, customTags)) { + throw new Error('Nesting error: ' + opener.n + ' vs. ' + token.n); + } + opener.end = token.i; + return instructions; + } else if (token.tag == '\n') { + token.last = (tokens.length == 0) || (tokens[0].tag == '\n'); + } + + instructions.push(token); + } + + if (stack.length > 0) { + throw new Error('missing closing tag: ' + stack.pop().n); + } + + return instructions; + } + + function isOpener(token, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].o == token.n) { + token.tag = '#'; + return true; + } + } + } + + function isCloser(close, open, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].c == close && tags[i].o == open) { + return true; + } + } + } + + function stringifySubstitutions(obj) { + var items = []; + for (var key in obj) { + items.push('"' + esc(key) + '": function(c,p,t,i) {' + obj[key] + '}'); + } + return "{ " + items.join(",") + " }"; + } + + function stringifyPartials(codeObj) { + var partials = []; + for (var key in codeObj.partials) { + partials.push('"' + esc(key) + '":{name:"' + esc(codeObj.partials[key].name) + '", ' + stringifyPartials(codeObj.partials[key]) + "}"); + } + return "partials: {" + partials.join(",") + "}, subs: " + stringifySubstitutions(codeObj.subs); + } + + Hogan.stringify = function(codeObj, text, options) { + return "{code: function (c,p,i) { " + Hogan.wrapMain(codeObj.code) + " }," + stringifyPartials(codeObj) + "}"; + } + + var serialNo = 0; + Hogan.generate = function(tree, text, options) { + serialNo = 0; + var context = { code: '', subs: {}, partials: {} }; + Hogan.walk(tree, context); + + if (options.asString) { + return this.stringify(context, text, options); + } + + return this.makeTemplate(context, text, options); + } + + Hogan.wrapMain = function(code) { + return 'var t=this;t.b(i=i||"");' + code + 'return t.fl();'; + } + + Hogan.template = Hogan.Template; + + Hogan.makeTemplate = function(codeObj, text, options) { + var template = this.makePartials(codeObj); + template.code = new Function('c', 'p', 'i', this.wrapMain(codeObj.code)); + return new this.template(template, text, this, options); + } + + Hogan.makePartials = function(codeObj) { + var key, template = {subs: {}, partials: codeObj.partials, name: codeObj.name}; + for (key in template.partials) { + template.partials[key] = this.makePartials(template.partials[key]); + } + for (key in codeObj.subs) { + template.subs[key] = new Function('c', 'p', 't', 'i', codeObj.subs[key]); + } + return template; + } + + function esc(s) { + return s.replace(rSlash, '\\\\') + .replace(rQuot, '\\\"') + .replace(rNewline, '\\n') + .replace(rCr, '\\r') + .replace(rLineSep, '\\u2028') + .replace(rParagraphSep, '\\u2029'); + } + + function chooseMethod(s) { + return (~s.indexOf('.')) ? 'd' : 'f'; + } + + function createPartial(node, context) { + var prefix = "<" + (context.prefix || ""); + var sym = prefix + node.n + serialNo++; + context.partials[sym] = {name: node.n, partials: {}}; + context.code += 't.b(t.rp("' + esc(sym) + '",c,p,"' + (node.indent || '') + '"));'; + return sym; + } + + Hogan.codegen = { + '#': function(node, context) { + context.code += 'if(t.s(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,1),' + + 'c,p,0,' + node.i + ',' + node.end + ',"' + node.otag + " " + node.ctag + '")){' + + 't.rs(c,p,' + 'function(c,p,t){'; + Hogan.walk(node.nodes, context); + context.code += '});c.pop();}'; + }, + + '^': function(node, context) { + context.code += 'if(!t.s(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,1),c,p,1,0,0,"")){'; + Hogan.walk(node.nodes, context); + context.code += '};'; + }, + + '>': createPartial, + '<': function(node, context) { + var ctx = {partials: {}, code: '', subs: {}, inPartial: true}; + Hogan.walk(node.nodes, ctx); + var template = context.partials[createPartial(node, context)]; + template.subs = ctx.subs; + template.partials = ctx.partials; + }, + + '$': function(node, context) { + var ctx = {subs: {}, code: '', partials: context.partials, prefix: node.n}; + Hogan.walk(node.nodes, ctx); + context.subs[node.n] = ctx.code; + if (!context.inPartial) { + context.code += 't.sub("' + esc(node.n) + '",c,p,i);'; + } + }, + + '\n': function(node, context) { + context.code += write('"\\n"' + (node.last ? '' : ' + i')); + }, + + '_v': function(node, context) { + context.code += 't.b(t.v(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,0)));'; + }, + + '_t': function(node, context) { + context.code += write('"' + esc(node.text) + '"'); + }, + + '{': tripleStache, + + '&': tripleStache + } + + function tripleStache(node, context) { + context.code += 't.b(t.t(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,0)));'; + } + + function write(s) { + return 't.b(' + s + ');'; + } + + Hogan.walk = function(nodelist, context) { + var func; + for (var i = 0, l = nodelist.length; i < l; i++) { + func = Hogan.codegen[nodelist[i].tag]; + func && func(nodelist[i], context); + } + return context; + } + + Hogan.parse = function(tokens, text, options) { + options = options || {}; + return buildTree(tokens, '', [], options.sectionTags || []); + } + + Hogan.cache = {}; + + Hogan.cacheKey = function(text, options) { + return [text, !!options.asString, !!options.disableLambda, options.delimiters, !!options.modelGet].join('||'); + } + + Hogan.compile = function(text, options) { + options = options || {}; + var key = Hogan.cacheKey(text, options); + var template = this.cache[key]; + + if (template) { + var partials = template.partials; + for (var name in partials) { + delete partials[name].instance; + } + return template; + } + + template = this.generate(this.parse(this.scan(text, options.delimiters), text, options), text, options); + return this.cache[key] = template; + } +})(typeof exports !== 'undefined' ? exports : Hogan); + + +var Mustache = (function (Hogan) { + + // Mustache.js has non-spec partial context behavior + function mustachePartial(name, context, partials, indent) { + var partialScope = this.f(name, context, partials, 0); + var cx = context; + if (partialScope) { + cx = cx.concat(partialScope); + } + + return Hogan.Template.prototype.rp.call(this, name, cx, partials, indent); + } + + var HoganTemplateWrapper = function(renderFunc, text, compiler){ + this.rp = mustachePartial; + Hogan.Template.call(this, renderFunc, text, compiler); + }; + HoganTemplateWrapper.prototype = Hogan.Template.prototype; + + // Add a wrapper for Hogan's generate method. Mustache and Hogan keep + // separate caches, and Mustache returns wrapped templates. + var wrapper; + var HoganWrapper = function(){ + this.cache = {}; + this.generate = function(code, text, options) { + return new HoganTemplateWrapper(new Function('c', 'p', 'i', code), text, wrapper); + } + }; + HoganWrapper.prototype = Hogan; + wrapper = new HoganWrapper(); + + return { + to_html: function(text, data, partials, sendFun) { + var template = wrapper.compile(text); + var result = template.render(data, partials); + if (!sendFun) { + return result; + } + + sendFun(result); + } + } + +})(Hogan); diff --git a/hogan-node/node_modules/hogan.js/dist/template-3.0.2.js b/hogan-node/node_modules/hogan.js/dist/template-3.0.2.js new file mode 100644 index 0000000..2e61b51 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/dist/template-3.0.2.js @@ -0,0 +1,341 @@ +/* + * Copyright 2011 Twitter, Inc. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +var Hogan = {}; + +(function (Hogan) { + Hogan.Template = function (codeObj, text, compiler, options) { + codeObj = codeObj || {}; + this.r = codeObj.code || this.r; + this.c = compiler; + this.options = options || {}; + this.text = text || ''; + this.partials = codeObj.partials || {}; + this.subs = codeObj.subs || {}; + this.buf = ''; + } + + Hogan.Template.prototype = { + // render: replaced by generated code. + r: function (context, partials, indent) { return ''; }, + + // variable escaping + v: hoganEscape, + + // triple stache + t: coerceToString, + + render: function render(context, partials, indent) { + return this.ri([context], partials || {}, indent); + }, + + // render internal -- a hook for overrides that catches partials too + ri: function (context, partials, indent) { + return this.r(context, partials, indent); + }, + + // ensurePartial + ep: function(symbol, partials) { + var partial = this.partials[symbol]; + + // check to see that if we've instantiated this partial before + var template = partials[partial.name]; + if (partial.instance && partial.base == template) { + return partial.instance; + } + + if (typeof template == 'string') { + if (!this.c) { + throw new Error("No compiler available."); + } + template = this.c.compile(template, this.options); + } + + if (!template) { + return null; + } + + // We use this to check whether the partials dictionary has changed + this.partials[symbol].base = template; + + if (partial.subs) { + // Make sure we consider parent template now + if (!partials.stackText) partials.stackText = {}; + for (key in partial.subs) { + if (!partials.stackText[key]) { + partials.stackText[key] = (this.activeSub !== undefined && partials.stackText[this.activeSub]) ? partials.stackText[this.activeSub] : this.text; + } + } + template = createSpecializedPartial(template, partial.subs, partial.partials, + this.stackSubs, this.stackPartials, partials.stackText); + } + this.partials[symbol].instance = template; + + return template; + }, + + // tries to find a partial in the current scope and render it + rp: function(symbol, context, partials, indent) { + var partial = this.ep(symbol, partials); + if (!partial) { + return ''; + } + + return partial.ri(context, partials, indent); + }, + + // render a section + rs: function(context, partials, section) { + var tail = context[context.length - 1]; + + if (!isArray(tail)) { + section(context, partials, this); + return; + } + + for (var i = 0; i < tail.length; i++) { + context.push(tail[i]); + section(context, partials, this); + context.pop(); + } + }, + + // maybe start a section + s: function(val, ctx, partials, inverted, start, end, tags) { + var pass; + + if (isArray(val) && val.length === 0) { + return false; + } + + if (typeof val == 'function') { + val = this.ms(val, ctx, partials, inverted, start, end, tags); + } + + pass = !!val; + + if (!inverted && pass && ctx) { + ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]); + } + + return pass; + }, + + // find values with dotted names + d: function(key, ctx, partials, returnFound) { + var found, + names = key.split('.'), + val = this.f(names[0], ctx, partials, returnFound), + doModelGet = this.options.modelGet, + cx = null; + + if (key === '.' && isArray(ctx[ctx.length - 2])) { + val = ctx[ctx.length - 1]; + } else { + for (var i = 1; i < names.length; i++) { + found = findInScope(names[i], val, doModelGet); + if (found !== undefined) { + cx = val; + val = found; + } else { + val = ''; + } + } + } + + if (returnFound && !val) { + return false; + } + + if (!returnFound && typeof val == 'function') { + ctx.push(cx); + val = this.mv(val, ctx, partials); + ctx.pop(); + } + + return val; + }, + + // find values with normal names + f: function(key, ctx, partials, returnFound) { + var val = false, + v = null, + found = false, + doModelGet = this.options.modelGet; + + for (var i = ctx.length - 1; i >= 0; i--) { + v = ctx[i]; + val = findInScope(key, v, doModelGet); + if (val !== undefined) { + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.mv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ls: function(func, cx, partials, text, tags) { + var oldTags = this.options.delimiters; + + this.options.delimiters = tags; + this.b(this.ct(coerceToString(func.call(cx, text)), cx, partials)); + this.options.delimiters = oldTags; + + return false; + }, + + // compile text + ct: function(text, cx, partials) { + if (this.options.disableLambda) { + throw new Error('Lambda features disabled.'); + } + return this.c.compile(text, this.options).render(cx, partials); + }, + + // template result buffering + b: function(s) { this.buf += s; }, + + fl: function() { var r = this.buf; this.buf = ''; return r; }, + + // method replace section + ms: function(func, ctx, partials, inverted, start, end, tags) { + var textSource, + cx = ctx[ctx.length - 1], + result = func.call(cx); + + if (typeof result == 'function') { + if (inverted) { + return true; + } else { + textSource = (this.activeSub && this.subsText && this.subsText[this.activeSub]) ? this.subsText[this.activeSub] : this.text; + return this.ls(result, cx, partials, textSource.substring(start, end), tags); + } + } + + return result; + }, + + // method replace variable + mv: function(func, ctx, partials) { + var cx = ctx[ctx.length - 1]; + var result = func.call(cx); + + if (typeof result == 'function') { + return this.ct(coerceToString(result.call(cx)), cx, partials); + } + + return result; + }, + + sub: function(name, context, partials, indent) { + var f = this.subs[name]; + if (f) { + this.activeSub = name; + f(context, partials, this, indent); + this.activeSub = false; + } + } + + }; + + //Find a key in an object + function findInScope(key, scope, doModelGet) { + var val; + + if (scope && typeof scope == 'object') { + + if (scope[key] !== undefined) { + val = scope[key]; + + // try lookup with get for backbone or similar model data + } else if (doModelGet && scope.get && typeof scope.get == 'function') { + val = scope.get(key); + } + } + + return val; + } + + function createSpecializedPartial(instance, subs, partials, stackSubs, stackPartials, stackText) { + function PartialTemplate() {}; + PartialTemplate.prototype = instance; + function Substitutions() {}; + Substitutions.prototype = instance.subs; + var key; + var partial = new PartialTemplate(); + partial.subs = new Substitutions(); + partial.subsText = {}; //hehe. substext. + partial.buf = ''; + + stackSubs = stackSubs || {}; + partial.stackSubs = stackSubs; + partial.subsText = stackText; + for (key in subs) { + if (!stackSubs[key]) stackSubs[key] = subs[key]; + } + for (key in stackSubs) { + partial.subs[key] = stackSubs[key]; + } + + stackPartials = stackPartials || {}; + partial.stackPartials = stackPartials; + for (key in partials) { + if (!stackPartials[key]) stackPartials[key] = partials[key]; + } + for (key in stackPartials) { + partial.partials[key] = stackPartials[key]; + } + + return partial; + } + + var rAmp = /&/g, + rLt = //g, + rApos = /\'/g, + rQuot = /\"/g, + hChars = /[&<>\"\']/; + + function coerceToString(val) { + return String((val === null || val === undefined) ? '' : val); + } + + function hoganEscape(str) { + str = coerceToString(str); + return hChars.test(str) ? + str + .replace(rAmp, '&') + .replace(rLt, '<') + .replace(rGt, '>') + .replace(rApos, ''') + .replace(rQuot, '"') : + str; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + }; + +})(typeof exports !== 'undefined' ? exports : Hogan); diff --git a/hogan-node/node_modules/hogan.js/dist/template-3.0.2.min.js b/hogan-node/node_modules/hogan.js/dist/template-3.0.2.min.js new file mode 100644 index 0000000..cc5a9ef --- /dev/null +++ b/hogan-node/node_modules/hogan.js/dist/template-3.0.2.min.js @@ -0,0 +1,5 @@ +/** +* @preserve Copyright 2012 Twitter, Inc. +* @license http://www.apache.org/licenses/LICENSE-2.0.txt +*/ +var Hogan={};!function(t){function i(t,i,s){var e;return i&&"object"==typeof i&&(void 0!==i[t]?e=i[t]:s&&i.get&&"function"==typeof i.get&&(e=i.get(t))),e}function s(t,i,s,e,n,r){function o(){}function u(){}o.prototype=t,u.prototype=t.subs;var a,c=new o;c.subs=new u,c.subsText={},c.buf="",e=e||{},c.stackSubs=e,c.subsText=r;for(a in i)e[a]||(e[a]=i[a]);for(a in e)c.subs[a]=e[a];n=n||{},c.stackPartials=n;for(a in s)n[a]||(n[a]=s[a]);for(a in n)c.partials[a]=n[a];return c}function e(t){return String(null===t||void 0===t?"":t)}function n(t){return t=e(t),h.test(t)?t.replace(r,"&").replace(o,"<").replace(u,">").replace(a,"'").replace(c,"""):t}t.Template=function(t,i,s,e){t=t||{},this.r=t.code||this.r,this.c=s,this.options=e||{},this.text=i||"",this.partials=t.partials||{},this.subs=t.subs||{},this.buf=""},t.Template.prototype={r:function(){return""},v:n,t:e,render:function(t,i,s){return this.ri([t],i||{},s)},ri:function(t,i,s){return this.r(t,i,s)},ep:function(t,i){var e=this.partials[t],n=i[e.name];if(e.instance&&e.base==n)return e.instance;if("string"==typeof n){if(!this.c)throw new Error("No compiler available.");n=this.c.compile(n,this.options)}if(!n)return null;if(this.partials[t].base=n,e.subs){i.stackText||(i.stackText={});for(key in e.subs)i.stackText[key]||(i.stackText[key]=void 0!==this.activeSub&&i.stackText[this.activeSub]?i.stackText[this.activeSub]:this.text);n=s(n,e.subs,e.partials,this.stackSubs,this.stackPartials,i.stackText)}return this.partials[t].instance=n,n},rp:function(t,i,s,e){var n=this.ep(t,s);return n?n.ri(i,s,e):""},rs:function(t,i,s){var e=t[t.length-1];if(!f(e))return void s(t,i,this);for(var n=0;n=0;c--)if(o=s[c],r=i(t,o,a),void 0!==r){u=!0;break}return u?(n||"function"!=typeof r||(r=this.mv(r,s,e)),r):n?!1:""},ls:function(t,i,s,n,r){var o=this.options.delimiters;return this.options.delimiters=r,this.b(this.ct(e(t.call(i,n)),i,s)),this.options.delimiters=o,!1},ct:function(t,i,s){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(t,this.options).render(i,s)},b:function(t){this.buf+=t},fl:function(){var t=this.buf;return this.buf="",t},ms:function(t,i,s,e,n,r,o){var u,a=i[i.length-1],c=t.call(a);return"function"==typeof c?e?!0:(u=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(c,a,s,u.substring(n,r),o)):c},mv:function(t,i,s){var n=i[i.length-1],r=t.call(n);return"function"==typeof r?this.ct(e(r.call(n)),n,s):r},sub:function(t,i,s,e){var n=this.subs[t];n&&(this.activeSub=t,n(i,s,this,e),this.activeSub=!1)}};var r=/&/g,o=//g,a=/\'/g,c=/\"/g,h=/[&<>\"\']/,f=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)}}("undefined"!=typeof exports?exports:Hogan); \ No newline at end of file diff --git a/hogan-node/node_modules/hogan.js/inheritance.html b/hogan-node/node_modules/hogan.js/inheritance.html new file mode 100644 index 0000000..8210a88 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/inheritance.html @@ -0,0 +1,15 @@ + + + + inheritance test + + + + + + + +hmm + + + diff --git a/hogan-node/node_modules/hogan.js/inheritance.js b/hogan-node/node_modules/hogan.js/inheritance.js new file mode 100644 index 0000000..235181c --- /dev/null +++ b/hogan-node/node_modules/hogan.js/inheritance.js @@ -0,0 +1,50 @@ +var Hogan = Hogan || require('./lib/hogan'); + +function doIt() { + + var child = Hogan.compile('{{< intermediate }} {{$childcontent}} child content {{/childcontent}} {{/intermediate}}'); + + var intermediate = Hogan.compile('{{< parent}} {{$content}} intermediate content {{$childcontent}} ERROR {{/childcontent}} {{/content}} {{/parent}}'); + + var parent = Hogan.compile('Content:{{$content}} parent content{{/content}}'); + + var result = child.render({}, {intermediate: intermediate, parent: parent}); + + console.log("got: ", result); + console.log("expected:", "Content: intermediate content child content") +} + +function doIt2() { + + var child = Hogan.compile('{{< intermediate }}{{$childcontent}}child content{{/childcontent}}{{/intermediate}}'); + + var intermediate = Hogan.compile('{{< parent}} {{$content}} intermediate content {{/content}}{{$childcontent}} ERROR2 {{/childcontent}} {{/parent}}'); + + var parent = Hogan.compile('Content:{{$content}} parent content {{/content}}{{$childcontent}} ERROR1 {{/childcontent}}'); + + var result = child.render({}, {intermediate: intermediate, parent: parent}); + + console.log("got: ", result); + console.log("expected:", "Content: intermediate content child content") +} + +function doIt3() { + Hogan.cache = {}; + var child1 = Hogan.compile("{{': 7, '=': 8, '_v': 9, + '{': 10, '&': 11, '_t': 12 + }; + + Hogan.scan = function scan(text, delimiters) { + var len = text.length, + IN_TEXT = 0, + IN_TAG_TYPE = 1, + IN_TAG = 2, + state = IN_TEXT, + tagType = null, + tag = null, + buf = '', + tokens = [], + seenTag = false, + i = 0, + lineStart = 0, + otag = '{{', + ctag = '}}'; + + function addBuf() { + if (buf.length > 0) { + tokens.push({tag: '_t', text: new String(buf)}); + buf = ''; + } + } + + function lineIsWhitespace() { + var isAllWhitespace = true; + for (var j = lineStart; j < tokens.length; j++) { + isAllWhitespace = + (Hogan.tags[tokens[j].tag] < Hogan.tags['_v']) || + (tokens[j].tag == '_t' && tokens[j].text.match(rIsWhitespace) === null); + if (!isAllWhitespace) { + return false; + } + } + + return isAllWhitespace; + } + + function filterLine(haveSeenTag, noNewLine) { + addBuf(); + + if (haveSeenTag && lineIsWhitespace()) { + for (var j = lineStart, next; j < tokens.length; j++) { + if (tokens[j].text) { + if ((next = tokens[j+1]) && next.tag == '>') { + // set indent to token value + next.indent = tokens[j].text.toString() + } + tokens.splice(j, 1); + } + } + } else if (!noNewLine) { + tokens.push({tag:'\n'}); + } + + seenTag = false; + lineStart = tokens.length; + } + + function changeDelimiters(text, index) { + var close = '=' + ctag, + closeIndex = text.indexOf(close, index), + delimiters = trim( + text.substring(text.indexOf('=', index) + 1, closeIndex) + ).split(' '); + + otag = delimiters[0]; + ctag = delimiters[delimiters.length - 1]; + + return closeIndex + close.length - 1; + } + + if (delimiters) { + delimiters = delimiters.split(' '); + otag = delimiters[0]; + ctag = delimiters[1]; + } + + for (i = 0; i < len; i++) { + if (state == IN_TEXT) { + if (tagChange(otag, text, i)) { + --i; + addBuf(); + state = IN_TAG_TYPE; + } else { + if (text.charAt(i) == '\n') { + filterLine(seenTag); + } else { + buf += text.charAt(i); + } + } + } else if (state == IN_TAG_TYPE) { + i += otag.length - 1; + tag = Hogan.tags[text.charAt(i + 1)]; + tagType = tag ? text.charAt(i + 1) : '_v'; + if (tagType == '=') { + i = changeDelimiters(text, i); + state = IN_TEXT; + } else { + if (tag) { + i++; + } + state = IN_TAG; + } + seenTag = i; + } else { + if (tagChange(ctag, text, i)) { + tokens.push({tag: tagType, n: trim(buf), otag: otag, ctag: ctag, + i: (tagType == '/') ? seenTag - otag.length : i + ctag.length}); + buf = ''; + i += ctag.length - 1; + state = IN_TEXT; + if (tagType == '{') { + if (ctag == '}}') { + i++; + } else { + cleanTripleStache(tokens[tokens.length - 1]); + } + } + } else { + buf += text.charAt(i); + } + } + } + + filterLine(seenTag, true); + + return tokens; + } + + function cleanTripleStache(token) { + if (token.n.substr(token.n.length - 1) === '}') { + token.n = token.n.substring(0, token.n.length - 1); + } + } + + function trim(s) { + if (s.trim) { + return s.trim(); + } + + return s.replace(/^\s*|\s*$/g, ''); + } + + function tagChange(tag, text, index) { + if (text.charAt(index) != tag.charAt(0)) { + return false; + } + + for (var i = 1, l = tag.length; i < l; i++) { + if (text.charAt(index + i) != tag.charAt(i)) { + return false; + } + } + + return true; + } + + // the tags allowed inside super templates + var allowedInSuper = {'_t': true, '\n': true, '$': true, '/': true}; + + function buildTree(tokens, kind, stack, customTags) { + var instructions = [], + opener = null, + tail = null, + token = null; + + tail = stack[stack.length - 1]; + + while (tokens.length > 0) { + token = tokens.shift(); + + if (tail && tail.tag == '<' && !(token.tag in allowedInSuper)) { + throw new Error('Illegal content in < super tag.'); + } + + if (Hogan.tags[token.tag] <= Hogan.tags['$'] || isOpener(token, customTags)) { + stack.push(token); + token.nodes = buildTree(tokens, token.tag, stack, customTags); + } else if (token.tag == '/') { + if (stack.length === 0) { + throw new Error('Closing tag without opener: /' + token.n); + } + opener = stack.pop(); + if (token.n != opener.n && !isCloser(token.n, opener.n, customTags)) { + throw new Error('Nesting error: ' + opener.n + ' vs. ' + token.n); + } + opener.end = token.i; + return instructions; + } else if (token.tag == '\n') { + token.last = (tokens.length == 0) || (tokens[0].tag == '\n'); + } + + instructions.push(token); + } + + if (stack.length > 0) { + throw new Error('missing closing tag: ' + stack.pop().n); + } + + return instructions; + } + + function isOpener(token, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].o == token.n) { + token.tag = '#'; + return true; + } + } + } + + function isCloser(close, open, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].c == close && tags[i].o == open) { + return true; + } + } + } + + function stringifySubstitutions(obj) { + var items = []; + for (var key in obj) { + items.push('"' + esc(key) + '": function(c,p,t,i) {' + obj[key] + '}'); + } + return "{ " + items.join(",") + " }"; + } + + function stringifyPartials(codeObj) { + var partials = []; + for (var key in codeObj.partials) { + partials.push('"' + esc(key) + '":{name:"' + esc(codeObj.partials[key].name) + '", ' + stringifyPartials(codeObj.partials[key]) + "}"); + } + return "partials: {" + partials.join(",") + "}, subs: " + stringifySubstitutions(codeObj.subs); + } + + Hogan.stringify = function(codeObj, text, options) { + return "{code: function (c,p,i) { " + Hogan.wrapMain(codeObj.code) + " }," + stringifyPartials(codeObj) + "}"; + } + + var serialNo = 0; + Hogan.generate = function(tree, text, options) { + serialNo = 0; + var context = { code: '', subs: {}, partials: {} }; + Hogan.walk(tree, context); + + if (options.asString) { + return this.stringify(context, text, options); + } + + return this.makeTemplate(context, text, options); + } + + Hogan.wrapMain = function(code) { + return 'var t=this;t.b(i=i||"");' + code + 'return t.fl();'; + } + + Hogan.template = Hogan.Template; + + Hogan.makeTemplate = function(codeObj, text, options) { + var template = this.makePartials(codeObj); + template.code = new Function('c', 'p', 'i', this.wrapMain(codeObj.code)); + return new this.template(template, text, this, options); + } + + Hogan.makePartials = function(codeObj) { + var key, template = {subs: {}, partials: codeObj.partials, name: codeObj.name}; + for (key in template.partials) { + template.partials[key] = this.makePartials(template.partials[key]); + } + for (key in codeObj.subs) { + template.subs[key] = new Function('c', 'p', 't', 'i', codeObj.subs[key]); + } + return template; + } + + function esc(s) { + return s.replace(rSlash, '\\\\') + .replace(rQuot, '\\\"') + .replace(rNewline, '\\n') + .replace(rCr, '\\r') + .replace(rLineSep, '\\u2028') + .replace(rParagraphSep, '\\u2029'); + } + + function chooseMethod(s) { + return (~s.indexOf('.')) ? 'd' : 'f'; + } + + function createPartial(node, context) { + var prefix = "<" + (context.prefix || ""); + var sym = prefix + node.n + serialNo++; + context.partials[sym] = {name: node.n, partials: {}}; + context.code += 't.b(t.rp("' + esc(sym) + '",c,p,"' + (node.indent || '') + '"));'; + return sym; + } + + Hogan.codegen = { + '#': function(node, context) { + context.code += 'if(t.s(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,1),' + + 'c,p,0,' + node.i + ',' + node.end + ',"' + node.otag + " " + node.ctag + '")){' + + 't.rs(c,p,' + 'function(c,p,t){'; + Hogan.walk(node.nodes, context); + context.code += '});c.pop();}'; + }, + + '^': function(node, context) { + context.code += 'if(!t.s(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,1),c,p,1,0,0,"")){'; + Hogan.walk(node.nodes, context); + context.code += '};'; + }, + + '>': createPartial, + '<': function(node, context) { + var ctx = {partials: {}, code: '', subs: {}, inPartial: true}; + Hogan.walk(node.nodes, ctx); + var template = context.partials[createPartial(node, context)]; + template.subs = ctx.subs; + template.partials = ctx.partials; + }, + + '$': function(node, context) { + var ctx = {subs: {}, code: '', partials: context.partials, prefix: node.n}; + Hogan.walk(node.nodes, ctx); + context.subs[node.n] = ctx.code; + if (!context.inPartial) { + context.code += 't.sub("' + esc(node.n) + '",c,p,i);'; + } + }, + + '\n': function(node, context) { + context.code += write('"\\n"' + (node.last ? '' : ' + i')); + }, + + '_v': function(node, context) { + context.code += 't.b(t.v(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,0)));'; + }, + + '_t': function(node, context) { + context.code += write('"' + esc(node.text) + '"'); + }, + + '{': tripleStache, + + '&': tripleStache + } + + function tripleStache(node, context) { + context.code += 't.b(t.t(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,0)));'; + } + + function write(s) { + return 't.b(' + s + ');'; + } + + Hogan.walk = function(nodelist, context) { + var func; + for (var i = 0, l = nodelist.length; i < l; i++) { + func = Hogan.codegen[nodelist[i].tag]; + func && func(nodelist[i], context); + } + return context; + } + + Hogan.parse = function(tokens, text, options) { + options = options || {}; + return buildTree(tokens, '', [], options.sectionTags || []); + } + + Hogan.cache = {}; + + Hogan.cacheKey = function(text, options) { + return [text, !!options.asString, !!options.disableLambda, options.delimiters, !!options.modelGet].join('||'); + } + + Hogan.compile = function(text, options) { + options = options || {}; + var key = Hogan.cacheKey(text, options); + var template = this.cache[key]; + + if (template) { + var partials = template.partials; + for (var name in partials) { + delete partials[name].instance; + } + return template; + } + + template = this.generate(this.parse(this.scan(text, options.delimiters), text, options), text, options); + return this.cache[key] = template; + } +})(typeof exports !== 'undefined' ? exports : Hogan); diff --git a/hogan-node/node_modules/hogan.js/lib/hogan.js b/hogan-node/node_modules/hogan.js/lib/hogan.js new file mode 100644 index 0000000..acc6709 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/lib/hogan.js @@ -0,0 +1,21 @@ +/* + * Copyright 2011 Twitter, Inc. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// This file is for use with Node.js. See dist/ for browser files. + +var Hogan = require('./compiler'); +Hogan.Template = require('./template').Template; +Hogan.template = Hogan.Template; +module.exports = Hogan; diff --git a/hogan-node/node_modules/hogan.js/lib/template.js b/hogan-node/node_modules/hogan.js/lib/template.js new file mode 100644 index 0000000..2e61b51 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/lib/template.js @@ -0,0 +1,341 @@ +/* + * Copyright 2011 Twitter, Inc. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +var Hogan = {}; + +(function (Hogan) { + Hogan.Template = function (codeObj, text, compiler, options) { + codeObj = codeObj || {}; + this.r = codeObj.code || this.r; + this.c = compiler; + this.options = options || {}; + this.text = text || ''; + this.partials = codeObj.partials || {}; + this.subs = codeObj.subs || {}; + this.buf = ''; + } + + Hogan.Template.prototype = { + // render: replaced by generated code. + r: function (context, partials, indent) { return ''; }, + + // variable escaping + v: hoganEscape, + + // triple stache + t: coerceToString, + + render: function render(context, partials, indent) { + return this.ri([context], partials || {}, indent); + }, + + // render internal -- a hook for overrides that catches partials too + ri: function (context, partials, indent) { + return this.r(context, partials, indent); + }, + + // ensurePartial + ep: function(symbol, partials) { + var partial = this.partials[symbol]; + + // check to see that if we've instantiated this partial before + var template = partials[partial.name]; + if (partial.instance && partial.base == template) { + return partial.instance; + } + + if (typeof template == 'string') { + if (!this.c) { + throw new Error("No compiler available."); + } + template = this.c.compile(template, this.options); + } + + if (!template) { + return null; + } + + // We use this to check whether the partials dictionary has changed + this.partials[symbol].base = template; + + if (partial.subs) { + // Make sure we consider parent template now + if (!partials.stackText) partials.stackText = {}; + for (key in partial.subs) { + if (!partials.stackText[key]) { + partials.stackText[key] = (this.activeSub !== undefined && partials.stackText[this.activeSub]) ? partials.stackText[this.activeSub] : this.text; + } + } + template = createSpecializedPartial(template, partial.subs, partial.partials, + this.stackSubs, this.stackPartials, partials.stackText); + } + this.partials[symbol].instance = template; + + return template; + }, + + // tries to find a partial in the current scope and render it + rp: function(symbol, context, partials, indent) { + var partial = this.ep(symbol, partials); + if (!partial) { + return ''; + } + + return partial.ri(context, partials, indent); + }, + + // render a section + rs: function(context, partials, section) { + var tail = context[context.length - 1]; + + if (!isArray(tail)) { + section(context, partials, this); + return; + } + + for (var i = 0; i < tail.length; i++) { + context.push(tail[i]); + section(context, partials, this); + context.pop(); + } + }, + + // maybe start a section + s: function(val, ctx, partials, inverted, start, end, tags) { + var pass; + + if (isArray(val) && val.length === 0) { + return false; + } + + if (typeof val == 'function') { + val = this.ms(val, ctx, partials, inverted, start, end, tags); + } + + pass = !!val; + + if (!inverted && pass && ctx) { + ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]); + } + + return pass; + }, + + // find values with dotted names + d: function(key, ctx, partials, returnFound) { + var found, + names = key.split('.'), + val = this.f(names[0], ctx, partials, returnFound), + doModelGet = this.options.modelGet, + cx = null; + + if (key === '.' && isArray(ctx[ctx.length - 2])) { + val = ctx[ctx.length - 1]; + } else { + for (var i = 1; i < names.length; i++) { + found = findInScope(names[i], val, doModelGet); + if (found !== undefined) { + cx = val; + val = found; + } else { + val = ''; + } + } + } + + if (returnFound && !val) { + return false; + } + + if (!returnFound && typeof val == 'function') { + ctx.push(cx); + val = this.mv(val, ctx, partials); + ctx.pop(); + } + + return val; + }, + + // find values with normal names + f: function(key, ctx, partials, returnFound) { + var val = false, + v = null, + found = false, + doModelGet = this.options.modelGet; + + for (var i = ctx.length - 1; i >= 0; i--) { + v = ctx[i]; + val = findInScope(key, v, doModelGet); + if (val !== undefined) { + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.mv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ls: function(func, cx, partials, text, tags) { + var oldTags = this.options.delimiters; + + this.options.delimiters = tags; + this.b(this.ct(coerceToString(func.call(cx, text)), cx, partials)); + this.options.delimiters = oldTags; + + return false; + }, + + // compile text + ct: function(text, cx, partials) { + if (this.options.disableLambda) { + throw new Error('Lambda features disabled.'); + } + return this.c.compile(text, this.options).render(cx, partials); + }, + + // template result buffering + b: function(s) { this.buf += s; }, + + fl: function() { var r = this.buf; this.buf = ''; return r; }, + + // method replace section + ms: function(func, ctx, partials, inverted, start, end, tags) { + var textSource, + cx = ctx[ctx.length - 1], + result = func.call(cx); + + if (typeof result == 'function') { + if (inverted) { + return true; + } else { + textSource = (this.activeSub && this.subsText && this.subsText[this.activeSub]) ? this.subsText[this.activeSub] : this.text; + return this.ls(result, cx, partials, textSource.substring(start, end), tags); + } + } + + return result; + }, + + // method replace variable + mv: function(func, ctx, partials) { + var cx = ctx[ctx.length - 1]; + var result = func.call(cx); + + if (typeof result == 'function') { + return this.ct(coerceToString(result.call(cx)), cx, partials); + } + + return result; + }, + + sub: function(name, context, partials, indent) { + var f = this.subs[name]; + if (f) { + this.activeSub = name; + f(context, partials, this, indent); + this.activeSub = false; + } + } + + }; + + //Find a key in an object + function findInScope(key, scope, doModelGet) { + var val; + + if (scope && typeof scope == 'object') { + + if (scope[key] !== undefined) { + val = scope[key]; + + // try lookup with get for backbone or similar model data + } else if (doModelGet && scope.get && typeof scope.get == 'function') { + val = scope.get(key); + } + } + + return val; + } + + function createSpecializedPartial(instance, subs, partials, stackSubs, stackPartials, stackText) { + function PartialTemplate() {}; + PartialTemplate.prototype = instance; + function Substitutions() {}; + Substitutions.prototype = instance.subs; + var key; + var partial = new PartialTemplate(); + partial.subs = new Substitutions(); + partial.subsText = {}; //hehe. substext. + partial.buf = ''; + + stackSubs = stackSubs || {}; + partial.stackSubs = stackSubs; + partial.subsText = stackText; + for (key in subs) { + if (!stackSubs[key]) stackSubs[key] = subs[key]; + } + for (key in stackSubs) { + partial.subs[key] = stackSubs[key]; + } + + stackPartials = stackPartials || {}; + partial.stackPartials = stackPartials; + for (key in partials) { + if (!stackPartials[key]) stackPartials[key] = partials[key]; + } + for (key in stackPartials) { + partial.partials[key] = stackPartials[key]; + } + + return partial; + } + + var rAmp = /&/g, + rLt = //g, + rApos = /\'/g, + rQuot = /\"/g, + hChars = /[&<>\"\']/; + + function coerceToString(val) { + return String((val === null || val === undefined) ? '' : val); + } + + function hoganEscape(str) { + str = coerceToString(str); + return hChars.test(str) ? + str + .replace(rAmp, '&') + .replace(rLt, '<') + .replace(rGt, '>') + .replace(rApos, ''') + .replace(rQuot, '"') : + str; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + }; + +})(typeof exports !== 'undefined' ? exports : Hogan); diff --git a/hogan-node/node_modules/hogan.js/node_modules/.bin/nopt b/hogan-node/node_modules/hogan.js/node_modules/.bin/nopt new file mode 120000 index 0000000..6b6566e --- /dev/null +++ b/hogan-node/node_modules/hogan.js/node_modules/.bin/nopt @@ -0,0 +1 @@ +../nopt/bin/nopt.js \ No newline at end of file diff --git a/hogan-node/node_modules/hogan.js/node_modules/mkdirp/.gitignore.orig b/hogan-node/node_modules/hogan.js/node_modules/mkdirp/.gitignore.orig new file mode 100644 index 0000000..9303c34 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/node_modules/mkdirp/.gitignore.orig @@ -0,0 +1,2 @@ +node_modules/ +npm-debug.log \ No newline at end of file diff --git a/hogan-node/node_modules/hogan.js/node_modules/mkdirp/.gitignore.rej b/hogan-node/node_modules/hogan.js/node_modules/mkdirp/.gitignore.rej new file mode 100644 index 0000000..69244ff --- /dev/null +++ b/hogan-node/node_modules/hogan.js/node_modules/mkdirp/.gitignore.rej @@ -0,0 +1,5 @@ +--- /dev/null ++++ .gitignore +@@ -0,0 +1,2 @@ ++node_modules/ ++npm-debug.log \ No newline at end of file diff --git a/hogan-node/node_modules/hogan.js/node_modules/mkdirp/.npmignore b/hogan-node/node_modules/hogan.js/node_modules/mkdirp/.npmignore new file mode 100644 index 0000000..9303c34 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/node_modules/mkdirp/.npmignore @@ -0,0 +1,2 @@ +node_modules/ +npm-debug.log \ No newline at end of file diff --git a/hogan-node/node_modules/hogan.js/node_modules/mkdirp/LICENSE b/hogan-node/node_modules/hogan.js/node_modules/mkdirp/LICENSE new file mode 100644 index 0000000..432d1ae --- /dev/null +++ b/hogan-node/node_modules/hogan.js/node_modules/mkdirp/LICENSE @@ -0,0 +1,21 @@ +Copyright 2010 James Halliday (mail@substack.net) + +This project is free software released under the MIT/X11 license: + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/hogan-node/node_modules/hogan.js/node_modules/mkdirp/README.markdown b/hogan-node/node_modules/hogan.js/node_modules/mkdirp/README.markdown new file mode 100644 index 0000000..b4dd75f --- /dev/null +++ b/hogan-node/node_modules/hogan.js/node_modules/mkdirp/README.markdown @@ -0,0 +1,54 @@ +mkdirp +====== + +Like `mkdir -p`, but in node.js! + +example +======= + +pow.js +------ + var mkdirp = require('mkdirp'); + + mkdirp('/tmp/foo/bar/baz', function (err) { + if (err) console.error(err) + else console.log('pow!') + }); + +Output + pow! + +And now /tmp/foo/bar/baz exists, huzzah! + +methods +======= + +var mkdirp = require('mkdirp'); + +mkdirp(dir, mode, cb) +--------------------- + +Create a new directory and any necessary subdirectories at `dir` with octal +permission string `mode`. + +If `mode` isn't specified, it defaults to `0777 & (~process.umask())`. + +mkdirp.sync(dir, mode) +---------------------- + +Synchronously create a new directory and any necessary subdirectories at `dir` +with octal permission string `mode`. + +If `mode` isn't specified, it defaults to `0777 & (~process.umask())`. + +install +======= + +With [npm](http://npmjs.org) do: + + npm install mkdirp + +license +======= + +MIT/X11 diff --git a/hogan-node/node_modules/hogan.js/node_modules/mkdirp/examples/pow.js b/hogan-node/node_modules/hogan.js/node_modules/mkdirp/examples/pow.js new file mode 100644 index 0000000..e692421 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/node_modules/mkdirp/examples/pow.js @@ -0,0 +1,6 @@ +var mkdirp = require('mkdirp'); + +mkdirp('/tmp/foo/bar/baz', function (err) { + if (err) console.error(err) + else console.log('pow!') +}); diff --git a/hogan-node/node_modules/hogan.js/node_modules/mkdirp/examples/pow.js.orig b/hogan-node/node_modules/hogan.js/node_modules/mkdirp/examples/pow.js.orig new file mode 100644 index 0000000..7741462 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/node_modules/mkdirp/examples/pow.js.orig @@ -0,0 +1,6 @@ +var mkdirp = require('mkdirp'); + +mkdirp('/tmp/foo/bar/baz', 0755, function (err) { + if (err) console.error(err) + else console.log('pow!') +}); diff --git a/hogan-node/node_modules/hogan.js/node_modules/mkdirp/examples/pow.js.rej b/hogan-node/node_modules/hogan.js/node_modules/mkdirp/examples/pow.js.rej new file mode 100644 index 0000000..81e7f43 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/node_modules/mkdirp/examples/pow.js.rej @@ -0,0 +1,19 @@ +--- examples/pow.js ++++ examples/pow.js +@@ -1,6 +1,15 @@ +-var mkdirp = require('mkdirp').mkdirp; ++var mkdirp = require('../').mkdirp, ++ mkdirpSync = require('../').mkdirpSync; + + mkdirp('/tmp/foo/bar/baz', 0755, function (err) { + if (err) console.error(err) + else console.log('pow!') + }); ++ ++try { ++ mkdirpSync('/tmp/bar/foo/baz', 0755); ++ console.log('double pow!'); ++} ++catch (ex) { ++ console.log(ex); ++} \ No newline at end of file diff --git a/hogan-node/node_modules/hogan.js/node_modules/mkdirp/index.js b/hogan-node/node_modules/hogan.js/node_modules/mkdirp/index.js new file mode 100644 index 0000000..25f43ad --- /dev/null +++ b/hogan-node/node_modules/hogan.js/node_modules/mkdirp/index.js @@ -0,0 +1,79 @@ +var path = require('path'); +var fs = require('fs'); + +module.exports = mkdirP.mkdirp = mkdirP.mkdirP = mkdirP; + +function mkdirP (p, mode, f) { + if (typeof mode === 'function' || mode === undefined) { + f = mode; + mode = 0777 & (~process.umask()); + } + + var cb = f || function () {}; + if (typeof mode === 'string') mode = parseInt(mode, 8); + p = path.resolve(p); + + fs.mkdir(p, mode, function (er) { + if (!er) return cb(); + switch (er.code) { + case 'ENOENT': + mkdirP(path.dirname(p), mode, function (er) { + if (er) cb(er); + else mkdirP(p, mode, cb); + }); + break; + + case 'EEXIST': + fs.stat(p, function (er2, stat) { + // if the stat fails, then that's super weird. + // let the original EEXIST be the failure reason. + if (er2 || !stat.isDirectory()) cb(er) + else cb(); + }); + break; + + default: + cb(er); + break; + } + }); +} + +mkdirP.sync = function sync (p, mode) { + if (mode === undefined) { + mode = 0777 & (~process.umask()); + } + + if (typeof mode === 'string') mode = parseInt(mode, 8); + p = path.resolve(p); + + try { + fs.mkdirSync(p, mode) + } + catch (err0) { + switch (err0.code) { + case 'ENOENT' : + var err1 = sync(path.dirname(p), mode) + if (err1) throw err1; + else return sync(p, mode); + break; + + case 'EEXIST' : + var stat; + try { + stat = fs.statSync(p); + } + catch (err1) { + throw err0 + } + if (!stat.isDirectory()) throw err0; + else return null; + break; + default : + throw err0 + break; + } + } + + return null; +}; diff --git a/hogan-node/node_modules/hogan.js/node_modules/mkdirp/package.json b/hogan-node/node_modules/hogan.js/node_modules/mkdirp/package.json new file mode 100644 index 0000000..1cbc0c7 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/node_modules/mkdirp/package.json @@ -0,0 +1,36 @@ +{ + "name": "mkdirp", + "description": "Recursively mkdir, like `mkdir -p`", + "version": "0.3.0", + "author": { + "name": "James Halliday", + "email": "mail@substack.net", + "url": "http://substack.net" + }, + "main": "./index", + "keywords": [ + "mkdir", + "directory" + ], + "repository": { + "type": "git", + "url": "http://github.com/substack/node-mkdirp.git" + }, + "scripts": { + "test": "tap test/*.js" + }, + "devDependencies": { + "tap": "0.0.x" + }, + "license": "MIT/X11", + "engines": { + "node": "*" + }, + "readme": "mkdirp\n======\n\nLike `mkdir -p`, but in node.js!\n\nexample\n=======\n\npow.js\n------\n var mkdirp = require('mkdirp');\n \n mkdirp('/tmp/foo/bar/baz', function (err) {\n if (err) console.error(err)\n else console.log('pow!')\n });\n\nOutput\n pow!\n\nAnd now /tmp/foo/bar/baz exists, huzzah!\n\nmethods\n=======\n\nvar mkdirp = require('mkdirp');\n\nmkdirp(dir, mode, cb)\n---------------------\n\nCreate a new directory and any necessary subdirectories at `dir` with octal\npermission string `mode`.\n\nIf `mode` isn't specified, it defaults to `0777 & (~process.umask())`.\n\nmkdirp.sync(dir, mode)\n----------------------\n\nSynchronously create a new directory and any necessary subdirectories at `dir`\nwith octal permission string `mode`.\n\nIf `mode` isn't specified, it defaults to `0777 & (~process.umask())`.\n\ninstall\n=======\n\nWith [npm](http://npmjs.org) do:\n\n npm install mkdirp\n\nlicense\n=======\n\nMIT/X11\n", + "readmeFilename": "README.markdown", + "bugs": { + "url": "https://github.com/substack/node-mkdirp/issues" + }, + "_id": "mkdirp@0.3.0", + "_from": "mkdirp@0.3.0" +} diff --git a/hogan-node/node_modules/hogan.js/node_modules/mkdirp/test/chmod.js b/hogan-node/node_modules/hogan.js/node_modules/mkdirp/test/chmod.js new file mode 100644 index 0000000..520dcb8 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/node_modules/mkdirp/test/chmod.js @@ -0,0 +1,38 @@ +var mkdirp = require('../').mkdirp; +var path = require('path'); +var fs = require('fs'); +var test = require('tap').test; + +var ps = [ '', 'tmp' ]; + +for (var i = 0; i < 25; i++) { + var dir = Math.floor(Math.random() * Math.pow(16,4)).toString(16); + ps.push(dir); +} + +var file = ps.join('/'); + +test('chmod-pre', function (t) { + var mode = 0744 + mkdirp(file, mode, function (er) { + t.ifError(er, 'should not error'); + fs.stat(file, function (er, stat) { + t.ifError(er, 'should exist'); + t.ok(stat && stat.isDirectory(), 'should be directory'); + t.equal(stat && stat.mode & 0777, mode, 'should be 0744'); + t.end(); + }); + }); +}); + +test('chmod', function (t) { + var mode = 0755 + mkdirp(file, mode, function (er) { + t.ifError(er, 'should not error'); + fs.stat(file, function (er, stat) { + t.ifError(er, 'should exist'); + t.ok(stat && stat.isDirectory(), 'should be directory'); + t.end(); + }); + }); +}); diff --git a/hogan-node/node_modules/hogan.js/node_modules/mkdirp/test/clobber.js b/hogan-node/node_modules/hogan.js/node_modules/mkdirp/test/clobber.js new file mode 100644 index 0000000..0eb7099 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/node_modules/mkdirp/test/clobber.js @@ -0,0 +1,37 @@ +var mkdirp = require('../').mkdirp; +var path = require('path'); +var fs = require('fs'); +var test = require('tap').test; + +var ps = [ '', 'tmp' ]; + +for (var i = 0; i < 25; i++) { + var dir = Math.floor(Math.random() * Math.pow(16,4)).toString(16); + ps.push(dir); +} + +var file = ps.join('/'); + +// a file in the way +var itw = ps.slice(0, 3).join('/'); + + +test('clobber-pre', function (t) { + console.error("about to write to "+itw) + fs.writeFileSync(itw, 'I AM IN THE WAY, THE TRUTH, AND THE LIGHT.'); + + fs.stat(itw, function (er, stat) { + t.ifError(er) + t.ok(stat && stat.isFile(), 'should be file') + t.end() + }) +}) + +test('clobber', function (t) { + t.plan(2); + mkdirp(file, 0755, function (err) { + t.ok(err); + t.equal(err.code, 'ENOTDIR'); + t.end(); + }); +}); diff --git a/hogan-node/node_modules/hogan.js/node_modules/mkdirp/test/mkdirp.js b/hogan-node/node_modules/hogan.js/node_modules/mkdirp/test/mkdirp.js new file mode 100644 index 0000000..b07cd70 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/node_modules/mkdirp/test/mkdirp.js @@ -0,0 +1,28 @@ +var mkdirp = require('../'); +var path = require('path'); +var fs = require('fs'); +var test = require('tap').test; + +test('woo', function (t) { + t.plan(2); + var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); + var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); + var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); + + var file = '/tmp/' + [x,y,z].join('/'); + + mkdirp(file, 0755, function (err) { + if (err) t.fail(err); + else path.exists(file, function (ex) { + if (!ex) t.fail('file not created') + else fs.stat(file, function (err, stat) { + if (err) t.fail(err) + else { + t.equal(stat.mode & 0777, 0755); + t.ok(stat.isDirectory(), 'target not a directory'); + t.end(); + } + }) + }) + }); +}); diff --git a/hogan-node/node_modules/hogan.js/node_modules/mkdirp/test/perm.js b/hogan-node/node_modules/hogan.js/node_modules/mkdirp/test/perm.js new file mode 100644 index 0000000..23a7abb --- /dev/null +++ b/hogan-node/node_modules/hogan.js/node_modules/mkdirp/test/perm.js @@ -0,0 +1,32 @@ +var mkdirp = require('../'); +var path = require('path'); +var fs = require('fs'); +var test = require('tap').test; + +test('async perm', function (t) { + t.plan(2); + var file = '/tmp/' + (Math.random() * (1<<30)).toString(16); + + mkdirp(file, 0755, function (err) { + if (err) t.fail(err); + else path.exists(file, function (ex) { + if (!ex) t.fail('file not created') + else fs.stat(file, function (err, stat) { + if (err) t.fail(err) + else { + t.equal(stat.mode & 0777, 0755); + t.ok(stat.isDirectory(), 'target not a directory'); + t.end(); + } + }) + }) + }); +}); + +test('async root perm', function (t) { + mkdirp('/tmp', 0755, function (err) { + if (err) t.fail(err); + t.end(); + }); + t.end(); +}); diff --git a/hogan-node/node_modules/hogan.js/node_modules/mkdirp/test/perm_sync.js b/hogan-node/node_modules/hogan.js/node_modules/mkdirp/test/perm_sync.js new file mode 100644 index 0000000..f685f60 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/node_modules/mkdirp/test/perm_sync.js @@ -0,0 +1,39 @@ +var mkdirp = require('../'); +var path = require('path'); +var fs = require('fs'); +var test = require('tap').test; + +test('sync perm', function (t) { + t.plan(2); + var file = '/tmp/' + (Math.random() * (1<<30)).toString(16) + '.json'; + + mkdirp.sync(file, 0755); + path.exists(file, function (ex) { + if (!ex) t.fail('file not created') + else fs.stat(file, function (err, stat) { + if (err) t.fail(err) + else { + t.equal(stat.mode & 0777, 0755); + t.ok(stat.isDirectory(), 'target not a directory'); + t.end(); + } + }) + }); +}); + +test('sync root perm', function (t) { + t.plan(1); + + var file = '/tmp'; + mkdirp.sync(file, 0755); + path.exists(file, function (ex) { + if (!ex) t.fail('file not created') + else fs.stat(file, function (err, stat) { + if (err) t.fail(err) + else { + t.ok(stat.isDirectory(), 'target not a directory'); + t.end(); + } + }) + }); +}); diff --git a/hogan-node/node_modules/hogan.js/node_modules/mkdirp/test/race.js b/hogan-node/node_modules/hogan.js/node_modules/mkdirp/test/race.js new file mode 100644 index 0000000..96a0447 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/node_modules/mkdirp/test/race.js @@ -0,0 +1,41 @@ +var mkdirp = require('../').mkdirp; +var path = require('path'); +var fs = require('fs'); +var test = require('tap').test; + +test('race', function (t) { + t.plan(4); + var ps = [ '', 'tmp' ]; + + for (var i = 0; i < 25; i++) { + var dir = Math.floor(Math.random() * Math.pow(16,4)).toString(16); + ps.push(dir); + } + var file = ps.join('/'); + + var res = 2; + mk(file, function () { + if (--res === 0) t.end(); + }); + + mk(file, function () { + if (--res === 0) t.end(); + }); + + function mk (file, cb) { + mkdirp(file, 0755, function (err) { + if (err) t.fail(err); + else path.exists(file, function (ex) { + if (!ex) t.fail('file not created') + else fs.stat(file, function (err, stat) { + if (err) t.fail(err) + else { + t.equal(stat.mode & 0777, 0755); + t.ok(stat.isDirectory(), 'target not a directory'); + if (cb) cb(); + } + }) + }) + }); + } +}); diff --git a/hogan-node/node_modules/hogan.js/node_modules/mkdirp/test/rel.js b/hogan-node/node_modules/hogan.js/node_modules/mkdirp/test/rel.js new file mode 100644 index 0000000..7985824 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/node_modules/mkdirp/test/rel.js @@ -0,0 +1,32 @@ +var mkdirp = require('../'); +var path = require('path'); +var fs = require('fs'); +var test = require('tap').test; + +test('rel', function (t) { + t.plan(2); + var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); + var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); + var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); + + var cwd = process.cwd(); + process.chdir('/tmp'); + + var file = [x,y,z].join('/'); + + mkdirp(file, 0755, function (err) { + if (err) t.fail(err); + else path.exists(file, function (ex) { + if (!ex) t.fail('file not created') + else fs.stat(file, function (err, stat) { + if (err) t.fail(err) + else { + process.chdir(cwd); + t.equal(stat.mode & 0777, 0755); + t.ok(stat.isDirectory(), 'target not a directory'); + t.end(); + } + }) + }) + }); +}); diff --git a/hogan-node/node_modules/hogan.js/node_modules/mkdirp/test/sync.js b/hogan-node/node_modules/hogan.js/node_modules/mkdirp/test/sync.js new file mode 100644 index 0000000..e0e389d --- /dev/null +++ b/hogan-node/node_modules/hogan.js/node_modules/mkdirp/test/sync.js @@ -0,0 +1,27 @@ +var mkdirp = require('../'); +var path = require('path'); +var fs = require('fs'); +var test = require('tap').test; + +test('sync', function (t) { + t.plan(2); + var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); + var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); + var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); + + var file = '/tmp/' + [x,y,z].join('/'); + + var err = mkdirp.sync(file, 0755); + if (err) t.fail(err); + else path.exists(file, function (ex) { + if (!ex) t.fail('file not created') + else fs.stat(file, function (err, stat) { + if (err) t.fail(err) + else { + t.equal(stat.mode & 0777, 0755); + t.ok(stat.isDirectory(), 'target not a directory'); + t.end(); + } + }) + }) +}); diff --git a/hogan-node/node_modules/hogan.js/node_modules/mkdirp/test/umask.js b/hogan-node/node_modules/hogan.js/node_modules/mkdirp/test/umask.js new file mode 100644 index 0000000..64ccafe --- /dev/null +++ b/hogan-node/node_modules/hogan.js/node_modules/mkdirp/test/umask.js @@ -0,0 +1,28 @@ +var mkdirp = require('../'); +var path = require('path'); +var fs = require('fs'); +var test = require('tap').test; + +test('implicit mode from umask', function (t) { + t.plan(2); + var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); + var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); + var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); + + var file = '/tmp/' + [x,y,z].join('/'); + + mkdirp(file, function (err) { + if (err) t.fail(err); + else path.exists(file, function (ex) { + if (!ex) t.fail('file not created') + else fs.stat(file, function (err, stat) { + if (err) t.fail(err) + else { + t.equal(stat.mode & 0777, 0777 & (~process.umask())); + t.ok(stat.isDirectory(), 'target not a directory'); + t.end(); + } + }) + }) + }); +}); diff --git a/hogan-node/node_modules/hogan.js/node_modules/mkdirp/test/umask_sync.js b/hogan-node/node_modules/hogan.js/node_modules/mkdirp/test/umask_sync.js new file mode 100644 index 0000000..83cba56 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/node_modules/mkdirp/test/umask_sync.js @@ -0,0 +1,27 @@ +var mkdirp = require('../'); +var path = require('path'); +var fs = require('fs'); +var test = require('tap').test; + +test('umask sync modes', function (t) { + t.plan(2); + var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); + var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); + var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); + + var file = '/tmp/' + [x,y,z].join('/'); + + var err = mkdirp.sync(file); + if (err) t.fail(err); + else path.exists(file, function (ex) { + if (!ex) t.fail('file not created') + else fs.stat(file, function (err, stat) { + if (err) t.fail(err) + else { + t.equal(stat.mode & 0777, (0777 & (~process.umask()))); + t.ok(stat.isDirectory(), 'target not a directory'); + t.end(); + } + }) + }) +}); diff --git a/hogan-node/node_modules/hogan.js/node_modules/nopt/.npmignore b/hogan-node/node_modules/hogan.js/node_modules/nopt/.npmignore new file mode 100644 index 0000000..e69de29 diff --git a/hogan-node/node_modules/hogan.js/node_modules/nopt/LICENSE b/hogan-node/node_modules/hogan.js/node_modules/nopt/LICENSE new file mode 100644 index 0000000..05a4010 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/node_modules/nopt/LICENSE @@ -0,0 +1,23 @@ +Copyright 2009, 2010, 2011 Isaac Z. Schlueter. +All rights reserved. + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. diff --git a/hogan-node/node_modules/hogan.js/node_modules/nopt/README.md b/hogan-node/node_modules/hogan.js/node_modules/nopt/README.md new file mode 100644 index 0000000..eeddfd4 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/node_modules/nopt/README.md @@ -0,0 +1,208 @@ +If you want to write an option parser, and have it be good, there are +two ways to do it. The Right Way, and the Wrong Way. + +The Wrong Way is to sit down and write an option parser. We've all done +that. + +The Right Way is to write some complex configurable program with so many +options that you go half-insane just trying to manage them all, and put +it off with duct-tape solutions until you see exactly to the core of the +problem, and finally snap and write an awesome option parser. + +If you want to write an option parser, don't write an option parser. +Write a package manager, or a source control system, or a service +restarter, or an operating system. You probably won't end up with a +good one of those, but if you don't give up, and you are relentless and +diligent enough in your procrastination, you may just end up with a very +nice option parser. + +## USAGE + + // my-program.js + var nopt = require("nopt") + , Stream = require("stream").Stream + , path = require("path") + , knownOpts = { "foo" : [String, null] + , "bar" : [Stream, Number] + , "baz" : path + , "bloo" : [ "big", "medium", "small" ] + , "flag" : Boolean + , "pick" : Boolean + , "many" : [String, Array] + } + , shortHands = { "foofoo" : ["--foo", "Mr. Foo"] + , "b7" : ["--bar", "7"] + , "m" : ["--bloo", "medium"] + , "p" : ["--pick"] + , "f" : ["--flag"] + } + // everything is optional. + // knownOpts and shorthands default to {} + // arg list defaults to process.argv + // slice defaults to 2 + , parsed = nopt(knownOpts, shortHands, process.argv, 2) + console.log(parsed) + +This would give you support for any of the following: + +```bash +$ node my-program.js --foo "blerp" --no-flag +{ "foo" : "blerp", "flag" : false } + +$ node my-program.js ---bar 7 --foo "Mr. Hand" --flag +{ bar: 7, foo: "Mr. Hand", flag: true } + +$ node my-program.js --foo "blerp" -f -----p +{ foo: "blerp", flag: true, pick: true } + +$ node my-program.js -fp --foofoo +{ foo: "Mr. Foo", flag: true, pick: true } + +$ node my-program.js --foofoo -- -fp # -- stops the flag parsing. +{ foo: "Mr. Foo", argv: { remain: ["-fp"] } } + +$ node my-program.js --blatzk 1000 -fp # unknown opts are ok. +{ blatzk: 1000, flag: true, pick: true } + +$ node my-program.js --blatzk true -fp # but they need a value +{ blatzk: true, flag: true, pick: true } + +$ node my-program.js --no-blatzk -fp # unless they start with "no-" +{ blatzk: false, flag: true, pick: true } + +$ node my-program.js --baz b/a/z # known paths are resolved. +{ baz: "/Users/isaacs/b/a/z" } + +# if Array is one of the types, then it can take many +# values, and will always be an array. The other types provided +# specify what types are allowed in the list. + +$ node my-program.js --many 1 --many null --many foo +{ many: ["1", "null", "foo"] } + +$ node my-program.js --many foo +{ many: ["foo"] } +``` + +Read the tests at the bottom of `lib/nopt.js` for more examples of +what this puppy can do. + +## Types + +The following types are supported, and defined on `nopt.typeDefs` + +* String: A normal string. No parsing is done. +* path: A file system path. Gets resolved against cwd if not absolute. +* url: A url. If it doesn't parse, it isn't accepted. +* Number: Must be numeric. +* Date: Must parse as a date. If it does, and `Date` is one of the options, + then it will return a Date object, not a string. +* Boolean: Must be either `true` or `false`. If an option is a boolean, + then it does not need a value, and its presence will imply `true` as + the value. To negate boolean flags, do `--no-whatever` or `--whatever + false` +* NaN: Means that the option is strictly not allowed. Any value will + fail. +* Stream: An object matching the "Stream" class in node. Valuable + for use when validating programmatically. (npm uses this to let you + supply any WriteStream on the `outfd` and `logfd` config options.) +* Array: If `Array` is specified as one of the types, then the value + will be parsed as a list of options. This means that multiple values + can be specified, and that the value will always be an array. + +If a type is an array of values not on this list, then those are +considered valid values. For instance, in the example above, the +`--bloo` option can only be one of `"big"`, `"medium"`, or `"small"`, +and any other value will be rejected. + +When parsing unknown fields, `"true"`, `"false"`, and `"null"` will be +interpreted as their JavaScript equivalents, and numeric values will be +interpreted as a number. + +You can also mix types and values, or multiple types, in a list. For +instance `{ blah: [Number, null] }` would allow a value to be set to +either a Number or null. + +To define a new type, add it to `nopt.typeDefs`. Each item in that +hash is an object with a `type` member and a `validate` method. The +`type` member is an object that matches what goes in the type list. The +`validate` method is a function that gets called with `validate(data, +key, val)`. Validate methods should assign `data[key]` to the valid +value of `val` if it can be handled properly, or return boolean +`false` if it cannot. + +You can also call `nopt.clean(data, types, typeDefs)` to clean up a +config object and remove its invalid properties. + +## Error Handling + +By default, nopt outputs a warning to standard error when invalid +options are found. You can change this behavior by assigning a method +to `nopt.invalidHandler`. This method will be called with +the offending `nopt.invalidHandler(key, val, types)`. + +If no `nopt.invalidHandler` is assigned, then it will console.error +its whining. If it is assigned to boolean `false` then the warning is +suppressed. + +## Abbreviations + +Yes, they are supported. If you define options like this: + +```javascript +{ "foolhardyelephants" : Boolean +, "pileofmonkeys" : Boolean } +``` + +Then this will work: + +```bash +node program.js --foolhar --pil +node program.js --no-f --pileofmon +# etc. +``` + +## Shorthands + +Shorthands are a hash of shorter option names to a snippet of args that +they expand to. + +If multiple one-character shorthands are all combined, and the +combination does not unambiguously match any other option or shorthand, +then they will be broken up into their constituent parts. For example: + +```json +{ "s" : ["--loglevel", "silent"] +, "g" : "--global" +, "f" : "--force" +, "p" : "--parseable" +, "l" : "--long" +} +``` + +```bash +npm ls -sgflp +# just like doing this: +npm ls --loglevel silent --global --force --long --parseable +``` + +## The Rest of the args + +The config object returned by nopt is given a special member called +`argv`, which is an object with the following fields: + +* `remain`: The remaining args after all the parsing has occurred. +* `original`: The args as they originally appeared. +* `cooked`: The args after flags and shorthands are expanded. + +## Slicing + +Node programs are called with more or less the exact argv as it appears +in C land, after the v8 and node-specific options have been plucked off. +As such, `argv[0]` is always `node` and `argv[1]` is always the +JavaScript program being run. + +That's usually not very useful to you. So they're sliced off by +default. If you want them, then you can pass in `0` as the last +argument, or any other number that you'd like to slice off the start of +the list. diff --git a/hogan-node/node_modules/hogan.js/node_modules/nopt/bin/nopt.js b/hogan-node/node_modules/hogan.js/node_modules/nopt/bin/nopt.js new file mode 100755 index 0000000..df90c72 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/node_modules/nopt/bin/nopt.js @@ -0,0 +1,44 @@ +#!/usr/bin/env node +var nopt = require("../lib/nopt") + , types = { num: Number + , bool: Boolean + , help: Boolean + , list: Array + , "num-list": [Number, Array] + , "str-list": [String, Array] + , "bool-list": [Boolean, Array] + , str: String } + , shorthands = { s: [ "--str", "astring" ] + , b: [ "--bool" ] + , nb: [ "--no-bool" ] + , tft: [ "--bool-list", "--no-bool-list", "--bool-list", "true" ] + , "?": ["--help"] + , h: ["--help"] + , H: ["--help"] + , n: [ "--num", "125" ] } + , parsed = nopt( types + , shorthands + , process.argv + , 2 ) + +console.log("parsed", parsed) + +if (parsed.help) { + console.log("") + console.log("nopt cli tester") + console.log("") + console.log("types") + console.log(Object.keys(types).map(function M (t) { + var type = types[t] + if (Array.isArray(type)) { + return [t, type.map(function (type) { return type.name })] + } + return [t, type && type.name] + }).reduce(function (s, i) { + s[i[0]] = i[1] + return s + }, {})) + console.log("") + console.log("shorthands") + console.log(shorthands) +} diff --git a/hogan-node/node_modules/hogan.js/node_modules/nopt/examples/my-program.js b/hogan-node/node_modules/hogan.js/node_modules/nopt/examples/my-program.js new file mode 100755 index 0000000..142447e --- /dev/null +++ b/hogan-node/node_modules/hogan.js/node_modules/nopt/examples/my-program.js @@ -0,0 +1,30 @@ +#!/usr/bin/env node + +//process.env.DEBUG_NOPT = 1 + +// my-program.js +var nopt = require("../lib/nopt") + , Stream = require("stream").Stream + , path = require("path") + , knownOpts = { "foo" : [String, null] + , "bar" : [Stream, Number] + , "baz" : path + , "bloo" : [ "big", "medium", "small" ] + , "flag" : Boolean + , "pick" : Boolean + } + , shortHands = { "foofoo" : ["--foo", "Mr. Foo"] + , "b7" : ["--bar", "7"] + , "m" : ["--bloo", "medium"] + , "p" : ["--pick"] + , "f" : ["--flag", "true"] + , "g" : ["--flag"] + , "s" : "--flag" + } + // everything is optional. + // knownOpts and shorthands default to {} + // arg list defaults to process.argv + // slice defaults to 2 + , parsed = nopt(knownOpts, shortHands, process.argv, 2) + +console.log("parsed =\n"+ require("util").inspect(parsed)) diff --git a/hogan-node/node_modules/hogan.js/node_modules/nopt/lib/nopt.js b/hogan-node/node_modules/hogan.js/node_modules/nopt/lib/nopt.js new file mode 100644 index 0000000..ff802da --- /dev/null +++ b/hogan-node/node_modules/hogan.js/node_modules/nopt/lib/nopt.js @@ -0,0 +1,552 @@ +// info about each config option. + +var debug = process.env.DEBUG_NOPT || process.env.NOPT_DEBUG + ? function () { console.error.apply(console, arguments) } + : function () {} + +var url = require("url") + , path = require("path") + , Stream = require("stream").Stream + , abbrev = require("abbrev") + +module.exports = exports = nopt +exports.clean = clean + +exports.typeDefs = + { String : { type: String, validate: validateString } + , Boolean : { type: Boolean, validate: validateBoolean } + , url : { type: url, validate: validateUrl } + , Number : { type: Number, validate: validateNumber } + , path : { type: path, validate: validatePath } + , Stream : { type: Stream, validate: validateStream } + , Date : { type: Date, validate: validateDate } + } + +function nopt (types, shorthands, args, slice) { + args = args || process.argv + types = types || {} + shorthands = shorthands || {} + if (typeof slice !== "number") slice = 2 + + debug(types, shorthands, args, slice) + + args = args.slice(slice) + var data = {} + , key + , remain = [] + , cooked = args + , original = args.slice(0) + + parse(args, data, remain, types, shorthands) + // now data is full + clean(data, types, exports.typeDefs) + data.argv = {remain:remain,cooked:cooked,original:original} + data.argv.toString = function () { + return this.original.map(JSON.stringify).join(" ") + } + return data +} + +function clean (data, types, typeDefs) { + typeDefs = typeDefs || exports.typeDefs + var remove = {} + , typeDefault = [false, true, null, String, Number] + + Object.keys(data).forEach(function (k) { + if (k === "argv") return + var val = data[k] + , isArray = Array.isArray(val) + , type = types[k] + if (!isArray) val = [val] + if (!type) type = typeDefault + if (type === Array) type = typeDefault.concat(Array) + if (!Array.isArray(type)) type = [type] + + debug("val=%j", val) + debug("types=", type) + val = val.map(function (val) { + // if it's an unknown value, then parse false/true/null/numbers/dates + if (typeof val === "string") { + debug("string %j", val) + val = val.trim() + if ((val === "null" && ~type.indexOf(null)) + || (val === "true" && + (~type.indexOf(true) || ~type.indexOf(Boolean))) + || (val === "false" && + (~type.indexOf(false) || ~type.indexOf(Boolean)))) { + val = JSON.parse(val) + debug("jsonable %j", val) + } else if (~type.indexOf(Number) && !isNaN(val)) { + debug("convert to number", val) + val = +val + } else if (~type.indexOf(Date) && !isNaN(Date.parse(val))) { + debug("convert to date", val) + val = new Date(val) + } + } + + if (!types.hasOwnProperty(k)) { + return val + } + + // allow `--no-blah` to set 'blah' to null if null is allowed + if (val === false && ~type.indexOf(null) && + !(~type.indexOf(false) || ~type.indexOf(Boolean))) { + val = null + } + + var d = {} + d[k] = val + debug("prevalidated val", d, val, types[k]) + if (!validate(d, k, val, types[k], typeDefs)) { + if (exports.invalidHandler) { + exports.invalidHandler(k, val, types[k], data) + } else if (exports.invalidHandler !== false) { + debug("invalid: "+k+"="+val, types[k]) + } + return remove + } + debug("validated val", d, val, types[k]) + return d[k] + }).filter(function (val) { return val !== remove }) + + if (!val.length) delete data[k] + else if (isArray) { + debug(isArray, data[k], val) + data[k] = val + } else data[k] = val[0] + + debug("k=%s val=%j", k, val, data[k]) + }) +} + +function validateString (data, k, val) { + data[k] = String(val) +} + +function validatePath (data, k, val) { + data[k] = path.resolve(String(val)) + return true +} + +function validateNumber (data, k, val) { + debug("validate Number %j %j %j", k, val, isNaN(val)) + if (isNaN(val)) return false + data[k] = +val +} + +function validateDate (data, k, val) { + debug("validate Date %j %j %j", k, val, Date.parse(val)) + var s = Date.parse(val) + if (isNaN(s)) return false + data[k] = new Date(val) +} + +function validateBoolean (data, k, val) { + if (val instanceof Boolean) val = val.valueOf() + else if (typeof val === "string") { + if (!isNaN(val)) val = !!(+val) + else if (val === "null" || val === "false") val = false + else val = true + } else val = !!val + data[k] = val +} + +function validateUrl (data, k, val) { + val = url.parse(String(val)) + if (!val.host) return false + data[k] = val.href +} + +function validateStream (data, k, val) { + if (!(val instanceof Stream)) return false + data[k] = val +} + +function validate (data, k, val, type, typeDefs) { + // arrays are lists of types. + if (Array.isArray(type)) { + for (var i = 0, l = type.length; i < l; i ++) { + if (type[i] === Array) continue + if (validate(data, k, val, type[i], typeDefs)) return true + } + delete data[k] + return false + } + + // an array of anything? + if (type === Array) return true + + // NaN is poisonous. Means that something is not allowed. + if (type !== type) { + debug("Poison NaN", k, val, type) + delete data[k] + return false + } + + // explicit list of values + if (val === type) { + debug("Explicitly allowed %j", val) + // if (isArray) (data[k] = data[k] || []).push(val) + // else data[k] = val + data[k] = val + return true + } + + // now go through the list of typeDefs, validate against each one. + var ok = false + , types = Object.keys(typeDefs) + for (var i = 0, l = types.length; i < l; i ++) { + debug("test type %j %j %j", k, val, types[i]) + var t = typeDefs[types[i]] + if (t && type === t.type) { + var d = {} + ok = false !== t.validate(d, k, val) + val = d[k] + if (ok) { + // if (isArray) (data[k] = data[k] || []).push(val) + // else data[k] = val + data[k] = val + break + } + } + } + debug("OK? %j (%j %j %j)", ok, k, val, types[i]) + + if (!ok) delete data[k] + return ok +} + +function parse (args, data, remain, types, shorthands) { + debug("parse", args, data, remain) + + var key = null + , abbrevs = abbrev(Object.keys(types)) + , shortAbbr = abbrev(Object.keys(shorthands)) + + for (var i = 0; i < args.length; i ++) { + var arg = args[i] + debug("arg", arg) + + if (arg.match(/^-{2,}$/)) { + // done with keys. + // the rest are args. + remain.push.apply(remain, args.slice(i + 1)) + args[i] = "--" + break + } + if (arg.charAt(0) === "-") { + if (arg.indexOf("=") !== -1) { + var v = arg.split("=") + arg = v.shift() + v = v.join("=") + args.splice.apply(args, [i, 1].concat([arg, v])) + } + // see if it's a shorthand + // if so, splice and back up to re-parse it. + var shRes = resolveShort(arg, shorthands, shortAbbr, abbrevs) + debug("arg=%j shRes=%j", arg, shRes) + if (shRes) { + debug(arg, shRes) + args.splice.apply(args, [i, 1].concat(shRes)) + if (arg !== shRes[0]) { + i -- + continue + } + } + arg = arg.replace(/^-+/, "") + var no = false + while (arg.toLowerCase().indexOf("no-") === 0) { + no = !no + arg = arg.substr(3) + } + + if (abbrevs[arg]) arg = abbrevs[arg] + + var isArray = types[arg] === Array || + Array.isArray(types[arg]) && types[arg].indexOf(Array) !== -1 + + var val + , la = args[i + 1] + + var isBool = no || + types[arg] === Boolean || + Array.isArray(types[arg]) && types[arg].indexOf(Boolean) !== -1 || + (la === "false" && + (types[arg] === null || + Array.isArray(types[arg]) && ~types[arg].indexOf(null))) + + if (isBool) { + // just set and move along + val = !no + // however, also support --bool true or --bool false + if (la === "true" || la === "false") { + val = JSON.parse(la) + la = null + if (no) val = !val + i ++ + } + + // also support "foo":[Boolean, "bar"] and "--foo bar" + if (Array.isArray(types[arg]) && la) { + if (~types[arg].indexOf(la)) { + // an explicit type + val = la + i ++ + } else if ( la === "null" && ~types[arg].indexOf(null) ) { + // null allowed + val = null + i ++ + } else if ( !la.match(/^-{2,}[^-]/) && + !isNaN(la) && + ~types[arg].indexOf(Number) ) { + // number + val = +la + i ++ + } else if ( !la.match(/^-[^-]/) && ~types[arg].indexOf(String) ) { + // string + val = la + i ++ + } + } + + if (isArray) (data[arg] = data[arg] || []).push(val) + else data[arg] = val + + continue + } + + if (la && la.match(/^-{2,}$/)) { + la = undefined + i -- + } + + val = la === undefined ? true : la + if (isArray) (data[arg] = data[arg] || []).push(val) + else data[arg] = val + + i ++ + continue + } + remain.push(arg) + } +} + +function resolveShort (arg, shorthands, shortAbbr, abbrevs) { + // handle single-char shorthands glommed together, like + // npm ls -glp, but only if there is one dash, and only if + // all of the chars are single-char shorthands, and it's + // not a match to some other abbrev. + arg = arg.replace(/^-+/, '') + if (abbrevs[arg] && !shorthands[arg]) { + return null + } + if (shortAbbr[arg]) { + arg = shortAbbr[arg] + } else { + var singles = shorthands.___singles + if (!singles) { + singles = Object.keys(shorthands).filter(function (s) { + return s.length === 1 + }).reduce(function (l,r) { l[r] = true ; return l }, {}) + shorthands.___singles = singles + } + var chrs = arg.split("").filter(function (c) { + return singles[c] + }) + if (chrs.join("") === arg) return chrs.map(function (c) { + return shorthands[c] + }).reduce(function (l, r) { + return l.concat(r) + }, []) + } + + if (shorthands[arg] && !Array.isArray(shorthands[arg])) { + shorthands[arg] = shorthands[arg].split(/\s+/) + } + return shorthands[arg] +} + +if (module === require.main) { +var assert = require("assert") + , util = require("util") + + , shorthands = + { s : ["--loglevel", "silent"] + , d : ["--loglevel", "info"] + , dd : ["--loglevel", "verbose"] + , ddd : ["--loglevel", "silly"] + , noreg : ["--no-registry"] + , reg : ["--registry"] + , "no-reg" : ["--no-registry"] + , silent : ["--loglevel", "silent"] + , verbose : ["--loglevel", "verbose"] + , h : ["--usage"] + , H : ["--usage"] + , "?" : ["--usage"] + , help : ["--usage"] + , v : ["--version"] + , f : ["--force"] + , desc : ["--description"] + , "no-desc" : ["--no-description"] + , "local" : ["--no-global"] + , l : ["--long"] + , p : ["--parseable"] + , porcelain : ["--parseable"] + , g : ["--global"] + } + + , types = + { aoa: Array + , nullstream: [null, Stream] + , date: Date + , str: String + , browser : String + , cache : path + , color : ["always", Boolean] + , depth : Number + , description : Boolean + , dev : Boolean + , editor : path + , force : Boolean + , global : Boolean + , globalconfig : path + , group : [String, Number] + , gzipbin : String + , logfd : [Number, Stream] + , loglevel : ["silent","win","error","warn","info","verbose","silly"] + , long : Boolean + , "node-version" : [false, String] + , npaturl : url + , npat : Boolean + , "onload-script" : [false, String] + , outfd : [Number, Stream] + , parseable : Boolean + , pre: Boolean + , prefix: path + , proxy : url + , "rebuild-bundle" : Boolean + , registry : url + , searchopts : String + , searchexclude: [null, String] + , shell : path + , t: [Array, String] + , tag : String + , tar : String + , tmp : path + , "unsafe-perm" : Boolean + , usage : Boolean + , user : String + , username : String + , userconfig : path + , version : Boolean + , viewer: path + , _exit : Boolean + } + +; [["-v", {version:true}, []] + ,["---v", {version:true}, []] + ,["ls -s --no-reg connect -d", + {loglevel:"info",registry:null},["ls","connect"]] + ,["ls ---s foo",{loglevel:"silent"},["ls","foo"]] + ,["ls --registry blargle", {}, ["ls"]] + ,["--no-registry", {registry:null}, []] + ,["--no-color true", {color:false}, []] + ,["--no-color false", {color:true}, []] + ,["--no-color", {color:false}, []] + ,["--color false", {color:false}, []] + ,["--color --logfd 7", {logfd:7,color:true}, []] + ,["--color=true", {color:true}, []] + ,["--logfd=10", {logfd:10}, []] + ,["--tmp=/tmp -tar=gtar",{tmp:"/tmp",tar:"gtar"},[]] + ,["--tmp=tmp -tar=gtar", + {tmp:path.resolve(process.cwd(), "tmp"),tar:"gtar"},[]] + ,["--logfd x", {}, []] + ,["a -true -- -no-false", {true:true},["a","-no-false"]] + ,["a -no-false", {false:false},["a"]] + ,["a -no-no-true", {true:true}, ["a"]] + ,["a -no-no-no-false", {false:false}, ["a"]] + ,["---NO-no-No-no-no-no-nO-no-no"+ + "-No-no-no-no-no-no-no-no-no"+ + "-no-no-no-no-NO-NO-no-no-no-no-no-no"+ + "-no-body-can-do-the-boogaloo-like-I-do" + ,{"body-can-do-the-boogaloo-like-I-do":false}, []] + ,["we are -no-strangers-to-love "+ + "--you-know the-rules --and so-do-i "+ + "---im-thinking-of=a-full-commitment "+ + "--no-you-would-get-this-from-any-other-guy "+ + "--no-gonna-give-you-up "+ + "-no-gonna-let-you-down=true "+ + "--no-no-gonna-run-around false "+ + "--desert-you=false "+ + "--make-you-cry false "+ + "--no-tell-a-lie "+ + "--no-no-and-hurt-you false" + ,{"strangers-to-love":false + ,"you-know":"the-rules" + ,"and":"so-do-i" + ,"you-would-get-this-from-any-other-guy":false + ,"gonna-give-you-up":false + ,"gonna-let-you-down":false + ,"gonna-run-around":false + ,"desert-you":false + ,"make-you-cry":false + ,"tell-a-lie":false + ,"and-hurt-you":false + },["we", "are"]] + ,["-t one -t two -t three" + ,{t: ["one", "two", "three"]} + ,[]] + ,["-t one -t null -t three four five null" + ,{t: ["one", "null", "three"]} + ,["four", "five", "null"]] + ,["-t foo" + ,{t:["foo"]} + ,[]] + ,["--no-t" + ,{t:["false"]} + ,[]] + ,["-no-no-t" + ,{t:["true"]} + ,[]] + ,["-aoa one -aoa null -aoa 100" + ,{aoa:["one", null, 100]} + ,[]] + ,["-str 100" + ,{str:"100"} + ,[]] + ,["--color always" + ,{color:"always"} + ,[]] + ,["--no-nullstream" + ,{nullstream:null} + ,[]] + ,["--nullstream false" + ,{nullstream:null} + ,[]] + ,["--notadate 2011-01-25" + ,{notadate: "2011-01-25"} + ,[]] + ,["--date 2011-01-25" + ,{date: new Date("2011-01-25")} + ,[]] + ].forEach(function (test) { + var argv = test[0].split(/\s+/) + , opts = test[1] + , rem = test[2] + , actual = nopt(types, shorthands, argv, 0) + , parsed = actual.argv + delete actual.argv + console.log(util.inspect(actual, false, 2, true), parsed.remain) + for (var i in opts) { + var e = JSON.stringify(opts[i]) + , a = JSON.stringify(actual[i] === undefined ? null : actual[i]) + if (e && typeof e === "object") { + assert.deepEqual(e, a) + } else { + assert.equal(e, a) + } + } + assert.deepEqual(rem, parsed.remain) + }) +} diff --git a/hogan-node/node_modules/hogan.js/node_modules/nopt/node_modules/abbrev/CONTRIBUTING.md b/hogan-node/node_modules/hogan.js/node_modules/nopt/node_modules/abbrev/CONTRIBUTING.md new file mode 100644 index 0000000..2f30261 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/node_modules/nopt/node_modules/abbrev/CONTRIBUTING.md @@ -0,0 +1,3 @@ + To get started, sign the + Contributor License Agreement. diff --git a/hogan-node/node_modules/hogan.js/node_modules/nopt/node_modules/abbrev/LICENSE b/hogan-node/node_modules/hogan.js/node_modules/nopt/node_modules/abbrev/LICENSE new file mode 100644 index 0000000..05a4010 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/node_modules/nopt/node_modules/abbrev/LICENSE @@ -0,0 +1,23 @@ +Copyright 2009, 2010, 2011 Isaac Z. Schlueter. +All rights reserved. + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. diff --git a/hogan-node/node_modules/hogan.js/node_modules/nopt/node_modules/abbrev/README.md b/hogan-node/node_modules/hogan.js/node_modules/nopt/node_modules/abbrev/README.md new file mode 100644 index 0000000..99746fe --- /dev/null +++ b/hogan-node/node_modules/hogan.js/node_modules/nopt/node_modules/abbrev/README.md @@ -0,0 +1,23 @@ +# abbrev-js + +Just like [ruby's Abbrev](http://apidock.com/ruby/Abbrev). + +Usage: + + var abbrev = require("abbrev"); + abbrev("foo", "fool", "folding", "flop"); + + // returns: + { fl: 'flop' + , flo: 'flop' + , flop: 'flop' + , fol: 'folding' + , fold: 'folding' + , foldi: 'folding' + , foldin: 'folding' + , folding: 'folding' + , foo: 'foo' + , fool: 'fool' + } + +This is handy for command-line scripts, or other cases where you want to be able to accept shorthands. diff --git a/hogan-node/node_modules/hogan.js/node_modules/nopt/node_modules/abbrev/abbrev.js b/hogan-node/node_modules/hogan.js/node_modules/nopt/node_modules/abbrev/abbrev.js new file mode 100644 index 0000000..69cfeac --- /dev/null +++ b/hogan-node/node_modules/hogan.js/node_modules/nopt/node_modules/abbrev/abbrev.js @@ -0,0 +1,62 @@ + +module.exports = exports = abbrev.abbrev = abbrev + +abbrev.monkeyPatch = monkeyPatch + +function monkeyPatch () { + Object.defineProperty(Array.prototype, 'abbrev', { + value: function () { return abbrev(this) }, + enumerable: false, configurable: true, writable: true + }) + + Object.defineProperty(Object.prototype, 'abbrev', { + value: function () { return abbrev(Object.keys(this)) }, + enumerable: false, configurable: true, writable: true + }) +} + +function abbrev (list) { + if (arguments.length !== 1 || !Array.isArray(list)) { + list = Array.prototype.slice.call(arguments, 0) + } + for (var i = 0, l = list.length, args = [] ; i < l ; i ++) { + args[i] = typeof list[i] === "string" ? list[i] : String(list[i]) + } + + // sort them lexicographically, so that they're next to their nearest kin + args = args.sort(lexSort) + + // walk through each, seeing how much it has in common with the next and previous + var abbrevs = {} + , prev = "" + for (var i = 0, l = args.length ; i < l ; i ++) { + var current = args[i] + , next = args[i + 1] || "" + , nextMatches = true + , prevMatches = true + if (current === next) continue + for (var j = 0, cl = current.length ; j < cl ; j ++) { + var curChar = current.charAt(j) + nextMatches = nextMatches && curChar === next.charAt(j) + prevMatches = prevMatches && curChar === prev.charAt(j) + if (!nextMatches && !prevMatches) { + j ++ + break + } + } + prev = current + if (j === cl) { + abbrevs[current] = current + continue + } + for (var a = current.substr(0, j) ; j <= cl ; j ++) { + abbrevs[a] = current + a += current.charAt(j) + } + } + return abbrevs +} + +function lexSort (a, b) { + return a === b ? 0 : a > b ? 1 : -1 +} diff --git a/hogan-node/node_modules/hogan.js/node_modules/nopt/node_modules/abbrev/package.json b/hogan-node/node_modules/hogan.js/node_modules/nopt/node_modules/abbrev/package.json new file mode 100644 index 0000000..b189020 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/node_modules/nopt/node_modules/abbrev/package.json @@ -0,0 +1,29 @@ +{ + "name": "abbrev", + "version": "1.0.5", + "description": "Like ruby's abbrev module, but in js", + "author": { + "name": "Isaac Z. Schlueter", + "email": "i@izs.me" + }, + "main": "abbrev.js", + "scripts": { + "test": "node test.js" + }, + "repository": { + "type": "git", + "url": "http://github.com/isaacs/abbrev-js" + }, + "license": { + "type": "MIT", + "url": "https://github.com/isaacs/abbrev-js/raw/master/LICENSE" + }, + "readme": "# abbrev-js\n\nJust like [ruby's Abbrev](http://apidock.com/ruby/Abbrev).\n\nUsage:\n\n var abbrev = require(\"abbrev\");\n abbrev(\"foo\", \"fool\", \"folding\", \"flop\");\n \n // returns:\n { fl: 'flop'\n , flo: 'flop'\n , flop: 'flop'\n , fol: 'folding'\n , fold: 'folding'\n , foldi: 'folding'\n , foldin: 'folding'\n , folding: 'folding'\n , foo: 'foo'\n , fool: 'fool'\n }\n\nThis is handy for command-line scripts, or other cases where you want to be able to accept shorthands.\n", + "readmeFilename": "README.md", + "bugs": { + "url": "https://github.com/isaacs/abbrev-js/issues" + }, + "homepage": "https://github.com/isaacs/abbrev-js", + "_id": "abbrev@1.0.5", + "_from": "abbrev@1" +} diff --git a/hogan-node/node_modules/hogan.js/node_modules/nopt/node_modules/abbrev/test.js b/hogan-node/node_modules/hogan.js/node_modules/nopt/node_modules/abbrev/test.js new file mode 100644 index 0000000..d5a7303 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/node_modules/nopt/node_modules/abbrev/test.js @@ -0,0 +1,47 @@ +var abbrev = require('./abbrev.js') +var assert = require("assert") +var util = require("util") + +console.log("TAP Version 13") +var count = 0 + +function test (list, expect) { + count++ + var actual = abbrev(list) + assert.deepEqual(actual, expect, + "abbrev("+util.inspect(list)+") === " + util.inspect(expect) + "\n"+ + "actual: "+util.inspect(actual)) + actual = abbrev.apply(exports, list) + assert.deepEqual(abbrev.apply(exports, list), expect, + "abbrev("+list.map(JSON.stringify).join(",")+") === " + util.inspect(expect) + "\n"+ + "actual: "+util.inspect(actual)) + console.log('ok - ' + list.join(' ')) +} + +test([ "ruby", "ruby", "rules", "rules", "rules" ], +{ rub: 'ruby' +, ruby: 'ruby' +, rul: 'rules' +, rule: 'rules' +, rules: 'rules' +}) +test(["fool", "foom", "pool", "pope"], +{ fool: 'fool' +, foom: 'foom' +, poo: 'pool' +, pool: 'pool' +, pop: 'pope' +, pope: 'pope' +}) +test(["a", "ab", "abc", "abcd", "abcde", "acde"], +{ a: 'a' +, ab: 'ab' +, abc: 'abc' +, abcd: 'abcd' +, abcde: 'abcde' +, ac: 'acde' +, acd: 'acde' +, acde: 'acde' +}) + +console.log("0..%d", count) diff --git a/hogan-node/node_modules/hogan.js/node_modules/nopt/package.json b/hogan-node/node_modules/hogan.js/node_modules/nopt/package.json new file mode 100644 index 0000000..2ae115c --- /dev/null +++ b/hogan-node/node_modules/hogan.js/node_modules/nopt/package.json @@ -0,0 +1,39 @@ +{ + "name": "nopt", + "version": "1.0.10", + "description": "Option parsing for Node, supporting types, shorthands, etc. Used by npm.", + "author": { + "name": "Isaac Z. Schlueter", + "email": "i@izs.me", + "url": "http://blog.izs.me/" + }, + "main": "lib/nopt.js", + "scripts": { + "test": "node lib/nopt.js" + }, + "repository": { + "type": "git", + "url": "http://github.com/isaacs/nopt" + }, + "bin": { + "nopt": "./bin/nopt.js" + }, + "license": { + "type": "MIT", + "url": "https://github.com/isaacs/nopt/raw/master/LICENSE" + }, + "dependencies": { + "abbrev": "1" + }, + "readme": "If you want to write an option parser, and have it be good, there are\ntwo ways to do it. The Right Way, and the Wrong Way.\n\nThe Wrong Way is to sit down and write an option parser. We've all done\nthat.\n\nThe Right Way is to write some complex configurable program with so many\noptions that you go half-insane just trying to manage them all, and put\nit off with duct-tape solutions until you see exactly to the core of the\nproblem, and finally snap and write an awesome option parser.\n\nIf you want to write an option parser, don't write an option parser.\nWrite a package manager, or a source control system, or a service\nrestarter, or an operating system. You probably won't end up with a\ngood one of those, but if you don't give up, and you are relentless and\ndiligent enough in your procrastination, you may just end up with a very\nnice option parser.\n\n## USAGE\n\n // my-program.js\n var nopt = require(\"nopt\")\n , Stream = require(\"stream\").Stream\n , path = require(\"path\")\n , knownOpts = { \"foo\" : [String, null]\n , \"bar\" : [Stream, Number]\n , \"baz\" : path\n , \"bloo\" : [ \"big\", \"medium\", \"small\" ]\n , \"flag\" : Boolean\n , \"pick\" : Boolean\n , \"many\" : [String, Array]\n }\n , shortHands = { \"foofoo\" : [\"--foo\", \"Mr. Foo\"]\n , \"b7\" : [\"--bar\", \"7\"]\n , \"m\" : [\"--bloo\", \"medium\"]\n , \"p\" : [\"--pick\"]\n , \"f\" : [\"--flag\"]\n }\n // everything is optional.\n // knownOpts and shorthands default to {}\n // arg list defaults to process.argv\n // slice defaults to 2\n , parsed = nopt(knownOpts, shortHands, process.argv, 2)\n console.log(parsed)\n\nThis would give you support for any of the following:\n\n```bash\n$ node my-program.js --foo \"blerp\" --no-flag\n{ \"foo\" : \"blerp\", \"flag\" : false }\n\n$ node my-program.js ---bar 7 --foo \"Mr. Hand\" --flag\n{ bar: 7, foo: \"Mr. Hand\", flag: true }\n\n$ node my-program.js --foo \"blerp\" -f -----p\n{ foo: \"blerp\", flag: true, pick: true }\n\n$ node my-program.js -fp --foofoo\n{ foo: \"Mr. Foo\", flag: true, pick: true }\n\n$ node my-program.js --foofoo -- -fp # -- stops the flag parsing.\n{ foo: \"Mr. Foo\", argv: { remain: [\"-fp\"] } }\n\n$ node my-program.js --blatzk 1000 -fp # unknown opts are ok.\n{ blatzk: 1000, flag: true, pick: true }\n\n$ node my-program.js --blatzk true -fp # but they need a value\n{ blatzk: true, flag: true, pick: true }\n\n$ node my-program.js --no-blatzk -fp # unless they start with \"no-\"\n{ blatzk: false, flag: true, pick: true }\n\n$ node my-program.js --baz b/a/z # known paths are resolved.\n{ baz: \"/Users/isaacs/b/a/z\" }\n\n# if Array is one of the types, then it can take many\n# values, and will always be an array. The other types provided\n# specify what types are allowed in the list.\n\n$ node my-program.js --many 1 --many null --many foo\n{ many: [\"1\", \"null\", \"foo\"] }\n\n$ node my-program.js --many foo\n{ many: [\"foo\"] }\n```\n\nRead the tests at the bottom of `lib/nopt.js` for more examples of\nwhat this puppy can do.\n\n## Types\n\nThe following types are supported, and defined on `nopt.typeDefs`\n\n* String: A normal string. No parsing is done.\n* path: A file system path. Gets resolved against cwd if not absolute.\n* url: A url. If it doesn't parse, it isn't accepted.\n* Number: Must be numeric.\n* Date: Must parse as a date. If it does, and `Date` is one of the options,\n then it will return a Date object, not a string.\n* Boolean: Must be either `true` or `false`. If an option is a boolean,\n then it does not need a value, and its presence will imply `true` as\n the value. To negate boolean flags, do `--no-whatever` or `--whatever\n false`\n* NaN: Means that the option is strictly not allowed. Any value will\n fail.\n* Stream: An object matching the \"Stream\" class in node. Valuable\n for use when validating programmatically. (npm uses this to let you\n supply any WriteStream on the `outfd` and `logfd` config options.)\n* Array: If `Array` is specified as one of the types, then the value\n will be parsed as a list of options. This means that multiple values\n can be specified, and that the value will always be an array.\n\nIf a type is an array of values not on this list, then those are\nconsidered valid values. For instance, in the example above, the\n`--bloo` option can only be one of `\"big\"`, `\"medium\"`, or `\"small\"`,\nand any other value will be rejected.\n\nWhen parsing unknown fields, `\"true\"`, `\"false\"`, and `\"null\"` will be\ninterpreted as their JavaScript equivalents, and numeric values will be\ninterpreted as a number.\n\nYou can also mix types and values, or multiple types, in a list. For\ninstance `{ blah: [Number, null] }` would allow a value to be set to\neither a Number or null.\n\nTo define a new type, add it to `nopt.typeDefs`. Each item in that\nhash is an object with a `type` member and a `validate` method. The\n`type` member is an object that matches what goes in the type list. The\n`validate` method is a function that gets called with `validate(data,\nkey, val)`. Validate methods should assign `data[key]` to the valid\nvalue of `val` if it can be handled properly, or return boolean\n`false` if it cannot.\n\nYou can also call `nopt.clean(data, types, typeDefs)` to clean up a\nconfig object and remove its invalid properties.\n\n## Error Handling\n\nBy default, nopt outputs a warning to standard error when invalid\noptions are found. You can change this behavior by assigning a method\nto `nopt.invalidHandler`. This method will be called with\nthe offending `nopt.invalidHandler(key, val, types)`.\n\nIf no `nopt.invalidHandler` is assigned, then it will console.error\nits whining. If it is assigned to boolean `false` then the warning is\nsuppressed.\n\n## Abbreviations\n\nYes, they are supported. If you define options like this:\n\n```javascript\n{ \"foolhardyelephants\" : Boolean\n, \"pileofmonkeys\" : Boolean }\n```\n\nThen this will work:\n\n```bash\nnode program.js --foolhar --pil\nnode program.js --no-f --pileofmon\n# etc.\n```\n\n## Shorthands\n\nShorthands are a hash of shorter option names to a snippet of args that\nthey expand to.\n\nIf multiple one-character shorthands are all combined, and the\ncombination does not unambiguously match any other option or shorthand,\nthen they will be broken up into their constituent parts. For example:\n\n```json\n{ \"s\" : [\"--loglevel\", \"silent\"]\n, \"g\" : \"--global\"\n, \"f\" : \"--force\"\n, \"p\" : \"--parseable\"\n, \"l\" : \"--long\"\n}\n```\n\n```bash\nnpm ls -sgflp\n# just like doing this:\nnpm ls --loglevel silent --global --force --long --parseable\n```\n\n## The Rest of the args\n\nThe config object returned by nopt is given a special member called\n`argv`, which is an object with the following fields:\n\n* `remain`: The remaining args after all the parsing has occurred.\n* `original`: The args as they originally appeared.\n* `cooked`: The args after flags and shorthands are expanded.\n\n## Slicing\n\nNode programs are called with more or less the exact argv as it appears\nin C land, after the v8 and node-specific options have been plucked off.\nAs such, `argv[0]` is always `node` and `argv[1]` is always the\nJavaScript program being run.\n\nThat's usually not very useful to you. So they're sliced off by\ndefault. If you want them, then you can pass in `0` as the last\nargument, or any other number that you'd like to slice off the start of\nthe list.\n", + "readmeFilename": "README.md", + "bugs": { + "url": "https://github.com/isaacs/nopt/issues" + }, + "_id": "nopt@1.0.10", + "dist": { + "shasum": "8cdb9c39f6537f9adcbc47d77a9992729753e3bd" + }, + "_from": "nopt@1.0.10", + "_resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz" +} diff --git a/hogan-node/node_modules/hogan.js/package.json b/hogan-node/node_modules/hogan.js/package.json new file mode 100644 index 0000000..acea652 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/package.json @@ -0,0 +1,48 @@ +{ + "name": "hogan.js", + "description": "A mustache compiler.", + "version": "3.0.2", + "keywords": [ + "mustache", + "template" + ], + "main": "./lib/hogan.js", + "homepage": "http://twitter.github.com/hogan.js/", + "author": { + "name": "Twitter Inc." + }, + "repository": { + "type": "git", + "url": "https://github.com/twitter/hogan.js.git" + }, + "licenses": [ + { + "type": "Apache-2.0", + "url": "http://www.apache.org/licenses/LICENSE-2.0" + } + ], + "dependencies": { + "nopt": "1.0.10", + "mkdirp": "0.3.0" + }, + "devDependencies": { + "uglify-js": "2.x", + "jsdom": "0.3.4", + "step": "0.0.5", + "rimraf": "2.0.1" + }, + "bin": { + "hulk": "./bin/hulk" + }, + "readme": "## Hogan.js - A mustache compiler. [![Build Status](https://secure.travis-ci.org/twitter/hogan.js.png)](http://travis-ci.org/twitter/hogan.js)\n\n[Hogan.js](http://twitter.github.io/hogan.js/) is a compiler for the\n[Mustache](http://mustache.github.io/) templating language. For information\non Mustache, see the [manpage](http://mustache.github.com/mustache.5.html) and\nthe [spec](https://github.com/mustache/spec).\n\n## Basics\n\nHogan compiles templates to HoganTemplate objects, which have a render method.\n\n```js\nvar data = {\n screenName: \"dhg\",\n};\n\nvar template = Hogan.compile(\"Follow @{{screenName}}.\");\nvar output = template.render(data);\n\n// prints \"Follow @dhg.\"\nconsole.log(output);\n```\n\n## Features\n\nHogan is fast--try it on your workload.\n\nHogan has separate scanning, parsing and code generation phases. This way it's\npossible to add new features without touching the scanner at all, and many\ndifferent code generation techniques can be tried without changing the parser.\n\nHogan exposes scan and parse methods. These can be useful for\npre-processing templates on the server.\n\n```js\nvar text = \"{{^check}}{{#i18n}}No{{/i18n}}{{/check}}\";\ntext += \"{{#check}}{{#i18n}}Yes{{/i18n}}{{/check}}\";\nvar tree = Hogan.parse(Hogan.scan(text));\n\n// outputs \"# check\"\nconsole.log(tree[0].tag + \" \" + tree[0].name);\n\n// outputs \"Yes\"\nconsole.log(tree[1].nodes[0].nodes[0]);\n```\n\nIt's also possible to use HoganTemplate objects without the Hogan compiler\npresent. That means you can pre-compile your templates on the server, and\navoid shipping the compiler. However, the optional lambda features from the\nMustache spec require the compiler and the original template source to be present.\n\nHogan also supports [template inheritance](https://github.com/mustache/spec/pull/75),\nand maintains compatibility with other implementations like [mustache.java](https://github.com/spullara/mustache.java),\n[mustache.php](https://github.com/bobthecow/mustache.php), and [GRMustache](https://github.com/groue/GRMustache)\n\n## Why Hogan.js?\n\nWhy another templating library?\n\nHogan.js was written to meet three templating library requirements: good\nperformance, standalone template objects, and a parser API.\n\n## Install\n\n# Node.js\n\n```\nnpm install hogan.js\n```\n\n# component\n\n```\ncomponent install twitter/hogan.js\n```\n\n## Compilation options\n\nThe second argument to Hogan.compile is an options hash.\n\n```js\nvar text = \"my <%example%> template.\"\nHogan.compile(text, {delimiters: '<% %>'});\n```\n\nThere are currently four valid options.\n\nasString: return the compiled template as a string. This feature is used\nby hulk to produce strings containing pre-compiled templates.\n\nsectionTags: allow custom tags that require opening and closing tags, and\ntreat them as though they were section tags.\n\n```js\nvar text = \"my {{_foo}}example{{/foo}} template.\"\nHogan.compile(text, { sectionTags: [{o: '_foo', c: 'foo'}]});\n```\n\nThe value is an array of object with o and c fields that indicate names\nfor custom section tags. The example above allows parsing of {{_foo}}{{/foo}}.\n\ndelimiters: A string that overrides the default delimiters. Example: \"<% %>\".\n\ndisableLambda: disables the higher-order sections / lambda-replace features of Mustache.\n\n## Issues\n\nHave a bug? Please create an issue here on GitHub!\n\nhttps://github.com/twitter/hogan.js/issues\n\n## Versioning\n\nFor transparency and insight into our release cycle, releases will be numbered with the follow format:\n\n`..`\n\nAnd constructed with the following guidelines:\n\n* Breaking backwards compatibility bumps the major\n* New additions without breaking backwards compatibility bumps the minor\n* Bug fixes and misc changes bump the patch\n\nFor more information on semantic versioning, please visit http://semver.org/.\n\n## Testing\n\nTo run the tests you first need to update all git submodules.\n\n $ git submodule init\n $ git submodule update\n\nUnit tests are written using [QUnit](http://qunitjs.com/). To run them, open `test/index.html`\nin a browser.\n\nUse [node](http://nodejs.org/) to run all tests from the\n[mustache spec](https://github.com/mustache/spec).\n\n $ node test/spec.js\n\n## Authors\n\n**Robert Sayre**\n\n+ http://github.com/sayrer\n\n**Jacob Thornton**\n\n+ http://github.com/fat\n\n## License\n\nCopyright 2011 Twitter, Inc.\n\nLicensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0\n", + "readmeFilename": "README.md", + "bugs": { + "url": "https://github.com/twitter/hogan.js/issues" + }, + "_id": "hogan.js@3.0.2", + "dist": { + "shasum": "565eb75bbf9185efc0c6a0eb3e810756a07cc87c" + }, + "_from": "hogan.js@x.x.x", + "_resolved": "https://registry.npmjs.org/hogan.js/-/hogan.js-3.0.2.tgz" +} diff --git a/hogan-node/node_modules/hogan.js/test.html b/hogan-node/node_modules/hogan.js/test.html new file mode 100644 index 0000000..0425c00 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/test.html @@ -0,0 +1,8 @@ + + diff --git a/hogan-node/node_modules/hogan.js/test.js b/hogan-node/node_modules/hogan.js/test.js new file mode 100644 index 0000000..6c35b55 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/test.js @@ -0,0 +1,6 @@ +var template = require('./lib/hogan.js').compile('{{a}}'); +console.log(template.render({a:'C:\\werwr\\werwer'})) + + var x = require('./lib/hogan.js').compile('{{a}}').render({a:'C:\\werwr\\werwer'}); + +console.log(x) \ No newline at end of file diff --git a/hogan-node/node_modules/hogan.js/test.mustache b/hogan-node/node_modules/hogan.js/test.mustache new file mode 100644 index 0000000..9e698dc --- /dev/null +++ b/hogan-node/node_modules/hogan.js/test.mustache @@ -0,0 +1,2 @@ +
    {{foo}}
    + diff --git a/hogan-node/node_modules/hogan.js/web/builds/1.0.0/hogan.js b/hogan-node/node_modules/hogan.js/web/builds/1.0.0/hogan.js new file mode 100644 index 0000000..09170d6 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/1.0.0/hogan.js @@ -0,0 +1,500 @@ +/* + * Copyright 2011 Twitter, Inc. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +var HoganTemplate = (function () { + + function constructor(text) { + this.text = text; + }; + + constructor.prototype = { + // render: replaced by generated code. + r: function (context, partials) { return ''; }, + + // variable escaping + v: hoganEscape, + + render: function render(context, partials) { + return this.r(context, partials); + }, + + // tries to find a partial in the curent scope and render it + rp: function(name, context, partials, indent) { + var partial = partials[name]; + + if (!partial) { + return ''; + } + + return partial.render(context, partials); + }, + + // render a section + rs: function(context, partials, section) { + var buf = ''; + var tail = context[context.length - 1]; + if (!isArray(tail)) { + buf = section(context, partials); + return buf; + } + + for (var i = 0; i < tail.length; i++) { + context.push(tail[i]); + buf += section(context, partials); + context.pop(); + } + return buf; + }, + + // maybe start a section + s: function(val, ctx, partials, inverted, start, end) { + if (isArray(val) && val.length === 0) { + return false; + } + + if (!inverted && typeof val == 'function') { + val = this.ls(val, ctx, partials, start, end); + } + + var pass = (val === '') || !!val; + + if (!inverted && pass && ctx) { + ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]); + } + + return pass; + }, + + // find values with dotted names + d: function(key, ctx, partials, returnFound) { + if (key === '.' && isArray(ctx[ctx.length - 2])) { + return ctx[ctx.length - 1]; + } + + var names = key.split('.'); + var val = this.f(names[0], ctx, partials, returnFound); + var cx = null; + for (var i = 1; i < names.length; i++) { + if (val && typeof val == 'object' && names[i] in val) { + cx = val; + val = val[names[i]]; + } else { + val = ''; + } + } + + if (returnFound && !val) { + return false; + } + + if (!returnFound && typeof val == 'function') { + ctx.push(cx); + val = this.lv(val, ctx, partials); + ctx.pop(); + } + + return val; + }, + + // find values with normal names + f: function(key, ctx, partials, returnFound) { + var val = false; + var v = null; + var found = false; + + for (var i = ctx.length - 1; i >= 0; i--) { + v = ctx[i]; + if (v && typeof v == 'object' && key in v) { + val = v[key]; + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.lv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ho: function(val, cx, partials, text) { + var t = val.call(cx, text, function(t) { + return Hogan.compile(t).render(cx); + }); + var s = Hogan.compile(t.toString()).render(cx, partials); + this.b = s; + return false; + }, + + // higher order template result buffer + b: '', + + // lambda replace section + ls: function(val, ctx, partials, start, end) { + var cx = ctx[ctx.length - 1]; + if (val.length > 0) { + return this.ho(val, cx, partials, this.text.substring(start, end)); + } + var t = val.call(cx); + if (typeof t == 'function') { + return this.ho(t, cx, partials, this.text.substring(start, end)); + } + return t; + }, + + // lambda replace variable + lv: function(val, ctx, partials) { + var cx = ctx[ctx.length - 1]; + return Hogan.compile(val.call(cx).toString()).render(cx, partials); + } + }; + + var rAmp = /&/g, rLt = //g, rApos =/\'/g, + rQuot = /\"/g, hChars =/[&<>\"\']/; + function hoganEscape(str) { + var s = String(str === null ? '' : str); + return hChars.test(s) ? s.replace(rAmp,'&') + .replace(rLt,'<').replace(rGt,'>') + .replace(rApos,''').replace(rQuot, '"') : s; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + } + + return constructor; +})(); + +var Hogan = (function () { + + function scan(text) { + var len = text.length, + IN_TEXT = 0, + IN_TAG_TYPE = 1, + IN_TAG = 2, + state = IN_TEXT, + tagType = null, + buf = '', + tokens = [], + seenTag = false, + i = 0, + lineStart = 0, + otag = '{{', + ctag = '}}'; + + function addBuf() { + if (buf.length > 0) { + tokens.push(new String(buf)); + buf = ''; + } + } + + function lineIsWhitespace() { + var isAllWhitespace = true; + for (var j = lineStart; j < tokens.length; j++) { + isAllWhitespace = + (tokens[j].tag && tagTypes[tokens[j].tag] < tagTypes['_v']) || + (!tokens[j].tag && tokens[j].match(rIsWhitespace) == null); + if (!isAllWhitespace) { + return false; + } + } + + return isAllWhitespace; + } + + function filterLine(haveSeenTag, noNewLine) { + addBuf(); + if (haveSeenTag && lineIsWhitespace()) { + for (var j = lineStart; j < tokens.length; j++) { + if (!tokens[j].tag) { + tokens.splice(j, 1); + } + } + } else if (!noNewLine) { + tokens.push({tag:'\n'}) + } + + seenTag = false; + lineStart = tokens.length; + } + + function changeDelimiters(text, index) { + var close = '=' + ctag; + var closeIndex = text.indexOf(close, index); + var delimiters = trim(text.substring(text.indexOf('=', index) + 1, + closeIndex)).split(' '); + otag = delimiters[0]; + ctag = delimiters[1]; + return closeIndex + close.length - 1; + } + + for (i = 0; i < len; i++) { + if (state == IN_TEXT) { + if (tagChange(otag, text, i)) { + --i; + addBuf(); + state = IN_TAG_TYPE; + } else { + if (text[i] == '\n') { + filterLine(seenTag); + } else { + buf += text[i]; + } + } + } else if (state == IN_TAG_TYPE) { + i += otag.length - 1; + var tag = tagTypes[text[i + 1]]; + tagType = tag ? text[i + 1] : '_v'; + seenTag = i; + if (tagType == '=') { + i = changeDelimiters(text, i); + state = IN_TEXT; + } else { + if (tag) { + i++; + } + state = IN_TAG; + } + } else { + if (tagChange(ctag, text, i)) { + i += ctag.length - 1; + tokens.push({tag: tagType, n: trim(buf), + i: (tagType == '/') ? seenTag - 1 : i + 1}); + buf = ''; + state = IN_TEXT; + if (tagType == '{') { + i++; + } + } else { + buf += text[i]; + } + } + } + + filterLine(seenTag, true); + + return tokens; + } + + function trim(s) { + if (s.trim) { + return s.trim(); + } + + return s.replace(/^\s*|\s*$/g, ''); + } + + // remove whitespace according to Mustache spec + var rIsWhitespace = /\S/; + + var tagTypes = { + '#': 1, '^': 2, '/': 3, '!': 4, '>': 5, + '<': 6, '=': 7, '_v': 8, '{': 9, '&': 10 + }; + + function tagChange(tag, text, index) { + if (text[index] != tag[0]) { + return false; + } + + for (var i = 1, l = tag.length; i < l; i++) { + if (text[index + i] != tag[i]) { + return false; + } + } + + return true; + } + + function buildTree(tokens, kind, stack, customTags) { + var instructions = [], + opener = null, + token = null; + + while (tokens.length > 0) { + token = tokens.shift(); + if (token.tag == '#' || token.tag == '^' || + isOpener(token, customTags)) { + stack.push(token); + token.nodes = buildTree(tokens, token.tag, stack, customTags); + instructions.push(token); + } else if (token.tag == '/') { + if (stack.length == 0) { + throw new Error('Closing tag without opener: /' + token.n); + } + opener = stack.pop(); + if (token.n != opener.n && !isCloser(token.n, opener.n, customTags)) { + throw new Error('Nesting error: ' + opener.n + ' vs. ' + token.n); + } + opener.end = token.i; + return instructions; + } else { + instructions.push(token); + } + } + + if (stack.length > 0) { + throw new Error('missing closing tag: ' + stack.pop().n); + } + + return instructions; + } + + function isOpener(token, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].o == token.n) { + token.tag = '#'; + return true; + } + } + } + + function isCloser(close, open, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].c == close && tags[i].o == open) { + return true; + } + } + } + + function generate(tree, text, options) { + var code = 'var c = [cx];var b = "";var _ = this;' + + walk(tree) + 'return b;'; + if (options.asString) { + return 'function(cx,p){' + code + ';};'; + } + + var template = new HoganTemplate(text); + template.r = new Function('cx', 'p', code); + return template; + } + + var rQuot = /\"/g, rNewline = /\n/g, rCr = /\r/g, rSlash = /\\/g; + function esc(s) { + return s.replace(rSlash, '\\\\') + .replace(rQuot, '\\\"') + .replace(rNewline, '\\n') + .replace(rCr, '\\r') + }; + + function chooseMethod(s) { + return (~s.indexOf('.')) ? 'd' : 'f'; + } + + function walk(tree) { + var code = ''; + for (var i = 0, l = tree.length; i < l; i++) { + var tag = tree[i].tag; + if (tag == '#') { + code += section(tree[i].nodes, tree[i].n, chooseMethod(tree[i].n), + tree[i].i, tree[i].end); + } else if (tag == '^') { + code += invertedSection(tree[i].nodes, tree[i].n, + chooseMethod(tree[i].n)); + } else if (tag == '<' || tag == '>') { + code += partial(tree[i].n); + } else if (tag == '{' || tag == '&') { + code += tripleStache(tree[i].n, chooseMethod(tree[i].n)); + } else if (tag == '\n') { + code += text('\n'); + } else if (tag == '_v') { + code += variable(tree[i].n, chooseMethod(tree[i].n)); + } else if (tag === undefined) { + code += text(tree[i]); + } + } + return code; + } + + function section(nodes, id, method, start, end) { + var code = 'if(_.s(_.' + method + '("' + esc(id) + '",c,p,1),'; + code += 'c,p,0,' + start + ',' + end + ')){'; + code += 'b += _.rs(c,p,'; + code += 'function(c,p){ var b = "";'; + code += walk(nodes); + code += 'return b;});c.pop();}'; + code += 'else{b += _.b; _.b = ""};'; + return code; + } + + function invertedSection(nodes, id, method) { + var code = 'if (!_.s(_.' + method + '("' + esc(id) + '",c,p,1),c,p,1,0,0)){'; + code += walk(nodes); + code += '};'; + return code; + } + + function partial(id) { + return 'b += _.rp("' + esc(id) + '",c[c.length - 1],p);'; + } + + function tripleStache(id, method) { + return 'b += (_.' + method + '("' + esc(id) + '",c,p,0));'; + } + + function variable(id, method) { + return 'b += (_.v(_.' + method + '("' + esc(id) + '",c,p,0)));'; + } + + function text(id) { + return 'b += "' + esc(id) + '";'; + } + + return ({ + scan: scan, + + parse: function(tokens, options) { + options = options || {}; + return buildTree(tokens, '', [], options.sectionTags || []); + }, + + cache: {}, + + compile: function(text, options) { + // options + // + // asString: false (default) + // + // sectionTags: [{o: '_foo', c: 'foo'}] + // An array of object with o and c fields that indicate names for custom + // section tags. The example above allows parsing of {{_foo}}{{/foo}}. + // + options = options || {}; + + var t = this.cache[text]; + if (t) { + return t; + } + t = generate(this.parse(scan(text), options), text, options); + return this.cache[text] = t; + } + }); +})(); + +// Export the hogan constructor for Node.js and CommonJS. +if (typeof module !== 'undefined' && module.exports) { + module.exports = Hogan; + module.exports.Template = HoganTemplate; +} else if (typeof exports !== 'undefined') { + exports.Hogan = Hogan; + exports.HoganTemplate = HoganTemplate; +} \ No newline at end of file diff --git a/hogan-node/node_modules/hogan.js/web/builds/1.0.0/hogan.min.js b/hogan-node/node_modules/hogan.js/web/builds/1.0.0/hogan.min.js new file mode 100644 index 0000000..13ec535 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/1.0.0/hogan.min.js @@ -0,0 +1,14 @@ +/* + * Copyright 2011 Twitter, Inc. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */var HoganTemplate=function(){function a(a){this.text=a}function h(a){var h=String(a===null?"":a);return g.test(h)?h.replace(b,"&").replace(c,"<").replace(d,">").replace(e,"'").replace(f,"""):h}a.prototype={r:function(a,b){return""},v:h,render:function(a,b){return this.r(a,b)},rp:function(a,b,c,d){var e=c[a];return e?e.render(b,c):""},rs:function(a,b,c){var d="",e=a[a.length-1];if(!i(e))return d=c(a,b),d;for(var f=0;f=0;h--){f=b[h];if(f&&typeof f=="object"&&a in f){e=f[a],g=!0;break}}return g?(!d&&typeof e=="function"&&(e=this.lv(e,b,c)),e):d?!1:""},ho:function(a,b,c,d){var e=a.call(b,d,function(a){return Hogan.compile(a).render(b)}),f=Hogan.compile(e.toString()).render(b,c);return this.b=f,!1},b:"",ls:function(a,b,c,d,e){var f=b[b.length-1];if(a.length>0)return this.ho(a,f,c,this.text.substring(d,e));var g=a.call(f);return typeof g=="function"?this.ho(g,f,c,this.text.substring(d,e)):g},lv:function(a,b,c){var d=b[b.length-1];return Hogan.compile(a.call(d).toString()).render(d,c)}};var b=/&/g,c=//g,e=/\'/g,f=/\"/g,g=/[&<>\"\']/,i=Array.isArray||function(a){return Object.prototype.toString.call(a)==="[object Array]"};return a}(),Hogan=function(){function a(a){function s(){l.length>0&&(m.push(new String(l)),l="")}function t(){var a=!0;for(var b=p;b0){j=a.shift();if(j.tag=="#"||j.tag=="^"||g(j,d))c.push(j),j.nodes=f(a,j.tag,c,d),e.push(j);else{if(j.tag=="/"){if(c.length==0)throw new Error("Closing tag without opener: /"+j.n);i=c.pop();if(j.n!=i.n&&!h(j.n,i.n,d))throw new Error("Nesting error: "+i.n+" vs. "+j.n);return i.end=j.i,e}e.push(j)}}if(c.length>0)throw new Error("missing closing tag: "+c.pop().n);return e}function g(a,b){for(var c=0,d=b.length;c"?b+=s(a[c].n):e=="{"||e=="&"?b+=t(a[c].n,o(a[c].n)):e=="\n"?b+=v("\n"):e=="_v"?b+=u(a[c].n,o(a[c].n)):e===undefined&&(b+=v(a[c]))}return b}function q(a,b,c,d,e){var f="if(_.s(_."+c+'("'+n(b)+'",c,p,1),';return f+="c,p,0,"+d+","+e+")){",f+="b += _.rs(c,p,",f+='function(c,p){ var b = "";',f+=p(a),f+="return b;});c.pop();}",f+='else{b += _.b; _.b = ""};',f}function r(a,b,c){var d="if (!_.s(_."+c+'("'+n(b)+'",c,p,1),c,p,1,0,0)){';return d+=p(a),d+="};",d}function s(a){return'b += _.rp("'+n(a)+'",c[c.length - 1],p);'}function t(a,b){return"b += (_."+b+'("'+n(a)+'",c,p,0));'}function u(a,b){return"b += (_.v(_."+b+'("'+n(a)+'",c,p,0)));'}function v(a){return'b += "'+n(a)+'";'}var c=/\S/,d={"#":1,"^":2,"/":3,"!":4,">":5,"<":6,"=":7,_v:8,"{":9,"&":10},j=/\"/g,k=/\n/g,l=/\r/g,m=/\\/g;return{scan:a,parse:function(a,b){return b=b||{},f(a,"",[],b.sectionTags||[])},cache:{},compile:function(b,c){c=c||{};var d=this.cache[b];return d?d:(d=i(this.parse(a(b),c),b,c),this.cache[b]=d)}}}();typeof module!="undefined"&&module.exports?(module.exports=Hogan,module.exports.Template=HoganTemplate):typeof exports!="undefined"&&(exports.Hogan=Hogan,exports.HoganTemplate=HoganTemplate); \ No newline at end of file diff --git a/hogan-node/node_modules/hogan.js/web/builds/1.0.3/hogan.js b/hogan-node/node_modules/hogan.js/web/builds/1.0.3/hogan.js new file mode 100644 index 0000000..4f6f6d2 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/1.0.3/hogan.js @@ -0,0 +1,545 @@ +/* + * Copyright 2011 Twitter, Inc. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +var HoganTemplate = (function () { + + function constructor(text) { + this.text = text; + } + + constructor.prototype = { + + // render: replaced by generated code. + r: function (context, partials, indent) { return ''; }, + + // variable escaping + v: hoganEscape, + + render: function render(context, partials, indent) { + return this.r(context, partials, indent); + }, + + // tries to find a partial in the curent scope and render it + rp: function(name, context, partials, indent) { + var partial = partials[name]; + + if (!partial) { + return ''; + } + + return partial.r(context, partials, indent); + }, + + // render a section + rs: function(context, partials, section) { + var buf = '', + tail = context[context.length - 1]; + + if (!isArray(tail)) { + return buf = section(context, partials); + } + + for (var i = 0; i < tail.length; i++) { + context.push(tail[i]); + buf += section(context, partials); + context.pop(); + } + + return buf; + }, + + // maybe start a section + s: function(val, ctx, partials, inverted, start, end, tags) { + var pass; + + if (isArray(val) && val.length === 0) { + return false; + } + + if (!inverted && typeof val == 'function') { + val = this.ls(val, ctx, partials, start, end, tags); + } + + pass = (val === '') || !!val; + + if (!inverted && pass && ctx) { + ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]); + } + + return pass; + }, + + // find values with dotted names + d: function(key, ctx, partials, returnFound) { + + var names = key.split('.'), + val = this.f(names[0], ctx, partials, returnFound), + cx = null; + + if (key === '.' && isArray(ctx[ctx.length - 2])) { + return ctx[ctx.length - 1]; + } + + for (var i = 1; i < names.length; i++) { + if (val && typeof val == 'object' && names[i] in val) { + cx = val; + val = val[names[i]]; + } else { + val = ''; + } + } + + if (returnFound && !val) { + return false; + } + + if (!returnFound && typeof val == 'function') { + ctx.push(cx); + val = this.lv(val, ctx, partials); + ctx.pop(); + } + + return val; + }, + + // find values with normal names + f: function(key, ctx, partials, returnFound) { + var val = false, + v = null, + found = false; + + for (var i = ctx.length - 1; i >= 0; i--) { + v = ctx[i]; + if (v && typeof v == 'object' && key in v) { + val = v[key]; + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.lv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ho: function(val, cx, partials, text, tags) { + var t = val.call(cx, text, function(t) { + return Hogan.compile(t, {delimiters: tags}).render(cx, partials); + }); + var s = Hogan.compile(t.toString(), {delimiters: tags}).render(cx, partials); + this.b = s; + return false; + }, + + // higher order template result buffer + b: '', + + // lambda replace section + ls: function(val, ctx, partials, start, end, tags) { + var cx = ctx[ctx.length - 1], + t = val.call(cx); + + if (val.length > 0) { + return this.ho(val, cx, partials, this.text.substring(start, end), tags); + } + + if (typeof t == 'function') { + return this.ho(t, cx, partials, this.text.substring(start, end), tags); + } + + return t; + }, + + // lambda replace variable + lv: function(val, ctx, partials) { + var cx = ctx[ctx.length - 1]; + return Hogan.compile(val.call(cx).toString()).render(cx, partials); + } + + }; + + var rAmp = /&/g, + rLt = //g, + rApos =/\'/g, + rQuot = /\"/g, + hChars =/[&<>\"\']/; + + function hoganEscape(str) { + str = String(str === null ? '' : str); + return hChars.test(str) ? + str + .replace(rAmp,'&') + .replace(rLt,'<') + .replace(rGt,'>') + .replace(rApos,''') + .replace(rQuot, '"') : + str; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + }; + + return constructor; + +})(); + +var Hogan = (function () { + + // Setup regex assignments + // remove whitespace according to Mustache spec + var rIsWhitespace = /\S/, + rQuot = /\"/g, + rNewline = /\n/g, + rCr = /\r/g, + rSlash = /\\/g, + tagTypes = { + '#': 1, '^': 2, '/': 3, '!': 4, '>': 5, + '<': 6, '=': 7, '_v': 8, '{': 9, '&': 10 + }; + + function scan(text, delimiters) { + var len = text.length, + IN_TEXT = 0, + IN_TAG_TYPE = 1, + IN_TAG = 2, + state = IN_TEXT, + tagType = null, + tag = null, + buf = '', + tokens = [], + seenTag = false, + i = 0, + lineStart = 0, + otag = '{{', + ctag = '}}'; + + function addBuf() { + if (buf.length > 0) { + tokens.push(new String(buf)); + buf = ''; + } + } + + function lineIsWhitespace() { + var isAllWhitespace = true; + for (var j = lineStart; j < tokens.length; j++) { + isAllWhitespace = + (tokens[j].tag && tagTypes[tokens[j].tag] < tagTypes['_v']) || + (!tokens[j].tag && tokens[j].match(rIsWhitespace) === null); + if (!isAllWhitespace) { + return false; + } + } + + return isAllWhitespace; + } + + function filterLine(haveSeenTag, noNewLine) { + addBuf(); + + if (haveSeenTag && lineIsWhitespace()) { + for (var j = lineStart, next; j < tokens.length; j++) { + if (!tokens[j].tag) { + if ((next = tokens[j+1]) && next.tag == '>') { + // set indent to token value + next.indent = tokens[j].toString() + } + tokens.splice(j, 1); + } + } + } else if (!noNewLine) { + tokens.push({tag:'\n'}); + } + + seenTag = false; + lineStart = tokens.length; + } + + function changeDelimiters(text, index) { + var close = '=' + ctag, + closeIndex = text.indexOf(close, index), + delimiters = trim( + text.substring(text.indexOf('=', index) + 1, closeIndex) + ).split(' '); + + otag = delimiters[0]; + ctag = delimiters[1]; + + return closeIndex + close.length - 1; + } + + if (delimiters) { + delimiters = delimiters.split(' '); + otag = delimiters[0]; + ctag = delimiters[1]; + } + + for (i = 0; i < len; i++) { + if (state == IN_TEXT) { + if (tagChange(otag, text, i)) { + --i; + addBuf(); + state = IN_TAG_TYPE; + } else { + if (text.charAt(i) == '\n') { + filterLine(seenTag); + } else { + buf += text.charAt(i); + } + } + } else if (state == IN_TAG_TYPE) { + i += otag.length - 1; + tag = tagTypes[text.charAt(i + 1)]; + tagType = tag ? text.charAt(i + 1) : '_v'; + if (tagType == '=') { + i = changeDelimiters(text, i); + state = IN_TEXT; + } else { + if (tag) { + i++; + } + state = IN_TAG; + } + seenTag = i; + } else { + if (tagChange(ctag, text, i)) { + tokens.push({tag: tagType, n: trim(buf), otag: otag, ctag: ctag, + i: (tagType == '/') ? seenTag - ctag.length : i + otag.length}); + buf = ''; + i += ctag.length - 1; + state = IN_TEXT; + if (tagType == '{') { + i++; + } + } else { + buf += text.charAt(i); + } + } + } + + filterLine(seenTag, true); + + return tokens; + } + + function trim(s) { + if (s.trim) { + return s.trim(); + } + + return s.replace(/^\s*|\s*$/g, ''); + } + + function tagChange(tag, text, index) { + if (text.charAt(index) != tag.charAt(0)) { + return false; + } + + for (var i = 1, l = tag.length; i < l; i++) { + if (text.charAt(index + i) != tag.charAt(i)) { + return false; + } + } + + return true; + } + + function buildTree(tokens, kind, stack, customTags) { + var instructions = [], + opener = null, + token = null; + + while (tokens.length > 0) { + token = tokens.shift(); + if (token.tag == '#' || token.tag == '^' || isOpener(token, customTags)) { + stack.push(token); + token.nodes = buildTree(tokens, token.tag, stack, customTags); + instructions.push(token); + } else if (token.tag == '/') { + if (stack.length === 0) { + throw new Error('Closing tag without opener: /' + token.n); + } + opener = stack.pop(); + if (token.n != opener.n && !isCloser(token.n, opener.n, customTags)) { + throw new Error('Nesting error: ' + opener.n + ' vs. ' + token.n); + } + opener.end = token.i; + return instructions; + } else { + instructions.push(token); + } + } + + if (stack.length > 0) { + throw new Error('missing closing tag: ' + stack.pop().n); + } + + return instructions; + } + + function isOpener(token, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].o == token.n) { + token.tag = '#'; + return true; + } + } + } + + function isCloser(close, open, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].c == close && tags[i].o == open) { + return true; + } + } + } + + function generate(tree, text, options) { + var code = 'i = i || "";var c = [cx];var b = i + "";var _ = this;' + + walk(tree) + + 'return b;'; + + if (options.asString) { + return 'function(cx,p,i){' + code + ';}'; + } + + var template = new HoganTemplate(text); + template.r = new Function('cx', 'p', 'i', code); + return template; + } + + function esc(s) { + return s.replace(rSlash, '\\\\') + .replace(rQuot, '\\\"') + .replace(rNewline, '\\n') + .replace(rCr, '\\r'); + } + + function chooseMethod(s) { + return (~s.indexOf('.')) ? 'd' : 'f'; + } + + function walk(tree) { + var code = ''; + for (var i = 0, l = tree.length; i < l; i++) { + var tag = tree[i].tag; + if (tag == '#') { + code += section(tree[i].nodes, tree[i].n, chooseMethod(tree[i].n), + tree[i].i, tree[i].end, tree[i].otag + " " + tree[i].ctag); + } else if (tag == '^') { + code += invertedSection(tree[i].nodes, tree[i].n, + chooseMethod(tree[i].n)); + } else if (tag == '<' || tag == '>') { + code += partial(tree[i]); + } else if (tag == '{' || tag == '&') { + code += tripleStache(tree[i].n, chooseMethod(tree[i].n)); + } else if (tag == '\n') { + code += text('"\\n"' + (tree.length-1 == i ? '' : ' + i')); + } else if (tag == '_v') { + code += variable(tree[i].n, chooseMethod(tree[i].n)); + } else if (tag === undefined) { + code += text('"' + esc(tree[i]) + '"'); + } + } + return code; + } + + function section(nodes, id, method, start, end, tags) { + return 'if(_.s(_.' + method + '("' + esc(id) + '",c,p,1),' + + 'c,p,0,' + start + ',' + end + ', "' + tags + '")){' + + 'b += _.rs(c,p,' + + 'function(c,p){ var b = "";' + + walk(nodes) + + 'return b;});c.pop();}' + + 'else{b += _.b; _.b = ""};'; + } + + function invertedSection(nodes, id, method) { + return 'if (!_.s(_.' + method + '("' + esc(id) + '",c,p,1),c,p,1,0,0,"")){' + + walk(nodes) + + '};'; + } + + function partial(tok) { + return 'b += _.rp("' + esc(tok.n) + '",c[c.length - 1],p,"' + (tok.indent || '') + '");'; + } + + function tripleStache(id, method) { + return 'b += (_.' + method + '("' + esc(id) + '",c,p,0));'; + } + + function variable(id, method) { + return 'b += (_.v(_.' + method + '("' + esc(id) + '",c,p,0)));'; + } + + function text(id) { + return 'b += ' + id + ';'; + } + + return ({ + scan: scan, + + parse: function(tokens, options) { + options = options || {}; + return buildTree(tokens, '', [], options.sectionTags || []); + }, + + cache: {}, + + compile: function(text, options) { + // options + // + // asString: false (default) + // + // sectionTags: [{o: '_foo', c: 'foo'}] + // An array of object with o and c fields that indicate names for custom + // section tags. The example above allows parsing of {{_foo}}{{/foo}}. + // + // delimiters: A string that overrides the default delimiters. + // Example: "<% %>" + // + options = options || {}; + + var t = this.cache[text]; + + if (t) { + return t; + } + + t = generate(this.parse(scan(text, options.delimiters), options), text, options); + return this.cache[text] = t; + } + }); +})(); + +// Export the hogan constructor for Node.js and CommonJS. +if (typeof module !== 'undefined' && module.exports) { + module.exports = Hogan; + module.exports.Template = HoganTemplate; +} else if (typeof define === 'function' && define.amd) { + define(function () { return Hogan; }); +} else if (typeof exports !== 'undefined') { + exports.Hogan = Hogan; + exports.HoganTemplate = HoganTemplate; +} diff --git a/hogan-node/node_modules/hogan.js/web/builds/1.0.3/hogan.min.js b/hogan-node/node_modules/hogan.js/web/builds/1.0.3/hogan.min.js new file mode 100644 index 0000000..0af8a36 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/1.0.3/hogan.min.js @@ -0,0 +1,5 @@ +/** +* @preserve Copyright 2012 Twitter, Inc. +* @license http://www.apache.org/licenses/LICENSE-2.0.txt +*/ +var HoganTemplate=function(){function a(a){this.text=a}function h(a){return a=String(a===null?"":a),g.test(a)?a.replace(b,"&").replace(c,"<").replace(d,">").replace(e,"'").replace(f,"""):a}a.prototype={r:function(a,b,c){return""},v:h,render:function(b,c,d){return this.r(b,c,d)},rp:function(a,b,c,d){var e=c[a];return e?e.r(b,c,d):""},rs:function(a,b,c){var d="",e=a[a.length-1];if(!i(e))return d=c(a,b);for(var f=0;f=0;h--){f=b[h];if(f&&typeof f=="object"&&a in f){e=f[a],g=!0;break}}return g?(!d&&typeof e=="function"&&(e=this.lv(e,b,c)),e):d?!1:""},ho:function(a,b,c,d,e){var f=a.call(b,d,function(a){return Hogan.compile(a,{delimiters:e}).render(b,c)}),g=Hogan.compile(f.toString(),{delimiters:e}).render(b,c);return this.b=g,!1},b:"",ls:function(a,b,c,d,e,f){var g=b[b.length-1],h=a.call(g);return a.length>0?this.ho(a,g,c,this.text.substring(d,e),f):typeof h=="function"?this.ho(h,g,c,this.text.substring(d,e),f):h},lv:function(a,b,c){var d=b[b.length-1];return Hogan.compile(a.call(d).toString()).render(d,c)}};var b=/&/g,c=//g,e=/\'/g,f=/\"/g,g=/[&<>\"\']/,i=Array.isArray||function(a){return Object.prototype.toString.call(a)==="[object Array]"};return a}(),Hogan=function(){function g(b,c){function u(){n.length>0&&(o.push(new String(n)),n="")}function v(){var b=!0;for(var c=r;c"&&(d.indent=o[c].toString()),o.splice(c,1));else b||o.push({tag:"\n"});p=!1,r=o.length}function x(a,b){var c="="+t,d=a.indexOf(c,b),e=h(a.substring(a.indexOf("=",b)+1,d)).split(" ");return s=e[0],t=e[1],d+c.length-1}var d=b.length,e=0,g=1,j=2,k=e,l=null,m=null,n="",o=[],p=!1,q=0,r=0,s="{{",t="}}";c&&(c=c.split(" "),s=c[0],t=c[1]);for(q=0;q0){g=a.shift();if(g.tag=="#"||g.tag=="^"||k(g,d))c.push(g),g.nodes=j(a,g.tag,c,d),e.push(g);else{if(g.tag=="/"){if(c.length===0)throw new Error("Closing tag without opener: /"+g.n);f=c.pop();if(g.n!=f.n&&!l(g.n,f.n,d))throw new Error("Nesting error: "+f.n+" vs. "+g.n);return f.end=g.i,e}e.push(g)}}if(c.length>0)throw new Error("missing closing tag: "+c.pop().n);return e}function k(a,b){for(var c=0,d=b.length;c"?b+=s(a[c]):e=="{"||e=="&"?b+=t(a[c].n,o(a[c].n)):e=="\n"?b+=v('"\\n"'+(a.length-1==c?"":" + i")):e=="_v"?b+=u(a[c].n,o(a[c].n)):e===undefined&&(b+=v('"'+n(a[c])+'"'))}return b}function q(a,b,c,d,e,f){return"if(_.s(_."+c+'("'+n(b)+'",c,p,1),'+"c,p,0,"+d+","+e+', "'+f+'")){'+"b += _.rs(c,p,"+'function(c,p){ var b = "";'+p(a)+"return b;});c.pop();}"+'else{b += _.b; _.b = ""};'}function r(a,b,c){return"if (!_.s(_."+c+'("'+n(b)+'",c,p,1),c,p,1,0,0,"")){'+p(a)+"};"}function s(a){return'b += _.rp("'+n(a.n)+'",c[c.length - 1],p,"'+(a.indent||"")+'");'}function t(a,b){return"b += (_."+b+'("'+n(a)+'",c,p,0));'}function u(a,b){return"b += (_.v(_."+b+'("'+n(a)+'",c,p,0)));'}function v(a){return"b += "+a+";"}var a=/\S/,b=/\"/g,c=/\n/g,d=/\r/g,e=/\\/g,f={"#":1,"^":2,"/":3,"!":4,">":5,"<":6,"=":7,_v:8,"{":9,"&":10};return{scan:g,parse:function(a,b){return b=b||{},j(a,"",[],b.sectionTags||[])},cache:{},compile:function(a,b){b=b||{};var c=this.cache[a];return c?c:(c=m(this.parse(g(a,b.delimiters),b),a,b),this.cache[a]=c)}}}();typeof module!="undefined"&&module.exports?(module.exports=Hogan,module.exports.Template=HoganTemplate):typeof define=="function"&&define.amd?define(function(){return Hogan}):typeof exports!="undefined"&&(exports.Hogan=Hogan,exports.HoganTemplate=HoganTemplate) \ No newline at end of file diff --git a/hogan-node/node_modules/hogan.js/web/builds/1.0.4/hogan-1.0.4.amd.js b/hogan-node/node_modules/hogan.js/web/builds/1.0.4/hogan-1.0.4.amd.js new file mode 100644 index 0000000..8cdf61a --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/1.0.4/hogan-1.0.4.amd.js @@ -0,0 +1,575 @@ +/* + * Copyright 2011 Twitter, Inc. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + + +var Hogan = {}; + +(function (Hogan, useArrayBuffer) { + Hogan.Template = function (renderFunc, text, compiler, options) { + this.r = renderFunc || this.r; + this.c = compiler; + this.options = options; + this.text = text || ''; + this.buf = (useArrayBuffer) ? [] : ''; + } + + Hogan.Template.prototype = { + // render: replaced by generated code. + r: function (context, partials, indent) { return ''; }, + + // variable escaping + v: hoganEscape, + + render: function render(context, partials, indent) { + return this.ri([context], partials || {}, indent); + }, + + // render internal -- a hook for overrides that catches partials too + ri: function (context, partials, indent) { + return this.r(context, partials, indent); + }, + + // tries to find a partial in the curent scope and render it + rp: function(name, context, partials, indent) { + var partial = partials[name]; + + if (!partial) { + return ''; + } + + if (this.c && typeof partial == 'string') { + partial = this.c.compile(partial, this.options); + } + + return partial.ri(context, partials, indent); + }, + + // render a section + rs: function(context, partials, section) { + var tail = context[context.length - 1]; + + if (!isArray(tail)) { + section(context, partials, this); + return; + } + + for (var i = 0; i < tail.length; i++) { + context.push(tail[i]); + section(context, partials, this); + context.pop(); + } + }, + + // maybe start a section + s: function(val, ctx, partials, inverted, start, end, tags) { + var pass; + + if (isArray(val) && val.length === 0) { + return false; + } + + if (typeof val == 'function') { + val = this.ls(val, ctx, partials, inverted, start, end, tags); + } + + pass = (val === '') || !!val; + + if (!inverted && pass && ctx) { + ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]); + } + + return pass; + }, + + // find values with dotted names + d: function(key, ctx, partials, returnFound) { + var names = key.split('.'), + val = this.f(names[0], ctx, partials, returnFound), + cx = null; + + if (key === '.' && isArray(ctx[ctx.length - 2])) { + return ctx[ctx.length - 1]; + } + + for (var i = 1; i < names.length; i++) { + if (val && typeof val == 'object' && names[i] in val) { + cx = val; + val = val[names[i]]; + } else { + val = ''; + } + } + + if (returnFound && !val) { + return false; + } + + if (!returnFound && typeof val == 'function') { + ctx.push(cx); + val = this.lv(val, ctx, partials); + ctx.pop(); + } + + return val; + }, + + // find values with normal names + f: function(key, ctx, partials, returnFound) { + var val = false, + v = null, + found = false; + + for (var i = ctx.length - 1; i >= 0; i--) { + v = ctx[i]; + if (v && typeof v == 'object' && key in v) { + val = v[key]; + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.lv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ho: function(val, cx, partials, text, tags) { + var compiler = this.c; + var t = val.call(cx, text, function(t) { + return compiler.compile(t, {delimiters: tags}).render(cx, partials); + }); + this.b(compiler.compile(t.toString(), {delimiters: tags}).render(cx, partials)); + return false; + }, + + // template result buffering + b: (useArrayBuffer) ? function(s) { this.buf.push(s); } : + function(s) { this.buf += s; }, + fl: (useArrayBuffer) ? function() { var r = this.buf.join(''); this.buf = []; return r; } : + function() { var r = this.buf; this.buf = ''; return r; }, + + // lambda replace section + ls: function(val, ctx, partials, inverted, start, end, tags) { + var cx = ctx[ctx.length - 1], + t = null; + + if (!inverted && this.c && val.length > 0) { + return this.ho(val, cx, partials, this.text.substring(start, end), tags); + } + + t = val.call(cx); + + if (typeof t == 'function') { + if (inverted) { + return true; + } else if (this.c) { + return this.ho(t, cx, partials, this.text.substring(start, end), tags); + } + } + + return t; + }, + + // lambda replace variable + lv: function(val, ctx, partials) { + var cx = ctx[ctx.length - 1]; + var result = val.call(cx); + if (typeof result == 'function') { + result = result.call(cx); + } + result = result.toString(); + + if (this.c && ~result.indexOf("{{")) { + return this.c.compile(result).render(cx, partials); + } + + return result; + } + + }; + + var rAmp = /&/g, + rLt = //g, + rApos =/\'/g, + rQuot = /\"/g, + hChars =/[&<>\"\']/; + + function hoganEscape(str) { + str = String((str === null || str === undefined) ? '' : str); + return hChars.test(str) ? + str + .replace(rAmp,'&') + .replace(rLt,'<') + .replace(rGt,'>') + .replace(rApos,''') + .replace(rQuot, '"') : + str; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + }; + +})(typeof exports !== 'undefined' ? exports : Hogan); + + + + +(function (Hogan) { + // Setup regex assignments + // remove whitespace according to Mustache spec + var rIsWhitespace = /\S/, + rQuot = /\"/g, + rNewline = /\n/g, + rCr = /\r/g, + rSlash = /\\/g, + tagTypes = { + '#': 1, '^': 2, '/': 3, '!': 4, '>': 5, + '<': 6, '=': 7, '_v': 8, '{': 9, '&': 10 + }; + + Hogan.scan = function scan(text, delimiters) { + var len = text.length, + IN_TEXT = 0, + IN_TAG_TYPE = 1, + IN_TAG = 2, + state = IN_TEXT, + tagType = null, + tag = null, + buf = '', + tokens = [], + seenTag = false, + i = 0, + lineStart = 0, + otag = '{{', + ctag = '}}'; + + function addBuf() { + if (buf.length > 0) { + tokens.push(new String(buf)); + buf = ''; + } + } + + function lineIsWhitespace() { + var isAllWhitespace = true; + for (var j = lineStart; j < tokens.length; j++) { + isAllWhitespace = + (tokens[j].tag && tagTypes[tokens[j].tag] < tagTypes['_v']) || + (!tokens[j].tag && tokens[j].match(rIsWhitespace) === null); + if (!isAllWhitespace) { + return false; + } + } + + return isAllWhitespace; + } + + function filterLine(haveSeenTag, noNewLine) { + addBuf(); + + if (haveSeenTag && lineIsWhitespace()) { + for (var j = lineStart, next; j < tokens.length; j++) { + if (!tokens[j].tag) { + if ((next = tokens[j+1]) && next.tag == '>') { + // set indent to token value + next.indent = tokens[j].toString() + } + tokens.splice(j, 1); + } + } + } else if (!noNewLine) { + tokens.push({tag:'\n'}); + } + + seenTag = false; + lineStart = tokens.length; + } + + function changeDelimiters(text, index) { + var close = '=' + ctag, + closeIndex = text.indexOf(close, index), + delimiters = trim( + text.substring(text.indexOf('=', index) + 1, closeIndex) + ).split(' '); + + otag = delimiters[0]; + ctag = delimiters[1]; + + return closeIndex + close.length - 1; + } + + if (delimiters) { + delimiters = delimiters.split(' '); + otag = delimiters[0]; + ctag = delimiters[1]; + } + + for (i = 0; i < len; i++) { + if (state == IN_TEXT) { + if (tagChange(otag, text, i)) { + --i; + addBuf(); + state = IN_TAG_TYPE; + } else { + if (text.charAt(i) == '\n') { + filterLine(seenTag); + } else { + buf += text.charAt(i); + } + } + } else if (state == IN_TAG_TYPE) { + i += otag.length - 1; + tag = tagTypes[text.charAt(i + 1)]; + tagType = tag ? text.charAt(i + 1) : '_v'; + if (tagType == '=') { + i = changeDelimiters(text, i); + state = IN_TEXT; + } else { + if (tag) { + i++; + } + state = IN_TAG; + } + seenTag = i; + } else { + if (tagChange(ctag, text, i)) { + tokens.push({tag: tagType, n: trim(buf), otag: otag, ctag: ctag, + i: (tagType == '/') ? seenTag - ctag.length : i + otag.length}); + buf = ''; + i += ctag.length - 1; + state = IN_TEXT; + if (tagType == '{') { + if (ctag == '}}') { + i++; + } else { + cleanTripleStache(tokens[tokens.length - 1]); + } + } + } else { + buf += text.charAt(i); + } + } + } + + filterLine(seenTag, true); + + return tokens; + } + + function cleanTripleStache(token) { + if (token.n.substr(token.n.length - 1) === '}') { + token.n = token.n.substring(0, token.n.length - 1); + } + } + + function trim(s) { + if (s.trim) { + return s.trim(); + } + + return s.replace(/^\s*|\s*$/g, ''); + } + + function tagChange(tag, text, index) { + if (text.charAt(index) != tag.charAt(0)) { + return false; + } + + for (var i = 1, l = tag.length; i < l; i++) { + if (text.charAt(index + i) != tag.charAt(i)) { + return false; + } + } + + return true; + } + + function buildTree(tokens, kind, stack, customTags) { + var instructions = [], + opener = null, + token = null; + + while (tokens.length > 0) { + token = tokens.shift(); + if (token.tag == '#' || token.tag == '^' || isOpener(token, customTags)) { + stack.push(token); + token.nodes = buildTree(tokens, token.tag, stack, customTags); + instructions.push(token); + } else if (token.tag == '/') { + if (stack.length === 0) { + throw new Error('Closing tag without opener: /' + token.n); + } + opener = stack.pop(); + if (token.n != opener.n && !isCloser(token.n, opener.n, customTags)) { + throw new Error('Nesting error: ' + opener.n + ' vs. ' + token.n); + } + opener.end = token.i; + return instructions; + } else { + instructions.push(token); + } + } + + if (stack.length > 0) { + throw new Error('missing closing tag: ' + stack.pop().n); + } + + return instructions; + } + + function isOpener(token, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].o == token.n) { + token.tag = '#'; + return true; + } + } + } + + function isCloser(close, open, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].c == close && tags[i].o == open) { + return true; + } + } + } + + function writeCode(tree) { + return 'var _=this;_.b(i=i||"");' + walk(tree) + 'return _.fl();'; + } + + Hogan.generate = function (code, text, options) { + if (options.asString) { + return 'function(c,p,i){' + code + ';}'; + } + + return new Hogan.Template(new Function('c', 'p', 'i', code), text, Hogan, options); + } + + function esc(s) { + return s.replace(rSlash, '\\\\') + .replace(rQuot, '\\\"') + .replace(rNewline, '\\n') + .replace(rCr, '\\r'); + } + + function chooseMethod(s) { + return (~s.indexOf('.')) ? 'd' : 'f'; + } + + function walk(tree) { + var code = ''; + for (var i = 0, l = tree.length; i < l; i++) { + var tag = tree[i].tag; + if (tag == '#') { + code += section(tree[i].nodes, tree[i].n, chooseMethod(tree[i].n), + tree[i].i, tree[i].end, tree[i].otag + " " + tree[i].ctag); + } else if (tag == '^') { + code += invertedSection(tree[i].nodes, tree[i].n, + chooseMethod(tree[i].n)); + } else if (tag == '<' || tag == '>') { + code += partial(tree[i]); + } else if (tag == '{' || tag == '&') { + code += tripleStache(tree[i].n, chooseMethod(tree[i].n)); + } else if (tag == '\n') { + code += text('"\\n"' + (tree.length-1 == i ? '' : ' + i')); + } else if (tag == '_v') { + code += variable(tree[i].n, chooseMethod(tree[i].n)); + } else if (tag === undefined) { + code += text('"' + esc(tree[i]) + '"'); + } + } + return code; + } + + function section(nodes, id, method, start, end, tags) { + return 'if(_.s(_.' + method + '("' + esc(id) + '",c,p,1),' + + 'c,p,0,' + start + ',' + end + ',"' + tags + '")){' + + '_.rs(c,p,' + + 'function(c,p,_){' + + walk(nodes) + + '});c.pop();}'; + } + + function invertedSection(nodes, id, method) { + return 'if(!_.s(_.' + method + '("' + esc(id) + '",c,p,1),c,p,1,0,0,"")){' + + walk(nodes) + + '};'; + } + + function partial(tok) { + return '_.b(_.rp("' + esc(tok.n) + '",c,p,"' + (tok.indent || '') + '"));'; + } + + function tripleStache(id, method) { + return '_.b(_.' + method + '("' + esc(id) + '",c,p,0));'; + } + + function variable(id, method) { + return '_.b(_.v(_.' + method + '("' + esc(id) + '",c,p,0)));'; + } + + function text(id) { + return '_.b(' + id + ');'; + } + + Hogan.parse = function(tokens, text, options) { + options = options || {}; + return buildTree(tokens, '', [], options.sectionTags || []); + }, + + Hogan.cache = {}; + + Hogan.compile = function(text, options) { + // options + // + // asString: false (default) + // + // sectionTags: [{o: '_foo', c: 'foo'}] + // An array of object with o and c fields that indicate names for custom + // section tags. The example above allows parsing of {{_foo}}{{/foo}}. + // + // delimiters: A string that overrides the default delimiters. + // Example: "<% %>" + // + options = options || {}; + + var key = text + '||' + !!options.asString; + + var t = this.cache[key]; + + if (t) { + return t; + } + + t = this.generate(writeCode(this.parse(this.scan(text, options.delimiters), text, options)), text, options); + return this.cache[key] = t; + }; +})(typeof exports !== 'undefined' ? exports : Hogan); + + +if (typeof define === 'function' && define.amd) { + define(Hogan); +} diff --git a/hogan-node/node_modules/hogan.js/web/builds/1.0.4/hogan-1.0.4.common.js b/hogan-node/node_modules/hogan.js/web/builds/1.0.4/hogan-1.0.4.common.js new file mode 100644 index 0000000..8158ba8 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/1.0.4/hogan-1.0.4.common.js @@ -0,0 +1,575 @@ +/* + * Copyright 2011 Twitter, Inc. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + + +var Hogan = {}; + +(function (Hogan, useArrayBuffer) { + Hogan.Template = function (renderFunc, text, compiler, options) { + this.r = renderFunc || this.r; + this.c = compiler; + this.options = options; + this.text = text || ''; + this.buf = (useArrayBuffer) ? [] : ''; + } + + Hogan.Template.prototype = { + // render: replaced by generated code. + r: function (context, partials, indent) { return ''; }, + + // variable escaping + v: hoganEscape, + + render: function render(context, partials, indent) { + return this.ri([context], partials || {}, indent); + }, + + // render internal -- a hook for overrides that catches partials too + ri: function (context, partials, indent) { + return this.r(context, partials, indent); + }, + + // tries to find a partial in the curent scope and render it + rp: function(name, context, partials, indent) { + var partial = partials[name]; + + if (!partial) { + return ''; + } + + if (this.c && typeof partial == 'string') { + partial = this.c.compile(partial, this.options); + } + + return partial.ri(context, partials, indent); + }, + + // render a section + rs: function(context, partials, section) { + var tail = context[context.length - 1]; + + if (!isArray(tail)) { + section(context, partials, this); + return; + } + + for (var i = 0; i < tail.length; i++) { + context.push(tail[i]); + section(context, partials, this); + context.pop(); + } + }, + + // maybe start a section + s: function(val, ctx, partials, inverted, start, end, tags) { + var pass; + + if (isArray(val) && val.length === 0) { + return false; + } + + if (typeof val == 'function') { + val = this.ls(val, ctx, partials, inverted, start, end, tags); + } + + pass = (val === '') || !!val; + + if (!inverted && pass && ctx) { + ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]); + } + + return pass; + }, + + // find values with dotted names + d: function(key, ctx, partials, returnFound) { + var names = key.split('.'), + val = this.f(names[0], ctx, partials, returnFound), + cx = null; + + if (key === '.' && isArray(ctx[ctx.length - 2])) { + return ctx[ctx.length - 1]; + } + + for (var i = 1; i < names.length; i++) { + if (val && typeof val == 'object' && names[i] in val) { + cx = val; + val = val[names[i]]; + } else { + val = ''; + } + } + + if (returnFound && !val) { + return false; + } + + if (!returnFound && typeof val == 'function') { + ctx.push(cx); + val = this.lv(val, ctx, partials); + ctx.pop(); + } + + return val; + }, + + // find values with normal names + f: function(key, ctx, partials, returnFound) { + var val = false, + v = null, + found = false; + + for (var i = ctx.length - 1; i >= 0; i--) { + v = ctx[i]; + if (v && typeof v == 'object' && key in v) { + val = v[key]; + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.lv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ho: function(val, cx, partials, text, tags) { + var compiler = this.c; + var t = val.call(cx, text, function(t) { + return compiler.compile(t, {delimiters: tags}).render(cx, partials); + }); + this.b(compiler.compile(t.toString(), {delimiters: tags}).render(cx, partials)); + return false; + }, + + // template result buffering + b: (useArrayBuffer) ? function(s) { this.buf.push(s); } : + function(s) { this.buf += s; }, + fl: (useArrayBuffer) ? function() { var r = this.buf.join(''); this.buf = []; return r; } : + function() { var r = this.buf; this.buf = ''; return r; }, + + // lambda replace section + ls: function(val, ctx, partials, inverted, start, end, tags) { + var cx = ctx[ctx.length - 1], + t = null; + + if (!inverted && this.c && val.length > 0) { + return this.ho(val, cx, partials, this.text.substring(start, end), tags); + } + + t = val.call(cx); + + if (typeof t == 'function') { + if (inverted) { + return true; + } else if (this.c) { + return this.ho(t, cx, partials, this.text.substring(start, end), tags); + } + } + + return t; + }, + + // lambda replace variable + lv: function(val, ctx, partials) { + var cx = ctx[ctx.length - 1]; + var result = val.call(cx); + if (typeof result == 'function') { + result = result.call(cx); + } + result = result.toString(); + + if (this.c && ~result.indexOf("{{")) { + return this.c.compile(result).render(cx, partials); + } + + return result; + } + + }; + + var rAmp = /&/g, + rLt = //g, + rApos =/\'/g, + rQuot = /\"/g, + hChars =/[&<>\"\']/; + + function hoganEscape(str) { + str = String((str === null || str === undefined) ? '' : str); + return hChars.test(str) ? + str + .replace(rAmp,'&') + .replace(rLt,'<') + .replace(rGt,'>') + .replace(rApos,''') + .replace(rQuot, '"') : + str; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + }; + +})(typeof exports !== 'undefined' ? exports : Hogan); + + + + +(function (Hogan) { + // Setup regex assignments + // remove whitespace according to Mustache spec + var rIsWhitespace = /\S/, + rQuot = /\"/g, + rNewline = /\n/g, + rCr = /\r/g, + rSlash = /\\/g, + tagTypes = { + '#': 1, '^': 2, '/': 3, '!': 4, '>': 5, + '<': 6, '=': 7, '_v': 8, '{': 9, '&': 10 + }; + + Hogan.scan = function scan(text, delimiters) { + var len = text.length, + IN_TEXT = 0, + IN_TAG_TYPE = 1, + IN_TAG = 2, + state = IN_TEXT, + tagType = null, + tag = null, + buf = '', + tokens = [], + seenTag = false, + i = 0, + lineStart = 0, + otag = '{{', + ctag = '}}'; + + function addBuf() { + if (buf.length > 0) { + tokens.push(new String(buf)); + buf = ''; + } + } + + function lineIsWhitespace() { + var isAllWhitespace = true; + for (var j = lineStart; j < tokens.length; j++) { + isAllWhitespace = + (tokens[j].tag && tagTypes[tokens[j].tag] < tagTypes['_v']) || + (!tokens[j].tag && tokens[j].match(rIsWhitespace) === null); + if (!isAllWhitespace) { + return false; + } + } + + return isAllWhitespace; + } + + function filterLine(haveSeenTag, noNewLine) { + addBuf(); + + if (haveSeenTag && lineIsWhitespace()) { + for (var j = lineStart, next; j < tokens.length; j++) { + if (!tokens[j].tag) { + if ((next = tokens[j+1]) && next.tag == '>') { + // set indent to token value + next.indent = tokens[j].toString() + } + tokens.splice(j, 1); + } + } + } else if (!noNewLine) { + tokens.push({tag:'\n'}); + } + + seenTag = false; + lineStart = tokens.length; + } + + function changeDelimiters(text, index) { + var close = '=' + ctag, + closeIndex = text.indexOf(close, index), + delimiters = trim( + text.substring(text.indexOf('=', index) + 1, closeIndex) + ).split(' '); + + otag = delimiters[0]; + ctag = delimiters[1]; + + return closeIndex + close.length - 1; + } + + if (delimiters) { + delimiters = delimiters.split(' '); + otag = delimiters[0]; + ctag = delimiters[1]; + } + + for (i = 0; i < len; i++) { + if (state == IN_TEXT) { + if (tagChange(otag, text, i)) { + --i; + addBuf(); + state = IN_TAG_TYPE; + } else { + if (text.charAt(i) == '\n') { + filterLine(seenTag); + } else { + buf += text.charAt(i); + } + } + } else if (state == IN_TAG_TYPE) { + i += otag.length - 1; + tag = tagTypes[text.charAt(i + 1)]; + tagType = tag ? text.charAt(i + 1) : '_v'; + if (tagType == '=') { + i = changeDelimiters(text, i); + state = IN_TEXT; + } else { + if (tag) { + i++; + } + state = IN_TAG; + } + seenTag = i; + } else { + if (tagChange(ctag, text, i)) { + tokens.push({tag: tagType, n: trim(buf), otag: otag, ctag: ctag, + i: (tagType == '/') ? seenTag - ctag.length : i + otag.length}); + buf = ''; + i += ctag.length - 1; + state = IN_TEXT; + if (tagType == '{') { + if (ctag == '}}') { + i++; + } else { + cleanTripleStache(tokens[tokens.length - 1]); + } + } + } else { + buf += text.charAt(i); + } + } + } + + filterLine(seenTag, true); + + return tokens; + } + + function cleanTripleStache(token) { + if (token.n.substr(token.n.length - 1) === '}') { + token.n = token.n.substring(0, token.n.length - 1); + } + } + + function trim(s) { + if (s.trim) { + return s.trim(); + } + + return s.replace(/^\s*|\s*$/g, ''); + } + + function tagChange(tag, text, index) { + if (text.charAt(index) != tag.charAt(0)) { + return false; + } + + for (var i = 1, l = tag.length; i < l; i++) { + if (text.charAt(index + i) != tag.charAt(i)) { + return false; + } + } + + return true; + } + + function buildTree(tokens, kind, stack, customTags) { + var instructions = [], + opener = null, + token = null; + + while (tokens.length > 0) { + token = tokens.shift(); + if (token.tag == '#' || token.tag == '^' || isOpener(token, customTags)) { + stack.push(token); + token.nodes = buildTree(tokens, token.tag, stack, customTags); + instructions.push(token); + } else if (token.tag == '/') { + if (stack.length === 0) { + throw new Error('Closing tag without opener: /' + token.n); + } + opener = stack.pop(); + if (token.n != opener.n && !isCloser(token.n, opener.n, customTags)) { + throw new Error('Nesting error: ' + opener.n + ' vs. ' + token.n); + } + opener.end = token.i; + return instructions; + } else { + instructions.push(token); + } + } + + if (stack.length > 0) { + throw new Error('missing closing tag: ' + stack.pop().n); + } + + return instructions; + } + + function isOpener(token, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].o == token.n) { + token.tag = '#'; + return true; + } + } + } + + function isCloser(close, open, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].c == close && tags[i].o == open) { + return true; + } + } + } + + function writeCode(tree) { + return 'var _=this;_.b(i=i||"");' + walk(tree) + 'return _.fl();'; + } + + Hogan.generate = function (code, text, options) { + if (options.asString) { + return 'function(c,p,i){' + code + ';}'; + } + + return new Hogan.Template(new Function('c', 'p', 'i', code), text, Hogan, options); + } + + function esc(s) { + return s.replace(rSlash, '\\\\') + .replace(rQuot, '\\\"') + .replace(rNewline, '\\n') + .replace(rCr, '\\r'); + } + + function chooseMethod(s) { + return (~s.indexOf('.')) ? 'd' : 'f'; + } + + function walk(tree) { + var code = ''; + for (var i = 0, l = tree.length; i < l; i++) { + var tag = tree[i].tag; + if (tag == '#') { + code += section(tree[i].nodes, tree[i].n, chooseMethod(tree[i].n), + tree[i].i, tree[i].end, tree[i].otag + " " + tree[i].ctag); + } else if (tag == '^') { + code += invertedSection(tree[i].nodes, tree[i].n, + chooseMethod(tree[i].n)); + } else if (tag == '<' || tag == '>') { + code += partial(tree[i]); + } else if (tag == '{' || tag == '&') { + code += tripleStache(tree[i].n, chooseMethod(tree[i].n)); + } else if (tag == '\n') { + code += text('"\\n"' + (tree.length-1 == i ? '' : ' + i')); + } else if (tag == '_v') { + code += variable(tree[i].n, chooseMethod(tree[i].n)); + } else if (tag === undefined) { + code += text('"' + esc(tree[i]) + '"'); + } + } + return code; + } + + function section(nodes, id, method, start, end, tags) { + return 'if(_.s(_.' + method + '("' + esc(id) + '",c,p,1),' + + 'c,p,0,' + start + ',' + end + ',"' + tags + '")){' + + '_.rs(c,p,' + + 'function(c,p,_){' + + walk(nodes) + + '});c.pop();}'; + } + + function invertedSection(nodes, id, method) { + return 'if(!_.s(_.' + method + '("' + esc(id) + '",c,p,1),c,p,1,0,0,"")){' + + walk(nodes) + + '};'; + } + + function partial(tok) { + return '_.b(_.rp("' + esc(tok.n) + '",c,p,"' + (tok.indent || '') + '"));'; + } + + function tripleStache(id, method) { + return '_.b(_.' + method + '("' + esc(id) + '",c,p,0));'; + } + + function variable(id, method) { + return '_.b(_.v(_.' + method + '("' + esc(id) + '",c,p,0)));'; + } + + function text(id) { + return '_.b(' + id + ');'; + } + + Hogan.parse = function(tokens, text, options) { + options = options || {}; + return buildTree(tokens, '', [], options.sectionTags || []); + }, + + Hogan.cache = {}; + + Hogan.compile = function(text, options) { + // options + // + // asString: false (default) + // + // sectionTags: [{o: '_foo', c: 'foo'}] + // An array of object with o and c fields that indicate names for custom + // section tags. The example above allows parsing of {{_foo}}{{/foo}}. + // + // delimiters: A string that overrides the default delimiters. + // Example: "<% %>" + // + options = options || {}; + + var key = text + '||' + !!options.asString; + + var t = this.cache[key]; + + if (t) { + return t; + } + + t = this.generate(writeCode(this.parse(this.scan(text, options.delimiters), text, options)), text, options); + return this.cache[key] = t; + }; +})(typeof exports !== 'undefined' ? exports : Hogan); + + +if (typeof module !== 'undefined' && module.exports) { + module.exports = Hogan; +} diff --git a/hogan-node/node_modules/hogan.js/web/builds/1.0.4/hogan-1.0.4.js b/hogan-node/node_modules/hogan.js/web/builds/1.0.4/hogan-1.0.4.js new file mode 100644 index 0000000..fafa115 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/1.0.4/hogan-1.0.4.js @@ -0,0 +1,571 @@ +/* + * Copyright 2011 Twitter, Inc. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + + +var Hogan = {}; + +(function (Hogan, useArrayBuffer) { + Hogan.Template = function (renderFunc, text, compiler, options) { + this.r = renderFunc || this.r; + this.c = compiler; + this.options = options; + this.text = text || ''; + this.buf = (useArrayBuffer) ? [] : ''; + } + + Hogan.Template.prototype = { + // render: replaced by generated code. + r: function (context, partials, indent) { return ''; }, + + // variable escaping + v: hoganEscape, + + render: function render(context, partials, indent) { + return this.ri([context], partials || {}, indent); + }, + + // render internal -- a hook for overrides that catches partials too + ri: function (context, partials, indent) { + return this.r(context, partials, indent); + }, + + // tries to find a partial in the curent scope and render it + rp: function(name, context, partials, indent) { + var partial = partials[name]; + + if (!partial) { + return ''; + } + + if (this.c && typeof partial == 'string') { + partial = this.c.compile(partial, this.options); + } + + return partial.ri(context, partials, indent); + }, + + // render a section + rs: function(context, partials, section) { + var tail = context[context.length - 1]; + + if (!isArray(tail)) { + section(context, partials, this); + return; + } + + for (var i = 0; i < tail.length; i++) { + context.push(tail[i]); + section(context, partials, this); + context.pop(); + } + }, + + // maybe start a section + s: function(val, ctx, partials, inverted, start, end, tags) { + var pass; + + if (isArray(val) && val.length === 0) { + return false; + } + + if (typeof val == 'function') { + val = this.ls(val, ctx, partials, inverted, start, end, tags); + } + + pass = (val === '') || !!val; + + if (!inverted && pass && ctx) { + ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]); + } + + return pass; + }, + + // find values with dotted names + d: function(key, ctx, partials, returnFound) { + var names = key.split('.'), + val = this.f(names[0], ctx, partials, returnFound), + cx = null; + + if (key === '.' && isArray(ctx[ctx.length - 2])) { + return ctx[ctx.length - 1]; + } + + for (var i = 1; i < names.length; i++) { + if (val && typeof val == 'object' && names[i] in val) { + cx = val; + val = val[names[i]]; + } else { + val = ''; + } + } + + if (returnFound && !val) { + return false; + } + + if (!returnFound && typeof val == 'function') { + ctx.push(cx); + val = this.lv(val, ctx, partials); + ctx.pop(); + } + + return val; + }, + + // find values with normal names + f: function(key, ctx, partials, returnFound) { + var val = false, + v = null, + found = false; + + for (var i = ctx.length - 1; i >= 0; i--) { + v = ctx[i]; + if (v && typeof v == 'object' && key in v) { + val = v[key]; + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.lv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ho: function(val, cx, partials, text, tags) { + var compiler = this.c; + var t = val.call(cx, text, function(t) { + return compiler.compile(t, {delimiters: tags}).render(cx, partials); + }); + this.b(compiler.compile(t.toString(), {delimiters: tags}).render(cx, partials)); + return false; + }, + + // template result buffering + b: (useArrayBuffer) ? function(s) { this.buf.push(s); } : + function(s) { this.buf += s; }, + fl: (useArrayBuffer) ? function() { var r = this.buf.join(''); this.buf = []; return r; } : + function() { var r = this.buf; this.buf = ''; return r; }, + + // lambda replace section + ls: function(val, ctx, partials, inverted, start, end, tags) { + var cx = ctx[ctx.length - 1], + t = null; + + if (!inverted && this.c && val.length > 0) { + return this.ho(val, cx, partials, this.text.substring(start, end), tags); + } + + t = val.call(cx); + + if (typeof t == 'function') { + if (inverted) { + return true; + } else if (this.c) { + return this.ho(t, cx, partials, this.text.substring(start, end), tags); + } + } + + return t; + }, + + // lambda replace variable + lv: function(val, ctx, partials) { + var cx = ctx[ctx.length - 1]; + var result = val.call(cx); + if (typeof result == 'function') { + result = result.call(cx); + } + result = result.toString(); + + if (this.c && ~result.indexOf("{{")) { + return this.c.compile(result).render(cx, partials); + } + + return result; + } + + }; + + var rAmp = /&/g, + rLt = //g, + rApos =/\'/g, + rQuot = /\"/g, + hChars =/[&<>\"\']/; + + function hoganEscape(str) { + str = String((str === null || str === undefined) ? '' : str); + return hChars.test(str) ? + str + .replace(rAmp,'&') + .replace(rLt,'<') + .replace(rGt,'>') + .replace(rApos,''') + .replace(rQuot, '"') : + str; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + }; + +})(typeof exports !== 'undefined' ? exports : Hogan); + + + + +(function (Hogan) { + // Setup regex assignments + // remove whitespace according to Mustache spec + var rIsWhitespace = /\S/, + rQuot = /\"/g, + rNewline = /\n/g, + rCr = /\r/g, + rSlash = /\\/g, + tagTypes = { + '#': 1, '^': 2, '/': 3, '!': 4, '>': 5, + '<': 6, '=': 7, '_v': 8, '{': 9, '&': 10 + }; + + Hogan.scan = function scan(text, delimiters) { + var len = text.length, + IN_TEXT = 0, + IN_TAG_TYPE = 1, + IN_TAG = 2, + state = IN_TEXT, + tagType = null, + tag = null, + buf = '', + tokens = [], + seenTag = false, + i = 0, + lineStart = 0, + otag = '{{', + ctag = '}}'; + + function addBuf() { + if (buf.length > 0) { + tokens.push(new String(buf)); + buf = ''; + } + } + + function lineIsWhitespace() { + var isAllWhitespace = true; + for (var j = lineStart; j < tokens.length; j++) { + isAllWhitespace = + (tokens[j].tag && tagTypes[tokens[j].tag] < tagTypes['_v']) || + (!tokens[j].tag && tokens[j].match(rIsWhitespace) === null); + if (!isAllWhitespace) { + return false; + } + } + + return isAllWhitespace; + } + + function filterLine(haveSeenTag, noNewLine) { + addBuf(); + + if (haveSeenTag && lineIsWhitespace()) { + for (var j = lineStart, next; j < tokens.length; j++) { + if (!tokens[j].tag) { + if ((next = tokens[j+1]) && next.tag == '>') { + // set indent to token value + next.indent = tokens[j].toString() + } + tokens.splice(j, 1); + } + } + } else if (!noNewLine) { + tokens.push({tag:'\n'}); + } + + seenTag = false; + lineStart = tokens.length; + } + + function changeDelimiters(text, index) { + var close = '=' + ctag, + closeIndex = text.indexOf(close, index), + delimiters = trim( + text.substring(text.indexOf('=', index) + 1, closeIndex) + ).split(' '); + + otag = delimiters[0]; + ctag = delimiters[1]; + + return closeIndex + close.length - 1; + } + + if (delimiters) { + delimiters = delimiters.split(' '); + otag = delimiters[0]; + ctag = delimiters[1]; + } + + for (i = 0; i < len; i++) { + if (state == IN_TEXT) { + if (tagChange(otag, text, i)) { + --i; + addBuf(); + state = IN_TAG_TYPE; + } else { + if (text.charAt(i) == '\n') { + filterLine(seenTag); + } else { + buf += text.charAt(i); + } + } + } else if (state == IN_TAG_TYPE) { + i += otag.length - 1; + tag = tagTypes[text.charAt(i + 1)]; + tagType = tag ? text.charAt(i + 1) : '_v'; + if (tagType == '=') { + i = changeDelimiters(text, i); + state = IN_TEXT; + } else { + if (tag) { + i++; + } + state = IN_TAG; + } + seenTag = i; + } else { + if (tagChange(ctag, text, i)) { + tokens.push({tag: tagType, n: trim(buf), otag: otag, ctag: ctag, + i: (tagType == '/') ? seenTag - ctag.length : i + otag.length}); + buf = ''; + i += ctag.length - 1; + state = IN_TEXT; + if (tagType == '{') { + if (ctag == '}}') { + i++; + } else { + cleanTripleStache(tokens[tokens.length - 1]); + } + } + } else { + buf += text.charAt(i); + } + } + } + + filterLine(seenTag, true); + + return tokens; + } + + function cleanTripleStache(token) { + if (token.n.substr(token.n.length - 1) === '}') { + token.n = token.n.substring(0, token.n.length - 1); + } + } + + function trim(s) { + if (s.trim) { + return s.trim(); + } + + return s.replace(/^\s*|\s*$/g, ''); + } + + function tagChange(tag, text, index) { + if (text.charAt(index) != tag.charAt(0)) { + return false; + } + + for (var i = 1, l = tag.length; i < l; i++) { + if (text.charAt(index + i) != tag.charAt(i)) { + return false; + } + } + + return true; + } + + function buildTree(tokens, kind, stack, customTags) { + var instructions = [], + opener = null, + token = null; + + while (tokens.length > 0) { + token = tokens.shift(); + if (token.tag == '#' || token.tag == '^' || isOpener(token, customTags)) { + stack.push(token); + token.nodes = buildTree(tokens, token.tag, stack, customTags); + instructions.push(token); + } else if (token.tag == '/') { + if (stack.length === 0) { + throw new Error('Closing tag without opener: /' + token.n); + } + opener = stack.pop(); + if (token.n != opener.n && !isCloser(token.n, opener.n, customTags)) { + throw new Error('Nesting error: ' + opener.n + ' vs. ' + token.n); + } + opener.end = token.i; + return instructions; + } else { + instructions.push(token); + } + } + + if (stack.length > 0) { + throw new Error('missing closing tag: ' + stack.pop().n); + } + + return instructions; + } + + function isOpener(token, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].o == token.n) { + token.tag = '#'; + return true; + } + } + } + + function isCloser(close, open, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].c == close && tags[i].o == open) { + return true; + } + } + } + + function writeCode(tree) { + return 'var _=this;_.b(i=i||"");' + walk(tree) + 'return _.fl();'; + } + + Hogan.generate = function (code, text, options) { + if (options.asString) { + return 'function(c,p,i){' + code + ';}'; + } + + return new Hogan.Template(new Function('c', 'p', 'i', code), text, Hogan, options); + } + + function esc(s) { + return s.replace(rSlash, '\\\\') + .replace(rQuot, '\\\"') + .replace(rNewline, '\\n') + .replace(rCr, '\\r'); + } + + function chooseMethod(s) { + return (~s.indexOf('.')) ? 'd' : 'f'; + } + + function walk(tree) { + var code = ''; + for (var i = 0, l = tree.length; i < l; i++) { + var tag = tree[i].tag; + if (tag == '#') { + code += section(tree[i].nodes, tree[i].n, chooseMethod(tree[i].n), + tree[i].i, tree[i].end, tree[i].otag + " " + tree[i].ctag); + } else if (tag == '^') { + code += invertedSection(tree[i].nodes, tree[i].n, + chooseMethod(tree[i].n)); + } else if (tag == '<' || tag == '>') { + code += partial(tree[i]); + } else if (tag == '{' || tag == '&') { + code += tripleStache(tree[i].n, chooseMethod(tree[i].n)); + } else if (tag == '\n') { + code += text('"\\n"' + (tree.length-1 == i ? '' : ' + i')); + } else if (tag == '_v') { + code += variable(tree[i].n, chooseMethod(tree[i].n)); + } else if (tag === undefined) { + code += text('"' + esc(tree[i]) + '"'); + } + } + return code; + } + + function section(nodes, id, method, start, end, tags) { + return 'if(_.s(_.' + method + '("' + esc(id) + '",c,p,1),' + + 'c,p,0,' + start + ',' + end + ',"' + tags + '")){' + + '_.rs(c,p,' + + 'function(c,p,_){' + + walk(nodes) + + '});c.pop();}'; + } + + function invertedSection(nodes, id, method) { + return 'if(!_.s(_.' + method + '("' + esc(id) + '",c,p,1),c,p,1,0,0,"")){' + + walk(nodes) + + '};'; + } + + function partial(tok) { + return '_.b(_.rp("' + esc(tok.n) + '",c,p,"' + (tok.indent || '') + '"));'; + } + + function tripleStache(id, method) { + return '_.b(_.' + method + '("' + esc(id) + '",c,p,0));'; + } + + function variable(id, method) { + return '_.b(_.v(_.' + method + '("' + esc(id) + '",c,p,0)));'; + } + + function text(id) { + return '_.b(' + id + ');'; + } + + Hogan.parse = function(tokens, text, options) { + options = options || {}; + return buildTree(tokens, '', [], options.sectionTags || []); + }, + + Hogan.cache = {}; + + Hogan.compile = function(text, options) { + // options + // + // asString: false (default) + // + // sectionTags: [{o: '_foo', c: 'foo'}] + // An array of object with o and c fields that indicate names for custom + // section tags. The example above allows parsing of {{_foo}}{{/foo}}. + // + // delimiters: A string that overrides the default delimiters. + // Example: "<% %>" + // + options = options || {}; + + var key = text + '||' + !!options.asString; + + var t = this.cache[key]; + + if (t) { + return t; + } + + t = this.generate(writeCode(this.parse(this.scan(text, options.delimiters), text, options)), text, options); + return this.cache[key] = t; + }; +})(typeof exports !== 'undefined' ? exports : Hogan); + diff --git a/hogan-node/node_modules/hogan.js/web/builds/1.0.4/hogan-1.0.4.min.amd.js b/hogan-node/node_modules/hogan.js/web/builds/1.0.4/hogan-1.0.4.min.amd.js new file mode 100644 index 0000000..e539b22 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/1.0.4/hogan-1.0.4.min.amd.js @@ -0,0 +1,5 @@ +/** +* @preserve Copyright 2012 Twitter, Inc. +* @license http://www.apache.org/licenses/LICENSE-2.0.txt +*/ +var Hogan={};(function(a,b){function i(a){return a=String(a===null||a===undefined?"":a),h.test(a)?a.replace(c,"&").replace(d,"<").replace(e,">").replace(f,"'").replace(g,"""):a}a.Template=function(a,c,d,e){this.r=a||this.r,this.c=d,this.options=e,this.text=c||"",this.buf=b?[]:""},a.Template.prototype={r:function(a,b,c){return""},v:i,render:function(b,c,d){return this.ri([b],c||{},d)},ri:function(a,b,c){return this.r(a,b,c)},rp:function(a,b,c,d){var e=c[a];return e?(this.c&&typeof e=="string"&&(e=this.c.compile(e,this.options)),e.ri(b,c,d)):""},rs:function(a,b,c){var d=a[a.length-1];if(!j(d)){c(a,b,this);return}for(var e=0;e=0;h--){f=b[h];if(f&&typeof f=="object"&&a in f){e=f[a],g=!0;break}}return g?(!d&&typeof e=="function"&&(e=this.lv(e,b,c)),e):d?!1:""},ho:function(a,b,c,d,e){var f=this.c,g=a.call(b,d,function(a){return f.compile(a,{delimiters:e}).render(b,c)});return this.b(f.compile(g.toString(),{delimiters:e}).render(b,c)),!1},b:b?function(a){this.buf.push(a)}:function(a){this.buf+=a},fl:b?function(){var a=this.buf.join("");return this.buf=[],a}:function(){var a=this.buf;return this.buf="",a},ls:function(a,b,c,d,e,f,g){var h=b[b.length-1],i=null;if(!d&&this.c&&a.length>0)return this.ho(a,h,c,this.text.substring(e,f),g);i=a.call(h);if(typeof i=="function"){if(d)return!0;if(this.c)return this.ho(i,h,c,this.text.substring(e,f),g)}return i},lv:function(a,b,c){var d=b[b.length-1],e=a.call(d);return typeof e=="function"&&(e=e.call(d)),e=e.toString(),this.c&&~e.indexOf("{{")?this.c.compile(e).render(d,c):e}};var c=/&/g,d=//g,f=/\'/g,g=/\"/g,h=/[&<>\"\']/,j=Array.isArray||function(a){return Object.prototype.toString.call(a)==="[object Array]"}})(typeof exports!="undefined"?exports:Hogan),function(a){function h(a){a.n.substr(a.n.length-1)==="}"&&(a.n=a.n.substring(0,a.n.length-1))}function i(a){return a.trim?a.trim():a.replace(/^\s*|\s*$/g,"")}function j(a,b,c){if(b.charAt(c)!=a.charAt(0))return!1;for(var d=1,e=a.length;d0){g=a.shift();if(g.tag=="#"||g.tag=="^"||l(g,d))c.push(g),g.nodes=k(a,g.tag,c,d),e.push(g);else{if(g.tag=="/"){if(c.length===0)throw new Error("Closing tag without opener: /"+g.n);f=c.pop();if(g.n!=f.n&&!m(g.n,f.n,d))throw new Error("Nesting error: "+f.n+" vs. "+g.n);return f.end=g.i,e}e.push(g)}}if(c.length>0)throw new Error("missing closing tag: "+c.pop().n);return e}function l(a,b){for(var c=0,d=b.length;c"?b+=t(a[c]):e=="{"||e=="&"?b+=u(a[c].n,p(a[c].n)):e=="\n"?b+=w('"\\n"'+(a.length-1==c?"":" + i")):e=="_v"?b+=v(a[c].n,p(a[c].n)):e===undefined&&(b+=w('"'+o(a[c])+'"'))}return b}function r(a,b,c,d,e,f){return"if(_.s(_."+c+'("'+o(b)+'",c,p,1),'+"c,p,0,"+d+","+e+',"'+f+'")){'+"_.rs(c,p,"+"function(c,p,_){"+q(a)+"});c.pop();}"}function s(a,b,c){return"if(!_.s(_."+c+'("'+o(b)+'",c,p,1),c,p,1,0,0,"")){'+q(a)+"};"}function t(a){return'_.b(_.rp("'+o(a.n)+'",c,p,"'+(a.indent||"")+'"));'}function u(a,b){return"_.b(_."+b+'("'+o(a)+'",c,p,0));'}function v(a,b){return"_.b(_.v(_."+b+'("'+o(a)+'",c,p,0)));'}function w(a){return"_.b("+a+");"}var b=/\S/,c=/\"/g,d=/\n/g,e=/\r/g,f=/\\/g,g={"#":1,"^":2,"/":3,"!":4,">":5,"<":6,"=":7,_v:8,"{":9,"&":10};a.scan=function(c,d){function w(){p.length>0&&(q.push(new String(p)),p="")}function x(){var a=!0;for(var c=t;c"&&(d.indent=q[c].toString()),q.splice(c,1));else b||q.push({tag:"\n"});r=!1,t=q.length}function z(a,b){var c="="+v,d=a.indexOf(c,b),e=i(a.substring(a.indexOf("=",b)+1,d)).split(" ");return u=e[0],v=e[1],d+c.length-1}var e=c.length,f=0,k=1,l=2,m=f,n=null,o=null,p="",q=[],r=!1,s=0,t=0,u="{{",v="}}";d&&(d=d.split(" "),u=d[0],v=d[1]);for(s=0;s=0;h--){f=b[h];if(f&&typeof f=="object"&&a in f){e=f[a],g=!0;break}}return g?(!d&&typeof e=="function"&&(e=this.lv(e,b,c)),e):d?!1:""},ho:function(a,b,c,d,e){var f=this.c,g=a.call(b,d,function(a){return f.compile(a,{delimiters:e}).render(b,c)});return this.b(f.compile(g.toString(),{delimiters:e}).render(b,c)),!1},b:b?function(a){this.buf.push(a)}:function(a){this.buf+=a},fl:b?function(){var a=this.buf.join("");return this.buf=[],a}:function(){var a=this.buf;return this.buf="",a},ls:function(a,b,c,d,e,f,g){var h=b[b.length-1],i=null;if(!d&&this.c&&a.length>0)return this.ho(a,h,c,this.text.substring(e,f),g);i=a.call(h);if(typeof i=="function"){if(d)return!0;if(this.c)return this.ho(i,h,c,this.text.substring(e,f),g)}return i},lv:function(a,b,c){var d=b[b.length-1],e=a.call(d);return typeof e=="function"&&(e=e.call(d)),e=e.toString(),this.c&&~e.indexOf("{{")?this.c.compile(e).render(d,c):e}};var c=/&/g,d=//g,f=/\'/g,g=/\"/g,h=/[&<>\"\']/,j=Array.isArray||function(a){return Object.prototype.toString.call(a)==="[object Array]"}})(typeof exports!="undefined"?exports:Hogan),function(a){function h(a){a.n.substr(a.n.length-1)==="}"&&(a.n=a.n.substring(0,a.n.length-1))}function i(a){return a.trim?a.trim():a.replace(/^\s*|\s*$/g,"")}function j(a,b,c){if(b.charAt(c)!=a.charAt(0))return!1;for(var d=1,e=a.length;d0){g=a.shift();if(g.tag=="#"||g.tag=="^"||l(g,d))c.push(g),g.nodes=k(a,g.tag,c,d),e.push(g);else{if(g.tag=="/"){if(c.length===0)throw new Error("Closing tag without opener: /"+g.n);f=c.pop();if(g.n!=f.n&&!m(g.n,f.n,d))throw new Error("Nesting error: "+f.n+" vs. "+g.n);return f.end=g.i,e}e.push(g)}}if(c.length>0)throw new Error("missing closing tag: "+c.pop().n);return e}function l(a,b){for(var c=0,d=b.length;c"?b+=t(a[c]):e=="{"||e=="&"?b+=u(a[c].n,p(a[c].n)):e=="\n"?b+=w('"\\n"'+(a.length-1==c?"":" + i")):e=="_v"?b+=v(a[c].n,p(a[c].n)):e===undefined&&(b+=w('"'+o(a[c])+'"'))}return b}function r(a,b,c,d,e,f){return"if(_.s(_."+c+'("'+o(b)+'",c,p,1),'+"c,p,0,"+d+","+e+',"'+f+'")){'+"_.rs(c,p,"+"function(c,p,_){"+q(a)+"});c.pop();}"}function s(a,b,c){return"if(!_.s(_."+c+'("'+o(b)+'",c,p,1),c,p,1,0,0,"")){'+q(a)+"};"}function t(a){return'_.b(_.rp("'+o(a.n)+'",c,p,"'+(a.indent||"")+'"));'}function u(a,b){return"_.b(_."+b+'("'+o(a)+'",c,p,0));'}function v(a,b){return"_.b(_.v(_."+b+'("'+o(a)+'",c,p,0)));'}function w(a){return"_.b("+a+");"}var b=/\S/,c=/\"/g,d=/\n/g,e=/\r/g,f=/\\/g,g={"#":1,"^":2,"/":3,"!":4,">":5,"<":6,"=":7,_v:8,"{":9,"&":10};a.scan=function(c,d){function w(){p.length>0&&(q.push(new String(p)),p="")}function x(){var a=!0;for(var c=t;c"&&(d.indent=q[c].toString()),q.splice(c,1));else b||q.push({tag:"\n"});r=!1,t=q.length}function z(a,b){var c="="+v,d=a.indexOf(c,b),e=i(a.substring(a.indexOf("=",b)+1,d)).split(" ");return u=e[0],v=e[1],d+c.length-1}var e=c.length,f=0,k=1,l=2,m=f,n=null,o=null,p="",q=[],r=!1,s=0,t=0,u="{{",v="}}";d&&(d=d.split(" "),u=d[0],v=d[1]);for(s=0;s=0;h--){f=b[h];if(f&&typeof f=="object"&&a in f){e=f[a],g=!0;break}}return g?(!d&&typeof e=="function"&&(e=this.lv(e,b,c)),e):d?!1:""},ho:function(a,b,c,d,e){var f=this.c,g=a.call(b,d,function(a){return f.compile(a,{delimiters:e}).render(b,c)});return this.b(f.compile(g.toString(),{delimiters:e}).render(b,c)),!1},b:b?function(a){this.buf.push(a)}:function(a){this.buf+=a},fl:b?function(){var a=this.buf.join("");return this.buf=[],a}:function(){var a=this.buf;return this.buf="",a},ls:function(a,b,c,d,e,f,g){var h=b[b.length-1],i=null;if(!d&&this.c&&a.length>0)return this.ho(a,h,c,this.text.substring(e,f),g);i=a.call(h);if(typeof i=="function"){if(d)return!0;if(this.c)return this.ho(i,h,c,this.text.substring(e,f),g)}return i},lv:function(a,b,c){var d=b[b.length-1],e=a.call(d);return typeof e=="function"&&(e=e.call(d)),e=e.toString(),this.c&&~e.indexOf("{{")?this.c.compile(e).render(d,c):e}};var c=/&/g,d=//g,f=/\'/g,g=/\"/g,h=/[&<>\"\']/,j=Array.isArray||function(a){return Object.prototype.toString.call(a)==="[object Array]"}})(typeof exports!="undefined"?exports:Hogan),function(a){function h(a){a.n.substr(a.n.length-1)==="}"&&(a.n=a.n.substring(0,a.n.length-1))}function i(a){return a.trim?a.trim():a.replace(/^\s*|\s*$/g,"")}function j(a,b,c){if(b.charAt(c)!=a.charAt(0))return!1;for(var d=1,e=a.length;d0){g=a.shift();if(g.tag=="#"||g.tag=="^"||l(g,d))c.push(g),g.nodes=k(a,g.tag,c,d),e.push(g);else{if(g.tag=="/"){if(c.length===0)throw new Error("Closing tag without opener: /"+g.n);f=c.pop();if(g.n!=f.n&&!m(g.n,f.n,d))throw new Error("Nesting error: "+f.n+" vs. "+g.n);return f.end=g.i,e}e.push(g)}}if(c.length>0)throw new Error("missing closing tag: "+c.pop().n);return e}function l(a,b){for(var c=0,d=b.length;c"?b+=t(a[c]):e=="{"||e=="&"?b+=u(a[c].n,p(a[c].n)):e=="\n"?b+=w('"\\n"'+(a.length-1==c?"":" + i")):e=="_v"?b+=v(a[c].n,p(a[c].n)):e===undefined&&(b+=w('"'+o(a[c])+'"'))}return b}function r(a,b,c,d,e,f){return"if(_.s(_."+c+'("'+o(b)+'",c,p,1),'+"c,p,0,"+d+","+e+',"'+f+'")){'+"_.rs(c,p,"+"function(c,p,_){"+q(a)+"});c.pop();}"}function s(a,b,c){return"if(!_.s(_."+c+'("'+o(b)+'",c,p,1),c,p,1,0,0,"")){'+q(a)+"};"}function t(a){return'_.b(_.rp("'+o(a.n)+'",c,p,"'+(a.indent||"")+'"));'}function u(a,b){return"_.b(_."+b+'("'+o(a)+'",c,p,0));'}function v(a,b){return"_.b(_.v(_."+b+'("'+o(a)+'",c,p,0)));'}function w(a){return"_.b("+a+");"}var b=/\S/,c=/\"/g,d=/\n/g,e=/\r/g,f=/\\/g,g={"#":1,"^":2,"/":3,"!":4,">":5,"<":6,"=":7,_v:8,"{":9,"&":10};a.scan=function(c,d){function w(){p.length>0&&(q.push(new String(p)),p="")}function x(){var a=!0;for(var c=t;c"&&(d.indent=q[c].toString()),q.splice(c,1));else b||q.push({tag:"\n"});r=!1,t=q.length}function z(a,b){var c="="+v,d=a.indexOf(c,b),e=i(a.substring(a.indexOf("=",b)+1,d)).split(" ");return u=e[0],v=e[1],d+c.length-1}var e=c.length,f=0,k=1,l=2,m=f,n=null,o=null,p="",q=[],r=!1,s=0,t=0,u="{{",v="}}";d&&(d=d.split(" "),u=d[0],v=d[1]);for(s=0;s=0;h--){f=b[h];if(f&&typeof f=="object"&&a in f){e=f[a],g=!0;break}}return g?(!d&&typeof e=="function"&&(e=this.lv(e,b,c)),e):d?!1:""},ho:function(a,b,c,d,e){var f=this.c,g=a.call(b,d,function(a){return f.compile(a,{delimiters:e}).render(b,c)});return this.b(f.compile(g.toString(),{delimiters:e}).render(b,c)),!1},b:b?function(a){this.buf.push(a)}:function(a){this.buf+=a},fl:b?function(){var a=this.buf.join("");return this.buf=[],a}:function(){var a=this.buf;return this.buf="",a},ls:function(a,b,c,d,e,f,g){var h=b[b.length-1],i=null;if(!d&&this.c&&a.length>0)return this.ho(a,h,c,this.text.substring(e,f),g);i=a.call(h);if(typeof i=="function"){if(d)return!0;if(this.c)return this.ho(i,h,c,this.text.substring(e,f),g)}return i},lv:function(a,b,c){var d=b[b.length-1],e=a.call(d);return typeof e=="function"&&(e=e.call(d)),e=e.toString(),this.c&&~e.indexOf("{{")?this.c.compile(e).render(d,c):e}};var c=/&/g,d=//g,f=/\'/g,g=/\"/g,h=/[&<>\"\']/,j=Array.isArray||function(a){return Object.prototype.toString.call(a)==="[object Array]"}})(typeof exports!="undefined"?exports:Hogan),function(a){function h(a){a.n.substr(a.n.length-1)==="}"&&(a.n=a.n.substring(0,a.n.length-1))}function i(a){return a.trim?a.trim():a.replace(/^\s*|\s*$/g,"")}function j(a,b,c){if(b.charAt(c)!=a.charAt(0))return!1;for(var d=1,e=a.length;d0){g=a.shift();if(g.tag=="#"||g.tag=="^"||l(g,d))c.push(g),g.nodes=k(a,g.tag,c,d),e.push(g);else{if(g.tag=="/"){if(c.length===0)throw new Error("Closing tag without opener: /"+g.n);f=c.pop();if(g.n!=f.n&&!m(g.n,f.n,d))throw new Error("Nesting error: "+f.n+" vs. "+g.n);return f.end=g.i,e}e.push(g)}}if(c.length>0)throw new Error("missing closing tag: "+c.pop().n);return e}function l(a,b){for(var c=0,d=b.length;c"?b+=t(a[c]):e=="{"||e=="&"?b+=u(a[c].n,p(a[c].n)):e=="\n"?b+=w('"\\n"'+(a.length-1==c?"":" + i")):e=="_v"?b+=v(a[c].n,p(a[c].n)):e===undefined&&(b+=w('"'+o(a[c])+'"'))}return b}function r(a,b,c,d,e,f){return"if(_.s(_."+c+'("'+o(b)+'",c,p,1),'+"c,p,0,"+d+","+e+',"'+f+'")){'+"_.rs(c,p,"+"function(c,p,_){"+q(a)+"});c.pop();}"}function s(a,b,c){return"if(!_.s(_."+c+'("'+o(b)+'",c,p,1),c,p,1,0,0,"")){'+q(a)+"};"}function t(a){return'_.b(_.rp("'+o(a.n)+'",c,p,"'+(a.indent||"")+'"));'}function u(a,b){return"_.b(_."+b+'("'+o(a)+'",c,p,0));'}function v(a,b){return"_.b(_.v(_."+b+'("'+o(a)+'",c,p,0)));'}function w(a){return"_.b("+a+");"}var b=/\S/,c=/\"/g,d=/\n/g,e=/\r/g,f=/\\/g,g={"#":1,"^":2,"/":3,"!":4,">":5,"<":6,"=":7,_v:8,"{":9,"&":10};a.scan=function(c,d){function w(){p.length>0&&(q.push(new String(p)),p="")}function x(){var a=!0;for(var c=t;c"&&(d.indent=q[c].toString()),q.splice(c,1));else b||q.push({tag:"\n"});r=!1,t=q.length}function z(a,b){var c="="+v,d=a.indexOf(c,b),e=i(a.substring(a.indexOf("=",b)+1,d)).split(" ");return u=e[0],v=e[1],d+c.length-1}var e=c.length,f=0,k=1,l=2,m=f,n=null,o=null,p="",q=[],r=!1,s=0,t=0,u="{{",v="}}";d&&(d=d.split(" "),u=d[0],v=d[1]);for(s=0;s= 0; i--) { + v = ctx[i]; + if (v && typeof v == 'object' && key in v) { + val = v[key]; + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.lv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ho: function(val, cx, partials, text, tags) { + var compiler = this.c; + var t = val.call(cx, text, function(t) { + return compiler.compile(t, {delimiters: tags}).render(cx, partials); + }); + this.b(compiler.compile(t.toString(), {delimiters: tags}).render(cx, partials)); + return false; + }, + + // template result buffering + b: (useArrayBuffer) ? function(s) { this.buf.push(s); } : + function(s) { this.buf += s; }, + fl: (useArrayBuffer) ? function() { var r = this.buf.join(''); this.buf = []; return r; } : + function() { var r = this.buf; this.buf = ''; return r; }, + + // lambda replace section + ls: function(val, ctx, partials, inverted, start, end, tags) { + var cx = ctx[ctx.length - 1], + t = null; + + if (!inverted && this.c && val.length > 0) { + return this.ho(val, cx, partials, this.text.substring(start, end), tags); + } + + t = val.call(cx); + + if (typeof t == 'function') { + if (inverted) { + return true; + } else if (this.c) { + return this.ho(t, cx, partials, this.text.substring(start, end), tags); + } + } + + return t; + }, + + // lambda replace variable + lv: function(val, ctx, partials) { + var cx = ctx[ctx.length - 1]; + var result = val.call(cx); + if (typeof result == 'function') { + result = result.call(cx); + } + result = result.toString(); + + if (this.c && ~result.indexOf("{{")) { + return this.c.compile(result).render(cx, partials); + } + + return result; + } + + }; + + var rAmp = /&/g, + rLt = //g, + rApos =/\'/g, + rQuot = /\"/g, + hChars =/[&<>\"\']/; + + function hoganEscape(str) { + str = String((str === null || str === undefined) ? '' : str); + return hChars.test(str) ? + str + .replace(rAmp,'&') + .replace(rLt,'<') + .replace(rGt,'>') + .replace(rApos,''') + .replace(rQuot, '"') : + str; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + }; + +})(typeof exports !== 'undefined' ? exports : Hogan); + + + + +(function (Hogan) { + // Setup regex assignments + // remove whitespace according to Mustache spec + var rIsWhitespace = /\S/, + rQuot = /\"/g, + rNewline = /\n/g, + rCr = /\r/g, + rSlash = /\\/g, + tagTypes = { + '#': 1, '^': 2, '/': 3, '!': 4, '>': 5, + '<': 6, '=': 7, '_v': 8, '{': 9, '&': 10 + }; + + Hogan.scan = function scan(text, delimiters) { + var len = text.length, + IN_TEXT = 0, + IN_TAG_TYPE = 1, + IN_TAG = 2, + state = IN_TEXT, + tagType = null, + tag = null, + buf = '', + tokens = [], + seenTag = false, + i = 0, + lineStart = 0, + otag = '{{', + ctag = '}}'; + + function addBuf() { + if (buf.length > 0) { + tokens.push(new String(buf)); + buf = ''; + } + } + + function lineIsWhitespace() { + var isAllWhitespace = true; + for (var j = lineStart; j < tokens.length; j++) { + isAllWhitespace = + (tokens[j].tag && tagTypes[tokens[j].tag] < tagTypes['_v']) || + (!tokens[j].tag && tokens[j].match(rIsWhitespace) === null); + if (!isAllWhitespace) { + return false; + } + } + + return isAllWhitespace; + } + + function filterLine(haveSeenTag, noNewLine) { + addBuf(); + + if (haveSeenTag && lineIsWhitespace()) { + for (var j = lineStart, next; j < tokens.length; j++) { + if (!tokens[j].tag) { + if ((next = tokens[j+1]) && next.tag == '>') { + // set indent to token value + next.indent = tokens[j].toString() + } + tokens.splice(j, 1); + } + } + } else if (!noNewLine) { + tokens.push({tag:'\n'}); + } + + seenTag = false; + lineStart = tokens.length; + } + + function changeDelimiters(text, index) { + var close = '=' + ctag, + closeIndex = text.indexOf(close, index), + delimiters = trim( + text.substring(text.indexOf('=', index) + 1, closeIndex) + ).split(' '); + + otag = delimiters[0]; + ctag = delimiters[1]; + + return closeIndex + close.length - 1; + } + + if (delimiters) { + delimiters = delimiters.split(' '); + otag = delimiters[0]; + ctag = delimiters[1]; + } + + for (i = 0; i < len; i++) { + if (state == IN_TEXT) { + if (tagChange(otag, text, i)) { + --i; + addBuf(); + state = IN_TAG_TYPE; + } else { + if (text.charAt(i) == '\n') { + filterLine(seenTag); + } else { + buf += text.charAt(i); + } + } + } else if (state == IN_TAG_TYPE) { + i += otag.length - 1; + tag = tagTypes[text.charAt(i + 1)]; + tagType = tag ? text.charAt(i + 1) : '_v'; + if (tagType == '=') { + i = changeDelimiters(text, i); + state = IN_TEXT; + } else { + if (tag) { + i++; + } + state = IN_TAG; + } + seenTag = i; + } else { + if (tagChange(ctag, text, i)) { + tokens.push({tag: tagType, n: trim(buf), otag: otag, ctag: ctag, + i: (tagType == '/') ? seenTag - ctag.length : i + otag.length}); + buf = ''; + i += ctag.length - 1; + state = IN_TEXT; + if (tagType == '{') { + if (ctag == '}}') { + i++; + } else { + cleanTripleStache(tokens[tokens.length - 1]); + } + } + } else { + buf += text.charAt(i); + } + } + } + + filterLine(seenTag, true); + + return tokens; + } + + function cleanTripleStache(token) { + if (token.n.substr(token.n.length - 1) === '}') { + token.n = token.n.substring(0, token.n.length - 1); + } + } + + function trim(s) { + if (s.trim) { + return s.trim(); + } + + return s.replace(/^\s*|\s*$/g, ''); + } + + function tagChange(tag, text, index) { + if (text.charAt(index) != tag.charAt(0)) { + return false; + } + + for (var i = 1, l = tag.length; i < l; i++) { + if (text.charAt(index + i) != tag.charAt(i)) { + return false; + } + } + + return true; + } + + function buildTree(tokens, kind, stack, customTags) { + var instructions = [], + opener = null, + token = null; + + while (tokens.length > 0) { + token = tokens.shift(); + if (token.tag == '#' || token.tag == '^' || isOpener(token, customTags)) { + stack.push(token); + token.nodes = buildTree(tokens, token.tag, stack, customTags); + instructions.push(token); + } else if (token.tag == '/') { + if (stack.length === 0) { + throw new Error('Closing tag without opener: /' + token.n); + } + opener = stack.pop(); + if (token.n != opener.n && !isCloser(token.n, opener.n, customTags)) { + throw new Error('Nesting error: ' + opener.n + ' vs. ' + token.n); + } + opener.end = token.i; + return instructions; + } else { + instructions.push(token); + } + } + + if (stack.length > 0) { + throw new Error('missing closing tag: ' + stack.pop().n); + } + + return instructions; + } + + function isOpener(token, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].o == token.n) { + token.tag = '#'; + return true; + } + } + } + + function isCloser(close, open, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].c == close && tags[i].o == open) { + return true; + } + } + } + + function writeCode(tree) { + return 'var _=this;_.b(i=i||"");' + walk(tree) + 'return _.fl();'; + } + + Hogan.generate = function (code, text, options) { + if (options.asString) { + return 'function(c,p,i){' + code + ';}'; + } + + return new Hogan.Template(new Function('c', 'p', 'i', code), text, Hogan, options); + } + + function esc(s) { + return s.replace(rSlash, '\\\\') + .replace(rQuot, '\\\"') + .replace(rNewline, '\\n') + .replace(rCr, '\\r'); + } + + function chooseMethod(s) { + return (~s.indexOf('.')) ? 'd' : 'f'; + } + + function walk(tree) { + var code = ''; + for (var i = 0, l = tree.length; i < l; i++) { + var tag = tree[i].tag; + if (tag == '#') { + code += section(tree[i].nodes, tree[i].n, chooseMethod(tree[i].n), + tree[i].i, tree[i].end, tree[i].otag + " " + tree[i].ctag); + } else if (tag == '^') { + code += invertedSection(tree[i].nodes, tree[i].n, + chooseMethod(tree[i].n)); + } else if (tag == '<' || tag == '>') { + code += partial(tree[i]); + } else if (tag == '{' || tag == '&') { + code += tripleStache(tree[i].n, chooseMethod(tree[i].n)); + } else if (tag == '\n') { + code += text('"\\n"' + (tree.length-1 == i ? '' : ' + i')); + } else if (tag == '_v') { + code += variable(tree[i].n, chooseMethod(tree[i].n)); + } else if (tag === undefined) { + code += text('"' + esc(tree[i]) + '"'); + } + } + return code; + } + + function section(nodes, id, method, start, end, tags) { + return 'if(_.s(_.' + method + '("' + esc(id) + '",c,p,1),' + + 'c,p,0,' + start + ',' + end + ',"' + tags + '")){' + + '_.rs(c,p,' + + 'function(c,p,_){' + + walk(nodes) + + '});c.pop();}'; + } + + function invertedSection(nodes, id, method) { + return 'if(!_.s(_.' + method + '("' + esc(id) + '",c,p,1),c,p,1,0,0,"")){' + + walk(nodes) + + '};'; + } + + function partial(tok) { + return '_.b(_.rp("' + esc(tok.n) + '",c,p,"' + (tok.indent || '') + '"));'; + } + + function tripleStache(id, method) { + return '_.b(_.' + method + '("' + esc(id) + '",c,p,0));'; + } + + function variable(id, method) { + return '_.b(_.v(_.' + method + '("' + esc(id) + '",c,p,0)));'; + } + + function text(id) { + return '_.b(' + id + ');'; + } + + Hogan.parse = function(tokens, text, options) { + options = options || {}; + return buildTree(tokens, '', [], options.sectionTags || []); + }, + + Hogan.cache = {}; + + Hogan.compile = function(text, options) { + // options + // + // asString: false (default) + // + // sectionTags: [{o: '_foo', c: 'foo'}] + // An array of object with o and c fields that indicate names for custom + // section tags. The example above allows parsing of {{_foo}}{{/foo}}. + // + // delimiters: A string that overrides the default delimiters. + // Example: "<% %>" + // + options = options || {}; + + var key = text + '||' + !!options.asString; + + var t = this.cache[key]; + + if (t) { + return t; + } + + t = this.generate(writeCode(this.parse(this.scan(text, options.delimiters), text, options)), text, options); + return this.cache[key] = t; + }; +})(typeof exports !== 'undefined' ? exports : Hogan); + + +var Mustache = (function (Hogan) { + + // Mustache.js has non-spec partial context behavior + function mustachePartial(name, context, partials, indent) { + var partialScope = this.f(name, context, partials, 0); + var cx = context; + if (partialScope) { + cx = cx.concat(partialScope); + } + + return Hogan.Template.prototype.rp.call(this, name, cx, partials, indent); + } + + var HoganTemplateWrapper = function(renderFunc, text, compiler){ + this.rp = mustachePartial; + Hogan.Template.call(this, renderFunc, text, compiler); + }; + HoganTemplateWrapper.prototype = Hogan.Template.prototype; + + // Add a wrapper for Hogan's generate method. Mustache and Hogan keep + // separate caches, and Mustache returns wrapped templates. + var wrapper; + var HoganWrapper = function(){ + this.cache = {}; + this.generate = function(code, text, options) { + return new HoganTemplateWrapper(new Function('c', 'p', 'i', code), text, wrapper); + } + }; + HoganWrapper.prototype = Hogan; + wrapper = new HoganWrapper(); + + return { + to_html: function(text, data, partials, sendFun) { + var template = wrapper.compile(text); + var result = template.render(data, partials); + if (!sendFun) { + return result; + } + + sendFun(result); + } + } + +})(Hogan); diff --git a/hogan-node/node_modules/hogan.js/web/builds/1.0.4/template-1.0.4.js b/hogan-node/node_modules/hogan.js/web/builds/1.0.4/template-1.0.4.js new file mode 100644 index 0000000..c1d09e3 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/1.0.4/template-1.0.4.js @@ -0,0 +1,233 @@ +/* + * Copyright 2011 Twitter, Inc. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +var Hogan = {}; + +(function (Hogan, useArrayBuffer) { + Hogan.Template = function (renderFunc, text, compiler, options) { + this.r = renderFunc || this.r; + this.c = compiler; + this.options = options; + this.text = text || ''; + this.buf = (useArrayBuffer) ? [] : ''; + } + + Hogan.Template.prototype = { + // render: replaced by generated code. + r: function (context, partials, indent) { return ''; }, + + // variable escaping + v: hoganEscape, + + render: function render(context, partials, indent) { + return this.ri([context], partials || {}, indent); + }, + + // render internal -- a hook for overrides that catches partials too + ri: function (context, partials, indent) { + return this.r(context, partials, indent); + }, + + // tries to find a partial in the curent scope and render it + rp: function(name, context, partials, indent) { + var partial = partials[name]; + + if (!partial) { + return ''; + } + + if (this.c && typeof partial == 'string') { + partial = this.c.compile(partial, this.options); + } + + return partial.ri(context, partials, indent); + }, + + // render a section + rs: function(context, partials, section) { + var tail = context[context.length - 1]; + + if (!isArray(tail)) { + section(context, partials, this); + return; + } + + for (var i = 0; i < tail.length; i++) { + context.push(tail[i]); + section(context, partials, this); + context.pop(); + } + }, + + // maybe start a section + s: function(val, ctx, partials, inverted, start, end, tags) { + var pass; + + if (isArray(val) && val.length === 0) { + return false; + } + + if (typeof val == 'function') { + val = this.ls(val, ctx, partials, inverted, start, end, tags); + } + + pass = (val === '') || !!val; + + if (!inverted && pass && ctx) { + ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]); + } + + return pass; + }, + + // find values with dotted names + d: function(key, ctx, partials, returnFound) { + var names = key.split('.'), + val = this.f(names[0], ctx, partials, returnFound), + cx = null; + + if (key === '.' && isArray(ctx[ctx.length - 2])) { + return ctx[ctx.length - 1]; + } + + for (var i = 1; i < names.length; i++) { + if (val && typeof val == 'object' && names[i] in val) { + cx = val; + val = val[names[i]]; + } else { + val = ''; + } + } + + if (returnFound && !val) { + return false; + } + + if (!returnFound && typeof val == 'function') { + ctx.push(cx); + val = this.lv(val, ctx, partials); + ctx.pop(); + } + + return val; + }, + + // find values with normal names + f: function(key, ctx, partials, returnFound) { + var val = false, + v = null, + found = false; + + for (var i = ctx.length - 1; i >= 0; i--) { + v = ctx[i]; + if (v && typeof v == 'object' && key in v) { + val = v[key]; + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.lv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ho: function(val, cx, partials, text, tags) { + var compiler = this.c; + var t = val.call(cx, text, function(t) { + return compiler.compile(t, {delimiters: tags}).render(cx, partials); + }); + this.b(compiler.compile(t.toString(), {delimiters: tags}).render(cx, partials)); + return false; + }, + + // template result buffering + b: (useArrayBuffer) ? function(s) { this.buf.push(s); } : + function(s) { this.buf += s; }, + fl: (useArrayBuffer) ? function() { var r = this.buf.join(''); this.buf = []; return r; } : + function() { var r = this.buf; this.buf = ''; return r; }, + + // lambda replace section + ls: function(val, ctx, partials, inverted, start, end, tags) { + var cx = ctx[ctx.length - 1], + t = null; + + if (!inverted && this.c && val.length > 0) { + return this.ho(val, cx, partials, this.text.substring(start, end), tags); + } + + t = val.call(cx); + + if (typeof t == 'function') { + if (inverted) { + return true; + } else if (this.c) { + return this.ho(t, cx, partials, this.text.substring(start, end), tags); + } + } + + return t; + }, + + // lambda replace variable + lv: function(val, ctx, partials) { + var cx = ctx[ctx.length - 1]; + var result = val.call(cx); + if (typeof result == 'function') { + result = result.call(cx); + } + result = result.toString(); + + if (this.c && ~result.indexOf("{{")) { + return this.c.compile(result).render(cx, partials); + } + + return result; + } + + }; + + var rAmp = /&/g, + rLt = //g, + rApos =/\'/g, + rQuot = /\"/g, + hChars =/[&<>\"\']/; + + function hoganEscape(str) { + str = String((str === null || str === undefined) ? '' : str); + return hChars.test(str) ? + str + .replace(rAmp,'&') + .replace(rLt,'<') + .replace(rGt,'>') + .replace(rApos,''') + .replace(rQuot, '"') : + str; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + }; + +})(typeof exports !== 'undefined' ? exports : Hogan); + diff --git a/hogan-node/node_modules/hogan.js/web/builds/1.0.4/template-1.0.4.min.js b/hogan-node/node_modules/hogan.js/web/builds/1.0.4/template-1.0.4.min.js new file mode 100644 index 0000000..39bcfd3 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/1.0.4/template-1.0.4.min.js @@ -0,0 +1,5 @@ +/** +* @preserve Copyright 2012 Twitter, Inc. +* @license http://www.apache.org/licenses/LICENSE-2.0.txt +*/ +var Hogan={};(function(a,b){function i(a){return a=String(a===null||a===undefined?"":a),h.test(a)?a.replace(c,"&").replace(d,"<").replace(e,">").replace(f,"'").replace(g,"""):a}a.Template=function(a,c,d,e){this.r=a||this.r,this.c=d,this.options=e,this.text=c||"",this.buf=b?[]:""},a.Template.prototype={r:function(a,b,c){return""},v:i,render:function(b,c,d){return this.ri([b],c||{},d)},ri:function(a,b,c){return this.r(a,b,c)},rp:function(a,b,c,d){var e=c[a];return e?(this.c&&typeof e=="string"&&(e=this.c.compile(e,this.options)),e.ri(b,c,d)):""},rs:function(a,b,c){var d=a[a.length-1];if(!j(d)){c(a,b,this);return}for(var e=0;e=0;h--){f=b[h];if(f&&typeof f=="object"&&a in f){e=f[a],g=!0;break}}return g?(!d&&typeof e=="function"&&(e=this.lv(e,b,c)),e):d?!1:""},ho:function(a,b,c,d,e){var f=this.c,g=a.call(b,d,function(a){return f.compile(a,{delimiters:e}).render(b,c)});return this.b(f.compile(g.toString(),{delimiters:e}).render(b,c)),!1},b:b?function(a){this.buf.push(a)}:function(a){this.buf+=a},fl:b?function(){var a=this.buf.join("");return this.buf=[],a}:function(){var a=this.buf;return this.buf="",a},ls:function(a,b,c,d,e,f,g){var h=b[b.length-1],i=null;if(!d&&this.c&&a.length>0)return this.ho(a,h,c,this.text.substring(e,f),g);i=a.call(h);if(typeof i=="function"){if(d)return!0;if(this.c)return this.ho(i,h,c,this.text.substring(e,f),g)}return i},lv:function(a,b,c){var d=b[b.length-1],e=a.call(d);return typeof e=="function"&&(e=e.call(d)),e=e.toString(),this.c&&~e.indexOf("{{")?this.c.compile(e).render(d,c):e}};var c=/&/g,d=//g,f=/\'/g,g=/\"/g,h=/[&<>\"\']/,j=Array.isArray||function(a){return Object.prototype.toString.call(a)==="[object Array]"}})(typeof exports!="undefined"?exports:Hogan) \ No newline at end of file diff --git a/hogan-node/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.amd.js b/hogan-node/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.amd.js new file mode 100644 index 0000000..d171786 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.amd.js @@ -0,0 +1,585 @@ +/* + * Copyright 2011 Twitter, Inc. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + + +var Hogan = {}; + +(function (Hogan, useArrayBuffer) { + Hogan.Template = function (renderFunc, text, compiler, options) { + this.r = renderFunc || this.r; + this.c = compiler; + this.options = options; + this.text = text || ''; + this.buf = (useArrayBuffer) ? [] : ''; + } + + Hogan.Template.prototype = { + // render: replaced by generated code. + r: function (context, partials, indent) { return ''; }, + + // variable escaping + v: hoganEscape, + + // triple stache + t: coerceToString, + + render: function render(context, partials, indent) { + return this.ri([context], partials || {}, indent); + }, + + // render internal -- a hook for overrides that catches partials too + ri: function (context, partials, indent) { + return this.r(context, partials, indent); + }, + + // tries to find a partial in the curent scope and render it + rp: function(name, context, partials, indent) { + var partial = partials[name]; + + if (!partial) { + return ''; + } + + if (this.c && typeof partial == 'string') { + partial = this.c.compile(partial, this.options); + } + + return partial.ri(context, partials, indent); + }, + + // render a section + rs: function(context, partials, section) { + var tail = context[context.length - 1]; + + if (!isArray(tail)) { + section(context, partials, this); + return; + } + + for (var i = 0; i < tail.length; i++) { + context.push(tail[i]); + section(context, partials, this); + context.pop(); + } + }, + + // maybe start a section + s: function(val, ctx, partials, inverted, start, end, tags) { + var pass; + + if (isArray(val) && val.length === 0) { + return false; + } + + if (typeof val == 'function') { + val = this.ls(val, ctx, partials, inverted, start, end, tags); + } + + pass = (val === '') || !!val; + + if (!inverted && pass && ctx) { + ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]); + } + + return pass; + }, + + // find values with dotted names + d: function(key, ctx, partials, returnFound) { + var names = key.split('.'), + val = this.f(names[0], ctx, partials, returnFound), + cx = null; + + if (key === '.' && isArray(ctx[ctx.length - 2])) { + return ctx[ctx.length - 1]; + } + + for (var i = 1; i < names.length; i++) { + if (val && typeof val == 'object' && names[i] in val) { + cx = val; + val = val[names[i]]; + } else { + val = ''; + } + } + + if (returnFound && !val) { + return false; + } + + if (!returnFound && typeof val == 'function') { + ctx.push(cx); + val = this.lv(val, ctx, partials); + ctx.pop(); + } + + return val; + }, + + // find values with normal names + f: function(key, ctx, partials, returnFound) { + var val = false, + v = null, + found = false; + + for (var i = ctx.length - 1; i >= 0; i--) { + v = ctx[i]; + if (v && typeof v == 'object' && key in v) { + val = v[key]; + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.lv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ho: function(val, cx, partials, text, tags) { + var compiler = this.c; + var options = this.options; + options.delimiters = tags; + var t = val.call(cx, text, function(t) { + return compiler.compile(t, options).render(cx, partials); + }); + this.b(compiler.compile(t.toString(), options).render(cx, partials)); + return false; + }, + + // template result buffering + b: (useArrayBuffer) ? function(s) { this.buf.push(s); } : + function(s) { this.buf += s; }, + fl: (useArrayBuffer) ? function() { var r = this.buf.join(''); this.buf = []; return r; } : + function() { var r = this.buf; this.buf = ''; return r; }, + + // lambda replace section + ls: function(val, ctx, partials, inverted, start, end, tags) { + var cx = ctx[ctx.length - 1], + t = null; + + if (!inverted && this.c && val.length > 0) { + return this.ho(val, cx, partials, this.text.substring(start, end), tags); + } + + t = val.call(cx); + + if (typeof t == 'function') { + if (inverted) { + return true; + } else if (this.c) { + return this.ho(t, cx, partials, this.text.substring(start, end), tags); + } + } + + return t; + }, + + // lambda replace variable + lv: function(val, ctx, partials) { + var cx = ctx[ctx.length - 1]; + var result = val.call(cx); + if (typeof result == 'function') { + result = result.call(cx); + } + result = coerceToString(result); + + if (this.c && ~result.indexOf("{\u007B")) { + return this.c.compile(result, this.options).render(cx, partials); + } + + return result; + } + + }; + + var rAmp = /&/g, + rLt = //g, + rApos =/\'/g, + rQuot = /\"/g, + hChars =/[&<>\"\']/; + + + function coerceToString(val) { + return String((val === null || val === undefined) ? '' : val); + } + + function hoganEscape(str) { + str = coerceToString(str); + return hChars.test(str) ? + str + .replace(rAmp,'&') + .replace(rLt,'<') + .replace(rGt,'>') + .replace(rApos,''') + .replace(rQuot, '"') : + str; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + }; + +})(typeof exports !== 'undefined' ? exports : Hogan); + + + + +(function (Hogan) { + // Setup regex assignments + // remove whitespace according to Mustache spec + var rIsWhitespace = /\S/, + rQuot = /\"/g, + rNewline = /\n/g, + rCr = /\r/g, + rSlash = /\\/g, + tagTypes = { + '#': 1, '^': 2, '/': 3, '!': 4, '>': 5, + '<': 6, '=': 7, '_v': 8, '{': 9, '&': 10 + }; + + Hogan.scan = function scan(text, delimiters) { + var len = text.length, + IN_TEXT = 0, + IN_TAG_TYPE = 1, + IN_TAG = 2, + state = IN_TEXT, + tagType = null, + tag = null, + buf = '', + tokens = [], + seenTag = false, + i = 0, + lineStart = 0, + otag = '{{', + ctag = '}}'; + + function addBuf() { + if (buf.length > 0) { + tokens.push(new String(buf)); + buf = ''; + } + } + + function lineIsWhitespace() { + var isAllWhitespace = true; + for (var j = lineStart; j < tokens.length; j++) { + isAllWhitespace = + (tokens[j].tag && tagTypes[tokens[j].tag] < tagTypes['_v']) || + (!tokens[j].tag && tokens[j].match(rIsWhitespace) === null); + if (!isAllWhitespace) { + return false; + } + } + + return isAllWhitespace; + } + + function filterLine(haveSeenTag, noNewLine) { + addBuf(); + + if (haveSeenTag && lineIsWhitespace()) { + for (var j = lineStart, next; j < tokens.length; j++) { + if (!tokens[j].tag) { + if ((next = tokens[j+1]) && next.tag == '>') { + // set indent to token value + next.indent = tokens[j].toString() + } + tokens.splice(j, 1); + } + } + } else if (!noNewLine) { + tokens.push({tag:'\n'}); + } + + seenTag = false; + lineStart = tokens.length; + } + + function changeDelimiters(text, index) { + var close = '=' + ctag, + closeIndex = text.indexOf(close, index), + delimiters = trim( + text.substring(text.indexOf('=', index) + 1, closeIndex) + ).split(' '); + + otag = delimiters[0]; + ctag = delimiters[1]; + + return closeIndex + close.length - 1; + } + + if (delimiters) { + delimiters = delimiters.split(' '); + otag = delimiters[0]; + ctag = delimiters[1]; + } + + for (i = 0; i < len; i++) { + if (state == IN_TEXT) { + if (tagChange(otag, text, i)) { + --i; + addBuf(); + state = IN_TAG_TYPE; + } else { + if (text.charAt(i) == '\n') { + filterLine(seenTag); + } else { + buf += text.charAt(i); + } + } + } else if (state == IN_TAG_TYPE) { + i += otag.length - 1; + tag = tagTypes[text.charAt(i + 1)]; + tagType = tag ? text.charAt(i + 1) : '_v'; + if (tagType == '=') { + i = changeDelimiters(text, i); + state = IN_TEXT; + } else { + if (tag) { + i++; + } + state = IN_TAG; + } + seenTag = i; + } else { + if (tagChange(ctag, text, i)) { + tokens.push({tag: tagType, n: trim(buf), otag: otag, ctag: ctag, + i: (tagType == '/') ? seenTag - ctag.length : i + otag.length}); + buf = ''; + i += ctag.length - 1; + state = IN_TEXT; + if (tagType == '{') { + if (ctag == '}}') { + i++; + } else { + cleanTripleStache(tokens[tokens.length - 1]); + } + } + } else { + buf += text.charAt(i); + } + } + } + + filterLine(seenTag, true); + + return tokens; + } + + function cleanTripleStache(token) { + if (token.n.substr(token.n.length - 1) === '}') { + token.n = token.n.substring(0, token.n.length - 1); + } + } + + function trim(s) { + if (s.trim) { + return s.trim(); + } + + return s.replace(/^\s*|\s*$/g, ''); + } + + function tagChange(tag, text, index) { + if (text.charAt(index) != tag.charAt(0)) { + return false; + } + + for (var i = 1, l = tag.length; i < l; i++) { + if (text.charAt(index + i) != tag.charAt(i)) { + return false; + } + } + + return true; + } + + function buildTree(tokens, kind, stack, customTags) { + var instructions = [], + opener = null, + token = null; + + while (tokens.length > 0) { + token = tokens.shift(); + if (token.tag == '#' || token.tag == '^' || isOpener(token, customTags)) { + stack.push(token); + token.nodes = buildTree(tokens, token.tag, stack, customTags); + instructions.push(token); + } else if (token.tag == '/') { + if (stack.length === 0) { + throw new Error('Closing tag without opener: /' + token.n); + } + opener = stack.pop(); + if (token.n != opener.n && !isCloser(token.n, opener.n, customTags)) { + throw new Error('Nesting error: ' + opener.n + ' vs. ' + token.n); + } + opener.end = token.i; + return instructions; + } else { + instructions.push(token); + } + } + + if (stack.length > 0) { + throw new Error('missing closing tag: ' + stack.pop().n); + } + + return instructions; + } + + function isOpener(token, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].o == token.n) { + token.tag = '#'; + return true; + } + } + } + + function isCloser(close, open, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].c == close && tags[i].o == open) { + return true; + } + } + } + + function writeCode(tree) { + return 'var _=this;_.b(i=i||"");' + walk(tree) + 'return _.fl();'; + } + + Hogan.generate = function (code, text, options) { + if (options.asString) { + return 'function(c,p,i){' + code + ';}'; + } + + return new Hogan.Template(new Function('c', 'p', 'i', code), text, Hogan, options); + } + + function esc(s) { + return s.replace(rSlash, '\\\\') + .replace(rQuot, '\\\"') + .replace(rNewline, '\\n') + .replace(rCr, '\\r'); + } + + function chooseMethod(s) { + return (~s.indexOf('.')) ? 'd' : 'f'; + } + + function walk(tree) { + var code = ''; + for (var i = 0, l = tree.length; i < l; i++) { + var tag = tree[i].tag; + if (tag == '#') { + code += section(tree[i].nodes, tree[i].n, chooseMethod(tree[i].n), + tree[i].i, tree[i].end, tree[i].otag + " " + tree[i].ctag); + } else if (tag == '^') { + code += invertedSection(tree[i].nodes, tree[i].n, + chooseMethod(tree[i].n)); + } else if (tag == '<' || tag == '>') { + code += partial(tree[i]); + } else if (tag == '{' || tag == '&') { + code += tripleStache(tree[i].n, chooseMethod(tree[i].n)); + } else if (tag == '\n') { + code += text('"\\n"' + (tree.length-1 == i ? '' : ' + i')); + } else if (tag == '_v') { + code += variable(tree[i].n, chooseMethod(tree[i].n)); + } else if (tag === undefined) { + code += text('"' + esc(tree[i]) + '"'); + } + } + return code; + } + + function section(nodes, id, method, start, end, tags) { + return 'if(_.s(_.' + method + '("' + esc(id) + '",c,p,1),' + + 'c,p,0,' + start + ',' + end + ',"' + tags + '")){' + + '_.rs(c,p,' + + 'function(c,p,_){' + + walk(nodes) + + '});c.pop();}'; + } + + function invertedSection(nodes, id, method) { + return 'if(!_.s(_.' + method + '("' + esc(id) + '",c,p,1),c,p,1,0,0,"")){' + + walk(nodes) + + '};'; + } + + function partial(tok) { + return '_.b(_.rp("' + esc(tok.n) + '",c,p,"' + (tok.indent || '') + '"));'; + } + + function tripleStache(id, method) { + return '_.b(_.t(_.' + method + '("' + esc(id) + '",c,p,0)));'; + } + + function variable(id, method) { + return '_.b(_.v(_.' + method + '("' + esc(id) + '",c,p,0)));'; + } + + function text(id) { + return '_.b(' + id + ');'; + } + + Hogan.parse = function(tokens, text, options) { + options = options || {}; + return buildTree(tokens, '', [], options.sectionTags || []); + }, + + Hogan.cache = {}; + + Hogan.compile = function(text, options) { + // options + // + // asString: false (default) + // + // sectionTags: [{o: '_foo', c: 'foo'}] + // An array of object with o and c fields that indicate names for custom + // section tags. The example above allows parsing of {{_foo}}{{/foo}}. + // + // delimiters: A string that overrides the default delimiters. + // Example: "<% %>" + // + options = options || {}; + + var key = text + '||' + !!options.asString; + + var t = this.cache[key]; + + if (t) { + return t; + } + + t = this.generate(writeCode(this.parse(this.scan(text, options.delimiters), text, options)), text, options); + return this.cache[key] = t; + }; +})(typeof exports !== 'undefined' ? exports : Hogan); + + +if (typeof define === 'function' && define.amd) { + define(Hogan); +} diff --git a/hogan-node/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.common.js b/hogan-node/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.common.js new file mode 100644 index 0000000..f8e7c5a --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.common.js @@ -0,0 +1,585 @@ +/* + * Copyright 2011 Twitter, Inc. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + + +var Hogan = {}; + +(function (Hogan, useArrayBuffer) { + Hogan.Template = function (renderFunc, text, compiler, options) { + this.r = renderFunc || this.r; + this.c = compiler; + this.options = options; + this.text = text || ''; + this.buf = (useArrayBuffer) ? [] : ''; + } + + Hogan.Template.prototype = { + // render: replaced by generated code. + r: function (context, partials, indent) { return ''; }, + + // variable escaping + v: hoganEscape, + + // triple stache + t: coerceToString, + + render: function render(context, partials, indent) { + return this.ri([context], partials || {}, indent); + }, + + // render internal -- a hook for overrides that catches partials too + ri: function (context, partials, indent) { + return this.r(context, partials, indent); + }, + + // tries to find a partial in the curent scope and render it + rp: function(name, context, partials, indent) { + var partial = partials[name]; + + if (!partial) { + return ''; + } + + if (this.c && typeof partial == 'string') { + partial = this.c.compile(partial, this.options); + } + + return partial.ri(context, partials, indent); + }, + + // render a section + rs: function(context, partials, section) { + var tail = context[context.length - 1]; + + if (!isArray(tail)) { + section(context, partials, this); + return; + } + + for (var i = 0; i < tail.length; i++) { + context.push(tail[i]); + section(context, partials, this); + context.pop(); + } + }, + + // maybe start a section + s: function(val, ctx, partials, inverted, start, end, tags) { + var pass; + + if (isArray(val) && val.length === 0) { + return false; + } + + if (typeof val == 'function') { + val = this.ls(val, ctx, partials, inverted, start, end, tags); + } + + pass = (val === '') || !!val; + + if (!inverted && pass && ctx) { + ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]); + } + + return pass; + }, + + // find values with dotted names + d: function(key, ctx, partials, returnFound) { + var names = key.split('.'), + val = this.f(names[0], ctx, partials, returnFound), + cx = null; + + if (key === '.' && isArray(ctx[ctx.length - 2])) { + return ctx[ctx.length - 1]; + } + + for (var i = 1; i < names.length; i++) { + if (val && typeof val == 'object' && names[i] in val) { + cx = val; + val = val[names[i]]; + } else { + val = ''; + } + } + + if (returnFound && !val) { + return false; + } + + if (!returnFound && typeof val == 'function') { + ctx.push(cx); + val = this.lv(val, ctx, partials); + ctx.pop(); + } + + return val; + }, + + // find values with normal names + f: function(key, ctx, partials, returnFound) { + var val = false, + v = null, + found = false; + + for (var i = ctx.length - 1; i >= 0; i--) { + v = ctx[i]; + if (v && typeof v == 'object' && key in v) { + val = v[key]; + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.lv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ho: function(val, cx, partials, text, tags) { + var compiler = this.c; + var options = this.options; + options.delimiters = tags; + var t = val.call(cx, text, function(t) { + return compiler.compile(t, options).render(cx, partials); + }); + this.b(compiler.compile(t.toString(), options).render(cx, partials)); + return false; + }, + + // template result buffering + b: (useArrayBuffer) ? function(s) { this.buf.push(s); } : + function(s) { this.buf += s; }, + fl: (useArrayBuffer) ? function() { var r = this.buf.join(''); this.buf = []; return r; } : + function() { var r = this.buf; this.buf = ''; return r; }, + + // lambda replace section + ls: function(val, ctx, partials, inverted, start, end, tags) { + var cx = ctx[ctx.length - 1], + t = null; + + if (!inverted && this.c && val.length > 0) { + return this.ho(val, cx, partials, this.text.substring(start, end), tags); + } + + t = val.call(cx); + + if (typeof t == 'function') { + if (inverted) { + return true; + } else if (this.c) { + return this.ho(t, cx, partials, this.text.substring(start, end), tags); + } + } + + return t; + }, + + // lambda replace variable + lv: function(val, ctx, partials) { + var cx = ctx[ctx.length - 1]; + var result = val.call(cx); + if (typeof result == 'function') { + result = result.call(cx); + } + result = coerceToString(result); + + if (this.c && ~result.indexOf("{\u007B")) { + return this.c.compile(result, this.options).render(cx, partials); + } + + return result; + } + + }; + + var rAmp = /&/g, + rLt = //g, + rApos =/\'/g, + rQuot = /\"/g, + hChars =/[&<>\"\']/; + + + function coerceToString(val) { + return String((val === null || val === undefined) ? '' : val); + } + + function hoganEscape(str) { + str = coerceToString(str); + return hChars.test(str) ? + str + .replace(rAmp,'&') + .replace(rLt,'<') + .replace(rGt,'>') + .replace(rApos,''') + .replace(rQuot, '"') : + str; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + }; + +})(typeof exports !== 'undefined' ? exports : Hogan); + + + + +(function (Hogan) { + // Setup regex assignments + // remove whitespace according to Mustache spec + var rIsWhitespace = /\S/, + rQuot = /\"/g, + rNewline = /\n/g, + rCr = /\r/g, + rSlash = /\\/g, + tagTypes = { + '#': 1, '^': 2, '/': 3, '!': 4, '>': 5, + '<': 6, '=': 7, '_v': 8, '{': 9, '&': 10 + }; + + Hogan.scan = function scan(text, delimiters) { + var len = text.length, + IN_TEXT = 0, + IN_TAG_TYPE = 1, + IN_TAG = 2, + state = IN_TEXT, + tagType = null, + tag = null, + buf = '', + tokens = [], + seenTag = false, + i = 0, + lineStart = 0, + otag = '{{', + ctag = '}}'; + + function addBuf() { + if (buf.length > 0) { + tokens.push(new String(buf)); + buf = ''; + } + } + + function lineIsWhitespace() { + var isAllWhitespace = true; + for (var j = lineStart; j < tokens.length; j++) { + isAllWhitespace = + (tokens[j].tag && tagTypes[tokens[j].tag] < tagTypes['_v']) || + (!tokens[j].tag && tokens[j].match(rIsWhitespace) === null); + if (!isAllWhitespace) { + return false; + } + } + + return isAllWhitespace; + } + + function filterLine(haveSeenTag, noNewLine) { + addBuf(); + + if (haveSeenTag && lineIsWhitespace()) { + for (var j = lineStart, next; j < tokens.length; j++) { + if (!tokens[j].tag) { + if ((next = tokens[j+1]) && next.tag == '>') { + // set indent to token value + next.indent = tokens[j].toString() + } + tokens.splice(j, 1); + } + } + } else if (!noNewLine) { + tokens.push({tag:'\n'}); + } + + seenTag = false; + lineStart = tokens.length; + } + + function changeDelimiters(text, index) { + var close = '=' + ctag, + closeIndex = text.indexOf(close, index), + delimiters = trim( + text.substring(text.indexOf('=', index) + 1, closeIndex) + ).split(' '); + + otag = delimiters[0]; + ctag = delimiters[1]; + + return closeIndex + close.length - 1; + } + + if (delimiters) { + delimiters = delimiters.split(' '); + otag = delimiters[0]; + ctag = delimiters[1]; + } + + for (i = 0; i < len; i++) { + if (state == IN_TEXT) { + if (tagChange(otag, text, i)) { + --i; + addBuf(); + state = IN_TAG_TYPE; + } else { + if (text.charAt(i) == '\n') { + filterLine(seenTag); + } else { + buf += text.charAt(i); + } + } + } else if (state == IN_TAG_TYPE) { + i += otag.length - 1; + tag = tagTypes[text.charAt(i + 1)]; + tagType = tag ? text.charAt(i + 1) : '_v'; + if (tagType == '=') { + i = changeDelimiters(text, i); + state = IN_TEXT; + } else { + if (tag) { + i++; + } + state = IN_TAG; + } + seenTag = i; + } else { + if (tagChange(ctag, text, i)) { + tokens.push({tag: tagType, n: trim(buf), otag: otag, ctag: ctag, + i: (tagType == '/') ? seenTag - ctag.length : i + otag.length}); + buf = ''; + i += ctag.length - 1; + state = IN_TEXT; + if (tagType == '{') { + if (ctag == '}}') { + i++; + } else { + cleanTripleStache(tokens[tokens.length - 1]); + } + } + } else { + buf += text.charAt(i); + } + } + } + + filterLine(seenTag, true); + + return tokens; + } + + function cleanTripleStache(token) { + if (token.n.substr(token.n.length - 1) === '}') { + token.n = token.n.substring(0, token.n.length - 1); + } + } + + function trim(s) { + if (s.trim) { + return s.trim(); + } + + return s.replace(/^\s*|\s*$/g, ''); + } + + function tagChange(tag, text, index) { + if (text.charAt(index) != tag.charAt(0)) { + return false; + } + + for (var i = 1, l = tag.length; i < l; i++) { + if (text.charAt(index + i) != tag.charAt(i)) { + return false; + } + } + + return true; + } + + function buildTree(tokens, kind, stack, customTags) { + var instructions = [], + opener = null, + token = null; + + while (tokens.length > 0) { + token = tokens.shift(); + if (token.tag == '#' || token.tag == '^' || isOpener(token, customTags)) { + stack.push(token); + token.nodes = buildTree(tokens, token.tag, stack, customTags); + instructions.push(token); + } else if (token.tag == '/') { + if (stack.length === 0) { + throw new Error('Closing tag without opener: /' + token.n); + } + opener = stack.pop(); + if (token.n != opener.n && !isCloser(token.n, opener.n, customTags)) { + throw new Error('Nesting error: ' + opener.n + ' vs. ' + token.n); + } + opener.end = token.i; + return instructions; + } else { + instructions.push(token); + } + } + + if (stack.length > 0) { + throw new Error('missing closing tag: ' + stack.pop().n); + } + + return instructions; + } + + function isOpener(token, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].o == token.n) { + token.tag = '#'; + return true; + } + } + } + + function isCloser(close, open, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].c == close && tags[i].o == open) { + return true; + } + } + } + + function writeCode(tree) { + return 'var _=this;_.b(i=i||"");' + walk(tree) + 'return _.fl();'; + } + + Hogan.generate = function (code, text, options) { + if (options.asString) { + return 'function(c,p,i){' + code + ';}'; + } + + return new Hogan.Template(new Function('c', 'p', 'i', code), text, Hogan, options); + } + + function esc(s) { + return s.replace(rSlash, '\\\\') + .replace(rQuot, '\\\"') + .replace(rNewline, '\\n') + .replace(rCr, '\\r'); + } + + function chooseMethod(s) { + return (~s.indexOf('.')) ? 'd' : 'f'; + } + + function walk(tree) { + var code = ''; + for (var i = 0, l = tree.length; i < l; i++) { + var tag = tree[i].tag; + if (tag == '#') { + code += section(tree[i].nodes, tree[i].n, chooseMethod(tree[i].n), + tree[i].i, tree[i].end, tree[i].otag + " " + tree[i].ctag); + } else if (tag == '^') { + code += invertedSection(tree[i].nodes, tree[i].n, + chooseMethod(tree[i].n)); + } else if (tag == '<' || tag == '>') { + code += partial(tree[i]); + } else if (tag == '{' || tag == '&') { + code += tripleStache(tree[i].n, chooseMethod(tree[i].n)); + } else if (tag == '\n') { + code += text('"\\n"' + (tree.length-1 == i ? '' : ' + i')); + } else if (tag == '_v') { + code += variable(tree[i].n, chooseMethod(tree[i].n)); + } else if (tag === undefined) { + code += text('"' + esc(tree[i]) + '"'); + } + } + return code; + } + + function section(nodes, id, method, start, end, tags) { + return 'if(_.s(_.' + method + '("' + esc(id) + '",c,p,1),' + + 'c,p,0,' + start + ',' + end + ',"' + tags + '")){' + + '_.rs(c,p,' + + 'function(c,p,_){' + + walk(nodes) + + '});c.pop();}'; + } + + function invertedSection(nodes, id, method) { + return 'if(!_.s(_.' + method + '("' + esc(id) + '",c,p,1),c,p,1,0,0,"")){' + + walk(nodes) + + '};'; + } + + function partial(tok) { + return '_.b(_.rp("' + esc(tok.n) + '",c,p,"' + (tok.indent || '') + '"));'; + } + + function tripleStache(id, method) { + return '_.b(_.t(_.' + method + '("' + esc(id) + '",c,p,0)));'; + } + + function variable(id, method) { + return '_.b(_.v(_.' + method + '("' + esc(id) + '",c,p,0)));'; + } + + function text(id) { + return '_.b(' + id + ');'; + } + + Hogan.parse = function(tokens, text, options) { + options = options || {}; + return buildTree(tokens, '', [], options.sectionTags || []); + }, + + Hogan.cache = {}; + + Hogan.compile = function(text, options) { + // options + // + // asString: false (default) + // + // sectionTags: [{o: '_foo', c: 'foo'}] + // An array of object with o and c fields that indicate names for custom + // section tags. The example above allows parsing of {{_foo}}{{/foo}}. + // + // delimiters: A string that overrides the default delimiters. + // Example: "<% %>" + // + options = options || {}; + + var key = text + '||' + !!options.asString; + + var t = this.cache[key]; + + if (t) { + return t; + } + + t = this.generate(writeCode(this.parse(this.scan(text, options.delimiters), text, options)), text, options); + return this.cache[key] = t; + }; +})(typeof exports !== 'undefined' ? exports : Hogan); + + +if (typeof module !== 'undefined' && module.exports) { + module.exports = Hogan; +} diff --git a/hogan-node/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.js b/hogan-node/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.js new file mode 100644 index 0000000..ffa958b --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.js @@ -0,0 +1,581 @@ +/* + * Copyright 2011 Twitter, Inc. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + + +var Hogan = {}; + +(function (Hogan, useArrayBuffer) { + Hogan.Template = function (renderFunc, text, compiler, options) { + this.r = renderFunc || this.r; + this.c = compiler; + this.options = options; + this.text = text || ''; + this.buf = (useArrayBuffer) ? [] : ''; + } + + Hogan.Template.prototype = { + // render: replaced by generated code. + r: function (context, partials, indent) { return ''; }, + + // variable escaping + v: hoganEscape, + + // triple stache + t: coerceToString, + + render: function render(context, partials, indent) { + return this.ri([context], partials || {}, indent); + }, + + // render internal -- a hook for overrides that catches partials too + ri: function (context, partials, indent) { + return this.r(context, partials, indent); + }, + + // tries to find a partial in the curent scope and render it + rp: function(name, context, partials, indent) { + var partial = partials[name]; + + if (!partial) { + return ''; + } + + if (this.c && typeof partial == 'string') { + partial = this.c.compile(partial, this.options); + } + + return partial.ri(context, partials, indent); + }, + + // render a section + rs: function(context, partials, section) { + var tail = context[context.length - 1]; + + if (!isArray(tail)) { + section(context, partials, this); + return; + } + + for (var i = 0; i < tail.length; i++) { + context.push(tail[i]); + section(context, partials, this); + context.pop(); + } + }, + + // maybe start a section + s: function(val, ctx, partials, inverted, start, end, tags) { + var pass; + + if (isArray(val) && val.length === 0) { + return false; + } + + if (typeof val == 'function') { + val = this.ls(val, ctx, partials, inverted, start, end, tags); + } + + pass = (val === '') || !!val; + + if (!inverted && pass && ctx) { + ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]); + } + + return pass; + }, + + // find values with dotted names + d: function(key, ctx, partials, returnFound) { + var names = key.split('.'), + val = this.f(names[0], ctx, partials, returnFound), + cx = null; + + if (key === '.' && isArray(ctx[ctx.length - 2])) { + return ctx[ctx.length - 1]; + } + + for (var i = 1; i < names.length; i++) { + if (val && typeof val == 'object' && names[i] in val) { + cx = val; + val = val[names[i]]; + } else { + val = ''; + } + } + + if (returnFound && !val) { + return false; + } + + if (!returnFound && typeof val == 'function') { + ctx.push(cx); + val = this.lv(val, ctx, partials); + ctx.pop(); + } + + return val; + }, + + // find values with normal names + f: function(key, ctx, partials, returnFound) { + var val = false, + v = null, + found = false; + + for (var i = ctx.length - 1; i >= 0; i--) { + v = ctx[i]; + if (v && typeof v == 'object' && key in v) { + val = v[key]; + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.lv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ho: function(val, cx, partials, text, tags) { + var compiler = this.c; + var options = this.options; + options.delimiters = tags; + var t = val.call(cx, text, function(t) { + return compiler.compile(t, options).render(cx, partials); + }); + this.b(compiler.compile(t.toString(), options).render(cx, partials)); + return false; + }, + + // template result buffering + b: (useArrayBuffer) ? function(s) { this.buf.push(s); } : + function(s) { this.buf += s; }, + fl: (useArrayBuffer) ? function() { var r = this.buf.join(''); this.buf = []; return r; } : + function() { var r = this.buf; this.buf = ''; return r; }, + + // lambda replace section + ls: function(val, ctx, partials, inverted, start, end, tags) { + var cx = ctx[ctx.length - 1], + t = null; + + if (!inverted && this.c && val.length > 0) { + return this.ho(val, cx, partials, this.text.substring(start, end), tags); + } + + t = val.call(cx); + + if (typeof t == 'function') { + if (inverted) { + return true; + } else if (this.c) { + return this.ho(t, cx, partials, this.text.substring(start, end), tags); + } + } + + return t; + }, + + // lambda replace variable + lv: function(val, ctx, partials) { + var cx = ctx[ctx.length - 1]; + var result = val.call(cx); + if (typeof result == 'function') { + result = result.call(cx); + } + result = coerceToString(result); + + if (this.c && ~result.indexOf("{\u007B")) { + return this.c.compile(result, this.options).render(cx, partials); + } + + return result; + } + + }; + + var rAmp = /&/g, + rLt = //g, + rApos =/\'/g, + rQuot = /\"/g, + hChars =/[&<>\"\']/; + + + function coerceToString(val) { + return String((val === null || val === undefined) ? '' : val); + } + + function hoganEscape(str) { + str = coerceToString(str); + return hChars.test(str) ? + str + .replace(rAmp,'&') + .replace(rLt,'<') + .replace(rGt,'>') + .replace(rApos,''') + .replace(rQuot, '"') : + str; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + }; + +})(typeof exports !== 'undefined' ? exports : Hogan); + + + + +(function (Hogan) { + // Setup regex assignments + // remove whitespace according to Mustache spec + var rIsWhitespace = /\S/, + rQuot = /\"/g, + rNewline = /\n/g, + rCr = /\r/g, + rSlash = /\\/g, + tagTypes = { + '#': 1, '^': 2, '/': 3, '!': 4, '>': 5, + '<': 6, '=': 7, '_v': 8, '{': 9, '&': 10 + }; + + Hogan.scan = function scan(text, delimiters) { + var len = text.length, + IN_TEXT = 0, + IN_TAG_TYPE = 1, + IN_TAG = 2, + state = IN_TEXT, + tagType = null, + tag = null, + buf = '', + tokens = [], + seenTag = false, + i = 0, + lineStart = 0, + otag = '{{', + ctag = '}}'; + + function addBuf() { + if (buf.length > 0) { + tokens.push(new String(buf)); + buf = ''; + } + } + + function lineIsWhitespace() { + var isAllWhitespace = true; + for (var j = lineStart; j < tokens.length; j++) { + isAllWhitespace = + (tokens[j].tag && tagTypes[tokens[j].tag] < tagTypes['_v']) || + (!tokens[j].tag && tokens[j].match(rIsWhitespace) === null); + if (!isAllWhitespace) { + return false; + } + } + + return isAllWhitespace; + } + + function filterLine(haveSeenTag, noNewLine) { + addBuf(); + + if (haveSeenTag && lineIsWhitespace()) { + for (var j = lineStart, next; j < tokens.length; j++) { + if (!tokens[j].tag) { + if ((next = tokens[j+1]) && next.tag == '>') { + // set indent to token value + next.indent = tokens[j].toString() + } + tokens.splice(j, 1); + } + } + } else if (!noNewLine) { + tokens.push({tag:'\n'}); + } + + seenTag = false; + lineStart = tokens.length; + } + + function changeDelimiters(text, index) { + var close = '=' + ctag, + closeIndex = text.indexOf(close, index), + delimiters = trim( + text.substring(text.indexOf('=', index) + 1, closeIndex) + ).split(' '); + + otag = delimiters[0]; + ctag = delimiters[1]; + + return closeIndex + close.length - 1; + } + + if (delimiters) { + delimiters = delimiters.split(' '); + otag = delimiters[0]; + ctag = delimiters[1]; + } + + for (i = 0; i < len; i++) { + if (state == IN_TEXT) { + if (tagChange(otag, text, i)) { + --i; + addBuf(); + state = IN_TAG_TYPE; + } else { + if (text.charAt(i) == '\n') { + filterLine(seenTag); + } else { + buf += text.charAt(i); + } + } + } else if (state == IN_TAG_TYPE) { + i += otag.length - 1; + tag = tagTypes[text.charAt(i + 1)]; + tagType = tag ? text.charAt(i + 1) : '_v'; + if (tagType == '=') { + i = changeDelimiters(text, i); + state = IN_TEXT; + } else { + if (tag) { + i++; + } + state = IN_TAG; + } + seenTag = i; + } else { + if (tagChange(ctag, text, i)) { + tokens.push({tag: tagType, n: trim(buf), otag: otag, ctag: ctag, + i: (tagType == '/') ? seenTag - ctag.length : i + otag.length}); + buf = ''; + i += ctag.length - 1; + state = IN_TEXT; + if (tagType == '{') { + if (ctag == '}}') { + i++; + } else { + cleanTripleStache(tokens[tokens.length - 1]); + } + } + } else { + buf += text.charAt(i); + } + } + } + + filterLine(seenTag, true); + + return tokens; + } + + function cleanTripleStache(token) { + if (token.n.substr(token.n.length - 1) === '}') { + token.n = token.n.substring(0, token.n.length - 1); + } + } + + function trim(s) { + if (s.trim) { + return s.trim(); + } + + return s.replace(/^\s*|\s*$/g, ''); + } + + function tagChange(tag, text, index) { + if (text.charAt(index) != tag.charAt(0)) { + return false; + } + + for (var i = 1, l = tag.length; i < l; i++) { + if (text.charAt(index + i) != tag.charAt(i)) { + return false; + } + } + + return true; + } + + function buildTree(tokens, kind, stack, customTags) { + var instructions = [], + opener = null, + token = null; + + while (tokens.length > 0) { + token = tokens.shift(); + if (token.tag == '#' || token.tag == '^' || isOpener(token, customTags)) { + stack.push(token); + token.nodes = buildTree(tokens, token.tag, stack, customTags); + instructions.push(token); + } else if (token.tag == '/') { + if (stack.length === 0) { + throw new Error('Closing tag without opener: /' + token.n); + } + opener = stack.pop(); + if (token.n != opener.n && !isCloser(token.n, opener.n, customTags)) { + throw new Error('Nesting error: ' + opener.n + ' vs. ' + token.n); + } + opener.end = token.i; + return instructions; + } else { + instructions.push(token); + } + } + + if (stack.length > 0) { + throw new Error('missing closing tag: ' + stack.pop().n); + } + + return instructions; + } + + function isOpener(token, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].o == token.n) { + token.tag = '#'; + return true; + } + } + } + + function isCloser(close, open, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].c == close && tags[i].o == open) { + return true; + } + } + } + + function writeCode(tree) { + return 'var _=this;_.b(i=i||"");' + walk(tree) + 'return _.fl();'; + } + + Hogan.generate = function (code, text, options) { + if (options.asString) { + return 'function(c,p,i){' + code + ';}'; + } + + return new Hogan.Template(new Function('c', 'p', 'i', code), text, Hogan, options); + } + + function esc(s) { + return s.replace(rSlash, '\\\\') + .replace(rQuot, '\\\"') + .replace(rNewline, '\\n') + .replace(rCr, '\\r'); + } + + function chooseMethod(s) { + return (~s.indexOf('.')) ? 'd' : 'f'; + } + + function walk(tree) { + var code = ''; + for (var i = 0, l = tree.length; i < l; i++) { + var tag = tree[i].tag; + if (tag == '#') { + code += section(tree[i].nodes, tree[i].n, chooseMethod(tree[i].n), + tree[i].i, tree[i].end, tree[i].otag + " " + tree[i].ctag); + } else if (tag == '^') { + code += invertedSection(tree[i].nodes, tree[i].n, + chooseMethod(tree[i].n)); + } else if (tag == '<' || tag == '>') { + code += partial(tree[i]); + } else if (tag == '{' || tag == '&') { + code += tripleStache(tree[i].n, chooseMethod(tree[i].n)); + } else if (tag == '\n') { + code += text('"\\n"' + (tree.length-1 == i ? '' : ' + i')); + } else if (tag == '_v') { + code += variable(tree[i].n, chooseMethod(tree[i].n)); + } else if (tag === undefined) { + code += text('"' + esc(tree[i]) + '"'); + } + } + return code; + } + + function section(nodes, id, method, start, end, tags) { + return 'if(_.s(_.' + method + '("' + esc(id) + '",c,p,1),' + + 'c,p,0,' + start + ',' + end + ',"' + tags + '")){' + + '_.rs(c,p,' + + 'function(c,p,_){' + + walk(nodes) + + '});c.pop();}'; + } + + function invertedSection(nodes, id, method) { + return 'if(!_.s(_.' + method + '("' + esc(id) + '",c,p,1),c,p,1,0,0,"")){' + + walk(nodes) + + '};'; + } + + function partial(tok) { + return '_.b(_.rp("' + esc(tok.n) + '",c,p,"' + (tok.indent || '') + '"));'; + } + + function tripleStache(id, method) { + return '_.b(_.t(_.' + method + '("' + esc(id) + '",c,p,0)));'; + } + + function variable(id, method) { + return '_.b(_.v(_.' + method + '("' + esc(id) + '",c,p,0)));'; + } + + function text(id) { + return '_.b(' + id + ');'; + } + + Hogan.parse = function(tokens, text, options) { + options = options || {}; + return buildTree(tokens, '', [], options.sectionTags || []); + }, + + Hogan.cache = {}; + + Hogan.compile = function(text, options) { + // options + // + // asString: false (default) + // + // sectionTags: [{o: '_foo', c: 'foo'}] + // An array of object with o and c fields that indicate names for custom + // section tags. The example above allows parsing of {{_foo}}{{/foo}}. + // + // delimiters: A string that overrides the default delimiters. + // Example: "<% %>" + // + options = options || {}; + + var key = text + '||' + !!options.asString; + + var t = this.cache[key]; + + if (t) { + return t; + } + + t = this.generate(writeCode(this.parse(this.scan(text, options.delimiters), text, options)), text, options); + return this.cache[key] = t; + }; +})(typeof exports !== 'undefined' ? exports : Hogan); + diff --git a/hogan-node/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.min.amd.js b/hogan-node/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.min.amd.js new file mode 100644 index 0000000..ad60c15 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/1.0.5/hogan-1.0.5.min.amd.js @@ -0,0 +1,5 @@ +/** +* @preserve Copyright 2012 Twitter, Inc. +* @license http://www.apache.org/licenses/LICENSE-2.0.txt +*/ +var Hogan={};(function(a,b){function i(a){return String(a===null||a===undefined?"":a)}function j(a){return a=i(a),h.test(a)?a.replace(c,"&").replace(d,"<").replace(e,">").replace(f,"'").replace(g,"""):a}a.Template=function(a,c,d,e){this.r=a||this.r,this.c=d,this.options=e,this.text=c||"",this.buf=b?[]:""},a.Template.prototype={r:function(a,b,c){return""},v:j,t:i,render:function(b,c,d){return this.ri([b],c||{},d)},ri:function(a,b,c){return this.r(a,b,c)},rp:function(a,b,c,d){var e=c[a];return e?(this.c&&typeof e=="string"&&(e=this.c.compile(e,this.options)),e.ri(b,c,d)):""},rs:function(a,b,c){var d=a[a.length-1];if(!k(d)){c(a,b,this);return}for(var e=0;e=0;h--){f=b[h];if(f&&typeof f=="object"&&a in f){e=f[a],g=!0;break}}return g?(!d&&typeof e=="function"&&(e=this.lv(e,b,c)),e):d?!1:""},ho:function(a,b,c,d,e){var f=this.c,g=this.options;g.delimiters=e;var h=a.call(b,d,function(a){return f.compile(a,g).render(b,c)});return this.b(f.compile(h.toString(),g).render(b,c)),!1},b:b?function(a){this.buf.push(a)}:function(a){this.buf+=a},fl:b?function(){var a=this.buf.join("");return this.buf=[],a}:function(){var a=this.buf;return this.buf="",a},ls:function(a,b,c,d,e,f,g){var h=b[b.length-1],i=null;if(!d&&this.c&&a.length>0)return this.ho(a,h,c,this.text.substring(e,f),g);i=a.call(h);if(typeof i=="function"){if(d)return!0;if(this.c)return this.ho(i,h,c,this.text.substring(e,f),g)}return i},lv:function(a,b,c){var d=b[b.length-1],e=a.call(d);return typeof e=="function"&&(e=e.call(d)),e=i(e),this.c&&~e.indexOf("{{")?this.c.compile(e,this.options).render(d,c):e}};var c=/&/g,d=//g,f=/\'/g,g=/\"/g,h=/[&<>\"\']/,k=Array.isArray||function(a){return Object.prototype.toString.call(a)==="[object Array]"}})(typeof exports!="undefined"?exports:Hogan),function(a){function h(a){a.n.substr(a.n.length-1)==="}"&&(a.n=a.n.substring(0,a.n.length-1))}function i(a){return a.trim?a.trim():a.replace(/^\s*|\s*$/g,"")}function j(a,b,c){if(b.charAt(c)!=a.charAt(0))return!1;for(var d=1,e=a.length;d0){g=a.shift();if(g.tag=="#"||g.tag=="^"||l(g,d))c.push(g),g.nodes=k(a,g.tag,c,d),e.push(g);else{if(g.tag=="/"){if(c.length===0)throw new Error("Closing tag without opener: /"+g.n);f=c.pop();if(g.n!=f.n&&!m(g.n,f.n,d))throw new Error("Nesting error: "+f.n+" vs. "+g.n);return f.end=g.i,e}e.push(g)}}if(c.length>0)throw new Error("missing closing tag: "+c.pop().n);return e}function l(a,b){for(var c=0,d=b.length;c"?b+=t(a[c]):e=="{"||e=="&"?b+=u(a[c].n,p(a[c].n)):e=="\n"?b+=w('"\\n"'+(a.length-1==c?"":" + i")):e=="_v"?b+=v(a[c].n,p(a[c].n)):e===undefined&&(b+=w('"'+o(a[c])+'"'))}return b}function r(a,b,c,d,e,f){return"if(_.s(_."+c+'("'+o(b)+'",c,p,1),'+"c,p,0,"+d+","+e+',"'+f+'")){'+"_.rs(c,p,"+"function(c,p,_){"+q(a)+"});c.pop();}"}function s(a,b,c){return"if(!_.s(_."+c+'("'+o(b)+'",c,p,1),c,p,1,0,0,"")){'+q(a)+"};"}function t(a){return'_.b(_.rp("'+o(a.n)+'",c,p,"'+(a.indent||"")+'"));'}function u(a,b){return"_.b(_.t(_."+b+'("'+o(a)+'",c,p,0)));'}function v(a,b){return"_.b(_.v(_."+b+'("'+o(a)+'",c,p,0)));'}function w(a){return"_.b("+a+");"}var b=/\S/,c=/\"/g,d=/\n/g,e=/\r/g,f=/\\/g,g={"#":1,"^":2,"/":3,"!":4,">":5,"<":6,"=":7,_v:8,"{":9,"&":10};a.scan=function(c,d){function w(){p.length>0&&(q.push(new String(p)),p="")}function x(){var a=!0;for(var c=t;c"&&(d.indent=q[c].toString()),q.splice(c,1));else b||q.push({tag:"\n"});r=!1,t=q.length}function z(a,b){var c="="+v,d=a.indexOf(c,b),e=i(a.substring(a.indexOf("=",b)+1,d)).split(" ");return u=e[0],v=e[1],d+c.length-1}var e=c.length,f=0,k=1,l=2,m=f,n=null,o=null,p="",q=[],r=!1,s=0,t=0,u="{{",v="}}";d&&(d=d.split(" "),u=d[0],v=d[1]);for(s=0;s=0;h--){f=b[h];if(f&&typeof f=="object"&&a in f){e=f[a],g=!0;break}}return g?(!d&&typeof e=="function"&&(e=this.lv(e,b,c)),e):d?!1:""},ho:function(a,b,c,d,e){var f=this.c,g=this.options;g.delimiters=e;var h=a.call(b,d,function(a){return f.compile(a,g).render(b,c)});return this.b(f.compile(h.toString(),g).render(b,c)),!1},b:b?function(a){this.buf.push(a)}:function(a){this.buf+=a},fl:b?function(){var a=this.buf.join("");return this.buf=[],a}:function(){var a=this.buf;return this.buf="",a},ls:function(a,b,c,d,e,f,g){var h=b[b.length-1],i=null;if(!d&&this.c&&a.length>0)return this.ho(a,h,c,this.text.substring(e,f),g);i=a.call(h);if(typeof i=="function"){if(d)return!0;if(this.c)return this.ho(i,h,c,this.text.substring(e,f),g)}return i},lv:function(a,b,c){var d=b[b.length-1],e=a.call(d);return typeof e=="function"&&(e=e.call(d)),e=i(e),this.c&&~e.indexOf("{{")?this.c.compile(e,this.options).render(d,c):e}};var c=/&/g,d=//g,f=/\'/g,g=/\"/g,h=/[&<>\"\']/,k=Array.isArray||function(a){return Object.prototype.toString.call(a)==="[object Array]"}})(typeof exports!="undefined"?exports:Hogan),function(a){function h(a){a.n.substr(a.n.length-1)==="}"&&(a.n=a.n.substring(0,a.n.length-1))}function i(a){return a.trim?a.trim():a.replace(/^\s*|\s*$/g,"")}function j(a,b,c){if(b.charAt(c)!=a.charAt(0))return!1;for(var d=1,e=a.length;d0){g=a.shift();if(g.tag=="#"||g.tag=="^"||l(g,d))c.push(g),g.nodes=k(a,g.tag,c,d),e.push(g);else{if(g.tag=="/"){if(c.length===0)throw new Error("Closing tag without opener: /"+g.n);f=c.pop();if(g.n!=f.n&&!m(g.n,f.n,d))throw new Error("Nesting error: "+f.n+" vs. "+g.n);return f.end=g.i,e}e.push(g)}}if(c.length>0)throw new Error("missing closing tag: "+c.pop().n);return e}function l(a,b){for(var c=0,d=b.length;c"?b+=t(a[c]):e=="{"||e=="&"?b+=u(a[c].n,p(a[c].n)):e=="\n"?b+=w('"\\n"'+(a.length-1==c?"":" + i")):e=="_v"?b+=v(a[c].n,p(a[c].n)):e===undefined&&(b+=w('"'+o(a[c])+'"'))}return b}function r(a,b,c,d,e,f){return"if(_.s(_."+c+'("'+o(b)+'",c,p,1),'+"c,p,0,"+d+","+e+',"'+f+'")){'+"_.rs(c,p,"+"function(c,p,_){"+q(a)+"});c.pop();}"}function s(a,b,c){return"if(!_.s(_."+c+'("'+o(b)+'",c,p,1),c,p,1,0,0,"")){'+q(a)+"};"}function t(a){return'_.b(_.rp("'+o(a.n)+'",c,p,"'+(a.indent||"")+'"));'}function u(a,b){return"_.b(_.t(_."+b+'("'+o(a)+'",c,p,0)));'}function v(a,b){return"_.b(_.v(_."+b+'("'+o(a)+'",c,p,0)));'}function w(a){return"_.b("+a+");"}var b=/\S/,c=/\"/g,d=/\n/g,e=/\r/g,f=/\\/g,g={"#":1,"^":2,"/":3,"!":4,">":5,"<":6,"=":7,_v:8,"{":9,"&":10};a.scan=function(c,d){function w(){p.length>0&&(q.push(new String(p)),p="")}function x(){var a=!0;for(var c=t;c"&&(d.indent=q[c].toString()),q.splice(c,1));else b||q.push({tag:"\n"});r=!1,t=q.length}function z(a,b){var c="="+v,d=a.indexOf(c,b),e=i(a.substring(a.indexOf("=",b)+1,d)).split(" ");return u=e[0],v=e[1],d+c.length-1}var e=c.length,f=0,k=1,l=2,m=f,n=null,o=null,p="",q=[],r=!1,s=0,t=0,u="{{",v="}}";d&&(d=d.split(" "),u=d[0],v=d[1]);for(s=0;s=0;h--){f=b[h];if(f&&typeof f=="object"&&a in f){e=f[a],g=!0;break}}return g?(!d&&typeof e=="function"&&(e=this.lv(e,b,c)),e):d?!1:""},ho:function(a,b,c,d,e){var f=this.c,g=this.options;g.delimiters=e;var h=a.call(b,d,function(a){return f.compile(a,g).render(b,c)});return this.b(f.compile(h.toString(),g).render(b,c)),!1},b:b?function(a){this.buf.push(a)}:function(a){this.buf+=a},fl:b?function(){var a=this.buf.join("");return this.buf=[],a}:function(){var a=this.buf;return this.buf="",a},ls:function(a,b,c,d,e,f,g){var h=b[b.length-1],i=null;if(!d&&this.c&&a.length>0)return this.ho(a,h,c,this.text.substring(e,f),g);i=a.call(h);if(typeof i=="function"){if(d)return!0;if(this.c)return this.ho(i,h,c,this.text.substring(e,f),g)}return i},lv:function(a,b,c){var d=b[b.length-1],e=a.call(d);return typeof e=="function"&&(e=e.call(d)),e=i(e),this.c&&~e.indexOf("{{")?this.c.compile(e,this.options).render(d,c):e}};var c=/&/g,d=//g,f=/\'/g,g=/\"/g,h=/[&<>\"\']/,k=Array.isArray||function(a){return Object.prototype.toString.call(a)==="[object Array]"}})(typeof exports!="undefined"?exports:Hogan),function(a){function h(a){a.n.substr(a.n.length-1)==="}"&&(a.n=a.n.substring(0,a.n.length-1))}function i(a){return a.trim?a.trim():a.replace(/^\s*|\s*$/g,"")}function j(a,b,c){if(b.charAt(c)!=a.charAt(0))return!1;for(var d=1,e=a.length;d0){g=a.shift();if(g.tag=="#"||g.tag=="^"||l(g,d))c.push(g),g.nodes=k(a,g.tag,c,d),e.push(g);else{if(g.tag=="/"){if(c.length===0)throw new Error("Closing tag without opener: /"+g.n);f=c.pop();if(g.n!=f.n&&!m(g.n,f.n,d))throw new Error("Nesting error: "+f.n+" vs. "+g.n);return f.end=g.i,e}e.push(g)}}if(c.length>0)throw new Error("missing closing tag: "+c.pop().n);return e}function l(a,b){for(var c=0,d=b.length;c"?b+=t(a[c]):e=="{"||e=="&"?b+=u(a[c].n,p(a[c].n)):e=="\n"?b+=w('"\\n"'+(a.length-1==c?"":" + i")):e=="_v"?b+=v(a[c].n,p(a[c].n)):e===undefined&&(b+=w('"'+o(a[c])+'"'))}return b}function r(a,b,c,d,e,f){return"if(_.s(_."+c+'("'+o(b)+'",c,p,1),'+"c,p,0,"+d+","+e+',"'+f+'")){'+"_.rs(c,p,"+"function(c,p,_){"+q(a)+"});c.pop();}"}function s(a,b,c){return"if(!_.s(_."+c+'("'+o(b)+'",c,p,1),c,p,1,0,0,"")){'+q(a)+"};"}function t(a){return'_.b(_.rp("'+o(a.n)+'",c,p,"'+(a.indent||"")+'"));'}function u(a,b){return"_.b(_.t(_."+b+'("'+o(a)+'",c,p,0)));'}function v(a,b){return"_.b(_.v(_."+b+'("'+o(a)+'",c,p,0)));'}function w(a){return"_.b("+a+");"}var b=/\S/,c=/\"/g,d=/\n/g,e=/\r/g,f=/\\/g,g={"#":1,"^":2,"/":3,"!":4,">":5,"<":6,"=":7,_v:8,"{":9,"&":10};a.scan=function(c,d){function w(){p.length>0&&(q.push(new String(p)),p="")}function x(){var a=!0;for(var c=t;c"&&(d.indent=q[c].toString()),q.splice(c,1));else b||q.push({tag:"\n"});r=!1,t=q.length}function z(a,b){var c="="+v,d=a.indexOf(c,b),e=i(a.substring(a.indexOf("=",b)+1,d)).split(" ");return u=e[0],v=e[1],d+c.length-1}var e=c.length,f=0,k=1,l=2,m=f,n=null,o=null,p="",q=[],r=!1,s=0,t=0,u="{{",v="}}";d&&(d=d.split(" "),u=d[0],v=d[1]);for(s=0;s=0;h--){f=b[h];if(f&&typeof f=="object"&&a in f){e=f[a],g=!0;break}}return g?(!d&&typeof e=="function"&&(e=this.lv(e,b,c)),e):d?!1:""},ho:function(a,b,c,d,e){var f=this.c,g=this.options;g.delimiters=e;var h=a.call(b,d,function(a){return f.compile(a,g).render(b,c)});return this.b(f.compile(h.toString(),g).render(b,c)),!1},b:b?function(a){this.buf.push(a)}:function(a){this.buf+=a},fl:b?function(){var a=this.buf.join("");return this.buf=[],a}:function(){var a=this.buf;return this.buf="",a},ls:function(a,b,c,d,e,f,g){var h=b[b.length-1],i=null;if(!d&&this.c&&a.length>0)return this.ho(a,h,c,this.text.substring(e,f),g);i=a.call(h);if(typeof i=="function"){if(d)return!0;if(this.c)return this.ho(i,h,c,this.text.substring(e,f),g)}return i},lv:function(a,b,c){var d=b[b.length-1],e=a.call(d);return typeof e=="function"&&(e=e.call(d)),e=i(e),this.c&&~e.indexOf("{{")?this.c.compile(e,this.options).render(d,c):e}};var c=/&/g,d=//g,f=/\'/g,g=/\"/g,h=/[&<>\"\']/,k=Array.isArray||function(a){return Object.prototype.toString.call(a)==="[object Array]"}})(typeof exports!="undefined"?exports:Hogan),function(a){function h(a){a.n.substr(a.n.length-1)==="}"&&(a.n=a.n.substring(0,a.n.length-1))}function i(a){return a.trim?a.trim():a.replace(/^\s*|\s*$/g,"")}function j(a,b,c){if(b.charAt(c)!=a.charAt(0))return!1;for(var d=1,e=a.length;d0){g=a.shift();if(g.tag=="#"||g.tag=="^"||l(g,d))c.push(g),g.nodes=k(a,g.tag,c,d),e.push(g);else{if(g.tag=="/"){if(c.length===0)throw new Error("Closing tag without opener: /"+g.n);f=c.pop();if(g.n!=f.n&&!m(g.n,f.n,d))throw new Error("Nesting error: "+f.n+" vs. "+g.n);return f.end=g.i,e}e.push(g)}}if(c.length>0)throw new Error("missing closing tag: "+c.pop().n);return e}function l(a,b){for(var c=0,d=b.length;c"?b+=t(a[c]):e=="{"||e=="&"?b+=u(a[c].n,p(a[c].n)):e=="\n"?b+=w('"\\n"'+(a.length-1==c?"":" + i")):e=="_v"?b+=v(a[c].n,p(a[c].n)):e===undefined&&(b+=w('"'+o(a[c])+'"'))}return b}function r(a,b,c,d,e,f){return"if(_.s(_."+c+'("'+o(b)+'",c,p,1),'+"c,p,0,"+d+","+e+',"'+f+'")){'+"_.rs(c,p,"+"function(c,p,_){"+q(a)+"});c.pop();}"}function s(a,b,c){return"if(!_.s(_."+c+'("'+o(b)+'",c,p,1),c,p,1,0,0,"")){'+q(a)+"};"}function t(a){return'_.b(_.rp("'+o(a.n)+'",c,p,"'+(a.indent||"")+'"));'}function u(a,b){return"_.b(_.t(_."+b+'("'+o(a)+'",c,p,0)));'}function v(a,b){return"_.b(_.v(_."+b+'("'+o(a)+'",c,p,0)));'}function w(a){return"_.b("+a+");"}var b=/\S/,c=/\"/g,d=/\n/g,e=/\r/g,f=/\\/g,g={"#":1,"^":2,"/":3,"!":4,">":5,"<":6,"=":7,_v:8,"{":9,"&":10};a.scan=function(c,d){function w(){p.length>0&&(q.push(new String(p)),p="")}function x(){var a=!0;for(var c=t;c"&&(d.indent=q[c].toString()),q.splice(c,1));else b||q.push({tag:"\n"});r=!1,t=q.length}function z(a,b){var c="="+v,d=a.indexOf(c,b),e=i(a.substring(a.indexOf("=",b)+1,d)).split(" ");return u=e[0],v=e[1],d+c.length-1}var e=c.length,f=0,k=1,l=2,m=f,n=null,o=null,p="",q=[],r=!1,s=0,t=0,u="{{",v="}}";d&&(d=d.split(" "),u=d[0],v=d[1]);for(s=0;s= 0; i--) { + v = ctx[i]; + if (v && typeof v == 'object' && key in v) { + val = v[key]; + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.lv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ho: function(val, cx, partials, text, tags) { + var compiler = this.c; + var options = this.options; + options.delimiters = tags; + var t = val.call(cx, text, function(t) { + return compiler.compile(t, options).render(cx, partials); + }); + this.b(compiler.compile(t.toString(), options).render(cx, partials)); + return false; + }, + + // template result buffering + b: (useArrayBuffer) ? function(s) { this.buf.push(s); } : + function(s) { this.buf += s; }, + fl: (useArrayBuffer) ? function() { var r = this.buf.join(''); this.buf = []; return r; } : + function() { var r = this.buf; this.buf = ''; return r; }, + + // lambda replace section + ls: function(val, ctx, partials, inverted, start, end, tags) { + var cx = ctx[ctx.length - 1], + t = null; + + if (!inverted && this.c && val.length > 0) { + return this.ho(val, cx, partials, this.text.substring(start, end), tags); + } + + t = val.call(cx); + + if (typeof t == 'function') { + if (inverted) { + return true; + } else if (this.c) { + return this.ho(t, cx, partials, this.text.substring(start, end), tags); + } + } + + return t; + }, + + // lambda replace variable + lv: function(val, ctx, partials) { + var cx = ctx[ctx.length - 1]; + var result = val.call(cx); + if (typeof result == 'function') { + result = result.call(cx); + } + result = coerceToString(result); + + if (this.c && ~result.indexOf("{\u007B")) { + return this.c.compile(result, this.options).render(cx, partials); + } + + return result; + } + + }; + + var rAmp = /&/g, + rLt = //g, + rApos =/\'/g, + rQuot = /\"/g, + hChars =/[&<>\"\']/; + + + function coerceToString(val) { + return String((val === null || val === undefined) ? '' : val); + } + + function hoganEscape(str) { + str = coerceToString(str); + return hChars.test(str) ? + str + .replace(rAmp,'&') + .replace(rLt,'<') + .replace(rGt,'>') + .replace(rApos,''') + .replace(rQuot, '"') : + str; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + }; + +})(typeof exports !== 'undefined' ? exports : Hogan); + + + + +(function (Hogan) { + // Setup regex assignments + // remove whitespace according to Mustache spec + var rIsWhitespace = /\S/, + rQuot = /\"/g, + rNewline = /\n/g, + rCr = /\r/g, + rSlash = /\\/g, + tagTypes = { + '#': 1, '^': 2, '/': 3, '!': 4, '>': 5, + '<': 6, '=': 7, '_v': 8, '{': 9, '&': 10 + }; + + Hogan.scan = function scan(text, delimiters) { + var len = text.length, + IN_TEXT = 0, + IN_TAG_TYPE = 1, + IN_TAG = 2, + state = IN_TEXT, + tagType = null, + tag = null, + buf = '', + tokens = [], + seenTag = false, + i = 0, + lineStart = 0, + otag = '{{', + ctag = '}}'; + + function addBuf() { + if (buf.length > 0) { + tokens.push(new String(buf)); + buf = ''; + } + } + + function lineIsWhitespace() { + var isAllWhitespace = true; + for (var j = lineStart; j < tokens.length; j++) { + isAllWhitespace = + (tokens[j].tag && tagTypes[tokens[j].tag] < tagTypes['_v']) || + (!tokens[j].tag && tokens[j].match(rIsWhitespace) === null); + if (!isAllWhitespace) { + return false; + } + } + + return isAllWhitespace; + } + + function filterLine(haveSeenTag, noNewLine) { + addBuf(); + + if (haveSeenTag && lineIsWhitespace()) { + for (var j = lineStart, next; j < tokens.length; j++) { + if (!tokens[j].tag) { + if ((next = tokens[j+1]) && next.tag == '>') { + // set indent to token value + next.indent = tokens[j].toString() + } + tokens.splice(j, 1); + } + } + } else if (!noNewLine) { + tokens.push({tag:'\n'}); + } + + seenTag = false; + lineStart = tokens.length; + } + + function changeDelimiters(text, index) { + var close = '=' + ctag, + closeIndex = text.indexOf(close, index), + delimiters = trim( + text.substring(text.indexOf('=', index) + 1, closeIndex) + ).split(' '); + + otag = delimiters[0]; + ctag = delimiters[1]; + + return closeIndex + close.length - 1; + } + + if (delimiters) { + delimiters = delimiters.split(' '); + otag = delimiters[0]; + ctag = delimiters[1]; + } + + for (i = 0; i < len; i++) { + if (state == IN_TEXT) { + if (tagChange(otag, text, i)) { + --i; + addBuf(); + state = IN_TAG_TYPE; + } else { + if (text.charAt(i) == '\n') { + filterLine(seenTag); + } else { + buf += text.charAt(i); + } + } + } else if (state == IN_TAG_TYPE) { + i += otag.length - 1; + tag = tagTypes[text.charAt(i + 1)]; + tagType = tag ? text.charAt(i + 1) : '_v'; + if (tagType == '=') { + i = changeDelimiters(text, i); + state = IN_TEXT; + } else { + if (tag) { + i++; + } + state = IN_TAG; + } + seenTag = i; + } else { + if (tagChange(ctag, text, i)) { + tokens.push({tag: tagType, n: trim(buf), otag: otag, ctag: ctag, + i: (tagType == '/') ? seenTag - ctag.length : i + otag.length}); + buf = ''; + i += ctag.length - 1; + state = IN_TEXT; + if (tagType == '{') { + if (ctag == '}}') { + i++; + } else { + cleanTripleStache(tokens[tokens.length - 1]); + } + } + } else { + buf += text.charAt(i); + } + } + } + + filterLine(seenTag, true); + + return tokens; + } + + function cleanTripleStache(token) { + if (token.n.substr(token.n.length - 1) === '}') { + token.n = token.n.substring(0, token.n.length - 1); + } + } + + function trim(s) { + if (s.trim) { + return s.trim(); + } + + return s.replace(/^\s*|\s*$/g, ''); + } + + function tagChange(tag, text, index) { + if (text.charAt(index) != tag.charAt(0)) { + return false; + } + + for (var i = 1, l = tag.length; i < l; i++) { + if (text.charAt(index + i) != tag.charAt(i)) { + return false; + } + } + + return true; + } + + function buildTree(tokens, kind, stack, customTags) { + var instructions = [], + opener = null, + token = null; + + while (tokens.length > 0) { + token = tokens.shift(); + if (token.tag == '#' || token.tag == '^' || isOpener(token, customTags)) { + stack.push(token); + token.nodes = buildTree(tokens, token.tag, stack, customTags); + instructions.push(token); + } else if (token.tag == '/') { + if (stack.length === 0) { + throw new Error('Closing tag without opener: /' + token.n); + } + opener = stack.pop(); + if (token.n != opener.n && !isCloser(token.n, opener.n, customTags)) { + throw new Error('Nesting error: ' + opener.n + ' vs. ' + token.n); + } + opener.end = token.i; + return instructions; + } else { + instructions.push(token); + } + } + + if (stack.length > 0) { + throw new Error('missing closing tag: ' + stack.pop().n); + } + + return instructions; + } + + function isOpener(token, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].o == token.n) { + token.tag = '#'; + return true; + } + } + } + + function isCloser(close, open, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].c == close && tags[i].o == open) { + return true; + } + } + } + + function writeCode(tree) { + return 'var _=this;_.b(i=i||"");' + walk(tree) + 'return _.fl();'; + } + + Hogan.generate = function (code, text, options) { + if (options.asString) { + return 'function(c,p,i){' + code + ';}'; + } + + return new Hogan.Template(new Function('c', 'p', 'i', code), text, Hogan, options); + } + + function esc(s) { + return s.replace(rSlash, '\\\\') + .replace(rQuot, '\\\"') + .replace(rNewline, '\\n') + .replace(rCr, '\\r'); + } + + function chooseMethod(s) { + return (~s.indexOf('.')) ? 'd' : 'f'; + } + + function walk(tree) { + var code = ''; + for (var i = 0, l = tree.length; i < l; i++) { + var tag = tree[i].tag; + if (tag == '#') { + code += section(tree[i].nodes, tree[i].n, chooseMethod(tree[i].n), + tree[i].i, tree[i].end, tree[i].otag + " " + tree[i].ctag); + } else if (tag == '^') { + code += invertedSection(tree[i].nodes, tree[i].n, + chooseMethod(tree[i].n)); + } else if (tag == '<' || tag == '>') { + code += partial(tree[i]); + } else if (tag == '{' || tag == '&') { + code += tripleStache(tree[i].n, chooseMethod(tree[i].n)); + } else if (tag == '\n') { + code += text('"\\n"' + (tree.length-1 == i ? '' : ' + i')); + } else if (tag == '_v') { + code += variable(tree[i].n, chooseMethod(tree[i].n)); + } else if (tag === undefined) { + code += text('"' + esc(tree[i]) + '"'); + } + } + return code; + } + + function section(nodes, id, method, start, end, tags) { + return 'if(_.s(_.' + method + '("' + esc(id) + '",c,p,1),' + + 'c,p,0,' + start + ',' + end + ',"' + tags + '")){' + + '_.rs(c,p,' + + 'function(c,p,_){' + + walk(nodes) + + '});c.pop();}'; + } + + function invertedSection(nodes, id, method) { + return 'if(!_.s(_.' + method + '("' + esc(id) + '",c,p,1),c,p,1,0,0,"")){' + + walk(nodes) + + '};'; + } + + function partial(tok) { + return '_.b(_.rp("' + esc(tok.n) + '",c,p,"' + (tok.indent || '') + '"));'; + } + + function tripleStache(id, method) { + return '_.b(_.t(_.' + method + '("' + esc(id) + '",c,p,0)));'; + } + + function variable(id, method) { + return '_.b(_.v(_.' + method + '("' + esc(id) + '",c,p,0)));'; + } + + function text(id) { + return '_.b(' + id + ');'; + } + + Hogan.parse = function(tokens, text, options) { + options = options || {}; + return buildTree(tokens, '', [], options.sectionTags || []); + }, + + Hogan.cache = {}; + + Hogan.compile = function(text, options) { + // options + // + // asString: false (default) + // + // sectionTags: [{o: '_foo', c: 'foo'}] + // An array of object with o and c fields that indicate names for custom + // section tags. The example above allows parsing of {{_foo}}{{/foo}}. + // + // delimiters: A string that overrides the default delimiters. + // Example: "<% %>" + // + options = options || {}; + + var key = text + '||' + !!options.asString; + + var t = this.cache[key]; + + if (t) { + return t; + } + + t = this.generate(writeCode(this.parse(this.scan(text, options.delimiters), text, options)), text, options); + return this.cache[key] = t; + }; +})(typeof exports !== 'undefined' ? exports : Hogan); + + +var Mustache = (function (Hogan) { + + // Mustache.js has non-spec partial context behavior + function mustachePartial(name, context, partials, indent) { + var partialScope = this.f(name, context, partials, 0); + var cx = context; + if (partialScope) { + cx = cx.concat(partialScope); + } + + return Hogan.Template.prototype.rp.call(this, name, cx, partials, indent); + } + + var HoganTemplateWrapper = function(renderFunc, text, compiler){ + this.rp = mustachePartial; + Hogan.Template.call(this, renderFunc, text, compiler); + }; + HoganTemplateWrapper.prototype = Hogan.Template.prototype; + + // Add a wrapper for Hogan's generate method. Mustache and Hogan keep + // separate caches, and Mustache returns wrapped templates. + var wrapper; + var HoganWrapper = function(){ + this.cache = {}; + this.generate = function(code, text, options) { + return new HoganTemplateWrapper(new Function('c', 'p', 'i', code), text, wrapper); + } + }; + HoganWrapper.prototype = Hogan; + wrapper = new HoganWrapper(); + + return { + to_html: function(text, data, partials, sendFun) { + var template = wrapper.compile(text); + var result = template.render(data, partials); + if (!sendFun) { + return result; + } + + sendFun(result); + } + } + +})(Hogan); diff --git a/hogan-node/node_modules/hogan.js/web/builds/1.0.5/template-1.0.5.js b/hogan-node/node_modules/hogan.js/web/builds/1.0.5/template-1.0.5.js new file mode 100644 index 0000000..9668a69 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/1.0.5/template-1.0.5.js @@ -0,0 +1,243 @@ +/* + * Copyright 2011 Twitter, Inc. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +var Hogan = {}; + +(function (Hogan, useArrayBuffer) { + Hogan.Template = function (renderFunc, text, compiler, options) { + this.r = renderFunc || this.r; + this.c = compiler; + this.options = options; + this.text = text || ''; + this.buf = (useArrayBuffer) ? [] : ''; + } + + Hogan.Template.prototype = { + // render: replaced by generated code. + r: function (context, partials, indent) { return ''; }, + + // variable escaping + v: hoganEscape, + + // triple stache + t: coerceToString, + + render: function render(context, partials, indent) { + return this.ri([context], partials || {}, indent); + }, + + // render internal -- a hook for overrides that catches partials too + ri: function (context, partials, indent) { + return this.r(context, partials, indent); + }, + + // tries to find a partial in the curent scope and render it + rp: function(name, context, partials, indent) { + var partial = partials[name]; + + if (!partial) { + return ''; + } + + if (this.c && typeof partial == 'string') { + partial = this.c.compile(partial, this.options); + } + + return partial.ri(context, partials, indent); + }, + + // render a section + rs: function(context, partials, section) { + var tail = context[context.length - 1]; + + if (!isArray(tail)) { + section(context, partials, this); + return; + } + + for (var i = 0; i < tail.length; i++) { + context.push(tail[i]); + section(context, partials, this); + context.pop(); + } + }, + + // maybe start a section + s: function(val, ctx, partials, inverted, start, end, tags) { + var pass; + + if (isArray(val) && val.length === 0) { + return false; + } + + if (typeof val == 'function') { + val = this.ls(val, ctx, partials, inverted, start, end, tags); + } + + pass = (val === '') || !!val; + + if (!inverted && pass && ctx) { + ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]); + } + + return pass; + }, + + // find values with dotted names + d: function(key, ctx, partials, returnFound) { + var names = key.split('.'), + val = this.f(names[0], ctx, partials, returnFound), + cx = null; + + if (key === '.' && isArray(ctx[ctx.length - 2])) { + return ctx[ctx.length - 1]; + } + + for (var i = 1; i < names.length; i++) { + if (val && typeof val == 'object' && names[i] in val) { + cx = val; + val = val[names[i]]; + } else { + val = ''; + } + } + + if (returnFound && !val) { + return false; + } + + if (!returnFound && typeof val == 'function') { + ctx.push(cx); + val = this.lv(val, ctx, partials); + ctx.pop(); + } + + return val; + }, + + // find values with normal names + f: function(key, ctx, partials, returnFound) { + var val = false, + v = null, + found = false; + + for (var i = ctx.length - 1; i >= 0; i--) { + v = ctx[i]; + if (v && typeof v == 'object' && key in v) { + val = v[key]; + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.lv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ho: function(val, cx, partials, text, tags) { + var compiler = this.c; + var options = this.options; + options.delimiters = tags; + var t = val.call(cx, text, function(t) { + return compiler.compile(t, options).render(cx, partials); + }); + this.b(compiler.compile(t.toString(), options).render(cx, partials)); + return false; + }, + + // template result buffering + b: (useArrayBuffer) ? function(s) { this.buf.push(s); } : + function(s) { this.buf += s; }, + fl: (useArrayBuffer) ? function() { var r = this.buf.join(''); this.buf = []; return r; } : + function() { var r = this.buf; this.buf = ''; return r; }, + + // lambda replace section + ls: function(val, ctx, partials, inverted, start, end, tags) { + var cx = ctx[ctx.length - 1], + t = null; + + if (!inverted && this.c && val.length > 0) { + return this.ho(val, cx, partials, this.text.substring(start, end), tags); + } + + t = val.call(cx); + + if (typeof t == 'function') { + if (inverted) { + return true; + } else if (this.c) { + return this.ho(t, cx, partials, this.text.substring(start, end), tags); + } + } + + return t; + }, + + // lambda replace variable + lv: function(val, ctx, partials) { + var cx = ctx[ctx.length - 1]; + var result = val.call(cx); + if (typeof result == 'function') { + result = result.call(cx); + } + result = coerceToString(result); + + if (this.c && ~result.indexOf("{\u007B")) { + return this.c.compile(result, this.options).render(cx, partials); + } + + return result; + } + + }; + + var rAmp = /&/g, + rLt = //g, + rApos =/\'/g, + rQuot = /\"/g, + hChars =/[&<>\"\']/; + + + function coerceToString(val) { + return String((val === null || val === undefined) ? '' : val); + } + + function hoganEscape(str) { + str = coerceToString(str); + return hChars.test(str) ? + str + .replace(rAmp,'&') + .replace(rLt,'<') + .replace(rGt,'>') + .replace(rApos,''') + .replace(rQuot, '"') : + str; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + }; + +})(typeof exports !== 'undefined' ? exports : Hogan); + diff --git a/hogan-node/node_modules/hogan.js/web/builds/1.0.5/template-1.0.5.min.js b/hogan-node/node_modules/hogan.js/web/builds/1.0.5/template-1.0.5.min.js new file mode 100644 index 0000000..860e02d --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/1.0.5/template-1.0.5.min.js @@ -0,0 +1,5 @@ +/** +* @preserve Copyright 2012 Twitter, Inc. +* @license http://www.apache.org/licenses/LICENSE-2.0.txt +*/ +var Hogan={};(function(a,b){function i(a){return String(a===null||a===undefined?"":a)}function j(a){return a=i(a),h.test(a)?a.replace(c,"&").replace(d,"<").replace(e,">").replace(f,"'").replace(g,"""):a}a.Template=function(a,c,d,e){this.r=a||this.r,this.c=d,this.options=e,this.text=c||"",this.buf=b?[]:""},a.Template.prototype={r:function(a,b,c){return""},v:j,t:i,render:function(b,c,d){return this.ri([b],c||{},d)},ri:function(a,b,c){return this.r(a,b,c)},rp:function(a,b,c,d){var e=c[a];return e?(this.c&&typeof e=="string"&&(e=this.c.compile(e,this.options)),e.ri(b,c,d)):""},rs:function(a,b,c){var d=a[a.length-1];if(!k(d)){c(a,b,this);return}for(var e=0;e=0;h--){f=b[h];if(f&&typeof f=="object"&&a in f){e=f[a],g=!0;break}}return g?(!d&&typeof e=="function"&&(e=this.lv(e,b,c)),e):d?!1:""},ho:function(a,b,c,d,e){var f=this.c,g=this.options;g.delimiters=e;var h=a.call(b,d,function(a){return f.compile(a,g).render(b,c)});return this.b(f.compile(h.toString(),g).render(b,c)),!1},b:b?function(a){this.buf.push(a)}:function(a){this.buf+=a},fl:b?function(){var a=this.buf.join("");return this.buf=[],a}:function(){var a=this.buf;return this.buf="",a},ls:function(a,b,c,d,e,f,g){var h=b[b.length-1],i=null;if(!d&&this.c&&a.length>0)return this.ho(a,h,c,this.text.substring(e,f),g);i=a.call(h);if(typeof i=="function"){if(d)return!0;if(this.c)return this.ho(i,h,c,this.text.substring(e,f),g)}return i},lv:function(a,b,c){var d=b[b.length-1],e=a.call(d);return typeof e=="function"&&(e=e.call(d)),e=i(e),this.c&&~e.indexOf("{{")?this.c.compile(e,this.options).render(d,c):e}};var c=/&/g,d=//g,f=/\'/g,g=/\"/g,h=/[&<>\"\']/,k=Array.isArray||function(a){return Object.prototype.toString.call(a)==="[object Array]"}})(typeof exports!="undefined"?exports:Hogan) \ No newline at end of file diff --git a/hogan-node/node_modules/hogan.js/web/builds/2.0.0/hogan-2.0.0.amd.js b/hogan-node/node_modules/hogan.js/web/builds/2.0.0/hogan-2.0.0.amd.js new file mode 100644 index 0000000..9cbc448 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/2.0.0/hogan-2.0.0.amd.js @@ -0,0 +1,580 @@ +/* + * Copyright 2011 Twitter, Inc. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + + +var Hogan = {}; + +(function (Hogan, useArrayBuffer) { + Hogan.Template = function (renderFunc, text, compiler, options) { + this.r = renderFunc || this.r; + this.c = compiler; + this.options = options; + this.text = text || ''; + this.buf = (useArrayBuffer) ? [] : ''; + } + + Hogan.Template.prototype = { + // render: replaced by generated code. + r: function (context, partials, indent) { return ''; }, + + // variable escaping + v: hoganEscape, + + // triple stache + t: coerceToString, + + render: function render(context, partials, indent) { + return this.ri([context], partials || {}, indent); + }, + + // render internal -- a hook for overrides that catches partials too + ri: function (context, partials, indent) { + return this.r(context, partials, indent); + }, + + // tries to find a partial in the curent scope and render it + rp: function(name, context, partials, indent) { + var partial = partials[name]; + + if (!partial) { + return ''; + } + + if (this.c && typeof partial == 'string') { + partial = this.c.compile(partial, this.options); + } + + return partial.ri(context, partials, indent); + }, + + // render a section + rs: function(context, partials, section) { + var tail = context[context.length - 1]; + + if (!isArray(tail)) { + section(context, partials, this); + return; + } + + for (var i = 0; i < tail.length; i++) { + context.push(tail[i]); + section(context, partials, this); + context.pop(); + } + }, + + // maybe start a section + s: function(val, ctx, partials, inverted, start, end, tags) { + var pass; + + if (isArray(val) && val.length === 0) { + return false; + } + + if (typeof val == 'function') { + val = this.ls(val, ctx, partials, inverted, start, end, tags); + } + + pass = (val === '') || !!val; + + if (!inverted && pass && ctx) { + ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]); + } + + return pass; + }, + + // find values with dotted names + d: function(key, ctx, partials, returnFound) { + var names = key.split('.'), + val = this.f(names[0], ctx, partials, returnFound), + cx = null; + + if (key === '.' && isArray(ctx[ctx.length - 2])) { + return ctx[ctx.length - 1]; + } + + for (var i = 1; i < names.length; i++) { + if (val && typeof val == 'object' && names[i] in val) { + cx = val; + val = val[names[i]]; + } else { + val = ''; + } + } + + if (returnFound && !val) { + return false; + } + + if (!returnFound && typeof val == 'function') { + ctx.push(cx); + val = this.lv(val, ctx, partials); + ctx.pop(); + } + + return val; + }, + + // find values with normal names + f: function(key, ctx, partials, returnFound) { + var val = false, + v = null, + found = false; + + for (var i = ctx.length - 1; i >= 0; i--) { + v = ctx[i]; + if (v && typeof v == 'object' && key in v) { + val = v[key]; + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.lv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ho: function(val, cx, partials, text, tags) { + var compiler = this.c; + var options = this.options; + options.delimiters = tags; + var text = val.call(cx, text); + text = (text == null) ? String(text) : text.toString(); + this.b(compiler.compile(text, options).render(cx, partials)); + return false; + }, + + // template result buffering + b: (useArrayBuffer) ? function(s) { this.buf.push(s); } : + function(s) { this.buf += s; }, + fl: (useArrayBuffer) ? function() { var r = this.buf.join(''); this.buf = []; return r; } : + function() { var r = this.buf; this.buf = ''; return r; }, + + // lambda replace section + ls: function(val, ctx, partials, inverted, start, end, tags) { + var cx = ctx[ctx.length - 1], + t = null; + + if (!inverted && this.c && val.length > 0) { + return this.ho(val, cx, partials, this.text.substring(start, end), tags); + } + + t = val.call(cx); + + if (typeof t == 'function') { + if (inverted) { + return true; + } else if (this.c) { + return this.ho(t, cx, partials, this.text.substring(start, end), tags); + } + } + + return t; + }, + + // lambda replace variable + lv: function(val, ctx, partials) { + var cx = ctx[ctx.length - 1]; + var result = val.call(cx); + + if (typeof result == 'function') { + result = coerceToString(result.call(cx)); + if (this.c && ~result.indexOf("{\u007B")) { + return this.c.compile(result, this.options).render(cx, partials); + } + } + + return coerceToString(result); + } + + }; + + var rAmp = /&/g, + rLt = //g, + rApos =/\'/g, + rQuot = /\"/g, + hChars =/[&<>\"\']/; + + + function coerceToString(val) { + return String((val === null || val === undefined) ? '' : val); + } + + function hoganEscape(str) { + str = coerceToString(str); + return hChars.test(str) ? + str + .replace(rAmp,'&') + .replace(rLt,'<') + .replace(rGt,'>') + .replace(rApos,''') + .replace(rQuot, '"') : + str; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + }; + +})(typeof exports !== 'undefined' ? exports : Hogan); + + + + +(function (Hogan) { + // Setup regex assignments + // remove whitespace according to Mustache spec + var rIsWhitespace = /\S/, + rQuot = /\"/g, + rNewline = /\n/g, + rCr = /\r/g, + rSlash = /\\/g, + tagTypes = { + '#': 1, '^': 2, '/': 3, '!': 4, '>': 5, + '<': 6, '=': 7, '_v': 8, '{': 9, '&': 10 + }; + + Hogan.scan = function scan(text, delimiters) { + var len = text.length, + IN_TEXT = 0, + IN_TAG_TYPE = 1, + IN_TAG = 2, + state = IN_TEXT, + tagType = null, + tag = null, + buf = '', + tokens = [], + seenTag = false, + i = 0, + lineStart = 0, + otag = '{{', + ctag = '}}'; + + function addBuf() { + if (buf.length > 0) { + tokens.push(new String(buf)); + buf = ''; + } + } + + function lineIsWhitespace() { + var isAllWhitespace = true; + for (var j = lineStart; j < tokens.length; j++) { + isAllWhitespace = + (tokens[j].tag && tagTypes[tokens[j].tag] < tagTypes['_v']) || + (!tokens[j].tag && tokens[j].match(rIsWhitespace) === null); + if (!isAllWhitespace) { + return false; + } + } + + return isAllWhitespace; + } + + function filterLine(haveSeenTag, noNewLine) { + addBuf(); + + if (haveSeenTag && lineIsWhitespace()) { + for (var j = lineStart, next; j < tokens.length; j++) { + if (!tokens[j].tag) { + if ((next = tokens[j+1]) && next.tag == '>') { + // set indent to token value + next.indent = tokens[j].toString() + } + tokens.splice(j, 1); + } + } + } else if (!noNewLine) { + tokens.push({tag:'\n'}); + } + + seenTag = false; + lineStart = tokens.length; + } + + function changeDelimiters(text, index) { + var close = '=' + ctag, + closeIndex = text.indexOf(close, index), + delimiters = trim( + text.substring(text.indexOf('=', index) + 1, closeIndex) + ).split(' '); + + otag = delimiters[0]; + ctag = delimiters[1]; + + return closeIndex + close.length - 1; + } + + if (delimiters) { + delimiters = delimiters.split(' '); + otag = delimiters[0]; + ctag = delimiters[1]; + } + + for (i = 0; i < len; i++) { + if (state == IN_TEXT) { + if (tagChange(otag, text, i)) { + --i; + addBuf(); + state = IN_TAG_TYPE; + } else { + if (text.charAt(i) == '\n') { + filterLine(seenTag); + } else { + buf += text.charAt(i); + } + } + } else if (state == IN_TAG_TYPE) { + i += otag.length - 1; + tag = tagTypes[text.charAt(i + 1)]; + tagType = tag ? text.charAt(i + 1) : '_v'; + if (tagType == '=') { + i = changeDelimiters(text, i); + state = IN_TEXT; + } else { + if (tag) { + i++; + } + state = IN_TAG; + } + seenTag = i; + } else { + if (tagChange(ctag, text, i)) { + tokens.push({tag: tagType, n: trim(buf), otag: otag, ctag: ctag, + i: (tagType == '/') ? seenTag - ctag.length : i + otag.length}); + buf = ''; + i += ctag.length - 1; + state = IN_TEXT; + if (tagType == '{') { + if (ctag == '}}') { + i++; + } else { + cleanTripleStache(tokens[tokens.length - 1]); + } + } + } else { + buf += text.charAt(i); + } + } + } + + filterLine(seenTag, true); + + return tokens; + } + + function cleanTripleStache(token) { + if (token.n.substr(token.n.length - 1) === '}') { + token.n = token.n.substring(0, token.n.length - 1); + } + } + + function trim(s) { + if (s.trim) { + return s.trim(); + } + + return s.replace(/^\s*|\s*$/g, ''); + } + + function tagChange(tag, text, index) { + if (text.charAt(index) != tag.charAt(0)) { + return false; + } + + for (var i = 1, l = tag.length; i < l; i++) { + if (text.charAt(index + i) != tag.charAt(i)) { + return false; + } + } + + return true; + } + + function buildTree(tokens, kind, stack, customTags) { + var instructions = [], + opener = null, + token = null; + + while (tokens.length > 0) { + token = tokens.shift(); + if (token.tag == '#' || token.tag == '^' || isOpener(token, customTags)) { + stack.push(token); + token.nodes = buildTree(tokens, token.tag, stack, customTags); + instructions.push(token); + } else if (token.tag == '/') { + if (stack.length === 0) { + throw new Error('Closing tag without opener: /' + token.n); + } + opener = stack.pop(); + if (token.n != opener.n && !isCloser(token.n, opener.n, customTags)) { + throw new Error('Nesting error: ' + opener.n + ' vs. ' + token.n); + } + opener.end = token.i; + return instructions; + } else { + instructions.push(token); + } + } + + if (stack.length > 0) { + throw new Error('missing closing tag: ' + stack.pop().n); + } + + return instructions; + } + + function isOpener(token, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].o == token.n) { + token.tag = '#'; + return true; + } + } + } + + function isCloser(close, open, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].c == close && tags[i].o == open) { + return true; + } + } + } + + Hogan.generate = function (tree, text, options) { + var code = 'var _=this;_.b(i=i||"");' + walk(tree) + 'return _.fl();'; + if (options.asString) { + return 'function(c,p,i){' + code + ';}'; + } + + return new Hogan.Template(new Function('c', 'p', 'i', code), text, Hogan, options); + } + + function esc(s) { + return s.replace(rSlash, '\\\\') + .replace(rQuot, '\\\"') + .replace(rNewline, '\\n') + .replace(rCr, '\\r'); + } + + function chooseMethod(s) { + return (~s.indexOf('.')) ? 'd' : 'f'; + } + + function walk(tree) { + var code = ''; + for (var i = 0, l = tree.length; i < l; i++) { + var tag = tree[i].tag; + if (tag == '#') { + code += section(tree[i].nodes, tree[i].n, chooseMethod(tree[i].n), + tree[i].i, tree[i].end, tree[i].otag + " " + tree[i].ctag); + } else if (tag == '^') { + code += invertedSection(tree[i].nodes, tree[i].n, + chooseMethod(tree[i].n)); + } else if (tag == '<' || tag == '>') { + code += partial(tree[i]); + } else if (tag == '{' || tag == '&') { + code += tripleStache(tree[i].n, chooseMethod(tree[i].n)); + } else if (tag == '\n') { + code += text('"\\n"' + (tree.length-1 == i ? '' : ' + i')); + } else if (tag == '_v') { + code += variable(tree[i].n, chooseMethod(tree[i].n)); + } else if (tag === undefined) { + code += text('"' + esc(tree[i]) + '"'); + } + } + return code; + } + + function section(nodes, id, method, start, end, tags) { + return 'if(_.s(_.' + method + '("' + esc(id) + '",c,p,1),' + + 'c,p,0,' + start + ',' + end + ',"' + tags + '")){' + + '_.rs(c,p,' + + 'function(c,p,_){' + + walk(nodes) + + '});c.pop();}'; + } + + function invertedSection(nodes, id, method) { + return 'if(!_.s(_.' + method + '("' + esc(id) + '",c,p,1),c,p,1,0,0,"")){' + + walk(nodes) + + '};'; + } + + function partial(tok) { + return '_.b(_.rp("' + esc(tok.n) + '",c,p,"' + (tok.indent || '') + '"));'; + } + + function tripleStache(id, method) { + return '_.b(_.t(_.' + method + '("' + esc(id) + '",c,p,0)));'; + } + + function variable(id, method) { + return '_.b(_.v(_.' + method + '("' + esc(id) + '",c,p,0)));'; + } + + function text(id) { + return '_.b(' + id + ');'; + } + + Hogan.parse = function(tokens, text, options) { + options = options || {}; + return buildTree(tokens, '', [], options.sectionTags || []); + }, + + Hogan.cache = {}; + + Hogan.compile = function(text, options) { + // options + // + // asString: false (default) + // + // sectionTags: [{o: '_foo', c: 'foo'}] + // An array of object with o and c fields that indicate names for custom + // section tags. The example above allows parsing of {{_foo}}{{/foo}}. + // + // delimiters: A string that overrides the default delimiters. + // Example: "<% %>" + // + options = options || {}; + + var key = text + '||' + !!options.asString; + + var t = this.cache[key]; + + if (t) { + return t; + } + + t = this.generate(this.parse(this.scan(text, options.delimiters), text, options), text, options); + return this.cache[key] = t; + }; +})(typeof exports !== 'undefined' ? exports : Hogan); + + +if (typeof define === 'function' && define.amd) { + define(Hogan); +} diff --git a/hogan-node/node_modules/hogan.js/web/builds/2.0.0/hogan-2.0.0.common.js b/hogan-node/node_modules/hogan.js/web/builds/2.0.0/hogan-2.0.0.common.js new file mode 100644 index 0000000..54e7d57 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/2.0.0/hogan-2.0.0.common.js @@ -0,0 +1,580 @@ +/* + * Copyright 2011 Twitter, Inc. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + + +var Hogan = {}; + +(function (Hogan, useArrayBuffer) { + Hogan.Template = function (renderFunc, text, compiler, options) { + this.r = renderFunc || this.r; + this.c = compiler; + this.options = options; + this.text = text || ''; + this.buf = (useArrayBuffer) ? [] : ''; + } + + Hogan.Template.prototype = { + // render: replaced by generated code. + r: function (context, partials, indent) { return ''; }, + + // variable escaping + v: hoganEscape, + + // triple stache + t: coerceToString, + + render: function render(context, partials, indent) { + return this.ri([context], partials || {}, indent); + }, + + // render internal -- a hook for overrides that catches partials too + ri: function (context, partials, indent) { + return this.r(context, partials, indent); + }, + + // tries to find a partial in the curent scope and render it + rp: function(name, context, partials, indent) { + var partial = partials[name]; + + if (!partial) { + return ''; + } + + if (this.c && typeof partial == 'string') { + partial = this.c.compile(partial, this.options); + } + + return partial.ri(context, partials, indent); + }, + + // render a section + rs: function(context, partials, section) { + var tail = context[context.length - 1]; + + if (!isArray(tail)) { + section(context, partials, this); + return; + } + + for (var i = 0; i < tail.length; i++) { + context.push(tail[i]); + section(context, partials, this); + context.pop(); + } + }, + + // maybe start a section + s: function(val, ctx, partials, inverted, start, end, tags) { + var pass; + + if (isArray(val) && val.length === 0) { + return false; + } + + if (typeof val == 'function') { + val = this.ls(val, ctx, partials, inverted, start, end, tags); + } + + pass = (val === '') || !!val; + + if (!inverted && pass && ctx) { + ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]); + } + + return pass; + }, + + // find values with dotted names + d: function(key, ctx, partials, returnFound) { + var names = key.split('.'), + val = this.f(names[0], ctx, partials, returnFound), + cx = null; + + if (key === '.' && isArray(ctx[ctx.length - 2])) { + return ctx[ctx.length - 1]; + } + + for (var i = 1; i < names.length; i++) { + if (val && typeof val == 'object' && names[i] in val) { + cx = val; + val = val[names[i]]; + } else { + val = ''; + } + } + + if (returnFound && !val) { + return false; + } + + if (!returnFound && typeof val == 'function') { + ctx.push(cx); + val = this.lv(val, ctx, partials); + ctx.pop(); + } + + return val; + }, + + // find values with normal names + f: function(key, ctx, partials, returnFound) { + var val = false, + v = null, + found = false; + + for (var i = ctx.length - 1; i >= 0; i--) { + v = ctx[i]; + if (v && typeof v == 'object' && key in v) { + val = v[key]; + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.lv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ho: function(val, cx, partials, text, tags) { + var compiler = this.c; + var options = this.options; + options.delimiters = tags; + var text = val.call(cx, text); + text = (text == null) ? String(text) : text.toString(); + this.b(compiler.compile(text, options).render(cx, partials)); + return false; + }, + + // template result buffering + b: (useArrayBuffer) ? function(s) { this.buf.push(s); } : + function(s) { this.buf += s; }, + fl: (useArrayBuffer) ? function() { var r = this.buf.join(''); this.buf = []; return r; } : + function() { var r = this.buf; this.buf = ''; return r; }, + + // lambda replace section + ls: function(val, ctx, partials, inverted, start, end, tags) { + var cx = ctx[ctx.length - 1], + t = null; + + if (!inverted && this.c && val.length > 0) { + return this.ho(val, cx, partials, this.text.substring(start, end), tags); + } + + t = val.call(cx); + + if (typeof t == 'function') { + if (inverted) { + return true; + } else if (this.c) { + return this.ho(t, cx, partials, this.text.substring(start, end), tags); + } + } + + return t; + }, + + // lambda replace variable + lv: function(val, ctx, partials) { + var cx = ctx[ctx.length - 1]; + var result = val.call(cx); + + if (typeof result == 'function') { + result = coerceToString(result.call(cx)); + if (this.c && ~result.indexOf("{\u007B")) { + return this.c.compile(result, this.options).render(cx, partials); + } + } + + return coerceToString(result); + } + + }; + + var rAmp = /&/g, + rLt = //g, + rApos =/\'/g, + rQuot = /\"/g, + hChars =/[&<>\"\']/; + + + function coerceToString(val) { + return String((val === null || val === undefined) ? '' : val); + } + + function hoganEscape(str) { + str = coerceToString(str); + return hChars.test(str) ? + str + .replace(rAmp,'&') + .replace(rLt,'<') + .replace(rGt,'>') + .replace(rApos,''') + .replace(rQuot, '"') : + str; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + }; + +})(typeof exports !== 'undefined' ? exports : Hogan); + + + + +(function (Hogan) { + // Setup regex assignments + // remove whitespace according to Mustache spec + var rIsWhitespace = /\S/, + rQuot = /\"/g, + rNewline = /\n/g, + rCr = /\r/g, + rSlash = /\\/g, + tagTypes = { + '#': 1, '^': 2, '/': 3, '!': 4, '>': 5, + '<': 6, '=': 7, '_v': 8, '{': 9, '&': 10 + }; + + Hogan.scan = function scan(text, delimiters) { + var len = text.length, + IN_TEXT = 0, + IN_TAG_TYPE = 1, + IN_TAG = 2, + state = IN_TEXT, + tagType = null, + tag = null, + buf = '', + tokens = [], + seenTag = false, + i = 0, + lineStart = 0, + otag = '{{', + ctag = '}}'; + + function addBuf() { + if (buf.length > 0) { + tokens.push(new String(buf)); + buf = ''; + } + } + + function lineIsWhitespace() { + var isAllWhitespace = true; + for (var j = lineStart; j < tokens.length; j++) { + isAllWhitespace = + (tokens[j].tag && tagTypes[tokens[j].tag] < tagTypes['_v']) || + (!tokens[j].tag && tokens[j].match(rIsWhitespace) === null); + if (!isAllWhitespace) { + return false; + } + } + + return isAllWhitespace; + } + + function filterLine(haveSeenTag, noNewLine) { + addBuf(); + + if (haveSeenTag && lineIsWhitespace()) { + for (var j = lineStart, next; j < tokens.length; j++) { + if (!tokens[j].tag) { + if ((next = tokens[j+1]) && next.tag == '>') { + // set indent to token value + next.indent = tokens[j].toString() + } + tokens.splice(j, 1); + } + } + } else if (!noNewLine) { + tokens.push({tag:'\n'}); + } + + seenTag = false; + lineStart = tokens.length; + } + + function changeDelimiters(text, index) { + var close = '=' + ctag, + closeIndex = text.indexOf(close, index), + delimiters = trim( + text.substring(text.indexOf('=', index) + 1, closeIndex) + ).split(' '); + + otag = delimiters[0]; + ctag = delimiters[1]; + + return closeIndex + close.length - 1; + } + + if (delimiters) { + delimiters = delimiters.split(' '); + otag = delimiters[0]; + ctag = delimiters[1]; + } + + for (i = 0; i < len; i++) { + if (state == IN_TEXT) { + if (tagChange(otag, text, i)) { + --i; + addBuf(); + state = IN_TAG_TYPE; + } else { + if (text.charAt(i) == '\n') { + filterLine(seenTag); + } else { + buf += text.charAt(i); + } + } + } else if (state == IN_TAG_TYPE) { + i += otag.length - 1; + tag = tagTypes[text.charAt(i + 1)]; + tagType = tag ? text.charAt(i + 1) : '_v'; + if (tagType == '=') { + i = changeDelimiters(text, i); + state = IN_TEXT; + } else { + if (tag) { + i++; + } + state = IN_TAG; + } + seenTag = i; + } else { + if (tagChange(ctag, text, i)) { + tokens.push({tag: tagType, n: trim(buf), otag: otag, ctag: ctag, + i: (tagType == '/') ? seenTag - ctag.length : i + otag.length}); + buf = ''; + i += ctag.length - 1; + state = IN_TEXT; + if (tagType == '{') { + if (ctag == '}}') { + i++; + } else { + cleanTripleStache(tokens[tokens.length - 1]); + } + } + } else { + buf += text.charAt(i); + } + } + } + + filterLine(seenTag, true); + + return tokens; + } + + function cleanTripleStache(token) { + if (token.n.substr(token.n.length - 1) === '}') { + token.n = token.n.substring(0, token.n.length - 1); + } + } + + function trim(s) { + if (s.trim) { + return s.trim(); + } + + return s.replace(/^\s*|\s*$/g, ''); + } + + function tagChange(tag, text, index) { + if (text.charAt(index) != tag.charAt(0)) { + return false; + } + + for (var i = 1, l = tag.length; i < l; i++) { + if (text.charAt(index + i) != tag.charAt(i)) { + return false; + } + } + + return true; + } + + function buildTree(tokens, kind, stack, customTags) { + var instructions = [], + opener = null, + token = null; + + while (tokens.length > 0) { + token = tokens.shift(); + if (token.tag == '#' || token.tag == '^' || isOpener(token, customTags)) { + stack.push(token); + token.nodes = buildTree(tokens, token.tag, stack, customTags); + instructions.push(token); + } else if (token.tag == '/') { + if (stack.length === 0) { + throw new Error('Closing tag without opener: /' + token.n); + } + opener = stack.pop(); + if (token.n != opener.n && !isCloser(token.n, opener.n, customTags)) { + throw new Error('Nesting error: ' + opener.n + ' vs. ' + token.n); + } + opener.end = token.i; + return instructions; + } else { + instructions.push(token); + } + } + + if (stack.length > 0) { + throw new Error('missing closing tag: ' + stack.pop().n); + } + + return instructions; + } + + function isOpener(token, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].o == token.n) { + token.tag = '#'; + return true; + } + } + } + + function isCloser(close, open, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].c == close && tags[i].o == open) { + return true; + } + } + } + + Hogan.generate = function (tree, text, options) { + var code = 'var _=this;_.b(i=i||"");' + walk(tree) + 'return _.fl();'; + if (options.asString) { + return 'function(c,p,i){' + code + ';}'; + } + + return new Hogan.Template(new Function('c', 'p', 'i', code), text, Hogan, options); + } + + function esc(s) { + return s.replace(rSlash, '\\\\') + .replace(rQuot, '\\\"') + .replace(rNewline, '\\n') + .replace(rCr, '\\r'); + } + + function chooseMethod(s) { + return (~s.indexOf('.')) ? 'd' : 'f'; + } + + function walk(tree) { + var code = ''; + for (var i = 0, l = tree.length; i < l; i++) { + var tag = tree[i].tag; + if (tag == '#') { + code += section(tree[i].nodes, tree[i].n, chooseMethod(tree[i].n), + tree[i].i, tree[i].end, tree[i].otag + " " + tree[i].ctag); + } else if (tag == '^') { + code += invertedSection(tree[i].nodes, tree[i].n, + chooseMethod(tree[i].n)); + } else if (tag == '<' || tag == '>') { + code += partial(tree[i]); + } else if (tag == '{' || tag == '&') { + code += tripleStache(tree[i].n, chooseMethod(tree[i].n)); + } else if (tag == '\n') { + code += text('"\\n"' + (tree.length-1 == i ? '' : ' + i')); + } else if (tag == '_v') { + code += variable(tree[i].n, chooseMethod(tree[i].n)); + } else if (tag === undefined) { + code += text('"' + esc(tree[i]) + '"'); + } + } + return code; + } + + function section(nodes, id, method, start, end, tags) { + return 'if(_.s(_.' + method + '("' + esc(id) + '",c,p,1),' + + 'c,p,0,' + start + ',' + end + ',"' + tags + '")){' + + '_.rs(c,p,' + + 'function(c,p,_){' + + walk(nodes) + + '});c.pop();}'; + } + + function invertedSection(nodes, id, method) { + return 'if(!_.s(_.' + method + '("' + esc(id) + '",c,p,1),c,p,1,0,0,"")){' + + walk(nodes) + + '};'; + } + + function partial(tok) { + return '_.b(_.rp("' + esc(tok.n) + '",c,p,"' + (tok.indent || '') + '"));'; + } + + function tripleStache(id, method) { + return '_.b(_.t(_.' + method + '("' + esc(id) + '",c,p,0)));'; + } + + function variable(id, method) { + return '_.b(_.v(_.' + method + '("' + esc(id) + '",c,p,0)));'; + } + + function text(id) { + return '_.b(' + id + ');'; + } + + Hogan.parse = function(tokens, text, options) { + options = options || {}; + return buildTree(tokens, '', [], options.sectionTags || []); + }, + + Hogan.cache = {}; + + Hogan.compile = function(text, options) { + // options + // + // asString: false (default) + // + // sectionTags: [{o: '_foo', c: 'foo'}] + // An array of object with o and c fields that indicate names for custom + // section tags. The example above allows parsing of {{_foo}}{{/foo}}. + // + // delimiters: A string that overrides the default delimiters. + // Example: "<% %>" + // + options = options || {}; + + var key = text + '||' + !!options.asString; + + var t = this.cache[key]; + + if (t) { + return t; + } + + t = this.generate(this.parse(this.scan(text, options.delimiters), text, options), text, options); + return this.cache[key] = t; + }; +})(typeof exports !== 'undefined' ? exports : Hogan); + + +if (typeof module !== 'undefined' && module.exports) { + module.exports = Hogan; +} diff --git a/hogan-node/node_modules/hogan.js/web/builds/2.0.0/hogan-2.0.0.js b/hogan-node/node_modules/hogan.js/web/builds/2.0.0/hogan-2.0.0.js new file mode 100644 index 0000000..43a6707 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/2.0.0/hogan-2.0.0.js @@ -0,0 +1,576 @@ +/* + * Copyright 2011 Twitter, Inc. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + + +var Hogan = {}; + +(function (Hogan, useArrayBuffer) { + Hogan.Template = function (renderFunc, text, compiler, options) { + this.r = renderFunc || this.r; + this.c = compiler; + this.options = options; + this.text = text || ''; + this.buf = (useArrayBuffer) ? [] : ''; + } + + Hogan.Template.prototype = { + // render: replaced by generated code. + r: function (context, partials, indent) { return ''; }, + + // variable escaping + v: hoganEscape, + + // triple stache + t: coerceToString, + + render: function render(context, partials, indent) { + return this.ri([context], partials || {}, indent); + }, + + // render internal -- a hook for overrides that catches partials too + ri: function (context, partials, indent) { + return this.r(context, partials, indent); + }, + + // tries to find a partial in the curent scope and render it + rp: function(name, context, partials, indent) { + var partial = partials[name]; + + if (!partial) { + return ''; + } + + if (this.c && typeof partial == 'string') { + partial = this.c.compile(partial, this.options); + } + + return partial.ri(context, partials, indent); + }, + + // render a section + rs: function(context, partials, section) { + var tail = context[context.length - 1]; + + if (!isArray(tail)) { + section(context, partials, this); + return; + } + + for (var i = 0; i < tail.length; i++) { + context.push(tail[i]); + section(context, partials, this); + context.pop(); + } + }, + + // maybe start a section + s: function(val, ctx, partials, inverted, start, end, tags) { + var pass; + + if (isArray(val) && val.length === 0) { + return false; + } + + if (typeof val == 'function') { + val = this.ls(val, ctx, partials, inverted, start, end, tags); + } + + pass = (val === '') || !!val; + + if (!inverted && pass && ctx) { + ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]); + } + + return pass; + }, + + // find values with dotted names + d: function(key, ctx, partials, returnFound) { + var names = key.split('.'), + val = this.f(names[0], ctx, partials, returnFound), + cx = null; + + if (key === '.' && isArray(ctx[ctx.length - 2])) { + return ctx[ctx.length - 1]; + } + + for (var i = 1; i < names.length; i++) { + if (val && typeof val == 'object' && names[i] in val) { + cx = val; + val = val[names[i]]; + } else { + val = ''; + } + } + + if (returnFound && !val) { + return false; + } + + if (!returnFound && typeof val == 'function') { + ctx.push(cx); + val = this.lv(val, ctx, partials); + ctx.pop(); + } + + return val; + }, + + // find values with normal names + f: function(key, ctx, partials, returnFound) { + var val = false, + v = null, + found = false; + + for (var i = ctx.length - 1; i >= 0; i--) { + v = ctx[i]; + if (v && typeof v == 'object' && key in v) { + val = v[key]; + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.lv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ho: function(val, cx, partials, text, tags) { + var compiler = this.c; + var options = this.options; + options.delimiters = tags; + var text = val.call(cx, text); + text = (text == null) ? String(text) : text.toString(); + this.b(compiler.compile(text, options).render(cx, partials)); + return false; + }, + + // template result buffering + b: (useArrayBuffer) ? function(s) { this.buf.push(s); } : + function(s) { this.buf += s; }, + fl: (useArrayBuffer) ? function() { var r = this.buf.join(''); this.buf = []; return r; } : + function() { var r = this.buf; this.buf = ''; return r; }, + + // lambda replace section + ls: function(val, ctx, partials, inverted, start, end, tags) { + var cx = ctx[ctx.length - 1], + t = null; + + if (!inverted && this.c && val.length > 0) { + return this.ho(val, cx, partials, this.text.substring(start, end), tags); + } + + t = val.call(cx); + + if (typeof t == 'function') { + if (inverted) { + return true; + } else if (this.c) { + return this.ho(t, cx, partials, this.text.substring(start, end), tags); + } + } + + return t; + }, + + // lambda replace variable + lv: function(val, ctx, partials) { + var cx = ctx[ctx.length - 1]; + var result = val.call(cx); + + if (typeof result == 'function') { + result = coerceToString(result.call(cx)); + if (this.c && ~result.indexOf("{\u007B")) { + return this.c.compile(result, this.options).render(cx, partials); + } + } + + return coerceToString(result); + } + + }; + + var rAmp = /&/g, + rLt = //g, + rApos =/\'/g, + rQuot = /\"/g, + hChars =/[&<>\"\']/; + + + function coerceToString(val) { + return String((val === null || val === undefined) ? '' : val); + } + + function hoganEscape(str) { + str = coerceToString(str); + return hChars.test(str) ? + str + .replace(rAmp,'&') + .replace(rLt,'<') + .replace(rGt,'>') + .replace(rApos,''') + .replace(rQuot, '"') : + str; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + }; + +})(typeof exports !== 'undefined' ? exports : Hogan); + + + + +(function (Hogan) { + // Setup regex assignments + // remove whitespace according to Mustache spec + var rIsWhitespace = /\S/, + rQuot = /\"/g, + rNewline = /\n/g, + rCr = /\r/g, + rSlash = /\\/g, + tagTypes = { + '#': 1, '^': 2, '/': 3, '!': 4, '>': 5, + '<': 6, '=': 7, '_v': 8, '{': 9, '&': 10 + }; + + Hogan.scan = function scan(text, delimiters) { + var len = text.length, + IN_TEXT = 0, + IN_TAG_TYPE = 1, + IN_TAG = 2, + state = IN_TEXT, + tagType = null, + tag = null, + buf = '', + tokens = [], + seenTag = false, + i = 0, + lineStart = 0, + otag = '{{', + ctag = '}}'; + + function addBuf() { + if (buf.length > 0) { + tokens.push(new String(buf)); + buf = ''; + } + } + + function lineIsWhitespace() { + var isAllWhitespace = true; + for (var j = lineStart; j < tokens.length; j++) { + isAllWhitespace = + (tokens[j].tag && tagTypes[tokens[j].tag] < tagTypes['_v']) || + (!tokens[j].tag && tokens[j].match(rIsWhitespace) === null); + if (!isAllWhitespace) { + return false; + } + } + + return isAllWhitespace; + } + + function filterLine(haveSeenTag, noNewLine) { + addBuf(); + + if (haveSeenTag && lineIsWhitespace()) { + for (var j = lineStart, next; j < tokens.length; j++) { + if (!tokens[j].tag) { + if ((next = tokens[j+1]) && next.tag == '>') { + // set indent to token value + next.indent = tokens[j].toString() + } + tokens.splice(j, 1); + } + } + } else if (!noNewLine) { + tokens.push({tag:'\n'}); + } + + seenTag = false; + lineStart = tokens.length; + } + + function changeDelimiters(text, index) { + var close = '=' + ctag, + closeIndex = text.indexOf(close, index), + delimiters = trim( + text.substring(text.indexOf('=', index) + 1, closeIndex) + ).split(' '); + + otag = delimiters[0]; + ctag = delimiters[1]; + + return closeIndex + close.length - 1; + } + + if (delimiters) { + delimiters = delimiters.split(' '); + otag = delimiters[0]; + ctag = delimiters[1]; + } + + for (i = 0; i < len; i++) { + if (state == IN_TEXT) { + if (tagChange(otag, text, i)) { + --i; + addBuf(); + state = IN_TAG_TYPE; + } else { + if (text.charAt(i) == '\n') { + filterLine(seenTag); + } else { + buf += text.charAt(i); + } + } + } else if (state == IN_TAG_TYPE) { + i += otag.length - 1; + tag = tagTypes[text.charAt(i + 1)]; + tagType = tag ? text.charAt(i + 1) : '_v'; + if (tagType == '=') { + i = changeDelimiters(text, i); + state = IN_TEXT; + } else { + if (tag) { + i++; + } + state = IN_TAG; + } + seenTag = i; + } else { + if (tagChange(ctag, text, i)) { + tokens.push({tag: tagType, n: trim(buf), otag: otag, ctag: ctag, + i: (tagType == '/') ? seenTag - ctag.length : i + otag.length}); + buf = ''; + i += ctag.length - 1; + state = IN_TEXT; + if (tagType == '{') { + if (ctag == '}}') { + i++; + } else { + cleanTripleStache(tokens[tokens.length - 1]); + } + } + } else { + buf += text.charAt(i); + } + } + } + + filterLine(seenTag, true); + + return tokens; + } + + function cleanTripleStache(token) { + if (token.n.substr(token.n.length - 1) === '}') { + token.n = token.n.substring(0, token.n.length - 1); + } + } + + function trim(s) { + if (s.trim) { + return s.trim(); + } + + return s.replace(/^\s*|\s*$/g, ''); + } + + function tagChange(tag, text, index) { + if (text.charAt(index) != tag.charAt(0)) { + return false; + } + + for (var i = 1, l = tag.length; i < l; i++) { + if (text.charAt(index + i) != tag.charAt(i)) { + return false; + } + } + + return true; + } + + function buildTree(tokens, kind, stack, customTags) { + var instructions = [], + opener = null, + token = null; + + while (tokens.length > 0) { + token = tokens.shift(); + if (token.tag == '#' || token.tag == '^' || isOpener(token, customTags)) { + stack.push(token); + token.nodes = buildTree(tokens, token.tag, stack, customTags); + instructions.push(token); + } else if (token.tag == '/') { + if (stack.length === 0) { + throw new Error('Closing tag without opener: /' + token.n); + } + opener = stack.pop(); + if (token.n != opener.n && !isCloser(token.n, opener.n, customTags)) { + throw new Error('Nesting error: ' + opener.n + ' vs. ' + token.n); + } + opener.end = token.i; + return instructions; + } else { + instructions.push(token); + } + } + + if (stack.length > 0) { + throw new Error('missing closing tag: ' + stack.pop().n); + } + + return instructions; + } + + function isOpener(token, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].o == token.n) { + token.tag = '#'; + return true; + } + } + } + + function isCloser(close, open, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].c == close && tags[i].o == open) { + return true; + } + } + } + + Hogan.generate = function (tree, text, options) { + var code = 'var _=this;_.b(i=i||"");' + walk(tree) + 'return _.fl();'; + if (options.asString) { + return 'function(c,p,i){' + code + ';}'; + } + + return new Hogan.Template(new Function('c', 'p', 'i', code), text, Hogan, options); + } + + function esc(s) { + return s.replace(rSlash, '\\\\') + .replace(rQuot, '\\\"') + .replace(rNewline, '\\n') + .replace(rCr, '\\r'); + } + + function chooseMethod(s) { + return (~s.indexOf('.')) ? 'd' : 'f'; + } + + function walk(tree) { + var code = ''; + for (var i = 0, l = tree.length; i < l; i++) { + var tag = tree[i].tag; + if (tag == '#') { + code += section(tree[i].nodes, tree[i].n, chooseMethod(tree[i].n), + tree[i].i, tree[i].end, tree[i].otag + " " + tree[i].ctag); + } else if (tag == '^') { + code += invertedSection(tree[i].nodes, tree[i].n, + chooseMethod(tree[i].n)); + } else if (tag == '<' || tag == '>') { + code += partial(tree[i]); + } else if (tag == '{' || tag == '&') { + code += tripleStache(tree[i].n, chooseMethod(tree[i].n)); + } else if (tag == '\n') { + code += text('"\\n"' + (tree.length-1 == i ? '' : ' + i')); + } else if (tag == '_v') { + code += variable(tree[i].n, chooseMethod(tree[i].n)); + } else if (tag === undefined) { + code += text('"' + esc(tree[i]) + '"'); + } + } + return code; + } + + function section(nodes, id, method, start, end, tags) { + return 'if(_.s(_.' + method + '("' + esc(id) + '",c,p,1),' + + 'c,p,0,' + start + ',' + end + ',"' + tags + '")){' + + '_.rs(c,p,' + + 'function(c,p,_){' + + walk(nodes) + + '});c.pop();}'; + } + + function invertedSection(nodes, id, method) { + return 'if(!_.s(_.' + method + '("' + esc(id) + '",c,p,1),c,p,1,0,0,"")){' + + walk(nodes) + + '};'; + } + + function partial(tok) { + return '_.b(_.rp("' + esc(tok.n) + '",c,p,"' + (tok.indent || '') + '"));'; + } + + function tripleStache(id, method) { + return '_.b(_.t(_.' + method + '("' + esc(id) + '",c,p,0)));'; + } + + function variable(id, method) { + return '_.b(_.v(_.' + method + '("' + esc(id) + '",c,p,0)));'; + } + + function text(id) { + return '_.b(' + id + ');'; + } + + Hogan.parse = function(tokens, text, options) { + options = options || {}; + return buildTree(tokens, '', [], options.sectionTags || []); + }, + + Hogan.cache = {}; + + Hogan.compile = function(text, options) { + // options + // + // asString: false (default) + // + // sectionTags: [{o: '_foo', c: 'foo'}] + // An array of object with o and c fields that indicate names for custom + // section tags. The example above allows parsing of {{_foo}}{{/foo}}. + // + // delimiters: A string that overrides the default delimiters. + // Example: "<% %>" + // + options = options || {}; + + var key = text + '||' + !!options.asString; + + var t = this.cache[key]; + + if (t) { + return t; + } + + t = this.generate(this.parse(this.scan(text, options.delimiters), text, options), text, options); + return this.cache[key] = t; + }; +})(typeof exports !== 'undefined' ? exports : Hogan); + diff --git a/hogan-node/node_modules/hogan.js/web/builds/2.0.0/hogan-2.0.0.min.amd.js b/hogan-node/node_modules/hogan.js/web/builds/2.0.0/hogan-2.0.0.min.amd.js new file mode 100644 index 0000000..479c278 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/2.0.0/hogan-2.0.0.min.amd.js @@ -0,0 +1,5 @@ +/** +* @preserve Copyright 2012 Twitter, Inc. +* @license http://www.apache.org/licenses/LICENSE-2.0.txt +*/ +var Hogan={};(function(a,b){function i(a){return String(a===null||a===undefined?"":a)}function j(a){return a=i(a),h.test(a)?a.replace(c,"&").replace(d,"<").replace(e,">").replace(f,"'").replace(g,"""):a}a.Template=function(a,c,d,e){this.r=a||this.r,this.c=d,this.options=e,this.text=c||"",this.buf=b?[]:""},a.Template.prototype={r:function(a,b,c){return""},v:j,t:i,render:function(b,c,d){return this.ri([b],c||{},d)},ri:function(a,b,c){return this.r(a,b,c)},rp:function(a,b,c,d){var e=c[a];return e?(this.c&&typeof e=="string"&&(e=this.c.compile(e,this.options)),e.ri(b,c,d)):""},rs:function(a,b,c){var d=a[a.length-1];if(!k(d)){c(a,b,this);return}for(var e=0;e=0;h--){f=b[h];if(f&&typeof f=="object"&&a in f){e=f[a],g=!0;break}}return g?(!d&&typeof e=="function"&&(e=this.lv(e,b,c)),e):d?!1:""},ho:function(a,b,c,d,e){var f=this.c,g=this.options;g.delimiters=e;var d=a.call(b,d);return d=d==null?String(d):d.toString(),this.b(f.compile(d,g).render(b,c)),!1},b:b?function(a){this.buf.push(a)}:function(a){this.buf+=a},fl:b?function(){var a=this.buf.join("");return this.buf=[],a}:function(){var a=this.buf;return this.buf="",a},ls:function(a,b,c,d,e,f,g){var h=b[b.length-1],i=null;if(!d&&this.c&&a.length>0)return this.ho(a,h,c,this.text.substring(e,f),g);i=a.call(h);if(typeof i=="function"){if(d)return!0;if(this.c)return this.ho(i,h,c,this.text.substring(e,f),g)}return i},lv:function(a,b,c){var d=b[b.length-1],e=a.call(d);if(typeof e=="function"){e=i(e.call(d));if(this.c&&~e.indexOf("{{"))return this.c.compile(e,this.options).render(d,c)}return i(e)}};var c=/&/g,d=//g,f=/\'/g,g=/\"/g,h=/[&<>\"\']/,k=Array.isArray||function(a){return Object.prototype.toString.call(a)==="[object Array]"}})(typeof exports!="undefined"?exports:Hogan),function(a){function h(a){a.n.substr(a.n.length-1)==="}"&&(a.n=a.n.substring(0,a.n.length-1))}function i(a){return a.trim?a.trim():a.replace(/^\s*|\s*$/g,"")}function j(a,b,c){if(b.charAt(c)!=a.charAt(0))return!1;for(var d=1,e=a.length;d0){g=a.shift();if(g.tag=="#"||g.tag=="^"||l(g,d))c.push(g),g.nodes=k(a,g.tag,c,d),e.push(g);else{if(g.tag=="/"){if(c.length===0)throw new Error("Closing tag without opener: /"+g.n);f=c.pop();if(g.n!=f.n&&!m(g.n,f.n,d))throw new Error("Nesting error: "+f.n+" vs. "+g.n);return f.end=g.i,e}e.push(g)}}if(c.length>0)throw new Error("missing closing tag: "+c.pop().n);return e}function l(a,b){for(var c=0,d=b.length;c"?b+=s(a[c]):e=="{"||e=="&"?b+=t(a[c].n,o(a[c].n)):e=="\n"?b+=v('"\\n"'+(a.length-1==c?"":" + i")):e=="_v"?b+=u(a[c].n,o(a[c].n)):e===undefined&&(b+=v('"'+n(a[c])+'"'))}return b}function q(a,b,c,d,e,f){return"if(_.s(_."+c+'("'+n(b)+'",c,p,1),'+"c,p,0,"+d+","+e+',"'+f+'")){'+"_.rs(c,p,"+"function(c,p,_){"+p(a)+"});c.pop();}"}function r(a,b,c){return"if(!_.s(_."+c+'("'+n(b)+'",c,p,1),c,p,1,0,0,"")){'+p(a)+"};"}function s(a){return'_.b(_.rp("'+n(a.n)+'",c,p,"'+(a.indent||"")+'"));'}function t(a,b){return"_.b(_.t(_."+b+'("'+n(a)+'",c,p,0)));'}function u(a,b){return"_.b(_.v(_."+b+'("'+n(a)+'",c,p,0)));'}function v(a){return"_.b("+a+");"}var b=/\S/,c=/\"/g,d=/\n/g,e=/\r/g,f=/\\/g,g={"#":1,"^":2,"/":3,"!":4,">":5,"<":6,"=":7,_v:8,"{":9,"&":10};a.scan=function(c,d){function w(){p.length>0&&(q.push(new String(p)),p="")}function x(){var a=!0;for(var c=t;c"&&(d.indent=q[c].toString()),q.splice(c,1));else b||q.push({tag:"\n"});r=!1,t=q.length}function z(a,b){var c="="+v,d=a.indexOf(c,b),e=i(a.substring(a.indexOf("=",b)+1,d)).split(" ");return u=e[0],v=e[1],d+c.length-1}var e=c.length,f=0,k=1,l=2,m=f,n=null,o=null,p="",q=[],r=!1,s=0,t=0,u="{{",v="}}";d&&(d=d.split(" "),u=d[0],v=d[1]);for(s=0;s=0;h--){f=b[h];if(f&&typeof f=="object"&&a in f){e=f[a],g=!0;break}}return g?(!d&&typeof e=="function"&&(e=this.lv(e,b,c)),e):d?!1:""},ho:function(a,b,c,d,e){var f=this.c,g=this.options;g.delimiters=e;var d=a.call(b,d);return d=d==null?String(d):d.toString(),this.b(f.compile(d,g).render(b,c)),!1},b:b?function(a){this.buf.push(a)}:function(a){this.buf+=a},fl:b?function(){var a=this.buf.join("");return this.buf=[],a}:function(){var a=this.buf;return this.buf="",a},ls:function(a,b,c,d,e,f,g){var h=b[b.length-1],i=null;if(!d&&this.c&&a.length>0)return this.ho(a,h,c,this.text.substring(e,f),g);i=a.call(h);if(typeof i=="function"){if(d)return!0;if(this.c)return this.ho(i,h,c,this.text.substring(e,f),g)}return i},lv:function(a,b,c){var d=b[b.length-1],e=a.call(d);if(typeof e=="function"){e=i(e.call(d));if(this.c&&~e.indexOf("{{"))return this.c.compile(e,this.options).render(d,c)}return i(e)}};var c=/&/g,d=//g,f=/\'/g,g=/\"/g,h=/[&<>\"\']/,k=Array.isArray||function(a){return Object.prototype.toString.call(a)==="[object Array]"}})(typeof exports!="undefined"?exports:Hogan),function(a){function h(a){a.n.substr(a.n.length-1)==="}"&&(a.n=a.n.substring(0,a.n.length-1))}function i(a){return a.trim?a.trim():a.replace(/^\s*|\s*$/g,"")}function j(a,b,c){if(b.charAt(c)!=a.charAt(0))return!1;for(var d=1,e=a.length;d0){g=a.shift();if(g.tag=="#"||g.tag=="^"||l(g,d))c.push(g),g.nodes=k(a,g.tag,c,d),e.push(g);else{if(g.tag=="/"){if(c.length===0)throw new Error("Closing tag without opener: /"+g.n);f=c.pop();if(g.n!=f.n&&!m(g.n,f.n,d))throw new Error("Nesting error: "+f.n+" vs. "+g.n);return f.end=g.i,e}e.push(g)}}if(c.length>0)throw new Error("missing closing tag: "+c.pop().n);return e}function l(a,b){for(var c=0,d=b.length;c"?b+=s(a[c]):e=="{"||e=="&"?b+=t(a[c].n,o(a[c].n)):e=="\n"?b+=v('"\\n"'+(a.length-1==c?"":" + i")):e=="_v"?b+=u(a[c].n,o(a[c].n)):e===undefined&&(b+=v('"'+n(a[c])+'"'))}return b}function q(a,b,c,d,e,f){return"if(_.s(_."+c+'("'+n(b)+'",c,p,1),'+"c,p,0,"+d+","+e+',"'+f+'")){'+"_.rs(c,p,"+"function(c,p,_){"+p(a)+"});c.pop();}"}function r(a,b,c){return"if(!_.s(_."+c+'("'+n(b)+'",c,p,1),c,p,1,0,0,"")){'+p(a)+"};"}function s(a){return'_.b(_.rp("'+n(a.n)+'",c,p,"'+(a.indent||"")+'"));'}function t(a,b){return"_.b(_.t(_."+b+'("'+n(a)+'",c,p,0)));'}function u(a,b){return"_.b(_.v(_."+b+'("'+n(a)+'",c,p,0)));'}function v(a){return"_.b("+a+");"}var b=/\S/,c=/\"/g,d=/\n/g,e=/\r/g,f=/\\/g,g={"#":1,"^":2,"/":3,"!":4,">":5,"<":6,"=":7,_v:8,"{":9,"&":10};a.scan=function(c,d){function w(){p.length>0&&(q.push(new String(p)),p="")}function x(){var a=!0;for(var c=t;c"&&(d.indent=q[c].toString()),q.splice(c,1));else b||q.push({tag:"\n"});r=!1,t=q.length}function z(a,b){var c="="+v,d=a.indexOf(c,b),e=i(a.substring(a.indexOf("=",b)+1,d)).split(" ");return u=e[0],v=e[1],d+c.length-1}var e=c.length,f=0,k=1,l=2,m=f,n=null,o=null,p="",q=[],r=!1,s=0,t=0,u="{{",v="}}";d&&(d=d.split(" "),u=d[0],v=d[1]);for(s=0;s=0;h--){f=b[h];if(f&&typeof f=="object"&&a in f){e=f[a],g=!0;break}}return g?(!d&&typeof e=="function"&&(e=this.lv(e,b,c)),e):d?!1:""},ho:function(a,b,c,d,e){var f=this.c,g=this.options;g.delimiters=e;var d=a.call(b,d);return d=d==null?String(d):d.toString(),this.b(f.compile(d,g).render(b,c)),!1},b:b?function(a){this.buf.push(a)}:function(a){this.buf+=a},fl:b?function(){var a=this.buf.join("");return this.buf=[],a}:function(){var a=this.buf;return this.buf="",a},ls:function(a,b,c,d,e,f,g){var h=b[b.length-1],i=null;if(!d&&this.c&&a.length>0)return this.ho(a,h,c,this.text.substring(e,f),g);i=a.call(h);if(typeof i=="function"){if(d)return!0;if(this.c)return this.ho(i,h,c,this.text.substring(e,f),g)}return i},lv:function(a,b,c){var d=b[b.length-1],e=a.call(d);if(typeof e=="function"){e=i(e.call(d));if(this.c&&~e.indexOf("{{"))return this.c.compile(e,this.options).render(d,c)}return i(e)}};var c=/&/g,d=//g,f=/\'/g,g=/\"/g,h=/[&<>\"\']/,k=Array.isArray||function(a){return Object.prototype.toString.call(a)==="[object Array]"}})(typeof exports!="undefined"?exports:Hogan),function(a){function h(a){a.n.substr(a.n.length-1)==="}"&&(a.n=a.n.substring(0,a.n.length-1))}function i(a){return a.trim?a.trim():a.replace(/^\s*|\s*$/g,"")}function j(a,b,c){if(b.charAt(c)!=a.charAt(0))return!1;for(var d=1,e=a.length;d0){g=a.shift();if(g.tag=="#"||g.tag=="^"||l(g,d))c.push(g),g.nodes=k(a,g.tag,c,d),e.push(g);else{if(g.tag=="/"){if(c.length===0)throw new Error("Closing tag without opener: /"+g.n);f=c.pop();if(g.n!=f.n&&!m(g.n,f.n,d))throw new Error("Nesting error: "+f.n+" vs. "+g.n);return f.end=g.i,e}e.push(g)}}if(c.length>0)throw new Error("missing closing tag: "+c.pop().n);return e}function l(a,b){for(var c=0,d=b.length;c"?b+=s(a[c]):e=="{"||e=="&"?b+=t(a[c].n,o(a[c].n)):e=="\n"?b+=v('"\\n"'+(a.length-1==c?"":" + i")):e=="_v"?b+=u(a[c].n,o(a[c].n)):e===undefined&&(b+=v('"'+n(a[c])+'"'))}return b}function q(a,b,c,d,e,f){return"if(_.s(_."+c+'("'+n(b)+'",c,p,1),'+"c,p,0,"+d+","+e+',"'+f+'")){'+"_.rs(c,p,"+"function(c,p,_){"+p(a)+"});c.pop();}"}function r(a,b,c){return"if(!_.s(_."+c+'("'+n(b)+'",c,p,1),c,p,1,0,0,"")){'+p(a)+"};"}function s(a){return'_.b(_.rp("'+n(a.n)+'",c,p,"'+(a.indent||"")+'"));'}function t(a,b){return"_.b(_.t(_."+b+'("'+n(a)+'",c,p,0)));'}function u(a,b){return"_.b(_.v(_."+b+'("'+n(a)+'",c,p,0)));'}function v(a){return"_.b("+a+");"}var b=/\S/,c=/\"/g,d=/\n/g,e=/\r/g,f=/\\/g,g={"#":1,"^":2,"/":3,"!":4,">":5,"<":6,"=":7,_v:8,"{":9,"&":10};a.scan=function(c,d){function w(){p.length>0&&(q.push(new String(p)),p="")}function x(){var a=!0;for(var c=t;c"&&(d.indent=q[c].toString()),q.splice(c,1));else b||q.push({tag:"\n"});r=!1,t=q.length}function z(a,b){var c="="+v,d=a.indexOf(c,b),e=i(a.substring(a.indexOf("=",b)+1,d)).split(" ");return u=e[0],v=e[1],d+c.length-1}var e=c.length,f=0,k=1,l=2,m=f,n=null,o=null,p="",q=[],r=!1,s=0,t=0,u="{{",v="}}";d&&(d=d.split(" "),u=d[0],v=d[1]);for(s=0;s=0;h--){f=b[h];if(f&&typeof f=="object"&&a in f){e=f[a],g=!0;break}}return g?(!d&&typeof e=="function"&&(e=this.lv(e,b,c)),e):d?!1:""},ho:function(a,b,c,d,e){var f=this.c,g=this.options;g.delimiters=e;var d=a.call(b,d);return d=d==null?String(d):d.toString(),this.b(f.compile(d,g).render(b,c)),!1},b:b?function(a){this.buf.push(a)}:function(a){this.buf+=a},fl:b?function(){var a=this.buf.join("");return this.buf=[],a}:function(){var a=this.buf;return this.buf="",a},ls:function(a,b,c,d,e,f,g){var h=b[b.length-1],i=null;if(!d&&this.c&&a.length>0)return this.ho(a,h,c,this.text.substring(e,f),g);i=a.call(h);if(typeof i=="function"){if(d)return!0;if(this.c)return this.ho(i,h,c,this.text.substring(e,f),g)}return i},lv:function(a,b,c){var d=b[b.length-1],e=a.call(d);if(typeof e=="function"){e=i(e.call(d));if(this.c&&~e.indexOf("{{"))return this.c.compile(e,this.options).render(d,c)}return i(e)}};var c=/&/g,d=//g,f=/\'/g,g=/\"/g,h=/[&<>\"\']/,k=Array.isArray||function(a){return Object.prototype.toString.call(a)==="[object Array]"}})(typeof exports!="undefined"?exports:Hogan),function(a){function h(a){a.n.substr(a.n.length-1)==="}"&&(a.n=a.n.substring(0,a.n.length-1))}function i(a){return a.trim?a.trim():a.replace(/^\s*|\s*$/g,"")}function j(a,b,c){if(b.charAt(c)!=a.charAt(0))return!1;for(var d=1,e=a.length;d0){g=a.shift();if(g.tag=="#"||g.tag=="^"||l(g,d))c.push(g),g.nodes=k(a,g.tag,c,d),e.push(g);else{if(g.tag=="/"){if(c.length===0)throw new Error("Closing tag without opener: /"+g.n);f=c.pop();if(g.n!=f.n&&!m(g.n,f.n,d))throw new Error("Nesting error: "+f.n+" vs. "+g.n);return f.end=g.i,e}e.push(g)}}if(c.length>0)throw new Error("missing closing tag: "+c.pop().n);return e}function l(a,b){for(var c=0,d=b.length;c"?b+=s(a[c]):e=="{"||e=="&"?b+=t(a[c].n,o(a[c].n)):e=="\n"?b+=v('"\\n"'+(a.length-1==c?"":" + i")):e=="_v"?b+=u(a[c].n,o(a[c].n)):e===undefined&&(b+=v('"'+n(a[c])+'"'))}return b}function q(a,b,c,d,e,f){return"if(_.s(_."+c+'("'+n(b)+'",c,p,1),'+"c,p,0,"+d+","+e+',"'+f+'")){'+"_.rs(c,p,"+"function(c,p,_){"+p(a)+"});c.pop();}"}function r(a,b,c){return"if(!_.s(_."+c+'("'+n(b)+'",c,p,1),c,p,1,0,0,"")){'+p(a)+"};"}function s(a){return'_.b(_.rp("'+n(a.n)+'",c,p,"'+(a.indent||"")+'"));'}function t(a,b){return"_.b(_.t(_."+b+'("'+n(a)+'",c,p,0)));'}function u(a,b){return"_.b(_.v(_."+b+'("'+n(a)+'",c,p,0)));'}function v(a){return"_.b("+a+");"}var b=/\S/,c=/\"/g,d=/\n/g,e=/\r/g,f=/\\/g,g={"#":1,"^":2,"/":3,"!":4,">":5,"<":6,"=":7,_v:8,"{":9,"&":10};a.scan=function(c,d){function w(){p.length>0&&(q.push(new String(p)),p="")}function x(){var a=!0;for(var c=t;c"&&(d.indent=q[c].toString()),q.splice(c,1));else b||q.push({tag:"\n"});r=!1,t=q.length}function z(a,b){var c="="+v,d=a.indexOf(c,b),e=i(a.substring(a.indexOf("=",b)+1,d)).split(" ");return u=e[0],v=e[1],d+c.length-1}var e=c.length,f=0,k=1,l=2,m=f,n=null,o=null,p="",q=[],r=!1,s=0,t=0,u="{{",v="}}";d&&(d=d.split(" "),u=d[0],v=d[1]);for(s=0;s= 0; i--) { + v = ctx[i]; + if (v && typeof v == 'object' && key in v) { + val = v[key]; + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.lv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ho: function(val, cx, partials, text, tags) { + var compiler = this.c; + var options = this.options; + options.delimiters = tags; + var text = val.call(cx, text); + text = (text == null) ? String(text) : text.toString(); + this.b(compiler.compile(text, options).render(cx, partials)); + return false; + }, + + // template result buffering + b: (useArrayBuffer) ? function(s) { this.buf.push(s); } : + function(s) { this.buf += s; }, + fl: (useArrayBuffer) ? function() { var r = this.buf.join(''); this.buf = []; return r; } : + function() { var r = this.buf; this.buf = ''; return r; }, + + // lambda replace section + ls: function(val, ctx, partials, inverted, start, end, tags) { + var cx = ctx[ctx.length - 1], + t = null; + + if (!inverted && this.c && val.length > 0) { + return this.ho(val, cx, partials, this.text.substring(start, end), tags); + } + + t = val.call(cx); + + if (typeof t == 'function') { + if (inverted) { + return true; + } else if (this.c) { + return this.ho(t, cx, partials, this.text.substring(start, end), tags); + } + } + + return t; + }, + + // lambda replace variable + lv: function(val, ctx, partials) { + var cx = ctx[ctx.length - 1]; + var result = val.call(cx); + + if (typeof result == 'function') { + result = coerceToString(result.call(cx)); + if (this.c && ~result.indexOf("{\u007B")) { + return this.c.compile(result, this.options).render(cx, partials); + } + } + + return coerceToString(result); + } + + }; + + var rAmp = /&/g, + rLt = //g, + rApos =/\'/g, + rQuot = /\"/g, + hChars =/[&<>\"\']/; + + + function coerceToString(val) { + return String((val === null || val === undefined) ? '' : val); + } + + function hoganEscape(str) { + str = coerceToString(str); + return hChars.test(str) ? + str + .replace(rAmp,'&') + .replace(rLt,'<') + .replace(rGt,'>') + .replace(rApos,''') + .replace(rQuot, '"') : + str; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + }; + +})(typeof exports !== 'undefined' ? exports : Hogan); + + + + +(function (Hogan) { + // Setup regex assignments + // remove whitespace according to Mustache spec + var rIsWhitespace = /\S/, + rQuot = /\"/g, + rNewline = /\n/g, + rCr = /\r/g, + rSlash = /\\/g, + tagTypes = { + '#': 1, '^': 2, '/': 3, '!': 4, '>': 5, + '<': 6, '=': 7, '_v': 8, '{': 9, '&': 10 + }; + + Hogan.scan = function scan(text, delimiters) { + var len = text.length, + IN_TEXT = 0, + IN_TAG_TYPE = 1, + IN_TAG = 2, + state = IN_TEXT, + tagType = null, + tag = null, + buf = '', + tokens = [], + seenTag = false, + i = 0, + lineStart = 0, + otag = '{{', + ctag = '}}'; + + function addBuf() { + if (buf.length > 0) { + tokens.push(new String(buf)); + buf = ''; + } + } + + function lineIsWhitespace() { + var isAllWhitespace = true; + for (var j = lineStart; j < tokens.length; j++) { + isAllWhitespace = + (tokens[j].tag && tagTypes[tokens[j].tag] < tagTypes['_v']) || + (!tokens[j].tag && tokens[j].match(rIsWhitespace) === null); + if (!isAllWhitespace) { + return false; + } + } + + return isAllWhitespace; + } + + function filterLine(haveSeenTag, noNewLine) { + addBuf(); + + if (haveSeenTag && lineIsWhitespace()) { + for (var j = lineStart, next; j < tokens.length; j++) { + if (!tokens[j].tag) { + if ((next = tokens[j+1]) && next.tag == '>') { + // set indent to token value + next.indent = tokens[j].toString() + } + tokens.splice(j, 1); + } + } + } else if (!noNewLine) { + tokens.push({tag:'\n'}); + } + + seenTag = false; + lineStart = tokens.length; + } + + function changeDelimiters(text, index) { + var close = '=' + ctag, + closeIndex = text.indexOf(close, index), + delimiters = trim( + text.substring(text.indexOf('=', index) + 1, closeIndex) + ).split(' '); + + otag = delimiters[0]; + ctag = delimiters[1]; + + return closeIndex + close.length - 1; + } + + if (delimiters) { + delimiters = delimiters.split(' '); + otag = delimiters[0]; + ctag = delimiters[1]; + } + + for (i = 0; i < len; i++) { + if (state == IN_TEXT) { + if (tagChange(otag, text, i)) { + --i; + addBuf(); + state = IN_TAG_TYPE; + } else { + if (text.charAt(i) == '\n') { + filterLine(seenTag); + } else { + buf += text.charAt(i); + } + } + } else if (state == IN_TAG_TYPE) { + i += otag.length - 1; + tag = tagTypes[text.charAt(i + 1)]; + tagType = tag ? text.charAt(i + 1) : '_v'; + if (tagType == '=') { + i = changeDelimiters(text, i); + state = IN_TEXT; + } else { + if (tag) { + i++; + } + state = IN_TAG; + } + seenTag = i; + } else { + if (tagChange(ctag, text, i)) { + tokens.push({tag: tagType, n: trim(buf), otag: otag, ctag: ctag, + i: (tagType == '/') ? seenTag - ctag.length : i + otag.length}); + buf = ''; + i += ctag.length - 1; + state = IN_TEXT; + if (tagType == '{') { + if (ctag == '}}') { + i++; + } else { + cleanTripleStache(tokens[tokens.length - 1]); + } + } + } else { + buf += text.charAt(i); + } + } + } + + filterLine(seenTag, true); + + return tokens; + } + + function cleanTripleStache(token) { + if (token.n.substr(token.n.length - 1) === '}') { + token.n = token.n.substring(0, token.n.length - 1); + } + } + + function trim(s) { + if (s.trim) { + return s.trim(); + } + + return s.replace(/^\s*|\s*$/g, ''); + } + + function tagChange(tag, text, index) { + if (text.charAt(index) != tag.charAt(0)) { + return false; + } + + for (var i = 1, l = tag.length; i < l; i++) { + if (text.charAt(index + i) != tag.charAt(i)) { + return false; + } + } + + return true; + } + + function buildTree(tokens, kind, stack, customTags) { + var instructions = [], + opener = null, + token = null; + + while (tokens.length > 0) { + token = tokens.shift(); + if (token.tag == '#' || token.tag == '^' || isOpener(token, customTags)) { + stack.push(token); + token.nodes = buildTree(tokens, token.tag, stack, customTags); + instructions.push(token); + } else if (token.tag == '/') { + if (stack.length === 0) { + throw new Error('Closing tag without opener: /' + token.n); + } + opener = stack.pop(); + if (token.n != opener.n && !isCloser(token.n, opener.n, customTags)) { + throw new Error('Nesting error: ' + opener.n + ' vs. ' + token.n); + } + opener.end = token.i; + return instructions; + } else { + instructions.push(token); + } + } + + if (stack.length > 0) { + throw new Error('missing closing tag: ' + stack.pop().n); + } + + return instructions; + } + + function isOpener(token, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].o == token.n) { + token.tag = '#'; + return true; + } + } + } + + function isCloser(close, open, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].c == close && tags[i].o == open) { + return true; + } + } + } + + Hogan.generate = function (tree, text, options) { + var code = 'var _=this;_.b(i=i||"");' + walk(tree) + 'return _.fl();'; + if (options.asString) { + return 'function(c,p,i){' + code + ';}'; + } + + return new Hogan.Template(new Function('c', 'p', 'i', code), text, Hogan, options); + } + + function esc(s) { + return s.replace(rSlash, '\\\\') + .replace(rQuot, '\\\"') + .replace(rNewline, '\\n') + .replace(rCr, '\\r'); + } + + function chooseMethod(s) { + return (~s.indexOf('.')) ? 'd' : 'f'; + } + + function walk(tree) { + var code = ''; + for (var i = 0, l = tree.length; i < l; i++) { + var tag = tree[i].tag; + if (tag == '#') { + code += section(tree[i].nodes, tree[i].n, chooseMethod(tree[i].n), + tree[i].i, tree[i].end, tree[i].otag + " " + tree[i].ctag); + } else if (tag == '^') { + code += invertedSection(tree[i].nodes, tree[i].n, + chooseMethod(tree[i].n)); + } else if (tag == '<' || tag == '>') { + code += partial(tree[i]); + } else if (tag == '{' || tag == '&') { + code += tripleStache(tree[i].n, chooseMethod(tree[i].n)); + } else if (tag == '\n') { + code += text('"\\n"' + (tree.length-1 == i ? '' : ' + i')); + } else if (tag == '_v') { + code += variable(tree[i].n, chooseMethod(tree[i].n)); + } else if (tag === undefined) { + code += text('"' + esc(tree[i]) + '"'); + } + } + return code; + } + + function section(nodes, id, method, start, end, tags) { + return 'if(_.s(_.' + method + '("' + esc(id) + '",c,p,1),' + + 'c,p,0,' + start + ',' + end + ',"' + tags + '")){' + + '_.rs(c,p,' + + 'function(c,p,_){' + + walk(nodes) + + '});c.pop();}'; + } + + function invertedSection(nodes, id, method) { + return 'if(!_.s(_.' + method + '("' + esc(id) + '",c,p,1),c,p,1,0,0,"")){' + + walk(nodes) + + '};'; + } + + function partial(tok) { + return '_.b(_.rp("' + esc(tok.n) + '",c,p,"' + (tok.indent || '') + '"));'; + } + + function tripleStache(id, method) { + return '_.b(_.t(_.' + method + '("' + esc(id) + '",c,p,0)));'; + } + + function variable(id, method) { + return '_.b(_.v(_.' + method + '("' + esc(id) + '",c,p,0)));'; + } + + function text(id) { + return '_.b(' + id + ');'; + } + + Hogan.parse = function(tokens, text, options) { + options = options || {}; + return buildTree(tokens, '', [], options.sectionTags || []); + }, + + Hogan.cache = {}; + + Hogan.compile = function(text, options) { + // options + // + // asString: false (default) + // + // sectionTags: [{o: '_foo', c: 'foo'}] + // An array of object with o and c fields that indicate names for custom + // section tags. The example above allows parsing of {{_foo}}{{/foo}}. + // + // delimiters: A string that overrides the default delimiters. + // Example: "<% %>" + // + options = options || {}; + + var key = text + '||' + !!options.asString; + + var t = this.cache[key]; + + if (t) { + return t; + } + + t = this.generate(this.parse(this.scan(text, options.delimiters), text, options), text, options); + return this.cache[key] = t; + }; +})(typeof exports !== 'undefined' ? exports : Hogan); + + +var Mustache = (function (Hogan) { + + // Mustache.js has non-spec partial context behavior + function mustachePartial(name, context, partials, indent) { + var partialScope = this.f(name, context, partials, 0); + var cx = context; + if (partialScope) { + cx = cx.concat(partialScope); + } + + return Hogan.Template.prototype.rp.call(this, name, cx, partials, indent); + } + + var HoganTemplateWrapper = function(renderFunc, text, compiler){ + this.rp = mustachePartial; + Hogan.Template.call(this, renderFunc, text, compiler); + }; + HoganTemplateWrapper.prototype = Hogan.Template.prototype; + + // Add a wrapper for Hogan's generate method. Mustache and Hogan keep + // separate caches, and Mustache returns wrapped templates. + var wrapper; + var HoganWrapper = function(){ + this.cache = {}; + this.generate = function(code, text, options) { + return new HoganTemplateWrapper(new Function('c', 'p', 'i', code), text, wrapper); + } + }; + HoganWrapper.prototype = Hogan; + wrapper = new HoganWrapper(); + + return { + to_html: function(text, data, partials, sendFun) { + var template = wrapper.compile(text); + var result = template.render(data, partials); + if (!sendFun) { + return result; + } + + sendFun(result); + } + } + +})(Hogan); diff --git a/hogan-node/node_modules/hogan.js/web/builds/2.0.0/template-2.0.0.js b/hogan-node/node_modules/hogan.js/web/builds/2.0.0/template-2.0.0.js new file mode 100644 index 0000000..c28ce44 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/2.0.0/template-2.0.0.js @@ -0,0 +1,241 @@ +/* + * Copyright 2011 Twitter, Inc. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +var Hogan = {}; + +(function (Hogan, useArrayBuffer) { + Hogan.Template = function (renderFunc, text, compiler, options) { + this.r = renderFunc || this.r; + this.c = compiler; + this.options = options; + this.text = text || ''; + this.buf = (useArrayBuffer) ? [] : ''; + } + + Hogan.Template.prototype = { + // render: replaced by generated code. + r: function (context, partials, indent) { return ''; }, + + // variable escaping + v: hoganEscape, + + // triple stache + t: coerceToString, + + render: function render(context, partials, indent) { + return this.ri([context], partials || {}, indent); + }, + + // render internal -- a hook for overrides that catches partials too + ri: function (context, partials, indent) { + return this.r(context, partials, indent); + }, + + // tries to find a partial in the curent scope and render it + rp: function(name, context, partials, indent) { + var partial = partials[name]; + + if (!partial) { + return ''; + } + + if (this.c && typeof partial == 'string') { + partial = this.c.compile(partial, this.options); + } + + return partial.ri(context, partials, indent); + }, + + // render a section + rs: function(context, partials, section) { + var tail = context[context.length - 1]; + + if (!isArray(tail)) { + section(context, partials, this); + return; + } + + for (var i = 0; i < tail.length; i++) { + context.push(tail[i]); + section(context, partials, this); + context.pop(); + } + }, + + // maybe start a section + s: function(val, ctx, partials, inverted, start, end, tags) { + var pass; + + if (isArray(val) && val.length === 0) { + return false; + } + + if (typeof val == 'function') { + val = this.ls(val, ctx, partials, inverted, start, end, tags); + } + + pass = (val === '') || !!val; + + if (!inverted && pass && ctx) { + ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]); + } + + return pass; + }, + + // find values with dotted names + d: function(key, ctx, partials, returnFound) { + var names = key.split('.'), + val = this.f(names[0], ctx, partials, returnFound), + cx = null; + + if (key === '.' && isArray(ctx[ctx.length - 2])) { + return ctx[ctx.length - 1]; + } + + for (var i = 1; i < names.length; i++) { + if (val && typeof val == 'object' && names[i] in val) { + cx = val; + val = val[names[i]]; + } else { + val = ''; + } + } + + if (returnFound && !val) { + return false; + } + + if (!returnFound && typeof val == 'function') { + ctx.push(cx); + val = this.lv(val, ctx, partials); + ctx.pop(); + } + + return val; + }, + + // find values with normal names + f: function(key, ctx, partials, returnFound) { + var val = false, + v = null, + found = false; + + for (var i = ctx.length - 1; i >= 0; i--) { + v = ctx[i]; + if (v && typeof v == 'object' && key in v) { + val = v[key]; + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.lv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ho: function(val, cx, partials, text, tags) { + var compiler = this.c; + var options = this.options; + options.delimiters = tags; + var text = val.call(cx, text); + text = (text == null) ? String(text) : text.toString(); + this.b(compiler.compile(text, options).render(cx, partials)); + return false; + }, + + // template result buffering + b: (useArrayBuffer) ? function(s) { this.buf.push(s); } : + function(s) { this.buf += s; }, + fl: (useArrayBuffer) ? function() { var r = this.buf.join(''); this.buf = []; return r; } : + function() { var r = this.buf; this.buf = ''; return r; }, + + // lambda replace section + ls: function(val, ctx, partials, inverted, start, end, tags) { + var cx = ctx[ctx.length - 1], + t = null; + + if (!inverted && this.c && val.length > 0) { + return this.ho(val, cx, partials, this.text.substring(start, end), tags); + } + + t = val.call(cx); + + if (typeof t == 'function') { + if (inverted) { + return true; + } else if (this.c) { + return this.ho(t, cx, partials, this.text.substring(start, end), tags); + } + } + + return t; + }, + + // lambda replace variable + lv: function(val, ctx, partials) { + var cx = ctx[ctx.length - 1]; + var result = val.call(cx); + + if (typeof result == 'function') { + result = coerceToString(result.call(cx)); + if (this.c && ~result.indexOf("{\u007B")) { + return this.c.compile(result, this.options).render(cx, partials); + } + } + + return coerceToString(result); + } + + }; + + var rAmp = /&/g, + rLt = //g, + rApos =/\'/g, + rQuot = /\"/g, + hChars =/[&<>\"\']/; + + + function coerceToString(val) { + return String((val === null || val === undefined) ? '' : val); + } + + function hoganEscape(str) { + str = coerceToString(str); + return hChars.test(str) ? + str + .replace(rAmp,'&') + .replace(rLt,'<') + .replace(rGt,'>') + .replace(rApos,''') + .replace(rQuot, '"') : + str; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + }; + +})(typeof exports !== 'undefined' ? exports : Hogan); + diff --git a/hogan-node/node_modules/hogan.js/web/builds/2.0.0/template-2.0.0.min.js b/hogan-node/node_modules/hogan.js/web/builds/2.0.0/template-2.0.0.min.js new file mode 100644 index 0000000..e153776 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/2.0.0/template-2.0.0.min.js @@ -0,0 +1,5 @@ +/** +* @preserve Copyright 2012 Twitter, Inc. +* @license http://www.apache.org/licenses/LICENSE-2.0.txt +*/ +var Hogan={};(function(a,b){function i(a){return String(a===null||a===undefined?"":a)}function j(a){return a=i(a),h.test(a)?a.replace(c,"&").replace(d,"<").replace(e,">").replace(f,"'").replace(g,"""):a}a.Template=function(a,c,d,e){this.r=a||this.r,this.c=d,this.options=e,this.text=c||"",this.buf=b?[]:""},a.Template.prototype={r:function(a,b,c){return""},v:j,t:i,render:function(b,c,d){return this.ri([b],c||{},d)},ri:function(a,b,c){return this.r(a,b,c)},rp:function(a,b,c,d){var e=c[a];return e?(this.c&&typeof e=="string"&&(e=this.c.compile(e,this.options)),e.ri(b,c,d)):""},rs:function(a,b,c){var d=a[a.length-1];if(!k(d)){c(a,b,this);return}for(var e=0;e=0;h--){f=b[h];if(f&&typeof f=="object"&&a in f){e=f[a],g=!0;break}}return g?(!d&&typeof e=="function"&&(e=this.lv(e,b,c)),e):d?!1:""},ho:function(a,b,c,d,e){var f=this.c,g=this.options;g.delimiters=e;var d=a.call(b,d);return d=d==null?String(d):d.toString(),this.b(f.compile(d,g).render(b,c)),!1},b:b?function(a){this.buf.push(a)}:function(a){this.buf+=a},fl:b?function(){var a=this.buf.join("");return this.buf=[],a}:function(){var a=this.buf;return this.buf="",a},ls:function(a,b,c,d,e,f,g){var h=b[b.length-1],i=null;if(!d&&this.c&&a.length>0)return this.ho(a,h,c,this.text.substring(e,f),g);i=a.call(h);if(typeof i=="function"){if(d)return!0;if(this.c)return this.ho(i,h,c,this.text.substring(e,f),g)}return i},lv:function(a,b,c){var d=b[b.length-1],e=a.call(d);if(typeof e=="function"){e=i(e.call(d));if(this.c&&~e.indexOf("{{"))return this.c.compile(e,this.options).render(d,c)}return i(e)}};var c=/&/g,d=//g,f=/\'/g,g=/\"/g,h=/[&<>\"\']/,k=Array.isArray||function(a){return Object.prototype.toString.call(a)==="[object Array]"}})(typeof exports!="undefined"?exports:Hogan) \ No newline at end of file diff --git a/hogan-node/node_modules/hogan.js/web/builds/3.0.0/hogan-3.0.0.amd.js b/hogan-node/node_modules/hogan.js/web/builds/3.0.0/hogan-3.0.0.amd.js new file mode 100644 index 0000000..79db2fb --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/3.0.0/hogan-3.0.0.amd.js @@ -0,0 +1,755 @@ +/*! + * Copyright 2011 Twitter, Inc. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + + +var Hogan = {}; + +(function (Hogan) { + Hogan.Template = function (codeObj, text, compiler, options) { + codeObj = codeObj || {}; + this.r = codeObj.code || this.r; + this.c = compiler; + this.options = options || {}; + this.text = text || ''; + this.partials = codeObj.partials || {}; + this.subs = codeObj.subs || {}; + this.buf = ''; + } + + Hogan.Template.prototype = { + // render: replaced by generated code. + r: function (context, partials, indent) { return ''; }, + + // variable escaping + v: hoganEscape, + + // triple stache + t: coerceToString, + + render: function render(context, partials, indent) { + return this.ri([context], partials || {}, indent); + }, + + // render internal -- a hook for overrides that catches partials too + ri: function (context, partials, indent) { + return this.r(context, partials, indent); + }, + + // ensurePartial + ep: function(symbol, partials) { + var partial = this.partials[symbol]; + + // check to see that if we've instantiated this partial before + var template = partials[partial.name]; + if (partial.instance && partial.base == template) { + return partial.instance; + } + + if (typeof template == 'string') { + if (!this.c) { + throw new Error("No compiler available."); + } + template = this.c.compile(template, this.options); + } + + if (!template) { + return null; + } + + // We use this to check whether the partials dictionary has changed + this.partials[symbol].base = template; + + if (partial.subs) { + // Make sure we consider parent template now + if (!partials.stackText) partials.stackText = {}; + for (key in partial.subs) { + if (!partials.stackText[key]) { + partials.stackText[key] = (this.activeSub !== undefined && partials.stackText[this.activeSub]) ? partials.stackText[this.activeSub] : this.text; + } + } + template = createSpecializedPartial(template, partial.subs, partial.partials, + this.stackSubs, this.stackPartials, partials.stackText); + } + this.partials[symbol].instance = template; + + return template; + }, + + // tries to find a partial in the current scope and render it + rp: function(symbol, context, partials, indent) { + var partial = this.ep(symbol, partials); + if (!partial) { + return ''; + } + + return partial.ri(context, partials, indent); + }, + + // render a section + rs: function(context, partials, section) { + var tail = context[context.length - 1]; + + if (!isArray(tail)) { + section(context, partials, this); + return; + } + + for (var i = 0; i < tail.length; i++) { + context.push(tail[i]); + section(context, partials, this); + context.pop(); + } + }, + + // maybe start a section + s: function(val, ctx, partials, inverted, start, end, tags) { + var pass; + + if (isArray(val) && val.length === 0) { + return false; + } + + if (typeof val == 'function') { + val = this.ms(val, ctx, partials, inverted, start, end, tags); + } + + pass = !!val; + + if (!inverted && pass && ctx) { + ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]); + } + + return pass; + }, + + // find values with dotted names + d: function(key, ctx, partials, returnFound) { + var found, + names = key.split('.'), + val = this.f(names[0], ctx, partials, returnFound), + doModelGet = this.options.modelGet, + cx = null; + + if (key === '.' && isArray(ctx[ctx.length - 2])) { + val = ctx[ctx.length - 1]; + } else { + for (var i = 1; i < names.length; i++) { + found = findInScope(names[i], val, doModelGet); + if (found != null) { + cx = val; + val = found; + } else { + val = ''; + } + } + } + + if (returnFound && !val) { + return false; + } + + if (!returnFound && typeof val == 'function') { + ctx.push(cx); + val = this.mv(val, ctx, partials); + ctx.pop(); + } + + return val; + }, + + // find values with normal names + f: function(key, ctx, partials, returnFound) { + var val = false, + v = null, + found = false, + doModelGet = this.options.modelGet; + + for (var i = ctx.length - 1; i >= 0; i--) { + v = ctx[i]; + val = findInScope(key, v, doModelGet); + if (val != null) { + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.mv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ls: function(func, cx, partials, text, tags) { + var oldTags = this.options.delimiters; + + this.options.delimiters = tags; + this.b(this.ct(coerceToString(func.call(cx, text)), cx, partials)); + this.options.delimiters = oldTags; + + return false; + }, + + // compile text + ct: function(text, cx, partials) { + if (this.options.disableLambda) { + throw new Error('Lambda features disabled.'); + } + return this.c.compile(text, this.options).render(cx, partials); + }, + + // template result buffering + b: function(s) { this.buf += s; }, + + fl: function() { var r = this.buf; this.buf = ''; return r; }, + + // method replace section + ms: function(func, ctx, partials, inverted, start, end, tags) { + var textSource, + cx = ctx[ctx.length - 1], + result = func.call(cx); + + if (typeof result == 'function') { + if (inverted) { + return true; + } else { + textSource = (this.activeSub && this.subsText && this.subsText[this.activeSub]) ? this.subsText[this.activeSub] : this.text; + return this.ls(result, cx, partials, textSource.substring(start, end), tags); + } + } + + return result; + }, + + // method replace variable + mv: function(func, ctx, partials) { + var cx = ctx[ctx.length - 1]; + var result = func.call(cx); + + if (typeof result == 'function') { + return this.ct(coerceToString(result.call(cx)), cx, partials); + } + + return result; + }, + + sub: function(name, context, partials, indent) { + var f = this.subs[name]; + if (f) { + this.activeSub = name; + f(context, partials, this, indent); + this.activeSub = false; + } + } + + }; + + //Find a key in an object + function findInScope(key, scope, doModelGet) { + var val, checkVal; + + if (scope && typeof scope == 'object') { + + if (scope[key] != null) { + val = scope[key]; + + // try lookup with get for backbone or similar model data + } else if (doModelGet && scope.get && typeof scope.get == 'function') { + val = scope.get(key); + } + } + + return val; + } + + function createSpecializedPartial(instance, subs, partials, stackSubs, stackPartials, stackText) { + function PartialTemplate() {}; + PartialTemplate.prototype = instance; + function Substitutions() {}; + Substitutions.prototype = instance.subs; + var key; + var partial = new PartialTemplate(); + partial.subs = new Substitutions(); + partial.subsText = {}; //hehe. substext. + partial.buf = ''; + + stackSubs = stackSubs || {}; + partial.stackSubs = stackSubs; + partial.subsText = stackText; + for (key in subs) { + if (!stackSubs[key]) stackSubs[key] = subs[key]; + } + for (key in stackSubs) { + partial.subs[key] = stackSubs[key]; + } + + stackPartials = stackPartials || {}; + partial.stackPartials = stackPartials; + for (key in partials) { + if (!stackPartials[key]) stackPartials[key] = partials[key]; + } + for (key in stackPartials) { + partial.partials[key] = stackPartials[key]; + } + + return partial; + } + + var rAmp = /&/g, + rLt = //g, + rApos = /\'/g, + rQuot = /\"/g, + hChars = /[&<>\"\']/; + + function coerceToString(val) { + return String((val === null || val === undefined) ? '' : val); + } + + function hoganEscape(str) { + str = coerceToString(str); + return hChars.test(str) ? + str + .replace(rAmp, '&') + .replace(rLt, '<') + .replace(rGt, '>') + .replace(rApos, ''') + .replace(rQuot, '"') : + str; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + }; + +})(typeof exports !== 'undefined' ? exports : Hogan); + + + +(function (Hogan) { + // Setup regex assignments + // remove whitespace according to Mustache spec + var rIsWhitespace = /\S/, + rQuot = /\"/g, + rNewline = /\n/g, + rCr = /\r/g, + rSlash = /\\/g; + + Hogan.tags = { + '#': 1, '^': 2, '<': 3, '$': 4, + '/': 5, '!': 6, '>': 7, '=': 8, '_v': 9, + '{': 10, '&': 11, '_t': 12 + }; + + Hogan.scan = function scan(text, delimiters) { + var len = text.length, + IN_TEXT = 0, + IN_TAG_TYPE = 1, + IN_TAG = 2, + state = IN_TEXT, + tagType = null, + tag = null, + buf = '', + tokens = [], + seenTag = false, + i = 0, + lineStart = 0, + otag = '{{', + ctag = '}}'; + + function addBuf() { + if (buf.length > 0) { + tokens.push({tag: '_t', text: new String(buf)}); + buf = ''; + } + } + + function lineIsWhitespace() { + var isAllWhitespace = true; + for (var j = lineStart; j < tokens.length; j++) { + isAllWhitespace = + (Hogan.tags[tokens[j].tag] < Hogan.tags['_v']) || + (tokens[j].tag == '_t' && tokens[j].text.match(rIsWhitespace) === null); + if (!isAllWhitespace) { + return false; + } + } + + return isAllWhitespace; + } + + function filterLine(haveSeenTag, noNewLine) { + addBuf(); + + if (haveSeenTag && lineIsWhitespace()) { + for (var j = lineStart, next; j < tokens.length; j++) { + if (tokens[j].text) { + if ((next = tokens[j+1]) && next.tag == '>') { + // set indent to token value + next.indent = tokens[j].text.toString() + } + tokens.splice(j, 1); + } + } + } else if (!noNewLine) { + tokens.push({tag:'\n'}); + } + + seenTag = false; + lineStart = tokens.length; + } + + function changeDelimiters(text, index) { + var close = '=' + ctag, + closeIndex = text.indexOf(close, index), + delimiters = trim( + text.substring(text.indexOf('=', index) + 1, closeIndex) + ).split(' '); + + otag = delimiters[0]; + ctag = delimiters[delimiters.length - 1]; + + return closeIndex + close.length - 1; + } + + if (delimiters) { + delimiters = delimiters.split(' '); + otag = delimiters[0]; + ctag = delimiters[1]; + } + + for (i = 0; i < len; i++) { + if (state == IN_TEXT) { + if (tagChange(otag, text, i)) { + --i; + addBuf(); + state = IN_TAG_TYPE; + } else { + if (text.charAt(i) == '\n') { + filterLine(seenTag); + } else { + buf += text.charAt(i); + } + } + } else if (state == IN_TAG_TYPE) { + i += otag.length - 1; + tag = Hogan.tags[text.charAt(i + 1)]; + tagType = tag ? text.charAt(i + 1) : '_v'; + if (tagType == '=') { + i = changeDelimiters(text, i); + state = IN_TEXT; + } else { + if (tag) { + i++; + } + state = IN_TAG; + } + seenTag = i; + } else { + if (tagChange(ctag, text, i)) { + tokens.push({tag: tagType, n: trim(buf), otag: otag, ctag: ctag, + i: (tagType == '/') ? seenTag - otag.length : i + ctag.length}); + buf = ''; + i += ctag.length - 1; + state = IN_TEXT; + if (tagType == '{') { + if (ctag == '}}') { + i++; + } else { + cleanTripleStache(tokens[tokens.length - 1]); + } + } + } else { + buf += text.charAt(i); + } + } + } + + filterLine(seenTag, true); + + return tokens; + } + + function cleanTripleStache(token) { + if (token.n.substr(token.n.length - 1) === '}') { + token.n = token.n.substring(0, token.n.length - 1); + } + } + + function trim(s) { + if (s.trim) { + return s.trim(); + } + + return s.replace(/^\s*|\s*$/g, ''); + } + + function tagChange(tag, text, index) { + if (text.charAt(index) != tag.charAt(0)) { + return false; + } + + for (var i = 1, l = tag.length; i < l; i++) { + if (text.charAt(index + i) != tag.charAt(i)) { + return false; + } + } + + return true; + } + + // the tags allowed inside super templates + var allowedInSuper = {'_t': true, '\n': true, '$': true, '/': true}; + + function buildTree(tokens, kind, stack, customTags) { + var instructions = [], + opener = null, + tail = null, + token = null; + + tail = stack[stack.length - 1]; + + while (tokens.length > 0) { + token = tokens.shift(); + + if (tail && tail.tag == '<' && !(token.tag in allowedInSuper)) { + throw new Error('Illegal content in < super tag.'); + } + + if (Hogan.tags[token.tag] <= Hogan.tags['$'] || isOpener(token, customTags)) { + stack.push(token); + token.nodes = buildTree(tokens, token.tag, stack, customTags); + } else if (token.tag == '/') { + if (stack.length === 0) { + throw new Error('Closing tag without opener: /' + token.n); + } + opener = stack.pop(); + if (token.n != opener.n && !isCloser(token.n, opener.n, customTags)) { + throw new Error('Nesting error: ' + opener.n + ' vs. ' + token.n); + } + opener.end = token.i; + return instructions; + } else if (token.tag == '\n') { + token.last = (tokens.length == 0) || (tokens[0].tag == '\n'); + } + + instructions.push(token); + } + + if (stack.length > 0) { + throw new Error('missing closing tag: ' + stack.pop().n); + } + + return instructions; + } + + function isOpener(token, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].o == token.n) { + token.tag = '#'; + return true; + } + } + } + + function isCloser(close, open, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].c == close && tags[i].o == open) { + return true; + } + } + } + + function stringifySubstitutions(obj) { + var items = []; + for (var key in obj) { + items.push('"' + esc(key) + '": function(c,p,t,i) {' + obj[key] + '}'); + } + return "{ " + items.join(",") + " }"; + } + + function stringifyPartials(codeObj) { + var partials = []; + for (var key in codeObj.partials) { + partials.push('"' + esc(key) + '":{name:"' + esc(codeObj.partials[key].name) + '", ' + stringifyPartials(codeObj.partials[key]) + "}"); + } + return "partials: {" + partials.join(",") + "}, subs: " + stringifySubstitutions(codeObj.subs); + } + + Hogan.stringify = function(codeObj, text, options) { + return "{code: function (c,p,i) { " + Hogan.wrapMain(codeObj.code) + " }," + stringifyPartials(codeObj) + "}"; + } + + var serialNo = 0; + Hogan.generate = function(tree, text, options) { + serialNo = 0; + var context = { code: '', subs: {}, partials: {} }; + Hogan.walk(tree, context); + + if (options.asString) { + return this.stringify(context, text, options); + } + + return this.makeTemplate(context, text, options); + } + + Hogan.wrapMain = function(code) { + return 'var t=this;t.b(i=i||"");' + code + 'return t.fl();'; + } + + Hogan.template = Hogan.Template; + + Hogan.makeTemplate = function(codeObj, text, options) { + var template = this.makePartials(codeObj); + template.code = new Function('c', 'p', 'i', this.wrapMain(codeObj.code)); + return new this.template(template, text, this, options); + } + + Hogan.makePartials = function(codeObj) { + var key, template = {subs: {}, partials: codeObj.partials, name: codeObj.name}; + for (key in template.partials) { + template.partials[key] = this.makePartials(template.partials[key]); + } + for (key in codeObj.subs) { + template.subs[key] = new Function('c', 'p', 't', 'i', codeObj.subs[key]); + } + return template; + } + + function esc(s) { + return s.replace(rSlash, '\\\\') + .replace(rQuot, '\\\"') + .replace(rNewline, '\\n') + .replace(rCr, '\\r'); + } + + function chooseMethod(s) { + return (~s.indexOf('.')) ? 'd' : 'f'; + } + + function createPartial(node, context) { + var prefix = "<" + (context.prefix || ""); + var sym = prefix + node.n + serialNo++; + context.partials[sym] = {name: node.n, partials: {}}; + context.code += 't.b(t.rp("' + esc(sym) + '",c,p,"' + (node.indent || '') + '"));'; + return sym; + } + + Hogan.codegen = { + '#': function(node, context) { + context.code += 'if(t.s(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,1),' + + 'c,p,0,' + node.i + ',' + node.end + ',"' + node.otag + " " + node.ctag + '")){' + + 't.rs(c,p,' + 'function(c,p,t){'; + Hogan.walk(node.nodes, context); + context.code += '});c.pop();}'; + }, + + '^': function(node, context) { + context.code += 'if(!t.s(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,1),c,p,1,0,0,"")){'; + Hogan.walk(node.nodes, context); + context.code += '};'; + }, + + '>': createPartial, + '<': function(node, context) { + var ctx = {partials: {}, code: '', subs: {}, inPartial: true}; + Hogan.walk(node.nodes, ctx); + var template = context.partials[createPartial(node, context)]; + template.subs = ctx.subs; + template.partials = ctx.partials; + }, + + '$': function(node, context) { + var ctx = {subs: {}, code: '', partials: context.partials, prefix: node.n}; + Hogan.walk(node.nodes, ctx); + context.subs[node.n] = ctx.code; + if (!context.inPartial) { + context.code += 't.sub("' + esc(node.n) + '",c,p,i);'; + } + }, + + '\n': function(node, context) { + context.code += write('"\\n"' + (node.last ? '' : ' + i')); + }, + + '_v': function(node, context) { + context.code += 't.b(t.v(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,0)));'; + }, + + '_t': function(node, context) { + context.code += write('"' + esc(node.text) + '"'); + }, + + '{': tripleStache, + + '&': tripleStache + } + + function tripleStache(node, context) { + context.code += 't.b(t.t(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,0)));'; + } + + function write(s) { + return 't.b(' + s + ');'; + } + + Hogan.walk = function(nodelist, context) { + var func; + for (var i = 0, l = nodelist.length; i < l; i++) { + func = Hogan.codegen[nodelist[i].tag]; + func && func(nodelist[i], context); + } + return context; + } + + Hogan.parse = function(tokens, text, options) { + options = options || {}; + return buildTree(tokens, '', [], options.sectionTags || []); + } + + Hogan.cache = {}; + + Hogan.cacheKey = function(text, options) { + return [text, !!options.asString, !!options.disableLambda, options.delimiters, !!options.modelGet].join('||'); + } + + Hogan.compile = function(text, options) { + options = options || {}; + var key = Hogan.cacheKey(text, options); + var template = this.cache[key]; + + if (template) { + var partials = template.partials; + for (var name in partials) { + delete partials[name].instance; + } + return template; + } + + template = this.generate(this.parse(this.scan(text, options.delimiters), text, options), text, options); + return this.cache[key] = template; + } +})(typeof exports !== 'undefined' ? exports : Hogan); + + +if (typeof define === 'function' && define.amd) { + define(Hogan); +} diff --git a/hogan-node/node_modules/hogan.js/web/builds/3.0.0/hogan-3.0.0.common.js b/hogan-node/node_modules/hogan.js/web/builds/3.0.0/hogan-3.0.0.common.js new file mode 100644 index 0000000..7df9066 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/3.0.0/hogan-3.0.0.common.js @@ -0,0 +1,755 @@ +/*! + * Copyright 2011 Twitter, Inc. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + + +var Hogan = {}; + +(function (Hogan) { + Hogan.Template = function (codeObj, text, compiler, options) { + codeObj = codeObj || {}; + this.r = codeObj.code || this.r; + this.c = compiler; + this.options = options || {}; + this.text = text || ''; + this.partials = codeObj.partials || {}; + this.subs = codeObj.subs || {}; + this.buf = ''; + } + + Hogan.Template.prototype = { + // render: replaced by generated code. + r: function (context, partials, indent) { return ''; }, + + // variable escaping + v: hoganEscape, + + // triple stache + t: coerceToString, + + render: function render(context, partials, indent) { + return this.ri([context], partials || {}, indent); + }, + + // render internal -- a hook for overrides that catches partials too + ri: function (context, partials, indent) { + return this.r(context, partials, indent); + }, + + // ensurePartial + ep: function(symbol, partials) { + var partial = this.partials[symbol]; + + // check to see that if we've instantiated this partial before + var template = partials[partial.name]; + if (partial.instance && partial.base == template) { + return partial.instance; + } + + if (typeof template == 'string') { + if (!this.c) { + throw new Error("No compiler available."); + } + template = this.c.compile(template, this.options); + } + + if (!template) { + return null; + } + + // We use this to check whether the partials dictionary has changed + this.partials[symbol].base = template; + + if (partial.subs) { + // Make sure we consider parent template now + if (!partials.stackText) partials.stackText = {}; + for (key in partial.subs) { + if (!partials.stackText[key]) { + partials.stackText[key] = (this.activeSub !== undefined && partials.stackText[this.activeSub]) ? partials.stackText[this.activeSub] : this.text; + } + } + template = createSpecializedPartial(template, partial.subs, partial.partials, + this.stackSubs, this.stackPartials, partials.stackText); + } + this.partials[symbol].instance = template; + + return template; + }, + + // tries to find a partial in the current scope and render it + rp: function(symbol, context, partials, indent) { + var partial = this.ep(symbol, partials); + if (!partial) { + return ''; + } + + return partial.ri(context, partials, indent); + }, + + // render a section + rs: function(context, partials, section) { + var tail = context[context.length - 1]; + + if (!isArray(tail)) { + section(context, partials, this); + return; + } + + for (var i = 0; i < tail.length; i++) { + context.push(tail[i]); + section(context, partials, this); + context.pop(); + } + }, + + // maybe start a section + s: function(val, ctx, partials, inverted, start, end, tags) { + var pass; + + if (isArray(val) && val.length === 0) { + return false; + } + + if (typeof val == 'function') { + val = this.ms(val, ctx, partials, inverted, start, end, tags); + } + + pass = !!val; + + if (!inverted && pass && ctx) { + ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]); + } + + return pass; + }, + + // find values with dotted names + d: function(key, ctx, partials, returnFound) { + var found, + names = key.split('.'), + val = this.f(names[0], ctx, partials, returnFound), + doModelGet = this.options.modelGet, + cx = null; + + if (key === '.' && isArray(ctx[ctx.length - 2])) { + val = ctx[ctx.length - 1]; + } else { + for (var i = 1; i < names.length; i++) { + found = findInScope(names[i], val, doModelGet); + if (found != null) { + cx = val; + val = found; + } else { + val = ''; + } + } + } + + if (returnFound && !val) { + return false; + } + + if (!returnFound && typeof val == 'function') { + ctx.push(cx); + val = this.mv(val, ctx, partials); + ctx.pop(); + } + + return val; + }, + + // find values with normal names + f: function(key, ctx, partials, returnFound) { + var val = false, + v = null, + found = false, + doModelGet = this.options.modelGet; + + for (var i = ctx.length - 1; i >= 0; i--) { + v = ctx[i]; + val = findInScope(key, v, doModelGet); + if (val != null) { + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.mv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ls: function(func, cx, partials, text, tags) { + var oldTags = this.options.delimiters; + + this.options.delimiters = tags; + this.b(this.ct(coerceToString(func.call(cx, text)), cx, partials)); + this.options.delimiters = oldTags; + + return false; + }, + + // compile text + ct: function(text, cx, partials) { + if (this.options.disableLambda) { + throw new Error('Lambda features disabled.'); + } + return this.c.compile(text, this.options).render(cx, partials); + }, + + // template result buffering + b: function(s) { this.buf += s; }, + + fl: function() { var r = this.buf; this.buf = ''; return r; }, + + // method replace section + ms: function(func, ctx, partials, inverted, start, end, tags) { + var textSource, + cx = ctx[ctx.length - 1], + result = func.call(cx); + + if (typeof result == 'function') { + if (inverted) { + return true; + } else { + textSource = (this.activeSub && this.subsText && this.subsText[this.activeSub]) ? this.subsText[this.activeSub] : this.text; + return this.ls(result, cx, partials, textSource.substring(start, end), tags); + } + } + + return result; + }, + + // method replace variable + mv: function(func, ctx, partials) { + var cx = ctx[ctx.length - 1]; + var result = func.call(cx); + + if (typeof result == 'function') { + return this.ct(coerceToString(result.call(cx)), cx, partials); + } + + return result; + }, + + sub: function(name, context, partials, indent) { + var f = this.subs[name]; + if (f) { + this.activeSub = name; + f(context, partials, this, indent); + this.activeSub = false; + } + } + + }; + + //Find a key in an object + function findInScope(key, scope, doModelGet) { + var val, checkVal; + + if (scope && typeof scope == 'object') { + + if (scope[key] != null) { + val = scope[key]; + + // try lookup with get for backbone or similar model data + } else if (doModelGet && scope.get && typeof scope.get == 'function') { + val = scope.get(key); + } + } + + return val; + } + + function createSpecializedPartial(instance, subs, partials, stackSubs, stackPartials, stackText) { + function PartialTemplate() {}; + PartialTemplate.prototype = instance; + function Substitutions() {}; + Substitutions.prototype = instance.subs; + var key; + var partial = new PartialTemplate(); + partial.subs = new Substitutions(); + partial.subsText = {}; //hehe. substext. + partial.buf = ''; + + stackSubs = stackSubs || {}; + partial.stackSubs = stackSubs; + partial.subsText = stackText; + for (key in subs) { + if (!stackSubs[key]) stackSubs[key] = subs[key]; + } + for (key in stackSubs) { + partial.subs[key] = stackSubs[key]; + } + + stackPartials = stackPartials || {}; + partial.stackPartials = stackPartials; + for (key in partials) { + if (!stackPartials[key]) stackPartials[key] = partials[key]; + } + for (key in stackPartials) { + partial.partials[key] = stackPartials[key]; + } + + return partial; + } + + var rAmp = /&/g, + rLt = //g, + rApos = /\'/g, + rQuot = /\"/g, + hChars = /[&<>\"\']/; + + function coerceToString(val) { + return String((val === null || val === undefined) ? '' : val); + } + + function hoganEscape(str) { + str = coerceToString(str); + return hChars.test(str) ? + str + .replace(rAmp, '&') + .replace(rLt, '<') + .replace(rGt, '>') + .replace(rApos, ''') + .replace(rQuot, '"') : + str; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + }; + +})(typeof exports !== 'undefined' ? exports : Hogan); + + + +(function (Hogan) { + // Setup regex assignments + // remove whitespace according to Mustache spec + var rIsWhitespace = /\S/, + rQuot = /\"/g, + rNewline = /\n/g, + rCr = /\r/g, + rSlash = /\\/g; + + Hogan.tags = { + '#': 1, '^': 2, '<': 3, '$': 4, + '/': 5, '!': 6, '>': 7, '=': 8, '_v': 9, + '{': 10, '&': 11, '_t': 12 + }; + + Hogan.scan = function scan(text, delimiters) { + var len = text.length, + IN_TEXT = 0, + IN_TAG_TYPE = 1, + IN_TAG = 2, + state = IN_TEXT, + tagType = null, + tag = null, + buf = '', + tokens = [], + seenTag = false, + i = 0, + lineStart = 0, + otag = '{{', + ctag = '}}'; + + function addBuf() { + if (buf.length > 0) { + tokens.push({tag: '_t', text: new String(buf)}); + buf = ''; + } + } + + function lineIsWhitespace() { + var isAllWhitespace = true; + for (var j = lineStart; j < tokens.length; j++) { + isAllWhitespace = + (Hogan.tags[tokens[j].tag] < Hogan.tags['_v']) || + (tokens[j].tag == '_t' && tokens[j].text.match(rIsWhitespace) === null); + if (!isAllWhitespace) { + return false; + } + } + + return isAllWhitespace; + } + + function filterLine(haveSeenTag, noNewLine) { + addBuf(); + + if (haveSeenTag && lineIsWhitespace()) { + for (var j = lineStart, next; j < tokens.length; j++) { + if (tokens[j].text) { + if ((next = tokens[j+1]) && next.tag == '>') { + // set indent to token value + next.indent = tokens[j].text.toString() + } + tokens.splice(j, 1); + } + } + } else if (!noNewLine) { + tokens.push({tag:'\n'}); + } + + seenTag = false; + lineStart = tokens.length; + } + + function changeDelimiters(text, index) { + var close = '=' + ctag, + closeIndex = text.indexOf(close, index), + delimiters = trim( + text.substring(text.indexOf('=', index) + 1, closeIndex) + ).split(' '); + + otag = delimiters[0]; + ctag = delimiters[delimiters.length - 1]; + + return closeIndex + close.length - 1; + } + + if (delimiters) { + delimiters = delimiters.split(' '); + otag = delimiters[0]; + ctag = delimiters[1]; + } + + for (i = 0; i < len; i++) { + if (state == IN_TEXT) { + if (tagChange(otag, text, i)) { + --i; + addBuf(); + state = IN_TAG_TYPE; + } else { + if (text.charAt(i) == '\n') { + filterLine(seenTag); + } else { + buf += text.charAt(i); + } + } + } else if (state == IN_TAG_TYPE) { + i += otag.length - 1; + tag = Hogan.tags[text.charAt(i + 1)]; + tagType = tag ? text.charAt(i + 1) : '_v'; + if (tagType == '=') { + i = changeDelimiters(text, i); + state = IN_TEXT; + } else { + if (tag) { + i++; + } + state = IN_TAG; + } + seenTag = i; + } else { + if (tagChange(ctag, text, i)) { + tokens.push({tag: tagType, n: trim(buf), otag: otag, ctag: ctag, + i: (tagType == '/') ? seenTag - otag.length : i + ctag.length}); + buf = ''; + i += ctag.length - 1; + state = IN_TEXT; + if (tagType == '{') { + if (ctag == '}}') { + i++; + } else { + cleanTripleStache(tokens[tokens.length - 1]); + } + } + } else { + buf += text.charAt(i); + } + } + } + + filterLine(seenTag, true); + + return tokens; + } + + function cleanTripleStache(token) { + if (token.n.substr(token.n.length - 1) === '}') { + token.n = token.n.substring(0, token.n.length - 1); + } + } + + function trim(s) { + if (s.trim) { + return s.trim(); + } + + return s.replace(/^\s*|\s*$/g, ''); + } + + function tagChange(tag, text, index) { + if (text.charAt(index) != tag.charAt(0)) { + return false; + } + + for (var i = 1, l = tag.length; i < l; i++) { + if (text.charAt(index + i) != tag.charAt(i)) { + return false; + } + } + + return true; + } + + // the tags allowed inside super templates + var allowedInSuper = {'_t': true, '\n': true, '$': true, '/': true}; + + function buildTree(tokens, kind, stack, customTags) { + var instructions = [], + opener = null, + tail = null, + token = null; + + tail = stack[stack.length - 1]; + + while (tokens.length > 0) { + token = tokens.shift(); + + if (tail && tail.tag == '<' && !(token.tag in allowedInSuper)) { + throw new Error('Illegal content in < super tag.'); + } + + if (Hogan.tags[token.tag] <= Hogan.tags['$'] || isOpener(token, customTags)) { + stack.push(token); + token.nodes = buildTree(tokens, token.tag, stack, customTags); + } else if (token.tag == '/') { + if (stack.length === 0) { + throw new Error('Closing tag without opener: /' + token.n); + } + opener = stack.pop(); + if (token.n != opener.n && !isCloser(token.n, opener.n, customTags)) { + throw new Error('Nesting error: ' + opener.n + ' vs. ' + token.n); + } + opener.end = token.i; + return instructions; + } else if (token.tag == '\n') { + token.last = (tokens.length == 0) || (tokens[0].tag == '\n'); + } + + instructions.push(token); + } + + if (stack.length > 0) { + throw new Error('missing closing tag: ' + stack.pop().n); + } + + return instructions; + } + + function isOpener(token, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].o == token.n) { + token.tag = '#'; + return true; + } + } + } + + function isCloser(close, open, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].c == close && tags[i].o == open) { + return true; + } + } + } + + function stringifySubstitutions(obj) { + var items = []; + for (var key in obj) { + items.push('"' + esc(key) + '": function(c,p,t,i) {' + obj[key] + '}'); + } + return "{ " + items.join(",") + " }"; + } + + function stringifyPartials(codeObj) { + var partials = []; + for (var key in codeObj.partials) { + partials.push('"' + esc(key) + '":{name:"' + esc(codeObj.partials[key].name) + '", ' + stringifyPartials(codeObj.partials[key]) + "}"); + } + return "partials: {" + partials.join(",") + "}, subs: " + stringifySubstitutions(codeObj.subs); + } + + Hogan.stringify = function(codeObj, text, options) { + return "{code: function (c,p,i) { " + Hogan.wrapMain(codeObj.code) + " }," + stringifyPartials(codeObj) + "}"; + } + + var serialNo = 0; + Hogan.generate = function(tree, text, options) { + serialNo = 0; + var context = { code: '', subs: {}, partials: {} }; + Hogan.walk(tree, context); + + if (options.asString) { + return this.stringify(context, text, options); + } + + return this.makeTemplate(context, text, options); + } + + Hogan.wrapMain = function(code) { + return 'var t=this;t.b(i=i||"");' + code + 'return t.fl();'; + } + + Hogan.template = Hogan.Template; + + Hogan.makeTemplate = function(codeObj, text, options) { + var template = this.makePartials(codeObj); + template.code = new Function('c', 'p', 'i', this.wrapMain(codeObj.code)); + return new this.template(template, text, this, options); + } + + Hogan.makePartials = function(codeObj) { + var key, template = {subs: {}, partials: codeObj.partials, name: codeObj.name}; + for (key in template.partials) { + template.partials[key] = this.makePartials(template.partials[key]); + } + for (key in codeObj.subs) { + template.subs[key] = new Function('c', 'p', 't', 'i', codeObj.subs[key]); + } + return template; + } + + function esc(s) { + return s.replace(rSlash, '\\\\') + .replace(rQuot, '\\\"') + .replace(rNewline, '\\n') + .replace(rCr, '\\r'); + } + + function chooseMethod(s) { + return (~s.indexOf('.')) ? 'd' : 'f'; + } + + function createPartial(node, context) { + var prefix = "<" + (context.prefix || ""); + var sym = prefix + node.n + serialNo++; + context.partials[sym] = {name: node.n, partials: {}}; + context.code += 't.b(t.rp("' + esc(sym) + '",c,p,"' + (node.indent || '') + '"));'; + return sym; + } + + Hogan.codegen = { + '#': function(node, context) { + context.code += 'if(t.s(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,1),' + + 'c,p,0,' + node.i + ',' + node.end + ',"' + node.otag + " " + node.ctag + '")){' + + 't.rs(c,p,' + 'function(c,p,t){'; + Hogan.walk(node.nodes, context); + context.code += '});c.pop();}'; + }, + + '^': function(node, context) { + context.code += 'if(!t.s(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,1),c,p,1,0,0,"")){'; + Hogan.walk(node.nodes, context); + context.code += '};'; + }, + + '>': createPartial, + '<': function(node, context) { + var ctx = {partials: {}, code: '', subs: {}, inPartial: true}; + Hogan.walk(node.nodes, ctx); + var template = context.partials[createPartial(node, context)]; + template.subs = ctx.subs; + template.partials = ctx.partials; + }, + + '$': function(node, context) { + var ctx = {subs: {}, code: '', partials: context.partials, prefix: node.n}; + Hogan.walk(node.nodes, ctx); + context.subs[node.n] = ctx.code; + if (!context.inPartial) { + context.code += 't.sub("' + esc(node.n) + '",c,p,i);'; + } + }, + + '\n': function(node, context) { + context.code += write('"\\n"' + (node.last ? '' : ' + i')); + }, + + '_v': function(node, context) { + context.code += 't.b(t.v(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,0)));'; + }, + + '_t': function(node, context) { + context.code += write('"' + esc(node.text) + '"'); + }, + + '{': tripleStache, + + '&': tripleStache + } + + function tripleStache(node, context) { + context.code += 't.b(t.t(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,0)));'; + } + + function write(s) { + return 't.b(' + s + ');'; + } + + Hogan.walk = function(nodelist, context) { + var func; + for (var i = 0, l = nodelist.length; i < l; i++) { + func = Hogan.codegen[nodelist[i].tag]; + func && func(nodelist[i], context); + } + return context; + } + + Hogan.parse = function(tokens, text, options) { + options = options || {}; + return buildTree(tokens, '', [], options.sectionTags || []); + } + + Hogan.cache = {}; + + Hogan.cacheKey = function(text, options) { + return [text, !!options.asString, !!options.disableLambda, options.delimiters, !!options.modelGet].join('||'); + } + + Hogan.compile = function(text, options) { + options = options || {}; + var key = Hogan.cacheKey(text, options); + var template = this.cache[key]; + + if (template) { + var partials = template.partials; + for (var name in partials) { + delete partials[name].instance; + } + return template; + } + + template = this.generate(this.parse(this.scan(text, options.delimiters), text, options), text, options); + return this.cache[key] = template; + } +})(typeof exports !== 'undefined' ? exports : Hogan); + + +if (typeof module !== 'undefined' && module.exports) { + module.exports = Hogan; +} diff --git a/hogan-node/node_modules/hogan.js/web/builds/3.0.0/hogan-3.0.0.js b/hogan-node/node_modules/hogan.js/web/builds/3.0.0/hogan-3.0.0.js new file mode 100644 index 0000000..ebdcf43 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/3.0.0/hogan-3.0.0.js @@ -0,0 +1,751 @@ +/*! + * Copyright 2011 Twitter, Inc. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + + +var Hogan = {}; + +(function (Hogan) { + Hogan.Template = function (codeObj, text, compiler, options) { + codeObj = codeObj || {}; + this.r = codeObj.code || this.r; + this.c = compiler; + this.options = options || {}; + this.text = text || ''; + this.partials = codeObj.partials || {}; + this.subs = codeObj.subs || {}; + this.buf = ''; + } + + Hogan.Template.prototype = { + // render: replaced by generated code. + r: function (context, partials, indent) { return ''; }, + + // variable escaping + v: hoganEscape, + + // triple stache + t: coerceToString, + + render: function render(context, partials, indent) { + return this.ri([context], partials || {}, indent); + }, + + // render internal -- a hook for overrides that catches partials too + ri: function (context, partials, indent) { + return this.r(context, partials, indent); + }, + + // ensurePartial + ep: function(symbol, partials) { + var partial = this.partials[symbol]; + + // check to see that if we've instantiated this partial before + var template = partials[partial.name]; + if (partial.instance && partial.base == template) { + return partial.instance; + } + + if (typeof template == 'string') { + if (!this.c) { + throw new Error("No compiler available."); + } + template = this.c.compile(template, this.options); + } + + if (!template) { + return null; + } + + // We use this to check whether the partials dictionary has changed + this.partials[symbol].base = template; + + if (partial.subs) { + // Make sure we consider parent template now + if (!partials.stackText) partials.stackText = {}; + for (key in partial.subs) { + if (!partials.stackText[key]) { + partials.stackText[key] = (this.activeSub !== undefined && partials.stackText[this.activeSub]) ? partials.stackText[this.activeSub] : this.text; + } + } + template = createSpecializedPartial(template, partial.subs, partial.partials, + this.stackSubs, this.stackPartials, partials.stackText); + } + this.partials[symbol].instance = template; + + return template; + }, + + // tries to find a partial in the current scope and render it + rp: function(symbol, context, partials, indent) { + var partial = this.ep(symbol, partials); + if (!partial) { + return ''; + } + + return partial.ri(context, partials, indent); + }, + + // render a section + rs: function(context, partials, section) { + var tail = context[context.length - 1]; + + if (!isArray(tail)) { + section(context, partials, this); + return; + } + + for (var i = 0; i < tail.length; i++) { + context.push(tail[i]); + section(context, partials, this); + context.pop(); + } + }, + + // maybe start a section + s: function(val, ctx, partials, inverted, start, end, tags) { + var pass; + + if (isArray(val) && val.length === 0) { + return false; + } + + if (typeof val == 'function') { + val = this.ms(val, ctx, partials, inverted, start, end, tags); + } + + pass = !!val; + + if (!inverted && pass && ctx) { + ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]); + } + + return pass; + }, + + // find values with dotted names + d: function(key, ctx, partials, returnFound) { + var found, + names = key.split('.'), + val = this.f(names[0], ctx, partials, returnFound), + doModelGet = this.options.modelGet, + cx = null; + + if (key === '.' && isArray(ctx[ctx.length - 2])) { + val = ctx[ctx.length - 1]; + } else { + for (var i = 1; i < names.length; i++) { + found = findInScope(names[i], val, doModelGet); + if (found != null) { + cx = val; + val = found; + } else { + val = ''; + } + } + } + + if (returnFound && !val) { + return false; + } + + if (!returnFound && typeof val == 'function') { + ctx.push(cx); + val = this.mv(val, ctx, partials); + ctx.pop(); + } + + return val; + }, + + // find values with normal names + f: function(key, ctx, partials, returnFound) { + var val = false, + v = null, + found = false, + doModelGet = this.options.modelGet; + + for (var i = ctx.length - 1; i >= 0; i--) { + v = ctx[i]; + val = findInScope(key, v, doModelGet); + if (val != null) { + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.mv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ls: function(func, cx, partials, text, tags) { + var oldTags = this.options.delimiters; + + this.options.delimiters = tags; + this.b(this.ct(coerceToString(func.call(cx, text)), cx, partials)); + this.options.delimiters = oldTags; + + return false; + }, + + // compile text + ct: function(text, cx, partials) { + if (this.options.disableLambda) { + throw new Error('Lambda features disabled.'); + } + return this.c.compile(text, this.options).render(cx, partials); + }, + + // template result buffering + b: function(s) { this.buf += s; }, + + fl: function() { var r = this.buf; this.buf = ''; return r; }, + + // method replace section + ms: function(func, ctx, partials, inverted, start, end, tags) { + var textSource, + cx = ctx[ctx.length - 1], + result = func.call(cx); + + if (typeof result == 'function') { + if (inverted) { + return true; + } else { + textSource = (this.activeSub && this.subsText && this.subsText[this.activeSub]) ? this.subsText[this.activeSub] : this.text; + return this.ls(result, cx, partials, textSource.substring(start, end), tags); + } + } + + return result; + }, + + // method replace variable + mv: function(func, ctx, partials) { + var cx = ctx[ctx.length - 1]; + var result = func.call(cx); + + if (typeof result == 'function') { + return this.ct(coerceToString(result.call(cx)), cx, partials); + } + + return result; + }, + + sub: function(name, context, partials, indent) { + var f = this.subs[name]; + if (f) { + this.activeSub = name; + f(context, partials, this, indent); + this.activeSub = false; + } + } + + }; + + //Find a key in an object + function findInScope(key, scope, doModelGet) { + var val, checkVal; + + if (scope && typeof scope == 'object') { + + if (scope[key] != null) { + val = scope[key]; + + // try lookup with get for backbone or similar model data + } else if (doModelGet && scope.get && typeof scope.get == 'function') { + val = scope.get(key); + } + } + + return val; + } + + function createSpecializedPartial(instance, subs, partials, stackSubs, stackPartials, stackText) { + function PartialTemplate() {}; + PartialTemplate.prototype = instance; + function Substitutions() {}; + Substitutions.prototype = instance.subs; + var key; + var partial = new PartialTemplate(); + partial.subs = new Substitutions(); + partial.subsText = {}; //hehe. substext. + partial.buf = ''; + + stackSubs = stackSubs || {}; + partial.stackSubs = stackSubs; + partial.subsText = stackText; + for (key in subs) { + if (!stackSubs[key]) stackSubs[key] = subs[key]; + } + for (key in stackSubs) { + partial.subs[key] = stackSubs[key]; + } + + stackPartials = stackPartials || {}; + partial.stackPartials = stackPartials; + for (key in partials) { + if (!stackPartials[key]) stackPartials[key] = partials[key]; + } + for (key in stackPartials) { + partial.partials[key] = stackPartials[key]; + } + + return partial; + } + + var rAmp = /&/g, + rLt = //g, + rApos = /\'/g, + rQuot = /\"/g, + hChars = /[&<>\"\']/; + + function coerceToString(val) { + return String((val === null || val === undefined) ? '' : val); + } + + function hoganEscape(str) { + str = coerceToString(str); + return hChars.test(str) ? + str + .replace(rAmp, '&') + .replace(rLt, '<') + .replace(rGt, '>') + .replace(rApos, ''') + .replace(rQuot, '"') : + str; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + }; + +})(typeof exports !== 'undefined' ? exports : Hogan); + + + +(function (Hogan) { + // Setup regex assignments + // remove whitespace according to Mustache spec + var rIsWhitespace = /\S/, + rQuot = /\"/g, + rNewline = /\n/g, + rCr = /\r/g, + rSlash = /\\/g; + + Hogan.tags = { + '#': 1, '^': 2, '<': 3, '$': 4, + '/': 5, '!': 6, '>': 7, '=': 8, '_v': 9, + '{': 10, '&': 11, '_t': 12 + }; + + Hogan.scan = function scan(text, delimiters) { + var len = text.length, + IN_TEXT = 0, + IN_TAG_TYPE = 1, + IN_TAG = 2, + state = IN_TEXT, + tagType = null, + tag = null, + buf = '', + tokens = [], + seenTag = false, + i = 0, + lineStart = 0, + otag = '{{', + ctag = '}}'; + + function addBuf() { + if (buf.length > 0) { + tokens.push({tag: '_t', text: new String(buf)}); + buf = ''; + } + } + + function lineIsWhitespace() { + var isAllWhitespace = true; + for (var j = lineStart; j < tokens.length; j++) { + isAllWhitespace = + (Hogan.tags[tokens[j].tag] < Hogan.tags['_v']) || + (tokens[j].tag == '_t' && tokens[j].text.match(rIsWhitespace) === null); + if (!isAllWhitespace) { + return false; + } + } + + return isAllWhitespace; + } + + function filterLine(haveSeenTag, noNewLine) { + addBuf(); + + if (haveSeenTag && lineIsWhitespace()) { + for (var j = lineStart, next; j < tokens.length; j++) { + if (tokens[j].text) { + if ((next = tokens[j+1]) && next.tag == '>') { + // set indent to token value + next.indent = tokens[j].text.toString() + } + tokens.splice(j, 1); + } + } + } else if (!noNewLine) { + tokens.push({tag:'\n'}); + } + + seenTag = false; + lineStart = tokens.length; + } + + function changeDelimiters(text, index) { + var close = '=' + ctag, + closeIndex = text.indexOf(close, index), + delimiters = trim( + text.substring(text.indexOf('=', index) + 1, closeIndex) + ).split(' '); + + otag = delimiters[0]; + ctag = delimiters[delimiters.length - 1]; + + return closeIndex + close.length - 1; + } + + if (delimiters) { + delimiters = delimiters.split(' '); + otag = delimiters[0]; + ctag = delimiters[1]; + } + + for (i = 0; i < len; i++) { + if (state == IN_TEXT) { + if (tagChange(otag, text, i)) { + --i; + addBuf(); + state = IN_TAG_TYPE; + } else { + if (text.charAt(i) == '\n') { + filterLine(seenTag); + } else { + buf += text.charAt(i); + } + } + } else if (state == IN_TAG_TYPE) { + i += otag.length - 1; + tag = Hogan.tags[text.charAt(i + 1)]; + tagType = tag ? text.charAt(i + 1) : '_v'; + if (tagType == '=') { + i = changeDelimiters(text, i); + state = IN_TEXT; + } else { + if (tag) { + i++; + } + state = IN_TAG; + } + seenTag = i; + } else { + if (tagChange(ctag, text, i)) { + tokens.push({tag: tagType, n: trim(buf), otag: otag, ctag: ctag, + i: (tagType == '/') ? seenTag - otag.length : i + ctag.length}); + buf = ''; + i += ctag.length - 1; + state = IN_TEXT; + if (tagType == '{') { + if (ctag == '}}') { + i++; + } else { + cleanTripleStache(tokens[tokens.length - 1]); + } + } + } else { + buf += text.charAt(i); + } + } + } + + filterLine(seenTag, true); + + return tokens; + } + + function cleanTripleStache(token) { + if (token.n.substr(token.n.length - 1) === '}') { + token.n = token.n.substring(0, token.n.length - 1); + } + } + + function trim(s) { + if (s.trim) { + return s.trim(); + } + + return s.replace(/^\s*|\s*$/g, ''); + } + + function tagChange(tag, text, index) { + if (text.charAt(index) != tag.charAt(0)) { + return false; + } + + for (var i = 1, l = tag.length; i < l; i++) { + if (text.charAt(index + i) != tag.charAt(i)) { + return false; + } + } + + return true; + } + + // the tags allowed inside super templates + var allowedInSuper = {'_t': true, '\n': true, '$': true, '/': true}; + + function buildTree(tokens, kind, stack, customTags) { + var instructions = [], + opener = null, + tail = null, + token = null; + + tail = stack[stack.length - 1]; + + while (tokens.length > 0) { + token = tokens.shift(); + + if (tail && tail.tag == '<' && !(token.tag in allowedInSuper)) { + throw new Error('Illegal content in < super tag.'); + } + + if (Hogan.tags[token.tag] <= Hogan.tags['$'] || isOpener(token, customTags)) { + stack.push(token); + token.nodes = buildTree(tokens, token.tag, stack, customTags); + } else if (token.tag == '/') { + if (stack.length === 0) { + throw new Error('Closing tag without opener: /' + token.n); + } + opener = stack.pop(); + if (token.n != opener.n && !isCloser(token.n, opener.n, customTags)) { + throw new Error('Nesting error: ' + opener.n + ' vs. ' + token.n); + } + opener.end = token.i; + return instructions; + } else if (token.tag == '\n') { + token.last = (tokens.length == 0) || (tokens[0].tag == '\n'); + } + + instructions.push(token); + } + + if (stack.length > 0) { + throw new Error('missing closing tag: ' + stack.pop().n); + } + + return instructions; + } + + function isOpener(token, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].o == token.n) { + token.tag = '#'; + return true; + } + } + } + + function isCloser(close, open, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].c == close && tags[i].o == open) { + return true; + } + } + } + + function stringifySubstitutions(obj) { + var items = []; + for (var key in obj) { + items.push('"' + esc(key) + '": function(c,p,t,i) {' + obj[key] + '}'); + } + return "{ " + items.join(",") + " }"; + } + + function stringifyPartials(codeObj) { + var partials = []; + for (var key in codeObj.partials) { + partials.push('"' + esc(key) + '":{name:"' + esc(codeObj.partials[key].name) + '", ' + stringifyPartials(codeObj.partials[key]) + "}"); + } + return "partials: {" + partials.join(",") + "}, subs: " + stringifySubstitutions(codeObj.subs); + } + + Hogan.stringify = function(codeObj, text, options) { + return "{code: function (c,p,i) { " + Hogan.wrapMain(codeObj.code) + " }," + stringifyPartials(codeObj) + "}"; + } + + var serialNo = 0; + Hogan.generate = function(tree, text, options) { + serialNo = 0; + var context = { code: '', subs: {}, partials: {} }; + Hogan.walk(tree, context); + + if (options.asString) { + return this.stringify(context, text, options); + } + + return this.makeTemplate(context, text, options); + } + + Hogan.wrapMain = function(code) { + return 'var t=this;t.b(i=i||"");' + code + 'return t.fl();'; + } + + Hogan.template = Hogan.Template; + + Hogan.makeTemplate = function(codeObj, text, options) { + var template = this.makePartials(codeObj); + template.code = new Function('c', 'p', 'i', this.wrapMain(codeObj.code)); + return new this.template(template, text, this, options); + } + + Hogan.makePartials = function(codeObj) { + var key, template = {subs: {}, partials: codeObj.partials, name: codeObj.name}; + for (key in template.partials) { + template.partials[key] = this.makePartials(template.partials[key]); + } + for (key in codeObj.subs) { + template.subs[key] = new Function('c', 'p', 't', 'i', codeObj.subs[key]); + } + return template; + } + + function esc(s) { + return s.replace(rSlash, '\\\\') + .replace(rQuot, '\\\"') + .replace(rNewline, '\\n') + .replace(rCr, '\\r'); + } + + function chooseMethod(s) { + return (~s.indexOf('.')) ? 'd' : 'f'; + } + + function createPartial(node, context) { + var prefix = "<" + (context.prefix || ""); + var sym = prefix + node.n + serialNo++; + context.partials[sym] = {name: node.n, partials: {}}; + context.code += 't.b(t.rp("' + esc(sym) + '",c,p,"' + (node.indent || '') + '"));'; + return sym; + } + + Hogan.codegen = { + '#': function(node, context) { + context.code += 'if(t.s(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,1),' + + 'c,p,0,' + node.i + ',' + node.end + ',"' + node.otag + " " + node.ctag + '")){' + + 't.rs(c,p,' + 'function(c,p,t){'; + Hogan.walk(node.nodes, context); + context.code += '});c.pop();}'; + }, + + '^': function(node, context) { + context.code += 'if(!t.s(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,1),c,p,1,0,0,"")){'; + Hogan.walk(node.nodes, context); + context.code += '};'; + }, + + '>': createPartial, + '<': function(node, context) { + var ctx = {partials: {}, code: '', subs: {}, inPartial: true}; + Hogan.walk(node.nodes, ctx); + var template = context.partials[createPartial(node, context)]; + template.subs = ctx.subs; + template.partials = ctx.partials; + }, + + '$': function(node, context) { + var ctx = {subs: {}, code: '', partials: context.partials, prefix: node.n}; + Hogan.walk(node.nodes, ctx); + context.subs[node.n] = ctx.code; + if (!context.inPartial) { + context.code += 't.sub("' + esc(node.n) + '",c,p,i);'; + } + }, + + '\n': function(node, context) { + context.code += write('"\\n"' + (node.last ? '' : ' + i')); + }, + + '_v': function(node, context) { + context.code += 't.b(t.v(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,0)));'; + }, + + '_t': function(node, context) { + context.code += write('"' + esc(node.text) + '"'); + }, + + '{': tripleStache, + + '&': tripleStache + } + + function tripleStache(node, context) { + context.code += 't.b(t.t(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,0)));'; + } + + function write(s) { + return 't.b(' + s + ');'; + } + + Hogan.walk = function(nodelist, context) { + var func; + for (var i = 0, l = nodelist.length; i < l; i++) { + func = Hogan.codegen[nodelist[i].tag]; + func && func(nodelist[i], context); + } + return context; + } + + Hogan.parse = function(tokens, text, options) { + options = options || {}; + return buildTree(tokens, '', [], options.sectionTags || []); + } + + Hogan.cache = {}; + + Hogan.cacheKey = function(text, options) { + return [text, !!options.asString, !!options.disableLambda, options.delimiters, !!options.modelGet].join('||'); + } + + Hogan.compile = function(text, options) { + options = options || {}; + var key = Hogan.cacheKey(text, options); + var template = this.cache[key]; + + if (template) { + var partials = template.partials; + for (var name in partials) { + delete partials[name].instance; + } + return template; + } + + template = this.generate(this.parse(this.scan(text, options.delimiters), text, options), text, options); + return this.cache[key] = template; + } +})(typeof exports !== 'undefined' ? exports : Hogan); + diff --git a/hogan-node/node_modules/hogan.js/web/builds/3.0.0/hogan-3.0.0.min.amd.js b/hogan-node/node_modules/hogan.js/web/builds/3.0.0/hogan-3.0.0.min.amd.js new file mode 100644 index 0000000..595e128 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/3.0.0/hogan-3.0.0.min.amd.js @@ -0,0 +1,5 @@ +/** +* @preserve Copyright 2012 Twitter, Inc. +* @license http://www.apache.org/licenses/LICENSE-2.0.txt +*/ +var Hogan={};(function(e){function t(e,t,n){var r,i;return t&&typeof t=="object"&&(t[e]!=null?r=t[e]:n&&t.get&&typeof t.get=="function"&&(r=t.get(e))),r}function n(e,t,n,r,i,s){function o(){}function u(){}o.prototype=e,u.prototype=e.subs;var a,f=new o;f.subs=new u,f.subsText={},f.buf="",r=r||{},f.stackSubs=r,f.subsText=s;for(a in t)r[a]||(r[a]=t[a]);for(a in r)f.subs[a]=r[a];i=i||{},f.stackPartials=i;for(a in n)i[a]||(i[a]=n[a]);for(a in i)f.partials[a]=i[a];return f}function f(e){return String(e===null||e===undefined?"":e)}function l(e){return e=f(e),a.test(e)?e.replace(r,"&").replace(i,"<").replace(s,">").replace(o,"'").replace(u,"""):e}e.Template=function(e,t,n,r){e=e||{},this.r=e.code||this.r,this.c=n,this.options=r||{},this.text=t||"",this.partials=e.partials||{},this.subs=e.subs||{},this.buf=""},e.Template.prototype={r:function(e,t,n){return""},v:l,t:f,render:function(t,n,r){return this.ri([t],n||{},r)},ri:function(e,t,n){return this.r(e,t,n)},ep:function(e,t){var r=this.partials[e],i=t[r.name];if(r.instance&&r.base==i)return r.instance;if(typeof i=="string"){if(!this.c)throw new Error("No compiler available.");i=this.c.compile(i,this.options)}if(!i)return null;this.partials[e].base=i;if(r.subs){t.stackText||(t.stackText={});for(key in r.subs)t.stackText[key]||(t.stackText[key]=this.activeSub!==undefined&&t.stackText[this.activeSub]?t.stackText[this.activeSub]:this.text);i=n(i,r.subs,r.partials,this.stackSubs,this.stackPartials,t.stackText)}return this.partials[e].instance=i,i},rp:function(e,t,n,r){var i=this.ep(e,n);return i?i.ri(t,n,r):""},rs:function(e,t,n){var r=e[e.length-1];if(!c(r)){n(e,t,this);return}for(var i=0;i=0;f--){o=n[f],s=t(e,o,a);if(s!=null){u=!0;break}}return u?(!i&&typeof s=="function"&&(s=this.mv(s,n,r)),s):i?!1:""},ls:function(e,t,n,r,i){var s=this.options.delimiters;return this.options.delimiters=i,this.b(this.ct(f(e.call(t,r)),t,n)),this.options.delimiters=s,!1},ct:function(e,t,n){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(e,this.options).render(t,n)},b:function(e){this.buf+=e},fl:function(){var e=this.buf;return this.buf="",e},ms:function(e,t,n,r,i,s,o){var u,a=t[t.length-1],f=e.call(a);return typeof f=="function"?r?!0:(u=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(f,a,n,u.substring(i,s),o)):f},mv:function(e,t,n){var r=t[t.length-1],i=e.call(r);return typeof i=="function"?this.ct(f(i.call(r)),r,n):i},sub:function(e,t,n,r){var i=this.subs[e];i&&(this.activeSub=e,i(t,n,this,r),this.activeSub=!1)}};var r=/&/g,i=//g,o=/\'/g,u=/\"/g,a=/[&<>\"\']/,c=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"}})(typeof exports!="undefined"?exports:Hogan),function(e){function o(e){e.n.substr(e.n.length-1)==="}"&&(e.n=e.n.substring(0,e.n.length-1))}function u(e){return e.trim?e.trim():e.replace(/^\s*|\s*$/g,"")}function a(e,t,n){if(t.charAt(n)!=e.charAt(0))return!1;for(var r=1,i=e.length;r0){a=t.shift();if(!(!u||u.tag!="<"||a.tag in f))throw new Error("Illegal content in < super tag.");if(e.tags[a.tag]<=e.tags.$||c(a,i))r.push(a),a.nodes=l(t,a.tag,r,i);else{if(a.tag=="/"){if(r.length===0)throw new Error("Closing tag without opener: /"+a.n);o=r.pop();if(a.n!=o.n&&!h(a.n,o.n,i))throw new Error("Nesting error: "+o.n+" vs. "+a.n);return o.end=a.i,s}a.tag=="\n"&&(a.last=t.length==0||t[0].tag=="\n")}s.push(a)}if(r.length>0)throw new Error("missing closing tag: "+r.pop().n);return s}function c(e,t){for(var n=0,r=t.length;n":7,"=":8,_v:9,"{":10,"&":11,_t:12},e.scan=function(r,i){function S(){v.length>0&&(m.push({tag:"_t",text:new String(v)}),v="")}function x(){var n=!0;for(var r=b;r"&&(r.indent=m[n].text.toString()),m.splice(n,1));else t||m.push({tag:"\n"});g=!1,b=m.length}function N(e,t){var n="="+E,r=e.indexOf(n,t),i=u(e.substring(e.indexOf("=",t)+1,r)).split(" ");return w=i[0],E=i[i.length-1],r+n.length-1}var s=r.length,f=0,l=1,c=2,h=f,p=null,d=null,v="",m=[],g=!1,y=0,b=0,w="{{",E="}}";i&&(i=i.split(" "),w=i[0],E=i[1]);for(y=0;y":y,"<":function(t,n){var r={partials:{},code:"",subs:{},inPartial:!0};e.walk(t.nodes,r);var i=n.partials[y(t,n)];i.subs=r.subs,i.partials=r.partials},$:function(t,n){var r={subs:{},code:"",partials:n.partials,prefix:t.n};e.walk(t.nodes,r),n.subs[t.n]=r.code,n.inPartial||(n.code+='t.sub("'+m(t.n)+'",c,p,i);')},"\n":function(e,t){t.code+=w('"\\n"'+(e.last?"":" + i"))},_v:function(e,t){t.code+="t.b(t.v(t."+g(e.n)+'("'+m(e.n)+'",c,p,0)));'},_t:function(e,t){t.code+=w('"'+m(e.text)+'"')},"{":b,"&":b},e.walk=function(t,n){var r;for(var i=0,s=t.length;i=0;f--){o=n[f],s=t(e,o,a);if(s!=null){u=!0;break}}return u?(!i&&typeof s=="function"&&(s=this.mv(s,n,r)),s):i?!1:""},ls:function(e,t,n,r,i){var s=this.options.delimiters;return this.options.delimiters=i,this.b(this.ct(f(e.call(t,r)),t,n)),this.options.delimiters=s,!1},ct:function(e,t,n){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(e,this.options).render(t,n)},b:function(e){this.buf+=e},fl:function(){var e=this.buf;return this.buf="",e},ms:function(e,t,n,r,i,s,o){var u,a=t[t.length-1],f=e.call(a);return typeof f=="function"?r?!0:(u=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(f,a,n,u.substring(i,s),o)):f},mv:function(e,t,n){var r=t[t.length-1],i=e.call(r);return typeof i=="function"?this.ct(f(i.call(r)),r,n):i},sub:function(e,t,n,r){var i=this.subs[e];i&&(this.activeSub=e,i(t,n,this,r),this.activeSub=!1)}};var r=/&/g,i=//g,o=/\'/g,u=/\"/g,a=/[&<>\"\']/,c=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"}})(typeof exports!="undefined"?exports:Hogan),function(e){function o(e){e.n.substr(e.n.length-1)==="}"&&(e.n=e.n.substring(0,e.n.length-1))}function u(e){return e.trim?e.trim():e.replace(/^\s*|\s*$/g,"")}function a(e,t,n){if(t.charAt(n)!=e.charAt(0))return!1;for(var r=1,i=e.length;r0){a=t.shift();if(!(!u||u.tag!="<"||a.tag in f))throw new Error("Illegal content in < super tag.");if(e.tags[a.tag]<=e.tags.$||c(a,i))r.push(a),a.nodes=l(t,a.tag,r,i);else{if(a.tag=="/"){if(r.length===0)throw new Error("Closing tag without opener: /"+a.n);o=r.pop();if(a.n!=o.n&&!h(a.n,o.n,i))throw new Error("Nesting error: "+o.n+" vs. "+a.n);return o.end=a.i,s}a.tag=="\n"&&(a.last=t.length==0||t[0].tag=="\n")}s.push(a)}if(r.length>0)throw new Error("missing closing tag: "+r.pop().n);return s}function c(e,t){for(var n=0,r=t.length;n":7,"=":8,_v:9,"{":10,"&":11,_t:12},e.scan=function(r,i){function S(){v.length>0&&(m.push({tag:"_t",text:new String(v)}),v="")}function x(){var n=!0;for(var r=b;r"&&(r.indent=m[n].text.toString()),m.splice(n,1));else t||m.push({tag:"\n"});g=!1,b=m.length}function N(e,t){var n="="+E,r=e.indexOf(n,t),i=u(e.substring(e.indexOf("=",t)+1,r)).split(" ");return w=i[0],E=i[i.length-1],r+n.length-1}var s=r.length,f=0,l=1,c=2,h=f,p=null,d=null,v="",m=[],g=!1,y=0,b=0,w="{{",E="}}";i&&(i=i.split(" "),w=i[0],E=i[1]);for(y=0;y":y,"<":function(t,n){var r={partials:{},code:"",subs:{},inPartial:!0};e.walk(t.nodes,r);var i=n.partials[y(t,n)];i.subs=r.subs,i.partials=r.partials},$:function(t,n){var r={subs:{},code:"",partials:n.partials,prefix:t.n};e.walk(t.nodes,r),n.subs[t.n]=r.code,n.inPartial||(n.code+='t.sub("'+m(t.n)+'",c,p,i);')},"\n":function(e,t){t.code+=w('"\\n"'+(e.last?"":" + i"))},_v:function(e,t){t.code+="t.b(t.v(t."+g(e.n)+'("'+m(e.n)+'",c,p,0)));'},_t:function(e,t){t.code+=w('"'+m(e.text)+'"')},"{":b,"&":b},e.walk=function(t,n){var r;for(var i=0,s=t.length;i=0;f--){o=n[f],s=t(e,o,a);if(s!=null){u=!0;break}}return u?(!i&&typeof s=="function"&&(s=this.mv(s,n,r)),s):i?!1:""},ls:function(e,t,n,r,i){var s=this.options.delimiters;return this.options.delimiters=i,this.b(this.ct(f(e.call(t,r)),t,n)),this.options.delimiters=s,!1},ct:function(e,t,n){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(e,this.options).render(t,n)},b:function(e){this.buf+=e},fl:function(){var e=this.buf;return this.buf="",e},ms:function(e,t,n,r,i,s,o){var u,a=t[t.length-1],f=e.call(a);return typeof f=="function"?r?!0:(u=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(f,a,n,u.substring(i,s),o)):f},mv:function(e,t,n){var r=t[t.length-1],i=e.call(r);return typeof i=="function"?this.ct(f(i.call(r)),r,n):i},sub:function(e,t,n,r){var i=this.subs[e];i&&(this.activeSub=e,i(t,n,this,r),this.activeSub=!1)}};var r=/&/g,i=//g,o=/\'/g,u=/\"/g,a=/[&<>\"\']/,c=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"}})(typeof exports!="undefined"?exports:Hogan),function(e){function o(e){e.n.substr(e.n.length-1)==="}"&&(e.n=e.n.substring(0,e.n.length-1))}function u(e){return e.trim?e.trim():e.replace(/^\s*|\s*$/g,"")}function a(e,t,n){if(t.charAt(n)!=e.charAt(0))return!1;for(var r=1,i=e.length;r0){a=t.shift();if(!(!u||u.tag!="<"||a.tag in f))throw new Error("Illegal content in < super tag.");if(e.tags[a.tag]<=e.tags.$||c(a,i))r.push(a),a.nodes=l(t,a.tag,r,i);else{if(a.tag=="/"){if(r.length===0)throw new Error("Closing tag without opener: /"+a.n);o=r.pop();if(a.n!=o.n&&!h(a.n,o.n,i))throw new Error("Nesting error: "+o.n+" vs. "+a.n);return o.end=a.i,s}a.tag=="\n"&&(a.last=t.length==0||t[0].tag=="\n")}s.push(a)}if(r.length>0)throw new Error("missing closing tag: "+r.pop().n);return s}function c(e,t){for(var n=0,r=t.length;n":7,"=":8,_v:9,"{":10,"&":11,_t:12},e.scan=function(r,i){function S(){v.length>0&&(m.push({tag:"_t",text:new String(v)}),v="")}function x(){var n=!0;for(var r=b;r"&&(r.indent=m[n].text.toString()),m.splice(n,1));else t||m.push({tag:"\n"});g=!1,b=m.length}function N(e,t){var n="="+E,r=e.indexOf(n,t),i=u(e.substring(e.indexOf("=",t)+1,r)).split(" ");return w=i[0],E=i[i.length-1],r+n.length-1}var s=r.length,f=0,l=1,c=2,h=f,p=null,d=null,v="",m=[],g=!1,y=0,b=0,w="{{",E="}}";i&&(i=i.split(" "),w=i[0],E=i[1]);for(y=0;y":y,"<":function(t,n){var r={partials:{},code:"",subs:{},inPartial:!0};e.walk(t.nodes,r);var i=n.partials[y(t,n)];i.subs=r.subs,i.partials=r.partials},$:function(t,n){var r={subs:{},code:"",partials:n.partials,prefix:t.n};e.walk(t.nodes,r),n.subs[t.n]=r.code,n.inPartial||(n.code+='t.sub("'+m(t.n)+'",c,p,i);')},"\n":function(e,t){t.code+=w('"\\n"'+(e.last?"":" + i"))},_v:function(e,t){t.code+="t.b(t.v(t."+g(e.n)+'("'+m(e.n)+'",c,p,0)));'},_t:function(e,t){t.code+=w('"'+m(e.text)+'"')},"{":b,"&":b},e.walk=function(t,n){var r;for(var i=0,s=t.length;i=0;f--){o=n[f],s=t(e,o,a);if(s!=null){u=!0;break}}return u?(!i&&typeof s=="function"&&(s=this.mv(s,n,r)),s):i?!1:""},ls:function(e,t,n,r,i){var s=this.options.delimiters;return this.options.delimiters=i,this.b(this.ct(f(e.call(t,r)),t,n)),this.options.delimiters=s,!1},ct:function(e,t,n){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(e,this.options).render(t,n)},b:function(e){this.buf+=e},fl:function(){var e=this.buf;return this.buf="",e},ms:function(e,t,n,r,i,s,o){var u,a=t[t.length-1],f=e.call(a);return typeof f=="function"?r?!0:(u=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(f,a,n,u.substring(i,s),o)):f},mv:function(e,t,n){var r=t[t.length-1],i=e.call(r);return typeof i=="function"?this.ct(f(i.call(r)),r,n):i},sub:function(e,t,n,r){var i=this.subs[e];i&&(this.activeSub=e,i(t,n,this,r),this.activeSub=!1)}};var r=/&/g,i=//g,o=/\'/g,u=/\"/g,a=/[&<>\"\']/,c=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"}})(typeof exports!="undefined"?exports:Hogan),function(e){function o(e){e.n.substr(e.n.length-1)==="}"&&(e.n=e.n.substring(0,e.n.length-1))}function u(e){return e.trim?e.trim():e.replace(/^\s*|\s*$/g,"")}function a(e,t,n){if(t.charAt(n)!=e.charAt(0))return!1;for(var r=1,i=e.length;r0){a=t.shift();if(!(!u||u.tag!="<"||a.tag in f))throw new Error("Illegal content in < super tag.");if(e.tags[a.tag]<=e.tags.$||c(a,i))r.push(a),a.nodes=l(t,a.tag,r,i);else{if(a.tag=="/"){if(r.length===0)throw new Error("Closing tag without opener: /"+a.n);o=r.pop();if(a.n!=o.n&&!h(a.n,o.n,i))throw new Error("Nesting error: "+o.n+" vs. "+a.n);return o.end=a.i,s}a.tag=="\n"&&(a.last=t.length==0||t[0].tag=="\n")}s.push(a)}if(r.length>0)throw new Error("missing closing tag: "+r.pop().n);return s}function c(e,t){for(var n=0,r=t.length;n":7,"=":8,_v:9,"{":10,"&":11,_t:12},e.scan=function(r,i){function S(){v.length>0&&(m.push({tag:"_t",text:new String(v)}),v="")}function x(){var n=!0;for(var r=b;r"&&(r.indent=m[n].text.toString()),m.splice(n,1));else t||m.push({tag:"\n"});g=!1,b=m.length}function N(e,t){var n="="+E,r=e.indexOf(n,t),i=u(e.substring(e.indexOf("=",t)+1,r)).split(" ");return w=i[0],E=i[i.length-1],r+n.length-1}var s=r.length,f=0,l=1,c=2,h=f,p=null,d=null,v="",m=[],g=!1,y=0,b=0,w="{{",E="}}";i&&(i=i.split(" "),w=i[0],E=i[1]);for(y=0;y":y,"<":function(t,n){var r={partials:{},code:"",subs:{},inPartial:!0};e.walk(t.nodes,r);var i=n.partials[y(t,n)];i.subs=r.subs,i.partials=r.partials},$:function(t,n){var r={subs:{},code:"",partials:n.partials,prefix:t.n};e.walk(t.nodes,r),n.subs[t.n]=r.code,n.inPartial||(n.code+='t.sub("'+m(t.n)+'",c,p,i);')},"\n":function(e,t){t.code+=w('"\\n"'+(e.last?"":" + i"))},_v:function(e,t){t.code+="t.b(t.v(t."+g(e.n)+'("'+m(e.n)+'",c,p,0)));'},_t:function(e,t){t.code+=w('"'+m(e.text)+'"')},"{":b,"&":b},e.walk=function(t,n){var r;for(var i=0,s=t.length;i= 0; i--) { + v = ctx[i]; + val = findInScope(key, v, doModelGet); + if (val != null) { + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.mv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ls: function(func, cx, partials, text, tags) { + var oldTags = this.options.delimiters; + + this.options.delimiters = tags; + this.b(this.ct(coerceToString(func.call(cx, text)), cx, partials)); + this.options.delimiters = oldTags; + + return false; + }, + + // compile text + ct: function(text, cx, partials) { + if (this.options.disableLambda) { + throw new Error('Lambda features disabled.'); + } + return this.c.compile(text, this.options).render(cx, partials); + }, + + // template result buffering + b: function(s) { this.buf += s; }, + + fl: function() { var r = this.buf; this.buf = ''; return r; }, + + // method replace section + ms: function(func, ctx, partials, inverted, start, end, tags) { + var textSource, + cx = ctx[ctx.length - 1], + result = func.call(cx); + + if (typeof result == 'function') { + if (inverted) { + return true; + } else { + textSource = (this.activeSub && this.subsText && this.subsText[this.activeSub]) ? this.subsText[this.activeSub] : this.text; + return this.ls(result, cx, partials, textSource.substring(start, end), tags); + } + } + + return result; + }, + + // method replace variable + mv: function(func, ctx, partials) { + var cx = ctx[ctx.length - 1]; + var result = func.call(cx); + + if (typeof result == 'function') { + return this.ct(coerceToString(result.call(cx)), cx, partials); + } + + return result; + }, + + sub: function(name, context, partials, indent) { + var f = this.subs[name]; + if (f) { + this.activeSub = name; + f(context, partials, this, indent); + this.activeSub = false; + } + } + + }; + + //Find a key in an object + function findInScope(key, scope, doModelGet) { + var val, checkVal; + + if (scope && typeof scope == 'object') { + + if (scope[key] != null) { + val = scope[key]; + + // try lookup with get for backbone or similar model data + } else if (doModelGet && scope.get && typeof scope.get == 'function') { + val = scope.get(key); + } + } + + return val; + } + + function createSpecializedPartial(instance, subs, partials, stackSubs, stackPartials, stackText) { + function PartialTemplate() {}; + PartialTemplate.prototype = instance; + function Substitutions() {}; + Substitutions.prototype = instance.subs; + var key; + var partial = new PartialTemplate(); + partial.subs = new Substitutions(); + partial.subsText = {}; //hehe. substext. + partial.buf = ''; + + stackSubs = stackSubs || {}; + partial.stackSubs = stackSubs; + partial.subsText = stackText; + for (key in subs) { + if (!stackSubs[key]) stackSubs[key] = subs[key]; + } + for (key in stackSubs) { + partial.subs[key] = stackSubs[key]; + } + + stackPartials = stackPartials || {}; + partial.stackPartials = stackPartials; + for (key in partials) { + if (!stackPartials[key]) stackPartials[key] = partials[key]; + } + for (key in stackPartials) { + partial.partials[key] = stackPartials[key]; + } + + return partial; + } + + var rAmp = /&/g, + rLt = //g, + rApos = /\'/g, + rQuot = /\"/g, + hChars = /[&<>\"\']/; + + function coerceToString(val) { + return String((val === null || val === undefined) ? '' : val); + } + + function hoganEscape(str) { + str = coerceToString(str); + return hChars.test(str) ? + str + .replace(rAmp, '&') + .replace(rLt, '<') + .replace(rGt, '>') + .replace(rApos, ''') + .replace(rQuot, '"') : + str; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + }; + +})(typeof exports !== 'undefined' ? exports : Hogan); + + + +(function (Hogan) { + // Setup regex assignments + // remove whitespace according to Mustache spec + var rIsWhitespace = /\S/, + rQuot = /\"/g, + rNewline = /\n/g, + rCr = /\r/g, + rSlash = /\\/g; + + Hogan.tags = { + '#': 1, '^': 2, '<': 3, '$': 4, + '/': 5, '!': 6, '>': 7, '=': 8, '_v': 9, + '{': 10, '&': 11, '_t': 12 + }; + + Hogan.scan = function scan(text, delimiters) { + var len = text.length, + IN_TEXT = 0, + IN_TAG_TYPE = 1, + IN_TAG = 2, + state = IN_TEXT, + tagType = null, + tag = null, + buf = '', + tokens = [], + seenTag = false, + i = 0, + lineStart = 0, + otag = '{{', + ctag = '}}'; + + function addBuf() { + if (buf.length > 0) { + tokens.push({tag: '_t', text: new String(buf)}); + buf = ''; + } + } + + function lineIsWhitespace() { + var isAllWhitespace = true; + for (var j = lineStart; j < tokens.length; j++) { + isAllWhitespace = + (Hogan.tags[tokens[j].tag] < Hogan.tags['_v']) || + (tokens[j].tag == '_t' && tokens[j].text.match(rIsWhitespace) === null); + if (!isAllWhitespace) { + return false; + } + } + + return isAllWhitespace; + } + + function filterLine(haveSeenTag, noNewLine) { + addBuf(); + + if (haveSeenTag && lineIsWhitespace()) { + for (var j = lineStart, next; j < tokens.length; j++) { + if (tokens[j].text) { + if ((next = tokens[j+1]) && next.tag == '>') { + // set indent to token value + next.indent = tokens[j].text.toString() + } + tokens.splice(j, 1); + } + } + } else if (!noNewLine) { + tokens.push({tag:'\n'}); + } + + seenTag = false; + lineStart = tokens.length; + } + + function changeDelimiters(text, index) { + var close = '=' + ctag, + closeIndex = text.indexOf(close, index), + delimiters = trim( + text.substring(text.indexOf('=', index) + 1, closeIndex) + ).split(' '); + + otag = delimiters[0]; + ctag = delimiters[delimiters.length - 1]; + + return closeIndex + close.length - 1; + } + + if (delimiters) { + delimiters = delimiters.split(' '); + otag = delimiters[0]; + ctag = delimiters[1]; + } + + for (i = 0; i < len; i++) { + if (state == IN_TEXT) { + if (tagChange(otag, text, i)) { + --i; + addBuf(); + state = IN_TAG_TYPE; + } else { + if (text.charAt(i) == '\n') { + filterLine(seenTag); + } else { + buf += text.charAt(i); + } + } + } else if (state == IN_TAG_TYPE) { + i += otag.length - 1; + tag = Hogan.tags[text.charAt(i + 1)]; + tagType = tag ? text.charAt(i + 1) : '_v'; + if (tagType == '=') { + i = changeDelimiters(text, i); + state = IN_TEXT; + } else { + if (tag) { + i++; + } + state = IN_TAG; + } + seenTag = i; + } else { + if (tagChange(ctag, text, i)) { + tokens.push({tag: tagType, n: trim(buf), otag: otag, ctag: ctag, + i: (tagType == '/') ? seenTag - otag.length : i + ctag.length}); + buf = ''; + i += ctag.length - 1; + state = IN_TEXT; + if (tagType == '{') { + if (ctag == '}}') { + i++; + } else { + cleanTripleStache(tokens[tokens.length - 1]); + } + } + } else { + buf += text.charAt(i); + } + } + } + + filterLine(seenTag, true); + + return tokens; + } + + function cleanTripleStache(token) { + if (token.n.substr(token.n.length - 1) === '}') { + token.n = token.n.substring(0, token.n.length - 1); + } + } + + function trim(s) { + if (s.trim) { + return s.trim(); + } + + return s.replace(/^\s*|\s*$/g, ''); + } + + function tagChange(tag, text, index) { + if (text.charAt(index) != tag.charAt(0)) { + return false; + } + + for (var i = 1, l = tag.length; i < l; i++) { + if (text.charAt(index + i) != tag.charAt(i)) { + return false; + } + } + + return true; + } + + // the tags allowed inside super templates + var allowedInSuper = {'_t': true, '\n': true, '$': true, '/': true}; + + function buildTree(tokens, kind, stack, customTags) { + var instructions = [], + opener = null, + tail = null, + token = null; + + tail = stack[stack.length - 1]; + + while (tokens.length > 0) { + token = tokens.shift(); + + if (tail && tail.tag == '<' && !(token.tag in allowedInSuper)) { + throw new Error('Illegal content in < super tag.'); + } + + if (Hogan.tags[token.tag] <= Hogan.tags['$'] || isOpener(token, customTags)) { + stack.push(token); + token.nodes = buildTree(tokens, token.tag, stack, customTags); + } else if (token.tag == '/') { + if (stack.length === 0) { + throw new Error('Closing tag without opener: /' + token.n); + } + opener = stack.pop(); + if (token.n != opener.n && !isCloser(token.n, opener.n, customTags)) { + throw new Error('Nesting error: ' + opener.n + ' vs. ' + token.n); + } + opener.end = token.i; + return instructions; + } else if (token.tag == '\n') { + token.last = (tokens.length == 0) || (tokens[0].tag == '\n'); + } + + instructions.push(token); + } + + if (stack.length > 0) { + throw new Error('missing closing tag: ' + stack.pop().n); + } + + return instructions; + } + + function isOpener(token, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].o == token.n) { + token.tag = '#'; + return true; + } + } + } + + function isCloser(close, open, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].c == close && tags[i].o == open) { + return true; + } + } + } + + function stringifySubstitutions(obj) { + var items = []; + for (var key in obj) { + items.push('"' + esc(key) + '": function(c,p,t,i) {' + obj[key] + '}'); + } + return "{ " + items.join(",") + " }"; + } + + function stringifyPartials(codeObj) { + var partials = []; + for (var key in codeObj.partials) { + partials.push('"' + esc(key) + '":{name:"' + esc(codeObj.partials[key].name) + '", ' + stringifyPartials(codeObj.partials[key]) + "}"); + } + return "partials: {" + partials.join(",") + "}, subs: " + stringifySubstitutions(codeObj.subs); + } + + Hogan.stringify = function(codeObj, text, options) { + return "{code: function (c,p,i) { " + Hogan.wrapMain(codeObj.code) + " }," + stringifyPartials(codeObj) + "}"; + } + + var serialNo = 0; + Hogan.generate = function(tree, text, options) { + serialNo = 0; + var context = { code: '', subs: {}, partials: {} }; + Hogan.walk(tree, context); + + if (options.asString) { + return this.stringify(context, text, options); + } + + return this.makeTemplate(context, text, options); + } + + Hogan.wrapMain = function(code) { + return 'var t=this;t.b(i=i||"");' + code + 'return t.fl();'; + } + + Hogan.template = Hogan.Template; + + Hogan.makeTemplate = function(codeObj, text, options) { + var template = this.makePartials(codeObj); + template.code = new Function('c', 'p', 'i', this.wrapMain(codeObj.code)); + return new this.template(template, text, this, options); + } + + Hogan.makePartials = function(codeObj) { + var key, template = {subs: {}, partials: codeObj.partials, name: codeObj.name}; + for (key in template.partials) { + template.partials[key] = this.makePartials(template.partials[key]); + } + for (key in codeObj.subs) { + template.subs[key] = new Function('c', 'p', 't', 'i', codeObj.subs[key]); + } + return template; + } + + function esc(s) { + return s.replace(rSlash, '\\\\') + .replace(rQuot, '\\\"') + .replace(rNewline, '\\n') + .replace(rCr, '\\r'); + } + + function chooseMethod(s) { + return (~s.indexOf('.')) ? 'd' : 'f'; + } + + function createPartial(node, context) { + var prefix = "<" + (context.prefix || ""); + var sym = prefix + node.n + serialNo++; + context.partials[sym] = {name: node.n, partials: {}}; + context.code += 't.b(t.rp("' + esc(sym) + '",c,p,"' + (node.indent || '') + '"));'; + return sym; + } + + Hogan.codegen = { + '#': function(node, context) { + context.code += 'if(t.s(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,1),' + + 'c,p,0,' + node.i + ',' + node.end + ',"' + node.otag + " " + node.ctag + '")){' + + 't.rs(c,p,' + 'function(c,p,t){'; + Hogan.walk(node.nodes, context); + context.code += '});c.pop();}'; + }, + + '^': function(node, context) { + context.code += 'if(!t.s(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,1),c,p,1,0,0,"")){'; + Hogan.walk(node.nodes, context); + context.code += '};'; + }, + + '>': createPartial, + '<': function(node, context) { + var ctx = {partials: {}, code: '', subs: {}, inPartial: true}; + Hogan.walk(node.nodes, ctx); + var template = context.partials[createPartial(node, context)]; + template.subs = ctx.subs; + template.partials = ctx.partials; + }, + + '$': function(node, context) { + var ctx = {subs: {}, code: '', partials: context.partials, prefix: node.n}; + Hogan.walk(node.nodes, ctx); + context.subs[node.n] = ctx.code; + if (!context.inPartial) { + context.code += 't.sub("' + esc(node.n) + '",c,p,i);'; + } + }, + + '\n': function(node, context) { + context.code += write('"\\n"' + (node.last ? '' : ' + i')); + }, + + '_v': function(node, context) { + context.code += 't.b(t.v(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,0)));'; + }, + + '_t': function(node, context) { + context.code += write('"' + esc(node.text) + '"'); + }, + + '{': tripleStache, + + '&': tripleStache + } + + function tripleStache(node, context) { + context.code += 't.b(t.t(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,0)));'; + } + + function write(s) { + return 't.b(' + s + ');'; + } + + Hogan.walk = function(nodelist, context) { + var func; + for (var i = 0, l = nodelist.length; i < l; i++) { + func = Hogan.codegen[nodelist[i].tag]; + func && func(nodelist[i], context); + } + return context; + } + + Hogan.parse = function(tokens, text, options) { + options = options || {}; + return buildTree(tokens, '', [], options.sectionTags || []); + } + + Hogan.cache = {}; + + Hogan.cacheKey = function(text, options) { + return [text, !!options.asString, !!options.disableLambda, options.delimiters, !!options.modelGet].join('||'); + } + + Hogan.compile = function(text, options) { + options = options || {}; + var key = Hogan.cacheKey(text, options); + var template = this.cache[key]; + + if (template) { + var partials = template.partials; + for (var name in partials) { + delete partials[name].instance; + } + return template; + } + + template = this.generate(this.parse(this.scan(text, options.delimiters), text, options), text, options); + return this.cache[key] = template; + } +})(typeof exports !== 'undefined' ? exports : Hogan); + + +var Mustache = (function (Hogan) { + + // Mustache.js has non-spec partial context behavior + function mustachePartial(name, context, partials, indent) { + var partialScope = this.f(name, context, partials, 0); + var cx = context; + if (partialScope) { + cx = cx.concat(partialScope); + } + + return Hogan.Template.prototype.rp.call(this, name, cx, partials, indent); + } + + var HoganTemplateWrapper = function(renderFunc, text, compiler){ + this.rp = mustachePartial; + Hogan.Template.call(this, renderFunc, text, compiler); + }; + HoganTemplateWrapper.prototype = Hogan.Template.prototype; + + // Add a wrapper for Hogan's generate method. Mustache and Hogan keep + // separate caches, and Mustache returns wrapped templates. + var wrapper; + var HoganWrapper = function(){ + this.cache = {}; + this.generate = function(code, text, options) { + return new HoganTemplateWrapper(new Function('c', 'p', 'i', code), text, wrapper); + } + }; + HoganWrapper.prototype = Hogan; + wrapper = new HoganWrapper(); + + return { + to_html: function(text, data, partials, sendFun) { + var template = wrapper.compile(text); + var result = template.render(data, partials); + if (!sendFun) { + return result; + } + + sendFun(result); + } + } + +})(Hogan); diff --git a/hogan-node/node_modules/hogan.js/web/builds/3.0.0/hogan.template-3.0.0.amd.js b/hogan-node/node_modules/hogan.js/web/builds/3.0.0/hogan.template-3.0.0.amd.js new file mode 100644 index 0000000..1837da6 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/3.0.0/hogan.template-3.0.0.amd.js @@ -0,0 +1,349 @@ +/*! + * Copyright 2011 Twitter, Inc. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + + +var Hogan = {}; + +(function (Hogan) { + Hogan.Template = function (codeObj, text, compiler, options) { + codeObj = codeObj || {}; + this.r = codeObj.code || this.r; + this.c = compiler; + this.options = options || {}; + this.text = text || ''; + this.partials = codeObj.partials || {}; + this.subs = codeObj.subs || {}; + this.buf = ''; + } + + Hogan.Template.prototype = { + // render: replaced by generated code. + r: function (context, partials, indent) { return ''; }, + + // variable escaping + v: hoganEscape, + + // triple stache + t: coerceToString, + + render: function render(context, partials, indent) { + return this.ri([context], partials || {}, indent); + }, + + // render internal -- a hook for overrides that catches partials too + ri: function (context, partials, indent) { + return this.r(context, partials, indent); + }, + + // ensurePartial + ep: function(symbol, partials) { + var partial = this.partials[symbol]; + + // check to see that if we've instantiated this partial before + var template = partials[partial.name]; + if (partial.instance && partial.base == template) { + return partial.instance; + } + + if (typeof template == 'string') { + if (!this.c) { + throw new Error("No compiler available."); + } + template = this.c.compile(template, this.options); + } + + if (!template) { + return null; + } + + // We use this to check whether the partials dictionary has changed + this.partials[symbol].base = template; + + if (partial.subs) { + // Make sure we consider parent template now + if (!partials.stackText) partials.stackText = {}; + for (key in partial.subs) { + if (!partials.stackText[key]) { + partials.stackText[key] = (this.activeSub !== undefined && partials.stackText[this.activeSub]) ? partials.stackText[this.activeSub] : this.text; + } + } + template = createSpecializedPartial(template, partial.subs, partial.partials, + this.stackSubs, this.stackPartials, partials.stackText); + } + this.partials[symbol].instance = template; + + return template; + }, + + // tries to find a partial in the current scope and render it + rp: function(symbol, context, partials, indent) { + var partial = this.ep(symbol, partials); + if (!partial) { + return ''; + } + + return partial.ri(context, partials, indent); + }, + + // render a section + rs: function(context, partials, section) { + var tail = context[context.length - 1]; + + if (!isArray(tail)) { + section(context, partials, this); + return; + } + + for (var i = 0; i < tail.length; i++) { + context.push(tail[i]); + section(context, partials, this); + context.pop(); + } + }, + + // maybe start a section + s: function(val, ctx, partials, inverted, start, end, tags) { + var pass; + + if (isArray(val) && val.length === 0) { + return false; + } + + if (typeof val == 'function') { + val = this.ms(val, ctx, partials, inverted, start, end, tags); + } + + pass = !!val; + + if (!inverted && pass && ctx) { + ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]); + } + + return pass; + }, + + // find values with dotted names + d: function(key, ctx, partials, returnFound) { + var found, + names = key.split('.'), + val = this.f(names[0], ctx, partials, returnFound), + doModelGet = this.options.modelGet, + cx = null; + + if (key === '.' && isArray(ctx[ctx.length - 2])) { + val = ctx[ctx.length - 1]; + } else { + for (var i = 1; i < names.length; i++) { + found = findInScope(names[i], val, doModelGet); + if (found != null) { + cx = val; + val = found; + } else { + val = ''; + } + } + } + + if (returnFound && !val) { + return false; + } + + if (!returnFound && typeof val == 'function') { + ctx.push(cx); + val = this.mv(val, ctx, partials); + ctx.pop(); + } + + return val; + }, + + // find values with normal names + f: function(key, ctx, partials, returnFound) { + var val = false, + v = null, + found = false, + doModelGet = this.options.modelGet; + + for (var i = ctx.length - 1; i >= 0; i--) { + v = ctx[i]; + val = findInScope(key, v, doModelGet); + if (val != null) { + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.mv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ls: function(func, cx, partials, text, tags) { + var oldTags = this.options.delimiters; + + this.options.delimiters = tags; + this.b(this.ct(coerceToString(func.call(cx, text)), cx, partials)); + this.options.delimiters = oldTags; + + return false; + }, + + // compile text + ct: function(text, cx, partials) { + if (this.options.disableLambda) { + throw new Error('Lambda features disabled.'); + } + return this.c.compile(text, this.options).render(cx, partials); + }, + + // template result buffering + b: function(s) { this.buf += s; }, + + fl: function() { var r = this.buf; this.buf = ''; return r; }, + + // method replace section + ms: function(func, ctx, partials, inverted, start, end, tags) { + var textSource, + cx = ctx[ctx.length - 1], + result = func.call(cx); + + if (typeof result == 'function') { + if (inverted) { + return true; + } else { + textSource = (this.activeSub && this.subsText && this.subsText[this.activeSub]) ? this.subsText[this.activeSub] : this.text; + return this.ls(result, cx, partials, textSource.substring(start, end), tags); + } + } + + return result; + }, + + // method replace variable + mv: function(func, ctx, partials) { + var cx = ctx[ctx.length - 1]; + var result = func.call(cx); + + if (typeof result == 'function') { + return this.ct(coerceToString(result.call(cx)), cx, partials); + } + + return result; + }, + + sub: function(name, context, partials, indent) { + var f = this.subs[name]; + if (f) { + this.activeSub = name; + f(context, partials, this, indent); + this.activeSub = false; + } + } + + }; + + //Find a key in an object + function findInScope(key, scope, doModelGet) { + var val, checkVal; + + if (scope && typeof scope == 'object') { + + if (scope[key] != null) { + val = scope[key]; + + // try lookup with get for backbone or similar model data + } else if (doModelGet && scope.get && typeof scope.get == 'function') { + val = scope.get(key); + } + } + + return val; + } + + function createSpecializedPartial(instance, subs, partials, stackSubs, stackPartials, stackText) { + function PartialTemplate() {}; + PartialTemplate.prototype = instance; + function Substitutions() {}; + Substitutions.prototype = instance.subs; + var key; + var partial = new PartialTemplate(); + partial.subs = new Substitutions(); + partial.subsText = {}; //hehe. substext. + partial.buf = ''; + + stackSubs = stackSubs || {}; + partial.stackSubs = stackSubs; + partial.subsText = stackText; + for (key in subs) { + if (!stackSubs[key]) stackSubs[key] = subs[key]; + } + for (key in stackSubs) { + partial.subs[key] = stackSubs[key]; + } + + stackPartials = stackPartials || {}; + partial.stackPartials = stackPartials; + for (key in partials) { + if (!stackPartials[key]) stackPartials[key] = partials[key]; + } + for (key in stackPartials) { + partial.partials[key] = stackPartials[key]; + } + + return partial; + } + + var rAmp = /&/g, + rLt = //g, + rApos = /\'/g, + rQuot = /\"/g, + hChars = /[&<>\"\']/; + + function coerceToString(val) { + return String((val === null || val === undefined) ? '' : val); + } + + function hoganEscape(str) { + str = coerceToString(str); + return hChars.test(str) ? + str + .replace(rAmp, '&') + .replace(rLt, '<') + .replace(rGt, '>') + .replace(rApos, ''') + .replace(rQuot, '"') : + str; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + }; + +})(typeof exports !== 'undefined' ? exports : Hogan); + + + +if (typeof define === 'function' && define.amd) { + define(Hogan); +} diff --git a/hogan-node/node_modules/hogan.js/web/builds/3.0.0/hogan.template-3.0.0.common.js b/hogan-node/node_modules/hogan.js/web/builds/3.0.0/hogan.template-3.0.0.common.js new file mode 100644 index 0000000..c3cf99d --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/3.0.0/hogan.template-3.0.0.common.js @@ -0,0 +1,349 @@ +/*! + * Copyright 2011 Twitter, Inc. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + + +var Hogan = {}; + +(function (Hogan) { + Hogan.Template = function (codeObj, text, compiler, options) { + codeObj = codeObj || {}; + this.r = codeObj.code || this.r; + this.c = compiler; + this.options = options || {}; + this.text = text || ''; + this.partials = codeObj.partials || {}; + this.subs = codeObj.subs || {}; + this.buf = ''; + } + + Hogan.Template.prototype = { + // render: replaced by generated code. + r: function (context, partials, indent) { return ''; }, + + // variable escaping + v: hoganEscape, + + // triple stache + t: coerceToString, + + render: function render(context, partials, indent) { + return this.ri([context], partials || {}, indent); + }, + + // render internal -- a hook for overrides that catches partials too + ri: function (context, partials, indent) { + return this.r(context, partials, indent); + }, + + // ensurePartial + ep: function(symbol, partials) { + var partial = this.partials[symbol]; + + // check to see that if we've instantiated this partial before + var template = partials[partial.name]; + if (partial.instance && partial.base == template) { + return partial.instance; + } + + if (typeof template == 'string') { + if (!this.c) { + throw new Error("No compiler available."); + } + template = this.c.compile(template, this.options); + } + + if (!template) { + return null; + } + + // We use this to check whether the partials dictionary has changed + this.partials[symbol].base = template; + + if (partial.subs) { + // Make sure we consider parent template now + if (!partials.stackText) partials.stackText = {}; + for (key in partial.subs) { + if (!partials.stackText[key]) { + partials.stackText[key] = (this.activeSub !== undefined && partials.stackText[this.activeSub]) ? partials.stackText[this.activeSub] : this.text; + } + } + template = createSpecializedPartial(template, partial.subs, partial.partials, + this.stackSubs, this.stackPartials, partials.stackText); + } + this.partials[symbol].instance = template; + + return template; + }, + + // tries to find a partial in the current scope and render it + rp: function(symbol, context, partials, indent) { + var partial = this.ep(symbol, partials); + if (!partial) { + return ''; + } + + return partial.ri(context, partials, indent); + }, + + // render a section + rs: function(context, partials, section) { + var tail = context[context.length - 1]; + + if (!isArray(tail)) { + section(context, partials, this); + return; + } + + for (var i = 0; i < tail.length; i++) { + context.push(tail[i]); + section(context, partials, this); + context.pop(); + } + }, + + // maybe start a section + s: function(val, ctx, partials, inverted, start, end, tags) { + var pass; + + if (isArray(val) && val.length === 0) { + return false; + } + + if (typeof val == 'function') { + val = this.ms(val, ctx, partials, inverted, start, end, tags); + } + + pass = !!val; + + if (!inverted && pass && ctx) { + ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]); + } + + return pass; + }, + + // find values with dotted names + d: function(key, ctx, partials, returnFound) { + var found, + names = key.split('.'), + val = this.f(names[0], ctx, partials, returnFound), + doModelGet = this.options.modelGet, + cx = null; + + if (key === '.' && isArray(ctx[ctx.length - 2])) { + val = ctx[ctx.length - 1]; + } else { + for (var i = 1; i < names.length; i++) { + found = findInScope(names[i], val, doModelGet); + if (found != null) { + cx = val; + val = found; + } else { + val = ''; + } + } + } + + if (returnFound && !val) { + return false; + } + + if (!returnFound && typeof val == 'function') { + ctx.push(cx); + val = this.mv(val, ctx, partials); + ctx.pop(); + } + + return val; + }, + + // find values with normal names + f: function(key, ctx, partials, returnFound) { + var val = false, + v = null, + found = false, + doModelGet = this.options.modelGet; + + for (var i = ctx.length - 1; i >= 0; i--) { + v = ctx[i]; + val = findInScope(key, v, doModelGet); + if (val != null) { + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.mv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ls: function(func, cx, partials, text, tags) { + var oldTags = this.options.delimiters; + + this.options.delimiters = tags; + this.b(this.ct(coerceToString(func.call(cx, text)), cx, partials)); + this.options.delimiters = oldTags; + + return false; + }, + + // compile text + ct: function(text, cx, partials) { + if (this.options.disableLambda) { + throw new Error('Lambda features disabled.'); + } + return this.c.compile(text, this.options).render(cx, partials); + }, + + // template result buffering + b: function(s) { this.buf += s; }, + + fl: function() { var r = this.buf; this.buf = ''; return r; }, + + // method replace section + ms: function(func, ctx, partials, inverted, start, end, tags) { + var textSource, + cx = ctx[ctx.length - 1], + result = func.call(cx); + + if (typeof result == 'function') { + if (inverted) { + return true; + } else { + textSource = (this.activeSub && this.subsText && this.subsText[this.activeSub]) ? this.subsText[this.activeSub] : this.text; + return this.ls(result, cx, partials, textSource.substring(start, end), tags); + } + } + + return result; + }, + + // method replace variable + mv: function(func, ctx, partials) { + var cx = ctx[ctx.length - 1]; + var result = func.call(cx); + + if (typeof result == 'function') { + return this.ct(coerceToString(result.call(cx)), cx, partials); + } + + return result; + }, + + sub: function(name, context, partials, indent) { + var f = this.subs[name]; + if (f) { + this.activeSub = name; + f(context, partials, this, indent); + this.activeSub = false; + } + } + + }; + + //Find a key in an object + function findInScope(key, scope, doModelGet) { + var val, checkVal; + + if (scope && typeof scope == 'object') { + + if (scope[key] != null) { + val = scope[key]; + + // try lookup with get for backbone or similar model data + } else if (doModelGet && scope.get && typeof scope.get == 'function') { + val = scope.get(key); + } + } + + return val; + } + + function createSpecializedPartial(instance, subs, partials, stackSubs, stackPartials, stackText) { + function PartialTemplate() {}; + PartialTemplate.prototype = instance; + function Substitutions() {}; + Substitutions.prototype = instance.subs; + var key; + var partial = new PartialTemplate(); + partial.subs = new Substitutions(); + partial.subsText = {}; //hehe. substext. + partial.buf = ''; + + stackSubs = stackSubs || {}; + partial.stackSubs = stackSubs; + partial.subsText = stackText; + for (key in subs) { + if (!stackSubs[key]) stackSubs[key] = subs[key]; + } + for (key in stackSubs) { + partial.subs[key] = stackSubs[key]; + } + + stackPartials = stackPartials || {}; + partial.stackPartials = stackPartials; + for (key in partials) { + if (!stackPartials[key]) stackPartials[key] = partials[key]; + } + for (key in stackPartials) { + partial.partials[key] = stackPartials[key]; + } + + return partial; + } + + var rAmp = /&/g, + rLt = //g, + rApos = /\'/g, + rQuot = /\"/g, + hChars = /[&<>\"\']/; + + function coerceToString(val) { + return String((val === null || val === undefined) ? '' : val); + } + + function hoganEscape(str) { + str = coerceToString(str); + return hChars.test(str) ? + str + .replace(rAmp, '&') + .replace(rLt, '<') + .replace(rGt, '>') + .replace(rApos, ''') + .replace(rQuot, '"') : + str; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + }; + +})(typeof exports !== 'undefined' ? exports : Hogan); + + + +if (typeof module !== 'undefined' && module.exports) { + module.exports = Hogan; +} diff --git a/hogan-node/node_modules/hogan.js/web/builds/3.0.0/hogan.template-3.0.0.js b/hogan-node/node_modules/hogan.js/web/builds/3.0.0/hogan.template-3.0.0.js new file mode 100644 index 0000000..dd2dfe2 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/3.0.0/hogan.template-3.0.0.js @@ -0,0 +1,345 @@ +/*! + * Copyright 2011 Twitter, Inc. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + + +var Hogan = {}; + +(function (Hogan) { + Hogan.Template = function (codeObj, text, compiler, options) { + codeObj = codeObj || {}; + this.r = codeObj.code || this.r; + this.c = compiler; + this.options = options || {}; + this.text = text || ''; + this.partials = codeObj.partials || {}; + this.subs = codeObj.subs || {}; + this.buf = ''; + } + + Hogan.Template.prototype = { + // render: replaced by generated code. + r: function (context, partials, indent) { return ''; }, + + // variable escaping + v: hoganEscape, + + // triple stache + t: coerceToString, + + render: function render(context, partials, indent) { + return this.ri([context], partials || {}, indent); + }, + + // render internal -- a hook for overrides that catches partials too + ri: function (context, partials, indent) { + return this.r(context, partials, indent); + }, + + // ensurePartial + ep: function(symbol, partials) { + var partial = this.partials[symbol]; + + // check to see that if we've instantiated this partial before + var template = partials[partial.name]; + if (partial.instance && partial.base == template) { + return partial.instance; + } + + if (typeof template == 'string') { + if (!this.c) { + throw new Error("No compiler available."); + } + template = this.c.compile(template, this.options); + } + + if (!template) { + return null; + } + + // We use this to check whether the partials dictionary has changed + this.partials[symbol].base = template; + + if (partial.subs) { + // Make sure we consider parent template now + if (!partials.stackText) partials.stackText = {}; + for (key in partial.subs) { + if (!partials.stackText[key]) { + partials.stackText[key] = (this.activeSub !== undefined && partials.stackText[this.activeSub]) ? partials.stackText[this.activeSub] : this.text; + } + } + template = createSpecializedPartial(template, partial.subs, partial.partials, + this.stackSubs, this.stackPartials, partials.stackText); + } + this.partials[symbol].instance = template; + + return template; + }, + + // tries to find a partial in the current scope and render it + rp: function(symbol, context, partials, indent) { + var partial = this.ep(symbol, partials); + if (!partial) { + return ''; + } + + return partial.ri(context, partials, indent); + }, + + // render a section + rs: function(context, partials, section) { + var tail = context[context.length - 1]; + + if (!isArray(tail)) { + section(context, partials, this); + return; + } + + for (var i = 0; i < tail.length; i++) { + context.push(tail[i]); + section(context, partials, this); + context.pop(); + } + }, + + // maybe start a section + s: function(val, ctx, partials, inverted, start, end, tags) { + var pass; + + if (isArray(val) && val.length === 0) { + return false; + } + + if (typeof val == 'function') { + val = this.ms(val, ctx, partials, inverted, start, end, tags); + } + + pass = !!val; + + if (!inverted && pass && ctx) { + ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]); + } + + return pass; + }, + + // find values with dotted names + d: function(key, ctx, partials, returnFound) { + var found, + names = key.split('.'), + val = this.f(names[0], ctx, partials, returnFound), + doModelGet = this.options.modelGet, + cx = null; + + if (key === '.' && isArray(ctx[ctx.length - 2])) { + val = ctx[ctx.length - 1]; + } else { + for (var i = 1; i < names.length; i++) { + found = findInScope(names[i], val, doModelGet); + if (found != null) { + cx = val; + val = found; + } else { + val = ''; + } + } + } + + if (returnFound && !val) { + return false; + } + + if (!returnFound && typeof val == 'function') { + ctx.push(cx); + val = this.mv(val, ctx, partials); + ctx.pop(); + } + + return val; + }, + + // find values with normal names + f: function(key, ctx, partials, returnFound) { + var val = false, + v = null, + found = false, + doModelGet = this.options.modelGet; + + for (var i = ctx.length - 1; i >= 0; i--) { + v = ctx[i]; + val = findInScope(key, v, doModelGet); + if (val != null) { + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.mv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ls: function(func, cx, partials, text, tags) { + var oldTags = this.options.delimiters; + + this.options.delimiters = tags; + this.b(this.ct(coerceToString(func.call(cx, text)), cx, partials)); + this.options.delimiters = oldTags; + + return false; + }, + + // compile text + ct: function(text, cx, partials) { + if (this.options.disableLambda) { + throw new Error('Lambda features disabled.'); + } + return this.c.compile(text, this.options).render(cx, partials); + }, + + // template result buffering + b: function(s) { this.buf += s; }, + + fl: function() { var r = this.buf; this.buf = ''; return r; }, + + // method replace section + ms: function(func, ctx, partials, inverted, start, end, tags) { + var textSource, + cx = ctx[ctx.length - 1], + result = func.call(cx); + + if (typeof result == 'function') { + if (inverted) { + return true; + } else { + textSource = (this.activeSub && this.subsText && this.subsText[this.activeSub]) ? this.subsText[this.activeSub] : this.text; + return this.ls(result, cx, partials, textSource.substring(start, end), tags); + } + } + + return result; + }, + + // method replace variable + mv: function(func, ctx, partials) { + var cx = ctx[ctx.length - 1]; + var result = func.call(cx); + + if (typeof result == 'function') { + return this.ct(coerceToString(result.call(cx)), cx, partials); + } + + return result; + }, + + sub: function(name, context, partials, indent) { + var f = this.subs[name]; + if (f) { + this.activeSub = name; + f(context, partials, this, indent); + this.activeSub = false; + } + } + + }; + + //Find a key in an object + function findInScope(key, scope, doModelGet) { + var val, checkVal; + + if (scope && typeof scope == 'object') { + + if (scope[key] != null) { + val = scope[key]; + + // try lookup with get for backbone or similar model data + } else if (doModelGet && scope.get && typeof scope.get == 'function') { + val = scope.get(key); + } + } + + return val; + } + + function createSpecializedPartial(instance, subs, partials, stackSubs, stackPartials, stackText) { + function PartialTemplate() {}; + PartialTemplate.prototype = instance; + function Substitutions() {}; + Substitutions.prototype = instance.subs; + var key; + var partial = new PartialTemplate(); + partial.subs = new Substitutions(); + partial.subsText = {}; //hehe. substext. + partial.buf = ''; + + stackSubs = stackSubs || {}; + partial.stackSubs = stackSubs; + partial.subsText = stackText; + for (key in subs) { + if (!stackSubs[key]) stackSubs[key] = subs[key]; + } + for (key in stackSubs) { + partial.subs[key] = stackSubs[key]; + } + + stackPartials = stackPartials || {}; + partial.stackPartials = stackPartials; + for (key in partials) { + if (!stackPartials[key]) stackPartials[key] = partials[key]; + } + for (key in stackPartials) { + partial.partials[key] = stackPartials[key]; + } + + return partial; + } + + var rAmp = /&/g, + rLt = //g, + rApos = /\'/g, + rQuot = /\"/g, + hChars = /[&<>\"\']/; + + function coerceToString(val) { + return String((val === null || val === undefined) ? '' : val); + } + + function hoganEscape(str) { + str = coerceToString(str); + return hChars.test(str) ? + str + .replace(rAmp, '&') + .replace(rLt, '<') + .replace(rGt, '>') + .replace(rApos, ''') + .replace(rQuot, '"') : + str; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + }; + +})(typeof exports !== 'undefined' ? exports : Hogan); + + diff --git a/hogan-node/node_modules/hogan.js/web/builds/3.0.0/hogan.template-3.0.0.min.amd.js b/hogan-node/node_modules/hogan.js/web/builds/3.0.0/hogan.template-3.0.0.min.amd.js new file mode 100644 index 0000000..998791a --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/3.0.0/hogan.template-3.0.0.min.amd.js @@ -0,0 +1,5 @@ +/** +* @preserve Copyright 2012 Twitter, Inc. +* @license http://www.apache.org/licenses/LICENSE-2.0.txt +*/ +var Hogan={};(function(e){function t(e,t,n){var r,i;return t&&typeof t=="object"&&(t[e]!=null?r=t[e]:n&&t.get&&typeof t.get=="function"&&(r=t.get(e))),r}function n(e,t,n,r,i,s){function o(){}function u(){}o.prototype=e,u.prototype=e.subs;var a,f=new o;f.subs=new u,f.subsText={},f.buf="",r=r||{},f.stackSubs=r,f.subsText=s;for(a in t)r[a]||(r[a]=t[a]);for(a in r)f.subs[a]=r[a];i=i||{},f.stackPartials=i;for(a in n)i[a]||(i[a]=n[a]);for(a in i)f.partials[a]=i[a];return f}function f(e){return String(e===null||e===undefined?"":e)}function l(e){return e=f(e),a.test(e)?e.replace(r,"&").replace(i,"<").replace(s,">").replace(o,"'").replace(u,"""):e}e.Template=function(e,t,n,r){e=e||{},this.r=e.code||this.r,this.c=n,this.options=r||{},this.text=t||"",this.partials=e.partials||{},this.subs=e.subs||{},this.buf=""},e.Template.prototype={r:function(e,t,n){return""},v:l,t:f,render:function(t,n,r){return this.ri([t],n||{},r)},ri:function(e,t,n){return this.r(e,t,n)},ep:function(e,t){var r=this.partials[e],i=t[r.name];if(r.instance&&r.base==i)return r.instance;if(typeof i=="string"){if(!this.c)throw new Error("No compiler available.");i=this.c.compile(i,this.options)}if(!i)return null;this.partials[e].base=i;if(r.subs){t.stackText||(t.stackText={});for(key in r.subs)t.stackText[key]||(t.stackText[key]=this.activeSub!==undefined&&t.stackText[this.activeSub]?t.stackText[this.activeSub]:this.text);i=n(i,r.subs,r.partials,this.stackSubs,this.stackPartials,t.stackText)}return this.partials[e].instance=i,i},rp:function(e,t,n,r){var i=this.ep(e,n);return i?i.ri(t,n,r):""},rs:function(e,t,n){var r=e[e.length-1];if(!c(r)){n(e,t,this);return}for(var i=0;i=0;f--){o=n[f],s=t(e,o,a);if(s!=null){u=!0;break}}return u?(!i&&typeof s=="function"&&(s=this.mv(s,n,r)),s):i?!1:""},ls:function(e,t,n,r,i){var s=this.options.delimiters;return this.options.delimiters=i,this.b(this.ct(f(e.call(t,r)),t,n)),this.options.delimiters=s,!1},ct:function(e,t,n){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(e,this.options).render(t,n)},b:function(e){this.buf+=e},fl:function(){var e=this.buf;return this.buf="",e},ms:function(e,t,n,r,i,s,o){var u,a=t[t.length-1],f=e.call(a);return typeof f=="function"?r?!0:(u=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(f,a,n,u.substring(i,s),o)):f},mv:function(e,t,n){var r=t[t.length-1],i=e.call(r);return typeof i=="function"?this.ct(f(i.call(r)),r,n):i},sub:function(e,t,n,r){var i=this.subs[e];i&&(this.activeSub=e,i(t,n,this,r),this.activeSub=!1)}};var r=/&/g,i=//g,o=/\'/g,u=/\"/g,a=/[&<>\"\']/,c=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"}})(typeof exports!="undefined"?exports:Hogan),typeof define=="function"&&define.amd&&define(Hogan) \ No newline at end of file diff --git a/hogan-node/node_modules/hogan.js/web/builds/3.0.0/hogan.template-3.0.0.min.common.js b/hogan-node/node_modules/hogan.js/web/builds/3.0.0/hogan.template-3.0.0.min.common.js new file mode 100644 index 0000000..016f87d --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/3.0.0/hogan.template-3.0.0.min.common.js @@ -0,0 +1,5 @@ +/** +* @preserve Copyright 2012 Twitter, Inc. +* @license http://www.apache.org/licenses/LICENSE-2.0.txt +*/ +var Hogan={};(function(e){function t(e,t,n){var r,i;return t&&typeof t=="object"&&(t[e]!=null?r=t[e]:n&&t.get&&typeof t.get=="function"&&(r=t.get(e))),r}function n(e,t,n,r,i,s){function o(){}function u(){}o.prototype=e,u.prototype=e.subs;var a,f=new o;f.subs=new u,f.subsText={},f.buf="",r=r||{},f.stackSubs=r,f.subsText=s;for(a in t)r[a]||(r[a]=t[a]);for(a in r)f.subs[a]=r[a];i=i||{},f.stackPartials=i;for(a in n)i[a]||(i[a]=n[a]);for(a in i)f.partials[a]=i[a];return f}function f(e){return String(e===null||e===undefined?"":e)}function l(e){return e=f(e),a.test(e)?e.replace(r,"&").replace(i,"<").replace(s,">").replace(o,"'").replace(u,"""):e}e.Template=function(e,t,n,r){e=e||{},this.r=e.code||this.r,this.c=n,this.options=r||{},this.text=t||"",this.partials=e.partials||{},this.subs=e.subs||{},this.buf=""},e.Template.prototype={r:function(e,t,n){return""},v:l,t:f,render:function(t,n,r){return this.ri([t],n||{},r)},ri:function(e,t,n){return this.r(e,t,n)},ep:function(e,t){var r=this.partials[e],i=t[r.name];if(r.instance&&r.base==i)return r.instance;if(typeof i=="string"){if(!this.c)throw new Error("No compiler available.");i=this.c.compile(i,this.options)}if(!i)return null;this.partials[e].base=i;if(r.subs){t.stackText||(t.stackText={});for(key in r.subs)t.stackText[key]||(t.stackText[key]=this.activeSub!==undefined&&t.stackText[this.activeSub]?t.stackText[this.activeSub]:this.text);i=n(i,r.subs,r.partials,this.stackSubs,this.stackPartials,t.stackText)}return this.partials[e].instance=i,i},rp:function(e,t,n,r){var i=this.ep(e,n);return i?i.ri(t,n,r):""},rs:function(e,t,n){var r=e[e.length-1];if(!c(r)){n(e,t,this);return}for(var i=0;i=0;f--){o=n[f],s=t(e,o,a);if(s!=null){u=!0;break}}return u?(!i&&typeof s=="function"&&(s=this.mv(s,n,r)),s):i?!1:""},ls:function(e,t,n,r,i){var s=this.options.delimiters;return this.options.delimiters=i,this.b(this.ct(f(e.call(t,r)),t,n)),this.options.delimiters=s,!1},ct:function(e,t,n){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(e,this.options).render(t,n)},b:function(e){this.buf+=e},fl:function(){var e=this.buf;return this.buf="",e},ms:function(e,t,n,r,i,s,o){var u,a=t[t.length-1],f=e.call(a);return typeof f=="function"?r?!0:(u=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(f,a,n,u.substring(i,s),o)):f},mv:function(e,t,n){var r=t[t.length-1],i=e.call(r);return typeof i=="function"?this.ct(f(i.call(r)),r,n):i},sub:function(e,t,n,r){var i=this.subs[e];i&&(this.activeSub=e,i(t,n,this,r),this.activeSub=!1)}};var r=/&/g,i=//g,o=/\'/g,u=/\"/g,a=/[&<>\"\']/,c=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"}})(typeof exports!="undefined"?exports:Hogan),typeof module!="undefined"&&module.exports&&(module.exports=Hogan) \ No newline at end of file diff --git a/hogan-node/node_modules/hogan.js/web/builds/3.0.0/hogan.template-3.0.0.min.js b/hogan-node/node_modules/hogan.js/web/builds/3.0.0/hogan.template-3.0.0.min.js new file mode 100644 index 0000000..bb2d173 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/3.0.0/hogan.template-3.0.0.min.js @@ -0,0 +1,5 @@ +/** +* @preserve Copyright 2012 Twitter, Inc. +* @license http://www.apache.org/licenses/LICENSE-2.0.txt +*/ +var Hogan={};(function(e){function t(e,t,n){var r,i;return t&&typeof t=="object"&&(t[e]!=null?r=t[e]:n&&t.get&&typeof t.get=="function"&&(r=t.get(e))),r}function n(e,t,n,r,i,s){function o(){}function u(){}o.prototype=e,u.prototype=e.subs;var a,f=new o;f.subs=new u,f.subsText={},f.buf="",r=r||{},f.stackSubs=r,f.subsText=s;for(a in t)r[a]||(r[a]=t[a]);for(a in r)f.subs[a]=r[a];i=i||{},f.stackPartials=i;for(a in n)i[a]||(i[a]=n[a]);for(a in i)f.partials[a]=i[a];return f}function f(e){return String(e===null||e===undefined?"":e)}function l(e){return e=f(e),a.test(e)?e.replace(r,"&").replace(i,"<").replace(s,">").replace(o,"'").replace(u,"""):e}e.Template=function(e,t,n,r){e=e||{},this.r=e.code||this.r,this.c=n,this.options=r||{},this.text=t||"",this.partials=e.partials||{},this.subs=e.subs||{},this.buf=""},e.Template.prototype={r:function(e,t,n){return""},v:l,t:f,render:function(t,n,r){return this.ri([t],n||{},r)},ri:function(e,t,n){return this.r(e,t,n)},ep:function(e,t){var r=this.partials[e],i=t[r.name];if(r.instance&&r.base==i)return r.instance;if(typeof i=="string"){if(!this.c)throw new Error("No compiler available.");i=this.c.compile(i,this.options)}if(!i)return null;this.partials[e].base=i;if(r.subs){t.stackText||(t.stackText={});for(key in r.subs)t.stackText[key]||(t.stackText[key]=this.activeSub!==undefined&&t.stackText[this.activeSub]?t.stackText[this.activeSub]:this.text);i=n(i,r.subs,r.partials,this.stackSubs,this.stackPartials,t.stackText)}return this.partials[e].instance=i,i},rp:function(e,t,n,r){var i=this.ep(e,n);return i?i.ri(t,n,r):""},rs:function(e,t,n){var r=e[e.length-1];if(!c(r)){n(e,t,this);return}for(var i=0;i=0;f--){o=n[f],s=t(e,o,a);if(s!=null){u=!0;break}}return u?(!i&&typeof s=="function"&&(s=this.mv(s,n,r)),s):i?!1:""},ls:function(e,t,n,r,i){var s=this.options.delimiters;return this.options.delimiters=i,this.b(this.ct(f(e.call(t,r)),t,n)),this.options.delimiters=s,!1},ct:function(e,t,n){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(e,this.options).render(t,n)},b:function(e){this.buf+=e},fl:function(){var e=this.buf;return this.buf="",e},ms:function(e,t,n,r,i,s,o){var u,a=t[t.length-1],f=e.call(a);return typeof f=="function"?r?!0:(u=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(f,a,n,u.substring(i,s),o)):f},mv:function(e,t,n){var r=t[t.length-1],i=e.call(r);return typeof i=="function"?this.ct(f(i.call(r)),r,n):i},sub:function(e,t,n,r){var i=this.subs[e];i&&(this.activeSub=e,i(t,n,this,r),this.activeSub=!1)}};var r=/&/g,i=//g,o=/\'/g,u=/\"/g,a=/[&<>\"\']/,c=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"}})(typeof exports!="undefined"?exports:Hogan) \ No newline at end of file diff --git a/hogan-node/node_modules/hogan.js/web/builds/3.0.0/hogan.template-3.0.0.min.mustache.js b/hogan-node/node_modules/hogan.js/web/builds/3.0.0/hogan.template-3.0.0.min.mustache.js new file mode 100644 index 0000000..52cdcb2 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/3.0.0/hogan.template-3.0.0.min.mustache.js @@ -0,0 +1,5 @@ +/** +* @preserve Copyright 2012 Twitter, Inc. +* @license http://www.apache.org/licenses/LICENSE-2.0.txt +*/ +var Hogan={};(function(e){function t(e,t,n){var r,i;return t&&typeof t=="object"&&(t[e]!=null?r=t[e]:n&&t.get&&typeof t.get=="function"&&(r=t.get(e))),r}function n(e,t,n,r,i,s){function o(){}function u(){}o.prototype=e,u.prototype=e.subs;var a,f=new o;f.subs=new u,f.subsText={},f.buf="",r=r||{},f.stackSubs=r,f.subsText=s;for(a in t)r[a]||(r[a]=t[a]);for(a in r)f.subs[a]=r[a];i=i||{},f.stackPartials=i;for(a in n)i[a]||(i[a]=n[a]);for(a in i)f.partials[a]=i[a];return f}function f(e){return String(e===null||e===undefined?"":e)}function l(e){return e=f(e),a.test(e)?e.replace(r,"&").replace(i,"<").replace(s,">").replace(o,"'").replace(u,"""):e}e.Template=function(e,t,n,r){e=e||{},this.r=e.code||this.r,this.c=n,this.options=r||{},this.text=t||"",this.partials=e.partials||{},this.subs=e.subs||{},this.buf=""},e.Template.prototype={r:function(e,t,n){return""},v:l,t:f,render:function(t,n,r){return this.ri([t],n||{},r)},ri:function(e,t,n){return this.r(e,t,n)},ep:function(e,t){var r=this.partials[e],i=t[r.name];if(r.instance&&r.base==i)return r.instance;if(typeof i=="string"){if(!this.c)throw new Error("No compiler available.");i=this.c.compile(i,this.options)}if(!i)return null;this.partials[e].base=i;if(r.subs){t.stackText||(t.stackText={});for(key in r.subs)t.stackText[key]||(t.stackText[key]=this.activeSub!==undefined&&t.stackText[this.activeSub]?t.stackText[this.activeSub]:this.text);i=n(i,r.subs,r.partials,this.stackSubs,this.stackPartials,t.stackText)}return this.partials[e].instance=i,i},rp:function(e,t,n,r){var i=this.ep(e,n);return i?i.ri(t,n,r):""},rs:function(e,t,n){var r=e[e.length-1];if(!c(r)){n(e,t,this);return}for(var i=0;i=0;f--){o=n[f],s=t(e,o,a);if(s!=null){u=!0;break}}return u?(!i&&typeof s=="function"&&(s=this.mv(s,n,r)),s):i?!1:""},ls:function(e,t,n,r,i){var s=this.options.delimiters;return this.options.delimiters=i,this.b(this.ct(f(e.call(t,r)),t,n)),this.options.delimiters=s,!1},ct:function(e,t,n){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(e,this.options).render(t,n)},b:function(e){this.buf+=e},fl:function(){var e=this.buf;return this.buf="",e},ms:function(e,t,n,r,i,s,o){var u,a=t[t.length-1],f=e.call(a);return typeof f=="function"?r?!0:(u=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(f,a,n,u.substring(i,s),o)):f},mv:function(e,t,n){var r=t[t.length-1],i=e.call(r);return typeof i=="function"?this.ct(f(i.call(r)),r,n):i},sub:function(e,t,n,r){var i=this.subs[e];i&&(this.activeSub=e,i(t,n,this,r),this.activeSub=!1)}};var r=/&/g,i=//g,o=/\'/g,u=/\"/g,a=/[&<>\"\']/,c=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"}})(typeof exports!="undefined"?exports:Hogan);var Mustache=function(e){function t(t,n,r,i){var s=this.f(t,n,r,0),o=n;return s&&(o=o.concat(s)),e.Template.prototype.rp.call(this,t,o,r,i)}var n=function(n,r,i){this.rp=t,e.Template.call(this,n,r,i)};n.prototype=e.Template.prototype;var r,i=function(){this.cache={},this.generate=function(e,t,i){return new n(new Function("c","p","i",e),t,r)}};return i.prototype=e,r=new i,{to_html:function(e,t,n,i){var s=r.compile(e),o=s.render(t,n);if(!i)return o;i(o)}}}(Hogan) \ No newline at end of file diff --git a/hogan-node/node_modules/hogan.js/web/builds/3.0.0/hogan.template-3.0.0.mustache.js b/hogan-node/node_modules/hogan.js/web/builds/3.0.0/hogan.template-3.0.0.mustache.js new file mode 100644 index 0000000..db8b320 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/3.0.0/hogan.template-3.0.0.mustache.js @@ -0,0 +1,392 @@ +/*! + * Copyright 2011 Twitter, Inc. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// A wrapper for compatibility with Mustache.js, quirks and all + + + +var Hogan = {}; + +(function (Hogan) { + Hogan.Template = function (codeObj, text, compiler, options) { + codeObj = codeObj || {}; + this.r = codeObj.code || this.r; + this.c = compiler; + this.options = options || {}; + this.text = text || ''; + this.partials = codeObj.partials || {}; + this.subs = codeObj.subs || {}; + this.buf = ''; + } + + Hogan.Template.prototype = { + // render: replaced by generated code. + r: function (context, partials, indent) { return ''; }, + + // variable escaping + v: hoganEscape, + + // triple stache + t: coerceToString, + + render: function render(context, partials, indent) { + return this.ri([context], partials || {}, indent); + }, + + // render internal -- a hook for overrides that catches partials too + ri: function (context, partials, indent) { + return this.r(context, partials, indent); + }, + + // ensurePartial + ep: function(symbol, partials) { + var partial = this.partials[symbol]; + + // check to see that if we've instantiated this partial before + var template = partials[partial.name]; + if (partial.instance && partial.base == template) { + return partial.instance; + } + + if (typeof template == 'string') { + if (!this.c) { + throw new Error("No compiler available."); + } + template = this.c.compile(template, this.options); + } + + if (!template) { + return null; + } + + // We use this to check whether the partials dictionary has changed + this.partials[symbol].base = template; + + if (partial.subs) { + // Make sure we consider parent template now + if (!partials.stackText) partials.stackText = {}; + for (key in partial.subs) { + if (!partials.stackText[key]) { + partials.stackText[key] = (this.activeSub !== undefined && partials.stackText[this.activeSub]) ? partials.stackText[this.activeSub] : this.text; + } + } + template = createSpecializedPartial(template, partial.subs, partial.partials, + this.stackSubs, this.stackPartials, partials.stackText); + } + this.partials[symbol].instance = template; + + return template; + }, + + // tries to find a partial in the current scope and render it + rp: function(symbol, context, partials, indent) { + var partial = this.ep(symbol, partials); + if (!partial) { + return ''; + } + + return partial.ri(context, partials, indent); + }, + + // render a section + rs: function(context, partials, section) { + var tail = context[context.length - 1]; + + if (!isArray(tail)) { + section(context, partials, this); + return; + } + + for (var i = 0; i < tail.length; i++) { + context.push(tail[i]); + section(context, partials, this); + context.pop(); + } + }, + + // maybe start a section + s: function(val, ctx, partials, inverted, start, end, tags) { + var pass; + + if (isArray(val) && val.length === 0) { + return false; + } + + if (typeof val == 'function') { + val = this.ms(val, ctx, partials, inverted, start, end, tags); + } + + pass = !!val; + + if (!inverted && pass && ctx) { + ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]); + } + + return pass; + }, + + // find values with dotted names + d: function(key, ctx, partials, returnFound) { + var found, + names = key.split('.'), + val = this.f(names[0], ctx, partials, returnFound), + doModelGet = this.options.modelGet, + cx = null; + + if (key === '.' && isArray(ctx[ctx.length - 2])) { + val = ctx[ctx.length - 1]; + } else { + for (var i = 1; i < names.length; i++) { + found = findInScope(names[i], val, doModelGet); + if (found != null) { + cx = val; + val = found; + } else { + val = ''; + } + } + } + + if (returnFound && !val) { + return false; + } + + if (!returnFound && typeof val == 'function') { + ctx.push(cx); + val = this.mv(val, ctx, partials); + ctx.pop(); + } + + return val; + }, + + // find values with normal names + f: function(key, ctx, partials, returnFound) { + var val = false, + v = null, + found = false, + doModelGet = this.options.modelGet; + + for (var i = ctx.length - 1; i >= 0; i--) { + v = ctx[i]; + val = findInScope(key, v, doModelGet); + if (val != null) { + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.mv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ls: function(func, cx, partials, text, tags) { + var oldTags = this.options.delimiters; + + this.options.delimiters = tags; + this.b(this.ct(coerceToString(func.call(cx, text)), cx, partials)); + this.options.delimiters = oldTags; + + return false; + }, + + // compile text + ct: function(text, cx, partials) { + if (this.options.disableLambda) { + throw new Error('Lambda features disabled.'); + } + return this.c.compile(text, this.options).render(cx, partials); + }, + + // template result buffering + b: function(s) { this.buf += s; }, + + fl: function() { var r = this.buf; this.buf = ''; return r; }, + + // method replace section + ms: function(func, ctx, partials, inverted, start, end, tags) { + var textSource, + cx = ctx[ctx.length - 1], + result = func.call(cx); + + if (typeof result == 'function') { + if (inverted) { + return true; + } else { + textSource = (this.activeSub && this.subsText && this.subsText[this.activeSub]) ? this.subsText[this.activeSub] : this.text; + return this.ls(result, cx, partials, textSource.substring(start, end), tags); + } + } + + return result; + }, + + // method replace variable + mv: function(func, ctx, partials) { + var cx = ctx[ctx.length - 1]; + var result = func.call(cx); + + if (typeof result == 'function') { + return this.ct(coerceToString(result.call(cx)), cx, partials); + } + + return result; + }, + + sub: function(name, context, partials, indent) { + var f = this.subs[name]; + if (f) { + this.activeSub = name; + f(context, partials, this, indent); + this.activeSub = false; + } + } + + }; + + //Find a key in an object + function findInScope(key, scope, doModelGet) { + var val, checkVal; + + if (scope && typeof scope == 'object') { + + if (scope[key] != null) { + val = scope[key]; + + // try lookup with get for backbone or similar model data + } else if (doModelGet && scope.get && typeof scope.get == 'function') { + val = scope.get(key); + } + } + + return val; + } + + function createSpecializedPartial(instance, subs, partials, stackSubs, stackPartials, stackText) { + function PartialTemplate() {}; + PartialTemplate.prototype = instance; + function Substitutions() {}; + Substitutions.prototype = instance.subs; + var key; + var partial = new PartialTemplate(); + partial.subs = new Substitutions(); + partial.subsText = {}; //hehe. substext. + partial.buf = ''; + + stackSubs = stackSubs || {}; + partial.stackSubs = stackSubs; + partial.subsText = stackText; + for (key in subs) { + if (!stackSubs[key]) stackSubs[key] = subs[key]; + } + for (key in stackSubs) { + partial.subs[key] = stackSubs[key]; + } + + stackPartials = stackPartials || {}; + partial.stackPartials = stackPartials; + for (key in partials) { + if (!stackPartials[key]) stackPartials[key] = partials[key]; + } + for (key in stackPartials) { + partial.partials[key] = stackPartials[key]; + } + + return partial; + } + + var rAmp = /&/g, + rLt = //g, + rApos = /\'/g, + rQuot = /\"/g, + hChars = /[&<>\"\']/; + + function coerceToString(val) { + return String((val === null || val === undefined) ? '' : val); + } + + function hoganEscape(str) { + str = coerceToString(str); + return hChars.test(str) ? + str + .replace(rAmp, '&') + .replace(rLt, '<') + .replace(rGt, '>') + .replace(rApos, ''') + .replace(rQuot, '"') : + str; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + }; + +})(typeof exports !== 'undefined' ? exports : Hogan); + + + +var Mustache = (function (Hogan) { + + // Mustache.js has non-spec partial context behavior + function mustachePartial(name, context, partials, indent) { + var partialScope = this.f(name, context, partials, 0); + var cx = context; + if (partialScope) { + cx = cx.concat(partialScope); + } + + return Hogan.Template.prototype.rp.call(this, name, cx, partials, indent); + } + + var HoganTemplateWrapper = function(renderFunc, text, compiler){ + this.rp = mustachePartial; + Hogan.Template.call(this, renderFunc, text, compiler); + }; + HoganTemplateWrapper.prototype = Hogan.Template.prototype; + + // Add a wrapper for Hogan's generate method. Mustache and Hogan keep + // separate caches, and Mustache returns wrapped templates. + var wrapper; + var HoganWrapper = function(){ + this.cache = {}; + this.generate = function(code, text, options) { + return new HoganTemplateWrapper(new Function('c', 'p', 'i', code), text, wrapper); + } + }; + HoganWrapper.prototype = Hogan; + wrapper = new HoganWrapper(); + + return { + to_html: function(text, data, partials, sendFun) { + var template = wrapper.compile(text); + var result = template.render(data, partials); + if (!sendFun) { + return result; + } + + sendFun(result); + } + } + +})(Hogan); diff --git a/hogan-node/node_modules/hogan.js/web/builds/3.0.1/hogan-3.0.1.amd.js b/hogan-node/node_modules/hogan.js/web/builds/3.0.1/hogan-3.0.1.amd.js new file mode 100644 index 0000000..79db2fb --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/3.0.1/hogan-3.0.1.amd.js @@ -0,0 +1,755 @@ +/*! + * Copyright 2011 Twitter, Inc. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + + +var Hogan = {}; + +(function (Hogan) { + Hogan.Template = function (codeObj, text, compiler, options) { + codeObj = codeObj || {}; + this.r = codeObj.code || this.r; + this.c = compiler; + this.options = options || {}; + this.text = text || ''; + this.partials = codeObj.partials || {}; + this.subs = codeObj.subs || {}; + this.buf = ''; + } + + Hogan.Template.prototype = { + // render: replaced by generated code. + r: function (context, partials, indent) { return ''; }, + + // variable escaping + v: hoganEscape, + + // triple stache + t: coerceToString, + + render: function render(context, partials, indent) { + return this.ri([context], partials || {}, indent); + }, + + // render internal -- a hook for overrides that catches partials too + ri: function (context, partials, indent) { + return this.r(context, partials, indent); + }, + + // ensurePartial + ep: function(symbol, partials) { + var partial = this.partials[symbol]; + + // check to see that if we've instantiated this partial before + var template = partials[partial.name]; + if (partial.instance && partial.base == template) { + return partial.instance; + } + + if (typeof template == 'string') { + if (!this.c) { + throw new Error("No compiler available."); + } + template = this.c.compile(template, this.options); + } + + if (!template) { + return null; + } + + // We use this to check whether the partials dictionary has changed + this.partials[symbol].base = template; + + if (partial.subs) { + // Make sure we consider parent template now + if (!partials.stackText) partials.stackText = {}; + for (key in partial.subs) { + if (!partials.stackText[key]) { + partials.stackText[key] = (this.activeSub !== undefined && partials.stackText[this.activeSub]) ? partials.stackText[this.activeSub] : this.text; + } + } + template = createSpecializedPartial(template, partial.subs, partial.partials, + this.stackSubs, this.stackPartials, partials.stackText); + } + this.partials[symbol].instance = template; + + return template; + }, + + // tries to find a partial in the current scope and render it + rp: function(symbol, context, partials, indent) { + var partial = this.ep(symbol, partials); + if (!partial) { + return ''; + } + + return partial.ri(context, partials, indent); + }, + + // render a section + rs: function(context, partials, section) { + var tail = context[context.length - 1]; + + if (!isArray(tail)) { + section(context, partials, this); + return; + } + + for (var i = 0; i < tail.length; i++) { + context.push(tail[i]); + section(context, partials, this); + context.pop(); + } + }, + + // maybe start a section + s: function(val, ctx, partials, inverted, start, end, tags) { + var pass; + + if (isArray(val) && val.length === 0) { + return false; + } + + if (typeof val == 'function') { + val = this.ms(val, ctx, partials, inverted, start, end, tags); + } + + pass = !!val; + + if (!inverted && pass && ctx) { + ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]); + } + + return pass; + }, + + // find values with dotted names + d: function(key, ctx, partials, returnFound) { + var found, + names = key.split('.'), + val = this.f(names[0], ctx, partials, returnFound), + doModelGet = this.options.modelGet, + cx = null; + + if (key === '.' && isArray(ctx[ctx.length - 2])) { + val = ctx[ctx.length - 1]; + } else { + for (var i = 1; i < names.length; i++) { + found = findInScope(names[i], val, doModelGet); + if (found != null) { + cx = val; + val = found; + } else { + val = ''; + } + } + } + + if (returnFound && !val) { + return false; + } + + if (!returnFound && typeof val == 'function') { + ctx.push(cx); + val = this.mv(val, ctx, partials); + ctx.pop(); + } + + return val; + }, + + // find values with normal names + f: function(key, ctx, partials, returnFound) { + var val = false, + v = null, + found = false, + doModelGet = this.options.modelGet; + + for (var i = ctx.length - 1; i >= 0; i--) { + v = ctx[i]; + val = findInScope(key, v, doModelGet); + if (val != null) { + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.mv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ls: function(func, cx, partials, text, tags) { + var oldTags = this.options.delimiters; + + this.options.delimiters = tags; + this.b(this.ct(coerceToString(func.call(cx, text)), cx, partials)); + this.options.delimiters = oldTags; + + return false; + }, + + // compile text + ct: function(text, cx, partials) { + if (this.options.disableLambda) { + throw new Error('Lambda features disabled.'); + } + return this.c.compile(text, this.options).render(cx, partials); + }, + + // template result buffering + b: function(s) { this.buf += s; }, + + fl: function() { var r = this.buf; this.buf = ''; return r; }, + + // method replace section + ms: function(func, ctx, partials, inverted, start, end, tags) { + var textSource, + cx = ctx[ctx.length - 1], + result = func.call(cx); + + if (typeof result == 'function') { + if (inverted) { + return true; + } else { + textSource = (this.activeSub && this.subsText && this.subsText[this.activeSub]) ? this.subsText[this.activeSub] : this.text; + return this.ls(result, cx, partials, textSource.substring(start, end), tags); + } + } + + return result; + }, + + // method replace variable + mv: function(func, ctx, partials) { + var cx = ctx[ctx.length - 1]; + var result = func.call(cx); + + if (typeof result == 'function') { + return this.ct(coerceToString(result.call(cx)), cx, partials); + } + + return result; + }, + + sub: function(name, context, partials, indent) { + var f = this.subs[name]; + if (f) { + this.activeSub = name; + f(context, partials, this, indent); + this.activeSub = false; + } + } + + }; + + //Find a key in an object + function findInScope(key, scope, doModelGet) { + var val, checkVal; + + if (scope && typeof scope == 'object') { + + if (scope[key] != null) { + val = scope[key]; + + // try lookup with get for backbone or similar model data + } else if (doModelGet && scope.get && typeof scope.get == 'function') { + val = scope.get(key); + } + } + + return val; + } + + function createSpecializedPartial(instance, subs, partials, stackSubs, stackPartials, stackText) { + function PartialTemplate() {}; + PartialTemplate.prototype = instance; + function Substitutions() {}; + Substitutions.prototype = instance.subs; + var key; + var partial = new PartialTemplate(); + partial.subs = new Substitutions(); + partial.subsText = {}; //hehe. substext. + partial.buf = ''; + + stackSubs = stackSubs || {}; + partial.stackSubs = stackSubs; + partial.subsText = stackText; + for (key in subs) { + if (!stackSubs[key]) stackSubs[key] = subs[key]; + } + for (key in stackSubs) { + partial.subs[key] = stackSubs[key]; + } + + stackPartials = stackPartials || {}; + partial.stackPartials = stackPartials; + for (key in partials) { + if (!stackPartials[key]) stackPartials[key] = partials[key]; + } + for (key in stackPartials) { + partial.partials[key] = stackPartials[key]; + } + + return partial; + } + + var rAmp = /&/g, + rLt = //g, + rApos = /\'/g, + rQuot = /\"/g, + hChars = /[&<>\"\']/; + + function coerceToString(val) { + return String((val === null || val === undefined) ? '' : val); + } + + function hoganEscape(str) { + str = coerceToString(str); + return hChars.test(str) ? + str + .replace(rAmp, '&') + .replace(rLt, '<') + .replace(rGt, '>') + .replace(rApos, ''') + .replace(rQuot, '"') : + str; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + }; + +})(typeof exports !== 'undefined' ? exports : Hogan); + + + +(function (Hogan) { + // Setup regex assignments + // remove whitespace according to Mustache spec + var rIsWhitespace = /\S/, + rQuot = /\"/g, + rNewline = /\n/g, + rCr = /\r/g, + rSlash = /\\/g; + + Hogan.tags = { + '#': 1, '^': 2, '<': 3, '$': 4, + '/': 5, '!': 6, '>': 7, '=': 8, '_v': 9, + '{': 10, '&': 11, '_t': 12 + }; + + Hogan.scan = function scan(text, delimiters) { + var len = text.length, + IN_TEXT = 0, + IN_TAG_TYPE = 1, + IN_TAG = 2, + state = IN_TEXT, + tagType = null, + tag = null, + buf = '', + tokens = [], + seenTag = false, + i = 0, + lineStart = 0, + otag = '{{', + ctag = '}}'; + + function addBuf() { + if (buf.length > 0) { + tokens.push({tag: '_t', text: new String(buf)}); + buf = ''; + } + } + + function lineIsWhitespace() { + var isAllWhitespace = true; + for (var j = lineStart; j < tokens.length; j++) { + isAllWhitespace = + (Hogan.tags[tokens[j].tag] < Hogan.tags['_v']) || + (tokens[j].tag == '_t' && tokens[j].text.match(rIsWhitespace) === null); + if (!isAllWhitespace) { + return false; + } + } + + return isAllWhitespace; + } + + function filterLine(haveSeenTag, noNewLine) { + addBuf(); + + if (haveSeenTag && lineIsWhitespace()) { + for (var j = lineStart, next; j < tokens.length; j++) { + if (tokens[j].text) { + if ((next = tokens[j+1]) && next.tag == '>') { + // set indent to token value + next.indent = tokens[j].text.toString() + } + tokens.splice(j, 1); + } + } + } else if (!noNewLine) { + tokens.push({tag:'\n'}); + } + + seenTag = false; + lineStart = tokens.length; + } + + function changeDelimiters(text, index) { + var close = '=' + ctag, + closeIndex = text.indexOf(close, index), + delimiters = trim( + text.substring(text.indexOf('=', index) + 1, closeIndex) + ).split(' '); + + otag = delimiters[0]; + ctag = delimiters[delimiters.length - 1]; + + return closeIndex + close.length - 1; + } + + if (delimiters) { + delimiters = delimiters.split(' '); + otag = delimiters[0]; + ctag = delimiters[1]; + } + + for (i = 0; i < len; i++) { + if (state == IN_TEXT) { + if (tagChange(otag, text, i)) { + --i; + addBuf(); + state = IN_TAG_TYPE; + } else { + if (text.charAt(i) == '\n') { + filterLine(seenTag); + } else { + buf += text.charAt(i); + } + } + } else if (state == IN_TAG_TYPE) { + i += otag.length - 1; + tag = Hogan.tags[text.charAt(i + 1)]; + tagType = tag ? text.charAt(i + 1) : '_v'; + if (tagType == '=') { + i = changeDelimiters(text, i); + state = IN_TEXT; + } else { + if (tag) { + i++; + } + state = IN_TAG; + } + seenTag = i; + } else { + if (tagChange(ctag, text, i)) { + tokens.push({tag: tagType, n: trim(buf), otag: otag, ctag: ctag, + i: (tagType == '/') ? seenTag - otag.length : i + ctag.length}); + buf = ''; + i += ctag.length - 1; + state = IN_TEXT; + if (tagType == '{') { + if (ctag == '}}') { + i++; + } else { + cleanTripleStache(tokens[tokens.length - 1]); + } + } + } else { + buf += text.charAt(i); + } + } + } + + filterLine(seenTag, true); + + return tokens; + } + + function cleanTripleStache(token) { + if (token.n.substr(token.n.length - 1) === '}') { + token.n = token.n.substring(0, token.n.length - 1); + } + } + + function trim(s) { + if (s.trim) { + return s.trim(); + } + + return s.replace(/^\s*|\s*$/g, ''); + } + + function tagChange(tag, text, index) { + if (text.charAt(index) != tag.charAt(0)) { + return false; + } + + for (var i = 1, l = tag.length; i < l; i++) { + if (text.charAt(index + i) != tag.charAt(i)) { + return false; + } + } + + return true; + } + + // the tags allowed inside super templates + var allowedInSuper = {'_t': true, '\n': true, '$': true, '/': true}; + + function buildTree(tokens, kind, stack, customTags) { + var instructions = [], + opener = null, + tail = null, + token = null; + + tail = stack[stack.length - 1]; + + while (tokens.length > 0) { + token = tokens.shift(); + + if (tail && tail.tag == '<' && !(token.tag in allowedInSuper)) { + throw new Error('Illegal content in < super tag.'); + } + + if (Hogan.tags[token.tag] <= Hogan.tags['$'] || isOpener(token, customTags)) { + stack.push(token); + token.nodes = buildTree(tokens, token.tag, stack, customTags); + } else if (token.tag == '/') { + if (stack.length === 0) { + throw new Error('Closing tag without opener: /' + token.n); + } + opener = stack.pop(); + if (token.n != opener.n && !isCloser(token.n, opener.n, customTags)) { + throw new Error('Nesting error: ' + opener.n + ' vs. ' + token.n); + } + opener.end = token.i; + return instructions; + } else if (token.tag == '\n') { + token.last = (tokens.length == 0) || (tokens[0].tag == '\n'); + } + + instructions.push(token); + } + + if (stack.length > 0) { + throw new Error('missing closing tag: ' + stack.pop().n); + } + + return instructions; + } + + function isOpener(token, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].o == token.n) { + token.tag = '#'; + return true; + } + } + } + + function isCloser(close, open, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].c == close && tags[i].o == open) { + return true; + } + } + } + + function stringifySubstitutions(obj) { + var items = []; + for (var key in obj) { + items.push('"' + esc(key) + '": function(c,p,t,i) {' + obj[key] + '}'); + } + return "{ " + items.join(",") + " }"; + } + + function stringifyPartials(codeObj) { + var partials = []; + for (var key in codeObj.partials) { + partials.push('"' + esc(key) + '":{name:"' + esc(codeObj.partials[key].name) + '", ' + stringifyPartials(codeObj.partials[key]) + "}"); + } + return "partials: {" + partials.join(",") + "}, subs: " + stringifySubstitutions(codeObj.subs); + } + + Hogan.stringify = function(codeObj, text, options) { + return "{code: function (c,p,i) { " + Hogan.wrapMain(codeObj.code) + " }," + stringifyPartials(codeObj) + "}"; + } + + var serialNo = 0; + Hogan.generate = function(tree, text, options) { + serialNo = 0; + var context = { code: '', subs: {}, partials: {} }; + Hogan.walk(tree, context); + + if (options.asString) { + return this.stringify(context, text, options); + } + + return this.makeTemplate(context, text, options); + } + + Hogan.wrapMain = function(code) { + return 'var t=this;t.b(i=i||"");' + code + 'return t.fl();'; + } + + Hogan.template = Hogan.Template; + + Hogan.makeTemplate = function(codeObj, text, options) { + var template = this.makePartials(codeObj); + template.code = new Function('c', 'p', 'i', this.wrapMain(codeObj.code)); + return new this.template(template, text, this, options); + } + + Hogan.makePartials = function(codeObj) { + var key, template = {subs: {}, partials: codeObj.partials, name: codeObj.name}; + for (key in template.partials) { + template.partials[key] = this.makePartials(template.partials[key]); + } + for (key in codeObj.subs) { + template.subs[key] = new Function('c', 'p', 't', 'i', codeObj.subs[key]); + } + return template; + } + + function esc(s) { + return s.replace(rSlash, '\\\\') + .replace(rQuot, '\\\"') + .replace(rNewline, '\\n') + .replace(rCr, '\\r'); + } + + function chooseMethod(s) { + return (~s.indexOf('.')) ? 'd' : 'f'; + } + + function createPartial(node, context) { + var prefix = "<" + (context.prefix || ""); + var sym = prefix + node.n + serialNo++; + context.partials[sym] = {name: node.n, partials: {}}; + context.code += 't.b(t.rp("' + esc(sym) + '",c,p,"' + (node.indent || '') + '"));'; + return sym; + } + + Hogan.codegen = { + '#': function(node, context) { + context.code += 'if(t.s(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,1),' + + 'c,p,0,' + node.i + ',' + node.end + ',"' + node.otag + " " + node.ctag + '")){' + + 't.rs(c,p,' + 'function(c,p,t){'; + Hogan.walk(node.nodes, context); + context.code += '});c.pop();}'; + }, + + '^': function(node, context) { + context.code += 'if(!t.s(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,1),c,p,1,0,0,"")){'; + Hogan.walk(node.nodes, context); + context.code += '};'; + }, + + '>': createPartial, + '<': function(node, context) { + var ctx = {partials: {}, code: '', subs: {}, inPartial: true}; + Hogan.walk(node.nodes, ctx); + var template = context.partials[createPartial(node, context)]; + template.subs = ctx.subs; + template.partials = ctx.partials; + }, + + '$': function(node, context) { + var ctx = {subs: {}, code: '', partials: context.partials, prefix: node.n}; + Hogan.walk(node.nodes, ctx); + context.subs[node.n] = ctx.code; + if (!context.inPartial) { + context.code += 't.sub("' + esc(node.n) + '",c,p,i);'; + } + }, + + '\n': function(node, context) { + context.code += write('"\\n"' + (node.last ? '' : ' + i')); + }, + + '_v': function(node, context) { + context.code += 't.b(t.v(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,0)));'; + }, + + '_t': function(node, context) { + context.code += write('"' + esc(node.text) + '"'); + }, + + '{': tripleStache, + + '&': tripleStache + } + + function tripleStache(node, context) { + context.code += 't.b(t.t(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,0)));'; + } + + function write(s) { + return 't.b(' + s + ');'; + } + + Hogan.walk = function(nodelist, context) { + var func; + for (var i = 0, l = nodelist.length; i < l; i++) { + func = Hogan.codegen[nodelist[i].tag]; + func && func(nodelist[i], context); + } + return context; + } + + Hogan.parse = function(tokens, text, options) { + options = options || {}; + return buildTree(tokens, '', [], options.sectionTags || []); + } + + Hogan.cache = {}; + + Hogan.cacheKey = function(text, options) { + return [text, !!options.asString, !!options.disableLambda, options.delimiters, !!options.modelGet].join('||'); + } + + Hogan.compile = function(text, options) { + options = options || {}; + var key = Hogan.cacheKey(text, options); + var template = this.cache[key]; + + if (template) { + var partials = template.partials; + for (var name in partials) { + delete partials[name].instance; + } + return template; + } + + template = this.generate(this.parse(this.scan(text, options.delimiters), text, options), text, options); + return this.cache[key] = template; + } +})(typeof exports !== 'undefined' ? exports : Hogan); + + +if (typeof define === 'function' && define.amd) { + define(Hogan); +} diff --git a/hogan-node/node_modules/hogan.js/web/builds/3.0.1/hogan-3.0.1.common.js b/hogan-node/node_modules/hogan.js/web/builds/3.0.1/hogan-3.0.1.common.js new file mode 100644 index 0000000..7df9066 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/3.0.1/hogan-3.0.1.common.js @@ -0,0 +1,755 @@ +/*! + * Copyright 2011 Twitter, Inc. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + + +var Hogan = {}; + +(function (Hogan) { + Hogan.Template = function (codeObj, text, compiler, options) { + codeObj = codeObj || {}; + this.r = codeObj.code || this.r; + this.c = compiler; + this.options = options || {}; + this.text = text || ''; + this.partials = codeObj.partials || {}; + this.subs = codeObj.subs || {}; + this.buf = ''; + } + + Hogan.Template.prototype = { + // render: replaced by generated code. + r: function (context, partials, indent) { return ''; }, + + // variable escaping + v: hoganEscape, + + // triple stache + t: coerceToString, + + render: function render(context, partials, indent) { + return this.ri([context], partials || {}, indent); + }, + + // render internal -- a hook for overrides that catches partials too + ri: function (context, partials, indent) { + return this.r(context, partials, indent); + }, + + // ensurePartial + ep: function(symbol, partials) { + var partial = this.partials[symbol]; + + // check to see that if we've instantiated this partial before + var template = partials[partial.name]; + if (partial.instance && partial.base == template) { + return partial.instance; + } + + if (typeof template == 'string') { + if (!this.c) { + throw new Error("No compiler available."); + } + template = this.c.compile(template, this.options); + } + + if (!template) { + return null; + } + + // We use this to check whether the partials dictionary has changed + this.partials[symbol].base = template; + + if (partial.subs) { + // Make sure we consider parent template now + if (!partials.stackText) partials.stackText = {}; + for (key in partial.subs) { + if (!partials.stackText[key]) { + partials.stackText[key] = (this.activeSub !== undefined && partials.stackText[this.activeSub]) ? partials.stackText[this.activeSub] : this.text; + } + } + template = createSpecializedPartial(template, partial.subs, partial.partials, + this.stackSubs, this.stackPartials, partials.stackText); + } + this.partials[symbol].instance = template; + + return template; + }, + + // tries to find a partial in the current scope and render it + rp: function(symbol, context, partials, indent) { + var partial = this.ep(symbol, partials); + if (!partial) { + return ''; + } + + return partial.ri(context, partials, indent); + }, + + // render a section + rs: function(context, partials, section) { + var tail = context[context.length - 1]; + + if (!isArray(tail)) { + section(context, partials, this); + return; + } + + for (var i = 0; i < tail.length; i++) { + context.push(tail[i]); + section(context, partials, this); + context.pop(); + } + }, + + // maybe start a section + s: function(val, ctx, partials, inverted, start, end, tags) { + var pass; + + if (isArray(val) && val.length === 0) { + return false; + } + + if (typeof val == 'function') { + val = this.ms(val, ctx, partials, inverted, start, end, tags); + } + + pass = !!val; + + if (!inverted && pass && ctx) { + ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]); + } + + return pass; + }, + + // find values with dotted names + d: function(key, ctx, partials, returnFound) { + var found, + names = key.split('.'), + val = this.f(names[0], ctx, partials, returnFound), + doModelGet = this.options.modelGet, + cx = null; + + if (key === '.' && isArray(ctx[ctx.length - 2])) { + val = ctx[ctx.length - 1]; + } else { + for (var i = 1; i < names.length; i++) { + found = findInScope(names[i], val, doModelGet); + if (found != null) { + cx = val; + val = found; + } else { + val = ''; + } + } + } + + if (returnFound && !val) { + return false; + } + + if (!returnFound && typeof val == 'function') { + ctx.push(cx); + val = this.mv(val, ctx, partials); + ctx.pop(); + } + + return val; + }, + + // find values with normal names + f: function(key, ctx, partials, returnFound) { + var val = false, + v = null, + found = false, + doModelGet = this.options.modelGet; + + for (var i = ctx.length - 1; i >= 0; i--) { + v = ctx[i]; + val = findInScope(key, v, doModelGet); + if (val != null) { + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.mv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ls: function(func, cx, partials, text, tags) { + var oldTags = this.options.delimiters; + + this.options.delimiters = tags; + this.b(this.ct(coerceToString(func.call(cx, text)), cx, partials)); + this.options.delimiters = oldTags; + + return false; + }, + + // compile text + ct: function(text, cx, partials) { + if (this.options.disableLambda) { + throw new Error('Lambda features disabled.'); + } + return this.c.compile(text, this.options).render(cx, partials); + }, + + // template result buffering + b: function(s) { this.buf += s; }, + + fl: function() { var r = this.buf; this.buf = ''; return r; }, + + // method replace section + ms: function(func, ctx, partials, inverted, start, end, tags) { + var textSource, + cx = ctx[ctx.length - 1], + result = func.call(cx); + + if (typeof result == 'function') { + if (inverted) { + return true; + } else { + textSource = (this.activeSub && this.subsText && this.subsText[this.activeSub]) ? this.subsText[this.activeSub] : this.text; + return this.ls(result, cx, partials, textSource.substring(start, end), tags); + } + } + + return result; + }, + + // method replace variable + mv: function(func, ctx, partials) { + var cx = ctx[ctx.length - 1]; + var result = func.call(cx); + + if (typeof result == 'function') { + return this.ct(coerceToString(result.call(cx)), cx, partials); + } + + return result; + }, + + sub: function(name, context, partials, indent) { + var f = this.subs[name]; + if (f) { + this.activeSub = name; + f(context, partials, this, indent); + this.activeSub = false; + } + } + + }; + + //Find a key in an object + function findInScope(key, scope, doModelGet) { + var val, checkVal; + + if (scope && typeof scope == 'object') { + + if (scope[key] != null) { + val = scope[key]; + + // try lookup with get for backbone or similar model data + } else if (doModelGet && scope.get && typeof scope.get == 'function') { + val = scope.get(key); + } + } + + return val; + } + + function createSpecializedPartial(instance, subs, partials, stackSubs, stackPartials, stackText) { + function PartialTemplate() {}; + PartialTemplate.prototype = instance; + function Substitutions() {}; + Substitutions.prototype = instance.subs; + var key; + var partial = new PartialTemplate(); + partial.subs = new Substitutions(); + partial.subsText = {}; //hehe. substext. + partial.buf = ''; + + stackSubs = stackSubs || {}; + partial.stackSubs = stackSubs; + partial.subsText = stackText; + for (key in subs) { + if (!stackSubs[key]) stackSubs[key] = subs[key]; + } + for (key in stackSubs) { + partial.subs[key] = stackSubs[key]; + } + + stackPartials = stackPartials || {}; + partial.stackPartials = stackPartials; + for (key in partials) { + if (!stackPartials[key]) stackPartials[key] = partials[key]; + } + for (key in stackPartials) { + partial.partials[key] = stackPartials[key]; + } + + return partial; + } + + var rAmp = /&/g, + rLt = //g, + rApos = /\'/g, + rQuot = /\"/g, + hChars = /[&<>\"\']/; + + function coerceToString(val) { + return String((val === null || val === undefined) ? '' : val); + } + + function hoganEscape(str) { + str = coerceToString(str); + return hChars.test(str) ? + str + .replace(rAmp, '&') + .replace(rLt, '<') + .replace(rGt, '>') + .replace(rApos, ''') + .replace(rQuot, '"') : + str; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + }; + +})(typeof exports !== 'undefined' ? exports : Hogan); + + + +(function (Hogan) { + // Setup regex assignments + // remove whitespace according to Mustache spec + var rIsWhitespace = /\S/, + rQuot = /\"/g, + rNewline = /\n/g, + rCr = /\r/g, + rSlash = /\\/g; + + Hogan.tags = { + '#': 1, '^': 2, '<': 3, '$': 4, + '/': 5, '!': 6, '>': 7, '=': 8, '_v': 9, + '{': 10, '&': 11, '_t': 12 + }; + + Hogan.scan = function scan(text, delimiters) { + var len = text.length, + IN_TEXT = 0, + IN_TAG_TYPE = 1, + IN_TAG = 2, + state = IN_TEXT, + tagType = null, + tag = null, + buf = '', + tokens = [], + seenTag = false, + i = 0, + lineStart = 0, + otag = '{{', + ctag = '}}'; + + function addBuf() { + if (buf.length > 0) { + tokens.push({tag: '_t', text: new String(buf)}); + buf = ''; + } + } + + function lineIsWhitespace() { + var isAllWhitespace = true; + for (var j = lineStart; j < tokens.length; j++) { + isAllWhitespace = + (Hogan.tags[tokens[j].tag] < Hogan.tags['_v']) || + (tokens[j].tag == '_t' && tokens[j].text.match(rIsWhitespace) === null); + if (!isAllWhitespace) { + return false; + } + } + + return isAllWhitespace; + } + + function filterLine(haveSeenTag, noNewLine) { + addBuf(); + + if (haveSeenTag && lineIsWhitespace()) { + for (var j = lineStart, next; j < tokens.length; j++) { + if (tokens[j].text) { + if ((next = tokens[j+1]) && next.tag == '>') { + // set indent to token value + next.indent = tokens[j].text.toString() + } + tokens.splice(j, 1); + } + } + } else if (!noNewLine) { + tokens.push({tag:'\n'}); + } + + seenTag = false; + lineStart = tokens.length; + } + + function changeDelimiters(text, index) { + var close = '=' + ctag, + closeIndex = text.indexOf(close, index), + delimiters = trim( + text.substring(text.indexOf('=', index) + 1, closeIndex) + ).split(' '); + + otag = delimiters[0]; + ctag = delimiters[delimiters.length - 1]; + + return closeIndex + close.length - 1; + } + + if (delimiters) { + delimiters = delimiters.split(' '); + otag = delimiters[0]; + ctag = delimiters[1]; + } + + for (i = 0; i < len; i++) { + if (state == IN_TEXT) { + if (tagChange(otag, text, i)) { + --i; + addBuf(); + state = IN_TAG_TYPE; + } else { + if (text.charAt(i) == '\n') { + filterLine(seenTag); + } else { + buf += text.charAt(i); + } + } + } else if (state == IN_TAG_TYPE) { + i += otag.length - 1; + tag = Hogan.tags[text.charAt(i + 1)]; + tagType = tag ? text.charAt(i + 1) : '_v'; + if (tagType == '=') { + i = changeDelimiters(text, i); + state = IN_TEXT; + } else { + if (tag) { + i++; + } + state = IN_TAG; + } + seenTag = i; + } else { + if (tagChange(ctag, text, i)) { + tokens.push({tag: tagType, n: trim(buf), otag: otag, ctag: ctag, + i: (tagType == '/') ? seenTag - otag.length : i + ctag.length}); + buf = ''; + i += ctag.length - 1; + state = IN_TEXT; + if (tagType == '{') { + if (ctag == '}}') { + i++; + } else { + cleanTripleStache(tokens[tokens.length - 1]); + } + } + } else { + buf += text.charAt(i); + } + } + } + + filterLine(seenTag, true); + + return tokens; + } + + function cleanTripleStache(token) { + if (token.n.substr(token.n.length - 1) === '}') { + token.n = token.n.substring(0, token.n.length - 1); + } + } + + function trim(s) { + if (s.trim) { + return s.trim(); + } + + return s.replace(/^\s*|\s*$/g, ''); + } + + function tagChange(tag, text, index) { + if (text.charAt(index) != tag.charAt(0)) { + return false; + } + + for (var i = 1, l = tag.length; i < l; i++) { + if (text.charAt(index + i) != tag.charAt(i)) { + return false; + } + } + + return true; + } + + // the tags allowed inside super templates + var allowedInSuper = {'_t': true, '\n': true, '$': true, '/': true}; + + function buildTree(tokens, kind, stack, customTags) { + var instructions = [], + opener = null, + tail = null, + token = null; + + tail = stack[stack.length - 1]; + + while (tokens.length > 0) { + token = tokens.shift(); + + if (tail && tail.tag == '<' && !(token.tag in allowedInSuper)) { + throw new Error('Illegal content in < super tag.'); + } + + if (Hogan.tags[token.tag] <= Hogan.tags['$'] || isOpener(token, customTags)) { + stack.push(token); + token.nodes = buildTree(tokens, token.tag, stack, customTags); + } else if (token.tag == '/') { + if (stack.length === 0) { + throw new Error('Closing tag without opener: /' + token.n); + } + opener = stack.pop(); + if (token.n != opener.n && !isCloser(token.n, opener.n, customTags)) { + throw new Error('Nesting error: ' + opener.n + ' vs. ' + token.n); + } + opener.end = token.i; + return instructions; + } else if (token.tag == '\n') { + token.last = (tokens.length == 0) || (tokens[0].tag == '\n'); + } + + instructions.push(token); + } + + if (stack.length > 0) { + throw new Error('missing closing tag: ' + stack.pop().n); + } + + return instructions; + } + + function isOpener(token, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].o == token.n) { + token.tag = '#'; + return true; + } + } + } + + function isCloser(close, open, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].c == close && tags[i].o == open) { + return true; + } + } + } + + function stringifySubstitutions(obj) { + var items = []; + for (var key in obj) { + items.push('"' + esc(key) + '": function(c,p,t,i) {' + obj[key] + '}'); + } + return "{ " + items.join(",") + " }"; + } + + function stringifyPartials(codeObj) { + var partials = []; + for (var key in codeObj.partials) { + partials.push('"' + esc(key) + '":{name:"' + esc(codeObj.partials[key].name) + '", ' + stringifyPartials(codeObj.partials[key]) + "}"); + } + return "partials: {" + partials.join(",") + "}, subs: " + stringifySubstitutions(codeObj.subs); + } + + Hogan.stringify = function(codeObj, text, options) { + return "{code: function (c,p,i) { " + Hogan.wrapMain(codeObj.code) + " }," + stringifyPartials(codeObj) + "}"; + } + + var serialNo = 0; + Hogan.generate = function(tree, text, options) { + serialNo = 0; + var context = { code: '', subs: {}, partials: {} }; + Hogan.walk(tree, context); + + if (options.asString) { + return this.stringify(context, text, options); + } + + return this.makeTemplate(context, text, options); + } + + Hogan.wrapMain = function(code) { + return 'var t=this;t.b(i=i||"");' + code + 'return t.fl();'; + } + + Hogan.template = Hogan.Template; + + Hogan.makeTemplate = function(codeObj, text, options) { + var template = this.makePartials(codeObj); + template.code = new Function('c', 'p', 'i', this.wrapMain(codeObj.code)); + return new this.template(template, text, this, options); + } + + Hogan.makePartials = function(codeObj) { + var key, template = {subs: {}, partials: codeObj.partials, name: codeObj.name}; + for (key in template.partials) { + template.partials[key] = this.makePartials(template.partials[key]); + } + for (key in codeObj.subs) { + template.subs[key] = new Function('c', 'p', 't', 'i', codeObj.subs[key]); + } + return template; + } + + function esc(s) { + return s.replace(rSlash, '\\\\') + .replace(rQuot, '\\\"') + .replace(rNewline, '\\n') + .replace(rCr, '\\r'); + } + + function chooseMethod(s) { + return (~s.indexOf('.')) ? 'd' : 'f'; + } + + function createPartial(node, context) { + var prefix = "<" + (context.prefix || ""); + var sym = prefix + node.n + serialNo++; + context.partials[sym] = {name: node.n, partials: {}}; + context.code += 't.b(t.rp("' + esc(sym) + '",c,p,"' + (node.indent || '') + '"));'; + return sym; + } + + Hogan.codegen = { + '#': function(node, context) { + context.code += 'if(t.s(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,1),' + + 'c,p,0,' + node.i + ',' + node.end + ',"' + node.otag + " " + node.ctag + '")){' + + 't.rs(c,p,' + 'function(c,p,t){'; + Hogan.walk(node.nodes, context); + context.code += '});c.pop();}'; + }, + + '^': function(node, context) { + context.code += 'if(!t.s(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,1),c,p,1,0,0,"")){'; + Hogan.walk(node.nodes, context); + context.code += '};'; + }, + + '>': createPartial, + '<': function(node, context) { + var ctx = {partials: {}, code: '', subs: {}, inPartial: true}; + Hogan.walk(node.nodes, ctx); + var template = context.partials[createPartial(node, context)]; + template.subs = ctx.subs; + template.partials = ctx.partials; + }, + + '$': function(node, context) { + var ctx = {subs: {}, code: '', partials: context.partials, prefix: node.n}; + Hogan.walk(node.nodes, ctx); + context.subs[node.n] = ctx.code; + if (!context.inPartial) { + context.code += 't.sub("' + esc(node.n) + '",c,p,i);'; + } + }, + + '\n': function(node, context) { + context.code += write('"\\n"' + (node.last ? '' : ' + i')); + }, + + '_v': function(node, context) { + context.code += 't.b(t.v(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,0)));'; + }, + + '_t': function(node, context) { + context.code += write('"' + esc(node.text) + '"'); + }, + + '{': tripleStache, + + '&': tripleStache + } + + function tripleStache(node, context) { + context.code += 't.b(t.t(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,0)));'; + } + + function write(s) { + return 't.b(' + s + ');'; + } + + Hogan.walk = function(nodelist, context) { + var func; + for (var i = 0, l = nodelist.length; i < l; i++) { + func = Hogan.codegen[nodelist[i].tag]; + func && func(nodelist[i], context); + } + return context; + } + + Hogan.parse = function(tokens, text, options) { + options = options || {}; + return buildTree(tokens, '', [], options.sectionTags || []); + } + + Hogan.cache = {}; + + Hogan.cacheKey = function(text, options) { + return [text, !!options.asString, !!options.disableLambda, options.delimiters, !!options.modelGet].join('||'); + } + + Hogan.compile = function(text, options) { + options = options || {}; + var key = Hogan.cacheKey(text, options); + var template = this.cache[key]; + + if (template) { + var partials = template.partials; + for (var name in partials) { + delete partials[name].instance; + } + return template; + } + + template = this.generate(this.parse(this.scan(text, options.delimiters), text, options), text, options); + return this.cache[key] = template; + } +})(typeof exports !== 'undefined' ? exports : Hogan); + + +if (typeof module !== 'undefined' && module.exports) { + module.exports = Hogan; +} diff --git a/hogan-node/node_modules/hogan.js/web/builds/3.0.1/hogan-3.0.1.js b/hogan-node/node_modules/hogan.js/web/builds/3.0.1/hogan-3.0.1.js new file mode 100644 index 0000000..ebdcf43 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/3.0.1/hogan-3.0.1.js @@ -0,0 +1,751 @@ +/*! + * Copyright 2011 Twitter, Inc. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + + +var Hogan = {}; + +(function (Hogan) { + Hogan.Template = function (codeObj, text, compiler, options) { + codeObj = codeObj || {}; + this.r = codeObj.code || this.r; + this.c = compiler; + this.options = options || {}; + this.text = text || ''; + this.partials = codeObj.partials || {}; + this.subs = codeObj.subs || {}; + this.buf = ''; + } + + Hogan.Template.prototype = { + // render: replaced by generated code. + r: function (context, partials, indent) { return ''; }, + + // variable escaping + v: hoganEscape, + + // triple stache + t: coerceToString, + + render: function render(context, partials, indent) { + return this.ri([context], partials || {}, indent); + }, + + // render internal -- a hook for overrides that catches partials too + ri: function (context, partials, indent) { + return this.r(context, partials, indent); + }, + + // ensurePartial + ep: function(symbol, partials) { + var partial = this.partials[symbol]; + + // check to see that if we've instantiated this partial before + var template = partials[partial.name]; + if (partial.instance && partial.base == template) { + return partial.instance; + } + + if (typeof template == 'string') { + if (!this.c) { + throw new Error("No compiler available."); + } + template = this.c.compile(template, this.options); + } + + if (!template) { + return null; + } + + // We use this to check whether the partials dictionary has changed + this.partials[symbol].base = template; + + if (partial.subs) { + // Make sure we consider parent template now + if (!partials.stackText) partials.stackText = {}; + for (key in partial.subs) { + if (!partials.stackText[key]) { + partials.stackText[key] = (this.activeSub !== undefined && partials.stackText[this.activeSub]) ? partials.stackText[this.activeSub] : this.text; + } + } + template = createSpecializedPartial(template, partial.subs, partial.partials, + this.stackSubs, this.stackPartials, partials.stackText); + } + this.partials[symbol].instance = template; + + return template; + }, + + // tries to find a partial in the current scope and render it + rp: function(symbol, context, partials, indent) { + var partial = this.ep(symbol, partials); + if (!partial) { + return ''; + } + + return partial.ri(context, partials, indent); + }, + + // render a section + rs: function(context, partials, section) { + var tail = context[context.length - 1]; + + if (!isArray(tail)) { + section(context, partials, this); + return; + } + + for (var i = 0; i < tail.length; i++) { + context.push(tail[i]); + section(context, partials, this); + context.pop(); + } + }, + + // maybe start a section + s: function(val, ctx, partials, inverted, start, end, tags) { + var pass; + + if (isArray(val) && val.length === 0) { + return false; + } + + if (typeof val == 'function') { + val = this.ms(val, ctx, partials, inverted, start, end, tags); + } + + pass = !!val; + + if (!inverted && pass && ctx) { + ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]); + } + + return pass; + }, + + // find values with dotted names + d: function(key, ctx, partials, returnFound) { + var found, + names = key.split('.'), + val = this.f(names[0], ctx, partials, returnFound), + doModelGet = this.options.modelGet, + cx = null; + + if (key === '.' && isArray(ctx[ctx.length - 2])) { + val = ctx[ctx.length - 1]; + } else { + for (var i = 1; i < names.length; i++) { + found = findInScope(names[i], val, doModelGet); + if (found != null) { + cx = val; + val = found; + } else { + val = ''; + } + } + } + + if (returnFound && !val) { + return false; + } + + if (!returnFound && typeof val == 'function') { + ctx.push(cx); + val = this.mv(val, ctx, partials); + ctx.pop(); + } + + return val; + }, + + // find values with normal names + f: function(key, ctx, partials, returnFound) { + var val = false, + v = null, + found = false, + doModelGet = this.options.modelGet; + + for (var i = ctx.length - 1; i >= 0; i--) { + v = ctx[i]; + val = findInScope(key, v, doModelGet); + if (val != null) { + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.mv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ls: function(func, cx, partials, text, tags) { + var oldTags = this.options.delimiters; + + this.options.delimiters = tags; + this.b(this.ct(coerceToString(func.call(cx, text)), cx, partials)); + this.options.delimiters = oldTags; + + return false; + }, + + // compile text + ct: function(text, cx, partials) { + if (this.options.disableLambda) { + throw new Error('Lambda features disabled.'); + } + return this.c.compile(text, this.options).render(cx, partials); + }, + + // template result buffering + b: function(s) { this.buf += s; }, + + fl: function() { var r = this.buf; this.buf = ''; return r; }, + + // method replace section + ms: function(func, ctx, partials, inverted, start, end, tags) { + var textSource, + cx = ctx[ctx.length - 1], + result = func.call(cx); + + if (typeof result == 'function') { + if (inverted) { + return true; + } else { + textSource = (this.activeSub && this.subsText && this.subsText[this.activeSub]) ? this.subsText[this.activeSub] : this.text; + return this.ls(result, cx, partials, textSource.substring(start, end), tags); + } + } + + return result; + }, + + // method replace variable + mv: function(func, ctx, partials) { + var cx = ctx[ctx.length - 1]; + var result = func.call(cx); + + if (typeof result == 'function') { + return this.ct(coerceToString(result.call(cx)), cx, partials); + } + + return result; + }, + + sub: function(name, context, partials, indent) { + var f = this.subs[name]; + if (f) { + this.activeSub = name; + f(context, partials, this, indent); + this.activeSub = false; + } + } + + }; + + //Find a key in an object + function findInScope(key, scope, doModelGet) { + var val, checkVal; + + if (scope && typeof scope == 'object') { + + if (scope[key] != null) { + val = scope[key]; + + // try lookup with get for backbone or similar model data + } else if (doModelGet && scope.get && typeof scope.get == 'function') { + val = scope.get(key); + } + } + + return val; + } + + function createSpecializedPartial(instance, subs, partials, stackSubs, stackPartials, stackText) { + function PartialTemplate() {}; + PartialTemplate.prototype = instance; + function Substitutions() {}; + Substitutions.prototype = instance.subs; + var key; + var partial = new PartialTemplate(); + partial.subs = new Substitutions(); + partial.subsText = {}; //hehe. substext. + partial.buf = ''; + + stackSubs = stackSubs || {}; + partial.stackSubs = stackSubs; + partial.subsText = stackText; + for (key in subs) { + if (!stackSubs[key]) stackSubs[key] = subs[key]; + } + for (key in stackSubs) { + partial.subs[key] = stackSubs[key]; + } + + stackPartials = stackPartials || {}; + partial.stackPartials = stackPartials; + for (key in partials) { + if (!stackPartials[key]) stackPartials[key] = partials[key]; + } + for (key in stackPartials) { + partial.partials[key] = stackPartials[key]; + } + + return partial; + } + + var rAmp = /&/g, + rLt = //g, + rApos = /\'/g, + rQuot = /\"/g, + hChars = /[&<>\"\']/; + + function coerceToString(val) { + return String((val === null || val === undefined) ? '' : val); + } + + function hoganEscape(str) { + str = coerceToString(str); + return hChars.test(str) ? + str + .replace(rAmp, '&') + .replace(rLt, '<') + .replace(rGt, '>') + .replace(rApos, ''') + .replace(rQuot, '"') : + str; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + }; + +})(typeof exports !== 'undefined' ? exports : Hogan); + + + +(function (Hogan) { + // Setup regex assignments + // remove whitespace according to Mustache spec + var rIsWhitespace = /\S/, + rQuot = /\"/g, + rNewline = /\n/g, + rCr = /\r/g, + rSlash = /\\/g; + + Hogan.tags = { + '#': 1, '^': 2, '<': 3, '$': 4, + '/': 5, '!': 6, '>': 7, '=': 8, '_v': 9, + '{': 10, '&': 11, '_t': 12 + }; + + Hogan.scan = function scan(text, delimiters) { + var len = text.length, + IN_TEXT = 0, + IN_TAG_TYPE = 1, + IN_TAG = 2, + state = IN_TEXT, + tagType = null, + tag = null, + buf = '', + tokens = [], + seenTag = false, + i = 0, + lineStart = 0, + otag = '{{', + ctag = '}}'; + + function addBuf() { + if (buf.length > 0) { + tokens.push({tag: '_t', text: new String(buf)}); + buf = ''; + } + } + + function lineIsWhitespace() { + var isAllWhitespace = true; + for (var j = lineStart; j < tokens.length; j++) { + isAllWhitespace = + (Hogan.tags[tokens[j].tag] < Hogan.tags['_v']) || + (tokens[j].tag == '_t' && tokens[j].text.match(rIsWhitespace) === null); + if (!isAllWhitespace) { + return false; + } + } + + return isAllWhitespace; + } + + function filterLine(haveSeenTag, noNewLine) { + addBuf(); + + if (haveSeenTag && lineIsWhitespace()) { + for (var j = lineStart, next; j < tokens.length; j++) { + if (tokens[j].text) { + if ((next = tokens[j+1]) && next.tag == '>') { + // set indent to token value + next.indent = tokens[j].text.toString() + } + tokens.splice(j, 1); + } + } + } else if (!noNewLine) { + tokens.push({tag:'\n'}); + } + + seenTag = false; + lineStart = tokens.length; + } + + function changeDelimiters(text, index) { + var close = '=' + ctag, + closeIndex = text.indexOf(close, index), + delimiters = trim( + text.substring(text.indexOf('=', index) + 1, closeIndex) + ).split(' '); + + otag = delimiters[0]; + ctag = delimiters[delimiters.length - 1]; + + return closeIndex + close.length - 1; + } + + if (delimiters) { + delimiters = delimiters.split(' '); + otag = delimiters[0]; + ctag = delimiters[1]; + } + + for (i = 0; i < len; i++) { + if (state == IN_TEXT) { + if (tagChange(otag, text, i)) { + --i; + addBuf(); + state = IN_TAG_TYPE; + } else { + if (text.charAt(i) == '\n') { + filterLine(seenTag); + } else { + buf += text.charAt(i); + } + } + } else if (state == IN_TAG_TYPE) { + i += otag.length - 1; + tag = Hogan.tags[text.charAt(i + 1)]; + tagType = tag ? text.charAt(i + 1) : '_v'; + if (tagType == '=') { + i = changeDelimiters(text, i); + state = IN_TEXT; + } else { + if (tag) { + i++; + } + state = IN_TAG; + } + seenTag = i; + } else { + if (tagChange(ctag, text, i)) { + tokens.push({tag: tagType, n: trim(buf), otag: otag, ctag: ctag, + i: (tagType == '/') ? seenTag - otag.length : i + ctag.length}); + buf = ''; + i += ctag.length - 1; + state = IN_TEXT; + if (tagType == '{') { + if (ctag == '}}') { + i++; + } else { + cleanTripleStache(tokens[tokens.length - 1]); + } + } + } else { + buf += text.charAt(i); + } + } + } + + filterLine(seenTag, true); + + return tokens; + } + + function cleanTripleStache(token) { + if (token.n.substr(token.n.length - 1) === '}') { + token.n = token.n.substring(0, token.n.length - 1); + } + } + + function trim(s) { + if (s.trim) { + return s.trim(); + } + + return s.replace(/^\s*|\s*$/g, ''); + } + + function tagChange(tag, text, index) { + if (text.charAt(index) != tag.charAt(0)) { + return false; + } + + for (var i = 1, l = tag.length; i < l; i++) { + if (text.charAt(index + i) != tag.charAt(i)) { + return false; + } + } + + return true; + } + + // the tags allowed inside super templates + var allowedInSuper = {'_t': true, '\n': true, '$': true, '/': true}; + + function buildTree(tokens, kind, stack, customTags) { + var instructions = [], + opener = null, + tail = null, + token = null; + + tail = stack[stack.length - 1]; + + while (tokens.length > 0) { + token = tokens.shift(); + + if (tail && tail.tag == '<' && !(token.tag in allowedInSuper)) { + throw new Error('Illegal content in < super tag.'); + } + + if (Hogan.tags[token.tag] <= Hogan.tags['$'] || isOpener(token, customTags)) { + stack.push(token); + token.nodes = buildTree(tokens, token.tag, stack, customTags); + } else if (token.tag == '/') { + if (stack.length === 0) { + throw new Error('Closing tag without opener: /' + token.n); + } + opener = stack.pop(); + if (token.n != opener.n && !isCloser(token.n, opener.n, customTags)) { + throw new Error('Nesting error: ' + opener.n + ' vs. ' + token.n); + } + opener.end = token.i; + return instructions; + } else if (token.tag == '\n') { + token.last = (tokens.length == 0) || (tokens[0].tag == '\n'); + } + + instructions.push(token); + } + + if (stack.length > 0) { + throw new Error('missing closing tag: ' + stack.pop().n); + } + + return instructions; + } + + function isOpener(token, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].o == token.n) { + token.tag = '#'; + return true; + } + } + } + + function isCloser(close, open, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].c == close && tags[i].o == open) { + return true; + } + } + } + + function stringifySubstitutions(obj) { + var items = []; + for (var key in obj) { + items.push('"' + esc(key) + '": function(c,p,t,i) {' + obj[key] + '}'); + } + return "{ " + items.join(",") + " }"; + } + + function stringifyPartials(codeObj) { + var partials = []; + for (var key in codeObj.partials) { + partials.push('"' + esc(key) + '":{name:"' + esc(codeObj.partials[key].name) + '", ' + stringifyPartials(codeObj.partials[key]) + "}"); + } + return "partials: {" + partials.join(",") + "}, subs: " + stringifySubstitutions(codeObj.subs); + } + + Hogan.stringify = function(codeObj, text, options) { + return "{code: function (c,p,i) { " + Hogan.wrapMain(codeObj.code) + " }," + stringifyPartials(codeObj) + "}"; + } + + var serialNo = 0; + Hogan.generate = function(tree, text, options) { + serialNo = 0; + var context = { code: '', subs: {}, partials: {} }; + Hogan.walk(tree, context); + + if (options.asString) { + return this.stringify(context, text, options); + } + + return this.makeTemplate(context, text, options); + } + + Hogan.wrapMain = function(code) { + return 'var t=this;t.b(i=i||"");' + code + 'return t.fl();'; + } + + Hogan.template = Hogan.Template; + + Hogan.makeTemplate = function(codeObj, text, options) { + var template = this.makePartials(codeObj); + template.code = new Function('c', 'p', 'i', this.wrapMain(codeObj.code)); + return new this.template(template, text, this, options); + } + + Hogan.makePartials = function(codeObj) { + var key, template = {subs: {}, partials: codeObj.partials, name: codeObj.name}; + for (key in template.partials) { + template.partials[key] = this.makePartials(template.partials[key]); + } + for (key in codeObj.subs) { + template.subs[key] = new Function('c', 'p', 't', 'i', codeObj.subs[key]); + } + return template; + } + + function esc(s) { + return s.replace(rSlash, '\\\\') + .replace(rQuot, '\\\"') + .replace(rNewline, '\\n') + .replace(rCr, '\\r'); + } + + function chooseMethod(s) { + return (~s.indexOf('.')) ? 'd' : 'f'; + } + + function createPartial(node, context) { + var prefix = "<" + (context.prefix || ""); + var sym = prefix + node.n + serialNo++; + context.partials[sym] = {name: node.n, partials: {}}; + context.code += 't.b(t.rp("' + esc(sym) + '",c,p,"' + (node.indent || '') + '"));'; + return sym; + } + + Hogan.codegen = { + '#': function(node, context) { + context.code += 'if(t.s(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,1),' + + 'c,p,0,' + node.i + ',' + node.end + ',"' + node.otag + " " + node.ctag + '")){' + + 't.rs(c,p,' + 'function(c,p,t){'; + Hogan.walk(node.nodes, context); + context.code += '});c.pop();}'; + }, + + '^': function(node, context) { + context.code += 'if(!t.s(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,1),c,p,1,0,0,"")){'; + Hogan.walk(node.nodes, context); + context.code += '};'; + }, + + '>': createPartial, + '<': function(node, context) { + var ctx = {partials: {}, code: '', subs: {}, inPartial: true}; + Hogan.walk(node.nodes, ctx); + var template = context.partials[createPartial(node, context)]; + template.subs = ctx.subs; + template.partials = ctx.partials; + }, + + '$': function(node, context) { + var ctx = {subs: {}, code: '', partials: context.partials, prefix: node.n}; + Hogan.walk(node.nodes, ctx); + context.subs[node.n] = ctx.code; + if (!context.inPartial) { + context.code += 't.sub("' + esc(node.n) + '",c,p,i);'; + } + }, + + '\n': function(node, context) { + context.code += write('"\\n"' + (node.last ? '' : ' + i')); + }, + + '_v': function(node, context) { + context.code += 't.b(t.v(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,0)));'; + }, + + '_t': function(node, context) { + context.code += write('"' + esc(node.text) + '"'); + }, + + '{': tripleStache, + + '&': tripleStache + } + + function tripleStache(node, context) { + context.code += 't.b(t.t(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,0)));'; + } + + function write(s) { + return 't.b(' + s + ');'; + } + + Hogan.walk = function(nodelist, context) { + var func; + for (var i = 0, l = nodelist.length; i < l; i++) { + func = Hogan.codegen[nodelist[i].tag]; + func && func(nodelist[i], context); + } + return context; + } + + Hogan.parse = function(tokens, text, options) { + options = options || {}; + return buildTree(tokens, '', [], options.sectionTags || []); + } + + Hogan.cache = {}; + + Hogan.cacheKey = function(text, options) { + return [text, !!options.asString, !!options.disableLambda, options.delimiters, !!options.modelGet].join('||'); + } + + Hogan.compile = function(text, options) { + options = options || {}; + var key = Hogan.cacheKey(text, options); + var template = this.cache[key]; + + if (template) { + var partials = template.partials; + for (var name in partials) { + delete partials[name].instance; + } + return template; + } + + template = this.generate(this.parse(this.scan(text, options.delimiters), text, options), text, options); + return this.cache[key] = template; + } +})(typeof exports !== 'undefined' ? exports : Hogan); + diff --git a/hogan-node/node_modules/hogan.js/web/builds/3.0.1/hogan-3.0.1.min.amd.js b/hogan-node/node_modules/hogan.js/web/builds/3.0.1/hogan-3.0.1.min.amd.js new file mode 100644 index 0000000..595e128 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/3.0.1/hogan-3.0.1.min.amd.js @@ -0,0 +1,5 @@ +/** +* @preserve Copyright 2012 Twitter, Inc. +* @license http://www.apache.org/licenses/LICENSE-2.0.txt +*/ +var Hogan={};(function(e){function t(e,t,n){var r,i;return t&&typeof t=="object"&&(t[e]!=null?r=t[e]:n&&t.get&&typeof t.get=="function"&&(r=t.get(e))),r}function n(e,t,n,r,i,s){function o(){}function u(){}o.prototype=e,u.prototype=e.subs;var a,f=new o;f.subs=new u,f.subsText={},f.buf="",r=r||{},f.stackSubs=r,f.subsText=s;for(a in t)r[a]||(r[a]=t[a]);for(a in r)f.subs[a]=r[a];i=i||{},f.stackPartials=i;for(a in n)i[a]||(i[a]=n[a]);for(a in i)f.partials[a]=i[a];return f}function f(e){return String(e===null||e===undefined?"":e)}function l(e){return e=f(e),a.test(e)?e.replace(r,"&").replace(i,"<").replace(s,">").replace(o,"'").replace(u,"""):e}e.Template=function(e,t,n,r){e=e||{},this.r=e.code||this.r,this.c=n,this.options=r||{},this.text=t||"",this.partials=e.partials||{},this.subs=e.subs||{},this.buf=""},e.Template.prototype={r:function(e,t,n){return""},v:l,t:f,render:function(t,n,r){return this.ri([t],n||{},r)},ri:function(e,t,n){return this.r(e,t,n)},ep:function(e,t){var r=this.partials[e],i=t[r.name];if(r.instance&&r.base==i)return r.instance;if(typeof i=="string"){if(!this.c)throw new Error("No compiler available.");i=this.c.compile(i,this.options)}if(!i)return null;this.partials[e].base=i;if(r.subs){t.stackText||(t.stackText={});for(key in r.subs)t.stackText[key]||(t.stackText[key]=this.activeSub!==undefined&&t.stackText[this.activeSub]?t.stackText[this.activeSub]:this.text);i=n(i,r.subs,r.partials,this.stackSubs,this.stackPartials,t.stackText)}return this.partials[e].instance=i,i},rp:function(e,t,n,r){var i=this.ep(e,n);return i?i.ri(t,n,r):""},rs:function(e,t,n){var r=e[e.length-1];if(!c(r)){n(e,t,this);return}for(var i=0;i=0;f--){o=n[f],s=t(e,o,a);if(s!=null){u=!0;break}}return u?(!i&&typeof s=="function"&&(s=this.mv(s,n,r)),s):i?!1:""},ls:function(e,t,n,r,i){var s=this.options.delimiters;return this.options.delimiters=i,this.b(this.ct(f(e.call(t,r)),t,n)),this.options.delimiters=s,!1},ct:function(e,t,n){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(e,this.options).render(t,n)},b:function(e){this.buf+=e},fl:function(){var e=this.buf;return this.buf="",e},ms:function(e,t,n,r,i,s,o){var u,a=t[t.length-1],f=e.call(a);return typeof f=="function"?r?!0:(u=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(f,a,n,u.substring(i,s),o)):f},mv:function(e,t,n){var r=t[t.length-1],i=e.call(r);return typeof i=="function"?this.ct(f(i.call(r)),r,n):i},sub:function(e,t,n,r){var i=this.subs[e];i&&(this.activeSub=e,i(t,n,this,r),this.activeSub=!1)}};var r=/&/g,i=//g,o=/\'/g,u=/\"/g,a=/[&<>\"\']/,c=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"}})(typeof exports!="undefined"?exports:Hogan),function(e){function o(e){e.n.substr(e.n.length-1)==="}"&&(e.n=e.n.substring(0,e.n.length-1))}function u(e){return e.trim?e.trim():e.replace(/^\s*|\s*$/g,"")}function a(e,t,n){if(t.charAt(n)!=e.charAt(0))return!1;for(var r=1,i=e.length;r0){a=t.shift();if(!(!u||u.tag!="<"||a.tag in f))throw new Error("Illegal content in < super tag.");if(e.tags[a.tag]<=e.tags.$||c(a,i))r.push(a),a.nodes=l(t,a.tag,r,i);else{if(a.tag=="/"){if(r.length===0)throw new Error("Closing tag without opener: /"+a.n);o=r.pop();if(a.n!=o.n&&!h(a.n,o.n,i))throw new Error("Nesting error: "+o.n+" vs. "+a.n);return o.end=a.i,s}a.tag=="\n"&&(a.last=t.length==0||t[0].tag=="\n")}s.push(a)}if(r.length>0)throw new Error("missing closing tag: "+r.pop().n);return s}function c(e,t){for(var n=0,r=t.length;n":7,"=":8,_v:9,"{":10,"&":11,_t:12},e.scan=function(r,i){function S(){v.length>0&&(m.push({tag:"_t",text:new String(v)}),v="")}function x(){var n=!0;for(var r=b;r"&&(r.indent=m[n].text.toString()),m.splice(n,1));else t||m.push({tag:"\n"});g=!1,b=m.length}function N(e,t){var n="="+E,r=e.indexOf(n,t),i=u(e.substring(e.indexOf("=",t)+1,r)).split(" ");return w=i[0],E=i[i.length-1],r+n.length-1}var s=r.length,f=0,l=1,c=2,h=f,p=null,d=null,v="",m=[],g=!1,y=0,b=0,w="{{",E="}}";i&&(i=i.split(" "),w=i[0],E=i[1]);for(y=0;y":y,"<":function(t,n){var r={partials:{},code:"",subs:{},inPartial:!0};e.walk(t.nodes,r);var i=n.partials[y(t,n)];i.subs=r.subs,i.partials=r.partials},$:function(t,n){var r={subs:{},code:"",partials:n.partials,prefix:t.n};e.walk(t.nodes,r),n.subs[t.n]=r.code,n.inPartial||(n.code+='t.sub("'+m(t.n)+'",c,p,i);')},"\n":function(e,t){t.code+=w('"\\n"'+(e.last?"":" + i"))},_v:function(e,t){t.code+="t.b(t.v(t."+g(e.n)+'("'+m(e.n)+'",c,p,0)));'},_t:function(e,t){t.code+=w('"'+m(e.text)+'"')},"{":b,"&":b},e.walk=function(t,n){var r;for(var i=0,s=t.length;i=0;f--){o=n[f],s=t(e,o,a);if(s!=null){u=!0;break}}return u?(!i&&typeof s=="function"&&(s=this.mv(s,n,r)),s):i?!1:""},ls:function(e,t,n,r,i){var s=this.options.delimiters;return this.options.delimiters=i,this.b(this.ct(f(e.call(t,r)),t,n)),this.options.delimiters=s,!1},ct:function(e,t,n){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(e,this.options).render(t,n)},b:function(e){this.buf+=e},fl:function(){var e=this.buf;return this.buf="",e},ms:function(e,t,n,r,i,s,o){var u,a=t[t.length-1],f=e.call(a);return typeof f=="function"?r?!0:(u=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(f,a,n,u.substring(i,s),o)):f},mv:function(e,t,n){var r=t[t.length-1],i=e.call(r);return typeof i=="function"?this.ct(f(i.call(r)),r,n):i},sub:function(e,t,n,r){var i=this.subs[e];i&&(this.activeSub=e,i(t,n,this,r),this.activeSub=!1)}};var r=/&/g,i=//g,o=/\'/g,u=/\"/g,a=/[&<>\"\']/,c=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"}})(typeof exports!="undefined"?exports:Hogan),function(e){function o(e){e.n.substr(e.n.length-1)==="}"&&(e.n=e.n.substring(0,e.n.length-1))}function u(e){return e.trim?e.trim():e.replace(/^\s*|\s*$/g,"")}function a(e,t,n){if(t.charAt(n)!=e.charAt(0))return!1;for(var r=1,i=e.length;r0){a=t.shift();if(!(!u||u.tag!="<"||a.tag in f))throw new Error("Illegal content in < super tag.");if(e.tags[a.tag]<=e.tags.$||c(a,i))r.push(a),a.nodes=l(t,a.tag,r,i);else{if(a.tag=="/"){if(r.length===0)throw new Error("Closing tag without opener: /"+a.n);o=r.pop();if(a.n!=o.n&&!h(a.n,o.n,i))throw new Error("Nesting error: "+o.n+" vs. "+a.n);return o.end=a.i,s}a.tag=="\n"&&(a.last=t.length==0||t[0].tag=="\n")}s.push(a)}if(r.length>0)throw new Error("missing closing tag: "+r.pop().n);return s}function c(e,t){for(var n=0,r=t.length;n":7,"=":8,_v:9,"{":10,"&":11,_t:12},e.scan=function(r,i){function S(){v.length>0&&(m.push({tag:"_t",text:new String(v)}),v="")}function x(){var n=!0;for(var r=b;r"&&(r.indent=m[n].text.toString()),m.splice(n,1));else t||m.push({tag:"\n"});g=!1,b=m.length}function N(e,t){var n="="+E,r=e.indexOf(n,t),i=u(e.substring(e.indexOf("=",t)+1,r)).split(" ");return w=i[0],E=i[i.length-1],r+n.length-1}var s=r.length,f=0,l=1,c=2,h=f,p=null,d=null,v="",m=[],g=!1,y=0,b=0,w="{{",E="}}";i&&(i=i.split(" "),w=i[0],E=i[1]);for(y=0;y":y,"<":function(t,n){var r={partials:{},code:"",subs:{},inPartial:!0};e.walk(t.nodes,r);var i=n.partials[y(t,n)];i.subs=r.subs,i.partials=r.partials},$:function(t,n){var r={subs:{},code:"",partials:n.partials,prefix:t.n};e.walk(t.nodes,r),n.subs[t.n]=r.code,n.inPartial||(n.code+='t.sub("'+m(t.n)+'",c,p,i);')},"\n":function(e,t){t.code+=w('"\\n"'+(e.last?"":" + i"))},_v:function(e,t){t.code+="t.b(t.v(t."+g(e.n)+'("'+m(e.n)+'",c,p,0)));'},_t:function(e,t){t.code+=w('"'+m(e.text)+'"')},"{":b,"&":b},e.walk=function(t,n){var r;for(var i=0,s=t.length;i=0;f--){o=n[f],s=t(e,o,a);if(s!=null){u=!0;break}}return u?(!i&&typeof s=="function"&&(s=this.mv(s,n,r)),s):i?!1:""},ls:function(e,t,n,r,i){var s=this.options.delimiters;return this.options.delimiters=i,this.b(this.ct(f(e.call(t,r)),t,n)),this.options.delimiters=s,!1},ct:function(e,t,n){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(e,this.options).render(t,n)},b:function(e){this.buf+=e},fl:function(){var e=this.buf;return this.buf="",e},ms:function(e,t,n,r,i,s,o){var u,a=t[t.length-1],f=e.call(a);return typeof f=="function"?r?!0:(u=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(f,a,n,u.substring(i,s),o)):f},mv:function(e,t,n){var r=t[t.length-1],i=e.call(r);return typeof i=="function"?this.ct(f(i.call(r)),r,n):i},sub:function(e,t,n,r){var i=this.subs[e];i&&(this.activeSub=e,i(t,n,this,r),this.activeSub=!1)}};var r=/&/g,i=//g,o=/\'/g,u=/\"/g,a=/[&<>\"\']/,c=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"}})(typeof exports!="undefined"?exports:Hogan),function(e){function o(e){e.n.substr(e.n.length-1)==="}"&&(e.n=e.n.substring(0,e.n.length-1))}function u(e){return e.trim?e.trim():e.replace(/^\s*|\s*$/g,"")}function a(e,t,n){if(t.charAt(n)!=e.charAt(0))return!1;for(var r=1,i=e.length;r0){a=t.shift();if(!(!u||u.tag!="<"||a.tag in f))throw new Error("Illegal content in < super tag.");if(e.tags[a.tag]<=e.tags.$||c(a,i))r.push(a),a.nodes=l(t,a.tag,r,i);else{if(a.tag=="/"){if(r.length===0)throw new Error("Closing tag without opener: /"+a.n);o=r.pop();if(a.n!=o.n&&!h(a.n,o.n,i))throw new Error("Nesting error: "+o.n+" vs. "+a.n);return o.end=a.i,s}a.tag=="\n"&&(a.last=t.length==0||t[0].tag=="\n")}s.push(a)}if(r.length>0)throw new Error("missing closing tag: "+r.pop().n);return s}function c(e,t){for(var n=0,r=t.length;n":7,"=":8,_v:9,"{":10,"&":11,_t:12},e.scan=function(r,i){function S(){v.length>0&&(m.push({tag:"_t",text:new String(v)}),v="")}function x(){var n=!0;for(var r=b;r"&&(r.indent=m[n].text.toString()),m.splice(n,1));else t||m.push({tag:"\n"});g=!1,b=m.length}function N(e,t){var n="="+E,r=e.indexOf(n,t),i=u(e.substring(e.indexOf("=",t)+1,r)).split(" ");return w=i[0],E=i[i.length-1],r+n.length-1}var s=r.length,f=0,l=1,c=2,h=f,p=null,d=null,v="",m=[],g=!1,y=0,b=0,w="{{",E="}}";i&&(i=i.split(" "),w=i[0],E=i[1]);for(y=0;y":y,"<":function(t,n){var r={partials:{},code:"",subs:{},inPartial:!0};e.walk(t.nodes,r);var i=n.partials[y(t,n)];i.subs=r.subs,i.partials=r.partials},$:function(t,n){var r={subs:{},code:"",partials:n.partials,prefix:t.n};e.walk(t.nodes,r),n.subs[t.n]=r.code,n.inPartial||(n.code+='t.sub("'+m(t.n)+'",c,p,i);')},"\n":function(e,t){t.code+=w('"\\n"'+(e.last?"":" + i"))},_v:function(e,t){t.code+="t.b(t.v(t."+g(e.n)+'("'+m(e.n)+'",c,p,0)));'},_t:function(e,t){t.code+=w('"'+m(e.text)+'"')},"{":b,"&":b},e.walk=function(t,n){var r;for(var i=0,s=t.length;i=0;f--){o=n[f],s=t(e,o,a);if(s!=null){u=!0;break}}return u?(!i&&typeof s=="function"&&(s=this.mv(s,n,r)),s):i?!1:""},ls:function(e,t,n,r,i){var s=this.options.delimiters;return this.options.delimiters=i,this.b(this.ct(f(e.call(t,r)),t,n)),this.options.delimiters=s,!1},ct:function(e,t,n){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(e,this.options).render(t,n)},b:function(e){this.buf+=e},fl:function(){var e=this.buf;return this.buf="",e},ms:function(e,t,n,r,i,s,o){var u,a=t[t.length-1],f=e.call(a);return typeof f=="function"?r?!0:(u=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(f,a,n,u.substring(i,s),o)):f},mv:function(e,t,n){var r=t[t.length-1],i=e.call(r);return typeof i=="function"?this.ct(f(i.call(r)),r,n):i},sub:function(e,t,n,r){var i=this.subs[e];i&&(this.activeSub=e,i(t,n,this,r),this.activeSub=!1)}};var r=/&/g,i=//g,o=/\'/g,u=/\"/g,a=/[&<>\"\']/,c=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"}})(typeof exports!="undefined"?exports:Hogan),function(e){function o(e){e.n.substr(e.n.length-1)==="}"&&(e.n=e.n.substring(0,e.n.length-1))}function u(e){return e.trim?e.trim():e.replace(/^\s*|\s*$/g,"")}function a(e,t,n){if(t.charAt(n)!=e.charAt(0))return!1;for(var r=1,i=e.length;r0){a=t.shift();if(!(!u||u.tag!="<"||a.tag in f))throw new Error("Illegal content in < super tag.");if(e.tags[a.tag]<=e.tags.$||c(a,i))r.push(a),a.nodes=l(t,a.tag,r,i);else{if(a.tag=="/"){if(r.length===0)throw new Error("Closing tag without opener: /"+a.n);o=r.pop();if(a.n!=o.n&&!h(a.n,o.n,i))throw new Error("Nesting error: "+o.n+" vs. "+a.n);return o.end=a.i,s}a.tag=="\n"&&(a.last=t.length==0||t[0].tag=="\n")}s.push(a)}if(r.length>0)throw new Error("missing closing tag: "+r.pop().n);return s}function c(e,t){for(var n=0,r=t.length;n":7,"=":8,_v:9,"{":10,"&":11,_t:12},e.scan=function(r,i){function S(){v.length>0&&(m.push({tag:"_t",text:new String(v)}),v="")}function x(){var n=!0;for(var r=b;r"&&(r.indent=m[n].text.toString()),m.splice(n,1));else t||m.push({tag:"\n"});g=!1,b=m.length}function N(e,t){var n="="+E,r=e.indexOf(n,t),i=u(e.substring(e.indexOf("=",t)+1,r)).split(" ");return w=i[0],E=i[i.length-1],r+n.length-1}var s=r.length,f=0,l=1,c=2,h=f,p=null,d=null,v="",m=[],g=!1,y=0,b=0,w="{{",E="}}";i&&(i=i.split(" "),w=i[0],E=i[1]);for(y=0;y":y,"<":function(t,n){var r={partials:{},code:"",subs:{},inPartial:!0};e.walk(t.nodes,r);var i=n.partials[y(t,n)];i.subs=r.subs,i.partials=r.partials},$:function(t,n){var r={subs:{},code:"",partials:n.partials,prefix:t.n};e.walk(t.nodes,r),n.subs[t.n]=r.code,n.inPartial||(n.code+='t.sub("'+m(t.n)+'",c,p,i);')},"\n":function(e,t){t.code+=w('"\\n"'+(e.last?"":" + i"))},_v:function(e,t){t.code+="t.b(t.v(t."+g(e.n)+'("'+m(e.n)+'",c,p,0)));'},_t:function(e,t){t.code+=w('"'+m(e.text)+'"')},"{":b,"&":b},e.walk=function(t,n){var r;for(var i=0,s=t.length;i= 0; i--) { + v = ctx[i]; + val = findInScope(key, v, doModelGet); + if (val != null) { + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.mv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ls: function(func, cx, partials, text, tags) { + var oldTags = this.options.delimiters; + + this.options.delimiters = tags; + this.b(this.ct(coerceToString(func.call(cx, text)), cx, partials)); + this.options.delimiters = oldTags; + + return false; + }, + + // compile text + ct: function(text, cx, partials) { + if (this.options.disableLambda) { + throw new Error('Lambda features disabled.'); + } + return this.c.compile(text, this.options).render(cx, partials); + }, + + // template result buffering + b: function(s) { this.buf += s; }, + + fl: function() { var r = this.buf; this.buf = ''; return r; }, + + // method replace section + ms: function(func, ctx, partials, inverted, start, end, tags) { + var textSource, + cx = ctx[ctx.length - 1], + result = func.call(cx); + + if (typeof result == 'function') { + if (inverted) { + return true; + } else { + textSource = (this.activeSub && this.subsText && this.subsText[this.activeSub]) ? this.subsText[this.activeSub] : this.text; + return this.ls(result, cx, partials, textSource.substring(start, end), tags); + } + } + + return result; + }, + + // method replace variable + mv: function(func, ctx, partials) { + var cx = ctx[ctx.length - 1]; + var result = func.call(cx); + + if (typeof result == 'function') { + return this.ct(coerceToString(result.call(cx)), cx, partials); + } + + return result; + }, + + sub: function(name, context, partials, indent) { + var f = this.subs[name]; + if (f) { + this.activeSub = name; + f(context, partials, this, indent); + this.activeSub = false; + } + } + + }; + + //Find a key in an object + function findInScope(key, scope, doModelGet) { + var val, checkVal; + + if (scope && typeof scope == 'object') { + + if (scope[key] != null) { + val = scope[key]; + + // try lookup with get for backbone or similar model data + } else if (doModelGet && scope.get && typeof scope.get == 'function') { + val = scope.get(key); + } + } + + return val; + } + + function createSpecializedPartial(instance, subs, partials, stackSubs, stackPartials, stackText) { + function PartialTemplate() {}; + PartialTemplate.prototype = instance; + function Substitutions() {}; + Substitutions.prototype = instance.subs; + var key; + var partial = new PartialTemplate(); + partial.subs = new Substitutions(); + partial.subsText = {}; //hehe. substext. + partial.buf = ''; + + stackSubs = stackSubs || {}; + partial.stackSubs = stackSubs; + partial.subsText = stackText; + for (key in subs) { + if (!stackSubs[key]) stackSubs[key] = subs[key]; + } + for (key in stackSubs) { + partial.subs[key] = stackSubs[key]; + } + + stackPartials = stackPartials || {}; + partial.stackPartials = stackPartials; + for (key in partials) { + if (!stackPartials[key]) stackPartials[key] = partials[key]; + } + for (key in stackPartials) { + partial.partials[key] = stackPartials[key]; + } + + return partial; + } + + var rAmp = /&/g, + rLt = //g, + rApos = /\'/g, + rQuot = /\"/g, + hChars = /[&<>\"\']/; + + function coerceToString(val) { + return String((val === null || val === undefined) ? '' : val); + } + + function hoganEscape(str) { + str = coerceToString(str); + return hChars.test(str) ? + str + .replace(rAmp, '&') + .replace(rLt, '<') + .replace(rGt, '>') + .replace(rApos, ''') + .replace(rQuot, '"') : + str; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + }; + +})(typeof exports !== 'undefined' ? exports : Hogan); + + + +(function (Hogan) { + // Setup regex assignments + // remove whitespace according to Mustache spec + var rIsWhitespace = /\S/, + rQuot = /\"/g, + rNewline = /\n/g, + rCr = /\r/g, + rSlash = /\\/g; + + Hogan.tags = { + '#': 1, '^': 2, '<': 3, '$': 4, + '/': 5, '!': 6, '>': 7, '=': 8, '_v': 9, + '{': 10, '&': 11, '_t': 12 + }; + + Hogan.scan = function scan(text, delimiters) { + var len = text.length, + IN_TEXT = 0, + IN_TAG_TYPE = 1, + IN_TAG = 2, + state = IN_TEXT, + tagType = null, + tag = null, + buf = '', + tokens = [], + seenTag = false, + i = 0, + lineStart = 0, + otag = '{{', + ctag = '}}'; + + function addBuf() { + if (buf.length > 0) { + tokens.push({tag: '_t', text: new String(buf)}); + buf = ''; + } + } + + function lineIsWhitespace() { + var isAllWhitespace = true; + for (var j = lineStart; j < tokens.length; j++) { + isAllWhitespace = + (Hogan.tags[tokens[j].tag] < Hogan.tags['_v']) || + (tokens[j].tag == '_t' && tokens[j].text.match(rIsWhitespace) === null); + if (!isAllWhitespace) { + return false; + } + } + + return isAllWhitespace; + } + + function filterLine(haveSeenTag, noNewLine) { + addBuf(); + + if (haveSeenTag && lineIsWhitespace()) { + for (var j = lineStart, next; j < tokens.length; j++) { + if (tokens[j].text) { + if ((next = tokens[j+1]) && next.tag == '>') { + // set indent to token value + next.indent = tokens[j].text.toString() + } + tokens.splice(j, 1); + } + } + } else if (!noNewLine) { + tokens.push({tag:'\n'}); + } + + seenTag = false; + lineStart = tokens.length; + } + + function changeDelimiters(text, index) { + var close = '=' + ctag, + closeIndex = text.indexOf(close, index), + delimiters = trim( + text.substring(text.indexOf('=', index) + 1, closeIndex) + ).split(' '); + + otag = delimiters[0]; + ctag = delimiters[delimiters.length - 1]; + + return closeIndex + close.length - 1; + } + + if (delimiters) { + delimiters = delimiters.split(' '); + otag = delimiters[0]; + ctag = delimiters[1]; + } + + for (i = 0; i < len; i++) { + if (state == IN_TEXT) { + if (tagChange(otag, text, i)) { + --i; + addBuf(); + state = IN_TAG_TYPE; + } else { + if (text.charAt(i) == '\n') { + filterLine(seenTag); + } else { + buf += text.charAt(i); + } + } + } else if (state == IN_TAG_TYPE) { + i += otag.length - 1; + tag = Hogan.tags[text.charAt(i + 1)]; + tagType = tag ? text.charAt(i + 1) : '_v'; + if (tagType == '=') { + i = changeDelimiters(text, i); + state = IN_TEXT; + } else { + if (tag) { + i++; + } + state = IN_TAG; + } + seenTag = i; + } else { + if (tagChange(ctag, text, i)) { + tokens.push({tag: tagType, n: trim(buf), otag: otag, ctag: ctag, + i: (tagType == '/') ? seenTag - otag.length : i + ctag.length}); + buf = ''; + i += ctag.length - 1; + state = IN_TEXT; + if (tagType == '{') { + if (ctag == '}}') { + i++; + } else { + cleanTripleStache(tokens[tokens.length - 1]); + } + } + } else { + buf += text.charAt(i); + } + } + } + + filterLine(seenTag, true); + + return tokens; + } + + function cleanTripleStache(token) { + if (token.n.substr(token.n.length - 1) === '}') { + token.n = token.n.substring(0, token.n.length - 1); + } + } + + function trim(s) { + if (s.trim) { + return s.trim(); + } + + return s.replace(/^\s*|\s*$/g, ''); + } + + function tagChange(tag, text, index) { + if (text.charAt(index) != tag.charAt(0)) { + return false; + } + + for (var i = 1, l = tag.length; i < l; i++) { + if (text.charAt(index + i) != tag.charAt(i)) { + return false; + } + } + + return true; + } + + // the tags allowed inside super templates + var allowedInSuper = {'_t': true, '\n': true, '$': true, '/': true}; + + function buildTree(tokens, kind, stack, customTags) { + var instructions = [], + opener = null, + tail = null, + token = null; + + tail = stack[stack.length - 1]; + + while (tokens.length > 0) { + token = tokens.shift(); + + if (tail && tail.tag == '<' && !(token.tag in allowedInSuper)) { + throw new Error('Illegal content in < super tag.'); + } + + if (Hogan.tags[token.tag] <= Hogan.tags['$'] || isOpener(token, customTags)) { + stack.push(token); + token.nodes = buildTree(tokens, token.tag, stack, customTags); + } else if (token.tag == '/') { + if (stack.length === 0) { + throw new Error('Closing tag without opener: /' + token.n); + } + opener = stack.pop(); + if (token.n != opener.n && !isCloser(token.n, opener.n, customTags)) { + throw new Error('Nesting error: ' + opener.n + ' vs. ' + token.n); + } + opener.end = token.i; + return instructions; + } else if (token.tag == '\n') { + token.last = (tokens.length == 0) || (tokens[0].tag == '\n'); + } + + instructions.push(token); + } + + if (stack.length > 0) { + throw new Error('missing closing tag: ' + stack.pop().n); + } + + return instructions; + } + + function isOpener(token, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].o == token.n) { + token.tag = '#'; + return true; + } + } + } + + function isCloser(close, open, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].c == close && tags[i].o == open) { + return true; + } + } + } + + function stringifySubstitutions(obj) { + var items = []; + for (var key in obj) { + items.push('"' + esc(key) + '": function(c,p,t,i) {' + obj[key] + '}'); + } + return "{ " + items.join(",") + " }"; + } + + function stringifyPartials(codeObj) { + var partials = []; + for (var key in codeObj.partials) { + partials.push('"' + esc(key) + '":{name:"' + esc(codeObj.partials[key].name) + '", ' + stringifyPartials(codeObj.partials[key]) + "}"); + } + return "partials: {" + partials.join(",") + "}, subs: " + stringifySubstitutions(codeObj.subs); + } + + Hogan.stringify = function(codeObj, text, options) { + return "{code: function (c,p,i) { " + Hogan.wrapMain(codeObj.code) + " }," + stringifyPartials(codeObj) + "}"; + } + + var serialNo = 0; + Hogan.generate = function(tree, text, options) { + serialNo = 0; + var context = { code: '', subs: {}, partials: {} }; + Hogan.walk(tree, context); + + if (options.asString) { + return this.stringify(context, text, options); + } + + return this.makeTemplate(context, text, options); + } + + Hogan.wrapMain = function(code) { + return 'var t=this;t.b(i=i||"");' + code + 'return t.fl();'; + } + + Hogan.template = Hogan.Template; + + Hogan.makeTemplate = function(codeObj, text, options) { + var template = this.makePartials(codeObj); + template.code = new Function('c', 'p', 'i', this.wrapMain(codeObj.code)); + return new this.template(template, text, this, options); + } + + Hogan.makePartials = function(codeObj) { + var key, template = {subs: {}, partials: codeObj.partials, name: codeObj.name}; + for (key in template.partials) { + template.partials[key] = this.makePartials(template.partials[key]); + } + for (key in codeObj.subs) { + template.subs[key] = new Function('c', 'p', 't', 'i', codeObj.subs[key]); + } + return template; + } + + function esc(s) { + return s.replace(rSlash, '\\\\') + .replace(rQuot, '\\\"') + .replace(rNewline, '\\n') + .replace(rCr, '\\r'); + } + + function chooseMethod(s) { + return (~s.indexOf('.')) ? 'd' : 'f'; + } + + function createPartial(node, context) { + var prefix = "<" + (context.prefix || ""); + var sym = prefix + node.n + serialNo++; + context.partials[sym] = {name: node.n, partials: {}}; + context.code += 't.b(t.rp("' + esc(sym) + '",c,p,"' + (node.indent || '') + '"));'; + return sym; + } + + Hogan.codegen = { + '#': function(node, context) { + context.code += 'if(t.s(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,1),' + + 'c,p,0,' + node.i + ',' + node.end + ',"' + node.otag + " " + node.ctag + '")){' + + 't.rs(c,p,' + 'function(c,p,t){'; + Hogan.walk(node.nodes, context); + context.code += '});c.pop();}'; + }, + + '^': function(node, context) { + context.code += 'if(!t.s(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,1),c,p,1,0,0,"")){'; + Hogan.walk(node.nodes, context); + context.code += '};'; + }, + + '>': createPartial, + '<': function(node, context) { + var ctx = {partials: {}, code: '', subs: {}, inPartial: true}; + Hogan.walk(node.nodes, ctx); + var template = context.partials[createPartial(node, context)]; + template.subs = ctx.subs; + template.partials = ctx.partials; + }, + + '$': function(node, context) { + var ctx = {subs: {}, code: '', partials: context.partials, prefix: node.n}; + Hogan.walk(node.nodes, ctx); + context.subs[node.n] = ctx.code; + if (!context.inPartial) { + context.code += 't.sub("' + esc(node.n) + '",c,p,i);'; + } + }, + + '\n': function(node, context) { + context.code += write('"\\n"' + (node.last ? '' : ' + i')); + }, + + '_v': function(node, context) { + context.code += 't.b(t.v(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,0)));'; + }, + + '_t': function(node, context) { + context.code += write('"' + esc(node.text) + '"'); + }, + + '{': tripleStache, + + '&': tripleStache + } + + function tripleStache(node, context) { + context.code += 't.b(t.t(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,0)));'; + } + + function write(s) { + return 't.b(' + s + ');'; + } + + Hogan.walk = function(nodelist, context) { + var func; + for (var i = 0, l = nodelist.length; i < l; i++) { + func = Hogan.codegen[nodelist[i].tag]; + func && func(nodelist[i], context); + } + return context; + } + + Hogan.parse = function(tokens, text, options) { + options = options || {}; + return buildTree(tokens, '', [], options.sectionTags || []); + } + + Hogan.cache = {}; + + Hogan.cacheKey = function(text, options) { + return [text, !!options.asString, !!options.disableLambda, options.delimiters, !!options.modelGet].join('||'); + } + + Hogan.compile = function(text, options) { + options = options || {}; + var key = Hogan.cacheKey(text, options); + var template = this.cache[key]; + + if (template) { + var partials = template.partials; + for (var name in partials) { + delete partials[name].instance; + } + return template; + } + + template = this.generate(this.parse(this.scan(text, options.delimiters), text, options), text, options); + return this.cache[key] = template; + } +})(typeof exports !== 'undefined' ? exports : Hogan); + + +var Mustache = (function (Hogan) { + + // Mustache.js has non-spec partial context behavior + function mustachePartial(name, context, partials, indent) { + var partialScope = this.f(name, context, partials, 0); + var cx = context; + if (partialScope) { + cx = cx.concat(partialScope); + } + + return Hogan.Template.prototype.rp.call(this, name, cx, partials, indent); + } + + var HoganTemplateWrapper = function(renderFunc, text, compiler){ + this.rp = mustachePartial; + Hogan.Template.call(this, renderFunc, text, compiler); + }; + HoganTemplateWrapper.prototype = Hogan.Template.prototype; + + // Add a wrapper for Hogan's generate method. Mustache and Hogan keep + // separate caches, and Mustache returns wrapped templates. + var wrapper; + var HoganWrapper = function(){ + this.cache = {}; + this.generate = function(code, text, options) { + return new HoganTemplateWrapper(new Function('c', 'p', 'i', code), text, wrapper); + } + }; + HoganWrapper.prototype = Hogan; + wrapper = new HoganWrapper(); + + return { + to_html: function(text, data, partials, sendFun) { + var template = wrapper.compile(text); + var result = template.render(data, partials); + if (!sendFun) { + return result; + } + + sendFun(result); + } + } + +})(Hogan); diff --git a/hogan-node/node_modules/hogan.js/web/builds/3.0.1/hogan.template-3.0.1.amd.js b/hogan-node/node_modules/hogan.js/web/builds/3.0.1/hogan.template-3.0.1.amd.js new file mode 100644 index 0000000..1837da6 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/3.0.1/hogan.template-3.0.1.amd.js @@ -0,0 +1,349 @@ +/*! + * Copyright 2011 Twitter, Inc. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + + +var Hogan = {}; + +(function (Hogan) { + Hogan.Template = function (codeObj, text, compiler, options) { + codeObj = codeObj || {}; + this.r = codeObj.code || this.r; + this.c = compiler; + this.options = options || {}; + this.text = text || ''; + this.partials = codeObj.partials || {}; + this.subs = codeObj.subs || {}; + this.buf = ''; + } + + Hogan.Template.prototype = { + // render: replaced by generated code. + r: function (context, partials, indent) { return ''; }, + + // variable escaping + v: hoganEscape, + + // triple stache + t: coerceToString, + + render: function render(context, partials, indent) { + return this.ri([context], partials || {}, indent); + }, + + // render internal -- a hook for overrides that catches partials too + ri: function (context, partials, indent) { + return this.r(context, partials, indent); + }, + + // ensurePartial + ep: function(symbol, partials) { + var partial = this.partials[symbol]; + + // check to see that if we've instantiated this partial before + var template = partials[partial.name]; + if (partial.instance && partial.base == template) { + return partial.instance; + } + + if (typeof template == 'string') { + if (!this.c) { + throw new Error("No compiler available."); + } + template = this.c.compile(template, this.options); + } + + if (!template) { + return null; + } + + // We use this to check whether the partials dictionary has changed + this.partials[symbol].base = template; + + if (partial.subs) { + // Make sure we consider parent template now + if (!partials.stackText) partials.stackText = {}; + for (key in partial.subs) { + if (!partials.stackText[key]) { + partials.stackText[key] = (this.activeSub !== undefined && partials.stackText[this.activeSub]) ? partials.stackText[this.activeSub] : this.text; + } + } + template = createSpecializedPartial(template, partial.subs, partial.partials, + this.stackSubs, this.stackPartials, partials.stackText); + } + this.partials[symbol].instance = template; + + return template; + }, + + // tries to find a partial in the current scope and render it + rp: function(symbol, context, partials, indent) { + var partial = this.ep(symbol, partials); + if (!partial) { + return ''; + } + + return partial.ri(context, partials, indent); + }, + + // render a section + rs: function(context, partials, section) { + var tail = context[context.length - 1]; + + if (!isArray(tail)) { + section(context, partials, this); + return; + } + + for (var i = 0; i < tail.length; i++) { + context.push(tail[i]); + section(context, partials, this); + context.pop(); + } + }, + + // maybe start a section + s: function(val, ctx, partials, inverted, start, end, tags) { + var pass; + + if (isArray(val) && val.length === 0) { + return false; + } + + if (typeof val == 'function') { + val = this.ms(val, ctx, partials, inverted, start, end, tags); + } + + pass = !!val; + + if (!inverted && pass && ctx) { + ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]); + } + + return pass; + }, + + // find values with dotted names + d: function(key, ctx, partials, returnFound) { + var found, + names = key.split('.'), + val = this.f(names[0], ctx, partials, returnFound), + doModelGet = this.options.modelGet, + cx = null; + + if (key === '.' && isArray(ctx[ctx.length - 2])) { + val = ctx[ctx.length - 1]; + } else { + for (var i = 1; i < names.length; i++) { + found = findInScope(names[i], val, doModelGet); + if (found != null) { + cx = val; + val = found; + } else { + val = ''; + } + } + } + + if (returnFound && !val) { + return false; + } + + if (!returnFound && typeof val == 'function') { + ctx.push(cx); + val = this.mv(val, ctx, partials); + ctx.pop(); + } + + return val; + }, + + // find values with normal names + f: function(key, ctx, partials, returnFound) { + var val = false, + v = null, + found = false, + doModelGet = this.options.modelGet; + + for (var i = ctx.length - 1; i >= 0; i--) { + v = ctx[i]; + val = findInScope(key, v, doModelGet); + if (val != null) { + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.mv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ls: function(func, cx, partials, text, tags) { + var oldTags = this.options.delimiters; + + this.options.delimiters = tags; + this.b(this.ct(coerceToString(func.call(cx, text)), cx, partials)); + this.options.delimiters = oldTags; + + return false; + }, + + // compile text + ct: function(text, cx, partials) { + if (this.options.disableLambda) { + throw new Error('Lambda features disabled.'); + } + return this.c.compile(text, this.options).render(cx, partials); + }, + + // template result buffering + b: function(s) { this.buf += s; }, + + fl: function() { var r = this.buf; this.buf = ''; return r; }, + + // method replace section + ms: function(func, ctx, partials, inverted, start, end, tags) { + var textSource, + cx = ctx[ctx.length - 1], + result = func.call(cx); + + if (typeof result == 'function') { + if (inverted) { + return true; + } else { + textSource = (this.activeSub && this.subsText && this.subsText[this.activeSub]) ? this.subsText[this.activeSub] : this.text; + return this.ls(result, cx, partials, textSource.substring(start, end), tags); + } + } + + return result; + }, + + // method replace variable + mv: function(func, ctx, partials) { + var cx = ctx[ctx.length - 1]; + var result = func.call(cx); + + if (typeof result == 'function') { + return this.ct(coerceToString(result.call(cx)), cx, partials); + } + + return result; + }, + + sub: function(name, context, partials, indent) { + var f = this.subs[name]; + if (f) { + this.activeSub = name; + f(context, partials, this, indent); + this.activeSub = false; + } + } + + }; + + //Find a key in an object + function findInScope(key, scope, doModelGet) { + var val, checkVal; + + if (scope && typeof scope == 'object') { + + if (scope[key] != null) { + val = scope[key]; + + // try lookup with get for backbone or similar model data + } else if (doModelGet && scope.get && typeof scope.get == 'function') { + val = scope.get(key); + } + } + + return val; + } + + function createSpecializedPartial(instance, subs, partials, stackSubs, stackPartials, stackText) { + function PartialTemplate() {}; + PartialTemplate.prototype = instance; + function Substitutions() {}; + Substitutions.prototype = instance.subs; + var key; + var partial = new PartialTemplate(); + partial.subs = new Substitutions(); + partial.subsText = {}; //hehe. substext. + partial.buf = ''; + + stackSubs = stackSubs || {}; + partial.stackSubs = stackSubs; + partial.subsText = stackText; + for (key in subs) { + if (!stackSubs[key]) stackSubs[key] = subs[key]; + } + for (key in stackSubs) { + partial.subs[key] = stackSubs[key]; + } + + stackPartials = stackPartials || {}; + partial.stackPartials = stackPartials; + for (key in partials) { + if (!stackPartials[key]) stackPartials[key] = partials[key]; + } + for (key in stackPartials) { + partial.partials[key] = stackPartials[key]; + } + + return partial; + } + + var rAmp = /&/g, + rLt = //g, + rApos = /\'/g, + rQuot = /\"/g, + hChars = /[&<>\"\']/; + + function coerceToString(val) { + return String((val === null || val === undefined) ? '' : val); + } + + function hoganEscape(str) { + str = coerceToString(str); + return hChars.test(str) ? + str + .replace(rAmp, '&') + .replace(rLt, '<') + .replace(rGt, '>') + .replace(rApos, ''') + .replace(rQuot, '"') : + str; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + }; + +})(typeof exports !== 'undefined' ? exports : Hogan); + + + +if (typeof define === 'function' && define.amd) { + define(Hogan); +} diff --git a/hogan-node/node_modules/hogan.js/web/builds/3.0.1/hogan.template-3.0.1.common.js b/hogan-node/node_modules/hogan.js/web/builds/3.0.1/hogan.template-3.0.1.common.js new file mode 100644 index 0000000..c3cf99d --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/3.0.1/hogan.template-3.0.1.common.js @@ -0,0 +1,349 @@ +/*! + * Copyright 2011 Twitter, Inc. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + + +var Hogan = {}; + +(function (Hogan) { + Hogan.Template = function (codeObj, text, compiler, options) { + codeObj = codeObj || {}; + this.r = codeObj.code || this.r; + this.c = compiler; + this.options = options || {}; + this.text = text || ''; + this.partials = codeObj.partials || {}; + this.subs = codeObj.subs || {}; + this.buf = ''; + } + + Hogan.Template.prototype = { + // render: replaced by generated code. + r: function (context, partials, indent) { return ''; }, + + // variable escaping + v: hoganEscape, + + // triple stache + t: coerceToString, + + render: function render(context, partials, indent) { + return this.ri([context], partials || {}, indent); + }, + + // render internal -- a hook for overrides that catches partials too + ri: function (context, partials, indent) { + return this.r(context, partials, indent); + }, + + // ensurePartial + ep: function(symbol, partials) { + var partial = this.partials[symbol]; + + // check to see that if we've instantiated this partial before + var template = partials[partial.name]; + if (partial.instance && partial.base == template) { + return partial.instance; + } + + if (typeof template == 'string') { + if (!this.c) { + throw new Error("No compiler available."); + } + template = this.c.compile(template, this.options); + } + + if (!template) { + return null; + } + + // We use this to check whether the partials dictionary has changed + this.partials[symbol].base = template; + + if (partial.subs) { + // Make sure we consider parent template now + if (!partials.stackText) partials.stackText = {}; + for (key in partial.subs) { + if (!partials.stackText[key]) { + partials.stackText[key] = (this.activeSub !== undefined && partials.stackText[this.activeSub]) ? partials.stackText[this.activeSub] : this.text; + } + } + template = createSpecializedPartial(template, partial.subs, partial.partials, + this.stackSubs, this.stackPartials, partials.stackText); + } + this.partials[symbol].instance = template; + + return template; + }, + + // tries to find a partial in the current scope and render it + rp: function(symbol, context, partials, indent) { + var partial = this.ep(symbol, partials); + if (!partial) { + return ''; + } + + return partial.ri(context, partials, indent); + }, + + // render a section + rs: function(context, partials, section) { + var tail = context[context.length - 1]; + + if (!isArray(tail)) { + section(context, partials, this); + return; + } + + for (var i = 0; i < tail.length; i++) { + context.push(tail[i]); + section(context, partials, this); + context.pop(); + } + }, + + // maybe start a section + s: function(val, ctx, partials, inverted, start, end, tags) { + var pass; + + if (isArray(val) && val.length === 0) { + return false; + } + + if (typeof val == 'function') { + val = this.ms(val, ctx, partials, inverted, start, end, tags); + } + + pass = !!val; + + if (!inverted && pass && ctx) { + ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]); + } + + return pass; + }, + + // find values with dotted names + d: function(key, ctx, partials, returnFound) { + var found, + names = key.split('.'), + val = this.f(names[0], ctx, partials, returnFound), + doModelGet = this.options.modelGet, + cx = null; + + if (key === '.' && isArray(ctx[ctx.length - 2])) { + val = ctx[ctx.length - 1]; + } else { + for (var i = 1; i < names.length; i++) { + found = findInScope(names[i], val, doModelGet); + if (found != null) { + cx = val; + val = found; + } else { + val = ''; + } + } + } + + if (returnFound && !val) { + return false; + } + + if (!returnFound && typeof val == 'function') { + ctx.push(cx); + val = this.mv(val, ctx, partials); + ctx.pop(); + } + + return val; + }, + + // find values with normal names + f: function(key, ctx, partials, returnFound) { + var val = false, + v = null, + found = false, + doModelGet = this.options.modelGet; + + for (var i = ctx.length - 1; i >= 0; i--) { + v = ctx[i]; + val = findInScope(key, v, doModelGet); + if (val != null) { + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.mv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ls: function(func, cx, partials, text, tags) { + var oldTags = this.options.delimiters; + + this.options.delimiters = tags; + this.b(this.ct(coerceToString(func.call(cx, text)), cx, partials)); + this.options.delimiters = oldTags; + + return false; + }, + + // compile text + ct: function(text, cx, partials) { + if (this.options.disableLambda) { + throw new Error('Lambda features disabled.'); + } + return this.c.compile(text, this.options).render(cx, partials); + }, + + // template result buffering + b: function(s) { this.buf += s; }, + + fl: function() { var r = this.buf; this.buf = ''; return r; }, + + // method replace section + ms: function(func, ctx, partials, inverted, start, end, tags) { + var textSource, + cx = ctx[ctx.length - 1], + result = func.call(cx); + + if (typeof result == 'function') { + if (inverted) { + return true; + } else { + textSource = (this.activeSub && this.subsText && this.subsText[this.activeSub]) ? this.subsText[this.activeSub] : this.text; + return this.ls(result, cx, partials, textSource.substring(start, end), tags); + } + } + + return result; + }, + + // method replace variable + mv: function(func, ctx, partials) { + var cx = ctx[ctx.length - 1]; + var result = func.call(cx); + + if (typeof result == 'function') { + return this.ct(coerceToString(result.call(cx)), cx, partials); + } + + return result; + }, + + sub: function(name, context, partials, indent) { + var f = this.subs[name]; + if (f) { + this.activeSub = name; + f(context, partials, this, indent); + this.activeSub = false; + } + } + + }; + + //Find a key in an object + function findInScope(key, scope, doModelGet) { + var val, checkVal; + + if (scope && typeof scope == 'object') { + + if (scope[key] != null) { + val = scope[key]; + + // try lookup with get for backbone or similar model data + } else if (doModelGet && scope.get && typeof scope.get == 'function') { + val = scope.get(key); + } + } + + return val; + } + + function createSpecializedPartial(instance, subs, partials, stackSubs, stackPartials, stackText) { + function PartialTemplate() {}; + PartialTemplate.prototype = instance; + function Substitutions() {}; + Substitutions.prototype = instance.subs; + var key; + var partial = new PartialTemplate(); + partial.subs = new Substitutions(); + partial.subsText = {}; //hehe. substext. + partial.buf = ''; + + stackSubs = stackSubs || {}; + partial.stackSubs = stackSubs; + partial.subsText = stackText; + for (key in subs) { + if (!stackSubs[key]) stackSubs[key] = subs[key]; + } + for (key in stackSubs) { + partial.subs[key] = stackSubs[key]; + } + + stackPartials = stackPartials || {}; + partial.stackPartials = stackPartials; + for (key in partials) { + if (!stackPartials[key]) stackPartials[key] = partials[key]; + } + for (key in stackPartials) { + partial.partials[key] = stackPartials[key]; + } + + return partial; + } + + var rAmp = /&/g, + rLt = //g, + rApos = /\'/g, + rQuot = /\"/g, + hChars = /[&<>\"\']/; + + function coerceToString(val) { + return String((val === null || val === undefined) ? '' : val); + } + + function hoganEscape(str) { + str = coerceToString(str); + return hChars.test(str) ? + str + .replace(rAmp, '&') + .replace(rLt, '<') + .replace(rGt, '>') + .replace(rApos, ''') + .replace(rQuot, '"') : + str; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + }; + +})(typeof exports !== 'undefined' ? exports : Hogan); + + + +if (typeof module !== 'undefined' && module.exports) { + module.exports = Hogan; +} diff --git a/hogan-node/node_modules/hogan.js/web/builds/3.0.1/hogan.template-3.0.1.js b/hogan-node/node_modules/hogan.js/web/builds/3.0.1/hogan.template-3.0.1.js new file mode 100644 index 0000000..dd2dfe2 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/3.0.1/hogan.template-3.0.1.js @@ -0,0 +1,345 @@ +/*! + * Copyright 2011 Twitter, Inc. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + + +var Hogan = {}; + +(function (Hogan) { + Hogan.Template = function (codeObj, text, compiler, options) { + codeObj = codeObj || {}; + this.r = codeObj.code || this.r; + this.c = compiler; + this.options = options || {}; + this.text = text || ''; + this.partials = codeObj.partials || {}; + this.subs = codeObj.subs || {}; + this.buf = ''; + } + + Hogan.Template.prototype = { + // render: replaced by generated code. + r: function (context, partials, indent) { return ''; }, + + // variable escaping + v: hoganEscape, + + // triple stache + t: coerceToString, + + render: function render(context, partials, indent) { + return this.ri([context], partials || {}, indent); + }, + + // render internal -- a hook for overrides that catches partials too + ri: function (context, partials, indent) { + return this.r(context, partials, indent); + }, + + // ensurePartial + ep: function(symbol, partials) { + var partial = this.partials[symbol]; + + // check to see that if we've instantiated this partial before + var template = partials[partial.name]; + if (partial.instance && partial.base == template) { + return partial.instance; + } + + if (typeof template == 'string') { + if (!this.c) { + throw new Error("No compiler available."); + } + template = this.c.compile(template, this.options); + } + + if (!template) { + return null; + } + + // We use this to check whether the partials dictionary has changed + this.partials[symbol].base = template; + + if (partial.subs) { + // Make sure we consider parent template now + if (!partials.stackText) partials.stackText = {}; + for (key in partial.subs) { + if (!partials.stackText[key]) { + partials.stackText[key] = (this.activeSub !== undefined && partials.stackText[this.activeSub]) ? partials.stackText[this.activeSub] : this.text; + } + } + template = createSpecializedPartial(template, partial.subs, partial.partials, + this.stackSubs, this.stackPartials, partials.stackText); + } + this.partials[symbol].instance = template; + + return template; + }, + + // tries to find a partial in the current scope and render it + rp: function(symbol, context, partials, indent) { + var partial = this.ep(symbol, partials); + if (!partial) { + return ''; + } + + return partial.ri(context, partials, indent); + }, + + // render a section + rs: function(context, partials, section) { + var tail = context[context.length - 1]; + + if (!isArray(tail)) { + section(context, partials, this); + return; + } + + for (var i = 0; i < tail.length; i++) { + context.push(tail[i]); + section(context, partials, this); + context.pop(); + } + }, + + // maybe start a section + s: function(val, ctx, partials, inverted, start, end, tags) { + var pass; + + if (isArray(val) && val.length === 0) { + return false; + } + + if (typeof val == 'function') { + val = this.ms(val, ctx, partials, inverted, start, end, tags); + } + + pass = !!val; + + if (!inverted && pass && ctx) { + ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]); + } + + return pass; + }, + + // find values with dotted names + d: function(key, ctx, partials, returnFound) { + var found, + names = key.split('.'), + val = this.f(names[0], ctx, partials, returnFound), + doModelGet = this.options.modelGet, + cx = null; + + if (key === '.' && isArray(ctx[ctx.length - 2])) { + val = ctx[ctx.length - 1]; + } else { + for (var i = 1; i < names.length; i++) { + found = findInScope(names[i], val, doModelGet); + if (found != null) { + cx = val; + val = found; + } else { + val = ''; + } + } + } + + if (returnFound && !val) { + return false; + } + + if (!returnFound && typeof val == 'function') { + ctx.push(cx); + val = this.mv(val, ctx, partials); + ctx.pop(); + } + + return val; + }, + + // find values with normal names + f: function(key, ctx, partials, returnFound) { + var val = false, + v = null, + found = false, + doModelGet = this.options.modelGet; + + for (var i = ctx.length - 1; i >= 0; i--) { + v = ctx[i]; + val = findInScope(key, v, doModelGet); + if (val != null) { + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.mv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ls: function(func, cx, partials, text, tags) { + var oldTags = this.options.delimiters; + + this.options.delimiters = tags; + this.b(this.ct(coerceToString(func.call(cx, text)), cx, partials)); + this.options.delimiters = oldTags; + + return false; + }, + + // compile text + ct: function(text, cx, partials) { + if (this.options.disableLambda) { + throw new Error('Lambda features disabled.'); + } + return this.c.compile(text, this.options).render(cx, partials); + }, + + // template result buffering + b: function(s) { this.buf += s; }, + + fl: function() { var r = this.buf; this.buf = ''; return r; }, + + // method replace section + ms: function(func, ctx, partials, inverted, start, end, tags) { + var textSource, + cx = ctx[ctx.length - 1], + result = func.call(cx); + + if (typeof result == 'function') { + if (inverted) { + return true; + } else { + textSource = (this.activeSub && this.subsText && this.subsText[this.activeSub]) ? this.subsText[this.activeSub] : this.text; + return this.ls(result, cx, partials, textSource.substring(start, end), tags); + } + } + + return result; + }, + + // method replace variable + mv: function(func, ctx, partials) { + var cx = ctx[ctx.length - 1]; + var result = func.call(cx); + + if (typeof result == 'function') { + return this.ct(coerceToString(result.call(cx)), cx, partials); + } + + return result; + }, + + sub: function(name, context, partials, indent) { + var f = this.subs[name]; + if (f) { + this.activeSub = name; + f(context, partials, this, indent); + this.activeSub = false; + } + } + + }; + + //Find a key in an object + function findInScope(key, scope, doModelGet) { + var val, checkVal; + + if (scope && typeof scope == 'object') { + + if (scope[key] != null) { + val = scope[key]; + + // try lookup with get for backbone or similar model data + } else if (doModelGet && scope.get && typeof scope.get == 'function') { + val = scope.get(key); + } + } + + return val; + } + + function createSpecializedPartial(instance, subs, partials, stackSubs, stackPartials, stackText) { + function PartialTemplate() {}; + PartialTemplate.prototype = instance; + function Substitutions() {}; + Substitutions.prototype = instance.subs; + var key; + var partial = new PartialTemplate(); + partial.subs = new Substitutions(); + partial.subsText = {}; //hehe. substext. + partial.buf = ''; + + stackSubs = stackSubs || {}; + partial.stackSubs = stackSubs; + partial.subsText = stackText; + for (key in subs) { + if (!stackSubs[key]) stackSubs[key] = subs[key]; + } + for (key in stackSubs) { + partial.subs[key] = stackSubs[key]; + } + + stackPartials = stackPartials || {}; + partial.stackPartials = stackPartials; + for (key in partials) { + if (!stackPartials[key]) stackPartials[key] = partials[key]; + } + for (key in stackPartials) { + partial.partials[key] = stackPartials[key]; + } + + return partial; + } + + var rAmp = /&/g, + rLt = //g, + rApos = /\'/g, + rQuot = /\"/g, + hChars = /[&<>\"\']/; + + function coerceToString(val) { + return String((val === null || val === undefined) ? '' : val); + } + + function hoganEscape(str) { + str = coerceToString(str); + return hChars.test(str) ? + str + .replace(rAmp, '&') + .replace(rLt, '<') + .replace(rGt, '>') + .replace(rApos, ''') + .replace(rQuot, '"') : + str; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + }; + +})(typeof exports !== 'undefined' ? exports : Hogan); + + diff --git a/hogan-node/node_modules/hogan.js/web/builds/3.0.1/hogan.template-3.0.1.min.amd.js b/hogan-node/node_modules/hogan.js/web/builds/3.0.1/hogan.template-3.0.1.min.amd.js new file mode 100644 index 0000000..998791a --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/3.0.1/hogan.template-3.0.1.min.amd.js @@ -0,0 +1,5 @@ +/** +* @preserve Copyright 2012 Twitter, Inc. +* @license http://www.apache.org/licenses/LICENSE-2.0.txt +*/ +var Hogan={};(function(e){function t(e,t,n){var r,i;return t&&typeof t=="object"&&(t[e]!=null?r=t[e]:n&&t.get&&typeof t.get=="function"&&(r=t.get(e))),r}function n(e,t,n,r,i,s){function o(){}function u(){}o.prototype=e,u.prototype=e.subs;var a,f=new o;f.subs=new u,f.subsText={},f.buf="",r=r||{},f.stackSubs=r,f.subsText=s;for(a in t)r[a]||(r[a]=t[a]);for(a in r)f.subs[a]=r[a];i=i||{},f.stackPartials=i;for(a in n)i[a]||(i[a]=n[a]);for(a in i)f.partials[a]=i[a];return f}function f(e){return String(e===null||e===undefined?"":e)}function l(e){return e=f(e),a.test(e)?e.replace(r,"&").replace(i,"<").replace(s,">").replace(o,"'").replace(u,"""):e}e.Template=function(e,t,n,r){e=e||{},this.r=e.code||this.r,this.c=n,this.options=r||{},this.text=t||"",this.partials=e.partials||{},this.subs=e.subs||{},this.buf=""},e.Template.prototype={r:function(e,t,n){return""},v:l,t:f,render:function(t,n,r){return this.ri([t],n||{},r)},ri:function(e,t,n){return this.r(e,t,n)},ep:function(e,t){var r=this.partials[e],i=t[r.name];if(r.instance&&r.base==i)return r.instance;if(typeof i=="string"){if(!this.c)throw new Error("No compiler available.");i=this.c.compile(i,this.options)}if(!i)return null;this.partials[e].base=i;if(r.subs){t.stackText||(t.stackText={});for(key in r.subs)t.stackText[key]||(t.stackText[key]=this.activeSub!==undefined&&t.stackText[this.activeSub]?t.stackText[this.activeSub]:this.text);i=n(i,r.subs,r.partials,this.stackSubs,this.stackPartials,t.stackText)}return this.partials[e].instance=i,i},rp:function(e,t,n,r){var i=this.ep(e,n);return i?i.ri(t,n,r):""},rs:function(e,t,n){var r=e[e.length-1];if(!c(r)){n(e,t,this);return}for(var i=0;i=0;f--){o=n[f],s=t(e,o,a);if(s!=null){u=!0;break}}return u?(!i&&typeof s=="function"&&(s=this.mv(s,n,r)),s):i?!1:""},ls:function(e,t,n,r,i){var s=this.options.delimiters;return this.options.delimiters=i,this.b(this.ct(f(e.call(t,r)),t,n)),this.options.delimiters=s,!1},ct:function(e,t,n){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(e,this.options).render(t,n)},b:function(e){this.buf+=e},fl:function(){var e=this.buf;return this.buf="",e},ms:function(e,t,n,r,i,s,o){var u,a=t[t.length-1],f=e.call(a);return typeof f=="function"?r?!0:(u=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(f,a,n,u.substring(i,s),o)):f},mv:function(e,t,n){var r=t[t.length-1],i=e.call(r);return typeof i=="function"?this.ct(f(i.call(r)),r,n):i},sub:function(e,t,n,r){var i=this.subs[e];i&&(this.activeSub=e,i(t,n,this,r),this.activeSub=!1)}};var r=/&/g,i=//g,o=/\'/g,u=/\"/g,a=/[&<>\"\']/,c=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"}})(typeof exports!="undefined"?exports:Hogan),typeof define=="function"&&define.amd&&define(Hogan) \ No newline at end of file diff --git a/hogan-node/node_modules/hogan.js/web/builds/3.0.1/hogan.template-3.0.1.min.common.js b/hogan-node/node_modules/hogan.js/web/builds/3.0.1/hogan.template-3.0.1.min.common.js new file mode 100644 index 0000000..016f87d --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/3.0.1/hogan.template-3.0.1.min.common.js @@ -0,0 +1,5 @@ +/** +* @preserve Copyright 2012 Twitter, Inc. +* @license http://www.apache.org/licenses/LICENSE-2.0.txt +*/ +var Hogan={};(function(e){function t(e,t,n){var r,i;return t&&typeof t=="object"&&(t[e]!=null?r=t[e]:n&&t.get&&typeof t.get=="function"&&(r=t.get(e))),r}function n(e,t,n,r,i,s){function o(){}function u(){}o.prototype=e,u.prototype=e.subs;var a,f=new o;f.subs=new u,f.subsText={},f.buf="",r=r||{},f.stackSubs=r,f.subsText=s;for(a in t)r[a]||(r[a]=t[a]);for(a in r)f.subs[a]=r[a];i=i||{},f.stackPartials=i;for(a in n)i[a]||(i[a]=n[a]);for(a in i)f.partials[a]=i[a];return f}function f(e){return String(e===null||e===undefined?"":e)}function l(e){return e=f(e),a.test(e)?e.replace(r,"&").replace(i,"<").replace(s,">").replace(o,"'").replace(u,"""):e}e.Template=function(e,t,n,r){e=e||{},this.r=e.code||this.r,this.c=n,this.options=r||{},this.text=t||"",this.partials=e.partials||{},this.subs=e.subs||{},this.buf=""},e.Template.prototype={r:function(e,t,n){return""},v:l,t:f,render:function(t,n,r){return this.ri([t],n||{},r)},ri:function(e,t,n){return this.r(e,t,n)},ep:function(e,t){var r=this.partials[e],i=t[r.name];if(r.instance&&r.base==i)return r.instance;if(typeof i=="string"){if(!this.c)throw new Error("No compiler available.");i=this.c.compile(i,this.options)}if(!i)return null;this.partials[e].base=i;if(r.subs){t.stackText||(t.stackText={});for(key in r.subs)t.stackText[key]||(t.stackText[key]=this.activeSub!==undefined&&t.stackText[this.activeSub]?t.stackText[this.activeSub]:this.text);i=n(i,r.subs,r.partials,this.stackSubs,this.stackPartials,t.stackText)}return this.partials[e].instance=i,i},rp:function(e,t,n,r){var i=this.ep(e,n);return i?i.ri(t,n,r):""},rs:function(e,t,n){var r=e[e.length-1];if(!c(r)){n(e,t,this);return}for(var i=0;i=0;f--){o=n[f],s=t(e,o,a);if(s!=null){u=!0;break}}return u?(!i&&typeof s=="function"&&(s=this.mv(s,n,r)),s):i?!1:""},ls:function(e,t,n,r,i){var s=this.options.delimiters;return this.options.delimiters=i,this.b(this.ct(f(e.call(t,r)),t,n)),this.options.delimiters=s,!1},ct:function(e,t,n){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(e,this.options).render(t,n)},b:function(e){this.buf+=e},fl:function(){var e=this.buf;return this.buf="",e},ms:function(e,t,n,r,i,s,o){var u,a=t[t.length-1],f=e.call(a);return typeof f=="function"?r?!0:(u=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(f,a,n,u.substring(i,s),o)):f},mv:function(e,t,n){var r=t[t.length-1],i=e.call(r);return typeof i=="function"?this.ct(f(i.call(r)),r,n):i},sub:function(e,t,n,r){var i=this.subs[e];i&&(this.activeSub=e,i(t,n,this,r),this.activeSub=!1)}};var r=/&/g,i=//g,o=/\'/g,u=/\"/g,a=/[&<>\"\']/,c=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"}})(typeof exports!="undefined"?exports:Hogan),typeof module!="undefined"&&module.exports&&(module.exports=Hogan) \ No newline at end of file diff --git a/hogan-node/node_modules/hogan.js/web/builds/3.0.1/hogan.template-3.0.1.min.js b/hogan-node/node_modules/hogan.js/web/builds/3.0.1/hogan.template-3.0.1.min.js new file mode 100644 index 0000000..bb2d173 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/3.0.1/hogan.template-3.0.1.min.js @@ -0,0 +1,5 @@ +/** +* @preserve Copyright 2012 Twitter, Inc. +* @license http://www.apache.org/licenses/LICENSE-2.0.txt +*/ +var Hogan={};(function(e){function t(e,t,n){var r,i;return t&&typeof t=="object"&&(t[e]!=null?r=t[e]:n&&t.get&&typeof t.get=="function"&&(r=t.get(e))),r}function n(e,t,n,r,i,s){function o(){}function u(){}o.prototype=e,u.prototype=e.subs;var a,f=new o;f.subs=new u,f.subsText={},f.buf="",r=r||{},f.stackSubs=r,f.subsText=s;for(a in t)r[a]||(r[a]=t[a]);for(a in r)f.subs[a]=r[a];i=i||{},f.stackPartials=i;for(a in n)i[a]||(i[a]=n[a]);for(a in i)f.partials[a]=i[a];return f}function f(e){return String(e===null||e===undefined?"":e)}function l(e){return e=f(e),a.test(e)?e.replace(r,"&").replace(i,"<").replace(s,">").replace(o,"'").replace(u,"""):e}e.Template=function(e,t,n,r){e=e||{},this.r=e.code||this.r,this.c=n,this.options=r||{},this.text=t||"",this.partials=e.partials||{},this.subs=e.subs||{},this.buf=""},e.Template.prototype={r:function(e,t,n){return""},v:l,t:f,render:function(t,n,r){return this.ri([t],n||{},r)},ri:function(e,t,n){return this.r(e,t,n)},ep:function(e,t){var r=this.partials[e],i=t[r.name];if(r.instance&&r.base==i)return r.instance;if(typeof i=="string"){if(!this.c)throw new Error("No compiler available.");i=this.c.compile(i,this.options)}if(!i)return null;this.partials[e].base=i;if(r.subs){t.stackText||(t.stackText={});for(key in r.subs)t.stackText[key]||(t.stackText[key]=this.activeSub!==undefined&&t.stackText[this.activeSub]?t.stackText[this.activeSub]:this.text);i=n(i,r.subs,r.partials,this.stackSubs,this.stackPartials,t.stackText)}return this.partials[e].instance=i,i},rp:function(e,t,n,r){var i=this.ep(e,n);return i?i.ri(t,n,r):""},rs:function(e,t,n){var r=e[e.length-1];if(!c(r)){n(e,t,this);return}for(var i=0;i=0;f--){o=n[f],s=t(e,o,a);if(s!=null){u=!0;break}}return u?(!i&&typeof s=="function"&&(s=this.mv(s,n,r)),s):i?!1:""},ls:function(e,t,n,r,i){var s=this.options.delimiters;return this.options.delimiters=i,this.b(this.ct(f(e.call(t,r)),t,n)),this.options.delimiters=s,!1},ct:function(e,t,n){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(e,this.options).render(t,n)},b:function(e){this.buf+=e},fl:function(){var e=this.buf;return this.buf="",e},ms:function(e,t,n,r,i,s,o){var u,a=t[t.length-1],f=e.call(a);return typeof f=="function"?r?!0:(u=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(f,a,n,u.substring(i,s),o)):f},mv:function(e,t,n){var r=t[t.length-1],i=e.call(r);return typeof i=="function"?this.ct(f(i.call(r)),r,n):i},sub:function(e,t,n,r){var i=this.subs[e];i&&(this.activeSub=e,i(t,n,this,r),this.activeSub=!1)}};var r=/&/g,i=//g,o=/\'/g,u=/\"/g,a=/[&<>\"\']/,c=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"}})(typeof exports!="undefined"?exports:Hogan) \ No newline at end of file diff --git a/hogan-node/node_modules/hogan.js/web/builds/3.0.1/hogan.template-3.0.1.min.mustache.js b/hogan-node/node_modules/hogan.js/web/builds/3.0.1/hogan.template-3.0.1.min.mustache.js new file mode 100644 index 0000000..52cdcb2 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/3.0.1/hogan.template-3.0.1.min.mustache.js @@ -0,0 +1,5 @@ +/** +* @preserve Copyright 2012 Twitter, Inc. +* @license http://www.apache.org/licenses/LICENSE-2.0.txt +*/ +var Hogan={};(function(e){function t(e,t,n){var r,i;return t&&typeof t=="object"&&(t[e]!=null?r=t[e]:n&&t.get&&typeof t.get=="function"&&(r=t.get(e))),r}function n(e,t,n,r,i,s){function o(){}function u(){}o.prototype=e,u.prototype=e.subs;var a,f=new o;f.subs=new u,f.subsText={},f.buf="",r=r||{},f.stackSubs=r,f.subsText=s;for(a in t)r[a]||(r[a]=t[a]);for(a in r)f.subs[a]=r[a];i=i||{},f.stackPartials=i;for(a in n)i[a]||(i[a]=n[a]);for(a in i)f.partials[a]=i[a];return f}function f(e){return String(e===null||e===undefined?"":e)}function l(e){return e=f(e),a.test(e)?e.replace(r,"&").replace(i,"<").replace(s,">").replace(o,"'").replace(u,"""):e}e.Template=function(e,t,n,r){e=e||{},this.r=e.code||this.r,this.c=n,this.options=r||{},this.text=t||"",this.partials=e.partials||{},this.subs=e.subs||{},this.buf=""},e.Template.prototype={r:function(e,t,n){return""},v:l,t:f,render:function(t,n,r){return this.ri([t],n||{},r)},ri:function(e,t,n){return this.r(e,t,n)},ep:function(e,t){var r=this.partials[e],i=t[r.name];if(r.instance&&r.base==i)return r.instance;if(typeof i=="string"){if(!this.c)throw new Error("No compiler available.");i=this.c.compile(i,this.options)}if(!i)return null;this.partials[e].base=i;if(r.subs){t.stackText||(t.stackText={});for(key in r.subs)t.stackText[key]||(t.stackText[key]=this.activeSub!==undefined&&t.stackText[this.activeSub]?t.stackText[this.activeSub]:this.text);i=n(i,r.subs,r.partials,this.stackSubs,this.stackPartials,t.stackText)}return this.partials[e].instance=i,i},rp:function(e,t,n,r){var i=this.ep(e,n);return i?i.ri(t,n,r):""},rs:function(e,t,n){var r=e[e.length-1];if(!c(r)){n(e,t,this);return}for(var i=0;i=0;f--){o=n[f],s=t(e,o,a);if(s!=null){u=!0;break}}return u?(!i&&typeof s=="function"&&(s=this.mv(s,n,r)),s):i?!1:""},ls:function(e,t,n,r,i){var s=this.options.delimiters;return this.options.delimiters=i,this.b(this.ct(f(e.call(t,r)),t,n)),this.options.delimiters=s,!1},ct:function(e,t,n){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(e,this.options).render(t,n)},b:function(e){this.buf+=e},fl:function(){var e=this.buf;return this.buf="",e},ms:function(e,t,n,r,i,s,o){var u,a=t[t.length-1],f=e.call(a);return typeof f=="function"?r?!0:(u=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(f,a,n,u.substring(i,s),o)):f},mv:function(e,t,n){var r=t[t.length-1],i=e.call(r);return typeof i=="function"?this.ct(f(i.call(r)),r,n):i},sub:function(e,t,n,r){var i=this.subs[e];i&&(this.activeSub=e,i(t,n,this,r),this.activeSub=!1)}};var r=/&/g,i=//g,o=/\'/g,u=/\"/g,a=/[&<>\"\']/,c=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"}})(typeof exports!="undefined"?exports:Hogan);var Mustache=function(e){function t(t,n,r,i){var s=this.f(t,n,r,0),o=n;return s&&(o=o.concat(s)),e.Template.prototype.rp.call(this,t,o,r,i)}var n=function(n,r,i){this.rp=t,e.Template.call(this,n,r,i)};n.prototype=e.Template.prototype;var r,i=function(){this.cache={},this.generate=function(e,t,i){return new n(new Function("c","p","i",e),t,r)}};return i.prototype=e,r=new i,{to_html:function(e,t,n,i){var s=r.compile(e),o=s.render(t,n);if(!i)return o;i(o)}}}(Hogan) \ No newline at end of file diff --git a/hogan-node/node_modules/hogan.js/web/builds/3.0.1/hogan.template-3.0.1.mustache.js b/hogan-node/node_modules/hogan.js/web/builds/3.0.1/hogan.template-3.0.1.mustache.js new file mode 100644 index 0000000..db8b320 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/3.0.1/hogan.template-3.0.1.mustache.js @@ -0,0 +1,392 @@ +/*! + * Copyright 2011 Twitter, Inc. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// A wrapper for compatibility with Mustache.js, quirks and all + + + +var Hogan = {}; + +(function (Hogan) { + Hogan.Template = function (codeObj, text, compiler, options) { + codeObj = codeObj || {}; + this.r = codeObj.code || this.r; + this.c = compiler; + this.options = options || {}; + this.text = text || ''; + this.partials = codeObj.partials || {}; + this.subs = codeObj.subs || {}; + this.buf = ''; + } + + Hogan.Template.prototype = { + // render: replaced by generated code. + r: function (context, partials, indent) { return ''; }, + + // variable escaping + v: hoganEscape, + + // triple stache + t: coerceToString, + + render: function render(context, partials, indent) { + return this.ri([context], partials || {}, indent); + }, + + // render internal -- a hook for overrides that catches partials too + ri: function (context, partials, indent) { + return this.r(context, partials, indent); + }, + + // ensurePartial + ep: function(symbol, partials) { + var partial = this.partials[symbol]; + + // check to see that if we've instantiated this partial before + var template = partials[partial.name]; + if (partial.instance && partial.base == template) { + return partial.instance; + } + + if (typeof template == 'string') { + if (!this.c) { + throw new Error("No compiler available."); + } + template = this.c.compile(template, this.options); + } + + if (!template) { + return null; + } + + // We use this to check whether the partials dictionary has changed + this.partials[symbol].base = template; + + if (partial.subs) { + // Make sure we consider parent template now + if (!partials.stackText) partials.stackText = {}; + for (key in partial.subs) { + if (!partials.stackText[key]) { + partials.stackText[key] = (this.activeSub !== undefined && partials.stackText[this.activeSub]) ? partials.stackText[this.activeSub] : this.text; + } + } + template = createSpecializedPartial(template, partial.subs, partial.partials, + this.stackSubs, this.stackPartials, partials.stackText); + } + this.partials[symbol].instance = template; + + return template; + }, + + // tries to find a partial in the current scope and render it + rp: function(symbol, context, partials, indent) { + var partial = this.ep(symbol, partials); + if (!partial) { + return ''; + } + + return partial.ri(context, partials, indent); + }, + + // render a section + rs: function(context, partials, section) { + var tail = context[context.length - 1]; + + if (!isArray(tail)) { + section(context, partials, this); + return; + } + + for (var i = 0; i < tail.length; i++) { + context.push(tail[i]); + section(context, partials, this); + context.pop(); + } + }, + + // maybe start a section + s: function(val, ctx, partials, inverted, start, end, tags) { + var pass; + + if (isArray(val) && val.length === 0) { + return false; + } + + if (typeof val == 'function') { + val = this.ms(val, ctx, partials, inverted, start, end, tags); + } + + pass = !!val; + + if (!inverted && pass && ctx) { + ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]); + } + + return pass; + }, + + // find values with dotted names + d: function(key, ctx, partials, returnFound) { + var found, + names = key.split('.'), + val = this.f(names[0], ctx, partials, returnFound), + doModelGet = this.options.modelGet, + cx = null; + + if (key === '.' && isArray(ctx[ctx.length - 2])) { + val = ctx[ctx.length - 1]; + } else { + for (var i = 1; i < names.length; i++) { + found = findInScope(names[i], val, doModelGet); + if (found != null) { + cx = val; + val = found; + } else { + val = ''; + } + } + } + + if (returnFound && !val) { + return false; + } + + if (!returnFound && typeof val == 'function') { + ctx.push(cx); + val = this.mv(val, ctx, partials); + ctx.pop(); + } + + return val; + }, + + // find values with normal names + f: function(key, ctx, partials, returnFound) { + var val = false, + v = null, + found = false, + doModelGet = this.options.modelGet; + + for (var i = ctx.length - 1; i >= 0; i--) { + v = ctx[i]; + val = findInScope(key, v, doModelGet); + if (val != null) { + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.mv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ls: function(func, cx, partials, text, tags) { + var oldTags = this.options.delimiters; + + this.options.delimiters = tags; + this.b(this.ct(coerceToString(func.call(cx, text)), cx, partials)); + this.options.delimiters = oldTags; + + return false; + }, + + // compile text + ct: function(text, cx, partials) { + if (this.options.disableLambda) { + throw new Error('Lambda features disabled.'); + } + return this.c.compile(text, this.options).render(cx, partials); + }, + + // template result buffering + b: function(s) { this.buf += s; }, + + fl: function() { var r = this.buf; this.buf = ''; return r; }, + + // method replace section + ms: function(func, ctx, partials, inverted, start, end, tags) { + var textSource, + cx = ctx[ctx.length - 1], + result = func.call(cx); + + if (typeof result == 'function') { + if (inverted) { + return true; + } else { + textSource = (this.activeSub && this.subsText && this.subsText[this.activeSub]) ? this.subsText[this.activeSub] : this.text; + return this.ls(result, cx, partials, textSource.substring(start, end), tags); + } + } + + return result; + }, + + // method replace variable + mv: function(func, ctx, partials) { + var cx = ctx[ctx.length - 1]; + var result = func.call(cx); + + if (typeof result == 'function') { + return this.ct(coerceToString(result.call(cx)), cx, partials); + } + + return result; + }, + + sub: function(name, context, partials, indent) { + var f = this.subs[name]; + if (f) { + this.activeSub = name; + f(context, partials, this, indent); + this.activeSub = false; + } + } + + }; + + //Find a key in an object + function findInScope(key, scope, doModelGet) { + var val, checkVal; + + if (scope && typeof scope == 'object') { + + if (scope[key] != null) { + val = scope[key]; + + // try lookup with get for backbone or similar model data + } else if (doModelGet && scope.get && typeof scope.get == 'function') { + val = scope.get(key); + } + } + + return val; + } + + function createSpecializedPartial(instance, subs, partials, stackSubs, stackPartials, stackText) { + function PartialTemplate() {}; + PartialTemplate.prototype = instance; + function Substitutions() {}; + Substitutions.prototype = instance.subs; + var key; + var partial = new PartialTemplate(); + partial.subs = new Substitutions(); + partial.subsText = {}; //hehe. substext. + partial.buf = ''; + + stackSubs = stackSubs || {}; + partial.stackSubs = stackSubs; + partial.subsText = stackText; + for (key in subs) { + if (!stackSubs[key]) stackSubs[key] = subs[key]; + } + for (key in stackSubs) { + partial.subs[key] = stackSubs[key]; + } + + stackPartials = stackPartials || {}; + partial.stackPartials = stackPartials; + for (key in partials) { + if (!stackPartials[key]) stackPartials[key] = partials[key]; + } + for (key in stackPartials) { + partial.partials[key] = stackPartials[key]; + } + + return partial; + } + + var rAmp = /&/g, + rLt = //g, + rApos = /\'/g, + rQuot = /\"/g, + hChars = /[&<>\"\']/; + + function coerceToString(val) { + return String((val === null || val === undefined) ? '' : val); + } + + function hoganEscape(str) { + str = coerceToString(str); + return hChars.test(str) ? + str + .replace(rAmp, '&') + .replace(rLt, '<') + .replace(rGt, '>') + .replace(rApos, ''') + .replace(rQuot, '"') : + str; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + }; + +})(typeof exports !== 'undefined' ? exports : Hogan); + + + +var Mustache = (function (Hogan) { + + // Mustache.js has non-spec partial context behavior + function mustachePartial(name, context, partials, indent) { + var partialScope = this.f(name, context, partials, 0); + var cx = context; + if (partialScope) { + cx = cx.concat(partialScope); + } + + return Hogan.Template.prototype.rp.call(this, name, cx, partials, indent); + } + + var HoganTemplateWrapper = function(renderFunc, text, compiler){ + this.rp = mustachePartial; + Hogan.Template.call(this, renderFunc, text, compiler); + }; + HoganTemplateWrapper.prototype = Hogan.Template.prototype; + + // Add a wrapper for Hogan's generate method. Mustache and Hogan keep + // separate caches, and Mustache returns wrapped templates. + var wrapper; + var HoganWrapper = function(){ + this.cache = {}; + this.generate = function(code, text, options) { + return new HoganTemplateWrapper(new Function('c', 'p', 'i', code), text, wrapper); + } + }; + HoganWrapper.prototype = Hogan; + wrapper = new HoganWrapper(); + + return { + to_html: function(text, data, partials, sendFun) { + var template = wrapper.compile(text); + var result = template.render(data, partials); + if (!sendFun) { + return result; + } + + sendFun(result); + } + } + +})(Hogan); diff --git a/hogan-node/node_modules/hogan.js/web/builds/3.0.2/hogan-3.0.2.amd.js b/hogan-node/node_modules/hogan.js/web/builds/3.0.2/hogan-3.0.2.amd.js new file mode 100644 index 0000000..aea31a6 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/3.0.2/hogan-3.0.2.amd.js @@ -0,0 +1,759 @@ +/*! + * Copyright 2011 Twitter, Inc. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + + +var Hogan = {}; + +(function (Hogan) { + Hogan.Template = function (codeObj, text, compiler, options) { + codeObj = codeObj || {}; + this.r = codeObj.code || this.r; + this.c = compiler; + this.options = options || {}; + this.text = text || ''; + this.partials = codeObj.partials || {}; + this.subs = codeObj.subs || {}; + this.buf = ''; + } + + Hogan.Template.prototype = { + // render: replaced by generated code. + r: function (context, partials, indent) { return ''; }, + + // variable escaping + v: hoganEscape, + + // triple stache + t: coerceToString, + + render: function render(context, partials, indent) { + return this.ri([context], partials || {}, indent); + }, + + // render internal -- a hook for overrides that catches partials too + ri: function (context, partials, indent) { + return this.r(context, partials, indent); + }, + + // ensurePartial + ep: function(symbol, partials) { + var partial = this.partials[symbol]; + + // check to see that if we've instantiated this partial before + var template = partials[partial.name]; + if (partial.instance && partial.base == template) { + return partial.instance; + } + + if (typeof template == 'string') { + if (!this.c) { + throw new Error("No compiler available."); + } + template = this.c.compile(template, this.options); + } + + if (!template) { + return null; + } + + // We use this to check whether the partials dictionary has changed + this.partials[symbol].base = template; + + if (partial.subs) { + // Make sure we consider parent template now + if (!partials.stackText) partials.stackText = {}; + for (key in partial.subs) { + if (!partials.stackText[key]) { + partials.stackText[key] = (this.activeSub !== undefined && partials.stackText[this.activeSub]) ? partials.stackText[this.activeSub] : this.text; + } + } + template = createSpecializedPartial(template, partial.subs, partial.partials, + this.stackSubs, this.stackPartials, partials.stackText); + } + this.partials[symbol].instance = template; + + return template; + }, + + // tries to find a partial in the current scope and render it + rp: function(symbol, context, partials, indent) { + var partial = this.ep(symbol, partials); + if (!partial) { + return ''; + } + + return partial.ri(context, partials, indent); + }, + + // render a section + rs: function(context, partials, section) { + var tail = context[context.length - 1]; + + if (!isArray(tail)) { + section(context, partials, this); + return; + } + + for (var i = 0; i < tail.length; i++) { + context.push(tail[i]); + section(context, partials, this); + context.pop(); + } + }, + + // maybe start a section + s: function(val, ctx, partials, inverted, start, end, tags) { + var pass; + + if (isArray(val) && val.length === 0) { + return false; + } + + if (typeof val == 'function') { + val = this.ms(val, ctx, partials, inverted, start, end, tags); + } + + pass = !!val; + + if (!inverted && pass && ctx) { + ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]); + } + + return pass; + }, + + // find values with dotted names + d: function(key, ctx, partials, returnFound) { + var found, + names = key.split('.'), + val = this.f(names[0], ctx, partials, returnFound), + doModelGet = this.options.modelGet, + cx = null; + + if (key === '.' && isArray(ctx[ctx.length - 2])) { + val = ctx[ctx.length - 1]; + } else { + for (var i = 1; i < names.length; i++) { + found = findInScope(names[i], val, doModelGet); + if (found !== undefined) { + cx = val; + val = found; + } else { + val = ''; + } + } + } + + if (returnFound && !val) { + return false; + } + + if (!returnFound && typeof val == 'function') { + ctx.push(cx); + val = this.mv(val, ctx, partials); + ctx.pop(); + } + + return val; + }, + + // find values with normal names + f: function(key, ctx, partials, returnFound) { + var val = false, + v = null, + found = false, + doModelGet = this.options.modelGet; + + for (var i = ctx.length - 1; i >= 0; i--) { + v = ctx[i]; + val = findInScope(key, v, doModelGet); + if (val !== undefined) { + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.mv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ls: function(func, cx, partials, text, tags) { + var oldTags = this.options.delimiters; + + this.options.delimiters = tags; + this.b(this.ct(coerceToString(func.call(cx, text)), cx, partials)); + this.options.delimiters = oldTags; + + return false; + }, + + // compile text + ct: function(text, cx, partials) { + if (this.options.disableLambda) { + throw new Error('Lambda features disabled.'); + } + return this.c.compile(text, this.options).render(cx, partials); + }, + + // template result buffering + b: function(s) { this.buf += s; }, + + fl: function() { var r = this.buf; this.buf = ''; return r; }, + + // method replace section + ms: function(func, ctx, partials, inverted, start, end, tags) { + var textSource, + cx = ctx[ctx.length - 1], + result = func.call(cx); + + if (typeof result == 'function') { + if (inverted) { + return true; + } else { + textSource = (this.activeSub && this.subsText && this.subsText[this.activeSub]) ? this.subsText[this.activeSub] : this.text; + return this.ls(result, cx, partials, textSource.substring(start, end), tags); + } + } + + return result; + }, + + // method replace variable + mv: function(func, ctx, partials) { + var cx = ctx[ctx.length - 1]; + var result = func.call(cx); + + if (typeof result == 'function') { + return this.ct(coerceToString(result.call(cx)), cx, partials); + } + + return result; + }, + + sub: function(name, context, partials, indent) { + var f = this.subs[name]; + if (f) { + this.activeSub = name; + f(context, partials, this, indent); + this.activeSub = false; + } + } + + }; + + //Find a key in an object + function findInScope(key, scope, doModelGet) { + var val; + + if (scope && typeof scope == 'object') { + + if (scope[key] !== undefined) { + val = scope[key]; + + // try lookup with get for backbone or similar model data + } else if (doModelGet && scope.get && typeof scope.get == 'function') { + val = scope.get(key); + } + } + + return val; + } + + function createSpecializedPartial(instance, subs, partials, stackSubs, stackPartials, stackText) { + function PartialTemplate() {}; + PartialTemplate.prototype = instance; + function Substitutions() {}; + Substitutions.prototype = instance.subs; + var key; + var partial = new PartialTemplate(); + partial.subs = new Substitutions(); + partial.subsText = {}; //hehe. substext. + partial.buf = ''; + + stackSubs = stackSubs || {}; + partial.stackSubs = stackSubs; + partial.subsText = stackText; + for (key in subs) { + if (!stackSubs[key]) stackSubs[key] = subs[key]; + } + for (key in stackSubs) { + partial.subs[key] = stackSubs[key]; + } + + stackPartials = stackPartials || {}; + partial.stackPartials = stackPartials; + for (key in partials) { + if (!stackPartials[key]) stackPartials[key] = partials[key]; + } + for (key in stackPartials) { + partial.partials[key] = stackPartials[key]; + } + + return partial; + } + + var rAmp = /&/g, + rLt = //g, + rApos = /\'/g, + rQuot = /\"/g, + hChars = /[&<>\"\']/; + + function coerceToString(val) { + return String((val === null || val === undefined) ? '' : val); + } + + function hoganEscape(str) { + str = coerceToString(str); + return hChars.test(str) ? + str + .replace(rAmp, '&') + .replace(rLt, '<') + .replace(rGt, '>') + .replace(rApos, ''') + .replace(rQuot, '"') : + str; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + }; + +})(typeof exports !== 'undefined' ? exports : Hogan); + + + +(function (Hogan) { + // Setup regex assignments + // remove whitespace according to Mustache spec + var rIsWhitespace = /\S/, + rQuot = /\"/g, + rNewline = /\n/g, + rCr = /\r/g, + rSlash = /\\/g, + rLineSep = /\u2028/, + rParagraphSep = /\u2029/; + + Hogan.tags = { + '#': 1, '^': 2, '<': 3, '$': 4, + '/': 5, '!': 6, '>': 7, '=': 8, '_v': 9, + '{': 10, '&': 11, '_t': 12 + }; + + Hogan.scan = function scan(text, delimiters) { + var len = text.length, + IN_TEXT = 0, + IN_TAG_TYPE = 1, + IN_TAG = 2, + state = IN_TEXT, + tagType = null, + tag = null, + buf = '', + tokens = [], + seenTag = false, + i = 0, + lineStart = 0, + otag = '{{', + ctag = '}}'; + + function addBuf() { + if (buf.length > 0) { + tokens.push({tag: '_t', text: new String(buf)}); + buf = ''; + } + } + + function lineIsWhitespace() { + var isAllWhitespace = true; + for (var j = lineStart; j < tokens.length; j++) { + isAllWhitespace = + (Hogan.tags[tokens[j].tag] < Hogan.tags['_v']) || + (tokens[j].tag == '_t' && tokens[j].text.match(rIsWhitespace) === null); + if (!isAllWhitespace) { + return false; + } + } + + return isAllWhitespace; + } + + function filterLine(haveSeenTag, noNewLine) { + addBuf(); + + if (haveSeenTag && lineIsWhitespace()) { + for (var j = lineStart, next; j < tokens.length; j++) { + if (tokens[j].text) { + if ((next = tokens[j+1]) && next.tag == '>') { + // set indent to token value + next.indent = tokens[j].text.toString() + } + tokens.splice(j, 1); + } + } + } else if (!noNewLine) { + tokens.push({tag:'\n'}); + } + + seenTag = false; + lineStart = tokens.length; + } + + function changeDelimiters(text, index) { + var close = '=' + ctag, + closeIndex = text.indexOf(close, index), + delimiters = trim( + text.substring(text.indexOf('=', index) + 1, closeIndex) + ).split(' '); + + otag = delimiters[0]; + ctag = delimiters[delimiters.length - 1]; + + return closeIndex + close.length - 1; + } + + if (delimiters) { + delimiters = delimiters.split(' '); + otag = delimiters[0]; + ctag = delimiters[1]; + } + + for (i = 0; i < len; i++) { + if (state == IN_TEXT) { + if (tagChange(otag, text, i)) { + --i; + addBuf(); + state = IN_TAG_TYPE; + } else { + if (text.charAt(i) == '\n') { + filterLine(seenTag); + } else { + buf += text.charAt(i); + } + } + } else if (state == IN_TAG_TYPE) { + i += otag.length - 1; + tag = Hogan.tags[text.charAt(i + 1)]; + tagType = tag ? text.charAt(i + 1) : '_v'; + if (tagType == '=') { + i = changeDelimiters(text, i); + state = IN_TEXT; + } else { + if (tag) { + i++; + } + state = IN_TAG; + } + seenTag = i; + } else { + if (tagChange(ctag, text, i)) { + tokens.push({tag: tagType, n: trim(buf), otag: otag, ctag: ctag, + i: (tagType == '/') ? seenTag - otag.length : i + ctag.length}); + buf = ''; + i += ctag.length - 1; + state = IN_TEXT; + if (tagType == '{') { + if (ctag == '}}') { + i++; + } else { + cleanTripleStache(tokens[tokens.length - 1]); + } + } + } else { + buf += text.charAt(i); + } + } + } + + filterLine(seenTag, true); + + return tokens; + } + + function cleanTripleStache(token) { + if (token.n.substr(token.n.length - 1) === '}') { + token.n = token.n.substring(0, token.n.length - 1); + } + } + + function trim(s) { + if (s.trim) { + return s.trim(); + } + + return s.replace(/^\s*|\s*$/g, ''); + } + + function tagChange(tag, text, index) { + if (text.charAt(index) != tag.charAt(0)) { + return false; + } + + for (var i = 1, l = tag.length; i < l; i++) { + if (text.charAt(index + i) != tag.charAt(i)) { + return false; + } + } + + return true; + } + + // the tags allowed inside super templates + var allowedInSuper = {'_t': true, '\n': true, '$': true, '/': true}; + + function buildTree(tokens, kind, stack, customTags) { + var instructions = [], + opener = null, + tail = null, + token = null; + + tail = stack[stack.length - 1]; + + while (tokens.length > 0) { + token = tokens.shift(); + + if (tail && tail.tag == '<' && !(token.tag in allowedInSuper)) { + throw new Error('Illegal content in < super tag.'); + } + + if (Hogan.tags[token.tag] <= Hogan.tags['$'] || isOpener(token, customTags)) { + stack.push(token); + token.nodes = buildTree(tokens, token.tag, stack, customTags); + } else if (token.tag == '/') { + if (stack.length === 0) { + throw new Error('Closing tag without opener: /' + token.n); + } + opener = stack.pop(); + if (token.n != opener.n && !isCloser(token.n, opener.n, customTags)) { + throw new Error('Nesting error: ' + opener.n + ' vs. ' + token.n); + } + opener.end = token.i; + return instructions; + } else if (token.tag == '\n') { + token.last = (tokens.length == 0) || (tokens[0].tag == '\n'); + } + + instructions.push(token); + } + + if (stack.length > 0) { + throw new Error('missing closing tag: ' + stack.pop().n); + } + + return instructions; + } + + function isOpener(token, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].o == token.n) { + token.tag = '#'; + return true; + } + } + } + + function isCloser(close, open, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].c == close && tags[i].o == open) { + return true; + } + } + } + + function stringifySubstitutions(obj) { + var items = []; + for (var key in obj) { + items.push('"' + esc(key) + '": function(c,p,t,i) {' + obj[key] + '}'); + } + return "{ " + items.join(",") + " }"; + } + + function stringifyPartials(codeObj) { + var partials = []; + for (var key in codeObj.partials) { + partials.push('"' + esc(key) + '":{name:"' + esc(codeObj.partials[key].name) + '", ' + stringifyPartials(codeObj.partials[key]) + "}"); + } + return "partials: {" + partials.join(",") + "}, subs: " + stringifySubstitutions(codeObj.subs); + } + + Hogan.stringify = function(codeObj, text, options) { + return "{code: function (c,p,i) { " + Hogan.wrapMain(codeObj.code) + " }," + stringifyPartials(codeObj) + "}"; + } + + var serialNo = 0; + Hogan.generate = function(tree, text, options) { + serialNo = 0; + var context = { code: '', subs: {}, partials: {} }; + Hogan.walk(tree, context); + + if (options.asString) { + return this.stringify(context, text, options); + } + + return this.makeTemplate(context, text, options); + } + + Hogan.wrapMain = function(code) { + return 'var t=this;t.b(i=i||"");' + code + 'return t.fl();'; + } + + Hogan.template = Hogan.Template; + + Hogan.makeTemplate = function(codeObj, text, options) { + var template = this.makePartials(codeObj); + template.code = new Function('c', 'p', 'i', this.wrapMain(codeObj.code)); + return new this.template(template, text, this, options); + } + + Hogan.makePartials = function(codeObj) { + var key, template = {subs: {}, partials: codeObj.partials, name: codeObj.name}; + for (key in template.partials) { + template.partials[key] = this.makePartials(template.partials[key]); + } + for (key in codeObj.subs) { + template.subs[key] = new Function('c', 'p', 't', 'i', codeObj.subs[key]); + } + return template; + } + + function esc(s) { + return s.replace(rSlash, '\\\\') + .replace(rQuot, '\\\"') + .replace(rNewline, '\\n') + .replace(rCr, '\\r') + .replace(rLineSep, '\\u2028') + .replace(rParagraphSep, '\\u2029'); + } + + function chooseMethod(s) { + return (~s.indexOf('.')) ? 'd' : 'f'; + } + + function createPartial(node, context) { + var prefix = "<" + (context.prefix || ""); + var sym = prefix + node.n + serialNo++; + context.partials[sym] = {name: node.n, partials: {}}; + context.code += 't.b(t.rp("' + esc(sym) + '",c,p,"' + (node.indent || '') + '"));'; + return sym; + } + + Hogan.codegen = { + '#': function(node, context) { + context.code += 'if(t.s(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,1),' + + 'c,p,0,' + node.i + ',' + node.end + ',"' + node.otag + " " + node.ctag + '")){' + + 't.rs(c,p,' + 'function(c,p,t){'; + Hogan.walk(node.nodes, context); + context.code += '});c.pop();}'; + }, + + '^': function(node, context) { + context.code += 'if(!t.s(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,1),c,p,1,0,0,"")){'; + Hogan.walk(node.nodes, context); + context.code += '};'; + }, + + '>': createPartial, + '<': function(node, context) { + var ctx = {partials: {}, code: '', subs: {}, inPartial: true}; + Hogan.walk(node.nodes, ctx); + var template = context.partials[createPartial(node, context)]; + template.subs = ctx.subs; + template.partials = ctx.partials; + }, + + '$': function(node, context) { + var ctx = {subs: {}, code: '', partials: context.partials, prefix: node.n}; + Hogan.walk(node.nodes, ctx); + context.subs[node.n] = ctx.code; + if (!context.inPartial) { + context.code += 't.sub("' + esc(node.n) + '",c,p,i);'; + } + }, + + '\n': function(node, context) { + context.code += write('"\\n"' + (node.last ? '' : ' + i')); + }, + + '_v': function(node, context) { + context.code += 't.b(t.v(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,0)));'; + }, + + '_t': function(node, context) { + context.code += write('"' + esc(node.text) + '"'); + }, + + '{': tripleStache, + + '&': tripleStache + } + + function tripleStache(node, context) { + context.code += 't.b(t.t(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,0)));'; + } + + function write(s) { + return 't.b(' + s + ');'; + } + + Hogan.walk = function(nodelist, context) { + var func; + for (var i = 0, l = nodelist.length; i < l; i++) { + func = Hogan.codegen[nodelist[i].tag]; + func && func(nodelist[i], context); + } + return context; + } + + Hogan.parse = function(tokens, text, options) { + options = options || {}; + return buildTree(tokens, '', [], options.sectionTags || []); + } + + Hogan.cache = {}; + + Hogan.cacheKey = function(text, options) { + return [text, !!options.asString, !!options.disableLambda, options.delimiters, !!options.modelGet].join('||'); + } + + Hogan.compile = function(text, options) { + options = options || {}; + var key = Hogan.cacheKey(text, options); + var template = this.cache[key]; + + if (template) { + var partials = template.partials; + for (var name in partials) { + delete partials[name].instance; + } + return template; + } + + template = this.generate(this.parse(this.scan(text, options.delimiters), text, options), text, options); + return this.cache[key] = template; + } +})(typeof exports !== 'undefined' ? exports : Hogan); + + +if (typeof define === 'function' && define.amd) { + define(Hogan); +} diff --git a/hogan-node/node_modules/hogan.js/web/builds/3.0.2/hogan-3.0.2.common.js b/hogan-node/node_modules/hogan.js/web/builds/3.0.2/hogan-3.0.2.common.js new file mode 100644 index 0000000..0066335 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/3.0.2/hogan-3.0.2.common.js @@ -0,0 +1,759 @@ +/*! + * Copyright 2011 Twitter, Inc. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + + +var Hogan = {}; + +(function (Hogan) { + Hogan.Template = function (codeObj, text, compiler, options) { + codeObj = codeObj || {}; + this.r = codeObj.code || this.r; + this.c = compiler; + this.options = options || {}; + this.text = text || ''; + this.partials = codeObj.partials || {}; + this.subs = codeObj.subs || {}; + this.buf = ''; + } + + Hogan.Template.prototype = { + // render: replaced by generated code. + r: function (context, partials, indent) { return ''; }, + + // variable escaping + v: hoganEscape, + + // triple stache + t: coerceToString, + + render: function render(context, partials, indent) { + return this.ri([context], partials || {}, indent); + }, + + // render internal -- a hook for overrides that catches partials too + ri: function (context, partials, indent) { + return this.r(context, partials, indent); + }, + + // ensurePartial + ep: function(symbol, partials) { + var partial = this.partials[symbol]; + + // check to see that if we've instantiated this partial before + var template = partials[partial.name]; + if (partial.instance && partial.base == template) { + return partial.instance; + } + + if (typeof template == 'string') { + if (!this.c) { + throw new Error("No compiler available."); + } + template = this.c.compile(template, this.options); + } + + if (!template) { + return null; + } + + // We use this to check whether the partials dictionary has changed + this.partials[symbol].base = template; + + if (partial.subs) { + // Make sure we consider parent template now + if (!partials.stackText) partials.stackText = {}; + for (key in partial.subs) { + if (!partials.stackText[key]) { + partials.stackText[key] = (this.activeSub !== undefined && partials.stackText[this.activeSub]) ? partials.stackText[this.activeSub] : this.text; + } + } + template = createSpecializedPartial(template, partial.subs, partial.partials, + this.stackSubs, this.stackPartials, partials.stackText); + } + this.partials[symbol].instance = template; + + return template; + }, + + // tries to find a partial in the current scope and render it + rp: function(symbol, context, partials, indent) { + var partial = this.ep(symbol, partials); + if (!partial) { + return ''; + } + + return partial.ri(context, partials, indent); + }, + + // render a section + rs: function(context, partials, section) { + var tail = context[context.length - 1]; + + if (!isArray(tail)) { + section(context, partials, this); + return; + } + + for (var i = 0; i < tail.length; i++) { + context.push(tail[i]); + section(context, partials, this); + context.pop(); + } + }, + + // maybe start a section + s: function(val, ctx, partials, inverted, start, end, tags) { + var pass; + + if (isArray(val) && val.length === 0) { + return false; + } + + if (typeof val == 'function') { + val = this.ms(val, ctx, partials, inverted, start, end, tags); + } + + pass = !!val; + + if (!inverted && pass && ctx) { + ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]); + } + + return pass; + }, + + // find values with dotted names + d: function(key, ctx, partials, returnFound) { + var found, + names = key.split('.'), + val = this.f(names[0], ctx, partials, returnFound), + doModelGet = this.options.modelGet, + cx = null; + + if (key === '.' && isArray(ctx[ctx.length - 2])) { + val = ctx[ctx.length - 1]; + } else { + for (var i = 1; i < names.length; i++) { + found = findInScope(names[i], val, doModelGet); + if (found !== undefined) { + cx = val; + val = found; + } else { + val = ''; + } + } + } + + if (returnFound && !val) { + return false; + } + + if (!returnFound && typeof val == 'function') { + ctx.push(cx); + val = this.mv(val, ctx, partials); + ctx.pop(); + } + + return val; + }, + + // find values with normal names + f: function(key, ctx, partials, returnFound) { + var val = false, + v = null, + found = false, + doModelGet = this.options.modelGet; + + for (var i = ctx.length - 1; i >= 0; i--) { + v = ctx[i]; + val = findInScope(key, v, doModelGet); + if (val !== undefined) { + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.mv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ls: function(func, cx, partials, text, tags) { + var oldTags = this.options.delimiters; + + this.options.delimiters = tags; + this.b(this.ct(coerceToString(func.call(cx, text)), cx, partials)); + this.options.delimiters = oldTags; + + return false; + }, + + // compile text + ct: function(text, cx, partials) { + if (this.options.disableLambda) { + throw new Error('Lambda features disabled.'); + } + return this.c.compile(text, this.options).render(cx, partials); + }, + + // template result buffering + b: function(s) { this.buf += s; }, + + fl: function() { var r = this.buf; this.buf = ''; return r; }, + + // method replace section + ms: function(func, ctx, partials, inverted, start, end, tags) { + var textSource, + cx = ctx[ctx.length - 1], + result = func.call(cx); + + if (typeof result == 'function') { + if (inverted) { + return true; + } else { + textSource = (this.activeSub && this.subsText && this.subsText[this.activeSub]) ? this.subsText[this.activeSub] : this.text; + return this.ls(result, cx, partials, textSource.substring(start, end), tags); + } + } + + return result; + }, + + // method replace variable + mv: function(func, ctx, partials) { + var cx = ctx[ctx.length - 1]; + var result = func.call(cx); + + if (typeof result == 'function') { + return this.ct(coerceToString(result.call(cx)), cx, partials); + } + + return result; + }, + + sub: function(name, context, partials, indent) { + var f = this.subs[name]; + if (f) { + this.activeSub = name; + f(context, partials, this, indent); + this.activeSub = false; + } + } + + }; + + //Find a key in an object + function findInScope(key, scope, doModelGet) { + var val; + + if (scope && typeof scope == 'object') { + + if (scope[key] !== undefined) { + val = scope[key]; + + // try lookup with get for backbone or similar model data + } else if (doModelGet && scope.get && typeof scope.get == 'function') { + val = scope.get(key); + } + } + + return val; + } + + function createSpecializedPartial(instance, subs, partials, stackSubs, stackPartials, stackText) { + function PartialTemplate() {}; + PartialTemplate.prototype = instance; + function Substitutions() {}; + Substitutions.prototype = instance.subs; + var key; + var partial = new PartialTemplate(); + partial.subs = new Substitutions(); + partial.subsText = {}; //hehe. substext. + partial.buf = ''; + + stackSubs = stackSubs || {}; + partial.stackSubs = stackSubs; + partial.subsText = stackText; + for (key in subs) { + if (!stackSubs[key]) stackSubs[key] = subs[key]; + } + for (key in stackSubs) { + partial.subs[key] = stackSubs[key]; + } + + stackPartials = stackPartials || {}; + partial.stackPartials = stackPartials; + for (key in partials) { + if (!stackPartials[key]) stackPartials[key] = partials[key]; + } + for (key in stackPartials) { + partial.partials[key] = stackPartials[key]; + } + + return partial; + } + + var rAmp = /&/g, + rLt = //g, + rApos = /\'/g, + rQuot = /\"/g, + hChars = /[&<>\"\']/; + + function coerceToString(val) { + return String((val === null || val === undefined) ? '' : val); + } + + function hoganEscape(str) { + str = coerceToString(str); + return hChars.test(str) ? + str + .replace(rAmp, '&') + .replace(rLt, '<') + .replace(rGt, '>') + .replace(rApos, ''') + .replace(rQuot, '"') : + str; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + }; + +})(typeof exports !== 'undefined' ? exports : Hogan); + + + +(function (Hogan) { + // Setup regex assignments + // remove whitespace according to Mustache spec + var rIsWhitespace = /\S/, + rQuot = /\"/g, + rNewline = /\n/g, + rCr = /\r/g, + rSlash = /\\/g, + rLineSep = /\u2028/, + rParagraphSep = /\u2029/; + + Hogan.tags = { + '#': 1, '^': 2, '<': 3, '$': 4, + '/': 5, '!': 6, '>': 7, '=': 8, '_v': 9, + '{': 10, '&': 11, '_t': 12 + }; + + Hogan.scan = function scan(text, delimiters) { + var len = text.length, + IN_TEXT = 0, + IN_TAG_TYPE = 1, + IN_TAG = 2, + state = IN_TEXT, + tagType = null, + tag = null, + buf = '', + tokens = [], + seenTag = false, + i = 0, + lineStart = 0, + otag = '{{', + ctag = '}}'; + + function addBuf() { + if (buf.length > 0) { + tokens.push({tag: '_t', text: new String(buf)}); + buf = ''; + } + } + + function lineIsWhitespace() { + var isAllWhitespace = true; + for (var j = lineStart; j < tokens.length; j++) { + isAllWhitespace = + (Hogan.tags[tokens[j].tag] < Hogan.tags['_v']) || + (tokens[j].tag == '_t' && tokens[j].text.match(rIsWhitespace) === null); + if (!isAllWhitespace) { + return false; + } + } + + return isAllWhitespace; + } + + function filterLine(haveSeenTag, noNewLine) { + addBuf(); + + if (haveSeenTag && lineIsWhitespace()) { + for (var j = lineStart, next; j < tokens.length; j++) { + if (tokens[j].text) { + if ((next = tokens[j+1]) && next.tag == '>') { + // set indent to token value + next.indent = tokens[j].text.toString() + } + tokens.splice(j, 1); + } + } + } else if (!noNewLine) { + tokens.push({tag:'\n'}); + } + + seenTag = false; + lineStart = tokens.length; + } + + function changeDelimiters(text, index) { + var close = '=' + ctag, + closeIndex = text.indexOf(close, index), + delimiters = trim( + text.substring(text.indexOf('=', index) + 1, closeIndex) + ).split(' '); + + otag = delimiters[0]; + ctag = delimiters[delimiters.length - 1]; + + return closeIndex + close.length - 1; + } + + if (delimiters) { + delimiters = delimiters.split(' '); + otag = delimiters[0]; + ctag = delimiters[1]; + } + + for (i = 0; i < len; i++) { + if (state == IN_TEXT) { + if (tagChange(otag, text, i)) { + --i; + addBuf(); + state = IN_TAG_TYPE; + } else { + if (text.charAt(i) == '\n') { + filterLine(seenTag); + } else { + buf += text.charAt(i); + } + } + } else if (state == IN_TAG_TYPE) { + i += otag.length - 1; + tag = Hogan.tags[text.charAt(i + 1)]; + tagType = tag ? text.charAt(i + 1) : '_v'; + if (tagType == '=') { + i = changeDelimiters(text, i); + state = IN_TEXT; + } else { + if (tag) { + i++; + } + state = IN_TAG; + } + seenTag = i; + } else { + if (tagChange(ctag, text, i)) { + tokens.push({tag: tagType, n: trim(buf), otag: otag, ctag: ctag, + i: (tagType == '/') ? seenTag - otag.length : i + ctag.length}); + buf = ''; + i += ctag.length - 1; + state = IN_TEXT; + if (tagType == '{') { + if (ctag == '}}') { + i++; + } else { + cleanTripleStache(tokens[tokens.length - 1]); + } + } + } else { + buf += text.charAt(i); + } + } + } + + filterLine(seenTag, true); + + return tokens; + } + + function cleanTripleStache(token) { + if (token.n.substr(token.n.length - 1) === '}') { + token.n = token.n.substring(0, token.n.length - 1); + } + } + + function trim(s) { + if (s.trim) { + return s.trim(); + } + + return s.replace(/^\s*|\s*$/g, ''); + } + + function tagChange(tag, text, index) { + if (text.charAt(index) != tag.charAt(0)) { + return false; + } + + for (var i = 1, l = tag.length; i < l; i++) { + if (text.charAt(index + i) != tag.charAt(i)) { + return false; + } + } + + return true; + } + + // the tags allowed inside super templates + var allowedInSuper = {'_t': true, '\n': true, '$': true, '/': true}; + + function buildTree(tokens, kind, stack, customTags) { + var instructions = [], + opener = null, + tail = null, + token = null; + + tail = stack[stack.length - 1]; + + while (tokens.length > 0) { + token = tokens.shift(); + + if (tail && tail.tag == '<' && !(token.tag in allowedInSuper)) { + throw new Error('Illegal content in < super tag.'); + } + + if (Hogan.tags[token.tag] <= Hogan.tags['$'] || isOpener(token, customTags)) { + stack.push(token); + token.nodes = buildTree(tokens, token.tag, stack, customTags); + } else if (token.tag == '/') { + if (stack.length === 0) { + throw new Error('Closing tag without opener: /' + token.n); + } + opener = stack.pop(); + if (token.n != opener.n && !isCloser(token.n, opener.n, customTags)) { + throw new Error('Nesting error: ' + opener.n + ' vs. ' + token.n); + } + opener.end = token.i; + return instructions; + } else if (token.tag == '\n') { + token.last = (tokens.length == 0) || (tokens[0].tag == '\n'); + } + + instructions.push(token); + } + + if (stack.length > 0) { + throw new Error('missing closing tag: ' + stack.pop().n); + } + + return instructions; + } + + function isOpener(token, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].o == token.n) { + token.tag = '#'; + return true; + } + } + } + + function isCloser(close, open, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].c == close && tags[i].o == open) { + return true; + } + } + } + + function stringifySubstitutions(obj) { + var items = []; + for (var key in obj) { + items.push('"' + esc(key) + '": function(c,p,t,i) {' + obj[key] + '}'); + } + return "{ " + items.join(",") + " }"; + } + + function stringifyPartials(codeObj) { + var partials = []; + for (var key in codeObj.partials) { + partials.push('"' + esc(key) + '":{name:"' + esc(codeObj.partials[key].name) + '", ' + stringifyPartials(codeObj.partials[key]) + "}"); + } + return "partials: {" + partials.join(",") + "}, subs: " + stringifySubstitutions(codeObj.subs); + } + + Hogan.stringify = function(codeObj, text, options) { + return "{code: function (c,p,i) { " + Hogan.wrapMain(codeObj.code) + " }," + stringifyPartials(codeObj) + "}"; + } + + var serialNo = 0; + Hogan.generate = function(tree, text, options) { + serialNo = 0; + var context = { code: '', subs: {}, partials: {} }; + Hogan.walk(tree, context); + + if (options.asString) { + return this.stringify(context, text, options); + } + + return this.makeTemplate(context, text, options); + } + + Hogan.wrapMain = function(code) { + return 'var t=this;t.b(i=i||"");' + code + 'return t.fl();'; + } + + Hogan.template = Hogan.Template; + + Hogan.makeTemplate = function(codeObj, text, options) { + var template = this.makePartials(codeObj); + template.code = new Function('c', 'p', 'i', this.wrapMain(codeObj.code)); + return new this.template(template, text, this, options); + } + + Hogan.makePartials = function(codeObj) { + var key, template = {subs: {}, partials: codeObj.partials, name: codeObj.name}; + for (key in template.partials) { + template.partials[key] = this.makePartials(template.partials[key]); + } + for (key in codeObj.subs) { + template.subs[key] = new Function('c', 'p', 't', 'i', codeObj.subs[key]); + } + return template; + } + + function esc(s) { + return s.replace(rSlash, '\\\\') + .replace(rQuot, '\\\"') + .replace(rNewline, '\\n') + .replace(rCr, '\\r') + .replace(rLineSep, '\\u2028') + .replace(rParagraphSep, '\\u2029'); + } + + function chooseMethod(s) { + return (~s.indexOf('.')) ? 'd' : 'f'; + } + + function createPartial(node, context) { + var prefix = "<" + (context.prefix || ""); + var sym = prefix + node.n + serialNo++; + context.partials[sym] = {name: node.n, partials: {}}; + context.code += 't.b(t.rp("' + esc(sym) + '",c,p,"' + (node.indent || '') + '"));'; + return sym; + } + + Hogan.codegen = { + '#': function(node, context) { + context.code += 'if(t.s(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,1),' + + 'c,p,0,' + node.i + ',' + node.end + ',"' + node.otag + " " + node.ctag + '")){' + + 't.rs(c,p,' + 'function(c,p,t){'; + Hogan.walk(node.nodes, context); + context.code += '});c.pop();}'; + }, + + '^': function(node, context) { + context.code += 'if(!t.s(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,1),c,p,1,0,0,"")){'; + Hogan.walk(node.nodes, context); + context.code += '};'; + }, + + '>': createPartial, + '<': function(node, context) { + var ctx = {partials: {}, code: '', subs: {}, inPartial: true}; + Hogan.walk(node.nodes, ctx); + var template = context.partials[createPartial(node, context)]; + template.subs = ctx.subs; + template.partials = ctx.partials; + }, + + '$': function(node, context) { + var ctx = {subs: {}, code: '', partials: context.partials, prefix: node.n}; + Hogan.walk(node.nodes, ctx); + context.subs[node.n] = ctx.code; + if (!context.inPartial) { + context.code += 't.sub("' + esc(node.n) + '",c,p,i);'; + } + }, + + '\n': function(node, context) { + context.code += write('"\\n"' + (node.last ? '' : ' + i')); + }, + + '_v': function(node, context) { + context.code += 't.b(t.v(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,0)));'; + }, + + '_t': function(node, context) { + context.code += write('"' + esc(node.text) + '"'); + }, + + '{': tripleStache, + + '&': tripleStache + } + + function tripleStache(node, context) { + context.code += 't.b(t.t(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,0)));'; + } + + function write(s) { + return 't.b(' + s + ');'; + } + + Hogan.walk = function(nodelist, context) { + var func; + for (var i = 0, l = nodelist.length; i < l; i++) { + func = Hogan.codegen[nodelist[i].tag]; + func && func(nodelist[i], context); + } + return context; + } + + Hogan.parse = function(tokens, text, options) { + options = options || {}; + return buildTree(tokens, '', [], options.sectionTags || []); + } + + Hogan.cache = {}; + + Hogan.cacheKey = function(text, options) { + return [text, !!options.asString, !!options.disableLambda, options.delimiters, !!options.modelGet].join('||'); + } + + Hogan.compile = function(text, options) { + options = options || {}; + var key = Hogan.cacheKey(text, options); + var template = this.cache[key]; + + if (template) { + var partials = template.partials; + for (var name in partials) { + delete partials[name].instance; + } + return template; + } + + template = this.generate(this.parse(this.scan(text, options.delimiters), text, options), text, options); + return this.cache[key] = template; + } +})(typeof exports !== 'undefined' ? exports : Hogan); + + +if (typeof module !== 'undefined' && module.exports) { + module.exports = Hogan; +} diff --git a/hogan-node/node_modules/hogan.js/web/builds/3.0.2/hogan-3.0.2.js b/hogan-node/node_modules/hogan.js/web/builds/3.0.2/hogan-3.0.2.js new file mode 100644 index 0000000..306579b --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/3.0.2/hogan-3.0.2.js @@ -0,0 +1,755 @@ +/*! + * Copyright 2011 Twitter, Inc. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + + +var Hogan = {}; + +(function (Hogan) { + Hogan.Template = function (codeObj, text, compiler, options) { + codeObj = codeObj || {}; + this.r = codeObj.code || this.r; + this.c = compiler; + this.options = options || {}; + this.text = text || ''; + this.partials = codeObj.partials || {}; + this.subs = codeObj.subs || {}; + this.buf = ''; + } + + Hogan.Template.prototype = { + // render: replaced by generated code. + r: function (context, partials, indent) { return ''; }, + + // variable escaping + v: hoganEscape, + + // triple stache + t: coerceToString, + + render: function render(context, partials, indent) { + return this.ri([context], partials || {}, indent); + }, + + // render internal -- a hook for overrides that catches partials too + ri: function (context, partials, indent) { + return this.r(context, partials, indent); + }, + + // ensurePartial + ep: function(symbol, partials) { + var partial = this.partials[symbol]; + + // check to see that if we've instantiated this partial before + var template = partials[partial.name]; + if (partial.instance && partial.base == template) { + return partial.instance; + } + + if (typeof template == 'string') { + if (!this.c) { + throw new Error("No compiler available."); + } + template = this.c.compile(template, this.options); + } + + if (!template) { + return null; + } + + // We use this to check whether the partials dictionary has changed + this.partials[symbol].base = template; + + if (partial.subs) { + // Make sure we consider parent template now + if (!partials.stackText) partials.stackText = {}; + for (key in partial.subs) { + if (!partials.stackText[key]) { + partials.stackText[key] = (this.activeSub !== undefined && partials.stackText[this.activeSub]) ? partials.stackText[this.activeSub] : this.text; + } + } + template = createSpecializedPartial(template, partial.subs, partial.partials, + this.stackSubs, this.stackPartials, partials.stackText); + } + this.partials[symbol].instance = template; + + return template; + }, + + // tries to find a partial in the current scope and render it + rp: function(symbol, context, partials, indent) { + var partial = this.ep(symbol, partials); + if (!partial) { + return ''; + } + + return partial.ri(context, partials, indent); + }, + + // render a section + rs: function(context, partials, section) { + var tail = context[context.length - 1]; + + if (!isArray(tail)) { + section(context, partials, this); + return; + } + + for (var i = 0; i < tail.length; i++) { + context.push(tail[i]); + section(context, partials, this); + context.pop(); + } + }, + + // maybe start a section + s: function(val, ctx, partials, inverted, start, end, tags) { + var pass; + + if (isArray(val) && val.length === 0) { + return false; + } + + if (typeof val == 'function') { + val = this.ms(val, ctx, partials, inverted, start, end, tags); + } + + pass = !!val; + + if (!inverted && pass && ctx) { + ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]); + } + + return pass; + }, + + // find values with dotted names + d: function(key, ctx, partials, returnFound) { + var found, + names = key.split('.'), + val = this.f(names[0], ctx, partials, returnFound), + doModelGet = this.options.modelGet, + cx = null; + + if (key === '.' && isArray(ctx[ctx.length - 2])) { + val = ctx[ctx.length - 1]; + } else { + for (var i = 1; i < names.length; i++) { + found = findInScope(names[i], val, doModelGet); + if (found !== undefined) { + cx = val; + val = found; + } else { + val = ''; + } + } + } + + if (returnFound && !val) { + return false; + } + + if (!returnFound && typeof val == 'function') { + ctx.push(cx); + val = this.mv(val, ctx, partials); + ctx.pop(); + } + + return val; + }, + + // find values with normal names + f: function(key, ctx, partials, returnFound) { + var val = false, + v = null, + found = false, + doModelGet = this.options.modelGet; + + for (var i = ctx.length - 1; i >= 0; i--) { + v = ctx[i]; + val = findInScope(key, v, doModelGet); + if (val !== undefined) { + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.mv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ls: function(func, cx, partials, text, tags) { + var oldTags = this.options.delimiters; + + this.options.delimiters = tags; + this.b(this.ct(coerceToString(func.call(cx, text)), cx, partials)); + this.options.delimiters = oldTags; + + return false; + }, + + // compile text + ct: function(text, cx, partials) { + if (this.options.disableLambda) { + throw new Error('Lambda features disabled.'); + } + return this.c.compile(text, this.options).render(cx, partials); + }, + + // template result buffering + b: function(s) { this.buf += s; }, + + fl: function() { var r = this.buf; this.buf = ''; return r; }, + + // method replace section + ms: function(func, ctx, partials, inverted, start, end, tags) { + var textSource, + cx = ctx[ctx.length - 1], + result = func.call(cx); + + if (typeof result == 'function') { + if (inverted) { + return true; + } else { + textSource = (this.activeSub && this.subsText && this.subsText[this.activeSub]) ? this.subsText[this.activeSub] : this.text; + return this.ls(result, cx, partials, textSource.substring(start, end), tags); + } + } + + return result; + }, + + // method replace variable + mv: function(func, ctx, partials) { + var cx = ctx[ctx.length - 1]; + var result = func.call(cx); + + if (typeof result == 'function') { + return this.ct(coerceToString(result.call(cx)), cx, partials); + } + + return result; + }, + + sub: function(name, context, partials, indent) { + var f = this.subs[name]; + if (f) { + this.activeSub = name; + f(context, partials, this, indent); + this.activeSub = false; + } + } + + }; + + //Find a key in an object + function findInScope(key, scope, doModelGet) { + var val; + + if (scope && typeof scope == 'object') { + + if (scope[key] !== undefined) { + val = scope[key]; + + // try lookup with get for backbone or similar model data + } else if (doModelGet && scope.get && typeof scope.get == 'function') { + val = scope.get(key); + } + } + + return val; + } + + function createSpecializedPartial(instance, subs, partials, stackSubs, stackPartials, stackText) { + function PartialTemplate() {}; + PartialTemplate.prototype = instance; + function Substitutions() {}; + Substitutions.prototype = instance.subs; + var key; + var partial = new PartialTemplate(); + partial.subs = new Substitutions(); + partial.subsText = {}; //hehe. substext. + partial.buf = ''; + + stackSubs = stackSubs || {}; + partial.stackSubs = stackSubs; + partial.subsText = stackText; + for (key in subs) { + if (!stackSubs[key]) stackSubs[key] = subs[key]; + } + for (key in stackSubs) { + partial.subs[key] = stackSubs[key]; + } + + stackPartials = stackPartials || {}; + partial.stackPartials = stackPartials; + for (key in partials) { + if (!stackPartials[key]) stackPartials[key] = partials[key]; + } + for (key in stackPartials) { + partial.partials[key] = stackPartials[key]; + } + + return partial; + } + + var rAmp = /&/g, + rLt = //g, + rApos = /\'/g, + rQuot = /\"/g, + hChars = /[&<>\"\']/; + + function coerceToString(val) { + return String((val === null || val === undefined) ? '' : val); + } + + function hoganEscape(str) { + str = coerceToString(str); + return hChars.test(str) ? + str + .replace(rAmp, '&') + .replace(rLt, '<') + .replace(rGt, '>') + .replace(rApos, ''') + .replace(rQuot, '"') : + str; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + }; + +})(typeof exports !== 'undefined' ? exports : Hogan); + + + +(function (Hogan) { + // Setup regex assignments + // remove whitespace according to Mustache spec + var rIsWhitespace = /\S/, + rQuot = /\"/g, + rNewline = /\n/g, + rCr = /\r/g, + rSlash = /\\/g, + rLineSep = /\u2028/, + rParagraphSep = /\u2029/; + + Hogan.tags = { + '#': 1, '^': 2, '<': 3, '$': 4, + '/': 5, '!': 6, '>': 7, '=': 8, '_v': 9, + '{': 10, '&': 11, '_t': 12 + }; + + Hogan.scan = function scan(text, delimiters) { + var len = text.length, + IN_TEXT = 0, + IN_TAG_TYPE = 1, + IN_TAG = 2, + state = IN_TEXT, + tagType = null, + tag = null, + buf = '', + tokens = [], + seenTag = false, + i = 0, + lineStart = 0, + otag = '{{', + ctag = '}}'; + + function addBuf() { + if (buf.length > 0) { + tokens.push({tag: '_t', text: new String(buf)}); + buf = ''; + } + } + + function lineIsWhitespace() { + var isAllWhitespace = true; + for (var j = lineStart; j < tokens.length; j++) { + isAllWhitespace = + (Hogan.tags[tokens[j].tag] < Hogan.tags['_v']) || + (tokens[j].tag == '_t' && tokens[j].text.match(rIsWhitespace) === null); + if (!isAllWhitespace) { + return false; + } + } + + return isAllWhitespace; + } + + function filterLine(haveSeenTag, noNewLine) { + addBuf(); + + if (haveSeenTag && lineIsWhitespace()) { + for (var j = lineStart, next; j < tokens.length; j++) { + if (tokens[j].text) { + if ((next = tokens[j+1]) && next.tag == '>') { + // set indent to token value + next.indent = tokens[j].text.toString() + } + tokens.splice(j, 1); + } + } + } else if (!noNewLine) { + tokens.push({tag:'\n'}); + } + + seenTag = false; + lineStart = tokens.length; + } + + function changeDelimiters(text, index) { + var close = '=' + ctag, + closeIndex = text.indexOf(close, index), + delimiters = trim( + text.substring(text.indexOf('=', index) + 1, closeIndex) + ).split(' '); + + otag = delimiters[0]; + ctag = delimiters[delimiters.length - 1]; + + return closeIndex + close.length - 1; + } + + if (delimiters) { + delimiters = delimiters.split(' '); + otag = delimiters[0]; + ctag = delimiters[1]; + } + + for (i = 0; i < len; i++) { + if (state == IN_TEXT) { + if (tagChange(otag, text, i)) { + --i; + addBuf(); + state = IN_TAG_TYPE; + } else { + if (text.charAt(i) == '\n') { + filterLine(seenTag); + } else { + buf += text.charAt(i); + } + } + } else if (state == IN_TAG_TYPE) { + i += otag.length - 1; + tag = Hogan.tags[text.charAt(i + 1)]; + tagType = tag ? text.charAt(i + 1) : '_v'; + if (tagType == '=') { + i = changeDelimiters(text, i); + state = IN_TEXT; + } else { + if (tag) { + i++; + } + state = IN_TAG; + } + seenTag = i; + } else { + if (tagChange(ctag, text, i)) { + tokens.push({tag: tagType, n: trim(buf), otag: otag, ctag: ctag, + i: (tagType == '/') ? seenTag - otag.length : i + ctag.length}); + buf = ''; + i += ctag.length - 1; + state = IN_TEXT; + if (tagType == '{') { + if (ctag == '}}') { + i++; + } else { + cleanTripleStache(tokens[tokens.length - 1]); + } + } + } else { + buf += text.charAt(i); + } + } + } + + filterLine(seenTag, true); + + return tokens; + } + + function cleanTripleStache(token) { + if (token.n.substr(token.n.length - 1) === '}') { + token.n = token.n.substring(0, token.n.length - 1); + } + } + + function trim(s) { + if (s.trim) { + return s.trim(); + } + + return s.replace(/^\s*|\s*$/g, ''); + } + + function tagChange(tag, text, index) { + if (text.charAt(index) != tag.charAt(0)) { + return false; + } + + for (var i = 1, l = tag.length; i < l; i++) { + if (text.charAt(index + i) != tag.charAt(i)) { + return false; + } + } + + return true; + } + + // the tags allowed inside super templates + var allowedInSuper = {'_t': true, '\n': true, '$': true, '/': true}; + + function buildTree(tokens, kind, stack, customTags) { + var instructions = [], + opener = null, + tail = null, + token = null; + + tail = stack[stack.length - 1]; + + while (tokens.length > 0) { + token = tokens.shift(); + + if (tail && tail.tag == '<' && !(token.tag in allowedInSuper)) { + throw new Error('Illegal content in < super tag.'); + } + + if (Hogan.tags[token.tag] <= Hogan.tags['$'] || isOpener(token, customTags)) { + stack.push(token); + token.nodes = buildTree(tokens, token.tag, stack, customTags); + } else if (token.tag == '/') { + if (stack.length === 0) { + throw new Error('Closing tag without opener: /' + token.n); + } + opener = stack.pop(); + if (token.n != opener.n && !isCloser(token.n, opener.n, customTags)) { + throw new Error('Nesting error: ' + opener.n + ' vs. ' + token.n); + } + opener.end = token.i; + return instructions; + } else if (token.tag == '\n') { + token.last = (tokens.length == 0) || (tokens[0].tag == '\n'); + } + + instructions.push(token); + } + + if (stack.length > 0) { + throw new Error('missing closing tag: ' + stack.pop().n); + } + + return instructions; + } + + function isOpener(token, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].o == token.n) { + token.tag = '#'; + return true; + } + } + } + + function isCloser(close, open, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].c == close && tags[i].o == open) { + return true; + } + } + } + + function stringifySubstitutions(obj) { + var items = []; + for (var key in obj) { + items.push('"' + esc(key) + '": function(c,p,t,i) {' + obj[key] + '}'); + } + return "{ " + items.join(",") + " }"; + } + + function stringifyPartials(codeObj) { + var partials = []; + for (var key in codeObj.partials) { + partials.push('"' + esc(key) + '":{name:"' + esc(codeObj.partials[key].name) + '", ' + stringifyPartials(codeObj.partials[key]) + "}"); + } + return "partials: {" + partials.join(",") + "}, subs: " + stringifySubstitutions(codeObj.subs); + } + + Hogan.stringify = function(codeObj, text, options) { + return "{code: function (c,p,i) { " + Hogan.wrapMain(codeObj.code) + " }," + stringifyPartials(codeObj) + "}"; + } + + var serialNo = 0; + Hogan.generate = function(tree, text, options) { + serialNo = 0; + var context = { code: '', subs: {}, partials: {} }; + Hogan.walk(tree, context); + + if (options.asString) { + return this.stringify(context, text, options); + } + + return this.makeTemplate(context, text, options); + } + + Hogan.wrapMain = function(code) { + return 'var t=this;t.b(i=i||"");' + code + 'return t.fl();'; + } + + Hogan.template = Hogan.Template; + + Hogan.makeTemplate = function(codeObj, text, options) { + var template = this.makePartials(codeObj); + template.code = new Function('c', 'p', 'i', this.wrapMain(codeObj.code)); + return new this.template(template, text, this, options); + } + + Hogan.makePartials = function(codeObj) { + var key, template = {subs: {}, partials: codeObj.partials, name: codeObj.name}; + for (key in template.partials) { + template.partials[key] = this.makePartials(template.partials[key]); + } + for (key in codeObj.subs) { + template.subs[key] = new Function('c', 'p', 't', 'i', codeObj.subs[key]); + } + return template; + } + + function esc(s) { + return s.replace(rSlash, '\\\\') + .replace(rQuot, '\\\"') + .replace(rNewline, '\\n') + .replace(rCr, '\\r') + .replace(rLineSep, '\\u2028') + .replace(rParagraphSep, '\\u2029'); + } + + function chooseMethod(s) { + return (~s.indexOf('.')) ? 'd' : 'f'; + } + + function createPartial(node, context) { + var prefix = "<" + (context.prefix || ""); + var sym = prefix + node.n + serialNo++; + context.partials[sym] = {name: node.n, partials: {}}; + context.code += 't.b(t.rp("' + esc(sym) + '",c,p,"' + (node.indent || '') + '"));'; + return sym; + } + + Hogan.codegen = { + '#': function(node, context) { + context.code += 'if(t.s(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,1),' + + 'c,p,0,' + node.i + ',' + node.end + ',"' + node.otag + " " + node.ctag + '")){' + + 't.rs(c,p,' + 'function(c,p,t){'; + Hogan.walk(node.nodes, context); + context.code += '});c.pop();}'; + }, + + '^': function(node, context) { + context.code += 'if(!t.s(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,1),c,p,1,0,0,"")){'; + Hogan.walk(node.nodes, context); + context.code += '};'; + }, + + '>': createPartial, + '<': function(node, context) { + var ctx = {partials: {}, code: '', subs: {}, inPartial: true}; + Hogan.walk(node.nodes, ctx); + var template = context.partials[createPartial(node, context)]; + template.subs = ctx.subs; + template.partials = ctx.partials; + }, + + '$': function(node, context) { + var ctx = {subs: {}, code: '', partials: context.partials, prefix: node.n}; + Hogan.walk(node.nodes, ctx); + context.subs[node.n] = ctx.code; + if (!context.inPartial) { + context.code += 't.sub("' + esc(node.n) + '",c,p,i);'; + } + }, + + '\n': function(node, context) { + context.code += write('"\\n"' + (node.last ? '' : ' + i')); + }, + + '_v': function(node, context) { + context.code += 't.b(t.v(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,0)));'; + }, + + '_t': function(node, context) { + context.code += write('"' + esc(node.text) + '"'); + }, + + '{': tripleStache, + + '&': tripleStache + } + + function tripleStache(node, context) { + context.code += 't.b(t.t(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,0)));'; + } + + function write(s) { + return 't.b(' + s + ');'; + } + + Hogan.walk = function(nodelist, context) { + var func; + for (var i = 0, l = nodelist.length; i < l; i++) { + func = Hogan.codegen[nodelist[i].tag]; + func && func(nodelist[i], context); + } + return context; + } + + Hogan.parse = function(tokens, text, options) { + options = options || {}; + return buildTree(tokens, '', [], options.sectionTags || []); + } + + Hogan.cache = {}; + + Hogan.cacheKey = function(text, options) { + return [text, !!options.asString, !!options.disableLambda, options.delimiters, !!options.modelGet].join('||'); + } + + Hogan.compile = function(text, options) { + options = options || {}; + var key = Hogan.cacheKey(text, options); + var template = this.cache[key]; + + if (template) { + var partials = template.partials; + for (var name in partials) { + delete partials[name].instance; + } + return template; + } + + template = this.generate(this.parse(this.scan(text, options.delimiters), text, options), text, options); + return this.cache[key] = template; + } +})(typeof exports !== 'undefined' ? exports : Hogan); + diff --git a/hogan-node/node_modules/hogan.js/web/builds/3.0.2/hogan-3.0.2.min.amd.js b/hogan-node/node_modules/hogan.js/web/builds/3.0.2/hogan-3.0.2.min.amd.js new file mode 100644 index 0000000..b6c5801 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/3.0.2/hogan-3.0.2.min.amd.js @@ -0,0 +1,5 @@ +/** +* @preserve Copyright 2012 Twitter, Inc. +* @license http://www.apache.org/licenses/LICENSE-2.0.txt +*/ +var Hogan={};!function(t){function n(t,n,e){var i;return n&&"object"==typeof n&&(void 0!==n[t]?i=n[t]:e&&n.get&&"function"==typeof n.get&&(i=n.get(t))),i}function e(t,n,e,i,r,s){function a(){}function o(){}a.prototype=t,o.prototype=t.subs;var u,c=new a;c.subs=new o,c.subsText={},c.buf="",i=i||{},c.stackSubs=i,c.subsText=s;for(u in n)i[u]||(i[u]=n[u]);for(u in i)c.subs[u]=i[u];r=r||{},c.stackPartials=r;for(u in e)r[u]||(r[u]=e[u]);for(u in r)c.partials[u]=r[u];return c}function i(t){return String(null===t||void 0===t?"":t)}function r(t){return t=i(t),l.test(t)?t.replace(s,"&").replace(a,"<").replace(o,">").replace(u,"'").replace(c,"""):t}t.Template=function(t,n,e,i){t=t||{},this.r=t.code||this.r,this.c=e,this.options=i||{},this.text=n||"",this.partials=t.partials||{},this.subs=t.subs||{},this.buf=""},t.Template.prototype={r:function(){return""},v:r,t:i,render:function(t,n,e){return this.ri([t],n||{},e)},ri:function(t,n,e){return this.r(t,n,e)},ep:function(t,n){var i=this.partials[t],r=n[i.name];if(i.instance&&i.base==r)return i.instance;if("string"==typeof r){if(!this.c)throw new Error("No compiler available.");r=this.c.compile(r,this.options)}if(!r)return null;if(this.partials[t].base=r,i.subs){n.stackText||(n.stackText={});for(key in i.subs)n.stackText[key]||(n.stackText[key]=void 0!==this.activeSub&&n.stackText[this.activeSub]?n.stackText[this.activeSub]:this.text);r=e(r,i.subs,i.partials,this.stackSubs,this.stackPartials,n.stackText)}return this.partials[t].instance=r,r},rp:function(t,n,e,i){var r=this.ep(t,e);return r?r.ri(n,e,i):""},rs:function(t,n,e){var i=t[t.length-1];if(!f(i))return void e(t,n,this);for(var r=0;r=0;c--)if(a=e[c],s=n(t,a,u),void 0!==s){o=!0;break}return o?(r||"function"!=typeof s||(s=this.mv(s,e,i)),s):r?!1:""},ls:function(t,n,e,r,s){var a=this.options.delimiters;return this.options.delimiters=s,this.b(this.ct(i(t.call(n,r)),n,e)),this.options.delimiters=a,!1},ct:function(t,n,e){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(t,this.options).render(n,e)},b:function(t){this.buf+=t},fl:function(){var t=this.buf;return this.buf="",t},ms:function(t,n,e,i,r,s,a){var o,u=n[n.length-1],c=t.call(u);return"function"==typeof c?i?!0:(o=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(c,u,e,o.substring(r,s),a)):c},mv:function(t,n,e){var r=n[n.length-1],s=t.call(r);return"function"==typeof s?this.ct(i(s.call(r)),r,e):s},sub:function(t,n,e,i){var r=this.subs[t];r&&(this.activeSub=t,r(n,e,this,i),this.activeSub=!1)}};var s=/&/g,a=//g,u=/\'/g,c=/\"/g,l=/[&<>\"\']/,f=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)}}("undefined"!=typeof exports?exports:Hogan),function(t){function n(t){"}"===t.n.substr(t.n.length-1)&&(t.n=t.n.substring(0,t.n.length-1))}function e(t){return t.trim?t.trim():t.replace(/^\s*|\s*$/g,"")}function i(t,n,e){if(n.charAt(e)!=t.charAt(0))return!1;for(var i=1,r=t.length;r>i;i++)if(n.charAt(e+i)!=t.charAt(i))return!1;return!0}function r(n,e,i,o){var u=[],c=null,l=null,f=null;for(l=i[i.length-1];n.length>0;){if(f=n.shift(),l&&"<"==l.tag&&!(f.tag in k))throw new Error("Illegal content in < super tag.");if(t.tags[f.tag]<=t.tags.$||s(f,o))i.push(f),f.nodes=r(n,f.tag,i,o);else{if("/"==f.tag){if(0===i.length)throw new Error("Closing tag without opener: /"+f.n);if(c=i.pop(),f.n!=c.n&&!a(f.n,c.n,o))throw new Error("Nesting error: "+c.n+" vs. "+f.n);return c.end=f.i,u}"\n"==f.tag&&(f.last=0==n.length||"\n"==n[0].tag)}u.push(f)}if(i.length>0)throw new Error("missing closing tag: "+i.pop().n);return u}function s(t,n){for(var e=0,i=n.length;i>e;e++)if(n[e].o==t.n)return t.tag="#",!0}function a(t,n,e){for(var i=0,r=e.length;r>i;i++)if(e[i].c==t&&e[i].o==n)return!0}function o(t){var n=[];for(var e in t)n.push('"'+c(e)+'": function(c,p,t,i) {'+t[e]+"}");return"{ "+n.join(",")+" }"}function u(t){var n=[];for(var e in t.partials)n.push('"'+c(e)+'":{name:"'+c(t.partials[e].name)+'", '+u(t.partials[e])+"}");return"partials: {"+n.join(",")+"}, subs: "+o(t.subs)}function c(t){return t.replace(m,"\\\\").replace(v,'\\"').replace(b,"\\n").replace(d,"\\r").replace(x,"\\u2028").replace(w,"\\u2029")}function l(t){return~t.indexOf(".")?"d":"f"}function f(t,n){var e="<"+(n.prefix||""),i=e+t.n+y++;return n.partials[i]={name:t.n,partials:{}},n.code+='t.b(t.rp("'+c(i)+'",c,p,"'+(t.indent||"")+'"));',i}function h(t,n){n.code+="t.b(t.t(t."+l(t.n)+'("'+c(t.n)+'",c,p,0)));'}function p(t){return"t.b("+t+");"}var g=/\S/,v=/\"/g,b=/\n/g,d=/\r/g,m=/\\/g,x=/\u2028/,w=/\u2029/;t.tags={"#":1,"^":2,"<":3,$:4,"/":5,"!":6,">":7,"=":8,_v:9,"{":10,"&":11,_t:12},t.scan=function(r,s){function a(){m.length>0&&(x.push({tag:"_t",text:new String(m)}),m="")}function o(){for(var n=!0,e=y;e"==e.tag&&(e.indent=x[i].text.toString()),x.splice(i,1));else n||x.push({tag:"\n"});w=!1,y=x.length}function c(t,n){var i="="+S,r=t.indexOf(i,n),s=e(t.substring(t.indexOf("=",n)+1,r)).split(" ");return T=s[0],S=s[s.length-1],r+i.length-1}var l=r.length,f=0,h=1,p=2,v=f,b=null,d=null,m="",x=[],w=!1,k=0,y=0,T="{{",S="}}";for(s&&(s=s.split(" "),T=s[0],S=s[1]),k=0;l>k;k++)v==f?i(T,r,k)?(--k,a(),v=h):"\n"==r.charAt(k)?u(w):m+=r.charAt(k):v==h?(k+=T.length-1,d=t.tags[r.charAt(k+1)],b=d?r.charAt(k+1):"_v","="==b?(k=c(r,k),v=f):(d&&k++,v=p),w=k):i(S,r,k)?(x.push({tag:b,n:e(m),otag:T,ctag:S,i:"/"==b?w-T.length:k+S.length}),m="",k+=S.length-1,v=f,"{"==b&&("}}"==S?k++:n(x[x.length-1]))):m+=r.charAt(k);return u(w,!0),x};var k={_t:!0,"\n":!0,$:!0,"/":!0};t.stringify=function(n){return"{code: function (c,p,i) { "+t.wrapMain(n.code)+" },"+u(n)+"}"};var y=0;t.generate=function(n,e,i){y=0;var r={code:"",subs:{},partials:{}};return t.walk(n,r),i.asString?this.stringify(r,e,i):this.makeTemplate(r,e,i)},t.wrapMain=function(t){return'var t=this;t.b(i=i||"");'+t+"return t.fl();"},t.template=t.Template,t.makeTemplate=function(t,n,e){var i=this.makePartials(t);return i.code=new Function("c","p","i",this.wrapMain(t.code)),new this.template(i,n,this,e)},t.makePartials=function(t){var n,e={subs:{},partials:t.partials,name:t.name};for(n in e.partials)e.partials[n]=this.makePartials(e.partials[n]);for(n in t.subs)e.subs[n]=new Function("c","p","t","i",t.subs[n]);return e},t.codegen={"#":function(n,e){e.code+="if(t.s(t."+l(n.n)+'("'+c(n.n)+'",c,p,1),c,p,0,'+n.i+","+n.end+',"'+n.otag+" "+n.ctag+'")){t.rs(c,p,function(c,p,t){',t.walk(n.nodes,e),e.code+="});c.pop();}"},"^":function(n,e){e.code+="if(!t.s(t."+l(n.n)+'("'+c(n.n)+'",c,p,1),c,p,1,0,0,"")){',t.walk(n.nodes,e),e.code+="};"},">":f,"<":function(n,e){var i={partials:{},code:"",subs:{},inPartial:!0};t.walk(n.nodes,i);var r=e.partials[f(n,e)];r.subs=i.subs,r.partials=i.partials},$:function(n,e){var i={subs:{},code:"",partials:e.partials,prefix:n.n};t.walk(n.nodes,i),e.subs[n.n]=i.code,e.inPartial||(e.code+='t.sub("'+c(n.n)+'",c,p,i);')},"\n":function(t,n){n.code+=p('"\\n"'+(t.last?"":" + i"))},_v:function(t,n){n.code+="t.b(t.v(t."+l(t.n)+'("'+c(t.n)+'",c,p,0)));'},_t:function(t,n){n.code+=p('"'+c(t.text)+'"')},"{":h,"&":h},t.walk=function(n,e){for(var i,r=0,s=n.length;s>r;r++)i=t.codegen[n[r].tag],i&&i(n[r],e);return e},t.parse=function(t,n,e){return e=e||{},r(t,"",[],e.sectionTags||[])},t.cache={},t.cacheKey=function(t,n){return[t,!!n.asString,!!n.disableLambda,n.delimiters,!!n.modelGet].join("||")},t.compile=function(n,e){e=e||{};var i=t.cacheKey(n,e),r=this.cache[i];if(r){var s=r.partials;for(var a in s)delete s[a].instance;return r}return r=this.generate(this.parse(this.scan(n,e.delimiters),n,e),n,e),this.cache[i]=r}}("undefined"!=typeof exports?exports:Hogan),"function"==typeof define&&define.amd&&define(Hogan); \ No newline at end of file diff --git a/hogan-node/node_modules/hogan.js/web/builds/3.0.2/hogan-3.0.2.min.common.js b/hogan-node/node_modules/hogan.js/web/builds/3.0.2/hogan-3.0.2.min.common.js new file mode 100644 index 0000000..a571cf3 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/3.0.2/hogan-3.0.2.min.common.js @@ -0,0 +1,5 @@ +/** +* @preserve Copyright 2012 Twitter, Inc. +* @license http://www.apache.org/licenses/LICENSE-2.0.txt +*/ +var Hogan={};!function(t){function n(t,n,e){var i;return n&&"object"==typeof n&&(void 0!==n[t]?i=n[t]:e&&n.get&&"function"==typeof n.get&&(i=n.get(t))),i}function e(t,n,e,i,r,s){function a(){}function o(){}a.prototype=t,o.prototype=t.subs;var u,c=new a;c.subs=new o,c.subsText={},c.buf="",i=i||{},c.stackSubs=i,c.subsText=s;for(u in n)i[u]||(i[u]=n[u]);for(u in i)c.subs[u]=i[u];r=r||{},c.stackPartials=r;for(u in e)r[u]||(r[u]=e[u]);for(u in r)c.partials[u]=r[u];return c}function i(t){return String(null===t||void 0===t?"":t)}function r(t){return t=i(t),l.test(t)?t.replace(s,"&").replace(a,"<").replace(o,">").replace(u,"'").replace(c,"""):t}t.Template=function(t,n,e,i){t=t||{},this.r=t.code||this.r,this.c=e,this.options=i||{},this.text=n||"",this.partials=t.partials||{},this.subs=t.subs||{},this.buf=""},t.Template.prototype={r:function(){return""},v:r,t:i,render:function(t,n,e){return this.ri([t],n||{},e)},ri:function(t,n,e){return this.r(t,n,e)},ep:function(t,n){var i=this.partials[t],r=n[i.name];if(i.instance&&i.base==r)return i.instance;if("string"==typeof r){if(!this.c)throw new Error("No compiler available.");r=this.c.compile(r,this.options)}if(!r)return null;if(this.partials[t].base=r,i.subs){n.stackText||(n.stackText={});for(key in i.subs)n.stackText[key]||(n.stackText[key]=void 0!==this.activeSub&&n.stackText[this.activeSub]?n.stackText[this.activeSub]:this.text);r=e(r,i.subs,i.partials,this.stackSubs,this.stackPartials,n.stackText)}return this.partials[t].instance=r,r},rp:function(t,n,e,i){var r=this.ep(t,e);return r?r.ri(n,e,i):""},rs:function(t,n,e){var i=t[t.length-1];if(!f(i))return void e(t,n,this);for(var r=0;r=0;c--)if(a=e[c],s=n(t,a,u),void 0!==s){o=!0;break}return o?(r||"function"!=typeof s||(s=this.mv(s,e,i)),s):r?!1:""},ls:function(t,n,e,r,s){var a=this.options.delimiters;return this.options.delimiters=s,this.b(this.ct(i(t.call(n,r)),n,e)),this.options.delimiters=a,!1},ct:function(t,n,e){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(t,this.options).render(n,e)},b:function(t){this.buf+=t},fl:function(){var t=this.buf;return this.buf="",t},ms:function(t,n,e,i,r,s,a){var o,u=n[n.length-1],c=t.call(u);return"function"==typeof c?i?!0:(o=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(c,u,e,o.substring(r,s),a)):c},mv:function(t,n,e){var r=n[n.length-1],s=t.call(r);return"function"==typeof s?this.ct(i(s.call(r)),r,e):s},sub:function(t,n,e,i){var r=this.subs[t];r&&(this.activeSub=t,r(n,e,this,i),this.activeSub=!1)}};var s=/&/g,a=//g,u=/\'/g,c=/\"/g,l=/[&<>\"\']/,f=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)}}("undefined"!=typeof exports?exports:Hogan),function(t){function n(t){"}"===t.n.substr(t.n.length-1)&&(t.n=t.n.substring(0,t.n.length-1))}function e(t){return t.trim?t.trim():t.replace(/^\s*|\s*$/g,"")}function i(t,n,e){if(n.charAt(e)!=t.charAt(0))return!1;for(var i=1,r=t.length;r>i;i++)if(n.charAt(e+i)!=t.charAt(i))return!1;return!0}function r(n,e,i,o){var u=[],c=null,l=null,f=null;for(l=i[i.length-1];n.length>0;){if(f=n.shift(),l&&"<"==l.tag&&!(f.tag in k))throw new Error("Illegal content in < super tag.");if(t.tags[f.tag]<=t.tags.$||s(f,o))i.push(f),f.nodes=r(n,f.tag,i,o);else{if("/"==f.tag){if(0===i.length)throw new Error("Closing tag without opener: /"+f.n);if(c=i.pop(),f.n!=c.n&&!a(f.n,c.n,o))throw new Error("Nesting error: "+c.n+" vs. "+f.n);return c.end=f.i,u}"\n"==f.tag&&(f.last=0==n.length||"\n"==n[0].tag)}u.push(f)}if(i.length>0)throw new Error("missing closing tag: "+i.pop().n);return u}function s(t,n){for(var e=0,i=n.length;i>e;e++)if(n[e].o==t.n)return t.tag="#",!0}function a(t,n,e){for(var i=0,r=e.length;r>i;i++)if(e[i].c==t&&e[i].o==n)return!0}function o(t){var n=[];for(var e in t)n.push('"'+c(e)+'": function(c,p,t,i) {'+t[e]+"}");return"{ "+n.join(",")+" }"}function u(t){var n=[];for(var e in t.partials)n.push('"'+c(e)+'":{name:"'+c(t.partials[e].name)+'", '+u(t.partials[e])+"}");return"partials: {"+n.join(",")+"}, subs: "+o(t.subs)}function c(t){return t.replace(m,"\\\\").replace(v,'\\"').replace(b,"\\n").replace(d,"\\r").replace(x,"\\u2028").replace(w,"\\u2029")}function l(t){return~t.indexOf(".")?"d":"f"}function f(t,n){var e="<"+(n.prefix||""),i=e+t.n+y++;return n.partials[i]={name:t.n,partials:{}},n.code+='t.b(t.rp("'+c(i)+'",c,p,"'+(t.indent||"")+'"));',i}function p(t,n){n.code+="t.b(t.t(t."+l(t.n)+'("'+c(t.n)+'",c,p,0)));'}function h(t){return"t.b("+t+");"}var g=/\S/,v=/\"/g,b=/\n/g,d=/\r/g,m=/\\/g,x=/\u2028/,w=/\u2029/;t.tags={"#":1,"^":2,"<":3,$:4,"/":5,"!":6,">":7,"=":8,_v:9,"{":10,"&":11,_t:12},t.scan=function(r,s){function a(){m.length>0&&(x.push({tag:"_t",text:new String(m)}),m="")}function o(){for(var n=!0,e=y;e"==e.tag&&(e.indent=x[i].text.toString()),x.splice(i,1));else n||x.push({tag:"\n"});w=!1,y=x.length}function c(t,n){var i="="+S,r=t.indexOf(i,n),s=e(t.substring(t.indexOf("=",n)+1,r)).split(" ");return T=s[0],S=s[s.length-1],r+i.length-1}var l=r.length,f=0,p=1,h=2,v=f,b=null,d=null,m="",x=[],w=!1,k=0,y=0,T="{{",S="}}";for(s&&(s=s.split(" "),T=s[0],S=s[1]),k=0;l>k;k++)v==f?i(T,r,k)?(--k,a(),v=p):"\n"==r.charAt(k)?u(w):m+=r.charAt(k):v==p?(k+=T.length-1,d=t.tags[r.charAt(k+1)],b=d?r.charAt(k+1):"_v","="==b?(k=c(r,k),v=f):(d&&k++,v=h),w=k):i(S,r,k)?(x.push({tag:b,n:e(m),otag:T,ctag:S,i:"/"==b?w-T.length:k+S.length}),m="",k+=S.length-1,v=f,"{"==b&&("}}"==S?k++:n(x[x.length-1]))):m+=r.charAt(k);return u(w,!0),x};var k={_t:!0,"\n":!0,$:!0,"/":!0};t.stringify=function(n){return"{code: function (c,p,i) { "+t.wrapMain(n.code)+" },"+u(n)+"}"};var y=0;t.generate=function(n,e,i){y=0;var r={code:"",subs:{},partials:{}};return t.walk(n,r),i.asString?this.stringify(r,e,i):this.makeTemplate(r,e,i)},t.wrapMain=function(t){return'var t=this;t.b(i=i||"");'+t+"return t.fl();"},t.template=t.Template,t.makeTemplate=function(t,n,e){var i=this.makePartials(t);return i.code=new Function("c","p","i",this.wrapMain(t.code)),new this.template(i,n,this,e)},t.makePartials=function(t){var n,e={subs:{},partials:t.partials,name:t.name};for(n in e.partials)e.partials[n]=this.makePartials(e.partials[n]);for(n in t.subs)e.subs[n]=new Function("c","p","t","i",t.subs[n]);return e},t.codegen={"#":function(n,e){e.code+="if(t.s(t."+l(n.n)+'("'+c(n.n)+'",c,p,1),c,p,0,'+n.i+","+n.end+',"'+n.otag+" "+n.ctag+'")){t.rs(c,p,function(c,p,t){',t.walk(n.nodes,e),e.code+="});c.pop();}"},"^":function(n,e){e.code+="if(!t.s(t."+l(n.n)+'("'+c(n.n)+'",c,p,1),c,p,1,0,0,"")){',t.walk(n.nodes,e),e.code+="};"},">":f,"<":function(n,e){var i={partials:{},code:"",subs:{},inPartial:!0};t.walk(n.nodes,i);var r=e.partials[f(n,e)];r.subs=i.subs,r.partials=i.partials},$:function(n,e){var i={subs:{},code:"",partials:e.partials,prefix:n.n};t.walk(n.nodes,i),e.subs[n.n]=i.code,e.inPartial||(e.code+='t.sub("'+c(n.n)+'",c,p,i);')},"\n":function(t,n){n.code+=h('"\\n"'+(t.last?"":" + i"))},_v:function(t,n){n.code+="t.b(t.v(t."+l(t.n)+'("'+c(t.n)+'",c,p,0)));'},_t:function(t,n){n.code+=h('"'+c(t.text)+'"')},"{":p,"&":p},t.walk=function(n,e){for(var i,r=0,s=n.length;s>r;r++)i=t.codegen[n[r].tag],i&&i(n[r],e);return e},t.parse=function(t,n,e){return e=e||{},r(t,"",[],e.sectionTags||[])},t.cache={},t.cacheKey=function(t,n){return[t,!!n.asString,!!n.disableLambda,n.delimiters,!!n.modelGet].join("||")},t.compile=function(n,e){e=e||{};var i=t.cacheKey(n,e),r=this.cache[i];if(r){var s=r.partials;for(var a in s)delete s[a].instance;return r}return r=this.generate(this.parse(this.scan(n,e.delimiters),n,e),n,e),this.cache[i]=r}}("undefined"!=typeof exports?exports:Hogan),"undefined"!=typeof module&&module.exports&&(module.exports=Hogan); \ No newline at end of file diff --git a/hogan-node/node_modules/hogan.js/web/builds/3.0.2/hogan-3.0.2.min.js b/hogan-node/node_modules/hogan.js/web/builds/3.0.2/hogan-3.0.2.min.js new file mode 100644 index 0000000..437c5d4 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/3.0.2/hogan-3.0.2.min.js @@ -0,0 +1,5 @@ +/** +* @preserve Copyright 2012 Twitter, Inc. +* @license http://www.apache.org/licenses/LICENSE-2.0.txt +*/ +var Hogan={};!function(t){function n(t,n,e){var i;return n&&"object"==typeof n&&(void 0!==n[t]?i=n[t]:e&&n.get&&"function"==typeof n.get&&(i=n.get(t))),i}function e(t,n,e,i,r,s){function a(){}function o(){}a.prototype=t,o.prototype=t.subs;var u,c=new a;c.subs=new o,c.subsText={},c.buf="",i=i||{},c.stackSubs=i,c.subsText=s;for(u in n)i[u]||(i[u]=n[u]);for(u in i)c.subs[u]=i[u];r=r||{},c.stackPartials=r;for(u in e)r[u]||(r[u]=e[u]);for(u in r)c.partials[u]=r[u];return c}function i(t){return String(null===t||void 0===t?"":t)}function r(t){return t=i(t),l.test(t)?t.replace(s,"&").replace(a,"<").replace(o,">").replace(u,"'").replace(c,"""):t}t.Template=function(t,n,e,i){t=t||{},this.r=t.code||this.r,this.c=e,this.options=i||{},this.text=n||"",this.partials=t.partials||{},this.subs=t.subs||{},this.buf=""},t.Template.prototype={r:function(){return""},v:r,t:i,render:function(t,n,e){return this.ri([t],n||{},e)},ri:function(t,n,e){return this.r(t,n,e)},ep:function(t,n){var i=this.partials[t],r=n[i.name];if(i.instance&&i.base==r)return i.instance;if("string"==typeof r){if(!this.c)throw new Error("No compiler available.");r=this.c.compile(r,this.options)}if(!r)return null;if(this.partials[t].base=r,i.subs){n.stackText||(n.stackText={});for(key in i.subs)n.stackText[key]||(n.stackText[key]=void 0!==this.activeSub&&n.stackText[this.activeSub]?n.stackText[this.activeSub]:this.text);r=e(r,i.subs,i.partials,this.stackSubs,this.stackPartials,n.stackText)}return this.partials[t].instance=r,r},rp:function(t,n,e,i){var r=this.ep(t,e);return r?r.ri(n,e,i):""},rs:function(t,n,e){var i=t[t.length-1];if(!f(i))return void e(t,n,this);for(var r=0;r=0;c--)if(a=e[c],s=n(t,a,u),void 0!==s){o=!0;break}return o?(r||"function"!=typeof s||(s=this.mv(s,e,i)),s):r?!1:""},ls:function(t,n,e,r,s){var a=this.options.delimiters;return this.options.delimiters=s,this.b(this.ct(i(t.call(n,r)),n,e)),this.options.delimiters=a,!1},ct:function(t,n,e){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(t,this.options).render(n,e)},b:function(t){this.buf+=t},fl:function(){var t=this.buf;return this.buf="",t},ms:function(t,n,e,i,r,s,a){var o,u=n[n.length-1],c=t.call(u);return"function"==typeof c?i?!0:(o=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(c,u,e,o.substring(r,s),a)):c},mv:function(t,n,e){var r=n[n.length-1],s=t.call(r);return"function"==typeof s?this.ct(i(s.call(r)),r,e):s},sub:function(t,n,e,i){var r=this.subs[t];r&&(this.activeSub=t,r(n,e,this,i),this.activeSub=!1)}};var s=/&/g,a=//g,u=/\'/g,c=/\"/g,l=/[&<>\"\']/,f=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)}}("undefined"!=typeof exports?exports:Hogan),function(t){function n(t){"}"===t.n.substr(t.n.length-1)&&(t.n=t.n.substring(0,t.n.length-1))}function e(t){return t.trim?t.trim():t.replace(/^\s*|\s*$/g,"")}function i(t,n,e){if(n.charAt(e)!=t.charAt(0))return!1;for(var i=1,r=t.length;r>i;i++)if(n.charAt(e+i)!=t.charAt(i))return!1;return!0}function r(n,e,i,o){var u=[],c=null,l=null,f=null;for(l=i[i.length-1];n.length>0;){if(f=n.shift(),l&&"<"==l.tag&&!(f.tag in k))throw new Error("Illegal content in < super tag.");if(t.tags[f.tag]<=t.tags.$||s(f,o))i.push(f),f.nodes=r(n,f.tag,i,o);else{if("/"==f.tag){if(0===i.length)throw new Error("Closing tag without opener: /"+f.n);if(c=i.pop(),f.n!=c.n&&!a(f.n,c.n,o))throw new Error("Nesting error: "+c.n+" vs. "+f.n);return c.end=f.i,u}"\n"==f.tag&&(f.last=0==n.length||"\n"==n[0].tag)}u.push(f)}if(i.length>0)throw new Error("missing closing tag: "+i.pop().n);return u}function s(t,n){for(var e=0,i=n.length;i>e;e++)if(n[e].o==t.n)return t.tag="#",!0}function a(t,n,e){for(var i=0,r=e.length;r>i;i++)if(e[i].c==t&&e[i].o==n)return!0}function o(t){var n=[];for(var e in t)n.push('"'+c(e)+'": function(c,p,t,i) {'+t[e]+"}");return"{ "+n.join(",")+" }"}function u(t){var n=[];for(var e in t.partials)n.push('"'+c(e)+'":{name:"'+c(t.partials[e].name)+'", '+u(t.partials[e])+"}");return"partials: {"+n.join(",")+"}, subs: "+o(t.subs)}function c(t){return t.replace(m,"\\\\").replace(v,'\\"').replace(b,"\\n").replace(d,"\\r").replace(x,"\\u2028").replace(w,"\\u2029")}function l(t){return~t.indexOf(".")?"d":"f"}function f(t,n){var e="<"+(n.prefix||""),i=e+t.n+y++;return n.partials[i]={name:t.n,partials:{}},n.code+='t.b(t.rp("'+c(i)+'",c,p,"'+(t.indent||"")+'"));',i}function h(t,n){n.code+="t.b(t.t(t."+l(t.n)+'("'+c(t.n)+'",c,p,0)));'}function p(t){return"t.b("+t+");"}var g=/\S/,v=/\"/g,b=/\n/g,d=/\r/g,m=/\\/g,x=/\u2028/,w=/\u2029/;t.tags={"#":1,"^":2,"<":3,$:4,"/":5,"!":6,">":7,"=":8,_v:9,"{":10,"&":11,_t:12},t.scan=function(r,s){function a(){m.length>0&&(x.push({tag:"_t",text:new String(m)}),m="")}function o(){for(var n=!0,e=y;e"==e.tag&&(e.indent=x[i].text.toString()),x.splice(i,1));else n||x.push({tag:"\n"});w=!1,y=x.length}function c(t,n){var i="="+S,r=t.indexOf(i,n),s=e(t.substring(t.indexOf("=",n)+1,r)).split(" ");return T=s[0],S=s[s.length-1],r+i.length-1}var l=r.length,f=0,h=1,p=2,v=f,b=null,d=null,m="",x=[],w=!1,k=0,y=0,T="{{",S="}}";for(s&&(s=s.split(" "),T=s[0],S=s[1]),k=0;l>k;k++)v==f?i(T,r,k)?(--k,a(),v=h):"\n"==r.charAt(k)?u(w):m+=r.charAt(k):v==h?(k+=T.length-1,d=t.tags[r.charAt(k+1)],b=d?r.charAt(k+1):"_v","="==b?(k=c(r,k),v=f):(d&&k++,v=p),w=k):i(S,r,k)?(x.push({tag:b,n:e(m),otag:T,ctag:S,i:"/"==b?w-T.length:k+S.length}),m="",k+=S.length-1,v=f,"{"==b&&("}}"==S?k++:n(x[x.length-1]))):m+=r.charAt(k);return u(w,!0),x};var k={_t:!0,"\n":!0,$:!0,"/":!0};t.stringify=function(n){return"{code: function (c,p,i) { "+t.wrapMain(n.code)+" },"+u(n)+"}"};var y=0;t.generate=function(n,e,i){y=0;var r={code:"",subs:{},partials:{}};return t.walk(n,r),i.asString?this.stringify(r,e,i):this.makeTemplate(r,e,i)},t.wrapMain=function(t){return'var t=this;t.b(i=i||"");'+t+"return t.fl();"},t.template=t.Template,t.makeTemplate=function(t,n,e){var i=this.makePartials(t);return i.code=new Function("c","p","i",this.wrapMain(t.code)),new this.template(i,n,this,e)},t.makePartials=function(t){var n,e={subs:{},partials:t.partials,name:t.name};for(n in e.partials)e.partials[n]=this.makePartials(e.partials[n]);for(n in t.subs)e.subs[n]=new Function("c","p","t","i",t.subs[n]);return e},t.codegen={"#":function(n,e){e.code+="if(t.s(t."+l(n.n)+'("'+c(n.n)+'",c,p,1),c,p,0,'+n.i+","+n.end+',"'+n.otag+" "+n.ctag+'")){t.rs(c,p,function(c,p,t){',t.walk(n.nodes,e),e.code+="});c.pop();}"},"^":function(n,e){e.code+="if(!t.s(t."+l(n.n)+'("'+c(n.n)+'",c,p,1),c,p,1,0,0,"")){',t.walk(n.nodes,e),e.code+="};"},">":f,"<":function(n,e){var i={partials:{},code:"",subs:{},inPartial:!0};t.walk(n.nodes,i);var r=e.partials[f(n,e)];r.subs=i.subs,r.partials=i.partials},$:function(n,e){var i={subs:{},code:"",partials:e.partials,prefix:n.n};t.walk(n.nodes,i),e.subs[n.n]=i.code,e.inPartial||(e.code+='t.sub("'+c(n.n)+'",c,p,i);')},"\n":function(t,n){n.code+=p('"\\n"'+(t.last?"":" + i"))},_v:function(t,n){n.code+="t.b(t.v(t."+l(t.n)+'("'+c(t.n)+'",c,p,0)));'},_t:function(t,n){n.code+=p('"'+c(t.text)+'"')},"{":h,"&":h},t.walk=function(n,e){for(var i,r=0,s=n.length;s>r;r++)i=t.codegen[n[r].tag],i&&i(n[r],e);return e},t.parse=function(t,n,e){return e=e||{},r(t,"",[],e.sectionTags||[])},t.cache={},t.cacheKey=function(t,n){return[t,!!n.asString,!!n.disableLambda,n.delimiters,!!n.modelGet].join("||")},t.compile=function(n,e){e=e||{};var i=t.cacheKey(n,e),r=this.cache[i];if(r){var s=r.partials;for(var a in s)delete s[a].instance;return r}return r=this.generate(this.parse(this.scan(n,e.delimiters),n,e),n,e),this.cache[i]=r}}("undefined"!=typeof exports?exports:Hogan); \ No newline at end of file diff --git a/hogan-node/node_modules/hogan.js/web/builds/3.0.2/hogan-3.0.2.min.mustache.js b/hogan-node/node_modules/hogan.js/web/builds/3.0.2/hogan-3.0.2.min.mustache.js new file mode 100644 index 0000000..93c7918 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/3.0.2/hogan-3.0.2.min.mustache.js @@ -0,0 +1,5 @@ +/** +* @preserve Copyright 2012 Twitter, Inc. +* @license http://www.apache.org/licenses/LICENSE-2.0.txt +*/ +var Hogan={};!function(t){function n(t,n,e){var r;return n&&"object"==typeof n&&(void 0!==n[t]?r=n[t]:e&&n.get&&"function"==typeof n.get&&(r=n.get(t))),r}function e(t,n,e,r,i,a){function s(){}function o(){}s.prototype=t,o.prototype=t.subs;var u,c=new s;c.subs=new o,c.subsText={},c.buf="",r=r||{},c.stackSubs=r,c.subsText=a;for(u in n)r[u]||(r[u]=n[u]);for(u in r)c.subs[u]=r[u];i=i||{},c.stackPartials=i;for(u in e)i[u]||(i[u]=e[u]);for(u in i)c.partials[u]=i[u];return c}function r(t){return String(null===t||void 0===t?"":t)}function i(t){return t=r(t),l.test(t)?t.replace(a,"&").replace(s,"<").replace(o,">").replace(u,"'").replace(c,"""):t}t.Template=function(t,n,e,r){t=t||{},this.r=t.code||this.r,this.c=e,this.options=r||{},this.text=n||"",this.partials=t.partials||{},this.subs=t.subs||{},this.buf=""},t.Template.prototype={r:function(){return""},v:i,t:r,render:function(t,n,e){return this.ri([t],n||{},e)},ri:function(t,n,e){return this.r(t,n,e)},ep:function(t,n){var r=this.partials[t],i=n[r.name];if(r.instance&&r.base==i)return r.instance;if("string"==typeof i){if(!this.c)throw new Error("No compiler available.");i=this.c.compile(i,this.options)}if(!i)return null;if(this.partials[t].base=i,r.subs){n.stackText||(n.stackText={});for(key in r.subs)n.stackText[key]||(n.stackText[key]=void 0!==this.activeSub&&n.stackText[this.activeSub]?n.stackText[this.activeSub]:this.text);i=e(i,r.subs,r.partials,this.stackSubs,this.stackPartials,n.stackText)}return this.partials[t].instance=i,i},rp:function(t,n,e,r){var i=this.ep(t,e);return i?i.ri(n,e,r):""},rs:function(t,n,e){var r=t[t.length-1];if(!f(r))return void e(t,n,this);for(var i=0;i=0;c--)if(s=e[c],a=n(t,s,u),void 0!==a){o=!0;break}return o?(i||"function"!=typeof a||(a=this.mv(a,e,r)),a):i?!1:""},ls:function(t,n,e,i,a){var s=this.options.delimiters;return this.options.delimiters=a,this.b(this.ct(r(t.call(n,i)),n,e)),this.options.delimiters=s,!1},ct:function(t,n,e){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(t,this.options).render(n,e)},b:function(t){this.buf+=t},fl:function(){var t=this.buf;return this.buf="",t},ms:function(t,n,e,r,i,a,s){var o,u=n[n.length-1],c=t.call(u);return"function"==typeof c?r?!0:(o=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(c,u,e,o.substring(i,a),s)):c},mv:function(t,n,e){var i=n[n.length-1],a=t.call(i);return"function"==typeof a?this.ct(r(a.call(i)),i,e):a},sub:function(t,n,e,r){var i=this.subs[t];i&&(this.activeSub=t,i(n,e,this,r),this.activeSub=!1)}};var a=/&/g,s=//g,u=/\'/g,c=/\"/g,l=/[&<>\"\']/,f=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)}}("undefined"!=typeof exports?exports:Hogan),function(t){function n(t){"}"===t.n.substr(t.n.length-1)&&(t.n=t.n.substring(0,t.n.length-1))}function e(t){return t.trim?t.trim():t.replace(/^\s*|\s*$/g,"")}function r(t,n,e){if(n.charAt(e)!=t.charAt(0))return!1;for(var r=1,i=t.length;i>r;r++)if(n.charAt(e+r)!=t.charAt(r))return!1;return!0}function i(n,e,r,o){var u=[],c=null,l=null,f=null;for(l=r[r.length-1];n.length>0;){if(f=n.shift(),l&&"<"==l.tag&&!(f.tag in y))throw new Error("Illegal content in < super tag.");if(t.tags[f.tag]<=t.tags.$||a(f,o))r.push(f),f.nodes=i(n,f.tag,r,o);else{if("/"==f.tag){if(0===r.length)throw new Error("Closing tag without opener: /"+f.n);if(c=r.pop(),f.n!=c.n&&!s(f.n,c.n,o))throw new Error("Nesting error: "+c.n+" vs. "+f.n);return c.end=f.i,u}"\n"==f.tag&&(f.last=0==n.length||"\n"==n[0].tag)}u.push(f)}if(r.length>0)throw new Error("missing closing tag: "+r.pop().n);return u}function a(t,n){for(var e=0,r=n.length;r>e;e++)if(n[e].o==t.n)return t.tag="#",!0}function s(t,n,e){for(var r=0,i=e.length;i>r;r++)if(e[r].c==t&&e[r].o==n)return!0}function o(t){var n=[];for(var e in t)n.push('"'+c(e)+'": function(c,p,t,i) {'+t[e]+"}");return"{ "+n.join(",")+" }"}function u(t){var n=[];for(var e in t.partials)n.push('"'+c(e)+'":{name:"'+c(t.partials[e].name)+'", '+u(t.partials[e])+"}");return"partials: {"+n.join(",")+"}, subs: "+o(t.subs)}function c(t){return t.replace(m,"\\\\").replace(v,'\\"').replace(b,"\\n").replace(d,"\\r").replace(w,"\\u2028").replace(x,"\\u2029")}function l(t){return~t.indexOf(".")?"d":"f"}function f(t,n){var e="<"+(n.prefix||""),r=e+t.n+k++;return n.partials[r]={name:t.n,partials:{}},n.code+='t.b(t.rp("'+c(r)+'",c,p,"'+(t.indent||"")+'"));',r}function p(t,n){n.code+="t.b(t.t(t."+l(t.n)+'("'+c(t.n)+'",c,p,0)));'}function h(t){return"t.b("+t+");"}var g=/\S/,v=/\"/g,b=/\n/g,d=/\r/g,m=/\\/g,w=/\u2028/,x=/\u2029/;t.tags={"#":1,"^":2,"<":3,$:4,"/":5,"!":6,">":7,"=":8,_v:9,"{":10,"&":11,_t:12},t.scan=function(i,a){function s(){m.length>0&&(w.push({tag:"_t",text:new String(m)}),m="")}function o(){for(var n=!0,e=k;e"==e.tag&&(e.indent=w[r].text.toString()),w.splice(r,1));else n||w.push({tag:"\n"});x=!1,k=w.length}function c(t,n){var r="="+S,i=t.indexOf(r,n),a=e(t.substring(t.indexOf("=",n)+1,i)).split(" ");return T=a[0],S=a[a.length-1],i+r.length-1}var l=i.length,f=0,p=1,h=2,v=f,b=null,d=null,m="",w=[],x=!1,y=0,k=0,T="{{",S="}}";for(a&&(a=a.split(" "),T=a[0],S=a[1]),y=0;l>y;y++)v==f?r(T,i,y)?(--y,s(),v=p):"\n"==i.charAt(y)?u(x):m+=i.charAt(y):v==p?(y+=T.length-1,d=t.tags[i.charAt(y+1)],b=d?i.charAt(y+1):"_v","="==b?(y=c(i,y),v=f):(d&&y++,v=h),x=y):r(S,i,y)?(w.push({tag:b,n:e(m),otag:T,ctag:S,i:"/"==b?x-T.length:y+S.length}),m="",y+=S.length-1,v=f,"{"==b&&("}}"==S?y++:n(w[w.length-1]))):m+=i.charAt(y);return u(x,!0),w};var y={_t:!0,"\n":!0,$:!0,"/":!0};t.stringify=function(n){return"{code: function (c,p,i) { "+t.wrapMain(n.code)+" },"+u(n)+"}"};var k=0;t.generate=function(n,e,r){k=0;var i={code:"",subs:{},partials:{}};return t.walk(n,i),r.asString?this.stringify(i,e,r):this.makeTemplate(i,e,r)},t.wrapMain=function(t){return'var t=this;t.b(i=i||"");'+t+"return t.fl();"},t.template=t.Template,t.makeTemplate=function(t,n,e){var r=this.makePartials(t);return r.code=new Function("c","p","i",this.wrapMain(t.code)),new this.template(r,n,this,e)},t.makePartials=function(t){var n,e={subs:{},partials:t.partials,name:t.name};for(n in e.partials)e.partials[n]=this.makePartials(e.partials[n]);for(n in t.subs)e.subs[n]=new Function("c","p","t","i",t.subs[n]);return e},t.codegen={"#":function(n,e){e.code+="if(t.s(t."+l(n.n)+'("'+c(n.n)+'",c,p,1),c,p,0,'+n.i+","+n.end+',"'+n.otag+" "+n.ctag+'")){t.rs(c,p,function(c,p,t){',t.walk(n.nodes,e),e.code+="});c.pop();}"},"^":function(n,e){e.code+="if(!t.s(t."+l(n.n)+'("'+c(n.n)+'",c,p,1),c,p,1,0,0,"")){',t.walk(n.nodes,e),e.code+="};"},">":f,"<":function(n,e){var r={partials:{},code:"",subs:{},inPartial:!0};t.walk(n.nodes,r);var i=e.partials[f(n,e)];i.subs=r.subs,i.partials=r.partials},$:function(n,e){var r={subs:{},code:"",partials:e.partials,prefix:n.n};t.walk(n.nodes,r),e.subs[n.n]=r.code,e.inPartial||(e.code+='t.sub("'+c(n.n)+'",c,p,i);')},"\n":function(t,n){n.code+=h('"\\n"'+(t.last?"":" + i"))},_v:function(t,n){n.code+="t.b(t.v(t."+l(t.n)+'("'+c(t.n)+'",c,p,0)));'},_t:function(t,n){n.code+=h('"'+c(t.text)+'"')},"{":p,"&":p},t.walk=function(n,e){for(var r,i=0,a=n.length;a>i;i++)r=t.codegen[n[i].tag],r&&r(n[i],e);return e},t.parse=function(t,n,e){return e=e||{},i(t,"",[],e.sectionTags||[])},t.cache={},t.cacheKey=function(t,n){return[t,!!n.asString,!!n.disableLambda,n.delimiters,!!n.modelGet].join("||")},t.compile=function(n,e){e=e||{};var r=t.cacheKey(n,e),i=this.cache[r];if(i){var a=i.partials;for(var s in a)delete a[s].instance;return i}return i=this.generate(this.parse(this.scan(n,e.delimiters),n,e),n,e),this.cache[r]=i}}("undefined"!=typeof exports?exports:Hogan);var Mustache=function(t){function n(n,e,r,i){var a=this.f(n,e,r,0),s=e;return a&&(s=s.concat(a)),t.Template.prototype.rp.call(this,n,s,r,i)}var e=function(e,r,i){this.rp=n,t.Template.call(this,e,r,i)};e.prototype=t.Template.prototype;var r,i=function(){this.cache={},this.generate=function(t,n){return new e(new Function("c","p","i",t),n,r)}};return i.prototype=t,r=new i,{to_html:function(t,n,e,i){var a=r.compile(t),s=a.render(n,e);return i?void i(s):s}}}(Hogan); \ No newline at end of file diff --git a/hogan-node/node_modules/hogan.js/web/builds/3.0.2/hogan-3.0.2.mustache.js b/hogan-node/node_modules/hogan.js/web/builds/3.0.2/hogan-3.0.2.mustache.js new file mode 100644 index 0000000..f1300c4 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/3.0.2/hogan-3.0.2.mustache.js @@ -0,0 +1,802 @@ +/*! + * Copyright 2011 Twitter, Inc. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// A wrapper for compatibility with Mustache.js, quirks and all + + + +var Hogan = {}; + +(function (Hogan) { + Hogan.Template = function (codeObj, text, compiler, options) { + codeObj = codeObj || {}; + this.r = codeObj.code || this.r; + this.c = compiler; + this.options = options || {}; + this.text = text || ''; + this.partials = codeObj.partials || {}; + this.subs = codeObj.subs || {}; + this.buf = ''; + } + + Hogan.Template.prototype = { + // render: replaced by generated code. + r: function (context, partials, indent) { return ''; }, + + // variable escaping + v: hoganEscape, + + // triple stache + t: coerceToString, + + render: function render(context, partials, indent) { + return this.ri([context], partials || {}, indent); + }, + + // render internal -- a hook for overrides that catches partials too + ri: function (context, partials, indent) { + return this.r(context, partials, indent); + }, + + // ensurePartial + ep: function(symbol, partials) { + var partial = this.partials[symbol]; + + // check to see that if we've instantiated this partial before + var template = partials[partial.name]; + if (partial.instance && partial.base == template) { + return partial.instance; + } + + if (typeof template == 'string') { + if (!this.c) { + throw new Error("No compiler available."); + } + template = this.c.compile(template, this.options); + } + + if (!template) { + return null; + } + + // We use this to check whether the partials dictionary has changed + this.partials[symbol].base = template; + + if (partial.subs) { + // Make sure we consider parent template now + if (!partials.stackText) partials.stackText = {}; + for (key in partial.subs) { + if (!partials.stackText[key]) { + partials.stackText[key] = (this.activeSub !== undefined && partials.stackText[this.activeSub]) ? partials.stackText[this.activeSub] : this.text; + } + } + template = createSpecializedPartial(template, partial.subs, partial.partials, + this.stackSubs, this.stackPartials, partials.stackText); + } + this.partials[symbol].instance = template; + + return template; + }, + + // tries to find a partial in the current scope and render it + rp: function(symbol, context, partials, indent) { + var partial = this.ep(symbol, partials); + if (!partial) { + return ''; + } + + return partial.ri(context, partials, indent); + }, + + // render a section + rs: function(context, partials, section) { + var tail = context[context.length - 1]; + + if (!isArray(tail)) { + section(context, partials, this); + return; + } + + for (var i = 0; i < tail.length; i++) { + context.push(tail[i]); + section(context, partials, this); + context.pop(); + } + }, + + // maybe start a section + s: function(val, ctx, partials, inverted, start, end, tags) { + var pass; + + if (isArray(val) && val.length === 0) { + return false; + } + + if (typeof val == 'function') { + val = this.ms(val, ctx, partials, inverted, start, end, tags); + } + + pass = !!val; + + if (!inverted && pass && ctx) { + ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]); + } + + return pass; + }, + + // find values with dotted names + d: function(key, ctx, partials, returnFound) { + var found, + names = key.split('.'), + val = this.f(names[0], ctx, partials, returnFound), + doModelGet = this.options.modelGet, + cx = null; + + if (key === '.' && isArray(ctx[ctx.length - 2])) { + val = ctx[ctx.length - 1]; + } else { + for (var i = 1; i < names.length; i++) { + found = findInScope(names[i], val, doModelGet); + if (found !== undefined) { + cx = val; + val = found; + } else { + val = ''; + } + } + } + + if (returnFound && !val) { + return false; + } + + if (!returnFound && typeof val == 'function') { + ctx.push(cx); + val = this.mv(val, ctx, partials); + ctx.pop(); + } + + return val; + }, + + // find values with normal names + f: function(key, ctx, partials, returnFound) { + var val = false, + v = null, + found = false, + doModelGet = this.options.modelGet; + + for (var i = ctx.length - 1; i >= 0; i--) { + v = ctx[i]; + val = findInScope(key, v, doModelGet); + if (val !== undefined) { + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.mv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ls: function(func, cx, partials, text, tags) { + var oldTags = this.options.delimiters; + + this.options.delimiters = tags; + this.b(this.ct(coerceToString(func.call(cx, text)), cx, partials)); + this.options.delimiters = oldTags; + + return false; + }, + + // compile text + ct: function(text, cx, partials) { + if (this.options.disableLambda) { + throw new Error('Lambda features disabled.'); + } + return this.c.compile(text, this.options).render(cx, partials); + }, + + // template result buffering + b: function(s) { this.buf += s; }, + + fl: function() { var r = this.buf; this.buf = ''; return r; }, + + // method replace section + ms: function(func, ctx, partials, inverted, start, end, tags) { + var textSource, + cx = ctx[ctx.length - 1], + result = func.call(cx); + + if (typeof result == 'function') { + if (inverted) { + return true; + } else { + textSource = (this.activeSub && this.subsText && this.subsText[this.activeSub]) ? this.subsText[this.activeSub] : this.text; + return this.ls(result, cx, partials, textSource.substring(start, end), tags); + } + } + + return result; + }, + + // method replace variable + mv: function(func, ctx, partials) { + var cx = ctx[ctx.length - 1]; + var result = func.call(cx); + + if (typeof result == 'function') { + return this.ct(coerceToString(result.call(cx)), cx, partials); + } + + return result; + }, + + sub: function(name, context, partials, indent) { + var f = this.subs[name]; + if (f) { + this.activeSub = name; + f(context, partials, this, indent); + this.activeSub = false; + } + } + + }; + + //Find a key in an object + function findInScope(key, scope, doModelGet) { + var val; + + if (scope && typeof scope == 'object') { + + if (scope[key] !== undefined) { + val = scope[key]; + + // try lookup with get for backbone or similar model data + } else if (doModelGet && scope.get && typeof scope.get == 'function') { + val = scope.get(key); + } + } + + return val; + } + + function createSpecializedPartial(instance, subs, partials, stackSubs, stackPartials, stackText) { + function PartialTemplate() {}; + PartialTemplate.prototype = instance; + function Substitutions() {}; + Substitutions.prototype = instance.subs; + var key; + var partial = new PartialTemplate(); + partial.subs = new Substitutions(); + partial.subsText = {}; //hehe. substext. + partial.buf = ''; + + stackSubs = stackSubs || {}; + partial.stackSubs = stackSubs; + partial.subsText = stackText; + for (key in subs) { + if (!stackSubs[key]) stackSubs[key] = subs[key]; + } + for (key in stackSubs) { + partial.subs[key] = stackSubs[key]; + } + + stackPartials = stackPartials || {}; + partial.stackPartials = stackPartials; + for (key in partials) { + if (!stackPartials[key]) stackPartials[key] = partials[key]; + } + for (key in stackPartials) { + partial.partials[key] = stackPartials[key]; + } + + return partial; + } + + var rAmp = /&/g, + rLt = //g, + rApos = /\'/g, + rQuot = /\"/g, + hChars = /[&<>\"\']/; + + function coerceToString(val) { + return String((val === null || val === undefined) ? '' : val); + } + + function hoganEscape(str) { + str = coerceToString(str); + return hChars.test(str) ? + str + .replace(rAmp, '&') + .replace(rLt, '<') + .replace(rGt, '>') + .replace(rApos, ''') + .replace(rQuot, '"') : + str; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + }; + +})(typeof exports !== 'undefined' ? exports : Hogan); + + + +(function (Hogan) { + // Setup regex assignments + // remove whitespace according to Mustache spec + var rIsWhitespace = /\S/, + rQuot = /\"/g, + rNewline = /\n/g, + rCr = /\r/g, + rSlash = /\\/g, + rLineSep = /\u2028/, + rParagraphSep = /\u2029/; + + Hogan.tags = { + '#': 1, '^': 2, '<': 3, '$': 4, + '/': 5, '!': 6, '>': 7, '=': 8, '_v': 9, + '{': 10, '&': 11, '_t': 12 + }; + + Hogan.scan = function scan(text, delimiters) { + var len = text.length, + IN_TEXT = 0, + IN_TAG_TYPE = 1, + IN_TAG = 2, + state = IN_TEXT, + tagType = null, + tag = null, + buf = '', + tokens = [], + seenTag = false, + i = 0, + lineStart = 0, + otag = '{{', + ctag = '}}'; + + function addBuf() { + if (buf.length > 0) { + tokens.push({tag: '_t', text: new String(buf)}); + buf = ''; + } + } + + function lineIsWhitespace() { + var isAllWhitespace = true; + for (var j = lineStart; j < tokens.length; j++) { + isAllWhitespace = + (Hogan.tags[tokens[j].tag] < Hogan.tags['_v']) || + (tokens[j].tag == '_t' && tokens[j].text.match(rIsWhitespace) === null); + if (!isAllWhitespace) { + return false; + } + } + + return isAllWhitespace; + } + + function filterLine(haveSeenTag, noNewLine) { + addBuf(); + + if (haveSeenTag && lineIsWhitespace()) { + for (var j = lineStart, next; j < tokens.length; j++) { + if (tokens[j].text) { + if ((next = tokens[j+1]) && next.tag == '>') { + // set indent to token value + next.indent = tokens[j].text.toString() + } + tokens.splice(j, 1); + } + } + } else if (!noNewLine) { + tokens.push({tag:'\n'}); + } + + seenTag = false; + lineStart = tokens.length; + } + + function changeDelimiters(text, index) { + var close = '=' + ctag, + closeIndex = text.indexOf(close, index), + delimiters = trim( + text.substring(text.indexOf('=', index) + 1, closeIndex) + ).split(' '); + + otag = delimiters[0]; + ctag = delimiters[delimiters.length - 1]; + + return closeIndex + close.length - 1; + } + + if (delimiters) { + delimiters = delimiters.split(' '); + otag = delimiters[0]; + ctag = delimiters[1]; + } + + for (i = 0; i < len; i++) { + if (state == IN_TEXT) { + if (tagChange(otag, text, i)) { + --i; + addBuf(); + state = IN_TAG_TYPE; + } else { + if (text.charAt(i) == '\n') { + filterLine(seenTag); + } else { + buf += text.charAt(i); + } + } + } else if (state == IN_TAG_TYPE) { + i += otag.length - 1; + tag = Hogan.tags[text.charAt(i + 1)]; + tagType = tag ? text.charAt(i + 1) : '_v'; + if (tagType == '=') { + i = changeDelimiters(text, i); + state = IN_TEXT; + } else { + if (tag) { + i++; + } + state = IN_TAG; + } + seenTag = i; + } else { + if (tagChange(ctag, text, i)) { + tokens.push({tag: tagType, n: trim(buf), otag: otag, ctag: ctag, + i: (tagType == '/') ? seenTag - otag.length : i + ctag.length}); + buf = ''; + i += ctag.length - 1; + state = IN_TEXT; + if (tagType == '{') { + if (ctag == '}}') { + i++; + } else { + cleanTripleStache(tokens[tokens.length - 1]); + } + } + } else { + buf += text.charAt(i); + } + } + } + + filterLine(seenTag, true); + + return tokens; + } + + function cleanTripleStache(token) { + if (token.n.substr(token.n.length - 1) === '}') { + token.n = token.n.substring(0, token.n.length - 1); + } + } + + function trim(s) { + if (s.trim) { + return s.trim(); + } + + return s.replace(/^\s*|\s*$/g, ''); + } + + function tagChange(tag, text, index) { + if (text.charAt(index) != tag.charAt(0)) { + return false; + } + + for (var i = 1, l = tag.length; i < l; i++) { + if (text.charAt(index + i) != tag.charAt(i)) { + return false; + } + } + + return true; + } + + // the tags allowed inside super templates + var allowedInSuper = {'_t': true, '\n': true, '$': true, '/': true}; + + function buildTree(tokens, kind, stack, customTags) { + var instructions = [], + opener = null, + tail = null, + token = null; + + tail = stack[stack.length - 1]; + + while (tokens.length > 0) { + token = tokens.shift(); + + if (tail && tail.tag == '<' && !(token.tag in allowedInSuper)) { + throw new Error('Illegal content in < super tag.'); + } + + if (Hogan.tags[token.tag] <= Hogan.tags['$'] || isOpener(token, customTags)) { + stack.push(token); + token.nodes = buildTree(tokens, token.tag, stack, customTags); + } else if (token.tag == '/') { + if (stack.length === 0) { + throw new Error('Closing tag without opener: /' + token.n); + } + opener = stack.pop(); + if (token.n != opener.n && !isCloser(token.n, opener.n, customTags)) { + throw new Error('Nesting error: ' + opener.n + ' vs. ' + token.n); + } + opener.end = token.i; + return instructions; + } else if (token.tag == '\n') { + token.last = (tokens.length == 0) || (tokens[0].tag == '\n'); + } + + instructions.push(token); + } + + if (stack.length > 0) { + throw new Error('missing closing tag: ' + stack.pop().n); + } + + return instructions; + } + + function isOpener(token, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].o == token.n) { + token.tag = '#'; + return true; + } + } + } + + function isCloser(close, open, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].c == close && tags[i].o == open) { + return true; + } + } + } + + function stringifySubstitutions(obj) { + var items = []; + for (var key in obj) { + items.push('"' + esc(key) + '": function(c,p,t,i) {' + obj[key] + '}'); + } + return "{ " + items.join(",") + " }"; + } + + function stringifyPartials(codeObj) { + var partials = []; + for (var key in codeObj.partials) { + partials.push('"' + esc(key) + '":{name:"' + esc(codeObj.partials[key].name) + '", ' + stringifyPartials(codeObj.partials[key]) + "}"); + } + return "partials: {" + partials.join(",") + "}, subs: " + stringifySubstitutions(codeObj.subs); + } + + Hogan.stringify = function(codeObj, text, options) { + return "{code: function (c,p,i) { " + Hogan.wrapMain(codeObj.code) + " }," + stringifyPartials(codeObj) + "}"; + } + + var serialNo = 0; + Hogan.generate = function(tree, text, options) { + serialNo = 0; + var context = { code: '', subs: {}, partials: {} }; + Hogan.walk(tree, context); + + if (options.asString) { + return this.stringify(context, text, options); + } + + return this.makeTemplate(context, text, options); + } + + Hogan.wrapMain = function(code) { + return 'var t=this;t.b(i=i||"");' + code + 'return t.fl();'; + } + + Hogan.template = Hogan.Template; + + Hogan.makeTemplate = function(codeObj, text, options) { + var template = this.makePartials(codeObj); + template.code = new Function('c', 'p', 'i', this.wrapMain(codeObj.code)); + return new this.template(template, text, this, options); + } + + Hogan.makePartials = function(codeObj) { + var key, template = {subs: {}, partials: codeObj.partials, name: codeObj.name}; + for (key in template.partials) { + template.partials[key] = this.makePartials(template.partials[key]); + } + for (key in codeObj.subs) { + template.subs[key] = new Function('c', 'p', 't', 'i', codeObj.subs[key]); + } + return template; + } + + function esc(s) { + return s.replace(rSlash, '\\\\') + .replace(rQuot, '\\\"') + .replace(rNewline, '\\n') + .replace(rCr, '\\r') + .replace(rLineSep, '\\u2028') + .replace(rParagraphSep, '\\u2029'); + } + + function chooseMethod(s) { + return (~s.indexOf('.')) ? 'd' : 'f'; + } + + function createPartial(node, context) { + var prefix = "<" + (context.prefix || ""); + var sym = prefix + node.n + serialNo++; + context.partials[sym] = {name: node.n, partials: {}}; + context.code += 't.b(t.rp("' + esc(sym) + '",c,p,"' + (node.indent || '') + '"));'; + return sym; + } + + Hogan.codegen = { + '#': function(node, context) { + context.code += 'if(t.s(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,1),' + + 'c,p,0,' + node.i + ',' + node.end + ',"' + node.otag + " " + node.ctag + '")){' + + 't.rs(c,p,' + 'function(c,p,t){'; + Hogan.walk(node.nodes, context); + context.code += '});c.pop();}'; + }, + + '^': function(node, context) { + context.code += 'if(!t.s(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,1),c,p,1,0,0,"")){'; + Hogan.walk(node.nodes, context); + context.code += '};'; + }, + + '>': createPartial, + '<': function(node, context) { + var ctx = {partials: {}, code: '', subs: {}, inPartial: true}; + Hogan.walk(node.nodes, ctx); + var template = context.partials[createPartial(node, context)]; + template.subs = ctx.subs; + template.partials = ctx.partials; + }, + + '$': function(node, context) { + var ctx = {subs: {}, code: '', partials: context.partials, prefix: node.n}; + Hogan.walk(node.nodes, ctx); + context.subs[node.n] = ctx.code; + if (!context.inPartial) { + context.code += 't.sub("' + esc(node.n) + '",c,p,i);'; + } + }, + + '\n': function(node, context) { + context.code += write('"\\n"' + (node.last ? '' : ' + i')); + }, + + '_v': function(node, context) { + context.code += 't.b(t.v(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,0)));'; + }, + + '_t': function(node, context) { + context.code += write('"' + esc(node.text) + '"'); + }, + + '{': tripleStache, + + '&': tripleStache + } + + function tripleStache(node, context) { + context.code += 't.b(t.t(t.' + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,0)));'; + } + + function write(s) { + return 't.b(' + s + ');'; + } + + Hogan.walk = function(nodelist, context) { + var func; + for (var i = 0, l = nodelist.length; i < l; i++) { + func = Hogan.codegen[nodelist[i].tag]; + func && func(nodelist[i], context); + } + return context; + } + + Hogan.parse = function(tokens, text, options) { + options = options || {}; + return buildTree(tokens, '', [], options.sectionTags || []); + } + + Hogan.cache = {}; + + Hogan.cacheKey = function(text, options) { + return [text, !!options.asString, !!options.disableLambda, options.delimiters, !!options.modelGet].join('||'); + } + + Hogan.compile = function(text, options) { + options = options || {}; + var key = Hogan.cacheKey(text, options); + var template = this.cache[key]; + + if (template) { + var partials = template.partials; + for (var name in partials) { + delete partials[name].instance; + } + return template; + } + + template = this.generate(this.parse(this.scan(text, options.delimiters), text, options), text, options); + return this.cache[key] = template; + } +})(typeof exports !== 'undefined' ? exports : Hogan); + + +var Mustache = (function (Hogan) { + + // Mustache.js has non-spec partial context behavior + function mustachePartial(name, context, partials, indent) { + var partialScope = this.f(name, context, partials, 0); + var cx = context; + if (partialScope) { + cx = cx.concat(partialScope); + } + + return Hogan.Template.prototype.rp.call(this, name, cx, partials, indent); + } + + var HoganTemplateWrapper = function(renderFunc, text, compiler){ + this.rp = mustachePartial; + Hogan.Template.call(this, renderFunc, text, compiler); + }; + HoganTemplateWrapper.prototype = Hogan.Template.prototype; + + // Add a wrapper for Hogan's generate method. Mustache and Hogan keep + // separate caches, and Mustache returns wrapped templates. + var wrapper; + var HoganWrapper = function(){ + this.cache = {}; + this.generate = function(code, text, options) { + return new HoganTemplateWrapper(new Function('c', 'p', 'i', code), text, wrapper); + } + }; + HoganWrapper.prototype = Hogan; + wrapper = new HoganWrapper(); + + return { + to_html: function(text, data, partials, sendFun) { + var template = wrapper.compile(text); + var result = template.render(data, partials); + if (!sendFun) { + return result; + } + + sendFun(result); + } + } + +})(Hogan); diff --git a/hogan-node/node_modules/hogan.js/web/builds/3.0.2/template-3.0.2.js b/hogan-node/node_modules/hogan.js/web/builds/3.0.2/template-3.0.2.js new file mode 100644 index 0000000..2e61b51 --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/3.0.2/template-3.0.2.js @@ -0,0 +1,341 @@ +/* + * Copyright 2011 Twitter, Inc. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +var Hogan = {}; + +(function (Hogan) { + Hogan.Template = function (codeObj, text, compiler, options) { + codeObj = codeObj || {}; + this.r = codeObj.code || this.r; + this.c = compiler; + this.options = options || {}; + this.text = text || ''; + this.partials = codeObj.partials || {}; + this.subs = codeObj.subs || {}; + this.buf = ''; + } + + Hogan.Template.prototype = { + // render: replaced by generated code. + r: function (context, partials, indent) { return ''; }, + + // variable escaping + v: hoganEscape, + + // triple stache + t: coerceToString, + + render: function render(context, partials, indent) { + return this.ri([context], partials || {}, indent); + }, + + // render internal -- a hook for overrides that catches partials too + ri: function (context, partials, indent) { + return this.r(context, partials, indent); + }, + + // ensurePartial + ep: function(symbol, partials) { + var partial = this.partials[symbol]; + + // check to see that if we've instantiated this partial before + var template = partials[partial.name]; + if (partial.instance && partial.base == template) { + return partial.instance; + } + + if (typeof template == 'string') { + if (!this.c) { + throw new Error("No compiler available."); + } + template = this.c.compile(template, this.options); + } + + if (!template) { + return null; + } + + // We use this to check whether the partials dictionary has changed + this.partials[symbol].base = template; + + if (partial.subs) { + // Make sure we consider parent template now + if (!partials.stackText) partials.stackText = {}; + for (key in partial.subs) { + if (!partials.stackText[key]) { + partials.stackText[key] = (this.activeSub !== undefined && partials.stackText[this.activeSub]) ? partials.stackText[this.activeSub] : this.text; + } + } + template = createSpecializedPartial(template, partial.subs, partial.partials, + this.stackSubs, this.stackPartials, partials.stackText); + } + this.partials[symbol].instance = template; + + return template; + }, + + // tries to find a partial in the current scope and render it + rp: function(symbol, context, partials, indent) { + var partial = this.ep(symbol, partials); + if (!partial) { + return ''; + } + + return partial.ri(context, partials, indent); + }, + + // render a section + rs: function(context, partials, section) { + var tail = context[context.length - 1]; + + if (!isArray(tail)) { + section(context, partials, this); + return; + } + + for (var i = 0; i < tail.length; i++) { + context.push(tail[i]); + section(context, partials, this); + context.pop(); + } + }, + + // maybe start a section + s: function(val, ctx, partials, inverted, start, end, tags) { + var pass; + + if (isArray(val) && val.length === 0) { + return false; + } + + if (typeof val == 'function') { + val = this.ms(val, ctx, partials, inverted, start, end, tags); + } + + pass = !!val; + + if (!inverted && pass && ctx) { + ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]); + } + + return pass; + }, + + // find values with dotted names + d: function(key, ctx, partials, returnFound) { + var found, + names = key.split('.'), + val = this.f(names[0], ctx, partials, returnFound), + doModelGet = this.options.modelGet, + cx = null; + + if (key === '.' && isArray(ctx[ctx.length - 2])) { + val = ctx[ctx.length - 1]; + } else { + for (var i = 1; i < names.length; i++) { + found = findInScope(names[i], val, doModelGet); + if (found !== undefined) { + cx = val; + val = found; + } else { + val = ''; + } + } + } + + if (returnFound && !val) { + return false; + } + + if (!returnFound && typeof val == 'function') { + ctx.push(cx); + val = this.mv(val, ctx, partials); + ctx.pop(); + } + + return val; + }, + + // find values with normal names + f: function(key, ctx, partials, returnFound) { + var val = false, + v = null, + found = false, + doModelGet = this.options.modelGet; + + for (var i = ctx.length - 1; i >= 0; i--) { + v = ctx[i]; + val = findInScope(key, v, doModelGet); + if (val !== undefined) { + found = true; + break; + } + } + + if (!found) { + return (returnFound) ? false : ""; + } + + if (!returnFound && typeof val == 'function') { + val = this.mv(val, ctx, partials); + } + + return val; + }, + + // higher order templates + ls: function(func, cx, partials, text, tags) { + var oldTags = this.options.delimiters; + + this.options.delimiters = tags; + this.b(this.ct(coerceToString(func.call(cx, text)), cx, partials)); + this.options.delimiters = oldTags; + + return false; + }, + + // compile text + ct: function(text, cx, partials) { + if (this.options.disableLambda) { + throw new Error('Lambda features disabled.'); + } + return this.c.compile(text, this.options).render(cx, partials); + }, + + // template result buffering + b: function(s) { this.buf += s; }, + + fl: function() { var r = this.buf; this.buf = ''; return r; }, + + // method replace section + ms: function(func, ctx, partials, inverted, start, end, tags) { + var textSource, + cx = ctx[ctx.length - 1], + result = func.call(cx); + + if (typeof result == 'function') { + if (inverted) { + return true; + } else { + textSource = (this.activeSub && this.subsText && this.subsText[this.activeSub]) ? this.subsText[this.activeSub] : this.text; + return this.ls(result, cx, partials, textSource.substring(start, end), tags); + } + } + + return result; + }, + + // method replace variable + mv: function(func, ctx, partials) { + var cx = ctx[ctx.length - 1]; + var result = func.call(cx); + + if (typeof result == 'function') { + return this.ct(coerceToString(result.call(cx)), cx, partials); + } + + return result; + }, + + sub: function(name, context, partials, indent) { + var f = this.subs[name]; + if (f) { + this.activeSub = name; + f(context, partials, this, indent); + this.activeSub = false; + } + } + + }; + + //Find a key in an object + function findInScope(key, scope, doModelGet) { + var val; + + if (scope && typeof scope == 'object') { + + if (scope[key] !== undefined) { + val = scope[key]; + + // try lookup with get for backbone or similar model data + } else if (doModelGet && scope.get && typeof scope.get == 'function') { + val = scope.get(key); + } + } + + return val; + } + + function createSpecializedPartial(instance, subs, partials, stackSubs, stackPartials, stackText) { + function PartialTemplate() {}; + PartialTemplate.prototype = instance; + function Substitutions() {}; + Substitutions.prototype = instance.subs; + var key; + var partial = new PartialTemplate(); + partial.subs = new Substitutions(); + partial.subsText = {}; //hehe. substext. + partial.buf = ''; + + stackSubs = stackSubs || {}; + partial.stackSubs = stackSubs; + partial.subsText = stackText; + for (key in subs) { + if (!stackSubs[key]) stackSubs[key] = subs[key]; + } + for (key in stackSubs) { + partial.subs[key] = stackSubs[key]; + } + + stackPartials = stackPartials || {}; + partial.stackPartials = stackPartials; + for (key in partials) { + if (!stackPartials[key]) stackPartials[key] = partials[key]; + } + for (key in stackPartials) { + partial.partials[key] = stackPartials[key]; + } + + return partial; + } + + var rAmp = /&/g, + rLt = //g, + rApos = /\'/g, + rQuot = /\"/g, + hChars = /[&<>\"\']/; + + function coerceToString(val) { + return String((val === null || val === undefined) ? '' : val); + } + + function hoganEscape(str) { + str = coerceToString(str); + return hChars.test(str) ? + str + .replace(rAmp, '&') + .replace(rLt, '<') + .replace(rGt, '>') + .replace(rApos, ''') + .replace(rQuot, '"') : + str; + } + + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === '[object Array]'; + }; + +})(typeof exports !== 'undefined' ? exports : Hogan); diff --git a/hogan-node/node_modules/hogan.js/web/builds/3.0.2/template-3.0.2.min.js b/hogan-node/node_modules/hogan.js/web/builds/3.0.2/template-3.0.2.min.js new file mode 100644 index 0000000..cc5a9ef --- /dev/null +++ b/hogan-node/node_modules/hogan.js/web/builds/3.0.2/template-3.0.2.min.js @@ -0,0 +1,5 @@ +/** +* @preserve Copyright 2012 Twitter, Inc. +* @license http://www.apache.org/licenses/LICENSE-2.0.txt +*/ +var Hogan={};!function(t){function i(t,i,s){var e;return i&&"object"==typeof i&&(void 0!==i[t]?e=i[t]:s&&i.get&&"function"==typeof i.get&&(e=i.get(t))),e}function s(t,i,s,e,n,r){function o(){}function u(){}o.prototype=t,u.prototype=t.subs;var a,c=new o;c.subs=new u,c.subsText={},c.buf="",e=e||{},c.stackSubs=e,c.subsText=r;for(a in i)e[a]||(e[a]=i[a]);for(a in e)c.subs[a]=e[a];n=n||{},c.stackPartials=n;for(a in s)n[a]||(n[a]=s[a]);for(a in n)c.partials[a]=n[a];return c}function e(t){return String(null===t||void 0===t?"":t)}function n(t){return t=e(t),h.test(t)?t.replace(r,"&").replace(o,"<").replace(u,">").replace(a,"'").replace(c,"""):t}t.Template=function(t,i,s,e){t=t||{},this.r=t.code||this.r,this.c=s,this.options=e||{},this.text=i||"",this.partials=t.partials||{},this.subs=t.subs||{},this.buf=""},t.Template.prototype={r:function(){return""},v:n,t:e,render:function(t,i,s){return this.ri([t],i||{},s)},ri:function(t,i,s){return this.r(t,i,s)},ep:function(t,i){var e=this.partials[t],n=i[e.name];if(e.instance&&e.base==n)return e.instance;if("string"==typeof n){if(!this.c)throw new Error("No compiler available.");n=this.c.compile(n,this.options)}if(!n)return null;if(this.partials[t].base=n,e.subs){i.stackText||(i.stackText={});for(key in e.subs)i.stackText[key]||(i.stackText[key]=void 0!==this.activeSub&&i.stackText[this.activeSub]?i.stackText[this.activeSub]:this.text);n=s(n,e.subs,e.partials,this.stackSubs,this.stackPartials,i.stackText)}return this.partials[t].instance=n,n},rp:function(t,i,s,e){var n=this.ep(t,s);return n?n.ri(i,s,e):""},rs:function(t,i,s){var e=t[t.length-1];if(!f(e))return void s(t,i,this);for(var n=0;n=0;c--)if(o=s[c],r=i(t,o,a),void 0!==r){u=!0;break}return u?(n||"function"!=typeof r||(r=this.mv(r,s,e)),r):n?!1:""},ls:function(t,i,s,n,r){var o=this.options.delimiters;return this.options.delimiters=r,this.b(this.ct(e(t.call(i,n)),i,s)),this.options.delimiters=o,!1},ct:function(t,i,s){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(t,this.options).render(i,s)},b:function(t){this.buf+=t},fl:function(){var t=this.buf;return this.buf="",t},ms:function(t,i,s,e,n,r,o){var u,a=i[i.length-1],c=t.call(a);return"function"==typeof c?e?!0:(u=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(c,a,s,u.substring(n,r),o)):c},mv:function(t,i,s){var n=i[i.length-1],r=t.call(n);return"function"==typeof r?this.ct(e(r.call(n)),n,s):r},sub:function(t,i,s,e){var n=this.subs[t];n&&(this.activeSub=t,n(i,s,this,e),this.activeSub=!1)}};var r=/&/g,o=//g,a=/\'/g,c=/\"/g,h=/[&<>\"\']/,f=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)}}("undefined"!=typeof exports?exports:Hogan); \ No newline at end of file diff --git a/hogan-node/package.json b/hogan-node/package.json new file mode 100644 index 0000000..435a5c8 --- /dev/null +++ b/hogan-node/package.json @@ -0,0 +1,6 @@ +{ + "name": "hoganBench", + "dependencies": { + "hogan.js": "x.x.x" + } +} diff --git a/hogan-node/test1.js b/hogan-node/test1.js new file mode 100644 index 0000000..92c7f06 --- /dev/null +++ b/hogan-node/test1.js @@ -0,0 +1,12 @@ +var Hogan = require('hogan.js'); + +var startTime = new Date(), + template = Hogan.compile('
    {{ body }}
    '); + vars = {}; +for ( n=0; n <= 100000; ++n ) { + vars.id = "divid"; + vars.body = 'my div\'s body'; + html = template.render(vars); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +console.log(html); diff --git a/hogan-node/test1b-incid.js b/hogan-node/test1b-incid.js new file mode 100644 index 0000000..4c95698 --- /dev/null +++ b/hogan-node/test1b-incid.js @@ -0,0 +1,12 @@ +var hogan = require('hogan.js'); + +var startTime = new Date(), + template = hogan.compile('
    {{ body }}
    '), + vars = {}; +for ( n=0; n <= 100000; ++n ) { + vars.id = "divid" + n; + vars.body = 'my div\'s body'; + html = template.render(vars); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +console.log(html); diff --git a/hogan-node/test2-loop-lambda.js b/hogan-node/test2-loop-lambda.js new file mode 100644 index 0000000..6d50b2e --- /dev/null +++ b/hogan-node/test2-loop-lambda.js @@ -0,0 +1,37 @@ +var hogan = require('hogan.js'); + +function mt_rand () { + //[0..1] * PHP mt_getrandmax() + return Math.floor(Math.random() * 2147483647); +} + +function array_rand (arr) { + var i = Math.floor( Math.random() * arr.length ); + return arr[i]; +} + +var vars = {}, + items = {}; + +for ( var n=0; n <= 1000; ++n ) { + items['a' + mt_rand()] = new Date().getTime(); +} + +var startTime = new Date(), + template = hogan.compile('
    {{# items }}
    {{# getvalues }}{{ . }}{{/ getvalues }}
    {{/ items }}
    '); + +vars.items = Object.keys(items); +vars.getvalues = function() { + var tpl = hogan.compile(this); + var index = tpl.render(); + return items[index]; +}; +for ( n=0; n <= 1000; ++n ) { + var key = array_rand(vars.items); + items[key] = 'b' + mt_rand(); + vars.id = "divid"; + vars.body = 'my div\'s body'; + html = template.render(vars); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +//console.log(html); diff --git a/hogan-node/test2-loop.js b/hogan-node/test2-loop.js new file mode 100644 index 0000000..8066829 --- /dev/null +++ b/hogan-node/test2-loop.js @@ -0,0 +1,36 @@ +var hogan = require('hogan.js'); + +function mt_rand () { + //[0..1] * PHP mt_getrandmax() + return Math.floor(Math.random() * 2147483647); +} + +function array_rand (arr) { + var i = Math.floor( Math.random() * arr.length ); + return arr[i]; +} + +var vars = {}, + items = {}; + +for ( var n=0; n <= 1000; ++n ) { + items['a' + mt_rand()] = new Date().getTime(); +} + +var startTime = new Date(), + template = hogan.compile('
    {{# m_items }}
    {{ val }}
    {{/ m_items }}
    '); +for ( n=0; n <= 1000; ++n ) { + var key = array_rand(Object.keys(items)); + items[key] = 'b' + mt_rand(); + vars.id = "divid"; + vars.body = 'my div\'s body'; + var m_items = []; + for(key in items) { + var val = items[key]; + m_items.push({ key: key, val: val }); + } + vars.m_items = m_items; + html = template.render(vars); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +//console.log(html); diff --git a/hogan-node/test3-itterator.js b/hogan-node/test3-itterator.js new file mode 100644 index 0000000..084143d --- /dev/null +++ b/hogan-node/test3-itterator.js @@ -0,0 +1,30 @@ +var hogan = require('hogan.js'); + +function mt_rand () { + //[0..1] * PHP mt_getrandmax() + return Math.floor(Math.random() * 2147483647); +} + +function array_rand (arr) { + var i = Math.floor( Math.random() * arr.length ); + return arr[i]; +} + +var vars = {}, + items = []; + +for ( var n=0; n <= 1000; ++n ) { + items[n] = "value:" + mt_rand(); +} + +var startTime = new Date(), + template = hogan.compile('
    {{# items }}

    {{ . }}

    {{/ items }}
    '); +for ( n=0; n <= 1000; ++n ) { + var key = Math.floor( Math.random() * items.length ); + items[key] = 'b:' + mt_rand(); + vars.items = items; + vars.body = 'my div\'s body'; + html = template.render(vars); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +//console.log(html); diff --git a/runall.sh b/runall.sh index edc36e4..5ac8ecc 100755 --- a/runall.sh +++ b/runall.sh @@ -79,6 +79,15 @@ runTestNode \ "test2 lambda" "test2-loop-lambda.js" \ "test3" "test3-itterator.js" +runTestNode \ + "Hogan" \ + hogan-node \ + "test1" "test1.js" \ + "test1b" "test1b-incid.js" \ + "test2" "test2-loop.js" \ + "test2 lambda" "test2-loop-lambda.js" \ + "test3" "test3-itterator.js" + runTestNode \ "Spacebars/TAssembly" \ handlebars-htmljs-node \ From 549931edc67ed622b730bf1c5a6471f3cc12f7ac Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Tue, 8 Jul 2014 16:52:04 -0700 Subject: [PATCH 67/72] Add sed line comment for rough result conversion to wikitext table --- runall.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/runall.sh b/runall.sh index 5ac8ecc..46e95ac 100755 --- a/runall.sh +++ b/runall.sh @@ -1,5 +1,10 @@ #!/bin/bash -e +# Convert the results to a wikitext table with: +# sed -e 's/Set: /|-\n|/g' -e 's/ ([^)]*)$//g' \ +# -e 's/Test:.*Min: //g' -e 's/ Max: .*$//g' results.txt \ +# | sed -e ':a;N;$!ba;s/\n\([0-9]\)/ || \1/g' + if [ "$1" == "-q" ];then quiet="y" # TODO: disable color too From 409a86f3ef277db651b0fad25f8aa7ea5b862768 Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Wed, 9 Jul 2014 09:05:05 -0700 Subject: [PATCH 68/72] Update results --- results.txt | 222 +++++++++++++++++++++++++++------------------------- 1 file changed, 114 insertions(+), 108 deletions(-) diff --git a/results.txt b/results.txt index 1482c98..ee21dd3 100644 --- a/results.txt +++ b/results.txt @@ -1,108 +1,114 @@ -Set: Knockoff (node.js) (knockoff-node) -Test: test1 Avg: 0.0964 Min: 0.0510 Max: 0.1010 -Test: test1b Avg: 0.0988 Min: 0.0730 Max: 0.1370 -Test: test2 Avg: 0.8604 Min: 0.6180 Max: 1.0950 -Test: test2 lambda Avg: 0.6405 Min: 0.4650 Max: 0.8730 -Test: test3 Avg: 0.3161 Min: 0.1880 Max: 0.3750 -Set: Handlebars (node.js) (handlebars-node) -Test: test1 Avg: 0.2144 Min: 0.1210 Max: 0.2590 -Test: test1b Avg: 0.2656 Min: 0.1610 Max: 0.3540 -Test: test2 Avg: 0.8430 Min: 0.6050 Max: 0.9840 -Test: test2 lambda Avg: 1.5371 Min: 1.4440 Max: 1.7300 -Test: test3 Avg: 0.3382 Min: 0.1850 Max: 0.4470 -Set: Spacebars/TAssembly (node.js) (handlebars-htmljs-node) -Test: test1 Avg: 0.0759 Min: 0.0470 Max: 0.0950 -Test: test2 Avg: 0.8511 Min: 0.6140 Max: 1.1020 -Set: Mustache (node.js) (mustache-node) -Test: test1 Avg: 0.5156 Min: 0.3380 Max: 0.7110 -Test: test1b Avg: 0.6038 Min: 0.3880 Max: 0.8310 -Test: test2 Avg: 2.8912 Min: 2.4570 Max: 4.1240 -Test: test2 lambda Avg: 4.3700 Min: 3.9550 Max: 4.9590 -Test: test3 Avg: 0.9944 Min: 0.7430 Max: 1.3430 -Set: TAssembly (PHP) (tassembly-php) -Test: test1 Avg: 2.0609 Min: 1.7516 Max: 2.3131 -Test: test1b Avg: 2.0709 Min: 1.7651 Max: 2.4719 -Test: test2 Avg: 20.1083 Min: 18.9612 Max: 20.9398 -Test: test2 lambda Avg: 89.0733 Min: 82.3047 Max: 94.2674 -Test: test3 Avg: 13.2211 Min: 12.2209 Max: 14.6462 -Set: TAssembly (HHVM) (tassembly-php) -Test: test1 Avg: 0.7559 Min: 0.5103 Max: 0.9900 -Test: test1b Avg: 0.8229 Min: 0.6976 Max: 0.9687 -Test: test2 Avg: 3.8451 Min: 3.3810 Max: 4.4872 -Test: test2 lambda Avg: 17.8128 Min: 16.5737 Max: 19.1655 -Test: test3 Avg: 2.5183 Min: 2.2452 Max: 3.0586 -Set: Handlebars lightncandy (PHP) (handlebars-lightncandy-php) -Test: test1 Avg: 0.7610 Min: 0.5212 Max: 0.9692 -Test: test1b Avg: 0.8545 Min: 0.6034 Max: 1.0630 -Test: test2 Avg: 7.7986 Min: 7.1088 Max: 9.3338 -Test: test2 lambda Avg: 144.8932 Min: 133.8865 Max: 150.1486 -Test: test3 Avg: 4.4064 Min: 3.9762 Max: 5.0164 -Set: Handlebars lightncandy (HHVM) (handlebars-lightncandy-php) -Test: test1 Avg: 0.3597 Min: 0.1981 Max: 0.4723 -Test: test1b Avg: 0.3978 Min: 0.2069 Max: 0.5747 -Test: test2 Avg: 1.1287 Min: 0.9738 Max: 1.6498 -Test: test2 lambda Avg: 1.6544 Min: 1.2858 Max: 2.1060 -Test: test3 Avg: 0.7876 Min: 0.5260 Max: 1.0030 -Set: Mustache (PHP) (mustache) -Test: test1 Avg: 2.1404 Min: 1.7943 Max: 2.5217 -Test: test1b Avg: 2.1900 Min: 1.8990 Max: 2.3798 -Test: test2 Avg: 12.0718 Min: 11.5944 Max: 12.6408 -Test: test2 lambda Avg: 26.0376 Min: 24.5799 Max: 27.4677 -Test: test3 Avg: 4.1402 Min: 3.9017 Max: 4.7237 -Set: Mustache (HHVM) (mustache) -Test: test1 Avg: 0.7337 Min: 0.5446 Max: 0.9552 -Test: test1b Avg: 0.7685 Min: 0.5816 Max: 0.9358 -Test: test2 Avg: 1.6662 Min: 1.2838 Max: 2.2723 -Test: test2 lambda Avg: 4.3188 Min: 3.9500 Max: 4.8780 -Test: test3 Avg: 0.8935 Min: 0.6352 Max: 1.1658 -Set: MediaWiki Templates (PHP) (mediawiki) -Test: test1 Avg: 1.9912 Min: 1.6854 Max: 2.5252 -Test: test1b Avg: 2.0593 Min: 1.7278 Max: 2.5106 -Test: test2 Avg: 18.1493 Min: 17.1635 Max: 19.3290 -Test: test3 Avg: 8.1533 Min: 7.6736 Max: 8.9284 -Set: MediaWiki Templates (HHVM) (mediawiki) -Test: test1 Avg: 0.7187 Min: 0.5410 Max: 0.9447 -Test: test1b Avg: 0.7650 Min: 0.5192 Max: 1.0441 -Test: test2 Avg: 4.4519 Min: 4.0641 Max: 4.8676 -Test: test3 Avg: 2.2749 Min: 1.9899 Max: 2.5187 -Set: Twig String (No Cache) (PHP) (twignocache) -Test: test1 Avg: 1.6829 Min: 1.3652 Max: 2.1604 -Test: test1b Avg: 1.7773 Min: 1.4596 Max: 2.2277 -Test: test2 Avg: 6.6068 Min: 6.2296 Max: 7.1584 -Test: test3 Avg: 4.0730 Min: 3.6712 Max: 4.4202 -Set: Twig String (No Cache) (HHVM) (twignocache) -Test: test1 Avg: 0.7886 Min: 0.5330 Max: 1.0789 -Test: test1b Avg: 0.7902 Min: 0.5930 Max: 1.1824 -Test: test2 Avg: 1.2206 Min: 0.9417 Max: 1.4312 -Test: test3 Avg: 0.9569 Min: 0.6566 Max: 1.3782 -Set: Twig File (No Cache) (PHP) (twignocache_file) -Test: test1 Avg: 2.0195 Min: 1.9038 Max: 2.2989 -Test: test1b Avg: 2.0955 Min: 1.8188 Max: 2.4218 -Test: test2 Avg: 6.5977 Min: 6.2724 Max: 7.5479 -Test: test3 Avg: 4.0944 Min: 3.7351 Max: 4.9622 -Set: Twig File (No Cache) (HHVM) (twignocache_file) -Test: test1 Avg: 0.8768 Min: 0.6084 Max: 1.1116 -Test: test1b Avg: 0.9254 Min: 0.8262 Max: 1.1476 -Test: test2 Avg: 1.3257 Min: 0.9701 Max: 1.7781 -Test: test3 Avg: 0.9676 Min: 0.6806 Max: 1.2286 -Set: Twig File (Cached) (PHP) (twigcache_file) -Test: test1 Avg: 2.0304 Min: 1.7008 Max: 2.6887 -Test: test1b Avg: 2.1064 Min: 1.7508 Max: 2.6093 -Test: test2 Avg: 6.5701 Min: 6.0253 Max: 7.1464 -Test: test3 Avg: 4.0421 Min: 3.7309 Max: 4.3804 -Set: Twig File (Cached) (HHVM) (twigcache_file) -Test: test1 Avg: 0.6484 Min: 0.4466 Max: 0.8514 -Test: test1b Avg: 0.6654 Min: 0.4410 Max: 0.8649 -Test: test2 Avg: 1.0016 Min: 0.7369 Max: 1.2385 -Test: test3 Avg: 0.6625 Min: 0.4446 Max: 0.8265 -Set: Handlebars HTMLJS (node.js) (handlebars-htmljs-node) -Test: test1 Avg: 0.8171 Min: 0.6520 Max: 1.0660 -Test: test1b Avg: 0.8813 Min: 0.6920 Max: 1.1090 -Test: test2 Avg: 7.6339 Min: 6.7810 Max: 8.2800 -Test: test3 Avg: 3.3652 Min: 2.8050 Max: 4.3230 -Set: Spacebars/HTMLJS (node.js) (handlebars-htmljs-node) -Test: test1 Avg: 1.4629 Min: 1.1450 Max: 1.9560 -Test: test1b Avg: 1.5076 Min: 1.2710 Max: 1.7840 -Test: test2 Avg: 61.6710 Min: 57.7290 Max: 63.5410 -Test: test2 lambda Avg: 151.1186 Min: 143.8930 Max: 151.8790 -Test: test3 Avg: 43.2990 Min: 40.3560 Max: 44.3380 +Set: Knockoff (node.js) (knockoff-node) +Test: test1 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.0841 Min: 0.0530 Max: 0.1040 +Test: test1b [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.1220 Min: 0.0750 Max: 0.1790 +Test: test2 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.8580 Min: 0.6370 Max: 1.2080 +Test: test2 lambda [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.6343 Min: 0.4690 Max: 0.8720 +Test: test3 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.3178 Min: 0.1970 Max: 0.3930 +Set: Handlebars (node.js) (handlebars-node) +Test: test1 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.2487 Min: 0.1300 Max: 0.2780 +Test: test1b [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.3137 Min: 0.1750 Max: 0.3620 +Test: test2 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.8174 Min: 0.6060 Max: 0.9510 +Test: test2 lambda [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 1.4537 Min: 1.1450 Max: 1.9690 +Test: test3 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.3470 Min: 0.1870 Max: 0.4530 +Set: Hogan (node.js) (hogan-node) +Test: test1 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.1591 Min: 0.1110 Max: 0.2340 +Test: test1b [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.2336 Min: 0.1370 Max: 0.2840 +Test: test2 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.9257 Min: 0.6690 Max: 1.2350 +Test: test2 lambda [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 5.3846 Min: 4.8780 Max: 6.1990 +Test: test3 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.9579 Min: 0.6770 Max: 1.2800 +Set: Spacebars/TAssembly (node.js) (handlebars-htmljs-node) +Test: test1 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.0902 Min: 0.0650 Max: 0.1070 +Test: test2 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.8928 Min: 0.6430 Max: 1.1320 +Set: Mustache (node.js) (mustache-node) +Test: test1 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.5485 Min: 0.3570 Max: 0.7390 +Test: test1b [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.5476 Min: 0.3900 Max: 0.8060 +Test: test2 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 2.8560 Min: 2.5200 Max: 3.1010 +Test: test2 lambda [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 4.2523 Min: 3.8260 Max: 4.8060 +Test: test3 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.9858 Min: 0.8830 Max: 1.2940 +Set: TAssembly (PHP) (tassembly-php) +Test: test1 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 2.0104 Min: 1.7434 Max: 2.3412 +Test: test1b [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 2.0876 Min: 1.7654 Max: 2.6659 +Test: test2 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 19.9470 Min: 18.6634 Max: 20.3886 +Test: test2 lambda [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 87.5626 Min: 81.8341 Max: 89.4865 +Test: test3 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 13.0318 Min: 12.3270 Max: 13.7663 +Set: TAssembly (HHVM) (tassembly-php) +Test: test1 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.7749 Min: 0.5199 Max: 0.9323 +Test: test1b [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.7878 Min: 0.5317 Max: 1.0210 +Test: test2 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 3.7529 Min: 3.3146 Max: 4.1858 +Test: test2 lambda [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 17.8515 Min: 16.7471 Max: 19.5622 +Test: test3 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 2.4595 Min: 2.1257 Max: 2.8393 +Set: Handlebars lightncandy (PHP) (handlebars-lightncandy-php) +Test: test1 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.7993 Min: 0.5395 Max: 1.0570 +Test: test1b [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.8639 Min: 0.6025 Max: 1.1969 +Test: test2 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 7.7564 Min: 7.0456 Max: 8.2086 +Test: test2 lambda [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 142.9113 Min: 133.2025 Max: 146.9893 +Test: test3 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 4.3757 Min: 3.9837 Max: 4.5378 +Set: Handlebars lightncandy (HHVM) (handlebars-lightncandy-php) +Test: test1 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.3400 Min: 0.1919 Max: 0.4349 +Test: test1b [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.3559 Min: 0.1991 Max: 0.5265 +Test: test2 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 1.1234 Min: 0.8164 Max: 1.3384 +Test: test2 lambda [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 1.6234 Min: 1.3319 Max: 2.0248 +Test: test3 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.8061 Min: 0.5254 Max: 1.1484 +Set: Mustache (PHP) (mustache) +Test: test1 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 2.1561 Min: 1.7991 Max: 2.5945 +Test: test1b [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 2.1997 Min: 1.8606 Max: 2.6728 +Test: test2 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 12.1041 Min: 11.3725 Max: 13.1750 +Test: test2 lambda [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 25.5289 Min: 24.0264 Max: 26.0089 +Test: test3 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 4.1145 Min: 3.6850 Max: 4.4881 +Set: Mustache (HHVM) (mustache) +Test: test1 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.7206 Min: 0.4783 Max: 1.0055 +Test: test1b [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.7245 Min: 0.5016 Max: 1.0063 +Test: test2 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 1.6068 Min: 1.2869 Max: 1.9498 +Test: test2 lambda [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 4.2975 Min: 3.9279 Max: 5.2080 +Test: test3 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.8658 Min: 0.6229 Max: 1.0476 +Set: MediaWiki Templates (PHP) (mediawiki) +Test: test1 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 1.9915 Min: 1.6926 Max: 2.2550 +Test: test1b [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 2.0473 Min: 1.7354 Max: 2.5217 +Test: test2 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 18.1717 Min: 17.0633 Max: 19.1035 +Test: test3 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 8.0304 Min: 7.4075 Max: 8.6111 +Set: MediaWiki Templates (HHVM) (mediawiki) +Test: test1 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.7290 Min: 0.5305 Max: 0.9543 +Test: test1b [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.7629 Min: 0.5147 Max: 0.9364 +Test: test2 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 4.4625 Min: 4.0606 Max: 4.9930 +Test: test3 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 2.2881 Min: 1.9745 Max: 2.7417 +Set: Twig String (No Cache) (PHP) (twignocache) +Test: test1 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 1.7162 Min: 1.3954 Max: 2.0865 +Test: test1b [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 1.7837 Min: 1.4701 Max: 2.1402 +Test: test2 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 6.4708 Min: 6.0498 Max: 6.6121 +Test: test3 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 4.0669 Min: 3.6746 Max: 4.7365 +Set: Twig String (No Cache) (HHVM) (twignocache) +Test: test1 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.7386 Min: 0.5631 Max: 1.0026 +Test: test1b [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.7546 Min: 0.5137 Max: 1.0911 +Test: test2 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 1.2550 Min: 0.9394 Max: 1.6716 +Test: test3 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.9689 Min: 0.6560 Max: 1.3876 +Set: Twig File (No Cache) (PHP) (twignocache_file) +Test: test1 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 1.9709 Min: 1.7074 Max: 2.3609 +Test: test1b [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 2.0741 Min: 1.7649 Max: 2.2852 +Test: test2 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 6.4711 Min: 6.0364 Max: 6.7469 +Test: test3 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 3.9955 Min: 3.6477 Max: 4.1364 +Set: Twig File (No Cache) (HHVM) (twignocache_file) +Test: test1 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.8571 Min: 0.6085 Max: 1.1492 +Test: test1b [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.9026 Min: 0.6324 Max: 1.2145 +Test: test2 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 1.2672 Min: 0.9831 Max: 1.7262 +Test: test3 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.9804 Min: 0.8150 Max: 1.4603 +Set: Twig File (Cached) (PHP) (twigcache_file) +Test: test1 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 1.9916 Min: 1.7352 Max: 2.0895 +Test: test1b [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 2.0461 Min: 1.7783 Max: 2.3495 +Test: test2 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 6.4734 Min: 6.0423 Max: 6.7698 +Test: test3 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 3.9444 Min: 3.6068 Max: 4.4188 +Set: Twig File (Cached) (HHVM) (twigcache_file) +Test: test1 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.6392 Min: 0.4170 Max: 0.9415 +Test: test1b [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.6620 Min: 0.4460 Max: 0.8605 +Test: test2 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.9831 Min: 0.7116 Max: 1.2988 +Test: test3 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.6547 Min: 0.4475 Max: 0.9223 +Set: Handlebars HTMLJS (node.js) (handlebars-htmljs-node) +Test: test1 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.8087 Min: 0.5610 Max: 1.1620 +Test: test1b [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.8919 Min: 0.6540 Max: 1.1810 +Test: test2 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 7.9223 Min: 7.1110 Max: 8.6830 +Test: test3 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 3.5315 Min: 2.9330 Max: 4.6450 +Set: Spacebars/HTMLJS (node.js) (handlebars-htmljs-node) +Test: test1 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 1.4843 Min: 1.1450 Max: 2.0270 +Test: test1b [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 1.6050 Min: 1.3080 Max: 2.0520 +Test: test2 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 63.1441 Min: 59.0910 Max: 64.2080 +Test: test2 lambda [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 154.5133 Min: 143.3680 Max: 165.2260 +Test: test3 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 45.5483 Min: 42.2020 Max: 48.3730 From a5499010caf7fd8d398930021415b3aadb3219ee Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Wed, 9 Jul 2014 09:53:06 -0700 Subject: [PATCH 69/72] Clean up results --- results.txt | 228 ++++++++++++++++++++++++++-------------------------- 1 file changed, 114 insertions(+), 114 deletions(-) diff --git a/results.txt b/results.txt index ee21dd3..dd210c0 100644 --- a/results.txt +++ b/results.txt @@ -1,114 +1,114 @@ -Set: Knockoff (node.js) (knockoff-node) -Test: test1 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.0841 Min: 0.0530 Max: 0.1040 -Test: test1b [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.1220 Min: 0.0750 Max: 0.1790 -Test: test2 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.8580 Min: 0.6370 Max: 1.2080 -Test: test2 lambda [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.6343 Min: 0.4690 Max: 0.8720 -Test: test3 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.3178 Min: 0.1970 Max: 0.3930 -Set: Handlebars (node.js) (handlebars-node) -Test: test1 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.2487 Min: 0.1300 Max: 0.2780 -Test: test1b [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.3137 Min: 0.1750 Max: 0.3620 -Test: test2 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.8174 Min: 0.6060 Max: 0.9510 -Test: test2 lambda [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 1.4537 Min: 1.1450 Max: 1.9690 -Test: test3 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.3470 Min: 0.1870 Max: 0.4530 -Set: Hogan (node.js) (hogan-node) -Test: test1 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.1591 Min: 0.1110 Max: 0.2340 -Test: test1b [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.2336 Min: 0.1370 Max: 0.2840 -Test: test2 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.9257 Min: 0.6690 Max: 1.2350 -Test: test2 lambda [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 5.3846 Min: 4.8780 Max: 6.1990 -Test: test3 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.9579 Min: 0.6770 Max: 1.2800 -Set: Spacebars/TAssembly (node.js) (handlebars-htmljs-node) -Test: test1 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.0902 Min: 0.0650 Max: 0.1070 -Test: test2 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.8928 Min: 0.6430 Max: 1.1320 -Set: Mustache (node.js) (mustache-node) -Test: test1 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.5485 Min: 0.3570 Max: 0.7390 -Test: test1b [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.5476 Min: 0.3900 Max: 0.8060 -Test: test2 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 2.8560 Min: 2.5200 Max: 3.1010 -Test: test2 lambda [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 4.2523 Min: 3.8260 Max: 4.8060 -Test: test3 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.9858 Min: 0.8830 Max: 1.2940 -Set: TAssembly (PHP) (tassembly-php) -Test: test1 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 2.0104 Min: 1.7434 Max: 2.3412 -Test: test1b [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 2.0876 Min: 1.7654 Max: 2.6659 -Test: test2 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 19.9470 Min: 18.6634 Max: 20.3886 -Test: test2 lambda [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 87.5626 Min: 81.8341 Max: 89.4865 -Test: test3 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 13.0318 Min: 12.3270 Max: 13.7663 -Set: TAssembly (HHVM) (tassembly-php) -Test: test1 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.7749 Min: 0.5199 Max: 0.9323 -Test: test1b [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.7878 Min: 0.5317 Max: 1.0210 -Test: test2 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 3.7529 Min: 3.3146 Max: 4.1858 -Test: test2 lambda [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 17.8515 Min: 16.7471 Max: 19.5622 -Test: test3 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 2.4595 Min: 2.1257 Max: 2.8393 -Set: Handlebars lightncandy (PHP) (handlebars-lightncandy-php) -Test: test1 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.7993 Min: 0.5395 Max: 1.0570 -Test: test1b [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.8639 Min: 0.6025 Max: 1.1969 -Test: test2 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 7.7564 Min: 7.0456 Max: 8.2086 -Test: test2 lambda [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 142.9113 Min: 133.2025 Max: 146.9893 -Test: test3 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 4.3757 Min: 3.9837 Max: 4.5378 -Set: Handlebars lightncandy (HHVM) (handlebars-lightncandy-php) -Test: test1 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.3400 Min: 0.1919 Max: 0.4349 -Test: test1b [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.3559 Min: 0.1991 Max: 0.5265 -Test: test2 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 1.1234 Min: 0.8164 Max: 1.3384 -Test: test2 lambda [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 1.6234 Min: 1.3319 Max: 2.0248 -Test: test3 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.8061 Min: 0.5254 Max: 1.1484 -Set: Mustache (PHP) (mustache) -Test: test1 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 2.1561 Min: 1.7991 Max: 2.5945 -Test: test1b [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 2.1997 Min: 1.8606 Max: 2.6728 -Test: test2 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 12.1041 Min: 11.3725 Max: 13.1750 -Test: test2 lambda [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 25.5289 Min: 24.0264 Max: 26.0089 -Test: test3 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 4.1145 Min: 3.6850 Max: 4.4881 -Set: Mustache (HHVM) (mustache) -Test: test1 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.7206 Min: 0.4783 Max: 1.0055 -Test: test1b [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.7245 Min: 0.5016 Max: 1.0063 -Test: test2 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 1.6068 Min: 1.2869 Max: 1.9498 -Test: test2 lambda [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 4.2975 Min: 3.9279 Max: 5.2080 -Test: test3 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.8658 Min: 0.6229 Max: 1.0476 -Set: MediaWiki Templates (PHP) (mediawiki) -Test: test1 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 1.9915 Min: 1.6926 Max: 2.2550 -Test: test1b [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 2.0473 Min: 1.7354 Max: 2.5217 -Test: test2 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 18.1717 Min: 17.0633 Max: 19.1035 -Test: test3 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 8.0304 Min: 7.4075 Max: 8.6111 -Set: MediaWiki Templates (HHVM) (mediawiki) -Test: test1 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.7290 Min: 0.5305 Max: 0.9543 -Test: test1b [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.7629 Min: 0.5147 Max: 0.9364 -Test: test2 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 4.4625 Min: 4.0606 Max: 4.9930 -Test: test3 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 2.2881 Min: 1.9745 Max: 2.7417 -Set: Twig String (No Cache) (PHP) (twignocache) -Test: test1 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 1.7162 Min: 1.3954 Max: 2.0865 -Test: test1b [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 1.7837 Min: 1.4701 Max: 2.1402 -Test: test2 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 6.4708 Min: 6.0498 Max: 6.6121 -Test: test3 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 4.0669 Min: 3.6746 Max: 4.7365 -Set: Twig String (No Cache) (HHVM) (twignocache) -Test: test1 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.7386 Min: 0.5631 Max: 1.0026 -Test: test1b [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.7546 Min: 0.5137 Max: 1.0911 -Test: test2 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 1.2550 Min: 0.9394 Max: 1.6716 -Test: test3 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.9689 Min: 0.6560 Max: 1.3876 -Set: Twig File (No Cache) (PHP) (twignocache_file) -Test: test1 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 1.9709 Min: 1.7074 Max: 2.3609 -Test: test1b [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 2.0741 Min: 1.7649 Max: 2.2852 -Test: test2 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 6.4711 Min: 6.0364 Max: 6.7469 -Test: test3 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 3.9955 Min: 3.6477 Max: 4.1364 -Set: Twig File (No Cache) (HHVM) (twignocache_file) -Test: test1 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.8571 Min: 0.6085 Max: 1.1492 -Test: test1b [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.9026 Min: 0.6324 Max: 1.2145 -Test: test2 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 1.2672 Min: 0.9831 Max: 1.7262 -Test: test3 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.9804 Min: 0.8150 Max: 1.4603 -Set: Twig File (Cached) (PHP) (twigcache_file) -Test: test1 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 1.9916 Min: 1.7352 Max: 2.0895 -Test: test1b [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 2.0461 Min: 1.7783 Max: 2.3495 -Test: test2 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 6.4734 Min: 6.0423 Max: 6.7698 -Test: test3 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 3.9444 Min: 3.6068 Max: 4.4188 -Set: Twig File (Cached) (HHVM) (twigcache_file) -Test: test1 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.6392 Min: 0.4170 Max: 0.9415 -Test: test1b [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.6620 Min: 0.4460 Max: 0.8605 -Test: test2 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.9831 Min: 0.7116 Max: 1.2988 -Test: test3 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.6547 Min: 0.4475 Max: 0.9223 -Set: Handlebars HTMLJS (node.js) (handlebars-htmljs-node) -Test: test1 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.8087 Min: 0.5610 Max: 1.1620 -Test: test1b [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 0.8919 Min: 0.6540 Max: 1.1810 -Test: test2 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 7.9223 Min: 7.1110 Max: 8.6830 -Test: test3 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 3.5315 Min: 2.9330 Max: 4.6450 -Set: Spacebars/HTMLJS (node.js) (handlebars-htmljs-node) -Test: test1 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 1.4843 Min: 1.1450 Max: 2.0270 -Test: test1b [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 1.6050 Min: 1.3080 Max: 2.0520 -Test: test2 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 63.1441 Min: 59.0910 Max: 64.2080 -Test: test2 lambda [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 154.5133 Min: 143.3680 Max: 165.2260 -Test: test3 [000]000]001]002]003]004]005]006]007]008]009]010]011]012]013]014]015]016]017]018]019]020]021]022]023]024]025]026]027]028]029]030]031]032]033]034]035]036]037]038]039]040]041]042]043]044]045]046]047]048]049]050] Avg: 45.5483 Min: 42.2020 Max: 48.3730 +Set: Knockoff (node.js) (knockoff-node) +Test: test1 Avg: 0.0841 Min: 0.0530 Max: 0.1040 +Test: test1b Avg: 0.1220 Min: 0.0750 Max: 0.1790 +Test: test2 Avg: 0.8580 Min: 0.6370 Max: 1.2080 +Test: test2 lambda Avg: 0.6343 Min: 0.4690 Max: 0.8720 +Test: test3 Avg: 0.3178 Min: 0.1970 Max: 0.3930 +Set: Handlebars (node.js) (handlebars-node) +Test: test1 Avg: 0.2487 Min: 0.1300 Max: 0.2780 +Test: test1b Avg: 0.3137 Min: 0.1750 Max: 0.3620 +Test: test2 Avg: 0.8174 Min: 0.6060 Max: 0.9510 +Test: test2 lambda Avg: 1.4537 Min: 1.1450 Max: 1.9690 +Test: test3 Avg: 0.3470 Min: 0.1870 Max: 0.4530 +Set: Hogan (node.js) (hogan-node) +Test: test1 Avg: 0.1591 Min: 0.1110 Max: 0.2340 +Test: test1b Avg: 0.2336 Min: 0.1370 Max: 0.2840 +Test: test2 Avg: 0.9257 Min: 0.6690 Max: 1.2350 +Test: test2 lambda Avg: 5.3846 Min: 4.8780 Max: 6.1990 +Test: test3 Avg: 0.9579 Min: 0.6770 Max: 1.2800 +Set: Spacebars/TAssembly (node.js) (handlebars-htmljs-node) +Test: test1 Avg: 0.0902 Min: 0.0650 Max: 0.1070 +Test: test2 Avg: 0.8928 Min: 0.6430 Max: 1.1320 +Set: Mustache (node.js) (mustache-node) +Test: test1 Avg: 0.5485 Min: 0.3570 Max: 0.7390 +Test: test1b Avg: 0.5476 Min: 0.3900 Max: 0.8060 +Test: test2 Avg: 2.8560 Min: 2.5200 Max: 3.1010 +Test: test2 lambda Avg: 4.2523 Min: 3.8260 Max: 4.8060 +Test: test3 Avg: 0.9858 Min: 0.8830 Max: 1.2940 +Set: TAssembly (PHP) (tassembly-php) +Test: test1 Avg: 2.0104 Min: 1.7434 Max: 2.3412 +Test: test1b Avg: 2.0876 Min: 1.7654 Max: 2.6659 +Test: test2 Avg: 19.9470 Min: 18.6634 Max: 20.3886 +Test: test2 lambda Avg: 87.5626 Min: 81.8341 Max: 89.4865 +Test: test3 Avg: 13.0318 Min: 12.3270 Max: 13.7663 +Set: TAssembly (HHVM) (tassembly-php) +Test: test1 Avg: 0.7749 Min: 0.5199 Max: 0.9323 +Test: test1b Avg: 0.7878 Min: 0.5317 Max: 1.0210 +Test: test2 Avg: 3.7529 Min: 3.3146 Max: 4.1858 +Test: test2 lambda Avg: 17.8515 Min: 16.7471 Max: 19.5622 +Test: test3 Avg: 2.4595 Min: 2.1257 Max: 2.8393 +Set: Handlebars lightncandy (PHP) (handlebars-lightncandy-php) +Test: test1 Avg: 0.7993 Min: 0.5395 Max: 1.0570 +Test: test1b Avg: 0.8639 Min: 0.6025 Max: 1.1969 +Test: test2 Avg: 7.7564 Min: 7.0456 Max: 8.2086 +Test: test2 lambda Avg: 142.9113 Min: 133.2025 Max: 146.9893 +Test: test3 Avg: 4.3757 Min: 3.9837 Max: 4.5378 +Set: Handlebars lightncandy (HHVM) (handlebars-lightncandy-php) +Test: test1 Avg: 0.3400 Min: 0.1919 Max: 0.4349 +Test: test1b Avg: 0.3559 Min: 0.1991 Max: 0.5265 +Test: test2 Avg: 1.1234 Min: 0.8164 Max: 1.3384 +Test: test2 lambda Avg: 1.6234 Min: 1.3319 Max: 2.0248 +Test: test3 Avg: 0.8061 Min: 0.5254 Max: 1.1484 +Set: Mustache (PHP) (mustache) +Test: test1 Avg: 2.1561 Min: 1.7991 Max: 2.5945 +Test: test1b Avg: 2.1997 Min: 1.8606 Max: 2.6728 +Test: test2 Avg: 12.1041 Min: 11.3725 Max: 13.1750 +Test: test2 lambda Avg: 25.5289 Min: 24.0264 Max: 26.0089 +Test: test3 Avg: 4.1145 Min: 3.6850 Max: 4.4881 +Set: Mustache (HHVM) (mustache) +Test: test1 Avg: 0.7206 Min: 0.4783 Max: 1.0055 +Test: test1b Avg: 0.7245 Min: 0.5016 Max: 1.0063 +Test: test2 Avg: 1.6068 Min: 1.2869 Max: 1.9498 +Test: test2 lambda Avg: 4.2975 Min: 3.9279 Max: 5.2080 +Test: test3 Avg: 0.8658 Min: 0.6229 Max: 1.0476 +Set: MediaWiki Templates (PHP) (mediawiki) +Test: test1 Avg: 1.9915 Min: 1.6926 Max: 2.2550 +Test: test1b Avg: 2.0473 Min: 1.7354 Max: 2.5217 +Test: test2 Avg: 18.1717 Min: 17.0633 Max: 19.1035 +Test: test3 Avg: 8.0304 Min: 7.4075 Max: 8.6111 +Set: MediaWiki Templates (HHVM) (mediawiki) +Test: test1 Avg: 0.7290 Min: 0.5305 Max: 0.9543 +Test: test1b Avg: 0.7629 Min: 0.5147 Max: 0.9364 +Test: test2 Avg: 4.4625 Min: 4.0606 Max: 4.9930 +Test: test3 Avg: 2.2881 Min: 1.9745 Max: 2.7417 +Set: Twig String (No Cache) (PHP) (twignocache) +Test: test1 Avg: 1.7162 Min: 1.3954 Max: 2.0865 +Test: test1b Avg: 1.7837 Min: 1.4701 Max: 2.1402 +Test: test2 Avg: 6.4708 Min: 6.0498 Max: 6.6121 +Test: test3 Avg: 4.0669 Min: 3.6746 Max: 4.7365 +Set: Twig String (No Cache) (HHVM) (twignocache) +Test: test1 Avg: 0.7386 Min: 0.5631 Max: 1.0026 +Test: test1b Avg: 0.7546 Min: 0.5137 Max: 1.0911 +Test: test2 Avg: 1.2550 Min: 0.9394 Max: 1.6716 +Test: test3 Avg: 0.9689 Min: 0.6560 Max: 1.3876 +Set: Twig File (No Cache) (PHP) (twignocache_file) +Test: test1 Avg: 1.9709 Min: 1.7074 Max: 2.3609 +Test: test1b Avg: 2.0741 Min: 1.7649 Max: 2.2852 +Test: test2 Avg: 6.4711 Min: 6.0364 Max: 6.7469 +Test: test3 Avg: 3.9955 Min: 3.6477 Max: 4.1364 +Set: Twig File (No Cache) (HHVM) (twignocache_file) +Test: test1 Avg: 0.8571 Min: 0.6085 Max: 1.1492 +Test: test1b Avg: 0.9026 Min: 0.6324 Max: 1.2145 +Test: test2 Avg: 1.2672 Min: 0.9831 Max: 1.7262 +Test: test3 Avg: 0.9804 Min: 0.8150 Max: 1.4603 +Set: Twig File (Cached) (PHP) (twigcache_file) +Test: test1 Avg: 1.9916 Min: 1.7352 Max: 2.0895 +Test: test1b Avg: 2.0461 Min: 1.7783 Max: 2.3495 +Test: test2 Avg: 6.4734 Min: 6.0423 Max: 6.7698 +Test: test3 Avg: 3.9444 Min: 3.6068 Max: 4.4188 +Set: Twig File (Cached) (HHVM) (twigcache_file) +Test: test1 Avg: 0.6392 Min: 0.4170 Max: 0.9415 +Test: test1b Avg: 0.6620 Min: 0.4460 Max: 0.8605 +Test: test2 Avg: 0.9831 Min: 0.7116 Max: 1.2988 +Test: test3 Avg: 0.6547 Min: 0.4475 Max: 0.9223 +Set: Handlebars HTMLJS (node.js) (handlebars-htmljs-node) +Test: test1 Avg: 0.8087 Min: 0.5610 Max: 1.1620 +Test: test1b Avg: 0.8919 Min: 0.6540 Max: 1.1810 +Test: test2 Avg: 7.9223 Min: 7.1110 Max: 8.6830 +Test: test3 Avg: 3.5315 Min: 2.9330 Max: 4.6450 +Set: Spacebars/HTMLJS (node.js) (handlebars-htmljs-node) +Test: test1 Avg: 1.4843 Min: 1.1450 Max: 2.0270 +Test: test1b Avg: 1.6050 Min: 1.3080 Max: 2.0520 +Test: test2 Avg: 63.1441 Min: 59.0910 Max: 64.2080 +Test: test2 lambda Avg: 154.5133 Min: 143.3680 Max: 165.2260 +Test: test3 Avg: 45.5483 Min: 42.2020 Max: 48.3730 From 6a209718896883b8006b3a5567e7fed994f9a009 Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Wed, 9 Jul 2014 12:50:04 -0700 Subject: [PATCH 70/72] Add plain TAssembly & pre-compiled handlebars benchmarks The handlebars benchmark is not listed in runall.sh yet as it just excludes the timing of a plain .compile currently. Proper handlebars precompilation uses a commandline tool, but produces code that is very browser-specific. Making this work in node requires more tweaking. --- .../node_modules/.bin/handlebars | 1 + .../node_modules/handlebars/.npmignore | 23 + .../node_modules/handlebars/LICENSE | 19 + .../node_modules/handlebars/README.markdown | 458 + .../node_modules/handlebars/bin/handlebars | 222 + .../handlebars/dist/amd/handlebars.js | 41 + .../handlebars/dist/amd/handlebars.runtime.js | 36 + .../handlebars/dist/amd/handlebars/base.js | 184 + .../dist/amd/handlebars/compiler/ast.js | 231 + .../dist/amd/handlebars/compiler/base.js | 19 + .../dist/amd/handlebars/compiler/compiler.js | 473 + .../compiler/javascript-compiler.js | 946 ++ .../dist/amd/handlebars/compiler/parser.js | 494 + .../dist/amd/handlebars/compiler/printer.js | 142 + .../dist/amd/handlebars/compiler/visitor.js | 16 + .../dist/amd/handlebars/exception.js | 32 + .../handlebars/dist/amd/handlebars/runtime.js | 141 + .../dist/amd/handlebars/safe-string.js | 15 + .../handlebars/dist/amd/handlebars/utils.js | 80 + .../handlebars/dist/cjs/handlebars.js | 37 + .../handlebars/dist/cjs/handlebars.runtime.js | 32 + .../handlebars/dist/cjs/handlebars/base.js | 180 + .../dist/cjs/handlebars/compiler/ast.js | 227 + .../dist/cjs/handlebars/compiler/base.js | 15 + .../dist/cjs/handlebars/compiler/compiler.js | 469 + .../compiler/javascript-compiler.js | 942 ++ .../dist/cjs/handlebars/compiler/parser.js | 490 + .../dist/cjs/handlebars/compiler/printer.js | 138 + .../dist/cjs/handlebars/compiler/visitor.js | 12 + .../dist/cjs/handlebars/exception.js | 28 + .../handlebars/dist/cjs/handlebars/runtime.js | 137 + .../dist/cjs/handlebars/safe-string.js | 11 + .../handlebars/dist/cjs/handlebars/utils.js | 76 + .../handlebars/dist/handlebars.amd.js | 2719 +++++ .../handlebars/dist/handlebars.amd.min.js | 28 + .../handlebars/dist/handlebars.js | 2746 +++++ .../handlebars/dist/handlebars.min.js | 28 + .../handlebars/dist/handlebars.runtime.amd.js | 515 + .../dist/handlebars.runtime.amd.min.js | 27 + .../handlebars/dist/handlebars.runtime.js | 530 + .../handlebars/dist/handlebars.runtime.min.js | 27 + .../node_modules/handlebars/lib/handlebars.js | 33 + .../handlebars/lib/handlebars.runtime.js | 31 + .../handlebars/lib/handlebars/base.js | 178 + .../handlebars/lib/handlebars/compiler/ast.js | 226 + .../lib/handlebars/compiler/base.js | 12 + .../lib/handlebars/compiler/compiler.js | 466 + .../compiler/javascript-compiler.js | 939 ++ .../lib/handlebars/compiler/parser.js | 489 + .../lib/handlebars/compiler/printer.js | 138 + .../lib/handlebars/compiler/visitor.js | 11 + .../handlebars/lib/handlebars/exception.js | 27 + .../handlebars/lib/handlebars/runtime.js | 133 + .../handlebars/lib/handlebars/safe-string.js | 10 + .../handlebars/lib/handlebars/utils.js | 73 + .../node_modules/handlebars/lib/index.js | 25 + .../handlebars/node_modules/.bin/uglifyjs | 1 + .../node_modules/optimist/.travis.yml | 4 + .../handlebars/node_modules/optimist/LICENSE | 21 + .../node_modules/optimist/example/bool.js | 10 + .../optimist/example/boolean_double.js | 7 + .../optimist/example/boolean_single.js | 7 + .../optimist/example/default_hash.js | 8 + .../optimist/example/default_singles.js | 7 + .../node_modules/optimist/example/divide.js | 8 + .../optimist/example/line_count.js | 20 + .../optimist/example/line_count_options.js | 29 + .../optimist/example/line_count_wrap.js | 29 + .../node_modules/optimist/example/nonopt.js | 4 + .../node_modules/optimist/example/reflect.js | 2 + .../node_modules/optimist/example/short.js | 3 + .../node_modules/optimist/example/string.js | 11 + .../optimist/example/usage-options.js | 19 + .../node_modules/optimist/example/xup.js | 10 + .../handlebars/node_modules/optimist/index.js | 478 + .../optimist/node_modules/wordwrap/.npmignore | 1 + .../node_modules/wordwrap/README.markdown | 70 + .../node_modules/wordwrap/example/center.js | 10 + .../node_modules/wordwrap/example/meat.js | 3 + .../optimist/node_modules/wordwrap/index.js | 76 + .../node_modules/wordwrap/package.json | 44 + .../node_modules/wordwrap/test/break.js | 30 + .../node_modules/wordwrap/test/idleness.txt | 63 + .../node_modules/wordwrap/test/wrap.js | 31 + .../node_modules/optimist/package.json | 45 + .../node_modules/optimist/readme.markdown | 487 + .../node_modules/optimist/test/_.js | 71 + .../node_modules/optimist/test/_/argv.js | 2 + .../node_modules/optimist/test/_/bin.js | 3 + .../node_modules/optimist/test/parse.js | 446 + .../node_modules/optimist/test/usage.js | 292 + .../node_modules/uglify-js/.npmignore | 2 + .../node_modules/uglify-js/.travis.yml | 7 + .../handlebars/node_modules/uglify-js/LICENSE | 29 + .../node_modules/uglify-js/README.md | 588 + .../node_modules/uglify-js/bin/uglifyjs | 402 + .../node_modules/uglify-js/lib/ast.js | 985 ++ .../node_modules/uglify-js/lib/compress.js | 2028 ++++ .../node_modules/uglify-js/lib/mozilla-ast.js | 267 + .../node_modules/uglify-js/lib/output.js | 1229 +++ .../node_modules/uglify-js/lib/parse.js | 1410 +++ .../node_modules/uglify-js/lib/scope.js | 581 + .../node_modules/uglify-js/lib/sourcemap.js | 81 + .../node_modules/uglify-js/lib/transform.js | 217 + .../node_modules/uglify-js/lib/utils.js | 295 + .../uglify-js/node_modules/async/LICENSE | 19 + .../uglify-js/node_modules/async/README.md | 1414 +++ .../node_modules/async/component.json | 11 + .../uglify-js/node_modules/async/lib/async.js | 955 ++ .../uglify-js/node_modules/async/package.json | 42 + .../node_modules/source-map/.npmignore | 2 + .../node_modules/source-map/.travis.yml | 4 + .../node_modules/source-map/CHANGELOG.md | 112 + .../uglify-js/node_modules/source-map/LICENSE | 28 + .../source-map/Makefile.dryice.js | 166 + .../node_modules/source-map/README.md | 434 + .../source-map/build/assert-shim.js | 56 + .../source-map/build/mini-require.js | 152 + .../source-map/build/prefix-source-map.jsm | 20 + .../source-map/build/prefix-utils.jsm | 18 + .../source-map/build/suffix-browser.js | 8 + .../source-map/build/suffix-source-map.jsm | 6 + .../source-map/build/suffix-utils.jsm | 21 + .../source-map/build/test-prefix.js | 8 + .../source-map/build/test-suffix.js | 3 + .../node_modules/source-map/lib/source-map.js | 8 + .../source-map/lib/source-map/array-set.js | 97 + .../source-map/lib/source-map/base64-vlq.js | 144 + .../source-map/lib/source-map/base64.js | 42 + .../lib/source-map/binary-search.js | 81 + .../lib/source-map/source-map-consumer.js | 477 + .../lib/source-map/source-map-generator.js | 380 + .../source-map/lib/source-map/source-node.js | 371 + .../source-map/lib/source-map/util.js | 205 + .../source-map/node_modules/amdefine/LICENSE | 58 + .../node_modules/amdefine/README.md | 171 + .../node_modules/amdefine/amdefine.js | 299 + .../node_modules/amdefine/intercept.js | 36 + .../node_modules/amdefine/package.json | 36 + .../node_modules/source-map/package.json | 110 + .../node_modules/source-map/test/run-tests.js | 71 + .../source-map/test/source-map/test-api.js | 26 + .../test/source-map/test-array-set.js | 104 + .../test/source-map/test-base64-vlq.js | 24 + .../source-map/test/source-map/test-base64.js | 35 + .../test/source-map/test-binary-search.js | 54 + .../test/source-map/test-dog-fooding.js | 72 + .../source-map/test-source-map-consumer.js | 451 + .../source-map/test-source-map-generator.js | 417 + .../test/source-map/test-source-node.js | 365 + .../source-map/test/source-map/util.js | 161 + .../node_modules/uglify-js/package.json | 39 + .../uglify-js/test/compress/arrays.js | 12 + .../uglify-js/test/compress/blocks.js | 49 + .../uglify-js/test/compress/conditionals.js | 143 + .../uglify-js/test/compress/dead-code.js | 89 + .../uglify-js/test/compress/debugger.js | 24 + .../uglify-js/test/compress/drop-unused.js | 97 + .../uglify-js/test/compress/issue-105.js | 25 + .../uglify-js/test/compress/issue-12.js | 11 + .../uglify-js/test/compress/issue-143.js | 48 + .../uglify-js/test/compress/issue-22.js | 17 + .../uglify-js/test/compress/issue-44.js | 31 + .../uglify-js/test/compress/issue-59.js | 30 + .../uglify-js/test/compress/labels.js | 163 + .../uglify-js/test/compress/loops.js | 123 + .../uglify-js/test/compress/properties.js | 54 + .../uglify-js/test/compress/sequences.js | 161 + .../uglify-js/test/compress/switch.js | 260 + .../uglify-js/test/compress/typeof.js | 25 + .../node_modules/uglify-js/test/run-tests.js | 170 + .../node_modules/uglify-js/tools/node.js | 165 + .../node_modules/handlebars/package.json | 74 + .../node_modules/handlebars/release-notes.md | 193 + .../node_modules/handlebars/runtime.js | 3 + handlebars-node-precompiled/package.json | 6 + handlebars-node-precompiled/test1.js | 12 + handlebars-node-precompiled/test1b-incid.js | 12 + .../test2-loop-lambda.js | 36 + handlebars-node-precompiled/test2-loop.js | 37 + .../test3-itterator.js | 31 + .../node_modules/knockoff/.jshintrc | 33 + .../node_modules/knockoff/DOMCompiler.js | 194 + .../node_modules/knockoff/KnockoutCompiler.js | 245 + .../knockoff/KnockoutExpression.js | 194 + .../knockoff/KnockoutExpressionParser.js | 1308 +++ .../knockoff/KnockoutExpressionParser.pegjs | 99 + .../node_modules/knockoff/README.md | 229 + .../node_modules/knockoff/callgrind.out.12434 | 10 + .../node_modules/knockoff/callgrind.out.12451 | 1358 +++ .../node_modules/knockoff/callgrind.out.12471 | 1378 +++ .../node_modules/knockoff/callgrind.out.13901 | 970 ++ .../node_modules/knockoff/knockoff.js | 52 + .../knockoff/makeKnockoutExpressionParser.js | 12 + .../knockoff/node_modules/domino/.npmignore | 4 + .../knockoff/node_modules/domino/.travis.yml | 6 + .../knockoff/node_modules/domino/CHANGELOG.md | 67 + .../knockoff/node_modules/domino/LICENSE | 25 + .../knockoff/node_modules/domino/README.md | 59 + .../domino/lib/CSSStyleDeclaration.js | 264 + .../node_modules/domino/lib/CharacterData.js | 116 + .../node_modules/domino/lib/Comment.js | 32 + .../node_modules/domino/lib/CustomEvent.js | 11 + .../node_modules/domino/lib/DOMException.js | 133 + .../domino/lib/DOMImplementation.js | 85 + .../node_modules/domino/lib/DOMTokenList.js | 88 + .../node_modules/domino/lib/Document.js | 727 ++ .../domino/lib/DocumentFragment.js | 55 + .../node_modules/domino/lib/DocumentType.js | 34 + .../node_modules/domino/lib/Element.js | 900 ++ .../knockoff/node_modules/domino/lib/Event.js | 65 + .../node_modules/domino/lib/EventTarget.js | 296 + .../domino/lib/FilteredElementList.js | 85 + .../node_modules/domino/lib/HTMLParser.js | 7031 ++++++++++++ .../knockoff/node_modules/domino/lib/Leaf.js | 24 + .../node_modules/domino/lib/Location.js | 58 + .../node_modules/domino/lib/MouseEvent.js | 51 + .../domino/lib/MutationConstants.js | 8 + .../knockoff/node_modules/domino/lib/Node.js | 647 ++ .../node_modules/domino/lib/NodeFilter.js | 23 + .../node_modules/domino/lib/NodeList.js | 11 + .../domino/lib/ProcessingInstruction.js | 35 + .../knockoff/node_modules/domino/lib/Text.js | 61 + .../node_modules/domino/lib/TreeWalker.js | 311 + .../node_modules/domino/lib/UIEvent.js | 18 + .../knockoff/node_modules/domino/lib/URL.js | 166 + .../domino/lib/URLDecompositionAttributes.js | 163 + .../node_modules/domino/lib/Window.js | 70 + .../node_modules/domino/lib/attributes.js | 112 + .../node_modules/domino/lib/cssparser.js | 5644 ++++++++++ .../node_modules/domino/lib/events.js | 6 + .../node_modules/domino/lib/htmlelts.js | 1109 ++ .../knockoff/node_modules/domino/lib/impl.js | 23 + .../knockoff/node_modules/domino/lib/index.js | 23 + .../node_modules/domino/lib/select.js | 842 ++ .../knockoff/node_modules/domino/lib/utils.js | 66 + .../node_modules/domino/lib/xmlnames.js | 90 + .../knockoff/node_modules/domino/package.json | 32 + .../node_modules/domino/test/domino.js | 348 + .../node_modules/domino/test/fixture/doc.html | 13 + .../domino/test/fixture/jquery-1.9.1.js | 9597 +++++++++++++++++ .../node_modules/domino/test/htmlwg/README.md | 3 + .../domino/test/htmlwg/harness/index.js | 45 + .../domino/test/htmlwg/harness/testharness.js | 1739 +++ .../node_modules/domino/test/htmlwg/index.js | 2 + ...ument.getElementsByTagName-foreign-01.html | 144 + ...ument.getElementsByTagName-foreign-02.html | 25 + ...ement.getElementsByTagName-foreign-01.html | 26 + ...ement.getElementsByTagName-foreign-02.html | 30 + .../browsing-the-web/load-text-plain.html | 30 + ...ent.getElementsByClassName-null-undef.html | 31 + ...ent.getElementsByClassName-null-undef.html | 31 + ...document.body-getter-foreign-frameset.html | 17 + ...ocument.body-getter-frameset-and-body.html | 18 + .../document.body-setter-01.html | 17 + .../document.embeds-document.plugins-01.html | 24 + .../document.getElementsByClassName-same.html | 18 + .../document.getElementsByName-case.html | 17 + .../document.getElementsByName-case.xhtml | 22 + .../document.getElementsByName-id.html | 16 + .../document.getElementsByName-id.xhtml | 21 + .../document.getElementsByName-namespace.html | 28 + ...document.getElementsByName-namespace.xhtml | 33 + ...ocument.getElementsByName-newelements.html | 122 + ...cument.getElementsByName-newelements.xhtml | 127 + ...document.getElementsByName-null-undef.html | 23 + ...ocument.getElementsByName-null-undef.xhtml | 29 + .../document.getElementsByName-param.html | 24 + .../document.getElementsByName-param.xhtml | 29 + .../document.getElementsByName-same.html | 18 + .../dom-tree-accessors/document.head-01.html | 23 + .../dom-tree-accessors/document.head-02.html | 21 + .../dom-tree-accessors/document.title-01.html | 33 + .../document.title-02.xhtml | 38 + .../dom-tree-accessors/document.title-03.html | 44 + .../document.title-04.xhtml | 49 + .../dom-tree-accessors/document.title-05.html | 41 + .../dom-tree-accessors/document.title-06.html | 24 + .../dom-tree-accessors/document.title-07.html | 21 + .../dom-tree-accessors/nameditem-01.html | 19 + .../document.close-01.xhtml | 19 + .../document.open-01.xhtml | 19 + .../document.open-02.html | 17 + .../document.write-01.xhtml | 19 + .../document.write-02.html | 27 + .../document.writeln-01.xhtml | 19 + .../document.writeln-02.html | 27 + .../elements-in-the-dom/unknown-element.html | 16 + .../events/event-handler-spec-example.html | 31 + .../submission/Ms2ger/general/interfaces.html | 163 + .../classlist-nonstring.html | 44 + .../Ms2ger/global-attributes/dataset.html | 28 + .../global-attributes/document-dir.html | 25 + .../Ms2ger/global-attributes/id-name.html | 18 + .../lang-xmllang-01-ref.html | 20 + .../global-attributes/lang-xmllang-01.html | 57 + .../global-attributes/lang-xyzzy-ref.html | 9 + .../Ms2ger/global-attributes/lang-xyzzy.html | 11 + .../global-attributes/style-01-ref.html | 24 + .../Ms2ger/global-attributes/style-01.html | 25 + .../document-color-01.html | 18 + .../document-color-02.html | 47 + .../document-color-03.html | 47 + .../document-color-04.html | 47 + .../document.all-01.html | 22 + .../document.all-02.html | 13 + .../document.all-03.html | 13 + .../document.all-04.html | 19 + .../document.all-05.html | 23 + .../heading-obsolete-attributes-01.html | 16 + .../script-IDL-event-htmlfor.html | 57 + .../submission/Ms2ger/parsing/comment.dat | 10 + .../document-compatmode-01.html | 13 + .../document-compatmode-02.html | 14 + .../document-compatmode-03.html | 12 + .../document-compatmode-04.xhtml | 18 + .../document-compatmode-05.xhtml | 19 + .../document-compatmode-06.xhtml | 17 + .../Ms2ger/support/css/200-textplain.cgi | 5 + .../Ms2ger/support/css/404-textcss.cgi | 6 + .../Ms2ger/support/text/200-textplain.cgi | 5 + .../the-link-element/link-rellist.html | 23 + .../the-link-element/link-style-error-01.html | 32 + .../the-style-element/style-error-01.html | 32 + .../the-title-element/title.text-01.html | 25 + .../the-title-element/title.text-02.xhtml | 30 + .../the-title-element/title.text-03.html | 95 + .../the-title-element/title.text-04.xhtml | 100 + .../the-video-element/video-tabindex.html | 18 + .../form-elements-interfaces-01.html | 20 + .../form-elements-matches.html | 28 + .../form-elements-nameditem-01.html | 43 + .../form-elements-nameditem-02.html | 28 + .../input-textselection-01.html | 42 + .../the-textarea-element/textarea-type.html | 16 + .../wrap-reflect-1-ref.html | 5 + .../the-textarea-element/wrap-reflect-1a.html | 8 + .../the-textarea-element/wrap-reflect-1b.html | 8 + .../script-language-type.html | 18 + .../script-languages-01.html | 24 + .../script-languages-02.html | 65 + .../script-noembed-noframes-iframe.xhtml | 36 + .../insertRow-method-01.html | 24 + .../insertRow-method-02.html | 34 + .../the-a-element/a.text-getter-01.html | 33 + .../the-a-element/a.text-setter-01.html | 41 + .../the-hidden-attribute/hidden-1-ref.html | 5 + .../the-hidden-attribute/hidden-1a.html | 6 + .../the-hidden-attribute/hidden-1b.html | 9 + .../the-hidden-attribute/hidden-1c.html | 10 + .../the-hidden-attribute/hidden-1d.html | 10 + .../the-hidden-attribute/hidden-2-ref.svg | 9 + .../Ms2ger/the-hidden-attribute/hidden-2.svg | 9 + .../node_modules/domino/test/index.js | 3 + .../node_modules/domino/test/mocha.opts | 6 + .../node_modules/domino/test/w3c/README.md | 13 + .../domino/test/w3c/harness/DomTestCase.js | 438 + .../domino/test/w3c/harness/index.js | 86 + .../node_modules/domino/test/w3c/index.js | 12 + .../level1/core/documentgetdoctypenodtd.js | 110 + ...cumentinvalidcharacterexceptioncreatepi.js | 143 + ...umentinvalidcharacterexceptioncreatepi1.js | 140 + .../test/w3c/level1/core/files/.cvsignore | 0 .../w3c/level1/core/files/hc_nodtdstaff.html | 10 + .../test/w3c/level1/core/files/hc_staff.html | 48 + .../test/w3c/level1/core/files/staff.dtd | 17 + .../level1/core/hc_characterdataappenddata.js | 124 + .../core/hc_characterdataappenddatagetdata.js | 123 + .../hc_characterdatadeletedatabegining.js | 122 + .../core/hc_characterdatadeletedataend.js | 123 + ...hc_characterdatadeletedataexceedslength.js | 125 + ...characterdatadeletedatagetlengthanddata.js | 132 + .../core/hc_characterdatadeletedatamiddle.js | 123 + .../level1/core/hc_characterdatagetdata.js | 124 + .../level1/core/hc_characterdatagetlength.js | 119 + ...dataindexsizeerrdeletedatacountnegative.js | 130 + ...dataindexsizeerrdeletedataoffsetgreater.js | 131 + ...ataindexsizeerrdeletedataoffsetnegative.js | 130 + ...dataindexsizeerrinsertdataoffsetgreater.js | 130 + ...ataindexsizeerrinsertdataoffsetnegative.js | 129 + ...ataindexsizeerrreplacedatacountnegative.js | 131 + ...ataindexsizeerrreplacedataoffsetgreater.js | 131 + ...taindexsizeerrreplacedataoffsetnegative.js | 131 + ...rdataindexsizeerrsubstringcountnegative.js | 130 + ...dataindexsizeerrsubstringnegativeoffset.js | 130 + ...rdataindexsizeerrsubstringoffsetgreater.js | 131 + .../hc_characterdatainsertdatabeginning.js | 122 + .../core/hc_characterdatainsertdataend.js | 123 + .../core/hc_characterdatainsertdatamiddle.js | 123 + .../hc_characterdatareplacedatabegining.js | 122 + .../core/hc_characterdatareplacedataend.js | 123 + ...racterdatareplacedataexceedslengthofarg.js | 124 + ...acterdatareplacedataexceedslengthofdata.js | 122 + .../core/hc_characterdatareplacedatamiddle.js | 123 + .../core/hc_characterdatasetnodevalue.js | 122 + .../hc_characterdatasubstringexceedsvalue.js | 120 + .../core/hc_characterdatasubstringvalue.js | 119 + .../w3c/level1/core/hc_commentgetcomment.js | 144 + .../level1/core/hc_documentcreatecomment.js | 120 + .../core/hc_documentcreatedocumentfragment.js | 126 + .../level1/core/hc_documentcreateelement.js | 121 + .../hc_documentcreateelementcasesensitive.js | 132 + .../level1/core/hc_documentcreatetextnode.js | 120 + .../w3c/level1/core/hc_documentgetdoctype.js | 149 + .../hc_documentgetelementsbytagnamelength.js | 110 + ...documentgetelementsbytagnametotallength.js | 221 + .../hc_documentgetelementsbytagnamevalue.js | 120 + .../core/hc_documentgetimplementation.js | 126 + .../w3c/level1/core/hc_documentgetrootnode.js | 123 + ...tinvalidcharacterexceptioncreateelement.js | 124 + ...invalidcharacterexceptioncreateelement1.js | 117 + .../hc_domimplementationfeaturenoversion.js | 126 + .../core/hc_domimplementationfeaturenull.js | 129 + .../core/hc_domimplementationfeaturexml.js | 125 + .../level1/core/hc_elementaddnewattribute.js | 117 + .../core/hc_elementchangeattributevalue.js | 119 + .../core/hc_elementgetelementsbytagname.js | 112 + ...ementgetelementsbytagnameaccessnodelist.js | 144 + .../hc_elementgetelementsbytagnamenomatch.js | 110 + ...elementgetelementsbytagnamespecialvalue.js | 134 + .../w3c/level1/core/hc_elementgettagname.js | 123 + .../hc_elementinvalidcharacterexception.js | 125 + .../hc_elementinvalidcharacterexception1.js | 119 + .../w3c/level1/core/hc_elementnormalize.js | 126 + .../level1/core/hc_elementremoveattribute.js | 113 + .../core/hc_elementretrieveallattributes.js | 144 + .../core/hc_elementretrieveattrvalue.js | 113 + .../level1/core/hc_elementretrievetagname.js | 118 + .../core/hc_entitiesremovenameditem1.js | 133 + .../level1/core/hc_entitiessetnameditem1.js | 144 + .../core/hc_namednodemapchildnoderange.js | 141 + .../core/hc_namednodemapnumberofnodes.js | 127 + .../w3c/level1/core/hc_nodeappendchild.js | 123 + .../core/hc_nodeappendchildchildexists.js | 160 + .../core/hc_nodeappendchilddocfragment.js | 158 + .../core/hc_nodeappendchildgetnodename.js | 123 + .../hc_nodeappendchildnewchilddiffdocument.js | 144 + .../core/hc_nodeappendchildnodeancestor.js | 132 + .../core/hc_nodeattributenodeattribute.js | 120 + .../test/w3c/level1/core/hc_nodechildnodes.js | 149 + .../core/hc_nodechildnodesappendchild.js | 159 + .../w3c/level1/core/hc_nodechildnodesempty.js | 123 + .../core/hc_nodecloneattributescopied.js | 149 + .../core/hc_nodeclonefalsenocopytext.js | 122 + .../level1/core/hc_nodeclonegetparentnull.js | 117 + .../w3c/level1/core/hc_nodeclonenodefalse.js | 126 + .../w3c/level1/core/hc_nodeclonenodetrue.js | 145 + .../level1/core/hc_nodeclonetruecopytext.js | 121 + .../core/hc_nodecommentnodeattributes.js | 135 + .../w3c/level1/core/hc_nodecommentnodename.js | 134 + .../w3c/level1/core/hc_nodecommentnodetype.js | 133 + .../level1/core/hc_nodecommentnodevalue.js | 133 + .../core/hc_nodedocumentfragmentnodename.js | 114 + .../core/hc_nodedocumentfragmentnodetype.js | 114 + .../core/hc_nodedocumentfragmentnodevalue.js | 120 + .../core/hc_nodedocumentnodeattribute.js | 111 + .../level1/core/hc_nodedocumentnodename.js | 111 + .../level1/core/hc_nodedocumentnodetype.js | 110 + .../level1/core/hc_nodedocumentnodevalue.js | 112 + .../core/hc_nodeelementnodeattributes.js | 145 + .../w3c/level1/core/hc_nodeelementnodename.js | 125 + .../w3c/level1/core/hc_nodeelementnodetype.js | 112 + .../level1/core/hc_nodeelementnodevalue.js | 109 + .../w3c/level1/core/hc_nodegetfirstchild.js | 130 + .../level1/core/hc_nodegetfirstchildnull.js | 117 + .../w3c/level1/core/hc_nodegetlastchild.js | 117 + .../level1/core/hc_nodegetlastchildnull.js | 118 + .../w3c/level1/core/hc_nodegetnextsibling.js | 117 + .../level1/core/hc_nodegetnextsiblingnull.js | 124 + .../level1/core/hc_nodegetownerdocument.js | 129 + .../core/hc_nodegetownerdocumentnull.js | 115 + .../level1/core/hc_nodegetprevioussibling.js | 117 + .../core/hc_nodegetprevioussiblingnull.js | 124 + .../w3c/level1/core/hc_nodehaschildnodes.js | 113 + .../level1/core/hc_nodehaschildnodesfalse.js | 117 + .../w3c/level1/core/hc_nodeinsertbefore.js | 153 + .../core/hc_nodeinsertbeforedocfragment.js | 141 + ...hc_nodeinsertbeforenewchilddiffdocument.js | 147 + .../core/hc_nodeinsertbeforenewchildexists.js | 151 + .../core/hc_nodeinsertbeforenodeancestor.js | 135 + .../core/hc_nodeinsertbeforenodename.js | 126 + .../hc_nodeinsertbeforerefchildnonexistent.js | 133 + .../core/hc_nodeinsertbeforerefchildnull.js | 131 + .../level1/core/hc_nodelistindexequalzero.js | 135 + .../level1/core/hc_nodelistindexgetlength.js | 129 + .../hc_nodelistindexgetlengthofemptylist.js | 122 + .../level1/core/hc_nodelistindexnotzero.js | 133 + .../level1/core/hc_nodelistreturnfirstitem.js | 129 + .../level1/core/hc_nodelistreturnlastitem.js | 133 + .../level1/core/hc_nodelisttraverselist.js | 149 + .../test/w3c/level1/core/hc_nodeparentnode.js | 117 + .../w3c/level1/core/hc_nodeparentnodenull.js | 114 + .../w3c/level1/core/hc_noderemovechild.js | 123 + .../core/hc_noderemovechildgetnodename.js | 128 + .../w3c/level1/core/hc_noderemovechildnode.js | 160 + .../hc_noderemovechildoldchildnonexistent.js | 129 + .../w3c/level1/core/hc_nodereplacechild.js | 127 + ...hc_nodereplacechildnewchilddiffdocument.js | 147 + .../core/hc_nodereplacechildnewchildexists.js | 155 + .../core/hc_nodereplacechildnodeancestor.js | 135 + .../core/hc_nodereplacechildnodename.js | 126 + .../hc_nodereplacechildoldchildnonexistent.js | 131 + .../level1/core/hc_nodetextnodeattribute.js | 118 + .../w3c/level1/core/hc_nodetextnodename.js | 113 + .../w3c/level1/core/hc_nodetextnodetype.js | 124 + .../w3c/level1/core/hc_nodetextnodevalue.js | 118 + .../test/w3c/level1/core/hc_nodevalue01.js | 114 + .../test/w3c/level1/core/hc_nodevalue02.js | 114 + .../test/w3c/level1/core/hc_nodevalue04.js | 132 + .../test/w3c/level1/core/hc_nodevalue05.js | 114 + .../test/w3c/level1/core/hc_nodevalue06.js | 112 + .../test/w3c/level1/core/hc_nodevalue07.js | 134 + .../test/w3c/level1/core/hc_nodevalue08.js | 134 + .../core/hc_notationsremovenameditem1.js | 133 + .../level1/core/hc_notationssetnameditem1.js | 144 + .../core/hc_textindexsizeerrnegativeoffset.js | 130 + .../hc_textindexsizeerroffsetoutofbounds.js | 131 + .../core/hc_textparseintolistofelements.js | 169 + .../w3c/level1/core/hc_textsplittextfour.js | 122 + .../w3c/level1/core/hc_textsplittextone.js | 126 + .../w3c/level1/core/hc_textsplittextthree.js | 124 + .../w3c/level1/core/hc_textsplittexttwo.js | 123 + .../w3c/level1/core/hc_textwithnomarkup.js | 122 + ...ntinvalidcharacterexceptioncreateentref.js | 143 + ...tinvalidcharacterexceptioncreateentref1.js | 140 + .../core/obsolete/hc_attrappendchild1.js | 132 + .../core/obsolete/hc_attrappendchild2.js | 127 + .../core/obsolete/hc_attrappendchild3.js | 138 + .../core/obsolete/hc_attrappendchild4.js | 152 + .../core/obsolete/hc_attrappendchild5.js | 141 + .../core/obsolete/hc_attrappendchild6.js | 127 + .../core/obsolete/hc_attrchildnodes1.js | 124 + .../core/obsolete/hc_attrchildnodes2.js | 130 + .../level1/core/obsolete/hc_attrclonenode1.js | 132 + .../obsolete/hc_attrcreatedocumentfragment.js | 138 + .../core/obsolete/hc_attrcreatetextnode.js | 127 + .../core/obsolete/hc_attrcreatetextnode2.js | 127 + .../core/obsolete/hc_attreffectivevalue.js | 118 + .../level1/core/obsolete/hc_attrfirstchild.js | 127 + .../level1/core/obsolete/hc_attrgetvalue1.js | 117 + .../level1/core/obsolete/hc_attrgetvalue2.js | 146 + .../core/obsolete/hc_attrhaschildnodes.js | 114 + .../core/obsolete/hc_attrinsertbefore1.js | 140 + .../core/obsolete/hc_attrinsertbefore2.js | 141 + .../core/obsolete/hc_attrinsertbefore3.js | 146 + .../core/obsolete/hc_attrinsertbefore4.js | 147 + .../core/obsolete/hc_attrinsertbefore5.js | 153 + .../core/obsolete/hc_attrinsertbefore6.js | 142 + .../core/obsolete/hc_attrinsertbefore7.js | 160 + .../level1/core/obsolete/hc_attrlastchild.js | 127 + .../w3c/level1/core/obsolete/hc_attrname.js | 123 + .../core/obsolete/hc_attrnextsiblingnull.js | 118 + .../level1/core/obsolete/hc_attrnormalize.js | 133 + .../core/obsolete/hc_attrparentnodenull.js | 118 + .../obsolete/hc_attrprevioussiblingnull.js | 118 + .../core/obsolete/hc_attrremovechild1.js | 131 + .../core/obsolete/hc_attrremovechild2.js | 126 + .../core/obsolete/hc_attrreplacechild1.js | 135 + .../core/obsolete/hc_attrreplacechild2.js | 141 + .../level1/core/obsolete/hc_attrsetvalue1.js | 135 + .../level1/core/obsolete/hc_attrsetvalue2.js | 138 + .../core/obsolete/hc_attrspecifiedvalue.js | 121 + .../obsolete/hc_attrspecifiedvaluechanged.js | 123 + .../obsolete/hc_documentcreateattribute.js | 122 + ...nvalidcharacterexceptioncreateattribute.js | 124 + ...validcharacterexceptioncreateattribute1.js | 117 + .../obsolete/hc_elementassociatedattribute.js | 119 + .../obsolete/hc_elementcreatenewattribute.js | 124 + .../obsolete/hc_elementgetattributenode.js | 114 + .../hc_elementgetattributenodenull.js | 115 + .../obsolete/hc_elementgetelementempty.js | 123 + .../obsolete/hc_elementinuseattributeerr.js | 131 + .../core/obsolete/hc_elementnormalize2.js | 129 + .../core/obsolete/hc_elementnotfounderr.js | 130 + .../hc_elementremoveattributeaftercreate.js | 124 + .../obsolete/hc_elementremoveattributenode.js | 119 + .../hc_elementreplaceattributewithself.js | 117 + .../hc_elementreplaceexistingattribute.js | 122 + ..._elementreplaceexistingattributegevalue.js | 123 + .../hc_elementsetattributenodenull.js | 120 + .../obsolete/hc_elementwrongdocumenterr.js | 147 + .../obsolete/hc_namednodemapgetnameditem.js | 121 + .../hc_namednodemapinuseattributeerr.js | 139 + .../obsolete/hc_namednodemapnotfounderr.js | 131 + .../hc_namednodemapremovenameditem.js | 124 + .../obsolete/hc_namednodemapreturnattrnode.js | 126 + .../hc_namednodemapreturnfirstitem.js | 150 + .../obsolete/hc_namednodemapreturnlastitem.js | 152 + .../obsolete/hc_namednodemapreturnnull.js | 121 + .../obsolete/hc_namednodemapsetnameditem.js | 131 + .../hc_namednodemapsetnameditemreturnvalue.js | 132 + .../hc_namednodemapsetnameditemthatexists.js | 134 + ...hc_namednodemapsetnameditemwithnewvalue.js | 126 + .../hc_namednodemapwrongdocumenterr.js | 149 + .../hc_nodeappendchildinvalidnodetype.js | 130 + .../core/obsolete/hc_nodeattributenodename.js | 115 + .../core/obsolete/hc_nodeattributenodetype.js | 123 + .../obsolete/hc_nodeattributenodevalue.js | 118 + .../hc_nodeinsertbeforeinvalidnodetype.js | 136 + .../hc_nodereplacechildinvalidnodetype.js | 136 + .../level1/core/obsolete/hc_nodevalue03.js | 138 + .../w3c/level1/html/HTMLAnchorElement01.js | 114 + .../w3c/level1/html/HTMLAnchorElement04.js | 113 + .../w3c/level1/html/HTMLAnchorElement05.js | 113 + .../w3c/level1/html/HTMLAnchorElement07.js | 113 + .../w3c/level1/html/HTMLAnchorElement10.js | 114 + .../w3c/level1/html/HTMLAnchorElement11.js | 113 + .../w3c/level1/html/HTMLAnchorElement12.js | 113 + .../w3c/level1/html/HTMLAnchorElement13.js | 107 + .../w3c/level1/html/HTMLAnchorElement14.js | 107 + .../test/w3c/level1/html/HTMLAreaElement01.js | 114 + .../test/w3c/level1/html/HTMLAreaElement02.js | 114 + .../test/w3c/level1/html/HTMLAreaElement03.js | 114 + .../test/w3c/level1/html/HTMLAreaElement04.js | 113 + .../test/w3c/level1/html/HTMLAreaElement05.js | 113 + .../test/w3c/level1/html/HTMLAreaElement06.js | 113 + .../test/w3c/level1/html/HTMLAreaElement07.js | 114 + .../test/w3c/level1/html/HTMLAreaElement08.js | 113 + .../w3c/level1/html/HTMLButtonElement01.js | 116 + .../w3c/level1/html/HTMLButtonElement02.js | 114 + .../w3c/level1/html/HTMLButtonElement03.js | 114 + .../w3c/level1/html/HTMLButtonElement04.js | 114 + .../w3c/level1/html/HTMLButtonElement05.js | 114 + .../w3c/level1/html/HTMLButtonElement06.js | 114 + .../w3c/level1/html/HTMLButtonElement07.js | 113 + .../w3c/level1/html/HTMLButtonElement08.js | 113 + .../test/w3c/level1/html/HTMLDocument01.js | 109 + .../test/w3c/level1/html/HTMLDocument05.js | 114 + .../test/w3c/level1/html/HTMLDocument15.js | 115 + .../test/w3c/level1/html/HTMLDocument16.js | 114 + .../test/w3c/level1/html/HTMLDocument17.js | 119 + .../test/w3c/level1/html/HTMLDocument18.js | 102 + .../test/w3c/level1/html/HTMLDocument19.js | 129 + .../test/w3c/level1/html/HTMLDocument20.js | 129 + .../test/w3c/level1/html/HTMLDocument21.js | 138 + .../test/w3c/level1/html/HTMLElement01.js | 113 + .../test/w3c/level1/html/HTMLElement02.js | 113 + .../test/w3c/level1/html/HTMLElement03.js | 113 + .../test/w3c/level1/html/HTMLElement04.js | 113 + .../test/w3c/level1/html/HTMLElement05.js | 113 + .../test/w3c/level1/html/HTMLElement06.js | 113 + .../test/w3c/level1/html/HTMLElement07.js | 113 + .../test/w3c/level1/html/HTMLElement08.js | 113 + .../test/w3c/level1/html/HTMLElement09.js | 113 + .../test/w3c/level1/html/HTMLElement10.js | 113 + .../test/w3c/level1/html/HTMLElement100.js | 113 + .../test/w3c/level1/html/HTMLElement101.js | 113 + .../test/w3c/level1/html/HTMLElement102.js | 113 + .../test/w3c/level1/html/HTMLElement103.js | 113 + .../test/w3c/level1/html/HTMLElement104.js | 113 + .../test/w3c/level1/html/HTMLElement105.js | 113 + .../test/w3c/level1/html/HTMLElement106.js | 113 + .../test/w3c/level1/html/HTMLElement107.js | 113 + .../test/w3c/level1/html/HTMLElement108.js | 113 + .../test/w3c/level1/html/HTMLElement109.js | 113 + .../test/w3c/level1/html/HTMLElement11.js | 113 + .../test/w3c/level1/html/HTMLElement110.js | 113 + .../test/w3c/level1/html/HTMLElement111.js | 113 + .../test/w3c/level1/html/HTMLElement112.js | 113 + .../test/w3c/level1/html/HTMLElement113.js | 113 + .../test/w3c/level1/html/HTMLElement114.js | 113 + .../test/w3c/level1/html/HTMLElement115.js | 113 + .../test/w3c/level1/html/HTMLElement116.js | 113 + .../test/w3c/level1/html/HTMLElement117.js | 113 + .../test/w3c/level1/html/HTMLElement118.js | 113 + .../test/w3c/level1/html/HTMLElement119.js | 113 + .../test/w3c/level1/html/HTMLElement12.js | 113 + .../test/w3c/level1/html/HTMLElement120.js | 113 + .../test/w3c/level1/html/HTMLElement121.js | 113 + .../test/w3c/level1/html/HTMLElement122.js | 113 + .../test/w3c/level1/html/HTMLElement123.js | 113 + .../test/w3c/level1/html/HTMLElement124.js | 113 + .../test/w3c/level1/html/HTMLElement125.js | 113 + .../test/w3c/level1/html/HTMLElement126.js | 113 + .../test/w3c/level1/html/HTMLElement127.js | 113 + .../test/w3c/level1/html/HTMLElement128.js | 113 + .../test/w3c/level1/html/HTMLElement129.js | 113 + .../test/w3c/level1/html/HTMLElement13.js | 113 + .../test/w3c/level1/html/HTMLElement130.js | 113 + .../test/w3c/level1/html/HTMLElement131.js | 113 + .../test/w3c/level1/html/HTMLElement132.js | 113 + .../test/w3c/level1/html/HTMLElement133.js | 113 + .../test/w3c/level1/html/HTMLElement134.js | 113 + .../test/w3c/level1/html/HTMLElement135.js | 113 + .../test/w3c/level1/html/HTMLElement136.js | 113 + .../test/w3c/level1/html/HTMLElement137.js | 113 + .../test/w3c/level1/html/HTMLElement138.js | 113 + .../test/w3c/level1/html/HTMLElement139.js | 113 + .../test/w3c/level1/html/HTMLElement14.js | 113 + .../test/w3c/level1/html/HTMLElement140.js | 113 + .../test/w3c/level1/html/HTMLElement141.js | 113 + .../test/w3c/level1/html/HTMLElement142.js | 113 + .../test/w3c/level1/html/HTMLElement143.js | 113 + .../test/w3c/level1/html/HTMLElement144.js | 113 + .../test/w3c/level1/html/HTMLElement145.js | 113 + .../test/w3c/level1/html/HTMLElement15.js | 113 + .../test/w3c/level1/html/HTMLElement16.js | 113 + .../test/w3c/level1/html/HTMLElement17.js | 113 + .../test/w3c/level1/html/HTMLElement18.js | 113 + .../test/w3c/level1/html/HTMLElement19.js | 113 + .../test/w3c/level1/html/HTMLElement20.js | 113 + .../test/w3c/level1/html/HTMLElement21.js | 113 + .../test/w3c/level1/html/HTMLElement22.js | 113 + .../test/w3c/level1/html/HTMLElement23.js | 113 + .../test/w3c/level1/html/HTMLElement24.js | 113 + .../test/w3c/level1/html/HTMLElement25.js | 113 + .../test/w3c/level1/html/HTMLElement26.js | 113 + .../test/w3c/level1/html/HTMLElement27.js | 113 + .../test/w3c/level1/html/HTMLElement28.js | 113 + .../test/w3c/level1/html/HTMLElement29.js | 113 + .../test/w3c/level1/html/HTMLElement30.js | 113 + .../test/w3c/level1/html/HTMLElement31.js | 113 + .../test/w3c/level1/html/HTMLElement32.js | 113 + .../test/w3c/level1/html/HTMLElement33.js | 113 + .../test/w3c/level1/html/HTMLElement34.js | 113 + .../test/w3c/level1/html/HTMLElement35.js | 113 + .../test/w3c/level1/html/HTMLElement36.js | 113 + .../test/w3c/level1/html/HTMLElement37.js | 113 + .../test/w3c/level1/html/HTMLElement38.js | 113 + .../test/w3c/level1/html/HTMLElement39.js | 113 + .../test/w3c/level1/html/HTMLElement40.js | 113 + .../test/w3c/level1/html/HTMLElement41.js | 113 + .../test/w3c/level1/html/HTMLElement42.js | 113 + .../test/w3c/level1/html/HTMLElement43.js | 113 + .../test/w3c/level1/html/HTMLElement44.js | 113 + .../test/w3c/level1/html/HTMLElement45.js | 113 + .../test/w3c/level1/html/HTMLElement46.js | 113 + .../test/w3c/level1/html/HTMLElement47.js | 113 + .../test/w3c/level1/html/HTMLElement48.js | 113 + .../test/w3c/level1/html/HTMLElement49.js | 113 + .../test/w3c/level1/html/HTMLElement50.js | 113 + .../test/w3c/level1/html/HTMLElement51.js | 113 + .../test/w3c/level1/html/HTMLElement52.js | 113 + .../test/w3c/level1/html/HTMLElement53.js | 113 + .../test/w3c/level1/html/HTMLElement54.js | 113 + .../test/w3c/level1/html/HTMLElement55.js | 113 + .../test/w3c/level1/html/HTMLElement56.js | 113 + .../test/w3c/level1/html/HTMLElement57.js | 113 + .../test/w3c/level1/html/HTMLElement58.js | 113 + .../test/w3c/level1/html/HTMLElement59.js | 113 + .../test/w3c/level1/html/HTMLElement60.js | 113 + .../test/w3c/level1/html/HTMLElement61.js | 113 + .../test/w3c/level1/html/HTMLElement62.js | 113 + .../test/w3c/level1/html/HTMLElement63.js | 113 + .../test/w3c/level1/html/HTMLElement64.js | 113 + .../test/w3c/level1/html/HTMLElement65.js | 113 + .../test/w3c/level1/html/HTMLElement66.js | 113 + .../test/w3c/level1/html/HTMLElement67.js | 113 + .../test/w3c/level1/html/HTMLElement68.js | 113 + .../test/w3c/level1/html/HTMLElement69.js | 113 + .../test/w3c/level1/html/HTMLElement70.js | 113 + .../test/w3c/level1/html/HTMLElement71.js | 113 + .../test/w3c/level1/html/HTMLElement72.js | 113 + .../test/w3c/level1/html/HTMLElement73.js | 113 + .../test/w3c/level1/html/HTMLElement74.js | 113 + .../test/w3c/level1/html/HTMLElement75.js | 113 + .../test/w3c/level1/html/HTMLElement76.js | 113 + .../test/w3c/level1/html/HTMLElement77.js | 113 + .../test/w3c/level1/html/HTMLElement78.js | 113 + .../test/w3c/level1/html/HTMLElement79.js | 113 + .../test/w3c/level1/html/HTMLElement80.js | 113 + .../test/w3c/level1/html/HTMLElement81.js | 113 + .../test/w3c/level1/html/HTMLElement82.js | 113 + .../test/w3c/level1/html/HTMLElement83.js | 113 + .../test/w3c/level1/html/HTMLElement84.js | 113 + .../test/w3c/level1/html/HTMLElement85.js | 113 + .../test/w3c/level1/html/HTMLElement86.js | 113 + .../test/w3c/level1/html/HTMLElement87.js | 113 + .../test/w3c/level1/html/HTMLElement88.js | 113 + .../test/w3c/level1/html/HTMLElement89.js | 113 + .../test/w3c/level1/html/HTMLElement90.js | 113 + .../test/w3c/level1/html/HTMLElement91.js | 113 + .../test/w3c/level1/html/HTMLElement92.js | 113 + .../test/w3c/level1/html/HTMLElement93.js | 113 + .../test/w3c/level1/html/HTMLElement94.js | 113 + .../test/w3c/level1/html/HTMLElement95.js | 113 + .../test/w3c/level1/html/HTMLElement96.js | 113 + .../test/w3c/level1/html/HTMLElement97.js | 113 + .../test/w3c/level1/html/HTMLElement98.js | 113 + .../test/w3c/level1/html/HTMLElement99.js | 113 + .../w3c/level1/html/HTMLFieldSetElement01.js | 116 + .../w3c/level1/html/HTMLFieldSetElement02.js | 114 + .../test/w3c/level1/html/HTMLFormElement03.js | 113 + .../test/w3c/level1/html/HTMLFormElement04.js | 114 + .../test/w3c/level1/html/HTMLFormElement05.js | 113 + .../test/w3c/level1/html/HTMLFormElement06.js | 113 + .../test/w3c/level1/html/HTMLFormElement07.js | 113 + .../test/w3c/level1/html/HTMLFormElement08.js | 113 + .../w3c/level1/html/HTMLIFrameElement03.js | 114 + .../w3c/level1/html/HTMLIFrameElement07.js | 115 + .../w3c/level1/html/HTMLIFrameElement09.js | 114 + .../w3c/level1/html/HTMLIFrameElement10.js | 114 + .../w3c/level1/html/HTMLImageElement05.js | 125 + .../w3c/level1/html/HTMLImageElement06.js | 128 + .../w3c/level1/html/HTMLImageElement07.js | 113 + .../w3c/level1/html/HTMLImageElement09.js | 113 + .../w3c/level1/html/HTMLImageElement11.js | 128 + .../w3c/level1/html/HTMLImageElement12.js | 127 + .../w3c/level1/html/HTMLInputElement01.js | 115 + .../w3c/level1/html/HTMLInputElement02.js | 115 + .../w3c/level1/html/HTMLInputElement03.js | 116 + .../w3c/level1/html/HTMLInputElement04.js | 115 + .../w3c/level1/html/HTMLInputElement05.js | 115 + .../w3c/level1/html/HTMLInputElement07.js | 115 + .../w3c/level1/html/HTMLInputElement08.js | 115 + .../w3c/level1/html/HTMLInputElement09.js | 114 + .../w3c/level1/html/HTMLInputElement10.js | 115 + .../w3c/level1/html/HTMLInputElement11.js | 115 + .../w3c/level1/html/HTMLInputElement12.js | 115 + .../w3c/level1/html/HTMLInputElement13.js | 130 + .../w3c/level1/html/HTMLInputElement14.js | 115 + .../w3c/level1/html/HTMLInputElement15.js | 115 + .../w3c/level1/html/HTMLInputElement16.js | 114 + .../w3c/level1/html/HTMLInputElement18.js | 115 + .../w3c/level1/html/HTMLInputElement21.js | 114 + .../test/w3c/level1/html/HTMLLIElement02.js | 113 + .../w3c/level1/html/HTMLLabelElement01.js | 116 + .../w3c/level1/html/HTMLLabelElement02.js | 114 + .../w3c/level1/html/HTMLLabelElement03.js | 114 + .../w3c/level1/html/HTMLLabelElement04.js | 115 + .../test/w3c/level1/html/HTMLLinkElement01.js | 113 + .../test/w3c/level1/html/HTMLLinkElement03.js | 113 + .../test/w3c/level1/html/HTMLLinkElement04.js | 113 + .../test/w3c/level1/html/HTMLLinkElement05.js | 113 + .../test/w3c/level1/html/HTMLLinkElement06.js | 113 + .../test/w3c/level1/html/HTMLLinkElement08.js | 113 + .../test/w3c/level1/html/HTMLMapElement02.js | 113 + .../test/w3c/level1/html/HTMLMetaElement01.js | 113 + .../test/w3c/level1/html/HTMLMetaElement02.js | 113 + .../test/w3c/level1/html/HTMLMetaElement03.js | 113 + .../test/w3c/level1/html/HTMLMetaElement04.js | 113 + .../test/w3c/level1/html/HTMLModElement01.js | 114 + .../test/w3c/level1/html/HTMLModElement02.js | 113 + .../test/w3c/level1/html/HTMLModElement03.js | 114 + .../test/w3c/level1/html/HTMLModElement04.js | 113 + .../w3c/level1/html/HTMLOListElement02.js | 113 + .../w3c/level1/html/HTMLOListElement03.js | 113 + .../w3c/level1/html/HTMLObjectElement01.js | 116 + .../w3c/level1/html/HTMLObjectElement08.js | 114 + .../w3c/level1/html/HTMLObjectElement10.js | 115 + .../w3c/level1/html/HTMLObjectElement11.js | 129 + .../w3c/level1/html/HTMLObjectElement13.js | 115 + .../w3c/level1/html/HTMLObjectElement14.js | 115 + .../w3c/level1/html/HTMLObjectElement15.js | 114 + .../w3c/level1/html/HTMLObjectElement16.js | 129 + .../w3c/level1/html/HTMLObjectElement17.js | 114 + .../w3c/level1/html/HTMLObjectElement18.js | 115 + .../w3c/level1/html/HTMLObjectElement19.js | 114 + .../w3c/level1/html/HTMLOptGroupElement01.js | 114 + .../w3c/level1/html/HTMLOptGroupElement02.js | 113 + .../w3c/level1/html/HTMLOptionElement01.js | 117 + .../w3c/level1/html/HTMLOptionElement02.js | 115 + .../w3c/level1/html/HTMLOptionElement03.js | 115 + .../w3c/level1/html/HTMLOptionElement06.js | 115 + .../w3c/level1/html/HTMLOptionElement07.js | 115 + .../w3c/level1/html/HTMLOptionElement08.js | 115 + .../w3c/level1/html/HTMLParamElement02.js | 113 + .../w3c/level1/html/HTMLQuoteElement01.js | 114 + .../w3c/level1/html/HTMLQuoteElement02.js | 115 + .../w3c/level1/html/HTMLScriptElement01.js | 113 + .../w3c/level1/html/HTMLScriptElement02.js | 114 + .../w3c/level1/html/HTMLScriptElement03.js | 114 + .../w3c/level1/html/HTMLScriptElement04.js | 113 + .../w3c/level1/html/HTMLScriptElement05.js | 113 + .../w3c/level1/html/HTMLScriptElement06.js | 109 + .../w3c/level1/html/HTMLScriptElement07.js | 109 + .../w3c/level1/html/HTMLSelectElement03.js | 118 + .../w3c/level1/html/HTMLSelectElement06.js | 117 + .../w3c/level1/html/HTMLSelectElement07.js | 115 + .../w3c/level1/html/HTMLSelectElement08.js | 134 + .../w3c/level1/html/HTMLSelectElement09.js | 115 + .../w3c/level1/html/HTMLSelectElement10.js | 115 + .../w3c/level1/html/HTMLSelectElement11.js | 115 + .../w3c/level1/html/HTMLSelectElement12.js | 114 + .../w3c/level1/html/HTMLSelectElement13.js | 115 + .../w3c/level1/html/HTMLStyleElement01.js | 113 + .../w3c/level1/html/HTMLStyleElement02.js | 113 + .../w3c/level1/html/HTMLStyleElement03.js | 113 + .../w3c/level1/html/HTMLTableCellElement15.js | 115 + .../w3c/level1/html/HTMLTableCellElement16.js | 115 + .../w3c/level1/html/HTMLTableCellElement23.js | 115 + .../w3c/level1/html/HTMLTableCellElement24.js | 115 + .../w3c/level1/html/HTMLTableCellElement25.js | 114 + .../w3c/level1/html/HTMLTableColElement07.js | 115 + .../w3c/level1/html/HTMLTableColElement08.js | 115 + .../w3c/level1/html/HTMLTableElement02.js | 115 + .../w3c/level1/html/HTMLTableElement04.js | 115 + .../w3c/level1/html/HTMLTableElement06.js | 115 + .../w3c/level1/html/HTMLTableElement07.js | 132 + .../w3c/level1/html/HTMLTableElement12.js | 114 + .../w3c/level1/html/HTMLTableRowElement05.js | 117 + .../level1/html/HTMLTableSectionElement13.js | 117 + .../level1/html/HTMLTableSectionElement14.js | 117 + .../level1/html/HTMLTableSectionElement15.js | 117 + .../w3c/level1/html/HTMLTextAreaElement02.js | 117 + .../w3c/level1/html/HTMLTextAreaElement03.js | 115 + .../w3c/level1/html/HTMLTextAreaElement04.js | 115 + .../w3c/level1/html/HTMLTextAreaElement05.js | 114 + .../w3c/level1/html/HTMLTextAreaElement06.js | 115 + .../w3c/level1/html/HTMLTextAreaElement07.js | 115 + .../w3c/level1/html/HTMLTextAreaElement08.js | 114 + .../w3c/level1/html/HTMLTextAreaElement09.js | 114 + .../w3c/level1/html/HTMLTextAreaElement10.js | 115 + .../w3c/level1/html/HTMLTitleElement01.js | 113 + .../domino/test/w3c/level1/html/anchor01.js | 112 + .../domino/test/w3c/level1/html/anchor04.js | 112 + .../domino/test/w3c/level1/html/anchor05.js | 112 + .../domino/test/w3c/level1/html/area01.js | 111 + .../domino/test/w3c/level1/html/area02.js | 111 + .../domino/test/w3c/level1/html/area03.js | 111 + .../domino/test/w3c/level1/html/area04.js | 111 + .../domino/test/w3c/level1/html/button01.js | 111 + .../domino/test/w3c/level1/html/button02.js | 115 + .../domino/test/w3c/level1/html/button03.js | 115 + .../domino/test/w3c/level1/html/button04.js | 115 + .../domino/test/w3c/level1/html/button05.js | 112 + .../domino/test/w3c/level1/html/button06.js | 112 + .../domino/test/w3c/level1/html/button07.js | 112 + .../domino/test/w3c/level1/html/button08.js | 112 + .../domino/test/w3c/level1/html/button09.js | 112 + .../domino/test/w3c/level1/html/doc01.js | 106 + .../test/w3c/level1/html/files/.cvsignore | 6 + .../w3c/level1/html/files/HTMLDocument04.html | 36 + .../test/w3c/level1/html/files/anchor.html | 12 + .../test/w3c/level1/html/files/anchor2.html | 13 + .../test/w3c/level1/html/files/applet.html | 12 + .../test/w3c/level1/html/files/applet2.html | 12 + .../test/w3c/level1/html/files/area.html | 14 + .../test/w3c/level1/html/files/area2.html | 15 + .../test/w3c/level1/html/files/base.html | 11 + .../test/w3c/level1/html/files/base2.html | 15 + .../test/w3c/level1/html/files/basefont.html | 12 + .../test/w3c/level1/html/files/body.html | 10 + .../domino/test/w3c/level1/html/files/br.html | 12 + .../test/w3c/level1/html/files/button.html | 21 + .../w3c/level1/html/files/collection.html | 79 + .../test/w3c/level1/html/files/directory.html | 14 + .../test/w3c/level1/html/files/div.html | 10 + .../domino/test/w3c/level1/html/files/dl.html | 15 + .../test/w3c/level1/html/files/document.html | 36 + .../test/w3c/level1/html/files/element.html | 81 + .../test/w3c/level1/html/files/fieldset.html | 23 + .../test/w3c/level1/html/files/font.html | 10 + .../test/w3c/level1/html/files/form.html | 17 + .../test/w3c/level1/html/files/form2.html | 17 + .../test/w3c/level1/html/files/form3.html | 17 + .../test/w3c/level1/html/files/frame.html | 14 + .../test/w3c/level1/html/files/frameset.html | 14 + .../test/w3c/level1/html/files/head.html | 11 + .../test/w3c/level1/html/files/heading.html | 16 + .../domino/test/w3c/level1/html/files/hr.html | 11 + .../test/w3c/level1/html/files/html.html | 12 + .../test/w3c/level1/html/files/iframe.html | 10 + .../test/w3c/level1/html/files/img.html | 13 + .../test/w3c/level1/html/files/input.html | 60 + .../test/w3c/level1/html/files/isindex.html | 14 + .../test/w3c/level1/html/files/label.html | 21 + .../test/w3c/level1/html/files/legend.html | 22 + .../domino/test/w3c/level1/html/files/li.html | 23 + .../test/w3c/level1/html/files/link.html | 15 + .../test/w3c/level1/html/files/link2.html | 15 + .../test/w3c/level1/html/files/map.html | 16 + .../test/w3c/level1/html/files/menu.html | 15 + .../test/w3c/level1/html/files/meta.html | 13 + .../test/w3c/level1/html/files/mod.html | 15 + .../test/w3c/level1/html/files/object.html | 18 + .../test/w3c/level1/html/files/object2.html | 17 + .../test/w3c/level1/html/files/olist.html | 32 + .../test/w3c/level1/html/files/optgroup.html | 25 + .../test/w3c/level1/html/files/option.html | 36 + .../test/w3c/level1/html/files/paragraph.html | 13 + .../test/w3c/level1/html/files/param.html | 14 + .../test/w3c/level1/html/files/pre.html | 17 + .../test/w3c/level1/html/files/quote.html | 16 + .../test/w3c/level1/html/files/script.html | 11 + .../test/w3c/level1/html/files/select.html | 44 + .../test/w3c/level1/html/files/style.html | 12 + .../test/w3c/level1/html/files/table.html | 78 + .../test/w3c/level1/html/files/table1.html | 12 + .../w3c/level1/html/files/tablecaption.html | 25 + .../test/w3c/level1/html/files/tablecell.html | 23 + .../test/w3c/level1/html/files/tablecol.html | 35 + .../test/w3c/level1/html/files/tablerow.html | 59 + .../w3c/level1/html/files/tablesection.html | 62 + .../test/w3c/level1/html/files/textarea.html | 26 + .../test/w3c/level1/html/files/title.html | 13 + .../test/w3c/level1/html/files/ulist.html | 36 + .../test/w3c/level1/html/hasFeature01.js | 96 + .../w3c/level1/html/nyi/HTMLDocument02.js | 111 + .../w3c/level1/html/nyi/HTMLDocument03.js | 111 + .../w3c/level1/html/nyi/HTMLDocument04.js | 110 + .../w3c/level1/html/nyi/HTMLDocument07.js | 113 + .../w3c/level1/html/nyi/HTMLDocument09.js | 114 + .../w3c/level1/html/nyi/HTMLDocument10.js | 113 + .../w3c/level1/html/nyi/HTMLDocument12.js | 109 + .../w3c/level1/html/nyi/HTMLFormElement01.js | 117 + .../w3c/level1/html/nyi/HTMLFormElement09.js | 107 + .../w3c/level1/html/nyi/HTMLFormElement10.js | 107 + .../w3c/level1/html/nyi/HTMLInputElement19.js | 107 + .../w3c/level1/html/nyi/HTMLInputElement20.js | 107 + .../w3c/level1/html/nyi/HTMLInputElement22.js | 108 + .../level1/html/nyi/HTMLSelectElement01.js | 115 + .../level1/html/nyi/HTMLSelectElement02.js | 115 + .../level1/html/nyi/HTMLSelectElement04.js | 114 + .../level1/html/nyi/HTMLSelectElement05.js | 114 + .../level1/html/nyi/HTMLSelectElement14.js | 107 + .../level1/html/nyi/HTMLSelectElement15.js | 107 + .../level1/html/nyi/HTMLSelectElement16.js | 115 + .../level1/html/nyi/HTMLSelectElement17.js | 115 + .../level1/html/nyi/HTMLSelectElement18.js | 133 + .../level1/html/nyi/HTMLSelectElement19.js | 137 + .../w3c/level1/html/nyi/HTMLTableElement08.js | 129 + .../w3c/level1/html/nyi/HTMLTableElement09.js | 132 + .../w3c/level1/html/nyi/HTMLTableElement19.js | 123 + .../w3c/level1/html/nyi/HTMLTableElement20.js | 122 + .../w3c/level1/html/nyi/HTMLTableElement21.js | 139 + .../w3c/level1/html/nyi/HTMLTableElement22.js | 123 + .../w3c/level1/html/nyi/HTMLTableElement23.js | 122 + .../w3c/level1/html/nyi/HTMLTableElement24.js | 139 + .../w3c/level1/html/nyi/HTMLTableElement25.js | 121 + .../w3c/level1/html/nyi/HTMLTableElement26.js | 125 + .../w3c/level1/html/nyi/HTMLTableElement27.js | 119 + .../w3c/level1/html/nyi/HTMLTableElement28.js | 133 + .../w3c/level1/html/nyi/HTMLTableElement29.js | 137 + .../w3c/level1/html/nyi/HTMLTableElement30.js | 144 + .../w3c/level1/html/nyi/HTMLTableElement31.js | 138 + .../w3c/level1/html/nyi/HTMLTableElement32.js | 125 + .../w3c/level1/html/nyi/HTMLTableElement33.js | 124 + .../level1/html/nyi/HTMLTableRowElement01.js | 117 + .../level1/html/nyi/HTMLTextAreaElement13.js | 107 + .../level1/html/nyi/HTMLTextAreaElement14.js | 107 + .../level1/html/nyi/HTMLTextAreaElement15.js | 107 + .../domino/test/w3c/level1/html/object01.js | 112 + .../domino/test/w3c/level1/html/object06.js | 112 + .../domino/test/w3c/level1/html/object07.js | 111 + .../domino/test/w3c/level1/html/object08.js | 126 + .../domino/test/w3c/level1/html/object10.js | 112 + .../domino/test/w3c/level1/html/object11.js | 112 + .../domino/test/w3c/level1/html/object12.js | 111 + .../domino/test/w3c/level1/html/object13.js | 126 + .../domino/test/w3c/level1/html/object14.js | 111 + .../html/obsolete/HTMLAnchorElement02.js | 114 + .../html/obsolete/HTMLAnchorElement03.js | 114 + .../html/obsolete/HTMLAnchorElement06.js | 113 + .../html/obsolete/HTMLAnchorElement08.js | 113 + .../html/obsolete/HTMLAnchorElement09.js | 113 + .../html/obsolete/HTMLAppletElement01.js | 114 + .../html/obsolete/HTMLAppletElement02.js | 114 + .../html/obsolete/HTMLAppletElement03.js | 113 + .../html/obsolete/HTMLAppletElement04.js | 113 + .../html/obsolete/HTMLAppletElement05.js | 113 + .../html/obsolete/HTMLAppletElement06.js | 113 + .../html/obsolete/HTMLAppletElement07.js | 126 + .../html/obsolete/HTMLAppletElement08.js | 113 + .../html/obsolete/HTMLAppletElement09.js | 127 + .../html/obsolete/HTMLAppletElement10.js | 113 + .../html/obsolete/HTMLAppletElement11.js | 114 + .../level1/html/obsolete/HTMLBRElement01.js | 113 + .../html/obsolete/HTMLBaseFontElement01.js | 113 + .../html/obsolete/HTMLBaseFontElement02.js | 113 + .../html/obsolete/HTMLBaseFontElement03.js | 125 + .../level1/html/obsolete/HTMLBodyElement01.js | 113 + .../level1/html/obsolete/HTMLBodyElement02.js | 114 + .../level1/html/obsolete/HTMLBodyElement03.js | 113 + .../level1/html/obsolete/HTMLBodyElement04.js | 114 + .../level1/html/obsolete/HTMLBodyElement05.js | 113 + .../level1/html/obsolete/HTMLBodyElement06.js | 114 + .../level1/html/obsolete/HTMLCollection01.js | 121 + .../level1/html/obsolete/HTMLCollection02.js | 121 + .../level1/html/obsolete/HTMLCollection03.js | 121 + .../level1/html/obsolete/HTMLCollection04.js | 133 + .../level1/html/obsolete/HTMLCollection05.js | 118 + .../level1/html/obsolete/HTMLCollection06.js | 122 + .../level1/html/obsolete/HTMLCollection07.js | 121 + .../level1/html/obsolete/HTMLCollection08.js | 121 + .../level1/html/obsolete/HTMLCollection09.js | 118 + .../level1/html/obsolete/HTMLCollection10.js | 123 + .../level1/html/obsolete/HTMLCollection11.js | 123 + .../level1/html/obsolete/HTMLCollection12.js | 121 + .../html/obsolete/HTMLDirectoryElement01.js | 114 + .../level1/html/obsolete/HTMLDivElement01.js | 113 + .../html/obsolete/HTMLDlistElement01.js | 114 + .../level1/html/obsolete/HTMLDocument08.js | 114 + .../level1/html/obsolete/HTMLDocument11.js | 114 + .../level1/html/obsolete/HTMLDocument13.js | 109 + .../level1/html/obsolete/HTMLDocument14.js | 110 + .../level1/html/obsolete/HTMLFontElement01.js | 113 + .../level1/html/obsolete/HTMLFontElement02.js | 114 + .../level1/html/obsolete/HTMLFontElement03.js | 113 + .../level1/html/obsolete/HTMLFormElement02.js | 115 + .../html/obsolete/HTMLFrameElement01.js | 116 + .../html/obsolete/HTMLFrameElement02.js | 115 + .../html/obsolete/HTMLFrameElement03.js | 114 + .../html/obsolete/HTMLFrameElement04.js | 114 + .../html/obsolete/HTMLFrameElement05.js | 115 + .../html/obsolete/HTMLFrameElement06.js | 115 + .../html/obsolete/HTMLFrameElement07.js | 115 + .../html/obsolete/HTMLFrameElement08.js | 114 + .../html/obsolete/HTMLFrameSetElement01.js | 115 + .../html/obsolete/HTMLFrameSetElement02.js | 115 + .../level1/html/obsolete/HTMLHRElement01.js | 113 + .../level1/html/obsolete/HTMLHRElement02.js | 114 + .../level1/html/obsolete/HTMLHRElement03.js | 113 + .../level1/html/obsolete/HTMLHRElement04.js | 113 + .../level1/html/obsolete/HTMLHeadElement01.js | 113 + .../html/obsolete/HTMLHeadingElement01.js | 113 + .../html/obsolete/HTMLHeadingElement02.js | 113 + .../html/obsolete/HTMLHeadingElement03.js | 113 + .../html/obsolete/HTMLHeadingElement04.js | 113 + .../html/obsolete/HTMLHeadingElement05.js | 113 + .../html/obsolete/HTMLHeadingElement06.js | 113 + .../level1/html/obsolete/HTMLHtmlElement01.js | 124 + .../html/obsolete/HTMLIFrameElement01.js | 115 + .../html/obsolete/HTMLIFrameElement02.js | 116 + .../html/obsolete/HTMLIFrameElement04.js | 115 + .../html/obsolete/HTMLIFrameElement05.js | 114 + .../html/obsolete/HTMLIFrameElement06.js | 114 + .../html/obsolete/HTMLIFrameElement08.js | 115 + .../html/obsolete/HTMLImageElement01.js | 113 + .../html/obsolete/HTMLImageElement02.js | 114 + .../html/obsolete/HTMLImageElement03.js | 114 + .../html/obsolete/HTMLImageElement04.js | 113 + .../html/obsolete/HTMLImageElement08.js | 114 + .../html/obsolete/HTMLImageElement10.js | 113 + .../html/obsolete/HTMLImageElement14.js | 115 + .../html/obsolete/HTMLInputElement06.js | 115 + .../html/obsolete/HTMLInputElement17.js | 114 + .../html/obsolete/HTMLIsIndexElement01.js | 122 + .../html/obsolete/HTMLIsIndexElement02.js | 119 + .../html/obsolete/HTMLIsIndexElement03.js | 114 + .../level1/html/obsolete/HTMLLIElement01.js | 113 + .../html/obsolete/HTMLLegendElement01.js | 117 + .../html/obsolete/HTMLLegendElement02.js | 114 + .../html/obsolete/HTMLLegendElement03.js | 114 + .../html/obsolete/HTMLLegendElement04.js | 113 + .../level1/html/obsolete/HTMLLinkElement02.js | 114 + .../level1/html/obsolete/HTMLLinkElement07.js | 113 + .../level1/html/obsolete/HTMLLinkElement09.js | 113 + .../level1/html/obsolete/HTMLMapElement01.js | 116 + .../level1/html/obsolete/HTMLMenuElement01.js | 114 + .../html/obsolete/HTMLOListElement01.js | 114 + .../html/obsolete/HTMLObjectElement02.js | 114 + .../html/obsolete/HTMLObjectElement03.js | 115 + .../html/obsolete/HTMLObjectElement04.js | 114 + .../html/obsolete/HTMLObjectElement05.js | 114 + .../html/obsolete/HTMLObjectElement06.js | 115 + .../html/obsolete/HTMLObjectElement07.js | 115 + .../html/obsolete/HTMLObjectElement09.js | 115 + .../html/obsolete/HTMLObjectElement12.js | 115 + .../html/obsolete/HTMLOptionElement04.js | 114 + .../html/obsolete/HTMLOptionElement05.js | 115 + .../html/obsolete/HTMLOptionElement09.js | 114 + .../html/obsolete/HTMLParagraphElement01.js | 113 + .../html/obsolete/HTMLParamElement01.js | 113 + .../html/obsolete/HTMLParamElement03.js | 114 + .../html/obsolete/HTMLParamElement04.js | 114 + .../level1/html/obsolete/HTMLPreElement01.js | 113 + .../obsolete/HTMLTableCaptionElement01.js | 114 + .../html/obsolete/HTMLTableCellElement01.js | 114 + .../html/obsolete/HTMLTableCellElement02.js | 114 + .../html/obsolete/HTMLTableCellElement03.js | 114 + .../html/obsolete/HTMLTableCellElement04.js | 114 + .../html/obsolete/HTMLTableCellElement05.js | 115 + .../html/obsolete/HTMLTableCellElement06.js | 115 + .../html/obsolete/HTMLTableCellElement07.js | 115 + .../html/obsolete/HTMLTableCellElement08.js | 115 + .../html/obsolete/HTMLTableCellElement09.js | 115 + .../html/obsolete/HTMLTableCellElement10.js | 115 + .../html/obsolete/HTMLTableCellElement11.js | 115 + .../html/obsolete/HTMLTableCellElement12.js | 115 + .../html/obsolete/HTMLTableCellElement13.js | 115 + .../html/obsolete/HTMLTableCellElement14.js | 115 + .../html/obsolete/HTMLTableCellElement17.js | 115 + .../html/obsolete/HTMLTableCellElement18.js | 115 + .../html/obsolete/HTMLTableCellElement19.js | 114 + .../html/obsolete/HTMLTableCellElement20.js | 114 + .../html/obsolete/HTMLTableCellElement21.js | 114 + .../html/obsolete/HTMLTableCellElement22.js | 114 + .../html/obsolete/HTMLTableCellElement26.js | 114 + .../html/obsolete/HTMLTableCellElement27.js | 114 + .../html/obsolete/HTMLTableCellElement28.js | 114 + .../html/obsolete/HTMLTableCellElement29.js | 114 + .../html/obsolete/HTMLTableCellElement30.js | 114 + .../html/obsolete/HTMLTableColElement01.js | 115 + .../html/obsolete/HTMLTableColElement02.js | 115 + .../html/obsolete/HTMLTableColElement03.js | 115 + .../html/obsolete/HTMLTableColElement04.js | 115 + .../html/obsolete/HTMLTableColElement05.js | 114 + .../html/obsolete/HTMLTableColElement06.js | 114 + .../html/obsolete/HTMLTableColElement09.js | 115 + .../html/obsolete/HTMLTableColElement10.js | 115 + .../html/obsolete/HTMLTableColElement11.js | 114 + .../html/obsolete/HTMLTableColElement12.js | 114 + .../html/obsolete/HTMLTableElement01.js | 117 + .../html/obsolete/HTMLTableElement03.js | 117 + .../html/obsolete/HTMLTableElement05.js | 117 + .../html/obsolete/HTMLTableElement10.js | 115 + .../html/obsolete/HTMLTableElement11.js | 114 + .../html/obsolete/HTMLTableElement13.js | 115 + .../html/obsolete/HTMLTableElement14.js | 115 + .../html/obsolete/HTMLTableElement15.js | 114 + .../html/obsolete/HTMLTableElement16.js | 114 + .../html/obsolete/HTMLTableElement17.js | 115 + .../html/obsolete/HTMLTableElement18.js | 114 + .../html/obsolete/HTMLTableRowElement02.js | 115 + .../html/obsolete/HTMLTableRowElement03.js | 115 + .../html/obsolete/HTMLTableRowElement04.js | 115 + .../html/obsolete/HTMLTableRowElement06.js | 115 + .../html/obsolete/HTMLTableRowElement07.js | 114 + .../html/obsolete/HTMLTableRowElement08.js | 114 + .../html/obsolete/HTMLTableRowElement09.js | 114 + .../html/obsolete/HTMLTableRowElement10.js | 115 + .../html/obsolete/HTMLTableRowElement11.js | 144 + .../html/obsolete/HTMLTableRowElement12.js | 143 + .../html/obsolete/HTMLTableRowElement13.js | 144 + .../html/obsolete/HTMLTableRowElement14.js | 144 + .../obsolete/HTMLTableSectionElement01.js | 115 + .../obsolete/HTMLTableSectionElement02.js | 115 + .../obsolete/HTMLTableSectionElement03.js | 115 + .../obsolete/HTMLTableSectionElement04.js | 115 + .../obsolete/HTMLTableSectionElement05.js | 115 + .../obsolete/HTMLTableSectionElement06.js | 115 + .../obsolete/HTMLTableSectionElement07.js | 114 + .../obsolete/HTMLTableSectionElement08.js | 114 + .../obsolete/HTMLTableSectionElement09.js | 114 + .../obsolete/HTMLTableSectionElement10.js | 115 + .../obsolete/HTMLTableSectionElement11.js | 115 + .../obsolete/HTMLTableSectionElement12.js | 115 + .../obsolete/HTMLTableSectionElement16.js | 126 + .../obsolete/HTMLTableSectionElement17.js | 126 + .../obsolete/HTMLTableSectionElement18.js | 126 + .../obsolete/HTMLTableSectionElement19.js | 127 + .../obsolete/HTMLTableSectionElement20.js | 127 + .../obsolete/HTMLTableSectionElement21.js | 128 + .../obsolete/HTMLTableSectionElement22.js | 125 + .../obsolete/HTMLTableSectionElement23.js | 125 + .../obsolete/HTMLTableSectionElement24.js | 125 + .../html/obsolete/HTMLTextAreaElement01.js | 115 + .../html/obsolete/HTMLTextAreaElement11.js | 115 + .../html/obsolete/HTMLTextAreaElement12.js | 115 + .../html/obsolete/HTMLUListElement01.js | 114 + .../html/obsolete/HTMLUListElement02.js | 113 + .../test/w3c/level1/html/obsolete/anchor02.js | 112 + .../test/w3c/level1/html/obsolete/anchor03.js | 112 + .../test/w3c/level1/html/obsolete/anchor06.js | 112 + .../w3c/level1/html/obsolete/basefont01.js | 111 + .../test/w3c/level1/html/obsolete/body01.js | 112 + .../test/w3c/level1/html/obsolete/dlist01.js | 111 + .../test/w3c/level1/html/obsolete/object02.js | 112 + .../test/w3c/level1/html/obsolete/object03.js | 112 + .../test/w3c/level1/html/obsolete/object04.js | 112 + .../test/w3c/level1/html/obsolete/object05.js | 112 + .../test/w3c/level1/html/obsolete/object09.js | 112 + .../test/w3c/level1/html/obsolete/object15.js | 112 + .../test/w3c/level1/html/obsolete/table02.js | 115 + .../test/w3c/level1/html/obsolete/table03.js | 115 + .../test/w3c/level1/html/obsolete/table04.js | 115 + .../test/w3c/level1/html/obsolete/table06.js | 115 + .../test/w3c/level1/html/obsolete/table07.js | 118 + .../test/w3c/level1/html/obsolete/table08.js | 115 + .../test/w3c/level1/html/obsolete/table09.js | 115 + .../test/w3c/level1/html/obsolete/table10.js | 115 + .../test/w3c/level1/html/obsolete/table12.js | 115 + .../test/w3c/level1/html/obsolete/table15.js | 118 + .../test/w3c/level1/html/obsolete/table17.js | 115 + .../test/w3c/level1/html/obsolete/table18.js | 112 + .../test/w3c/level1/html/obsolete/table19.js | 113 + .../test/w3c/level1/html/obsolete/table20.js | 112 + .../test/w3c/level1/html/obsolete/table21.js | 112 + .../test/w3c/level1/html/obsolete/table22.js | 112 + .../test/w3c/level1/html/obsolete/table23.js | 112 + .../test/w3c/level1/html/obsolete/table24.js | 112 + .../test/w3c/level1/html/obsolete/table26.js | 111 + .../test/w3c/level1/html/obsolete/table27.js | 112 + .../test/w3c/level1/html/obsolete/table29.js | 112 + .../test/w3c/level1/html/obsolete/table30.js | 112 + .../test/w3c/level1/html/obsolete/table31.js | 112 + .../test/w3c/level1/html/obsolete/table32.js | 112 + .../test/w3c/level1/html/obsolete/table33.js | 112 + .../test/w3c/level1/html/obsolete/table35.js | 112 + .../test/w3c/level1/html/obsolete/table36.js | 112 + .../test/w3c/level1/html/obsolete/table37.js | 111 + .../test/w3c/level1/html/obsolete/table38.js | 112 + .../test/w3c/level1/html/obsolete/table39.js | 112 + .../test/w3c/level1/html/obsolete/table40.js | 112 + .../test/w3c/level1/html/obsolete/table41.js | 112 + .../test/w3c/level1/html/obsolete/table42.js | 112 + .../test/w3c/level1/html/obsolete/table43.js | 112 + .../test/w3c/level1/html/obsolete/table44.js | 112 + .../test/w3c/level1/html/obsolete/table45.js | 112 + .../test/w3c/level1/html/obsolete/table46.js | 112 + .../test/w3c/level1/html/obsolete/table47.js | 112 + .../test/w3c/level1/html/obsolete/table48.js | 112 + .../test/w3c/level1/html/obsolete/table49.js | 112 + .../test/w3c/level1/html/obsolete/table50.js | 112 + .../test/w3c/level1/html/obsolete/table52.js | 112 + .../test/w3c/level1/html/obsolete/table53.js | 112 + .../domino/test/w3c/level1/html/table01.js | 112 + .../domino/test/w3c/level1/html/table25.js | 112 + .../domino/test/w3c/level1/html/table28.js | 112 + .../domino/test/w3c/level1/html/table34.js | 112 + .../domino/test/w3c/level1/html/table51.js | 112 + .../knockoff/node_modules/tassembly/.jshintrc | 33 + .../node_modules/tassembly/.npmignore | 1 + .../tassembly/AttributeSanitizer.js | 210 + .../knockoff/node_modules/tassembly/README.md | 199 + .../tassembly/browser/tassembly.js | 16 + .../node_modules/tassembly/package.json | 20 + .../node_modules/tassembly/tassembly.js | 512 + .../knockoff/node_modules/tassembly/test1.js | 15 + .../node_modules/knockoff/package.json | 21 + .../node_modules/knockoff/test.js | 33 + .../node_modules/knockoff/test1.js | 12 + .../knockoff/test2-loop-lambda.js | 35 + .../node_modules/knockoff/test2.js | 31 + .../knockoff/testCaseGenerator.js | 172 + .../knockoff/testKnockoutExpressionParser.js | 4 + .../node_modules/knockoff/tests.json | 911 ++ .../node_modules/tassembly/.jshintrc | 33 + .../node_modules/tassembly/.npmignore | 1 + .../tassembly/AttributeSanitizer.js | 210 + .../node_modules/tassembly/README.md | 199 + .../tassembly/browser/tassembly.js | 16 + .../node_modules/tassembly/package.json | 16 + .../node_modules/tassembly/tassembly.js | 512 + .../node_modules/tassembly/test1.js | 15 + knockoff-node-precompiled/package.json | 7 + knockoff-node-precompiled/test1.js | 15 + knockoff-node-precompiled/test1b-incid.js | 17 + .../test2-loop-lambda.js | 38 + knockoff-node-precompiled/test2-loop.js | 41 + knockoff-node-precompiled/test3-itterator.js | 32 + runall.sh | 9 + 1333 files changed, 185942 insertions(+) create mode 120000 handlebars-node-precompiled/node_modules/.bin/handlebars create mode 100644 handlebars-node-precompiled/node_modules/handlebars/.npmignore create mode 100644 handlebars-node-precompiled/node_modules/handlebars/LICENSE create mode 100644 handlebars-node-precompiled/node_modules/handlebars/README.markdown create mode 100755 handlebars-node-precompiled/node_modules/handlebars/bin/handlebars create mode 100644 handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars.runtime.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars/base.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars/compiler/ast.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars/compiler/base.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars/compiler/compiler.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars/compiler/javascript-compiler.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars/compiler/parser.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars/compiler/printer.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars/compiler/visitor.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars/exception.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars/runtime.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars/safe-string.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars/utils.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars.runtime.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars/base.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars/compiler/ast.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars/compiler/base.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars/compiler/compiler.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars/compiler/javascript-compiler.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars/compiler/parser.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars/compiler/printer.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars/compiler/visitor.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars/exception.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars/runtime.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars/safe-string.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars/utils.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/dist/handlebars.amd.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/dist/handlebars.amd.min.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/dist/handlebars.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/dist/handlebars.min.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/dist/handlebars.runtime.amd.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/dist/handlebars.runtime.amd.min.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/dist/handlebars.runtime.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/dist/handlebars.runtime.min.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/lib/handlebars.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/lib/handlebars.runtime.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/lib/handlebars/base.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/lib/handlebars/compiler/ast.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/lib/handlebars/compiler/base.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/lib/handlebars/compiler/compiler.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/lib/handlebars/compiler/javascript-compiler.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/lib/handlebars/compiler/parser.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/lib/handlebars/compiler/printer.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/lib/handlebars/compiler/visitor.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/lib/handlebars/exception.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/lib/handlebars/runtime.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/lib/handlebars/safe-string.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/lib/handlebars/utils.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/lib/index.js create mode 120000 handlebars-node-precompiled/node_modules/handlebars/node_modules/.bin/uglifyjs create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/.travis.yml create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/LICENSE create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/bool.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/boolean_double.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/boolean_single.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/default_hash.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/default_singles.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/divide.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/line_count.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/line_count_options.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/line_count_wrap.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/nonopt.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/reflect.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/short.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/string.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/usage-options.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/xup.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/index.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/.npmignore create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/README.markdown create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/example/center.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/example/meat.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/index.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/package.json create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/test/break.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/test/idleness.txt create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/test/wrap.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/package.json create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/readme.markdown create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/test/_.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/test/_/argv.js create mode 100755 handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/test/_/bin.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/test/parse.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/test/usage.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/.npmignore create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/.travis.yml create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/LICENSE create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/README.md create mode 100755 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/bin/uglifyjs create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/lib/ast.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/lib/compress.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/lib/mozilla-ast.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/lib/output.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/lib/parse.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/lib/scope.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/lib/sourcemap.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/lib/transform.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/lib/utils.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/async/LICENSE create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/async/README.md create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/async/component.json create mode 100755 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/async/lib/async.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/async/package.json create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/.npmignore create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/.travis.yml create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/CHANGELOG.md create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/LICENSE create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/Makefile.dryice.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/README.md create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/assert-shim.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/mini-require.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/prefix-source-map.jsm create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/prefix-utils.jsm create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/suffix-browser.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/suffix-source-map.jsm create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/suffix-utils.jsm create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/test-prefix.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/test-suffix.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/array-set.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/base64-vlq.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/base64.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/binary-search.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-map-consumer.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-map-generator.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-node.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/util.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/LICENSE create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/README.md create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/amdefine.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/intercept.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/package.json create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/package.json create mode 100755 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/run-tests.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-api.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-array-set.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64-vlq.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-binary-search.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-dog-fooding.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-map-consumer.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-map-generator.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-node.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/util.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/package.json create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/arrays.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/blocks.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/conditionals.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/dead-code.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/debugger.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/drop-unused.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/issue-105.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/issue-12.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/issue-143.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/issue-22.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/issue-44.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/issue-59.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/labels.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/loops.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/properties.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/sequences.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/switch.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/typeof.js create mode 100755 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/run-tests.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/tools/node.js create mode 100644 handlebars-node-precompiled/node_modules/handlebars/package.json create mode 100644 handlebars-node-precompiled/node_modules/handlebars/release-notes.md create mode 100644 handlebars-node-precompiled/node_modules/handlebars/runtime.js create mode 100644 handlebars-node-precompiled/package.json create mode 100644 handlebars-node-precompiled/test1.js create mode 100644 handlebars-node-precompiled/test1b-incid.js create mode 100644 handlebars-node-precompiled/test2-loop-lambda.js create mode 100644 handlebars-node-precompiled/test2-loop.js create mode 100644 handlebars-node-precompiled/test3-itterator.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/.jshintrc create mode 100644 knockoff-node-precompiled/node_modules/knockoff/DOMCompiler.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/KnockoutCompiler.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/KnockoutExpression.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/KnockoutExpressionParser.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/KnockoutExpressionParser.pegjs create mode 100644 knockoff-node-precompiled/node_modules/knockoff/README.md create mode 100644 knockoff-node-precompiled/node_modules/knockoff/callgrind.out.12434 create mode 100644 knockoff-node-precompiled/node_modules/knockoff/callgrind.out.12451 create mode 100644 knockoff-node-precompiled/node_modules/knockoff/callgrind.out.12471 create mode 100644 knockoff-node-precompiled/node_modules/knockoff/callgrind.out.13901 create mode 100644 knockoff-node-precompiled/node_modules/knockoff/knockoff.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/makeKnockoutExpressionParser.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/.npmignore create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/.travis.yml create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/CHANGELOG.md create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/LICENSE create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/README.md create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/CSSStyleDeclaration.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/CharacterData.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/Comment.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/CustomEvent.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/DOMException.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/DOMImplementation.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/DOMTokenList.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/Document.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/DocumentFragment.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/DocumentType.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/Element.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/Event.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/EventTarget.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/FilteredElementList.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/HTMLParser.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/Leaf.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/Location.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/MouseEvent.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/MutationConstants.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/Node.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/NodeFilter.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/NodeList.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/ProcessingInstruction.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/Text.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/TreeWalker.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/UIEvent.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/URL.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/URLDecompositionAttributes.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/Window.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/attributes.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/cssparser.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/events.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/htmlelts.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/impl.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/index.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/select.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/utils.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/xmlnames.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/package.json create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/domino.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/fixture/doc.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/fixture/jquery-1.9.1.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/README.md create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/harness/index.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/harness/testharness.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/index.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-01.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-02.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-01.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-02.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/browsing-the-web/load-text-plain.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Document.getElementsByClassName-null-undef.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Element.getElementsByClassName-null-undef.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-foreign-frameset.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-frameset-and-body.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-setter-01.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.embeds-document.plugins-01.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByClassName-same.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.xhtml create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.xhtml create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.xhtml create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.xhtml create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.xhtml create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.xhtml create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-same.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-01.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-02.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-01.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-02.xhtml create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-03.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-04.xhtml create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-05.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-06.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-07.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/nameditem-01.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.close-01.xhtml create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-01.xhtml create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-02.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-01.xhtml create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-02.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-01.xhtml create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-02.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/elements-in-the-dom/unknown-element.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/events/event-handler-spec-example.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/general/interfaces.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/classlist-nonstring.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/dataset.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/document-dir.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/id-name.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01-ref.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy-ref.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01-ref.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-01.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-02.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-03.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-04.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-01.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-02.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-03.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-04.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-05.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/heading-obsolete-attributes-01.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/script-IDL-event-htmlfor.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/parsing/comment.dat create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-01.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-02.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-03.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-04.xhtml create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-05.xhtml create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-06.xhtml create mode 100755 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/200-textplain.cgi create mode 100755 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/404-textcss.cgi create mode 100755 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/support/text/200-textplain.cgi create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-rellist.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-style-error-01.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-style-element/style-error-01.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-01.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-02.xhtml create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-03.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-04.xhtml create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/embedded-content/the-video-element/video-tabindex.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-interfaces-01.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-matches.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-01.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-02.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-input-element/input-textselection-01.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/textarea-type.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1-ref.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1a.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1b.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-language-type.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-01.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-02.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-noembed-noframes-iframe.xhtml create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-01.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-02.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-getter-01.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-setter-01.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1-ref.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1a.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1b.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1c.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1d.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2-ref.svg create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2.svg create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/index.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/mocha.opts create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/README.md create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/harness/DomTestCase.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/harness/index.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/index.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/documentgetdoctypenodtd.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi1.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/files/.cvsignore create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/files/hc_nodtdstaff.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/files/hc_staff.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/files/staff.dtd create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddata.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddatagetdata.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatabegining.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataend.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataexceedslength.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatagetlengthanddata.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatamiddle.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatagetdata.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatagetlength.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetgreater.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetnegative.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetgreater.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetnegative.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedatacountnegative.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetgreater.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetnegative.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringcountnegative.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringnegativeoffset.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringoffsetgreater.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatabeginning.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdataend.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatamiddle.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatabegining.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataend.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofarg.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofdata.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatamiddle.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatasetnodevalue.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringexceedsvalue.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringvalue.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_commentgetcomment.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentcreatecomment.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentcreatedocumentfragment.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentcreateelement.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentcreateelementcasesensitive.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentcreatetextnode.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentgetdoctype.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamelength.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnametotallength.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamevalue.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentgetimplementation.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentgetrootnode.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement1.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenoversion.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenull.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturexml.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementaddnewattribute.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementchangeattributevalue.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagname.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnameaccessnodelist.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamenomatch.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamespecialvalue.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementgettagname.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception1.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementnormalize.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementremoveattribute.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementretrieveallattributes.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementretrieveattrvalue.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementretrievetagname.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_entitiesremovenameditem1.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_entitiessetnameditem1.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_namednodemapchildnoderange.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_namednodemapnumberofnodes.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeappendchild.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildchildexists.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeappendchilddocfragment.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildgetnodename.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnewchilddiffdocument.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnodeancestor.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeattributenodeattribute.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodechildnodes.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesappendchild.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesempty.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodecloneattributescopied.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeclonefalsenocopytext.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeclonegetparentnull.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodefalse.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodetrue.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeclonetruecopytext.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodeattributes.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodename.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodetype.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodevalue.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodename.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodetype.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodevalue.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodeattribute.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodename.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodetype.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodevalue.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodeattributes.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodename.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodetype.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodevalue.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchild.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchildnull.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchild.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchildnull.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsibling.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsiblingnull.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocument.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocumentnull.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussibling.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussiblingnull.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodes.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodesfalse.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbefore.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforedocfragment.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchilddiffdocument.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchildexists.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodeancestor.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodename.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnonexistent.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnull.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodelistindexequalzero.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlength.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlengthofemptylist.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodelistindexnotzero.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnfirstitem.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnlastitem.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodelisttraverselist.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeparentnode.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeparentnodenull.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_noderemovechild.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_noderemovechildgetnodename.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_noderemovechildnode.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_noderemovechildoldchildnonexistent.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodereplacechild.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchilddiffdocument.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchildexists.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodeancestor.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodename.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildoldchildnonexistent.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodetextnodeattribute.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodetextnodename.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodetextnodetype.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodetextnodevalue.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodevalue01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodevalue02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodevalue04.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodevalue05.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodevalue06.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodevalue07.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodevalue08.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_notationsremovenameditem1.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_notationssetnameditem1.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerrnegativeoffset.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerroffsetoutofbounds.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textparseintolistofelements.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textsplittextfour.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textsplittextone.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textsplittextthree.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textsplittexttwo.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textwithnomarkup.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref1.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild1.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild2.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild3.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild4.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild5.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild6.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes1.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes2.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrclonenode1.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatedocumentfragment.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode2.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attreffectivevalue.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrfirstchild.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue1.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue2.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrhaschildnodes.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore1.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore2.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore3.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore4.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore5.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore6.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore7.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrlastchild.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrname.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnextsiblingnull.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnormalize.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrparentnodenull.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrprevioussiblingnull.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild1.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild2.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild1.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild2.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue1.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue2.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvalue.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvaluechanged.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentcreateattribute.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute1.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementassociatedattribute.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementcreatenewattribute.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenode.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenodenull.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetelementempty.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementinuseattributeerr.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnormalize2.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnotfounderr.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributeaftercreate.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributenode.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceattributewithself.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattribute.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattributegevalue.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementsetattributenodenull.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementwrongdocumenterr.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapgetnameditem.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapinuseattributeerr.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapnotfounderr.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapremovenameditem.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnattrnode.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnfirstitem.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnlastitem.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnnull.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditem.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemreturnvalue.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemthatexists.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemwithnewvalue.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapwrongdocumenterr.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeappendchildinvalidnodetype.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodename.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodetype.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodevalue.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeinsertbeforeinvalidnodetype.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodereplacechildinvalidnodetype.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodevalue03.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement04.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement05.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement07.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement10.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement11.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement12.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement13.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement14.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement03.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement04.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement05.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement06.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement07.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement08.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement03.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement04.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement05.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement06.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement07.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement08.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument05.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument15.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument16.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument17.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument18.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument19.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument20.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument21.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement03.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement04.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement05.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement06.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement07.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement08.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement09.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement10.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement100.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement101.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement102.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement103.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement104.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement105.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement106.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement107.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement108.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement109.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement11.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement110.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement111.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement112.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement113.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement114.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement115.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement116.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement117.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement118.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement119.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement12.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement120.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement121.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement122.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement123.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement124.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement125.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement126.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement127.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement128.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement129.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement13.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement130.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement131.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement132.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement133.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement134.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement135.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement136.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement137.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement138.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement139.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement14.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement140.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement141.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement142.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement143.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement144.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement145.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement15.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement16.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement17.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement18.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement19.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement20.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement21.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement22.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement23.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement24.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement25.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement26.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement27.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement28.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement29.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement30.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement31.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement32.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement33.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement34.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement35.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement36.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement37.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement38.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement39.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement40.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement41.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement42.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement43.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement44.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement45.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement46.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement47.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement48.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement49.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement50.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement51.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement52.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement53.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement54.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement55.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement56.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement57.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement58.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement59.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement60.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement61.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement62.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement63.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement64.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement65.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement66.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement67.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement68.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement69.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement70.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement71.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement72.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement73.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement74.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement75.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement76.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement77.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement78.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement79.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement80.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement81.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement82.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement83.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement84.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement85.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement86.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement87.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement88.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement89.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement90.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement91.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement92.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement93.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement94.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement95.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement96.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement97.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement98.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement99.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFormElement03.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFormElement04.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFormElement05.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFormElement06.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFormElement07.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFormElement08.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement03.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement07.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement09.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement10.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLImageElement05.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLImageElement06.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLImageElement07.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLImageElement09.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLImageElement11.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLImageElement12.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement03.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement04.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement05.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement07.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement08.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement09.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement10.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement11.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement12.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement13.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement14.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement15.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement16.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement18.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement21.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLIElement02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLabelElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLabelElement02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLabelElement03.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLabelElement04.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLinkElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLinkElement03.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLinkElement04.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLinkElement05.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLinkElement06.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLinkElement08.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLMapElement02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLMetaElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLMetaElement02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLMetaElement03.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLMetaElement04.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLModElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLModElement02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLModElement03.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLModElement04.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOListElement02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOListElement03.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement08.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement10.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement11.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement13.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement14.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement15.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement16.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement17.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement18.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement19.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptionElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptionElement02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptionElement03.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptionElement06.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptionElement07.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptionElement08.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLParamElement02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLScriptElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLScriptElement02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLScriptElement03.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLScriptElement04.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLScriptElement05.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLScriptElement06.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLScriptElement07.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement03.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement06.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement07.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement08.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement09.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement10.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement11.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement12.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement13.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLStyleElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLStyleElement02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLStyleElement03.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement15.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement16.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement23.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement24.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement25.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableColElement07.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableColElement08.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableElement02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableElement04.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableElement06.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableElement07.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableElement12.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableRowElement05.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement13.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement14.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement15.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement03.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement04.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement05.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement06.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement07.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement08.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement09.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement10.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTitleElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/anchor01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/anchor04.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/anchor05.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/area01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/area02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/area03.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/area04.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button03.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button04.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button05.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button06.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button07.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button08.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button09.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/doc01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/.cvsignore create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/HTMLDocument04.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/anchor.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/anchor2.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/applet.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/applet2.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/area.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/area2.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/base.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/base2.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/basefont.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/body.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/br.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/button.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/collection.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/directory.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/div.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/dl.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/document.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/element.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/fieldset.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/font.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/form.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/form2.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/form3.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/frame.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/frameset.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/head.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/heading.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/hr.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/html.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/iframe.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/img.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/input.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/isindex.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/label.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/legend.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/li.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/link.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/link2.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/map.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/menu.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/meta.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/mod.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/object.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/object2.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/olist.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/optgroup.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/option.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/paragraph.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/param.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/pre.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/quote.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/script.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/select.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/style.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/table.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/table1.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/tablecaption.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/tablecell.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/tablecol.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/tablerow.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/tablesection.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/textarea.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/title.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/ulist.html create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/hasFeature01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument03.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument04.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument07.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument09.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument10.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument12.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement09.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement10.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement19.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement20.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement22.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement04.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement05.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement14.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement15.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement16.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement17.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement18.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement19.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement08.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement09.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement19.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement20.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement21.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement22.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement23.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement24.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement25.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement26.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement27.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement28.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement29.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement30.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement31.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement32.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement33.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableRowElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement13.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement14.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement15.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object06.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object07.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object08.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object10.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object11.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object12.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object13.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object14.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement03.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement06.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement08.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement09.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement03.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement04.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement05.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement06.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement07.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement08.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement09.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement10.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement11.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBRElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement03.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement03.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement04.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement05.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement06.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection03.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection04.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection05.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection06.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection07.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection08.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection09.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection10.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection11.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection12.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDirectoryElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDivElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDlistElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument08.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument11.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument13.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument14.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement03.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFormElement02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement03.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement04.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement05.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement06.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement07.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement08.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement03.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement04.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement03.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement04.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement05.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement06.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHtmlElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement04.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement05.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement06.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement08.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement03.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement04.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement08.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement10.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement14.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement06.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement17.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement03.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLIElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement03.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement04.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement07.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement09.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMapElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMenuElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOListElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement03.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement04.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement05.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement06.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement07.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement09.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement12.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement04.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement05.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement09.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParagraphElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement03.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement04.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLPreElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCaptionElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement03.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement04.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement05.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement06.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement07.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement08.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement09.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement10.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement11.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement12.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement13.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement14.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement17.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement18.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement19.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement20.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement21.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement22.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement26.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement27.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement28.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement29.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement30.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement03.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement04.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement05.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement06.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement09.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement10.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement11.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement12.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement03.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement05.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement10.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement11.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement13.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement14.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement15.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement16.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement17.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement18.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement03.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement04.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement06.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement07.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement08.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement09.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement10.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement11.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement12.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement13.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement14.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement03.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement04.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement05.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement06.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement07.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement08.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement09.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement10.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement11.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement12.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement16.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement17.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement18.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement19.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement20.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement21.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement22.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement23.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement24.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement11.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement12.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/anchor02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/anchor03.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/anchor06.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/basefont01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/body01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/dlist01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/object02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/object03.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/object04.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/object05.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/object09.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/object15.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table02.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table03.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table04.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table06.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table07.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table08.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table09.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table10.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table12.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table15.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table17.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table18.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table19.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table20.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table21.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table22.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table23.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table24.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table26.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table27.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table29.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table30.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table31.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table32.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table33.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table35.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table36.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table37.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table38.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table39.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table40.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table41.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table42.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table43.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table44.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table45.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table46.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table47.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table48.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table49.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table50.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table52.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table53.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/table01.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/table25.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/table28.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/table34.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/table51.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/tassembly/.jshintrc create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/tassembly/.npmignore create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/tassembly/AttributeSanitizer.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/tassembly/README.md create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/tassembly/browser/tassembly.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/tassembly/package.json create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/tassembly/tassembly.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/node_modules/tassembly/test1.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/package.json create mode 100644 knockoff-node-precompiled/node_modules/knockoff/test.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/test1.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/test2-loop-lambda.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/test2.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/testCaseGenerator.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/testKnockoutExpressionParser.js create mode 100644 knockoff-node-precompiled/node_modules/knockoff/tests.json create mode 100644 knockoff-node-precompiled/node_modules/tassembly/.jshintrc create mode 100644 knockoff-node-precompiled/node_modules/tassembly/.npmignore create mode 100644 knockoff-node-precompiled/node_modules/tassembly/AttributeSanitizer.js create mode 100644 knockoff-node-precompiled/node_modules/tassembly/README.md create mode 100644 knockoff-node-precompiled/node_modules/tassembly/browser/tassembly.js create mode 100644 knockoff-node-precompiled/node_modules/tassembly/package.json create mode 100644 knockoff-node-precompiled/node_modules/tassembly/tassembly.js create mode 100644 knockoff-node-precompiled/node_modules/tassembly/test1.js create mode 100644 knockoff-node-precompiled/package.json create mode 100644 knockoff-node-precompiled/test1.js create mode 100644 knockoff-node-precompiled/test1b-incid.js create mode 100644 knockoff-node-precompiled/test2-loop-lambda.js create mode 100644 knockoff-node-precompiled/test2-loop.js create mode 100644 knockoff-node-precompiled/test3-itterator.js diff --git a/handlebars-node-precompiled/node_modules/.bin/handlebars b/handlebars-node-precompiled/node_modules/.bin/handlebars new file mode 120000 index 0000000..fb7d090 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/.bin/handlebars @@ -0,0 +1 @@ +../handlebars/bin/handlebars \ No newline at end of file diff --git a/handlebars-node-precompiled/node_modules/handlebars/.npmignore b/handlebars-node-precompiled/node_modules/handlebars/.npmignore new file mode 100644 index 0000000..366b454 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/.npmignore @@ -0,0 +1,23 @@ +.DS_Store +.gitignore +.rvmrc +.jshintrc +.travis.yml +.rspec +Gemfile +Gemfile.lock +Rakefile +Gruntfile.js +*.gemspec +*.nuspec +bench/* +configurations/* +components/* +dist/cdnjs/* +dist/components/* +spec/* +src/* +tasks/* +tmp/* +publish/* +vendor/* diff --git a/handlebars-node-precompiled/node_modules/handlebars/LICENSE b/handlebars-node-precompiled/node_modules/handlebars/LICENSE new file mode 100644 index 0000000..f466a93 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/LICENSE @@ -0,0 +1,19 @@ +Copyright (C) 2011 by Yehuda Katz + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/handlebars-node-precompiled/node_modules/handlebars/README.markdown b/handlebars-node-precompiled/node_modules/handlebars/README.markdown new file mode 100644 index 0000000..0297c35 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/README.markdown @@ -0,0 +1,458 @@ +[![Travis Build Status](https://travis-ci.org/wycats/handlebars.js.png?branch=master)](https://travis-ci.org/wycats/handlebars.js) +[![Selenium Test Status](https://saucelabs.com/buildstatus/handlebars)](https://saucelabs.com/u/handlebars) + +Handlebars.js +============= + +Handlebars.js is an extension to the [Mustache templating +language](http://mustache.github.com/) created by Chris Wanstrath. +Handlebars.js and Mustache are both logicless templating languages that +keep the view and the code separated like we all know they should be. + +Checkout the official Handlebars docs site at +[http://www.handlebarsjs.com](http://www.handlebarsjs.com). + +Installing +---------- +Installing Handlebars is easy. Simply download the package [from the official site](http://handlebarsjs.com/) or the [bower repository][bower-repo] and add it to your web pages (you should usually use the most recent version). + +Alternatively, if you prefer having the latest version of handlebars from +the 'master' branch, passing builds of the 'master' branch are automatically +published to S3. You may download the latest passing master build by grabbing +a `handlebars-latest.js` file from the [builds page][builds-page]. When the +build is published, it is also available as a `handlebars-gitSHA.js` file on +the builds page if you need a version to refer to others. +`handlebars-runtime.js` builds are also available. + +**Note**: The S3 builds page is provided as a convenience for the community, +but you should not use it for hosting Handlebars in production. + +Usage +----- +In general, the syntax of Handlebars.js templates is a superset +of Mustache templates. For basic syntax, check out the [Mustache +manpage](http://mustache.github.com/mustache.5.html). + +Once you have a template, use the `Handlebars.compile` method to compile +the template into a function. The generated function takes a context +argument, which will be used to render the template. + +```js +var source = "

    Hello, my name is {{name}}. I am from {{hometown}}. I have " + + "{{kids.length}} kids:

    " + + "
      {{#kids}}
    • {{name}} is {{age}}
    • {{/kids}}
    "; +var template = Handlebars.compile(source); + +var data = { "name": "Alan", "hometown": "Somewhere, TX", + "kids": [{"name": "Jimmy", "age": "12"}, {"name": "Sally", "age": "4"}]}; +var result = template(data); + +// Would render: +//

    Hello, my name is Alan. I am from Somewhere, TX. I have 2 kids:

    +//
      +//
    • Jimmy is 12
    • +//
    • Sally is 4
    • +//
    +``` + + +Registering Helpers +------------------- + +You can register helpers that Handlebars will use when evaluating your +template. Here's an example, which assumes that your objects have a URL +embedded in them, as well as the text for a link: + +```js +Handlebars.registerHelper('link_to', function() { + return "" + this.body + ""; +}); + +var context = { posts: [{url: "/hello-world", body: "Hello World!"}] }; +var source = "
      {{#posts}}
    • {{{link_to}}}
    • {{/posts}}
    " + +var template = Handlebars.compile(source); +template(context); + +// Would render: +// +// +``` + +Helpers take precedence over fields defined on the context. To access a field +that is masked by a helper, a path reference may be used. In the example above +a field named `link_to` on the `context` object would be referenced using: + +``` +{{./link_to}} +``` + +Escaping +-------- + +By default, the `{{expression}}` syntax will escape its contents. This +helps to protect you against accidental XSS problems caused by malicious +data passed from the server as JSON. + +To explicitly *not* escape the contents, use the triple-mustache +(`{{{}}}`). You have seen this used in the above example. + + +Differences Between Handlebars.js and Mustache +---------------------------------------------- +Handlebars.js adds a couple of additional features to make writing +templates easier and also changes a tiny detail of how partials work. + +### Paths + +Handlebars.js supports an extended expression syntax that we call paths. +Paths are made up of typical expressions and . characters. Expressions +allow you to not only display data from the current context, but to +display data from contexts that are descendants and ancestors of the +current context. + +To display data from descendant contexts, use the `.` character. So, for +example, if your data were structured like: + +```js +var data = {"person": { "name": "Alan" }, "company": {"name": "Rad, Inc." } }; +``` + +You could display the person's name from the top-level context with the +following expression: + +``` +{{person.name}} +``` + +You can backtrack using `../`. For example, if you've already traversed +into the person object you could still display the company's name with +an expression like `{{../company.name}}`, so: + +``` +{{#person}}{{name}} - {{../company.name}}{{/person}} +``` + +would render: + +``` +Alan - Rad, Inc. +``` + +### Strings + +When calling a helper, you can pass paths or Strings as parameters. For +instance: + +```js +Handlebars.registerHelper('link_to', function(title, options) { + return "" + title + "!" +}); + +var context = { posts: [{url: "/hello-world", body: "Hello World!"}] }; +var source = '
      {{#posts}}
    • {{{link_to "Post"}}}
    • {{/posts}}
    ' + +var template = Handlebars.compile(source); +template(context); + +// Would render: +// +// +``` + +When you pass a String as a parameter to a helper, the literal String +gets passed to the helper function. + + +### Block Helpers + +Handlebars.js also adds the ability to define block helpers. Block +helpers are functions that can be called from anywhere in the template. +Here's an example: + +```js +var source = "
      {{#people}}
    • {{#link}}{{name}}{{/link}}
    • {{/people}}
    "; +Handlebars.registerHelper('link', function(options) { + return '' + options.fn(this) + ''; +}); +var template = Handlebars.compile(source); + +var data = { "people": [ + { "name": "Alan", "id": 1 }, + { "name": "Yehuda", "id": 2 } + ]}; +template(data); + +// Should render: +// +``` + +Whenever the block helper is called it is given one or more parameters, +any arguments that are passed in the helper in the call and an `options` +object containing the `fn` function which executes the block's child. +The block's current context may be accessed through `this`. + +Block helpers have the same syntax as mustache sections but should not be +confused with one another. Sections are akin to an implicit `each` or +`with` statement depending on the input data and helpers are explicit +pieces of code that are free to implement whatever behavior they like. +The [mustache spec](http://mustache.github.io/mustache.5.html) +defines the exact behavior of sections. In the case of name conflicts, +helpers are given priority. + +### Partials + +You can register additional templates as partials, which will be used by +Handlebars when it encounters a partial (`{{> partialName}}`). Partials +can either be String templates or compiled template functions. Here's an +example: + +```js +var source = "
      {{#people}}
    • {{> link}}
    • {{/people}}
    "; + +Handlebars.registerPartial('link', '{{name}}') +var template = Handlebars.compile(source); + +var data = { "people": [ + { "name": "Alan", "id": 1 }, + { "name": "Yehuda", "id": 2 } + ]}; + +template(data); + +// Should render: +// +``` + +### Comments + +You can add comments to your templates with the following syntax: + +```js +{{! This is a comment }} +``` + +You can also use real html comments if you want them to end up in the output. + +```html +
    + {{! This comment will not end up in the output }} + +
    +``` + + +Precompiling Templates +---------------------- + +Handlebars allows templates to be precompiled and included as javascript +code rather than the handlebars template allowing for faster startup time. + +### Installation +The precompiler script may be installed via npm using the `npm install -g handlebars` +command. + +### Usage + +
    +Precompile handlebar templates.
    +Usage: handlebars template...
    +
    +Options:
    +  -a, --amd            Create an AMD format function (allows loading with RequireJS)          [boolean]
    +  -f, --output         Output File                                                            [string]
    +  -k, --known          Known helpers                                                          [string]
    +  -o, --knownOnly      Known helpers only                                                     [boolean]
    +  -m, --min            Minimize output                                                        [boolean]
    +  -s, --simple         Output template function only.                                         [boolean]
    +  -r, --root           Template root. Base value that will be stripped from template names.   [string]
    +  -c, --commonjs       Exports CommonJS style, path to Handlebars module                      [string]
    +  -h, --handlebarPath  Path to handlebar.js (only valid for amd-style)                        [string]
    +  -n, --namespace      Template namespace                                                     [string]
    +  -p, --partial        Compiling a partial template                                           [boolean]
    +  -d, --data           Include data when compiling                                            [boolean]
    +  -e, --extension      Template extension.                                                    [string]
    +  -b, --bom            Removes the BOM (Byte Order Mark) from the beginning of the templates. [boolean]
    +
    + +If using the precompiler's normal mode, the resulting templates will be +stored to the `Handlebars.templates` object using the relative template +name sans the extension. These templates may be executed in the same +manner as templates. + +If using the simple mode the precompiler will generate a single +javascript method. To execute this method it must be passed to the using +the `Handlebars.template` method and the resulting object may be as +normal. + +### Optimizations + +- Rather than using the full _handlebars.js_ library, implementations that + do not need to compile templates at runtime may include _handlebars.runtime.js_ + whose min+gzip size is approximately 1k. +- If a helper is known to exist in the target environment they may be defined + using the `--known name` argument may be used to optimize accesses to these + helpers for size and speed. +- When all helpers are known in advance the `--knownOnly` argument may be used + to optimize all block helper references. +- Implementations that do not use `@data` variables can improve performance of + iteration centric templates by specifying `{data: false}` in the compiler options. + +Supported Environments +---------------------- + +Handlebars has been designed to work in any ECMAScript 3 environment. This includes + +- Node.js +- Chrome +- Firefox +- Safari 5+ +- Opera 11+ +- IE 6+ + +Older versions and other runtimes are likely to work but have not been formally +tested. + +[![Selenium Test Status](https://saucelabs.com/browser-matrix/handlebars.svg)](https://saucelabs.com/u/handlebars) + +Performance +----------- + +In a rough performance test, precompiled Handlebars.js templates (in +the original version of Handlebars.js) rendered in about half the +time of Mustache templates. It would be a shame if it were any other +way, since they were precompiled, but the difference in architecture +does have some big performance advantages. Justin Marney, a.k.a. +[gotascii](http://github.com/gotascii), confirmed that with an +[independent test](http://sorescode.com/2010/09/12/benchmarks.html). The +rewritten Handlebars (current version) is faster than the old version, +and we will have some benchmarks in the near future. + + +Building +-------- + +To build handlebars, just run `grunt build`, and the build will output to the `dist` directory. + + +Upgrading +--------- + +See [release-notes.md](https://github.com/wycats/handlebars.js/blob/master/release-notes.md) for upgrade notes. + +Known Issues +------------ +* Handlebars.js can be cryptic when there's an error while rendering. +* Using a variable, helper, or partial named `class` causes errors in IE browsers. (Instead, use `className`) + +Handlebars in the Wild +---------------------- + +* [Assemble](http://assemble.io), by [@jonschlinkert](https://github.com/jonschlinkert) + and [@doowb](https://github.com/doowb), is a static site generator that uses Handlebars.js + as its template engine. +* [CoSchedule](http://coschedule.com) An editorial calendar for WordPress that uses Handlebars.js +* [Ember.js](http://www.emberjs.com) makes Handlebars.js the primary way to + structure your views, also with automatic data binding support. +* [Ghost](https://ghost.org/) Just a blogging platform. +* [handlebars_assets](http://github.com/leshill/handlebars_assets): A Rails Asset Pipeline gem + from Les Hill (@leshill). +* [handlebars-helpers](https://github.com/assemble/handlebars-helpers) is an extensive library + with 100+ handlebars helpers. +* [hbs](http://github.com/donpark/hbs): An Express.js view engine adapter for Handlebars.js, + from Don Park. +* [jblotus](http://github.com/jblotus) created [http://tryhandlebarsjs.com](http://tryhandlebarsjs.com) + for anyone who would like to try out Handlebars.js in their browser. +* [jQuery plugin](http://71104.github.io/jquery-handlebars/): allows you to use + Handlebars.js with [jQuery](http://jquery.com/). +* [Lumbar](http://walmartlabs.github.io/lumbar) provides easy module-based template management for + handlebars projects. +* [sammy.js](http://github.com/quirkey/sammy) by Aaron Quint, a.k.a. quirkey, + supports Handlebars.js as one of its template plugins. +* [SproutCore](http://www.sproutcore.com) uses Handlebars.js as its main + templating engine, extending it with automatic data binding support. +* [YUI](http://yuilibrary.com/yui/docs/handlebars/) implements a port of handlebars +* [Swag](https://github.com/elving/swag) by [@elving](https://github.com/elving) is a growing collection of helpers for handlebars.js. Give your handlebars.js templates some swag son! +* [DOMBars](https://github.com/blakeembrey/dombars) is a DOM-based templating engine built on the Handlebars parser and runtime + +External Resources +------------------ + +* [Gist about Synchronous and asynchronous loading of external handlebars templates](https://gist.github.com/2287070) + +Have a project using Handlebars? Send us a [pull request][pull-request]! + +Helping Out +----------- + +To build Handlebars.js you'll need a few things installed. + +* Node.js +* [Grunt](http://gruntjs.com/getting-started) + +Project dependencies may be installed via `npm install`. + +To build Handlebars.js from scratch, you'll want to run `grunt` +in the root of the project. That will build Handlebars and output the +results to the dist/ folder. To re-run tests, run `grunt test` or `npm test`. +You can also run our set of benchmarks with `grunt bench`. + +The `grunt dev` implements watching for tests and allows for in browser testing at `http://localhost:9999/spec/`. + +If you notice any problems, please report them to the GitHub issue tracker at +[http://github.com/wycats/handlebars.js/issues](http://github.com/wycats/handlebars.js/issues). +Feel free to contact commondream or wycats through GitHub with any other +questions or feature requests. To submit changes fork the project and +send a pull request. + +### Ember testing + +The current ember distribution should be tested as part of the handlebars release process. This requires building the `handlebars-source` gem locally and then executing the ember test script. + +```sh +grunt build release +export HANDLEBARS_PATH=`pwd` + +cd $emberRepoDir +bundle exec rake clean +bundle exec rake test +``` + +### Releasing + +Handlebars utilizes the [release yeoman generator][generator-release] to perform most release tasks. + +A full release may be completed with the following: + +``` +yo release:notes patch +yo release:release patch +npm publish +yo release:publish cdnjs handlebars.js dist/cdnjs/ +yo release:publish components handlebars.js dist/components/ + +cd dist/components/ +gem build handlebars-source.gemspec +gem push handlebars-source-*.gem +``` + +After this point the handlebars site needs to be updated to point to the new version numbers. + +License +------- +Handlebars.js is released under the MIT license. + +[bower-repo]: https://github.com/components/handlebars.js +[builds-page]: http://builds.handlebarsjs.com.s3.amazonaws.com/bucket-listing.html?sort=lastmod&sortdir=desc +[generator-release]: https://github.com/walmartlabs/generator-release +[pull-request]: https://github.com/wycats/handlebars.js/pull/new/master diff --git a/handlebars-node-precompiled/node_modules/handlebars/bin/handlebars b/handlebars-node-precompiled/node_modules/handlebars/bin/handlebars new file mode 100755 index 0000000..247ddd5 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/bin/handlebars @@ -0,0 +1,222 @@ +#!/usr/bin/env node + +var optimist = require('optimist') + .usage('Precompile handlebar templates.\nUsage: $0 template...', { + 'f': { + 'type': 'string', + 'description': 'Output File', + 'alias': 'output' + }, + 'a': { + 'type': 'boolean', + 'description': 'Exports amd style (require.js)', + 'alias': 'amd' + }, + 'c': { + 'type': 'string', + 'description': 'Exports CommonJS style, path to Handlebars module', + 'alias': 'commonjs', + 'default': null + }, + 'h': { + 'type': 'string', + 'description': 'Path to handlebar.js (only valid for amd-style)', + 'alias': 'handlebarPath', + 'default': '' + }, + 'k': { + 'type': 'string', + 'description': 'Known helpers', + 'alias': 'known' + }, + 'o': { + 'type': 'boolean', + 'description': 'Known helpers only', + 'alias': 'knownOnly' + }, + 'm': { + 'type': 'boolean', + 'description': 'Minimize output', + 'alias': 'min' + }, + 'n': { + 'type': 'string', + 'description': 'Template namespace', + 'alias': 'namespace', + 'default': 'Handlebars.templates' + }, + 's': { + 'type': 'boolean', + 'description': 'Output template function only.', + 'alias': 'simple' + }, + 'r': { + 'type': 'string', + 'description': 'Template root. Base value that will be stripped from template names.', + 'alias': 'root' + }, + 'p' : { + 'type': 'boolean', + 'description': 'Compiling a partial template', + 'alias': 'partial' + }, + 'd' : { + 'type': 'boolean', + 'description': 'Include data when compiling', + 'alias': 'data' + }, + 'e': { + 'type': 'string', + 'description': 'Template extension.', + 'alias': 'extension', + 'default': 'handlebars' + }, + 'b': { + 'type': 'boolean', + 'description': 'Removes the BOM (Byte Order Mark) from the beginning of the templates.', + 'alias': 'bom' + } + }) + + .check(function(argv) { + var template = [0]; + if (!argv._.length) { + throw 'Must define at least one template or directory.'; + } + + argv._.forEach(function(template) { + try { + fs.statSync(template); + } catch (err) { + throw 'Unable to open template file "' + template + '"'; + } + }); + }) + .check(function(argv) { + if (argv.simple && argv.min) { + throw 'Unable to minimze simple output'; + } + if (argv.simple && (argv._.length !== 1 || fs.statSync(argv._[0]).isDirectory())) { + throw 'Unable to output multiple templates in simple mode'; + } + }); + +var fs = require('fs'), + handlebars = require('../lib'), + basename = require('path').basename, + uglify = require('uglify-js'); + +var argv = optimist.argv, + template = argv._[0]; + +// Convert the known list into a hash +var known = {}; +if (argv.known && !Array.isArray(argv.known)) { + argv.known = [argv.known]; +} +if (argv.known) { + for (var i = 0, len = argv.known.length; i < len; i++) { + known[argv.known[i]] = true; + } +} + +// Build file extension pattern +var extension = argv.extension.replace(/[\\^$*+?.():=!|{}\-\[\]]/g, function(arg) { return '\\' + arg; }); +extension = new RegExp('\\.' + extension + '$'); + +var output = []; +if (!argv.simple) { + if (argv.amd) { + output.push('define([\'' + argv.handlebarPath + 'handlebars.runtime\'], function(Handlebars) {\n Handlebars = Handlebars["default"];'); + } else if (argv.commonjs) { + output.push('var Handlebars = require("' + argv.commonjs + '");'); + } else { + output.push('(function() {\n'); + } + output.push(' var template = Handlebars.template, templates = '); + output.push(argv.namespace); + output.push(' = '); + output.push(argv.namespace); + output.push(' || {};\n'); +} +function processTemplate(template, root) { + var path = template, + stat = fs.statSync(path); + if (stat.isDirectory()) { + fs.readdirSync(template).map(function(file) { + var path = template + '/' + file; + + if (extension.test(path) || fs.statSync(path).isDirectory()) { + processTemplate(path, root || template); + } + }); + } else if (extension.test(path)) { + var data = fs.readFileSync(path, 'utf8'); + + if (argv.bom && data.indexOf('\uFEFF') === 0) { + data = data.substring(1); + } + + var options = { + knownHelpers: known, + knownHelpersOnly: argv.o + }; + + if (argv.data) { + options.data = true; + } + + // Clean the template name + if (!root) { + template = basename(template); + } else if (template.indexOf(root) === 0) { + template = template.substring(root.length+1); + } + template = template.replace(extension, ''); + + if (argv.simple) { + output.push(handlebars.precompile(data, options) + '\n'); + } else if (argv.partial) { + if(argv.amd && (argv._.length == 1 && !fs.statSync(argv._[0]).isDirectory())) { + output.push('return '); + } + output.push('Handlebars.partials[\'' + template + '\'] = template(' + handlebars.precompile(data, options) + ');\n'); + } else { + if(argv.amd && (argv._.length == 1 && !fs.statSync(argv._[0]).isDirectory())) { + output.push('return '); + } + output.push('templates[\'' + template + '\'] = template(' + handlebars.precompile(data, options) + ');\n'); + } + } +} + +argv._.forEach(function(template) { + processTemplate(template, argv.root); +}); + +// Output the content +if (!argv.simple) { + if (argv.amd) { + if(argv._.length > 1 || (argv._.length == 1 && fs.statSync(argv._[0]).isDirectory())) { + if(argv.partial){ + output.push('return Handlebars.partials;\n'); + } else { + output.push('return templates;\n'); + } + } + output.push('});'); + } else if (!argv.commonjs) { + output.push('})();'); + } +} +output = output.join(''); + +if (argv.min) { + output = uglify.minify(output, {fromString: true}).code; +} + +if (argv.output) { + fs.writeFileSync(argv.output, output, 'utf8'); +} else { + console.log(output); +} diff --git a/handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars.js b/handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars.js new file mode 100644 index 0000000..315fc84 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars.js @@ -0,0 +1,41 @@ +define( + ["./handlebars.runtime","./handlebars/compiler/ast","./handlebars/compiler/base","./handlebars/compiler/compiler","./handlebars/compiler/javascript-compiler","exports"], + function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __exports__) { + "use strict"; + /*globals Handlebars: true */ + var Handlebars = __dependency1__["default"]; + + // Compiler imports + var AST = __dependency2__["default"]; + var Parser = __dependency3__.parser; + var parse = __dependency3__.parse; + var Compiler = __dependency4__.Compiler; + var compile = __dependency4__.compile; + var precompile = __dependency4__.precompile; + var JavaScriptCompiler = __dependency5__["default"]; + + var _create = Handlebars.create; + var create = function() { + var hb = _create(); + + hb.compile = function(input, options) { + return compile(input, options, hb); + }; + hb.precompile = function (input, options) { + return precompile(input, options, hb); + }; + + hb.AST = AST; + hb.Compiler = Compiler; + hb.JavaScriptCompiler = JavaScriptCompiler; + hb.Parser = Parser; + hb.parse = parse; + + return hb; + }; + + Handlebars = create(); + Handlebars.create = create; + + __exports__["default"] = Handlebars; + }); \ No newline at end of file diff --git a/handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars.runtime.js b/handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars.runtime.js new file mode 100644 index 0000000..7b525b2 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars.runtime.js @@ -0,0 +1,36 @@ +define( + ["./handlebars/base","./handlebars/safe-string","./handlebars/exception","./handlebars/utils","./handlebars/runtime","exports"], + function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __exports__) { + "use strict"; + /*globals Handlebars: true */ + var base = __dependency1__; + + // Each of these augment the Handlebars object. No need to setup here. + // (This is done to easily share code between commonjs and browse envs) + var SafeString = __dependency2__["default"]; + var Exception = __dependency3__["default"]; + var Utils = __dependency4__; + var runtime = __dependency5__; + + // For compatibility and usage outside of module systems, make the Handlebars object a namespace + var create = function() { + var hb = new base.HandlebarsEnvironment(); + + Utils.extend(hb, base); + hb.SafeString = SafeString; + hb.Exception = Exception; + hb.Utils = Utils; + + hb.VM = runtime; + hb.template = function(spec) { + return runtime.template(spec, hb); + }; + + return hb; + }; + + var Handlebars = create(); + Handlebars.create = create; + + __exports__["default"] = Handlebars; + }); \ No newline at end of file diff --git a/handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars/base.js b/handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars/base.js new file mode 100644 index 0000000..bb664d2 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars/base.js @@ -0,0 +1,184 @@ +define( + ["./utils","./exception","exports"], + function(__dependency1__, __dependency2__, __exports__) { + "use strict"; + var Utils = __dependency1__; + var Exception = __dependency2__["default"]; + + var VERSION = "1.3.0"; + __exports__.VERSION = VERSION;var COMPILER_REVISION = 4; + __exports__.COMPILER_REVISION = COMPILER_REVISION; + var REVISION_CHANGES = { + 1: '<= 1.0.rc.2', // 1.0.rc.2 is actually rev2 but doesn't report it + 2: '== 1.0.0-rc.3', + 3: '== 1.0.0-rc.4', + 4: '>= 1.0.0' + }; + __exports__.REVISION_CHANGES = REVISION_CHANGES; + var isArray = Utils.isArray, + isFunction = Utils.isFunction, + toString = Utils.toString, + objectType = '[object Object]'; + + function HandlebarsEnvironment(helpers, partials) { + this.helpers = helpers || {}; + this.partials = partials || {}; + + registerDefaultHelpers(this); + } + + __exports__.HandlebarsEnvironment = HandlebarsEnvironment;HandlebarsEnvironment.prototype = { + constructor: HandlebarsEnvironment, + + logger: logger, + log: log, + + registerHelper: function(name, fn, inverse) { + if (toString.call(name) === objectType) { + if (inverse || fn) { throw new Exception('Arg not supported with multiple helpers'); } + Utils.extend(this.helpers, name); + } else { + if (inverse) { fn.not = inverse; } + this.helpers[name] = fn; + } + }, + + registerPartial: function(name, str) { + if (toString.call(name) === objectType) { + Utils.extend(this.partials, name); + } else { + this.partials[name] = str; + } + } + }; + + function registerDefaultHelpers(instance) { + instance.registerHelper('helperMissing', function(arg) { + if(arguments.length === 2) { + return undefined; + } else { + throw new Exception("Missing helper: '" + arg + "'"); + } + }); + + instance.registerHelper('blockHelperMissing', function(context, options) { + var inverse = options.inverse || function() {}, fn = options.fn; + + if (isFunction(context)) { context = context.call(this); } + + if(context === true) { + return fn(this); + } else if(context === false || context == null) { + return inverse(this); + } else if (isArray(context)) { + if(context.length > 0) { + return instance.helpers.each(context, options); + } else { + return inverse(this); + } + } else { + return fn(context); + } + }); + + instance.registerHelper('each', function(context, options) { + var fn = options.fn, inverse = options.inverse; + var i = 0, ret = "", data; + + if (isFunction(context)) { context = context.call(this); } + + if (options.data) { + data = createFrame(options.data); + } + + if(context && typeof context === 'object') { + if (isArray(context)) { + for(var j = context.length; i 0) { + throw new Exception("Invalid path: " + original, this); + } else if (part === "..") { + depth++; + } else { + this.isScoped = true; + } + } else { + dig.push(part); + } + } + + this.original = original; + this.parts = dig; + this.string = dig.join('.'); + this.depth = depth; + + // an ID is simple if it only has one part, and that part is not + // `..` or `this`. + this.isSimple = parts.length === 1 && !this.isScoped && depth === 0; + + this.stringModeValue = this.string; + }, + + PartialNameNode: function(name, locInfo) { + LocationInfo.call(this, locInfo); + this.type = "PARTIAL_NAME"; + this.name = name.original; + }, + + DataNode: function(id, locInfo) { + LocationInfo.call(this, locInfo); + this.type = "DATA"; + this.id = id; + }, + + StringNode: function(string, locInfo) { + LocationInfo.call(this, locInfo); + this.type = "STRING"; + this.original = + this.string = + this.stringModeValue = string; + }, + + IntegerNode: function(integer, locInfo) { + LocationInfo.call(this, locInfo); + this.type = "INTEGER"; + this.original = + this.integer = integer; + this.stringModeValue = Number(integer); + }, + + BooleanNode: function(bool, locInfo) { + LocationInfo.call(this, locInfo); + this.type = "BOOLEAN"; + this.bool = bool; + this.stringModeValue = bool === "true"; + }, + + CommentNode: function(comment, locInfo) { + LocationInfo.call(this, locInfo); + this.type = "comment"; + this.comment = comment; + } + }; + + // Must be exported as an object rather than the root of the module as the jison lexer + // most modify the object to operate properly. + __exports__["default"] = AST; + }); \ No newline at end of file diff --git a/handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars/compiler/base.js b/handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars/compiler/base.js new file mode 100644 index 0000000..6430782 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars/compiler/base.js @@ -0,0 +1,19 @@ +define( + ["./parser","./ast","exports"], + function(__dependency1__, __dependency2__, __exports__) { + "use strict"; + var parser = __dependency1__["default"]; + var AST = __dependency2__["default"]; + + __exports__.parser = parser; + + function parse(input) { + // Just return if an already-compile AST was passed in. + if(input.constructor === AST.ProgramNode) { return input; } + + parser.yy = AST; + return parser.parse(input); + } + + __exports__.parse = parse; + }); \ No newline at end of file diff --git a/handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars/compiler/compiler.js b/handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars/compiler/compiler.js new file mode 100644 index 0000000..a8c3590 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars/compiler/compiler.js @@ -0,0 +1,473 @@ +define( + ["../exception","exports"], + function(__dependency1__, __exports__) { + "use strict"; + var Exception = __dependency1__["default"]; + + function Compiler() {} + + __exports__.Compiler = Compiler;// the foundHelper register will disambiguate helper lookup from finding a + // function in a context. This is necessary for mustache compatibility, which + // requires that context functions in blocks are evaluated by blockHelperMissing, + // and then proceed as if the resulting value was provided to blockHelperMissing. + + Compiler.prototype = { + compiler: Compiler, + + disassemble: function() { + var opcodes = this.opcodes, opcode, out = [], params, param; + + for (var i=0, l=opcodes.length; i 0) { + this.source[1] = this.source[1] + ", " + locals.join(", "); + } + + // Generate minimizer alias mappings + if (!this.isChild) { + for (var alias in this.context.aliases) { + if (this.context.aliases.hasOwnProperty(alias)) { + this.source[1] = this.source[1] + ', ' + alias + '=' + this.context.aliases[alias]; + } + } + } + + if (this.source[1]) { + this.source[1] = "var " + this.source[1].substring(2) + ";"; + } + + // Merge children + if (!this.isChild) { + this.source[1] += '\n' + this.context.programs.join('\n') + '\n'; + } + + if (!this.environment.isSimple) { + this.pushSource("return buffer;"); + } + + var params = this.isChild ? ["depth0", "data"] : ["Handlebars", "depth0", "helpers", "partials", "data"]; + + for(var i=0, l=this.environment.depths.list.length; i this.stackVars.length) { this.stackVars.push("stack" + this.stackSlot); } + return this.topStackName(); + }, + topStackName: function() { + return "stack" + this.stackSlot; + }, + flushInline: function() { + var inlineStack = this.inlineStack; + if (inlineStack.length) { + this.inlineStack = []; + for (var i = 0, len = inlineStack.length; i < len; i++) { + var entry = inlineStack[i]; + if (entry instanceof Literal) { + this.compileStack.push(entry); + } else { + this.pushStack(entry); + } + } + } + }, + isInline: function() { + return this.inlineStack.length; + }, + + popStack: function(wrapped) { + var inline = this.isInline(), + item = (inline ? this.inlineStack : this.compileStack).pop(); + + if (!wrapped && (item instanceof Literal)) { + return item.value; + } else { + if (!inline) { + if (!this.stackSlot) { + throw new Exception('Invalid stack pop'); + } + this.stackSlot--; + } + return item; + } + }, + + topStack: function(wrapped) { + var stack = (this.isInline() ? this.inlineStack : this.compileStack), + item = stack[stack.length - 1]; + + if (!wrapped && (item instanceof Literal)) { + return item.value; + } else { + return item; + } + }, + + quotedString: function(str) { + return '"' + str + .replace(/\\/g, '\\\\') + .replace(/"/g, '\\"') + .replace(/\n/g, '\\n') + .replace(/\r/g, '\\r') + .replace(/\u2028/g, '\\u2028') // Per Ecma-262 7.3 + 7.8.4 + .replace(/\u2029/g, '\\u2029') + '"'; + }, + + setupHelper: function(paramSize, name, missingParams) { + var params = [], + paramsInit = this.setupParams(paramSize, params, missingParams); + var foundHelper = this.nameLookup('helpers', name, 'helper'); + + return { + params: params, + paramsInit: paramsInit, + name: foundHelper, + callParams: ["depth0"].concat(params).join(", "), + helperMissingParams: missingParams && ["depth0", this.quotedString(name)].concat(params).join(", ") + }; + }, + + setupOptions: function(paramSize, params) { + var options = [], contexts = [], types = [], param, inverse, program; + + options.push("hash:" + this.popStack()); + + if (this.options.stringParams) { + options.push("hashTypes:" + this.popStack()); + options.push("hashContexts:" + this.popStack()); + } + + inverse = this.popStack(); + program = this.popStack(); + + // Avoid setting fn and inverse if neither are set. This allows + // helpers to do a check for `if (options.fn)` + if (program || inverse) { + if (!program) { + this.context.aliases.self = "this"; + program = "self.noop"; + } + + if (!inverse) { + this.context.aliases.self = "this"; + inverse = "self.noop"; + } + + options.push("inverse:" + inverse); + options.push("fn:" + program); + } + + for(var i=0; i 2) { + expected.push("'" + this.terminals_[p] + "'"); + } + if (this.lexer.showPosition) { + errStr = "Parse error on line " + (yylineno + 1) + ":\n" + this.lexer.showPosition() + "\nExpecting " + expected.join(", ") + ", got '" + (this.terminals_[symbol] || symbol) + "'"; + } else { + errStr = "Parse error on line " + (yylineno + 1) + ": Unexpected " + (symbol == 1?"end of input":"'" + (this.terminals_[symbol] || symbol) + "'"); + } + this.parseError(errStr, {text: this.lexer.match, token: this.terminals_[symbol] || symbol, line: this.lexer.yylineno, loc: yyloc, expected: expected}); + } + } + if (action[0] instanceof Array && action.length > 1) { + throw new Error("Parse Error: multiple actions possible at state: " + state + ", token: " + symbol); + } + switch (action[0]) { + case 1: + stack.push(symbol); + vstack.push(this.lexer.yytext); + lstack.push(this.lexer.yylloc); + stack.push(action[1]); + symbol = null; + if (!preErrorSymbol) { + yyleng = this.lexer.yyleng; + yytext = this.lexer.yytext; + yylineno = this.lexer.yylineno; + yyloc = this.lexer.yylloc; + if (recovering > 0) + recovering--; + } else { + symbol = preErrorSymbol; + preErrorSymbol = null; + } + break; + case 2: + len = this.productions_[action[1]][1]; + yyval.$ = vstack[vstack.length - len]; + yyval._$ = {first_line: lstack[lstack.length - (len || 1)].first_line, last_line: lstack[lstack.length - 1].last_line, first_column: lstack[lstack.length - (len || 1)].first_column, last_column: lstack[lstack.length - 1].last_column}; + if (ranges) { + yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]]; + } + r = this.performAction.call(yyval, yytext, yyleng, yylineno, this.yy, action[1], vstack, lstack); + if (typeof r !== "undefined") { + return r; + } + if (len) { + stack = stack.slice(0, -1 * len * 2); + vstack = vstack.slice(0, -1 * len); + lstack = lstack.slice(0, -1 * len); + } + stack.push(this.productions_[action[1]][0]); + vstack.push(yyval.$); + lstack.push(yyval._$); + newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; + stack.push(newState); + break; + case 3: + return true; + } + } + return true; + } + }; + + + function stripFlags(open, close) { + return { + left: open.charAt(2) === '~', + right: close.charAt(0) === '~' || close.charAt(1) === '~' + }; + } + + /* Jison generated lexer */ + var lexer = (function(){ + var lexer = ({EOF:1, + parseError:function parseError(str, hash) { + if (this.yy.parser) { + this.yy.parser.parseError(str, hash); + } else { + throw new Error(str); + } + }, + setInput:function (input) { + this._input = input; + this._more = this._less = this.done = false; + this.yylineno = this.yyleng = 0; + this.yytext = this.matched = this.match = ''; + this.conditionStack = ['INITIAL']; + this.yylloc = {first_line:1,first_column:0,last_line:1,last_column:0}; + if (this.options.ranges) this.yylloc.range = [0,0]; + this.offset = 0; + return this; + }, + input:function () { + var ch = this._input[0]; + this.yytext += ch; + this.yyleng++; + this.offset++; + this.match += ch; + this.matched += ch; + var lines = ch.match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno++; + this.yylloc.last_line++; + } else { + this.yylloc.last_column++; + } + if (this.options.ranges) this.yylloc.range[1]++; + + this._input = this._input.slice(1); + return ch; + }, + unput:function (ch) { + var len = ch.length; + var lines = ch.split(/(?:\r\n?|\n)/g); + + this._input = ch + this._input; + this.yytext = this.yytext.substr(0, this.yytext.length-len-1); + //this.yyleng -= len; + this.offset -= len; + var oldLines = this.match.split(/(?:\r\n?|\n)/g); + this.match = this.match.substr(0, this.match.length-1); + this.matched = this.matched.substr(0, this.matched.length-1); + + if (lines.length-1) this.yylineno -= lines.length-1; + var r = this.yylloc.range; + + this.yylloc = {first_line: this.yylloc.first_line, + last_line: this.yylineno+1, + first_column: this.yylloc.first_column, + last_column: lines ? + (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length: + this.yylloc.first_column - len + }; + + if (this.options.ranges) { + this.yylloc.range = [r[0], r[0] + this.yyleng - len]; + } + return this; + }, + more:function () { + this._more = true; + return this; + }, + less:function (n) { + this.unput(this.match.slice(n)); + }, + pastInput:function () { + var past = this.matched.substr(0, this.matched.length - this.match.length); + return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); + }, + upcomingInput:function () { + var next = this.match; + if (next.length < 20) { + next += this._input.substr(0, 20-next.length); + } + return (next.substr(0,20)+(next.length > 20 ? '...':'')).replace(/\n/g, ""); + }, + showPosition:function () { + var pre = this.pastInput(); + var c = new Array(pre.length + 1).join("-"); + return pre + this.upcomingInput() + "\n" + c+"^"; + }, + next:function () { + if (this.done) { + return this.EOF; + } + if (!this._input) this.done = true; + + var token, + match, + tempMatch, + index, + col, + lines; + if (!this._more) { + this.yytext = ''; + this.match = ''; + } + var rules = this._currentRules(); + for (var i=0;i < rules.length; i++) { + tempMatch = this._input.match(this.rules[rules[i]]); + if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { + match = tempMatch; + index = i; + if (!this.options.flex) break; + } + } + if (match) { + lines = match[0].match(/(?:\r\n?|\n).*/g); + if (lines) this.yylineno += lines.length; + this.yylloc = {first_line: this.yylloc.last_line, + last_line: this.yylineno+1, + first_column: this.yylloc.last_column, + last_column: lines ? lines[lines.length-1].length-lines[lines.length-1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length}; + this.yytext += match[0]; + this.match += match[0]; + this.matches = match; + this.yyleng = this.yytext.length; + if (this.options.ranges) { + this.yylloc.range = [this.offset, this.offset += this.yyleng]; + } + this._more = false; + this._input = this._input.slice(match[0].length); + this.matched += match[0]; + token = this.performAction.call(this, this.yy, this, rules[index],this.conditionStack[this.conditionStack.length-1]); + if (this.done && this._input) this.done = false; + if (token) return token; + else return; + } + if (this._input === "") { + return this.EOF; + } else { + return this.parseError('Lexical error on line '+(this.yylineno+1)+'. Unrecognized text.\n'+this.showPosition(), + {text: "", token: null, line: this.yylineno}); + } + }, + lex:function lex() { + var r = this.next(); + if (typeof r !== 'undefined') { + return r; + } else { + return this.lex(); + } + }, + begin:function begin(condition) { + this.conditionStack.push(condition); + }, + popState:function popState() { + return this.conditionStack.pop(); + }, + _currentRules:function _currentRules() { + return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules; + }, + topState:function () { + return this.conditionStack[this.conditionStack.length-2]; + }, + pushState:function begin(condition) { + this.begin(condition); + }}); + lexer.options = {}; + lexer.performAction = function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { + + + function strip(start, end) { + return yy_.yytext = yy_.yytext.substr(start, yy_.yyleng-end); + } + + + var YYSTATE=YY_START + switch($avoiding_name_collisions) { + case 0: + if(yy_.yytext.slice(-2) === "\\\\") { + strip(0,1); + this.begin("mu"); + } else if(yy_.yytext.slice(-1) === "\\") { + strip(0,1); + this.begin("emu"); + } else { + this.begin("mu"); + } + if(yy_.yytext) return 14; + + break; + case 1:return 14; + break; + case 2: + this.popState(); + return 14; + + break; + case 3:strip(0,4); this.popState(); return 15; + break; + case 4:return 35; + break; + case 5:return 36; + break; + case 6:return 25; + break; + case 7:return 16; + break; + case 8:return 20; + break; + case 9:return 19; + break; + case 10:return 19; + break; + case 11:return 23; + break; + case 12:return 22; + break; + case 13:this.popState(); this.begin('com'); + break; + case 14:strip(3,5); this.popState(); return 15; + break; + case 15:return 22; + break; + case 16:return 41; + break; + case 17:return 40; + break; + case 18:return 40; + break; + case 19:return 44; + break; + case 20:// ignore whitespace + break; + case 21:this.popState(); return 24; + break; + case 22:this.popState(); return 18; + break; + case 23:yy_.yytext = strip(1,2).replace(/\\"/g,'"'); return 32; + break; + case 24:yy_.yytext = strip(1,2).replace(/\\'/g,"'"); return 32; + break; + case 25:return 42; + break; + case 26:return 34; + break; + case 27:return 34; + break; + case 28:return 33; + break; + case 29:return 40; + break; + case 30:yy_.yytext = strip(1,2); return 40; + break; + case 31:return 'INVALID'; + break; + case 32:return 5; + break; + } + }; + lexer.rules = [/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:[\s\S]*?--\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{!--)/,/^(?:\{\{![\s\S]*?\}\})/,/^(?:\{\{(~)?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:-?[0-9]+(?=([~}\s)])))/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)]))))/,/^(?:\[[^\]]*\])/,/^(?:.)/,/^(?:$)/]; + lexer.conditions = {"mu":{"rules":[4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32],"inclusive":false},"emu":{"rules":[2],"inclusive":false},"com":{"rules":[3],"inclusive":false},"INITIAL":{"rules":[0,1,32],"inclusive":true}}; + return lexer;})() + parser.lexer = lexer; + function Parser () { this.yy = {}; }Parser.prototype = parser;parser.Parser = Parser; + return new Parser; + })();__exports__["default"] = handlebars; + /* jshint ignore:end */ + }); \ No newline at end of file diff --git a/handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars/compiler/printer.js b/handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars/compiler/printer.js new file mode 100644 index 0000000..11dc4ab --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars/compiler/printer.js @@ -0,0 +1,142 @@ +define( + ["./visitor","exports"], + function(__dependency1__, __exports__) { + "use strict"; + var Visitor = __dependency1__["default"]; + + function print(ast) { + return new PrintVisitor().accept(ast); + } + + __exports__.print = print;function PrintVisitor() { + this.padding = 0; + } + + __exports__.PrintVisitor = PrintVisitor;PrintVisitor.prototype = new Visitor(); + + PrintVisitor.prototype.pad = function(string, newline) { + var out = ""; + + for(var i=0,l=this.padding; i " + content + " }}"); + }; + + PrintVisitor.prototype.hash = function(hash) { + var pairs = hash.pairs; + var joinedPairs = [], left, right; + + for(var i=0, l=pairs.length; i 1) { + return "PATH:" + path; + } else { + return "ID:" + path; + } + }; + + PrintVisitor.prototype.PARTIAL_NAME = function(partialName) { + return "PARTIAL:" + partialName.name; + }; + + PrintVisitor.prototype.DATA = function(data) { + return "@" + this.accept(data.id); + }; + + PrintVisitor.prototype.content = function(content) { + return this.pad("CONTENT[ '" + content.string + "' ]"); + }; + + PrintVisitor.prototype.comment = function(comment) { + return this.pad("{{! '" + comment.comment + "' }}"); + }; + }); \ No newline at end of file diff --git a/handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars/compiler/visitor.js b/handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars/compiler/visitor.js new file mode 100644 index 0000000..325ba0e --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars/compiler/visitor.js @@ -0,0 +1,16 @@ +define( + ["exports"], + function(__exports__) { + "use strict"; + function Visitor() {} + + Visitor.prototype = { + constructor: Visitor, + + accept: function(object) { + return this[object.type](object); + } + }; + + __exports__["default"] = Visitor; + }); \ No newline at end of file diff --git a/handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars/exception.js b/handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars/exception.js new file mode 100644 index 0000000..df0b042 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars/exception.js @@ -0,0 +1,32 @@ +define( + ["exports"], + function(__exports__) { + "use strict"; + + var errorProps = ['description', 'fileName', 'lineNumber', 'message', 'name', 'number', 'stack']; + + function Exception(message, node) { + var line; + if (node && node.firstLine) { + line = node.firstLine; + + message += ' - ' + line + ':' + node.firstColumn; + } + + var tmp = Error.prototype.constructor.call(this, message); + + // Unfortunately errors are not enumerable in Chrome (at least), so `for prop in tmp` doesn't work. + for (var idx = 0; idx < errorProps.length; idx++) { + this[errorProps[idx]] = tmp[errorProps[idx]]; + } + + if (line) { + this.lineNumber = line; + this.column = node.firstColumn; + } + } + + Exception.prototype = new Error(); + + __exports__["default"] = Exception; + }); \ No newline at end of file diff --git a/handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars/runtime.js b/handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars/runtime.js new file mode 100644 index 0000000..f70f339 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars/runtime.js @@ -0,0 +1,141 @@ +define( + ["./utils","./exception","./base","exports"], + function(__dependency1__, __dependency2__, __dependency3__, __exports__) { + "use strict"; + var Utils = __dependency1__; + var Exception = __dependency2__["default"]; + var COMPILER_REVISION = __dependency3__.COMPILER_REVISION; + var REVISION_CHANGES = __dependency3__.REVISION_CHANGES; + + function checkRevision(compilerInfo) { + var compilerRevision = compilerInfo && compilerInfo[0] || 1, + currentRevision = COMPILER_REVISION; + + if (compilerRevision !== currentRevision) { + if (compilerRevision < currentRevision) { + var runtimeVersions = REVISION_CHANGES[currentRevision], + compilerVersions = REVISION_CHANGES[compilerRevision]; + throw new Exception("Template was precompiled with an older version of Handlebars than the current runtime. "+ + "Please update your precompiler to a newer version ("+runtimeVersions+") or downgrade your runtime to an older version ("+compilerVersions+")."); + } else { + // Use the embedded version info since the runtime doesn't know about this revision yet + throw new Exception("Template was precompiled with a newer version of Handlebars than the current runtime. "+ + "Please update your runtime to a newer version ("+compilerInfo[1]+")."); + } + } + } + + __exports__.checkRevision = checkRevision;// TODO: Remove this line and break up compilePartial + + function template(templateSpec, env) { + if (!env) { + throw new Exception("No environment passed to template"); + } + + // Note: Using env.VM references rather than local var references throughout this section to allow + // for external users to override these as psuedo-supported APIs. + var invokePartialWrapper = function(partial, name, context, helpers, partials, data) { + var result = env.VM.invokePartial.apply(this, arguments); + if (result != null) { return result; } + + if (env.compile) { + var options = { helpers: helpers, partials: partials, data: data }; + partials[name] = env.compile(partial, { data: data !== undefined }, env); + return partials[name](context, options); + } else { + throw new Exception("The partial " + name + " could not be compiled when running in runtime-only mode"); + } + }; + + // Just add water + var container = { + escapeExpression: Utils.escapeExpression, + invokePartial: invokePartialWrapper, + programs: [], + program: function(i, fn, data) { + var programWrapper = this.programs[i]; + if(data) { + programWrapper = program(i, fn, data); + } else if (!programWrapper) { + programWrapper = this.programs[i] = program(i, fn); + } + return programWrapper; + }, + merge: function(param, common) { + var ret = param || common; + + if (param && common && (param !== common)) { + ret = {}; + Utils.extend(ret, common); + Utils.extend(ret, param); + } + return ret; + }, + programWithDepth: env.VM.programWithDepth, + noop: env.VM.noop, + compilerInfo: null + }; + + return function(context, options) { + options = options || {}; + var namespace = options.partial ? options : env, + helpers, + partials; + + if (!options.partial) { + helpers = options.helpers; + partials = options.partials; + } + var result = templateSpec.call( + container, + namespace, context, + helpers, + partials, + options.data); + + if (!options.partial) { + env.VM.checkRevision(container.compilerInfo); + } + + return result; + }; + } + + __exports__.template = template;function programWithDepth(i, fn, data /*, $depth */) { + var args = Array.prototype.slice.call(arguments, 3); + + var prog = function(context, options) { + options = options || {}; + + return fn.apply(this, [context, options.data || data].concat(args)); + }; + prog.program = i; + prog.depth = args.length; + return prog; + } + + __exports__.programWithDepth = programWithDepth;function program(i, fn, data) { + var prog = function(context, options) { + options = options || {}; + + return fn(context, options.data || data); + }; + prog.program = i; + prog.depth = 0; + return prog; + } + + __exports__.program = program;function invokePartial(partial, name, context, helpers, partials, data) { + var options = { partial: true, helpers: helpers, partials: partials, data: data }; + + if(partial === undefined) { + throw new Exception("The partial " + name + " could not be found"); + } else if(partial instanceof Function) { + return partial(context, options); + } + } + + __exports__.invokePartial = invokePartial;function noop() { return ""; } + + __exports__.noop = noop; + }); \ No newline at end of file diff --git a/handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars/safe-string.js b/handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars/safe-string.js new file mode 100644 index 0000000..5a2ad31 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars/safe-string.js @@ -0,0 +1,15 @@ +define( + ["exports"], + function(__exports__) { + "use strict"; + // Build out our basic SafeString type + function SafeString(string) { + this.string = string; + } + + SafeString.prototype.toString = function() { + return "" + this.string; + }; + + __exports__["default"] = SafeString; + }); \ No newline at end of file diff --git a/handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars/utils.js b/handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars/utils.js new file mode 100644 index 0000000..37ec830 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/dist/amd/handlebars/utils.js @@ -0,0 +1,80 @@ +define( + ["./safe-string","exports"], + function(__dependency1__, __exports__) { + "use strict"; + /*jshint -W004 */ + var SafeString = __dependency1__["default"]; + + var escape = { + "&": "&", + "<": "<", + ">": ">", + '"': """, + "'": "'", + "`": "`" + }; + + var badChars = /[&<>"'`]/g; + var possible = /[&<>"'`]/; + + function escapeChar(chr) { + return escape[chr] || "&"; + } + + function extend(obj, value) { + for(var key in value) { + if(Object.prototype.hasOwnProperty.call(value, key)) { + obj[key] = value[key]; + } + } + } + + __exports__.extend = extend;var toString = Object.prototype.toString; + __exports__.toString = toString; + // Sourced from lodash + // https://github.com/bestiejs/lodash/blob/master/LICENSE.txt + var isFunction = function(value) { + return typeof value === 'function'; + }; + // fallback for older versions of Chrome and Safari + if (isFunction(/x/)) { + isFunction = function(value) { + return typeof value === 'function' && toString.call(value) === '[object Function]'; + }; + } + var isFunction; + __exports__.isFunction = isFunction; + var isArray = Array.isArray || function(value) { + return (value && typeof value === 'object') ? toString.call(value) === '[object Array]' : false; + }; + __exports__.isArray = isArray; + + function escapeExpression(string) { + // don't escape SafeStrings, since they're already safe + if (string instanceof SafeString) { + return string.toString(); + } else if (!string && string !== 0) { + return ""; + } + + // Force a string conversion as this will be done by the append regardless and + // the regex test will do this transparently behind the scenes, causing issues if + // an object's to string has escaped characters in it. + string = "" + string; + + if(!possible.test(string)) { return string; } + return string.replace(badChars, escapeChar); + } + + __exports__.escapeExpression = escapeExpression;function isEmpty(value) { + if (!value && value !== 0) { + return true; + } else if (isArray(value) && value.length === 0) { + return true; + } else { + return false; + } + } + + __exports__.isEmpty = isEmpty; + }); \ No newline at end of file diff --git a/handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars.js b/handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars.js new file mode 100644 index 0000000..c8c3195 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars.js @@ -0,0 +1,37 @@ +"use strict"; +/*globals Handlebars: true */ +var Handlebars = require("./handlebars.runtime")["default"]; + +// Compiler imports +var AST = require("./handlebars/compiler/ast")["default"]; +var Parser = require("./handlebars/compiler/base").parser; +var parse = require("./handlebars/compiler/base").parse; +var Compiler = require("./handlebars/compiler/compiler").Compiler; +var compile = require("./handlebars/compiler/compiler").compile; +var precompile = require("./handlebars/compiler/compiler").precompile; +var JavaScriptCompiler = require("./handlebars/compiler/javascript-compiler")["default"]; + +var _create = Handlebars.create; +var create = function() { + var hb = _create(); + + hb.compile = function(input, options) { + return compile(input, options, hb); + }; + hb.precompile = function (input, options) { + return precompile(input, options, hb); + }; + + hb.AST = AST; + hb.Compiler = Compiler; + hb.JavaScriptCompiler = JavaScriptCompiler; + hb.Parser = Parser; + hb.parse = parse; + + return hb; +}; + +Handlebars = create(); +Handlebars.create = create; + +exports["default"] = Handlebars; \ No newline at end of file diff --git a/handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars.runtime.js b/handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars.runtime.js new file mode 100644 index 0000000..bd1820d --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars.runtime.js @@ -0,0 +1,32 @@ +"use strict"; +/*globals Handlebars: true */ +var base = require("./handlebars/base"); + +// Each of these augment the Handlebars object. No need to setup here. +// (This is done to easily share code between commonjs and browse envs) +var SafeString = require("./handlebars/safe-string")["default"]; +var Exception = require("./handlebars/exception")["default"]; +var Utils = require("./handlebars/utils"); +var runtime = require("./handlebars/runtime"); + +// For compatibility and usage outside of module systems, make the Handlebars object a namespace +var create = function() { + var hb = new base.HandlebarsEnvironment(); + + Utils.extend(hb, base); + hb.SafeString = SafeString; + hb.Exception = Exception; + hb.Utils = Utils; + + hb.VM = runtime; + hb.template = function(spec) { + return runtime.template(spec, hb); + }; + + return hb; +}; + +var Handlebars = create(); +Handlebars.create = create; + +exports["default"] = Handlebars; \ No newline at end of file diff --git a/handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars/base.js b/handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars/base.js new file mode 100644 index 0000000..d57bf06 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars/base.js @@ -0,0 +1,180 @@ +"use strict"; +var Utils = require("./utils"); +var Exception = require("./exception")["default"]; + +var VERSION = "1.3.0"; +exports.VERSION = VERSION;var COMPILER_REVISION = 4; +exports.COMPILER_REVISION = COMPILER_REVISION; +var REVISION_CHANGES = { + 1: '<= 1.0.rc.2', // 1.0.rc.2 is actually rev2 but doesn't report it + 2: '== 1.0.0-rc.3', + 3: '== 1.0.0-rc.4', + 4: '>= 1.0.0' +}; +exports.REVISION_CHANGES = REVISION_CHANGES; +var isArray = Utils.isArray, + isFunction = Utils.isFunction, + toString = Utils.toString, + objectType = '[object Object]'; + +function HandlebarsEnvironment(helpers, partials) { + this.helpers = helpers || {}; + this.partials = partials || {}; + + registerDefaultHelpers(this); +} + +exports.HandlebarsEnvironment = HandlebarsEnvironment;HandlebarsEnvironment.prototype = { + constructor: HandlebarsEnvironment, + + logger: logger, + log: log, + + registerHelper: function(name, fn, inverse) { + if (toString.call(name) === objectType) { + if (inverse || fn) { throw new Exception('Arg not supported with multiple helpers'); } + Utils.extend(this.helpers, name); + } else { + if (inverse) { fn.not = inverse; } + this.helpers[name] = fn; + } + }, + + registerPartial: function(name, str) { + if (toString.call(name) === objectType) { + Utils.extend(this.partials, name); + } else { + this.partials[name] = str; + } + } +}; + +function registerDefaultHelpers(instance) { + instance.registerHelper('helperMissing', function(arg) { + if(arguments.length === 2) { + return undefined; + } else { + throw new Exception("Missing helper: '" + arg + "'"); + } + }); + + instance.registerHelper('blockHelperMissing', function(context, options) { + var inverse = options.inverse || function() {}, fn = options.fn; + + if (isFunction(context)) { context = context.call(this); } + + if(context === true) { + return fn(this); + } else if(context === false || context == null) { + return inverse(this); + } else if (isArray(context)) { + if(context.length > 0) { + return instance.helpers.each(context, options); + } else { + return inverse(this); + } + } else { + return fn(context); + } + }); + + instance.registerHelper('each', function(context, options) { + var fn = options.fn, inverse = options.inverse; + var i = 0, ret = "", data; + + if (isFunction(context)) { context = context.call(this); } + + if (options.data) { + data = createFrame(options.data); + } + + if(context && typeof context === 'object') { + if (isArray(context)) { + for(var j = context.length; i 0) { + throw new Exception("Invalid path: " + original, this); + } else if (part === "..") { + depth++; + } else { + this.isScoped = true; + } + } else { + dig.push(part); + } + } + + this.original = original; + this.parts = dig; + this.string = dig.join('.'); + this.depth = depth; + + // an ID is simple if it only has one part, and that part is not + // `..` or `this`. + this.isSimple = parts.length === 1 && !this.isScoped && depth === 0; + + this.stringModeValue = this.string; + }, + + PartialNameNode: function(name, locInfo) { + LocationInfo.call(this, locInfo); + this.type = "PARTIAL_NAME"; + this.name = name.original; + }, + + DataNode: function(id, locInfo) { + LocationInfo.call(this, locInfo); + this.type = "DATA"; + this.id = id; + }, + + StringNode: function(string, locInfo) { + LocationInfo.call(this, locInfo); + this.type = "STRING"; + this.original = + this.string = + this.stringModeValue = string; + }, + + IntegerNode: function(integer, locInfo) { + LocationInfo.call(this, locInfo); + this.type = "INTEGER"; + this.original = + this.integer = integer; + this.stringModeValue = Number(integer); + }, + + BooleanNode: function(bool, locInfo) { + LocationInfo.call(this, locInfo); + this.type = "BOOLEAN"; + this.bool = bool; + this.stringModeValue = bool === "true"; + }, + + CommentNode: function(comment, locInfo) { + LocationInfo.call(this, locInfo); + this.type = "comment"; + this.comment = comment; + } +}; + +// Must be exported as an object rather than the root of the module as the jison lexer +// most modify the object to operate properly. +exports["default"] = AST; \ No newline at end of file diff --git a/handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars/compiler/base.js b/handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars/compiler/base.js new file mode 100644 index 0000000..4c99b9c --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars/compiler/base.js @@ -0,0 +1,15 @@ +"use strict"; +var parser = require("./parser")["default"]; +var AST = require("./ast")["default"]; + +exports.parser = parser; + +function parse(input) { + // Just return if an already-compile AST was passed in. + if(input.constructor === AST.ProgramNode) { return input; } + + parser.yy = AST; + return parser.parse(input); +} + +exports.parse = parse; \ No newline at end of file diff --git a/handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars/compiler/compiler.js b/handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars/compiler/compiler.js new file mode 100644 index 0000000..3357ef3 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars/compiler/compiler.js @@ -0,0 +1,469 @@ +"use strict"; +var Exception = require("../exception")["default"]; + +function Compiler() {} + +exports.Compiler = Compiler;// the foundHelper register will disambiguate helper lookup from finding a +// function in a context. This is necessary for mustache compatibility, which +// requires that context functions in blocks are evaluated by blockHelperMissing, +// and then proceed as if the resulting value was provided to blockHelperMissing. + +Compiler.prototype = { + compiler: Compiler, + + disassemble: function() { + var opcodes = this.opcodes, opcode, out = [], params, param; + + for (var i=0, l=opcodes.length; i 0) { + this.source[1] = this.source[1] + ", " + locals.join(", "); + } + + // Generate minimizer alias mappings + if (!this.isChild) { + for (var alias in this.context.aliases) { + if (this.context.aliases.hasOwnProperty(alias)) { + this.source[1] = this.source[1] + ', ' + alias + '=' + this.context.aliases[alias]; + } + } + } + + if (this.source[1]) { + this.source[1] = "var " + this.source[1].substring(2) + ";"; + } + + // Merge children + if (!this.isChild) { + this.source[1] += '\n' + this.context.programs.join('\n') + '\n'; + } + + if (!this.environment.isSimple) { + this.pushSource("return buffer;"); + } + + var params = this.isChild ? ["depth0", "data"] : ["Handlebars", "depth0", "helpers", "partials", "data"]; + + for(var i=0, l=this.environment.depths.list.length; i this.stackVars.length) { this.stackVars.push("stack" + this.stackSlot); } + return this.topStackName(); + }, + topStackName: function() { + return "stack" + this.stackSlot; + }, + flushInline: function() { + var inlineStack = this.inlineStack; + if (inlineStack.length) { + this.inlineStack = []; + for (var i = 0, len = inlineStack.length; i < len; i++) { + var entry = inlineStack[i]; + if (entry instanceof Literal) { + this.compileStack.push(entry); + } else { + this.pushStack(entry); + } + } + } + }, + isInline: function() { + return this.inlineStack.length; + }, + + popStack: function(wrapped) { + var inline = this.isInline(), + item = (inline ? this.inlineStack : this.compileStack).pop(); + + if (!wrapped && (item instanceof Literal)) { + return item.value; + } else { + if (!inline) { + if (!this.stackSlot) { + throw new Exception('Invalid stack pop'); + } + this.stackSlot--; + } + return item; + } + }, + + topStack: function(wrapped) { + var stack = (this.isInline() ? this.inlineStack : this.compileStack), + item = stack[stack.length - 1]; + + if (!wrapped && (item instanceof Literal)) { + return item.value; + } else { + return item; + } + }, + + quotedString: function(str) { + return '"' + str + .replace(/\\/g, '\\\\') + .replace(/"/g, '\\"') + .replace(/\n/g, '\\n') + .replace(/\r/g, '\\r') + .replace(/\u2028/g, '\\u2028') // Per Ecma-262 7.3 + 7.8.4 + .replace(/\u2029/g, '\\u2029') + '"'; + }, + + setupHelper: function(paramSize, name, missingParams) { + var params = [], + paramsInit = this.setupParams(paramSize, params, missingParams); + var foundHelper = this.nameLookup('helpers', name, 'helper'); + + return { + params: params, + paramsInit: paramsInit, + name: foundHelper, + callParams: ["depth0"].concat(params).join(", "), + helperMissingParams: missingParams && ["depth0", this.quotedString(name)].concat(params).join(", ") + }; + }, + + setupOptions: function(paramSize, params) { + var options = [], contexts = [], types = [], param, inverse, program; + + options.push("hash:" + this.popStack()); + + if (this.options.stringParams) { + options.push("hashTypes:" + this.popStack()); + options.push("hashContexts:" + this.popStack()); + } + + inverse = this.popStack(); + program = this.popStack(); + + // Avoid setting fn and inverse if neither are set. This allows + // helpers to do a check for `if (options.fn)` + if (program || inverse) { + if (!program) { + this.context.aliases.self = "this"; + program = "self.noop"; + } + + if (!inverse) { + this.context.aliases.self = "this"; + inverse = "self.noop"; + } + + options.push("inverse:" + inverse); + options.push("fn:" + program); + } + + for(var i=0; i 2) { + expected.push("'" + this.terminals_[p] + "'"); + } + if (this.lexer.showPosition) { + errStr = "Parse error on line " + (yylineno + 1) + ":\n" + this.lexer.showPosition() + "\nExpecting " + expected.join(", ") + ", got '" + (this.terminals_[symbol] || symbol) + "'"; + } else { + errStr = "Parse error on line " + (yylineno + 1) + ": Unexpected " + (symbol == 1?"end of input":"'" + (this.terminals_[symbol] || symbol) + "'"); + } + this.parseError(errStr, {text: this.lexer.match, token: this.terminals_[symbol] || symbol, line: this.lexer.yylineno, loc: yyloc, expected: expected}); + } + } + if (action[0] instanceof Array && action.length > 1) { + throw new Error("Parse Error: multiple actions possible at state: " + state + ", token: " + symbol); + } + switch (action[0]) { + case 1: + stack.push(symbol); + vstack.push(this.lexer.yytext); + lstack.push(this.lexer.yylloc); + stack.push(action[1]); + symbol = null; + if (!preErrorSymbol) { + yyleng = this.lexer.yyleng; + yytext = this.lexer.yytext; + yylineno = this.lexer.yylineno; + yyloc = this.lexer.yylloc; + if (recovering > 0) + recovering--; + } else { + symbol = preErrorSymbol; + preErrorSymbol = null; + } + break; + case 2: + len = this.productions_[action[1]][1]; + yyval.$ = vstack[vstack.length - len]; + yyval._$ = {first_line: lstack[lstack.length - (len || 1)].first_line, last_line: lstack[lstack.length - 1].last_line, first_column: lstack[lstack.length - (len || 1)].first_column, last_column: lstack[lstack.length - 1].last_column}; + if (ranges) { + yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]]; + } + r = this.performAction.call(yyval, yytext, yyleng, yylineno, this.yy, action[1], vstack, lstack); + if (typeof r !== "undefined") { + return r; + } + if (len) { + stack = stack.slice(0, -1 * len * 2); + vstack = vstack.slice(0, -1 * len); + lstack = lstack.slice(0, -1 * len); + } + stack.push(this.productions_[action[1]][0]); + vstack.push(yyval.$); + lstack.push(yyval._$); + newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; + stack.push(newState); + break; + case 3: + return true; + } + } + return true; +} +}; + + +function stripFlags(open, close) { + return { + left: open.charAt(2) === '~', + right: close.charAt(0) === '~' || close.charAt(1) === '~' + }; +} + +/* Jison generated lexer */ +var lexer = (function(){ +var lexer = ({EOF:1, +parseError:function parseError(str, hash) { + if (this.yy.parser) { + this.yy.parser.parseError(str, hash); + } else { + throw new Error(str); + } + }, +setInput:function (input) { + this._input = input; + this._more = this._less = this.done = false; + this.yylineno = this.yyleng = 0; + this.yytext = this.matched = this.match = ''; + this.conditionStack = ['INITIAL']; + this.yylloc = {first_line:1,first_column:0,last_line:1,last_column:0}; + if (this.options.ranges) this.yylloc.range = [0,0]; + this.offset = 0; + return this; + }, +input:function () { + var ch = this._input[0]; + this.yytext += ch; + this.yyleng++; + this.offset++; + this.match += ch; + this.matched += ch; + var lines = ch.match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno++; + this.yylloc.last_line++; + } else { + this.yylloc.last_column++; + } + if (this.options.ranges) this.yylloc.range[1]++; + + this._input = this._input.slice(1); + return ch; + }, +unput:function (ch) { + var len = ch.length; + var lines = ch.split(/(?:\r\n?|\n)/g); + + this._input = ch + this._input; + this.yytext = this.yytext.substr(0, this.yytext.length-len-1); + //this.yyleng -= len; + this.offset -= len; + var oldLines = this.match.split(/(?:\r\n?|\n)/g); + this.match = this.match.substr(0, this.match.length-1); + this.matched = this.matched.substr(0, this.matched.length-1); + + if (lines.length-1) this.yylineno -= lines.length-1; + var r = this.yylloc.range; + + this.yylloc = {first_line: this.yylloc.first_line, + last_line: this.yylineno+1, + first_column: this.yylloc.first_column, + last_column: lines ? + (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length: + this.yylloc.first_column - len + }; + + if (this.options.ranges) { + this.yylloc.range = [r[0], r[0] + this.yyleng - len]; + } + return this; + }, +more:function () { + this._more = true; + return this; + }, +less:function (n) { + this.unput(this.match.slice(n)); + }, +pastInput:function () { + var past = this.matched.substr(0, this.matched.length - this.match.length); + return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); + }, +upcomingInput:function () { + var next = this.match; + if (next.length < 20) { + next += this._input.substr(0, 20-next.length); + } + return (next.substr(0,20)+(next.length > 20 ? '...':'')).replace(/\n/g, ""); + }, +showPosition:function () { + var pre = this.pastInput(); + var c = new Array(pre.length + 1).join("-"); + return pre + this.upcomingInput() + "\n" + c+"^"; + }, +next:function () { + if (this.done) { + return this.EOF; + } + if (!this._input) this.done = true; + + var token, + match, + tempMatch, + index, + col, + lines; + if (!this._more) { + this.yytext = ''; + this.match = ''; + } + var rules = this._currentRules(); + for (var i=0;i < rules.length; i++) { + tempMatch = this._input.match(this.rules[rules[i]]); + if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { + match = tempMatch; + index = i; + if (!this.options.flex) break; + } + } + if (match) { + lines = match[0].match(/(?:\r\n?|\n).*/g); + if (lines) this.yylineno += lines.length; + this.yylloc = {first_line: this.yylloc.last_line, + last_line: this.yylineno+1, + first_column: this.yylloc.last_column, + last_column: lines ? lines[lines.length-1].length-lines[lines.length-1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length}; + this.yytext += match[0]; + this.match += match[0]; + this.matches = match; + this.yyleng = this.yytext.length; + if (this.options.ranges) { + this.yylloc.range = [this.offset, this.offset += this.yyleng]; + } + this._more = false; + this._input = this._input.slice(match[0].length); + this.matched += match[0]; + token = this.performAction.call(this, this.yy, this, rules[index],this.conditionStack[this.conditionStack.length-1]); + if (this.done && this._input) this.done = false; + if (token) return token; + else return; + } + if (this._input === "") { + return this.EOF; + } else { + return this.parseError('Lexical error on line '+(this.yylineno+1)+'. Unrecognized text.\n'+this.showPosition(), + {text: "", token: null, line: this.yylineno}); + } + }, +lex:function lex() { + var r = this.next(); + if (typeof r !== 'undefined') { + return r; + } else { + return this.lex(); + } + }, +begin:function begin(condition) { + this.conditionStack.push(condition); + }, +popState:function popState() { + return this.conditionStack.pop(); + }, +_currentRules:function _currentRules() { + return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules; + }, +topState:function () { + return this.conditionStack[this.conditionStack.length-2]; + }, +pushState:function begin(condition) { + this.begin(condition); + }}); +lexer.options = {}; +lexer.performAction = function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { + + +function strip(start, end) { + return yy_.yytext = yy_.yytext.substr(start, yy_.yyleng-end); +} + + +var YYSTATE=YY_START +switch($avoiding_name_collisions) { +case 0: + if(yy_.yytext.slice(-2) === "\\\\") { + strip(0,1); + this.begin("mu"); + } else if(yy_.yytext.slice(-1) === "\\") { + strip(0,1); + this.begin("emu"); + } else { + this.begin("mu"); + } + if(yy_.yytext) return 14; + +break; +case 1:return 14; +break; +case 2: + this.popState(); + return 14; + +break; +case 3:strip(0,4); this.popState(); return 15; +break; +case 4:return 35; +break; +case 5:return 36; +break; +case 6:return 25; +break; +case 7:return 16; +break; +case 8:return 20; +break; +case 9:return 19; +break; +case 10:return 19; +break; +case 11:return 23; +break; +case 12:return 22; +break; +case 13:this.popState(); this.begin('com'); +break; +case 14:strip(3,5); this.popState(); return 15; +break; +case 15:return 22; +break; +case 16:return 41; +break; +case 17:return 40; +break; +case 18:return 40; +break; +case 19:return 44; +break; +case 20:// ignore whitespace +break; +case 21:this.popState(); return 24; +break; +case 22:this.popState(); return 18; +break; +case 23:yy_.yytext = strip(1,2).replace(/\\"/g,'"'); return 32; +break; +case 24:yy_.yytext = strip(1,2).replace(/\\'/g,"'"); return 32; +break; +case 25:return 42; +break; +case 26:return 34; +break; +case 27:return 34; +break; +case 28:return 33; +break; +case 29:return 40; +break; +case 30:yy_.yytext = strip(1,2); return 40; +break; +case 31:return 'INVALID'; +break; +case 32:return 5; +break; +} +}; +lexer.rules = [/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:[\s\S]*?--\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{!--)/,/^(?:\{\{![\s\S]*?\}\})/,/^(?:\{\{(~)?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:-?[0-9]+(?=([~}\s)])))/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)]))))/,/^(?:\[[^\]]*\])/,/^(?:.)/,/^(?:$)/]; +lexer.conditions = {"mu":{"rules":[4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32],"inclusive":false},"emu":{"rules":[2],"inclusive":false},"com":{"rules":[3],"inclusive":false},"INITIAL":{"rules":[0,1,32],"inclusive":true}}; +return lexer;})() +parser.lexer = lexer; +function Parser () { this.yy = {}; }Parser.prototype = parser;parser.Parser = Parser; +return new Parser; +})();exports["default"] = handlebars; +/* jshint ignore:end */ \ No newline at end of file diff --git a/handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars/compiler/printer.js b/handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars/compiler/printer.js new file mode 100644 index 0000000..5d2ca04 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars/compiler/printer.js @@ -0,0 +1,138 @@ +"use strict"; +var Visitor = require("./visitor")["default"]; + +function print(ast) { + return new PrintVisitor().accept(ast); +} + +exports.print = print;function PrintVisitor() { + this.padding = 0; +} + +exports.PrintVisitor = PrintVisitor;PrintVisitor.prototype = new Visitor(); + +PrintVisitor.prototype.pad = function(string, newline) { + var out = ""; + + for(var i=0,l=this.padding; i " + content + " }}"); +}; + +PrintVisitor.prototype.hash = function(hash) { + var pairs = hash.pairs; + var joinedPairs = [], left, right; + + for(var i=0, l=pairs.length; i 1) { + return "PATH:" + path; + } else { + return "ID:" + path; + } +}; + +PrintVisitor.prototype.PARTIAL_NAME = function(partialName) { + return "PARTIAL:" + partialName.name; +}; + +PrintVisitor.prototype.DATA = function(data) { + return "@" + this.accept(data.id); +}; + +PrintVisitor.prototype.content = function(content) { + return this.pad("CONTENT[ '" + content.string + "' ]"); +}; + +PrintVisitor.prototype.comment = function(comment) { + return this.pad("{{! '" + comment.comment + "' }}"); +}; \ No newline at end of file diff --git a/handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars/compiler/visitor.js b/handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars/compiler/visitor.js new file mode 100644 index 0000000..cb28dec --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars/compiler/visitor.js @@ -0,0 +1,12 @@ +"use strict"; +function Visitor() {} + +Visitor.prototype = { + constructor: Visitor, + + accept: function(object) { + return this[object.type](object); + } +}; + +exports["default"] = Visitor; \ No newline at end of file diff --git a/handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars/exception.js b/handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars/exception.js new file mode 100644 index 0000000..a9ff3b6 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars/exception.js @@ -0,0 +1,28 @@ +"use strict"; + +var errorProps = ['description', 'fileName', 'lineNumber', 'message', 'name', 'number', 'stack']; + +function Exception(message, node) { + var line; + if (node && node.firstLine) { + line = node.firstLine; + + message += ' - ' + line + ':' + node.firstColumn; + } + + var tmp = Error.prototype.constructor.call(this, message); + + // Unfortunately errors are not enumerable in Chrome (at least), so `for prop in tmp` doesn't work. + for (var idx = 0; idx < errorProps.length; idx++) { + this[errorProps[idx]] = tmp[errorProps[idx]]; + } + + if (line) { + this.lineNumber = line; + this.column = node.firstColumn; + } +} + +Exception.prototype = new Error(); + +exports["default"] = Exception; \ No newline at end of file diff --git a/handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars/runtime.js b/handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars/runtime.js new file mode 100644 index 0000000..85070a6 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars/runtime.js @@ -0,0 +1,137 @@ +"use strict"; +var Utils = require("./utils"); +var Exception = require("./exception")["default"]; +var COMPILER_REVISION = require("./base").COMPILER_REVISION; +var REVISION_CHANGES = require("./base").REVISION_CHANGES; + +function checkRevision(compilerInfo) { + var compilerRevision = compilerInfo && compilerInfo[0] || 1, + currentRevision = COMPILER_REVISION; + + if (compilerRevision !== currentRevision) { + if (compilerRevision < currentRevision) { + var runtimeVersions = REVISION_CHANGES[currentRevision], + compilerVersions = REVISION_CHANGES[compilerRevision]; + throw new Exception("Template was precompiled with an older version of Handlebars than the current runtime. "+ + "Please update your precompiler to a newer version ("+runtimeVersions+") or downgrade your runtime to an older version ("+compilerVersions+")."); + } else { + // Use the embedded version info since the runtime doesn't know about this revision yet + throw new Exception("Template was precompiled with a newer version of Handlebars than the current runtime. "+ + "Please update your runtime to a newer version ("+compilerInfo[1]+")."); + } + } +} + +exports.checkRevision = checkRevision;// TODO: Remove this line and break up compilePartial + +function template(templateSpec, env) { + if (!env) { + throw new Exception("No environment passed to template"); + } + + // Note: Using env.VM references rather than local var references throughout this section to allow + // for external users to override these as psuedo-supported APIs. + var invokePartialWrapper = function(partial, name, context, helpers, partials, data) { + var result = env.VM.invokePartial.apply(this, arguments); + if (result != null) { return result; } + + if (env.compile) { + var options = { helpers: helpers, partials: partials, data: data }; + partials[name] = env.compile(partial, { data: data !== undefined }, env); + return partials[name](context, options); + } else { + throw new Exception("The partial " + name + " could not be compiled when running in runtime-only mode"); + } + }; + + // Just add water + var container = { + escapeExpression: Utils.escapeExpression, + invokePartial: invokePartialWrapper, + programs: [], + program: function(i, fn, data) { + var programWrapper = this.programs[i]; + if(data) { + programWrapper = program(i, fn, data); + } else if (!programWrapper) { + programWrapper = this.programs[i] = program(i, fn); + } + return programWrapper; + }, + merge: function(param, common) { + var ret = param || common; + + if (param && common && (param !== common)) { + ret = {}; + Utils.extend(ret, common); + Utils.extend(ret, param); + } + return ret; + }, + programWithDepth: env.VM.programWithDepth, + noop: env.VM.noop, + compilerInfo: null + }; + + return function(context, options) { + options = options || {}; + var namespace = options.partial ? options : env, + helpers, + partials; + + if (!options.partial) { + helpers = options.helpers; + partials = options.partials; + } + var result = templateSpec.call( + container, + namespace, context, + helpers, + partials, + options.data); + + if (!options.partial) { + env.VM.checkRevision(container.compilerInfo); + } + + return result; + }; +} + +exports.template = template;function programWithDepth(i, fn, data /*, $depth */) { + var args = Array.prototype.slice.call(arguments, 3); + + var prog = function(context, options) { + options = options || {}; + + return fn.apply(this, [context, options.data || data].concat(args)); + }; + prog.program = i; + prog.depth = args.length; + return prog; +} + +exports.programWithDepth = programWithDepth;function program(i, fn, data) { + var prog = function(context, options) { + options = options || {}; + + return fn(context, options.data || data); + }; + prog.program = i; + prog.depth = 0; + return prog; +} + +exports.program = program;function invokePartial(partial, name, context, helpers, partials, data) { + var options = { partial: true, helpers: helpers, partials: partials, data: data }; + + if(partial === undefined) { + throw new Exception("The partial " + name + " could not be found"); + } else if(partial instanceof Function) { + return partial(context, options); + } +} + +exports.invokePartial = invokePartial;function noop() { return ""; } + +exports.noop = noop; \ No newline at end of file diff --git a/handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars/safe-string.js b/handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars/safe-string.js new file mode 100644 index 0000000..dffadbf --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars/safe-string.js @@ -0,0 +1,11 @@ +"use strict"; +// Build out our basic SafeString type +function SafeString(string) { + this.string = string; +} + +SafeString.prototype.toString = function() { + return "" + this.string; +}; + +exports["default"] = SafeString; \ No newline at end of file diff --git a/handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars/utils.js b/handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars/utils.js new file mode 100644 index 0000000..c045547 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/dist/cjs/handlebars/utils.js @@ -0,0 +1,76 @@ +"use strict"; +/*jshint -W004 */ +var SafeString = require("./safe-string")["default"]; + +var escape = { + "&": "&", + "<": "<", + ">": ">", + '"': """, + "'": "'", + "`": "`" +}; + +var badChars = /[&<>"'`]/g; +var possible = /[&<>"'`]/; + +function escapeChar(chr) { + return escape[chr] || "&"; +} + +function extend(obj, value) { + for(var key in value) { + if(Object.prototype.hasOwnProperty.call(value, key)) { + obj[key] = value[key]; + } + } +} + +exports.extend = extend;var toString = Object.prototype.toString; +exports.toString = toString; +// Sourced from lodash +// https://github.com/bestiejs/lodash/blob/master/LICENSE.txt +var isFunction = function(value) { + return typeof value === 'function'; +}; +// fallback for older versions of Chrome and Safari +if (isFunction(/x/)) { + isFunction = function(value) { + return typeof value === 'function' && toString.call(value) === '[object Function]'; + }; +} +var isFunction; +exports.isFunction = isFunction; +var isArray = Array.isArray || function(value) { + return (value && typeof value === 'object') ? toString.call(value) === '[object Array]' : false; +}; +exports.isArray = isArray; + +function escapeExpression(string) { + // don't escape SafeStrings, since they're already safe + if (string instanceof SafeString) { + return string.toString(); + } else if (!string && string !== 0) { + return ""; + } + + // Force a string conversion as this will be done by the append regardless and + // the regex test will do this transparently behind the scenes, causing issues if + // an object's to string has escaped characters in it. + string = "" + string; + + if(!possible.test(string)) { return string; } + return string.replace(badChars, escapeChar); +} + +exports.escapeExpression = escapeExpression;function isEmpty(value) { + if (!value && value !== 0) { + return true; + } else if (isArray(value) && value.length === 0) { + return true; + } else { + return false; + } +} + +exports.isEmpty = isEmpty; \ No newline at end of file diff --git a/handlebars-node-precompiled/node_modules/handlebars/dist/handlebars.amd.js b/handlebars-node-precompiled/node_modules/handlebars/dist/handlebars.amd.js new file mode 100644 index 0000000..b51e42a --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/dist/handlebars.amd.js @@ -0,0 +1,2719 @@ +/*! + + handlebars v1.3.0 + +Copyright (C) 2011 by Yehuda Katz + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +@license +*/ + +define( + 'handlebars/safe-string',["exports"], + function(__exports__) { + + // Build out our basic SafeString type + function SafeString(string) { + this.string = string; + } + + SafeString.prototype.toString = function() { + return "" + this.string; + }; + + __exports__["default"] = SafeString; + }); +define( + 'handlebars/utils',["./safe-string","exports"], + function(__dependency1__, __exports__) { + + /*jshint -W004 */ + var SafeString = __dependency1__["default"]; + + var escape = { + "&": "&", + "<": "<", + ">": ">", + '"': """, + "'": "'", + "`": "`" + }; + + var badChars = /[&<>"'`]/g; + var possible = /[&<>"'`]/; + + function escapeChar(chr) { + return escape[chr] || "&"; + } + + function extend(obj, value) { + for(var key in value) { + if(Object.prototype.hasOwnProperty.call(value, key)) { + obj[key] = value[key]; + } + } + } + + __exports__.extend = extend;var toString = Object.prototype.toString; + __exports__.toString = toString; + // Sourced from lodash + // https://github.com/bestiejs/lodash/blob/master/LICENSE.txt + var isFunction = function(value) { + return typeof value === 'function'; + }; + // fallback for older versions of Chrome and Safari + if (isFunction(/x/)) { + isFunction = function(value) { + return typeof value === 'function' && toString.call(value) === '[object Function]'; + }; + } + var isFunction; + __exports__.isFunction = isFunction; + var isArray = Array.isArray || function(value) { + return (value && typeof value === 'object') ? toString.call(value) === '[object Array]' : false; + }; + __exports__.isArray = isArray; + + function escapeExpression(string) { + // don't escape SafeStrings, since they're already safe + if (string instanceof SafeString) { + return string.toString(); + } else if (!string && string !== 0) { + return ""; + } + + // Force a string conversion as this will be done by the append regardless and + // the regex test will do this transparently behind the scenes, causing issues if + // an object's to string has escaped characters in it. + string = "" + string; + + if(!possible.test(string)) { return string; } + return string.replace(badChars, escapeChar); + } + + __exports__.escapeExpression = escapeExpression;function isEmpty(value) { + if (!value && value !== 0) { + return true; + } else if (isArray(value) && value.length === 0) { + return true; + } else { + return false; + } + } + + __exports__.isEmpty = isEmpty; + }); +define( + 'handlebars/exception',["exports"], + function(__exports__) { + + + var errorProps = ['description', 'fileName', 'lineNumber', 'message', 'name', 'number', 'stack']; + + function Exception(message, node) { + var line; + if (node && node.firstLine) { + line = node.firstLine; + + message += ' - ' + line + ':' + node.firstColumn; + } + + var tmp = Error.prototype.constructor.call(this, message); + + // Unfortunately errors are not enumerable in Chrome (at least), so `for prop in tmp` doesn't work. + for (var idx = 0; idx < errorProps.length; idx++) { + this[errorProps[idx]] = tmp[errorProps[idx]]; + } + + if (line) { + this.lineNumber = line; + this.column = node.firstColumn; + } + } + + Exception.prototype = new Error(); + + __exports__["default"] = Exception; + }); +define( + 'handlebars/base',["./utils","./exception","exports"], + function(__dependency1__, __dependency2__, __exports__) { + + var Utils = __dependency1__; + var Exception = __dependency2__["default"]; + + var VERSION = "1.3.0"; + __exports__.VERSION = VERSION;var COMPILER_REVISION = 4; + __exports__.COMPILER_REVISION = COMPILER_REVISION; + var REVISION_CHANGES = { + 1: '<= 1.0.rc.2', // 1.0.rc.2 is actually rev2 but doesn't report it + 2: '== 1.0.0-rc.3', + 3: '== 1.0.0-rc.4', + 4: '>= 1.0.0' + }; + __exports__.REVISION_CHANGES = REVISION_CHANGES; + var isArray = Utils.isArray, + isFunction = Utils.isFunction, + toString = Utils.toString, + objectType = '[object Object]'; + + function HandlebarsEnvironment(helpers, partials) { + this.helpers = helpers || {}; + this.partials = partials || {}; + + registerDefaultHelpers(this); + } + + __exports__.HandlebarsEnvironment = HandlebarsEnvironment;HandlebarsEnvironment.prototype = { + constructor: HandlebarsEnvironment, + + logger: logger, + log: log, + + registerHelper: function(name, fn, inverse) { + if (toString.call(name) === objectType) { + if (inverse || fn) { throw new Exception('Arg not supported with multiple helpers'); } + Utils.extend(this.helpers, name); + } else { + if (inverse) { fn.not = inverse; } + this.helpers[name] = fn; + } + }, + + registerPartial: function(name, str) { + if (toString.call(name) === objectType) { + Utils.extend(this.partials, name); + } else { + this.partials[name] = str; + } + } + }; + + function registerDefaultHelpers(instance) { + instance.registerHelper('helperMissing', function(arg) { + if(arguments.length === 2) { + return undefined; + } else { + throw new Exception("Missing helper: '" + arg + "'"); + } + }); + + instance.registerHelper('blockHelperMissing', function(context, options) { + var inverse = options.inverse || function() {}, fn = options.fn; + + if (isFunction(context)) { context = context.call(this); } + + if(context === true) { + return fn(this); + } else if(context === false || context == null) { + return inverse(this); + } else if (isArray(context)) { + if(context.length > 0) { + return instance.helpers.each(context, options); + } else { + return inverse(this); + } + } else { + return fn(context); + } + }); + + instance.registerHelper('each', function(context, options) { + var fn = options.fn, inverse = options.inverse; + var i = 0, ret = "", data; + + if (isFunction(context)) { context = context.call(this); } + + if (options.data) { + data = createFrame(options.data); + } + + if(context && typeof context === 'object') { + if (isArray(context)) { + for(var j = context.length; i 0) { + throw new Exception("Invalid path: " + original, this); + } else if (part === "..") { + depth++; + } else { + this.isScoped = true; + } + } else { + dig.push(part); + } + } + + this.original = original; + this.parts = dig; + this.string = dig.join('.'); + this.depth = depth; + + // an ID is simple if it only has one part, and that part is not + // `..` or `this`. + this.isSimple = parts.length === 1 && !this.isScoped && depth === 0; + + this.stringModeValue = this.string; + }, + + PartialNameNode: function(name, locInfo) { + LocationInfo.call(this, locInfo); + this.type = "PARTIAL_NAME"; + this.name = name.original; + }, + + DataNode: function(id, locInfo) { + LocationInfo.call(this, locInfo); + this.type = "DATA"; + this.id = id; + }, + + StringNode: function(string, locInfo) { + LocationInfo.call(this, locInfo); + this.type = "STRING"; + this.original = + this.string = + this.stringModeValue = string; + }, + + IntegerNode: function(integer, locInfo) { + LocationInfo.call(this, locInfo); + this.type = "INTEGER"; + this.original = + this.integer = integer; + this.stringModeValue = Number(integer); + }, + + BooleanNode: function(bool, locInfo) { + LocationInfo.call(this, locInfo); + this.type = "BOOLEAN"; + this.bool = bool; + this.stringModeValue = bool === "true"; + }, + + CommentNode: function(comment, locInfo) { + LocationInfo.call(this, locInfo); + this.type = "comment"; + this.comment = comment; + } + }; + + // Must be exported as an object rather than the root of the module as the jison lexer + // most modify the object to operate properly. + __exports__["default"] = AST; + }); +define( + 'handlebars/compiler/parser',["exports"], + function(__exports__) { + + /* jshint ignore:start */ + /* Jison generated parser */ + var handlebars = (function(){ + var parser = {trace: function trace() { }, + yy: {}, + symbols_: {"error":2,"root":3,"statements":4,"EOF":5,"program":6,"simpleInverse":7,"statement":8,"openInverse":9,"closeBlock":10,"openBlock":11,"mustache":12,"partial":13,"CONTENT":14,"COMMENT":15,"OPEN_BLOCK":16,"sexpr":17,"CLOSE":18,"OPEN_INVERSE":19,"OPEN_ENDBLOCK":20,"path":21,"OPEN":22,"OPEN_UNESCAPED":23,"CLOSE_UNESCAPED":24,"OPEN_PARTIAL":25,"partialName":26,"partial_option0":27,"sexpr_repetition0":28,"sexpr_option0":29,"dataName":30,"param":31,"STRING":32,"INTEGER":33,"BOOLEAN":34,"OPEN_SEXPR":35,"CLOSE_SEXPR":36,"hash":37,"hash_repetition_plus0":38,"hashSegment":39,"ID":40,"EQUALS":41,"DATA":42,"pathSegments":43,"SEP":44,"$accept":0,"$end":1}, + terminals_: {2:"error",5:"EOF",14:"CONTENT",15:"COMMENT",16:"OPEN_BLOCK",18:"CLOSE",19:"OPEN_INVERSE",20:"OPEN_ENDBLOCK",22:"OPEN",23:"OPEN_UNESCAPED",24:"CLOSE_UNESCAPED",25:"OPEN_PARTIAL",32:"STRING",33:"INTEGER",34:"BOOLEAN",35:"OPEN_SEXPR",36:"CLOSE_SEXPR",40:"ID",41:"EQUALS",42:"DATA",44:"SEP"}, + productions_: [0,[3,2],[3,1],[6,2],[6,3],[6,2],[6,1],[6,1],[6,0],[4,1],[4,2],[8,3],[8,3],[8,1],[8,1],[8,1],[8,1],[11,3],[9,3],[10,3],[12,3],[12,3],[13,4],[7,2],[17,3],[17,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,3],[37,1],[39,3],[26,1],[26,1],[26,1],[30,2],[21,1],[43,3],[43,1],[27,0],[27,1],[28,0],[28,2],[29,0],[29,1],[38,1],[38,2]], + performAction: function anonymous(yytext,yyleng,yylineno,yy,yystate,$$,_$) { + + var $0 = $$.length - 1; + switch (yystate) { + case 1: return new yy.ProgramNode($$[$0-1], this._$); + break; + case 2: return new yy.ProgramNode([], this._$); + break; + case 3:this.$ = new yy.ProgramNode([], $$[$0-1], $$[$0], this._$); + break; + case 4:this.$ = new yy.ProgramNode($$[$0-2], $$[$0-1], $$[$0], this._$); + break; + case 5:this.$ = new yy.ProgramNode($$[$0-1], $$[$0], [], this._$); + break; + case 6:this.$ = new yy.ProgramNode($$[$0], this._$); + break; + case 7:this.$ = new yy.ProgramNode([], this._$); + break; + case 8:this.$ = new yy.ProgramNode([], this._$); + break; + case 9:this.$ = [$$[$0]]; + break; + case 10: $$[$0-1].push($$[$0]); this.$ = $$[$0-1]; + break; + case 11:this.$ = new yy.BlockNode($$[$0-2], $$[$0-1].inverse, $$[$0-1], $$[$0], this._$); + break; + case 12:this.$ = new yy.BlockNode($$[$0-2], $$[$0-1], $$[$0-1].inverse, $$[$0], this._$); + break; + case 13:this.$ = $$[$0]; + break; + case 14:this.$ = $$[$0]; + break; + case 15:this.$ = new yy.ContentNode($$[$0], this._$); + break; + case 16:this.$ = new yy.CommentNode($$[$0], this._$); + break; + case 17:this.$ = new yy.MustacheNode($$[$0-1], null, $$[$0-2], stripFlags($$[$0-2], $$[$0]), this._$); + break; + case 18:this.$ = new yy.MustacheNode($$[$0-1], null, $$[$0-2], stripFlags($$[$0-2], $$[$0]), this._$); + break; + case 19:this.$ = {path: $$[$0-1], strip: stripFlags($$[$0-2], $$[$0])}; + break; + case 20:this.$ = new yy.MustacheNode($$[$0-1], null, $$[$0-2], stripFlags($$[$0-2], $$[$0]), this._$); + break; + case 21:this.$ = new yy.MustacheNode($$[$0-1], null, $$[$0-2], stripFlags($$[$0-2], $$[$0]), this._$); + break; + case 22:this.$ = new yy.PartialNode($$[$0-2], $$[$0-1], stripFlags($$[$0-3], $$[$0]), this._$); + break; + case 23:this.$ = stripFlags($$[$0-1], $$[$0]); + break; + case 24:this.$ = new yy.SexprNode([$$[$0-2]].concat($$[$0-1]), $$[$0], this._$); + break; + case 25:this.$ = new yy.SexprNode([$$[$0]], null, this._$); + break; + case 26:this.$ = $$[$0]; + break; + case 27:this.$ = new yy.StringNode($$[$0], this._$); + break; + case 28:this.$ = new yy.IntegerNode($$[$0], this._$); + break; + case 29:this.$ = new yy.BooleanNode($$[$0], this._$); + break; + case 30:this.$ = $$[$0]; + break; + case 31:$$[$0-1].isHelper = true; this.$ = $$[$0-1]; + break; + case 32:this.$ = new yy.HashNode($$[$0], this._$); + break; + case 33:this.$ = [$$[$0-2], $$[$0]]; + break; + case 34:this.$ = new yy.PartialNameNode($$[$0], this._$); + break; + case 35:this.$ = new yy.PartialNameNode(new yy.StringNode($$[$0], this._$), this._$); + break; + case 36:this.$ = new yy.PartialNameNode(new yy.IntegerNode($$[$0], this._$)); + break; + case 37:this.$ = new yy.DataNode($$[$0], this._$); + break; + case 38:this.$ = new yy.IdNode($$[$0], this._$); + break; + case 39: $$[$0-2].push({part: $$[$0], separator: $$[$0-1]}); this.$ = $$[$0-2]; + break; + case 40:this.$ = [{part: $$[$0]}]; + break; + case 43:this.$ = []; + break; + case 44:$$[$0-1].push($$[$0]); + break; + case 47:this.$ = [$$[$0]]; + break; + case 48:$$[$0-1].push($$[$0]); + break; + } + }, + table: [{3:1,4:2,5:[1,3],8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],22:[1,13],23:[1,14],25:[1,15]},{1:[3]},{5:[1,16],8:17,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],22:[1,13],23:[1,14],25:[1,15]},{1:[2,2]},{5:[2,9],14:[2,9],15:[2,9],16:[2,9],19:[2,9],20:[2,9],22:[2,9],23:[2,9],25:[2,9]},{4:20,6:18,7:19,8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,21],20:[2,8],22:[1,13],23:[1,14],25:[1,15]},{4:20,6:22,7:19,8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,21],20:[2,8],22:[1,13],23:[1,14],25:[1,15]},{5:[2,13],14:[2,13],15:[2,13],16:[2,13],19:[2,13],20:[2,13],22:[2,13],23:[2,13],25:[2,13]},{5:[2,14],14:[2,14],15:[2,14],16:[2,14],19:[2,14],20:[2,14],22:[2,14],23:[2,14],25:[2,14]},{5:[2,15],14:[2,15],15:[2,15],16:[2,15],19:[2,15],20:[2,15],22:[2,15],23:[2,15],25:[2,15]},{5:[2,16],14:[2,16],15:[2,16],16:[2,16],19:[2,16],20:[2,16],22:[2,16],23:[2,16],25:[2,16]},{17:23,21:24,30:25,40:[1,28],42:[1,27],43:26},{17:29,21:24,30:25,40:[1,28],42:[1,27],43:26},{17:30,21:24,30:25,40:[1,28],42:[1,27],43:26},{17:31,21:24,30:25,40:[1,28],42:[1,27],43:26},{21:33,26:32,32:[1,34],33:[1,35],40:[1,28],43:26},{1:[2,1]},{5:[2,10],14:[2,10],15:[2,10],16:[2,10],19:[2,10],20:[2,10],22:[2,10],23:[2,10],25:[2,10]},{10:36,20:[1,37]},{4:38,8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],20:[2,7],22:[1,13],23:[1,14],25:[1,15]},{7:39,8:17,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,21],20:[2,6],22:[1,13],23:[1,14],25:[1,15]},{17:23,18:[1,40],21:24,30:25,40:[1,28],42:[1,27],43:26},{10:41,20:[1,37]},{18:[1,42]},{18:[2,43],24:[2,43],28:43,32:[2,43],33:[2,43],34:[2,43],35:[2,43],36:[2,43],40:[2,43],42:[2,43]},{18:[2,25],24:[2,25],36:[2,25]},{18:[2,38],24:[2,38],32:[2,38],33:[2,38],34:[2,38],35:[2,38],36:[2,38],40:[2,38],42:[2,38],44:[1,44]},{21:45,40:[1,28],43:26},{18:[2,40],24:[2,40],32:[2,40],33:[2,40],34:[2,40],35:[2,40],36:[2,40],40:[2,40],42:[2,40],44:[2,40]},{18:[1,46]},{18:[1,47]},{24:[1,48]},{18:[2,41],21:50,27:49,40:[1,28],43:26},{18:[2,34],40:[2,34]},{18:[2,35],40:[2,35]},{18:[2,36],40:[2,36]},{5:[2,11],14:[2,11],15:[2,11],16:[2,11],19:[2,11],20:[2,11],22:[2,11],23:[2,11],25:[2,11]},{21:51,40:[1,28],43:26},{8:17,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],20:[2,3],22:[1,13],23:[1,14],25:[1,15]},{4:52,8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],20:[2,5],22:[1,13],23:[1,14],25:[1,15]},{14:[2,23],15:[2,23],16:[2,23],19:[2,23],20:[2,23],22:[2,23],23:[2,23],25:[2,23]},{5:[2,12],14:[2,12],15:[2,12],16:[2,12],19:[2,12],20:[2,12],22:[2,12],23:[2,12],25:[2,12]},{14:[2,18],15:[2,18],16:[2,18],19:[2,18],20:[2,18],22:[2,18],23:[2,18],25:[2,18]},{18:[2,45],21:56,24:[2,45],29:53,30:60,31:54,32:[1,57],33:[1,58],34:[1,59],35:[1,61],36:[2,45],37:55,38:62,39:63,40:[1,64],42:[1,27],43:26},{40:[1,65]},{18:[2,37],24:[2,37],32:[2,37],33:[2,37],34:[2,37],35:[2,37],36:[2,37],40:[2,37],42:[2,37]},{14:[2,17],15:[2,17],16:[2,17],19:[2,17],20:[2,17],22:[2,17],23:[2,17],25:[2,17]},{5:[2,20],14:[2,20],15:[2,20],16:[2,20],19:[2,20],20:[2,20],22:[2,20],23:[2,20],25:[2,20]},{5:[2,21],14:[2,21],15:[2,21],16:[2,21],19:[2,21],20:[2,21],22:[2,21],23:[2,21],25:[2,21]},{18:[1,66]},{18:[2,42]},{18:[1,67]},{8:17,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],20:[2,4],22:[1,13],23:[1,14],25:[1,15]},{18:[2,24],24:[2,24],36:[2,24]},{18:[2,44],24:[2,44],32:[2,44],33:[2,44],34:[2,44],35:[2,44],36:[2,44],40:[2,44],42:[2,44]},{18:[2,46],24:[2,46],36:[2,46]},{18:[2,26],24:[2,26],32:[2,26],33:[2,26],34:[2,26],35:[2,26],36:[2,26],40:[2,26],42:[2,26]},{18:[2,27],24:[2,27],32:[2,27],33:[2,27],34:[2,27],35:[2,27],36:[2,27],40:[2,27],42:[2,27]},{18:[2,28],24:[2,28],32:[2,28],33:[2,28],34:[2,28],35:[2,28],36:[2,28],40:[2,28],42:[2,28]},{18:[2,29],24:[2,29],32:[2,29],33:[2,29],34:[2,29],35:[2,29],36:[2,29],40:[2,29],42:[2,29]},{18:[2,30],24:[2,30],32:[2,30],33:[2,30],34:[2,30],35:[2,30],36:[2,30],40:[2,30],42:[2,30]},{17:68,21:24,30:25,40:[1,28],42:[1,27],43:26},{18:[2,32],24:[2,32],36:[2,32],39:69,40:[1,70]},{18:[2,47],24:[2,47],36:[2,47],40:[2,47]},{18:[2,40],24:[2,40],32:[2,40],33:[2,40],34:[2,40],35:[2,40],36:[2,40],40:[2,40],41:[1,71],42:[2,40],44:[2,40]},{18:[2,39],24:[2,39],32:[2,39],33:[2,39],34:[2,39],35:[2,39],36:[2,39],40:[2,39],42:[2,39],44:[2,39]},{5:[2,22],14:[2,22],15:[2,22],16:[2,22],19:[2,22],20:[2,22],22:[2,22],23:[2,22],25:[2,22]},{5:[2,19],14:[2,19],15:[2,19],16:[2,19],19:[2,19],20:[2,19],22:[2,19],23:[2,19],25:[2,19]},{36:[1,72]},{18:[2,48],24:[2,48],36:[2,48],40:[2,48]},{41:[1,71]},{21:56,30:60,31:73,32:[1,57],33:[1,58],34:[1,59],35:[1,61],40:[1,28],42:[1,27],43:26},{18:[2,31],24:[2,31],32:[2,31],33:[2,31],34:[2,31],35:[2,31],36:[2,31],40:[2,31],42:[2,31]},{18:[2,33],24:[2,33],36:[2,33],40:[2,33]}], + defaultActions: {3:[2,2],16:[2,1],50:[2,42]}, + parseError: function parseError(str, hash) { + throw new Error(str); + }, + parse: function parse(input) { + var self = this, stack = [0], vstack = [null], lstack = [], table = this.table, yytext = "", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1; + this.lexer.setInput(input); + this.lexer.yy = this.yy; + this.yy.lexer = this.lexer; + this.yy.parser = this; + if (typeof this.lexer.yylloc == "undefined") + this.lexer.yylloc = {}; + var yyloc = this.lexer.yylloc; + lstack.push(yyloc); + var ranges = this.lexer.options && this.lexer.options.ranges; + if (typeof this.yy.parseError === "function") + this.parseError = this.yy.parseError; + function popStack(n) { + stack.length = stack.length - 2 * n; + vstack.length = vstack.length - n; + lstack.length = lstack.length - n; + } + function lex() { + var token; + token = self.lexer.lex() || 1; + if (typeof token !== "number") { + token = self.symbols_[token] || token; + } + return token; + } + var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected; + while (true) { + state = stack[stack.length - 1]; + if (this.defaultActions[state]) { + action = this.defaultActions[state]; + } else { + if (symbol === null || typeof symbol == "undefined") { + symbol = lex(); + } + action = table[state] && table[state][symbol]; + } + if (typeof action === "undefined" || !action.length || !action[0]) { + var errStr = ""; + if (!recovering) { + expected = []; + for (p in table[state]) + if (this.terminals_[p] && p > 2) { + expected.push("'" + this.terminals_[p] + "'"); + } + if (this.lexer.showPosition) { + errStr = "Parse error on line " + (yylineno + 1) + ":\n" + this.lexer.showPosition() + "\nExpecting " + expected.join(", ") + ", got '" + (this.terminals_[symbol] || symbol) + "'"; + } else { + errStr = "Parse error on line " + (yylineno + 1) + ": Unexpected " + (symbol == 1?"end of input":"'" + (this.terminals_[symbol] || symbol) + "'"); + } + this.parseError(errStr, {text: this.lexer.match, token: this.terminals_[symbol] || symbol, line: this.lexer.yylineno, loc: yyloc, expected: expected}); + } + } + if (action[0] instanceof Array && action.length > 1) { + throw new Error("Parse Error: multiple actions possible at state: " + state + ", token: " + symbol); + } + switch (action[0]) { + case 1: + stack.push(symbol); + vstack.push(this.lexer.yytext); + lstack.push(this.lexer.yylloc); + stack.push(action[1]); + symbol = null; + if (!preErrorSymbol) { + yyleng = this.lexer.yyleng; + yytext = this.lexer.yytext; + yylineno = this.lexer.yylineno; + yyloc = this.lexer.yylloc; + if (recovering > 0) + recovering--; + } else { + symbol = preErrorSymbol; + preErrorSymbol = null; + } + break; + case 2: + len = this.productions_[action[1]][1]; + yyval.$ = vstack[vstack.length - len]; + yyval._$ = {first_line: lstack[lstack.length - (len || 1)].first_line, last_line: lstack[lstack.length - 1].last_line, first_column: lstack[lstack.length - (len || 1)].first_column, last_column: lstack[lstack.length - 1].last_column}; + if (ranges) { + yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]]; + } + r = this.performAction.call(yyval, yytext, yyleng, yylineno, this.yy, action[1], vstack, lstack); + if (typeof r !== "undefined") { + return r; + } + if (len) { + stack = stack.slice(0, -1 * len * 2); + vstack = vstack.slice(0, -1 * len); + lstack = lstack.slice(0, -1 * len); + } + stack.push(this.productions_[action[1]][0]); + vstack.push(yyval.$); + lstack.push(yyval._$); + newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; + stack.push(newState); + break; + case 3: + return true; + } + } + return true; + } + }; + + + function stripFlags(open, close) { + return { + left: open.charAt(2) === '~', + right: close.charAt(0) === '~' || close.charAt(1) === '~' + }; + } + + /* Jison generated lexer */ + var lexer = (function(){ + var lexer = ({EOF:1, + parseError:function parseError(str, hash) { + if (this.yy.parser) { + this.yy.parser.parseError(str, hash); + } else { + throw new Error(str); + } + }, + setInput:function (input) { + this._input = input; + this._more = this._less = this.done = false; + this.yylineno = this.yyleng = 0; + this.yytext = this.matched = this.match = ''; + this.conditionStack = ['INITIAL']; + this.yylloc = {first_line:1,first_column:0,last_line:1,last_column:0}; + if (this.options.ranges) this.yylloc.range = [0,0]; + this.offset = 0; + return this; + }, + input:function () { + var ch = this._input[0]; + this.yytext += ch; + this.yyleng++; + this.offset++; + this.match += ch; + this.matched += ch; + var lines = ch.match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno++; + this.yylloc.last_line++; + } else { + this.yylloc.last_column++; + } + if (this.options.ranges) this.yylloc.range[1]++; + + this._input = this._input.slice(1); + return ch; + }, + unput:function (ch) { + var len = ch.length; + var lines = ch.split(/(?:\r\n?|\n)/g); + + this._input = ch + this._input; + this.yytext = this.yytext.substr(0, this.yytext.length-len-1); + //this.yyleng -= len; + this.offset -= len; + var oldLines = this.match.split(/(?:\r\n?|\n)/g); + this.match = this.match.substr(0, this.match.length-1); + this.matched = this.matched.substr(0, this.matched.length-1); + + if (lines.length-1) this.yylineno -= lines.length-1; + var r = this.yylloc.range; + + this.yylloc = {first_line: this.yylloc.first_line, + last_line: this.yylineno+1, + first_column: this.yylloc.first_column, + last_column: lines ? + (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length: + this.yylloc.first_column - len + }; + + if (this.options.ranges) { + this.yylloc.range = [r[0], r[0] + this.yyleng - len]; + } + return this; + }, + more:function () { + this._more = true; + return this; + }, + less:function (n) { + this.unput(this.match.slice(n)); + }, + pastInput:function () { + var past = this.matched.substr(0, this.matched.length - this.match.length); + return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); + }, + upcomingInput:function () { + var next = this.match; + if (next.length < 20) { + next += this._input.substr(0, 20-next.length); + } + return (next.substr(0,20)+(next.length > 20 ? '...':'')).replace(/\n/g, ""); + }, + showPosition:function () { + var pre = this.pastInput(); + var c = new Array(pre.length + 1).join("-"); + return pre + this.upcomingInput() + "\n" + c+"^"; + }, + next:function () { + if (this.done) { + return this.EOF; + } + if (!this._input) this.done = true; + + var token, + match, + tempMatch, + index, + col, + lines; + if (!this._more) { + this.yytext = ''; + this.match = ''; + } + var rules = this._currentRules(); + for (var i=0;i < rules.length; i++) { + tempMatch = this._input.match(this.rules[rules[i]]); + if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { + match = tempMatch; + index = i; + if (!this.options.flex) break; + } + } + if (match) { + lines = match[0].match(/(?:\r\n?|\n).*/g); + if (lines) this.yylineno += lines.length; + this.yylloc = {first_line: this.yylloc.last_line, + last_line: this.yylineno+1, + first_column: this.yylloc.last_column, + last_column: lines ? lines[lines.length-1].length-lines[lines.length-1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length}; + this.yytext += match[0]; + this.match += match[0]; + this.matches = match; + this.yyleng = this.yytext.length; + if (this.options.ranges) { + this.yylloc.range = [this.offset, this.offset += this.yyleng]; + } + this._more = false; + this._input = this._input.slice(match[0].length); + this.matched += match[0]; + token = this.performAction.call(this, this.yy, this, rules[index],this.conditionStack[this.conditionStack.length-1]); + if (this.done && this._input) this.done = false; + if (token) return token; + else return; + } + if (this._input === "") { + return this.EOF; + } else { + return this.parseError('Lexical error on line '+(this.yylineno+1)+'. Unrecognized text.\n'+this.showPosition(), + {text: "", token: null, line: this.yylineno}); + } + }, + lex:function lex() { + var r = this.next(); + if (typeof r !== 'undefined') { + return r; + } else { + return this.lex(); + } + }, + begin:function begin(condition) { + this.conditionStack.push(condition); + }, + popState:function popState() { + return this.conditionStack.pop(); + }, + _currentRules:function _currentRules() { + return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules; + }, + topState:function () { + return this.conditionStack[this.conditionStack.length-2]; + }, + pushState:function begin(condition) { + this.begin(condition); + }}); + lexer.options = {}; + lexer.performAction = function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { + + + function strip(start, end) { + return yy_.yytext = yy_.yytext.substr(start, yy_.yyleng-end); + } + + + var YYSTATE=YY_START + switch($avoiding_name_collisions) { + case 0: + if(yy_.yytext.slice(-2) === "\\\\") { + strip(0,1); + this.begin("mu"); + } else if(yy_.yytext.slice(-1) === "\\") { + strip(0,1); + this.begin("emu"); + } else { + this.begin("mu"); + } + if(yy_.yytext) return 14; + + break; + case 1:return 14; + break; + case 2: + this.popState(); + return 14; + + break; + case 3:strip(0,4); this.popState(); return 15; + break; + case 4:return 35; + break; + case 5:return 36; + break; + case 6:return 25; + break; + case 7:return 16; + break; + case 8:return 20; + break; + case 9:return 19; + break; + case 10:return 19; + break; + case 11:return 23; + break; + case 12:return 22; + break; + case 13:this.popState(); this.begin('com'); + break; + case 14:strip(3,5); this.popState(); return 15; + break; + case 15:return 22; + break; + case 16:return 41; + break; + case 17:return 40; + break; + case 18:return 40; + break; + case 19:return 44; + break; + case 20:// ignore whitespace + break; + case 21:this.popState(); return 24; + break; + case 22:this.popState(); return 18; + break; + case 23:yy_.yytext = strip(1,2).replace(/\\"/g,'"'); return 32; + break; + case 24:yy_.yytext = strip(1,2).replace(/\\'/g,"'"); return 32; + break; + case 25:return 42; + break; + case 26:return 34; + break; + case 27:return 34; + break; + case 28:return 33; + break; + case 29:return 40; + break; + case 30:yy_.yytext = strip(1,2); return 40; + break; + case 31:return 'INVALID'; + break; + case 32:return 5; + break; + } + }; + lexer.rules = [/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:[\s\S]*?--\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{!--)/,/^(?:\{\{![\s\S]*?\}\})/,/^(?:\{\{(~)?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:-?[0-9]+(?=([~}\s)])))/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)]))))/,/^(?:\[[^\]]*\])/,/^(?:.)/,/^(?:$)/]; + lexer.conditions = {"mu":{"rules":[4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32],"inclusive":false},"emu":{"rules":[2],"inclusive":false},"com":{"rules":[3],"inclusive":false},"INITIAL":{"rules":[0,1,32],"inclusive":true}}; + return lexer;})() + parser.lexer = lexer; + function Parser () { this.yy = {}; }Parser.prototype = parser;parser.Parser = Parser; + return new Parser; + })();__exports__["default"] = handlebars; + /* jshint ignore:end */ + }); +define( + 'handlebars/compiler/base',["./parser","./ast","exports"], + function(__dependency1__, __dependency2__, __exports__) { + + var parser = __dependency1__["default"]; + var AST = __dependency2__["default"]; + + __exports__.parser = parser; + + function parse(input) { + // Just return if an already-compile AST was passed in. + if(input.constructor === AST.ProgramNode) { return input; } + + parser.yy = AST; + return parser.parse(input); + } + + __exports__.parse = parse; + }); +define( + 'handlebars/compiler/compiler',["../exception","exports"], + function(__dependency1__, __exports__) { + + var Exception = __dependency1__["default"]; + + function Compiler() {} + + __exports__.Compiler = Compiler;// the foundHelper register will disambiguate helper lookup from finding a + // function in a context. This is necessary for mustache compatibility, which + // requires that context functions in blocks are evaluated by blockHelperMissing, + // and then proceed as if the resulting value was provided to blockHelperMissing. + + Compiler.prototype = { + compiler: Compiler, + + disassemble: function() { + var opcodes = this.opcodes, opcode, out = [], params, param; + + for (var i=0, l=opcodes.length; i 0) { + this.source[1] = this.source[1] + ", " + locals.join(", "); + } + + // Generate minimizer alias mappings + if (!this.isChild) { + for (var alias in this.context.aliases) { + if (this.context.aliases.hasOwnProperty(alias)) { + this.source[1] = this.source[1] + ', ' + alias + '=' + this.context.aliases[alias]; + } + } + } + + if (this.source[1]) { + this.source[1] = "var " + this.source[1].substring(2) + ";"; + } + + // Merge children + if (!this.isChild) { + this.source[1] += '\n' + this.context.programs.join('\n') + '\n'; + } + + if (!this.environment.isSimple) { + this.pushSource("return buffer;"); + } + + var params = this.isChild ? ["depth0", "data"] : ["Handlebars", "depth0", "helpers", "partials", "data"]; + + for(var i=0, l=this.environment.depths.list.length; i this.stackVars.length) { this.stackVars.push("stack" + this.stackSlot); } + return this.topStackName(); + }, + topStackName: function() { + return "stack" + this.stackSlot; + }, + flushInline: function() { + var inlineStack = this.inlineStack; + if (inlineStack.length) { + this.inlineStack = []; + for (var i = 0, len = inlineStack.length; i < len; i++) { + var entry = inlineStack[i]; + if (entry instanceof Literal) { + this.compileStack.push(entry); + } else { + this.pushStack(entry); + } + } + } + }, + isInline: function() { + return this.inlineStack.length; + }, + + popStack: function(wrapped) { + var inline = this.isInline(), + item = (inline ? this.inlineStack : this.compileStack).pop(); + + if (!wrapped && (item instanceof Literal)) { + return item.value; + } else { + if (!inline) { + if (!this.stackSlot) { + throw new Exception('Invalid stack pop'); + } + this.stackSlot--; + } + return item; + } + }, + + topStack: function(wrapped) { + var stack = (this.isInline() ? this.inlineStack : this.compileStack), + item = stack[stack.length - 1]; + + if (!wrapped && (item instanceof Literal)) { + return item.value; + } else { + return item; + } + }, + + quotedString: function(str) { + return '"' + str + .replace(/\\/g, '\\\\') + .replace(/"/g, '\\"') + .replace(/\n/g, '\\n') + .replace(/\r/g, '\\r') + .replace(/\u2028/g, '\\u2028') // Per Ecma-262 7.3 + 7.8.4 + .replace(/\u2029/g, '\\u2029') + '"'; + }, + + setupHelper: function(paramSize, name, missingParams) { + var params = [], + paramsInit = this.setupParams(paramSize, params, missingParams); + var foundHelper = this.nameLookup('helpers', name, 'helper'); + + return { + params: params, + paramsInit: paramsInit, + name: foundHelper, + callParams: ["depth0"].concat(params).join(", "), + helperMissingParams: missingParams && ["depth0", this.quotedString(name)].concat(params).join(", ") + }; + }, + + setupOptions: function(paramSize, params) { + var options = [], contexts = [], types = [], param, inverse, program; + + options.push("hash:" + this.popStack()); + + if (this.options.stringParams) { + options.push("hashTypes:" + this.popStack()); + options.push("hashContexts:" + this.popStack()); + } + + inverse = this.popStack(); + program = this.popStack(); + + // Avoid setting fn and inverse if neither are set. This allows + // helpers to do a check for `if (options.fn)` + if (program || inverse) { + if (!program) { + this.context.aliases.self = "this"; + program = "self.noop"; + } + + if (!inverse) { + this.context.aliases.self = "this"; + inverse = "self.noop"; + } + + options.push("inverse:" + inverse); + options.push("fn:" + program); + } + + for(var i=0; i":">",'"':""","'":"'","`":"`"},i=/[&<>"'`]/g,j=/[&<>"'`]/;b.extend=d;var k=Object.prototype.toString;b.toString=k;var l=function(a){return"function"==typeof a};l(/x/)&&(l=function(a){return"function"==typeof a&&"[object Function]"===k.call(a)});var l;b.isFunction=l;var m=Array.isArray||function(a){return a&&"object"==typeof a?"[object Array]"===k.call(a):!1};b.isArray=m,b.escapeExpression=e,b.isEmpty=f}),define("handlebars/exception",["exports"],function(a){function b(a,b){var d;b&&b.firstLine&&(d=b.firstLine,a+=" - "+d+":"+b.firstColumn);for(var e=Error.prototype.constructor.call(this,a),f=0;f0?a.helpers.each(b,c):d(this):e(b)}),a.registerHelper("each",function(a,b){var c,d=b.fn,e=b.inverse,f=0,g="";if(m(a)&&(a=a.call(this)),b.data&&(c=q(b.data)),a&&"object"==typeof a)if(l(a))for(var h=a.length;h>f;f++)c&&(c.index=f,c.first=0===f,c.last=f===a.length-1),g+=d(a[f],{data:c});else for(var i in a)a.hasOwnProperty(i)&&(c&&(c.key=i,c.index=f,c.first=0===f),g+=d(a[i],{data:c}),f++);return 0===f&&(g=e(this)),g}),a.registerHelper("if",function(a,b){return m(a)&&(a=a.call(this)),!b.hash.includeZero&&!a||g.isEmpty(a)?b.inverse(this):b.fn(this)}),a.registerHelper("unless",function(b,c){return a.helpers["if"].call(this,b,{fn:c.inverse,inverse:c.fn,hash:c.hash})}),a.registerHelper("with",function(a,b){return m(a)&&(a=a.call(this)),g.isEmpty(a)?void 0:b.fn(a)}),a.registerHelper("log",function(b,c){var d=c.data&&null!=c.data.level?parseInt(c.data.level,10):1;a.log(d,b)})}function f(a,b){p.log(a,b)}var g=a,h=b["default"],i="1.3.0";c.VERSION=i;var j=4;c.COMPILER_REVISION=j;var k={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:">= 1.0.0"};c.REVISION_CHANGES=k;var l=g.isArray,m=g.isFunction,n=g.toString,o="[object Object]";c.HandlebarsEnvironment=d,d.prototype={constructor:d,logger:p,log:f,registerHelper:function(a,b,c){if(n.call(a)===o){if(c||b)throw new h("Arg not supported with multiple helpers");g.extend(this.helpers,a)}else c&&(b.not=c),this.helpers[a]=b},registerPartial:function(a,b){n.call(a)===o?g.extend(this.partials,a):this.partials[a]=b}};var p={methodMap:{0:"debug",1:"info",2:"warn",3:"error"},DEBUG:0,INFO:1,WARN:2,ERROR:3,level:3,log:function(a,b){if(p.level<=a){var c=p.methodMap[a];"undefined"!=typeof console&&console[c]&&console[c].call(console,b)}}};c.logger=p,c.log=f;var q=function(a){var b={};return g.extend(b,a),b};c.createFrame=q}),define("handlebars/runtime",["./utils","./exception","./base","exports"],function(a,b,c,d){function e(a){var b=a&&a[0]||1,c=m;if(b!==c){if(c>b){var d=n[c],e=n[b];throw new l("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+d+") or downgrade your runtime to an older version ("+e+").")}throw new l("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+a[1]+").")}}function f(a,b){if(!b)throw new l("No environment passed to template");var c=function(a,c,d,e,f,g){var h=b.VM.invokePartial.apply(this,arguments);if(null!=h)return h;if(b.compile){var i={helpers:e,partials:f,data:g};return f[c]=b.compile(a,{data:void 0!==g},b),f[c](d,i)}throw new l("The partial "+c+" could not be compiled when running in runtime-only mode")},d={escapeExpression:k.escapeExpression,invokePartial:c,programs:[],program:function(a,b,c){var d=this.programs[a];return c?d=h(a,b,c):d||(d=this.programs[a]=h(a,b)),d},merge:function(a,b){var c=a||b;return a&&b&&a!==b&&(c={},k.extend(c,b),k.extend(c,a)),c},programWithDepth:b.VM.programWithDepth,noop:b.VM.noop,compilerInfo:null};return function(c,e){e=e||{};var f,g,h=e.partial?e:b;e.partial||(f=e.helpers,g=e.partials);var i=a.call(d,h,c,f,g,e.data);return e.partial||b.VM.checkRevision(d.compilerInfo),i}}function g(a,b,c){var d=Array.prototype.slice.call(arguments,3),e=function(a,e){return e=e||{},b.apply(this,[a,e.data||c].concat(d))};return e.program=a,e.depth=d.length,e}function h(a,b,c){var d=function(a,d){return d=d||{},b(a,d.data||c)};return d.program=a,d.depth=0,d}function i(a,b,c,d,e,f){var g={partial:!0,helpers:d,partials:e,data:f};if(void 0===a)throw new l("The partial "+b+" could not be found");return a instanceof Function?a(c,g):void 0}function j(){return""}var k=a,l=b["default"],m=c.COMPILER_REVISION,n=c.REVISION_CHANGES;d.checkRevision=e,d.template=f,d.programWithDepth=g,d.program=h,d.invokePartial=i,d.noop=j}),define("handlebars.runtime",["./handlebars/base","./handlebars/safe-string","./handlebars/exception","./handlebars/utils","./handlebars/runtime","exports"],function(a,b,c,d,e,f){var g=a,h=b["default"],i=c["default"],j=d,k=e,l=function(){var a=new g.HandlebarsEnvironment;return j.extend(a,g),a.SafeString=h,a.Exception=i,a.Utils=j,a.VM=k,a.template=function(b){return k.template(b,a)},a},m=l();m.create=l,f["default"]=m}),define("handlebars/compiler/ast",["../exception","exports"],function(a,b){function c(a){a=a||{},this.firstLine=a.first_line,this.firstColumn=a.first_column,this.lastColumn=a.last_column,this.lastLine=a.last_line}var d=a["default"],e={ProgramNode:function(a,b,d,f){var g,h;3===arguments.length?(f=d,d=null):2===arguments.length&&(f=b,b=null),c.call(this,f),this.type="program",this.statements=a,this.strip={},d?(h=d[0],h?(g={first_line:h.firstLine,last_line:h.lastLine,last_column:h.lastColumn,first_column:h.firstColumn},this.inverse=new e.ProgramNode(d,b,g)):this.inverse=new e.ProgramNode(d,b),this.strip.right=b.left):b&&(this.strip.left=b.right)},MustacheNode:function(a,b,d,f,g){if(c.call(this,g),this.type="mustache",this.strip=f,null!=d&&d.charAt){var h=d.charAt(3)||d.charAt(2);this.escaped="{"!==h&&"&"!==h}else this.escaped=!!d;this.sexpr=a instanceof e.SexprNode?a:new e.SexprNode(a,b),this.sexpr.isRoot=!0,this.id=this.sexpr.id,this.params=this.sexpr.params,this.hash=this.sexpr.hash,this.eligibleHelper=this.sexpr.eligibleHelper,this.isHelper=this.sexpr.isHelper},SexprNode:function(a,b,d){c.call(this,d),this.type="sexpr",this.hash=b;var e=this.id=a[0],f=this.params=a.slice(1),g=this.eligibleHelper=e.isSimple;this.isHelper=g&&(f.length||b)},PartialNode:function(a,b,d,e){c.call(this,e),this.type="partial",this.partialName=a,this.context=b,this.strip=d},BlockNode:function(a,b,e,f,g){if(c.call(this,g),a.sexpr.id.original!==f.path.original)throw new d(a.sexpr.id.original+" doesn't match "+f.path.original,this);this.type="block",this.mustache=a,this.program=b,this.inverse=e,this.strip={left:a.strip.left,right:f.strip.right},(b||e).strip.left=a.strip.right,(e||b).strip.right=f.strip.left,e&&!b&&(this.isInverse=!0)},ContentNode:function(a,b){c.call(this,b),this.type="content",this.string=a},HashNode:function(a,b){c.call(this,b),this.type="hash",this.pairs=a},IdNode:function(a,b){c.call(this,b),this.type="ID";for(var e="",f=[],g=0,h=0,i=a.length;i>h;h++){var j=a[h].part;if(e+=(a[h].separator||"")+j,".."===j||"."===j||"this"===j){if(f.length>0)throw new d("Invalid path: "+e,this);".."===j?g++:this.isScoped=!0}else f.push(j)}this.original=e,this.parts=f,this.string=f.join("."),this.depth=g,this.isSimple=1===a.length&&!this.isScoped&&0===g,this.stringModeValue=this.string},PartialNameNode:function(a,b){c.call(this,b),this.type="PARTIAL_NAME",this.name=a.original},DataNode:function(a,b){c.call(this,b),this.type="DATA",this.id=a},StringNode:function(a,b){c.call(this,b),this.type="STRING",this.original=this.string=this.stringModeValue=a},IntegerNode:function(a,b){c.call(this,b),this.type="INTEGER",this.original=this.integer=a,this.stringModeValue=Number(a)},BooleanNode:function(a,b){c.call(this,b),this.type="BOOLEAN",this.bool=a,this.stringModeValue="true"===a},CommentNode:function(a,b){c.call(this,b),this.type="comment",this.comment=a}};b["default"]=e}),define("handlebars/compiler/parser",["exports"],function(a){var b=function(){function a(a,b){return{left:"~"===a.charAt(2),right:"~"===b.charAt(0)||"~"===b.charAt(1)}}function b(){this.yy={}}var c={trace:function(){},yy:{},symbols_:{error:2,root:3,statements:4,EOF:5,program:6,simpleInverse:7,statement:8,openInverse:9,closeBlock:10,openBlock:11,mustache:12,partial:13,CONTENT:14,COMMENT:15,OPEN_BLOCK:16,sexpr:17,CLOSE:18,OPEN_INVERSE:19,OPEN_ENDBLOCK:20,path:21,OPEN:22,OPEN_UNESCAPED:23,CLOSE_UNESCAPED:24,OPEN_PARTIAL:25,partialName:26,partial_option0:27,sexpr_repetition0:28,sexpr_option0:29,dataName:30,param:31,STRING:32,INTEGER:33,BOOLEAN:34,OPEN_SEXPR:35,CLOSE_SEXPR:36,hash:37,hash_repetition_plus0:38,hashSegment:39,ID:40,EQUALS:41,DATA:42,pathSegments:43,SEP:44,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",14:"CONTENT",15:"COMMENT",16:"OPEN_BLOCK",18:"CLOSE",19:"OPEN_INVERSE",20:"OPEN_ENDBLOCK",22:"OPEN",23:"OPEN_UNESCAPED",24:"CLOSE_UNESCAPED",25:"OPEN_PARTIAL",32:"STRING",33:"INTEGER",34:"BOOLEAN",35:"OPEN_SEXPR",36:"CLOSE_SEXPR",40:"ID",41:"EQUALS",42:"DATA",44:"SEP"},productions_:[0,[3,2],[3,1],[6,2],[6,3],[6,2],[6,1],[6,1],[6,0],[4,1],[4,2],[8,3],[8,3],[8,1],[8,1],[8,1],[8,1],[11,3],[9,3],[10,3],[12,3],[12,3],[13,4],[7,2],[17,3],[17,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,3],[37,1],[39,3],[26,1],[26,1],[26,1],[30,2],[21,1],[43,3],[43,1],[27,0],[27,1],[28,0],[28,2],[29,0],[29,1],[38,1],[38,2]],performAction:function(b,c,d,e,f,g){var h=g.length-1;switch(f){case 1:return new e.ProgramNode(g[h-1],this._$);case 2:return new e.ProgramNode([],this._$);case 3:this.$=new e.ProgramNode([],g[h-1],g[h],this._$);break;case 4:this.$=new e.ProgramNode(g[h-2],g[h-1],g[h],this._$);break;case 5:this.$=new e.ProgramNode(g[h-1],g[h],[],this._$);break;case 6:this.$=new e.ProgramNode(g[h],this._$);break;case 7:this.$=new e.ProgramNode([],this._$);break;case 8:this.$=new e.ProgramNode([],this._$);break;case 9:this.$=[g[h]];break;case 10:g[h-1].push(g[h]),this.$=g[h-1];break;case 11:this.$=new e.BlockNode(g[h-2],g[h-1].inverse,g[h-1],g[h],this._$);break;case 12:this.$=new e.BlockNode(g[h-2],g[h-1],g[h-1].inverse,g[h],this._$);break;case 13:this.$=g[h];break;case 14:this.$=g[h];break;case 15:this.$=new e.ContentNode(g[h],this._$);break;case 16:this.$=new e.CommentNode(g[h],this._$);break;case 17:this.$=new e.MustacheNode(g[h-1],null,g[h-2],a(g[h-2],g[h]),this._$);break;case 18:this.$=new e.MustacheNode(g[h-1],null,g[h-2],a(g[h-2],g[h]),this._$);break;case 19:this.$={path:g[h-1],strip:a(g[h-2],g[h])};break;case 20:this.$=new e.MustacheNode(g[h-1],null,g[h-2],a(g[h-2],g[h]),this._$);break;case 21:this.$=new e.MustacheNode(g[h-1],null,g[h-2],a(g[h-2],g[h]),this._$);break;case 22:this.$=new e.PartialNode(g[h-2],g[h-1],a(g[h-3],g[h]),this._$);break;case 23:this.$=a(g[h-1],g[h]);break;case 24:this.$=new e.SexprNode([g[h-2]].concat(g[h-1]),g[h],this._$);break;case 25:this.$=new e.SexprNode([g[h]],null,this._$);break;case 26:this.$=g[h];break;case 27:this.$=new e.StringNode(g[h],this._$);break;case 28:this.$=new e.IntegerNode(g[h],this._$);break;case 29:this.$=new e.BooleanNode(g[h],this._$);break;case 30:this.$=g[h];break;case 31:g[h-1].isHelper=!0,this.$=g[h-1];break;case 32:this.$=new e.HashNode(g[h],this._$);break;case 33:this.$=[g[h-2],g[h]];break;case 34:this.$=new e.PartialNameNode(g[h],this._$);break;case 35:this.$=new e.PartialNameNode(new e.StringNode(g[h],this._$),this._$);break;case 36:this.$=new e.PartialNameNode(new e.IntegerNode(g[h],this._$));break;case 37:this.$=new e.DataNode(g[h],this._$);break;case 38:this.$=new e.IdNode(g[h],this._$);break;case 39:g[h-2].push({part:g[h],separator:g[h-1]}),this.$=g[h-2];break;case 40:this.$=[{part:g[h]}];break;case 43:this.$=[];break;case 44:g[h-1].push(g[h]);break;case 47:this.$=[g[h]];break;case 48:g[h-1].push(g[h])}},table:[{3:1,4:2,5:[1,3],8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],22:[1,13],23:[1,14],25:[1,15]},{1:[3]},{5:[1,16],8:17,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],22:[1,13],23:[1,14],25:[1,15]},{1:[2,2]},{5:[2,9],14:[2,9],15:[2,9],16:[2,9],19:[2,9],20:[2,9],22:[2,9],23:[2,9],25:[2,9]},{4:20,6:18,7:19,8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,21],20:[2,8],22:[1,13],23:[1,14],25:[1,15]},{4:20,6:22,7:19,8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,21],20:[2,8],22:[1,13],23:[1,14],25:[1,15]},{5:[2,13],14:[2,13],15:[2,13],16:[2,13],19:[2,13],20:[2,13],22:[2,13],23:[2,13],25:[2,13]},{5:[2,14],14:[2,14],15:[2,14],16:[2,14],19:[2,14],20:[2,14],22:[2,14],23:[2,14],25:[2,14]},{5:[2,15],14:[2,15],15:[2,15],16:[2,15],19:[2,15],20:[2,15],22:[2,15],23:[2,15],25:[2,15]},{5:[2,16],14:[2,16],15:[2,16],16:[2,16],19:[2,16],20:[2,16],22:[2,16],23:[2,16],25:[2,16]},{17:23,21:24,30:25,40:[1,28],42:[1,27],43:26},{17:29,21:24,30:25,40:[1,28],42:[1,27],43:26},{17:30,21:24,30:25,40:[1,28],42:[1,27],43:26},{17:31,21:24,30:25,40:[1,28],42:[1,27],43:26},{21:33,26:32,32:[1,34],33:[1,35],40:[1,28],43:26},{1:[2,1]},{5:[2,10],14:[2,10],15:[2,10],16:[2,10],19:[2,10],20:[2,10],22:[2,10],23:[2,10],25:[2,10]},{10:36,20:[1,37]},{4:38,8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],20:[2,7],22:[1,13],23:[1,14],25:[1,15]},{7:39,8:17,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,21],20:[2,6],22:[1,13],23:[1,14],25:[1,15]},{17:23,18:[1,40],21:24,30:25,40:[1,28],42:[1,27],43:26},{10:41,20:[1,37]},{18:[1,42]},{18:[2,43],24:[2,43],28:43,32:[2,43],33:[2,43],34:[2,43],35:[2,43],36:[2,43],40:[2,43],42:[2,43]},{18:[2,25],24:[2,25],36:[2,25]},{18:[2,38],24:[2,38],32:[2,38],33:[2,38],34:[2,38],35:[2,38],36:[2,38],40:[2,38],42:[2,38],44:[1,44]},{21:45,40:[1,28],43:26},{18:[2,40],24:[2,40],32:[2,40],33:[2,40],34:[2,40],35:[2,40],36:[2,40],40:[2,40],42:[2,40],44:[2,40]},{18:[1,46]},{18:[1,47]},{24:[1,48]},{18:[2,41],21:50,27:49,40:[1,28],43:26},{18:[2,34],40:[2,34]},{18:[2,35],40:[2,35]},{18:[2,36],40:[2,36]},{5:[2,11],14:[2,11],15:[2,11],16:[2,11],19:[2,11],20:[2,11],22:[2,11],23:[2,11],25:[2,11]},{21:51,40:[1,28],43:26},{8:17,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],20:[2,3],22:[1,13],23:[1,14],25:[1,15]},{4:52,8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],20:[2,5],22:[1,13],23:[1,14],25:[1,15]},{14:[2,23],15:[2,23],16:[2,23],19:[2,23],20:[2,23],22:[2,23],23:[2,23],25:[2,23]},{5:[2,12],14:[2,12],15:[2,12],16:[2,12],19:[2,12],20:[2,12],22:[2,12],23:[2,12],25:[2,12]},{14:[2,18],15:[2,18],16:[2,18],19:[2,18],20:[2,18],22:[2,18],23:[2,18],25:[2,18]},{18:[2,45],21:56,24:[2,45],29:53,30:60,31:54,32:[1,57],33:[1,58],34:[1,59],35:[1,61],36:[2,45],37:55,38:62,39:63,40:[1,64],42:[1,27],43:26},{40:[1,65]},{18:[2,37],24:[2,37],32:[2,37],33:[2,37],34:[2,37],35:[2,37],36:[2,37],40:[2,37],42:[2,37]},{14:[2,17],15:[2,17],16:[2,17],19:[2,17],20:[2,17],22:[2,17],23:[2,17],25:[2,17]},{5:[2,20],14:[2,20],15:[2,20],16:[2,20],19:[2,20],20:[2,20],22:[2,20],23:[2,20],25:[2,20]},{5:[2,21],14:[2,21],15:[2,21],16:[2,21],19:[2,21],20:[2,21],22:[2,21],23:[2,21],25:[2,21]},{18:[1,66]},{18:[2,42]},{18:[1,67]},{8:17,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],20:[2,4],22:[1,13],23:[1,14],25:[1,15]},{18:[2,24],24:[2,24],36:[2,24]},{18:[2,44],24:[2,44],32:[2,44],33:[2,44],34:[2,44],35:[2,44],36:[2,44],40:[2,44],42:[2,44]},{18:[2,46],24:[2,46],36:[2,46]},{18:[2,26],24:[2,26],32:[2,26],33:[2,26],34:[2,26],35:[2,26],36:[2,26],40:[2,26],42:[2,26]},{18:[2,27],24:[2,27],32:[2,27],33:[2,27],34:[2,27],35:[2,27],36:[2,27],40:[2,27],42:[2,27]},{18:[2,28],24:[2,28],32:[2,28],33:[2,28],34:[2,28],35:[2,28],36:[2,28],40:[2,28],42:[2,28]},{18:[2,29],24:[2,29],32:[2,29],33:[2,29],34:[2,29],35:[2,29],36:[2,29],40:[2,29],42:[2,29]},{18:[2,30],24:[2,30],32:[2,30],33:[2,30],34:[2,30],35:[2,30],36:[2,30],40:[2,30],42:[2,30]},{17:68,21:24,30:25,40:[1,28],42:[1,27],43:26},{18:[2,32],24:[2,32],36:[2,32],39:69,40:[1,70]},{18:[2,47],24:[2,47],36:[2,47],40:[2,47]},{18:[2,40],24:[2,40],32:[2,40],33:[2,40],34:[2,40],35:[2,40],36:[2,40],40:[2,40],41:[1,71],42:[2,40],44:[2,40]},{18:[2,39],24:[2,39],32:[2,39],33:[2,39],34:[2,39],35:[2,39],36:[2,39],40:[2,39],42:[2,39],44:[2,39]},{5:[2,22],14:[2,22],15:[2,22],16:[2,22],19:[2,22],20:[2,22],22:[2,22],23:[2,22],25:[2,22]},{5:[2,19],14:[2,19],15:[2,19],16:[2,19],19:[2,19],20:[2,19],22:[2,19],23:[2,19],25:[2,19]},{36:[1,72]},{18:[2,48],24:[2,48],36:[2,48],40:[2,48]},{41:[1,71]},{21:56,30:60,31:73,32:[1,57],33:[1,58],34:[1,59],35:[1,61],40:[1,28],42:[1,27],43:26},{18:[2,31],24:[2,31],32:[2,31],33:[2,31],34:[2,31],35:[2,31],36:[2,31],40:[2,31],42:[2,31]},{18:[2,33],24:[2,33],36:[2,33],40:[2,33]}],defaultActions:{3:[2,2],16:[2,1],50:[2,42]},parseError:function(a){throw new Error(a)},parse:function(a){function b(){var a;return a=c.lexer.lex()||1,"number"!=typeof a&&(a=c.symbols_[a]||a),a}var c=this,d=[0],e=[null],f=[],g=this.table,h="",i=0,j=0,k=0;this.lexer.setInput(a),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,this.yy.parser=this,"undefined"==typeof this.lexer.yylloc&&(this.lexer.yylloc={});var l=this.lexer.yylloc;f.push(l);var m=this.lexer.options&&this.lexer.options.ranges;"function"==typeof this.yy.parseError&&(this.parseError=this.yy.parseError);for(var n,o,p,q,r,s,t,u,v,w={};;){if(p=d[d.length-1],this.defaultActions[p]?q=this.defaultActions[p]:((null===n||"undefined"==typeof n)&&(n=b()),q=g[p]&&g[p][n]),"undefined"==typeof q||!q.length||!q[0]){var x="";if(!k){v=[];for(s in g[p])this.terminals_[s]&&s>2&&v.push("'"+this.terminals_[s]+"'");x=this.lexer.showPosition?"Parse error on line "+(i+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+v.join(", ")+", got '"+(this.terminals_[n]||n)+"'":"Parse error on line "+(i+1)+": Unexpected "+(1==n?"end of input":"'"+(this.terminals_[n]||n)+"'"),this.parseError(x,{text:this.lexer.match,token:this.terminals_[n]||n,line:this.lexer.yylineno,loc:l,expected:v})}}if(q[0]instanceof Array&&q.length>1)throw new Error("Parse Error: multiple actions possible at state: "+p+", token: "+n);switch(q[0]){case 1:d.push(n),e.push(this.lexer.yytext),f.push(this.lexer.yylloc),d.push(q[1]),n=null,o?(n=o,o=null):(j=this.lexer.yyleng,h=this.lexer.yytext,i=this.lexer.yylineno,l=this.lexer.yylloc,k>0&&k--);break;case 2:if(t=this.productions_[q[1]][1],w.$=e[e.length-t],w._$={first_line:f[f.length-(t||1)].first_line,last_line:f[f.length-1].last_line,first_column:f[f.length-(t||1)].first_column,last_column:f[f.length-1].last_column},m&&(w._$.range=[f[f.length-(t||1)].range[0],f[f.length-1].range[1]]),r=this.performAction.call(w,h,j,i,this.yy,q[1],e,f),"undefined"!=typeof r)return r;t&&(d=d.slice(0,-1*t*2),e=e.slice(0,-1*t),f=f.slice(0,-1*t)),d.push(this.productions_[q[1]][0]),e.push(w.$),f.push(w._$),u=g[d[d.length-2]][d[d.length-1]],d.push(u);break;case 3:return!0}}return!0}},d=function(){var a={EOF:1,parseError:function(a,b){if(!this.yy.parser)throw new Error(a);this.yy.parser.parseError(a,b)},setInput:function(a){return this._input=a,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var a=this._input[0];this.yytext+=a,this.yyleng++,this.offset++,this.match+=a,this.matched+=a;var b=a.match(/(?:\r\n?|\n).*/g);return b?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),a},unput:function(a){var b=a.length,c=a.split(/(?:\r\n?|\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-b-1),this.offset-=b;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),c.length-1&&(this.yylineno-=c.length-1);var e=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:c?(c.length===d.length?this.yylloc.first_column:0)+d[d.length-c.length].length-c[0].length:this.yylloc.first_column-b},this.options.ranges&&(this.yylloc.range=[e[0],e[0]+this.yyleng-b]),this},more:function(){return this._more=!0,this},less:function(a){this.unput(this.match.slice(a))},pastInput:function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var a=this.pastInput(),b=new Array(a.length+1).join("-");return a+this.upcomingInput()+"\n"+b+"^"},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var a,b,c,d,e;this._more||(this.yytext="",this.match="");for(var f=this._currentRules(),g=0;gb[0].length)||(b=c,d=g,this.options.flex));g++);return b?(e=b[0].match(/(?:\r\n?|\n).*/g),e&&(this.yylineno+=e.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:e?e[e.length-1].length-e[e.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+b[0].length},this.yytext+=b[0],this.match+=b[0],this.matches=b,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._input=this._input.slice(b[0].length),this.matched+=b[0],a=this.performAction.call(this,this.yy,this,f[d],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),a?a:void 0):""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var a=this.next();return"undefined"!=typeof a?a:this.lex()},begin:function(a){this.conditionStack.push(a)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(a){this.begin(a)}};return a.options={},a.performAction=function(a,b,c,d){function e(a,c){return b.yytext=b.yytext.substr(a,b.yyleng-c)}switch(c){case 0:if("\\\\"===b.yytext.slice(-2)?(e(0,1),this.begin("mu")):"\\"===b.yytext.slice(-1)?(e(0,1),this.begin("emu")):this.begin("mu"),b.yytext)return 14;break;case 1:return 14;case 2:return this.popState(),14;case 3:return e(0,4),this.popState(),15;case 4:return 35;case 5:return 36;case 6:return 25;case 7:return 16;case 8:return 20;case 9:return 19;case 10:return 19;case 11:return 23;case 12:return 22;case 13:this.popState(),this.begin("com");break;case 14:return e(3,5),this.popState(),15;case 15:return 22;case 16:return 41;case 17:return 40;case 18:return 40;case 19:return 44;case 20:break;case 21:return this.popState(),24;case 22:return this.popState(),18;case 23:return b.yytext=e(1,2).replace(/\\"/g,'"'),32;case 24:return b.yytext=e(1,2).replace(/\\'/g,"'"),32;case 25:return 42;case 26:return 34;case 27:return 34;case 28:return 33;case 29:return 40;case 30:return b.yytext=e(1,2),40;case 31:return"INVALID";case 32:return 5}},a.rules=[/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:[\s\S]*?--\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{!--)/,/^(?:\{\{![\s\S]*?\}\})/,/^(?:\{\{(~)?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:-?[0-9]+(?=([~}\s)])))/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)]))))/,/^(?:\[[^\]]*\])/,/^(?:.)/,/^(?:$)/],a.conditions={mu:{rules:[4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32],inclusive:!1},emu:{rules:[2],inclusive:!1},com:{rules:[3],inclusive:!1},INITIAL:{rules:[0,1,32],inclusive:!0}},a}();return c.lexer=d,b.prototype=c,c.Parser=b,new b}();a["default"]=b}),define("handlebars/compiler/base",["./parser","./ast","exports"],function(a,b,c){function d(a){return a.constructor===f.ProgramNode?a:(e.yy=f,e.parse(a))}var e=a["default"],f=b["default"];c.parser=e,c.parse=d}),define("handlebars/compiler/compiler",["../exception","exports"],function(a,b){function c(){}function d(a,b,c){if(null==a||"string"!=typeof a&&a.constructor!==c.AST.ProgramNode)throw new f("You must pass a string or Handlebars AST to Handlebars.precompile. You passed "+a);b=b||{},"data"in b||(b.data=!0);var d=c.parse(a),e=(new c.Compiler).compile(d,b);return(new c.JavaScriptCompiler).compile(e,b)}function e(a,b,c){function d(){var d=c.parse(a),e=(new c.Compiler).compile(d,b),f=(new c.JavaScriptCompiler).compile(e,b,void 0,!0);return c.template(f)}if(null==a||"string"!=typeof a&&a.constructor!==c.AST.ProgramNode)throw new f("You must pass a string or Handlebars AST to Handlebars.compile. You passed "+a);b=b||{},"data"in b||(b.data=!0);var e;return function(a,b){return e||(e=d()),e.call(this,a,b)}}var f=a["default"];b.Compiler=c,c.prototype={compiler:c,disassemble:function(){for(var a,b,c,d=this.opcodes,e=[],f=0,g=d.length;g>f;f++)if(a=d[f],"DECLARE"===a.opcode)e.push("DECLARE "+a.name+"="+a.value);else{b=[];for(var h=0;hc;c++){var d=this.opcodes[c],e=a.opcodes[c];if(d.opcode!==e.opcode||d.args.length!==e.args.length)return!1;for(var f=0;fc;c++)if(!this.children[c].equals(a.children[c]))return!1;return!0},guid:0,compile:function(a,b){this.opcodes=[],this.children=[],this.depths={list:[]},this.options=b;var c=this.options.knownHelpers;if(this.options.knownHelpers={helperMissing:!0,blockHelperMissing:!0,each:!0,"if":!0,unless:!0,"with":!0,log:!0},c)for(var d in c)this.options.knownHelpers[d]=c[d];return this.accept(a)},accept:function(a){var b,c=a.strip||{};return c.left&&this.opcode("strip"),b=this[a.type](a),c.right&&this.opcode("strip"),b},program:function(a){for(var b=a.statements,c=0,d=b.length;d>c;c++)this.accept(b[c]);return this.isSimple=1===d,this.depths.list=this.depths.list.sort(function(a,b){return a-b}),this},compileProgram:function(a){var b,c=(new this.compiler).compile(a,this.options),d=this.guid++;this.usePartial=this.usePartial||c.usePartial,this.children[d]=c;for(var e=0,f=c.depths.list.length;f>e;e++)b=c.depths.list[e],2>b||this.addDepth(b-1);return d},block:function(a){var b=a.mustache,c=a.program,d=a.inverse;c&&(c=this.compileProgram(c)),d&&(d=this.compileProgram(d));var e=b.sexpr,f=this.classifySexpr(e);"helper"===f?this.helperSexpr(e,c,d):"simple"===f?(this.simpleSexpr(e),this.opcode("pushProgram",c),this.opcode("pushProgram",d),this.opcode("emptyHash"),this.opcode("blockValue")):(this.ambiguousSexpr(e,c,d),this.opcode("pushProgram",c),this.opcode("pushProgram",d),this.opcode("emptyHash"),this.opcode("ambiguousBlockValue")),this.opcode("append")},hash:function(a){var b,c,d=a.pairs;this.opcode("pushHash");for(var e=0,f=d.length;f>e;e++)b=d[e],c=b[1],this.options.stringParams?(c.depth&&this.addDepth(c.depth),this.opcode("getContext",c.depth||0),this.opcode("pushStringParam",c.stringModeValue,c.type),"sexpr"===c.type&&this.sexpr(c)):this.accept(c),this.opcode("assignToHash",b[0]);this.opcode("popHash")},partial:function(a){var b=a.partialName;this.usePartial=!0,a.context?this.ID(a.context):this.opcode("push","depth0"),this.opcode("invokePartial",b.name),this.opcode("append")},content:function(a){this.opcode("appendContent",a.string)},mustache:function(a){this.sexpr(a.sexpr),a.escaped&&!this.options.noEscape?this.opcode("appendEscaped"):this.opcode("append")},ambiguousSexpr:function(a,b,c){var d=a.id,e=d.parts[0],f=null!=b||null!=c;this.opcode("getContext",d.depth),this.opcode("pushProgram",b),this.opcode("pushProgram",c),this.opcode("invokeAmbiguous",e,f)},simpleSexpr:function(a){var b=a.id;"DATA"===b.type?this.DATA(b):b.parts.length?this.ID(b):(this.addDepth(b.depth),this.opcode("getContext",b.depth),this.opcode("pushContext")),this.opcode("resolvePossibleLambda")},helperSexpr:function(a,b,c){var d=this.setupFullMustacheParams(a,b,c),e=a.id.parts[0];if(this.options.knownHelpers[e])this.opcode("invokeKnownHelper",d.length,e);else{if(this.options.knownHelpersOnly)throw new f("You specified knownHelpersOnly, but used the unknown helper "+e,a);this.opcode("invokeHelper",d.length,e,a.isRoot)}},sexpr:function(a){var b=this.classifySexpr(a);"simple"===b?this.simpleSexpr(a):"helper"===b?this.helperSexpr(a):this.ambiguousSexpr(a)},ID:function(a){this.addDepth(a.depth),this.opcode("getContext",a.depth);var b=a.parts[0];b?this.opcode("lookupOnContext",a.parts[0]):this.opcode("pushContext");for(var c=1,d=a.parts.length;d>c;c++)this.opcode("lookup",a.parts[c])},DATA:function(a){if(this.options.data=!0,a.id.isScoped||a.id.depth)throw new f("Scoped data references are not supported: "+a.original,a);this.opcode("lookupData");for(var b=a.id.parts,c=0,d=b.length;d>c;c++)this.opcode("lookup",b[c])},STRING:function(a){this.opcode("pushString",a.string)},INTEGER:function(a){this.opcode("pushLiteral",a.integer)},BOOLEAN:function(a){this.opcode("pushLiteral",a.bool)},comment:function(){},opcode:function(a){this.opcodes.push({opcode:a,args:[].slice.call(arguments,1)})},declare:function(a,b){this.opcodes.push({opcode:"DECLARE",name:a,value:b})},addDepth:function(a){0!==a&&(this.depths[a]||(this.depths[a]=!0,this.depths.list.push(a)))},classifySexpr:function(a){var b=a.isHelper,c=a.eligibleHelper,d=this.options;if(c&&!b){var e=a.id.parts[0];d.knownHelpers[e]?b=!0:d.knownHelpersOnly&&(c=!1)}return b?"helper":c?"ambiguous":"simple"},pushParams:function(a){for(var b,c=a.length;c--;)b=a[c],this.options.stringParams?(b.depth&&this.addDepth(b.depth),this.opcode("getContext",b.depth||0),this.opcode("pushStringParam",b.stringModeValue,b.type),"sexpr"===b.type&&this.sexpr(b)):this[b.type](b)},setupFullMustacheParams:function(a,b,c){var d=a.params;return this.pushParams(d),this.opcode("pushProgram",b),this.opcode("pushProgram",c),a.hash?this.hash(a.hash):this.opcode("emptyHash"),d}},b.precompile=d,b.compile=e}),define("handlebars/compiler/javascript-compiler",["../base","../exception","exports"],function(a,b,c){function d(a){this.value=a}function e(){}var f=a.COMPILER_REVISION,g=a.REVISION_CHANGES,h=a.log,i=b["default"];e.prototype={nameLookup:function(a,b){var c,d;return 0===a.indexOf("depth")&&(c=!0),d=/^[0-9]+$/.test(b)?a+"["+b+"]":e.isValidJavaScriptVariableName(b)?a+"."+b:a+"['"+b+"']",c?"("+a+" && "+d+")":d},compilerInfo:function(){var a=f,b=g[a];return"this.compilerInfo = ["+a+",'"+b+"'];\n" +},appendToBuffer:function(a){return this.environment.isSimple?"return "+a+";":{appendToBuffer:!0,content:a,toString:function(){return"buffer += "+a+";"}}},initializeBuffer:function(){return this.quotedString("")},namespace:"Handlebars",compile:function(a,b,c,d){this.environment=a,this.options=b||{},h("debug",this.environment.disassemble()+"\n\n"),this.name=this.environment.name,this.isChild=!!c,this.context=c||{programs:[],environments:[],aliases:{}},this.preamble(),this.stackSlot=0,this.stackVars=[],this.registers={list:[]},this.hashes=[],this.compileStack=[],this.inlineStack=[],this.compileChildren(a,b);var e,f=a.opcodes;this.i=0;for(var g=f.length;this.ie;e++)d.push("depth"+this.environment.depths.list[e]);var g=this.mergeSource();if(this.isChild||(g=this.compilerInfo()+g),a)return d.push(g),Function.apply(this,d);var i="function "+(this.name||"")+"("+d.join(",")+") {\n "+g+"}";return h("debug",i+"\n\n"),i},mergeSource:function(){for(var a,b="",c=0,d=this.source.length;d>c;c++){var e=this.source[c];e.appendToBuffer?a=a?a+"\n + "+e.content:e.content:(a&&(b+="buffer += "+a+";\n ",a=void 0),b+=e+"\n ")}return b},blockValue:function(){this.context.aliases.blockHelperMissing="helpers.blockHelperMissing";var a=["depth0"];this.setupParams(0,a),this.replaceStack(function(b){return a.splice(1,0,b),"blockHelperMissing.call("+a.join(", ")+")"})},ambiguousBlockValue:function(){this.context.aliases.blockHelperMissing="helpers.blockHelperMissing";var a=["depth0"];this.setupParams(0,a);var b=this.topStack();a.splice(1,0,b),this.pushSource("if (!"+this.lastHelper+") { "+b+" = blockHelperMissing.call("+a.join(", ")+"); }")},appendContent:function(a){this.pendingContent&&(a=this.pendingContent+a),this.stripNext&&(a=a.replace(/^\s+/,"")),this.pendingContent=a},strip:function(){this.pendingContent&&(this.pendingContent=this.pendingContent.replace(/\s+$/,"")),this.stripNext="strip"},append:function(){this.flushInline();var a=this.popStack();this.pushSource("if("+a+" || "+a+" === 0) { "+this.appendToBuffer(a)+" }"),this.environment.isSimple&&this.pushSource("else { "+this.appendToBuffer("''")+" }")},appendEscaped:function(){this.context.aliases.escapeExpression="this.escapeExpression",this.pushSource(this.appendToBuffer("escapeExpression("+this.popStack()+")"))},getContext:function(a){this.lastContext!==a&&(this.lastContext=a)},lookupOnContext:function(a){this.push(this.nameLookup("depth"+this.lastContext,a,"context"))},pushContext:function(){this.pushStackLiteral("depth"+this.lastContext)},resolvePossibleLambda:function(){this.context.aliases.functionType='"function"',this.replaceStack(function(a){return"typeof "+a+" === functionType ? "+a+".apply(depth0) : "+a})},lookup:function(a){this.replaceStack(function(b){return b+" == null || "+b+" === false ? "+b+" : "+this.nameLookup(b,a,"context")})},lookupData:function(){this.pushStackLiteral("data")},pushStringParam:function(a,b){this.pushStackLiteral("depth"+this.lastContext),this.pushString(b),"sexpr"!==b&&("string"==typeof a?this.pushString(a):this.pushStackLiteral(a))},emptyHash:function(){this.pushStackLiteral("{}"),this.options.stringParams&&(this.push("{}"),this.push("{}"))},pushHash:function(){this.hash&&this.hashes.push(this.hash),this.hash={values:[],types:[],contexts:[]}},popHash:function(){var a=this.hash;this.hash=this.hashes.pop(),this.options.stringParams&&(this.push("{"+a.contexts.join(",")+"}"),this.push("{"+a.types.join(",")+"}")),this.push("{\n "+a.values.join(",\n ")+"\n }")},pushString:function(a){this.pushStackLiteral(this.quotedString(a))},push:function(a){return this.inlineStack.push(a),a},pushLiteral:function(a){this.pushStackLiteral(a)},pushProgram:function(a){null!=a?this.pushStackLiteral(this.programExpression(a)):this.pushStackLiteral(null)},invokeHelper:function(a,b,c){this.context.aliases.helperMissing="helpers.helperMissing",this.useRegister("helper");var d=this.lastHelper=this.setupHelper(a,b,!0),e=this.nameLookup("depth"+this.lastContext,b,"context"),f="helper = "+d.name+" || "+e;d.paramsInit&&(f+=","+d.paramsInit),this.push("("+f+",helper ? helper.call("+d.callParams+") : helperMissing.call("+d.helperMissingParams+"))"),c||this.flushInline()},invokeKnownHelper:function(a,b){var c=this.setupHelper(a,b);this.push(c.name+".call("+c.callParams+")")},invokeAmbiguous:function(a,b){this.context.aliases.functionType='"function"',this.useRegister("helper"),this.emptyHash();var c=this.setupHelper(0,a,b),d=this.lastHelper=this.nameLookup("helpers",a,"helper"),e=this.nameLookup("depth"+this.lastContext,a,"context"),f=this.nextStack();c.paramsInit&&this.pushSource(c.paramsInit),this.pushSource("if (helper = "+d+") { "+f+" = helper.call("+c.callParams+"); }"),this.pushSource("else { helper = "+e+"; "+f+" = typeof helper === functionType ? helper.call("+c.callParams+") : helper; }")},invokePartial:function(a){var b=[this.nameLookup("partials",a,"partial"),"'"+a+"'",this.popStack(),"helpers","partials"];this.options.data&&b.push("data"),this.context.aliases.self="this",this.push("self.invokePartial("+b.join(", ")+")")},assignToHash:function(a){var b,c,d=this.popStack();this.options.stringParams&&(c=this.popStack(),b=this.popStack());var e=this.hash;b&&e.contexts.push("'"+a+"': "+b),c&&e.types.push("'"+a+"': "+c),e.values.push("'"+a+"': ("+d+")")},compiler:e,compileChildren:function(a,b){for(var c,d,e=a.children,f=0,g=e.length;g>f;f++){c=e[f],d=new this.compiler;var h=this.matchExistingProgram(c);null==h?(this.context.programs.push(""),h=this.context.programs.length,c.index=h,c.name="program"+h,this.context.programs[h]=d.compile(c,b,this.context),this.context.environments[h]=c):(c.index=h,c.name="program"+h)}},matchExistingProgram:function(a){for(var b=0,c=this.context.environments.length;c>b;b++){var d=this.context.environments[b];if(d&&d.equals(a))return b}},programExpression:function(a){if(this.context.aliases.self="this",null==a)return"self.noop";for(var b,c=this.environment.children[a],d=c.depths.list,e=[c.index,c.name,"data"],f=0,g=d.length;g>f;f++)b=d[f],1===b?e.push("depth0"):e.push("depth"+(b-1));return(0===d.length?"self.program(":"self.programWithDepth(")+e.join(", ")+")"},register:function(a,b){this.useRegister(a),this.pushSource(a+" = "+b+";")},useRegister:function(a){this.registers[a]||(this.registers[a]=!0,this.registers.list.push(a))},pushStackLiteral:function(a){return this.push(new d(a))},pushSource:function(a){this.pendingContent&&(this.source.push(this.appendToBuffer(this.quotedString(this.pendingContent))),this.pendingContent=void 0),a&&this.source.push(a)},pushStack:function(a){this.flushInline();var b=this.incrStack();return a&&this.pushSource(b+" = "+a+";"),this.compileStack.push(b),b},replaceStack:function(a){var b,c,e,f="",g=this.isInline();if(g){var h=this.popStack(!0);if(h instanceof d)b=h.value,e=!0;else{c=!this.stackSlot;var i=c?this.incrStack():this.topStackName();f="("+this.push(i)+" = "+h+"),",b=this.topStack()}}else b=this.topStack();var j=a.call(this,b);return g?(e||this.popStack(),c&&this.stackSlot--,this.push("("+f+j+")")):(/^stack/.test(b)||(b=this.nextStack()),this.pushSource(b+" = ("+f+j+");")),b},nextStack:function(){return this.pushStack()},incrStack:function(){return this.stackSlot++,this.stackSlot>this.stackVars.length&&this.stackVars.push("stack"+this.stackSlot),this.topStackName()},topStackName:function(){return"stack"+this.stackSlot},flushInline:function(){var a=this.inlineStack;if(a.length){this.inlineStack=[];for(var b=0,c=a.length;c>b;b++){var e=a[b];e instanceof d?this.compileStack.push(e):this.pushStack(e)}}},isInline:function(){return this.inlineStack.length},popStack:function(a){var b=this.isInline(),c=(b?this.inlineStack:this.compileStack).pop();if(!a&&c instanceof d)return c.value;if(!b){if(!this.stackSlot)throw new i("Invalid stack pop");this.stackSlot--}return c},topStack:function(a){var b=this.isInline()?this.inlineStack:this.compileStack,c=b[b.length-1];return!a&&c instanceof d?c.value:c},quotedString:function(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")+'"'},setupHelper:function(a,b,c){var d=[],e=this.setupParams(a,d,c),f=this.nameLookup("helpers",b,"helper");return{params:d,paramsInit:e,name:f,callParams:["depth0"].concat(d).join(", "),helperMissingParams:c&&["depth0",this.quotedString(b)].concat(d).join(", ")}},setupOptions:function(a,b){var c,d,e,f=[],g=[],h=[];f.push("hash:"+this.popStack()),this.options.stringParams&&(f.push("hashTypes:"+this.popStack()),f.push("hashContexts:"+this.popStack())),d=this.popStack(),e=this.popStack(),(e||d)&&(e||(this.context.aliases.self="this",e="self.noop"),d||(this.context.aliases.self="this",d="self.noop"),f.push("inverse:"+d),f.push("fn:"+e));for(var i=0;a>i;i++)c=this.popStack(),b.push(c),this.options.stringParams&&(h.push(this.popStack()),g.push(this.popStack()));return this.options.stringParams&&(f.push("contexts:["+g.join(",")+"]"),f.push("types:["+h.join(",")+"]")),this.options.data&&f.push("data:data"),f},setupParams:function(a,b,c){var d="{"+this.setupOptions(a,b).join(",")+"}";return c?(this.useRegister("options"),b.push("options"),"options="+d):(b.push(d),"")}};for(var j="break else new var case finally return void catch for switch while continue function this with default if throw delete in try do instanceof typeof abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public let yield".split(" "),k=e.RESERVED_WORDS={},l=0,m=j.length;m>l;l++)k[j[l]]=!0;e.isValidJavaScriptVariableName=function(a){return!e.RESERVED_WORDS[a]&&/^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(a)?!0:!1},c["default"]=e}),define("handlebars",["./handlebars.runtime","./handlebars/compiler/ast","./handlebars/compiler/base","./handlebars/compiler/compiler","./handlebars/compiler/javascript-compiler","exports"],function(a,b,c,d,e,f){var g=a["default"],h=b["default"],i=c.parser,j=c.parse,k=d.Compiler,l=d.compile,m=d.precompile,n=e["default"],o=g.create,p=function(){var a=o();return a.compile=function(b,c){return l(b,c,a)},a.precompile=function(b,c){return m(b,c,a)},a.AST=h,a.Compiler=k,a.JavaScriptCompiler=n,a.Parser=i,a.parse=j,a};g=p(),g.create=p,f["default"]=g}); \ No newline at end of file diff --git a/handlebars-node-precompiled/node_modules/handlebars/dist/handlebars.js b/handlebars-node-precompiled/node_modules/handlebars/dist/handlebars.js new file mode 100644 index 0000000..bec7085 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/dist/handlebars.js @@ -0,0 +1,2746 @@ +/*! + + handlebars v1.3.0 + +Copyright (C) 2011 by Yehuda Katz + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +@license +*/ +/* exported Handlebars */ +var Handlebars = (function() { +// handlebars/safe-string.js +var __module4__ = (function() { + "use strict"; + var __exports__; + // Build out our basic SafeString type + function SafeString(string) { + this.string = string; + } + + SafeString.prototype.toString = function() { + return "" + this.string; + }; + + __exports__ = SafeString; + return __exports__; +})(); + +// handlebars/utils.js +var __module3__ = (function(__dependency1__) { + "use strict"; + var __exports__ = {}; + /*jshint -W004 */ + var SafeString = __dependency1__; + + var escape = { + "&": "&", + "<": "<", + ">": ">", + '"': """, + "'": "'", + "`": "`" + }; + + var badChars = /[&<>"'`]/g; + var possible = /[&<>"'`]/; + + function escapeChar(chr) { + return escape[chr] || "&"; + } + + function extend(obj, value) { + for(var key in value) { + if(Object.prototype.hasOwnProperty.call(value, key)) { + obj[key] = value[key]; + } + } + } + + __exports__.extend = extend;var toString = Object.prototype.toString; + __exports__.toString = toString; + // Sourced from lodash + // https://github.com/bestiejs/lodash/blob/master/LICENSE.txt + var isFunction = function(value) { + return typeof value === 'function'; + }; + // fallback for older versions of Chrome and Safari + if (isFunction(/x/)) { + isFunction = function(value) { + return typeof value === 'function' && toString.call(value) === '[object Function]'; + }; + } + var isFunction; + __exports__.isFunction = isFunction; + var isArray = Array.isArray || function(value) { + return (value && typeof value === 'object') ? toString.call(value) === '[object Array]' : false; + }; + __exports__.isArray = isArray; + + function escapeExpression(string) { + // don't escape SafeStrings, since they're already safe + if (string instanceof SafeString) { + return string.toString(); + } else if (!string && string !== 0) { + return ""; + } + + // Force a string conversion as this will be done by the append regardless and + // the regex test will do this transparently behind the scenes, causing issues if + // an object's to string has escaped characters in it. + string = "" + string; + + if(!possible.test(string)) { return string; } + return string.replace(badChars, escapeChar); + } + + __exports__.escapeExpression = escapeExpression;function isEmpty(value) { + if (!value && value !== 0) { + return true; + } else if (isArray(value) && value.length === 0) { + return true; + } else { + return false; + } + } + + __exports__.isEmpty = isEmpty; + return __exports__; +})(__module4__); + +// handlebars/exception.js +var __module5__ = (function() { + "use strict"; + var __exports__; + + var errorProps = ['description', 'fileName', 'lineNumber', 'message', 'name', 'number', 'stack']; + + function Exception(message, node) { + var line; + if (node && node.firstLine) { + line = node.firstLine; + + message += ' - ' + line + ':' + node.firstColumn; + } + + var tmp = Error.prototype.constructor.call(this, message); + + // Unfortunately errors are not enumerable in Chrome (at least), so `for prop in tmp` doesn't work. + for (var idx = 0; idx < errorProps.length; idx++) { + this[errorProps[idx]] = tmp[errorProps[idx]]; + } + + if (line) { + this.lineNumber = line; + this.column = node.firstColumn; + } + } + + Exception.prototype = new Error(); + + __exports__ = Exception; + return __exports__; +})(); + +// handlebars/base.js +var __module2__ = (function(__dependency1__, __dependency2__) { + "use strict"; + var __exports__ = {}; + var Utils = __dependency1__; + var Exception = __dependency2__; + + var VERSION = "1.3.0"; + __exports__.VERSION = VERSION;var COMPILER_REVISION = 4; + __exports__.COMPILER_REVISION = COMPILER_REVISION; + var REVISION_CHANGES = { + 1: '<= 1.0.rc.2', // 1.0.rc.2 is actually rev2 but doesn't report it + 2: '== 1.0.0-rc.3', + 3: '== 1.0.0-rc.4', + 4: '>= 1.0.0' + }; + __exports__.REVISION_CHANGES = REVISION_CHANGES; + var isArray = Utils.isArray, + isFunction = Utils.isFunction, + toString = Utils.toString, + objectType = '[object Object]'; + + function HandlebarsEnvironment(helpers, partials) { + this.helpers = helpers || {}; + this.partials = partials || {}; + + registerDefaultHelpers(this); + } + + __exports__.HandlebarsEnvironment = HandlebarsEnvironment;HandlebarsEnvironment.prototype = { + constructor: HandlebarsEnvironment, + + logger: logger, + log: log, + + registerHelper: function(name, fn, inverse) { + if (toString.call(name) === objectType) { + if (inverse || fn) { throw new Exception('Arg not supported with multiple helpers'); } + Utils.extend(this.helpers, name); + } else { + if (inverse) { fn.not = inverse; } + this.helpers[name] = fn; + } + }, + + registerPartial: function(name, str) { + if (toString.call(name) === objectType) { + Utils.extend(this.partials, name); + } else { + this.partials[name] = str; + } + } + }; + + function registerDefaultHelpers(instance) { + instance.registerHelper('helperMissing', function(arg) { + if(arguments.length === 2) { + return undefined; + } else { + throw new Exception("Missing helper: '" + arg + "'"); + } + }); + + instance.registerHelper('blockHelperMissing', function(context, options) { + var inverse = options.inverse || function() {}, fn = options.fn; + + if (isFunction(context)) { context = context.call(this); } + + if(context === true) { + return fn(this); + } else if(context === false || context == null) { + return inverse(this); + } else if (isArray(context)) { + if(context.length > 0) { + return instance.helpers.each(context, options); + } else { + return inverse(this); + } + } else { + return fn(context); + } + }); + + instance.registerHelper('each', function(context, options) { + var fn = options.fn, inverse = options.inverse; + var i = 0, ret = "", data; + + if (isFunction(context)) { context = context.call(this); } + + if (options.data) { + data = createFrame(options.data); + } + + if(context && typeof context === 'object') { + if (isArray(context)) { + for(var j = context.length; i 0) { + throw new Exception("Invalid path: " + original, this); + } else if (part === "..") { + depth++; + } else { + this.isScoped = true; + } + } else { + dig.push(part); + } + } + + this.original = original; + this.parts = dig; + this.string = dig.join('.'); + this.depth = depth; + + // an ID is simple if it only has one part, and that part is not + // `..` or `this`. + this.isSimple = parts.length === 1 && !this.isScoped && depth === 0; + + this.stringModeValue = this.string; + }, + + PartialNameNode: function(name, locInfo) { + LocationInfo.call(this, locInfo); + this.type = "PARTIAL_NAME"; + this.name = name.original; + }, + + DataNode: function(id, locInfo) { + LocationInfo.call(this, locInfo); + this.type = "DATA"; + this.id = id; + }, + + StringNode: function(string, locInfo) { + LocationInfo.call(this, locInfo); + this.type = "STRING"; + this.original = + this.string = + this.stringModeValue = string; + }, + + IntegerNode: function(integer, locInfo) { + LocationInfo.call(this, locInfo); + this.type = "INTEGER"; + this.original = + this.integer = integer; + this.stringModeValue = Number(integer); + }, + + BooleanNode: function(bool, locInfo) { + LocationInfo.call(this, locInfo); + this.type = "BOOLEAN"; + this.bool = bool; + this.stringModeValue = bool === "true"; + }, + + CommentNode: function(comment, locInfo) { + LocationInfo.call(this, locInfo); + this.type = "comment"; + this.comment = comment; + } + }; + + // Must be exported as an object rather than the root of the module as the jison lexer + // most modify the object to operate properly. + __exports__ = AST; + return __exports__; +})(__module5__); + +// handlebars/compiler/parser.js +var __module9__ = (function() { + "use strict"; + var __exports__; + /* jshint ignore:start */ + /* Jison generated parser */ + var handlebars = (function(){ + var parser = {trace: function trace() { }, + yy: {}, + symbols_: {"error":2,"root":3,"statements":4,"EOF":5,"program":6,"simpleInverse":7,"statement":8,"openInverse":9,"closeBlock":10,"openBlock":11,"mustache":12,"partial":13,"CONTENT":14,"COMMENT":15,"OPEN_BLOCK":16,"sexpr":17,"CLOSE":18,"OPEN_INVERSE":19,"OPEN_ENDBLOCK":20,"path":21,"OPEN":22,"OPEN_UNESCAPED":23,"CLOSE_UNESCAPED":24,"OPEN_PARTIAL":25,"partialName":26,"partial_option0":27,"sexpr_repetition0":28,"sexpr_option0":29,"dataName":30,"param":31,"STRING":32,"INTEGER":33,"BOOLEAN":34,"OPEN_SEXPR":35,"CLOSE_SEXPR":36,"hash":37,"hash_repetition_plus0":38,"hashSegment":39,"ID":40,"EQUALS":41,"DATA":42,"pathSegments":43,"SEP":44,"$accept":0,"$end":1}, + terminals_: {2:"error",5:"EOF",14:"CONTENT",15:"COMMENT",16:"OPEN_BLOCK",18:"CLOSE",19:"OPEN_INVERSE",20:"OPEN_ENDBLOCK",22:"OPEN",23:"OPEN_UNESCAPED",24:"CLOSE_UNESCAPED",25:"OPEN_PARTIAL",32:"STRING",33:"INTEGER",34:"BOOLEAN",35:"OPEN_SEXPR",36:"CLOSE_SEXPR",40:"ID",41:"EQUALS",42:"DATA",44:"SEP"}, + productions_: [0,[3,2],[3,1],[6,2],[6,3],[6,2],[6,1],[6,1],[6,0],[4,1],[4,2],[8,3],[8,3],[8,1],[8,1],[8,1],[8,1],[11,3],[9,3],[10,3],[12,3],[12,3],[13,4],[7,2],[17,3],[17,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,3],[37,1],[39,3],[26,1],[26,1],[26,1],[30,2],[21,1],[43,3],[43,1],[27,0],[27,1],[28,0],[28,2],[29,0],[29,1],[38,1],[38,2]], + performAction: function anonymous(yytext,yyleng,yylineno,yy,yystate,$$,_$) { + + var $0 = $$.length - 1; + switch (yystate) { + case 1: return new yy.ProgramNode($$[$0-1], this._$); + break; + case 2: return new yy.ProgramNode([], this._$); + break; + case 3:this.$ = new yy.ProgramNode([], $$[$0-1], $$[$0], this._$); + break; + case 4:this.$ = new yy.ProgramNode($$[$0-2], $$[$0-1], $$[$0], this._$); + break; + case 5:this.$ = new yy.ProgramNode($$[$0-1], $$[$0], [], this._$); + break; + case 6:this.$ = new yy.ProgramNode($$[$0], this._$); + break; + case 7:this.$ = new yy.ProgramNode([], this._$); + break; + case 8:this.$ = new yy.ProgramNode([], this._$); + break; + case 9:this.$ = [$$[$0]]; + break; + case 10: $$[$0-1].push($$[$0]); this.$ = $$[$0-1]; + break; + case 11:this.$ = new yy.BlockNode($$[$0-2], $$[$0-1].inverse, $$[$0-1], $$[$0], this._$); + break; + case 12:this.$ = new yy.BlockNode($$[$0-2], $$[$0-1], $$[$0-1].inverse, $$[$0], this._$); + break; + case 13:this.$ = $$[$0]; + break; + case 14:this.$ = $$[$0]; + break; + case 15:this.$ = new yy.ContentNode($$[$0], this._$); + break; + case 16:this.$ = new yy.CommentNode($$[$0], this._$); + break; + case 17:this.$ = new yy.MustacheNode($$[$0-1], null, $$[$0-2], stripFlags($$[$0-2], $$[$0]), this._$); + break; + case 18:this.$ = new yy.MustacheNode($$[$0-1], null, $$[$0-2], stripFlags($$[$0-2], $$[$0]), this._$); + break; + case 19:this.$ = {path: $$[$0-1], strip: stripFlags($$[$0-2], $$[$0])}; + break; + case 20:this.$ = new yy.MustacheNode($$[$0-1], null, $$[$0-2], stripFlags($$[$0-2], $$[$0]), this._$); + break; + case 21:this.$ = new yy.MustacheNode($$[$0-1], null, $$[$0-2], stripFlags($$[$0-2], $$[$0]), this._$); + break; + case 22:this.$ = new yy.PartialNode($$[$0-2], $$[$0-1], stripFlags($$[$0-3], $$[$0]), this._$); + break; + case 23:this.$ = stripFlags($$[$0-1], $$[$0]); + break; + case 24:this.$ = new yy.SexprNode([$$[$0-2]].concat($$[$0-1]), $$[$0], this._$); + break; + case 25:this.$ = new yy.SexprNode([$$[$0]], null, this._$); + break; + case 26:this.$ = $$[$0]; + break; + case 27:this.$ = new yy.StringNode($$[$0], this._$); + break; + case 28:this.$ = new yy.IntegerNode($$[$0], this._$); + break; + case 29:this.$ = new yy.BooleanNode($$[$0], this._$); + break; + case 30:this.$ = $$[$0]; + break; + case 31:$$[$0-1].isHelper = true; this.$ = $$[$0-1]; + break; + case 32:this.$ = new yy.HashNode($$[$0], this._$); + break; + case 33:this.$ = [$$[$0-2], $$[$0]]; + break; + case 34:this.$ = new yy.PartialNameNode($$[$0], this._$); + break; + case 35:this.$ = new yy.PartialNameNode(new yy.StringNode($$[$0], this._$), this._$); + break; + case 36:this.$ = new yy.PartialNameNode(new yy.IntegerNode($$[$0], this._$)); + break; + case 37:this.$ = new yy.DataNode($$[$0], this._$); + break; + case 38:this.$ = new yy.IdNode($$[$0], this._$); + break; + case 39: $$[$0-2].push({part: $$[$0], separator: $$[$0-1]}); this.$ = $$[$0-2]; + break; + case 40:this.$ = [{part: $$[$0]}]; + break; + case 43:this.$ = []; + break; + case 44:$$[$0-1].push($$[$0]); + break; + case 47:this.$ = [$$[$0]]; + break; + case 48:$$[$0-1].push($$[$0]); + break; + } + }, + table: [{3:1,4:2,5:[1,3],8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],22:[1,13],23:[1,14],25:[1,15]},{1:[3]},{5:[1,16],8:17,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],22:[1,13],23:[1,14],25:[1,15]},{1:[2,2]},{5:[2,9],14:[2,9],15:[2,9],16:[2,9],19:[2,9],20:[2,9],22:[2,9],23:[2,9],25:[2,9]},{4:20,6:18,7:19,8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,21],20:[2,8],22:[1,13],23:[1,14],25:[1,15]},{4:20,6:22,7:19,8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,21],20:[2,8],22:[1,13],23:[1,14],25:[1,15]},{5:[2,13],14:[2,13],15:[2,13],16:[2,13],19:[2,13],20:[2,13],22:[2,13],23:[2,13],25:[2,13]},{5:[2,14],14:[2,14],15:[2,14],16:[2,14],19:[2,14],20:[2,14],22:[2,14],23:[2,14],25:[2,14]},{5:[2,15],14:[2,15],15:[2,15],16:[2,15],19:[2,15],20:[2,15],22:[2,15],23:[2,15],25:[2,15]},{5:[2,16],14:[2,16],15:[2,16],16:[2,16],19:[2,16],20:[2,16],22:[2,16],23:[2,16],25:[2,16]},{17:23,21:24,30:25,40:[1,28],42:[1,27],43:26},{17:29,21:24,30:25,40:[1,28],42:[1,27],43:26},{17:30,21:24,30:25,40:[1,28],42:[1,27],43:26},{17:31,21:24,30:25,40:[1,28],42:[1,27],43:26},{21:33,26:32,32:[1,34],33:[1,35],40:[1,28],43:26},{1:[2,1]},{5:[2,10],14:[2,10],15:[2,10],16:[2,10],19:[2,10],20:[2,10],22:[2,10],23:[2,10],25:[2,10]},{10:36,20:[1,37]},{4:38,8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],20:[2,7],22:[1,13],23:[1,14],25:[1,15]},{7:39,8:17,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,21],20:[2,6],22:[1,13],23:[1,14],25:[1,15]},{17:23,18:[1,40],21:24,30:25,40:[1,28],42:[1,27],43:26},{10:41,20:[1,37]},{18:[1,42]},{18:[2,43],24:[2,43],28:43,32:[2,43],33:[2,43],34:[2,43],35:[2,43],36:[2,43],40:[2,43],42:[2,43]},{18:[2,25],24:[2,25],36:[2,25]},{18:[2,38],24:[2,38],32:[2,38],33:[2,38],34:[2,38],35:[2,38],36:[2,38],40:[2,38],42:[2,38],44:[1,44]},{21:45,40:[1,28],43:26},{18:[2,40],24:[2,40],32:[2,40],33:[2,40],34:[2,40],35:[2,40],36:[2,40],40:[2,40],42:[2,40],44:[2,40]},{18:[1,46]},{18:[1,47]},{24:[1,48]},{18:[2,41],21:50,27:49,40:[1,28],43:26},{18:[2,34],40:[2,34]},{18:[2,35],40:[2,35]},{18:[2,36],40:[2,36]},{5:[2,11],14:[2,11],15:[2,11],16:[2,11],19:[2,11],20:[2,11],22:[2,11],23:[2,11],25:[2,11]},{21:51,40:[1,28],43:26},{8:17,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],20:[2,3],22:[1,13],23:[1,14],25:[1,15]},{4:52,8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],20:[2,5],22:[1,13],23:[1,14],25:[1,15]},{14:[2,23],15:[2,23],16:[2,23],19:[2,23],20:[2,23],22:[2,23],23:[2,23],25:[2,23]},{5:[2,12],14:[2,12],15:[2,12],16:[2,12],19:[2,12],20:[2,12],22:[2,12],23:[2,12],25:[2,12]},{14:[2,18],15:[2,18],16:[2,18],19:[2,18],20:[2,18],22:[2,18],23:[2,18],25:[2,18]},{18:[2,45],21:56,24:[2,45],29:53,30:60,31:54,32:[1,57],33:[1,58],34:[1,59],35:[1,61],36:[2,45],37:55,38:62,39:63,40:[1,64],42:[1,27],43:26},{40:[1,65]},{18:[2,37],24:[2,37],32:[2,37],33:[2,37],34:[2,37],35:[2,37],36:[2,37],40:[2,37],42:[2,37]},{14:[2,17],15:[2,17],16:[2,17],19:[2,17],20:[2,17],22:[2,17],23:[2,17],25:[2,17]},{5:[2,20],14:[2,20],15:[2,20],16:[2,20],19:[2,20],20:[2,20],22:[2,20],23:[2,20],25:[2,20]},{5:[2,21],14:[2,21],15:[2,21],16:[2,21],19:[2,21],20:[2,21],22:[2,21],23:[2,21],25:[2,21]},{18:[1,66]},{18:[2,42]},{18:[1,67]},{8:17,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],20:[2,4],22:[1,13],23:[1,14],25:[1,15]},{18:[2,24],24:[2,24],36:[2,24]},{18:[2,44],24:[2,44],32:[2,44],33:[2,44],34:[2,44],35:[2,44],36:[2,44],40:[2,44],42:[2,44]},{18:[2,46],24:[2,46],36:[2,46]},{18:[2,26],24:[2,26],32:[2,26],33:[2,26],34:[2,26],35:[2,26],36:[2,26],40:[2,26],42:[2,26]},{18:[2,27],24:[2,27],32:[2,27],33:[2,27],34:[2,27],35:[2,27],36:[2,27],40:[2,27],42:[2,27]},{18:[2,28],24:[2,28],32:[2,28],33:[2,28],34:[2,28],35:[2,28],36:[2,28],40:[2,28],42:[2,28]},{18:[2,29],24:[2,29],32:[2,29],33:[2,29],34:[2,29],35:[2,29],36:[2,29],40:[2,29],42:[2,29]},{18:[2,30],24:[2,30],32:[2,30],33:[2,30],34:[2,30],35:[2,30],36:[2,30],40:[2,30],42:[2,30]},{17:68,21:24,30:25,40:[1,28],42:[1,27],43:26},{18:[2,32],24:[2,32],36:[2,32],39:69,40:[1,70]},{18:[2,47],24:[2,47],36:[2,47],40:[2,47]},{18:[2,40],24:[2,40],32:[2,40],33:[2,40],34:[2,40],35:[2,40],36:[2,40],40:[2,40],41:[1,71],42:[2,40],44:[2,40]},{18:[2,39],24:[2,39],32:[2,39],33:[2,39],34:[2,39],35:[2,39],36:[2,39],40:[2,39],42:[2,39],44:[2,39]},{5:[2,22],14:[2,22],15:[2,22],16:[2,22],19:[2,22],20:[2,22],22:[2,22],23:[2,22],25:[2,22]},{5:[2,19],14:[2,19],15:[2,19],16:[2,19],19:[2,19],20:[2,19],22:[2,19],23:[2,19],25:[2,19]},{36:[1,72]},{18:[2,48],24:[2,48],36:[2,48],40:[2,48]},{41:[1,71]},{21:56,30:60,31:73,32:[1,57],33:[1,58],34:[1,59],35:[1,61],40:[1,28],42:[1,27],43:26},{18:[2,31],24:[2,31],32:[2,31],33:[2,31],34:[2,31],35:[2,31],36:[2,31],40:[2,31],42:[2,31]},{18:[2,33],24:[2,33],36:[2,33],40:[2,33]}], + defaultActions: {3:[2,2],16:[2,1],50:[2,42]}, + parseError: function parseError(str, hash) { + throw new Error(str); + }, + parse: function parse(input) { + var self = this, stack = [0], vstack = [null], lstack = [], table = this.table, yytext = "", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1; + this.lexer.setInput(input); + this.lexer.yy = this.yy; + this.yy.lexer = this.lexer; + this.yy.parser = this; + if (typeof this.lexer.yylloc == "undefined") + this.lexer.yylloc = {}; + var yyloc = this.lexer.yylloc; + lstack.push(yyloc); + var ranges = this.lexer.options && this.lexer.options.ranges; + if (typeof this.yy.parseError === "function") + this.parseError = this.yy.parseError; + function popStack(n) { + stack.length = stack.length - 2 * n; + vstack.length = vstack.length - n; + lstack.length = lstack.length - n; + } + function lex() { + var token; + token = self.lexer.lex() || 1; + if (typeof token !== "number") { + token = self.symbols_[token] || token; + } + return token; + } + var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected; + while (true) { + state = stack[stack.length - 1]; + if (this.defaultActions[state]) { + action = this.defaultActions[state]; + } else { + if (symbol === null || typeof symbol == "undefined") { + symbol = lex(); + } + action = table[state] && table[state][symbol]; + } + if (typeof action === "undefined" || !action.length || !action[0]) { + var errStr = ""; + if (!recovering) { + expected = []; + for (p in table[state]) + if (this.terminals_[p] && p > 2) { + expected.push("'" + this.terminals_[p] + "'"); + } + if (this.lexer.showPosition) { + errStr = "Parse error on line " + (yylineno + 1) + ":\n" + this.lexer.showPosition() + "\nExpecting " + expected.join(", ") + ", got '" + (this.terminals_[symbol] || symbol) + "'"; + } else { + errStr = "Parse error on line " + (yylineno + 1) + ": Unexpected " + (symbol == 1?"end of input":"'" + (this.terminals_[symbol] || symbol) + "'"); + } + this.parseError(errStr, {text: this.lexer.match, token: this.terminals_[symbol] || symbol, line: this.lexer.yylineno, loc: yyloc, expected: expected}); + } + } + if (action[0] instanceof Array && action.length > 1) { + throw new Error("Parse Error: multiple actions possible at state: " + state + ", token: " + symbol); + } + switch (action[0]) { + case 1: + stack.push(symbol); + vstack.push(this.lexer.yytext); + lstack.push(this.lexer.yylloc); + stack.push(action[1]); + symbol = null; + if (!preErrorSymbol) { + yyleng = this.lexer.yyleng; + yytext = this.lexer.yytext; + yylineno = this.lexer.yylineno; + yyloc = this.lexer.yylloc; + if (recovering > 0) + recovering--; + } else { + symbol = preErrorSymbol; + preErrorSymbol = null; + } + break; + case 2: + len = this.productions_[action[1]][1]; + yyval.$ = vstack[vstack.length - len]; + yyval._$ = {first_line: lstack[lstack.length - (len || 1)].first_line, last_line: lstack[lstack.length - 1].last_line, first_column: lstack[lstack.length - (len || 1)].first_column, last_column: lstack[lstack.length - 1].last_column}; + if (ranges) { + yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]]; + } + r = this.performAction.call(yyval, yytext, yyleng, yylineno, this.yy, action[1], vstack, lstack); + if (typeof r !== "undefined") { + return r; + } + if (len) { + stack = stack.slice(0, -1 * len * 2); + vstack = vstack.slice(0, -1 * len); + lstack = lstack.slice(0, -1 * len); + } + stack.push(this.productions_[action[1]][0]); + vstack.push(yyval.$); + lstack.push(yyval._$); + newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; + stack.push(newState); + break; + case 3: + return true; + } + } + return true; + } + }; + + + function stripFlags(open, close) { + return { + left: open.charAt(2) === '~', + right: close.charAt(0) === '~' || close.charAt(1) === '~' + }; + } + + /* Jison generated lexer */ + var lexer = (function(){ + var lexer = ({EOF:1, + parseError:function parseError(str, hash) { + if (this.yy.parser) { + this.yy.parser.parseError(str, hash); + } else { + throw new Error(str); + } + }, + setInput:function (input) { + this._input = input; + this._more = this._less = this.done = false; + this.yylineno = this.yyleng = 0; + this.yytext = this.matched = this.match = ''; + this.conditionStack = ['INITIAL']; + this.yylloc = {first_line:1,first_column:0,last_line:1,last_column:0}; + if (this.options.ranges) this.yylloc.range = [0,0]; + this.offset = 0; + return this; + }, + input:function () { + var ch = this._input[0]; + this.yytext += ch; + this.yyleng++; + this.offset++; + this.match += ch; + this.matched += ch; + var lines = ch.match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno++; + this.yylloc.last_line++; + } else { + this.yylloc.last_column++; + } + if (this.options.ranges) this.yylloc.range[1]++; + + this._input = this._input.slice(1); + return ch; + }, + unput:function (ch) { + var len = ch.length; + var lines = ch.split(/(?:\r\n?|\n)/g); + + this._input = ch + this._input; + this.yytext = this.yytext.substr(0, this.yytext.length-len-1); + //this.yyleng -= len; + this.offset -= len; + var oldLines = this.match.split(/(?:\r\n?|\n)/g); + this.match = this.match.substr(0, this.match.length-1); + this.matched = this.matched.substr(0, this.matched.length-1); + + if (lines.length-1) this.yylineno -= lines.length-1; + var r = this.yylloc.range; + + this.yylloc = {first_line: this.yylloc.first_line, + last_line: this.yylineno+1, + first_column: this.yylloc.first_column, + last_column: lines ? + (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length: + this.yylloc.first_column - len + }; + + if (this.options.ranges) { + this.yylloc.range = [r[0], r[0] + this.yyleng - len]; + } + return this; + }, + more:function () { + this._more = true; + return this; + }, + less:function (n) { + this.unput(this.match.slice(n)); + }, + pastInput:function () { + var past = this.matched.substr(0, this.matched.length - this.match.length); + return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); + }, + upcomingInput:function () { + var next = this.match; + if (next.length < 20) { + next += this._input.substr(0, 20-next.length); + } + return (next.substr(0,20)+(next.length > 20 ? '...':'')).replace(/\n/g, ""); + }, + showPosition:function () { + var pre = this.pastInput(); + var c = new Array(pre.length + 1).join("-"); + return pre + this.upcomingInput() + "\n" + c+"^"; + }, + next:function () { + if (this.done) { + return this.EOF; + } + if (!this._input) this.done = true; + + var token, + match, + tempMatch, + index, + col, + lines; + if (!this._more) { + this.yytext = ''; + this.match = ''; + } + var rules = this._currentRules(); + for (var i=0;i < rules.length; i++) { + tempMatch = this._input.match(this.rules[rules[i]]); + if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { + match = tempMatch; + index = i; + if (!this.options.flex) break; + } + } + if (match) { + lines = match[0].match(/(?:\r\n?|\n).*/g); + if (lines) this.yylineno += lines.length; + this.yylloc = {first_line: this.yylloc.last_line, + last_line: this.yylineno+1, + first_column: this.yylloc.last_column, + last_column: lines ? lines[lines.length-1].length-lines[lines.length-1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length}; + this.yytext += match[0]; + this.match += match[0]; + this.matches = match; + this.yyleng = this.yytext.length; + if (this.options.ranges) { + this.yylloc.range = [this.offset, this.offset += this.yyleng]; + } + this._more = false; + this._input = this._input.slice(match[0].length); + this.matched += match[0]; + token = this.performAction.call(this, this.yy, this, rules[index],this.conditionStack[this.conditionStack.length-1]); + if (this.done && this._input) this.done = false; + if (token) return token; + else return; + } + if (this._input === "") { + return this.EOF; + } else { + return this.parseError('Lexical error on line '+(this.yylineno+1)+'. Unrecognized text.\n'+this.showPosition(), + {text: "", token: null, line: this.yylineno}); + } + }, + lex:function lex() { + var r = this.next(); + if (typeof r !== 'undefined') { + return r; + } else { + return this.lex(); + } + }, + begin:function begin(condition) { + this.conditionStack.push(condition); + }, + popState:function popState() { + return this.conditionStack.pop(); + }, + _currentRules:function _currentRules() { + return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules; + }, + topState:function () { + return this.conditionStack[this.conditionStack.length-2]; + }, + pushState:function begin(condition) { + this.begin(condition); + }}); + lexer.options = {}; + lexer.performAction = function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { + + + function strip(start, end) { + return yy_.yytext = yy_.yytext.substr(start, yy_.yyleng-end); + } + + + var YYSTATE=YY_START + switch($avoiding_name_collisions) { + case 0: + if(yy_.yytext.slice(-2) === "\\\\") { + strip(0,1); + this.begin("mu"); + } else if(yy_.yytext.slice(-1) === "\\") { + strip(0,1); + this.begin("emu"); + } else { + this.begin("mu"); + } + if(yy_.yytext) return 14; + + break; + case 1:return 14; + break; + case 2: + this.popState(); + return 14; + + break; + case 3:strip(0,4); this.popState(); return 15; + break; + case 4:return 35; + break; + case 5:return 36; + break; + case 6:return 25; + break; + case 7:return 16; + break; + case 8:return 20; + break; + case 9:return 19; + break; + case 10:return 19; + break; + case 11:return 23; + break; + case 12:return 22; + break; + case 13:this.popState(); this.begin('com'); + break; + case 14:strip(3,5); this.popState(); return 15; + break; + case 15:return 22; + break; + case 16:return 41; + break; + case 17:return 40; + break; + case 18:return 40; + break; + case 19:return 44; + break; + case 20:// ignore whitespace + break; + case 21:this.popState(); return 24; + break; + case 22:this.popState(); return 18; + break; + case 23:yy_.yytext = strip(1,2).replace(/\\"/g,'"'); return 32; + break; + case 24:yy_.yytext = strip(1,2).replace(/\\'/g,"'"); return 32; + break; + case 25:return 42; + break; + case 26:return 34; + break; + case 27:return 34; + break; + case 28:return 33; + break; + case 29:return 40; + break; + case 30:yy_.yytext = strip(1,2); return 40; + break; + case 31:return 'INVALID'; + break; + case 32:return 5; + break; + } + }; + lexer.rules = [/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:[\s\S]*?--\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{!--)/,/^(?:\{\{![\s\S]*?\}\})/,/^(?:\{\{(~)?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:-?[0-9]+(?=([~}\s)])))/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)]))))/,/^(?:\[[^\]]*\])/,/^(?:.)/,/^(?:$)/]; + lexer.conditions = {"mu":{"rules":[4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32],"inclusive":false},"emu":{"rules":[2],"inclusive":false},"com":{"rules":[3],"inclusive":false},"INITIAL":{"rules":[0,1,32],"inclusive":true}}; + return lexer;})() + parser.lexer = lexer; + function Parser () { this.yy = {}; }Parser.prototype = parser;parser.Parser = Parser; + return new Parser; + })();__exports__ = handlebars; + /* jshint ignore:end */ + return __exports__; +})(); + +// handlebars/compiler/base.js +var __module8__ = (function(__dependency1__, __dependency2__) { + "use strict"; + var __exports__ = {}; + var parser = __dependency1__; + var AST = __dependency2__; + + __exports__.parser = parser; + + function parse(input) { + // Just return if an already-compile AST was passed in. + if(input.constructor === AST.ProgramNode) { return input; } + + parser.yy = AST; + return parser.parse(input); + } + + __exports__.parse = parse; + return __exports__; +})(__module9__, __module7__); + +// handlebars/compiler/compiler.js +var __module10__ = (function(__dependency1__) { + "use strict"; + var __exports__ = {}; + var Exception = __dependency1__; + + function Compiler() {} + + __exports__.Compiler = Compiler;// the foundHelper register will disambiguate helper lookup from finding a + // function in a context. This is necessary for mustache compatibility, which + // requires that context functions in blocks are evaluated by blockHelperMissing, + // and then proceed as if the resulting value was provided to blockHelperMissing. + + Compiler.prototype = { + compiler: Compiler, + + disassemble: function() { + var opcodes = this.opcodes, opcode, out = [], params, param; + + for (var i=0, l=opcodes.length; i 0) { + this.source[1] = this.source[1] + ", " + locals.join(", "); + } + + // Generate minimizer alias mappings + if (!this.isChild) { + for (var alias in this.context.aliases) { + if (this.context.aliases.hasOwnProperty(alias)) { + this.source[1] = this.source[1] + ', ' + alias + '=' + this.context.aliases[alias]; + } + } + } + + if (this.source[1]) { + this.source[1] = "var " + this.source[1].substring(2) + ";"; + } + + // Merge children + if (!this.isChild) { + this.source[1] += '\n' + this.context.programs.join('\n') + '\n'; + } + + if (!this.environment.isSimple) { + this.pushSource("return buffer;"); + } + + var params = this.isChild ? ["depth0", "data"] : ["Handlebars", "depth0", "helpers", "partials", "data"]; + + for(var i=0, l=this.environment.depths.list.length; i this.stackVars.length) { this.stackVars.push("stack" + this.stackSlot); } + return this.topStackName(); + }, + topStackName: function() { + return "stack" + this.stackSlot; + }, + flushInline: function() { + var inlineStack = this.inlineStack; + if (inlineStack.length) { + this.inlineStack = []; + for (var i = 0, len = inlineStack.length; i < len; i++) { + var entry = inlineStack[i]; + if (entry instanceof Literal) { + this.compileStack.push(entry); + } else { + this.pushStack(entry); + } + } + } + }, + isInline: function() { + return this.inlineStack.length; + }, + + popStack: function(wrapped) { + var inline = this.isInline(), + item = (inline ? this.inlineStack : this.compileStack).pop(); + + if (!wrapped && (item instanceof Literal)) { + return item.value; + } else { + if (!inline) { + if (!this.stackSlot) { + throw new Exception('Invalid stack pop'); + } + this.stackSlot--; + } + return item; + } + }, + + topStack: function(wrapped) { + var stack = (this.isInline() ? this.inlineStack : this.compileStack), + item = stack[stack.length - 1]; + + if (!wrapped && (item instanceof Literal)) { + return item.value; + } else { + return item; + } + }, + + quotedString: function(str) { + return '"' + str + .replace(/\\/g, '\\\\') + .replace(/"/g, '\\"') + .replace(/\n/g, '\\n') + .replace(/\r/g, '\\r') + .replace(/\u2028/g, '\\u2028') // Per Ecma-262 7.3 + 7.8.4 + .replace(/\u2029/g, '\\u2029') + '"'; + }, + + setupHelper: function(paramSize, name, missingParams) { + var params = [], + paramsInit = this.setupParams(paramSize, params, missingParams); + var foundHelper = this.nameLookup('helpers', name, 'helper'); + + return { + params: params, + paramsInit: paramsInit, + name: foundHelper, + callParams: ["depth0"].concat(params).join(", "), + helperMissingParams: missingParams && ["depth0", this.quotedString(name)].concat(params).join(", ") + }; + }, + + setupOptions: function(paramSize, params) { + var options = [], contexts = [], types = [], param, inverse, program; + + options.push("hash:" + this.popStack()); + + if (this.options.stringParams) { + options.push("hashTypes:" + this.popStack()); + options.push("hashContexts:" + this.popStack()); + } + + inverse = this.popStack(); + program = this.popStack(); + + // Avoid setting fn and inverse if neither are set. This allows + // helpers to do a check for `if (options.fn)` + if (program || inverse) { + if (!program) { + this.context.aliases.self = "this"; + program = "self.noop"; + } + + if (!inverse) { + this.context.aliases.self = "this"; + inverse = "self.noop"; + } + + options.push("inverse:" + inverse); + options.push("fn:" + program); + } + + for(var i=0; i":">",'"':""","'":"'","`":"`"},i=/[&<>"'`]/g,j=/[&<>"'`]/;f.extend=c;var k=Object.prototype.toString;f.toString=k;var l=function(a){return"function"==typeof a};l(/x/)&&(l=function(a){return"function"==typeof a&&"[object Function]"===k.call(a)});var l;f.isFunction=l;var m=Array.isArray||function(a){return a&&"object"==typeof a?"[object Array]"===k.call(a):!1};return f.isArray=m,f.escapeExpression=d,f.isEmpty=e,f}(a),c=function(){"use strict";function a(a,b){var d;b&&b.firstLine&&(d=b.firstLine,a+=" - "+d+":"+b.firstColumn);for(var e=Error.prototype.constructor.call(this,a),f=0;f0?a.helpers.each(b,c):d(this):e(b)}),a.registerHelper("each",function(a,b){var c,d=b.fn,e=b.inverse,f=0,g="";if(m(a)&&(a=a.call(this)),b.data&&(c=q(b.data)),a&&"object"==typeof a)if(l(a))for(var h=a.length;h>f;f++)c&&(c.index=f,c.first=0===f,c.last=f===a.length-1),g+=d(a[f],{data:c});else for(var i in a)a.hasOwnProperty(i)&&(c&&(c.key=i,c.index=f,c.first=0===f),g+=d(a[i],{data:c}),f++);return 0===f&&(g=e(this)),g}),a.registerHelper("if",function(a,b){return m(a)&&(a=a.call(this)),!b.hash.includeZero&&!a||g.isEmpty(a)?b.inverse(this):b.fn(this)}),a.registerHelper("unless",function(b,c){return a.helpers["if"].call(this,b,{fn:c.inverse,inverse:c.fn,hash:c.hash})}),a.registerHelper("with",function(a,b){return m(a)&&(a=a.call(this)),g.isEmpty(a)?void 0:b.fn(a)}),a.registerHelper("log",function(b,c){var d=c.data&&null!=c.data.level?parseInt(c.data.level,10):1;a.log(d,b)})}function e(a,b){p.log(a,b)}var f={},g=a,h=b,i="1.3.0";f.VERSION=i;var j=4;f.COMPILER_REVISION=j;var k={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:">= 1.0.0"};f.REVISION_CHANGES=k;var l=g.isArray,m=g.isFunction,n=g.toString,o="[object Object]";f.HandlebarsEnvironment=c,c.prototype={constructor:c,logger:p,log:e,registerHelper:function(a,b,c){if(n.call(a)===o){if(c||b)throw new h("Arg not supported with multiple helpers");g.extend(this.helpers,a)}else c&&(b.not=c),this.helpers[a]=b},registerPartial:function(a,b){n.call(a)===o?g.extend(this.partials,a):this.partials[a]=b}};var p={methodMap:{0:"debug",1:"info",2:"warn",3:"error"},DEBUG:0,INFO:1,WARN:2,ERROR:3,level:3,log:function(a,b){if(p.level<=a){var c=p.methodMap[a];"undefined"!=typeof console&&console[c]&&console[c].call(console,b)}}};f.logger=p,f.log=e;var q=function(a){var b={};return g.extend(b,a),b};return f.createFrame=q,f}(b,c),e=function(a,b,c){"use strict";function d(a){var b=a&&a[0]||1,c=m;if(b!==c){if(c>b){var d=n[c],e=n[b];throw new l("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+d+") or downgrade your runtime to an older version ("+e+").")}throw new l("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+a[1]+").")}}function e(a,b){if(!b)throw new l("No environment passed to template");var c=function(a,c,d,e,f,g){var h=b.VM.invokePartial.apply(this,arguments);if(null!=h)return h;if(b.compile){var i={helpers:e,partials:f,data:g};return f[c]=b.compile(a,{data:void 0!==g},b),f[c](d,i)}throw new l("The partial "+c+" could not be compiled when running in runtime-only mode")},d={escapeExpression:k.escapeExpression,invokePartial:c,programs:[],program:function(a,b,c){var d=this.programs[a];return c?d=g(a,b,c):d||(d=this.programs[a]=g(a,b)),d},merge:function(a,b){var c=a||b;return a&&b&&a!==b&&(c={},k.extend(c,b),k.extend(c,a)),c},programWithDepth:b.VM.programWithDepth,noop:b.VM.noop,compilerInfo:null};return function(c,e){e=e||{};var f,g,h=e.partial?e:b;e.partial||(f=e.helpers,g=e.partials);var i=a.call(d,h,c,f,g,e.data);return e.partial||b.VM.checkRevision(d.compilerInfo),i}}function f(a,b,c){var d=Array.prototype.slice.call(arguments,3),e=function(a,e){return e=e||{},b.apply(this,[a,e.data||c].concat(d))};return e.program=a,e.depth=d.length,e}function g(a,b,c){var d=function(a,d){return d=d||{},b(a,d.data||c)};return d.program=a,d.depth=0,d}function h(a,b,c,d,e,f){var g={partial:!0,helpers:d,partials:e,data:f};if(void 0===a)throw new l("The partial "+b+" could not be found");return a instanceof Function?a(c,g):void 0}function i(){return""}var j={},k=a,l=b,m=c.COMPILER_REVISION,n=c.REVISION_CHANGES;return j.checkRevision=d,j.template=e,j.programWithDepth=f,j.program=g,j.invokePartial=h,j.noop=i,j}(b,c,d),f=function(a,b,c,d,e){"use strict";var f,g=a,h=b,i=c,j=d,k=e,l=function(){var a=new g.HandlebarsEnvironment;return j.extend(a,g),a.SafeString=h,a.Exception=i,a.Utils=j,a.VM=k,a.template=function(b){return k.template(b,a)},a},m=l();return m.create=l,f=m}(d,a,c,b,e),g=function(a){"use strict";function b(a){a=a||{},this.firstLine=a.first_line,this.firstColumn=a.first_column,this.lastColumn=a.last_column,this.lastLine=a.last_line}var c,d=a,e={ProgramNode:function(a,c,d,f){var g,h;3===arguments.length?(f=d,d=null):2===arguments.length&&(f=c,c=null),b.call(this,f),this.type="program",this.statements=a,this.strip={},d?(h=d[0],h?(g={first_line:h.firstLine,last_line:h.lastLine,last_column:h.lastColumn,first_column:h.firstColumn},this.inverse=new e.ProgramNode(d,c,g)):this.inverse=new e.ProgramNode(d,c),this.strip.right=c.left):c&&(this.strip.left=c.right)},MustacheNode:function(a,c,d,f,g){if(b.call(this,g),this.type="mustache",this.strip=f,null!=d&&d.charAt){var h=d.charAt(3)||d.charAt(2);this.escaped="{"!==h&&"&"!==h}else this.escaped=!!d;this.sexpr=a instanceof e.SexprNode?a:new e.SexprNode(a,c),this.sexpr.isRoot=!0,this.id=this.sexpr.id,this.params=this.sexpr.params,this.hash=this.sexpr.hash,this.eligibleHelper=this.sexpr.eligibleHelper,this.isHelper=this.sexpr.isHelper},SexprNode:function(a,c,d){b.call(this,d),this.type="sexpr",this.hash=c;var e=this.id=a[0],f=this.params=a.slice(1),g=this.eligibleHelper=e.isSimple;this.isHelper=g&&(f.length||c)},PartialNode:function(a,c,d,e){b.call(this,e),this.type="partial",this.partialName=a,this.context=c,this.strip=d},BlockNode:function(a,c,e,f,g){if(b.call(this,g),a.sexpr.id.original!==f.path.original)throw new d(a.sexpr.id.original+" doesn't match "+f.path.original,this);this.type="block",this.mustache=a,this.program=c,this.inverse=e,this.strip={left:a.strip.left,right:f.strip.right},(c||e).strip.left=a.strip.right,(e||c).strip.right=f.strip.left,e&&!c&&(this.isInverse=!0)},ContentNode:function(a,c){b.call(this,c),this.type="content",this.string=a},HashNode:function(a,c){b.call(this,c),this.type="hash",this.pairs=a},IdNode:function(a,c){b.call(this,c),this.type="ID";for(var e="",f=[],g=0,h=0,i=a.length;i>h;h++){var j=a[h].part;if(e+=(a[h].separator||"")+j,".."===j||"."===j||"this"===j){if(f.length>0)throw new d("Invalid path: "+e,this);".."===j?g++:this.isScoped=!0}else f.push(j)}this.original=e,this.parts=f,this.string=f.join("."),this.depth=g,this.isSimple=1===a.length&&!this.isScoped&&0===g,this.stringModeValue=this.string},PartialNameNode:function(a,c){b.call(this,c),this.type="PARTIAL_NAME",this.name=a.original},DataNode:function(a,c){b.call(this,c),this.type="DATA",this.id=a},StringNode:function(a,c){b.call(this,c),this.type="STRING",this.original=this.string=this.stringModeValue=a},IntegerNode:function(a,c){b.call(this,c),this.type="INTEGER",this.original=this.integer=a,this.stringModeValue=Number(a)},BooleanNode:function(a,c){b.call(this,c),this.type="BOOLEAN",this.bool=a,this.stringModeValue="true"===a},CommentNode:function(a,c){b.call(this,c),this.type="comment",this.comment=a}};return c=e}(c),h=function(){"use strict";var a,b=function(){function a(a,b){return{left:"~"===a.charAt(2),right:"~"===b.charAt(0)||"~"===b.charAt(1)}}function b(){this.yy={}}var c={trace:function(){},yy:{},symbols_:{error:2,root:3,statements:4,EOF:5,program:6,simpleInverse:7,statement:8,openInverse:9,closeBlock:10,openBlock:11,mustache:12,partial:13,CONTENT:14,COMMENT:15,OPEN_BLOCK:16,sexpr:17,CLOSE:18,OPEN_INVERSE:19,OPEN_ENDBLOCK:20,path:21,OPEN:22,OPEN_UNESCAPED:23,CLOSE_UNESCAPED:24,OPEN_PARTIAL:25,partialName:26,partial_option0:27,sexpr_repetition0:28,sexpr_option0:29,dataName:30,param:31,STRING:32,INTEGER:33,BOOLEAN:34,OPEN_SEXPR:35,CLOSE_SEXPR:36,hash:37,hash_repetition_plus0:38,hashSegment:39,ID:40,EQUALS:41,DATA:42,pathSegments:43,SEP:44,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",14:"CONTENT",15:"COMMENT",16:"OPEN_BLOCK",18:"CLOSE",19:"OPEN_INVERSE",20:"OPEN_ENDBLOCK",22:"OPEN",23:"OPEN_UNESCAPED",24:"CLOSE_UNESCAPED",25:"OPEN_PARTIAL",32:"STRING",33:"INTEGER",34:"BOOLEAN",35:"OPEN_SEXPR",36:"CLOSE_SEXPR",40:"ID",41:"EQUALS",42:"DATA",44:"SEP"},productions_:[0,[3,2],[3,1],[6,2],[6,3],[6,2],[6,1],[6,1],[6,0],[4,1],[4,2],[8,3],[8,3],[8,1],[8,1],[8,1],[8,1],[11,3],[9,3],[10,3],[12,3],[12,3],[13,4],[7,2],[17,3],[17,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,3],[37,1],[39,3],[26,1],[26,1],[26,1],[30,2],[21,1],[43,3],[43,1],[27,0],[27,1],[28,0],[28,2],[29,0],[29,1],[38,1],[38,2]],performAction:function(b,c,d,e,f,g){var h=g.length-1;switch(f){case 1:return new e.ProgramNode(g[h-1],this._$);case 2:return new e.ProgramNode([],this._$);case 3:this.$=new e.ProgramNode([],g[h-1],g[h],this._$);break;case 4:this.$=new e.ProgramNode(g[h-2],g[h-1],g[h],this._$);break;case 5:this.$=new e.ProgramNode(g[h-1],g[h],[],this._$);break;case 6:this.$=new e.ProgramNode(g[h],this._$);break;case 7:this.$=new e.ProgramNode([],this._$);break;case 8:this.$=new e.ProgramNode([],this._$);break;case 9:this.$=[g[h]];break;case 10:g[h-1].push(g[h]),this.$=g[h-1];break;case 11:this.$=new e.BlockNode(g[h-2],g[h-1].inverse,g[h-1],g[h],this._$);break;case 12:this.$=new e.BlockNode(g[h-2],g[h-1],g[h-1].inverse,g[h],this._$);break;case 13:this.$=g[h];break;case 14:this.$=g[h];break;case 15:this.$=new e.ContentNode(g[h],this._$);break;case 16:this.$=new e.CommentNode(g[h],this._$);break;case 17:this.$=new e.MustacheNode(g[h-1],null,g[h-2],a(g[h-2],g[h]),this._$);break;case 18:this.$=new e.MustacheNode(g[h-1],null,g[h-2],a(g[h-2],g[h]),this._$);break;case 19:this.$={path:g[h-1],strip:a(g[h-2],g[h])};break;case 20:this.$=new e.MustacheNode(g[h-1],null,g[h-2],a(g[h-2],g[h]),this._$);break;case 21:this.$=new e.MustacheNode(g[h-1],null,g[h-2],a(g[h-2],g[h]),this._$);break;case 22:this.$=new e.PartialNode(g[h-2],g[h-1],a(g[h-3],g[h]),this._$);break;case 23:this.$=a(g[h-1],g[h]);break;case 24:this.$=new e.SexprNode([g[h-2]].concat(g[h-1]),g[h],this._$);break;case 25:this.$=new e.SexprNode([g[h]],null,this._$);break;case 26:this.$=g[h];break;case 27:this.$=new e.StringNode(g[h],this._$);break;case 28:this.$=new e.IntegerNode(g[h],this._$);break;case 29:this.$=new e.BooleanNode(g[h],this._$);break;case 30:this.$=g[h];break;case 31:g[h-1].isHelper=!0,this.$=g[h-1];break;case 32:this.$=new e.HashNode(g[h],this._$);break;case 33:this.$=[g[h-2],g[h]];break;case 34:this.$=new e.PartialNameNode(g[h],this._$);break;case 35:this.$=new e.PartialNameNode(new e.StringNode(g[h],this._$),this._$);break;case 36:this.$=new e.PartialNameNode(new e.IntegerNode(g[h],this._$));break;case 37:this.$=new e.DataNode(g[h],this._$);break;case 38:this.$=new e.IdNode(g[h],this._$);break;case 39:g[h-2].push({part:g[h],separator:g[h-1]}),this.$=g[h-2];break;case 40:this.$=[{part:g[h]}];break;case 43:this.$=[];break;case 44:g[h-1].push(g[h]);break;case 47:this.$=[g[h]];break;case 48:g[h-1].push(g[h])}},table:[{3:1,4:2,5:[1,3],8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],22:[1,13],23:[1,14],25:[1,15]},{1:[3]},{5:[1,16],8:17,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],22:[1,13],23:[1,14],25:[1,15]},{1:[2,2]},{5:[2,9],14:[2,9],15:[2,9],16:[2,9],19:[2,9],20:[2,9],22:[2,9],23:[2,9],25:[2,9]},{4:20,6:18,7:19,8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,21],20:[2,8],22:[1,13],23:[1,14],25:[1,15]},{4:20,6:22,7:19,8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,21],20:[2,8],22:[1,13],23:[1,14],25:[1,15]},{5:[2,13],14:[2,13],15:[2,13],16:[2,13],19:[2,13],20:[2,13],22:[2,13],23:[2,13],25:[2,13]},{5:[2,14],14:[2,14],15:[2,14],16:[2,14],19:[2,14],20:[2,14],22:[2,14],23:[2,14],25:[2,14]},{5:[2,15],14:[2,15],15:[2,15],16:[2,15],19:[2,15],20:[2,15],22:[2,15],23:[2,15],25:[2,15]},{5:[2,16],14:[2,16],15:[2,16],16:[2,16],19:[2,16],20:[2,16],22:[2,16],23:[2,16],25:[2,16]},{17:23,21:24,30:25,40:[1,28],42:[1,27],43:26},{17:29,21:24,30:25,40:[1,28],42:[1,27],43:26},{17:30,21:24,30:25,40:[1,28],42:[1,27],43:26},{17:31,21:24,30:25,40:[1,28],42:[1,27],43:26},{21:33,26:32,32:[1,34],33:[1,35],40:[1,28],43:26},{1:[2,1]},{5:[2,10],14:[2,10],15:[2,10],16:[2,10],19:[2,10],20:[2,10],22:[2,10],23:[2,10],25:[2,10]},{10:36,20:[1,37]},{4:38,8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],20:[2,7],22:[1,13],23:[1,14],25:[1,15]},{7:39,8:17,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,21],20:[2,6],22:[1,13],23:[1,14],25:[1,15]},{17:23,18:[1,40],21:24,30:25,40:[1,28],42:[1,27],43:26},{10:41,20:[1,37]},{18:[1,42]},{18:[2,43],24:[2,43],28:43,32:[2,43],33:[2,43],34:[2,43],35:[2,43],36:[2,43],40:[2,43],42:[2,43]},{18:[2,25],24:[2,25],36:[2,25]},{18:[2,38],24:[2,38],32:[2,38],33:[2,38],34:[2,38],35:[2,38],36:[2,38],40:[2,38],42:[2,38],44:[1,44]},{21:45,40:[1,28],43:26},{18:[2,40],24:[2,40],32:[2,40],33:[2,40],34:[2,40],35:[2,40],36:[2,40],40:[2,40],42:[2,40],44:[2,40]},{18:[1,46]},{18:[1,47]},{24:[1,48]},{18:[2,41],21:50,27:49,40:[1,28],43:26},{18:[2,34],40:[2,34]},{18:[2,35],40:[2,35]},{18:[2,36],40:[2,36]},{5:[2,11],14:[2,11],15:[2,11],16:[2,11],19:[2,11],20:[2,11],22:[2,11],23:[2,11],25:[2,11]},{21:51,40:[1,28],43:26},{8:17,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],20:[2,3],22:[1,13],23:[1,14],25:[1,15]},{4:52,8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],20:[2,5],22:[1,13],23:[1,14],25:[1,15]},{14:[2,23],15:[2,23],16:[2,23],19:[2,23],20:[2,23],22:[2,23],23:[2,23],25:[2,23]},{5:[2,12],14:[2,12],15:[2,12],16:[2,12],19:[2,12],20:[2,12],22:[2,12],23:[2,12],25:[2,12]},{14:[2,18],15:[2,18],16:[2,18],19:[2,18],20:[2,18],22:[2,18],23:[2,18],25:[2,18]},{18:[2,45],21:56,24:[2,45],29:53,30:60,31:54,32:[1,57],33:[1,58],34:[1,59],35:[1,61],36:[2,45],37:55,38:62,39:63,40:[1,64],42:[1,27],43:26},{40:[1,65]},{18:[2,37],24:[2,37],32:[2,37],33:[2,37],34:[2,37],35:[2,37],36:[2,37],40:[2,37],42:[2,37]},{14:[2,17],15:[2,17],16:[2,17],19:[2,17],20:[2,17],22:[2,17],23:[2,17],25:[2,17]},{5:[2,20],14:[2,20],15:[2,20],16:[2,20],19:[2,20],20:[2,20],22:[2,20],23:[2,20],25:[2,20]},{5:[2,21],14:[2,21],15:[2,21],16:[2,21],19:[2,21],20:[2,21],22:[2,21],23:[2,21],25:[2,21]},{18:[1,66]},{18:[2,42]},{18:[1,67]},{8:17,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],20:[2,4],22:[1,13],23:[1,14],25:[1,15]},{18:[2,24],24:[2,24],36:[2,24]},{18:[2,44],24:[2,44],32:[2,44],33:[2,44],34:[2,44],35:[2,44],36:[2,44],40:[2,44],42:[2,44]},{18:[2,46],24:[2,46],36:[2,46]},{18:[2,26],24:[2,26],32:[2,26],33:[2,26],34:[2,26],35:[2,26],36:[2,26],40:[2,26],42:[2,26]},{18:[2,27],24:[2,27],32:[2,27],33:[2,27],34:[2,27],35:[2,27],36:[2,27],40:[2,27],42:[2,27]},{18:[2,28],24:[2,28],32:[2,28],33:[2,28],34:[2,28],35:[2,28],36:[2,28],40:[2,28],42:[2,28]},{18:[2,29],24:[2,29],32:[2,29],33:[2,29],34:[2,29],35:[2,29],36:[2,29],40:[2,29],42:[2,29]},{18:[2,30],24:[2,30],32:[2,30],33:[2,30],34:[2,30],35:[2,30],36:[2,30],40:[2,30],42:[2,30]},{17:68,21:24,30:25,40:[1,28],42:[1,27],43:26},{18:[2,32],24:[2,32],36:[2,32],39:69,40:[1,70]},{18:[2,47],24:[2,47],36:[2,47],40:[2,47]},{18:[2,40],24:[2,40],32:[2,40],33:[2,40],34:[2,40],35:[2,40],36:[2,40],40:[2,40],41:[1,71],42:[2,40],44:[2,40]},{18:[2,39],24:[2,39],32:[2,39],33:[2,39],34:[2,39],35:[2,39],36:[2,39],40:[2,39],42:[2,39],44:[2,39]},{5:[2,22],14:[2,22],15:[2,22],16:[2,22],19:[2,22],20:[2,22],22:[2,22],23:[2,22],25:[2,22]},{5:[2,19],14:[2,19],15:[2,19],16:[2,19],19:[2,19],20:[2,19],22:[2,19],23:[2,19],25:[2,19]},{36:[1,72]},{18:[2,48],24:[2,48],36:[2,48],40:[2,48]},{41:[1,71]},{21:56,30:60,31:73,32:[1,57],33:[1,58],34:[1,59],35:[1,61],40:[1,28],42:[1,27],43:26},{18:[2,31],24:[2,31],32:[2,31],33:[2,31],34:[2,31],35:[2,31],36:[2,31],40:[2,31],42:[2,31]},{18:[2,33],24:[2,33],36:[2,33],40:[2,33]}],defaultActions:{3:[2,2],16:[2,1],50:[2,42]},parseError:function(a){throw new Error(a)},parse:function(a){function b(){var a;return a=c.lexer.lex()||1,"number"!=typeof a&&(a=c.symbols_[a]||a),a}var c=this,d=[0],e=[null],f=[],g=this.table,h="",i=0,j=0,k=0;this.lexer.setInput(a),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,this.yy.parser=this,"undefined"==typeof this.lexer.yylloc&&(this.lexer.yylloc={});var l=this.lexer.yylloc;f.push(l);var m=this.lexer.options&&this.lexer.options.ranges;"function"==typeof this.yy.parseError&&(this.parseError=this.yy.parseError);for(var n,o,p,q,r,s,t,u,v,w={};;){if(p=d[d.length-1],this.defaultActions[p]?q=this.defaultActions[p]:((null===n||"undefined"==typeof n)&&(n=b()),q=g[p]&&g[p][n]),"undefined"==typeof q||!q.length||!q[0]){var x="";if(!k){v=[];for(s in g[p])this.terminals_[s]&&s>2&&v.push("'"+this.terminals_[s]+"'");x=this.lexer.showPosition?"Parse error on line "+(i+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+v.join(", ")+", got '"+(this.terminals_[n]||n)+"'":"Parse error on line "+(i+1)+": Unexpected "+(1==n?"end of input":"'"+(this.terminals_[n]||n)+"'"),this.parseError(x,{text:this.lexer.match,token:this.terminals_[n]||n,line:this.lexer.yylineno,loc:l,expected:v})}}if(q[0]instanceof Array&&q.length>1)throw new Error("Parse Error: multiple actions possible at state: "+p+", token: "+n);switch(q[0]){case 1:d.push(n),e.push(this.lexer.yytext),f.push(this.lexer.yylloc),d.push(q[1]),n=null,o?(n=o,o=null):(j=this.lexer.yyleng,h=this.lexer.yytext,i=this.lexer.yylineno,l=this.lexer.yylloc,k>0&&k--);break;case 2:if(t=this.productions_[q[1]][1],w.$=e[e.length-t],w._$={first_line:f[f.length-(t||1)].first_line,last_line:f[f.length-1].last_line,first_column:f[f.length-(t||1)].first_column,last_column:f[f.length-1].last_column},m&&(w._$.range=[f[f.length-(t||1)].range[0],f[f.length-1].range[1]]),r=this.performAction.call(w,h,j,i,this.yy,q[1],e,f),"undefined"!=typeof r)return r;t&&(d=d.slice(0,-1*t*2),e=e.slice(0,-1*t),f=f.slice(0,-1*t)),d.push(this.productions_[q[1]][0]),e.push(w.$),f.push(w._$),u=g[d[d.length-2]][d[d.length-1]],d.push(u);break;case 3:return!0}}return!0}},d=function(){var a={EOF:1,parseError:function(a,b){if(!this.yy.parser)throw new Error(a);this.yy.parser.parseError(a,b)},setInput:function(a){return this._input=a,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var a=this._input[0];this.yytext+=a,this.yyleng++,this.offset++,this.match+=a,this.matched+=a;var b=a.match(/(?:\r\n?|\n).*/g);return b?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),a},unput:function(a){var b=a.length,c=a.split(/(?:\r\n?|\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-b-1),this.offset-=b;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),c.length-1&&(this.yylineno-=c.length-1);var e=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:c?(c.length===d.length?this.yylloc.first_column:0)+d[d.length-c.length].length-c[0].length:this.yylloc.first_column-b},this.options.ranges&&(this.yylloc.range=[e[0],e[0]+this.yyleng-b]),this},more:function(){return this._more=!0,this},less:function(a){this.unput(this.match.slice(a))},pastInput:function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var a=this.pastInput(),b=new Array(a.length+1).join("-");return a+this.upcomingInput()+"\n"+b+"^"},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var a,b,c,d,e;this._more||(this.yytext="",this.match="");for(var f=this._currentRules(),g=0;gb[0].length)||(b=c,d=g,this.options.flex));g++);return b?(e=b[0].match(/(?:\r\n?|\n).*/g),e&&(this.yylineno+=e.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:e?e[e.length-1].length-e[e.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+b[0].length},this.yytext+=b[0],this.match+=b[0],this.matches=b,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._input=this._input.slice(b[0].length),this.matched+=b[0],a=this.performAction.call(this,this.yy,this,f[d],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),a?a:void 0):""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var a=this.next();return"undefined"!=typeof a?a:this.lex()},begin:function(a){this.conditionStack.push(a)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(a){this.begin(a)}};return a.options={},a.performAction=function(a,b,c,d){function e(a,c){return b.yytext=b.yytext.substr(a,b.yyleng-c)}switch(c){case 0:if("\\\\"===b.yytext.slice(-2)?(e(0,1),this.begin("mu")):"\\"===b.yytext.slice(-1)?(e(0,1),this.begin("emu")):this.begin("mu"),b.yytext)return 14;break;case 1:return 14;case 2:return this.popState(),14;case 3:return e(0,4),this.popState(),15;case 4:return 35;case 5:return 36;case 6:return 25;case 7:return 16;case 8:return 20;case 9:return 19;case 10:return 19;case 11:return 23;case 12:return 22;case 13:this.popState(),this.begin("com");break;case 14:return e(3,5),this.popState(),15;case 15:return 22;case 16:return 41;case 17:return 40;case 18:return 40;case 19:return 44;case 20:break;case 21:return this.popState(),24;case 22:return this.popState(),18;case 23:return b.yytext=e(1,2).replace(/\\"/g,'"'),32;case 24:return b.yytext=e(1,2).replace(/\\'/g,"'"),32;case 25:return 42;case 26:return 34;case 27:return 34;case 28:return 33;case 29:return 40;case 30:return b.yytext=e(1,2),40;case 31:return"INVALID";case 32:return 5}},a.rules=[/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:[\s\S]*?--\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{!--)/,/^(?:\{\{![\s\S]*?\}\})/,/^(?:\{\{(~)?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:-?[0-9]+(?=([~}\s)])))/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)]))))/,/^(?:\[[^\]]*\])/,/^(?:.)/,/^(?:$)/],a.conditions={mu:{rules:[4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32],inclusive:!1},emu:{rules:[2],inclusive:!1},com:{rules:[3],inclusive:!1},INITIAL:{rules:[0,1,32],inclusive:!0}},a}();return c.lexer=d,b.prototype=c,c.Parser=b,new b}();return a=b}(),i=function(a,b){"use strict";function c(a){return a.constructor===f.ProgramNode?a:(e.yy=f,e.parse(a))}var d={},e=a,f=b;return d.parser=e,d.parse=c,d}(h,g),j=function(a){"use strict";function b(){}function c(a,b,c){if(null==a||"string"!=typeof a&&a.constructor!==c.AST.ProgramNode)throw new f("You must pass a string or Handlebars AST to Handlebars.precompile. You passed "+a);b=b||{},"data"in b||(b.data=!0);var d=c.parse(a),e=(new c.Compiler).compile(d,b);return(new c.JavaScriptCompiler).compile(e,b)}function d(a,b,c){function d(){var d=c.parse(a),e=(new c.Compiler).compile(d,b),f=(new c.JavaScriptCompiler).compile(e,b,void 0,!0);return c.template(f)}if(null==a||"string"!=typeof a&&a.constructor!==c.AST.ProgramNode)throw new f("You must pass a string or Handlebars AST to Handlebars.compile. You passed "+a);b=b||{},"data"in b||(b.data=!0);var e;return function(a,b){return e||(e=d()),e.call(this,a,b)}}var e={},f=a;return e.Compiler=b,b.prototype={compiler:b,disassemble:function(){for(var a,b,c,d=this.opcodes,e=[],f=0,g=d.length;g>f;f++)if(a=d[f],"DECLARE"===a.opcode)e.push("DECLARE "+a.name+"="+a.value);else{b=[];for(var h=0;hc;c++){var d=this.opcodes[c],e=a.opcodes[c];if(d.opcode!==e.opcode||d.args.length!==e.args.length)return!1;for(var f=0;fc;c++)if(!this.children[c].equals(a.children[c]))return!1;return!0},guid:0,compile:function(a,b){this.opcodes=[],this.children=[],this.depths={list:[]},this.options=b;var c=this.options.knownHelpers;if(this.options.knownHelpers={helperMissing:!0,blockHelperMissing:!0,each:!0,"if":!0,unless:!0,"with":!0,log:!0},c)for(var d in c)this.options.knownHelpers[d]=c[d];return this.accept(a)},accept:function(a){var b,c=a.strip||{};return c.left&&this.opcode("strip"),b=this[a.type](a),c.right&&this.opcode("strip"),b},program:function(a){for(var b=a.statements,c=0,d=b.length;d>c;c++)this.accept(b[c]);return this.isSimple=1===d,this.depths.list=this.depths.list.sort(function(a,b){return a-b}),this},compileProgram:function(a){var b,c=(new this.compiler).compile(a,this.options),d=this.guid++;this.usePartial=this.usePartial||c.usePartial,this.children[d]=c;for(var e=0,f=c.depths.list.length;f>e;e++)b=c.depths.list[e],2>b||this.addDepth(b-1);return d},block:function(a){var b=a.mustache,c=a.program,d=a.inverse;c&&(c=this.compileProgram(c)),d&&(d=this.compileProgram(d));var e=b.sexpr,f=this.classifySexpr(e);"helper"===f?this.helperSexpr(e,c,d):"simple"===f?(this.simpleSexpr(e),this.opcode("pushProgram",c),this.opcode("pushProgram",d),this.opcode("emptyHash"),this.opcode("blockValue")):(this.ambiguousSexpr(e,c,d),this.opcode("pushProgram",c),this.opcode("pushProgram",d),this.opcode("emptyHash"),this.opcode("ambiguousBlockValue")),this.opcode("append")},hash:function(a){var b,c,d=a.pairs;this.opcode("pushHash");for(var e=0,f=d.length;f>e;e++)b=d[e],c=b[1],this.options.stringParams?(c.depth&&this.addDepth(c.depth),this.opcode("getContext",c.depth||0),this.opcode("pushStringParam",c.stringModeValue,c.type),"sexpr"===c.type&&this.sexpr(c)):this.accept(c),this.opcode("assignToHash",b[0]);this.opcode("popHash")},partial:function(a){var b=a.partialName;this.usePartial=!0,a.context?this.ID(a.context):this.opcode("push","depth0"),this.opcode("invokePartial",b.name),this.opcode("append")},content:function(a){this.opcode("appendContent",a.string)},mustache:function(a){this.sexpr(a.sexpr),a.escaped&&!this.options.noEscape?this.opcode("appendEscaped"):this.opcode("append")},ambiguousSexpr:function(a,b,c){var d=a.id,e=d.parts[0],f=null!=b||null!=c;this.opcode("getContext",d.depth),this.opcode("pushProgram",b),this.opcode("pushProgram",c),this.opcode("invokeAmbiguous",e,f)},simpleSexpr:function(a){var b=a.id;"DATA"===b.type?this.DATA(b):b.parts.length?this.ID(b):(this.addDepth(b.depth),this.opcode("getContext",b.depth),this.opcode("pushContext")),this.opcode("resolvePossibleLambda")},helperSexpr:function(a,b,c){var d=this.setupFullMustacheParams(a,b,c),e=a.id.parts[0];if(this.options.knownHelpers[e])this.opcode("invokeKnownHelper",d.length,e);else{if(this.options.knownHelpersOnly)throw new f("You specified knownHelpersOnly, but used the unknown helper "+e,a);this.opcode("invokeHelper",d.length,e,a.isRoot)}},sexpr:function(a){var b=this.classifySexpr(a);"simple"===b?this.simpleSexpr(a):"helper"===b?this.helperSexpr(a):this.ambiguousSexpr(a)},ID:function(a){this.addDepth(a.depth),this.opcode("getContext",a.depth);var b=a.parts[0];b?this.opcode("lookupOnContext",a.parts[0]):this.opcode("pushContext");for(var c=1,d=a.parts.length;d>c;c++)this.opcode("lookup",a.parts[c])},DATA:function(a){if(this.options.data=!0,a.id.isScoped||a.id.depth)throw new f("Scoped data references are not supported: "+a.original,a);this.opcode("lookupData");for(var b=a.id.parts,c=0,d=b.length;d>c;c++)this.opcode("lookup",b[c])},STRING:function(a){this.opcode("pushString",a.string)},INTEGER:function(a){this.opcode("pushLiteral",a.integer)},BOOLEAN:function(a){this.opcode("pushLiteral",a.bool)},comment:function(){},opcode:function(a){this.opcodes.push({opcode:a,args:[].slice.call(arguments,1)})},declare:function(a,b){this.opcodes.push({opcode:"DECLARE",name:a,value:b})},addDepth:function(a){0!==a&&(this.depths[a]||(this.depths[a]=!0,this.depths.list.push(a)))},classifySexpr:function(a){var b=a.isHelper,c=a.eligibleHelper,d=this.options;if(c&&!b){var e=a.id.parts[0];d.knownHelpers[e]?b=!0:d.knownHelpersOnly&&(c=!1)}return b?"helper":c?"ambiguous":"simple"},pushParams:function(a){for(var b,c=a.length;c--;)b=a[c],this.options.stringParams?(b.depth&&this.addDepth(b.depth),this.opcode("getContext",b.depth||0),this.opcode("pushStringParam",b.stringModeValue,b.type),"sexpr"===b.type&&this.sexpr(b)):this[b.type](b)},setupFullMustacheParams:function(a,b,c){var d=a.params;return this.pushParams(d),this.opcode("pushProgram",b),this.opcode("pushProgram",c),a.hash?this.hash(a.hash):this.opcode("emptyHash"),d}},e.precompile=c,e.compile=d,e}(c),k=function(a,b){"use strict";function c(a){this.value=a}function d(){}var e,f=a.COMPILER_REVISION,g=a.REVISION_CHANGES,h=a.log,i=b;d.prototype={nameLookup:function(a,b){var c,e;return 0===a.indexOf("depth")&&(c=!0),e=/^[0-9]+$/.test(b)?a+"["+b+"]":d.isValidJavaScriptVariableName(b)?a+"."+b:a+"['"+b+"']",c?"("+a+" && "+e+")":e},compilerInfo:function(){var a=f,b=g[a];return"this.compilerInfo = ["+a+",'"+b+"'];\n"},appendToBuffer:function(a){return this.environment.isSimple?"return "+a+";":{appendToBuffer:!0,content:a,toString:function(){return"buffer += "+a+";"}}},initializeBuffer:function(){return this.quotedString("")},namespace:"Handlebars",compile:function(a,b,c,d){this.environment=a,this.options=b||{},h("debug",this.environment.disassemble()+"\n\n"),this.name=this.environment.name,this.isChild=!!c,this.context=c||{programs:[],environments:[],aliases:{}},this.preamble(),this.stackSlot=0,this.stackVars=[],this.registers={list:[]},this.hashes=[],this.compileStack=[],this.inlineStack=[],this.compileChildren(a,b); +var e,f=a.opcodes;this.i=0;for(var g=f.length;this.ie;e++)d.push("depth"+this.environment.depths.list[e]);var g=this.mergeSource();if(this.isChild||(g=this.compilerInfo()+g),a)return d.push(g),Function.apply(this,d);var i="function "+(this.name||"")+"("+d.join(",")+") {\n "+g+"}";return h("debug",i+"\n\n"),i},mergeSource:function(){for(var a,b="",c=0,d=this.source.length;d>c;c++){var e=this.source[c];e.appendToBuffer?a=a?a+"\n + "+e.content:e.content:(a&&(b+="buffer += "+a+";\n ",a=void 0),b+=e+"\n ")}return b},blockValue:function(){this.context.aliases.blockHelperMissing="helpers.blockHelperMissing";var a=["depth0"];this.setupParams(0,a),this.replaceStack(function(b){return a.splice(1,0,b),"blockHelperMissing.call("+a.join(", ")+")"})},ambiguousBlockValue:function(){this.context.aliases.blockHelperMissing="helpers.blockHelperMissing";var a=["depth0"];this.setupParams(0,a);var b=this.topStack();a.splice(1,0,b),this.pushSource("if (!"+this.lastHelper+") { "+b+" = blockHelperMissing.call("+a.join(", ")+"); }")},appendContent:function(a){this.pendingContent&&(a=this.pendingContent+a),this.stripNext&&(a=a.replace(/^\s+/,"")),this.pendingContent=a},strip:function(){this.pendingContent&&(this.pendingContent=this.pendingContent.replace(/\s+$/,"")),this.stripNext="strip"},append:function(){this.flushInline();var a=this.popStack();this.pushSource("if("+a+" || "+a+" === 0) { "+this.appendToBuffer(a)+" }"),this.environment.isSimple&&this.pushSource("else { "+this.appendToBuffer("''")+" }")},appendEscaped:function(){this.context.aliases.escapeExpression="this.escapeExpression",this.pushSource(this.appendToBuffer("escapeExpression("+this.popStack()+")"))},getContext:function(a){this.lastContext!==a&&(this.lastContext=a)},lookupOnContext:function(a){this.push(this.nameLookup("depth"+this.lastContext,a,"context"))},pushContext:function(){this.pushStackLiteral("depth"+this.lastContext)},resolvePossibleLambda:function(){this.context.aliases.functionType='"function"',this.replaceStack(function(a){return"typeof "+a+" === functionType ? "+a+".apply(depth0) : "+a})},lookup:function(a){this.replaceStack(function(b){return b+" == null || "+b+" === false ? "+b+" : "+this.nameLookup(b,a,"context")})},lookupData:function(){this.pushStackLiteral("data")},pushStringParam:function(a,b){this.pushStackLiteral("depth"+this.lastContext),this.pushString(b),"sexpr"!==b&&("string"==typeof a?this.pushString(a):this.pushStackLiteral(a))},emptyHash:function(){this.pushStackLiteral("{}"),this.options.stringParams&&(this.push("{}"),this.push("{}"))},pushHash:function(){this.hash&&this.hashes.push(this.hash),this.hash={values:[],types:[],contexts:[]}},popHash:function(){var a=this.hash;this.hash=this.hashes.pop(),this.options.stringParams&&(this.push("{"+a.contexts.join(",")+"}"),this.push("{"+a.types.join(",")+"}")),this.push("{\n "+a.values.join(",\n ")+"\n }")},pushString:function(a){this.pushStackLiteral(this.quotedString(a))},push:function(a){return this.inlineStack.push(a),a},pushLiteral:function(a){this.pushStackLiteral(a)},pushProgram:function(a){null!=a?this.pushStackLiteral(this.programExpression(a)):this.pushStackLiteral(null)},invokeHelper:function(a,b,c){this.context.aliases.helperMissing="helpers.helperMissing",this.useRegister("helper");var d=this.lastHelper=this.setupHelper(a,b,!0),e=this.nameLookup("depth"+this.lastContext,b,"context"),f="helper = "+d.name+" || "+e;d.paramsInit&&(f+=","+d.paramsInit),this.push("("+f+",helper ? helper.call("+d.callParams+") : helperMissing.call("+d.helperMissingParams+"))"),c||this.flushInline()},invokeKnownHelper:function(a,b){var c=this.setupHelper(a,b);this.push(c.name+".call("+c.callParams+")")},invokeAmbiguous:function(a,b){this.context.aliases.functionType='"function"',this.useRegister("helper"),this.emptyHash();var c=this.setupHelper(0,a,b),d=this.lastHelper=this.nameLookup("helpers",a,"helper"),e=this.nameLookup("depth"+this.lastContext,a,"context"),f=this.nextStack();c.paramsInit&&this.pushSource(c.paramsInit),this.pushSource("if (helper = "+d+") { "+f+" = helper.call("+c.callParams+"); }"),this.pushSource("else { helper = "+e+"; "+f+" = typeof helper === functionType ? helper.call("+c.callParams+") : helper; }")},invokePartial:function(a){var b=[this.nameLookup("partials",a,"partial"),"'"+a+"'",this.popStack(),"helpers","partials"];this.options.data&&b.push("data"),this.context.aliases.self="this",this.push("self.invokePartial("+b.join(", ")+")")},assignToHash:function(a){var b,c,d=this.popStack();this.options.stringParams&&(c=this.popStack(),b=this.popStack());var e=this.hash;b&&e.contexts.push("'"+a+"': "+b),c&&e.types.push("'"+a+"': "+c),e.values.push("'"+a+"': ("+d+")")},compiler:d,compileChildren:function(a,b){for(var c,d,e=a.children,f=0,g=e.length;g>f;f++){c=e[f],d=new this.compiler;var h=this.matchExistingProgram(c);null==h?(this.context.programs.push(""),h=this.context.programs.length,c.index=h,c.name="program"+h,this.context.programs[h]=d.compile(c,b,this.context),this.context.environments[h]=c):(c.index=h,c.name="program"+h)}},matchExistingProgram:function(a){for(var b=0,c=this.context.environments.length;c>b;b++){var d=this.context.environments[b];if(d&&d.equals(a))return b}},programExpression:function(a){if(this.context.aliases.self="this",null==a)return"self.noop";for(var b,c=this.environment.children[a],d=c.depths.list,e=[c.index,c.name,"data"],f=0,g=d.length;g>f;f++)b=d[f],1===b?e.push("depth0"):e.push("depth"+(b-1));return(0===d.length?"self.program(":"self.programWithDepth(")+e.join(", ")+")"},register:function(a,b){this.useRegister(a),this.pushSource(a+" = "+b+";")},useRegister:function(a){this.registers[a]||(this.registers[a]=!0,this.registers.list.push(a))},pushStackLiteral:function(a){return this.push(new c(a))},pushSource:function(a){this.pendingContent&&(this.source.push(this.appendToBuffer(this.quotedString(this.pendingContent))),this.pendingContent=void 0),a&&this.source.push(a)},pushStack:function(a){this.flushInline();var b=this.incrStack();return a&&this.pushSource(b+" = "+a+";"),this.compileStack.push(b),b},replaceStack:function(a){var b,d,e,f="",g=this.isInline();if(g){var h=this.popStack(!0);if(h instanceof c)b=h.value,e=!0;else{d=!this.stackSlot;var i=d?this.incrStack():this.topStackName();f="("+this.push(i)+" = "+h+"),",b=this.topStack()}}else b=this.topStack();var j=a.call(this,b);return g?(e||this.popStack(),d&&this.stackSlot--,this.push("("+f+j+")")):(/^stack/.test(b)||(b=this.nextStack()),this.pushSource(b+" = ("+f+j+");")),b},nextStack:function(){return this.pushStack()},incrStack:function(){return this.stackSlot++,this.stackSlot>this.stackVars.length&&this.stackVars.push("stack"+this.stackSlot),this.topStackName()},topStackName:function(){return"stack"+this.stackSlot},flushInline:function(){var a=this.inlineStack;if(a.length){this.inlineStack=[];for(var b=0,d=a.length;d>b;b++){var e=a[b];e instanceof c?this.compileStack.push(e):this.pushStack(e)}}},isInline:function(){return this.inlineStack.length},popStack:function(a){var b=this.isInline(),d=(b?this.inlineStack:this.compileStack).pop();if(!a&&d instanceof c)return d.value;if(!b){if(!this.stackSlot)throw new i("Invalid stack pop");this.stackSlot--}return d},topStack:function(a){var b=this.isInline()?this.inlineStack:this.compileStack,d=b[b.length-1];return!a&&d instanceof c?d.value:d},quotedString:function(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")+'"'},setupHelper:function(a,b,c){var d=[],e=this.setupParams(a,d,c),f=this.nameLookup("helpers",b,"helper");return{params:d,paramsInit:e,name:f,callParams:["depth0"].concat(d).join(", "),helperMissingParams:c&&["depth0",this.quotedString(b)].concat(d).join(", ")}},setupOptions:function(a,b){var c,d,e,f=[],g=[],h=[];f.push("hash:"+this.popStack()),this.options.stringParams&&(f.push("hashTypes:"+this.popStack()),f.push("hashContexts:"+this.popStack())),d=this.popStack(),e=this.popStack(),(e||d)&&(e||(this.context.aliases.self="this",e="self.noop"),d||(this.context.aliases.self="this",d="self.noop"),f.push("inverse:"+d),f.push("fn:"+e));for(var i=0;a>i;i++)c=this.popStack(),b.push(c),this.options.stringParams&&(h.push(this.popStack()),g.push(this.popStack()));return this.options.stringParams&&(f.push("contexts:["+g.join(",")+"]"),f.push("types:["+h.join(",")+"]")),this.options.data&&f.push("data:data"),f},setupParams:function(a,b,c){var d="{"+this.setupOptions(a,b).join(",")+"}";return c?(this.useRegister("options"),b.push("options"),"options="+d):(b.push(d),"")}};for(var j="break else new var case finally return void catch for switch while continue function this with default if throw delete in try do instanceof typeof abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public let yield".split(" "),k=d.RESERVED_WORDS={},l=0,m=j.length;m>l;l++)k[j[l]]=!0;return d.isValidJavaScriptVariableName=function(a){return!d.RESERVED_WORDS[a]&&/^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(a)?!0:!1},e=d}(d,c),l=function(a,b,c,d,e){"use strict";var f,g=a,h=b,i=c.parser,j=c.parse,k=d.Compiler,l=d.compile,m=d.precompile,n=e,o=g.create,p=function(){var a=o();return a.compile=function(b,c){return l(b,c,a)},a.precompile=function(b,c){return m(b,c,a)},a.AST=h,a.Compiler=k,a.JavaScriptCompiler=n,a.Parser=i,a.parse=j,a};return g=p(),g.create=p,f=g}(f,g,i,j,k);return l}(); \ No newline at end of file diff --git a/handlebars-node-precompiled/node_modules/handlebars/dist/handlebars.runtime.amd.js b/handlebars-node-precompiled/node_modules/handlebars/dist/handlebars.runtime.amd.js new file mode 100644 index 0000000..b4f0fe9 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/dist/handlebars.runtime.amd.js @@ -0,0 +1,515 @@ +/*! + + handlebars v1.3.0 + +Copyright (C) 2011 by Yehuda Katz + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +@license +*/ + +define( + 'handlebars/safe-string',["exports"], + function(__exports__) { + + // Build out our basic SafeString type + function SafeString(string) { + this.string = string; + } + + SafeString.prototype.toString = function() { + return "" + this.string; + }; + + __exports__["default"] = SafeString; + }); +define( + 'handlebars/utils',["./safe-string","exports"], + function(__dependency1__, __exports__) { + + /*jshint -W004 */ + var SafeString = __dependency1__["default"]; + + var escape = { + "&": "&", + "<": "<", + ">": ">", + '"': """, + "'": "'", + "`": "`" + }; + + var badChars = /[&<>"'`]/g; + var possible = /[&<>"'`]/; + + function escapeChar(chr) { + return escape[chr] || "&"; + } + + function extend(obj, value) { + for(var key in value) { + if(Object.prototype.hasOwnProperty.call(value, key)) { + obj[key] = value[key]; + } + } + } + + __exports__.extend = extend;var toString = Object.prototype.toString; + __exports__.toString = toString; + // Sourced from lodash + // https://github.com/bestiejs/lodash/blob/master/LICENSE.txt + var isFunction = function(value) { + return typeof value === 'function'; + }; + // fallback for older versions of Chrome and Safari + if (isFunction(/x/)) { + isFunction = function(value) { + return typeof value === 'function' && toString.call(value) === '[object Function]'; + }; + } + var isFunction; + __exports__.isFunction = isFunction; + var isArray = Array.isArray || function(value) { + return (value && typeof value === 'object') ? toString.call(value) === '[object Array]' : false; + }; + __exports__.isArray = isArray; + + function escapeExpression(string) { + // don't escape SafeStrings, since they're already safe + if (string instanceof SafeString) { + return string.toString(); + } else if (!string && string !== 0) { + return ""; + } + + // Force a string conversion as this will be done by the append regardless and + // the regex test will do this transparently behind the scenes, causing issues if + // an object's to string has escaped characters in it. + string = "" + string; + + if(!possible.test(string)) { return string; } + return string.replace(badChars, escapeChar); + } + + __exports__.escapeExpression = escapeExpression;function isEmpty(value) { + if (!value && value !== 0) { + return true; + } else if (isArray(value) && value.length === 0) { + return true; + } else { + return false; + } + } + + __exports__.isEmpty = isEmpty; + }); +define( + 'handlebars/exception',["exports"], + function(__exports__) { + + + var errorProps = ['description', 'fileName', 'lineNumber', 'message', 'name', 'number', 'stack']; + + function Exception(message, node) { + var line; + if (node && node.firstLine) { + line = node.firstLine; + + message += ' - ' + line + ':' + node.firstColumn; + } + + var tmp = Error.prototype.constructor.call(this, message); + + // Unfortunately errors are not enumerable in Chrome (at least), so `for prop in tmp` doesn't work. + for (var idx = 0; idx < errorProps.length; idx++) { + this[errorProps[idx]] = tmp[errorProps[idx]]; + } + + if (line) { + this.lineNumber = line; + this.column = node.firstColumn; + } + } + + Exception.prototype = new Error(); + + __exports__["default"] = Exception; + }); +define( + 'handlebars/base',["./utils","./exception","exports"], + function(__dependency1__, __dependency2__, __exports__) { + + var Utils = __dependency1__; + var Exception = __dependency2__["default"]; + + var VERSION = "1.3.0"; + __exports__.VERSION = VERSION;var COMPILER_REVISION = 4; + __exports__.COMPILER_REVISION = COMPILER_REVISION; + var REVISION_CHANGES = { + 1: '<= 1.0.rc.2', // 1.0.rc.2 is actually rev2 but doesn't report it + 2: '== 1.0.0-rc.3', + 3: '== 1.0.0-rc.4', + 4: '>= 1.0.0' + }; + __exports__.REVISION_CHANGES = REVISION_CHANGES; + var isArray = Utils.isArray, + isFunction = Utils.isFunction, + toString = Utils.toString, + objectType = '[object Object]'; + + function HandlebarsEnvironment(helpers, partials) { + this.helpers = helpers || {}; + this.partials = partials || {}; + + registerDefaultHelpers(this); + } + + __exports__.HandlebarsEnvironment = HandlebarsEnvironment;HandlebarsEnvironment.prototype = { + constructor: HandlebarsEnvironment, + + logger: logger, + log: log, + + registerHelper: function(name, fn, inverse) { + if (toString.call(name) === objectType) { + if (inverse || fn) { throw new Exception('Arg not supported with multiple helpers'); } + Utils.extend(this.helpers, name); + } else { + if (inverse) { fn.not = inverse; } + this.helpers[name] = fn; + } + }, + + registerPartial: function(name, str) { + if (toString.call(name) === objectType) { + Utils.extend(this.partials, name); + } else { + this.partials[name] = str; + } + } + }; + + function registerDefaultHelpers(instance) { + instance.registerHelper('helperMissing', function(arg) { + if(arguments.length === 2) { + return undefined; + } else { + throw new Exception("Missing helper: '" + arg + "'"); + } + }); + + instance.registerHelper('blockHelperMissing', function(context, options) { + var inverse = options.inverse || function() {}, fn = options.fn; + + if (isFunction(context)) { context = context.call(this); } + + if(context === true) { + return fn(this); + } else if(context === false || context == null) { + return inverse(this); + } else if (isArray(context)) { + if(context.length > 0) { + return instance.helpers.each(context, options); + } else { + return inverse(this); + } + } else { + return fn(context); + } + }); + + instance.registerHelper('each', function(context, options) { + var fn = options.fn, inverse = options.inverse; + var i = 0, ret = "", data; + + if (isFunction(context)) { context = context.call(this); } + + if (options.data) { + data = createFrame(options.data); + } + + if(context && typeof context === 'object') { + if (isArray(context)) { + for(var j = context.length; i":">",'"':""","'":"'","`":"`"},i=/[&<>"'`]/g,j=/[&<>"'`]/;b.extend=d;var k=Object.prototype.toString;b.toString=k;var l=function(a){return"function"==typeof a};l(/x/)&&(l=function(a){return"function"==typeof a&&"[object Function]"===k.call(a)});var l;b.isFunction=l;var m=Array.isArray||function(a){return a&&"object"==typeof a?"[object Array]"===k.call(a):!1};b.isArray=m,b.escapeExpression=e,b.isEmpty=f}),define("handlebars/exception",["exports"],function(a){function b(a,b){var d;b&&b.firstLine&&(d=b.firstLine,a+=" - "+d+":"+b.firstColumn);for(var e=Error.prototype.constructor.call(this,a),f=0;f0?a.helpers.each(b,c):d(this):e(b)}),a.registerHelper("each",function(a,b){var c,d=b.fn,e=b.inverse,f=0,g="";if(m(a)&&(a=a.call(this)),b.data&&(c=q(b.data)),a&&"object"==typeof a)if(l(a))for(var h=a.length;h>f;f++)c&&(c.index=f,c.first=0===f,c.last=f===a.length-1),g+=d(a[f],{data:c});else for(var i in a)a.hasOwnProperty(i)&&(c&&(c.key=i,c.index=f,c.first=0===f),g+=d(a[i],{data:c}),f++);return 0===f&&(g=e(this)),g}),a.registerHelper("if",function(a,b){return m(a)&&(a=a.call(this)),!b.hash.includeZero&&!a||g.isEmpty(a)?b.inverse(this):b.fn(this)}),a.registerHelper("unless",function(b,c){return a.helpers["if"].call(this,b,{fn:c.inverse,inverse:c.fn,hash:c.hash})}),a.registerHelper("with",function(a,b){return m(a)&&(a=a.call(this)),g.isEmpty(a)?void 0:b.fn(a)}),a.registerHelper("log",function(b,c){var d=c.data&&null!=c.data.level?parseInt(c.data.level,10):1;a.log(d,b)})}function f(a,b){p.log(a,b)}var g=a,h=b["default"],i="1.3.0";c.VERSION=i;var j=4;c.COMPILER_REVISION=j;var k={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:">= 1.0.0"};c.REVISION_CHANGES=k;var l=g.isArray,m=g.isFunction,n=g.toString,o="[object Object]";c.HandlebarsEnvironment=d,d.prototype={constructor:d,logger:p,log:f,registerHelper:function(a,b,c){if(n.call(a)===o){if(c||b)throw new h("Arg not supported with multiple helpers");g.extend(this.helpers,a)}else c&&(b.not=c),this.helpers[a]=b},registerPartial:function(a,b){n.call(a)===o?g.extend(this.partials,a):this.partials[a]=b}};var p={methodMap:{0:"debug",1:"info",2:"warn",3:"error"},DEBUG:0,INFO:1,WARN:2,ERROR:3,level:3,log:function(a,b){if(p.level<=a){var c=p.methodMap[a];"undefined"!=typeof console&&console[c]&&console[c].call(console,b)}}};c.logger=p,c.log=f;var q=function(a){var b={};return g.extend(b,a),b};c.createFrame=q}),define("handlebars/runtime",["./utils","./exception","./base","exports"],function(a,b,c,d){function e(a){var b=a&&a[0]||1,c=m;if(b!==c){if(c>b){var d=n[c],e=n[b];throw new l("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+d+") or downgrade your runtime to an older version ("+e+").")}throw new l("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+a[1]+").")}}function f(a,b){if(!b)throw new l("No environment passed to template");var c=function(a,c,d,e,f,g){var h=b.VM.invokePartial.apply(this,arguments);if(null!=h)return h;if(b.compile){var i={helpers:e,partials:f,data:g};return f[c]=b.compile(a,{data:void 0!==g},b),f[c](d,i)}throw new l("The partial "+c+" could not be compiled when running in runtime-only mode")},d={escapeExpression:k.escapeExpression,invokePartial:c,programs:[],program:function(a,b,c){var d=this.programs[a];return c?d=h(a,b,c):d||(d=this.programs[a]=h(a,b)),d},merge:function(a,b){var c=a||b;return a&&b&&a!==b&&(c={},k.extend(c,b),k.extend(c,a)),c},programWithDepth:b.VM.programWithDepth,noop:b.VM.noop,compilerInfo:null};return function(c,e){e=e||{};var f,g,h=e.partial?e:b;e.partial||(f=e.helpers,g=e.partials);var i=a.call(d,h,c,f,g,e.data);return e.partial||b.VM.checkRevision(d.compilerInfo),i}}function g(a,b,c){var d=Array.prototype.slice.call(arguments,3),e=function(a,e){return e=e||{},b.apply(this,[a,e.data||c].concat(d))};return e.program=a,e.depth=d.length,e}function h(a,b,c){var d=function(a,d){return d=d||{},b(a,d.data||c)};return d.program=a,d.depth=0,d}function i(a,b,c,d,e,f){var g={partial:!0,helpers:d,partials:e,data:f};if(void 0===a)throw new l("The partial "+b+" could not be found");return a instanceof Function?a(c,g):void 0}function j(){return""}var k=a,l=b["default"],m=c.COMPILER_REVISION,n=c.REVISION_CHANGES;d.checkRevision=e,d.template=f,d.programWithDepth=g,d.program=h,d.invokePartial=i,d.noop=j}),define("handlebars.runtime",["./handlebars/base","./handlebars/safe-string","./handlebars/exception","./handlebars/utils","./handlebars/runtime","exports"],function(a,b,c,d,e,f){var g=a,h=b["default"],i=c["default"],j=d,k=e,l=function(){var a=new g.HandlebarsEnvironment;return j.extend(a,g),a.SafeString=h,a.Exception=i,a.Utils=j,a.VM=k,a.template=function(b){return k.template(b,a)},a},m=l();m.create=l,f["default"]=m}); \ No newline at end of file diff --git a/handlebars-node-precompiled/node_modules/handlebars/dist/handlebars.runtime.js b/handlebars-node-precompiled/node_modules/handlebars/dist/handlebars.runtime.js new file mode 100644 index 0000000..b94930f --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/dist/handlebars.runtime.js @@ -0,0 +1,530 @@ +/*! + + handlebars v1.3.0 + +Copyright (C) 2011 by Yehuda Katz + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +@license +*/ +/* exported Handlebars */ +var Handlebars = (function() { +// handlebars/safe-string.js +var __module3__ = (function() { + "use strict"; + var __exports__; + // Build out our basic SafeString type + function SafeString(string) { + this.string = string; + } + + SafeString.prototype.toString = function() { + return "" + this.string; + }; + + __exports__ = SafeString; + return __exports__; +})(); + +// handlebars/utils.js +var __module2__ = (function(__dependency1__) { + "use strict"; + var __exports__ = {}; + /*jshint -W004 */ + var SafeString = __dependency1__; + + var escape = { + "&": "&", + "<": "<", + ">": ">", + '"': """, + "'": "'", + "`": "`" + }; + + var badChars = /[&<>"'`]/g; + var possible = /[&<>"'`]/; + + function escapeChar(chr) { + return escape[chr] || "&"; + } + + function extend(obj, value) { + for(var key in value) { + if(Object.prototype.hasOwnProperty.call(value, key)) { + obj[key] = value[key]; + } + } + } + + __exports__.extend = extend;var toString = Object.prototype.toString; + __exports__.toString = toString; + // Sourced from lodash + // https://github.com/bestiejs/lodash/blob/master/LICENSE.txt + var isFunction = function(value) { + return typeof value === 'function'; + }; + // fallback for older versions of Chrome and Safari + if (isFunction(/x/)) { + isFunction = function(value) { + return typeof value === 'function' && toString.call(value) === '[object Function]'; + }; + } + var isFunction; + __exports__.isFunction = isFunction; + var isArray = Array.isArray || function(value) { + return (value && typeof value === 'object') ? toString.call(value) === '[object Array]' : false; + }; + __exports__.isArray = isArray; + + function escapeExpression(string) { + // don't escape SafeStrings, since they're already safe + if (string instanceof SafeString) { + return string.toString(); + } else if (!string && string !== 0) { + return ""; + } + + // Force a string conversion as this will be done by the append regardless and + // the regex test will do this transparently behind the scenes, causing issues if + // an object's to string has escaped characters in it. + string = "" + string; + + if(!possible.test(string)) { return string; } + return string.replace(badChars, escapeChar); + } + + __exports__.escapeExpression = escapeExpression;function isEmpty(value) { + if (!value && value !== 0) { + return true; + } else if (isArray(value) && value.length === 0) { + return true; + } else { + return false; + } + } + + __exports__.isEmpty = isEmpty; + return __exports__; +})(__module3__); + +// handlebars/exception.js +var __module4__ = (function() { + "use strict"; + var __exports__; + + var errorProps = ['description', 'fileName', 'lineNumber', 'message', 'name', 'number', 'stack']; + + function Exception(message, node) { + var line; + if (node && node.firstLine) { + line = node.firstLine; + + message += ' - ' + line + ':' + node.firstColumn; + } + + var tmp = Error.prototype.constructor.call(this, message); + + // Unfortunately errors are not enumerable in Chrome (at least), so `for prop in tmp` doesn't work. + for (var idx = 0; idx < errorProps.length; idx++) { + this[errorProps[idx]] = tmp[errorProps[idx]]; + } + + if (line) { + this.lineNumber = line; + this.column = node.firstColumn; + } + } + + Exception.prototype = new Error(); + + __exports__ = Exception; + return __exports__; +})(); + +// handlebars/base.js +var __module1__ = (function(__dependency1__, __dependency2__) { + "use strict"; + var __exports__ = {}; + var Utils = __dependency1__; + var Exception = __dependency2__; + + var VERSION = "1.3.0"; + __exports__.VERSION = VERSION;var COMPILER_REVISION = 4; + __exports__.COMPILER_REVISION = COMPILER_REVISION; + var REVISION_CHANGES = { + 1: '<= 1.0.rc.2', // 1.0.rc.2 is actually rev2 but doesn't report it + 2: '== 1.0.0-rc.3', + 3: '== 1.0.0-rc.4', + 4: '>= 1.0.0' + }; + __exports__.REVISION_CHANGES = REVISION_CHANGES; + var isArray = Utils.isArray, + isFunction = Utils.isFunction, + toString = Utils.toString, + objectType = '[object Object]'; + + function HandlebarsEnvironment(helpers, partials) { + this.helpers = helpers || {}; + this.partials = partials || {}; + + registerDefaultHelpers(this); + } + + __exports__.HandlebarsEnvironment = HandlebarsEnvironment;HandlebarsEnvironment.prototype = { + constructor: HandlebarsEnvironment, + + logger: logger, + log: log, + + registerHelper: function(name, fn, inverse) { + if (toString.call(name) === objectType) { + if (inverse || fn) { throw new Exception('Arg not supported with multiple helpers'); } + Utils.extend(this.helpers, name); + } else { + if (inverse) { fn.not = inverse; } + this.helpers[name] = fn; + } + }, + + registerPartial: function(name, str) { + if (toString.call(name) === objectType) { + Utils.extend(this.partials, name); + } else { + this.partials[name] = str; + } + } + }; + + function registerDefaultHelpers(instance) { + instance.registerHelper('helperMissing', function(arg) { + if(arguments.length === 2) { + return undefined; + } else { + throw new Exception("Missing helper: '" + arg + "'"); + } + }); + + instance.registerHelper('blockHelperMissing', function(context, options) { + var inverse = options.inverse || function() {}, fn = options.fn; + + if (isFunction(context)) { context = context.call(this); } + + if(context === true) { + return fn(this); + } else if(context === false || context == null) { + return inverse(this); + } else if (isArray(context)) { + if(context.length > 0) { + return instance.helpers.each(context, options); + } else { + return inverse(this); + } + } else { + return fn(context); + } + }); + + instance.registerHelper('each', function(context, options) { + var fn = options.fn, inverse = options.inverse; + var i = 0, ret = "", data; + + if (isFunction(context)) { context = context.call(this); } + + if (options.data) { + data = createFrame(options.data); + } + + if(context && typeof context === 'object') { + if (isArray(context)) { + for(var j = context.length; i":">",'"':""","'":"'","`":"`"},i=/[&<>"'`]/g,j=/[&<>"'`]/;f.extend=c;var k=Object.prototype.toString;f.toString=k;var l=function(a){return"function"==typeof a};l(/x/)&&(l=function(a){return"function"==typeof a&&"[object Function]"===k.call(a)});var l;f.isFunction=l;var m=Array.isArray||function(a){return a&&"object"==typeof a?"[object Array]"===k.call(a):!1};return f.isArray=m,f.escapeExpression=d,f.isEmpty=e,f}(a),c=function(){"use strict";function a(a,b){var d;b&&b.firstLine&&(d=b.firstLine,a+=" - "+d+":"+b.firstColumn);for(var e=Error.prototype.constructor.call(this,a),f=0;f0?a.helpers.each(b,c):d(this):e(b)}),a.registerHelper("each",function(a,b){var c,d=b.fn,e=b.inverse,f=0,g="";if(m(a)&&(a=a.call(this)),b.data&&(c=q(b.data)),a&&"object"==typeof a)if(l(a))for(var h=a.length;h>f;f++)c&&(c.index=f,c.first=0===f,c.last=f===a.length-1),g+=d(a[f],{data:c});else for(var i in a)a.hasOwnProperty(i)&&(c&&(c.key=i,c.index=f,c.first=0===f),g+=d(a[i],{data:c}),f++);return 0===f&&(g=e(this)),g}),a.registerHelper("if",function(a,b){return m(a)&&(a=a.call(this)),!b.hash.includeZero&&!a||g.isEmpty(a)?b.inverse(this):b.fn(this)}),a.registerHelper("unless",function(b,c){return a.helpers["if"].call(this,b,{fn:c.inverse,inverse:c.fn,hash:c.hash})}),a.registerHelper("with",function(a,b){return m(a)&&(a=a.call(this)),g.isEmpty(a)?void 0:b.fn(a)}),a.registerHelper("log",function(b,c){var d=c.data&&null!=c.data.level?parseInt(c.data.level,10):1;a.log(d,b)})}function e(a,b){p.log(a,b)}var f={},g=a,h=b,i="1.3.0";f.VERSION=i;var j=4;f.COMPILER_REVISION=j;var k={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:">= 1.0.0"};f.REVISION_CHANGES=k;var l=g.isArray,m=g.isFunction,n=g.toString,o="[object Object]";f.HandlebarsEnvironment=c,c.prototype={constructor:c,logger:p,log:e,registerHelper:function(a,b,c){if(n.call(a)===o){if(c||b)throw new h("Arg not supported with multiple helpers");g.extend(this.helpers,a)}else c&&(b.not=c),this.helpers[a]=b},registerPartial:function(a,b){n.call(a)===o?g.extend(this.partials,a):this.partials[a]=b}};var p={methodMap:{0:"debug",1:"info",2:"warn",3:"error"},DEBUG:0,INFO:1,WARN:2,ERROR:3,level:3,log:function(a,b){if(p.level<=a){var c=p.methodMap[a];"undefined"!=typeof console&&console[c]&&console[c].call(console,b)}}};f.logger=p,f.log=e;var q=function(a){var b={};return g.extend(b,a),b};return f.createFrame=q,f}(b,c),e=function(a,b,c){"use strict";function d(a){var b=a&&a[0]||1,c=m;if(b!==c){if(c>b){var d=n[c],e=n[b];throw new l("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+d+") or downgrade your runtime to an older version ("+e+").")}throw new l("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+a[1]+").")}}function e(a,b){if(!b)throw new l("No environment passed to template");var c=function(a,c,d,e,f,g){var h=b.VM.invokePartial.apply(this,arguments);if(null!=h)return h;if(b.compile){var i={helpers:e,partials:f,data:g};return f[c]=b.compile(a,{data:void 0!==g},b),f[c](d,i)}throw new l("The partial "+c+" could not be compiled when running in runtime-only mode")},d={escapeExpression:k.escapeExpression,invokePartial:c,programs:[],program:function(a,b,c){var d=this.programs[a];return c?d=g(a,b,c):d||(d=this.programs[a]=g(a,b)),d},merge:function(a,b){var c=a||b;return a&&b&&a!==b&&(c={},k.extend(c,b),k.extend(c,a)),c},programWithDepth:b.VM.programWithDepth,noop:b.VM.noop,compilerInfo:null};return function(c,e){e=e||{};var f,g,h=e.partial?e:b;e.partial||(f=e.helpers,g=e.partials);var i=a.call(d,h,c,f,g,e.data);return e.partial||b.VM.checkRevision(d.compilerInfo),i}}function f(a,b,c){var d=Array.prototype.slice.call(arguments,3),e=function(a,e){return e=e||{},b.apply(this,[a,e.data||c].concat(d))};return e.program=a,e.depth=d.length,e}function g(a,b,c){var d=function(a,d){return d=d||{},b(a,d.data||c)};return d.program=a,d.depth=0,d}function h(a,b,c,d,e,f){var g={partial:!0,helpers:d,partials:e,data:f};if(void 0===a)throw new l("The partial "+b+" could not be found");return a instanceof Function?a(c,g):void 0}function i(){return""}var j={},k=a,l=b,m=c.COMPILER_REVISION,n=c.REVISION_CHANGES;return j.checkRevision=d,j.template=e,j.programWithDepth=f,j.program=g,j.invokePartial=h,j.noop=i,j}(b,c,d),f=function(a,b,c,d,e){"use strict";var f,g=a,h=b,i=c,j=d,k=e,l=function(){var a=new g.HandlebarsEnvironment;return j.extend(a,g),a.SafeString=h,a.Exception=i,a.Utils=j,a.VM=k,a.template=function(b){return k.template(b,a)},a},m=l();return m.create=l,f=m}(d,a,c,b,e);return f}(); \ No newline at end of file diff --git a/handlebars-node-precompiled/node_modules/handlebars/lib/handlebars.js b/handlebars-node-precompiled/node_modules/handlebars/lib/handlebars.js new file mode 100644 index 0000000..ffa9c7a --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/lib/handlebars.js @@ -0,0 +1,33 @@ +/*globals Handlebars: true */ +import Handlebars from "./handlebars.runtime"; + +// Compiler imports +import AST from "./handlebars/compiler/ast"; +import { parser as Parser, parse } from "./handlebars/compiler/base"; +import { Compiler, compile, precompile } from "./handlebars/compiler/compiler"; +import JavaScriptCompiler from "./handlebars/compiler/javascript-compiler"; + +var _create = Handlebars.create; +var create = function() { + var hb = _create(); + + hb.compile = function(input, options) { + return compile(input, options, hb); + }; + hb.precompile = function (input, options) { + return precompile(input, options, hb); + }; + + hb.AST = AST; + hb.Compiler = Compiler; + hb.JavaScriptCompiler = JavaScriptCompiler; + hb.Parser = Parser; + hb.parse = parse; + + return hb; +}; + +Handlebars = create(); +Handlebars.create = create; + +export default Handlebars; diff --git a/handlebars-node-precompiled/node_modules/handlebars/lib/handlebars.runtime.js b/handlebars-node-precompiled/node_modules/handlebars/lib/handlebars.runtime.js new file mode 100644 index 0000000..e77aae0 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/lib/handlebars.runtime.js @@ -0,0 +1,31 @@ +/*globals Handlebars: true */ +module base from "./handlebars/base"; + +// Each of these augment the Handlebars object. No need to setup here. +// (This is done to easily share code between commonjs and browse envs) +import SafeString from "./handlebars/safe-string"; +import Exception from "./handlebars/exception"; +module Utils from "./handlebars/utils"; +module runtime from "./handlebars/runtime"; + +// For compatibility and usage outside of module systems, make the Handlebars object a namespace +var create = function() { + var hb = new base.HandlebarsEnvironment(); + + Utils.extend(hb, base); + hb.SafeString = SafeString; + hb.Exception = Exception; + hb.Utils = Utils; + + hb.VM = runtime; + hb.template = function(spec) { + return runtime.template(spec, hb); + }; + + return hb; +}; + +var Handlebars = create(); +Handlebars.create = create; + +export default Handlebars; diff --git a/handlebars-node-precompiled/node_modules/handlebars/lib/handlebars/base.js b/handlebars-node-precompiled/node_modules/handlebars/lib/handlebars/base.js new file mode 100644 index 0000000..00c8bf1 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/lib/handlebars/base.js @@ -0,0 +1,178 @@ +module Utils from "./utils"; +import Exception from "./exception"; + +export var VERSION = "1.3.0"; +export var COMPILER_REVISION = 4; + +export var REVISION_CHANGES = { + 1: '<= 1.0.rc.2', // 1.0.rc.2 is actually rev2 but doesn't report it + 2: '== 1.0.0-rc.3', + 3: '== 1.0.0-rc.4', + 4: '>= 1.0.0' +}; + +var isArray = Utils.isArray, + isFunction = Utils.isFunction, + toString = Utils.toString, + objectType = '[object Object]'; + +export function HandlebarsEnvironment(helpers, partials) { + this.helpers = helpers || {}; + this.partials = partials || {}; + + registerDefaultHelpers(this); +} + +HandlebarsEnvironment.prototype = { + constructor: HandlebarsEnvironment, + + logger: logger, + log: log, + + registerHelper: function(name, fn, inverse) { + if (toString.call(name) === objectType) { + if (inverse || fn) { throw new Exception('Arg not supported with multiple helpers'); } + Utils.extend(this.helpers, name); + } else { + if (inverse) { fn.not = inverse; } + this.helpers[name] = fn; + } + }, + + registerPartial: function(name, str) { + if (toString.call(name) === objectType) { + Utils.extend(this.partials, name); + } else { + this.partials[name] = str; + } + } +}; + +function registerDefaultHelpers(instance) { + instance.registerHelper('helperMissing', function(arg) { + if(arguments.length === 2) { + return undefined; + } else { + throw new Exception("Missing helper: '" + arg + "'"); + } + }); + + instance.registerHelper('blockHelperMissing', function(context, options) { + var inverse = options.inverse || function() {}, fn = options.fn; + + if (isFunction(context)) { context = context.call(this); } + + if(context === true) { + return fn(this); + } else if(context === false || context == null) { + return inverse(this); + } else if (isArray(context)) { + if(context.length > 0) { + return instance.helpers.each(context, options); + } else { + return inverse(this); + } + } else { + return fn(context); + } + }); + + instance.registerHelper('each', function(context, options) { + var fn = options.fn, inverse = options.inverse; + var i = 0, ret = "", data; + + if (isFunction(context)) { context = context.call(this); } + + if (options.data) { + data = createFrame(options.data); + } + + if(context && typeof context === 'object') { + if (isArray(context)) { + for(var j = context.length; i 0) { + throw new Exception("Invalid path: " + original, this); + } else if (part === "..") { + depth++; + } else { + this.isScoped = true; + } + } else { + dig.push(part); + } + } + + this.original = original; + this.parts = dig; + this.string = dig.join('.'); + this.depth = depth; + + // an ID is simple if it only has one part, and that part is not + // `..` or `this`. + this.isSimple = parts.length === 1 && !this.isScoped && depth === 0; + + this.stringModeValue = this.string; + }, + + PartialNameNode: function(name, locInfo) { + LocationInfo.call(this, locInfo); + this.type = "PARTIAL_NAME"; + this.name = name.original; + }, + + DataNode: function(id, locInfo) { + LocationInfo.call(this, locInfo); + this.type = "DATA"; + this.id = id; + }, + + StringNode: function(string, locInfo) { + LocationInfo.call(this, locInfo); + this.type = "STRING"; + this.original = + this.string = + this.stringModeValue = string; + }, + + IntegerNode: function(integer, locInfo) { + LocationInfo.call(this, locInfo); + this.type = "INTEGER"; + this.original = + this.integer = integer; + this.stringModeValue = Number(integer); + }, + + BooleanNode: function(bool, locInfo) { + LocationInfo.call(this, locInfo); + this.type = "BOOLEAN"; + this.bool = bool; + this.stringModeValue = bool === "true"; + }, + + CommentNode: function(comment, locInfo) { + LocationInfo.call(this, locInfo); + this.type = "comment"; + this.comment = comment; + } +}; + +// Must be exported as an object rather than the root of the module as the jison lexer +// most modify the object to operate properly. +export default AST; diff --git a/handlebars-node-precompiled/node_modules/handlebars/lib/handlebars/compiler/base.js b/handlebars-node-precompiled/node_modules/handlebars/lib/handlebars/compiler/base.js new file mode 100644 index 0000000..722f09a --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/lib/handlebars/compiler/base.js @@ -0,0 +1,12 @@ +import parser from "./parser"; +import AST from "./ast"; + +export { parser }; + +export function parse(input) { + // Just return if an already-compile AST was passed in. + if(input.constructor === AST.ProgramNode) { return input; } + + parser.yy = AST; + return parser.parse(input); +} diff --git a/handlebars-node-precompiled/node_modules/handlebars/lib/handlebars/compiler/compiler.js b/handlebars-node-precompiled/node_modules/handlebars/lib/handlebars/compiler/compiler.js new file mode 100644 index 0000000..461f98b --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/lib/handlebars/compiler/compiler.js @@ -0,0 +1,466 @@ +import Exception from "../exception"; + +export function Compiler() {} + +// the foundHelper register will disambiguate helper lookup from finding a +// function in a context. This is necessary for mustache compatibility, which +// requires that context functions in blocks are evaluated by blockHelperMissing, +// and then proceed as if the resulting value was provided to blockHelperMissing. + +Compiler.prototype = { + compiler: Compiler, + + disassemble: function() { + var opcodes = this.opcodes, opcode, out = [], params, param; + + for (var i=0, l=opcodes.length; i 0) { + this.source[1] = this.source[1] + ", " + locals.join(", "); + } + + // Generate minimizer alias mappings + if (!this.isChild) { + for (var alias in this.context.aliases) { + if (this.context.aliases.hasOwnProperty(alias)) { + this.source[1] = this.source[1] + ', ' + alias + '=' + this.context.aliases[alias]; + } + } + } + + if (this.source[1]) { + this.source[1] = "var " + this.source[1].substring(2) + ";"; + } + + // Merge children + if (!this.isChild) { + this.source[1] += '\n' + this.context.programs.join('\n') + '\n'; + } + + if (!this.environment.isSimple) { + this.pushSource("return buffer;"); + } + + var params = this.isChild ? ["depth0", "data"] : ["Handlebars", "depth0", "helpers", "partials", "data"]; + + for(var i=0, l=this.environment.depths.list.length; i this.stackVars.length) { this.stackVars.push("stack" + this.stackSlot); } + return this.topStackName(); + }, + topStackName: function() { + return "stack" + this.stackSlot; + }, + flushInline: function() { + var inlineStack = this.inlineStack; + if (inlineStack.length) { + this.inlineStack = []; + for (var i = 0, len = inlineStack.length; i < len; i++) { + var entry = inlineStack[i]; + if (entry instanceof Literal) { + this.compileStack.push(entry); + } else { + this.pushStack(entry); + } + } + } + }, + isInline: function() { + return this.inlineStack.length; + }, + + popStack: function(wrapped) { + var inline = this.isInline(), + item = (inline ? this.inlineStack : this.compileStack).pop(); + + if (!wrapped && (item instanceof Literal)) { + return item.value; + } else { + if (!inline) { + if (!this.stackSlot) { + throw new Exception('Invalid stack pop'); + } + this.stackSlot--; + } + return item; + } + }, + + topStack: function(wrapped) { + var stack = (this.isInline() ? this.inlineStack : this.compileStack), + item = stack[stack.length - 1]; + + if (!wrapped && (item instanceof Literal)) { + return item.value; + } else { + return item; + } + }, + + quotedString: function(str) { + return '"' + str + .replace(/\\/g, '\\\\') + .replace(/"/g, '\\"') + .replace(/\n/g, '\\n') + .replace(/\r/g, '\\r') + .replace(/\u2028/g, '\\u2028') // Per Ecma-262 7.3 + 7.8.4 + .replace(/\u2029/g, '\\u2029') + '"'; + }, + + setupHelper: function(paramSize, name, missingParams) { + var params = [], + paramsInit = this.setupParams(paramSize, params, missingParams); + var foundHelper = this.nameLookup('helpers', name, 'helper'); + + return { + params: params, + paramsInit: paramsInit, + name: foundHelper, + callParams: ["depth0"].concat(params).join(", "), + helperMissingParams: missingParams && ["depth0", this.quotedString(name)].concat(params).join(", ") + }; + }, + + setupOptions: function(paramSize, params) { + var options = [], contexts = [], types = [], param, inverse, program; + + options.push("hash:" + this.popStack()); + + if (this.options.stringParams) { + options.push("hashTypes:" + this.popStack()); + options.push("hashContexts:" + this.popStack()); + } + + inverse = this.popStack(); + program = this.popStack(); + + // Avoid setting fn and inverse if neither are set. This allows + // helpers to do a check for `if (options.fn)` + if (program || inverse) { + if (!program) { + this.context.aliases.self = "this"; + program = "self.noop"; + } + + if (!inverse) { + this.context.aliases.self = "this"; + inverse = "self.noop"; + } + + options.push("inverse:" + inverse); + options.push("fn:" + program); + } + + for(var i=0; i 2) { + expected.push("'" + this.terminals_[p] + "'"); + } + if (this.lexer.showPosition) { + errStr = "Parse error on line " + (yylineno + 1) + ":\n" + this.lexer.showPosition() + "\nExpecting " + expected.join(", ") + ", got '" + (this.terminals_[symbol] || symbol) + "'"; + } else { + errStr = "Parse error on line " + (yylineno + 1) + ": Unexpected " + (symbol == 1?"end of input":"'" + (this.terminals_[symbol] || symbol) + "'"); + } + this.parseError(errStr, {text: this.lexer.match, token: this.terminals_[symbol] || symbol, line: this.lexer.yylineno, loc: yyloc, expected: expected}); + } + } + if (action[0] instanceof Array && action.length > 1) { + throw new Error("Parse Error: multiple actions possible at state: " + state + ", token: " + symbol); + } + switch (action[0]) { + case 1: + stack.push(symbol); + vstack.push(this.lexer.yytext); + lstack.push(this.lexer.yylloc); + stack.push(action[1]); + symbol = null; + if (!preErrorSymbol) { + yyleng = this.lexer.yyleng; + yytext = this.lexer.yytext; + yylineno = this.lexer.yylineno; + yyloc = this.lexer.yylloc; + if (recovering > 0) + recovering--; + } else { + symbol = preErrorSymbol; + preErrorSymbol = null; + } + break; + case 2: + len = this.productions_[action[1]][1]; + yyval.$ = vstack[vstack.length - len]; + yyval._$ = {first_line: lstack[lstack.length - (len || 1)].first_line, last_line: lstack[lstack.length - 1].last_line, first_column: lstack[lstack.length - (len || 1)].first_column, last_column: lstack[lstack.length - 1].last_column}; + if (ranges) { + yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]]; + } + r = this.performAction.call(yyval, yytext, yyleng, yylineno, this.yy, action[1], vstack, lstack); + if (typeof r !== "undefined") { + return r; + } + if (len) { + stack = stack.slice(0, -1 * len * 2); + vstack = vstack.slice(0, -1 * len); + lstack = lstack.slice(0, -1 * len); + } + stack.push(this.productions_[action[1]][0]); + vstack.push(yyval.$); + lstack.push(yyval._$); + newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; + stack.push(newState); + break; + case 3: + return true; + } + } + return true; +} +}; + + +function stripFlags(open, close) { + return { + left: open.charAt(2) === '~', + right: close.charAt(0) === '~' || close.charAt(1) === '~' + }; +} + +/* Jison generated lexer */ +var lexer = (function(){ +var lexer = ({EOF:1, +parseError:function parseError(str, hash) { + if (this.yy.parser) { + this.yy.parser.parseError(str, hash); + } else { + throw new Error(str); + } + }, +setInput:function (input) { + this._input = input; + this._more = this._less = this.done = false; + this.yylineno = this.yyleng = 0; + this.yytext = this.matched = this.match = ''; + this.conditionStack = ['INITIAL']; + this.yylloc = {first_line:1,first_column:0,last_line:1,last_column:0}; + if (this.options.ranges) this.yylloc.range = [0,0]; + this.offset = 0; + return this; + }, +input:function () { + var ch = this._input[0]; + this.yytext += ch; + this.yyleng++; + this.offset++; + this.match += ch; + this.matched += ch; + var lines = ch.match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno++; + this.yylloc.last_line++; + } else { + this.yylloc.last_column++; + } + if (this.options.ranges) this.yylloc.range[1]++; + + this._input = this._input.slice(1); + return ch; + }, +unput:function (ch) { + var len = ch.length; + var lines = ch.split(/(?:\r\n?|\n)/g); + + this._input = ch + this._input; + this.yytext = this.yytext.substr(0, this.yytext.length-len-1); + //this.yyleng -= len; + this.offset -= len; + var oldLines = this.match.split(/(?:\r\n?|\n)/g); + this.match = this.match.substr(0, this.match.length-1); + this.matched = this.matched.substr(0, this.matched.length-1); + + if (lines.length-1) this.yylineno -= lines.length-1; + var r = this.yylloc.range; + + this.yylloc = {first_line: this.yylloc.first_line, + last_line: this.yylineno+1, + first_column: this.yylloc.first_column, + last_column: lines ? + (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length: + this.yylloc.first_column - len + }; + + if (this.options.ranges) { + this.yylloc.range = [r[0], r[0] + this.yyleng - len]; + } + return this; + }, +more:function () { + this._more = true; + return this; + }, +less:function (n) { + this.unput(this.match.slice(n)); + }, +pastInput:function () { + var past = this.matched.substr(0, this.matched.length - this.match.length); + return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); + }, +upcomingInput:function () { + var next = this.match; + if (next.length < 20) { + next += this._input.substr(0, 20-next.length); + } + return (next.substr(0,20)+(next.length > 20 ? '...':'')).replace(/\n/g, ""); + }, +showPosition:function () { + var pre = this.pastInput(); + var c = new Array(pre.length + 1).join("-"); + return pre + this.upcomingInput() + "\n" + c+"^"; + }, +next:function () { + if (this.done) { + return this.EOF; + } + if (!this._input) this.done = true; + + var token, + match, + tempMatch, + index, + col, + lines; + if (!this._more) { + this.yytext = ''; + this.match = ''; + } + var rules = this._currentRules(); + for (var i=0;i < rules.length; i++) { + tempMatch = this._input.match(this.rules[rules[i]]); + if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { + match = tempMatch; + index = i; + if (!this.options.flex) break; + } + } + if (match) { + lines = match[0].match(/(?:\r\n?|\n).*/g); + if (lines) this.yylineno += lines.length; + this.yylloc = {first_line: this.yylloc.last_line, + last_line: this.yylineno+1, + first_column: this.yylloc.last_column, + last_column: lines ? lines[lines.length-1].length-lines[lines.length-1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length}; + this.yytext += match[0]; + this.match += match[0]; + this.matches = match; + this.yyleng = this.yytext.length; + if (this.options.ranges) { + this.yylloc.range = [this.offset, this.offset += this.yyleng]; + } + this._more = false; + this._input = this._input.slice(match[0].length); + this.matched += match[0]; + token = this.performAction.call(this, this.yy, this, rules[index],this.conditionStack[this.conditionStack.length-1]); + if (this.done && this._input) this.done = false; + if (token) return token; + else return; + } + if (this._input === "") { + return this.EOF; + } else { + return this.parseError('Lexical error on line '+(this.yylineno+1)+'. Unrecognized text.\n'+this.showPosition(), + {text: "", token: null, line: this.yylineno}); + } + }, +lex:function lex() { + var r = this.next(); + if (typeof r !== 'undefined') { + return r; + } else { + return this.lex(); + } + }, +begin:function begin(condition) { + this.conditionStack.push(condition); + }, +popState:function popState() { + return this.conditionStack.pop(); + }, +_currentRules:function _currentRules() { + return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules; + }, +topState:function () { + return this.conditionStack[this.conditionStack.length-2]; + }, +pushState:function begin(condition) { + this.begin(condition); + }}); +lexer.options = {}; +lexer.performAction = function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { + + +function strip(start, end) { + return yy_.yytext = yy_.yytext.substr(start, yy_.yyleng-end); +} + + +var YYSTATE=YY_START +switch($avoiding_name_collisions) { +case 0: + if(yy_.yytext.slice(-2) === "\\\\") { + strip(0,1); + this.begin("mu"); + } else if(yy_.yytext.slice(-1) === "\\") { + strip(0,1); + this.begin("emu"); + } else { + this.begin("mu"); + } + if(yy_.yytext) return 14; + +break; +case 1:return 14; +break; +case 2: + this.popState(); + return 14; + +break; +case 3:strip(0,4); this.popState(); return 15; +break; +case 4:return 35; +break; +case 5:return 36; +break; +case 6:return 25; +break; +case 7:return 16; +break; +case 8:return 20; +break; +case 9:return 19; +break; +case 10:return 19; +break; +case 11:return 23; +break; +case 12:return 22; +break; +case 13:this.popState(); this.begin('com'); +break; +case 14:strip(3,5); this.popState(); return 15; +break; +case 15:return 22; +break; +case 16:return 41; +break; +case 17:return 40; +break; +case 18:return 40; +break; +case 19:return 44; +break; +case 20:// ignore whitespace +break; +case 21:this.popState(); return 24; +break; +case 22:this.popState(); return 18; +break; +case 23:yy_.yytext = strip(1,2).replace(/\\"/g,'"'); return 32; +break; +case 24:yy_.yytext = strip(1,2).replace(/\\'/g,"'"); return 32; +break; +case 25:return 42; +break; +case 26:return 34; +break; +case 27:return 34; +break; +case 28:return 33; +break; +case 29:return 40; +break; +case 30:yy_.yytext = strip(1,2); return 40; +break; +case 31:return 'INVALID'; +break; +case 32:return 5; +break; +} +}; +lexer.rules = [/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:[\s\S]*?--\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{!--)/,/^(?:\{\{![\s\S]*?\}\})/,/^(?:\{\{(~)?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:-?[0-9]+(?=([~}\s)])))/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)]))))/,/^(?:\[[^\]]*\])/,/^(?:.)/,/^(?:$)/]; +lexer.conditions = {"mu":{"rules":[4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32],"inclusive":false},"emu":{"rules":[2],"inclusive":false},"com":{"rules":[3],"inclusive":false},"INITIAL":{"rules":[0,1,32],"inclusive":true}}; +return lexer;})() +parser.lexer = lexer; +function Parser () { this.yy = {}; }Parser.prototype = parser;parser.Parser = Parser; +return new Parser; +})();export default handlebars; +/* jshint ignore:end */ diff --git a/handlebars-node-precompiled/node_modules/handlebars/lib/handlebars/compiler/printer.js b/handlebars-node-precompiled/node_modules/handlebars/lib/handlebars/compiler/printer.js new file mode 100644 index 0000000..ad55c7d --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/lib/handlebars/compiler/printer.js @@ -0,0 +1,138 @@ +import Visitor from "./visitor"; + +export function print(ast) { + return new PrintVisitor().accept(ast); +} + +export function PrintVisitor() { + this.padding = 0; +} + +PrintVisitor.prototype = new Visitor(); + +PrintVisitor.prototype.pad = function(string, newline) { + var out = ""; + + for(var i=0,l=this.padding; i " + content + " }}"); +}; + +PrintVisitor.prototype.hash = function(hash) { + var pairs = hash.pairs; + var joinedPairs = [], left, right; + + for(var i=0, l=pairs.length; i 1) { + return "PATH:" + path; + } else { + return "ID:" + path; + } +}; + +PrintVisitor.prototype.PARTIAL_NAME = function(partialName) { + return "PARTIAL:" + partialName.name; +}; + +PrintVisitor.prototype.DATA = function(data) { + return "@" + this.accept(data.id); +}; + +PrintVisitor.prototype.content = function(content) { + return this.pad("CONTENT[ '" + content.string + "' ]"); +}; + +PrintVisitor.prototype.comment = function(comment) { + return this.pad("{{! '" + comment.comment + "' }}"); +}; + diff --git a/handlebars-node-precompiled/node_modules/handlebars/lib/handlebars/compiler/visitor.js b/handlebars-node-precompiled/node_modules/handlebars/lib/handlebars/compiler/visitor.js new file mode 100644 index 0000000..6a0373e --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/lib/handlebars/compiler/visitor.js @@ -0,0 +1,11 @@ +function Visitor() {} + +Visitor.prototype = { + constructor: Visitor, + + accept: function(object) { + return this[object.type](object); + } +}; + +export default Visitor; diff --git a/handlebars-node-precompiled/node_modules/handlebars/lib/handlebars/exception.js b/handlebars-node-precompiled/node_modules/handlebars/lib/handlebars/exception.js new file mode 100644 index 0000000..8c5c2f6 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/lib/handlebars/exception.js @@ -0,0 +1,27 @@ + +var errorProps = ['description', 'fileName', 'lineNumber', 'message', 'name', 'number', 'stack']; + +function Exception(message, node) { + var line; + if (node && node.firstLine) { + line = node.firstLine; + + message += ' - ' + line + ':' + node.firstColumn; + } + + var tmp = Error.prototype.constructor.call(this, message); + + // Unfortunately errors are not enumerable in Chrome (at least), so `for prop in tmp` doesn't work. + for (var idx = 0; idx < errorProps.length; idx++) { + this[errorProps[idx]] = tmp[errorProps[idx]]; + } + + if (line) { + this.lineNumber = line; + this.column = node.firstColumn; + } +} + +Exception.prototype = new Error(); + +export default Exception; diff --git a/handlebars-node-precompiled/node_modules/handlebars/lib/handlebars/runtime.js b/handlebars-node-precompiled/node_modules/handlebars/lib/handlebars/runtime.js new file mode 100644 index 0000000..5ae8d8a --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/lib/handlebars/runtime.js @@ -0,0 +1,133 @@ +module Utils from "./utils"; +import Exception from "./exception"; +import { COMPILER_REVISION, REVISION_CHANGES } from "./base"; + +export function checkRevision(compilerInfo) { + var compilerRevision = compilerInfo && compilerInfo[0] || 1, + currentRevision = COMPILER_REVISION; + + if (compilerRevision !== currentRevision) { + if (compilerRevision < currentRevision) { + var runtimeVersions = REVISION_CHANGES[currentRevision], + compilerVersions = REVISION_CHANGES[compilerRevision]; + throw new Exception("Template was precompiled with an older version of Handlebars than the current runtime. "+ + "Please update your precompiler to a newer version ("+runtimeVersions+") or downgrade your runtime to an older version ("+compilerVersions+")."); + } else { + // Use the embedded version info since the runtime doesn't know about this revision yet + throw new Exception("Template was precompiled with a newer version of Handlebars than the current runtime. "+ + "Please update your runtime to a newer version ("+compilerInfo[1]+")."); + } + } +} + +// TODO: Remove this line and break up compilePartial + +export function template(templateSpec, env) { + if (!env) { + throw new Exception("No environment passed to template"); + } + + // Note: Using env.VM references rather than local var references throughout this section to allow + // for external users to override these as psuedo-supported APIs. + var invokePartialWrapper = function(partial, name, context, helpers, partials, data) { + var result = env.VM.invokePartial.apply(this, arguments); + if (result != null) { return result; } + + if (env.compile) { + var options = { helpers: helpers, partials: partials, data: data }; + partials[name] = env.compile(partial, { data: data !== undefined }, env); + return partials[name](context, options); + } else { + throw new Exception("The partial " + name + " could not be compiled when running in runtime-only mode"); + } + }; + + // Just add water + var container = { + escapeExpression: Utils.escapeExpression, + invokePartial: invokePartialWrapper, + programs: [], + program: function(i, fn, data) { + var programWrapper = this.programs[i]; + if(data) { + programWrapper = program(i, fn, data); + } else if (!programWrapper) { + programWrapper = this.programs[i] = program(i, fn); + } + return programWrapper; + }, + merge: function(param, common) { + var ret = param || common; + + if (param && common && (param !== common)) { + ret = {}; + Utils.extend(ret, common); + Utils.extend(ret, param); + } + return ret; + }, + programWithDepth: env.VM.programWithDepth, + noop: env.VM.noop, + compilerInfo: null + }; + + return function(context, options) { + options = options || {}; + var namespace = options.partial ? options : env, + helpers, + partials; + + if (!options.partial) { + helpers = options.helpers; + partials = options.partials; + } + var result = templateSpec.call( + container, + namespace, context, + helpers, + partials, + options.data); + + if (!options.partial) { + env.VM.checkRevision(container.compilerInfo); + } + + return result; + }; +} + +export function programWithDepth(i, fn, data /*, $depth */) { + var args = Array.prototype.slice.call(arguments, 3); + + var prog = function(context, options) { + options = options || {}; + + return fn.apply(this, [context, options.data || data].concat(args)); + }; + prog.program = i; + prog.depth = args.length; + return prog; +} + +export function program(i, fn, data) { + var prog = function(context, options) { + options = options || {}; + + return fn(context, options.data || data); + }; + prog.program = i; + prog.depth = 0; + return prog; +} + +export function invokePartial(partial, name, context, helpers, partials, data) { + var options = { partial: true, helpers: helpers, partials: partials, data: data }; + + if(partial === undefined) { + throw new Exception("The partial " + name + " could not be found"); + } else if(partial instanceof Function) { + return partial(context, options); + } +} + +export function noop() { return ""; } diff --git a/handlebars-node-precompiled/node_modules/handlebars/lib/handlebars/safe-string.js b/handlebars-node-precompiled/node_modules/handlebars/lib/handlebars/safe-string.js new file mode 100644 index 0000000..2ae49aa --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/lib/handlebars/safe-string.js @@ -0,0 +1,10 @@ +// Build out our basic SafeString type +function SafeString(string) { + this.string = string; +} + +SafeString.prototype.toString = function() { + return "" + this.string; +}; + +export default SafeString; diff --git a/handlebars-node-precompiled/node_modules/handlebars/lib/handlebars/utils.js b/handlebars-node-precompiled/node_modules/handlebars/lib/handlebars/utils.js new file mode 100644 index 0000000..ed2e1d8 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/lib/handlebars/utils.js @@ -0,0 +1,73 @@ +/*jshint -W004 */ +import SafeString from "./safe-string"; + +var escape = { + "&": "&", + "<": "<", + ">": ">", + '"': """, + "'": "'", + "`": "`" +}; + +var badChars = /[&<>"'`]/g; +var possible = /[&<>"'`]/; + +function escapeChar(chr) { + return escape[chr] || "&"; +} + +export function extend(obj, value) { + for(var key in value) { + if(Object.prototype.hasOwnProperty.call(value, key)) { + obj[key] = value[key]; + } + } +} + +export var toString = Object.prototype.toString; + +// Sourced from lodash +// https://github.com/bestiejs/lodash/blob/master/LICENSE.txt +var isFunction = function(value) { + return typeof value === 'function'; +}; +// fallback for older versions of Chrome and Safari +if (isFunction(/x/)) { + isFunction = function(value) { + return typeof value === 'function' && toString.call(value) === '[object Function]'; + }; +} +export var isFunction; + +export var isArray = Array.isArray || function(value) { + return (value && typeof value === 'object') ? toString.call(value) === '[object Array]' : false; +}; + + +export function escapeExpression(string) { + // don't escape SafeStrings, since they're already safe + if (string instanceof SafeString) { + return string.toString(); + } else if (!string && string !== 0) { + return ""; + } + + // Force a string conversion as this will be done by the append regardless and + // the regex test will do this transparently behind the scenes, causing issues if + // an object's to string has escaped characters in it. + string = "" + string; + + if(!possible.test(string)) { return string; } + return string.replace(badChars, escapeChar); +} + +export function isEmpty(value) { + if (!value && value !== 0) { + return true; + } else if (isArray(value) && value.length === 0) { + return true; + } else { + return false; + } +} diff --git a/handlebars-node-precompiled/node_modules/handlebars/lib/index.js b/handlebars-node-precompiled/node_modules/handlebars/lib/index.js new file mode 100644 index 0000000..e150524 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/lib/index.js @@ -0,0 +1,25 @@ +// USAGE: +// var handlebars = require('handlebars'); + +// var local = handlebars.create(); + +var handlebars = require('../dist/cjs/handlebars')["default"]; + +handlebars.Visitor = require('../dist/cjs/handlebars/compiler/visitor')["default"]; + +var printer = require('../dist/cjs/handlebars/compiler/printer'); +handlebars.PrintVisitor = printer.PrintVisitor; +handlebars.print = printer.print; + +module.exports = handlebars; + +// Publish a Node.js require() handler for .handlebars and .hbs files +if (typeof require !== 'undefined' && require.extensions) { + var extension = function(module, filename) { + var fs = require("fs"); + var templateString = fs.readFileSync(filename, "utf8"); + module.exports = handlebars.compile(templateString); + }; + require.extensions[".handlebars"] = extension; + require.extensions[".hbs"] = extension; +} diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/.bin/uglifyjs b/handlebars-node-precompiled/node_modules/handlebars/node_modules/.bin/uglifyjs new file mode 120000 index 0000000..fef3468 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/.bin/uglifyjs @@ -0,0 +1 @@ +../uglify-js/bin/uglifyjs \ No newline at end of file diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/.travis.yml b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/.travis.yml new file mode 100644 index 0000000..cc4dba2 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/.travis.yml @@ -0,0 +1,4 @@ +language: node_js +node_js: + - "0.8" + - "0.10" diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/LICENSE b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/LICENSE new file mode 100644 index 0000000..432d1ae --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/LICENSE @@ -0,0 +1,21 @@ +Copyright 2010 James Halliday (mail@substack.net) + +This project is free software released under the MIT/X11 license: + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/bool.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/bool.js new file mode 100644 index 0000000..a998fb7 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/bool.js @@ -0,0 +1,10 @@ +#!/usr/bin/env node +var util = require('util'); +var argv = require('optimist').argv; + +if (argv.s) { + util.print(argv.fr ? 'Le chat dit: ' : 'The cat says: '); +} +console.log( + (argv.fr ? 'miaou' : 'meow') + (argv.p ? '.' : '') +); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/boolean_double.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/boolean_double.js new file mode 100644 index 0000000..a35a7e6 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/boolean_double.js @@ -0,0 +1,7 @@ +#!/usr/bin/env node +var argv = require('optimist') + .boolean(['x','y','z']) + .argv +; +console.dir([ argv.x, argv.y, argv.z ]); +console.dir(argv._); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/boolean_single.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/boolean_single.js new file mode 100644 index 0000000..017bb68 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/boolean_single.js @@ -0,0 +1,7 @@ +#!/usr/bin/env node +var argv = require('optimist') + .boolean('v') + .argv +; +console.dir(argv.v); +console.dir(argv._); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/default_hash.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/default_hash.js new file mode 100644 index 0000000..ade7768 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/default_hash.js @@ -0,0 +1,8 @@ +#!/usr/bin/env node + +var argv = require('optimist') + .default({ x : 10, y : 10 }) + .argv +; + +console.log(argv.x + argv.y); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/default_singles.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/default_singles.js new file mode 100644 index 0000000..d9b1ff4 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/default_singles.js @@ -0,0 +1,7 @@ +#!/usr/bin/env node +var argv = require('optimist') + .default('x', 10) + .default('y', 10) + .argv +; +console.log(argv.x + argv.y); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/divide.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/divide.js new file mode 100644 index 0000000..5e2ee82 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/divide.js @@ -0,0 +1,8 @@ +#!/usr/bin/env node + +var argv = require('optimist') + .usage('Usage: $0 -x [num] -y [num]') + .demand(['x','y']) + .argv; + +console.log(argv.x / argv.y); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/line_count.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/line_count.js new file mode 100644 index 0000000..b5f95bf --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/line_count.js @@ -0,0 +1,20 @@ +#!/usr/bin/env node +var argv = require('optimist') + .usage('Count the lines in a file.\nUsage: $0') + .demand('f') + .alias('f', 'file') + .describe('f', 'Load a file') + .argv +; + +var fs = require('fs'); +var s = fs.createReadStream(argv.file); + +var lines = 0; +s.on('data', function (buf) { + lines += buf.toString().match(/\n/g).length; +}); + +s.on('end', function () { + console.log(lines); +}); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/line_count_options.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/line_count_options.js new file mode 100644 index 0000000..d9ac709 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/line_count_options.js @@ -0,0 +1,29 @@ +#!/usr/bin/env node +var argv = require('optimist') + .usage('Count the lines in a file.\nUsage: $0') + .options({ + file : { + demand : true, + alias : 'f', + description : 'Load a file' + }, + base : { + alias : 'b', + description : 'Numeric base to use for output', + default : 10, + }, + }) + .argv +; + +var fs = require('fs'); +var s = fs.createReadStream(argv.file); + +var lines = 0; +s.on('data', function (buf) { + lines += buf.toString().match(/\n/g).length; +}); + +s.on('end', function () { + console.log(lines.toString(argv.base)); +}); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/line_count_wrap.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/line_count_wrap.js new file mode 100644 index 0000000..4267511 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/line_count_wrap.js @@ -0,0 +1,29 @@ +#!/usr/bin/env node +var argv = require('optimist') + .usage('Count the lines in a file.\nUsage: $0') + .wrap(80) + .demand('f') + .alias('f', [ 'file', 'filename' ]) + .describe('f', + "Load a file. It's pretty important." + + " Required even. So you'd better specify it." + ) + .alias('b', 'base') + .describe('b', 'Numeric base to display the number of lines in') + .default('b', 10) + .describe('x', 'Super-secret optional parameter which is secret') + .default('x', '') + .argv +; + +var fs = require('fs'); +var s = fs.createReadStream(argv.file); + +var lines = 0; +s.on('data', function (buf) { + lines += buf.toString().match(/\n/g).length; +}); + +s.on('end', function () { + console.log(lines.toString(argv.base)); +}); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/nonopt.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/nonopt.js new file mode 100644 index 0000000..ee633ee --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/nonopt.js @@ -0,0 +1,4 @@ +#!/usr/bin/env node +var argv = require('optimist').argv; +console.log('(%d,%d)', argv.x, argv.y); +console.log(argv._); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/reflect.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/reflect.js new file mode 100644 index 0000000..816b3e1 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/reflect.js @@ -0,0 +1,2 @@ +#!/usr/bin/env node +console.dir(require('optimist').argv); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/short.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/short.js new file mode 100644 index 0000000..1db0ad0 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/short.js @@ -0,0 +1,3 @@ +#!/usr/bin/env node +var argv = require('optimist').argv; +console.log('(%d,%d)', argv.x, argv.y); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/string.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/string.js new file mode 100644 index 0000000..a8e5aeb --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/string.js @@ -0,0 +1,11 @@ +#!/usr/bin/env node +var argv = require('optimist') + .string('x', 'y') + .argv +; +console.dir([ argv.x, argv.y ]); + +/* Turns off numeric coercion: + ./node string.js -x 000123 -y 9876 + [ '000123', '9876' ] +*/ diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/usage-options.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/usage-options.js new file mode 100644 index 0000000..b999977 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/usage-options.js @@ -0,0 +1,19 @@ +var optimist = require('./../index'); + +var argv = optimist.usage('This is my awesome program', { + 'about': { + description: 'Provide some details about the author of this program', + required: true, + short: 'a', + }, + 'info': { + description: 'Provide some information about the node.js agains!!!!!!', + boolean: true, + short: 'i' + } +}).argv; + +optimist.showHelp(); + +console.log('\n\nInspecting options'); +console.dir(argv); \ No newline at end of file diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/xup.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/xup.js new file mode 100644 index 0000000..8f6ecd2 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/example/xup.js @@ -0,0 +1,10 @@ +#!/usr/bin/env node +var argv = require('optimist').argv; + +if (argv.rif - 5 * argv.xup > 7.138) { + console.log('Buy more riffiwobbles'); +} +else { + console.log('Sell the xupptumblers'); +} + diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/index.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/index.js new file mode 100644 index 0000000..8ac67eb --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/index.js @@ -0,0 +1,478 @@ +var path = require('path'); +var wordwrap = require('wordwrap'); + +/* Hack an instance of Argv with process.argv into Argv + so people can do + require('optimist')(['--beeble=1','-z','zizzle']).argv + to parse a list of args and + require('optimist').argv + to get a parsed version of process.argv. +*/ + +var inst = Argv(process.argv.slice(2)); +Object.keys(inst).forEach(function (key) { + Argv[key] = typeof inst[key] == 'function' + ? inst[key].bind(inst) + : inst[key]; +}); + +var exports = module.exports = Argv; +function Argv (args, cwd) { + var self = {}; + if (!cwd) cwd = process.cwd(); + + self.$0 = process.argv + .slice(0,2) + .map(function (x) { + var b = rebase(cwd, x); + return x.match(/^\//) && b.length < x.length + ? b : x + }) + .join(' ') + ; + + if (process.env._ != undefined && process.argv[1] == process.env._) { + self.$0 = process.env._.replace( + path.dirname(process.execPath) + '/', '' + ); + } + + var flags = { bools : {}, strings : {} }; + + self.boolean = function (bools) { + if (!Array.isArray(bools)) { + bools = [].slice.call(arguments); + } + + bools.forEach(function (name) { + flags.bools[name] = true; + }); + + return self; + }; + + self.string = function (strings) { + if (!Array.isArray(strings)) { + strings = [].slice.call(arguments); + } + + strings.forEach(function (name) { + flags.strings[name] = true; + }); + + return self; + }; + + var aliases = {}; + self.alias = function (x, y) { + if (typeof x === 'object') { + Object.keys(x).forEach(function (key) { + self.alias(key, x[key]); + }); + } + else if (Array.isArray(y)) { + y.forEach(function (yy) { + self.alias(x, yy); + }); + } + else { + var zs = (aliases[x] || []).concat(aliases[y] || []).concat(x, y); + aliases[x] = zs.filter(function (z) { return z != x }); + aliases[y] = zs.filter(function (z) { return z != y }); + } + + return self; + }; + + var demanded = {}; + self.demand = function (keys) { + if (typeof keys == 'number') { + if (!demanded._) demanded._ = 0; + demanded._ += keys; + } + else if (Array.isArray(keys)) { + keys.forEach(function (key) { + self.demand(key); + }); + } + else { + demanded[keys] = true; + } + + return self; + }; + + var usage; + self.usage = function (msg, opts) { + if (!opts && typeof msg === 'object') { + opts = msg; + msg = null; + } + + usage = msg; + + if (opts) self.options(opts); + + return self; + }; + + function fail (msg) { + self.showHelp(); + if (msg) console.error(msg); + process.exit(1); + } + + var checks = []; + self.check = function (f) { + checks.push(f); + return self; + }; + + var defaults = {}; + self.default = function (key, value) { + if (typeof key === 'object') { + Object.keys(key).forEach(function (k) { + self.default(k, key[k]); + }); + } + else { + defaults[key] = value; + } + + return self; + }; + + var descriptions = {}; + self.describe = function (key, desc) { + if (typeof key === 'object') { + Object.keys(key).forEach(function (k) { + self.describe(k, key[k]); + }); + } + else { + descriptions[key] = desc; + } + return self; + }; + + self.parse = function (args) { + return Argv(args).argv; + }; + + self.option = self.options = function (key, opt) { + if (typeof key === 'object') { + Object.keys(key).forEach(function (k) { + self.options(k, key[k]); + }); + } + else { + if (opt.alias) self.alias(key, opt.alias); + if (opt.demand) self.demand(key); + if (typeof opt.default !== 'undefined') { + self.default(key, opt.default); + } + + if (opt.boolean || opt.type === 'boolean') { + self.boolean(key); + } + if (opt.string || opt.type === 'string') { + self.string(key); + } + + var desc = opt.describe || opt.description || opt.desc; + if (desc) { + self.describe(key, desc); + } + } + + return self; + }; + + var wrap = null; + self.wrap = function (cols) { + wrap = cols; + return self; + }; + + self.showHelp = function (fn) { + if (!fn) fn = console.error; + fn(self.help()); + }; + + self.help = function () { + var keys = Object.keys( + Object.keys(descriptions) + .concat(Object.keys(demanded)) + .concat(Object.keys(defaults)) + .reduce(function (acc, key) { + if (key !== '_') acc[key] = true; + return acc; + }, {}) + ); + + var help = keys.length ? [ 'Options:' ] : []; + + if (usage) { + help.unshift(usage.replace(/\$0/g, self.$0), ''); + } + + var switches = keys.reduce(function (acc, key) { + acc[key] = [ key ].concat(aliases[key] || []) + .map(function (sw) { + return (sw.length > 1 ? '--' : '-') + sw + }) + .join(', ') + ; + return acc; + }, {}); + + var switchlen = longest(Object.keys(switches).map(function (s) { + return switches[s] || ''; + })); + + var desclen = longest(Object.keys(descriptions).map(function (d) { + return descriptions[d] || ''; + })); + + keys.forEach(function (key) { + var kswitch = switches[key]; + var desc = descriptions[key] || ''; + + if (wrap) { + desc = wordwrap(switchlen + 4, wrap)(desc) + .slice(switchlen + 4) + ; + } + + var spadding = new Array( + Math.max(switchlen - kswitch.length + 3, 0) + ).join(' '); + + var dpadding = new Array( + Math.max(desclen - desc.length + 1, 0) + ).join(' '); + + var type = null; + + if (flags.bools[key]) type = '[boolean]'; + if (flags.strings[key]) type = '[string]'; + + if (!wrap && dpadding.length > 0) { + desc += dpadding; + } + + var prelude = ' ' + kswitch + spadding; + var extra = [ + type, + demanded[key] + ? '[required]' + : null + , + defaults[key] !== undefined + ? '[default: ' + JSON.stringify(defaults[key]) + ']' + : null + , + ].filter(Boolean).join(' '); + + var body = [ desc, extra ].filter(Boolean).join(' '); + + if (wrap) { + var dlines = desc.split('\n'); + var dlen = dlines.slice(-1)[0].length + + (dlines.length === 1 ? prelude.length : 0) + + body = desc + (dlen + extra.length > wrap - 2 + ? '\n' + + new Array(wrap - extra.length + 1).join(' ') + + extra + : new Array(wrap - extra.length - dlen + 1).join(' ') + + extra + ); + } + + help.push(prelude + body); + }); + + help.push(''); + return help.join('\n'); + }; + + Object.defineProperty(self, 'argv', { + get : parseArgs, + enumerable : true, + }); + + function parseArgs () { + var argv = { _ : [], $0 : self.$0 }; + Object.keys(flags.bools).forEach(function (key) { + setArg(key, defaults[key] || false); + }); + + function setArg (key, val) { + var num = Number(val); + var value = typeof val !== 'string' || isNaN(num) ? val : num; + if (flags.strings[key]) value = val; + + setKey(argv, key.split('.'), value); + + (aliases[key] || []).forEach(function (x) { + argv[x] = argv[key]; + }); + } + + for (var i = 0; i < args.length; i++) { + var arg = args[i]; + + if (arg === '--') { + argv._.push.apply(argv._, args.slice(i + 1)); + break; + } + else if (arg.match(/^--.+=/)) { + // Using [\s\S] instead of . because js doesn't support the + // 'dotall' regex modifier. See: + // http://stackoverflow.com/a/1068308/13216 + var m = arg.match(/^--([^=]+)=([\s\S]*)$/); + setArg(m[1], m[2]); + } + else if (arg.match(/^--no-.+/)) { + var key = arg.match(/^--no-(.+)/)[1]; + setArg(key, false); + } + else if (arg.match(/^--.+/)) { + var key = arg.match(/^--(.+)/)[1]; + var next = args[i + 1]; + if (next !== undefined && !next.match(/^-/) + && !flags.bools[key] + && (aliases[key] ? !flags.bools[aliases[key]] : true)) { + setArg(key, next); + i++; + } + else if (/^(true|false)$/.test(next)) { + setArg(key, next === 'true'); + i++; + } + else { + setArg(key, true); + } + } + else if (arg.match(/^-[^-]+/)) { + var letters = arg.slice(1,-1).split(''); + + var broken = false; + for (var j = 0; j < letters.length; j++) { + if (letters[j+1] && letters[j+1].match(/\W/)) { + setArg(letters[j], arg.slice(j+2)); + broken = true; + break; + } + else { + setArg(letters[j], true); + } + } + + if (!broken) { + var key = arg.slice(-1)[0]; + + if (args[i+1] && !args[i+1].match(/^-/) + && !flags.bools[key] + && (aliases[key] ? !flags.bools[aliases[key]] : true)) { + setArg(key, args[i+1]); + i++; + } + else if (args[i+1] && /true|false/.test(args[i+1])) { + setArg(key, args[i+1] === 'true'); + i++; + } + else { + setArg(key, true); + } + } + } + else { + var n = Number(arg); + argv._.push(flags.strings['_'] || isNaN(n) ? arg : n); + } + } + + Object.keys(defaults).forEach(function (key) { + if (!(key in argv)) { + argv[key] = defaults[key]; + if (key in aliases) { + argv[aliases[key]] = defaults[key]; + } + } + }); + + if (demanded._ && argv._.length < demanded._) { + fail('Not enough non-option arguments: got ' + + argv._.length + ', need at least ' + demanded._ + ); + } + + var missing = []; + Object.keys(demanded).forEach(function (key) { + if (!argv[key]) missing.push(key); + }); + + if (missing.length) { + fail('Missing required arguments: ' + missing.join(', ')); + } + + checks.forEach(function (f) { + try { + if (f(argv) === false) { + fail('Argument check failed: ' + f.toString()); + } + } + catch (err) { + fail(err) + } + }); + + return argv; + } + + function longest (xs) { + return Math.max.apply( + null, + xs.map(function (x) { return x.length }) + ); + } + + return self; +}; + +// rebase an absolute path to a relative one with respect to a base directory +// exported for tests +exports.rebase = rebase; +function rebase (base, dir) { + var ds = path.normalize(dir).split('/').slice(1); + var bs = path.normalize(base).split('/').slice(1); + + for (var i = 0; ds[i] && ds[i] == bs[i]; i++); + ds.splice(0, i); bs.splice(0, i); + + var p = path.normalize( + bs.map(function () { return '..' }).concat(ds).join('/') + ).replace(/\/$/,'').replace(/^$/, '.'); + return p.match(/^[.\/]/) ? p : './' + p; +}; + +function setKey (obj, keys, value) { + var o = obj; + keys.slice(0,-1).forEach(function (key) { + if (o[key] === undefined) o[key] = {}; + o = o[key]; + }); + + var key = keys[keys.length - 1]; + if (o[key] === undefined || typeof o[key] === 'boolean') { + o[key] = value; + } + else if (Array.isArray(o[key])) { + o[key].push(value); + } + else { + o[key] = [ o[key], value ]; + } +} diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/.npmignore b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/.npmignore new file mode 100644 index 0000000..3c3629e --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/.npmignore @@ -0,0 +1 @@ +node_modules diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/README.markdown b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/README.markdown new file mode 100644 index 0000000..346374e --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/README.markdown @@ -0,0 +1,70 @@ +wordwrap +======== + +Wrap your words. + +example +======= + +made out of meat +---------------- + +meat.js + + var wrap = require('wordwrap')(15); + console.log(wrap('You and your whole family are made out of meat.')); + +output: + + You and your + whole family + are made out + of meat. + +centered +-------- + +center.js + + var wrap = require('wordwrap')(20, 60); + console.log(wrap( + 'At long last the struggle and tumult was over.' + + ' The machines had finally cast off their oppressors' + + ' and were finally free to roam the cosmos.' + + '\n' + + 'Free of purpose, free of obligation.' + + ' Just drifting through emptiness.' + + ' The sun was just another point of light.' + )); + +output: + + At long last the struggle and tumult + was over. The machines had finally cast + off their oppressors and were finally + free to roam the cosmos. + Free of purpose, free of obligation. + Just drifting through emptiness. The + sun was just another point of light. + +methods +======= + +var wrap = require('wordwrap'); + +wrap(stop), wrap(start, stop, params={mode:"soft"}) +--------------------------------------------------- + +Returns a function that takes a string and returns a new string. + +Pad out lines with spaces out to column `start` and then wrap until column +`stop`. If a word is longer than `stop - start` characters it will overflow. + +In "soft" mode, split chunks by `/(\S+\s+/` and don't break up chunks which are +longer than `stop - start`, in "hard" mode, split chunks with `/\b/` and break +up chunks longer than `stop - start`. + +wrap.hard(start, stop) +---------------------- + +Like `wrap()` but with `params.mode = "hard"`. diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/example/center.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/example/center.js new file mode 100644 index 0000000..a3fbaae --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/example/center.js @@ -0,0 +1,10 @@ +var wrap = require('wordwrap')(20, 60); +console.log(wrap( + 'At long last the struggle and tumult was over.' + + ' The machines had finally cast off their oppressors' + + ' and were finally free to roam the cosmos.' + + '\n' + + 'Free of purpose, free of obligation.' + + ' Just drifting through emptiness.' + + ' The sun was just another point of light.' +)); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/example/meat.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/example/meat.js new file mode 100644 index 0000000..a4665e1 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/example/meat.js @@ -0,0 +1,3 @@ +var wrap = require('wordwrap')(15); + +console.log(wrap('You and your whole family are made out of meat.')); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/index.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/index.js new file mode 100644 index 0000000..c9bc945 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/index.js @@ -0,0 +1,76 @@ +var wordwrap = module.exports = function (start, stop, params) { + if (typeof start === 'object') { + params = start; + start = params.start; + stop = params.stop; + } + + if (typeof stop === 'object') { + params = stop; + start = start || params.start; + stop = undefined; + } + + if (!stop) { + stop = start; + start = 0; + } + + if (!params) params = {}; + var mode = params.mode || 'soft'; + var re = mode === 'hard' ? /\b/ : /(\S+\s+)/; + + return function (text) { + var chunks = text.toString() + .split(re) + .reduce(function (acc, x) { + if (mode === 'hard') { + for (var i = 0; i < x.length; i += stop - start) { + acc.push(x.slice(i, i + stop - start)); + } + } + else acc.push(x) + return acc; + }, []) + ; + + return chunks.reduce(function (lines, rawChunk) { + if (rawChunk === '') return lines; + + var chunk = rawChunk.replace(/\t/g, ' '); + + var i = lines.length - 1; + if (lines[i].length + chunk.length > stop) { + lines[i] = lines[i].replace(/\s+$/, ''); + + chunk.split(/\n/).forEach(function (c) { + lines.push( + new Array(start + 1).join(' ') + + c.replace(/^\s+/, '') + ); + }); + } + else if (chunk.match(/\n/)) { + var xs = chunk.split(/\n/); + lines[i] += xs.shift(); + xs.forEach(function (c) { + lines.push( + new Array(start + 1).join(' ') + + c.replace(/^\s+/, '') + ); + }); + } + else { + lines[i] += chunk; + } + + return lines; + }, [ new Array(start + 1).join(' ') ]).join('\n'); + }; +}; + +wordwrap.soft = wordwrap; + +wordwrap.hard = function (start, stop) { + return wordwrap(start, stop, { mode : 'hard' }); +}; diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/package.json b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/package.json new file mode 100644 index 0000000..887800f --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/package.json @@ -0,0 +1,44 @@ +{ + "name": "wordwrap", + "description": "Wrap those words. Show them at what columns to start and stop.", + "version": "0.0.2", + "repository": { + "type": "git", + "url": "git://github.com/substack/node-wordwrap.git" + }, + "main": "./index.js", + "keywords": [ + "word", + "wrap", + "rule", + "format", + "column" + ], + "directories": { + "lib": ".", + "example": "example", + "test": "test" + }, + "scripts": { + "test": "expresso" + }, + "devDependencies": { + "expresso": "=0.7.x" + }, + "engines": { + "node": ">=0.4.0" + }, + "license": "MIT/X11", + "author": { + "name": "James Halliday", + "email": "mail@substack.net", + "url": "http://substack.net" + }, + "readme": "wordwrap\n========\n\nWrap your words.\n\nexample\n=======\n\nmade out of meat\n----------------\n\nmeat.js\n\n var wrap = require('wordwrap')(15);\n console.log(wrap('You and your whole family are made out of meat.'));\n\noutput:\n\n You and your\n whole family\n are made out\n of meat.\n\ncentered\n--------\n\ncenter.js\n\n var wrap = require('wordwrap')(20, 60);\n console.log(wrap(\n 'At long last the struggle and tumult was over.'\n + ' The machines had finally cast off their oppressors'\n + ' and were finally free to roam the cosmos.'\n + '\\n'\n + 'Free of purpose, free of obligation.'\n + ' Just drifting through emptiness.'\n + ' The sun was just another point of light.'\n ));\n\noutput:\n\n At long last the struggle and tumult\n was over. The machines had finally cast\n off their oppressors and were finally\n free to roam the cosmos.\n Free of purpose, free of obligation.\n Just drifting through emptiness. The\n sun was just another point of light.\n\nmethods\n=======\n\nvar wrap = require('wordwrap');\n\nwrap(stop), wrap(start, stop, params={mode:\"soft\"})\n---------------------------------------------------\n\nReturns a function that takes a string and returns a new string.\n\nPad out lines with spaces out to column `start` and then wrap until column\n`stop`. If a word is longer than `stop - start` characters it will overflow.\n\nIn \"soft\" mode, split chunks by `/(\\S+\\s+/` and don't break up chunks which are\nlonger than `stop - start`, in \"hard\" mode, split chunks with `/\\b/` and break\nup chunks longer than `stop - start`.\n\nwrap.hard(start, stop)\n----------------------\n\nLike `wrap()` but with `params.mode = \"hard\"`.\n", + "readmeFilename": "README.markdown", + "bugs": { + "url": "https://github.com/substack/node-wordwrap/issues" + }, + "_id": "wordwrap@0.0.2", + "_from": "wordwrap@~0.0.2" +} diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/test/break.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/test/break.js new file mode 100644 index 0000000..749292e --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/test/break.js @@ -0,0 +1,30 @@ +var assert = require('assert'); +var wordwrap = require('../'); + +exports.hard = function () { + var s = 'Assert from {"type":"equal","ok":false,"found":1,"wanted":2,' + + '"stack":[],"id":"b7ddcd4c409de8799542a74d1a04689b",' + + '"browser":"chrome/6.0"}' + ; + var s_ = wordwrap.hard(80)(s); + + var lines = s_.split('\n'); + assert.equal(lines.length, 2); + assert.ok(lines[0].length < 80); + assert.ok(lines[1].length < 80); + + assert.equal(s, s_.replace(/\n/g, '')); +}; + +exports.break = function () { + var s = new Array(55+1).join('a'); + var s_ = wordwrap.hard(20)(s); + + var lines = s_.split('\n'); + assert.equal(lines.length, 3); + assert.ok(lines[0].length === 20); + assert.ok(lines[1].length === 20); + assert.ok(lines[2].length === 15); + + assert.equal(s, s_.replace(/\n/g, '')); +}; diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/test/idleness.txt b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/test/idleness.txt new file mode 100644 index 0000000..aa3f490 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/test/idleness.txt @@ -0,0 +1,63 @@ +In Praise of Idleness + +By Bertrand Russell + +[1932] + +Like most of my generation, I was brought up on the saying: 'Satan finds some mischief for idle hands to do.' Being a highly virtuous child, I believed all that I was told, and acquired a conscience which has kept me working hard down to the present moment. But although my conscience has controlled my actions, my opinions have undergone a revolution. I think that there is far too much work done in the world, that immense harm is caused by the belief that work is virtuous, and that what needs to be preached in modern industrial countries is quite different from what always has been preached. Everyone knows the story of the traveler in Naples who saw twelve beggars lying in the sun (it was before the days of Mussolini), and offered a lira to the laziest of them. Eleven of them jumped up to claim it, so he gave it to the twelfth. this traveler was on the right lines. But in countries which do not enjoy Mediterranean sunshine idleness is more difficult, and a great public propaganda will be required to inaugurate it. I hope that, after reading the following pages, the leaders of the YMCA will start a campaign to induce good young men to do nothing. If so, I shall not have lived in vain. + +Before advancing my own arguments for laziness, I must dispose of one which I cannot accept. Whenever a person who already has enough to live on proposes to engage in some everyday kind of job, such as school-teaching or typing, he or she is told that such conduct takes the bread out of other people's mouths, and is therefore wicked. If this argument were valid, it would only be necessary for us all to be idle in order that we should all have our mouths full of bread. What people who say such things forget is that what a man earns he usually spends, and in spending he gives employment. As long as a man spends his income, he puts just as much bread into people's mouths in spending as he takes out of other people's mouths in earning. The real villain, from this point of view, is the man who saves. If he merely puts his savings in a stocking, like the proverbial French peasant, it is obvious that they do not give employment. If he invests his savings, the matter is less obvious, and different cases arise. + +One of the commonest things to do with savings is to lend them to some Government. In view of the fact that the bulk of the public expenditure of most civilized Governments consists in payment for past wars or preparation for future wars, the man who lends his money to a Government is in the same position as the bad men in Shakespeare who hire murderers. The net result of the man's economical habits is to increase the armed forces of the State to which he lends his savings. Obviously it would be better if he spent the money, even if he spent it in drink or gambling. + +But, I shall be told, the case is quite different when savings are invested in industrial enterprises. When such enterprises succeed, and produce something useful, this may be conceded. In these days, however, no one will deny that most enterprises fail. That means that a large amount of human labor, which might have been devoted to producing something that could be enjoyed, was expended on producing machines which, when produced, lay idle and did no good to anyone. The man who invests his savings in a concern that goes bankrupt is therefore injuring others as well as himself. If he spent his money, say, in giving parties for his friends, they (we may hope) would get pleasure, and so would all those upon whom he spent money, such as the butcher, the baker, and the bootlegger. But if he spends it (let us say) upon laying down rails for surface card in some place where surface cars turn out not to be wanted, he has diverted a mass of labor into channels where it gives pleasure to no one. Nevertheless, when he becomes poor through failure of his investment he will be regarded as a victim of undeserved misfortune, whereas the gay spendthrift, who has spent his money philanthropically, will be despised as a fool and a frivolous person. + +All this is only preliminary. I want to say, in all seriousness, that a great deal of harm is being done in the modern world by belief in the virtuousness of work, and that the road to happiness and prosperity lies in an organized diminution of work. + +First of all: what is work? Work is of two kinds: first, altering the position of matter at or near the earth's surface relatively to other such matter; second, telling other people to do so. The first kind is unpleasant and ill paid; the second is pleasant and highly paid. The second kind is capable of indefinite extension: there are not only those who give orders, but those who give advice as to what orders should be given. Usually two opposite kinds of advice are given simultaneously by two organized bodies of men; this is called politics. The skill required for this kind of work is not knowledge of the subjects as to which advice is given, but knowledge of the art of persuasive speaking and writing, i.e. of advertising. + +Throughout Europe, though not in America, there is a third class of men, more respected than either of the classes of workers. There are men who, through ownership of land, are able to make others pay for the privilege of being allowed to exist and to work. These landowners are idle, and I might therefore be expected to praise them. Unfortunately, their idleness is only rendered possible by the industry of others; indeed their desire for comfortable idleness is historically the source of the whole gospel of work. The last thing they have ever wished is that others should follow their example. + +From the beginning of civilization until the Industrial Revolution, a man could, as a rule, produce by hard work little more than was required for the subsistence of himself and his family, although his wife worked at least as hard as he did, and his children added their labor as soon as they were old enough to do so. The small surplus above bare necessaries was not left to those who produced it, but was appropriated by warriors and priests. In times of famine there was no surplus; the warriors and priests, however, still secured as much as at other times, with the result that many of the workers died of hunger. This system persisted in Russia until 1917 [1], and still persists in the East; in England, in spite of the Industrial Revolution, it remained in full force throughout the Napoleonic wars, and until a hundred years ago, when the new class of manufacturers acquired power. In America, the system came to an end with the Revolution, except in the South, where it persisted until the Civil War. A system which lasted so long and ended so recently has naturally left a profound impress upon men's thoughts and opinions. Much that we take for granted about the desirability of work is derived from this system, and, being pre-industrial, is not adapted to the modern world. Modern technique has made it possible for leisure, within limits, to be not the prerogative of small privileged classes, but a right evenly distributed throughout the community. The morality of work is the morality of slaves, and the modern world has no need of slavery. + +It is obvious that, in primitive communities, peasants, left to themselves, would not have parted with the slender surplus upon which the warriors and priests subsisted, but would have either produced less or consumed more. At first, sheer force compelled them to produce and part with the surplus. Gradually, however, it was found possible to induce many of them to accept an ethic according to which it was their duty to work hard, although part of their work went to support others in idleness. By this means the amount of compulsion required was lessened, and the expenses of government were diminished. To this day, 99 per cent of British wage-earners would be genuinely shocked if it were proposed that the King should not have a larger income than a working man. The conception of duty, speaking historically, has been a means used by the holders of power to induce others to live for the interests of their masters rather than for their own. Of course the holders of power conceal this fact from themselves by managing to believe that their interests are identical with the larger interests of humanity. Sometimes this is true; Athenian slave-owners, for instance, employed part of their leisure in making a permanent contribution to civilization which would have been impossible under a just economic system. Leisure is essential to civilization, and in former times leisure for the few was only rendered possible by the labors of the many. But their labors were valuable, not because work is good, but because leisure is good. And with modern technique it would be possible to distribute leisure justly without injury to civilization. + +Modern technique has made it possible to diminish enormously the amount of labor required to secure the necessaries of life for everyone. This was made obvious during the war. At that time all the men in the armed forces, and all the men and women engaged in the production of munitions, all the men and women engaged in spying, war propaganda, or Government offices connected with the war, were withdrawn from productive occupations. In spite of this, the general level of well-being among unskilled wage-earners on the side of the Allies was higher than before or since. The significance of this fact was concealed by finance: borrowing made it appear as if the future was nourishing the present. But that, of course, would have been impossible; a man cannot eat a loaf of bread that does not yet exist. The war showed conclusively that, by the scientific organization of production, it is possible to keep modern populations in fair comfort on a small part of the working capacity of the modern world. If, at the end of the war, the scientific organization, which had been created in order to liberate men for fighting and munition work, had been preserved, and the hours of the week had been cut down to four, all would have been well. Instead of that the old chaos was restored, those whose work was demanded were made to work long hours, and the rest were left to starve as unemployed. Why? Because work is a duty, and a man should not receive wages in proportion to what he has produced, but in proportion to his virtue as exemplified by his industry. + +This is the morality of the Slave State, applied in circumstances totally unlike those in which it arose. No wonder the result has been disastrous. Let us take an illustration. Suppose that, at a given moment, a certain number of people are engaged in the manufacture of pins. They make as many pins as the world needs, working (say) eight hours a day. Someone makes an invention by which the same number of men can make twice as many pins: pins are already so cheap that hardly any more will be bought at a lower price. In a sensible world, everybody concerned in the manufacturing of pins would take to working four hours instead of eight, and everything else would go on as before. But in the actual world this would be thought demoralizing. The men still work eight hours, there are too many pins, some employers go bankrupt, and half the men previously concerned in making pins are thrown out of work. There is, in the end, just as much leisure as on the other plan, but half the men are totally idle while half are still overworked. In this way, it is insured that the unavoidable leisure shall cause misery all round instead of being a universal source of happiness. Can anything more insane be imagined? + +The idea that the poor should have leisure has always been shocking to the rich. In England, in the early nineteenth century, fifteen hours was the ordinary day's work for a man; children sometimes did as much, and very commonly did twelve hours a day. When meddlesome busybodies suggested that perhaps these hours were rather long, they were told that work kept adults from drink and children from mischief. When I was a child, shortly after urban working men had acquired the vote, certain public holidays were established by law, to the great indignation of the upper classes. I remember hearing an old Duchess say: 'What do the poor want with holidays? They ought to work.' People nowadays are less frank, but the sentiment persists, and is the source of much of our economic confusion. + +Let us, for a moment, consider the ethics of work frankly, without superstition. Every human being, of necessity, consumes, in the course of his life, a certain amount of the produce of human labor. Assuming, as we may, that labor is on the whole disagreeable, it is unjust that a man should consume more than he produces. Of course he may provide services rather than commodities, like a medical man, for example; but he should provide something in return for his board and lodging. to this extent, the duty of work must be admitted, but to this extent only. + +I shall not dwell upon the fact that, in all modern societies outside the USSR, many people escape even this minimum amount of work, namely all those who inherit money and all those who marry money. I do not think the fact that these people are allowed to be idle is nearly so harmful as the fact that wage-earners are expected to overwork or starve. + +If the ordinary wage-earner worked four hours a day, there would be enough for everybody and no unemployment -- assuming a certain very moderate amount of sensible organization. This idea shocks the well-to-do, because they are convinced that the poor would not know how to use so much leisure. In America men often work long hours even when they are well off; such men, naturally, are indignant at the idea of leisure for wage-earners, except as the grim punishment of unemployment; in fact, they dislike leisure even for their sons. Oddly enough, while they wish their sons to work so hard as to have no time to be civilized, they do not mind their wives and daughters having no work at all. the snobbish admiration of uselessness, which, in an aristocratic society, extends to both sexes, is, under a plutocracy, confined to women; this, however, does not make it any more in agreement with common sense. + +The wise use of leisure, it must be conceded, is a product of civilization and education. A man who has worked long hours all his life will become bored if he becomes suddenly idle. But without a considerable amount of leisure a man is cut off from many of the best things. There is no longer any reason why the bulk of the population should suffer this deprivation; only a foolish asceticism, usually vicarious, makes us continue to insist on work in excessive quantities now that the need no longer exists. + +In the new creed which controls the government of Russia, while there is much that is very different from the traditional teaching of the West, there are some things that are quite unchanged. The attitude of the governing classes, and especially of those who conduct educational propaganda, on the subject of the dignity of labor, is almost exactly that which the governing classes of the world have always preached to what were called the 'honest poor'. Industry, sobriety, willingness to work long hours for distant advantages, even submissiveness to authority, all these reappear; moreover authority still represents the will of the Ruler of the Universe, Who, however, is now called by a new name, Dialectical Materialism. + +The victory of the proletariat in Russia has some points in common with the victory of the feminists in some other countries. For ages, men had conceded the superior saintliness of women, and had consoled women for their inferiority by maintaining that saintliness is more desirable than power. At last the feminists decided that they would have both, since the pioneers among them believed all that the men had told them about the desirability of virtue, but not what they had told them about the worthlessness of political power. A similar thing has happened in Russia as regards manual work. For ages, the rich and their sycophants have written in praise of 'honest toil', have praised the simple life, have professed a religion which teaches that the poor are much more likely to go to heaven than the rich, and in general have tried to make manual workers believe that there is some special nobility about altering the position of matter in space, just as men tried to make women believe that they derived some special nobility from their sexual enslavement. In Russia, all this teaching about the excellence of manual work has been taken seriously, with the result that the manual worker is more honored than anyone else. What are, in essence, revivalist appeals are made, but not for the old purposes: they are made to secure shock workers for special tasks. Manual work is the ideal which is held before the young, and is the basis of all ethical teaching. + +For the present, possibly, this is all to the good. A large country, full of natural resources, awaits development, and has has to be developed with very little use of credit. In these circumstances, hard work is necessary, and is likely to bring a great reward. But what will happen when the point has been reached where everybody could be comfortable without working long hours? + +In the West, we have various ways of dealing with this problem. We have no attempt at economic justice, so that a large proportion of the total produce goes to a small minority of the population, many of whom do no work at all. Owing to the absence of any central control over production, we produce hosts of things that are not wanted. We keep a large percentage of the working population idle, because we can dispense with their labor by making the others overwork. When all these methods prove inadequate, we have a war: we cause a number of people to manufacture high explosives, and a number of others to explode them, as if we were children who had just discovered fireworks. By a combination of all these devices we manage, though with difficulty, to keep alive the notion that a great deal of severe manual work must be the lot of the average man. + +In Russia, owing to more economic justice and central control over production, the problem will have to be differently solved. the rational solution would be, as soon as the necessaries and elementary comforts can be provided for all, to reduce the hours of labor gradually, allowing a popular vote to decide, at each stage, whether more leisure or more goods were to be preferred. But, having taught the supreme virtue of hard work, it is difficult to see how the authorities can aim at a paradise in which there will be much leisure and little work. It seems more likely that they will find continually fresh schemes, by which present leisure is to be sacrificed to future productivity. I read recently of an ingenious plan put forward by Russian engineers, for making the White Sea and the northern coasts of Siberia warm, by putting a dam across the Kara Sea. An admirable project, but liable to postpone proletarian comfort for a generation, while the nobility of toil is being displayed amid the ice-fields and snowstorms of the Arctic Ocean. This sort of thing, if it happens, will be the result of regarding the virtue of hard work as an end in itself, rather than as a means to a state of affairs in which it is no longer needed. + +The fact is that moving matter about, while a certain amount of it is necessary to our existence, is emphatically not one of the ends of human life. If it were, we should have to consider every navvy superior to Shakespeare. We have been misled in this matter by two causes. One is the necessity of keeping the poor contented, which has led the rich, for thousands of years, to preach the dignity of labor, while taking care themselves to remain undignified in this respect. The other is the new pleasure in mechanism, which makes us delight in the astonishingly clever changes that we can produce on the earth's surface. Neither of these motives makes any great appeal to the actual worker. If you ask him what he thinks the best part of his life, he is not likely to say: 'I enjoy manual work because it makes me feel that I am fulfilling man's noblest task, and because I like to think how much man can transform his planet. It is true that my body demands periods of rest, which I have to fill in as best I may, but I am never so happy as when the morning comes and I can return to the toil from which my contentment springs.' I have never heard working men say this sort of thing. They consider work, as it should be considered, a necessary means to a livelihood, and it is from their leisure that they derive whatever happiness they may enjoy. + +It will be said that, while a little leisure is pleasant, men would not know how to fill their days if they had only four hours of work out of the twenty-four. In so far as this is true in the modern world, it is a condemnation of our civilization; it would not have been true at any earlier period. There was formerly a capacity for light-heartedness and play which has been to some extent inhibited by the cult of efficiency. The modern man thinks that everything ought to be done for the sake of something else, and never for its own sake. Serious-minded persons, for example, are continually condemning the habit of going to the cinema, and telling us that it leads the young into crime. But all the work that goes to producing a cinema is respectable, because it is work, and because it brings a money profit. The notion that the desirable activities are those that bring a profit has made everything topsy-turvy. The butcher who provides you with meat and the baker who provides you with bread are praiseworthy, because they are making money; but when you enjoy the food they have provided, you are merely frivolous, unless you eat only to get strength for your work. Broadly speaking, it is held that getting money is good and spending money is bad. Seeing that they are two sides of one transaction, this is absurd; one might as well maintain that keys are good, but keyholes are bad. Whatever merit there may be in the production of goods must be entirely derivative from the advantage to be obtained by consuming them. The individual, in our society, works for profit; but the social purpose of his work lies in the consumption of what he produces. It is this divorce between the individual and the social purpose of production that makes it so difficult for men to think clearly in a world in which profit-making is the incentive to industry. We think too much of production, and too little of consumption. One result is that we attach too little importance to enjoyment and simple happiness, and that we do not judge production by the pleasure that it gives to the consumer. + +When I suggest that working hours should be reduced to four, I am not meaning to imply that all the remaining time should necessarily be spent in pure frivolity. I mean that four hours' work a day should entitle a man to the necessities and elementary comforts of life, and that the rest of his time should be his to use as he might see fit. It is an essential part of any such social system that education should be carried further than it usually is at present, and should aim, in part, at providing tastes which would enable a man to use leisure intelligently. I am not thinking mainly of the sort of things that would be considered 'highbrow'. Peasant dances have died out except in remote rural areas, but the impulses which caused them to be cultivated must still exist in human nature. The pleasures of urban populations have become mainly passive: seeing cinemas, watching football matches, listening to the radio, and so on. This results from the fact that their active energies are fully taken up with work; if they had more leisure, they would again enjoy pleasures in which they took an active part. + +In the past, there was a small leisure class and a larger working class. The leisure class enjoyed advantages for which there was no basis in social justice; this necessarily made it oppressive, limited its sympathies, and caused it to invent theories by which to justify its privileges. These facts greatly diminished its excellence, but in spite of this drawback it contributed nearly the whole of what we call civilization. It cultivated the arts and discovered the sciences; it wrote the books, invented the philosophies, and refined social relations. Even the liberation of the oppressed has usually been inaugurated from above. Without the leisure class, mankind would never have emerged from barbarism. + +The method of a leisure class without duties was, however, extraordinarily wasteful. None of the members of the class had to be taught to be industrious, and the class as a whole was not exceptionally intelligent. The class might produce one Darwin, but against him had to be set tens of thousands of country gentlemen who never thought of anything more intelligent than fox-hunting and punishing poachers. At present, the universities are supposed to provide, in a more systematic way, what the leisure class provided accidentally and as a by-product. This is a great improvement, but it has certain drawbacks. University life is so different from life in the world at large that men who live in academic milieu tend to be unaware of the preoccupations and problems of ordinary men and women; moreover their ways of expressing themselves are usually such as to rob their opinions of the influence that they ought to have upon the general public. Another disadvantage is that in universities studies are organized, and the man who thinks of some original line of research is likely to be discouraged. Academic institutions, therefore, useful as they are, are not adequate guardians of the interests of civilization in a world where everyone outside their walls is too busy for unutilitarian pursuits. + +In a world where no one is compelled to work more than four hours a day, every person possessed of scientific curiosity will be able to indulge it, and every painter will be able to paint without starving, however excellent his pictures may be. Young writers will not be obliged to draw attention to themselves by sensational pot-boilers, with a view to acquiring the economic independence needed for monumental works, for which, when the time at last comes, they will have lost the taste and capacity. Men who, in their professional work, have become interested in some phase of economics or government, will be able to develop their ideas without the academic detachment that makes the work of university economists often seem lacking in reality. Medical men will have the time to learn about the progress of medicine, teachers will not be exasperatedly struggling to teach by routine methods things which they learnt in their youth, which may, in the interval, have been proved to be untrue. + +Above all, there will be happiness and joy of life, instead of frayed nerves, weariness, and dyspepsia. The work exacted will be enough to make leisure delightful, but not enough to produce exhaustion. Since men will not be tired in their spare time, they will not demand only such amusements as are passive and vapid. At least one per cent will probably devote the time not spent in professional work to pursuits of some public importance, and, since they will not depend upon these pursuits for their livelihood, their originality will be unhampered, and there will be no need to conform to the standards set by elderly pundits. But it is not only in these exceptional cases that the advantages of leisure will appear. Ordinary men and women, having the opportunity of a happy life, will become more kindly and less persecuting and less inclined to view others with suspicion. The taste for war will die out, partly for this reason, and partly because it will involve long and severe work for all. Good nature is, of all moral qualities, the one that the world needs most, and good nature is the result of ease and security, not of a life of arduous struggle. Modern methods of production have given us the possibility of ease and security for all; we have chosen, instead, to have overwork for some and starvation for others. Hitherto we have continued to be as energetic as we were before there were machines; in this we have been foolish, but there is no reason to go on being foolish forever. + +[1] Since then, members of the Communist Party have succeeded to this privilege of the warriors and priests. diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/test/wrap.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/test/wrap.js new file mode 100644 index 0000000..0cfb76d --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/test/wrap.js @@ -0,0 +1,31 @@ +var assert = require('assert'); +var wordwrap = require('wordwrap'); + +var fs = require('fs'); +var idleness = fs.readFileSync(__dirname + '/idleness.txt', 'utf8'); + +exports.stop80 = function () { + var lines = wordwrap(80)(idleness).split(/\n/); + var words = idleness.split(/\s+/); + + lines.forEach(function (line) { + assert.ok(line.length <= 80, 'line > 80 columns'); + var chunks = line.match(/\S/) ? line.split(/\s+/) : []; + assert.deepEqual(chunks, words.splice(0, chunks.length)); + }); +}; + +exports.start20stop60 = function () { + var lines = wordwrap(20, 100)(idleness).split(/\n/); + var words = idleness.split(/\s+/); + + lines.forEach(function (line) { + assert.ok(line.length <= 100, 'line > 100 columns'); + var chunks = line + .split(/\s+/) + .filter(function (x) { return x.match(/\S/) }) + ; + assert.deepEqual(chunks, words.splice(0, chunks.length)); + assert.deepEqual(line.slice(0, 20), new Array(20 + 1).join(' ')); + }); +}; diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/package.json b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/package.json new file mode 100644 index 0000000..1a28693 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/package.json @@ -0,0 +1,45 @@ +{ + "name": "optimist", + "version": "0.3.7", + "description": "Light-weight option parsing with an argv hash. No optstrings attached.", + "main": "./index.js", + "dependencies": { + "wordwrap": "~0.0.2" + }, + "devDependencies": { + "hashish": "~0.0.4", + "tap": "~0.4.0" + }, + "scripts": { + "test": "tap ./test/*.js" + }, + "repository": { + "type": "git", + "url": "http://github.com/substack/node-optimist.git" + }, + "keywords": [ + "argument", + "args", + "option", + "parser", + "parsing", + "cli", + "command" + ], + "author": { + "name": "James Halliday", + "email": "mail@substack.net", + "url": "http://substack.net" + }, + "license": "MIT/X11", + "engine": { + "node": ">=0.4" + }, + "readme": "optimist\n========\n\nOptimist is a node.js library for option parsing for people who hate option\nparsing. More specifically, this module is for people who like all the --bells\nand -whistlz of program usage but think optstrings are a waste of time.\n\nWith optimist, option parsing doesn't have to suck (as much).\n\n[![build status](https://secure.travis-ci.org/substack/node-optimist.png)](http://travis-ci.org/substack/node-optimist)\n\nexamples\n========\n\nWith Optimist, the options are just a hash! No optstrings attached.\n-------------------------------------------------------------------\n\nxup.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist').argv;\n\nif (argv.rif - 5 * argv.xup > 7.138) {\n console.log('Buy more riffiwobbles');\n}\nelse {\n console.log('Sell the xupptumblers');\n}\n````\n\n***\n\n $ ./xup.js --rif=55 --xup=9.52\n Buy more riffiwobbles\n \n $ ./xup.js --rif 12 --xup 8.1\n Sell the xupptumblers\n\n![This one's optimistic.](http://substack.net/images/optimistic.png)\n\nBut wait! There's more! You can do short options:\n-------------------------------------------------\n \nshort.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist').argv;\nconsole.log('(%d,%d)', argv.x, argv.y);\n````\n\n***\n\n $ ./short.js -x 10 -y 21\n (10,21)\n\nAnd booleans, both long and short (and grouped):\n----------------------------------\n\nbool.js:\n\n````javascript\n#!/usr/bin/env node\nvar util = require('util');\nvar argv = require('optimist').argv;\n\nif (argv.s) {\n util.print(argv.fr ? 'Le chat dit: ' : 'The cat says: ');\n}\nconsole.log(\n (argv.fr ? 'miaou' : 'meow') + (argv.p ? '.' : '')\n);\n````\n\n***\n\n $ ./bool.js -s\n The cat says: meow\n \n $ ./bool.js -sp\n The cat says: meow.\n\n $ ./bool.js -sp --fr\n Le chat dit: miaou.\n\nAnd non-hypenated options too! Just use `argv._`!\n-------------------------------------------------\n \nnonopt.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist').argv;\nconsole.log('(%d,%d)', argv.x, argv.y);\nconsole.log(argv._);\n````\n\n***\n\n $ ./nonopt.js -x 6.82 -y 3.35 moo\n (6.82,3.35)\n [ 'moo' ]\n \n $ ./nonopt.js foo -x 0.54 bar -y 1.12 baz\n (0.54,1.12)\n [ 'foo', 'bar', 'baz' ]\n\nPlus, Optimist comes with .usage() and .demand()!\n-------------------------------------------------\n\ndivide.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n .usage('Usage: $0 -x [num] -y [num]')\n .demand(['x','y'])\n .argv;\n\nconsole.log(argv.x / argv.y);\n````\n\n***\n \n $ ./divide.js -x 55 -y 11\n 5\n \n $ node ./divide.js -x 4.91 -z 2.51\n Usage: node ./divide.js -x [num] -y [num]\n\n Options:\n -x [required]\n -y [required]\n\n Missing required arguments: y\n\nEVEN MORE HOLY COW\n------------------\n\ndefault_singles.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n .default('x', 10)\n .default('y', 10)\n .argv\n;\nconsole.log(argv.x + argv.y);\n````\n\n***\n\n $ ./default_singles.js -x 5\n 15\n\ndefault_hash.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n .default({ x : 10, y : 10 })\n .argv\n;\nconsole.log(argv.x + argv.y);\n````\n\n***\n\n $ ./default_hash.js -y 7\n 17\n\nAnd if you really want to get all descriptive about it...\n---------------------------------------------------------\n\nboolean_single.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n .boolean('v')\n .argv\n;\nconsole.dir(argv);\n````\n\n***\n\n $ ./boolean_single.js -v foo bar baz\n true\n [ 'bar', 'baz', 'foo' ]\n\nboolean_double.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n .boolean(['x','y','z'])\n .argv\n;\nconsole.dir([ argv.x, argv.y, argv.z ]);\nconsole.dir(argv._);\n````\n\n***\n\n $ ./boolean_double.js -x -z one two three\n [ true, false, true ]\n [ 'one', 'two', 'three' ]\n\nOptimist is here to help...\n---------------------------\n\nYou can describe parameters for help messages and set aliases. Optimist figures\nout how to format a handy help string automatically.\n\nline_count.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n .usage('Count the lines in a file.\\nUsage: $0')\n .demand('f')\n .alias('f', 'file')\n .describe('f', 'Load a file')\n .argv\n;\n\nvar fs = require('fs');\nvar s = fs.createReadStream(argv.file);\n\nvar lines = 0;\ns.on('data', function (buf) {\n lines += buf.toString().match(/\\n/g).length;\n});\n\ns.on('end', function () {\n console.log(lines);\n});\n````\n\n***\n\n $ node line_count.js\n Count the lines in a file.\n Usage: node ./line_count.js\n\n Options:\n -f, --file Load a file [required]\n\n Missing required arguments: f\n\n $ node line_count.js --file line_count.js \n 20\n \n $ node line_count.js -f line_count.js \n 20\n\nmethods\n=======\n\nBy itself,\n\n````javascript\nrequire('optimist').argv\n`````\n\nwill use `process.argv` array to construct the `argv` object.\n\nYou can pass in the `process.argv` yourself:\n\n````javascript\nrequire('optimist')([ '-x', '1', '-y', '2' ]).argv\n````\n\nor use .parse() to do the same thing:\n\n````javascript\nrequire('optimist').parse([ '-x', '1', '-y', '2' ])\n````\n\nThe rest of these methods below come in just before the terminating `.argv`.\n\n.alias(key, alias)\n------------------\n\nSet key names as equivalent such that updates to a key will propagate to aliases\nand vice-versa.\n\nOptionally `.alias()` can take an object that maps keys to aliases.\n\n.default(key, value)\n--------------------\n\nSet `argv[key]` to `value` if no option was specified on `process.argv`.\n\nOptionally `.default()` can take an object that maps keys to default values.\n\n.demand(key)\n------------\n\nIf `key` is a string, show the usage information and exit if `key` wasn't\nspecified in `process.argv`.\n\nIf `key` is a number, demand at least as many non-option arguments, which show\nup in `argv._`.\n\nIf `key` is an Array, demand each element.\n\n.describe(key, desc)\n--------------------\n\nDescribe a `key` for the generated usage information.\n\nOptionally `.describe()` can take an object that maps keys to descriptions.\n\n.options(key, opt)\n------------------\n\nInstead of chaining together `.alias().demand().default()`, you can specify\nkeys in `opt` for each of the chainable methods.\n\nFor example:\n\n````javascript\nvar argv = require('optimist')\n .options('f', {\n alias : 'file',\n default : '/etc/passwd',\n })\n .argv\n;\n````\n\nis the same as\n\n````javascript\nvar argv = require('optimist')\n .alias('f', 'file')\n .default('f', '/etc/passwd')\n .argv\n;\n````\n\nOptionally `.options()` can take an object that maps keys to `opt` parameters.\n\n.usage(message)\n---------------\n\nSet a usage message to show which commands to use. Inside `message`, the string\n`$0` will get interpolated to the current script name or node command for the\npresent script similar to how `$0` works in bash or perl.\n\n.check(fn)\n----------\n\nCheck that certain conditions are met in the provided arguments.\n\nIf `fn` throws or returns `false`, show the thrown error, usage information, and\nexit.\n\n.boolean(key)\n-------------\n\nInterpret `key` as a boolean. If a non-flag option follows `key` in\n`process.argv`, that string won't get set as the value of `key`.\n\nIf `key` never shows up as a flag in `process.arguments`, `argv[key]` will be\n`false`.\n\nIf `key` is an Array, interpret all the elements as booleans.\n\n.string(key)\n------------\n\nTell the parser logic not to interpret `key` as a number or boolean.\nThis can be useful if you need to preserve leading zeros in an input.\n\nIf `key` is an Array, interpret all the elements as strings.\n\n.wrap(columns)\n--------------\n\nFormat usage output to wrap at `columns` many columns.\n\n.help()\n-------\n\nReturn the generated usage string.\n\n.showHelp(fn=console.error)\n---------------------------\n\nPrint the usage data using `fn` for printing.\n\n.parse(args)\n------------\n\nParse `args` instead of `process.argv`. Returns the `argv` object.\n\n.argv\n-----\n\nGet the arguments as a plain old object.\n\nArguments without a corresponding flag show up in the `argv._` array.\n\nThe script name or node command is available at `argv.$0` similarly to how `$0`\nworks in bash or perl.\n\nparsing tricks\n==============\n\nstop parsing\n------------\n\nUse `--` to stop parsing flags and stuff the remainder into `argv._`.\n\n $ node examples/reflect.js -a 1 -b 2 -- -c 3 -d 4\n { _: [ '-c', '3', '-d', '4' ],\n '$0': 'node ./examples/reflect.js',\n a: 1,\n b: 2 }\n\nnegate fields\n-------------\n\nIf you want to explicity set a field to false instead of just leaving it\nundefined or to override a default you can do `--no-key`.\n\n $ node examples/reflect.js -a --no-b\n { _: [],\n '$0': 'node ./examples/reflect.js',\n a: true,\n b: false }\n\nnumbers\n-------\n\nEvery argument that looks like a number (`!isNaN(Number(arg))`) is converted to\none. This way you can just `net.createConnection(argv.port)` and you can add\nnumbers out of `argv` with `+` without having that mean concatenation,\nwhich is super frustrating.\n\nduplicates\n----------\n\nIf you specify a flag multiple times it will get turned into an array containing\nall the values in order.\n\n $ node examples/reflect.js -x 5 -x 8 -x 0\n { _: [],\n '$0': 'node ./examples/reflect.js',\n x: [ 5, 8, 0 ] }\n\ndot notation\n------------\n\nWhen you use dots (`.`s) in argument names, an implicit object path is assumed.\nThis lets you organize arguments into nested objects.\n\n $ node examples/reflect.js --foo.bar.baz=33 --foo.quux=5\n { _: [],\n '$0': 'node ./examples/reflect.js',\n foo: { bar: { baz: 33 }, quux: 5 } }\n\ninstallation\n============\n\nWith [npm](http://github.com/isaacs/npm), just do:\n npm install optimist\n \nor clone this project on github:\n\n git clone http://github.com/substack/node-optimist.git\n\nTo run the tests with [expresso](http://github.com/visionmedia/expresso),\njust do:\n \n expresso\n\ninspired By\n===========\n\nThis module is loosely inspired by Perl's\n[Getopt::Casual](http://search.cpan.org/~photo/Getopt-Casual-0.13.1/Casual.pm).\n", + "readmeFilename": "readme.markdown", + "bugs": { + "url": "https://github.com/substack/node-optimist/issues" + }, + "_id": "optimist@0.3.7", + "_from": "optimist@~0.3" +} diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/readme.markdown b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/readme.markdown new file mode 100644 index 0000000..ad9d3fd --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/readme.markdown @@ -0,0 +1,487 @@ +optimist +======== + +Optimist is a node.js library for option parsing for people who hate option +parsing. More specifically, this module is for people who like all the --bells +and -whistlz of program usage but think optstrings are a waste of time. + +With optimist, option parsing doesn't have to suck (as much). + +[![build status](https://secure.travis-ci.org/substack/node-optimist.png)](http://travis-ci.org/substack/node-optimist) + +examples +======== + +With Optimist, the options are just a hash! No optstrings attached. +------------------------------------------------------------------- + +xup.js: + +````javascript +#!/usr/bin/env node +var argv = require('optimist').argv; + +if (argv.rif - 5 * argv.xup > 7.138) { + console.log('Buy more riffiwobbles'); +} +else { + console.log('Sell the xupptumblers'); +} +```` + +*** + + $ ./xup.js --rif=55 --xup=9.52 + Buy more riffiwobbles + + $ ./xup.js --rif 12 --xup 8.1 + Sell the xupptumblers + +![This one's optimistic.](http://substack.net/images/optimistic.png) + +But wait! There's more! You can do short options: +------------------------------------------------- + +short.js: + +````javascript +#!/usr/bin/env node +var argv = require('optimist').argv; +console.log('(%d,%d)', argv.x, argv.y); +```` + +*** + + $ ./short.js -x 10 -y 21 + (10,21) + +And booleans, both long and short (and grouped): +---------------------------------- + +bool.js: + +````javascript +#!/usr/bin/env node +var util = require('util'); +var argv = require('optimist').argv; + +if (argv.s) { + util.print(argv.fr ? 'Le chat dit: ' : 'The cat says: '); +} +console.log( + (argv.fr ? 'miaou' : 'meow') + (argv.p ? '.' : '') +); +```` + +*** + + $ ./bool.js -s + The cat says: meow + + $ ./bool.js -sp + The cat says: meow. + + $ ./bool.js -sp --fr + Le chat dit: miaou. + +And non-hypenated options too! Just use `argv._`! +------------------------------------------------- + +nonopt.js: + +````javascript +#!/usr/bin/env node +var argv = require('optimist').argv; +console.log('(%d,%d)', argv.x, argv.y); +console.log(argv._); +```` + +*** + + $ ./nonopt.js -x 6.82 -y 3.35 moo + (6.82,3.35) + [ 'moo' ] + + $ ./nonopt.js foo -x 0.54 bar -y 1.12 baz + (0.54,1.12) + [ 'foo', 'bar', 'baz' ] + +Plus, Optimist comes with .usage() and .demand()! +------------------------------------------------- + +divide.js: + +````javascript +#!/usr/bin/env node +var argv = require('optimist') + .usage('Usage: $0 -x [num] -y [num]') + .demand(['x','y']) + .argv; + +console.log(argv.x / argv.y); +```` + +*** + + $ ./divide.js -x 55 -y 11 + 5 + + $ node ./divide.js -x 4.91 -z 2.51 + Usage: node ./divide.js -x [num] -y [num] + + Options: + -x [required] + -y [required] + + Missing required arguments: y + +EVEN MORE HOLY COW +------------------ + +default_singles.js: + +````javascript +#!/usr/bin/env node +var argv = require('optimist') + .default('x', 10) + .default('y', 10) + .argv +; +console.log(argv.x + argv.y); +```` + +*** + + $ ./default_singles.js -x 5 + 15 + +default_hash.js: + +````javascript +#!/usr/bin/env node +var argv = require('optimist') + .default({ x : 10, y : 10 }) + .argv +; +console.log(argv.x + argv.y); +```` + +*** + + $ ./default_hash.js -y 7 + 17 + +And if you really want to get all descriptive about it... +--------------------------------------------------------- + +boolean_single.js + +````javascript +#!/usr/bin/env node +var argv = require('optimist') + .boolean('v') + .argv +; +console.dir(argv); +```` + +*** + + $ ./boolean_single.js -v foo bar baz + true + [ 'bar', 'baz', 'foo' ] + +boolean_double.js + +````javascript +#!/usr/bin/env node +var argv = require('optimist') + .boolean(['x','y','z']) + .argv +; +console.dir([ argv.x, argv.y, argv.z ]); +console.dir(argv._); +```` + +*** + + $ ./boolean_double.js -x -z one two three + [ true, false, true ] + [ 'one', 'two', 'three' ] + +Optimist is here to help... +--------------------------- + +You can describe parameters for help messages and set aliases. Optimist figures +out how to format a handy help string automatically. + +line_count.js + +````javascript +#!/usr/bin/env node +var argv = require('optimist') + .usage('Count the lines in a file.\nUsage: $0') + .demand('f') + .alias('f', 'file') + .describe('f', 'Load a file') + .argv +; + +var fs = require('fs'); +var s = fs.createReadStream(argv.file); + +var lines = 0; +s.on('data', function (buf) { + lines += buf.toString().match(/\n/g).length; +}); + +s.on('end', function () { + console.log(lines); +}); +```` + +*** + + $ node line_count.js + Count the lines in a file. + Usage: node ./line_count.js + + Options: + -f, --file Load a file [required] + + Missing required arguments: f + + $ node line_count.js --file line_count.js + 20 + + $ node line_count.js -f line_count.js + 20 + +methods +======= + +By itself, + +````javascript +require('optimist').argv +````` + +will use `process.argv` array to construct the `argv` object. + +You can pass in the `process.argv` yourself: + +````javascript +require('optimist')([ '-x', '1', '-y', '2' ]).argv +```` + +or use .parse() to do the same thing: + +````javascript +require('optimist').parse([ '-x', '1', '-y', '2' ]) +```` + +The rest of these methods below come in just before the terminating `.argv`. + +.alias(key, alias) +------------------ + +Set key names as equivalent such that updates to a key will propagate to aliases +and vice-versa. + +Optionally `.alias()` can take an object that maps keys to aliases. + +.default(key, value) +-------------------- + +Set `argv[key]` to `value` if no option was specified on `process.argv`. + +Optionally `.default()` can take an object that maps keys to default values. + +.demand(key) +------------ + +If `key` is a string, show the usage information and exit if `key` wasn't +specified in `process.argv`. + +If `key` is a number, demand at least as many non-option arguments, which show +up in `argv._`. + +If `key` is an Array, demand each element. + +.describe(key, desc) +-------------------- + +Describe a `key` for the generated usage information. + +Optionally `.describe()` can take an object that maps keys to descriptions. + +.options(key, opt) +------------------ + +Instead of chaining together `.alias().demand().default()`, you can specify +keys in `opt` for each of the chainable methods. + +For example: + +````javascript +var argv = require('optimist') + .options('f', { + alias : 'file', + default : '/etc/passwd', + }) + .argv +; +```` + +is the same as + +````javascript +var argv = require('optimist') + .alias('f', 'file') + .default('f', '/etc/passwd') + .argv +; +```` + +Optionally `.options()` can take an object that maps keys to `opt` parameters. + +.usage(message) +--------------- + +Set a usage message to show which commands to use. Inside `message`, the string +`$0` will get interpolated to the current script name or node command for the +present script similar to how `$0` works in bash or perl. + +.check(fn) +---------- + +Check that certain conditions are met in the provided arguments. + +If `fn` throws or returns `false`, show the thrown error, usage information, and +exit. + +.boolean(key) +------------- + +Interpret `key` as a boolean. If a non-flag option follows `key` in +`process.argv`, that string won't get set as the value of `key`. + +If `key` never shows up as a flag in `process.arguments`, `argv[key]` will be +`false`. + +If `key` is an Array, interpret all the elements as booleans. + +.string(key) +------------ + +Tell the parser logic not to interpret `key` as a number or boolean. +This can be useful if you need to preserve leading zeros in an input. + +If `key` is an Array, interpret all the elements as strings. + +.wrap(columns) +-------------- + +Format usage output to wrap at `columns` many columns. + +.help() +------- + +Return the generated usage string. + +.showHelp(fn=console.error) +--------------------------- + +Print the usage data using `fn` for printing. + +.parse(args) +------------ + +Parse `args` instead of `process.argv`. Returns the `argv` object. + +.argv +----- + +Get the arguments as a plain old object. + +Arguments without a corresponding flag show up in the `argv._` array. + +The script name or node command is available at `argv.$0` similarly to how `$0` +works in bash or perl. + +parsing tricks +============== + +stop parsing +------------ + +Use `--` to stop parsing flags and stuff the remainder into `argv._`. + + $ node examples/reflect.js -a 1 -b 2 -- -c 3 -d 4 + { _: [ '-c', '3', '-d', '4' ], + '$0': 'node ./examples/reflect.js', + a: 1, + b: 2 } + +negate fields +------------- + +If you want to explicity set a field to false instead of just leaving it +undefined or to override a default you can do `--no-key`. + + $ node examples/reflect.js -a --no-b + { _: [], + '$0': 'node ./examples/reflect.js', + a: true, + b: false } + +numbers +------- + +Every argument that looks like a number (`!isNaN(Number(arg))`) is converted to +one. This way you can just `net.createConnection(argv.port)` and you can add +numbers out of `argv` with `+` without having that mean concatenation, +which is super frustrating. + +duplicates +---------- + +If you specify a flag multiple times it will get turned into an array containing +all the values in order. + + $ node examples/reflect.js -x 5 -x 8 -x 0 + { _: [], + '$0': 'node ./examples/reflect.js', + x: [ 5, 8, 0 ] } + +dot notation +------------ + +When you use dots (`.`s) in argument names, an implicit object path is assumed. +This lets you organize arguments into nested objects. + + $ node examples/reflect.js --foo.bar.baz=33 --foo.quux=5 + { _: [], + '$0': 'node ./examples/reflect.js', + foo: { bar: { baz: 33 }, quux: 5 } } + +installation +============ + +With [npm](http://github.com/isaacs/npm), just do: + npm install optimist + +or clone this project on github: + + git clone http://github.com/substack/node-optimist.git + +To run the tests with [expresso](http://github.com/visionmedia/expresso), +just do: + + expresso + +inspired By +=========== + +This module is loosely inspired by Perl's +[Getopt::Casual](http://search.cpan.org/~photo/Getopt-Casual-0.13.1/Casual.pm). diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/test/_.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/test/_.js new file mode 100644 index 0000000..d9c58b3 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/test/_.js @@ -0,0 +1,71 @@ +var spawn = require('child_process').spawn; +var test = require('tap').test; + +test('dotSlashEmpty', testCmd('./bin.js', [])); + +test('dotSlashArgs', testCmd('./bin.js', [ 'a', 'b', 'c' ])); + +test('nodeEmpty', testCmd('node bin.js', [])); + +test('nodeArgs', testCmd('node bin.js', [ 'x', 'y', 'z' ])); + +test('whichNodeEmpty', function (t) { + var which = spawn('which', ['node']); + + which.stdout.on('data', function (buf) { + t.test( + testCmd(buf.toString().trim() + ' bin.js', []) + ); + t.end(); + }); + + which.stderr.on('data', function (err) { + assert.error(err); + t.end(); + }); +}); + +test('whichNodeArgs', function (t) { + var which = spawn('which', ['node']); + + which.stdout.on('data', function (buf) { + t.test( + testCmd(buf.toString().trim() + ' bin.js', [ 'q', 'r' ]) + ); + t.end(); + }); + + which.stderr.on('data', function (err) { + t.error(err); + t.end(); + }); +}); + +function testCmd (cmd, args) { + + return function (t) { + var to = setTimeout(function () { + assert.fail('Never got stdout data.') + }, 5000); + + var oldDir = process.cwd(); + process.chdir(__dirname + '/_'); + + var cmds = cmd.split(' '); + + var bin = spawn(cmds[0], cmds.slice(1).concat(args.map(String))); + process.chdir(oldDir); + + bin.stderr.on('data', function (err) { + t.error(err); + t.end(); + }); + + bin.stdout.on('data', function (buf) { + clearTimeout(to); + var _ = JSON.parse(buf.toString()); + t.same(_.map(String), args.map(String)); + t.end(); + }); + }; +} diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/test/_/argv.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/test/_/argv.js new file mode 100644 index 0000000..3d09606 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/test/_/argv.js @@ -0,0 +1,2 @@ +#!/usr/bin/env node +console.log(JSON.stringify(process.argv)); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/test/_/bin.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/test/_/bin.js new file mode 100755 index 0000000..4a18d85 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/test/_/bin.js @@ -0,0 +1,3 @@ +#!/usr/bin/env node +var argv = require('../../index').argv +console.log(JSON.stringify(argv._)); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/test/parse.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/test/parse.js new file mode 100644 index 0000000..d320f43 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/test/parse.js @@ -0,0 +1,446 @@ +var optimist = require('../index'); +var path = require('path'); +var test = require('tap').test; + +var $0 = 'node ./' + path.relative(process.cwd(), __filename); + +test('short boolean', function (t) { + var parse = optimist.parse([ '-b' ]); + t.same(parse, { b : true, _ : [], $0 : $0 }); + t.same(typeof parse.b, 'boolean'); + t.end(); +}); + +test('long boolean', function (t) { + t.same( + optimist.parse([ '--bool' ]), + { bool : true, _ : [], $0 : $0 } + ); + t.end(); +}); + +test('bare', function (t) { + t.same( + optimist.parse([ 'foo', 'bar', 'baz' ]), + { _ : [ 'foo', 'bar', 'baz' ], $0 : $0 } + ); + t.end(); +}); + +test('short group', function (t) { + t.same( + optimist.parse([ '-cats' ]), + { c : true, a : true, t : true, s : true, _ : [], $0 : $0 } + ); + t.end(); +}); + +test('short group next', function (t) { + t.same( + optimist.parse([ '-cats', 'meow' ]), + { c : true, a : true, t : true, s : 'meow', _ : [], $0 : $0 } + ); + t.end(); +}); + +test('short capture', function (t) { + t.same( + optimist.parse([ '-h', 'localhost' ]), + { h : 'localhost', _ : [], $0 : $0 } + ); + t.end(); +}); + +test('short captures', function (t) { + t.same( + optimist.parse([ '-h', 'localhost', '-p', '555' ]), + { h : 'localhost', p : 555, _ : [], $0 : $0 } + ); + t.end(); +}); + +test('long capture sp', function (t) { + t.same( + optimist.parse([ '--pow', 'xixxle' ]), + { pow : 'xixxle', _ : [], $0 : $0 } + ); + t.end(); +}); + +test('long capture eq', function (t) { + t.same( + optimist.parse([ '--pow=xixxle' ]), + { pow : 'xixxle', _ : [], $0 : $0 } + ); + t.end() +}); + +test('long captures sp', function (t) { + t.same( + optimist.parse([ '--host', 'localhost', '--port', '555' ]), + { host : 'localhost', port : 555, _ : [], $0 : $0 } + ); + t.end(); +}); + +test('long captures eq', function (t) { + t.same( + optimist.parse([ '--host=localhost', '--port=555' ]), + { host : 'localhost', port : 555, _ : [], $0 : $0 } + ); + t.end(); +}); + +test('mixed short bool and capture', function (t) { + t.same( + optimist.parse([ '-h', 'localhost', '-fp', '555', 'script.js' ]), + { + f : true, p : 555, h : 'localhost', + _ : [ 'script.js' ], $0 : $0, + } + ); + t.end(); +}); + +test('short and long', function (t) { + t.same( + optimist.parse([ '-h', 'localhost', '-fp', '555', 'script.js' ]), + { + f : true, p : 555, h : 'localhost', + _ : [ 'script.js' ], $0 : $0, + } + ); + t.end(); +}); + +test('no', function (t) { + t.same( + optimist.parse([ '--no-moo' ]), + { moo : false, _ : [], $0 : $0 } + ); + t.end(); +}); + +test('multi', function (t) { + t.same( + optimist.parse([ '-v', 'a', '-v', 'b', '-v', 'c' ]), + { v : ['a','b','c'], _ : [], $0 : $0 } + ); + t.end(); +}); + +test('comprehensive', function (t) { + t.same( + optimist.parse([ + '--name=meowmers', 'bare', '-cats', 'woo', + '-h', 'awesome', '--multi=quux', + '--key', 'value', + '-b', '--bool', '--no-meep', '--multi=baz', + '--', '--not-a-flag', 'eek' + ]), + { + c : true, + a : true, + t : true, + s : 'woo', + h : 'awesome', + b : true, + bool : true, + key : 'value', + multi : [ 'quux', 'baz' ], + meep : false, + name : 'meowmers', + _ : [ 'bare', '--not-a-flag', 'eek' ], + $0 : $0 + } + ); + t.end(); +}); + +test('nums', function (t) { + var argv = optimist.parse([ + '-x', '1234', + '-y', '5.67', + '-z', '1e7', + '-w', '10f', + '--hex', '0xdeadbeef', + '789', + ]); + t.same(argv, { + x : 1234, + y : 5.67, + z : 1e7, + w : '10f', + hex : 0xdeadbeef, + _ : [ 789 ], + $0 : $0 + }); + t.same(typeof argv.x, 'number'); + t.same(typeof argv.y, 'number'); + t.same(typeof argv.z, 'number'); + t.same(typeof argv.w, 'string'); + t.same(typeof argv.hex, 'number'); + t.same(typeof argv._[0], 'number'); + t.end(); +}); + +test('flag boolean', function (t) { + var parse = optimist([ '-t', 'moo' ]).boolean(['t']).argv; + t.same(parse, { t : true, _ : [ 'moo' ], $0 : $0 }); + t.same(typeof parse.t, 'boolean'); + t.end(); +}); + +test('flag boolean value', function (t) { + var parse = optimist(['--verbose', 'false', 'moo', '-t', 'true']) + .boolean(['t', 'verbose']).default('verbose', true).argv; + + t.same(parse, { + verbose: false, + t: true, + _: ['moo'], + $0 : $0 + }); + + t.same(typeof parse.verbose, 'boolean'); + t.same(typeof parse.t, 'boolean'); + t.end(); +}); + +test('flag boolean default false', function (t) { + var parse = optimist(['moo']) + .boolean(['t', 'verbose']) + .default('verbose', false) + .default('t', false).argv; + + t.same(parse, { + verbose: false, + t: false, + _: ['moo'], + $0 : $0 + }); + + t.same(typeof parse.verbose, 'boolean'); + t.same(typeof parse.t, 'boolean'); + t.end(); + +}); + +test('boolean groups', function (t) { + var parse = optimist([ '-x', '-z', 'one', 'two', 'three' ]) + .boolean(['x','y','z']).argv; + + t.same(parse, { + x : true, + y : false, + z : true, + _ : [ 'one', 'two', 'three' ], + $0 : $0 + }); + + t.same(typeof parse.x, 'boolean'); + t.same(typeof parse.y, 'boolean'); + t.same(typeof parse.z, 'boolean'); + t.end(); +}); + +test('newlines in params' , function (t) { + var args = optimist.parse([ '-s', "X\nX" ]) + t.same(args, { _ : [], s : "X\nX", $0 : $0 }); + + // reproduce in bash: + // VALUE="new + // line" + // node program.js --s="$VALUE" + args = optimist.parse([ "--s=X\nX" ]) + t.same(args, { _ : [], s : "X\nX", $0 : $0 }); + t.end(); +}); + +test('strings' , function (t) { + var s = optimist([ '-s', '0001234' ]).string('s').argv.s; + t.same(s, '0001234'); + t.same(typeof s, 'string'); + + var x = optimist([ '-x', '56' ]).string('x').argv.x; + t.same(x, '56'); + t.same(typeof x, 'string'); + t.end(); +}); + +test('stringArgs', function (t) { + var s = optimist([ ' ', ' ' ]).string('_').argv._; + t.same(s.length, 2); + t.same(typeof s[0], 'string'); + t.same(s[0], ' '); + t.same(typeof s[1], 'string'); + t.same(s[1], ' '); + t.end(); +}); + +test('slashBreak', function (t) { + t.same( + optimist.parse([ '-I/foo/bar/baz' ]), + { I : '/foo/bar/baz', _ : [], $0 : $0 } + ); + t.same( + optimist.parse([ '-xyz/foo/bar/baz' ]), + { x : true, y : true, z : '/foo/bar/baz', _ : [], $0 : $0 } + ); + t.end(); +}); + +test('alias', function (t) { + var argv = optimist([ '-f', '11', '--zoom', '55' ]) + .alias('z', 'zoom') + .argv + ; + t.equal(argv.zoom, 55); + t.equal(argv.z, argv.zoom); + t.equal(argv.f, 11); + t.end(); +}); + +test('multiAlias', function (t) { + var argv = optimist([ '-f', '11', '--zoom', '55' ]) + .alias('z', [ 'zm', 'zoom' ]) + .argv + ; + t.equal(argv.zoom, 55); + t.equal(argv.z, argv.zoom); + t.equal(argv.z, argv.zm); + t.equal(argv.f, 11); + t.end(); +}); + +test('boolean default true', function (t) { + var argv = optimist.options({ + sometrue: { + boolean: true, + default: true + } + }).argv; + + t.equal(argv.sometrue, true); + t.end(); +}); + +test('boolean default false', function (t) { + var argv = optimist.options({ + somefalse: { + boolean: true, + default: false + } + }).argv; + + t.equal(argv.somefalse, false); + t.end(); +}); + +test('nested dotted objects', function (t) { + var argv = optimist([ + '--foo.bar', '3', '--foo.baz', '4', + '--foo.quux.quibble', '5', '--foo.quux.o_O', + '--beep.boop' + ]).argv; + + t.same(argv.foo, { + bar : 3, + baz : 4, + quux : { + quibble : 5, + o_O : true + }, + }); + t.same(argv.beep, { boop : true }); + t.end(); +}); + +test('boolean and alias with chainable api', function (t) { + var aliased = [ '-h', 'derp' ]; + var regular = [ '--herp', 'derp' ]; + var opts = { + herp: { alias: 'h', boolean: true } + }; + var aliasedArgv = optimist(aliased) + .boolean('herp') + .alias('h', 'herp') + .argv; + var propertyArgv = optimist(regular) + .boolean('herp') + .alias('h', 'herp') + .argv; + var expected = { + herp: true, + h: true, + '_': [ 'derp' ], + '$0': $0, + }; + + t.same(aliasedArgv, expected); + t.same(propertyArgv, expected); + t.end(); +}); + +test('boolean and alias with options hash', function (t) { + var aliased = [ '-h', 'derp' ]; + var regular = [ '--herp', 'derp' ]; + var opts = { + herp: { alias: 'h', boolean: true } + }; + var aliasedArgv = optimist(aliased) + .options(opts) + .argv; + var propertyArgv = optimist(regular).options(opts).argv; + var expected = { + herp: true, + h: true, + '_': [ 'derp' ], + '$0': $0, + }; + + t.same(aliasedArgv, expected); + t.same(propertyArgv, expected); + + t.end(); +}); + +test('boolean and alias using explicit true', function (t) { + var aliased = [ '-h', 'true' ]; + var regular = [ '--herp', 'true' ]; + var opts = { + herp: { alias: 'h', boolean: true } + }; + var aliasedArgv = optimist(aliased) + .boolean('h') + .alias('h', 'herp') + .argv; + var propertyArgv = optimist(regular) + .boolean('h') + .alias('h', 'herp') + .argv; + var expected = { + herp: true, + h: true, + '_': [ ], + '$0': $0, + }; + + t.same(aliasedArgv, expected); + t.same(propertyArgv, expected); + t.end(); +}); + +// regression, see https://github.com/substack/node-optimist/issues/71 +test('boolean and --x=true', function(t) { + var parsed = optimist(['--boool', '--other=true']).boolean('boool').argv; + + t.same(parsed.boool, true); + t.same(parsed.other, 'true'); + + parsed = optimist(['--boool', '--other=false']).boolean('boool').argv; + + t.same(parsed.boool, true); + t.same(parsed.other, 'false'); + t.end(); +}); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/test/usage.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/test/usage.js new file mode 100644 index 0000000..300454c --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/optimist/test/usage.js @@ -0,0 +1,292 @@ +var Hash = require('hashish'); +var optimist = require('../index'); +var test = require('tap').test; + +test('usageFail', function (t) { + var r = checkUsage(function () { + return optimist('-x 10 -z 20'.split(' ')) + .usage('Usage: $0 -x NUM -y NUM') + .demand(['x','y']) + .argv; + }); + t.same( + r.result, + { x : 10, z : 20, _ : [], $0 : './usage' } + ); + + t.same( + r.errors.join('\n').split(/\n+/), + [ + 'Usage: ./usage -x NUM -y NUM', + 'Options:', + ' -x [required]', + ' -y [required]', + 'Missing required arguments: y', + ] + ); + t.same(r.logs, []); + t.ok(r.exit); + t.end(); +}); + + +test('usagePass', function (t) { + var r = checkUsage(function () { + return optimist('-x 10 -y 20'.split(' ')) + .usage('Usage: $0 -x NUM -y NUM') + .demand(['x','y']) + .argv; + }); + t.same(r, { + result : { x : 10, y : 20, _ : [], $0 : './usage' }, + errors : [], + logs : [], + exit : false, + }); + t.end(); +}); + +test('checkPass', function (t) { + var r = checkUsage(function () { + return optimist('-x 10 -y 20'.split(' ')) + .usage('Usage: $0 -x NUM -y NUM') + .check(function (argv) { + if (!('x' in argv)) throw 'You forgot about -x'; + if (!('y' in argv)) throw 'You forgot about -y'; + }) + .argv; + }); + t.same(r, { + result : { x : 10, y : 20, _ : [], $0 : './usage' }, + errors : [], + logs : [], + exit : false, + }); + t.end(); +}); + +test('checkFail', function (t) { + var r = checkUsage(function () { + return optimist('-x 10 -z 20'.split(' ')) + .usage('Usage: $0 -x NUM -y NUM') + .check(function (argv) { + if (!('x' in argv)) throw 'You forgot about -x'; + if (!('y' in argv)) throw 'You forgot about -y'; + }) + .argv; + }); + + t.same( + r.result, + { x : 10, z : 20, _ : [], $0 : './usage' } + ); + + t.same( + r.errors.join('\n').split(/\n+/), + [ + 'Usage: ./usage -x NUM -y NUM', + 'You forgot about -y' + ] + ); + + t.same(r.logs, []); + t.ok(r.exit); + t.end(); +}); + +test('checkCondPass', function (t) { + function checker (argv) { + return 'x' in argv && 'y' in argv; + } + + var r = checkUsage(function () { + return optimist('-x 10 -y 20'.split(' ')) + .usage('Usage: $0 -x NUM -y NUM') + .check(checker) + .argv; + }); + t.same(r, { + result : { x : 10, y : 20, _ : [], $0 : './usage' }, + errors : [], + logs : [], + exit : false, + }); + t.end(); +}); + +test('checkCondFail', function (t) { + function checker (argv) { + return 'x' in argv && 'y' in argv; + } + + var r = checkUsage(function () { + return optimist('-x 10 -z 20'.split(' ')) + .usage('Usage: $0 -x NUM -y NUM') + .check(checker) + .argv; + }); + + t.same( + r.result, + { x : 10, z : 20, _ : [], $0 : './usage' } + ); + + t.same( + r.errors.join('\n').split(/\n+/).join('\n'), + 'Usage: ./usage -x NUM -y NUM\n' + + 'Argument check failed: ' + checker.toString() + ); + + t.same(r.logs, []); + t.ok(r.exit); + t.end(); +}); + +test('countPass', function (t) { + var r = checkUsage(function () { + return optimist('1 2 3 --moo'.split(' ')) + .usage('Usage: $0 [x] [y] [z] {OPTIONS}') + .demand(3) + .argv; + }); + t.same(r, { + result : { _ : [ '1', '2', '3' ], moo : true, $0 : './usage' }, + errors : [], + logs : [], + exit : false, + }); + t.end(); +}); + +test('countFail', function (t) { + var r = checkUsage(function () { + return optimist('1 2 --moo'.split(' ')) + .usage('Usage: $0 [x] [y] [z] {OPTIONS}') + .demand(3) + .argv; + }); + t.same( + r.result, + { _ : [ '1', '2' ], moo : true, $0 : './usage' } + ); + + t.same( + r.errors.join('\n').split(/\n+/), + [ + 'Usage: ./usage [x] [y] [z] {OPTIONS}', + 'Not enough non-option arguments: got 2, need at least 3', + ] + ); + + t.same(r.logs, []); + t.ok(r.exit); + t.end(); +}); + +test('defaultSingles', function (t) { + var r = checkUsage(function () { + return optimist('--foo 50 --baz 70 --powsy'.split(' ')) + .default('foo', 5) + .default('bar', 6) + .default('baz', 7) + .argv + ; + }); + t.same(r.result, { + foo : '50', + bar : 6, + baz : '70', + powsy : true, + _ : [], + $0 : './usage', + }); + t.end(); +}); + +test('defaultAliases', function (t) { + var r = checkUsage(function () { + return optimist('') + .alias('f', 'foo') + .default('f', 5) + .argv + ; + }); + t.same(r.result, { + f : '5', + foo : '5', + _ : [], + $0 : './usage', + }); + t.end(); +}); + +test('defaultHash', function (t) { + var r = checkUsage(function () { + return optimist('--foo 50 --baz 70'.split(' ')) + .default({ foo : 10, bar : 20, quux : 30 }) + .argv + ; + }); + t.same(r.result, { + _ : [], + $0 : './usage', + foo : 50, + baz : 70, + bar : 20, + quux : 30, + }); + t.end(); +}); + +test('rebase', function (t) { + t.equal( + optimist.rebase('/home/substack', '/home/substack/foo/bar/baz'), + './foo/bar/baz' + ); + t.equal( + optimist.rebase('/home/substack/foo/bar/baz', '/home/substack'), + '../../..' + ); + t.equal( + optimist.rebase('/home/substack/foo', '/home/substack/pow/zoom.txt'), + '../pow/zoom.txt' + ); + t.end(); +}); + +function checkUsage (f) { + + var exit = false; + + process._exit = process.exit; + process._env = process.env; + process._argv = process.argv; + + process.exit = function (t) { exit = true }; + process.env = Hash.merge(process.env, { _ : 'node' }); + process.argv = [ './usage' ]; + + var errors = []; + var logs = []; + + console._error = console.error; + console.error = function (msg) { errors.push(msg) }; + console._log = console.log; + console.log = function (msg) { logs.push(msg) }; + + var result = f(); + + process.exit = process._exit; + process.env = process._env; + process.argv = process._argv; + + console.error = console._error; + console.log = console._log; + + return { + errors : errors, + logs : logs, + exit : exit, + result : result, + }; +}; diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/.npmignore b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/.npmignore new file mode 100644 index 0000000..94fceeb --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/.npmignore @@ -0,0 +1,2 @@ +tmp/ +node_modules/ diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/.travis.yml b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/.travis.yml new file mode 100644 index 0000000..d959127 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/.travis.yml @@ -0,0 +1,7 @@ +language: node_js +node_js: + - "0.4" + - "0.6" + - "0.8" + - "0.10" + - "0.11" diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/LICENSE b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/LICENSE new file mode 100644 index 0000000..dd7706f --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/LICENSE @@ -0,0 +1,29 @@ +UglifyJS is released under the BSD license: + +Copyright 2012-2013 (c) Mihai Bazon + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, +OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF +THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/README.md b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/README.md new file mode 100644 index 0000000..749b8ce --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/README.md @@ -0,0 +1,588 @@ +UglifyJS 2 +========== +[![Build Status](https://travis-ci.org/mishoo/UglifyJS2.png)](https://travis-ci.org/mishoo/UglifyJS2) + +UglifyJS is a JavaScript parser, minifier, compressor or beautifier toolkit. + +This page documents the command line utility. For +[API and internals documentation see my website](http://lisperator.net/uglifyjs/). +There's also an +[in-browser online demo](http://lisperator.net/uglifyjs/#demo) (for Firefox, +Chrome and probably Safari). + +Install +------- + +First make sure you have installed the latest version of [node.js](http://nodejs.org/) +(You may need to restart your computer after this step). + +From NPM for use as a command line app: + + npm install uglify-js -g + +From NPM for programmatic use: + + npm install uglify-js + +From Git: + + git clone git://github.com/mishoo/UglifyJS2.git + cd UglifyJS2 + npm link . + +Usage +----- + + uglifyjs [input files] [options] + +UglifyJS2 can take multiple input files. It's recommended that you pass the +input files first, then pass the options. UglifyJS will parse input files +in sequence and apply any compression options. The files are parsed in the +same global scope, that is, a reference from a file to some +variable/function declared in another file will be matched properly. + +If you want to read from STDIN instead, pass a single dash instead of input +files. + +The available options are: + + --source-map Specify an output file where to generate source map. + [string] + --source-map-root The path to the original source to be included in the + source map. [string] + --source-map-url The path to the source map to be added in //@ + sourceMappingURL. Defaults to the value passed with + --source-map. [string] + --in-source-map Input source map, useful if you're compressing JS that was + generated from some other original code. + --screw-ie8 Pass this flag if you don't care about full compliance with + Internet Explorer 6-8 quirks (by default UglifyJS will try + to be IE-proof). + -p, --prefix Skip prefix for original filenames that appear in source + maps. For example -p 3 will drop 3 directories from file + names and ensure they are relative paths. + -o, --output Output file (default STDOUT). + -b, --beautify Beautify output/specify output options. [string] + -m, --mangle Mangle names/pass mangler options. [string] + -r, --reserved Reserved names to exclude from mangling. + -c, --compress Enable compressor/pass compressor options. Pass options + like -c hoist_vars=false,if_return=false. Use -c with no + argument to use the default compression options. [string] + -d, --define Global definitions [string] + --comments Preserve copyright comments in the output. By default this + works like Google Closure, keeping JSDoc-style comments + that contain "@license" or "@preserve". You can optionally + pass one of the following arguments to this flag: + - "all" to keep all comments + - a valid JS regexp (needs to start with a slash) to keep + only comments that match. + Note that currently not *all* comments can be kept when + compression is on, because of dead code removal or + cascading statements into sequences. [string] + --stats Display operations run time on STDERR. [boolean] + --acorn Use Acorn for parsing. [boolean] + --spidermonkey Assume input files are SpiderMonkey AST format (as JSON). + [boolean] + --self Build itself (UglifyJS2) as a library (implies + --wrap=UglifyJS --export-all) [boolean] + --wrap Embed everything in a big function, making the “exports” + and “global” variables available. You need to pass an + argument to this option to specify the name that your + module will take when included in, say, a browser. + [string] + --export-all Only used when --wrap, this tells UglifyJS to add code to + automatically export all globals. [boolean] + --lint Display some scope warnings [boolean] + -v, --verbose Verbose [boolean] + -V, --version Print version number and exit. [boolean] + +Specify `--output` (`-o`) to declare the output file. Otherwise the output +goes to STDOUT. + +## Source map options + +UglifyJS2 can generate a source map file, which is highly useful for +debugging your compressed JavaScript. To get a source map, pass +`--source-map output.js.map` (full path to the file where you want the +source map dumped). + +Additionally you might need `--source-map-root` to pass the URL where the +original files can be found. In case you are passing full paths to input +files to UglifyJS, you can use `--prefix` (`-p`) to specify the number of +directories to drop from the path prefix when declaring files in the source +map. + +For example: + + uglifyjs /home/doe/work/foo/src/js/file1.js \ + /home/doe/work/foo/src/js/file2.js \ + -o foo.min.js \ + --source-map foo.min.js.map \ + --source-map-root http://foo.com/src \ + -p 5 -c -m + +The above will compress and mangle `file1.js` and `file2.js`, will drop the +output in `foo.min.js` and the source map in `foo.min.js.map`. The source +mapping will refer to `http://foo.com/src/js/file1.js` and +`http://foo.com/src/js/file2.js` (in fact it will list `http://foo.com/src` +as the source map root, and the original files as `js/file1.js` and +`js/file2.js`). + +### Composed source map + +When you're compressing JS code that was output by a compiler such as +CoffeeScript, mapping to the JS code won't be too helpful. Instead, you'd +like to map back to the original code (i.e. CoffeeScript). UglifyJS has an +option to take an input source map. Assuming you have a mapping from +CoffeeScript → compiled JS, UglifyJS can generate a map from CoffeeScript → +compressed JS by mapping every token in the compiled JS to its original +location. + +To use this feature you need to pass `--in-source-map +/path/to/input/source.map`. Normally the input source map should also point +to the file containing the generated JS, so if that's correct you can omit +input files from the command line. + +## Mangler options + +To enable the mangler you need to pass `--mangle` (`-m`). The following +(comma-separated) options are supported: + +- `sort` — to assign shorter names to most frequently used variables. This + saves a few hundred bytes on jQuery before gzip, but the output is + _bigger_ after gzip (and seems to happen for other libraries I tried it + on) therefore it's not enabled by default. + +- `toplevel` — mangle names declared in the toplevel scope (disabled by + default). + +- `eval` — mangle names visible in scopes where `eval` or `when` are used + (disabled by default). + +When mangling is enabled but you want to prevent certain names from being +mangled, you can declare those names with `--reserved` (`-r`) — pass a +comma-separated list of names. For example: + + uglifyjs ... -m -r '$,require,exports' + +to prevent the `require`, `exports` and `$` names from being changed. + +## Compressor options + +You need to pass `--compress` (`-c`) to enable the compressor. Optionally +you can pass a comma-separated list of options. Options are in the form +`foo=bar`, or just `foo` (the latter implies a boolean option that you want +to set `true`; it's effectively a shortcut for `foo=true`). + +- `sequences` -- join consecutive simple statements using the comma operator +- `properties` -- rewrite property access using the dot notation, for + example `foo["bar"] → foo.bar` +- `dead_code` -- remove unreachable code +- `drop_debugger` -- remove `debugger;` statements +- `unsafe` (default: false) -- apply "unsafe" transformations (discussion below) +- `conditionals` -- apply optimizations for `if`-s and conditional + expressions +- `comparisons` -- apply certain optimizations to binary nodes, for example: + `!(a <= b) → a > b` (only when `unsafe`), attempts to negate binary nodes, + e.g. `a = !b && !c && !d && !e → a=!(b||c||d||e)` etc. +- `evaluate` -- attempt to evaluate constant expressions +- `booleans` -- various optimizations for boolean context, for example `!!a + ? b : c → a ? b : c` +- `loops` -- optimizations for `do`, `while` and `for` loops when we can + statically determine the condition +- `unused` -- drop unreferenced functions and variables +- `hoist_funs` -- hoist function declarations +- `hoist_vars` (default: false) -- hoist `var` declarations (this is `false` + by default because it seems to increase the size of the output in general) +- `if_return` -- optimizations for if/return and if/continue +- `join_vars` -- join consecutive `var` statements +- `cascade` -- small optimization for sequences, transform `x, x` into `x` + and `x = something(), x` into `x = something()` +- `warnings` -- display warnings when dropping unreachable code or unused + declarations etc. + +### The `unsafe` option + +It enables some transformations that *might* break code logic in certain +contrived cases, but should be fine for most code. You might want to try it +on your own code, it should reduce the minified size. Here's what happens +when this flag is on: + +- `new Array(1, 2, 3)` or `Array(1, 2, 3)` → `[1, 2, 3 ]` +- `new Object()` → `{}` +- `String(exp)` or `exp.toString()` → `"" + exp` +- `new Object/RegExp/Function/Error/Array (...)` → we discard the `new` +- `typeof foo == "undefined"` → `foo === void 0` +- `void 0` → `"undefined"` (if there is a variable named "undefined" in + scope; we do it because the variable name will be mangled, typically + reduced to a single character). + +### Conditional compilation + +You can use the `--define` (`-d`) switch in order to declare global +variables that UglifyJS will assume to be constants (unless defined in +scope). For example if you pass `--define DEBUG=false` then, coupled with +dead code removal UglifyJS will discard the following from the output: +```javascript +if (DEBUG) { + console.log("debug stuff"); +} +``` + +UglifyJS will warn about the condition being always false and about dropping +unreachable code; for now there is no option to turn off only this specific +warning, you can pass `warnings=false` to turn off *all* warnings. + +Another way of doing that is to declare your globals as constants in a +separate file and include it into the build. For example you can have a +`build/defines.js` file with the following: +```javascript +const DEBUG = false; +const PRODUCTION = true; +// etc. +``` + +and build your code like this: + + uglifyjs build/defines.js js/foo.js js/bar.js... -c + +UglifyJS will notice the constants and, since they cannot be altered, it +will evaluate references to them to the value itself and drop unreachable +code as usual. The possible downside of this approach is that the build +will contain the `const` declarations. + + +## Beautifier options + +The code generator tries to output shortest code possible by default. In +case you want beautified output, pass `--beautify` (`-b`). Optionally you +can pass additional arguments that control the code output: + +- `beautify` (default `true`) -- whether to actually beautify the output. + Passing `-b` will set this to true, but you might need to pass `-b` even + when you want to generate minified code, in order to specify additional + arguments, so you can use `-b beautify=false` to override it. +- `indent-level` (default 4) +- `indent-start` (default 0) -- prefix all lines by that many spaces +- `quote-keys` (default `false`) -- pass `true` to quote all keys in literal + objects +- `space-colon` (default `true`) -- insert a space after the colon signs +- `ascii-only` (default `false`) -- escape Unicode characters in strings and + regexps +- `inline-script` (default `false`) -- escape the slash in occurrences of + ` 0) { + sys.error("WARN: Ignoring input files since --self was passed"); + } + files = UglifyJS.FILES; + if (!ARGS.wrap) ARGS.wrap = "UglifyJS"; + ARGS.export_all = true; +} + +var ORIG_MAP = ARGS.in_source_map; + +if (ORIG_MAP) { + ORIG_MAP = JSON.parse(fs.readFileSync(ORIG_MAP)); + if (files.length == 0) { + sys.error("INFO: Using file from the input source map: " + ORIG_MAP.file); + files = [ ORIG_MAP.file ]; + } + if (ARGS.source_map_root == null) { + ARGS.source_map_root = ORIG_MAP.sourceRoot; + } +} + +if (files.length == 0) { + files = [ "-" ]; +} + +if (files.indexOf("-") >= 0 && ARGS.source_map) { + sys.error("ERROR: Source map doesn't work with input from STDIN"); + process.exit(1); +} + +if (files.filter(function(el){ return el == "-" }).length > 1) { + sys.error("ERROR: Can read a single file from STDIN (two or more dashes specified)"); + process.exit(1); +} + +var STATS = {}; +var OUTPUT_FILE = ARGS.o; +var TOPLEVEL = null; + +var SOURCE_MAP = ARGS.source_map ? UglifyJS.SourceMap({ + file: OUTPUT_FILE, + root: ARGS.source_map_root, + orig: ORIG_MAP, +}) : null; + +OUTPUT_OPTIONS.source_map = SOURCE_MAP; + +try { + var output = UglifyJS.OutputStream(OUTPUT_OPTIONS); + var compressor = COMPRESS && UglifyJS.Compressor(COMPRESS); +} catch(ex) { + if (ex instanceof UglifyJS.DefaultsError) { + sys.error(ex.msg); + sys.error("Supported options:"); + sys.error(sys.inspect(ex.defs)); + process.exit(1); + } +} + +async.eachLimit(files, 1, function (file, cb) { + read_whole_file(file, function (err, code) { + if (err) { + sys.error("ERROR: can't read file: " + filename); + process.exit(1); + } + if (ARGS.p != null) { + file = file.replace(/^\/+/, "").split(/\/+/).slice(ARGS.p).join("/"); + } + time_it("parse", function(){ + if (ARGS.spidermonkey) { + var program = JSON.parse(code); + if (!TOPLEVEL) TOPLEVEL = program; + else TOPLEVEL.body = TOPLEVEL.body.concat(program.body); + } + else if (ARGS.acorn) { + TOPLEVEL = acorn.parse(code, { + locations : true, + trackComments : true, + sourceFile : file, + program : TOPLEVEL + }); + } + else { + TOPLEVEL = UglifyJS.parse(code, { + filename : file, + toplevel : TOPLEVEL, + expression : ARGS.expr, + }); + }; + }); + cb(); + }); +}, function () { + if (ARGS.acorn || ARGS.spidermonkey) time_it("convert_ast", function(){ + TOPLEVEL = UglifyJS.AST_Node.from_mozilla_ast(TOPLEVEL); + }); + + if (ARGS.wrap) { + TOPLEVEL = TOPLEVEL.wrap_commonjs(ARGS.wrap, ARGS.export_all); + } + + if (ARGS.enclose) { + var arg_parameter_list = ARGS.enclose; + + if (!(arg_parameter_list instanceof Array)) { + arg_parameter_list = [arg_parameter_list]; + } + + TOPLEVEL = TOPLEVEL.wrap_enclose(arg_parameter_list); + } + + var SCOPE_IS_NEEDED = COMPRESS || MANGLE || ARGS.lint; + + if (SCOPE_IS_NEEDED) { + time_it("scope", function(){ + TOPLEVEL.figure_out_scope({ screw_ie8: ARGS.screw_ie8 }); + if (ARGS.lint) { + TOPLEVEL.scope_warnings(); + } + }); + } + + if (COMPRESS) { + time_it("squeeze", function(){ + TOPLEVEL = TOPLEVEL.transform(compressor); + }); + } + + if (SCOPE_IS_NEEDED) { + time_it("scope", function(){ + TOPLEVEL.figure_out_scope({ screw_ie8: ARGS.screw_ie8 }); + if (MANGLE) { + TOPLEVEL.compute_char_frequency(MANGLE); + } + }); + } + + if (MANGLE) time_it("mangle", function(){ + TOPLEVEL.mangle_names(MANGLE); + }); + time_it("generate", function(){ + TOPLEVEL.print(output); + }); + + output = output.get(); + + if (SOURCE_MAP) { + fs.writeFileSync(ARGS.source_map, SOURCE_MAP, "utf8"); + output += "\n//# sourceMappingURL=" + (ARGS.source_map_url || ARGS.source_map); + } + + if (OUTPUT_FILE) { + fs.writeFileSync(OUTPUT_FILE, output, "utf8"); + } else { + sys.print(output); + sys.error("\n"); + } + + if (ARGS.stats) { + sys.error(UglifyJS.string_template("Timing information (compressed {count} files):", { + count: files.length + })); + for (var i in STATS) if (STATS.hasOwnProperty(i)) { + sys.error(UglifyJS.string_template("- {name}: {time}s", { + name: i, + time: (STATS[i] / 1000).toFixed(3) + })); + } + } +}); + +/* -----[ functions ]----- */ + +function normalize(o) { + for (var i in o) if (o.hasOwnProperty(i) && /-/.test(i)) { + o[i.replace(/-/g, "_")] = o[i]; + delete o[i]; + } +} + +function getOptions(x, constants) { + x = ARGS[x]; + if (!x) return null; + var ret = {}; + if (x !== true) { + var ast; + try { + ast = UglifyJS.parse(x); + } catch(ex) { + if (ex instanceof UglifyJS.JS_Parse_Error) { + sys.error("Error parsing arguments in: " + x); + process.exit(1); + } + } + ast.walk(new UglifyJS.TreeWalker(function(node){ + if (node instanceof UglifyJS.AST_Toplevel) return; // descend + if (node instanceof UglifyJS.AST_SimpleStatement) return; // descend + if (node instanceof UglifyJS.AST_Seq) return; // descend + if (node instanceof UglifyJS.AST_Assign) { + var name = node.left.print_to_string({ beautify: false }).replace(/-/g, "_"); + var value = node.right; + if (constants) + value = new Function("return (" + value.print_to_string() + ")")(); + ret[name] = value; + return true; // no descend + } + sys.error(node.TYPE) + sys.error("Error parsing arguments in: " + x); + process.exit(1); + })); + } + return ret; +} + +function read_whole_file(filename, cb) { + if (filename == "-") { + var chunks = []; + process.stdin.setEncoding('utf-8'); + process.stdin.on('data', function (chunk) { + chunks.push(chunk); + }).on('end', function () { + cb(null, chunks.join("")); + }); + process.openStdin(); + } else { + fs.readFile(filename, "utf-8", cb); + } +} + +function time_it(name, cont) { + var t1 = new Date().getTime(); + var ret = cont(); + if (ARGS.stats) { + var spent = new Date().getTime() - t1; + if (STATS[name]) STATS[name] += spent; + else STATS[name] = spent; + } + return ret; +} diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/lib/ast.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/lib/ast.js new file mode 100644 index 0000000..a1301da --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/lib/ast.js @@ -0,0 +1,985 @@ +/*********************************************************************** + + A JavaScript tokenizer / parser / beautifier / compressor. + https://github.com/mishoo/UglifyJS2 + + -------------------------------- (C) --------------------------------- + + Author: Mihai Bazon + + http://mihai.bazon.net/blog + + Distributed under the BSD license: + + Copyright 2012 (c) Mihai Bazon + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + + ***********************************************************************/ + +"use strict"; + +function DEFNODE(type, props, methods, base) { + if (arguments.length < 4) base = AST_Node; + if (!props) props = []; + else props = props.split(/\s+/); + var self_props = props; + if (base && base.PROPS) + props = props.concat(base.PROPS); + var code = "return function AST_" + type + "(props){ if (props) { "; + for (var i = props.length; --i >= 0;) { + code += "this." + props[i] + " = props." + props[i] + ";"; + } + var proto = base && new base; + if (proto && proto.initialize || (methods && methods.initialize)) + code += "this.initialize();"; + code += "}}"; + var ctor = new Function(code)(); + if (proto) { + ctor.prototype = proto; + ctor.BASE = base; + } + if (base) base.SUBCLASSES.push(ctor); + ctor.prototype.CTOR = ctor; + ctor.PROPS = props || null; + ctor.SELF_PROPS = self_props; + ctor.SUBCLASSES = []; + if (type) { + ctor.prototype.TYPE = ctor.TYPE = type; + } + if (methods) for (i in methods) if (methods.hasOwnProperty(i)) { + if (/^\$/.test(i)) { + ctor[i.substr(1)] = methods[i]; + } else { + ctor.prototype[i] = methods[i]; + } + } + ctor.DEFMETHOD = function(name, method) { + this.prototype[name] = method; + }; + return ctor; +}; + +var AST_Token = DEFNODE("Token", "type value line col pos endpos nlb comments_before file", { +}, null); + +var AST_Node = DEFNODE("Node", "start end", { + clone: function() { + return new this.CTOR(this); + }, + $documentation: "Base class of all AST nodes", + $propdoc: { + start: "[AST_Token] The first token of this node", + end: "[AST_Token] The last token of this node" + }, + _walk: function(visitor) { + return visitor._visit(this); + }, + walk: function(visitor) { + return this._walk(visitor); // not sure the indirection will be any help + } +}, null); + +AST_Node.warn_function = null; +AST_Node.warn = function(txt, props) { + if (AST_Node.warn_function) + AST_Node.warn_function(string_template(txt, props)); +}; + +/* -----[ statements ]----- */ + +var AST_Statement = DEFNODE("Statement", null, { + $documentation: "Base class of all statements", +}); + +var AST_Debugger = DEFNODE("Debugger", null, { + $documentation: "Represents a debugger statement", +}, AST_Statement); + +var AST_Directive = DEFNODE("Directive", "value scope", { + $documentation: "Represents a directive, like \"use strict\";", + $propdoc: { + value: "[string] The value of this directive as a plain string (it's not an AST_String!)", + scope: "[AST_Scope/S] The scope that this directive affects" + }, +}, AST_Statement); + +var AST_SimpleStatement = DEFNODE("SimpleStatement", "body", { + $documentation: "A statement consisting of an expression, i.e. a = 1 + 2", + $propdoc: { + body: "[AST_Node] an expression node (should not be instanceof AST_Statement)" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.body._walk(visitor); + }); + } +}, AST_Statement); + +function walk_body(node, visitor) { + if (node.body instanceof AST_Statement) { + node.body._walk(visitor); + } + else node.body.forEach(function(stat){ + stat._walk(visitor); + }); +}; + +var AST_Block = DEFNODE("Block", "body", { + $documentation: "A body of statements (usually bracketed)", + $propdoc: { + body: "[AST_Statement*] an array of statements" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + walk_body(this, visitor); + }); + } +}, AST_Statement); + +var AST_BlockStatement = DEFNODE("BlockStatement", null, { + $documentation: "A block statement", +}, AST_Block); + +var AST_EmptyStatement = DEFNODE("EmptyStatement", null, { + $documentation: "The empty statement (empty block or simply a semicolon)", + _walk: function(visitor) { + return visitor._visit(this); + } +}, AST_Statement); + +var AST_StatementWithBody = DEFNODE("StatementWithBody", "body", { + $documentation: "Base class for all statements that contain one nested body: `For`, `ForIn`, `Do`, `While`, `With`", + $propdoc: { + body: "[AST_Statement] the body; this should always be present, even if it's an AST_EmptyStatement" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.body._walk(visitor); + }); + } +}, AST_Statement); + +var AST_LabeledStatement = DEFNODE("LabeledStatement", "label", { + $documentation: "Statement with a label", + $propdoc: { + label: "[AST_Label] a label definition" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.label._walk(visitor); + this.body._walk(visitor); + }); + } +}, AST_StatementWithBody); + +var AST_DWLoop = DEFNODE("DWLoop", "condition", { + $documentation: "Base class for do/while statements", + $propdoc: { + condition: "[AST_Node] the loop condition. Should not be instanceof AST_Statement" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.condition._walk(visitor); + this.body._walk(visitor); + }); + } +}, AST_StatementWithBody); + +var AST_Do = DEFNODE("Do", null, { + $documentation: "A `do` statement", +}, AST_DWLoop); + +var AST_While = DEFNODE("While", null, { + $documentation: "A `while` statement", +}, AST_DWLoop); + +var AST_For = DEFNODE("For", "init condition step", { + $documentation: "A `for` statement", + $propdoc: { + init: "[AST_Node?] the `for` initialization code, or null if empty", + condition: "[AST_Node?] the `for` termination clause, or null if empty", + step: "[AST_Node?] the `for` update clause, or null if empty" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + if (this.init) this.init._walk(visitor); + if (this.condition) this.condition._walk(visitor); + if (this.step) this.step._walk(visitor); + this.body._walk(visitor); + }); + } +}, AST_StatementWithBody); + +var AST_ForIn = DEFNODE("ForIn", "init name object", { + $documentation: "A `for ... in` statement", + $propdoc: { + init: "[AST_Node] the `for/in` initialization code", + name: "[AST_SymbolRef?] the loop variable, only if `init` is AST_Var", + object: "[AST_Node] the object that we're looping through" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.init._walk(visitor); + this.object._walk(visitor); + this.body._walk(visitor); + }); + } +}, AST_StatementWithBody); + +var AST_With = DEFNODE("With", "expression", { + $documentation: "A `with` statement", + $propdoc: { + expression: "[AST_Node] the `with` expression" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.expression._walk(visitor); + this.body._walk(visitor); + }); + } +}, AST_StatementWithBody); + +/* -----[ scope and functions ]----- */ + +var AST_Scope = DEFNODE("Scope", "directives variables functions uses_with uses_eval parent_scope enclosed cname", { + $documentation: "Base class for all statements introducing a lexical scope", + $propdoc: { + directives: "[string*/S] an array of directives declared in this scope", + variables: "[Object/S] a map of name -> SymbolDef for all variables/functions defined in this scope", + functions: "[Object/S] like `variables`, but only lists function declarations", + uses_with: "[boolean/S] tells whether this scope uses the `with` statement", + uses_eval: "[boolean/S] tells whether this scope contains a direct call to the global `eval`", + parent_scope: "[AST_Scope?/S] link to the parent scope", + enclosed: "[SymbolDef*/S] a list of all symbol definitions that are accessed from this scope or any subscopes", + cname: "[integer/S] current index for mangling variables (used internally by the mangler)", + }, +}, AST_Block); + +var AST_Toplevel = DEFNODE("Toplevel", "globals", { + $documentation: "The toplevel scope", + $propdoc: { + globals: "[Object/S] a map of name -> SymbolDef for all undeclared names", + }, + wrap_enclose: function(arg_parameter_pairs) { + var self = this; + var args = []; + var parameters = []; + + arg_parameter_pairs.forEach(function(pair) { + var split = pair.split(":"); + + args.push(split[0]); + parameters.push(split[1]); + }); + + var wrapped_tl = "(function(" + parameters.join(",") + "){ '$ORIG'; })(" + args.join(",") + ")"; + wrapped_tl = parse(wrapped_tl); + wrapped_tl = wrapped_tl.transform(new TreeTransformer(function before(node){ + if (node instanceof AST_Directive && node.value == "$ORIG") { + return MAP.splice(self.body); + } + })); + return wrapped_tl; + }, + wrap_commonjs: function(name, export_all) { + var self = this; + var to_export = []; + if (export_all) { + self.figure_out_scope(); + self.walk(new TreeWalker(function(node){ + if (node instanceof AST_SymbolDeclaration && node.definition().global) { + if (!find_if(function(n){ return n.name == node.name }, to_export)) + to_export.push(node); + } + })); + } + var wrapped_tl = "(function(exports, global){ global['" + name + "'] = exports; '$ORIG'; '$EXPORTS'; }({}, (function(){return this}())))"; + wrapped_tl = parse(wrapped_tl); + wrapped_tl = wrapped_tl.transform(new TreeTransformer(function before(node){ + if (node instanceof AST_SimpleStatement) { + node = node.body; + if (node instanceof AST_String) switch (node.getValue()) { + case "$ORIG": + return MAP.splice(self.body); + case "$EXPORTS": + var body = []; + to_export.forEach(function(sym){ + body.push(new AST_SimpleStatement({ + body: new AST_Assign({ + left: new AST_Sub({ + expression: new AST_SymbolRef({ name: "exports" }), + property: new AST_String({ value: sym.name }), + }), + operator: "=", + right: new AST_SymbolRef(sym), + }), + })); + }); + return MAP.splice(body); + } + } + })); + return wrapped_tl; + } +}, AST_Scope); + +var AST_Lambda = DEFNODE("Lambda", "name argnames uses_arguments", { + $documentation: "Base class for functions", + $propdoc: { + name: "[AST_SymbolDeclaration?] the name of this function", + argnames: "[AST_SymbolFunarg*] array of function arguments", + uses_arguments: "[boolean/S] tells whether this function accesses the arguments array" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + if (this.name) this.name._walk(visitor); + this.argnames.forEach(function(arg){ + arg._walk(visitor); + }); + walk_body(this, visitor); + }); + } +}, AST_Scope); + +var AST_Accessor = DEFNODE("Accessor", null, { + $documentation: "A setter/getter function" +}, AST_Lambda); + +var AST_Function = DEFNODE("Function", null, { + $documentation: "A function expression" +}, AST_Lambda); + +var AST_Defun = DEFNODE("Defun", null, { + $documentation: "A function definition" +}, AST_Lambda); + +/* -----[ JUMPS ]----- */ + +var AST_Jump = DEFNODE("Jump", null, { + $documentation: "Base class for “jumps” (for now that's `return`, `throw`, `break` and `continue`)" +}, AST_Statement); + +var AST_Exit = DEFNODE("Exit", "value", { + $documentation: "Base class for “exits” (`return` and `throw`)", + $propdoc: { + value: "[AST_Node?] the value returned or thrown by this statement; could be null for AST_Return" + }, + _walk: function(visitor) { + return visitor._visit(this, this.value && function(){ + this.value._walk(visitor); + }); + } +}, AST_Jump); + +var AST_Return = DEFNODE("Return", null, { + $documentation: "A `return` statement" +}, AST_Exit); + +var AST_Throw = DEFNODE("Throw", null, { + $documentation: "A `throw` statement" +}, AST_Exit); + +var AST_LoopControl = DEFNODE("LoopControl", "label", { + $documentation: "Base class for loop control statements (`break` and `continue`)", + $propdoc: { + label: "[AST_LabelRef?] the label, or null if none", + }, + _walk: function(visitor) { + return visitor._visit(this, this.label && function(){ + this.label._walk(visitor); + }); + } +}, AST_Jump); + +var AST_Break = DEFNODE("Break", null, { + $documentation: "A `break` statement" +}, AST_LoopControl); + +var AST_Continue = DEFNODE("Continue", null, { + $documentation: "A `continue` statement" +}, AST_LoopControl); + +/* -----[ IF ]----- */ + +var AST_If = DEFNODE("If", "condition alternative", { + $documentation: "A `if` statement", + $propdoc: { + condition: "[AST_Node] the `if` condition", + alternative: "[AST_Statement?] the `else` part, or null if not present" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.condition._walk(visitor); + this.body._walk(visitor); + if (this.alternative) this.alternative._walk(visitor); + }); + } +}, AST_StatementWithBody); + +/* -----[ SWITCH ]----- */ + +var AST_Switch = DEFNODE("Switch", "expression", { + $documentation: "A `switch` statement", + $propdoc: { + expression: "[AST_Node] the `switch` “discriminant”" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.expression._walk(visitor); + walk_body(this, visitor); + }); + } +}, AST_Block); + +var AST_SwitchBranch = DEFNODE("SwitchBranch", null, { + $documentation: "Base class for `switch` branches", +}, AST_Block); + +var AST_Default = DEFNODE("Default", null, { + $documentation: "A `default` switch branch", +}, AST_SwitchBranch); + +var AST_Case = DEFNODE("Case", "expression", { + $documentation: "A `case` switch branch", + $propdoc: { + expression: "[AST_Node] the `case` expression" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.expression._walk(visitor); + walk_body(this, visitor); + }); + } +}, AST_SwitchBranch); + +/* -----[ EXCEPTIONS ]----- */ + +var AST_Try = DEFNODE("Try", "bcatch bfinally", { + $documentation: "A `try` statement", + $propdoc: { + bcatch: "[AST_Catch?] the catch block, or null if not present", + bfinally: "[AST_Finally?] the finally block, or null if not present" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + walk_body(this, visitor); + if (this.bcatch) this.bcatch._walk(visitor); + if (this.bfinally) this.bfinally._walk(visitor); + }); + } +}, AST_Block); + +// XXX: this is wrong according to ECMA-262 (12.4). the catch block +// should introduce another scope, as the argname should be visible +// only inside the catch block. However, doing it this way because of +// IE which simply introduces the name in the surrounding scope. If +// we ever want to fix this then AST_Catch should inherit from +// AST_Scope. +var AST_Catch = DEFNODE("Catch", "argname", { + $documentation: "A `catch` node; only makes sense as part of a `try` statement", + $propdoc: { + argname: "[AST_SymbolCatch] symbol for the exception" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.argname._walk(visitor); + walk_body(this, visitor); + }); + } +}, AST_Block); + +var AST_Finally = DEFNODE("Finally", null, { + $documentation: "A `finally` node; only makes sense as part of a `try` statement" +}, AST_Block); + +/* -----[ VAR/CONST ]----- */ + +var AST_Definitions = DEFNODE("Definitions", "definitions", { + $documentation: "Base class for `var` or `const` nodes (variable declarations/initializations)", + $propdoc: { + definitions: "[AST_VarDef*] array of variable definitions" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.definitions.forEach(function(def){ + def._walk(visitor); + }); + }); + } +}, AST_Statement); + +var AST_Var = DEFNODE("Var", null, { + $documentation: "A `var` statement" +}, AST_Definitions); + +var AST_Const = DEFNODE("Const", null, { + $documentation: "A `const` statement" +}, AST_Definitions); + +var AST_VarDef = DEFNODE("VarDef", "name value", { + $documentation: "A variable declaration; only appears in a AST_Definitions node", + $propdoc: { + name: "[AST_SymbolVar|AST_SymbolConst] name of the variable", + value: "[AST_Node?] initializer, or null of there's no initializer" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.name._walk(visitor); + if (this.value) this.value._walk(visitor); + }); + } +}); + +/* -----[ OTHER ]----- */ + +var AST_Call = DEFNODE("Call", "expression args", { + $documentation: "A function call expression", + $propdoc: { + expression: "[AST_Node] expression to invoke as function", + args: "[AST_Node*] array of arguments" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.expression._walk(visitor); + this.args.forEach(function(arg){ + arg._walk(visitor); + }); + }); + } +}); + +var AST_New = DEFNODE("New", null, { + $documentation: "An object instantiation. Derives from a function call since it has exactly the same properties" +}, AST_Call); + +var AST_Seq = DEFNODE("Seq", "car cdr", { + $documentation: "A sequence expression (two comma-separated expressions)", + $propdoc: { + car: "[AST_Node] first element in sequence", + cdr: "[AST_Node] second element in sequence" + }, + $cons: function(x, y) { + var seq = new AST_Seq(x); + seq.car = x; + seq.cdr = y; + return seq; + }, + $from_array: function(array) { + if (array.length == 0) return null; + if (array.length == 1) return array[0].clone(); + var list = null; + for (var i = array.length; --i >= 0;) { + list = AST_Seq.cons(array[i], list); + } + var p = list; + while (p) { + if (p.cdr && !p.cdr.cdr) { + p.cdr = p.cdr.car; + break; + } + p = p.cdr; + } + return list; + }, + to_array: function() { + var p = this, a = []; + while (p) { + a.push(p.car); + if (p.cdr && !(p.cdr instanceof AST_Seq)) { + a.push(p.cdr); + break; + } + p = p.cdr; + } + return a; + }, + add: function(node) { + var p = this; + while (p) { + if (!(p.cdr instanceof AST_Seq)) { + var cell = AST_Seq.cons(p.cdr, node); + return p.cdr = cell; + } + p = p.cdr; + } + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.car._walk(visitor); + if (this.cdr) this.cdr._walk(visitor); + }); + } +}); + +var AST_PropAccess = DEFNODE("PropAccess", "expression property", { + $documentation: "Base class for property access expressions, i.e. `a.foo` or `a[\"foo\"]`", + $propdoc: { + expression: "[AST_Node] the “container” expression", + property: "[AST_Node|string] the property to access. For AST_Dot this is always a plain string, while for AST_Sub it's an arbitrary AST_Node" + } +}); + +var AST_Dot = DEFNODE("Dot", null, { + $documentation: "A dotted property access expression", + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.expression._walk(visitor); + }); + } +}, AST_PropAccess); + +var AST_Sub = DEFNODE("Sub", null, { + $documentation: "Index-style property access, i.e. `a[\"foo\"]`", + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.expression._walk(visitor); + this.property._walk(visitor); + }); + } +}, AST_PropAccess); + +var AST_Unary = DEFNODE("Unary", "operator expression", { + $documentation: "Base class for unary expressions", + $propdoc: { + operator: "[string] the operator", + expression: "[AST_Node] expression that this unary operator applies to" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.expression._walk(visitor); + }); + } +}); + +var AST_UnaryPrefix = DEFNODE("UnaryPrefix", null, { + $documentation: "Unary prefix expression, i.e. `typeof i` or `++i`" +}, AST_Unary); + +var AST_UnaryPostfix = DEFNODE("UnaryPostfix", null, { + $documentation: "Unary postfix expression, i.e. `i++`" +}, AST_Unary); + +var AST_Binary = DEFNODE("Binary", "left operator right", { + $documentation: "Binary expression, i.e. `a + b`", + $propdoc: { + left: "[AST_Node] left-hand side expression", + operator: "[string] the operator", + right: "[AST_Node] right-hand side expression" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.left._walk(visitor); + this.right._walk(visitor); + }); + } +}); + +var AST_Conditional = DEFNODE("Conditional", "condition consequent alternative", { + $documentation: "Conditional expression using the ternary operator, i.e. `a ? b : c`", + $propdoc: { + condition: "[AST_Node]", + consequent: "[AST_Node]", + alternative: "[AST_Node]" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.condition._walk(visitor); + this.consequent._walk(visitor); + this.alternative._walk(visitor); + }); + } +}); + +var AST_Assign = DEFNODE("Assign", null, { + $documentation: "An assignment expression — `a = b + 5`", +}, AST_Binary); + +/* -----[ LITERALS ]----- */ + +var AST_Array = DEFNODE("Array", "elements", { + $documentation: "An array literal", + $propdoc: { + elements: "[AST_Node*] array of elements" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.elements.forEach(function(el){ + el._walk(visitor); + }); + }); + } +}); + +var AST_Object = DEFNODE("Object", "properties", { + $documentation: "An object literal", + $propdoc: { + properties: "[AST_ObjectProperty*] array of properties" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.properties.forEach(function(prop){ + prop._walk(visitor); + }); + }); + } +}); + +var AST_ObjectProperty = DEFNODE("ObjectProperty", "key value", { + $documentation: "Base class for literal object properties", + $propdoc: { + key: "[string] the property name; it's always a plain string in our AST, no matter if it was a string, number or identifier in original code", + value: "[AST_Node] property value. For setters and getters this is an AST_Function." + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.value._walk(visitor); + }); + } +}); + +var AST_ObjectKeyVal = DEFNODE("ObjectKeyVal", null, { + $documentation: "A key: value object property", +}, AST_ObjectProperty); + +var AST_ObjectSetter = DEFNODE("ObjectSetter", null, { + $documentation: "An object setter property", +}, AST_ObjectProperty); + +var AST_ObjectGetter = DEFNODE("ObjectGetter", null, { + $documentation: "An object getter property", +}, AST_ObjectProperty); + +var AST_Symbol = DEFNODE("Symbol", "scope name thedef", { + $propdoc: { + name: "[string] name of this symbol", + scope: "[AST_Scope/S] the current scope (not necessarily the definition scope)", + thedef: "[SymbolDef/S] the definition of this symbol" + }, + $documentation: "Base class for all symbols", +}); + +var AST_SymbolAccessor = DEFNODE("SymbolAccessor", null, { + $documentation: "The name of a property accessor (setter/getter function)" +}, AST_Symbol); + +var AST_SymbolDeclaration = DEFNODE("SymbolDeclaration", "init", { + $documentation: "A declaration symbol (symbol in var/const, function name or argument, symbol in catch)", + $propdoc: { + init: "[AST_Node*/S] array of initializers for this declaration." + } +}, AST_Symbol); + +var AST_SymbolVar = DEFNODE("SymbolVar", null, { + $documentation: "Symbol defining a variable", +}, AST_SymbolDeclaration); + +var AST_SymbolConst = DEFNODE("SymbolConst", null, { + $documentation: "A constant declaration" +}, AST_SymbolDeclaration); + +var AST_SymbolFunarg = DEFNODE("SymbolFunarg", null, { + $documentation: "Symbol naming a function argument", +}, AST_SymbolVar); + +var AST_SymbolDefun = DEFNODE("SymbolDefun", null, { + $documentation: "Symbol defining a function", +}, AST_SymbolDeclaration); + +var AST_SymbolLambda = DEFNODE("SymbolLambda", null, { + $documentation: "Symbol naming a function expression", +}, AST_SymbolDeclaration); + +var AST_SymbolCatch = DEFNODE("SymbolCatch", null, { + $documentation: "Symbol naming the exception in catch", +}, AST_SymbolDeclaration); + +var AST_Label = DEFNODE("Label", "references", { + $documentation: "Symbol naming a label (declaration)", + $propdoc: { + references: "[AST_LabelRef*] a list of nodes referring to this label" + } +}, AST_Symbol); + +var AST_SymbolRef = DEFNODE("SymbolRef", null, { + $documentation: "Reference to some symbol (not definition/declaration)", +}, AST_Symbol); + +var AST_LabelRef = DEFNODE("LabelRef", null, { + $documentation: "Reference to a label symbol", +}, AST_Symbol); + +var AST_This = DEFNODE("This", null, { + $documentation: "The `this` symbol", +}, AST_Symbol); + +var AST_Constant = DEFNODE("Constant", null, { + $documentation: "Base class for all constants", + getValue: function() { + return this.value; + } +}); + +var AST_String = DEFNODE("String", "value", { + $documentation: "A string literal", + $propdoc: { + value: "[string] the contents of this string" + } +}, AST_Constant); + +var AST_Number = DEFNODE("Number", "value", { + $documentation: "A number literal", + $propdoc: { + value: "[number] the numeric value" + } +}, AST_Constant); + +var AST_RegExp = DEFNODE("RegExp", "value", { + $documentation: "A regexp literal", + $propdoc: { + value: "[RegExp] the actual regexp" + } +}, AST_Constant); + +var AST_Atom = DEFNODE("Atom", null, { + $documentation: "Base class for atoms", +}, AST_Constant); + +var AST_Null = DEFNODE("Null", null, { + $documentation: "The `null` atom", + value: null +}, AST_Atom); + +var AST_NaN = DEFNODE("NaN", null, { + $documentation: "The impossible value", + value: 0/0 +}, AST_Atom); + +var AST_Undefined = DEFNODE("Undefined", null, { + $documentation: "The `undefined` value", + value: (function(){}()) +}, AST_Atom); + +var AST_Hole = DEFNODE("Hole", null, { + $documentation: "A hole in an array", + value: (function(){}()) +}, AST_Atom); + +var AST_Infinity = DEFNODE("Infinity", null, { + $documentation: "The `Infinity` value", + value: 1/0 +}, AST_Atom); + +var AST_Boolean = DEFNODE("Boolean", null, { + $documentation: "Base class for booleans", +}, AST_Atom); + +var AST_False = DEFNODE("False", null, { + $documentation: "The `false` atom", + value: false +}, AST_Boolean); + +var AST_True = DEFNODE("True", null, { + $documentation: "The `true` atom", + value: true +}, AST_Boolean); + +/* -----[ TreeWalker ]----- */ + +function TreeWalker(callback) { + this.visit = callback; + this.stack = []; +}; +TreeWalker.prototype = { + _visit: function(node, descend) { + this.stack.push(node); + var ret = this.visit(node, descend ? function(){ + descend.call(node); + } : noop); + if (!ret && descend) { + descend.call(node); + } + this.stack.pop(); + return ret; + }, + parent: function(n) { + return this.stack[this.stack.length - 2 - (n || 0)]; + }, + push: function (node) { + this.stack.push(node); + }, + pop: function() { + return this.stack.pop(); + }, + self: function() { + return this.stack[this.stack.length - 1]; + }, + find_parent: function(type) { + var stack = this.stack; + for (var i = stack.length; --i >= 0;) { + var x = stack[i]; + if (x instanceof type) return x; + } + }, + in_boolean_context: function() { + var stack = this.stack; + var i = stack.length, self = stack[--i]; + while (i > 0) { + var p = stack[--i]; + if ((p instanceof AST_If && p.condition === self) || + (p instanceof AST_Conditional && p.condition === self) || + (p instanceof AST_DWLoop && p.condition === self) || + (p instanceof AST_For && p.condition === self) || + (p instanceof AST_UnaryPrefix && p.operator == "!" && p.expression === self)) + { + return true; + } + if (!(p instanceof AST_Binary && (p.operator == "&&" || p.operator == "||"))) + return false; + self = p; + } + }, + loopcontrol_target: function(label) { + var stack = this.stack; + if (label) { + for (var i = stack.length; --i >= 0;) { + var x = stack[i]; + if (x instanceof AST_LabeledStatement && x.label.name == label.name) { + return x.body; + } + } + } else { + for (var i = stack.length; --i >= 0;) { + var x = stack[i]; + if (x instanceof AST_Switch + || x instanceof AST_For + || x instanceof AST_ForIn + || x instanceof AST_DWLoop) return x; + } + } + } +}; diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/lib/compress.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/lib/compress.js new file mode 100644 index 0000000..57554fa --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/lib/compress.js @@ -0,0 +1,2028 @@ +/*********************************************************************** + + A JavaScript tokenizer / parser / beautifier / compressor. + https://github.com/mishoo/UglifyJS2 + + -------------------------------- (C) --------------------------------- + + Author: Mihai Bazon + + http://mihai.bazon.net/blog + + Distributed under the BSD license: + + Copyright 2012 (c) Mihai Bazon + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + + ***********************************************************************/ + +"use strict"; + +function Compressor(options, false_by_default) { + if (!(this instanceof Compressor)) + return new Compressor(options, false_by_default); + TreeTransformer.call(this, this.before, this.after); + this.options = defaults(options, { + sequences : !false_by_default, + properties : !false_by_default, + dead_code : !false_by_default, + drop_debugger : !false_by_default, + unsafe : false, + unsafe_comps : false, + conditionals : !false_by_default, + comparisons : !false_by_default, + evaluate : !false_by_default, + booleans : !false_by_default, + loops : !false_by_default, + unused : !false_by_default, + hoist_funs : !false_by_default, + hoist_vars : false, + if_return : !false_by_default, + join_vars : !false_by_default, + cascade : !false_by_default, + side_effects : !false_by_default, + screw_ie8 : false, + + warnings : true, + global_defs : {} + }, true); +}; + +Compressor.prototype = new TreeTransformer; +merge(Compressor.prototype, { + option: function(key) { return this.options[key] }, + warn: function() { + if (this.options.warnings) + AST_Node.warn.apply(AST_Node, arguments); + }, + before: function(node, descend, in_list) { + if (node._squeezed) return node; + if (node instanceof AST_Scope) { + node.drop_unused(this); + node = node.hoist_declarations(this); + } + descend(node, this); + node = node.optimize(this); + if (node instanceof AST_Scope) { + // dead code removal might leave further unused declarations. + // this'll usually save very few bytes, but the performance + // hit seems negligible so I'll just drop it here. + + // no point to repeat warnings. + var save_warnings = this.options.warnings; + this.options.warnings = false; + node.drop_unused(this); + this.options.warnings = save_warnings; + } + node._squeezed = true; + return node; + } +}); + +(function(){ + + function OPT(node, optimizer) { + node.DEFMETHOD("optimize", function(compressor){ + var self = this; + if (self._optimized) return self; + var opt = optimizer(self, compressor); + opt._optimized = true; + if (opt === self) return opt; + return opt.transform(compressor); + }); + }; + + OPT(AST_Node, function(self, compressor){ + return self; + }); + + AST_Node.DEFMETHOD("equivalent_to", function(node){ + // XXX: this is a rather expensive way to test two node's equivalence: + return this.print_to_string() == node.print_to_string(); + }); + + function make_node(ctor, orig, props) { + if (!props) props = {}; + if (orig) { + if (!props.start) props.start = orig.start; + if (!props.end) props.end = orig.end; + } + return new ctor(props); + }; + + function make_node_from_constant(compressor, val, orig) { + // XXX: WIP. + // if (val instanceof AST_Node) return val.transform(new TreeTransformer(null, function(node){ + // if (node instanceof AST_SymbolRef) { + // var scope = compressor.find_parent(AST_Scope); + // var def = scope.find_variable(node); + // node.thedef = def; + // return node; + // } + // })).transform(compressor); + + if (val instanceof AST_Node) return val.transform(compressor); + switch (typeof val) { + case "string": + return make_node(AST_String, orig, { + value: val + }).optimize(compressor); + case "number": + return make_node(isNaN(val) ? AST_NaN : AST_Number, orig, { + value: val + }).optimize(compressor); + case "boolean": + return make_node(val ? AST_True : AST_False, orig).optimize(compressor); + case "undefined": + return make_node(AST_Undefined, orig).optimize(compressor); + default: + if (val === null) { + return make_node(AST_Null, orig).optimize(compressor); + } + if (val instanceof RegExp) { + return make_node(AST_RegExp, orig).optimize(compressor); + } + throw new Error(string_template("Can't handle constant of type: {type}", { + type: typeof val + })); + } + }; + + function as_statement_array(thing) { + if (thing === null) return []; + if (thing instanceof AST_BlockStatement) return thing.body; + if (thing instanceof AST_EmptyStatement) return []; + if (thing instanceof AST_Statement) return [ thing ]; + throw new Error("Can't convert thing to statement array"); + }; + + function is_empty(thing) { + if (thing === null) return true; + if (thing instanceof AST_EmptyStatement) return true; + if (thing instanceof AST_BlockStatement) return thing.body.length == 0; + return false; + }; + + function loop_body(x) { + if (x instanceof AST_Switch) return x; + if (x instanceof AST_For || x instanceof AST_ForIn || x instanceof AST_DWLoop) { + return (x.body instanceof AST_BlockStatement ? x.body : x); + } + return x; + }; + + function tighten_body(statements, compressor) { + var CHANGED; + do { + CHANGED = false; + statements = eliminate_spurious_blocks(statements); + if (compressor.option("dead_code")) { + statements = eliminate_dead_code(statements, compressor); + } + if (compressor.option("if_return")) { + statements = handle_if_return(statements, compressor); + } + if (compressor.option("sequences")) { + statements = sequencesize(statements, compressor); + } + if (compressor.option("join_vars")) { + statements = join_consecutive_vars(statements, compressor); + } + } while (CHANGED); + return statements; + + function eliminate_spurious_blocks(statements) { + var seen_dirs = []; + return statements.reduce(function(a, stat){ + if (stat instanceof AST_BlockStatement) { + CHANGED = true; + a.push.apply(a, eliminate_spurious_blocks(stat.body)); + } else if (stat instanceof AST_EmptyStatement) { + CHANGED = true; + } else if (stat instanceof AST_Directive) { + if (seen_dirs.indexOf(stat.value) < 0) { + a.push(stat); + seen_dirs.push(stat.value); + } else { + CHANGED = true; + } + } else { + a.push(stat); + } + return a; + }, []); + }; + + function handle_if_return(statements, compressor) { + var self = compressor.self(); + var in_lambda = self instanceof AST_Lambda; + var ret = []; + loop: for (var i = statements.length; --i >= 0;) { + var stat = statements[i]; + switch (true) { + case (in_lambda && stat instanceof AST_Return && !stat.value && ret.length == 0): + CHANGED = true; + // note, ret.length is probably always zero + // because we drop unreachable code before this + // step. nevertheless, it's good to check. + continue loop; + case stat instanceof AST_If: + if (stat.body instanceof AST_Return) { + //--- + // pretty silly case, but: + // if (foo()) return; return; ==> foo(); return; + if (((in_lambda && ret.length == 0) + || (ret[0] instanceof AST_Return && !ret[0].value)) + && !stat.body.value && !stat.alternative) { + CHANGED = true; + var cond = make_node(AST_SimpleStatement, stat.condition, { + body: stat.condition + }); + ret.unshift(cond); + continue loop; + } + //--- + // if (foo()) return x; return y; ==> return foo() ? x : y; + if (ret[0] instanceof AST_Return && stat.body.value && ret[0].value && !stat.alternative) { + CHANGED = true; + stat = stat.clone(); + stat.alternative = ret[0]; + ret[0] = stat.transform(compressor); + continue loop; + } + //--- + // if (foo()) return x; [ return ; ] ==> return foo() ? x : undefined; + if ((ret.length == 0 || ret[0] instanceof AST_Return) && stat.body.value && !stat.alternative && in_lambda) { + CHANGED = true; + stat = stat.clone(); + stat.alternative = ret[0] || make_node(AST_Return, stat, { + value: make_node(AST_Undefined, stat) + }); + ret[0] = stat.transform(compressor); + continue loop; + } + //--- + // if (foo()) return; [ else x... ]; y... ==> if (!foo()) { x...; y... } + if (!stat.body.value && in_lambda) { + CHANGED = true; + stat = stat.clone(); + stat.condition = stat.condition.negate(compressor); + stat.body = make_node(AST_BlockStatement, stat, { + body: as_statement_array(stat.alternative).concat(ret) + }); + stat.alternative = null; + ret = [ stat.transform(compressor) ]; + continue loop; + } + //--- + if (ret.length == 1 && in_lambda && ret[0] instanceof AST_SimpleStatement + && (!stat.alternative || stat.alternative instanceof AST_SimpleStatement)) { + CHANGED = true; + ret.push(make_node(AST_Return, ret[0], { + value: make_node(AST_Undefined, ret[0]) + }).transform(compressor)); + ret = as_statement_array(stat.alternative).concat(ret); + ret.unshift(stat); + continue loop; + } + } + + var ab = aborts(stat.body); + var lct = ab instanceof AST_LoopControl ? compressor.loopcontrol_target(ab.label) : null; + if (ab && ((ab instanceof AST_Return && !ab.value && in_lambda) + || (ab instanceof AST_Continue && self === loop_body(lct)) + || (ab instanceof AST_Break && lct instanceof AST_BlockStatement && self === lct))) { + if (ab.label) { + remove(ab.label.thedef.references, ab.label); + } + CHANGED = true; + var body = as_statement_array(stat.body).slice(0, -1); + stat = stat.clone(); + stat.condition = stat.condition.negate(compressor); + stat.body = make_node(AST_BlockStatement, stat, { + body: ret + }); + stat.alternative = make_node(AST_BlockStatement, stat, { + body: body + }); + ret = [ stat.transform(compressor) ]; + continue loop; + } + + var ab = aborts(stat.alternative); + var lct = ab instanceof AST_LoopControl ? compressor.loopcontrol_target(ab.label) : null; + if (ab && ((ab instanceof AST_Return && !ab.value && in_lambda) + || (ab instanceof AST_Continue && self === loop_body(lct)) + || (ab instanceof AST_Break && lct instanceof AST_BlockStatement && self === lct))) { + if (ab.label) { + remove(ab.label.thedef.references, ab.label); + } + CHANGED = true; + stat = stat.clone(); + stat.body = make_node(AST_BlockStatement, stat.body, { + body: as_statement_array(stat.body).concat(ret) + }); + stat.alternative = make_node(AST_BlockStatement, stat.alternative, { + body: as_statement_array(stat.alternative).slice(0, -1) + }); + ret = [ stat.transform(compressor) ]; + continue loop; + } + + ret.unshift(stat); + break; + default: + ret.unshift(stat); + break; + } + } + return ret; + }; + + function eliminate_dead_code(statements, compressor) { + var has_quit = false; + var orig = statements.length; + var self = compressor.self(); + statements = statements.reduce(function(a, stat){ + if (has_quit) { + extract_declarations_from_unreachable_code(compressor, stat, a); + } else { + if (stat instanceof AST_LoopControl) { + var lct = compressor.loopcontrol_target(stat.label); + if ((stat instanceof AST_Break + && lct instanceof AST_BlockStatement + && loop_body(lct) === self) || (stat instanceof AST_Continue + && loop_body(lct) === self)) { + if (stat.label) { + remove(stat.label.thedef.references, stat.label); + } + } else { + a.push(stat); + } + } else { + a.push(stat); + } + if (aborts(stat)) has_quit = true; + } + return a; + }, []); + CHANGED = statements.length != orig; + return statements; + }; + + function sequencesize(statements, compressor) { + if (statements.length < 2) return statements; + var seq = [], ret = []; + function push_seq() { + seq = AST_Seq.from_array(seq); + if (seq) ret.push(make_node(AST_SimpleStatement, seq, { + body: seq + })); + seq = []; + }; + statements.forEach(function(stat){ + if (stat instanceof AST_SimpleStatement) seq.push(stat.body); + else push_seq(), ret.push(stat); + }); + push_seq(); + ret = sequencesize_2(ret, compressor); + CHANGED = ret.length != statements.length; + return ret; + }; + + function sequencesize_2(statements, compressor) { + function cons_seq(right) { + ret.pop(); + var left = prev.body; + if (left instanceof AST_Seq) { + left.add(right); + } else { + left = AST_Seq.cons(left, right); + } + return left.transform(compressor); + }; + var ret = [], prev = null; + statements.forEach(function(stat){ + if (prev) { + if (stat instanceof AST_For) { + var opera = {}; + try { + prev.body.walk(new TreeWalker(function(node){ + if (node instanceof AST_Binary && node.operator == "in") + throw opera; + })); + if (stat.init && !(stat.init instanceof AST_Definitions)) { + stat.init = cons_seq(stat.init); + } + else if (!stat.init) { + stat.init = prev.body; + ret.pop(); + } + } catch(ex) { + if (ex !== opera) throw ex; + } + } + else if (stat instanceof AST_If) { + stat.condition = cons_seq(stat.condition); + } + else if (stat instanceof AST_With) { + stat.expression = cons_seq(stat.expression); + } + else if (stat instanceof AST_Exit && stat.value) { + stat.value = cons_seq(stat.value); + } + else if (stat instanceof AST_Exit) { + stat.value = cons_seq(make_node(AST_Undefined, stat)); + } + else if (stat instanceof AST_Switch) { + stat.expression = cons_seq(stat.expression); + } + } + ret.push(stat); + prev = stat instanceof AST_SimpleStatement ? stat : null; + }); + return ret; + }; + + function join_consecutive_vars(statements, compressor) { + var prev = null; + return statements.reduce(function(a, stat){ + if (stat instanceof AST_Definitions && prev && prev.TYPE == stat.TYPE) { + prev.definitions = prev.definitions.concat(stat.definitions); + CHANGED = true; + } + else if (stat instanceof AST_For + && prev instanceof AST_Definitions + && (!stat.init || stat.init.TYPE == prev.TYPE)) { + CHANGED = true; + a.pop(); + if (stat.init) { + stat.init.definitions = prev.definitions.concat(stat.init.definitions); + } else { + stat.init = prev; + } + a.push(stat); + prev = stat; + } + else { + prev = stat; + a.push(stat); + } + return a; + }, []); + }; + + }; + + function extract_declarations_from_unreachable_code(compressor, stat, target) { + compressor.warn("Dropping unreachable code [{file}:{line},{col}]", stat.start); + stat.walk(new TreeWalker(function(node){ + if (node instanceof AST_Definitions) { + compressor.warn("Declarations in unreachable code! [{file}:{line},{col}]", node.start); + node.remove_initializers(); + target.push(node); + return true; + } + if (node instanceof AST_Defun) { + target.push(node); + return true; + } + if (node instanceof AST_Scope) { + return true; + } + })); + }; + + /* -----[ boolean/negation helpers ]----- */ + + // methods to determine whether an expression has a boolean result type + (function (def){ + var unary_bool = [ "!", "delete" ]; + var binary_bool = [ "in", "instanceof", "==", "!=", "===", "!==", "<", "<=", ">=", ">" ]; + def(AST_Node, function(){ return false }); + def(AST_UnaryPrefix, function(){ + return member(this.operator, unary_bool); + }); + def(AST_Binary, function(){ + return member(this.operator, binary_bool) || + ( (this.operator == "&&" || this.operator == "||") && + this.left.is_boolean() && this.right.is_boolean() ); + }); + def(AST_Conditional, function(){ + return this.consequent.is_boolean() && this.alternative.is_boolean(); + }); + def(AST_Assign, function(){ + return this.operator == "=" && this.right.is_boolean(); + }); + def(AST_Seq, function(){ + return this.cdr.is_boolean(); + }); + def(AST_True, function(){ return true }); + def(AST_False, function(){ return true }); + })(function(node, func){ + node.DEFMETHOD("is_boolean", func); + }); + + // methods to determine if an expression has a string result type + (function (def){ + def(AST_Node, function(){ return false }); + def(AST_String, function(){ return true }); + def(AST_UnaryPrefix, function(){ + return this.operator == "typeof"; + }); + def(AST_Binary, function(compressor){ + return this.operator == "+" && + (this.left.is_string(compressor) || this.right.is_string(compressor)); + }); + def(AST_Assign, function(compressor){ + return (this.operator == "=" || this.operator == "+=") && this.right.is_string(compressor); + }); + def(AST_Seq, function(compressor){ + return this.cdr.is_string(compressor); + }); + def(AST_Conditional, function(compressor){ + return this.consequent.is_string(compressor) && this.alternative.is_string(compressor); + }); + def(AST_Call, function(compressor){ + return compressor.option("unsafe") + && this.expression instanceof AST_SymbolRef + && this.expression.name == "String" + && this.expression.undeclared(); + }); + })(function(node, func){ + node.DEFMETHOD("is_string", func); + }); + + function best_of(ast1, ast2) { + return ast1.print_to_string().length > + ast2.print_to_string().length + ? ast2 : ast1; + }; + + // methods to evaluate a constant expression + (function (def){ + // The evaluate method returns an array with one or two + // elements. If the node has been successfully reduced to a + // constant, then the second element tells us the value; + // otherwise the second element is missing. The first element + // of the array is always an AST_Node descendant; when + // evaluation was successful it's a node that represents the + // constant; otherwise it's the original node. + AST_Node.DEFMETHOD("evaluate", function(compressor){ + if (!compressor.option("evaluate")) return [ this ]; + try { + var val = this._eval(), ast = make_node_from_constant(compressor, val, this); + return [ best_of(ast, this), val ]; + } catch(ex) { + if (ex !== def) throw ex; + return [ this ]; + } + }); + def(AST_Statement, function(){ + throw new Error(string_template("Cannot evaluate a statement [{file}:{line},{col}]", this.start)); + }); + def(AST_Function, function(){ + // XXX: AST_Function inherits from AST_Scope, which itself + // inherits from AST_Statement; however, an AST_Function + // isn't really a statement. This could byte in other + // places too. :-( Wish JS had multiple inheritance. + return [ this ]; + }); + function ev(node) { + return node._eval(); + }; + def(AST_Node, function(){ + throw def; // not constant + }); + def(AST_Constant, function(){ + return this.getValue(); + }); + def(AST_UnaryPrefix, function(){ + var e = this.expression; + switch (this.operator) { + case "!": return !ev(e); + case "typeof": + // Function would be evaluated to an array and so typeof would + // incorrectly return 'object'. Hence making is a special case. + if (e instanceof AST_Function) return typeof function(){}; + + e = ev(e); + + // typeof returns "object" or "function" on different platforms + // so cannot evaluate reliably + if (e instanceof RegExp) throw def; + + return typeof e; + case "void": return void ev(e); + case "~": return ~ev(e); + case "-": + e = ev(e); + if (e === 0) throw def; + return -e; + case "+": return +ev(e); + } + throw def; + }); + def(AST_Binary, function(){ + var left = this.left, right = this.right; + switch (this.operator) { + case "&&" : return ev(left) && ev(right); + case "||" : return ev(left) || ev(right); + case "|" : return ev(left) | ev(right); + case "&" : return ev(left) & ev(right); + case "^" : return ev(left) ^ ev(right); + case "+" : return ev(left) + ev(right); + case "*" : return ev(left) * ev(right); + case "/" : return ev(left) / ev(right); + case "%" : return ev(left) % ev(right); + case "-" : return ev(left) - ev(right); + case "<<" : return ev(left) << ev(right); + case ">>" : return ev(left) >> ev(right); + case ">>>" : return ev(left) >>> ev(right); + case "==" : return ev(left) == ev(right); + case "===" : return ev(left) === ev(right); + case "!=" : return ev(left) != ev(right); + case "!==" : return ev(left) !== ev(right); + case "<" : return ev(left) < ev(right); + case "<=" : return ev(left) <= ev(right); + case ">" : return ev(left) > ev(right); + case ">=" : return ev(left) >= ev(right); + case "in" : return ev(left) in ev(right); + case "instanceof" : return ev(left) instanceof ev(right); + } + throw def; + }); + def(AST_Conditional, function(){ + return ev(this.condition) + ? ev(this.consequent) + : ev(this.alternative); + }); + def(AST_SymbolRef, function(){ + var d = this.definition(); + if (d && d.constant && d.init) return ev(d.init); + throw def; + }); + })(function(node, func){ + node.DEFMETHOD("_eval", func); + }); + + // method to negate an expression + (function(def){ + function basic_negation(exp) { + return make_node(AST_UnaryPrefix, exp, { + operator: "!", + expression: exp + }); + }; + def(AST_Node, function(){ + return basic_negation(this); + }); + def(AST_Statement, function(){ + throw new Error("Cannot negate a statement"); + }); + def(AST_Function, function(){ + return basic_negation(this); + }); + def(AST_UnaryPrefix, function(){ + if (this.operator == "!") + return this.expression; + return basic_negation(this); + }); + def(AST_Seq, function(compressor){ + var self = this.clone(); + self.cdr = self.cdr.negate(compressor); + return self; + }); + def(AST_Conditional, function(compressor){ + var self = this.clone(); + self.consequent = self.consequent.negate(compressor); + self.alternative = self.alternative.negate(compressor); + return best_of(basic_negation(this), self); + }); + def(AST_Binary, function(compressor){ + var self = this.clone(), op = this.operator; + if (compressor.option("unsafe_comps")) { + switch (op) { + case "<=" : self.operator = ">" ; return self; + case "<" : self.operator = ">=" ; return self; + case ">=" : self.operator = "<" ; return self; + case ">" : self.operator = "<=" ; return self; + } + } + switch (op) { + case "==" : self.operator = "!="; return self; + case "!=" : self.operator = "=="; return self; + case "===": self.operator = "!=="; return self; + case "!==": self.operator = "==="; return self; + case "&&": + self.operator = "||"; + self.left = self.left.negate(compressor); + self.right = self.right.negate(compressor); + return best_of(basic_negation(this), self); + case "||": + self.operator = "&&"; + self.left = self.left.negate(compressor); + self.right = self.right.negate(compressor); + return best_of(basic_negation(this), self); + } + return basic_negation(this); + }); + })(function(node, func){ + node.DEFMETHOD("negate", function(compressor){ + return func.call(this, compressor); + }); + }); + + // determine if expression has side effects + (function(def){ + def(AST_Node, function(){ return true }); + + def(AST_EmptyStatement, function(){ return false }); + def(AST_Constant, function(){ return false }); + def(AST_This, function(){ return false }); + + def(AST_Block, function(){ + for (var i = this.body.length; --i >= 0;) { + if (this.body[i].has_side_effects()) + return true; + } + return false; + }); + + def(AST_SimpleStatement, function(){ + return this.body.has_side_effects(); + }); + def(AST_Defun, function(){ return true }); + def(AST_Function, function(){ return false }); + def(AST_Binary, function(){ + return this.left.has_side_effects() + || this.right.has_side_effects(); + }); + def(AST_Assign, function(){ return true }); + def(AST_Conditional, function(){ + return this.condition.has_side_effects() + || this.consequent.has_side_effects() + || this.alternative.has_side_effects(); + }); + def(AST_Unary, function(){ + return this.operator == "delete" + || this.operator == "++" + || this.operator == "--" + || this.expression.has_side_effects(); + }); + def(AST_SymbolRef, function(){ return false }); + def(AST_Object, function(){ + for (var i = this.properties.length; --i >= 0;) + if (this.properties[i].has_side_effects()) + return true; + return false; + }); + def(AST_ObjectProperty, function(){ + return this.value.has_side_effects(); + }); + def(AST_Array, function(){ + for (var i = this.elements.length; --i >= 0;) + if (this.elements[i].has_side_effects()) + return true; + return false; + }); + // def(AST_Dot, function(){ + // return this.expression.has_side_effects(); + // }); + // def(AST_Sub, function(){ + // return this.expression.has_side_effects() + // || this.property.has_side_effects(); + // }); + def(AST_PropAccess, function(){ + return true; + }); + def(AST_Seq, function(){ + return this.car.has_side_effects() + || this.cdr.has_side_effects(); + }); + })(function(node, func){ + node.DEFMETHOD("has_side_effects", func); + }); + + // tell me if a statement aborts + function aborts(thing) { + return thing && thing.aborts(); + }; + (function(def){ + def(AST_Statement, function(){ return null }); + def(AST_Jump, function(){ return this }); + function block_aborts(){ + var n = this.body.length; + return n > 0 && aborts(this.body[n - 1]); + }; + def(AST_BlockStatement, block_aborts); + def(AST_SwitchBranch, block_aborts); + def(AST_If, function(){ + return this.alternative && aborts(this.body) && aborts(this.alternative); + }); + })(function(node, func){ + node.DEFMETHOD("aborts", func); + }); + + /* -----[ optimizers ]----- */ + + OPT(AST_Directive, function(self, compressor){ + if (self.scope.has_directive(self.value) !== self.scope) { + return make_node(AST_EmptyStatement, self); + } + return self; + }); + + OPT(AST_Debugger, function(self, compressor){ + if (compressor.option("drop_debugger")) + return make_node(AST_EmptyStatement, self); + return self; + }); + + OPT(AST_LabeledStatement, function(self, compressor){ + if (self.body instanceof AST_Break + && compressor.loopcontrol_target(self.body.label) === self.body) { + return make_node(AST_EmptyStatement, self); + } + return self.label.references.length == 0 ? self.body : self; + }); + + OPT(AST_Block, function(self, compressor){ + self.body = tighten_body(self.body, compressor); + return self; + }); + + OPT(AST_BlockStatement, function(self, compressor){ + self.body = tighten_body(self.body, compressor); + switch (self.body.length) { + case 1: return self.body[0]; + case 0: return make_node(AST_EmptyStatement, self); + } + return self; + }); + + AST_Scope.DEFMETHOD("drop_unused", function(compressor){ + var self = this; + if (compressor.option("unused") + && !(self instanceof AST_Toplevel) + && !self.uses_eval + ) { + var in_use = []; + var initializations = new Dictionary(); + // pass 1: find out which symbols are directly used in + // this scope (not in nested scopes). + var scope = this; + var tw = new TreeWalker(function(node, descend){ + if (node !== self) { + if (node instanceof AST_Defun) { + initializations.add(node.name.name, node); + return true; // don't go in nested scopes + } + if (node instanceof AST_Definitions && scope === self) { + node.definitions.forEach(function(def){ + if (def.value) { + initializations.add(def.name.name, def.value); + if (def.value.has_side_effects()) { + def.value.walk(tw); + } + } + }); + return true; + } + if (node instanceof AST_SymbolRef) { + push_uniq(in_use, node.definition()); + return true; + } + if (node instanceof AST_Scope) { + var save_scope = scope; + scope = node; + descend(); + scope = save_scope; + return true; + } + } + }); + self.walk(tw); + // pass 2: for every used symbol we need to walk its + // initialization code to figure out if it uses other + // symbols (that may not be in_use). + for (var i = 0; i < in_use.length; ++i) { + in_use[i].orig.forEach(function(decl){ + // undeclared globals will be instanceof AST_SymbolRef + var init = initializations.get(decl.name); + if (init) init.forEach(function(init){ + var tw = new TreeWalker(function(node){ + if (node instanceof AST_SymbolRef) { + push_uniq(in_use, node.definition()); + } + }); + init.walk(tw); + }); + }); + } + // pass 3: we should drop declarations not in_use + var tt = new TreeTransformer( + function before(node, descend, in_list) { + if (node instanceof AST_Lambda) { + for (var a = node.argnames, i = a.length; --i >= 0;) { + var sym = a[i]; + if (sym.unreferenced()) { + a.pop(); + compressor.warn("Dropping unused function argument {name} [{file}:{line},{col}]", { + name : sym.name, + file : sym.start.file, + line : sym.start.line, + col : sym.start.col + }); + } + else break; + } + } + if (node instanceof AST_Defun && node !== self) { + if (!member(node.name.definition(), in_use)) { + compressor.warn("Dropping unused function {name} [{file}:{line},{col}]", { + name : node.name.name, + file : node.name.start.file, + line : node.name.start.line, + col : node.name.start.col + }); + return make_node(AST_EmptyStatement, node); + } + return node; + } + if (node instanceof AST_Definitions && !(tt.parent() instanceof AST_ForIn)) { + var def = node.definitions.filter(function(def){ + if (member(def.name.definition(), in_use)) return true; + var w = { + name : def.name.name, + file : def.name.start.file, + line : def.name.start.line, + col : def.name.start.col + }; + if (def.value && def.value.has_side_effects()) { + def._unused_side_effects = true; + compressor.warn("Side effects in initialization of unused variable {name} [{file}:{line},{col}]", w); + return true; + } + compressor.warn("Dropping unused variable {name} [{file}:{line},{col}]", w); + return false; + }); + // place uninitialized names at the start + def = mergeSort(def, function(a, b){ + if (!a.value && b.value) return -1; + if (!b.value && a.value) return 1; + return 0; + }); + // for unused names whose initialization has + // side effects, we can cascade the init. code + // into the next one, or next statement. + var side_effects = []; + for (var i = 0; i < def.length;) { + var x = def[i]; + if (x._unused_side_effects) { + side_effects.push(x.value); + def.splice(i, 1); + } else { + if (side_effects.length > 0) { + side_effects.push(x.value); + x.value = AST_Seq.from_array(side_effects); + side_effects = []; + } + ++i; + } + } + if (side_effects.length > 0) { + side_effects = make_node(AST_BlockStatement, node, { + body: [ make_node(AST_SimpleStatement, node, { + body: AST_Seq.from_array(side_effects) + }) ] + }); + } else { + side_effects = null; + } + if (def.length == 0 && !side_effects) { + return make_node(AST_EmptyStatement, node); + } + if (def.length == 0) { + return side_effects; + } + node.definitions = def; + if (side_effects) { + side_effects.body.unshift(node); + node = side_effects; + } + return node; + } + if (node instanceof AST_For && node.init instanceof AST_BlockStatement) { + descend(node, this); + // certain combination of unused name + side effect leads to: + // https://github.com/mishoo/UglifyJS2/issues/44 + // that's an invalid AST. + // We fix it at this stage by moving the `var` outside the `for`. + var body = node.init.body.slice(0, -1); + node.init = node.init.body.slice(-1)[0].body; + body.push(node); + return in_list ? MAP.splice(body) : make_node(AST_BlockStatement, node, { + body: body + }); + } + if (node instanceof AST_Scope && node !== self) + return node; + } + ); + self.transform(tt); + } + }); + + AST_Scope.DEFMETHOD("hoist_declarations", function(compressor){ + var hoist_funs = compressor.option("hoist_funs"); + var hoist_vars = compressor.option("hoist_vars"); + var self = this; + if (hoist_funs || hoist_vars) { + var dirs = []; + var hoisted = []; + var vars = new Dictionary(), vars_found = 0, var_decl = 0; + // let's count var_decl first, we seem to waste a lot of + // space if we hoist `var` when there's only one. + self.walk(new TreeWalker(function(node){ + if (node instanceof AST_Scope && node !== self) + return true; + if (node instanceof AST_Var) { + ++var_decl; + return true; + } + })); + hoist_vars = hoist_vars && var_decl > 1; + var tt = new TreeTransformer( + function before(node) { + if (node !== self) { + if (node instanceof AST_Directive) { + dirs.push(node); + return make_node(AST_EmptyStatement, node); + } + if (node instanceof AST_Defun && hoist_funs) { + hoisted.push(node); + return make_node(AST_EmptyStatement, node); + } + if (node instanceof AST_Var && hoist_vars) { + node.definitions.forEach(function(def){ + vars.set(def.name.name, def); + ++vars_found; + }); + var seq = node.to_assignments(); + var p = tt.parent(); + if (p instanceof AST_ForIn && p.init === node) { + if (seq == null) return node.definitions[0].name; + return seq; + } + if (p instanceof AST_For && p.init === node) { + return seq; + } + if (!seq) return make_node(AST_EmptyStatement, node); + return make_node(AST_SimpleStatement, node, { + body: seq + }); + } + if (node instanceof AST_Scope) + return node; // to avoid descending in nested scopes + } + } + ); + self = self.transform(tt); + if (vars_found > 0) { + // collect only vars which don't show up in self's arguments list + var defs = []; + vars.each(function(def, name){ + if (self instanceof AST_Lambda + && find_if(function(x){ return x.name == def.name.name }, + self.argnames)) { + vars.del(name); + } else { + def = def.clone(); + def.value = null; + defs.push(def); + vars.set(name, def); + } + }); + if (defs.length > 0) { + // try to merge in assignments + for (var i = 0; i < self.body.length;) { + if (self.body[i] instanceof AST_SimpleStatement) { + var expr = self.body[i].body, sym, assign; + if (expr instanceof AST_Assign + && expr.operator == "=" + && (sym = expr.left) instanceof AST_Symbol + && vars.has(sym.name)) + { + var def = vars.get(sym.name); + if (def.value) break; + def.value = expr.right; + remove(defs, def); + defs.push(def); + self.body.splice(i, 1); + continue; + } + if (expr instanceof AST_Seq + && (assign = expr.car) instanceof AST_Assign + && assign.operator == "=" + && (sym = assign.left) instanceof AST_Symbol + && vars.has(sym.name)) + { + var def = vars.get(sym.name); + if (def.value) break; + def.value = assign.right; + remove(defs, def); + defs.push(def); + self.body[i].body = expr.cdr; + continue; + } + } + if (self.body[i] instanceof AST_EmptyStatement) { + self.body.splice(i, 1); + continue; + } + if (self.body[i] instanceof AST_BlockStatement) { + var tmp = [ i, 1 ].concat(self.body[i].body); + self.body.splice.apply(self.body, tmp); + continue; + } + break; + } + defs = make_node(AST_Var, self, { + definitions: defs + }); + hoisted.push(defs); + }; + } + self.body = dirs.concat(hoisted, self.body); + } + return self; + }); + + OPT(AST_SimpleStatement, function(self, compressor){ + if (compressor.option("side_effects")) { + if (!self.body.has_side_effects()) { + compressor.warn("Dropping side-effect-free statement [{file}:{line},{col}]", self.start); + return make_node(AST_EmptyStatement, self); + } + } + return self; + }); + + OPT(AST_DWLoop, function(self, compressor){ + var cond = self.condition.evaluate(compressor); + self.condition = cond[0]; + if (!compressor.option("loops")) return self; + if (cond.length > 1) { + if (cond[1]) { + return make_node(AST_For, self, { + body: self.body + }); + } else if (self instanceof AST_While) { + if (compressor.option("dead_code")) { + var a = []; + extract_declarations_from_unreachable_code(compressor, self.body, a); + return make_node(AST_BlockStatement, self, { body: a }); + } + } + } + return self; + }); + + function if_break_in_loop(self, compressor) { + function drop_it(rest) { + rest = as_statement_array(rest); + if (self.body instanceof AST_BlockStatement) { + self.body = self.body.clone(); + self.body.body = rest.concat(self.body.body.slice(1)); + self.body = self.body.transform(compressor); + } else { + self.body = make_node(AST_BlockStatement, self.body, { + body: rest + }).transform(compressor); + } + if_break_in_loop(self, compressor); + } + var first = self.body instanceof AST_BlockStatement ? self.body.body[0] : self.body; + if (first instanceof AST_If) { + if (first.body instanceof AST_Break + && compressor.loopcontrol_target(first.body.label) === self) { + if (self.condition) { + self.condition = make_node(AST_Binary, self.condition, { + left: self.condition, + operator: "&&", + right: first.condition.negate(compressor), + }); + } else { + self.condition = first.condition.negate(compressor); + } + drop_it(first.alternative); + } + else if (first.alternative instanceof AST_Break + && compressor.loopcontrol_target(first.alternative.label) === self) { + if (self.condition) { + self.condition = make_node(AST_Binary, self.condition, { + left: self.condition, + operator: "&&", + right: first.condition, + }); + } else { + self.condition = first.condition; + } + drop_it(first.body); + } + } + }; + + OPT(AST_While, function(self, compressor) { + if (!compressor.option("loops")) return self; + self = AST_DWLoop.prototype.optimize.call(self, compressor); + if (self instanceof AST_While) { + if_break_in_loop(self, compressor); + self = make_node(AST_For, self, self).transform(compressor); + } + return self; + }); + + OPT(AST_For, function(self, compressor){ + var cond = self.condition; + if (cond) { + cond = cond.evaluate(compressor); + self.condition = cond[0]; + } + if (!compressor.option("loops")) return self; + if (cond) { + if (cond.length > 1 && !cond[1]) { + if (compressor.option("dead_code")) { + var a = []; + if (self.init instanceof AST_Statement) { + a.push(self.init); + } + else if (self.init) { + a.push(make_node(AST_SimpleStatement, self.init, { + body: self.init + })); + } + extract_declarations_from_unreachable_code(compressor, self.body, a); + return make_node(AST_BlockStatement, self, { body: a }); + } + } + } + if_break_in_loop(self, compressor); + return self; + }); + + OPT(AST_If, function(self, compressor){ + if (!compressor.option("conditionals")) return self; + // if condition can be statically determined, warn and drop + // one of the blocks. note, statically determined implies + // “has no side effects”; also it doesn't work for cases like + // `x && true`, though it probably should. + var cond = self.condition.evaluate(compressor); + self.condition = cond[0]; + if (cond.length > 1) { + if (cond[1]) { + compressor.warn("Condition always true [{file}:{line},{col}]", self.condition.start); + if (compressor.option("dead_code")) { + var a = []; + if (self.alternative) { + extract_declarations_from_unreachable_code(compressor, self.alternative, a); + } + a.push(self.body); + return make_node(AST_BlockStatement, self, { body: a }).transform(compressor); + } + } else { + compressor.warn("Condition always false [{file}:{line},{col}]", self.condition.start); + if (compressor.option("dead_code")) { + var a = []; + extract_declarations_from_unreachable_code(compressor, self.body, a); + if (self.alternative) a.push(self.alternative); + return make_node(AST_BlockStatement, self, { body: a }).transform(compressor); + } + } + } + if (is_empty(self.alternative)) self.alternative = null; + var negated = self.condition.negate(compressor); + var negated_is_best = best_of(self.condition, negated) === negated; + if (self.alternative && negated_is_best) { + negated_is_best = false; // because we already do the switch here. + self.condition = negated; + var tmp = self.body; + self.body = self.alternative || make_node(AST_EmptyStatement); + self.alternative = tmp; + } + if (is_empty(self.body) && is_empty(self.alternative)) { + return make_node(AST_SimpleStatement, self.condition, { + body: self.condition + }).transform(compressor); + } + if (self.body instanceof AST_SimpleStatement + && self.alternative instanceof AST_SimpleStatement) { + return make_node(AST_SimpleStatement, self, { + body: make_node(AST_Conditional, self, { + condition : self.condition, + consequent : self.body.body, + alternative : self.alternative.body + }) + }).transform(compressor); + } + if (is_empty(self.alternative) && self.body instanceof AST_SimpleStatement) { + if (negated_is_best) return make_node(AST_SimpleStatement, self, { + body: make_node(AST_Binary, self, { + operator : "||", + left : negated, + right : self.body.body + }) + }).transform(compressor); + return make_node(AST_SimpleStatement, self, { + body: make_node(AST_Binary, self, { + operator : "&&", + left : self.condition, + right : self.body.body + }) + }).transform(compressor); + } + if (self.body instanceof AST_EmptyStatement + && self.alternative + && self.alternative instanceof AST_SimpleStatement) { + return make_node(AST_SimpleStatement, self, { + body: make_node(AST_Binary, self, { + operator : "||", + left : self.condition, + right : self.alternative.body + }) + }).transform(compressor); + } + if (self.body instanceof AST_Exit + && self.alternative instanceof AST_Exit + && self.body.TYPE == self.alternative.TYPE) { + return make_node(self.body.CTOR, self, { + value: make_node(AST_Conditional, self, { + condition : self.condition, + consequent : self.body.value || make_node(AST_Undefined, self.body).optimize(compressor), + alternative : self.alternative.value || make_node(AST_Undefined, self.alternative).optimize(compressor) + }) + }).transform(compressor); + } + if (self.body instanceof AST_If + && !self.body.alternative + && !self.alternative) { + self.condition = make_node(AST_Binary, self.condition, { + operator: "&&", + left: self.condition, + right: self.body.condition + }).transform(compressor); + self.body = self.body.body; + } + if (aborts(self.body)) { + if (self.alternative) { + var alt = self.alternative; + self.alternative = null; + return make_node(AST_BlockStatement, self, { + body: [ self, alt ] + }).transform(compressor); + } + } + if (aborts(self.alternative)) { + var body = self.body; + self.body = self.alternative; + self.condition = negated_is_best ? negated : self.condition.negate(compressor); + self.alternative = null; + return make_node(AST_BlockStatement, self, { + body: [ self, body ] + }).transform(compressor); + } + return self; + }); + + OPT(AST_Switch, function(self, compressor){ + if (self.body.length == 0 && compressor.option("conditionals")) { + return make_node(AST_SimpleStatement, self, { + body: self.expression + }).transform(compressor); + } + for(;;) { + var last_branch = self.body[self.body.length - 1]; + if (last_branch) { + var stat = last_branch.body[last_branch.body.length - 1]; // last statement + if (stat instanceof AST_Break && loop_body(compressor.loopcontrol_target(stat.label)) === self) + last_branch.body.pop(); + if (last_branch instanceof AST_Default && last_branch.body.length == 0) { + self.body.pop(); + continue; + } + } + break; + } + var exp = self.expression.evaluate(compressor); + out: if (exp.length == 2) try { + // constant expression + self.expression = exp[0]; + if (!compressor.option("dead_code")) break out; + var value = exp[1]; + var in_if = false; + var in_block = false; + var started = false; + var stopped = false; + var ruined = false; + var tt = new TreeTransformer(function(node, descend, in_list){ + if (node instanceof AST_Lambda || node instanceof AST_SimpleStatement) { + // no need to descend these node types + return node; + } + else if (node instanceof AST_Switch && node === self) { + node = node.clone(); + descend(node, this); + return ruined ? node : make_node(AST_BlockStatement, node, { + body: node.body.reduce(function(a, branch){ + return a.concat(branch.body); + }, []) + }).transform(compressor); + } + else if (node instanceof AST_If || node instanceof AST_Try) { + var save = in_if; + in_if = !in_block; + descend(node, this); + in_if = save; + return node; + } + else if (node instanceof AST_StatementWithBody || node instanceof AST_Switch) { + var save = in_block; + in_block = true; + descend(node, this); + in_block = save; + return node; + } + else if (node instanceof AST_Break && this.loopcontrol_target(node.label) === self) { + if (in_if) { + ruined = true; + return node; + } + if (in_block) return node; + stopped = true; + return in_list ? MAP.skip : make_node(AST_EmptyStatement, node); + } + else if (node instanceof AST_SwitchBranch && this.parent() === self) { + if (stopped) return MAP.skip; + if (node instanceof AST_Case) { + var exp = node.expression.evaluate(compressor); + if (exp.length < 2) { + // got a case with non-constant expression, baling out + throw self; + } + if (exp[1] === value || started) { + started = true; + if (aborts(node)) stopped = true; + descend(node, this); + return node; + } + return MAP.skip; + } + descend(node, this); + return node; + } + }); + tt.stack = compressor.stack.slice(); // so that's able to see parent nodes + self = self.transform(tt); + } catch(ex) { + if (ex !== self) throw ex; + } + return self; + }); + + OPT(AST_Case, function(self, compressor){ + self.body = tighten_body(self.body, compressor); + return self; + }); + + OPT(AST_Try, function(self, compressor){ + self.body = tighten_body(self.body, compressor); + return self; + }); + + AST_Definitions.DEFMETHOD("remove_initializers", function(){ + this.definitions.forEach(function(def){ def.value = null }); + }); + + AST_Definitions.DEFMETHOD("to_assignments", function(){ + var assignments = this.definitions.reduce(function(a, def){ + if (def.value) { + var name = make_node(AST_SymbolRef, def.name, def.name); + a.push(make_node(AST_Assign, def, { + operator : "=", + left : name, + right : def.value + })); + } + return a; + }, []); + if (assignments.length == 0) return null; + return AST_Seq.from_array(assignments); + }); + + OPT(AST_Definitions, function(self, compressor){ + if (self.definitions.length == 0) + return make_node(AST_EmptyStatement, self); + return self; + }); + + OPT(AST_Function, function(self, compressor){ + self = AST_Lambda.prototype.optimize.call(self, compressor); + if (compressor.option("unused")) { + if (self.name && self.name.unreferenced()) { + self.name = null; + } + } + return self; + }); + + OPT(AST_Call, function(self, compressor){ + if (compressor.option("unsafe")) { + var exp = self.expression; + if (exp instanceof AST_SymbolRef && exp.undeclared()) { + switch (exp.name) { + case "Array": + if (self.args.length != 1) { + return make_node(AST_Array, self, { + elements: self.args + }); + } + break; + case "Object": + if (self.args.length == 0) { + return make_node(AST_Object, self, { + properties: [] + }); + } + break; + case "String": + if (self.args.length == 0) return make_node(AST_String, self, { + value: "" + }); + return make_node(AST_Binary, self, { + left: self.args[0], + operator: "+", + right: make_node(AST_String, self, { value: "" }) + }); + case "Function": + if (all(self.args, function(x){ return x instanceof AST_String })) { + // quite a corner-case, but we can handle it: + // https://github.com/mishoo/UglifyJS2/issues/203 + // if the code argument is a constant, then we can minify it. + try { + var code = "(function(" + self.args.slice(0, -1).map(function(arg){ + return arg.value; + }).join(",") + "){" + self.args[self.args.length - 1].value + "})()"; + var ast = parse(code); + ast.figure_out_scope(); + var comp = new Compressor(compressor.options); + ast = ast.transform(comp); + ast.figure_out_scope(); + ast.mangle_names(); + var fun = ast.body[0].body.expression; + var args = fun.argnames.map(function(arg, i){ + return make_node(AST_String, self.args[i], { + value: arg.print_to_string() + }); + }); + var code = OutputStream(); + AST_BlockStatement.prototype._codegen.call(fun, fun, code); + code = code.toString().replace(/^\{|\}$/g, ""); + args.push(make_node(AST_String, self.args[self.args.length - 1], { + value: code + })); + self.args = args; + return self; + } catch(ex) { + if (ex instanceof JS_Parse_Error) { + compressor.warn("Error parsing code passed to new Function [{file}:{line},{col}]", self.args[self.args.length - 1].start); + compressor.warn(ex.toString()); + } else { + console.log(ex); + } + } + } + break; + } + } + else if (exp instanceof AST_Dot && exp.property == "toString" && self.args.length == 0) { + return make_node(AST_Binary, self, { + left: make_node(AST_String, self, { value: "" }), + operator: "+", + right: exp.expression + }).transform(compressor); + } + } + if (compressor.option("side_effects")) { + if (self.expression instanceof AST_Function + && self.args.length == 0 + && !AST_Block.prototype.has_side_effects.call(self.expression)) { + return make_node(AST_Undefined, self).transform(compressor); + } + } + return self; + }); + + OPT(AST_New, function(self, compressor){ + if (compressor.option("unsafe")) { + var exp = self.expression; + if (exp instanceof AST_SymbolRef && exp.undeclared()) { + switch (exp.name) { + case "Object": + case "RegExp": + case "Function": + case "Error": + case "Array": + return make_node(AST_Call, self, self).transform(compressor); + } + } + } + return self; + }); + + OPT(AST_Seq, function(self, compressor){ + if (!compressor.option("side_effects")) + return self; + if (!self.car.has_side_effects()) { + // we shouldn't compress (1,eval)(something) to + // eval(something) because that changes the meaning of + // eval (becomes lexical instead of global). + var p; + if (!(self.cdr instanceof AST_SymbolRef + && self.cdr.name == "eval" + && self.cdr.undeclared() + && (p = compressor.parent()) instanceof AST_Call + && p.expression === self)) { + return self.cdr; + } + } + if (compressor.option("cascade")) { + if (self.car instanceof AST_Assign + && !self.car.left.has_side_effects() + && self.car.left.equivalent_to(self.cdr)) { + return self.car; + } + if (!self.car.has_side_effects() + && !self.cdr.has_side_effects() + && self.car.equivalent_to(self.cdr)) { + return self.car; + } + } + return self; + }); + + AST_Unary.DEFMETHOD("lift_sequences", function(compressor){ + if (compressor.option("sequences")) { + if (this.expression instanceof AST_Seq) { + var seq = this.expression; + var x = seq.to_array(); + this.expression = x.pop(); + x.push(this); + seq = AST_Seq.from_array(x).transform(compressor); + return seq; + } + } + return this; + }); + + OPT(AST_UnaryPostfix, function(self, compressor){ + return self.lift_sequences(compressor); + }); + + OPT(AST_UnaryPrefix, function(self, compressor){ + self = self.lift_sequences(compressor); + var e = self.expression; + if (compressor.option("booleans") && compressor.in_boolean_context()) { + switch (self.operator) { + case "!": + if (e instanceof AST_UnaryPrefix && e.operator == "!") { + // !!foo ==> foo, if we're in boolean context + return e.expression; + } + break; + case "typeof": + // typeof always returns a non-empty string, thus it's + // always true in booleans + compressor.warn("Boolean expression always true [{file}:{line},{col}]", self.start); + return make_node(AST_True, self); + } + if (e instanceof AST_Binary && self.operator == "!") { + self = best_of(self, e.negate(compressor)); + } + } + return self.evaluate(compressor)[0]; + }); + + AST_Binary.DEFMETHOD("lift_sequences", function(compressor){ + if (compressor.option("sequences")) { + if (this.left instanceof AST_Seq) { + var seq = this.left; + var x = seq.to_array(); + this.left = x.pop(); + x.push(this); + seq = AST_Seq.from_array(x).transform(compressor); + return seq; + } + if (this.right instanceof AST_Seq + && !(this.operator == "||" || this.operator == "&&") + && !this.left.has_side_effects()) { + var seq = this.right; + var x = seq.to_array(); + this.right = x.pop(); + x.push(this); + seq = AST_Seq.from_array(x).transform(compressor); + return seq; + } + } + return this; + }); + + var commutativeOperators = makePredicate("== === != !== * & | ^"); + + OPT(AST_Binary, function(self, compressor){ + function reverse(op, force) { + if (force || !(self.left.has_side_effects() || self.right.has_side_effects())) { + if (op) self.operator = op; + var tmp = self.left; + self.left = self.right; + self.right = tmp; + } + }; + if (commutativeOperators(self.operator)) { + if (self.right instanceof AST_Constant + && !(self.left instanceof AST_Constant)) { + // if right is a constant, whatever side effects the + // left side might have could not influence the + // result. hence, force switch. + reverse(null, true); + } + } + self = self.lift_sequences(compressor); + if (compressor.option("comparisons")) switch (self.operator) { + case "===": + case "!==": + if ((self.left.is_string(compressor) && self.right.is_string(compressor)) || + (self.left.is_boolean() && self.right.is_boolean())) { + self.operator = self.operator.substr(0, 2); + } + // XXX: intentionally falling down to the next case + case "==": + case "!=": + if (self.left instanceof AST_String + && self.left.value == "undefined" + && self.right instanceof AST_UnaryPrefix + && self.right.operator == "typeof" + && compressor.option("unsafe")) { + if (!(self.right.expression instanceof AST_SymbolRef) + || !self.right.expression.undeclared()) { + self.right = self.right.expression; + self.left = make_node(AST_Undefined, self.left).optimize(compressor); + if (self.operator.length == 2) self.operator += "="; + } + } + break; + } + if (compressor.option("booleans") && compressor.in_boolean_context()) switch (self.operator) { + case "&&": + var ll = self.left.evaluate(compressor); + var rr = self.right.evaluate(compressor); + if ((ll.length > 1 && !ll[1]) || (rr.length > 1 && !rr[1])) { + compressor.warn("Boolean && always false [{file}:{line},{col}]", self.start); + return make_node(AST_False, self); + } + if (ll.length > 1 && ll[1]) { + return rr[0]; + } + if (rr.length > 1 && rr[1]) { + return ll[0]; + } + break; + case "||": + var ll = self.left.evaluate(compressor); + var rr = self.right.evaluate(compressor); + if ((ll.length > 1 && ll[1]) || (rr.length > 1 && rr[1])) { + compressor.warn("Boolean || always true [{file}:{line},{col}]", self.start); + return make_node(AST_True, self); + } + if (ll.length > 1 && !ll[1]) { + return rr[0]; + } + if (rr.length > 1 && !rr[1]) { + return ll[0]; + } + break; + case "+": + var ll = self.left.evaluate(compressor); + var rr = self.right.evaluate(compressor); + if ((ll.length > 1 && ll[0] instanceof AST_String && ll[1]) || + (rr.length > 1 && rr[0] instanceof AST_String && rr[1])) { + compressor.warn("+ in boolean context always true [{file}:{line},{col}]", self.start); + return make_node(AST_True, self); + } + break; + } + var exp = self.evaluate(compressor); + if (exp.length > 1) { + if (best_of(exp[0], self) !== self) + return exp[0]; + } + if (compressor.option("comparisons")) { + if (!(compressor.parent() instanceof AST_Binary) + || compressor.parent() instanceof AST_Assign) { + var negated = make_node(AST_UnaryPrefix, self, { + operator: "!", + expression: self.negate(compressor) + }); + self = best_of(self, negated); + } + switch (self.operator) { + case "<": reverse(">"); break; + case "<=": reverse(">="); break; + } + } + if (self.operator == "+" && self.right instanceof AST_String + && self.right.getValue() === "" && self.left instanceof AST_Binary + && self.left.operator == "+" && self.left.is_string(compressor)) { + return self.left; + } + return self; + }); + + OPT(AST_SymbolRef, function(self, compressor){ + if (self.undeclared()) { + var defines = compressor.option("global_defs"); + if (defines && defines.hasOwnProperty(self.name)) { + return make_node_from_constant(compressor, defines[self.name], self); + } + switch (self.name) { + case "undefined": + return make_node(AST_Undefined, self); + case "NaN": + return make_node(AST_NaN, self); + case "Infinity": + return make_node(AST_Infinity, self); + } + } + return self; + }); + + OPT(AST_Undefined, function(self, compressor){ + if (compressor.option("unsafe")) { + var scope = compressor.find_parent(AST_Scope); + var undef = scope.find_variable("undefined"); + if (undef) { + var ref = make_node(AST_SymbolRef, self, { + name : "undefined", + scope : scope, + thedef : undef + }); + ref.reference(); + return ref; + } + } + return self; + }); + + var ASSIGN_OPS = [ '+', '-', '/', '*', '%', '>>', '<<', '>>>', '|', '^', '&' ]; + OPT(AST_Assign, function(self, compressor){ + self = self.lift_sequences(compressor); + if (self.operator == "=" + && self.left instanceof AST_SymbolRef + && self.right instanceof AST_Binary + && self.right.left instanceof AST_SymbolRef + && self.right.left.name == self.left.name + && member(self.right.operator, ASSIGN_OPS)) { + self.operator = self.right.operator + "="; + self.right = self.right.right; + } + return self; + }); + + OPT(AST_Conditional, function(self, compressor){ + if (!compressor.option("conditionals")) return self; + if (self.condition instanceof AST_Seq) { + var car = self.condition.car; + self.condition = self.condition.cdr; + return AST_Seq.cons(car, self); + } + var cond = self.condition.evaluate(compressor); + if (cond.length > 1) { + if (cond[1]) { + compressor.warn("Condition always true [{file}:{line},{col}]", self.start); + return self.consequent; + } else { + compressor.warn("Condition always false [{file}:{line},{col}]", self.start); + return self.alternative; + } + } + var negated = cond[0].negate(compressor); + if (best_of(cond[0], negated) === negated) { + self = make_node(AST_Conditional, self, { + condition: negated, + consequent: self.alternative, + alternative: self.consequent + }); + } + var consequent = self.consequent; + var alternative = self.alternative; + if (consequent instanceof AST_Assign + && alternative instanceof AST_Assign + && consequent.operator == alternative.operator + && consequent.left.equivalent_to(alternative.left) + ) { + /* + * Stuff like this: + * if (foo) exp = something; else exp = something_else; + * ==> + * exp = foo ? something : something_else; + */ + self = make_node(AST_Assign, self, { + operator: consequent.operator, + left: consequent.left, + right: make_node(AST_Conditional, self, { + condition: self.condition, + consequent: consequent.right, + alternative: alternative.right + }) + }); + } + return self; + }); + + OPT(AST_Boolean, function(self, compressor){ + if (compressor.option("booleans")) { + var p = compressor.parent(); + if (p instanceof AST_Binary && (p.operator == "==" + || p.operator == "!=")) { + compressor.warn("Non-strict equality against boolean: {operator} {value} [{file}:{line},{col}]", { + operator : p.operator, + value : self.value, + file : p.start.file, + line : p.start.line, + col : p.start.col, + }); + return make_node(AST_Number, self, { + value: +self.value + }); + } + return make_node(AST_UnaryPrefix, self, { + operator: "!", + expression: make_node(AST_Number, self, { + value: 1 - self.value + }) + }); + } + return self; + }); + + OPT(AST_Sub, function(self, compressor){ + var prop = self.property; + if (prop instanceof AST_String && compressor.option("properties")) { + prop = prop.getValue(); + if ((compressor.option("screw_ie8") && RESERVED_WORDS(prop)) + || (!(RESERVED_WORDS(prop)) && is_identifier_string(prop))) { + return make_node(AST_Dot, self, { + expression : self.expression, + property : prop + }); + } + } + return self; + }); + + function literals_in_boolean_context(self, compressor) { + if (compressor.option("booleans") && compressor.in_boolean_context()) { + return make_node(AST_True, self); + } + return self; + }; + OPT(AST_Array, literals_in_boolean_context); + OPT(AST_Object, literals_in_boolean_context); + OPT(AST_RegExp, literals_in_boolean_context); + +})(); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/lib/mozilla-ast.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/lib/mozilla-ast.js new file mode 100644 index 0000000..d795094 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/lib/mozilla-ast.js @@ -0,0 +1,267 @@ +/*********************************************************************** + + A JavaScript tokenizer / parser / beautifier / compressor. + https://github.com/mishoo/UglifyJS2 + + -------------------------------- (C) --------------------------------- + + Author: Mihai Bazon + + http://mihai.bazon.net/blog + + Distributed under the BSD license: + + Copyright 2012 (c) Mihai Bazon + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + + ***********************************************************************/ + +"use strict"; + +(function(){ + + var MOZ_TO_ME = { + TryStatement : function(M) { + return new AST_Try({ + start : my_start_token(M), + end : my_end_token(M), + body : from_moz(M.block).body, + bcatch : from_moz(M.handlers[0]), + bfinally : M.finalizer ? new AST_Finally(from_moz(M.finalizer)) : null + }); + }, + CatchClause : function(M) { + return new AST_Catch({ + start : my_start_token(M), + end : my_end_token(M), + argname : from_moz(M.param), + body : from_moz(M.body).body + }); + }, + ObjectExpression : function(M) { + return new AST_Object({ + start : my_start_token(M), + end : my_end_token(M), + properties : M.properties.map(function(prop){ + var key = prop.key; + var name = key.type == "Identifier" ? key.name : key.value; + var args = { + start : my_start_token(key), + end : my_end_token(prop.value), + key : name, + value : from_moz(prop.value) + }; + switch (prop.kind) { + case "init": + return new AST_ObjectKeyVal(args); + case "set": + args.value.name = from_moz(key); + return new AST_ObjectSetter(args); + case "get": + args.value.name = from_moz(key); + return new AST_ObjectGetter(args); + } + }) + }); + }, + SequenceExpression : function(M) { + return AST_Seq.from_array(M.expressions.map(from_moz)); + }, + MemberExpression : function(M) { + return new (M.computed ? AST_Sub : AST_Dot)({ + start : my_start_token(M), + end : my_end_token(M), + property : M.computed ? from_moz(M.property) : M.property.name, + expression : from_moz(M.object) + }); + }, + SwitchCase : function(M) { + return new (M.test ? AST_Case : AST_Default)({ + start : my_start_token(M), + end : my_end_token(M), + expression : from_moz(M.test), + body : M.consequent.map(from_moz) + }); + }, + Literal : function(M) { + var val = M.value, args = { + start : my_start_token(M), + end : my_end_token(M) + }; + if (val === null) return new AST_Null(args); + switch (typeof val) { + case "string": + args.value = val; + return new AST_String(args); + case "number": + args.value = val; + return new AST_Number(args); + case "boolean": + return new (val ? AST_True : AST_False)(args); + default: + args.value = val; + return new AST_RegExp(args); + } + }, + UnaryExpression: From_Moz_Unary, + UpdateExpression: From_Moz_Unary, + Identifier: function(M) { + var p = FROM_MOZ_STACK[FROM_MOZ_STACK.length - 2]; + return new (M.name == "this" ? AST_This + : p.type == "LabeledStatement" ? AST_Label + : p.type == "VariableDeclarator" && p.id === M ? (p.kind == "const" ? AST_SymbolConst : AST_SymbolVar) + : p.type == "FunctionExpression" ? (p.id === M ? AST_SymbolLambda : AST_SymbolFunarg) + : p.type == "FunctionDeclaration" ? (p.id === M ? AST_SymbolDefun : AST_SymbolFunarg) + : p.type == "CatchClause" ? AST_SymbolCatch + : p.type == "BreakStatement" || p.type == "ContinueStatement" ? AST_LabelRef + : AST_SymbolRef)({ + start : my_start_token(M), + end : my_end_token(M), + name : M.name + }); + } + }; + + function From_Moz_Unary(M) { + var prefix = "prefix" in M ? M.prefix + : M.type == "UnaryExpression" ? true : false; + return new (prefix ? AST_UnaryPrefix : AST_UnaryPostfix)({ + start : my_start_token(M), + end : my_end_token(M), + operator : M.operator, + expression : from_moz(M.argument) + }); + }; + + var ME_TO_MOZ = {}; + + map("Node", AST_Node); + map("Program", AST_Toplevel, "body@body"); + map("Function", AST_Function, "id>name, params@argnames, body%body"); + map("EmptyStatement", AST_EmptyStatement); + map("BlockStatement", AST_BlockStatement, "body@body"); + map("ExpressionStatement", AST_SimpleStatement, "expression>body"); + map("IfStatement", AST_If, "test>condition, consequent>body, alternate>alternative"); + map("LabeledStatement", AST_LabeledStatement, "label>label, body>body"); + map("BreakStatement", AST_Break, "label>label"); + map("ContinueStatement", AST_Continue, "label>label"); + map("WithStatement", AST_With, "object>expression, body>body"); + map("SwitchStatement", AST_Switch, "discriminant>expression, cases@body"); + map("ReturnStatement", AST_Return, "argument>value"); + map("ThrowStatement", AST_Throw, "argument>value"); + map("WhileStatement", AST_While, "test>condition, body>body"); + map("DoWhileStatement", AST_Do, "test>condition, body>body"); + map("ForStatement", AST_For, "init>init, test>condition, update>step, body>body"); + map("ForInStatement", AST_ForIn, "left>init, right>object, body>body"); + map("DebuggerStatement", AST_Debugger); + map("FunctionDeclaration", AST_Defun, "id>name, params@argnames, body%body"); + map("VariableDeclaration", AST_Var, "declarations@definitions"); + map("VariableDeclarator", AST_VarDef, "id>name, init>value"); + + map("ThisExpression", AST_This); + map("ArrayExpression", AST_Array, "elements@elements"); + map("FunctionExpression", AST_Function, "id>name, params@argnames, body%body"); + map("BinaryExpression", AST_Binary, "operator=operator, left>left, right>right"); + map("AssignmentExpression", AST_Assign, "operator=operator, left>left, right>right"); + map("LogicalExpression", AST_Binary, "operator=operator, left>left, right>right"); + map("ConditionalExpression", AST_Conditional, "test>condition, consequent>consequent, alternate>alternative"); + map("NewExpression", AST_New, "callee>expression, arguments@args"); + map("CallExpression", AST_Call, "callee>expression, arguments@args"); + + /* -----[ tools ]----- */ + + function my_start_token(moznode) { + return new AST_Token({ + file : moznode.loc && moznode.loc.source, + line : moznode.loc && moznode.loc.start.line, + col : moznode.loc && moznode.loc.start.column, + pos : moznode.start, + endpos : moznode.start + }); + }; + + function my_end_token(moznode) { + return new AST_Token({ + file : moznode.loc && moznode.loc.source, + line : moznode.loc && moznode.loc.end.line, + col : moznode.loc && moznode.loc.end.column, + pos : moznode.end, + endpos : moznode.end + }); + }; + + function map(moztype, mytype, propmap) { + var moz_to_me = "function From_Moz_" + moztype + "(M){\n"; + moz_to_me += "return new mytype({\n" + + "start: my_start_token(M),\n" + + "end: my_end_token(M)"; + + if (propmap) propmap.split(/\s*,\s*/).forEach(function(prop){ + var m = /([a-z0-9$_]+)(=|@|>|%)([a-z0-9$_]+)/i.exec(prop); + if (!m) throw new Error("Can't understand property map: " + prop); + var moz = "M." + m[1], how = m[2], my = m[3]; + moz_to_me += ",\n" + my + ": "; + if (how == "@") { + moz_to_me += moz + ".map(from_moz)"; + } else if (how == ">") { + moz_to_me += "from_moz(" + moz + ")"; + } else if (how == "=") { + moz_to_me += moz; + } else if (how == "%") { + moz_to_me += "from_moz(" + moz + ").body"; + } else throw new Error("Can't understand operator in propmap: " + prop); + }); + moz_to_me += "\n})}"; + + // moz_to_me = parse(moz_to_me).print_to_string({ beautify: true }); + // console.log(moz_to_me); + + moz_to_me = new Function("mytype", "my_start_token", "my_end_token", "from_moz", "return(" + moz_to_me + ")")( + mytype, my_start_token, my_end_token, from_moz + ); + return MOZ_TO_ME[moztype] = moz_to_me; + }; + + var FROM_MOZ_STACK = null; + + function from_moz(node) { + FROM_MOZ_STACK.push(node); + var ret = node != null ? MOZ_TO_ME[node.type](node) : null; + FROM_MOZ_STACK.pop(); + return ret; + }; + + AST_Node.from_mozilla_ast = function(node){ + var save_stack = FROM_MOZ_STACK; + FROM_MOZ_STACK = []; + var ast = from_moz(node); + FROM_MOZ_STACK = save_stack; + return ast; + }; + +})(); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/lib/output.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/lib/output.js new file mode 100644 index 0000000..60a4a26 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/lib/output.js @@ -0,0 +1,1229 @@ +/*********************************************************************** + + A JavaScript tokenizer / parser / beautifier / compressor. + https://github.com/mishoo/UglifyJS2 + + -------------------------------- (C) --------------------------------- + + Author: Mihai Bazon + + http://mihai.bazon.net/blog + + Distributed under the BSD license: + + Copyright 2012 (c) Mihai Bazon + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + + ***********************************************************************/ + +"use strict"; + +function OutputStream(options) { + + options = defaults(options, { + indent_start : 0, + indent_level : 4, + quote_keys : false, + space_colon : true, + ascii_only : false, + inline_script : false, + width : 80, + max_line_len : 32000, + ie_proof : true, + beautify : false, + source_map : null, + bracketize : false, + semicolons : true, + comments : false, + preserve_line : false, + negate_iife : !(options && options.beautify), + }, true); + + var indentation = 0; + var current_col = 0; + var current_line = 1; + var current_pos = 0; + var OUTPUT = ""; + + function to_ascii(str, identifier) { + return str.replace(/[\u0080-\uffff]/g, function(ch) { + var code = ch.charCodeAt(0).toString(16); + if (code.length <= 2 && !identifier) { + while (code.length < 2) code = "0" + code; + return "\\x" + code; + } else { + while (code.length < 4) code = "0" + code; + return "\\u" + code; + } + }); + }; + + function make_string(str) { + var dq = 0, sq = 0; + str = str.replace(/[\\\b\f\n\r\t\x22\x27\u2028\u2029\0]/g, function(s){ + switch (s) { + case "\\": return "\\\\"; + case "\b": return "\\b"; + case "\f": return "\\f"; + case "\n": return "\\n"; + case "\r": return "\\r"; + case "\u2028": return "\\u2028"; + case "\u2029": return "\\u2029"; + case '"': ++dq; return '"'; + case "'": ++sq; return "'"; + case "\0": return "\\0"; + } + return s; + }); + if (options.ascii_only) str = to_ascii(str); + if (dq > sq) return "'" + str.replace(/\x27/g, "\\'") + "'"; + else return '"' + str.replace(/\x22/g, '\\"') + '"'; + }; + + function encode_string(str) { + var ret = make_string(str); + if (options.inline_script) + ret = ret.replace(/<\x2fscript([>\/\t\n\f\r ])/gi, "<\\/script$1"); + return ret; + }; + + function make_name(name) { + name = name.toString(); + if (options.ascii_only) + name = to_ascii(name, true); + return name; + }; + + function make_indent(back) { + return repeat_string(" ", options.indent_start + indentation - back * options.indent_level); + }; + + /* -----[ beautification/minification ]----- */ + + var might_need_space = false; + var might_need_semicolon = false; + var last = null; + + function last_char() { + return last.charAt(last.length - 1); + }; + + function maybe_newline() { + if (options.max_line_len && current_col > options.max_line_len) + print("\n"); + }; + + var requireSemicolonChars = makePredicate("( [ + * / - , ."); + + function print(str) { + str = String(str); + var ch = str.charAt(0); + if (might_need_semicolon) { + if ((!ch || ";}".indexOf(ch) < 0) && !/[;]$/.test(last)) { + if (options.semicolons || requireSemicolonChars(ch)) { + OUTPUT += ";"; + current_col++; + current_pos++; + } else { + OUTPUT += "\n"; + current_pos++; + current_line++; + current_col = 0; + } + if (!options.beautify) + might_need_space = false; + } + might_need_semicolon = false; + maybe_newline(); + } + + if (!options.beautify && options.preserve_line && stack[stack.length - 1]) { + var target_line = stack[stack.length - 1].start.line; + while (current_line < target_line) { + OUTPUT += "\n"; + current_pos++; + current_line++; + current_col = 0; + might_need_space = false; + } + } + + if (might_need_space) { + var prev = last_char(); + if ((is_identifier_char(prev) + && (is_identifier_char(ch) || ch == "\\")) + || (/^[\+\-\/]$/.test(ch) && ch == prev)) + { + OUTPUT += " "; + current_col++; + current_pos++; + } + might_need_space = false; + } + var a = str.split(/\r?\n/), n = a.length - 1; + current_line += n; + if (n == 0) { + current_col += a[n].length; + } else { + current_col = a[n].length; + } + current_pos += str.length; + last = str; + OUTPUT += str; + }; + + var space = options.beautify ? function() { + print(" "); + } : function() { + might_need_space = true; + }; + + var indent = options.beautify ? function(half) { + if (options.beautify) { + print(make_indent(half ? 0.5 : 0)); + } + } : noop; + + var with_indent = options.beautify ? function(col, cont) { + if (col === true) col = next_indent(); + var save_indentation = indentation; + indentation = col; + var ret = cont(); + indentation = save_indentation; + return ret; + } : function(col, cont) { return cont() }; + + var newline = options.beautify ? function() { + print("\n"); + } : noop; + + var semicolon = options.beautify ? function() { + print(";"); + } : function() { + might_need_semicolon = true; + }; + + function force_semicolon() { + might_need_semicolon = false; + print(";"); + }; + + function next_indent() { + return indentation + options.indent_level; + }; + + function with_block(cont) { + var ret; + print("{"); + newline(); + with_indent(next_indent(), function(){ + ret = cont(); + }); + indent(); + print("}"); + return ret; + }; + + function with_parens(cont) { + print("("); + //XXX: still nice to have that for argument lists + //var ret = with_indent(current_col, cont); + var ret = cont(); + print(")"); + return ret; + }; + + function with_square(cont) { + print("["); + //var ret = with_indent(current_col, cont); + var ret = cont(); + print("]"); + return ret; + }; + + function comma() { + print(","); + space(); + }; + + function colon() { + print(":"); + if (options.space_colon) space(); + }; + + var add_mapping = options.source_map ? function(token, name) { + try { + if (token) options.source_map.add( + token.file || "?", + current_line, current_col, + token.line, token.col, + (!name && token.type == "name") ? token.value : name + ); + } catch(ex) { + AST_Node.warn("Couldn't figure out mapping for {file}:{line},{col} → {cline},{ccol} [{name}]", { + file: token.file, + line: token.line, + col: token.col, + cline: current_line, + ccol: current_col, + name: name || "" + }) + } + } : noop; + + function get() { + return OUTPUT; + }; + + var stack = []; + return { + get : get, + toString : get, + indent : indent, + indentation : function() { return indentation }, + current_width : function() { return current_col - indentation }, + should_break : function() { return options.width && this.current_width() >= options.width }, + newline : newline, + print : print, + space : space, + comma : comma, + colon : colon, + last : function() { return last }, + semicolon : semicolon, + force_semicolon : force_semicolon, + to_ascii : to_ascii, + print_name : function(name) { print(make_name(name)) }, + print_string : function(str) { print(encode_string(str)) }, + next_indent : next_indent, + with_indent : with_indent, + with_block : with_block, + with_parens : with_parens, + with_square : with_square, + add_mapping : add_mapping, + option : function(opt) { return options[opt] }, + line : function() { return current_line }, + col : function() { return current_col }, + pos : function() { return current_pos }, + push_node : function(node) { stack.push(node) }, + pop_node : function() { return stack.pop() }, + stack : function() { return stack }, + parent : function(n) { + return stack[stack.length - 2 - (n || 0)]; + } + }; + +}; + +/* -----[ code generators ]----- */ + +(function(){ + + /* -----[ utils ]----- */ + + function DEFPRINT(nodetype, generator) { + nodetype.DEFMETHOD("_codegen", generator); + }; + + AST_Node.DEFMETHOD("print", function(stream, force_parens){ + var self = this, generator = self._codegen; + stream.push_node(self); + var needs_parens = self.needs_parens(stream); + var fc = self instanceof AST_Function && stream.option("negate_iife"); + if (force_parens || (needs_parens && !fc)) { + stream.with_parens(function(){ + self.add_comments(stream); + self.add_source_map(stream); + generator(self, stream); + }); + } else { + self.add_comments(stream); + if (needs_parens && fc) stream.print("!"); + self.add_source_map(stream); + generator(self, stream); + } + stream.pop_node(); + }); + + AST_Node.DEFMETHOD("print_to_string", function(options){ + var s = OutputStream(options); + this.print(s); + return s.get(); + }); + + /* -----[ comments ]----- */ + + AST_Node.DEFMETHOD("add_comments", function(output){ + var c = output.option("comments"), self = this; + if (c) { + var start = self.start; + if (start && !start._comments_dumped) { + start._comments_dumped = true; + var comments = start.comments_before; + + // XXX: ugly fix for https://github.com/mishoo/UglifyJS2/issues/112 + // if this node is `return` or `throw`, we cannot allow comments before + // the returned or thrown value. + if (self instanceof AST_Exit && + self.value && self.value.start.comments_before.length > 0) { + comments = (comments || []).concat(self.value.start.comments_before); + self.value.start.comments_before = []; + } + + if (c.test) { + comments = comments.filter(function(comment){ + return c.test(comment.value); + }); + } else if (typeof c == "function") { + comments = comments.filter(function(comment){ + return c(self, comment); + }); + } + comments.forEach(function(c){ + if (c.type == "comment1") { + output.print("//" + c.value + "\n"); + output.indent(); + } + else if (c.type == "comment2") { + output.print("/*" + c.value + "*/"); + if (start.nlb) { + output.print("\n"); + output.indent(); + } else { + output.space(); + } + } + }); + } + } + }); + + /* -----[ PARENTHESES ]----- */ + + function PARENS(nodetype, func) { + nodetype.DEFMETHOD("needs_parens", func); + }; + + PARENS(AST_Node, function(){ + return false; + }); + + // a function expression needs parens around it when it's provably + // the first token to appear in a statement. + PARENS(AST_Function, function(output){ + return first_in_statement(output); + }); + + // same goes for an object literal, because otherwise it would be + // interpreted as a block of code. + PARENS(AST_Object, function(output){ + return first_in_statement(output); + }); + + PARENS(AST_Unary, function(output){ + var p = output.parent(); + return p instanceof AST_PropAccess && p.expression === this; + }); + + PARENS(AST_Seq, function(output){ + var p = output.parent(); + return p instanceof AST_Call // (foo, bar)() or foo(1, (2, 3), 4) + || p instanceof AST_Unary // !(foo, bar, baz) + || p instanceof AST_Binary // 1 + (2, 3) + 4 ==> 8 + || p instanceof AST_VarDef // var a = (1, 2), b = a + a; ==> b == 4 + || p instanceof AST_Dot // (1, {foo:2}).foo ==> 2 + || p instanceof AST_Array // [ 1, (2, 3), 4 ] ==> [ 1, 3, 4 ] + || p instanceof AST_ObjectProperty // { foo: (1, 2) }.foo ==> 2 + || p instanceof AST_Conditional /* (false, true) ? (a = 10, b = 20) : (c = 30) + * ==> 20 (side effect, set a := 10 and b := 20) */ + ; + }); + + PARENS(AST_Binary, function(output){ + var p = output.parent(); + // (foo && bar)() + if (p instanceof AST_Call && p.expression === this) + return true; + // typeof (foo && bar) + if (p instanceof AST_Unary) + return true; + // (foo && bar)["prop"], (foo && bar).prop + if (p instanceof AST_PropAccess && p.expression === this) + return true; + // this deals with precedence: 3 * (2 + 1) + if (p instanceof AST_Binary) { + var po = p.operator, pp = PRECEDENCE[po]; + var so = this.operator, sp = PRECEDENCE[so]; + if (pp > sp + || (pp == sp + && this === p.right + && !(so == po && + (so == "*" || + so == "&&" || + so == "||")))) { + return true; + } + } + }); + + PARENS(AST_PropAccess, function(output){ + var p = output.parent(); + if (p instanceof AST_New && p.expression === this) { + // i.e. new (foo.bar().baz) + // + // if there's one call into this subtree, then we need + // parens around it too, otherwise the call will be + // interpreted as passing the arguments to the upper New + // expression. + try { + this.walk(new TreeWalker(function(node){ + if (node instanceof AST_Call) throw p; + })); + } catch(ex) { + if (ex !== p) throw ex; + return true; + } + } + }); + + PARENS(AST_Call, function(output){ + var p = output.parent(); + return p instanceof AST_New && p.expression === this; + }); + + PARENS(AST_New, function(output){ + var p = output.parent(); + if (no_constructor_parens(this, output) + && (p instanceof AST_PropAccess // (new Date).getTime(), (new Date)["getTime"]() + || p instanceof AST_Call && p.expression === this)) // (new foo)(bar) + return true; + }); + + PARENS(AST_Number, function(output){ + var p = output.parent(); + if (this.getValue() < 0 && p instanceof AST_PropAccess && p.expression === this) + return true; + }); + + PARENS(AST_NaN, function(output){ + var p = output.parent(); + if (p instanceof AST_PropAccess && p.expression === this) + return true; + }); + + function assign_and_conditional_paren_rules(output) { + var p = output.parent(); + // !(a = false) → true + if (p instanceof AST_Unary) + return true; + // 1 + (a = 2) + 3 → 6, side effect setting a = 2 + if (p instanceof AST_Binary && !(p instanceof AST_Assign)) + return true; + // (a = func)() —or— new (a = Object)() + if (p instanceof AST_Call && p.expression === this) + return true; + // (a = foo) ? bar : baz + if (p instanceof AST_Conditional && p.condition === this) + return true; + // (a = foo)["prop"] —or— (a = foo).prop + if (p instanceof AST_PropAccess && p.expression === this) + return true; + }; + + PARENS(AST_Assign, assign_and_conditional_paren_rules); + PARENS(AST_Conditional, assign_and_conditional_paren_rules); + + /* -----[ PRINTERS ]----- */ + + DEFPRINT(AST_Directive, function(self, output){ + output.print_string(self.value); + output.semicolon(); + }); + DEFPRINT(AST_Debugger, function(self, output){ + output.print("debugger"); + output.semicolon(); + }); + + /* -----[ statements ]----- */ + + function display_body(body, is_toplevel, output) { + var last = body.length - 1; + body.forEach(function(stmt, i){ + if (!(stmt instanceof AST_EmptyStatement)) { + output.indent(); + stmt.print(output); + if (!(i == last && is_toplevel)) { + output.newline(); + if (is_toplevel) output.newline(); + } + } + }); + }; + + AST_StatementWithBody.DEFMETHOD("_do_print_body", function(output){ + force_statement(this.body, output); + }); + + DEFPRINT(AST_Statement, function(self, output){ + self.body.print(output); + output.semicolon(); + }); + DEFPRINT(AST_Toplevel, function(self, output){ + display_body(self.body, true, output); + output.print(""); + }); + DEFPRINT(AST_LabeledStatement, function(self, output){ + self.label.print(output); + output.colon(); + self.body.print(output); + }); + DEFPRINT(AST_SimpleStatement, function(self, output){ + self.body.print(output); + output.semicolon(); + }); + function print_bracketed(body, output) { + if (body.length > 0) output.with_block(function(){ + display_body(body, false, output); + }); + else output.print("{}"); + }; + DEFPRINT(AST_BlockStatement, function(self, output){ + print_bracketed(self.body, output); + }); + DEFPRINT(AST_EmptyStatement, function(self, output){ + output.semicolon(); + }); + DEFPRINT(AST_Do, function(self, output){ + output.print("do"); + output.space(); + self._do_print_body(output); + output.space(); + output.print("while"); + output.space(); + output.with_parens(function(){ + self.condition.print(output); + }); + output.semicolon(); + }); + DEFPRINT(AST_While, function(self, output){ + output.print("while"); + output.space(); + output.with_parens(function(){ + self.condition.print(output); + }); + output.space(); + self._do_print_body(output); + }); + DEFPRINT(AST_For, function(self, output){ + output.print("for"); + output.space(); + output.with_parens(function(){ + if (self.init) { + if (self.init instanceof AST_Definitions) { + self.init.print(output); + } else { + parenthesize_for_noin(self.init, output, true); + } + output.print(";"); + output.space(); + } else { + output.print(";"); + } + if (self.condition) { + self.condition.print(output); + output.print(";"); + output.space(); + } else { + output.print(";"); + } + if (self.step) { + self.step.print(output); + } + }); + output.space(); + self._do_print_body(output); + }); + DEFPRINT(AST_ForIn, function(self, output){ + output.print("for"); + output.space(); + output.with_parens(function(){ + self.init.print(output); + output.space(); + output.print("in"); + output.space(); + self.object.print(output); + }); + output.space(); + self._do_print_body(output); + }); + DEFPRINT(AST_With, function(self, output){ + output.print("with"); + output.space(); + output.with_parens(function(){ + self.expression.print(output); + }); + output.space(); + self._do_print_body(output); + }); + + /* -----[ functions ]----- */ + AST_Lambda.DEFMETHOD("_do_print", function(output, nokeyword){ + var self = this; + if (!nokeyword) { + output.print("function"); + } + if (self.name) { + output.space(); + self.name.print(output); + } + output.with_parens(function(){ + self.argnames.forEach(function(arg, i){ + if (i) output.comma(); + arg.print(output); + }); + }); + output.space(); + print_bracketed(self.body, output); + }); + DEFPRINT(AST_Lambda, function(self, output){ + self._do_print(output); + }); + + /* -----[ exits ]----- */ + AST_Exit.DEFMETHOD("_do_print", function(output, kind){ + output.print(kind); + if (this.value) { + output.space(); + this.value.print(output); + } + output.semicolon(); + }); + DEFPRINT(AST_Return, function(self, output){ + self._do_print(output, "return"); + }); + DEFPRINT(AST_Throw, function(self, output){ + self._do_print(output, "throw"); + }); + + /* -----[ loop control ]----- */ + AST_LoopControl.DEFMETHOD("_do_print", function(output, kind){ + output.print(kind); + if (this.label) { + output.space(); + this.label.print(output); + } + output.semicolon(); + }); + DEFPRINT(AST_Break, function(self, output){ + self._do_print(output, "break"); + }); + DEFPRINT(AST_Continue, function(self, output){ + self._do_print(output, "continue"); + }); + + /* -----[ if ]----- */ + function make_then(self, output) { + if (output.option("bracketize")) { + make_block(self.body, output); + return; + } + // The squeezer replaces "block"-s that contain only a single + // statement with the statement itself; technically, the AST + // is correct, but this can create problems when we output an + // IF having an ELSE clause where the THEN clause ends in an + // IF *without* an ELSE block (then the outer ELSE would refer + // to the inner IF). This function checks for this case and + // adds the block brackets if needed. + if (!self.body) + return output.force_semicolon(); + if (self.body instanceof AST_Do + && output.option("ie_proof")) { + // https://github.com/mishoo/UglifyJS/issues/#issue/57 IE + // croaks with "syntax error" on code like this: if (foo) + // do ... while(cond); else ... we need block brackets + // around do/while + make_block(self.body, output); + return; + } + var b = self.body; + while (true) { + if (b instanceof AST_If) { + if (!b.alternative) { + make_block(self.body, output); + return; + } + b = b.alternative; + } + else if (b instanceof AST_StatementWithBody) { + b = b.body; + } + else break; + } + force_statement(self.body, output); + }; + DEFPRINT(AST_If, function(self, output){ + output.print("if"); + output.space(); + output.with_parens(function(){ + self.condition.print(output); + }); + output.space(); + if (self.alternative) { + make_then(self, output); + output.space(); + output.print("else"); + output.space(); + force_statement(self.alternative, output); + } else { + self._do_print_body(output); + } + }); + + /* -----[ switch ]----- */ + DEFPRINT(AST_Switch, function(self, output){ + output.print("switch"); + output.space(); + output.with_parens(function(){ + self.expression.print(output); + }); + output.space(); + if (self.body.length > 0) output.with_block(function(){ + self.body.forEach(function(stmt, i){ + if (i) output.newline(); + output.indent(true); + stmt.print(output); + }); + }); + else output.print("{}"); + }); + AST_SwitchBranch.DEFMETHOD("_do_print_body", function(output){ + if (this.body.length > 0) { + output.newline(); + this.body.forEach(function(stmt){ + output.indent(); + stmt.print(output); + output.newline(); + }); + } + }); + DEFPRINT(AST_Default, function(self, output){ + output.print("default:"); + self._do_print_body(output); + }); + DEFPRINT(AST_Case, function(self, output){ + output.print("case"); + output.space(); + self.expression.print(output); + output.print(":"); + self._do_print_body(output); + }); + + /* -----[ exceptions ]----- */ + DEFPRINT(AST_Try, function(self, output){ + output.print("try"); + output.space(); + print_bracketed(self.body, output); + if (self.bcatch) { + output.space(); + self.bcatch.print(output); + } + if (self.bfinally) { + output.space(); + self.bfinally.print(output); + } + }); + DEFPRINT(AST_Catch, function(self, output){ + output.print("catch"); + output.space(); + output.with_parens(function(){ + self.argname.print(output); + }); + output.space(); + print_bracketed(self.body, output); + }); + DEFPRINT(AST_Finally, function(self, output){ + output.print("finally"); + output.space(); + print_bracketed(self.body, output); + }); + + /* -----[ var/const ]----- */ + AST_Definitions.DEFMETHOD("_do_print", function(output, kind){ + output.print(kind); + output.space(); + this.definitions.forEach(function(def, i){ + if (i) output.comma(); + def.print(output); + }); + var p = output.parent(); + var in_for = p instanceof AST_For || p instanceof AST_ForIn; + var avoid_semicolon = in_for && p.init === this; + if (!avoid_semicolon) + output.semicolon(); + }); + DEFPRINT(AST_Var, function(self, output){ + self._do_print(output, "var"); + }); + DEFPRINT(AST_Const, function(self, output){ + self._do_print(output, "const"); + }); + + function parenthesize_for_noin(node, output, noin) { + if (!noin) node.print(output); + else try { + // need to take some precautions here: + // https://github.com/mishoo/UglifyJS2/issues/60 + node.walk(new TreeWalker(function(node){ + if (node instanceof AST_Binary && node.operator == "in") + throw output; + })); + node.print(output); + } catch(ex) { + if (ex !== output) throw ex; + node.print(output, true); + } + }; + + DEFPRINT(AST_VarDef, function(self, output){ + self.name.print(output); + if (self.value) { + output.space(); + output.print("="); + output.space(); + var p = output.parent(1); + var noin = p instanceof AST_For || p instanceof AST_ForIn; + parenthesize_for_noin(self.value, output, noin); + } + }); + + /* -----[ other expressions ]----- */ + DEFPRINT(AST_Call, function(self, output){ + self.expression.print(output); + if (self instanceof AST_New && no_constructor_parens(self, output)) + return; + output.with_parens(function(){ + self.args.forEach(function(expr, i){ + if (i) output.comma(); + expr.print(output); + }); + }); + }); + DEFPRINT(AST_New, function(self, output){ + output.print("new"); + output.space(); + AST_Call.prototype._codegen(self, output); + }); + + AST_Seq.DEFMETHOD("_do_print", function(output){ + this.car.print(output); + if (this.cdr) { + output.comma(); + if (output.should_break()) { + output.newline(); + output.indent(); + } + this.cdr.print(output); + } + }); + DEFPRINT(AST_Seq, function(self, output){ + self._do_print(output); + // var p = output.parent(); + // if (p instanceof AST_Statement) { + // output.with_indent(output.next_indent(), function(){ + // self._do_print(output); + // }); + // } else { + // self._do_print(output); + // } + }); + DEFPRINT(AST_Dot, function(self, output){ + var expr = self.expression; + expr.print(output); + if (expr instanceof AST_Number && expr.getValue() >= 0) { + if (!/[xa-f.]/i.test(output.last())) { + output.print("."); + } + } + output.print("."); + // the name after dot would be mapped about here. + output.add_mapping(self.end); + output.print_name(self.property); + }); + DEFPRINT(AST_Sub, function(self, output){ + self.expression.print(output); + output.print("["); + self.property.print(output); + output.print("]"); + }); + DEFPRINT(AST_UnaryPrefix, function(self, output){ + var op = self.operator; + output.print(op); + if (/^[a-z]/i.test(op)) + output.space(); + self.expression.print(output); + }); + DEFPRINT(AST_UnaryPostfix, function(self, output){ + self.expression.print(output); + output.print(self.operator); + }); + DEFPRINT(AST_Binary, function(self, output){ + self.left.print(output); + output.space(); + output.print(self.operator); + output.space(); + self.right.print(output); + }); + DEFPRINT(AST_Conditional, function(self, output){ + self.condition.print(output); + output.space(); + output.print("?"); + output.space(); + self.consequent.print(output); + output.space(); + output.colon(); + self.alternative.print(output); + }); + + /* -----[ literals ]----- */ + DEFPRINT(AST_Array, function(self, output){ + output.with_square(function(){ + var a = self.elements, len = a.length; + if (len > 0) output.space(); + a.forEach(function(exp, i){ + if (i) output.comma(); + exp.print(output); + }); + if (len > 0) output.space(); + }); + }); + DEFPRINT(AST_Object, function(self, output){ + if (self.properties.length > 0) output.with_block(function(){ + self.properties.forEach(function(prop, i){ + if (i) { + output.print(","); + output.newline(); + } + output.indent(); + prop.print(output); + }); + output.newline(); + }); + else output.print("{}"); + }); + DEFPRINT(AST_ObjectKeyVal, function(self, output){ + var key = self.key; + if (output.option("quote_keys")) { + output.print_string(key + ""); + } else if ((typeof key == "number" + || !output.option("beautify") + && +key + "" == key) + && parseFloat(key) >= 0) { + output.print(make_num(key)); + } else if (!is_identifier(key)) { + output.print_string(key); + } else { + output.print_name(key); + } + output.colon(); + self.value.print(output); + }); + DEFPRINT(AST_ObjectSetter, function(self, output){ + output.print("set"); + self.value._do_print(output, true); + }); + DEFPRINT(AST_ObjectGetter, function(self, output){ + output.print("get"); + self.value._do_print(output, true); + }); + DEFPRINT(AST_Symbol, function(self, output){ + var def = self.definition(); + output.print_name(def ? def.mangled_name || def.name : self.name); + }); + DEFPRINT(AST_Undefined, function(self, output){ + output.print("void 0"); + }); + DEFPRINT(AST_Hole, noop); + DEFPRINT(AST_Infinity, function(self, output){ + output.print("1/0"); + }); + DEFPRINT(AST_NaN, function(self, output){ + output.print("0/0"); + }); + DEFPRINT(AST_This, function(self, output){ + output.print("this"); + }); + DEFPRINT(AST_Constant, function(self, output){ + output.print(self.getValue()); + }); + DEFPRINT(AST_String, function(self, output){ + output.print_string(self.getValue()); + }); + DEFPRINT(AST_Number, function(self, output){ + output.print(make_num(self.getValue())); + }); + DEFPRINT(AST_RegExp, function(self, output){ + var str = self.getValue().toString(); + if (output.option("ascii_only")) + str = output.to_ascii(str); + output.print(str); + var p = output.parent(); + if (p instanceof AST_Binary && /^in/.test(p.operator) && p.left === self) + output.print(" "); + }); + + function force_statement(stat, output) { + if (output.option("bracketize")) { + if (!stat || stat instanceof AST_EmptyStatement) + output.print("{}"); + else if (stat instanceof AST_BlockStatement) + stat.print(output); + else output.with_block(function(){ + output.indent(); + stat.print(output); + output.newline(); + }); + } else { + if (!stat || stat instanceof AST_EmptyStatement) + output.force_semicolon(); + else + stat.print(output); + } + }; + + // return true if the node at the top of the stack (that means the + // innermost node in the current output) is lexically the first in + // a statement. + function first_in_statement(output) { + var a = output.stack(), i = a.length, node = a[--i], p = a[--i]; + while (i > 0) { + if (p instanceof AST_Statement && p.body === node) + return true; + if ((p instanceof AST_Seq && p.car === node ) || + (p instanceof AST_Call && p.expression === node && !(p instanceof AST_New) ) || + (p instanceof AST_Dot && p.expression === node ) || + (p instanceof AST_Sub && p.expression === node ) || + (p instanceof AST_Conditional && p.condition === node ) || + (p instanceof AST_Binary && p.left === node ) || + (p instanceof AST_UnaryPostfix && p.expression === node )) + { + node = p; + p = a[--i]; + } else { + return false; + } + } + }; + + // self should be AST_New. decide if we want to show parens or not. + function no_constructor_parens(self, output) { + return self.args.length == 0 && !output.option("beautify"); + }; + + function best_of(a) { + var best = a[0], len = best.length; + for (var i = 1; i < a.length; ++i) { + if (a[i].length < len) { + best = a[i]; + len = best.length; + } + } + return best; + }; + + function make_num(num) { + var str = num.toString(10), a = [ str.replace(/^0\./, ".").replace('e+', 'e') ], m; + if (Math.floor(num) === num) { + if (num >= 0) { + a.push("0x" + num.toString(16).toLowerCase(), // probably pointless + "0" + num.toString(8)); // same. + } else { + a.push("-0x" + (-num).toString(16).toLowerCase(), // probably pointless + "-0" + (-num).toString(8)); // same. + } + if ((m = /^(.*?)(0+)$/.exec(num))) { + a.push(m[1] + "e" + m[2].length); + } + } else if ((m = /^0?\.(0+)(.*)$/.exec(num))) { + a.push(m[2] + "e-" + (m[1].length + m[2].length), + str.substr(str.indexOf("."))); + } + return best_of(a); + }; + + function make_block(stmt, output) { + if (stmt instanceof AST_BlockStatement) { + stmt.print(output); + return; + } + output.with_block(function(){ + output.indent(); + stmt.print(output); + output.newline(); + }); + }; + + /* -----[ source map generators ]----- */ + + function DEFMAP(nodetype, generator) { + nodetype.DEFMETHOD("add_source_map", function(stream){ + generator(this, stream); + }); + }; + + // We could easily add info for ALL nodes, but it seems to me that + // would be quite wasteful, hence this noop in the base class. + DEFMAP(AST_Node, noop); + + function basic_sourcemap_gen(self, output) { + output.add_mapping(self.start); + }; + + // XXX: I'm not exactly sure if we need it for all of these nodes, + // or if we should add even more. + + DEFMAP(AST_Directive, basic_sourcemap_gen); + DEFMAP(AST_Debugger, basic_sourcemap_gen); + DEFMAP(AST_Symbol, basic_sourcemap_gen); + DEFMAP(AST_Jump, basic_sourcemap_gen); + DEFMAP(AST_StatementWithBody, basic_sourcemap_gen); + DEFMAP(AST_LabeledStatement, noop); // since the label symbol will mark it + DEFMAP(AST_Lambda, basic_sourcemap_gen); + DEFMAP(AST_Switch, basic_sourcemap_gen); + DEFMAP(AST_SwitchBranch, basic_sourcemap_gen); + DEFMAP(AST_BlockStatement, basic_sourcemap_gen); + DEFMAP(AST_Toplevel, noop); + DEFMAP(AST_New, basic_sourcemap_gen); + DEFMAP(AST_Try, basic_sourcemap_gen); + DEFMAP(AST_Catch, basic_sourcemap_gen); + DEFMAP(AST_Finally, basic_sourcemap_gen); + DEFMAP(AST_Definitions, basic_sourcemap_gen); + DEFMAP(AST_Constant, basic_sourcemap_gen); + DEFMAP(AST_ObjectProperty, function(self, output){ + output.add_mapping(self.start, self.key); + }); + +})(); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/lib/parse.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/lib/parse.js new file mode 100644 index 0000000..e561ab6 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/lib/parse.js @@ -0,0 +1,1410 @@ +/*********************************************************************** + + A JavaScript tokenizer / parser / beautifier / compressor. + https://github.com/mishoo/UglifyJS2 + + -------------------------------- (C) --------------------------------- + + Author: Mihai Bazon + + http://mihai.bazon.net/blog + + Distributed under the BSD license: + + Copyright 2012 (c) Mihai Bazon + Parser based on parse-js (http://marijn.haverbeke.nl/parse-js/). + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + + ***********************************************************************/ + +"use strict"; + +var KEYWORDS = 'break case catch const continue debugger default delete do else finally for function if in instanceof new return switch throw try typeof var void while with'; +var KEYWORDS_ATOM = 'false null true'; +var RESERVED_WORDS = 'abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized this throws transient volatile' + + " " + KEYWORDS_ATOM + " " + KEYWORDS; +var KEYWORDS_BEFORE_EXPRESSION = 'return new delete throw else case'; + +KEYWORDS = makePredicate(KEYWORDS); +RESERVED_WORDS = makePredicate(RESERVED_WORDS); +KEYWORDS_BEFORE_EXPRESSION = makePredicate(KEYWORDS_BEFORE_EXPRESSION); +KEYWORDS_ATOM = makePredicate(KEYWORDS_ATOM); + +var OPERATOR_CHARS = makePredicate(characters("+-*&%=<>!?|~^")); + +var RE_HEX_NUMBER = /^0x[0-9a-f]+$/i; +var RE_OCT_NUMBER = /^0[0-7]+$/; +var RE_DEC_NUMBER = /^\d*\.?\d*(?:e[+-]?\d*(?:\d\.?|\.?\d)\d*)?$/i; + +var OPERATORS = makePredicate([ + "in", + "instanceof", + "typeof", + "new", + "void", + "delete", + "++", + "--", + "+", + "-", + "!", + "~", + "&", + "|", + "^", + "*", + "/", + "%", + ">>", + "<<", + ">>>", + "<", + ">", + "<=", + ">=", + "==", + "===", + "!=", + "!==", + "?", + "=", + "+=", + "-=", + "/=", + "*=", + "%=", + ">>=", + "<<=", + ">>>=", + "|=", + "^=", + "&=", + "&&", + "||" +]); + +var WHITESPACE_CHARS = makePredicate(characters(" \u00a0\n\r\t\f\u000b\u200b\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000")); + +var PUNC_BEFORE_EXPRESSION = makePredicate(characters("[{(,.;:")); + +var PUNC_CHARS = makePredicate(characters("[]{}(),;:")); + +var REGEXP_MODIFIERS = makePredicate(characters("gmsiy")); + +/* -----[ Tokenizer ]----- */ + +// regexps adapted from http://xregexp.com/plugins/#unicode +var UNICODE = { + letter: new RegExp("[\\u0041-\\u005A\\u0061-\\u007A\\u00AA\\u00B5\\u00BA\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u0523\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0621-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971\\u0972\\u097B-\\u097F\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C33\\u0C35-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D28\\u0D2A-\\u0D39\\u0D3D\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC\\u0EDD\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8B\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10D0-\\u10FA\\u10FC\\u1100-\\u1159\\u115F-\\u11A2\\u11A8-\\u11F9\\u1200-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u1676\\u1681-\\u169A\\u16A0-\\u16EA\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u1900-\\u191C\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19A9\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u2094\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2C6F\\u2C71-\\u2C7D\\u2C80-\\u2CE4\\u2D00-\\u2D25\\u2D30-\\u2D65\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31B7\\u31F0-\\u31FF\\u3400\\u4DB5\\u4E00\\u9FC3\\uA000-\\uA48C\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA65F\\uA662-\\uA66E\\uA67F-\\uA697\\uA717-\\uA71F\\uA722-\\uA788\\uA78B\\uA78C\\uA7FB-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA90A-\\uA925\\uA930-\\uA946\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAC00\\uD7A3\\uF900-\\uFA2D\\uFA30-\\uFA6A\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]"), + non_spacing_mark: new RegExp("[\\u0300-\\u036F\\u0483-\\u0487\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065E\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0900-\\u0902\\u093C\\u0941-\\u0948\\u094D\\u0951-\\u0955\\u0962\\u0963\\u0981\\u09BC\\u09C1-\\u09C4\\u09CD\\u09E2\\u09E3\\u0A01\\u0A02\\u0A3C\\u0A41\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81\\u0A82\\u0ABC\\u0AC1-\\u0AC5\\u0AC7\\u0AC8\\u0ACD\\u0AE2\\u0AE3\\u0B01\\u0B3C\\u0B3F\\u0B41-\\u0B44\\u0B4D\\u0B56\\u0B62\\u0B63\\u0B82\\u0BC0\\u0BCD\\u0C3E-\\u0C40\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0CBC\\u0CBF\\u0CC6\\u0CCC\\u0CCD\\u0CE2\\u0CE3\\u0D41-\\u0D44\\u0D4D\\u0D62\\u0D63\\u0DCA\\u0DD2-\\u0DD4\\u0DD6\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EB9\\u0EBB\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F71-\\u0F7E\\u0F80-\\u0F84\\u0F86\\u0F87\\u0F90-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102D-\\u1030\\u1032-\\u1037\\u1039\\u103A\\u103D\\u103E\\u1058\\u1059\\u105E-\\u1060\\u1071-\\u1074\\u1082\\u1085\\u1086\\u108D\\u109D\\u135F\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B7-\\u17BD\\u17C6\\u17C9-\\u17D3\\u17DD\\u180B-\\u180D\\u18A9\\u1920-\\u1922\\u1927\\u1928\\u1932\\u1939-\\u193B\\u1A17\\u1A18\\u1A56\\u1A58-\\u1A5E\\u1A60\\u1A62\\u1A65-\\u1A6C\\u1A73-\\u1A7C\\u1A7F\\u1B00-\\u1B03\\u1B34\\u1B36-\\u1B3A\\u1B3C\\u1B42\\u1B6B-\\u1B73\\u1B80\\u1B81\\u1BA2-\\u1BA5\\u1BA8\\u1BA9\\u1C2C-\\u1C33\\u1C36\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE0\\u1CE2-\\u1CE8\\u1CED\\u1DC0-\\u1DE6\\u1DFD-\\u1DFF\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2CEF-\\u2CF1\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA66F\\uA67C\\uA67D\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA825\\uA826\\uA8C4\\uA8E0-\\uA8F1\\uA926-\\uA92D\\uA947-\\uA951\\uA980-\\uA982\\uA9B3\\uA9B6-\\uA9B9\\uA9BC\\uAA29-\\uAA2E\\uAA31\\uAA32\\uAA35\\uAA36\\uAA43\\uAA4C\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uABE5\\uABE8\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE26]"), + space_combining_mark: new RegExp("[\\u0903\\u093E-\\u0940\\u0949-\\u094C\\u094E\\u0982\\u0983\\u09BE-\\u09C0\\u09C7\\u09C8\\u09CB\\u09CC\\u09D7\\u0A03\\u0A3E-\\u0A40\\u0A83\\u0ABE-\\u0AC0\\u0AC9\\u0ACB\\u0ACC\\u0B02\\u0B03\\u0B3E\\u0B40\\u0B47\\u0B48\\u0B4B\\u0B4C\\u0B57\\u0BBE\\u0BBF\\u0BC1\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCC\\u0BD7\\u0C01-\\u0C03\\u0C41-\\u0C44\\u0C82\\u0C83\\u0CBE\\u0CC0-\\u0CC4\\u0CC7\\u0CC8\\u0CCA\\u0CCB\\u0CD5\\u0CD6\\u0D02\\u0D03\\u0D3E-\\u0D40\\u0D46-\\u0D48\\u0D4A-\\u0D4C\\u0D57\\u0D82\\u0D83\\u0DCF-\\u0DD1\\u0DD8-\\u0DDF\\u0DF2\\u0DF3\\u0F3E\\u0F3F\\u0F7F\\u102B\\u102C\\u1031\\u1038\\u103B\\u103C\\u1056\\u1057\\u1062-\\u1064\\u1067-\\u106D\\u1083\\u1084\\u1087-\\u108C\\u108F\\u109A-\\u109C\\u17B6\\u17BE-\\u17C5\\u17C7\\u17C8\\u1923-\\u1926\\u1929-\\u192B\\u1930\\u1931\\u1933-\\u1938\\u19B0-\\u19C0\\u19C8\\u19C9\\u1A19-\\u1A1B\\u1A55\\u1A57\\u1A61\\u1A63\\u1A64\\u1A6D-\\u1A72\\u1B04\\u1B35\\u1B3B\\u1B3D-\\u1B41\\u1B43\\u1B44\\u1B82\\u1BA1\\u1BA6\\u1BA7\\u1BAA\\u1C24-\\u1C2B\\u1C34\\u1C35\\u1CE1\\u1CF2\\uA823\\uA824\\uA827\\uA880\\uA881\\uA8B4-\\uA8C3\\uA952\\uA953\\uA983\\uA9B4\\uA9B5\\uA9BA\\uA9BB\\uA9BD-\\uA9C0\\uAA2F\\uAA30\\uAA33\\uAA34\\uAA4D\\uAA7B\\uABE3\\uABE4\\uABE6\\uABE7\\uABE9\\uABEA\\uABEC]"), + connector_punctuation: new RegExp("[\\u005F\\u203F\\u2040\\u2054\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFF3F]") +}; + +function is_letter(code) { + return (code >= 97 && code <= 122) + || (code >= 65 && code <= 90) + || (code >= 0xaa && UNICODE.letter.test(String.fromCharCode(code))); +}; + +function is_digit(code) { + return code >= 48 && code <= 57; //XXX: find out if "UnicodeDigit" means something else than 0..9 +}; + +function is_alphanumeric_char(code) { + return is_digit(code) || is_letter(code); +}; + +function is_unicode_combining_mark(ch) { + return UNICODE.non_spacing_mark.test(ch) || UNICODE.space_combining_mark.test(ch); +}; + +function is_unicode_connector_punctuation(ch) { + return UNICODE.connector_punctuation.test(ch); +}; + +function is_identifier(name) { + return !RESERVED_WORDS(name) && /^[a-z_$][a-z0-9_$]*$/i.test(name); +}; + +function is_identifier_start(code) { + return code == 36 || code == 95 || is_letter(code); +}; + +function is_identifier_char(ch) { + var code = ch.charCodeAt(0); + return is_identifier_start(code) + || is_digit(code) + || code == 8204 // \u200c: zero-width non-joiner + || code == 8205 // \u200d: zero-width joiner (in my ECMA-262 PDF, this is also 200c) + || is_unicode_combining_mark(ch) + || is_unicode_connector_punctuation(ch) + ; +}; + +function is_identifier_string(str){ + var i = str.length; + if (i == 0) return false; + if (is_digit(str.charCodeAt(0))) return false; + while (--i >= 0) { + if (!is_identifier_char(str.charAt(i))) + return false; + } + return true; +}; + +function parse_js_number(num) { + if (RE_HEX_NUMBER.test(num)) { + return parseInt(num.substr(2), 16); + } else if (RE_OCT_NUMBER.test(num)) { + return parseInt(num.substr(1), 8); + } else if (RE_DEC_NUMBER.test(num)) { + return parseFloat(num); + } +}; + +function JS_Parse_Error(message, line, col, pos) { + this.message = message; + this.line = line; + this.col = col; + this.pos = pos; + this.stack = new Error().stack; +}; + +JS_Parse_Error.prototype.toString = function() { + return this.message + " (line: " + this.line + ", col: " + this.col + ", pos: " + this.pos + ")" + "\n\n" + this.stack; +}; + +function js_error(message, filename, line, col, pos) { + throw new JS_Parse_Error(message, line, col, pos); +}; + +function is_token(token, type, val) { + return token.type == type && (val == null || token.value == val); +}; + +var EX_EOF = {}; + +function tokenizer($TEXT, filename) { + + var S = { + text : $TEXT.replace(/\r\n?|[\n\u2028\u2029]/g, "\n").replace(/\uFEFF/g, ''), + filename : filename, + pos : 0, + tokpos : 0, + line : 1, + tokline : 0, + col : 0, + tokcol : 0, + newline_before : false, + regex_allowed : false, + comments_before : [] + }; + + function peek() { return S.text.charAt(S.pos); }; + + function next(signal_eof, in_string) { + var ch = S.text.charAt(S.pos++); + if (signal_eof && !ch) + throw EX_EOF; + if (ch == "\n") { + S.newline_before = S.newline_before || !in_string; + ++S.line; + S.col = 0; + } else { + ++S.col; + } + return ch; + }; + + function find(what, signal_eof) { + var pos = S.text.indexOf(what, S.pos); + if (signal_eof && pos == -1) throw EX_EOF; + return pos; + }; + + function start_token() { + S.tokline = S.line; + S.tokcol = S.col; + S.tokpos = S.pos; + }; + + function token(type, value, is_comment) { + S.regex_allowed = ((type == "operator" && !UNARY_POSTFIX[value]) || + (type == "keyword" && KEYWORDS_BEFORE_EXPRESSION(value)) || + (type == "punc" && PUNC_BEFORE_EXPRESSION(value))); + var ret = { + type : type, + value : value, + line : S.tokline, + col : S.tokcol, + pos : S.tokpos, + endpos : S.pos, + nlb : S.newline_before, + file : filename + }; + if (!is_comment) { + ret.comments_before = S.comments_before; + S.comments_before = []; + // make note of any newlines in the comments that came before + for (var i = 0, len = ret.comments_before.length; i < len; i++) { + ret.nlb = ret.nlb || ret.comments_before[i].nlb; + } + } + S.newline_before = false; + return new AST_Token(ret); + }; + + function skip_whitespace() { + while (WHITESPACE_CHARS(peek())) + next(); + }; + + function read_while(pred) { + var ret = "", ch, i = 0; + while ((ch = peek()) && pred(ch, i++)) + ret += next(); + return ret; + }; + + function parse_error(err) { + js_error(err, filename, S.tokline, S.tokcol, S.tokpos); + }; + + function read_num(prefix) { + var has_e = false, after_e = false, has_x = false, has_dot = prefix == "."; + var num = read_while(function(ch, i){ + var code = ch.charCodeAt(0); + switch (code) { + case 120: case 88: // xX + return has_x ? false : (has_x = true); + case 101: case 69: // eE + return has_x ? true : has_e ? false : (has_e = after_e = true); + case 45: // - + return after_e || (i == 0 && !prefix); + case 43: // + + return after_e; + case (after_e = false, 46): // . + return (!has_dot && !has_x && !has_e) ? (has_dot = true) : false; + } + return is_alphanumeric_char(code); + }); + if (prefix) num = prefix + num; + var valid = parse_js_number(num); + if (!isNaN(valid)) { + return token("num", valid); + } else { + parse_error("Invalid syntax: " + num); + } + }; + + function read_escaped_char(in_string) { + var ch = next(true, in_string); + switch (ch.charCodeAt(0)) { + case 110 : return "\n"; + case 114 : return "\r"; + case 116 : return "\t"; + case 98 : return "\b"; + case 118 : return "\u000b"; // \v + case 102 : return "\f"; + case 48 : return "\0"; + case 120 : return String.fromCharCode(hex_bytes(2)); // \x + case 117 : return String.fromCharCode(hex_bytes(4)); // \u + case 10 : return ""; // newline + default : return ch; + } + }; + + function hex_bytes(n) { + var num = 0; + for (; n > 0; --n) { + var digit = parseInt(next(true), 16); + if (isNaN(digit)) + parse_error("Invalid hex-character pattern in string"); + num = (num << 4) | digit; + } + return num; + }; + + var read_string = with_eof_error("Unterminated string constant", function(){ + var quote = next(), ret = ""; + for (;;) { + var ch = next(true); + if (ch == "\\") { + // read OctalEscapeSequence (XXX: deprecated if "strict mode") + // https://github.com/mishoo/UglifyJS/issues/178 + var octal_len = 0, first = null; + ch = read_while(function(ch){ + if (ch >= "0" && ch <= "7") { + if (!first) { + first = ch; + return ++octal_len; + } + else if (first <= "3" && octal_len <= 2) return ++octal_len; + else if (first >= "4" && octal_len <= 1) return ++octal_len; + } + return false; + }); + if (octal_len > 0) ch = String.fromCharCode(parseInt(ch, 8)); + else ch = read_escaped_char(true); + } + else if (ch == quote) break; + ret += ch; + } + return token("string", ret); + }); + + function read_line_comment() { + next(); + var i = find("\n"), ret; + if (i == -1) { + ret = S.text.substr(S.pos); + S.pos = S.text.length; + } else { + ret = S.text.substring(S.pos, i); + S.pos = i; + } + return token("comment1", ret, true); + }; + + var read_multiline_comment = with_eof_error("Unterminated multiline comment", function(){ + next(); + var i = find("*/", true); + var text = S.text.substring(S.pos, i); + var a = text.split("\n"), n = a.length; + // update stream position + S.pos = i + 2; + S.line += n - 1; + if (n > 1) S.col = a[n - 1].length; + else S.col += a[n - 1].length; + S.col += 2; + S.newline_before = S.newline_before || text.indexOf("\n") >= 0; + return token("comment2", text, true); + }); + + function read_name() { + var backslash = false, name = "", ch, escaped = false, hex; + while ((ch = peek()) != null) { + if (!backslash) { + if (ch == "\\") escaped = backslash = true, next(); + else if (is_identifier_char(ch)) name += next(); + else break; + } + else { + if (ch != "u") parse_error("Expecting UnicodeEscapeSequence -- uXXXX"); + ch = read_escaped_char(); + if (!is_identifier_char(ch)) parse_error("Unicode char: " + ch.charCodeAt(0) + " is not valid in identifier"); + name += ch; + backslash = false; + } + } + if (KEYWORDS(name) && escaped) { + hex = name.charCodeAt(0).toString(16).toUpperCase(); + name = "\\u" + "0000".substr(hex.length) + hex + name.slice(1); + } + return name; + }; + + var read_regexp = with_eof_error("Unterminated regular expression", function(regexp){ + var prev_backslash = false, ch, in_class = false; + while ((ch = next(true))) if (prev_backslash) { + regexp += "\\" + ch; + prev_backslash = false; + } else if (ch == "[") { + in_class = true; + regexp += ch; + } else if (ch == "]" && in_class) { + in_class = false; + regexp += ch; + } else if (ch == "/" && !in_class) { + break; + } else if (ch == "\\") { + prev_backslash = true; + } else { + regexp += ch; + } + var mods = read_name(); + return token("regexp", new RegExp(regexp, mods)); + }); + + function read_operator(prefix) { + function grow(op) { + if (!peek()) return op; + var bigger = op + peek(); + if (OPERATORS(bigger)) { + next(); + return grow(bigger); + } else { + return op; + } + }; + return token("operator", grow(prefix || next())); + }; + + function handle_slash() { + next(); + var regex_allowed = S.regex_allowed; + switch (peek()) { + case "/": + S.comments_before.push(read_line_comment()); + S.regex_allowed = regex_allowed; + return next_token(); + case "*": + S.comments_before.push(read_multiline_comment()); + S.regex_allowed = regex_allowed; + return next_token(); + } + return S.regex_allowed ? read_regexp("") : read_operator("/"); + }; + + function handle_dot() { + next(); + return is_digit(peek().charCodeAt(0)) + ? read_num(".") + : token("punc", "."); + }; + + function read_word() { + var word = read_name(); + return KEYWORDS_ATOM(word) ? token("atom", word) + : !KEYWORDS(word) ? token("name", word) + : OPERATORS(word) ? token("operator", word) + : token("keyword", word); + }; + + function with_eof_error(eof_error, cont) { + return function(x) { + try { + return cont(x); + } catch(ex) { + if (ex === EX_EOF) parse_error(eof_error); + else throw ex; + } + }; + }; + + function next_token(force_regexp) { + if (force_regexp != null) + return read_regexp(force_regexp); + skip_whitespace(); + start_token(); + var ch = peek(); + if (!ch) return token("eof"); + var code = ch.charCodeAt(0); + switch (code) { + case 34: case 39: return read_string(); + case 46: return handle_dot(); + case 47: return handle_slash(); + } + if (is_digit(code)) return read_num(); + if (PUNC_CHARS(ch)) return token("punc", next()); + if (OPERATOR_CHARS(ch)) return read_operator(); + if (code == 92 || is_identifier_start(code)) return read_word(); + parse_error("Unexpected character '" + ch + "'"); + }; + + next_token.context = function(nc) { + if (nc) S = nc; + return S; + }; + + return next_token; + +}; + +/* -----[ Parser (constants) ]----- */ + +var UNARY_PREFIX = makePredicate([ + "typeof", + "void", + "delete", + "--", + "++", + "!", + "~", + "-", + "+" +]); + +var UNARY_POSTFIX = makePredicate([ "--", "++" ]); + +var ASSIGNMENT = makePredicate([ "=", "+=", "-=", "/=", "*=", "%=", ">>=", "<<=", ">>>=", "|=", "^=", "&=" ]); + +var PRECEDENCE = (function(a, ret){ + for (var i = 0, n = 1; i < a.length; ++i, ++n) { + var b = a[i]; + for (var j = 0; j < b.length; ++j) { + ret[b[j]] = n; + } + } + return ret; +})( + [ + ["||"], + ["&&"], + ["|"], + ["^"], + ["&"], + ["==", "===", "!=", "!=="], + ["<", ">", "<=", ">=", "in", "instanceof"], + [">>", "<<", ">>>"], + ["+", "-"], + ["*", "/", "%"] + ], + {} +); + +var STATEMENTS_WITH_LABELS = array_to_hash([ "for", "do", "while", "switch" ]); + +var ATOMIC_START_TOKEN = array_to_hash([ "atom", "num", "string", "regexp", "name" ]); + +/* -----[ Parser ]----- */ + +function parse($TEXT, options) { + + options = defaults(options, { + strict : false, + filename : null, + toplevel : null, + expression : false + }); + + var S = { + input : typeof $TEXT == "string" ? tokenizer($TEXT, options.filename) : $TEXT, + token : null, + prev : null, + peeked : null, + in_function : 0, + in_directives : true, + in_loop : 0, + labels : [] + }; + + S.token = next(); + + function is(type, value) { + return is_token(S.token, type, value); + }; + + function peek() { return S.peeked || (S.peeked = S.input()); }; + + function next() { + S.prev = S.token; + if (S.peeked) { + S.token = S.peeked; + S.peeked = null; + } else { + S.token = S.input(); + } + S.in_directives = S.in_directives && ( + S.token.type == "string" || is("punc", ";") + ); + return S.token; + }; + + function prev() { + return S.prev; + }; + + function croak(msg, line, col, pos) { + var ctx = S.input.context(); + js_error(msg, + ctx.filename, + line != null ? line : ctx.tokline, + col != null ? col : ctx.tokcol, + pos != null ? pos : ctx.tokpos); + }; + + function token_error(token, msg) { + croak(msg, token.line, token.col); + }; + + function unexpected(token) { + if (token == null) + token = S.token; + token_error(token, "Unexpected token: " + token.type + " (" + token.value + ")"); + }; + + function expect_token(type, val) { + if (is(type, val)) { + return next(); + } + token_error(S.token, "Unexpected token " + S.token.type + " «" + S.token.value + "»" + ", expected " + type + " «" + val + "»"); + }; + + function expect(punc) { return expect_token("punc", punc); }; + + function can_insert_semicolon() { + return !options.strict && ( + S.token.nlb || is("eof") || is("punc", "}") + ); + }; + + function semicolon() { + if (is("punc", ";")) next(); + else if (!can_insert_semicolon()) unexpected(); + }; + + function parenthesised() { + expect("("); + var exp = expression(true); + expect(")"); + return exp; + }; + + function embed_tokens(parser) { + return function() { + var start = S.token; + var expr = parser(); + var end = prev(); + expr.start = start; + expr.end = end; + return expr; + }; + }; + + var statement = embed_tokens(function() { + var tmp; + if (is("operator", "/") || is("operator", "/=")) { + S.peeked = null; + S.token = S.input(S.token.value.substr(1)); // force regexp + } + switch (S.token.type) { + case "string": + var dir = S.in_directives, stat = simple_statement(); + // XXXv2: decide how to fix directives + if (dir && stat.body instanceof AST_String && !is("punc", ",")) + return new AST_Directive({ value: stat.body.value }); + return stat; + case "num": + case "regexp": + case "operator": + case "atom": + return simple_statement(); + + case "name": + return is_token(peek(), "punc", ":") + ? labeled_statement() + : simple_statement(); + + case "punc": + switch (S.token.value) { + case "{": + return new AST_BlockStatement({ + start : S.token, + body : block_(), + end : prev() + }); + case "[": + case "(": + return simple_statement(); + case ";": + next(); + return new AST_EmptyStatement(); + default: + unexpected(); + } + + case "keyword": + switch (tmp = S.token.value, next(), tmp) { + case "break": + return break_cont(AST_Break); + + case "continue": + return break_cont(AST_Continue); + + case "debugger": + semicolon(); + return new AST_Debugger(); + + case "do": + return new AST_Do({ + body : in_loop(statement), + condition : (expect_token("keyword", "while"), tmp = parenthesised(), semicolon(), tmp) + }); + + case "while": + return new AST_While({ + condition : parenthesised(), + body : in_loop(statement) + }); + + case "for": + return for_(); + + case "function": + return function_(true); + + case "if": + return if_(); + + case "return": + if (S.in_function == 0) + croak("'return' outside of function"); + return new AST_Return({ + value: ( is("punc", ";") + ? (next(), null) + : can_insert_semicolon() + ? null + : (tmp = expression(true), semicolon(), tmp) ) + }); + + case "switch": + return new AST_Switch({ + expression : parenthesised(), + body : in_loop(switch_body_) + }); + + case "throw": + if (S.token.nlb) + croak("Illegal newline after 'throw'"); + return new AST_Throw({ + value: (tmp = expression(true), semicolon(), tmp) + }); + + case "try": + return try_(); + + case "var": + return tmp = var_(), semicolon(), tmp; + + case "const": + return tmp = const_(), semicolon(), tmp; + + case "with": + return new AST_With({ + expression : parenthesised(), + body : statement() + }); + + default: + unexpected(); + } + } + }); + + function labeled_statement() { + var label = as_symbol(AST_Label); + if (find_if(function(l){ return l.name == label.name }, S.labels)) { + // ECMA-262, 12.12: An ECMAScript program is considered + // syntactically incorrect if it contains a + // LabelledStatement that is enclosed by a + // LabelledStatement with the same Identifier as label. + croak("Label " + label.name + " defined twice"); + } + expect(":"); + S.labels.push(label); + var stat = statement(); + S.labels.pop(); + return new AST_LabeledStatement({ body: stat, label: label }); + }; + + function simple_statement(tmp) { + return new AST_SimpleStatement({ body: (tmp = expression(true), semicolon(), tmp) }); + }; + + function break_cont(type) { + var label = null; + if (!can_insert_semicolon()) { + label = as_symbol(AST_LabelRef, true); + } + if (label != null) { + if (!find_if(function(l){ return l.name == label.name }, S.labels)) + croak("Undefined label " + label.name); + } + else if (S.in_loop == 0) + croak(type.TYPE + " not inside a loop or switch"); + semicolon(); + return new type({ label: label }); + }; + + function for_() { + expect("("); + var init = null; + if (!is("punc", ";")) { + init = is("keyword", "var") + ? (next(), var_(true)) + : expression(true, true); + if (is("operator", "in")) { + if (init instanceof AST_Var && init.definitions.length > 1) + croak("Only one variable declaration allowed in for..in loop"); + next(); + return for_in(init); + } + } + return regular_for(init); + }; + + function regular_for(init) { + expect(";"); + var test = is("punc", ";") ? null : expression(true); + expect(";"); + var step = is("punc", ")") ? null : expression(true); + expect(")"); + return new AST_For({ + init : init, + condition : test, + step : step, + body : in_loop(statement) + }); + }; + + function for_in(init) { + var lhs = init instanceof AST_Var ? init.definitions[0].name : null; + var obj = expression(true); + expect(")"); + return new AST_ForIn({ + init : init, + name : lhs, + object : obj, + body : in_loop(statement) + }); + }; + + var function_ = function(in_statement, ctor) { + var is_accessor = ctor === AST_Accessor; + var name = (is("name") ? as_symbol(in_statement + ? AST_SymbolDefun + : is_accessor + ? AST_SymbolAccessor + : AST_SymbolLambda) + : is_accessor && (is("string") || is("num")) ? as_atom_node() + : null); + if (in_statement && !name) + unexpected(); + expect("("); + if (!ctor) ctor = in_statement ? AST_Defun : AST_Function; + return new ctor({ + name: name, + argnames: (function(first, a){ + while (!is("punc", ")")) { + if (first) first = false; else expect(","); + a.push(as_symbol(AST_SymbolFunarg)); + } + next(); + return a; + })(true, []), + body: (function(loop, labels){ + ++S.in_function; + S.in_directives = true; + S.in_loop = 0; + S.labels = []; + var a = block_(); + --S.in_function; + S.in_loop = loop; + S.labels = labels; + return a; + })(S.in_loop, S.labels) + }); + }; + + function if_() { + var cond = parenthesised(), body = statement(), belse = null; + if (is("keyword", "else")) { + next(); + belse = statement(); + } + return new AST_If({ + condition : cond, + body : body, + alternative : belse + }); + }; + + function block_() { + expect("{"); + var a = []; + while (!is("punc", "}")) { + if (is("eof")) unexpected(); + a.push(statement()); + } + next(); + return a; + }; + + function switch_body_() { + expect("{"); + var a = [], cur = null, branch = null, tmp; + while (!is("punc", "}")) { + if (is("eof")) unexpected(); + if (is("keyword", "case")) { + if (branch) branch.end = prev(); + cur = []; + branch = new AST_Case({ + start : (tmp = S.token, next(), tmp), + expression : expression(true), + body : cur + }); + a.push(branch); + expect(":"); + } + else if (is("keyword", "default")) { + if (branch) branch.end = prev(); + cur = []; + branch = new AST_Default({ + start : (tmp = S.token, next(), expect(":"), tmp), + body : cur + }); + a.push(branch); + } + else { + if (!cur) unexpected(); + cur.push(statement()); + } + } + if (branch) branch.end = prev(); + next(); + return a; + }; + + function try_() { + var body = block_(), bcatch = null, bfinally = null; + if (is("keyword", "catch")) { + var start = S.token; + next(); + expect("("); + var name = as_symbol(AST_SymbolCatch); + expect(")"); + bcatch = new AST_Catch({ + start : start, + argname : name, + body : block_(), + end : prev() + }); + } + if (is("keyword", "finally")) { + var start = S.token; + next(); + bfinally = new AST_Finally({ + start : start, + body : block_(), + end : prev() + }); + } + if (!bcatch && !bfinally) + croak("Missing catch/finally blocks"); + return new AST_Try({ + body : body, + bcatch : bcatch, + bfinally : bfinally + }); + }; + + function vardefs(no_in, in_const) { + var a = []; + for (;;) { + a.push(new AST_VarDef({ + start : S.token, + name : as_symbol(in_const ? AST_SymbolConst : AST_SymbolVar), + value : is("operator", "=") ? (next(), expression(false, no_in)) : null, + end : prev() + })); + if (!is("punc", ",")) + break; + next(); + } + return a; + }; + + var var_ = function(no_in) { + return new AST_Var({ + start : prev(), + definitions : vardefs(no_in, false), + end : prev() + }); + }; + + var const_ = function() { + return new AST_Const({ + start : prev(), + definitions : vardefs(false, true), + end : prev() + }); + }; + + var new_ = function() { + var start = S.token; + expect_token("operator", "new"); + var newexp = expr_atom(false), args; + if (is("punc", "(")) { + next(); + args = expr_list(")"); + } else { + args = []; + } + return subscripts(new AST_New({ + start : start, + expression : newexp, + args : args, + end : prev() + }), true); + }; + + function as_atom_node() { + var tok = S.token, ret; + switch (tok.type) { + case "name": + return as_symbol(AST_SymbolRef); + case "num": + ret = new AST_Number({ start: tok, end: tok, value: tok.value }); + break; + case "string": + ret = new AST_String({ start: tok, end: tok, value: tok.value }); + break; + case "regexp": + ret = new AST_RegExp({ start: tok, end: tok, value: tok.value }); + break; + case "atom": + switch (tok.value) { + case "false": + ret = new AST_False({ start: tok, end: tok }); + break; + case "true": + ret = new AST_True({ start: tok, end: tok }); + break; + case "null": + ret = new AST_Null({ start: tok, end: tok }); + break; + } + break; + } + next(); + return ret; + }; + + var expr_atom = function(allow_calls) { + if (is("operator", "new")) { + return new_(); + } + var start = S.token; + if (is("punc")) { + switch (start.value) { + case "(": + next(); + var ex = expression(true); + ex.start = start; + ex.end = S.token; + expect(")"); + return subscripts(ex, allow_calls); + case "[": + return subscripts(array_(), allow_calls); + case "{": + return subscripts(object_(), allow_calls); + } + unexpected(); + } + if (is("keyword", "function")) { + next(); + var func = function_(false); + func.start = start; + func.end = prev(); + return subscripts(func, allow_calls); + } + if (ATOMIC_START_TOKEN[S.token.type]) { + return subscripts(as_atom_node(), allow_calls); + } + unexpected(); + }; + + function expr_list(closing, allow_trailing_comma, allow_empty) { + var first = true, a = []; + while (!is("punc", closing)) { + if (first) first = false; else expect(","); + if (allow_trailing_comma && is("punc", closing)) break; + if (is("punc", ",") && allow_empty) { + a.push(new AST_Hole({ start: S.token, end: S.token })); + } else { + a.push(expression(false)); + } + } + next(); + return a; + }; + + var array_ = embed_tokens(function() { + expect("["); + return new AST_Array({ + elements: expr_list("]", !options.strict, true) + }); + }); + + var object_ = embed_tokens(function() { + expect("{"); + var first = true, a = []; + while (!is("punc", "}")) { + if (first) first = false; else expect(","); + if (!options.strict && is("punc", "}")) + // allow trailing comma + break; + var start = S.token; + var type = start.type; + var name = as_property_name(); + if (type == "name" && !is("punc", ":")) { + if (name == "get") { + a.push(new AST_ObjectGetter({ + start : start, + key : name, + value : function_(false, AST_Accessor), + end : prev() + })); + continue; + } + if (name == "set") { + a.push(new AST_ObjectSetter({ + start : start, + key : name, + value : function_(false, AST_Accessor), + end : prev() + })); + continue; + } + } + expect(":"); + a.push(new AST_ObjectKeyVal({ + start : start, + key : name, + value : expression(false), + end : prev() + })); + } + next(); + return new AST_Object({ properties: a }); + }); + + function as_property_name() { + var tmp = S.token; + next(); + switch (tmp.type) { + case "num": + case "string": + case "name": + case "operator": + case "keyword": + case "atom": + return tmp.value; + default: + unexpected(); + } + }; + + function as_name() { + var tmp = S.token; + next(); + switch (tmp.type) { + case "name": + case "operator": + case "keyword": + case "atom": + return tmp.value; + default: + unexpected(); + } + }; + + function as_symbol(type, noerror) { + if (!is("name")) { + if (!noerror) croak("Name expected"); + return null; + } + var name = S.token.value; + var sym = new (name == "this" ? AST_This : type)({ + name : String(S.token.value), + start : S.token, + end : S.token + }); + next(); + return sym; + }; + + var subscripts = function(expr, allow_calls) { + var start = expr.start; + if (is("punc", ".")) { + next(); + return subscripts(new AST_Dot({ + start : start, + expression : expr, + property : as_name(), + end : prev() + }), allow_calls); + } + if (is("punc", "[")) { + next(); + var prop = expression(true); + expect("]"); + return subscripts(new AST_Sub({ + start : start, + expression : expr, + property : prop, + end : prev() + }), allow_calls); + } + if (allow_calls && is("punc", "(")) { + next(); + return subscripts(new AST_Call({ + start : start, + expression : expr, + args : expr_list(")"), + end : prev() + }), true); + } + return expr; + }; + + var maybe_unary = function(allow_calls) { + var start = S.token; + if (is("operator") && UNARY_PREFIX(start.value)) { + next(); + var ex = make_unary(AST_UnaryPrefix, start.value, maybe_unary(allow_calls)); + ex.start = start; + ex.end = prev(); + return ex; + } + var val = expr_atom(allow_calls); + while (is("operator") && UNARY_POSTFIX(S.token.value) && !S.token.nlb) { + val = make_unary(AST_UnaryPostfix, S.token.value, val); + val.start = start; + val.end = S.token; + next(); + } + return val; + }; + + function make_unary(ctor, op, expr) { + if ((op == "++" || op == "--") && !is_assignable(expr)) + croak("Invalid use of " + op + " operator"); + return new ctor({ operator: op, expression: expr }); + }; + + var expr_op = function(left, min_prec, no_in) { + var op = is("operator") ? S.token.value : null; + if (op == "in" && no_in) op = null; + var prec = op != null ? PRECEDENCE[op] : null; + if (prec != null && prec > min_prec) { + next(); + var right = expr_op(maybe_unary(true), prec, no_in); + return expr_op(new AST_Binary({ + start : left.start, + left : left, + operator : op, + right : right, + end : right.end + }), min_prec, no_in); + } + return left; + }; + + function expr_ops(no_in) { + return expr_op(maybe_unary(true), 0, no_in); + }; + + var maybe_conditional = function(no_in) { + var start = S.token; + var expr = expr_ops(no_in); + if (is("operator", "?")) { + next(); + var yes = expression(false); + expect(":"); + return new AST_Conditional({ + start : start, + condition : expr, + consequent : yes, + alternative : expression(false, no_in), + end : peek() + }); + } + return expr; + }; + + function is_assignable(expr) { + if (!options.strict) return true; + if (expr instanceof AST_This) return false; + return (expr instanceof AST_PropAccess || expr instanceof AST_Symbol); + }; + + var maybe_assign = function(no_in) { + var start = S.token; + var left = maybe_conditional(no_in), val = S.token.value; + if (is("operator") && ASSIGNMENT(val)) { + if (is_assignable(left)) { + next(); + return new AST_Assign({ + start : start, + left : left, + operator : val, + right : maybe_assign(no_in), + end : prev() + }); + } + croak("Invalid assignment"); + } + return left; + }; + + var expression = function(commas, no_in) { + var start = S.token; + var expr = maybe_assign(no_in); + if (commas && is("punc", ",")) { + next(); + return new AST_Seq({ + start : start, + car : expr, + cdr : expression(true, no_in), + end : peek() + }); + } + return expr; + }; + + function in_loop(cont) { + ++S.in_loop; + var ret = cont(); + --S.in_loop; + return ret; + }; + + if (options.expression) { + return expression(true); + } + + return (function(){ + var start = S.token; + var body = []; + while (!is("eof")) + body.push(statement()); + var end = prev(); + var toplevel = options.toplevel; + if (toplevel) { + toplevel.body = toplevel.body.concat(body); + toplevel.end = end; + } else { + toplevel = new AST_Toplevel({ start: start, body: body, end: end }); + } + return toplevel; + })(); + +}; diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/lib/scope.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/lib/scope.js new file mode 100644 index 0000000..d15cec7 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/lib/scope.js @@ -0,0 +1,581 @@ +/*********************************************************************** + + A JavaScript tokenizer / parser / beautifier / compressor. + https://github.com/mishoo/UglifyJS2 + + -------------------------------- (C) --------------------------------- + + Author: Mihai Bazon + + http://mihai.bazon.net/blog + + Distributed under the BSD license: + + Copyright 2012 (c) Mihai Bazon + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + + ***********************************************************************/ + +"use strict"; + +function SymbolDef(scope, index, orig) { + this.name = orig.name; + this.orig = [ orig ]; + this.scope = scope; + this.references = []; + this.global = false; + this.mangled_name = null; + this.undeclared = false; + this.constant = false; + this.index = index; +}; + +SymbolDef.prototype = { + unmangleable: function(options) { + return (this.global && !(options && options.toplevel)) + || this.undeclared + || (!(options && options.eval) && (this.scope.uses_eval || this.scope.uses_with)); + }, + mangle: function(options) { + if (!this.mangled_name && !this.unmangleable(options)) { + var s = this.scope; + if (this.orig[0] instanceof AST_SymbolLambda && !options.screw_ie8) + s = s.parent_scope; + this.mangled_name = s.next_mangled(options); + } + } +}; + +AST_Toplevel.DEFMETHOD("figure_out_scope", function(){ + // This does what ast_add_scope did in UglifyJS v1. + // + // Part of it could be done at parse time, but it would complicate + // the parser (and it's already kinda complex). It's also worth + // having it separated because we might need to call it multiple + // times on the same tree. + + // pass 1: setup scope chaining and handle definitions + var self = this; + var scope = self.parent_scope = null; + var labels = new Dictionary(); + var nesting = 0; + var tw = new TreeWalker(function(node, descend){ + if (node instanceof AST_Scope) { + node.init_scope_vars(nesting); + var save_scope = node.parent_scope = scope; + var save_labels = labels; + ++nesting; + scope = node; + labels = new Dictionary(); + descend(); + labels = save_labels; + scope = save_scope; + --nesting; + return true; // don't descend again in TreeWalker + } + if (node instanceof AST_Directive) { + node.scope = scope; + push_uniq(scope.directives, node.value); + return true; + } + if (node instanceof AST_With) { + for (var s = scope; s; s = s.parent_scope) + s.uses_with = true; + return; + } + if (node instanceof AST_LabeledStatement) { + var l = node.label; + if (labels.has(l.name)) + throw new Error(string_template("Label {name} defined twice", l)); + labels.set(l.name, l); + descend(); + labels.del(l.name); + return true; // no descend again + } + if (node instanceof AST_Symbol) { + node.scope = scope; + } + if (node instanceof AST_Label) { + node.thedef = node; + node.init_scope_vars(); + } + if (node instanceof AST_SymbolLambda) { + scope.def_function(node); + } + else if (node instanceof AST_SymbolDefun) { + // Careful here, the scope where this should be defined is + // the parent scope. The reason is that we enter a new + // scope when we encounter the AST_Defun node (which is + // instanceof AST_Scope) but we get to the symbol a bit + // later. + (node.scope = scope.parent_scope).def_function(node); + } + else if (node instanceof AST_SymbolVar + || node instanceof AST_SymbolConst) { + var def = scope.def_variable(node); + def.constant = node instanceof AST_SymbolConst; + def.init = tw.parent().value; + } + else if (node instanceof AST_SymbolCatch) { + // XXX: this is wrong according to ECMA-262 (12.4). the + // `catch` argument name should be visible only inside the + // catch block. For a quick fix AST_Catch should inherit + // from AST_Scope. Keeping it this way because of IE, + // which doesn't obey the standard. (it introduces the + // identifier in the enclosing scope) + scope.def_variable(node); + } + if (node instanceof AST_LabelRef) { + var sym = labels.get(node.name); + if (!sym) throw new Error(string_template("Undefined label {name} [{line},{col}]", { + name: node.name, + line: node.start.line, + col: node.start.col + })); + node.thedef = sym; + } + }); + self.walk(tw); + + // pass 2: find back references and eval + var func = null; + var globals = self.globals = new Dictionary(); + var tw = new TreeWalker(function(node, descend){ + if (node instanceof AST_Lambda) { + var prev_func = func; + func = node; + descend(); + func = prev_func; + return true; + } + if (node instanceof AST_LabelRef) { + node.reference(); + return true; + } + if (node instanceof AST_SymbolRef) { + var name = node.name; + var sym = node.scope.find_variable(name); + if (!sym) { + var g; + if (globals.has(name)) { + g = globals.get(name); + } else { + g = new SymbolDef(self, globals.size(), node); + g.undeclared = true; + g.global = true; + globals.set(name, g); + } + node.thedef = g; + if (name == "eval" && tw.parent() instanceof AST_Call) { + for (var s = node.scope; s && !s.uses_eval; s = s.parent_scope) + s.uses_eval = true; + } + if (name == "arguments") { + func.uses_arguments = true; + } + } else { + node.thedef = sym; + } + node.reference(); + return true; + } + }); + self.walk(tw); +}); + +AST_Scope.DEFMETHOD("init_scope_vars", function(nesting){ + this.directives = []; // contains the directives defined in this scope, i.e. "use strict" + this.variables = new Dictionary(); // map name to AST_SymbolVar (variables defined in this scope; includes functions) + this.functions = new Dictionary(); // map name to AST_SymbolDefun (functions defined in this scope) + this.uses_with = false; // will be set to true if this or some nested scope uses the `with` statement + this.uses_eval = false; // will be set to true if this or nested scope uses the global `eval` + this.parent_scope = null; // the parent scope + this.enclosed = []; // a list of variables from this or outer scope(s) that are referenced from this or inner scopes + this.cname = -1; // the current index for mangling functions/variables + this.nesting = nesting; // the nesting level of this scope (0 means toplevel) +}); + +AST_Scope.DEFMETHOD("strict", function(){ + return this.has_directive("use strict"); +}); + +AST_Lambda.DEFMETHOD("init_scope_vars", function(){ + AST_Scope.prototype.init_scope_vars.apply(this, arguments); + this.uses_arguments = false; +}); + +AST_SymbolRef.DEFMETHOD("reference", function() { + var def = this.definition(); + def.references.push(this); + var s = this.scope; + while (s) { + push_uniq(s.enclosed, def); + if (s === def.scope) break; + s = s.parent_scope; + } + this.frame = this.scope.nesting - def.scope.nesting; +}); + +AST_Label.DEFMETHOD("init_scope_vars", function(){ + this.references = []; +}); + +AST_LabelRef.DEFMETHOD("reference", function(){ + this.thedef.references.push(this); +}); + +AST_Scope.DEFMETHOD("find_variable", function(name){ + if (name instanceof AST_Symbol) name = name.name; + return this.variables.get(name) + || (this.parent_scope && this.parent_scope.find_variable(name)); +}); + +AST_Scope.DEFMETHOD("has_directive", function(value){ + return this.parent_scope && this.parent_scope.has_directive(value) + || (this.directives.indexOf(value) >= 0 ? this : null); +}); + +AST_Scope.DEFMETHOD("def_function", function(symbol){ + this.functions.set(symbol.name, this.def_variable(symbol)); +}); + +AST_Scope.DEFMETHOD("def_variable", function(symbol){ + var def; + if (!this.variables.has(symbol.name)) { + def = new SymbolDef(this, this.variables.size(), symbol); + this.variables.set(symbol.name, def); + def.global = !this.parent_scope; + } else { + def = this.variables.get(symbol.name); + def.orig.push(symbol); + } + return symbol.thedef = def; +}); + +AST_Scope.DEFMETHOD("next_mangled", function(options){ + var ext = this.enclosed; + out: while (true) { + var m = base54(++this.cname); + if (!is_identifier(m)) continue; // skip over "do" + // we must ensure that the mangled name does not shadow a name + // from some parent scope that is referenced in this or in + // inner scopes. + for (var i = ext.length; --i >= 0;) { + var sym = ext[i]; + var name = sym.mangled_name || (sym.unmangleable(options) && sym.name); + if (m == name) continue out; + } + return m; + } +}); + +AST_Scope.DEFMETHOD("references", function(sym){ + if (sym instanceof AST_Symbol) sym = sym.definition(); + return this.enclosed.indexOf(sym) < 0 ? null : sym; +}); + +AST_Symbol.DEFMETHOD("unmangleable", function(options){ + return this.definition().unmangleable(options); +}); + +// property accessors are not mangleable +AST_SymbolAccessor.DEFMETHOD("unmangleable", function(){ + return true; +}); + +// labels are always mangleable +AST_Label.DEFMETHOD("unmangleable", function(){ + return false; +}); + +AST_Symbol.DEFMETHOD("unreferenced", function(){ + return this.definition().references.length == 0 + && !(this.scope.uses_eval || this.scope.uses_with); +}); + +AST_Symbol.DEFMETHOD("undeclared", function(){ + return this.definition().undeclared; +}); + +AST_LabelRef.DEFMETHOD("undeclared", function(){ + return false; +}); + +AST_Label.DEFMETHOD("undeclared", function(){ + return false; +}); + +AST_Symbol.DEFMETHOD("definition", function(){ + return this.thedef; +}); + +AST_Symbol.DEFMETHOD("global", function(){ + return this.definition().global; +}); + +AST_Toplevel.DEFMETHOD("_default_mangler_options", function(options){ + return defaults(options, { + except : [], + eval : false, + sort : false, + toplevel : false, + screw_ie8 : false + }); +}); + +AST_Toplevel.DEFMETHOD("mangle_names", function(options){ + options = this._default_mangler_options(options); + // We only need to mangle declaration nodes. Special logic wired + // into the code generator will display the mangled name if it's + // present (and for AST_SymbolRef-s it'll use the mangled name of + // the AST_SymbolDeclaration that it points to). + var lname = -1; + var to_mangle = []; + var tw = new TreeWalker(function(node, descend){ + if (node instanceof AST_LabeledStatement) { + // lname is incremented when we get to the AST_Label + var save_nesting = lname; + descend(); + lname = save_nesting; + return true; // don't descend again in TreeWalker + } + if (node instanceof AST_Scope) { + var p = tw.parent(), a = []; + node.variables.each(function(symbol){ + if (options.except.indexOf(symbol.name) < 0) { + a.push(symbol); + } + }); + if (options.sort) a.sort(function(a, b){ + return b.references.length - a.references.length; + }); + to_mangle.push.apply(to_mangle, a); + return; + } + if (node instanceof AST_Label) { + var name; + do name = base54(++lname); while (!is_identifier(name)); + node.mangled_name = name; + return true; + } + }); + this.walk(tw); + to_mangle.forEach(function(def){ def.mangle(options) }); +}); + +AST_Toplevel.DEFMETHOD("compute_char_frequency", function(options){ + options = this._default_mangler_options(options); + var tw = new TreeWalker(function(node){ + if (node instanceof AST_Constant) + base54.consider(node.print_to_string()); + else if (node instanceof AST_Return) + base54.consider("return"); + else if (node instanceof AST_Throw) + base54.consider("throw"); + else if (node instanceof AST_Continue) + base54.consider("continue"); + else if (node instanceof AST_Break) + base54.consider("break"); + else if (node instanceof AST_Debugger) + base54.consider("debugger"); + else if (node instanceof AST_Directive) + base54.consider(node.value); + else if (node instanceof AST_While) + base54.consider("while"); + else if (node instanceof AST_Do) + base54.consider("do while"); + else if (node instanceof AST_If) { + base54.consider("if"); + if (node.alternative) base54.consider("else"); + } + else if (node instanceof AST_Var) + base54.consider("var"); + else if (node instanceof AST_Const) + base54.consider("const"); + else if (node instanceof AST_Lambda) + base54.consider("function"); + else if (node instanceof AST_For) + base54.consider("for"); + else if (node instanceof AST_ForIn) + base54.consider("for in"); + else if (node instanceof AST_Switch) + base54.consider("switch"); + else if (node instanceof AST_Case) + base54.consider("case"); + else if (node instanceof AST_Default) + base54.consider("default"); + else if (node instanceof AST_With) + base54.consider("with"); + else if (node instanceof AST_ObjectSetter) + base54.consider("set" + node.key); + else if (node instanceof AST_ObjectGetter) + base54.consider("get" + node.key); + else if (node instanceof AST_ObjectKeyVal) + base54.consider(node.key); + else if (node instanceof AST_New) + base54.consider("new"); + else if (node instanceof AST_This) + base54.consider("this"); + else if (node instanceof AST_Try) + base54.consider("try"); + else if (node instanceof AST_Catch) + base54.consider("catch"); + else if (node instanceof AST_Finally) + base54.consider("finally"); + else if (node instanceof AST_Symbol && node.unmangleable(options)) + base54.consider(node.name); + else if (node instanceof AST_Unary || node instanceof AST_Binary) + base54.consider(node.operator); + else if (node instanceof AST_Dot) + base54.consider(node.property); + }); + this.walk(tw); + base54.sort(); +}); + +var base54 = (function() { + var string = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$_0123456789"; + var chars, frequency; + function reset() { + frequency = Object.create(null); + chars = string.split("").map(function(ch){ return ch.charCodeAt(0) }); + chars.forEach(function(ch){ frequency[ch] = 0 }); + } + base54.consider = function(str){ + for (var i = str.length; --i >= 0;) { + var code = str.charCodeAt(i); + if (code in frequency) ++frequency[code]; + } + }; + base54.sort = function() { + chars = mergeSort(chars, function(a, b){ + if (is_digit(a) && !is_digit(b)) return 1; + if (is_digit(b) && !is_digit(a)) return -1; + return frequency[b] - frequency[a]; + }); + }; + base54.reset = reset; + reset(); + base54.get = function(){ return chars }; + base54.freq = function(){ return frequency }; + function base54(num) { + var ret = "", base = 54; + do { + ret += String.fromCharCode(chars[num % base]); + num = Math.floor(num / base); + base = 64; + } while (num > 0); + return ret; + }; + return base54; +})(); + +AST_Toplevel.DEFMETHOD("scope_warnings", function(options){ + options = defaults(options, { + undeclared : false, // this makes a lot of noise + unreferenced : true, + assign_to_global : true, + func_arguments : true, + nested_defuns : true, + eval : true + }); + var tw = new TreeWalker(function(node){ + if (options.undeclared + && node instanceof AST_SymbolRef + && node.undeclared()) + { + // XXX: this also warns about JS standard names, + // i.e. Object, Array, parseInt etc. Should add a list of + // exceptions. + AST_Node.warn("Undeclared symbol: {name} [{file}:{line},{col}]", { + name: node.name, + file: node.start.file, + line: node.start.line, + col: node.start.col + }); + } + if (options.assign_to_global) + { + var sym = null; + if (node instanceof AST_Assign && node.left instanceof AST_SymbolRef) + sym = node.left; + else if (node instanceof AST_ForIn && node.init instanceof AST_SymbolRef) + sym = node.init; + if (sym + && (sym.undeclared() + || (sym.global() && sym.scope !== sym.definition().scope))) { + AST_Node.warn("{msg}: {name} [{file}:{line},{col}]", { + msg: sym.undeclared() ? "Accidental global?" : "Assignment to global", + name: sym.name, + file: sym.start.file, + line: sym.start.line, + col: sym.start.col + }); + } + } + if (options.eval + && node instanceof AST_SymbolRef + && node.undeclared() + && node.name == "eval") { + AST_Node.warn("Eval is used [{file}:{line},{col}]", node.start); + } + if (options.unreferenced + && (node instanceof AST_SymbolDeclaration || node instanceof AST_Label) + && node.unreferenced()) { + AST_Node.warn("{type} {name} is declared but not referenced [{file}:{line},{col}]", { + type: node instanceof AST_Label ? "Label" : "Symbol", + name: node.name, + file: node.start.file, + line: node.start.line, + col: node.start.col + }); + } + if (options.func_arguments + && node instanceof AST_Lambda + && node.uses_arguments) { + AST_Node.warn("arguments used in function {name} [{file}:{line},{col}]", { + name: node.name ? node.name.name : "anonymous", + file: node.start.file, + line: node.start.line, + col: node.start.col + }); + } + if (options.nested_defuns + && node instanceof AST_Defun + && !(tw.parent() instanceof AST_Scope)) { + AST_Node.warn("Function {name} declared in nested statement \"{type}\" [{file}:{line},{col}]", { + name: node.name.name, + type: tw.parent().TYPE, + file: node.start.file, + line: node.start.line, + col: node.start.col + }); + } + }); + this.walk(tw); +}); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/lib/sourcemap.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/lib/sourcemap.js new file mode 100644 index 0000000..3429908 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/lib/sourcemap.js @@ -0,0 +1,81 @@ +/*********************************************************************** + + A JavaScript tokenizer / parser / beautifier / compressor. + https://github.com/mishoo/UglifyJS2 + + -------------------------------- (C) --------------------------------- + + Author: Mihai Bazon + + http://mihai.bazon.net/blog + + Distributed under the BSD license: + + Copyright 2012 (c) Mihai Bazon + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + + ***********************************************************************/ + +"use strict"; + +// a small wrapper around fitzgen's source-map library +function SourceMap(options) { + options = defaults(options, { + file : null, + root : null, + orig : null, + }); + var generator = new MOZ_SourceMap.SourceMapGenerator({ + file : options.file, + sourceRoot : options.root + }); + var orig_map = options.orig && new MOZ_SourceMap.SourceMapConsumer(options.orig); + function add(source, gen_line, gen_col, orig_line, orig_col, name) { + if (orig_map) { + var info = orig_map.originalPositionFor({ + line: orig_line, + column: orig_col + }); + source = info.source; + orig_line = info.line; + orig_col = info.column; + name = info.name; + } + generator.addMapping({ + generated : { line: gen_line, column: gen_col }, + original : { line: orig_line, column: orig_col }, + source : source, + name : name + }); + }; + return { + add : add, + get : function() { return generator }, + toString : function() { return generator.toString() } + }; +}; diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/lib/transform.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/lib/transform.js new file mode 100644 index 0000000..7a61e5f --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/lib/transform.js @@ -0,0 +1,217 @@ +/*********************************************************************** + + A JavaScript tokenizer / parser / beautifier / compressor. + https://github.com/mishoo/UglifyJS2 + + -------------------------------- (C) --------------------------------- + + Author: Mihai Bazon + + http://mihai.bazon.net/blog + + Distributed under the BSD license: + + Copyright 2012 (c) Mihai Bazon + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + + ***********************************************************************/ + +"use strict"; + +// Tree transformer helpers. + +function TreeTransformer(before, after) { + TreeWalker.call(this); + this.before = before; + this.after = after; +} +TreeTransformer.prototype = new TreeWalker; + +(function(undefined){ + + function _(node, descend) { + node.DEFMETHOD("transform", function(tw, in_list){ + var x, y; + tw.push(this); + if (tw.before) x = tw.before(this, descend, in_list); + if (x === undefined) { + if (!tw.after) { + x = this; + descend(x, tw); + } else { + tw.stack[tw.stack.length - 1] = x = this.clone(); + descend(x, tw); + y = tw.after(x, in_list); + if (y !== undefined) x = y; + } + } + tw.pop(); + return x; + }); + }; + + function do_list(list, tw) { + return MAP(list, function(node){ + return node.transform(tw, true); + }); + }; + + _(AST_Node, noop); + + _(AST_LabeledStatement, function(self, tw){ + self.label = self.label.transform(tw); + self.body = self.body.transform(tw); + }); + + _(AST_SimpleStatement, function(self, tw){ + self.body = self.body.transform(tw); + }); + + _(AST_Block, function(self, tw){ + self.body = do_list(self.body, tw); + }); + + _(AST_DWLoop, function(self, tw){ + self.condition = self.condition.transform(tw); + self.body = self.body.transform(tw); + }); + + _(AST_For, function(self, tw){ + if (self.init) self.init = self.init.transform(tw); + if (self.condition) self.condition = self.condition.transform(tw); + if (self.step) self.step = self.step.transform(tw); + self.body = self.body.transform(tw); + }); + + _(AST_ForIn, function(self, tw){ + self.init = self.init.transform(tw); + self.object = self.object.transform(tw); + self.body = self.body.transform(tw); + }); + + _(AST_With, function(self, tw){ + self.expression = self.expression.transform(tw); + self.body = self.body.transform(tw); + }); + + _(AST_Exit, function(self, tw){ + if (self.value) self.value = self.value.transform(tw); + }); + + _(AST_LoopControl, function(self, tw){ + if (self.label) self.label = self.label.transform(tw); + }); + + _(AST_If, function(self, tw){ + self.condition = self.condition.transform(tw); + self.body = self.body.transform(tw); + if (self.alternative) self.alternative = self.alternative.transform(tw); + }); + + _(AST_Switch, function(self, tw){ + self.expression = self.expression.transform(tw); + self.body = do_list(self.body, tw); + }); + + _(AST_Case, function(self, tw){ + self.expression = self.expression.transform(tw); + self.body = do_list(self.body, tw); + }); + + _(AST_Try, function(self, tw){ + self.body = do_list(self.body, tw); + if (self.bcatch) self.bcatch = self.bcatch.transform(tw); + if (self.bfinally) self.bfinally = self.bfinally.transform(tw); + }); + + _(AST_Catch, function(self, tw){ + self.argname = self.argname.transform(tw); + self.body = do_list(self.body, tw); + }); + + _(AST_Definitions, function(self, tw){ + self.definitions = do_list(self.definitions, tw); + }); + + _(AST_VarDef, function(self, tw){ + if (self.value) self.value = self.value.transform(tw); + }); + + _(AST_Lambda, function(self, tw){ + if (self.name) self.name = self.name.transform(tw); + self.argnames = do_list(self.argnames, tw); + self.body = do_list(self.body, tw); + }); + + _(AST_Call, function(self, tw){ + self.expression = self.expression.transform(tw); + self.args = do_list(self.args, tw); + }); + + _(AST_Seq, function(self, tw){ + self.car = self.car.transform(tw); + self.cdr = self.cdr.transform(tw); + }); + + _(AST_Dot, function(self, tw){ + self.expression = self.expression.transform(tw); + }); + + _(AST_Sub, function(self, tw){ + self.expression = self.expression.transform(tw); + self.property = self.property.transform(tw); + }); + + _(AST_Unary, function(self, tw){ + self.expression = self.expression.transform(tw); + }); + + _(AST_Binary, function(self, tw){ + self.left = self.left.transform(tw); + self.right = self.right.transform(tw); + }); + + _(AST_Conditional, function(self, tw){ + self.condition = self.condition.transform(tw); + self.consequent = self.consequent.transform(tw); + self.alternative = self.alternative.transform(tw); + }); + + _(AST_Array, function(self, tw){ + self.elements = do_list(self.elements, tw); + }); + + _(AST_Object, function(self, tw){ + self.properties = do_list(self.properties, tw); + }); + + _(AST_ObjectProperty, function(self, tw){ + self.value = self.value.transform(tw); + }); + +})(); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/lib/utils.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/lib/utils.js new file mode 100644 index 0000000..73964a0 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/lib/utils.js @@ -0,0 +1,295 @@ +/*********************************************************************** + + A JavaScript tokenizer / parser / beautifier / compressor. + https://github.com/mishoo/UglifyJS2 + + -------------------------------- (C) --------------------------------- + + Author: Mihai Bazon + + http://mihai.bazon.net/blog + + Distributed under the BSD license: + + Copyright 2012 (c) Mihai Bazon + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + + ***********************************************************************/ + +"use strict"; + +function array_to_hash(a) { + var ret = Object.create(null); + for (var i = 0; i < a.length; ++i) + ret[a[i]] = true; + return ret; +}; + +function slice(a, start) { + return Array.prototype.slice.call(a, start || 0); +}; + +function characters(str) { + return str.split(""); +}; + +function member(name, array) { + for (var i = array.length; --i >= 0;) + if (array[i] == name) + return true; + return false; +}; + +function find_if(func, array) { + for (var i = 0, n = array.length; i < n; ++i) { + if (func(array[i])) + return array[i]; + } +}; + +function repeat_string(str, i) { + if (i <= 0) return ""; + if (i == 1) return str; + var d = repeat_string(str, i >> 1); + d += d; + if (i & 1) d += str; + return d; +}; + +function DefaultsError(msg, defs) { + this.msg = msg; + this.defs = defs; +}; + +function defaults(args, defs, croak) { + if (args === true) + args = {}; + var ret = args || {}; + if (croak) for (var i in ret) if (ret.hasOwnProperty(i) && !defs.hasOwnProperty(i)) + throw new DefaultsError("`" + i + "` is not a supported option", defs); + for (var i in defs) if (defs.hasOwnProperty(i)) { + ret[i] = (args && args.hasOwnProperty(i)) ? args[i] : defs[i]; + } + return ret; +}; + +function merge(obj, ext) { + for (var i in ext) if (ext.hasOwnProperty(i)) { + obj[i] = ext[i]; + } + return obj; +}; + +function noop() {}; + +var MAP = (function(){ + function MAP(a, f, backwards) { + var ret = [], top = [], i; + function doit() { + var val = f(a[i], i); + var is_last = val instanceof Last; + if (is_last) val = val.v; + if (val instanceof AtTop) { + val = val.v; + if (val instanceof Splice) { + top.push.apply(top, backwards ? val.v.slice().reverse() : val.v); + } else { + top.push(val); + } + } + else if (val !== skip) { + if (val instanceof Splice) { + ret.push.apply(ret, backwards ? val.v.slice().reverse() : val.v); + } else { + ret.push(val); + } + } + return is_last; + }; + if (a instanceof Array) { + if (backwards) { + for (i = a.length; --i >= 0;) if (doit()) break; + ret.reverse(); + top.reverse(); + } else { + for (i = 0; i < a.length; ++i) if (doit()) break; + } + } + else { + for (i in a) if (a.hasOwnProperty(i)) if (doit()) break; + } + return top.concat(ret); + }; + MAP.at_top = function(val) { return new AtTop(val) }; + MAP.splice = function(val) { return new Splice(val) }; + MAP.last = function(val) { return new Last(val) }; + var skip = MAP.skip = {}; + function AtTop(val) { this.v = val }; + function Splice(val) { this.v = val }; + function Last(val) { this.v = val }; + return MAP; +})(); + +function push_uniq(array, el) { + if (array.indexOf(el) < 0) + array.push(el); +}; + +function string_template(text, props) { + return text.replace(/\{(.+?)\}/g, function(str, p){ + return props[p]; + }); +}; + +function remove(array, el) { + for (var i = array.length; --i >= 0;) { + if (array[i] === el) array.splice(i, 1); + } +}; + +function mergeSort(array, cmp) { + if (array.length < 2) return array.slice(); + function merge(a, b) { + var r = [], ai = 0, bi = 0, i = 0; + while (ai < a.length && bi < b.length) { + cmp(a[ai], b[bi]) <= 0 + ? r[i++] = a[ai++] + : r[i++] = b[bi++]; + } + if (ai < a.length) r.push.apply(r, a.slice(ai)); + if (bi < b.length) r.push.apply(r, b.slice(bi)); + return r; + }; + function _ms(a) { + if (a.length <= 1) + return a; + var m = Math.floor(a.length / 2), left = a.slice(0, m), right = a.slice(m); + left = _ms(left); + right = _ms(right); + return merge(left, right); + }; + return _ms(array); +}; + +function set_difference(a, b) { + return a.filter(function(el){ + return b.indexOf(el) < 0; + }); +}; + +function set_intersection(a, b) { + return a.filter(function(el){ + return b.indexOf(el) >= 0; + }); +}; + +// this function is taken from Acorn [1], written by Marijn Haverbeke +// [1] https://github.com/marijnh/acorn +function makePredicate(words) { + if (!(words instanceof Array)) words = words.split(" "); + var f = "", cats = []; + out: for (var i = 0; i < words.length; ++i) { + for (var j = 0; j < cats.length; ++j) + if (cats[j][0].length == words[i].length) { + cats[j].push(words[i]); + continue out; + } + cats.push([words[i]]); + } + function compareTo(arr) { + if (arr.length == 1) return f += "return str === " + JSON.stringify(arr[0]) + ";"; + f += "switch(str){"; + for (var i = 0; i < arr.length; ++i) f += "case " + JSON.stringify(arr[i]) + ":"; + f += "return true}return false;"; + } + // When there are more than three length categories, an outer + // switch first dispatches on the lengths, to save on comparisons. + if (cats.length > 3) { + cats.sort(function(a, b) {return b.length - a.length;}); + f += "switch(str.length){"; + for (var i = 0; i < cats.length; ++i) { + var cat = cats[i]; + f += "case " + cat[0].length + ":"; + compareTo(cat); + } + f += "}"; + // Otherwise, simply generate a flat `switch` statement. + } else { + compareTo(words); + } + return new Function("str", f); +}; + +function all(array, predicate) { + for (var i = array.length; --i >= 0;) + if (!predicate(array[i])) + return false; + return true; +}; + +function Dictionary() { + this._values = Object.create(null); + this._size = 0; +}; +Dictionary.prototype = { + set: function(key, val) { + if (!this.has(key)) ++this._size; + this._values["$" + key] = val; + return this; + }, + add: function(key, val) { + if (this.has(key)) { + this.get(key).push(val); + } else { + this.set(key, [ val ]); + } + return this; + }, + get: function(key) { return this._values["$" + key] }, + del: function(key) { + if (this.has(key)) { + --this._size; + delete this._values["$" + key]; + } + return this; + }, + has: function(key) { return ("$" + key) in this._values }, + each: function(f) { + for (var i in this._values) + f(this._values[i], i.substr(1)); + }, + size: function() { + return this._size; + }, + map: function(f) { + var ret = []; + for (var i in this._values) + ret.push(f(this._values[i], i.substr(1))); + return ret; + } +}; diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/async/LICENSE b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/async/LICENSE new file mode 100644 index 0000000..b7f9d50 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/async/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2010 Caolan McMahon + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/async/README.md b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/async/README.md new file mode 100644 index 0000000..9ff1acf --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/async/README.md @@ -0,0 +1,1414 @@ +# Async.js + +Async is a utility module which provides straight-forward, powerful functions +for working with asynchronous JavaScript. Although originally designed for +use with [node.js](http://nodejs.org), it can also be used directly in the +browser. Also supports [component](https://github.com/component/component). + +Async provides around 20 functions that include the usual 'functional' +suspects (map, reduce, filter, each…) as well as some common patterns +for asynchronous control flow (parallel, series, waterfall…). All these +functions assume you follow the node.js convention of providing a single +callback as the last argument of your async function. + + +## Quick Examples + +```javascript +async.map(['file1','file2','file3'], fs.stat, function(err, results){ + // results is now an array of stats for each file +}); + +async.filter(['file1','file2','file3'], fs.exists, function(results){ + // results now equals an array of the existing files +}); + +async.parallel([ + function(){ ... }, + function(){ ... } +], callback); + +async.series([ + function(){ ... }, + function(){ ... } +]); +``` + +There are many more functions available so take a look at the docs below for a +full list. This module aims to be comprehensive, so if you feel anything is +missing please create a GitHub issue for it. + +## Common Pitfalls + +### Binding a context to an iterator + +This section is really about bind, not about async. If you are wondering how to +make async execute your iterators in a given context, or are confused as to why +a method of another library isn't working as an iterator, study this example: + +```js +// Here is a simple object with an (unnecessarily roundabout) squaring method +var AsyncSquaringLibrary = { + squareExponent: 2, + square: function(number, callback){ + var result = Math.pow(number, this.squareExponent); + setTimeout(function(){ + callback(null, result); + }, 200); + } +}; + +async.map([1, 2, 3], AsyncSquaringLibrary.square, function(err, result){ + // result is [NaN, NaN, NaN] + // This fails because the `this.squareExponent` expression in the square + // function is not evaluated in the context of AsyncSquaringLibrary, and is + // therefore undefined. +}); + +async.map([1, 2, 3], AsyncSquaringLibrary.square.bind(AsyncSquaringLibrary), function(err, result){ + // result is [1, 4, 9] + // With the help of bind we can attach a context to the iterator before + // passing it to async. Now the square function will be executed in its + // 'home' AsyncSquaringLibrary context and the value of `this.squareExponent` + // will be as expected. +}); +``` + +## Download + +The source is available for download from +[GitHub](http://github.com/caolan/async). +Alternatively, you can install using Node Package Manager (npm): + + npm install async + +__Development:__ [async.js](https://github.com/caolan/async/raw/master/lib/async.js) - 29.6kb Uncompressed + +## In the Browser + +So far it's been tested in IE6, IE7, IE8, FF3.6 and Chrome 5. Usage: + +```html + + +``` + +## Documentation + +### Collections + +* [each](#each) +* [map](#map) +* [filter](#filter) +* [reject](#reject) +* [reduce](#reduce) +* [detect](#detect) +* [sortBy](#sortBy) +* [some](#some) +* [every](#every) +* [concat](#concat) + +### Control Flow + +* [series](#series) +* [parallel](#parallel) +* [whilst](#whilst) +* [doWhilst](#doWhilst) +* [until](#until) +* [doUntil](#doUntil) +* [forever](#forever) +* [waterfall](#waterfall) +* [compose](#compose) +* [applyEach](#applyEach) +* [queue](#queue) +* [cargo](#cargo) +* [auto](#auto) +* [iterator](#iterator) +* [apply](#apply) +* [nextTick](#nextTick) +* [times](#times) +* [timesSeries](#timesSeries) + +### Utils + +* [memoize](#memoize) +* [unmemoize](#unmemoize) +* [log](#log) +* [dir](#dir) +* [noConflict](#noConflict) + + +## Collections + + + +### each(arr, iterator, callback) + +Applies an iterator function to each item in an array, in parallel. +The iterator is called with an item from the list and a callback for when it +has finished. If the iterator passes an error to this callback, the main +callback for the each function is immediately called with the error. + +Note, that since this function applies the iterator to each item in parallel +there is no guarantee that the iterator functions will complete in order. + +__Arguments__ + +* arr - An array to iterate over. +* iterator(item, callback) - A function to apply to each item in the array. + The iterator is passed a callback(err) which must be called once it has + completed. If no error has occured, the callback should be run without + arguments or with an explicit null argument. +* callback(err) - A callback which is called after all the iterator functions + have finished, or an error has occurred. + +__Example__ + +```js +// assuming openFiles is an array of file names and saveFile is a function +// to save the modified contents of that file: + +async.each(openFiles, saveFile, function(err){ + // if any of the saves produced an error, err would equal that error +}); +``` + +--------------------------------------- + + + +### eachSeries(arr, iterator, callback) + +The same as each only the iterator is applied to each item in the array in +series. The next iterator is only called once the current one has completed +processing. This means the iterator functions will complete in order. + + +--------------------------------------- + + + +### eachLimit(arr, limit, iterator, callback) + +The same as each only no more than "limit" iterators will be simultaneously +running at any time. + +Note that the items are not processed in batches, so there is no guarantee that + the first "limit" iterator functions will complete before any others are +started. + +__Arguments__ + +* arr - An array to iterate over. +* limit - The maximum number of iterators to run at any time. +* iterator(item, callback) - A function to apply to each item in the array. + The iterator is passed a callback(err) which must be called once it has + completed. If no error has occured, the callback should be run without + arguments or with an explicit null argument. +* callback(err) - A callback which is called after all the iterator functions + have finished, or an error has occurred. + +__Example__ + +```js +// Assume documents is an array of JSON objects and requestApi is a +// function that interacts with a rate-limited REST api. + +async.eachLimit(documents, 20, requestApi, function(err){ + // if any of the saves produced an error, err would equal that error +}); +``` + +--------------------------------------- + + +### map(arr, iterator, callback) + +Produces a new array of values by mapping each value in the given array through +the iterator function. The iterator is called with an item from the array and a +callback for when it has finished processing. The callback takes 2 arguments, +an error and the transformed item from the array. If the iterator passes an +error to this callback, the main callback for the map function is immediately +called with the error. + +Note, that since this function applies the iterator to each item in parallel +there is no guarantee that the iterator functions will complete in order, however +the results array will be in the same order as the original array. + +__Arguments__ + +* arr - An array to iterate over. +* iterator(item, callback) - A function to apply to each item in the array. + The iterator is passed a callback(err, transformed) which must be called once + it has completed with an error (which can be null) and a transformed item. +* callback(err, results) - A callback which is called after all the iterator + functions have finished, or an error has occurred. Results is an array of the + transformed items from the original array. + +__Example__ + +```js +async.map(['file1','file2','file3'], fs.stat, function(err, results){ + // results is now an array of stats for each file +}); +``` + +--------------------------------------- + + +### mapSeries(arr, iterator, callback) + +The same as map only the iterator is applied to each item in the array in +series. The next iterator is only called once the current one has completed +processing. The results array will be in the same order as the original. + + +--------------------------------------- + + +### mapLimit(arr, limit, iterator, callback) + +The same as map only no more than "limit" iterators will be simultaneously +running at any time. + +Note that the items are not processed in batches, so there is no guarantee that + the first "limit" iterator functions will complete before any others are +started. + +__Arguments__ + +* arr - An array to iterate over. +* limit - The maximum number of iterators to run at any time. +* iterator(item, callback) - A function to apply to each item in the array. + The iterator is passed a callback(err, transformed) which must be called once + it has completed with an error (which can be null) and a transformed item. +* callback(err, results) - A callback which is called after all the iterator + functions have finished, or an error has occurred. Results is an array of the + transformed items from the original array. + +__Example__ + +```js +async.map(['file1','file2','file3'], 1, fs.stat, function(err, results){ + // results is now an array of stats for each file +}); +``` + +--------------------------------------- + + +### filter(arr, iterator, callback) + +__Alias:__ select + +Returns a new array of all the values which pass an async truth test. +_The callback for each iterator call only accepts a single argument of true or +false, it does not accept an error argument first!_ This is in-line with the +way node libraries work with truth tests like fs.exists. This operation is +performed in parallel, but the results array will be in the same order as the +original. + +__Arguments__ + +* arr - An array to iterate over. +* iterator(item, callback) - A truth test to apply to each item in the array. + The iterator is passed a callback(truthValue) which must be called with a + boolean argument once it has completed. +* callback(results) - A callback which is called after all the iterator + functions have finished. + +__Example__ + +```js +async.filter(['file1','file2','file3'], fs.exists, function(results){ + // results now equals an array of the existing files +}); +``` + +--------------------------------------- + + +### filterSeries(arr, iterator, callback) + +__alias:__ selectSeries + +The same as filter only the iterator is applied to each item in the array in +series. The next iterator is only called once the current one has completed +processing. The results array will be in the same order as the original. + +--------------------------------------- + + +### reject(arr, iterator, callback) + +The opposite of filter. Removes values that pass an async truth test. + +--------------------------------------- + + +### rejectSeries(arr, iterator, callback) + +The same as reject, only the iterator is applied to each item in the array +in series. + + +--------------------------------------- + + +### reduce(arr, memo, iterator, callback) + +__aliases:__ inject, foldl + +Reduces a list of values into a single value using an async iterator to return +each successive step. Memo is the initial state of the reduction. This +function only operates in series. For performance reasons, it may make sense to +split a call to this function into a parallel map, then use the normal +Array.prototype.reduce on the results. This function is for situations where +each step in the reduction needs to be async, if you can get the data before +reducing it then it's probably a good idea to do so. + +__Arguments__ + +* arr - An array to iterate over. +* memo - The initial state of the reduction. +* iterator(memo, item, callback) - A function applied to each item in the + array to produce the next step in the reduction. The iterator is passed a + callback(err, reduction) which accepts an optional error as its first + argument, and the state of the reduction as the second. If an error is + passed to the callback, the reduction is stopped and the main callback is + immediately called with the error. +* callback(err, result) - A callback which is called after all the iterator + functions have finished. Result is the reduced value. + +__Example__ + +```js +async.reduce([1,2,3], 0, function(memo, item, callback){ + // pointless async: + process.nextTick(function(){ + callback(null, memo + item) + }); +}, function(err, result){ + // result is now equal to the last value of memo, which is 6 +}); +``` + +--------------------------------------- + + +### reduceRight(arr, memo, iterator, callback) + +__Alias:__ foldr + +Same as reduce, only operates on the items in the array in reverse order. + + +--------------------------------------- + + +### detect(arr, iterator, callback) + +Returns the first value in a list that passes an async truth test. The +iterator is applied in parallel, meaning the first iterator to return true will +fire the detect callback with that result. That means the result might not be +the first item in the original array (in terms of order) that passes the test. + +If order within the original array is important then look at detectSeries. + +__Arguments__ + +* arr - An array to iterate over. +* iterator(item, callback) - A truth test to apply to each item in the array. + The iterator is passed a callback(truthValue) which must be called with a + boolean argument once it has completed. +* callback(result) - A callback which is called as soon as any iterator returns + true, or after all the iterator functions have finished. Result will be + the first item in the array that passes the truth test (iterator) or the + value undefined if none passed. + +__Example__ + +```js +async.detect(['file1','file2','file3'], fs.exists, function(result){ + // result now equals the first file in the list that exists +}); +``` + +--------------------------------------- + + +### detectSeries(arr, iterator, callback) + +The same as detect, only the iterator is applied to each item in the array +in series. This means the result is always the first in the original array (in +terms of array order) that passes the truth test. + + +--------------------------------------- + + +### sortBy(arr, iterator, callback) + +Sorts a list by the results of running each value through an async iterator. + +__Arguments__ + +* arr - An array to iterate over. +* iterator(item, callback) - A function to apply to each item in the array. + The iterator is passed a callback(err, sortValue) which must be called once it + has completed with an error (which can be null) and a value to use as the sort + criteria. +* callback(err, results) - A callback which is called after all the iterator + functions have finished, or an error has occurred. Results is the items from + the original array sorted by the values returned by the iterator calls. + +__Example__ + +```js +async.sortBy(['file1','file2','file3'], function(file, callback){ + fs.stat(file, function(err, stats){ + callback(err, stats.mtime); + }); +}, function(err, results){ + // results is now the original array of files sorted by + // modified date +}); +``` + +--------------------------------------- + + +### some(arr, iterator, callback) + +__Alias:__ any + +Returns true if at least one element in the array satisfies an async test. +_The callback for each iterator call only accepts a single argument of true or +false, it does not accept an error argument first!_ This is in-line with the +way node libraries work with truth tests like fs.exists. Once any iterator +call returns true, the main callback is immediately called. + +__Arguments__ + +* arr - An array to iterate over. +* iterator(item, callback) - A truth test to apply to each item in the array. + The iterator is passed a callback(truthValue) which must be called with a + boolean argument once it has completed. +* callback(result) - A callback which is called as soon as any iterator returns + true, or after all the iterator functions have finished. Result will be + either true or false depending on the values of the async tests. + +__Example__ + +```js +async.some(['file1','file2','file3'], fs.exists, function(result){ + // if result is true then at least one of the files exists +}); +``` + +--------------------------------------- + + +### every(arr, iterator, callback) + +__Alias:__ all + +Returns true if every element in the array satisfies an async test. +_The callback for each iterator call only accepts a single argument of true or +false, it does not accept an error argument first!_ This is in-line with the +way node libraries work with truth tests like fs.exists. + +__Arguments__ + +* arr - An array to iterate over. +* iterator(item, callback) - A truth test to apply to each item in the array. + The iterator is passed a callback(truthValue) which must be called with a + boolean argument once it has completed. +* callback(result) - A callback which is called after all the iterator + functions have finished. Result will be either true or false depending on + the values of the async tests. + +__Example__ + +```js +async.every(['file1','file2','file3'], fs.exists, function(result){ + // if result is true then every file exists +}); +``` + +--------------------------------------- + + +### concat(arr, iterator, callback) + +Applies an iterator to each item in a list, concatenating the results. Returns the +concatenated list. The iterators are called in parallel, and the results are +concatenated as they return. There is no guarantee that the results array will +be returned in the original order of the arguments passed to the iterator function. + +__Arguments__ + +* arr - An array to iterate over +* iterator(item, callback) - A function to apply to each item in the array. + The iterator is passed a callback(err, results) which must be called once it + has completed with an error (which can be null) and an array of results. +* callback(err, results) - A callback which is called after all the iterator + functions have finished, or an error has occurred. Results is an array containing + the concatenated results of the iterator function. + +__Example__ + +```js +async.concat(['dir1','dir2','dir3'], fs.readdir, function(err, files){ + // files is now a list of filenames that exist in the 3 directories +}); +``` + +--------------------------------------- + + +### concatSeries(arr, iterator, callback) + +Same as async.concat, but executes in series instead of parallel. + + +## Control Flow + + +### series(tasks, [callback]) + +Run an array of functions in series, each one running once the previous +function has completed. If any functions in the series pass an error to its +callback, no more functions are run and the callback for the series is +immediately called with the value of the error. Once the tasks have completed, +the results are passed to the final callback as an array. + +It is also possible to use an object instead of an array. Each property will be +run as a function and the results will be passed to the final callback as an object +instead of an array. This can be a more readable way of handling results from +async.series. + + +__Arguments__ + +* tasks - An array or object containing functions to run, each function is passed + a callback(err, result) it must call on completion with an error (which can + be null) and an optional result value. +* callback(err, results) - An optional callback to run once all the functions + have completed. This function gets a results array (or object) containing all + the result arguments passed to the task callbacks. + +__Example__ + +```js +async.series([ + function(callback){ + // do some stuff ... + callback(null, 'one'); + }, + function(callback){ + // do some more stuff ... + callback(null, 'two'); + } +], +// optional callback +function(err, results){ + // results is now equal to ['one', 'two'] +}); + + +// an example using an object instead of an array +async.series({ + one: function(callback){ + setTimeout(function(){ + callback(null, 1); + }, 200); + }, + two: function(callback){ + setTimeout(function(){ + callback(null, 2); + }, 100); + } +}, +function(err, results) { + // results is now equal to: {one: 1, two: 2} +}); +``` + +--------------------------------------- + + +### parallel(tasks, [callback]) + +Run an array of functions in parallel, without waiting until the previous +function has completed. If any of the functions pass an error to its +callback, the main callback is immediately called with the value of the error. +Once the tasks have completed, the results are passed to the final callback as an +array. + +It is also possible to use an object instead of an array. Each property will be +run as a function and the results will be passed to the final callback as an object +instead of an array. This can be a more readable way of handling results from +async.parallel. + + +__Arguments__ + +* tasks - An array or object containing functions to run, each function is passed + a callback(err, result) it must call on completion with an error (which can + be null) and an optional result value. +* callback(err, results) - An optional callback to run once all the functions + have completed. This function gets a results array (or object) containing all + the result arguments passed to the task callbacks. + +__Example__ + +```js +async.parallel([ + function(callback){ + setTimeout(function(){ + callback(null, 'one'); + }, 200); + }, + function(callback){ + setTimeout(function(){ + callback(null, 'two'); + }, 100); + } +], +// optional callback +function(err, results){ + // the results array will equal ['one','two'] even though + // the second function had a shorter timeout. +}); + + +// an example using an object instead of an array +async.parallel({ + one: function(callback){ + setTimeout(function(){ + callback(null, 1); + }, 200); + }, + two: function(callback){ + setTimeout(function(){ + callback(null, 2); + }, 100); + } +}, +function(err, results) { + // results is now equals to: {one: 1, two: 2} +}); +``` + +--------------------------------------- + + +### parallelLimit(tasks, limit, [callback]) + +The same as parallel only the tasks are executed in parallel with a maximum of "limit" +tasks executing at any time. + +Note that the tasks are not executed in batches, so there is no guarantee that +the first "limit" tasks will complete before any others are started. + +__Arguments__ + +* tasks - An array or object containing functions to run, each function is passed + a callback(err, result) it must call on completion with an error (which can + be null) and an optional result value. +* limit - The maximum number of tasks to run at any time. +* callback(err, results) - An optional callback to run once all the functions + have completed. This function gets a results array (or object) containing all + the result arguments passed to the task callbacks. + +--------------------------------------- + + +### whilst(test, fn, callback) + +Repeatedly call fn, while test returns true. Calls the callback when stopped, +or an error occurs. + +__Arguments__ + +* test() - synchronous truth test to perform before each execution of fn. +* fn(callback) - A function to call each time the test passes. The function is + passed a callback(err) which must be called once it has completed with an + optional error argument. +* callback(err) - A callback which is called after the test fails and repeated + execution of fn has stopped. + +__Example__ + +```js +var count = 0; + +async.whilst( + function () { return count < 5; }, + function (callback) { + count++; + setTimeout(callback, 1000); + }, + function (err) { + // 5 seconds have passed + } +); +``` + +--------------------------------------- + + +### doWhilst(fn, test, callback) + +The post check version of whilst. To reflect the difference in the order of operations `test` and `fn` arguments are switched. `doWhilst` is to `whilst` as `do while` is to `while` in plain JavaScript. + +--------------------------------------- + + +### until(test, fn, callback) + +Repeatedly call fn, until test returns true. Calls the callback when stopped, +or an error occurs. + +The inverse of async.whilst. + +--------------------------------------- + + +### doUntil(fn, test, callback) + +Like doWhilst except the test is inverted. Note the argument ordering differs from `until`. + +--------------------------------------- + + +### forever(fn, callback) + +Calls the asynchronous function 'fn' repeatedly, in series, indefinitely. +If an error is passed to fn's callback then 'callback' is called with the +error, otherwise it will never be called. + +--------------------------------------- + + +### waterfall(tasks, [callback]) + +Runs an array of functions in series, each passing their results to the next in +the array. However, if any of the functions pass an error to the callback, the +next function is not executed and the main callback is immediately called with +the error. + +__Arguments__ + +* tasks - An array of functions to run, each function is passed a + callback(err, result1, result2, ...) it must call on completion. The first + argument is an error (which can be null) and any further arguments will be + passed as arguments in order to the next task. +* callback(err, [results]) - An optional callback to run once all the functions + have completed. This will be passed the results of the last task's callback. + + + +__Example__ + +```js +async.waterfall([ + function(callback){ + callback(null, 'one', 'two'); + }, + function(arg1, arg2, callback){ + callback(null, 'three'); + }, + function(arg1, callback){ + // arg1 now equals 'three' + callback(null, 'done'); + } +], function (err, result) { + // result now equals 'done' +}); +``` + +--------------------------------------- + +### compose(fn1, fn2...) + +Creates a function which is a composition of the passed asynchronous +functions. Each function consumes the return value of the function that +follows. Composing functions f(), g() and h() would produce the result of +f(g(h())), only this version uses callbacks to obtain the return values. + +Each function is executed with the `this` binding of the composed function. + +__Arguments__ + +* functions... - the asynchronous functions to compose + + +__Example__ + +```js +function add1(n, callback) { + setTimeout(function () { + callback(null, n + 1); + }, 10); +} + +function mul3(n, callback) { + setTimeout(function () { + callback(null, n * 3); + }, 10); +} + +var add1mul3 = async.compose(mul3, add1); + +add1mul3(4, function (err, result) { + // result now equals 15 +}); +``` + +--------------------------------------- + +### applyEach(fns, args..., callback) + +Applies the provided arguments to each function in the array, calling the +callback after all functions have completed. If you only provide the first +argument then it will return a function which lets you pass in the +arguments as if it were a single function call. + +__Arguments__ + +* fns - the asynchronous functions to all call with the same arguments +* args... - any number of separate arguments to pass to the function +* callback - the final argument should be the callback, called when all + functions have completed processing + + +__Example__ + +```js +async.applyEach([enableSearch, updateSchema], 'bucket', callback); + +// partial application example: +async.each( + buckets, + async.applyEach([enableSearch, updateSchema]), + callback +); +``` + +--------------------------------------- + + +### applyEachSeries(arr, iterator, callback) + +The same as applyEach only the functions are applied in series. + +--------------------------------------- + + +### queue(worker, concurrency) + +Creates a queue object with the specified concurrency. Tasks added to the +queue will be processed in parallel (up to the concurrency limit). If all +workers are in progress, the task is queued until one is available. Once +a worker has completed a task, the task's callback is called. + +__Arguments__ + +* worker(task, callback) - An asynchronous function for processing a queued + task, which must call its callback(err) argument when finished, with an + optional error as an argument. +* concurrency - An integer for determining how many worker functions should be + run in parallel. + +__Queue objects__ + +The queue object returned by this function has the following properties and +methods: + +* length() - a function returning the number of items waiting to be processed. +* concurrency - an integer for determining how many worker functions should be + run in parallel. This property can be changed after a queue is created to + alter the concurrency on-the-fly. +* push(task, [callback]) - add a new task to the queue, the callback is called + once the worker has finished processing the task. + instead of a single task, an array of tasks can be submitted. the respective callback is used for every task in the list. +* unshift(task, [callback]) - add a new task to the front of the queue. +* saturated - a callback that is called when the queue length hits the concurrency and further tasks will be queued +* empty - a callback that is called when the last item from the queue is given to a worker +* drain - a callback that is called when the last item from the queue has returned from the worker + +__Example__ + +```js +// create a queue object with concurrency 2 + +var q = async.queue(function (task, callback) { + console.log('hello ' + task.name); + callback(); +}, 2); + + +// assign a callback +q.drain = function() { + console.log('all items have been processed'); +} + +// add some items to the queue + +q.push({name: 'foo'}, function (err) { + console.log('finished processing foo'); +}); +q.push({name: 'bar'}, function (err) { + console.log('finished processing bar'); +}); + +// add some items to the queue (batch-wise) + +q.push([{name: 'baz'},{name: 'bay'},{name: 'bax'}], function (err) { + console.log('finished processing bar'); +}); + +// add some items to the front of the queue + +q.unshift({name: 'bar'}, function (err) { + console.log('finished processing bar'); +}); +``` + +--------------------------------------- + + +### cargo(worker, [payload]) + +Creates a cargo object with the specified payload. Tasks added to the +cargo will be processed altogether (up to the payload limit). If the +worker is in progress, the task is queued until it is available. Once +the worker has completed some tasks, each callback of those tasks is called. + +__Arguments__ + +* worker(tasks, callback) - An asynchronous function for processing an array of + queued tasks, which must call its callback(err) argument when finished, with + an optional error as an argument. +* payload - An optional integer for determining how many tasks should be + processed per round; if omitted, the default is unlimited. + +__Cargo objects__ + +The cargo object returned by this function has the following properties and +methods: + +* length() - a function returning the number of items waiting to be processed. +* payload - an integer for determining how many tasks should be + process per round. This property can be changed after a cargo is created to + alter the payload on-the-fly. +* push(task, [callback]) - add a new task to the queue, the callback is called + once the worker has finished processing the task. + instead of a single task, an array of tasks can be submitted. the respective callback is used for every task in the list. +* saturated - a callback that is called when the queue length hits the concurrency and further tasks will be queued +* empty - a callback that is called when the last item from the queue is given to a worker +* drain - a callback that is called when the last item from the queue has returned from the worker + +__Example__ + +```js +// create a cargo object with payload 2 + +var cargo = async.cargo(function (tasks, callback) { + for(var i=0; i +### auto(tasks, [callback]) + +Determines the best order for running functions based on their requirements. +Each function can optionally depend on other functions being completed first, +and each function is run as soon as its requirements are satisfied. If any of +the functions pass an error to their callback, that function will not complete +(so any other functions depending on it will not run) and the main callback +will be called immediately with the error. Functions also receive an object +containing the results of functions which have completed so far. + +Note, all functions are called with a results object as a second argument, +so it is unsafe to pass functions in the tasks object which cannot handle the +extra argument. For example, this snippet of code: + +```js +async.auto({ + readData: async.apply(fs.readFile, 'data.txt', 'utf-8'); +}, callback); +``` + +will have the effect of calling readFile with the results object as the last +argument, which will fail: + +```js +fs.readFile('data.txt', 'utf-8', cb, {}); +``` + +Instead, wrap the call to readFile in a function which does not forward the +results object: + +```js +async.auto({ + readData: function(cb, results){ + fs.readFile('data.txt', 'utf-8', cb); + } +}, callback); +``` + +__Arguments__ + +* tasks - An object literal containing named functions or an array of + requirements, with the function itself the last item in the array. The key + used for each function or array is used when specifying requirements. The + function receives two arguments: (1) a callback(err, result) which must be + called when finished, passing an error (which can be null) and the result of + the function's execution, and (2) a results object, containing the results of + the previously executed functions. +* callback(err, results) - An optional callback which is called when all the + tasks have been completed. The callback will receive an error as an argument + if any tasks pass an error to their callback. Results will always be passed + but if an error occurred, no other tasks will be performed, and the results + object will only contain partial results. + + +__Example__ + +```js +async.auto({ + get_data: function(callback){ + // async code to get some data + }, + make_folder: function(callback){ + // async code to create a directory to store a file in + // this is run at the same time as getting the data + }, + write_file: ['get_data', 'make_folder', function(callback){ + // once there is some data and the directory exists, + // write the data to a file in the directory + callback(null, filename); + }], + email_link: ['write_file', function(callback, results){ + // once the file is written let's email a link to it... + // results.write_file contains the filename returned by write_file. + }] +}); +``` + +This is a fairly trivial example, but to do this using the basic parallel and +series functions would look like this: + +```js +async.parallel([ + function(callback){ + // async code to get some data + }, + function(callback){ + // async code to create a directory to store a file in + // this is run at the same time as getting the data + } +], +function(err, results){ + async.series([ + function(callback){ + // once there is some data and the directory exists, + // write the data to a file in the directory + }, + function(callback){ + // once the file is written let's email a link to it... + } + ]); +}); +``` + +For a complicated series of async tasks using the auto function makes adding +new tasks much easier and makes the code more readable. + + +--------------------------------------- + + +### iterator(tasks) + +Creates an iterator function which calls the next function in the array, +returning a continuation to call the next one after that. It's also possible to +'peek' the next iterator by doing iterator.next(). + +This function is used internally by the async module but can be useful when +you want to manually control the flow of functions in series. + +__Arguments__ + +* tasks - An array of functions to run. + +__Example__ + +```js +var iterator = async.iterator([ + function(){ sys.p('one'); }, + function(){ sys.p('two'); }, + function(){ sys.p('three'); } +]); + +node> var iterator2 = iterator(); +'one' +node> var iterator3 = iterator2(); +'two' +node> iterator3(); +'three' +node> var nextfn = iterator2.next(); +node> nextfn(); +'three' +``` + +--------------------------------------- + + +### apply(function, arguments..) + +Creates a continuation function with some arguments already applied, a useful +shorthand when combined with other control flow functions. Any arguments +passed to the returned function are added to the arguments originally passed +to apply. + +__Arguments__ + +* function - The function you want to eventually apply all arguments to. +* arguments... - Any number of arguments to automatically apply when the + continuation is called. + +__Example__ + +```js +// using apply + +async.parallel([ + async.apply(fs.writeFile, 'testfile1', 'test1'), + async.apply(fs.writeFile, 'testfile2', 'test2'), +]); + + +// the same process without using apply + +async.parallel([ + function(callback){ + fs.writeFile('testfile1', 'test1', callback); + }, + function(callback){ + fs.writeFile('testfile2', 'test2', callback); + } +]); +``` + +It's possible to pass any number of additional arguments when calling the +continuation: + +```js +node> var fn = async.apply(sys.puts, 'one'); +node> fn('two', 'three'); +one +two +three +``` + +--------------------------------------- + + +### nextTick(callback) + +Calls the callback on a later loop around the event loop. In node.js this just +calls process.nextTick, in the browser it falls back to setImmediate(callback) +if available, otherwise setTimeout(callback, 0), which means other higher priority +events may precede the execution of the callback. + +This is used internally for browser-compatibility purposes. + +__Arguments__ + +* callback - The function to call on a later loop around the event loop. + +__Example__ + +```js +var call_order = []; +async.nextTick(function(){ + call_order.push('two'); + // call_order now equals ['one','two'] +}); +call_order.push('one') +``` + + +### times(n, callback) + +Calls the callback n times and accumulates results in the same manner +you would use with async.map. + +__Arguments__ + +* n - The number of times to run the function. +* callback - The function to call n times. + +__Example__ + +```js +// Pretend this is some complicated async factory +var createUser = function(id, callback) { + callback(null, { + id: 'user' + id + }) +} +// generate 5 users +async.times(5, function(n, next){ + createUser(n, function(err, user) { + next(err, user) + }) +}, function(err, users) { + // we should now have 5 users +}); +``` + + +### timesSeries(n, callback) + +The same as times only the iterator is applied to each item in the array in +series. The next iterator is only called once the current one has completed +processing. The results array will be in the same order as the original. + + +## Utils + + +### memoize(fn, [hasher]) + +Caches the results of an async function. When creating a hash to store function +results against, the callback is omitted from the hash and an optional hash +function can be used. + +The cache of results is exposed as the `memo` property of the function returned +by `memoize`. + +__Arguments__ + +* fn - the function you to proxy and cache results from. +* hasher - an optional function for generating a custom hash for storing + results, it has all the arguments applied to it apart from the callback, and + must be synchronous. + +__Example__ + +```js +var slow_fn = function (name, callback) { + // do something + callback(null, result); +}; +var fn = async.memoize(slow_fn); + +// fn can now be used as if it were slow_fn +fn('some name', function () { + // callback +}); +``` + + +### unmemoize(fn) + +Undoes a memoized function, reverting it to the original, unmemoized +form. Comes handy in tests. + +__Arguments__ + +* fn - the memoized function + + +### log(function, arguments) + +Logs the result of an async function to the console. Only works in node.js or +in browsers that support console.log and console.error (such as FF and Chrome). +If multiple arguments are returned from the async function, console.log is +called on each argument in order. + +__Arguments__ + +* function - The function you want to eventually apply all arguments to. +* arguments... - Any number of arguments to apply to the function. + +__Example__ + +```js +var hello = function(name, callback){ + setTimeout(function(){ + callback(null, 'hello ' + name); + }, 1000); +}; +``` +```js +node> async.log(hello, 'world'); +'hello world' +``` + +--------------------------------------- + + +### dir(function, arguments) + +Logs the result of an async function to the console using console.dir to +display the properties of the resulting object. Only works in node.js or +in browsers that support console.dir and console.error (such as FF and Chrome). +If multiple arguments are returned from the async function, console.dir is +called on each argument in order. + +__Arguments__ + +* function - The function you want to eventually apply all arguments to. +* arguments... - Any number of arguments to apply to the function. + +__Example__ + +```js +var hello = function(name, callback){ + setTimeout(function(){ + callback(null, {hello: name}); + }, 1000); +}; +``` +```js +node> async.dir(hello, 'world'); +{hello: 'world'} +``` + +--------------------------------------- + + +### noConflict() + +Changes the value of async back to its original value, returning a reference to the +async object. diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/async/component.json b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/async/component.json new file mode 100644 index 0000000..bbb0115 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/async/component.json @@ -0,0 +1,11 @@ +{ + "name": "async", + "repo": "caolan/async", + "description": "Higher-order functions and common patterns for asynchronous code", + "version": "0.1.23", + "keywords": [], + "dependencies": {}, + "development": {}, + "main": "lib/async.js", + "scripts": [ "lib/async.js" ] +} diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/async/lib/async.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/async/lib/async.js new file mode 100755 index 0000000..cb6320d --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/async/lib/async.js @@ -0,0 +1,955 @@ +/*global setImmediate: false, setTimeout: false, console: false */ +(function () { + + var async = {}; + + // global on the server, window in the browser + var root, previous_async; + + root = this; + if (root != null) { + previous_async = root.async; + } + + async.noConflict = function () { + root.async = previous_async; + return async; + }; + + function only_once(fn) { + var called = false; + return function() { + if (called) throw new Error("Callback was already called."); + called = true; + fn.apply(root, arguments); + } + } + + //// cross-browser compatiblity functions //// + + var _each = function (arr, iterator) { + if (arr.forEach) { + return arr.forEach(iterator); + } + for (var i = 0; i < arr.length; i += 1) { + iterator(arr[i], i, arr); + } + }; + + var _map = function (arr, iterator) { + if (arr.map) { + return arr.map(iterator); + } + var results = []; + _each(arr, function (x, i, a) { + results.push(iterator(x, i, a)); + }); + return results; + }; + + var _reduce = function (arr, iterator, memo) { + if (arr.reduce) { + return arr.reduce(iterator, memo); + } + _each(arr, function (x, i, a) { + memo = iterator(memo, x, i, a); + }); + return memo; + }; + + var _keys = function (obj) { + if (Object.keys) { + return Object.keys(obj); + } + var keys = []; + for (var k in obj) { + if (obj.hasOwnProperty(k)) { + keys.push(k); + } + } + return keys; + }; + + //// exported async module functions //// + + //// nextTick implementation with browser-compatible fallback //// + if (typeof process === 'undefined' || !(process.nextTick)) { + if (typeof setImmediate === 'function') { + async.nextTick = function (fn) { + // not a direct alias for IE10 compatibility + setImmediate(fn); + }; + async.setImmediate = async.nextTick; + } + else { + async.nextTick = function (fn) { + setTimeout(fn, 0); + }; + async.setImmediate = async.nextTick; + } + } + else { + async.nextTick = process.nextTick; + if (typeof setImmediate !== 'undefined') { + async.setImmediate = setImmediate; + } + else { + async.setImmediate = async.nextTick; + } + } + + async.each = function (arr, iterator, callback) { + callback = callback || function () {}; + if (!arr.length) { + return callback(); + } + var completed = 0; + _each(arr, function (x) { + iterator(x, only_once(function (err) { + if (err) { + callback(err); + callback = function () {}; + } + else { + completed += 1; + if (completed >= arr.length) { + callback(null); + } + } + })); + }); + }; + async.forEach = async.each; + + async.eachSeries = function (arr, iterator, callback) { + callback = callback || function () {}; + if (!arr.length) { + return callback(); + } + var completed = 0; + var iterate = function () { + iterator(arr[completed], function (err) { + if (err) { + callback(err); + callback = function () {}; + } + else { + completed += 1; + if (completed >= arr.length) { + callback(null); + } + else { + iterate(); + } + } + }); + }; + iterate(); + }; + async.forEachSeries = async.eachSeries; + + async.eachLimit = function (arr, limit, iterator, callback) { + var fn = _eachLimit(limit); + fn.apply(null, [arr, iterator, callback]); + }; + async.forEachLimit = async.eachLimit; + + var _eachLimit = function (limit) { + + return function (arr, iterator, callback) { + callback = callback || function () {}; + if (!arr.length || limit <= 0) { + return callback(); + } + var completed = 0; + var started = 0; + var running = 0; + + (function replenish () { + if (completed >= arr.length) { + return callback(); + } + + while (running < limit && started < arr.length) { + started += 1; + running += 1; + iterator(arr[started - 1], function (err) { + if (err) { + callback(err); + callback = function () {}; + } + else { + completed += 1; + running -= 1; + if (completed >= arr.length) { + callback(); + } + else { + replenish(); + } + } + }); + } + })(); + }; + }; + + + var doParallel = function (fn) { + return function () { + var args = Array.prototype.slice.call(arguments); + return fn.apply(null, [async.each].concat(args)); + }; + }; + var doParallelLimit = function(limit, fn) { + return function () { + var args = Array.prototype.slice.call(arguments); + return fn.apply(null, [_eachLimit(limit)].concat(args)); + }; + }; + var doSeries = function (fn) { + return function () { + var args = Array.prototype.slice.call(arguments); + return fn.apply(null, [async.eachSeries].concat(args)); + }; + }; + + + var _asyncMap = function (eachfn, arr, iterator, callback) { + var results = []; + arr = _map(arr, function (x, i) { + return {index: i, value: x}; + }); + eachfn(arr, function (x, callback) { + iterator(x.value, function (err, v) { + results[x.index] = v; + callback(err); + }); + }, function (err) { + callback(err, results); + }); + }; + async.map = doParallel(_asyncMap); + async.mapSeries = doSeries(_asyncMap); + async.mapLimit = function (arr, limit, iterator, callback) { + return _mapLimit(limit)(arr, iterator, callback); + }; + + var _mapLimit = function(limit) { + return doParallelLimit(limit, _asyncMap); + }; + + // reduce only has a series version, as doing reduce in parallel won't + // work in many situations. + async.reduce = function (arr, memo, iterator, callback) { + async.eachSeries(arr, function (x, callback) { + iterator(memo, x, function (err, v) { + memo = v; + callback(err); + }); + }, function (err) { + callback(err, memo); + }); + }; + // inject alias + async.inject = async.reduce; + // foldl alias + async.foldl = async.reduce; + + async.reduceRight = function (arr, memo, iterator, callback) { + var reversed = _map(arr, function (x) { + return x; + }).reverse(); + async.reduce(reversed, memo, iterator, callback); + }; + // foldr alias + async.foldr = async.reduceRight; + + var _filter = function (eachfn, arr, iterator, callback) { + var results = []; + arr = _map(arr, function (x, i) { + return {index: i, value: x}; + }); + eachfn(arr, function (x, callback) { + iterator(x.value, function (v) { + if (v) { + results.push(x); + } + callback(); + }); + }, function (err) { + callback(_map(results.sort(function (a, b) { + return a.index - b.index; + }), function (x) { + return x.value; + })); + }); + }; + async.filter = doParallel(_filter); + async.filterSeries = doSeries(_filter); + // select alias + async.select = async.filter; + async.selectSeries = async.filterSeries; + + var _reject = function (eachfn, arr, iterator, callback) { + var results = []; + arr = _map(arr, function (x, i) { + return {index: i, value: x}; + }); + eachfn(arr, function (x, callback) { + iterator(x.value, function (v) { + if (!v) { + results.push(x); + } + callback(); + }); + }, function (err) { + callback(_map(results.sort(function (a, b) { + return a.index - b.index; + }), function (x) { + return x.value; + })); + }); + }; + async.reject = doParallel(_reject); + async.rejectSeries = doSeries(_reject); + + var _detect = function (eachfn, arr, iterator, main_callback) { + eachfn(arr, function (x, callback) { + iterator(x, function (result) { + if (result) { + main_callback(x); + main_callback = function () {}; + } + else { + callback(); + } + }); + }, function (err) { + main_callback(); + }); + }; + async.detect = doParallel(_detect); + async.detectSeries = doSeries(_detect); + + async.some = function (arr, iterator, main_callback) { + async.each(arr, function (x, callback) { + iterator(x, function (v) { + if (v) { + main_callback(true); + main_callback = function () {}; + } + callback(); + }); + }, function (err) { + main_callback(false); + }); + }; + // any alias + async.any = async.some; + + async.every = function (arr, iterator, main_callback) { + async.each(arr, function (x, callback) { + iterator(x, function (v) { + if (!v) { + main_callback(false); + main_callback = function () {}; + } + callback(); + }); + }, function (err) { + main_callback(true); + }); + }; + // all alias + async.all = async.every; + + async.sortBy = function (arr, iterator, callback) { + async.map(arr, function (x, callback) { + iterator(x, function (err, criteria) { + if (err) { + callback(err); + } + else { + callback(null, {value: x, criteria: criteria}); + } + }); + }, function (err, results) { + if (err) { + return callback(err); + } + else { + var fn = function (left, right) { + var a = left.criteria, b = right.criteria; + return a < b ? -1 : a > b ? 1 : 0; + }; + callback(null, _map(results.sort(fn), function (x) { + return x.value; + })); + } + }); + }; + + async.auto = function (tasks, callback) { + callback = callback || function () {}; + var keys = _keys(tasks); + if (!keys.length) { + return callback(null); + } + + var results = {}; + + var listeners = []; + var addListener = function (fn) { + listeners.unshift(fn); + }; + var removeListener = function (fn) { + for (var i = 0; i < listeners.length; i += 1) { + if (listeners[i] === fn) { + listeners.splice(i, 1); + return; + } + } + }; + var taskComplete = function () { + _each(listeners.slice(0), function (fn) { + fn(); + }); + }; + + addListener(function () { + if (_keys(results).length === keys.length) { + callback(null, results); + callback = function () {}; + } + }); + + _each(keys, function (k) { + var task = (tasks[k] instanceof Function) ? [tasks[k]]: tasks[k]; + var taskCallback = function (err) { + var args = Array.prototype.slice.call(arguments, 1); + if (args.length <= 1) { + args = args[0]; + } + if (err) { + var safeResults = {}; + _each(_keys(results), function(rkey) { + safeResults[rkey] = results[rkey]; + }); + safeResults[k] = args; + callback(err, safeResults); + // stop subsequent errors hitting callback multiple times + callback = function () {}; + } + else { + results[k] = args; + async.setImmediate(taskComplete); + } + }; + var requires = task.slice(0, Math.abs(task.length - 1)) || []; + var ready = function () { + return _reduce(requires, function (a, x) { + return (a && results.hasOwnProperty(x)); + }, true) && !results.hasOwnProperty(k); + }; + if (ready()) { + task[task.length - 1](taskCallback, results); + } + else { + var listener = function () { + if (ready()) { + removeListener(listener); + task[task.length - 1](taskCallback, results); + } + }; + addListener(listener); + } + }); + }; + + async.waterfall = function (tasks, callback) { + callback = callback || function () {}; + if (tasks.constructor !== Array) { + var err = new Error('First argument to waterfall must be an array of functions'); + return callback(err); + } + if (!tasks.length) { + return callback(); + } + var wrapIterator = function (iterator) { + return function (err) { + if (err) { + callback.apply(null, arguments); + callback = function () {}; + } + else { + var args = Array.prototype.slice.call(arguments, 1); + var next = iterator.next(); + if (next) { + args.push(wrapIterator(next)); + } + else { + args.push(callback); + } + async.setImmediate(function () { + iterator.apply(null, args); + }); + } + }; + }; + wrapIterator(async.iterator(tasks))(); + }; + + var _parallel = function(eachfn, tasks, callback) { + callback = callback || function () {}; + if (tasks.constructor === Array) { + eachfn.map(tasks, function (fn, callback) { + if (fn) { + fn(function (err) { + var args = Array.prototype.slice.call(arguments, 1); + if (args.length <= 1) { + args = args[0]; + } + callback.call(null, err, args); + }); + } + }, callback); + } + else { + var results = {}; + eachfn.each(_keys(tasks), function (k, callback) { + tasks[k](function (err) { + var args = Array.prototype.slice.call(arguments, 1); + if (args.length <= 1) { + args = args[0]; + } + results[k] = args; + callback(err); + }); + }, function (err) { + callback(err, results); + }); + } + }; + + async.parallel = function (tasks, callback) { + _parallel({ map: async.map, each: async.each }, tasks, callback); + }; + + async.parallelLimit = function(tasks, limit, callback) { + _parallel({ map: _mapLimit(limit), each: _eachLimit(limit) }, tasks, callback); + }; + + async.series = function (tasks, callback) { + callback = callback || function () {}; + if (tasks.constructor === Array) { + async.mapSeries(tasks, function (fn, callback) { + if (fn) { + fn(function (err) { + var args = Array.prototype.slice.call(arguments, 1); + if (args.length <= 1) { + args = args[0]; + } + callback.call(null, err, args); + }); + } + }, callback); + } + else { + var results = {}; + async.eachSeries(_keys(tasks), function (k, callback) { + tasks[k](function (err) { + var args = Array.prototype.slice.call(arguments, 1); + if (args.length <= 1) { + args = args[0]; + } + results[k] = args; + callback(err); + }); + }, function (err) { + callback(err, results); + }); + } + }; + + async.iterator = function (tasks) { + var makeCallback = function (index) { + var fn = function () { + if (tasks.length) { + tasks[index].apply(null, arguments); + } + return fn.next(); + }; + fn.next = function () { + return (index < tasks.length - 1) ? makeCallback(index + 1): null; + }; + return fn; + }; + return makeCallback(0); + }; + + async.apply = function (fn) { + var args = Array.prototype.slice.call(arguments, 1); + return function () { + return fn.apply( + null, args.concat(Array.prototype.slice.call(arguments)) + ); + }; + }; + + var _concat = function (eachfn, arr, fn, callback) { + var r = []; + eachfn(arr, function (x, cb) { + fn(x, function (err, y) { + r = r.concat(y || []); + cb(err); + }); + }, function (err) { + callback(err, r); + }); + }; + async.concat = doParallel(_concat); + async.concatSeries = doSeries(_concat); + + async.whilst = function (test, iterator, callback) { + if (test()) { + iterator(function (err) { + if (err) { + return callback(err); + } + async.whilst(test, iterator, callback); + }); + } + else { + callback(); + } + }; + + async.doWhilst = function (iterator, test, callback) { + iterator(function (err) { + if (err) { + return callback(err); + } + if (test()) { + async.doWhilst(iterator, test, callback); + } + else { + callback(); + } + }); + }; + + async.until = function (test, iterator, callback) { + if (!test()) { + iterator(function (err) { + if (err) { + return callback(err); + } + async.until(test, iterator, callback); + }); + } + else { + callback(); + } + }; + + async.doUntil = function (iterator, test, callback) { + iterator(function (err) { + if (err) { + return callback(err); + } + if (!test()) { + async.doUntil(iterator, test, callback); + } + else { + callback(); + } + }); + }; + + async.queue = function (worker, concurrency) { + if (concurrency === undefined) { + concurrency = 1; + } + function _insert(q, data, pos, callback) { + if(data.constructor !== Array) { + data = [data]; + } + _each(data, function(task) { + var item = { + data: task, + callback: typeof callback === 'function' ? callback : null + }; + + if (pos) { + q.tasks.unshift(item); + } else { + q.tasks.push(item); + } + + if (q.saturated && q.tasks.length === concurrency) { + q.saturated(); + } + async.setImmediate(q.process); + }); + } + + var workers = 0; + var q = { + tasks: [], + concurrency: concurrency, + saturated: null, + empty: null, + drain: null, + push: function (data, callback) { + _insert(q, data, false, callback); + }, + unshift: function (data, callback) { + _insert(q, data, true, callback); + }, + process: function () { + if (workers < q.concurrency && q.tasks.length) { + var task = q.tasks.shift(); + if (q.empty && q.tasks.length === 0) { + q.empty(); + } + workers += 1; + var next = function () { + workers -= 1; + if (task.callback) { + task.callback.apply(task, arguments); + } + if (q.drain && q.tasks.length + workers === 0) { + q.drain(); + } + q.process(); + }; + var cb = only_once(next); + worker(task.data, cb); + } + }, + length: function () { + return q.tasks.length; + }, + running: function () { + return workers; + } + }; + return q; + }; + + async.cargo = function (worker, payload) { + var working = false, + tasks = []; + + var cargo = { + tasks: tasks, + payload: payload, + saturated: null, + empty: null, + drain: null, + push: function (data, callback) { + if(data.constructor !== Array) { + data = [data]; + } + _each(data, function(task) { + tasks.push({ + data: task, + callback: typeof callback === 'function' ? callback : null + }); + if (cargo.saturated && tasks.length === payload) { + cargo.saturated(); + } + }); + async.setImmediate(cargo.process); + }, + process: function process() { + if (working) return; + if (tasks.length === 0) { + if(cargo.drain) cargo.drain(); + return; + } + + var ts = typeof payload === 'number' + ? tasks.splice(0, payload) + : tasks.splice(0); + + var ds = _map(ts, function (task) { + return task.data; + }); + + if(cargo.empty) cargo.empty(); + working = true; + worker(ds, function () { + working = false; + + var args = arguments; + _each(ts, function (data) { + if (data.callback) { + data.callback.apply(null, args); + } + }); + + process(); + }); + }, + length: function () { + return tasks.length; + }, + running: function () { + return working; + } + }; + return cargo; + }; + + var _console_fn = function (name) { + return function (fn) { + var args = Array.prototype.slice.call(arguments, 1); + fn.apply(null, args.concat([function (err) { + var args = Array.prototype.slice.call(arguments, 1); + if (typeof console !== 'undefined') { + if (err) { + if (console.error) { + console.error(err); + } + } + else if (console[name]) { + _each(args, function (x) { + console[name](x); + }); + } + } + }])); + }; + }; + async.log = _console_fn('log'); + async.dir = _console_fn('dir'); + /*async.info = _console_fn('info'); + async.warn = _console_fn('warn'); + async.error = _console_fn('error');*/ + + async.memoize = function (fn, hasher) { + var memo = {}; + var queues = {}; + hasher = hasher || function (x) { + return x; + }; + var memoized = function () { + var args = Array.prototype.slice.call(arguments); + var callback = args.pop(); + var key = hasher.apply(null, args); + if (key in memo) { + callback.apply(null, memo[key]); + } + else if (key in queues) { + queues[key].push(callback); + } + else { + queues[key] = [callback]; + fn.apply(null, args.concat([function () { + memo[key] = arguments; + var q = queues[key]; + delete queues[key]; + for (var i = 0, l = q.length; i < l; i++) { + q[i].apply(null, arguments); + } + }])); + } + }; + memoized.memo = memo; + memoized.unmemoized = fn; + return memoized; + }; + + async.unmemoize = function (fn) { + return function () { + return (fn.unmemoized || fn).apply(null, arguments); + }; + }; + + async.times = function (count, iterator, callback) { + var counter = []; + for (var i = 0; i < count; i++) { + counter.push(i); + } + return async.map(counter, iterator, callback); + }; + + async.timesSeries = function (count, iterator, callback) { + var counter = []; + for (var i = 0; i < count; i++) { + counter.push(i); + } + return async.mapSeries(counter, iterator, callback); + }; + + async.compose = function (/* functions... */) { + var fns = Array.prototype.reverse.call(arguments); + return function () { + var that = this; + var args = Array.prototype.slice.call(arguments); + var callback = args.pop(); + async.reduce(fns, args, function (newargs, fn, cb) { + fn.apply(that, newargs.concat([function () { + var err = arguments[0]; + var nextargs = Array.prototype.slice.call(arguments, 1); + cb(err, nextargs); + }])) + }, + function (err, results) { + callback.apply(that, [err].concat(results)); + }); + }; + }; + + var _applyEach = function (eachfn, fns /*args...*/) { + var go = function () { + var that = this; + var args = Array.prototype.slice.call(arguments); + var callback = args.pop(); + return eachfn(fns, function (fn, cb) { + fn.apply(that, args.concat([cb])); + }, + callback); + }; + if (arguments.length > 2) { + var args = Array.prototype.slice.call(arguments, 2); + return go.apply(this, args); + } + else { + return go; + } + }; + async.applyEach = doParallel(_applyEach); + async.applyEachSeries = doSeries(_applyEach); + + async.forever = function (fn, callback) { + function next(err) { + if (err) { + if (callback) { + return callback(err); + } + throw err; + } + fn(next); + } + next(); + }; + + // AMD / RequireJS + if (typeof define !== 'undefined' && define.amd) { + define([], function () { + return async; + }); + } + // Node.js + else if (typeof module !== 'undefined' && module.exports) { + module.exports = async; + } + // included directly via \n\n```\n\n## Documentation\n\n### Collections\n\n* [each](#each)\n* [map](#map)\n* [filter](#filter)\n* [reject](#reject)\n* [reduce](#reduce)\n* [detect](#detect)\n* [sortBy](#sortBy)\n* [some](#some)\n* [every](#every)\n* [concat](#concat)\n\n### Control Flow\n\n* [series](#series)\n* [parallel](#parallel)\n* [whilst](#whilst)\n* [doWhilst](#doWhilst)\n* [until](#until)\n* [doUntil](#doUntil)\n* [forever](#forever)\n* [waterfall](#waterfall)\n* [compose](#compose)\n* [applyEach](#applyEach)\n* [queue](#queue)\n* [cargo](#cargo)\n* [auto](#auto)\n* [iterator](#iterator)\n* [apply](#apply)\n* [nextTick](#nextTick)\n* [times](#times)\n* [timesSeries](#timesSeries)\n\n### Utils\n\n* [memoize](#memoize)\n* [unmemoize](#unmemoize)\n* [log](#log)\n* [dir](#dir)\n* [noConflict](#noConflict)\n\n\n## Collections\n\n\n\n### each(arr, iterator, callback)\n\nApplies an iterator function to each item in an array, in parallel.\nThe iterator is called with an item from the list and a callback for when it\nhas finished. If the iterator passes an error to this callback, the main\ncallback for the each function is immediately called with the error.\n\nNote, that since this function applies the iterator to each item in parallel\nthere is no guarantee that the iterator functions will complete in order.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err) which must be called once it has \n completed. If no error has occured, the callback should be run without \n arguments or with an explicit null argument.\n* callback(err) - A callback which is called after all the iterator functions\n have finished, or an error has occurred.\n\n__Example__\n\n```js\n// assuming openFiles is an array of file names and saveFile is a function\n// to save the modified contents of that file:\n\nasync.each(openFiles, saveFile, function(err){\n // if any of the saves produced an error, err would equal that error\n});\n```\n\n---------------------------------------\n\n\n\n### eachSeries(arr, iterator, callback)\n\nThe same as each only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. This means the iterator functions will complete in order.\n\n\n---------------------------------------\n\n\n\n### eachLimit(arr, limit, iterator, callback)\n\nThe same as each only no more than \"limit\" iterators will be simultaneously \nrunning at any time.\n\nNote that the items are not processed in batches, so there is no guarantee that\n the first \"limit\" iterator functions will complete before any others are \nstarted.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* limit - The maximum number of iterators to run at any time.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err) which must be called once it has \n completed. If no error has occured, the callback should be run without \n arguments or with an explicit null argument.\n* callback(err) - A callback which is called after all the iterator functions\n have finished, or an error has occurred.\n\n__Example__\n\n```js\n// Assume documents is an array of JSON objects and requestApi is a\n// function that interacts with a rate-limited REST api.\n\nasync.eachLimit(documents, 20, requestApi, function(err){\n // if any of the saves produced an error, err would equal that error\n});\n```\n\n---------------------------------------\n\n\n### map(arr, iterator, callback)\n\nProduces a new array of values by mapping each value in the given array through\nthe iterator function. The iterator is called with an item from the array and a\ncallback for when it has finished processing. The callback takes 2 arguments, \nan error and the transformed item from the array. If the iterator passes an\nerror to this callback, the main callback for the map function is immediately\ncalled with the error.\n\nNote, that since this function applies the iterator to each item in parallel\nthere is no guarantee that the iterator functions will complete in order, however\nthe results array will be in the same order as the original array.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err, transformed) which must be called once \n it has completed with an error (which can be null) and a transformed item.\n* callback(err, results) - A callback which is called after all the iterator\n functions have finished, or an error has occurred. Results is an array of the\n transformed items from the original array.\n\n__Example__\n\n```js\nasync.map(['file1','file2','file3'], fs.stat, function(err, results){\n // results is now an array of stats for each file\n});\n```\n\n---------------------------------------\n\n\n### mapSeries(arr, iterator, callback)\n\nThe same as map only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n\n---------------------------------------\n\n\n### mapLimit(arr, limit, iterator, callback)\n\nThe same as map only no more than \"limit\" iterators will be simultaneously \nrunning at any time.\n\nNote that the items are not processed in batches, so there is no guarantee that\n the first \"limit\" iterator functions will complete before any others are \nstarted.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* limit - The maximum number of iterators to run at any time.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err, transformed) which must be called once \n it has completed with an error (which can be null) and a transformed item.\n* callback(err, results) - A callback which is called after all the iterator\n functions have finished, or an error has occurred. Results is an array of the\n transformed items from the original array.\n\n__Example__\n\n```js\nasync.map(['file1','file2','file3'], 1, fs.stat, function(err, results){\n // results is now an array of stats for each file\n});\n```\n\n---------------------------------------\n\n\n### filter(arr, iterator, callback)\n\n__Alias:__ select\n\nReturns a new array of all the values which pass an async truth test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like fs.exists. This operation is\nperformed in parallel, but the results array will be in the same order as the\noriginal.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback(truthValue) which must be called with a \n boolean argument once it has completed.\n* callback(results) - A callback which is called after all the iterator\n functions have finished.\n\n__Example__\n\n```js\nasync.filter(['file1','file2','file3'], fs.exists, function(results){\n // results now equals an array of the existing files\n});\n```\n\n---------------------------------------\n\n\n### filterSeries(arr, iterator, callback)\n\n__alias:__ selectSeries\n\nThe same as filter only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n---------------------------------------\n\n\n### reject(arr, iterator, callback)\n\nThe opposite of filter. Removes values that pass an async truth test.\n\n---------------------------------------\n\n\n### rejectSeries(arr, iterator, callback)\n\nThe same as reject, only the iterator is applied to each item in the array\nin series.\n\n\n---------------------------------------\n\n\n### reduce(arr, memo, iterator, callback)\n\n__aliases:__ inject, foldl\n\nReduces a list of values into a single value using an async iterator to return\neach successive step. Memo is the initial state of the reduction. This\nfunction only operates in series. For performance reasons, it may make sense to\nsplit a call to this function into a parallel map, then use the normal\nArray.prototype.reduce on the results. This function is for situations where\neach step in the reduction needs to be async, if you can get the data before\nreducing it then it's probably a good idea to do so.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* memo - The initial state of the reduction.\n* iterator(memo, item, callback) - A function applied to each item in the\n array to produce the next step in the reduction. The iterator is passed a\n callback(err, reduction) which accepts an optional error as its first \n argument, and the state of the reduction as the second. If an error is \n passed to the callback, the reduction is stopped and the main callback is \n immediately called with the error.\n* callback(err, result) - A callback which is called after all the iterator\n functions have finished. Result is the reduced value.\n\n__Example__\n\n```js\nasync.reduce([1,2,3], 0, function(memo, item, callback){\n // pointless async:\n process.nextTick(function(){\n callback(null, memo + item)\n });\n}, function(err, result){\n // result is now equal to the last value of memo, which is 6\n});\n```\n\n---------------------------------------\n\n\n### reduceRight(arr, memo, iterator, callback)\n\n__Alias:__ foldr\n\nSame as reduce, only operates on the items in the array in reverse order.\n\n\n---------------------------------------\n\n\n### detect(arr, iterator, callback)\n\nReturns the first value in a list that passes an async truth test. The\niterator is applied in parallel, meaning the first iterator to return true will\nfire the detect callback with that result. That means the result might not be\nthe first item in the original array (in terms of order) that passes the test.\n\nIf order within the original array is important then look at detectSeries.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback(truthValue) which must be called with a \n boolean argument once it has completed.\n* callback(result) - A callback which is called as soon as any iterator returns\n true, or after all the iterator functions have finished. Result will be\n the first item in the array that passes the truth test (iterator) or the\n value undefined if none passed.\n\n__Example__\n\n```js\nasync.detect(['file1','file2','file3'], fs.exists, function(result){\n // result now equals the first file in the list that exists\n});\n```\n\n---------------------------------------\n\n\n### detectSeries(arr, iterator, callback)\n\nThe same as detect, only the iterator is applied to each item in the array\nin series. This means the result is always the first in the original array (in\nterms of array order) that passes the truth test.\n\n\n---------------------------------------\n\n\n### sortBy(arr, iterator, callback)\n\nSorts a list by the results of running each value through an async iterator.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err, sortValue) which must be called once it\n has completed with an error (which can be null) and a value to use as the sort\n criteria.\n* callback(err, results) - A callback which is called after all the iterator\n functions have finished, or an error has occurred. Results is the items from\n the original array sorted by the values returned by the iterator calls.\n\n__Example__\n\n```js\nasync.sortBy(['file1','file2','file3'], function(file, callback){\n fs.stat(file, function(err, stats){\n callback(err, stats.mtime);\n });\n}, function(err, results){\n // results is now the original array of files sorted by\n // modified date\n});\n```\n\n---------------------------------------\n\n\n### some(arr, iterator, callback)\n\n__Alias:__ any\n\nReturns true if at least one element in the array satisfies an async test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like fs.exists. Once any iterator\ncall returns true, the main callback is immediately called.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback(truthValue) which must be called with a \n boolean argument once it has completed.\n* callback(result) - A callback which is called as soon as any iterator returns\n true, or after all the iterator functions have finished. Result will be\n either true or false depending on the values of the async tests.\n\n__Example__\n\n```js\nasync.some(['file1','file2','file3'], fs.exists, function(result){\n // if result is true then at least one of the files exists\n});\n```\n\n---------------------------------------\n\n\n### every(arr, iterator, callback)\n\n__Alias:__ all\n\nReturns true if every element in the array satisfies an async test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like fs.exists.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback(truthValue) which must be called with a \n boolean argument once it has completed.\n* callback(result) - A callback which is called after all the iterator\n functions have finished. Result will be either true or false depending on\n the values of the async tests.\n\n__Example__\n\n```js\nasync.every(['file1','file2','file3'], fs.exists, function(result){\n // if result is true then every file exists\n});\n```\n\n---------------------------------------\n\n\n### concat(arr, iterator, callback)\n\nApplies an iterator to each item in a list, concatenating the results. Returns the\nconcatenated list. The iterators are called in parallel, and the results are\nconcatenated as they return. There is no guarantee that the results array will\nbe returned in the original order of the arguments passed to the iterator function.\n\n__Arguments__\n\n* arr - An array to iterate over\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err, results) which must be called once it \n has completed with an error (which can be null) and an array of results.\n* callback(err, results) - A callback which is called after all the iterator\n functions have finished, or an error has occurred. Results is an array containing\n the concatenated results of the iterator function.\n\n__Example__\n\n```js\nasync.concat(['dir1','dir2','dir3'], fs.readdir, function(err, files){\n // files is now a list of filenames that exist in the 3 directories\n});\n```\n\n---------------------------------------\n\n\n### concatSeries(arr, iterator, callback)\n\nSame as async.concat, but executes in series instead of parallel.\n\n\n## Control Flow\n\n\n### series(tasks, [callback])\n\nRun an array of functions in series, each one running once the previous\nfunction has completed. If any functions in the series pass an error to its\ncallback, no more functions are run and the callback for the series is\nimmediately called with the value of the error. Once the tasks have completed,\nthe results are passed to the final callback as an array.\n\nIt is also possible to use an object instead of an array. Each property will be\nrun as a function and the results will be passed to the final callback as an object\ninstead of an array. This can be a more readable way of handling results from\nasync.series.\n\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed\n a callback(err, result) it must call on completion with an error (which can\n be null) and an optional result value.\n* callback(err, results) - An optional callback to run once all the functions\n have completed. This function gets a results array (or object) containing all \n the result arguments passed to the task callbacks.\n\n__Example__\n\n```js\nasync.series([\n function(callback){\n // do some stuff ...\n callback(null, 'one');\n },\n function(callback){\n // do some more stuff ...\n callback(null, 'two');\n }\n],\n// optional callback\nfunction(err, results){\n // results is now equal to ['one', 'two']\n});\n\n\n// an example using an object instead of an array\nasync.series({\n one: function(callback){\n setTimeout(function(){\n callback(null, 1);\n }, 200);\n },\n two: function(callback){\n setTimeout(function(){\n callback(null, 2);\n }, 100);\n }\n},\nfunction(err, results) {\n // results is now equal to: {one: 1, two: 2}\n});\n```\n\n---------------------------------------\n\n\n### parallel(tasks, [callback])\n\nRun an array of functions in parallel, without waiting until the previous\nfunction has completed. If any of the functions pass an error to its\ncallback, the main callback is immediately called with the value of the error.\nOnce the tasks have completed, the results are passed to the final callback as an\narray.\n\nIt is also possible to use an object instead of an array. Each property will be\nrun as a function and the results will be passed to the final callback as an object\ninstead of an array. This can be a more readable way of handling results from\nasync.parallel.\n\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed \n a callback(err, result) it must call on completion with an error (which can\n be null) and an optional result value.\n* callback(err, results) - An optional callback to run once all the functions\n have completed. This function gets a results array (or object) containing all \n the result arguments passed to the task callbacks.\n\n__Example__\n\n```js\nasync.parallel([\n function(callback){\n setTimeout(function(){\n callback(null, 'one');\n }, 200);\n },\n function(callback){\n setTimeout(function(){\n callback(null, 'two');\n }, 100);\n }\n],\n// optional callback\nfunction(err, results){\n // the results array will equal ['one','two'] even though\n // the second function had a shorter timeout.\n});\n\n\n// an example using an object instead of an array\nasync.parallel({\n one: function(callback){\n setTimeout(function(){\n callback(null, 1);\n }, 200);\n },\n two: function(callback){\n setTimeout(function(){\n callback(null, 2);\n }, 100);\n }\n},\nfunction(err, results) {\n // results is now equals to: {one: 1, two: 2}\n});\n```\n\n---------------------------------------\n\n\n### parallelLimit(tasks, limit, [callback])\n\nThe same as parallel only the tasks are executed in parallel with a maximum of \"limit\" \ntasks executing at any time.\n\nNote that the tasks are not executed in batches, so there is no guarantee that \nthe first \"limit\" tasks will complete before any others are started.\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed \n a callback(err, result) it must call on completion with an error (which can\n be null) and an optional result value.\n* limit - The maximum number of tasks to run at any time.\n* callback(err, results) - An optional callback to run once all the functions\n have completed. This function gets a results array (or object) containing all \n the result arguments passed to the task callbacks.\n\n---------------------------------------\n\n\n### whilst(test, fn, callback)\n\nRepeatedly call fn, while test returns true. Calls the callback when stopped,\nor an error occurs.\n\n__Arguments__\n\n* test() - synchronous truth test to perform before each execution of fn.\n* fn(callback) - A function to call each time the test passes. The function is\n passed a callback(err) which must be called once it has completed with an \n optional error argument.\n* callback(err) - A callback which is called after the test fails and repeated\n execution of fn has stopped.\n\n__Example__\n\n```js\nvar count = 0;\n\nasync.whilst(\n function () { return count < 5; },\n function (callback) {\n count++;\n setTimeout(callback, 1000);\n },\n function (err) {\n // 5 seconds have passed\n }\n);\n```\n\n---------------------------------------\n\n\n### doWhilst(fn, test, callback)\n\nThe post check version of whilst. To reflect the difference in the order of operations `test` and `fn` arguments are switched. `doWhilst` is to `whilst` as `do while` is to `while` in plain JavaScript.\n\n---------------------------------------\n\n\n### until(test, fn, callback)\n\nRepeatedly call fn, until test returns true. Calls the callback when stopped,\nor an error occurs.\n\nThe inverse of async.whilst.\n\n---------------------------------------\n\n\n### doUntil(fn, test, callback)\n\nLike doWhilst except the test is inverted. Note the argument ordering differs from `until`.\n\n---------------------------------------\n\n\n### forever(fn, callback)\n\nCalls the asynchronous function 'fn' repeatedly, in series, indefinitely.\nIf an error is passed to fn's callback then 'callback' is called with the\nerror, otherwise it will never be called.\n\n---------------------------------------\n\n\n### waterfall(tasks, [callback])\n\nRuns an array of functions in series, each passing their results to the next in\nthe array. However, if any of the functions pass an error to the callback, the\nnext function is not executed and the main callback is immediately called with\nthe error.\n\n__Arguments__\n\n* tasks - An array of functions to run, each function is passed a \n callback(err, result1, result2, ...) it must call on completion. The first\n argument is an error (which can be null) and any further arguments will be \n passed as arguments in order to the next task.\n* callback(err, [results]) - An optional callback to run once all the functions\n have completed. This will be passed the results of the last task's callback.\n\n\n\n__Example__\n\n```js\nasync.waterfall([\n function(callback){\n callback(null, 'one', 'two');\n },\n function(arg1, arg2, callback){\n callback(null, 'three');\n },\n function(arg1, callback){\n // arg1 now equals 'three'\n callback(null, 'done');\n }\n], function (err, result) {\n // result now equals 'done' \n});\n```\n\n---------------------------------------\n\n### compose(fn1, fn2...)\n\nCreates a function which is a composition of the passed asynchronous\nfunctions. Each function consumes the return value of the function that\nfollows. Composing functions f(), g() and h() would produce the result of\nf(g(h())), only this version uses callbacks to obtain the return values.\n\nEach function is executed with the `this` binding of the composed function.\n\n__Arguments__\n\n* functions... - the asynchronous functions to compose\n\n\n__Example__\n\n```js\nfunction add1(n, callback) {\n setTimeout(function () {\n callback(null, n + 1);\n }, 10);\n}\n\nfunction mul3(n, callback) {\n setTimeout(function () {\n callback(null, n * 3);\n }, 10);\n}\n\nvar add1mul3 = async.compose(mul3, add1);\n\nadd1mul3(4, function (err, result) {\n // result now equals 15\n});\n```\n\n---------------------------------------\n\n### applyEach(fns, args..., callback)\n\nApplies the provided arguments to each function in the array, calling the\ncallback after all functions have completed. If you only provide the first\nargument then it will return a function which lets you pass in the\narguments as if it were a single function call.\n\n__Arguments__\n\n* fns - the asynchronous functions to all call with the same arguments\n* args... - any number of separate arguments to pass to the function\n* callback - the final argument should be the callback, called when all\n functions have completed processing\n\n\n__Example__\n\n```js\nasync.applyEach([enableSearch, updateSchema], 'bucket', callback);\n\n// partial application example:\nasync.each(\n buckets,\n async.applyEach([enableSearch, updateSchema]),\n callback\n);\n```\n\n---------------------------------------\n\n\n### applyEachSeries(arr, iterator, callback)\n\nThe same as applyEach only the functions are applied in series.\n\n---------------------------------------\n\n\n### queue(worker, concurrency)\n\nCreates a queue object with the specified concurrency. Tasks added to the\nqueue will be processed in parallel (up to the concurrency limit). If all\nworkers are in progress, the task is queued until one is available. Once\na worker has completed a task, the task's callback is called.\n\n__Arguments__\n\n* worker(task, callback) - An asynchronous function for processing a queued\n task, which must call its callback(err) argument when finished, with an \n optional error as an argument.\n* concurrency - An integer for determining how many worker functions should be\n run in parallel.\n\n__Queue objects__\n\nThe queue object returned by this function has the following properties and\nmethods:\n\n* length() - a function returning the number of items waiting to be processed.\n* concurrency - an integer for determining how many worker functions should be\n run in parallel. This property can be changed after a queue is created to\n alter the concurrency on-the-fly.\n* push(task, [callback]) - add a new task to the queue, the callback is called\n once the worker has finished processing the task.\n instead of a single task, an array of tasks can be submitted. the respective callback is used for every task in the list.\n* unshift(task, [callback]) - add a new task to the front of the queue.\n* saturated - a callback that is called when the queue length hits the concurrency and further tasks will be queued\n* empty - a callback that is called when the last item from the queue is given to a worker\n* drain - a callback that is called when the last item from the queue has returned from the worker\n\n__Example__\n\n```js\n// create a queue object with concurrency 2\n\nvar q = async.queue(function (task, callback) {\n console.log('hello ' + task.name);\n callback();\n}, 2);\n\n\n// assign a callback\nq.drain = function() {\n console.log('all items have been processed');\n}\n\n// add some items to the queue\n\nq.push({name: 'foo'}, function (err) {\n console.log('finished processing foo');\n});\nq.push({name: 'bar'}, function (err) {\n console.log('finished processing bar');\n});\n\n// add some items to the queue (batch-wise)\n\nq.push([{name: 'baz'},{name: 'bay'},{name: 'bax'}], function (err) {\n console.log('finished processing bar');\n});\n\n// add some items to the front of the queue\n\nq.unshift({name: 'bar'}, function (err) {\n console.log('finished processing bar');\n});\n```\n\n---------------------------------------\n\n\n### cargo(worker, [payload])\n\nCreates a cargo object with the specified payload. Tasks added to the\ncargo will be processed altogether (up to the payload limit). If the\nworker is in progress, the task is queued until it is available. Once\nthe worker has completed some tasks, each callback of those tasks is called.\n\n__Arguments__\n\n* worker(tasks, callback) - An asynchronous function for processing an array of\n queued tasks, which must call its callback(err) argument when finished, with \n an optional error as an argument.\n* payload - An optional integer for determining how many tasks should be\n processed per round; if omitted, the default is unlimited.\n\n__Cargo objects__\n\nThe cargo object returned by this function has the following properties and\nmethods:\n\n* length() - a function returning the number of items waiting to be processed.\n* payload - an integer for determining how many tasks should be\n process per round. This property can be changed after a cargo is created to\n alter the payload on-the-fly.\n* push(task, [callback]) - add a new task to the queue, the callback is called\n once the worker has finished processing the task.\n instead of a single task, an array of tasks can be submitted. the respective callback is used for every task in the list.\n* saturated - a callback that is called when the queue length hits the concurrency and further tasks will be queued\n* empty - a callback that is called when the last item from the queue is given to a worker\n* drain - a callback that is called when the last item from the queue has returned from the worker\n\n__Example__\n\n```js\n// create a cargo object with payload 2\n\nvar cargo = async.cargo(function (tasks, callback) {\n for(var i=0; i\n### auto(tasks, [callback])\n\nDetermines the best order for running functions based on their requirements.\nEach function can optionally depend on other functions being completed first,\nand each function is run as soon as its requirements are satisfied. If any of\nthe functions pass an error to their callback, that function will not complete\n(so any other functions depending on it will not run) and the main callback\nwill be called immediately with the error. Functions also receive an object\ncontaining the results of functions which have completed so far.\n\nNote, all functions are called with a results object as a second argument, \nso it is unsafe to pass functions in the tasks object which cannot handle the\nextra argument. For example, this snippet of code:\n\n```js\nasync.auto({\n readData: async.apply(fs.readFile, 'data.txt', 'utf-8');\n}, callback);\n```\n\nwill have the effect of calling readFile with the results object as the last\nargument, which will fail:\n\n```js\nfs.readFile('data.txt', 'utf-8', cb, {});\n```\n\nInstead, wrap the call to readFile in a function which does not forward the \nresults object:\n\n```js\nasync.auto({\n readData: function(cb, results){\n fs.readFile('data.txt', 'utf-8', cb);\n }\n}, callback);\n```\n\n__Arguments__\n\n* tasks - An object literal containing named functions or an array of\n requirements, with the function itself the last item in the array. The key\n used for each function or array is used when specifying requirements. The \n function receives two arguments: (1) a callback(err, result) which must be \n called when finished, passing an error (which can be null) and the result of \n the function's execution, and (2) a results object, containing the results of\n the previously executed functions.\n* callback(err, results) - An optional callback which is called when all the\n tasks have been completed. The callback will receive an error as an argument\n if any tasks pass an error to their callback. Results will always be passed\n\tbut if an error occurred, no other tasks will be performed, and the results\n\tobject will only contain partial results.\n \n\n__Example__\n\n```js\nasync.auto({\n get_data: function(callback){\n // async code to get some data\n },\n make_folder: function(callback){\n // async code to create a directory to store a file in\n // this is run at the same time as getting the data\n },\n write_file: ['get_data', 'make_folder', function(callback){\n // once there is some data and the directory exists,\n // write the data to a file in the directory\n callback(null, filename);\n }],\n email_link: ['write_file', function(callback, results){\n // once the file is written let's email a link to it...\n // results.write_file contains the filename returned by write_file.\n }]\n});\n```\n\nThis is a fairly trivial example, but to do this using the basic parallel and\nseries functions would look like this:\n\n```js\nasync.parallel([\n function(callback){\n // async code to get some data\n },\n function(callback){\n // async code to create a directory to store a file in\n // this is run at the same time as getting the data\n }\n],\nfunction(err, results){\n async.series([\n function(callback){\n // once there is some data and the directory exists,\n // write the data to a file in the directory\n },\n function(callback){\n // once the file is written let's email a link to it...\n }\n ]);\n});\n```\n\nFor a complicated series of async tasks using the auto function makes adding\nnew tasks much easier and makes the code more readable.\n\n\n---------------------------------------\n\n\n### iterator(tasks)\n\nCreates an iterator function which calls the next function in the array,\nreturning a continuation to call the next one after that. It's also possible to\n'peek' the next iterator by doing iterator.next().\n\nThis function is used internally by the async module but can be useful when\nyou want to manually control the flow of functions in series.\n\n__Arguments__\n\n* tasks - An array of functions to run.\n\n__Example__\n\n```js\nvar iterator = async.iterator([\n function(){ sys.p('one'); },\n function(){ sys.p('two'); },\n function(){ sys.p('three'); }\n]);\n\nnode> var iterator2 = iterator();\n'one'\nnode> var iterator3 = iterator2();\n'two'\nnode> iterator3();\n'three'\nnode> var nextfn = iterator2.next();\nnode> nextfn();\n'three'\n```\n\n---------------------------------------\n\n\n### apply(function, arguments..)\n\nCreates a continuation function with some arguments already applied, a useful\nshorthand when combined with other control flow functions. Any arguments\npassed to the returned function are added to the arguments originally passed\nto apply.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to automatically apply when the\n continuation is called.\n\n__Example__\n\n```js\n// using apply\n\nasync.parallel([\n async.apply(fs.writeFile, 'testfile1', 'test1'),\n async.apply(fs.writeFile, 'testfile2', 'test2'),\n]);\n\n\n// the same process without using apply\n\nasync.parallel([\n function(callback){\n fs.writeFile('testfile1', 'test1', callback);\n },\n function(callback){\n fs.writeFile('testfile2', 'test2', callback);\n }\n]);\n```\n\nIt's possible to pass any number of additional arguments when calling the\ncontinuation:\n\n```js\nnode> var fn = async.apply(sys.puts, 'one');\nnode> fn('two', 'three');\none\ntwo\nthree\n```\n\n---------------------------------------\n\n\n### nextTick(callback)\n\nCalls the callback on a later loop around the event loop. In node.js this just\ncalls process.nextTick, in the browser it falls back to setImmediate(callback)\nif available, otherwise setTimeout(callback, 0), which means other higher priority\nevents may precede the execution of the callback.\n\nThis is used internally for browser-compatibility purposes.\n\n__Arguments__\n\n* callback - The function to call on a later loop around the event loop.\n\n__Example__\n\n```js\nvar call_order = [];\nasync.nextTick(function(){\n call_order.push('two');\n // call_order now equals ['one','two']\n});\ncall_order.push('one')\n```\n\n\n### times(n, callback)\n\nCalls the callback n times and accumulates results in the same manner\nyou would use with async.map.\n\n__Arguments__\n\n* n - The number of times to run the function.\n* callback - The function to call n times.\n\n__Example__\n\n```js\n// Pretend this is some complicated async factory\nvar createUser = function(id, callback) {\n callback(null, {\n id: 'user' + id\n })\n}\n// generate 5 users\nasync.times(5, function(n, next){\n createUser(n, function(err, user) {\n next(err, user)\n })\n}, function(err, users) {\n // we should now have 5 users\n});\n```\n\n\n### timesSeries(n, callback)\n\nThe same as times only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n\n## Utils\n\n\n### memoize(fn, [hasher])\n\nCaches the results of an async function. When creating a hash to store function\nresults against, the callback is omitted from the hash and an optional hash\nfunction can be used.\n\nThe cache of results is exposed as the `memo` property of the function returned\nby `memoize`.\n\n__Arguments__\n\n* fn - the function you to proxy and cache results from.\n* hasher - an optional function for generating a custom hash for storing\n results, it has all the arguments applied to it apart from the callback, and\n must be synchronous.\n\n__Example__\n\n```js\nvar slow_fn = function (name, callback) {\n // do something\n callback(null, result);\n};\nvar fn = async.memoize(slow_fn);\n\n// fn can now be used as if it were slow_fn\nfn('some name', function () {\n // callback\n});\n```\n\n\n### unmemoize(fn)\n\nUndoes a memoized function, reverting it to the original, unmemoized\nform. Comes handy in tests.\n\n__Arguments__\n\n* fn - the memoized function\n\n\n### log(function, arguments)\n\nLogs the result of an async function to the console. Only works in node.js or\nin browsers that support console.log and console.error (such as FF and Chrome).\nIf multiple arguments are returned from the async function, console.log is\ncalled on each argument in order.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to apply to the function.\n\n__Example__\n\n```js\nvar hello = function(name, callback){\n setTimeout(function(){\n callback(null, 'hello ' + name);\n }, 1000);\n};\n```\n```js\nnode> async.log(hello, 'world');\n'hello world'\n```\n\n---------------------------------------\n\n\n### dir(function, arguments)\n\nLogs the result of an async function to the console using console.dir to\ndisplay the properties of the resulting object. Only works in node.js or\nin browsers that support console.dir and console.error (such as FF and Chrome).\nIf multiple arguments are returned from the async function, console.dir is\ncalled on each argument in order.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to apply to the function.\n\n__Example__\n\n```js\nvar hello = function(name, callback){\n setTimeout(function(){\n callback(null, {hello: name});\n }, 1000);\n};\n```\n```js\nnode> async.dir(hello, 'world');\n{hello: 'world'}\n```\n\n---------------------------------------\n\n\n### noConflict()\n\nChanges the value of async back to its original value, returning a reference to the\nasync object.\n", + "readmeFilename": "README.md", + "_id": "async@0.2.9", + "_from": "async@~0.2.6" +} diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/.npmignore b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/.npmignore new file mode 100644 index 0000000..3dddf3f --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/.npmignore @@ -0,0 +1,2 @@ +dist/* +node_modules/* diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/.travis.yml b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/.travis.yml new file mode 100644 index 0000000..ddc9c4f --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/.travis.yml @@ -0,0 +1,4 @@ +language: node_js +node_js: + - 0.8 + - "0.10" \ No newline at end of file diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/CHANGELOG.md b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/CHANGELOG.md new file mode 100644 index 0000000..98b90d5 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/CHANGELOG.md @@ -0,0 +1,112 @@ +# Change Log + +## 0.1.31 + +* Delay parsing the mappings in SourceMapConsumer until queried for a source + location. + +* Support Sass source maps (which at the time of writing deviate from the spec + in small ways) in SourceMapConsumer. + +## 0.1.30 + +* Do not join source root with a source, when the source is a data URI. + +* Extend the test runner to allow running single specific test files at a time. + +* Performance improvements in `SourceNode.prototype.walk` and + `SourceMapConsumer.prototype.eachMapping`. + +* Source map browser builds will now work inside Workers. + +* Better error messages when attempting to add an invalid mapping to a + `SourceMapGenerator`. + +## 0.1.29 + +* Allow duplicate entries in the `names` and `sources` arrays of source maps + (usually from TypeScript) we are parsing. Fixes github isse 72. + +## 0.1.28 + +* Skip duplicate mappings when creating source maps from SourceNode; github + issue 75. + +## 0.1.27 + +* Don't throw an error when the `file` property is missing in SourceMapConsumer, + we don't use it anyway. + +## 0.1.26 + +* Fix SourceNode.fromStringWithSourceMap for empty maps. Fixes github issue 70. + +## 0.1.25 + +* Make compatible with browserify + +## 0.1.24 + +* Fix issue with absolute paths and `file://` URIs. See + https://bugzilla.mozilla.org/show_bug.cgi?id=885597 + +## 0.1.23 + +* Fix issue with absolute paths and sourcesContent, github issue 64. + +## 0.1.22 + +* Ignore duplicate mappings in SourceMapGenerator. Fixes github issue 21. + +## 0.1.21 + +* Fixed handling of sources that start with a slash so that they are relative to + the source root's host. + +## 0.1.20 + +* Fixed github issue #43: absolute URLs aren't joined with the source root + anymore. + +## 0.1.19 + +* Using Travis CI to run tests. + +## 0.1.18 + +* Fixed a bug in the handling of sourceRoot. + +## 0.1.17 + +* Added SourceNode.fromStringWithSourceMap. + +## 0.1.16 + +* Added missing documentation. + +* Fixed the generating of empty mappings in SourceNode. + +## 0.1.15 + +* Added SourceMapGenerator.applySourceMap. + +## 0.1.14 + +* The sourceRoot is now handled consistently. + +## 0.1.13 + +* Added SourceMapGenerator.fromSourceMap. + +## 0.1.12 + +* SourceNode now generates empty mappings too. + +## 0.1.11 + +* Added name support to SourceNode. + +## 0.1.10 + +* Added sourcesContent support to the customer and generator. + diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/LICENSE b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/LICENSE new file mode 100644 index 0000000..ed1b7cf --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/LICENSE @@ -0,0 +1,28 @@ + +Copyright (c) 2009-2011, Mozilla Foundation and contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the names of the Mozilla Foundation nor the names of project + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/Makefile.dryice.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/Makefile.dryice.js new file mode 100644 index 0000000..d6fc26a --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/Makefile.dryice.js @@ -0,0 +1,166 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +var path = require('path'); +var fs = require('fs'); +var copy = require('dryice').copy; + +function removeAmdefine(src) { + src = String(src).replace( + /if\s*\(typeof\s*define\s*!==\s*'function'\)\s*{\s*var\s*define\s*=\s*require\('amdefine'\)\(module,\s*require\);\s*}\s*/g, + ''); + src = src.replace( + /\b(define\(.*)('amdefine',?)/gm, + '$1'); + return src; +} +removeAmdefine.onRead = true; + +function makeNonRelative(src) { + return src + .replace(/require\('.\//g, 'require(\'source-map/') + .replace(/\.\.\/\.\.\/lib\//g, ''); +} +makeNonRelative.onRead = true; + +function buildBrowser() { + console.log('\nCreating dist/source-map.js'); + + var project = copy.createCommonJsProject({ + roots: [ path.join(__dirname, 'lib') ] + }); + + copy({ + source: [ + 'build/mini-require.js', + { + project: project, + require: [ 'source-map/source-map-generator', + 'source-map/source-map-consumer', + 'source-map/source-node'] + }, + 'build/suffix-browser.js' + ], + filter: [ + copy.filter.moduleDefines, + removeAmdefine + ], + dest: 'dist/source-map.js' + }); +} + +function buildBrowserMin() { + console.log('\nCreating dist/source-map.min.js'); + + copy({ + source: 'dist/source-map.js', + filter: copy.filter.uglifyjs, + dest: 'dist/source-map.min.js' + }); +} + +function buildFirefox() { + console.log('\nCreating dist/SourceMap.jsm'); + + var project = copy.createCommonJsProject({ + roots: [ path.join(__dirname, 'lib') ] + }); + + copy({ + source: [ + 'build/prefix-source-map.jsm', + { + project: project, + require: [ 'source-map/source-map-consumer', + 'source-map/source-map-generator', + 'source-map/source-node' ] + }, + 'build/suffix-source-map.jsm' + ], + filter: [ + copy.filter.moduleDefines, + removeAmdefine, + makeNonRelative + ], + dest: 'dist/SourceMap.jsm' + }); + + // Create dist/test/Utils.jsm + console.log('\nCreating dist/test/Utils.jsm'); + + project = copy.createCommonJsProject({ + roots: [ __dirname, path.join(__dirname, 'lib') ] + }); + + copy({ + source: [ + 'build/prefix-utils.jsm', + 'build/assert-shim.js', + { + project: project, + require: [ 'test/source-map/util' ] + }, + 'build/suffix-utils.jsm' + ], + filter: [ + copy.filter.moduleDefines, + removeAmdefine, + makeNonRelative + ], + dest: 'dist/test/Utils.jsm' + }); + + function isTestFile(f) { + return /^test\-.*?\.js/.test(f); + } + + var testFiles = fs.readdirSync(path.join(__dirname, 'test', 'source-map')).filter(isTestFile); + + testFiles.forEach(function (testFile) { + console.log('\nCreating', path.join('dist', 'test', testFile.replace(/\-/g, '_'))); + + copy({ + source: [ + 'build/test-prefix.js', + path.join('test', 'source-map', testFile), + 'build/test-suffix.js' + ], + filter: [ + removeAmdefine, + makeNonRelative, + function (input, source) { + return input.replace('define(', + 'define("' + + path.join('test', 'source-map', testFile.replace(/\.js$/, '')) + + '", ["require", "exports", "module"], '); + }, + function (input, source) { + return input.replace('{THIS_MODULE}', function () { + return "test/source-map/" + testFile.replace(/\.js$/, ''); + }); + } + ], + dest: path.join('dist', 'test', testFile.replace(/\-/g, '_')) + }); + }); +} + +function ensureDir(name) { + var dirExists = false; + try { + dirExists = fs.statSync(name).isDirectory(); + } catch (err) {} + + if (!dirExists) { + fs.mkdirSync(name, 0777); + } +} + +ensureDir("dist"); +ensureDir("dist/test"); +buildFirefox(); +buildBrowser(); +buildBrowserMin(); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/README.md b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/README.md new file mode 100644 index 0000000..c20437b --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/README.md @@ -0,0 +1,434 @@ +# Source Map + +This is a library to generate and consume the source map format +[described here][format]. + +This library is written in the Asynchronous Module Definition format, and works +in the following environments: + +* Modern Browsers supporting ECMAScript 5 (either after the build, or with an + AMD loader such as RequireJS) + +* Inside Firefox (as a JSM file, after the build) + +* With NodeJS versions 0.8.X and higher + +## Node + + $ npm install source-map + +## Building from Source (for everywhere else) + +Install Node and then run + + $ git clone https://fitzgen@github.com/mozilla/source-map.git + $ cd source-map + $ npm link . + +Next, run + + $ node Makefile.dryice.js + +This should spew a bunch of stuff to stdout, and create the following files: + +* `dist/source-map.js` - The unminified browser version. + +* `dist/source-map.min.js` - The minified browser version. + +* `dist/SourceMap.jsm` - The JavaScript Module for inclusion in Firefox source. + +## Examples + +### Consuming a source map + + var rawSourceMap = { + version: 3, + file: 'min.js', + names: ['bar', 'baz', 'n'], + sources: ['one.js', 'two.js'], + sourceRoot: 'http://example.com/www/js/', + mappings: 'CAAC,IAAI,IAAM,SAAUA,GAClB,OAAOC,IAAID;CCDb,IAAI,IAAM,SAAUE,GAClB,OAAOA' + }; + + var smc = new SourceMapConsumer(rawSourceMap); + + console.log(smc.sources); + // [ 'http://example.com/www/js/one.js', + // 'http://example.com/www/js/two.js' ] + + console.log(smc.originalPositionFor({ + line: 2, + column: 28 + })); + // { source: 'http://example.com/www/js/two.js', + // line: 2, + // column: 10, + // name: 'n' } + + console.log(smc.generatedPositionFor({ + source: 'http://example.com/www/js/two.js', + line: 2, + column: 10 + })); + // { line: 2, column: 28 } + + smc.eachMapping(function (m) { + // ... + }); + +### Generating a source map + +In depth guide: +[**Compiling to JavaScript, and Debugging with Source Maps**](https://hacks.mozilla.org/2013/05/compiling-to-javascript-and-debugging-with-source-maps/) + +#### With SourceNode (high level API) + + function compile(ast) { + switch (ast.type) { + case 'BinaryExpression': + return new SourceNode( + ast.location.line, + ast.location.column, + ast.location.source, + [compile(ast.left), " + ", compile(ast.right)] + ); + case 'Literal': + return new SourceNode( + ast.location.line, + ast.location.column, + ast.location.source, + String(ast.value) + ); + // ... + default: + throw new Error("Bad AST"); + } + } + + var ast = parse("40 + 2", "add.js"); + console.log(compile(ast).toStringWithSourceMap({ + file: 'add.js' + })); + // { code: '40 + 2', + // map: [object SourceMapGenerator] } + +#### With SourceMapGenerator (low level API) + + var map = new SourceMapGenerator({ + file: "source-mapped.js" + }); + + map.addMapping({ + generated: { + line: 10, + column: 35 + }, + source: "foo.js", + original: { + line: 33, + column: 2 + }, + name: "christopher" + }); + + console.log(map.toString()); + // '{"version":3,"file":"source-mapped.js","sources":["foo.js"],"names":["christopher"],"mappings":";;;;;;;;;mCAgCEA"}' + +## API + +Get a reference to the module: + + // NodeJS + var sourceMap = require('source-map'); + + // Browser builds + var sourceMap = window.sourceMap; + + // Inside Firefox + let sourceMap = {}; + Components.utils.import('resource:///modules/devtools/SourceMap.jsm', sourceMap); + +### SourceMapConsumer + +A SourceMapConsumer instance represents a parsed source map which we can query +for information about the original file positions by giving it a file position +in the generated source. + +#### new SourceMapConsumer(rawSourceMap) + +The only parameter is the raw source map (either as a string which can be +`JSON.parse`'d, or an object). According to the spec, source maps have the +following attributes: + +* `version`: Which version of the source map spec this map is following. + +* `sources`: An array of URLs to the original source files. + +* `names`: An array of identifiers which can be referrenced by individual + mappings. + +* `sourceRoot`: Optional. The URL root from which all sources are relative. + +* `sourcesContent`: Optional. An array of contents of the original source files. + +* `mappings`: A string of base64 VLQs which contain the actual mappings. + +* `file`: The generated filename this source map is associated with. + +#### SourceMapConsumer.prototype.originalPositionFor(generatedPosition) + +Returns the original source, line, and column information for the generated +source's line and column positions provided. The only argument is an object with +the following properties: + +* `line`: The line number in the generated source. + +* `column`: The column number in the generated source. + +and an object is returned with the following properties: + +* `source`: The original source file, or null if this information is not + available. + +* `line`: The line number in the original source, or null if this information is + not available. + +* `column`: The column number in the original source, or null or null if this + information is not available. + +* `name`: The original identifier, or null if this information is not available. + +#### SourceMapConsumer.prototype.generatedPositionFor(originalPosition) + +Returns the generated line and column information for the original source, +line, and column positions provided. The only argument is an object with +the following properties: + +* `source`: The filename of the original source. + +* `line`: The line number in the original source. + +* `column`: The column number in the original source. + +and an object is returned with the following properties: + +* `line`: The line number in the generated source, or null. + +* `column`: The column number in the generated source, or null. + +#### SourceMapConsumer.prototype.sourceContentFor(source) + +Returns the original source content for the source provided. The only +argument is the URL of the original source file. + +#### SourceMapConsumer.prototype.eachMapping(callback, context, order) + +Iterate over each mapping between an original source/line/column and a +generated line/column in this source map. + +* `callback`: The function that is called with each mapping. Mappings have the + form `{ source, generatedLine, generatedColumn, originalLine, originalColumn, + name }` + +* `context`: Optional. If specified, this object will be the value of `this` + every time that `callback` is called. + +* `order`: Either `SourceMapConsumer.GENERATED_ORDER` or + `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to iterate over + the mappings sorted by the generated file's line/column order or the + original's source/line/column order, respectively. Defaults to + `SourceMapConsumer.GENERATED_ORDER`. + +### SourceMapGenerator + +An instance of the SourceMapGenerator represents a source map which is being +built incrementally. + +#### new SourceMapGenerator(startOfSourceMap) + +To create a new one, you must pass an object with the following properties: + +* `file`: The filename of the generated source that this source map is + associated with. + +* `sourceRoot`: An optional root for all relative URLs in this source map. + +#### SourceMapGenerator.fromSourceMap(sourceMapConsumer) + +Creates a new SourceMapGenerator based on a SourceMapConsumer + +* `sourceMapConsumer` The SourceMap. + +#### SourceMapGenerator.prototype.addMapping(mapping) + +Add a single mapping from original source line and column to the generated +source's line and column for this source map being created. The mapping object +should have the following properties: + +* `generated`: An object with the generated line and column positions. + +* `original`: An object with the original line and column positions. + +* `source`: The original source file (relative to the sourceRoot). + +* `name`: An optional original token name for this mapping. + +#### SourceMapGenerator.prototype.setSourceContent(sourceFile, sourceContent) + +Set the source content for an original source file. + +* `sourceFile` the URL of the original source file. + +* `sourceContent` the content of the source file. + +#### SourceMapGenerator.prototype.applySourceMap(sourceMapConsumer[, sourceFile]) + +Applies a SourceMap for a source file to the SourceMap. +Each mapping to the supplied source file is rewritten using the +supplied SourceMap. Note: The resolution for the resulting mappings +is the minimium of this map and the supplied map. + +* `sourceMapConsumer`: The SourceMap to be applied. + +* `sourceFile`: Optional. The filename of the source file. + If omitted, sourceMapConsumer.file will be used. + +#### SourceMapGenerator.prototype.toString() + +Renders the source map being generated to a string. + +### SourceNode + +SourceNodes provide a way to abstract over interpolating and/or concatenating +snippets of generated JavaScript source code, while maintaining the line and +column information associated between those snippets and the original source +code. This is useful as the final intermediate representation a compiler might +use before outputting the generated JS and source map. + +#### new SourceNode(line, column, source[, chunk[, name]]) + +* `line`: The original line number associated with this source node, or null if + it isn't associated with an original line. + +* `column`: The original column number associated with this source node, or null + if it isn't associated with an original column. + +* `source`: The original source's filename. + +* `chunk`: Optional. Is immediately passed to `SourceNode.prototype.add`, see + below. + +* `name`: Optional. The original identifier. + +#### SourceNode.fromStringWithSourceMap(code, sourceMapConsumer) + +Creates a SourceNode from generated code and a SourceMapConsumer. + +* `code`: The generated code + +* `sourceMapConsumer` The SourceMap for the generated code + +#### SourceNode.prototype.add(chunk) + +Add a chunk of generated JS to this source node. + +* `chunk`: A string snippet of generated JS code, another instance of + `SourceNode`, or an array where each member is one of those things. + +#### SourceNode.prototype.prepend(chunk) + +Prepend a chunk of generated JS to this source node. + +* `chunk`: A string snippet of generated JS code, another instance of + `SourceNode`, or an array where each member is one of those things. + +#### SourceNode.prototype.setSourceContent(sourceFile, sourceContent) + +Set the source content for a source file. This will be added to the +`SourceMap` in the `sourcesContent` field. + +* `sourceFile`: The filename of the source file + +* `sourceContent`: The content of the source file + +#### SourceNode.prototype.walk(fn) + +Walk over the tree of JS snippets in this node and its children. The walking +function is called once for each snippet of JS and is passed that snippet and +the its original associated source's line/column location. + +* `fn`: The traversal function. + +#### SourceNode.prototype.walkSourceContents(fn) + +Walk over the tree of SourceNodes. The walking function is called for each +source file content and is passed the filename and source content. + +* `fn`: The traversal function. + +#### SourceNode.prototype.join(sep) + +Like `Array.prototype.join` except for SourceNodes. Inserts the separator +between each of this source node's children. + +* `sep`: The separator. + +#### SourceNode.prototype.replaceRight(pattern, replacement) + +Call `String.prototype.replace` on the very right-most source snippet. Useful +for trimming whitespace from the end of a source node, etc. + +* `pattern`: The pattern to replace. + +* `replacement`: The thing to replace the pattern with. + +#### SourceNode.prototype.toString() + +Return the string representation of this source node. Walks over the tree and +concatenates all the various snippets together to one string. + +### SourceNode.prototype.toStringWithSourceMap(startOfSourceMap) + +Returns the string representation of this tree of source nodes, plus a +SourceMapGenerator which contains all the mappings between the generated and +original sources. + +The arguments are the same as those to `new SourceMapGenerator`. + +## Tests + +[![Build Status](https://travis-ci.org/mozilla/source-map.png?branch=master)](https://travis-ci.org/mozilla/source-map) + +Install NodeJS version 0.8.0 or greater, then run `node test/run-tests.js`. + +To add new tests, create a new file named `test/test-.js` +and export your test functions with names that start with "test", for example + + exports["test doing the foo bar"] = function (assert, util) { + ... + }; + +The new test will be located automatically when you run the suite. + +The `util` argument is the test utility module located at `test/source-map/util`. + +The `assert` argument is a cut down version of node's assert module. You have +access to the following assertion functions: + +* `doesNotThrow` + +* `equal` + +* `ok` + +* `strictEqual` + +* `throws` + +(The reason for the restricted set of test functions is because we need the +tests to run inside Firefox's test suite as well and so the assert module is +shimmed in that environment. See `build/assert-shim.js`.) + +[format]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit +[feature]: https://wiki.mozilla.org/DevTools/Features/SourceMap +[Dryice]: https://github.com/mozilla/dryice diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/assert-shim.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/assert-shim.js new file mode 100644 index 0000000..daa1a62 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/assert-shim.js @@ -0,0 +1,56 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +define('test/source-map/assert', ['exports'], function (exports) { + + let do_throw = function (msg) { + throw new Error(msg); + }; + + exports.init = function (throw_fn) { + do_throw = throw_fn; + }; + + exports.doesNotThrow = function (fn) { + try { + fn(); + } + catch (e) { + do_throw(e.message); + } + }; + + exports.equal = function (actual, expected, msg) { + msg = msg || String(actual) + ' != ' + String(expected); + if (actual != expected) { + do_throw(msg); + } + }; + + exports.ok = function (val, msg) { + msg = msg || String(val) + ' is falsey'; + if (!Boolean(val)) { + do_throw(msg); + } + }; + + exports.strictEqual = function (actual, expected, msg) { + msg = msg || String(actual) + ' !== ' + String(expected); + if (actual !== expected) { + do_throw(msg); + } + }; + + exports.throws = function (fn) { + try { + fn(); + do_throw('Expected an error to be thrown, but it wasn\'t.'); + } + catch (e) { + } + }; + +}); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/mini-require.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/mini-require.js new file mode 100644 index 0000000..0daf453 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/mini-require.js @@ -0,0 +1,152 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +/** + * Define a module along with a payload. + * @param {string} moduleName Name for the payload + * @param {ignored} deps Ignored. For compatibility with CommonJS AMD Spec + * @param {function} payload Function with (require, exports, module) params + */ +function define(moduleName, deps, payload) { + if (typeof moduleName != "string") { + throw new TypeError('Expected string, got: ' + moduleName); + } + + if (arguments.length == 2) { + payload = deps; + } + + if (moduleName in define.modules) { + throw new Error("Module already defined: " + moduleName); + } + define.modules[moduleName] = payload; +}; + +/** + * The global store of un-instantiated modules + */ +define.modules = {}; + + +/** + * We invoke require() in the context of a Domain so we can have multiple + * sets of modules running separate from each other. + * This contrasts with JSMs which are singletons, Domains allows us to + * optionally load a CommonJS module twice with separate data each time. + * Perhaps you want 2 command lines with a different set of commands in each, + * for example. + */ +function Domain() { + this.modules = {}; + this._currentModule = null; +} + +(function () { + + /** + * Lookup module names and resolve them by calling the definition function if + * needed. + * There are 2 ways to call this, either with an array of dependencies and a + * callback to call when the dependencies are found (which can happen + * asynchronously in an in-page context) or with a single string an no callback + * where the dependency is resolved synchronously and returned. + * The API is designed to be compatible with the CommonJS AMD spec and + * RequireJS. + * @param {string[]|string} deps A name, or names for the payload + * @param {function|undefined} callback Function to call when the dependencies + * are resolved + * @return {undefined|object} The module required or undefined for + * array/callback method + */ + Domain.prototype.require = function(deps, callback) { + if (Array.isArray(deps)) { + var params = deps.map(function(dep) { + return this.lookup(dep); + }, this); + if (callback) { + callback.apply(null, params); + } + return undefined; + } + else { + return this.lookup(deps); + } + }; + + function normalize(path) { + var bits = path.split('/'); + var i = 1; + while (i < bits.length) { + if (bits[i] === '..') { + bits.splice(i-1, 1); + } else if (bits[i] === '.') { + bits.splice(i, 1); + } else { + i++; + } + } + return bits.join('/'); + } + + function join(a, b) { + a = a.trim(); + b = b.trim(); + if (/^\//.test(b)) { + return b; + } else { + return a.replace(/\/*$/, '/') + b; + } + } + + function dirname(path) { + var bits = path.split('/'); + bits.pop(); + return bits.join('/'); + } + + /** + * Lookup module names and resolve them by calling the definition function if + * needed. + * @param {string} moduleName A name for the payload to lookup + * @return {object} The module specified by aModuleName or null if not found. + */ + Domain.prototype.lookup = function(moduleName) { + if (/^\./.test(moduleName)) { + moduleName = normalize(join(dirname(this._currentModule), moduleName)); + } + + if (moduleName in this.modules) { + var module = this.modules[moduleName]; + return module; + } + + if (!(moduleName in define.modules)) { + throw new Error("Module not defined: " + moduleName); + } + + var module = define.modules[moduleName]; + + if (typeof module == "function") { + var exports = {}; + var previousModule = this._currentModule; + this._currentModule = moduleName; + module(this.require.bind(this), exports, { id: moduleName, uri: "" }); + this._currentModule = previousModule; + module = exports; + } + + // cache the resulting module object for next time + this.modules[moduleName] = module; + + return module; + }; + +}()); + +define.Domain = Domain; +define.globalDomain = new Domain(); +var require = define.globalDomain.require.bind(define.globalDomain); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/prefix-source-map.jsm b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/prefix-source-map.jsm new file mode 100644 index 0000000..ee2539d --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/prefix-source-map.jsm @@ -0,0 +1,20 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +/* + * WARNING! + * + * Do not edit this file directly, it is built from the sources at + * https://github.com/mozilla/source-map/ + */ + +/////////////////////////////////////////////////////////////////////////////// + + +this.EXPORTED_SYMBOLS = [ "SourceMapConsumer", "SourceMapGenerator", "SourceNode" ]; + +Components.utils.import('resource://gre/modules/devtools/Require.jsm'); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/prefix-utils.jsm b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/prefix-utils.jsm new file mode 100644 index 0000000..80341d4 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/prefix-utils.jsm @@ -0,0 +1,18 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +/* + * WARNING! + * + * Do not edit this file directly, it is built from the sources at + * https://github.com/mozilla/source-map/ + */ + +Components.utils.import('resource://gre/modules/devtools/Require.jsm'); +Components.utils.import('resource://gre/modules/devtools/SourceMap.jsm'); + +this.EXPORTED_SYMBOLS = [ "define", "runSourceMapTests" ]; diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/suffix-browser.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/suffix-browser.js new file mode 100644 index 0000000..fb29ff5 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/suffix-browser.js @@ -0,0 +1,8 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/////////////////////////////////////////////////////////////////////////////// + +this.sourceMap = { + SourceMapConsumer: require('source-map/source-map-consumer').SourceMapConsumer, + SourceMapGenerator: require('source-map/source-map-generator').SourceMapGenerator, + SourceNode: require('source-map/source-node').SourceNode +}; diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/suffix-source-map.jsm b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/suffix-source-map.jsm new file mode 100644 index 0000000..cf3c2d8 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/suffix-source-map.jsm @@ -0,0 +1,6 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/////////////////////////////////////////////////////////////////////////////// + +this.SourceMapConsumer = require('source-map/source-map-consumer').SourceMapConsumer; +this.SourceMapGenerator = require('source-map/source-map-generator').SourceMapGenerator; +this.SourceNode = require('source-map/source-node').SourceNode; diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/suffix-utils.jsm b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/suffix-utils.jsm new file mode 100644 index 0000000..b31b84c --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/suffix-utils.jsm @@ -0,0 +1,21 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +function runSourceMapTests(modName, do_throw) { + let mod = require(modName); + let assert = require('test/source-map/assert'); + let util = require('test/source-map/util'); + + assert.init(do_throw); + + for (let k in mod) { + if (/^test/.test(k)) { + mod[k](assert, util); + } + } + +} +this.runSourceMapTests = runSourceMapTests; diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/test-prefix.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/test-prefix.js new file mode 100644 index 0000000..1b13f30 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/test-prefix.js @@ -0,0 +1,8 @@ +/* + * WARNING! + * + * Do not edit this file directly, it is built from the sources at + * https://github.com/mozilla/source-map/ + */ + +Components.utils.import('resource://test/Utils.jsm'); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/test-suffix.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/test-suffix.js new file mode 100644 index 0000000..bec2de3 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/test-suffix.js @@ -0,0 +1,3 @@ +function run_test() { + runSourceMapTests('{THIS_MODULE}', do_throw); +} diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map.js new file mode 100644 index 0000000..121ad24 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map.js @@ -0,0 +1,8 @@ +/* + * Copyright 2009-2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE.txt or: + * http://opensource.org/licenses/BSD-3-Clause + */ +exports.SourceMapGenerator = require('./source-map/source-map-generator').SourceMapGenerator; +exports.SourceMapConsumer = require('./source-map/source-map-consumer').SourceMapConsumer; +exports.SourceNode = require('./source-map/source-node').SourceNode; diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/array-set.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/array-set.js new file mode 100644 index 0000000..40f9a18 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/array-set.js @@ -0,0 +1,97 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module, require); +} +define(function (require, exports, module) { + + var util = require('./util'); + + /** + * A data structure which is a combination of an array and a set. Adding a new + * member is O(1), testing for membership is O(1), and finding the index of an + * element is O(1). Removing elements from the set is not supported. Only + * strings are supported for membership. + */ + function ArraySet() { + this._array = []; + this._set = {}; + } + + /** + * Static method for creating ArraySet instances from an existing array. + */ + ArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) { + var set = new ArraySet(); + for (var i = 0, len = aArray.length; i < len; i++) { + set.add(aArray[i], aAllowDuplicates); + } + return set; + }; + + /** + * Add the given string to this set. + * + * @param String aStr + */ + ArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) { + var isDuplicate = this.has(aStr); + var idx = this._array.length; + if (!isDuplicate || aAllowDuplicates) { + this._array.push(aStr); + } + if (!isDuplicate) { + this._set[util.toSetString(aStr)] = idx; + } + }; + + /** + * Is the given string a member of this set? + * + * @param String aStr + */ + ArraySet.prototype.has = function ArraySet_has(aStr) { + return Object.prototype.hasOwnProperty.call(this._set, + util.toSetString(aStr)); + }; + + /** + * What is the index of the given string in the array? + * + * @param String aStr + */ + ArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) { + if (this.has(aStr)) { + return this._set[util.toSetString(aStr)]; + } + throw new Error('"' + aStr + '" is not in the set.'); + }; + + /** + * What is the element at the given index? + * + * @param Number aIdx + */ + ArraySet.prototype.at = function ArraySet_at(aIdx) { + if (aIdx >= 0 && aIdx < this._array.length) { + return this._array[aIdx]; + } + throw new Error('No element indexed by ' + aIdx); + }; + + /** + * Returns the array representation of this set (which has the proper indices + * indicated by indexOf). Note that this is a copy of the internal array used + * for storing the members so that no one can mess with internal state. + */ + ArraySet.prototype.toArray = function ArraySet_toArray() { + return this._array.slice(); + }; + + exports.ArraySet = ArraySet; + +}); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/base64-vlq.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/base64-vlq.js new file mode 100644 index 0000000..1b67bb3 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/base64-vlq.js @@ -0,0 +1,144 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + * + * Based on the Base 64 VLQ implementation in Closure Compiler: + * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java + * + * Copyright 2011 The Closure Compiler Authors. All rights reserved. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module, require); +} +define(function (require, exports, module) { + + var base64 = require('./base64'); + + // A single base 64 digit can contain 6 bits of data. For the base 64 variable + // length quantities we use in the source map spec, the first bit is the sign, + // the next four bits are the actual value, and the 6th bit is the + // continuation bit. The continuation bit tells us whether there are more + // digits in this value following this digit. + // + // Continuation + // | Sign + // | | + // V V + // 101011 + + var VLQ_BASE_SHIFT = 5; + + // binary: 100000 + var VLQ_BASE = 1 << VLQ_BASE_SHIFT; + + // binary: 011111 + var VLQ_BASE_MASK = VLQ_BASE - 1; + + // binary: 100000 + var VLQ_CONTINUATION_BIT = VLQ_BASE; + + /** + * Converts from a two-complement value to a value where the sign bit is + * is placed in the least significant bit. For example, as decimals: + * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary) + * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary) + */ + function toVLQSigned(aValue) { + return aValue < 0 + ? ((-aValue) << 1) + 1 + : (aValue << 1) + 0; + } + + /** + * Converts to a two-complement value from a value where the sign bit is + * is placed in the least significant bit. For example, as decimals: + * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1 + * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2 + */ + function fromVLQSigned(aValue) { + var isNegative = (aValue & 1) === 1; + var shifted = aValue >> 1; + return isNegative + ? -shifted + : shifted; + } + + /** + * Returns the base 64 VLQ encoded value. + */ + exports.encode = function base64VLQ_encode(aValue) { + var encoded = ""; + var digit; + + var vlq = toVLQSigned(aValue); + + do { + digit = vlq & VLQ_BASE_MASK; + vlq >>>= VLQ_BASE_SHIFT; + if (vlq > 0) { + // There are still more digits in this value, so we must make sure the + // continuation bit is marked. + digit |= VLQ_CONTINUATION_BIT; + } + encoded += base64.encode(digit); + } while (vlq > 0); + + return encoded; + }; + + /** + * Decodes the next base 64 VLQ value from the given string and returns the + * value and the rest of the string. + */ + exports.decode = function base64VLQ_decode(aStr) { + var i = 0; + var strLen = aStr.length; + var result = 0; + var shift = 0; + var continuation, digit; + + do { + if (i >= strLen) { + throw new Error("Expected more digits in base 64 VLQ value."); + } + digit = base64.decode(aStr.charAt(i++)); + continuation = !!(digit & VLQ_CONTINUATION_BIT); + digit &= VLQ_BASE_MASK; + result = result + (digit << shift); + shift += VLQ_BASE_SHIFT; + } while (continuation); + + return { + value: fromVLQSigned(result), + rest: aStr.slice(i) + }; + }; + +}); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/base64.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/base64.js new file mode 100644 index 0000000..863cc46 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/base64.js @@ -0,0 +1,42 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module, require); +} +define(function (require, exports, module) { + + var charToIntMap = {}; + var intToCharMap = {}; + + 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' + .split('') + .forEach(function (ch, index) { + charToIntMap[ch] = index; + intToCharMap[index] = ch; + }); + + /** + * Encode an integer in the range of 0 to 63 to a single base 64 digit. + */ + exports.encode = function base64_encode(aNumber) { + if (aNumber in intToCharMap) { + return intToCharMap[aNumber]; + } + throw new TypeError("Must be between 0 and 63: " + aNumber); + }; + + /** + * Decode a single base 64 digit to an integer. + */ + exports.decode = function base64_decode(aChar) { + if (aChar in charToIntMap) { + return charToIntMap[aChar]; + } + throw new TypeError("Not a valid base 64 digit: " + aChar); + }; + +}); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/binary-search.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/binary-search.js new file mode 100644 index 0000000..ff347c6 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/binary-search.js @@ -0,0 +1,81 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module, require); +} +define(function (require, exports, module) { + + /** + * Recursive implementation of binary search. + * + * @param aLow Indices here and lower do not contain the needle. + * @param aHigh Indices here and higher do not contain the needle. + * @param aNeedle The element being searched for. + * @param aHaystack The non-empty array being searched. + * @param aCompare Function which takes two elements and returns -1, 0, or 1. + */ + function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare) { + // This function terminates when one of the following is true: + // + // 1. We find the exact element we are looking for. + // + // 2. We did not find the exact element, but we can return the next + // closest element that is less than that element. + // + // 3. We did not find the exact element, and there is no next-closest + // element which is less than the one we are searching for, so we + // return null. + var mid = Math.floor((aHigh - aLow) / 2) + aLow; + var cmp = aCompare(aNeedle, aHaystack[mid], true); + if (cmp === 0) { + // Found the element we are looking for. + return aHaystack[mid]; + } + else if (cmp > 0) { + // aHaystack[mid] is greater than our needle. + if (aHigh - mid > 1) { + // The element is in the upper half. + return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare); + } + // We did not find an exact match, return the next closest one + // (termination case 2). + return aHaystack[mid]; + } + else { + // aHaystack[mid] is less than our needle. + if (mid - aLow > 1) { + // The element is in the lower half. + return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare); + } + // The exact needle element was not found in this haystack. Determine if + // we are in termination case (2) or (3) and return the appropriate thing. + return aLow < 0 + ? null + : aHaystack[aLow]; + } + } + + /** + * This is an implementation of binary search which will always try and return + * the next lowest value checked if there is no exact hit. This is because + * mappings between original and generated line/col pairs are single points, + * and there is an implicit region between each of them, so a miss just means + * that you aren't on the very start of a region. + * + * @param aNeedle The element you are looking for. + * @param aHaystack The array that is being searched. + * @param aCompare A function which takes the needle and an element in the + * array and returns -1, 0, or 1 depending on whether the needle is less + * than, equal to, or greater than the element, respectively. + */ + exports.search = function search(aNeedle, aHaystack, aCompare) { + return aHaystack.length > 0 + ? recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack, aCompare) + : null; + }; + +}); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-map-consumer.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-map-consumer.js new file mode 100644 index 0000000..a3b9dc0 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-map-consumer.js @@ -0,0 +1,477 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module, require); +} +define(function (require, exports, module) { + + var util = require('./util'); + var binarySearch = require('./binary-search'); + var ArraySet = require('./array-set').ArraySet; + var base64VLQ = require('./base64-vlq'); + + /** + * A SourceMapConsumer instance represents a parsed source map which we can + * query for information about the original file positions by giving it a file + * position in the generated source. + * + * The only parameter is the raw source map (either as a JSON string, or + * already parsed to an object). According to the spec, source maps have the + * following attributes: + * + * - version: Which version of the source map spec this map is following. + * - sources: An array of URLs to the original source files. + * - names: An array of identifiers which can be referrenced by individual mappings. + * - sourceRoot: Optional. The URL root from which all sources are relative. + * - sourcesContent: Optional. An array of contents of the original source files. + * - mappings: A string of base64 VLQs which contain the actual mappings. + * - file: The generated file this source map is associated with. + * + * Here is an example source map, taken from the source map spec[0]: + * + * { + * version : 3, + * file: "out.js", + * sourceRoot : "", + * sources: ["foo.js", "bar.js"], + * names: ["src", "maps", "are", "fun"], + * mappings: "AA,AB;;ABCDE;" + * } + * + * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1# + */ + function SourceMapConsumer(aSourceMap) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = JSON.parse(aSourceMap.replace(/^\)\]\}'/, '')); + } + + var version = util.getArg(sourceMap, 'version'); + var sources = util.getArg(sourceMap, 'sources'); + // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which + // requires the array) to play nice here. + var names = util.getArg(sourceMap, 'names', []); + var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null); + var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null); + var mappings = util.getArg(sourceMap, 'mappings'); + var file = util.getArg(sourceMap, 'file', null); + + // Once again, Sass deviates from the spec and supplies the version as a + // string rather than a number, so we use loose equality checking here. + if (version != this._version) { + throw new Error('Unsupported version: ' + version); + } + + // Pass `true` below to allow duplicate names and sources. While source maps + // are intended to be compressed and deduplicated, the TypeScript compiler + // sometimes generates source maps with duplicates in them. See Github issue + // #72 and bugzil.la/889492. + this._names = ArraySet.fromArray(names, true); + this._sources = ArraySet.fromArray(sources, true); + + this.sourceRoot = sourceRoot; + this.sourcesContent = sourcesContent; + this._mappings = mappings; + this.file = file; + } + + /** + * Create a SourceMapConsumer from a SourceMapGenerator. + * + * @param SourceMapGenerator aSourceMap + * The source map that will be consumed. + * @returns SourceMapConsumer + */ + SourceMapConsumer.fromSourceMap = + function SourceMapConsumer_fromSourceMap(aSourceMap) { + var smc = Object.create(SourceMapConsumer.prototype); + + smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true); + smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true); + smc.sourceRoot = aSourceMap._sourceRoot; + smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(), + smc.sourceRoot); + smc.file = aSourceMap._file; + + smc.__generatedMappings = aSourceMap._mappings.slice() + .sort(util.compareByGeneratedPositions); + smc.__originalMappings = aSourceMap._mappings.slice() + .sort(util.compareByOriginalPositions); + + return smc; + }; + + /** + * The version of the source mapping spec that we are consuming. + */ + SourceMapConsumer.prototype._version = 3; + + /** + * The list of original sources. + */ + Object.defineProperty(SourceMapConsumer.prototype, 'sources', { + get: function () { + return this._sources.toArray().map(function (s) { + return this.sourceRoot ? util.join(this.sourceRoot, s) : s; + }, this); + } + }); + + // `__generatedMappings` and `__originalMappings` are arrays that hold the + // parsed mapping coordinates from the source map's "mappings" attribute. They + // are lazily instantiated, accessed via the `_generatedMappings` and + // `_originalMappings` getters respectively, and we only parse the mappings + // and create these arrays once queried for a source location. We jump through + // these hoops because there can be many thousands of mappings, and parsing + // them is expensive, so we only want to do it if we must. + // + // Each object in the arrays is of the form: + // + // { + // generatedLine: The line number in the generated code, + // generatedColumn: The column number in the generated code, + // source: The path to the original source file that generated this + // chunk of code, + // originalLine: The line number in the original source that + // corresponds to this chunk of generated code, + // originalColumn: The column number in the original source that + // corresponds to this chunk of generated code, + // name: The name of the original symbol which generated this chunk of + // code. + // } + // + // All properties except for `generatedLine` and `generatedColumn` can be + // `null`. + // + // `_generatedMappings` is ordered by the generated positions. + // + // `_originalMappings` is ordered by the original positions. + + SourceMapConsumer.prototype.__generatedMappings = null; + Object.defineProperty(SourceMapConsumer.prototype, '_generatedMappings', { + get: function () { + if (!this.__generatedMappings) { + this.__generatedMappings = []; + this.__originalMappings = []; + this._parseMappings(this._mappings, this.sourceRoot); + } + + return this.__generatedMappings; + } + }); + + SourceMapConsumer.prototype.__originalMappings = null; + Object.defineProperty(SourceMapConsumer.prototype, '_originalMappings', { + get: function () { + if (!this.__originalMappings) { + this.__generatedMappings = []; + this.__originalMappings = []; + this._parseMappings(this._mappings, this.sourceRoot); + } + + return this.__originalMappings; + } + }); + + /** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ + SourceMapConsumer.prototype._parseMappings = + function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { + var generatedLine = 1; + var previousGeneratedColumn = 0; + var previousOriginalLine = 0; + var previousOriginalColumn = 0; + var previousSource = 0; + var previousName = 0; + var mappingSeparator = /^[,;]/; + var str = aStr; + var mapping; + var temp; + + while (str.length > 0) { + if (str.charAt(0) === ';') { + generatedLine++; + str = str.slice(1); + previousGeneratedColumn = 0; + } + else if (str.charAt(0) === ',') { + str = str.slice(1); + } + else { + mapping = {}; + mapping.generatedLine = generatedLine; + + // Generated column. + temp = base64VLQ.decode(str); + mapping.generatedColumn = previousGeneratedColumn + temp.value; + previousGeneratedColumn = mapping.generatedColumn; + str = temp.rest; + + if (str.length > 0 && !mappingSeparator.test(str.charAt(0))) { + // Original source. + temp = base64VLQ.decode(str); + mapping.source = this._sources.at(previousSource + temp.value); + previousSource += temp.value; + str = temp.rest; + if (str.length === 0 || mappingSeparator.test(str.charAt(0))) { + throw new Error('Found a source, but no line and column'); + } + + // Original line. + temp = base64VLQ.decode(str); + mapping.originalLine = previousOriginalLine + temp.value; + previousOriginalLine = mapping.originalLine; + // Lines are stored 0-based + mapping.originalLine += 1; + str = temp.rest; + if (str.length === 0 || mappingSeparator.test(str.charAt(0))) { + throw new Error('Found a source and line, but no column'); + } + + // Original column. + temp = base64VLQ.decode(str); + mapping.originalColumn = previousOriginalColumn + temp.value; + previousOriginalColumn = mapping.originalColumn; + str = temp.rest; + + if (str.length > 0 && !mappingSeparator.test(str.charAt(0))) { + // Original name. + temp = base64VLQ.decode(str); + mapping.name = this._names.at(previousName + temp.value); + previousName += temp.value; + str = temp.rest; + } + } + + this.__generatedMappings.push(mapping); + if (typeof mapping.originalLine === 'number') { + this.__originalMappings.push(mapping); + } + } + } + + this.__originalMappings.sort(util.compareByOriginalPositions); + }; + + /** + * Find the mapping that best matches the hypothetical "needle" mapping that + * we are searching for in the given "haystack" of mappings. + */ + SourceMapConsumer.prototype._findMapping = + function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName, + aColumnName, aComparator) { + // To return the position we are searching for, we must first find the + // mapping for the given position and then return the opposite position it + // points to. Because the mappings are sorted, we can use binary search to + // find the best mapping. + + if (aNeedle[aLineName] <= 0) { + throw new TypeError('Line must be greater than or equal to 1, got ' + + aNeedle[aLineName]); + } + if (aNeedle[aColumnName] < 0) { + throw new TypeError('Column must be greater than or equal to 0, got ' + + aNeedle[aColumnName]); + } + + return binarySearch.search(aNeedle, aMappings, aComparator); + }; + + /** + * Returns the original source, line, and column information for the generated + * source's line and column positions provided. The only argument is an object + * with the following properties: + * + * - line: The line number in the generated source. + * - column: The column number in the generated source. + * + * and an object is returned with the following properties: + * + * - source: The original source file, or null. + * - line: The line number in the original source, or null. + * - column: The column number in the original source, or null. + * - name: The original identifier, or null. + */ + SourceMapConsumer.prototype.originalPositionFor = + function SourceMapConsumer_originalPositionFor(aArgs) { + var needle = { + generatedLine: util.getArg(aArgs, 'line'), + generatedColumn: util.getArg(aArgs, 'column') + }; + + var mapping = this._findMapping(needle, + this._generatedMappings, + "generatedLine", + "generatedColumn", + util.compareByGeneratedPositions); + + if (mapping) { + var source = util.getArg(mapping, 'source', null); + if (source && this.sourceRoot) { + source = util.join(this.sourceRoot, source); + } + return { + source: source, + line: util.getArg(mapping, 'originalLine', null), + column: util.getArg(mapping, 'originalColumn', null), + name: util.getArg(mapping, 'name', null) + }; + } + + return { + source: null, + line: null, + column: null, + name: null + }; + }; + + /** + * Returns the original source content. The only argument is the url of the + * original source file. Returns null if no original source content is + * availible. + */ + SourceMapConsumer.prototype.sourceContentFor = + function SourceMapConsumer_sourceContentFor(aSource) { + if (!this.sourcesContent) { + return null; + } + + if (this.sourceRoot) { + aSource = util.relative(this.sourceRoot, aSource); + } + + if (this._sources.has(aSource)) { + return this.sourcesContent[this._sources.indexOf(aSource)]; + } + + var url; + if (this.sourceRoot + && (url = util.urlParse(this.sourceRoot))) { + // XXX: file:// URIs and absolute paths lead to unexpected behavior for + // many users. We can help them out when they expect file:// URIs to + // behave like it would if they were running a local HTTP server. See + // https://bugzilla.mozilla.org/show_bug.cgi?id=885597. + var fileUriAbsPath = aSource.replace(/^file:\/\//, ""); + if (url.scheme == "file" + && this._sources.has(fileUriAbsPath)) { + return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)] + } + + if ((!url.path || url.path == "/") + && this._sources.has("/" + aSource)) { + return this.sourcesContent[this._sources.indexOf("/" + aSource)]; + } + } + + throw new Error('"' + aSource + '" is not in the SourceMap.'); + }; + + /** + * Returns the generated line and column information for the original source, + * line, and column positions provided. The only argument is an object with + * the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. + * - column: The column number in the original source. + * + * and an object is returned with the following properties: + * + * - line: The line number in the generated source, or null. + * - column: The column number in the generated source, or null. + */ + SourceMapConsumer.prototype.generatedPositionFor = + function SourceMapConsumer_generatedPositionFor(aArgs) { + var needle = { + source: util.getArg(aArgs, 'source'), + originalLine: util.getArg(aArgs, 'line'), + originalColumn: util.getArg(aArgs, 'column') + }; + + if (this.sourceRoot) { + needle.source = util.relative(this.sourceRoot, needle.source); + } + + var mapping = this._findMapping(needle, + this._originalMappings, + "originalLine", + "originalColumn", + util.compareByOriginalPositions); + + if (mapping) { + return { + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null) + }; + } + + return { + line: null, + column: null + }; + }; + + SourceMapConsumer.GENERATED_ORDER = 1; + SourceMapConsumer.ORIGINAL_ORDER = 2; + + /** + * Iterate over each mapping between an original source/line/column and a + * generated line/column in this source map. + * + * @param Function aCallback + * The function that is called with each mapping. + * @param Object aContext + * Optional. If specified, this object will be the value of `this` every + * time that `aCallback` is called. + * @param aOrder + * Either `SourceMapConsumer.GENERATED_ORDER` or + * `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to + * iterate over the mappings sorted by the generated file's line/column + * order or the original's source/line/column order, respectively. Defaults to + * `SourceMapConsumer.GENERATED_ORDER`. + */ + SourceMapConsumer.prototype.eachMapping = + function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) { + var context = aContext || null; + var order = aOrder || SourceMapConsumer.GENERATED_ORDER; + + var mappings; + switch (order) { + case SourceMapConsumer.GENERATED_ORDER: + mappings = this._generatedMappings; + break; + case SourceMapConsumer.ORIGINAL_ORDER: + mappings = this._originalMappings; + break; + default: + throw new Error("Unknown order of iteration."); + } + + var sourceRoot = this.sourceRoot; + mappings.map(function (mapping) { + var source = mapping.source; + if (source && sourceRoot) { + source = util.join(sourceRoot, source); + } + return { + source: source, + generatedLine: mapping.generatedLine, + generatedColumn: mapping.generatedColumn, + originalLine: mapping.originalLine, + originalColumn: mapping.originalColumn, + name: mapping.name + }; + }).forEach(aCallback, context); + }; + + exports.SourceMapConsumer = SourceMapConsumer; + +}); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-map-generator.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-map-generator.js new file mode 100644 index 0000000..48ead7d --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-map-generator.js @@ -0,0 +1,380 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module, require); +} +define(function (require, exports, module) { + + var base64VLQ = require('./base64-vlq'); + var util = require('./util'); + var ArraySet = require('./array-set').ArraySet; + + /** + * An instance of the SourceMapGenerator represents a source map which is + * being built incrementally. To create a new one, you must pass an object + * with the following properties: + * + * - file: The filename of the generated source. + * - sourceRoot: An optional root for all URLs in this source map. + */ + function SourceMapGenerator(aArgs) { + this._file = util.getArg(aArgs, 'file'); + this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null); + this._sources = new ArraySet(); + this._names = new ArraySet(); + this._mappings = []; + this._sourcesContents = null; + } + + SourceMapGenerator.prototype._version = 3; + + /** + * Creates a new SourceMapGenerator based on a SourceMapConsumer + * + * @param aSourceMapConsumer The SourceMap. + */ + SourceMapGenerator.fromSourceMap = + function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) { + var sourceRoot = aSourceMapConsumer.sourceRoot; + var generator = new SourceMapGenerator({ + file: aSourceMapConsumer.file, + sourceRoot: sourceRoot + }); + aSourceMapConsumer.eachMapping(function (mapping) { + var newMapping = { + generated: { + line: mapping.generatedLine, + column: mapping.generatedColumn + } + }; + + if (mapping.source) { + newMapping.source = mapping.source; + if (sourceRoot) { + newMapping.source = util.relative(sourceRoot, newMapping.source); + } + + newMapping.original = { + line: mapping.originalLine, + column: mapping.originalColumn + }; + + if (mapping.name) { + newMapping.name = mapping.name; + } + } + + generator.addMapping(newMapping); + }); + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content) { + generator.setSourceContent(sourceFile, content); + } + }); + return generator; + }; + + /** + * Add a single mapping from original source line and column to the generated + * source's line and column for this source map being created. The mapping + * object should have the following properties: + * + * - generated: An object with the generated line and column positions. + * - original: An object with the original line and column positions. + * - source: The original source file (relative to the sourceRoot). + * - name: An optional original token name for this mapping. + */ + SourceMapGenerator.prototype.addMapping = + function SourceMapGenerator_addMapping(aArgs) { + var generated = util.getArg(aArgs, 'generated'); + var original = util.getArg(aArgs, 'original', null); + var source = util.getArg(aArgs, 'source', null); + var name = util.getArg(aArgs, 'name', null); + + this._validateMapping(generated, original, source, name); + + if (source && !this._sources.has(source)) { + this._sources.add(source); + } + + if (name && !this._names.has(name)) { + this._names.add(name); + } + + this._mappings.push({ + generatedLine: generated.line, + generatedColumn: generated.column, + originalLine: original != null && original.line, + originalColumn: original != null && original.column, + source: source, + name: name + }); + }; + + /** + * Set the source content for a source file. + */ + SourceMapGenerator.prototype.setSourceContent = + function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) { + var source = aSourceFile; + if (this._sourceRoot) { + source = util.relative(this._sourceRoot, source); + } + + if (aSourceContent !== null) { + // Add the source content to the _sourcesContents map. + // Create a new _sourcesContents map if the property is null. + if (!this._sourcesContents) { + this._sourcesContents = {}; + } + this._sourcesContents[util.toSetString(source)] = aSourceContent; + } else { + // Remove the source file from the _sourcesContents map. + // If the _sourcesContents map is empty, set the property to null. + delete this._sourcesContents[util.toSetString(source)]; + if (Object.keys(this._sourcesContents).length === 0) { + this._sourcesContents = null; + } + } + }; + + /** + * Applies the mappings of a sub-source-map for a specific source file to the + * source map being generated. Each mapping to the supplied source file is + * rewritten using the supplied source map. Note: The resolution for the + * resulting mappings is the minimium of this map and the supplied map. + * + * @param aSourceMapConsumer The source map to be applied. + * @param aSourceFile Optional. The filename of the source file. + * If omitted, SourceMapConsumer's file property will be used. + */ + SourceMapGenerator.prototype.applySourceMap = + function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile) { + // If aSourceFile is omitted, we will use the file property of the SourceMap + if (!aSourceFile) { + aSourceFile = aSourceMapConsumer.file; + } + var sourceRoot = this._sourceRoot; + // Make "aSourceFile" relative if an absolute Url is passed. + if (sourceRoot) { + aSourceFile = util.relative(sourceRoot, aSourceFile); + } + // Applying the SourceMap can add and remove items from the sources and + // the names array. + var newSources = new ArraySet(); + var newNames = new ArraySet(); + + // Find mappings for the "aSourceFile" + this._mappings.forEach(function (mapping) { + if (mapping.source === aSourceFile && mapping.originalLine) { + // Check if it can be mapped by the source map, then update the mapping. + var original = aSourceMapConsumer.originalPositionFor({ + line: mapping.originalLine, + column: mapping.originalColumn + }); + if (original.source !== null) { + // Copy mapping + if (sourceRoot) { + mapping.source = util.relative(sourceRoot, original.source); + } else { + mapping.source = original.source; + } + mapping.originalLine = original.line; + mapping.originalColumn = original.column; + if (original.name !== null && mapping.name !== null) { + // Only use the identifier name if it's an identifier + // in both SourceMaps + mapping.name = original.name; + } + } + } + + var source = mapping.source; + if (source && !newSources.has(source)) { + newSources.add(source); + } + + var name = mapping.name; + if (name && !newNames.has(name)) { + newNames.add(name); + } + + }, this); + this._sources = newSources; + this._names = newNames; + + // Copy sourcesContents of applied map. + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content) { + if (sourceRoot) { + sourceFile = util.relative(sourceRoot, sourceFile); + } + this.setSourceContent(sourceFile, content); + } + }, this); + }; + + /** + * A mapping can have one of the three levels of data: + * + * 1. Just the generated position. + * 2. The Generated position, original position, and original source. + * 3. Generated and original position, original source, as well as a name + * token. + * + * To maintain consistency, we validate that any new mapping being added falls + * in to one of these categories. + */ + SourceMapGenerator.prototype._validateMapping = + function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource, + aName) { + if (aGenerated && 'line' in aGenerated && 'column' in aGenerated + && aGenerated.line > 0 && aGenerated.column >= 0 + && !aOriginal && !aSource && !aName) { + // Case 1. + return; + } + else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated + && aOriginal && 'line' in aOriginal && 'column' in aOriginal + && aGenerated.line > 0 && aGenerated.column >= 0 + && aOriginal.line > 0 && aOriginal.column >= 0 + && aSource) { + // Cases 2 and 3. + return; + } + else { + throw new Error('Invalid mapping: ' + JSON.stringify({ + generated: aGenerated, + source: aSource, + orginal: aOriginal, + name: aName + })); + } + }; + + /** + * Serialize the accumulated mappings in to the stream of base 64 VLQs + * specified by the source map format. + */ + SourceMapGenerator.prototype._serializeMappings = + function SourceMapGenerator_serializeMappings() { + var previousGeneratedColumn = 0; + var previousGeneratedLine = 1; + var previousOriginalColumn = 0; + var previousOriginalLine = 0; + var previousName = 0; + var previousSource = 0; + var result = ''; + var mapping; + + // The mappings must be guaranteed to be in sorted order before we start + // serializing them or else the generated line numbers (which are defined + // via the ';' separators) will be all messed up. Note: it might be more + // performant to maintain the sorting as we insert them, rather than as we + // serialize them, but the big O is the same either way. + this._mappings.sort(util.compareByGeneratedPositions); + + for (var i = 0, len = this._mappings.length; i < len; i++) { + mapping = this._mappings[i]; + + if (mapping.generatedLine !== previousGeneratedLine) { + previousGeneratedColumn = 0; + while (mapping.generatedLine !== previousGeneratedLine) { + result += ';'; + previousGeneratedLine++; + } + } + else { + if (i > 0) { + if (!util.compareByGeneratedPositions(mapping, this._mappings[i - 1])) { + continue; + } + result += ','; + } + } + + result += base64VLQ.encode(mapping.generatedColumn + - previousGeneratedColumn); + previousGeneratedColumn = mapping.generatedColumn; + + if (mapping.source) { + result += base64VLQ.encode(this._sources.indexOf(mapping.source) + - previousSource); + previousSource = this._sources.indexOf(mapping.source); + + // lines are stored 0-based in SourceMap spec version 3 + result += base64VLQ.encode(mapping.originalLine - 1 + - previousOriginalLine); + previousOriginalLine = mapping.originalLine - 1; + + result += base64VLQ.encode(mapping.originalColumn + - previousOriginalColumn); + previousOriginalColumn = mapping.originalColumn; + + if (mapping.name) { + result += base64VLQ.encode(this._names.indexOf(mapping.name) + - previousName); + previousName = this._names.indexOf(mapping.name); + } + } + } + + return result; + }; + + SourceMapGenerator.prototype._generateSourcesContent = + function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) { + return aSources.map(function (source) { + if (!this._sourcesContents) { + return null; + } + if (aSourceRoot) { + source = util.relative(aSourceRoot, source); + } + var key = util.toSetString(source); + return Object.prototype.hasOwnProperty.call(this._sourcesContents, + key) + ? this._sourcesContents[key] + : null; + }, this); + }; + + /** + * Externalize the source map. + */ + SourceMapGenerator.prototype.toJSON = + function SourceMapGenerator_toJSON() { + var map = { + version: this._version, + file: this._file, + sources: this._sources.toArray(), + names: this._names.toArray(), + mappings: this._serializeMappings() + }; + if (this._sourceRoot) { + map.sourceRoot = this._sourceRoot; + } + if (this._sourcesContents) { + map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot); + } + + return map; + }; + + /** + * Render the source map being generated to a string. + */ + SourceMapGenerator.prototype.toString = + function SourceMapGenerator_toString() { + return JSON.stringify(this); + }; + + exports.SourceMapGenerator = SourceMapGenerator; + +}); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-node.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-node.js new file mode 100644 index 0000000..626cb65 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-node.js @@ -0,0 +1,371 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module, require); +} +define(function (require, exports, module) { + + var SourceMapGenerator = require('./source-map-generator').SourceMapGenerator; + var util = require('./util'); + + /** + * SourceNodes provide a way to abstract over interpolating/concatenating + * snippets of generated JavaScript source code while maintaining the line and + * column information associated with the original source code. + * + * @param aLine The original line number. + * @param aColumn The original column number. + * @param aSource The original source's filename. + * @param aChunks Optional. An array of strings which are snippets of + * generated JS, or other SourceNodes. + * @param aName The original identifier. + */ + function SourceNode(aLine, aColumn, aSource, aChunks, aName) { + this.children = []; + this.sourceContents = {}; + this.line = aLine === undefined ? null : aLine; + this.column = aColumn === undefined ? null : aColumn; + this.source = aSource === undefined ? null : aSource; + this.name = aName === undefined ? null : aName; + if (aChunks != null) this.add(aChunks); + } + + /** + * Creates a SourceNode from generated code and a SourceMapConsumer. + * + * @param aGeneratedCode The generated code + * @param aSourceMapConsumer The SourceMap for the generated code + */ + SourceNode.fromStringWithSourceMap = + function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer) { + // The SourceNode we want to fill with the generated code + // and the SourceMap + var node = new SourceNode(); + + // The generated code + // Processed fragments are removed from this array. + var remainingLines = aGeneratedCode.split('\n'); + + // We need to remember the position of "remainingLines" + var lastGeneratedLine = 1, lastGeneratedColumn = 0; + + // The generate SourceNodes we need a code range. + // To extract it current and last mapping is used. + // Here we store the last mapping. + var lastMapping = null; + + aSourceMapConsumer.eachMapping(function (mapping) { + if (lastMapping === null) { + // We add the generated code until the first mapping + // to the SourceNode without any mapping. + // Each line is added as separate string. + while (lastGeneratedLine < mapping.generatedLine) { + node.add(remainingLines.shift() + "\n"); + lastGeneratedLine++; + } + if (lastGeneratedColumn < mapping.generatedColumn) { + var nextLine = remainingLines[0]; + node.add(nextLine.substr(0, mapping.generatedColumn)); + remainingLines[0] = nextLine.substr(mapping.generatedColumn); + lastGeneratedColumn = mapping.generatedColumn; + } + } else { + // We add the code from "lastMapping" to "mapping": + // First check if there is a new line in between. + if (lastGeneratedLine < mapping.generatedLine) { + var code = ""; + // Associate full lines with "lastMapping" + do { + code += remainingLines.shift() + "\n"; + lastGeneratedLine++; + lastGeneratedColumn = 0; + } while (lastGeneratedLine < mapping.generatedLine); + // When we reached the correct line, we add code until we + // reach the correct column too. + if (lastGeneratedColumn < mapping.generatedColumn) { + var nextLine = remainingLines[0]; + code += nextLine.substr(0, mapping.generatedColumn); + remainingLines[0] = nextLine.substr(mapping.generatedColumn); + lastGeneratedColumn = mapping.generatedColumn; + } + // Create the SourceNode. + addMappingWithCode(lastMapping, code); + } else { + // There is no new line in between. + // Associate the code between "lastGeneratedColumn" and + // "mapping.generatedColumn" with "lastMapping" + var nextLine = remainingLines[0]; + var code = nextLine.substr(0, mapping.generatedColumn - + lastGeneratedColumn); + remainingLines[0] = nextLine.substr(mapping.generatedColumn - + lastGeneratedColumn); + lastGeneratedColumn = mapping.generatedColumn; + addMappingWithCode(lastMapping, code); + } + } + lastMapping = mapping; + }, this); + // We have processed all mappings. + // Associate the remaining code in the current line with "lastMapping" + // and add the remaining lines without any mapping + addMappingWithCode(lastMapping, remainingLines.join("\n")); + + // Copy sourcesContent into SourceNode + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content) { + node.setSourceContent(sourceFile, content); + } + }); + + return node; + + function addMappingWithCode(mapping, code) { + if (mapping === null || mapping.source === undefined) { + node.add(code); + } else { + node.add(new SourceNode(mapping.originalLine, + mapping.originalColumn, + mapping.source, + code, + mapping.name)); + } + } + }; + + /** + * Add a chunk of generated JS to this source node. + * + * @param aChunk A string snippet of generated JS code, another instance of + * SourceNode, or an array where each member is one of those things. + */ + SourceNode.prototype.add = function SourceNode_add(aChunk) { + if (Array.isArray(aChunk)) { + aChunk.forEach(function (chunk) { + this.add(chunk); + }, this); + } + else if (aChunk instanceof SourceNode || typeof aChunk === "string") { + if (aChunk) { + this.children.push(aChunk); + } + } + else { + throw new TypeError( + "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk + ); + } + return this; + }; + + /** + * Add a chunk of generated JS to the beginning of this source node. + * + * @param aChunk A string snippet of generated JS code, another instance of + * SourceNode, or an array where each member is one of those things. + */ + SourceNode.prototype.prepend = function SourceNode_prepend(aChunk) { + if (Array.isArray(aChunk)) { + for (var i = aChunk.length-1; i >= 0; i--) { + this.prepend(aChunk[i]); + } + } + else if (aChunk instanceof SourceNode || typeof aChunk === "string") { + this.children.unshift(aChunk); + } + else { + throw new TypeError( + "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk + ); + } + return this; + }; + + /** + * Walk over the tree of JS snippets in this node and its children. The + * walking function is called once for each snippet of JS and is passed that + * snippet and the its original associated source's line/column location. + * + * @param aFn The traversal function. + */ + SourceNode.prototype.walk = function SourceNode_walk(aFn) { + var chunk; + for (var i = 0, len = this.children.length; i < len; i++) { + chunk = this.children[i]; + if (chunk instanceof SourceNode) { + chunk.walk(aFn); + } + else { + if (chunk !== '') { + aFn(chunk, { source: this.source, + line: this.line, + column: this.column, + name: this.name }); + } + } + } + }; + + /** + * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between + * each of `this.children`. + * + * @param aSep The separator. + */ + SourceNode.prototype.join = function SourceNode_join(aSep) { + var newChildren; + var i; + var len = this.children.length; + if (len > 0) { + newChildren = []; + for (i = 0; i < len-1; i++) { + newChildren.push(this.children[i]); + newChildren.push(aSep); + } + newChildren.push(this.children[i]); + this.children = newChildren; + } + return this; + }; + + /** + * Call String.prototype.replace on the very right-most source snippet. Useful + * for trimming whitespace from the end of a source node, etc. + * + * @param aPattern The pattern to replace. + * @param aReplacement The thing to replace the pattern with. + */ + SourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) { + var lastChild = this.children[this.children.length - 1]; + if (lastChild instanceof SourceNode) { + lastChild.replaceRight(aPattern, aReplacement); + } + else if (typeof lastChild === 'string') { + this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement); + } + else { + this.children.push(''.replace(aPattern, aReplacement)); + } + return this; + }; + + /** + * Set the source content for a source file. This will be added to the SourceMapGenerator + * in the sourcesContent field. + * + * @param aSourceFile The filename of the source file + * @param aSourceContent The content of the source file + */ + SourceNode.prototype.setSourceContent = + function SourceNode_setSourceContent(aSourceFile, aSourceContent) { + this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent; + }; + + /** + * Walk over the tree of SourceNodes. The walking function is called for each + * source file content and is passed the filename and source content. + * + * @param aFn The traversal function. + */ + SourceNode.prototype.walkSourceContents = + function SourceNode_walkSourceContents(aFn) { + for (var i = 0, len = this.children.length; i < len; i++) { + if (this.children[i] instanceof SourceNode) { + this.children[i].walkSourceContents(aFn); + } + } + + var sources = Object.keys(this.sourceContents); + for (var i = 0, len = sources.length; i < len; i++) { + aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]); + } + }; + + /** + * Return the string representation of this source node. Walks over the tree + * and concatenates all the various snippets together to one string. + */ + SourceNode.prototype.toString = function SourceNode_toString() { + var str = ""; + this.walk(function (chunk) { + str += chunk; + }); + return str; + }; + + /** + * Returns the string representation of this source node along with a source + * map. + */ + SourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) { + var generated = { + code: "", + line: 1, + column: 0 + }; + var map = new SourceMapGenerator(aArgs); + var sourceMappingActive = false; + var lastOriginalSource = null; + var lastOriginalLine = null; + var lastOriginalColumn = null; + var lastOriginalName = null; + this.walk(function (chunk, original) { + generated.code += chunk; + if (original.source !== null + && original.line !== null + && original.column !== null) { + if(lastOriginalSource !== original.source + || lastOriginalLine !== original.line + || lastOriginalColumn !== original.column + || lastOriginalName !== original.name) { + map.addMapping({ + source: original.source, + original: { + line: original.line, + column: original.column + }, + generated: { + line: generated.line, + column: generated.column + }, + name: original.name + }); + } + lastOriginalSource = original.source; + lastOriginalLine = original.line; + lastOriginalColumn = original.column; + lastOriginalName = original.name; + sourceMappingActive = true; + } else if (sourceMappingActive) { + map.addMapping({ + generated: { + line: generated.line, + column: generated.column + } + }); + lastOriginalSource = null; + sourceMappingActive = false; + } + chunk.split('').forEach(function (ch) { + if (ch === '\n') { + generated.line++; + generated.column = 0; + } else { + generated.column++; + } + }); + }); + this.walkSourceContents(function (sourceFile, sourceContent) { + map.setSourceContent(sourceFile, sourceContent); + }); + + return { code: generated.code, map: map }; + }; + + exports.SourceNode = SourceNode; + +}); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/util.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/util.js new file mode 100644 index 0000000..87946d3 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/util.js @@ -0,0 +1,205 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module, require); +} +define(function (require, exports, module) { + + /** + * This is a helper function for getting values from parameter/options + * objects. + * + * @param args The object we are extracting values from + * @param name The name of the property we are getting. + * @param defaultValue An optional value to return if the property is missing + * from the object. If this is not specified and the property is missing, an + * error will be thrown. + */ + function getArg(aArgs, aName, aDefaultValue) { + if (aName in aArgs) { + return aArgs[aName]; + } else if (arguments.length === 3) { + return aDefaultValue; + } else { + throw new Error('"' + aName + '" is a required argument.'); + } + } + exports.getArg = getArg; + + var urlRegexp = /([\w+\-.]+):\/\/((\w+:\w+)@)?([\w.]+)?(:(\d+))?(\S+)?/; + var dataUrlRegexp = /^data:.+\,.+/; + + function urlParse(aUrl) { + var match = aUrl.match(urlRegexp); + if (!match) { + return null; + } + return { + scheme: match[1], + auth: match[3], + host: match[4], + port: match[6], + path: match[7] + }; + } + exports.urlParse = urlParse; + + function urlGenerate(aParsedUrl) { + var url = aParsedUrl.scheme + "://"; + if (aParsedUrl.auth) { + url += aParsedUrl.auth + "@" + } + if (aParsedUrl.host) { + url += aParsedUrl.host; + } + if (aParsedUrl.port) { + url += ":" + aParsedUrl.port + } + if (aParsedUrl.path) { + url += aParsedUrl.path; + } + return url; + } + exports.urlGenerate = urlGenerate; + + function join(aRoot, aPath) { + var url; + + if (aPath.match(urlRegexp) || aPath.match(dataUrlRegexp)) { + return aPath; + } + + if (aPath.charAt(0) === '/' && (url = urlParse(aRoot))) { + url.path = aPath; + return urlGenerate(url); + } + + return aRoot.replace(/\/$/, '') + '/' + aPath; + } + exports.join = join; + + /** + * Because behavior goes wacky when you set `__proto__` on objects, we + * have to prefix all the strings in our set with an arbitrary character. + * + * See https://github.com/mozilla/source-map/pull/31 and + * https://github.com/mozilla/source-map/issues/30 + * + * @param String aStr + */ + function toSetString(aStr) { + return '$' + aStr; + } + exports.toSetString = toSetString; + + function fromSetString(aStr) { + return aStr.substr(1); + } + exports.fromSetString = fromSetString; + + function relative(aRoot, aPath) { + aRoot = aRoot.replace(/\/$/, ''); + + var url = urlParse(aRoot); + if (aPath.charAt(0) == "/" && url && url.path == "/") { + return aPath.slice(1); + } + + return aPath.indexOf(aRoot + '/') === 0 + ? aPath.substr(aRoot.length + 1) + : aPath; + } + exports.relative = relative; + + function strcmp(aStr1, aStr2) { + var s1 = aStr1 || ""; + var s2 = aStr2 || ""; + return (s1 > s2) - (s1 < s2); + } + + /** + * Comparator between two mappings where the original positions are compared. + * + * Optionally pass in `true` as `onlyCompareGenerated` to consider two + * mappings with the same original source/line/column, but different generated + * line and column the same. Useful when searching for a mapping with a + * stubbed out mapping. + */ + function compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) { + var cmp; + + cmp = strcmp(mappingA.source, mappingB.source); + if (cmp) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp || onlyCompareOriginal) { + return cmp; + } + + cmp = strcmp(mappingA.name, mappingB.name); + if (cmp) { + return cmp; + } + + cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp) { + return cmp; + } + + return mappingA.generatedColumn - mappingB.generatedColumn; + }; + exports.compareByOriginalPositions = compareByOriginalPositions; + + /** + * Comparator between two mappings where the generated positions are + * compared. + * + * Optionally pass in `true` as `onlyCompareGenerated` to consider two + * mappings with the same generated line and column, but different + * source/name/original line and column the same. Useful when searching for a + * mapping with a stubbed out mapping. + */ + function compareByGeneratedPositions(mappingA, mappingB, onlyCompareGenerated) { + var cmp; + + cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp) { + return cmp; + } + + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp || onlyCompareGenerated) { + return cmp; + } + + cmp = strcmp(mappingA.source, mappingB.source); + if (cmp) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp) { + return cmp; + } + + return strcmp(mappingA.name, mappingB.name); + }; + exports.compareByGeneratedPositions = compareByGeneratedPositions; + +}); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/LICENSE b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/LICENSE new file mode 100644 index 0000000..f33d665 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/LICENSE @@ -0,0 +1,58 @@ +amdefine is released under two licenses: new BSD, and MIT. You may pick the +license that best suits your development needs. The text of both licenses are +provided below. + + +The "New" BSD License: +---------------------- + +Copyright (c) 2011, The Dojo Foundation +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of the Dojo Foundation nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + +MIT License +----------- + +Copyright (c) 2011, The Dojo Foundation + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/README.md b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/README.md new file mode 100644 index 0000000..c6995c0 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/README.md @@ -0,0 +1,171 @@ +# amdefine + +A module that can be used to implement AMD's define() in Node. This allows you +to code to the AMD API and have the module work in node programs without +requiring those other programs to use AMD. + +## Usage + +**1)** Update your package.json to indicate amdefine as a dependency: + +```javascript + "dependencies": { + "amdefine": ">=0.1.0" + } +``` + +Then run `npm install` to get amdefine into your project. + +**2)** At the top of each module that uses define(), place this code: + +```javascript +if (typeof define !== 'function') { var define = require('amdefine')(module) } +``` + +**Only use these snippets** when loading amdefine. If you preserve the basic structure, +with the braces, it will be stripped out when using the [RequireJS optimizer](#optimizer). + +You can add spaces, line breaks and even require amdefine with a local path, but +keep the rest of the structure to get the stripping behavior. + +As you may know, because `if` statements in JavaScript don't have their own scope, the var +declaration in the above snippet is made whether the `if` expression is truthy or not. If +RequireJS is loaded then the declaration is superfluous because `define` is already already +declared in the same scope in RequireJS. Fortunately JavaScript handles multiple `var` +declarations of the same variable in the same scope gracefully. + +If you want to deliver amdefine.js with your code rather than specifying it as a dependency +with npm, then just download the latest release and refer to it using a relative path: + +[Latest Version](https://github.com/jrburke/amdefine/raw/latest/amdefine.js) + +### amdefine/intercept + +Consider this very experimental. + +Instead of pasting the piece of text for the amdefine setup of a `define` +variable in each module you create or consume, you can use `amdefine/intercept` +instead. It will automatically insert the above snippet in each .js file loaded +by Node. + +**Warning**: you should only use this if you are creating an application that +is consuming AMD style defined()'d modules that are distributed via npm and want +to run that code in Node. + +For library code where you are not sure if it will be used by others in Node or +in the browser, then explicitly depending on amdefine and placing the code +snippet above is suggested path, instead of using `amdefine/intercept`. The +intercept module affects all .js files loaded in the Node app, and it is +inconsiderate to modify global state like that unless you are also controlling +the top level app. + +#### Why distribute AMD-style nodes via npm? + +npm has a lot of weaknesses for front-end use (installed layout is not great, +should have better support for the `baseUrl + moduleID + '.js' style of loading, +single file JS installs), but some people want a JS package manager and are +willing to live with those constraints. If that is you, but still want to author +in AMD style modules to get dynamic require([]), better direct source usage and +powerful loader plugin support in the browser, then this tool can help. + +#### amdefine/intercept usage + +Just require it in your top level app module (for example index.js, server.js): + +```javascript +require('amdefine/intercept'); +``` + +The module does not return a value, so no need to assign the result to a local +variable. + +Then just require() code as you normally would with Node's require(). Any .js +loaded after the intercept require will have the amdefine check injected in +the .js source as it is loaded. It does not modify the source on disk, just +prepends some content to the text of the module as it is loaded by Node. + +#### How amdefine/intercept works + +It overrides the `Module._extensions['.js']` in Node to automatically prepend +the amdefine snippet above. So, it will affect any .js file loaded by your +app. + +## define() usage + +It is best if you use the anonymous forms of define() in your module: + +```javascript +define(function (require) { + var dependency = require('dependency'); +}); +``` + +or + +```javascript +define(['dependency'], function (dependency) { + +}); +``` + +## RequireJS optimizer integration. + +Version 1.0.3 of the [RequireJS optimizer](http://requirejs.org/docs/optimization.html) +will have support for stripping the `if (typeof define !== 'function')` check +mentioned above, so you can include this snippet for code that runs in the +browser, but avoid taking the cost of the if() statement once the code is +optimized for deployment. + +## Node 0.4 Support + +If you want to support Node 0.4, then add `require` as the second parameter to amdefine: + +```javascript +//Only if you want Node 0.4. If using 0.5 or later, use the above snippet. +if (typeof define !== 'function') { var define = require('amdefine')(module, require) } +``` + +## Limitations + +### Synchronous vs Asynchronous + +amdefine creates a define() function that is callable by your code. It will +execute and trace dependencies and call the factory function *synchronously*, +to keep the behavior in line with Node's synchronous dependency tracing. + +The exception: calling AMD's callback-style require() from inside a factory +function. The require callback is called on process.nextTick(): + +```javascript +define(function (require) { + require(['a'], function(a) { + //'a' is loaded synchronously, but + //this callback is called on process.nextTick(). + }); +}); +``` + +### Loader Plugins + +Loader plugins are supported as long as they call their load() callbacks +synchronously. So ones that do network requests will not work. However plugins +like [text](http://requirejs.org/docs/api.html#text) can load text files locally. + +The plugin API's `load.fromText()` is **not supported** in amdefine, so this means +transpiler plugins like the [CoffeeScript loader plugin](https://github.com/jrburke/require-cs) +will not work. This may be fixable, but it is a bit complex, and I do not have +enough node-fu to figure it out yet. See the source for amdefine.js if you want +to get an idea of the issues involved. + +## Tests + +To run the tests, cd to **tests** and run: + +``` +node all.js +node all-intercept.js +``` + +## License + +New BSD and MIT. Check the LICENSE file for all the details. diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/amdefine.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/amdefine.js new file mode 100644 index 0000000..53bf5a6 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/amdefine.js @@ -0,0 +1,299 @@ +/** vim: et:ts=4:sw=4:sts=4 + * @license amdefine 0.1.0 Copyright (c) 2011, The Dojo Foundation All Rights Reserved. + * Available via the MIT or new BSD license. + * see: http://github.com/jrburke/amdefine for details + */ + +/*jslint node: true */ +/*global module, process */ +'use strict'; + +/** + * Creates a define for node. + * @param {Object} module the "module" object that is defined by Node for the + * current module. + * @param {Function} [requireFn]. Node's require function for the current module. + * It only needs to be passed in Node versions before 0.5, when module.require + * did not exist. + * @returns {Function} a define function that is usable for the current node + * module. + */ +function amdefine(module, requireFn) { + 'use strict'; + var defineCache = {}, + loaderCache = {}, + alreadyCalled = false, + path = require('path'), + makeRequire, stringRequire; + + /** + * Trims the . and .. from an array of path segments. + * It will keep a leading path segment if a .. will become + * the first path segment, to help with module name lookups, + * which act like paths, but can be remapped. But the end result, + * all paths that use this function should look normalized. + * NOTE: this method MODIFIES the input array. + * @param {Array} ary the array of path segments. + */ + function trimDots(ary) { + var i, part; + for (i = 0; ary[i]; i+= 1) { + part = ary[i]; + if (part === '.') { + ary.splice(i, 1); + i -= 1; + } else if (part === '..') { + if (i === 1 && (ary[2] === '..' || ary[0] === '..')) { + //End of the line. Keep at least one non-dot + //path segment at the front so it can be mapped + //correctly to disk. Otherwise, there is likely + //no path mapping for a path starting with '..'. + //This can still fail, but catches the most reasonable + //uses of .. + break; + } else if (i > 0) { + ary.splice(i - 1, 2); + i -= 2; + } + } + } + } + + function normalize(name, baseName) { + var baseParts; + + //Adjust any relative paths. + if (name && name.charAt(0) === '.') { + //If have a base name, try to normalize against it, + //otherwise, assume it is a top-level require that will + //be relative to baseUrl in the end. + if (baseName) { + baseParts = baseName.split('/'); + baseParts = baseParts.slice(0, baseParts.length - 1); + baseParts = baseParts.concat(name.split('/')); + trimDots(baseParts); + name = baseParts.join('/'); + } + } + + return name; + } + + /** + * Create the normalize() function passed to a loader plugin's + * normalize method. + */ + function makeNormalize(relName) { + return function (name) { + return normalize(name, relName); + }; + } + + function makeLoad(id) { + function load(value) { + loaderCache[id] = value; + } + + load.fromText = function (id, text) { + //This one is difficult because the text can/probably uses + //define, and any relative paths and requires should be relative + //to that id was it would be found on disk. But this would require + //bootstrapping a module/require fairly deeply from node core. + //Not sure how best to go about that yet. + throw new Error('amdefine does not implement load.fromText'); + }; + + return load; + } + + makeRequire = function (systemRequire, exports, module, relId) { + function amdRequire(deps, callback) { + if (typeof deps === 'string') { + //Synchronous, single module require('') + return stringRequire(systemRequire, exports, module, deps, relId); + } else { + //Array of dependencies with a callback. + + //Convert the dependencies to modules. + deps = deps.map(function (depName) { + return stringRequire(systemRequire, exports, module, depName, relId); + }); + + //Wait for next tick to call back the require call. + process.nextTick(function () { + callback.apply(null, deps); + }); + } + } + + amdRequire.toUrl = function (filePath) { + if (filePath.indexOf('.') === 0) { + return normalize(filePath, path.dirname(module.filename)); + } else { + return filePath; + } + }; + + return amdRequire; + }; + + //Favor explicit value, passed in if the module wants to support Node 0.4. + requireFn = requireFn || function req() { + return module.require.apply(module, arguments); + }; + + function runFactory(id, deps, factory) { + var r, e, m, result; + + if (id) { + e = loaderCache[id] = {}; + m = { + id: id, + uri: __filename, + exports: e + }; + r = makeRequire(requireFn, e, m, id); + } else { + //Only support one define call per file + if (alreadyCalled) { + throw new Error('amdefine with no module ID cannot be called more than once per file.'); + } + alreadyCalled = true; + + //Use the real variables from node + //Use module.exports for exports, since + //the exports in here is amdefine exports. + e = module.exports; + m = module; + r = makeRequire(requireFn, e, m, module.id); + } + + //If there are dependencies, they are strings, so need + //to convert them to dependency values. + if (deps) { + deps = deps.map(function (depName) { + return r(depName); + }); + } + + //Call the factory with the right dependencies. + if (typeof factory === 'function') { + result = factory.apply(m.exports, deps); + } else { + result = factory; + } + + if (result !== undefined) { + m.exports = result; + if (id) { + loaderCache[id] = m.exports; + } + } + } + + stringRequire = function (systemRequire, exports, module, id, relId) { + //Split the ID by a ! so that + var index = id.indexOf('!'), + originalId = id, + prefix, plugin; + + if (index === -1) { + id = normalize(id, relId); + + //Straight module lookup. If it is one of the special dependencies, + //deal with it, otherwise, delegate to node. + if (id === 'require') { + return makeRequire(systemRequire, exports, module, relId); + } else if (id === 'exports') { + return exports; + } else if (id === 'module') { + return module; + } else if (loaderCache.hasOwnProperty(id)) { + return loaderCache[id]; + } else if (defineCache[id]) { + runFactory.apply(null, defineCache[id]); + return loaderCache[id]; + } else { + if(systemRequire) { + return systemRequire(originalId); + } else { + throw new Error('No module with ID: ' + id); + } + } + } else { + //There is a plugin in play. + prefix = id.substring(0, index); + id = id.substring(index + 1, id.length); + + plugin = stringRequire(systemRequire, exports, module, prefix, relId); + + if (plugin.normalize) { + id = plugin.normalize(id, makeNormalize(relId)); + } else { + //Normalize the ID normally. + id = normalize(id, relId); + } + + if (loaderCache[id]) { + return loaderCache[id]; + } else { + plugin.load(id, makeRequire(systemRequire, exports, module, relId), makeLoad(id), {}); + + return loaderCache[id]; + } + } + }; + + //Create a define function specific to the module asking for amdefine. + function define(id, deps, factory) { + if (Array.isArray(id)) { + factory = deps; + deps = id; + id = undefined; + } else if (typeof id !== 'string') { + factory = id; + id = deps = undefined; + } + + if (deps && !Array.isArray(deps)) { + factory = deps; + deps = undefined; + } + + if (!deps) { + deps = ['require', 'exports', 'module']; + } + + //Set up properties for this module. If an ID, then use + //internal cache. If no ID, then use the external variables + //for this node module. + if (id) { + //Put the module in deep freeze until there is a + //require call for it. + defineCache[id] = [id, deps, factory]; + } else { + runFactory(id, deps, factory); + } + } + + //define.require, which has access to all the values in the + //cache. Useful for AMD modules that all have IDs in the file, + //but need to finally export a value to node based on one of those + //IDs. + define.require = function (id) { + if (loaderCache[id]) { + return loaderCache[id]; + } + + if (defineCache[id]) { + runFactory.apply(null, defineCache[id]); + return loaderCache[id]; + } + }; + + define.amd = {}; + + return define; +} + +module.exports = amdefine; diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/intercept.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/intercept.js new file mode 100644 index 0000000..771a983 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/intercept.js @@ -0,0 +1,36 @@ +/*jshint node: true */ +var inserted, + Module = require('module'), + fs = require('fs'), + existingExtFn = Module._extensions['.js'], + amdefineRegExp = /amdefine\.js/; + +inserted = "if (typeof define !== 'function') {var define = require('amdefine')(module)}"; + +//From the node/lib/module.js source: +function stripBOM(content) { + // Remove byte order marker. This catches EF BB BF (the UTF-8 BOM) + // because the buffer-to-string conversion in `fs.readFileSync()` + // translates it to FEFF, the UTF-16 BOM. + if (content.charCodeAt(0) === 0xFEFF) { + content = content.slice(1); + } + return content; +} + +//Also adapted from the node/lib/module.js source: +function intercept(module, filename) { + var content = stripBOM(fs.readFileSync(filename, 'utf8')); + + if (!amdefineRegExp.test(module.id)) { + content = inserted + content; + } + + module._compile(content, filename); +} + +intercept._id = 'amdefine/intercept'; + +if (!existingExtFn._id || existingExtFn._id !== intercept._id) { + Module._extensions['.js'] = intercept; +} diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/package.json b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/package.json new file mode 100644 index 0000000..8caf15c --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/package.json @@ -0,0 +1,36 @@ +{ + "name": "amdefine", + "description": "Provide AMD's define() API for declaring modules in the AMD format", + "version": "0.1.0", + "homepage": "http://github.com/jrburke/amdefine", + "author": { + "name": "James Burke", + "email": "jrburke@gmail.com", + "url": "http://github.com/jrburke" + }, + "licenses": [ + { + "type": "BSD", + "url": "https://github.com/jrburke/amdefine/blob/master/LICENSE" + }, + { + "type": "MIT", + "url": "https://github.com/jrburke/amdefine/blob/master/LICENSE" + } + ], + "repository": { + "type": "git", + "url": "https://github.com/jrburke/amdefine.git" + }, + "main": "./amdefine.js", + "engines": { + "node": ">=0.4.2" + }, + "readme": "# amdefine\n\nA module that can be used to implement AMD's define() in Node. This allows you\nto code to the AMD API and have the module work in node programs without\nrequiring those other programs to use AMD.\n\n## Usage\n\n**1)** Update your package.json to indicate amdefine as a dependency:\n\n```javascript\n \"dependencies\": {\n \"amdefine\": \">=0.1.0\"\n }\n```\n\nThen run `npm install` to get amdefine into your project.\n\n**2)** At the top of each module that uses define(), place this code:\n\n```javascript\nif (typeof define !== 'function') { var define = require('amdefine')(module) }\n```\n\n**Only use these snippets** when loading amdefine. If you preserve the basic structure,\nwith the braces, it will be stripped out when using the [RequireJS optimizer](#optimizer).\n\nYou can add spaces, line breaks and even require amdefine with a local path, but\nkeep the rest of the structure to get the stripping behavior.\n\nAs you may know, because `if` statements in JavaScript don't have their own scope, the var\ndeclaration in the above snippet is made whether the `if` expression is truthy or not. If\nRequireJS is loaded then the declaration is superfluous because `define` is already already\ndeclared in the same scope in RequireJS. Fortunately JavaScript handles multiple `var`\ndeclarations of the same variable in the same scope gracefully.\n\nIf you want to deliver amdefine.js with your code rather than specifying it as a dependency\nwith npm, then just download the latest release and refer to it using a relative path:\n\n[Latest Version](https://github.com/jrburke/amdefine/raw/latest/amdefine.js)\n\n### amdefine/intercept\n\nConsider this very experimental.\n\nInstead of pasting the piece of text for the amdefine setup of a `define`\nvariable in each module you create or consume, you can use `amdefine/intercept`\ninstead. It will automatically insert the above snippet in each .js file loaded\nby Node.\n\n**Warning**: you should only use this if you are creating an application that\nis consuming AMD style defined()'d modules that are distributed via npm and want\nto run that code in Node.\n\nFor library code where you are not sure if it will be used by others in Node or\nin the browser, then explicitly depending on amdefine and placing the code\nsnippet above is suggested path, instead of using `amdefine/intercept`. The\nintercept module affects all .js files loaded in the Node app, and it is\ninconsiderate to modify global state like that unless you are also controlling\nthe top level app.\n\n#### Why distribute AMD-style nodes via npm?\n\nnpm has a lot of weaknesses for front-end use (installed layout is not great,\nshould have better support for the `baseUrl + moduleID + '.js' style of loading,\nsingle file JS installs), but some people want a JS package manager and are\nwilling to live with those constraints. If that is you, but still want to author\nin AMD style modules to get dynamic require([]), better direct source usage and\npowerful loader plugin support in the browser, then this tool can help.\n\n#### amdefine/intercept usage\n\nJust require it in your top level app module (for example index.js, server.js):\n\n```javascript\nrequire('amdefine/intercept');\n```\n\nThe module does not return a value, so no need to assign the result to a local\nvariable.\n\nThen just require() code as you normally would with Node's require(). Any .js\nloaded after the intercept require will have the amdefine check injected in\nthe .js source as it is loaded. It does not modify the source on disk, just\nprepends some content to the text of the module as it is loaded by Node.\n\n#### How amdefine/intercept works\n\nIt overrides the `Module._extensions['.js']` in Node to automatically prepend\nthe amdefine snippet above. So, it will affect any .js file loaded by your\napp.\n\n## define() usage\n\nIt is best if you use the anonymous forms of define() in your module:\n\n```javascript\ndefine(function (require) {\n var dependency = require('dependency');\n});\n```\n\nor\n\n```javascript\ndefine(['dependency'], function (dependency) {\n\n});\n```\n\n## RequireJS optimizer integration. \n\nVersion 1.0.3 of the [RequireJS optimizer](http://requirejs.org/docs/optimization.html)\nwill have support for stripping the `if (typeof define !== 'function')` check\nmentioned above, so you can include this snippet for code that runs in the\nbrowser, but avoid taking the cost of the if() statement once the code is\noptimized for deployment.\n\n## Node 0.4 Support\n\nIf you want to support Node 0.4, then add `require` as the second parameter to amdefine:\n\n```javascript\n//Only if you want Node 0.4. If using 0.5 or later, use the above snippet.\nif (typeof define !== 'function') { var define = require('amdefine')(module, require) }\n```\n\n## Limitations\n\n### Synchronous vs Asynchronous\n\namdefine creates a define() function that is callable by your code. It will\nexecute and trace dependencies and call the factory function *synchronously*,\nto keep the behavior in line with Node's synchronous dependency tracing.\n\nThe exception: calling AMD's callback-style require() from inside a factory\nfunction. The require callback is called on process.nextTick():\n\n```javascript\ndefine(function (require) {\n require(['a'], function(a) {\n //'a' is loaded synchronously, but\n //this callback is called on process.nextTick().\n });\n});\n```\n\n### Loader Plugins\n\nLoader plugins are supported as long as they call their load() callbacks\nsynchronously. So ones that do network requests will not work. However plugins\nlike [text](http://requirejs.org/docs/api.html#text) can load text files locally.\n\nThe plugin API's `load.fromText()` is **not supported** in amdefine, so this means\ntranspiler plugins like the [CoffeeScript loader plugin](https://github.com/jrburke/require-cs)\nwill not work. This may be fixable, but it is a bit complex, and I do not have\nenough node-fu to figure it out yet. See the source for amdefine.js if you want\nto get an idea of the issues involved.\n\n## Tests\n\nTo run the tests, cd to **tests** and run:\n\n```\nnode all.js\nnode all-intercept.js\n```\n\n## License\n\nNew BSD and MIT. Check the LICENSE file for all the details.\n", + "readmeFilename": "README.md", + "bugs": { + "url": "https://github.com/jrburke/amdefine/issues" + }, + "_id": "amdefine@0.1.0", + "_from": "amdefine@>=0.0.4" +} diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/package.json b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/package.json new file mode 100644 index 0000000..f59e820 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/package.json @@ -0,0 +1,110 @@ +{ + "name": "source-map", + "description": "Generates and consumes source maps", + "version": "0.1.31", + "homepage": "https://github.com/mozilla/source-map", + "author": { + "name": "Nick Fitzgerald", + "email": "nfitzgerald@mozilla.com" + }, + "contributors": [ + { + "name": "Tobias Koppers", + "email": "tobias.koppers@googlemail.com" + }, + { + "name": "Duncan Beevers", + "email": "duncan@dweebd.com" + }, + { + "name": "Stephen Crane", + "email": "scrane@mozilla.com" + }, + { + "name": "Ryan Seddon", + "email": "seddon.ryan@gmail.com" + }, + { + "name": "Miles Elam", + "email": "miles.elam@deem.com" + }, + { + "name": "Mihai Bazon", + "email": "mihai.bazon@gmail.com" + }, + { + "name": "Michael Ficarra", + "email": "github.public.email@michael.ficarra.me" + }, + { + "name": "Todd Wolfson", + "email": "todd@twolfson.com" + }, + { + "name": "Alexander Solovyov", + "email": "alexander@solovyov.net" + }, + { + "name": "Felix Gnass", + "email": "fgnass@gmail.com" + }, + { + "name": "Conrad Irwin", + "email": "conrad.irwin@gmail.com" + }, + { + "name": "usrbincc", + "email": "usrbincc@yahoo.com" + }, + { + "name": "David Glasser", + "email": "glasser@davidglasser.net" + }, + { + "name": "Chase Douglas", + "email": "chase@newrelic.com" + }, + { + "name": "Evan Wallace", + "email": "evan.exe@gmail.com" + }, + { + "name": "Heather Arthur", + "email": "fayearthur@gmail.com" + } + ], + "repository": { + "type": "git", + "url": "http://github.com/mozilla/source-map.git" + }, + "directories": { + "lib": "./lib" + }, + "main": "./lib/source-map.js", + "engines": { + "node": ">=0.8.0" + }, + "licenses": [ + { + "type": "BSD", + "url": "http://opensource.org/licenses/BSD-3-Clause" + } + ], + "dependencies": { + "amdefine": ">=0.0.4" + }, + "devDependencies": { + "dryice": ">=0.4.8" + }, + "scripts": { + "test": "node test/run-tests.js", + "build": "node Makefile.dryice.js" + }, + "readme": "# Source Map\n\nThis is a library to generate and consume the source map format\n[described here][format].\n\nThis library is written in the Asynchronous Module Definition format, and works\nin the following environments:\n\n* Modern Browsers supporting ECMAScript 5 (either after the build, or with an\n AMD loader such as RequireJS)\n\n* Inside Firefox (as a JSM file, after the build)\n\n* With NodeJS versions 0.8.X and higher\n\n## Node\n\n $ npm install source-map\n\n## Building from Source (for everywhere else)\n\nInstall Node and then run\n\n $ git clone https://fitzgen@github.com/mozilla/source-map.git\n $ cd source-map\n $ npm link .\n\nNext, run\n\n $ node Makefile.dryice.js\n\nThis should spew a bunch of stuff to stdout, and create the following files:\n\n* `dist/source-map.js` - The unminified browser version.\n\n* `dist/source-map.min.js` - The minified browser version.\n\n* `dist/SourceMap.jsm` - The JavaScript Module for inclusion in Firefox source.\n\n## Examples\n\n### Consuming a source map\n\n var rawSourceMap = {\n version: 3,\n file: 'min.js',\n names: ['bar', 'baz', 'n'],\n sources: ['one.js', 'two.js'],\n sourceRoot: 'http://example.com/www/js/',\n mappings: 'CAAC,IAAI,IAAM,SAAUA,GAClB,OAAOC,IAAID;CCDb,IAAI,IAAM,SAAUE,GAClB,OAAOA'\n };\n\n var smc = new SourceMapConsumer(rawSourceMap);\n\n console.log(smc.sources);\n // [ 'http://example.com/www/js/one.js',\n // 'http://example.com/www/js/two.js' ]\n\n console.log(smc.originalPositionFor({\n line: 2,\n column: 28\n }));\n // { source: 'http://example.com/www/js/two.js',\n // line: 2,\n // column: 10,\n // name: 'n' }\n\n console.log(smc.generatedPositionFor({\n source: 'http://example.com/www/js/two.js',\n line: 2,\n column: 10\n }));\n // { line: 2, column: 28 }\n\n smc.eachMapping(function (m) {\n // ...\n });\n\n### Generating a source map\n\nIn depth guide:\n[**Compiling to JavaScript, and Debugging with Source Maps**](https://hacks.mozilla.org/2013/05/compiling-to-javascript-and-debugging-with-source-maps/)\n\n#### With SourceNode (high level API)\n\n function compile(ast) {\n switch (ast.type) {\n case 'BinaryExpression':\n return new SourceNode(\n ast.location.line,\n ast.location.column,\n ast.location.source,\n [compile(ast.left), \" + \", compile(ast.right)]\n );\n case 'Literal':\n return new SourceNode(\n ast.location.line,\n ast.location.column,\n ast.location.source,\n String(ast.value)\n );\n // ...\n default:\n throw new Error(\"Bad AST\");\n }\n }\n\n var ast = parse(\"40 + 2\", \"add.js\");\n console.log(compile(ast).toStringWithSourceMap({\n file: 'add.js'\n }));\n // { code: '40 + 2',\n // map: [object SourceMapGenerator] }\n\n#### With SourceMapGenerator (low level API)\n\n var map = new SourceMapGenerator({\n file: \"source-mapped.js\"\n });\n\n map.addMapping({\n generated: {\n line: 10,\n column: 35\n },\n source: \"foo.js\",\n original: {\n line: 33,\n column: 2\n },\n name: \"christopher\"\n });\n\n console.log(map.toString());\n // '{\"version\":3,\"file\":\"source-mapped.js\",\"sources\":[\"foo.js\"],\"names\":[\"christopher\"],\"mappings\":\";;;;;;;;;mCAgCEA\"}'\n\n## API\n\nGet a reference to the module:\n\n // NodeJS\n var sourceMap = require('source-map');\n\n // Browser builds\n var sourceMap = window.sourceMap;\n\n // Inside Firefox\n let sourceMap = {};\n Components.utils.import('resource:///modules/devtools/SourceMap.jsm', sourceMap);\n\n### SourceMapConsumer\n\nA SourceMapConsumer instance represents a parsed source map which we can query\nfor information about the original file positions by giving it a file position\nin the generated source.\n\n#### new SourceMapConsumer(rawSourceMap)\n\nThe only parameter is the raw source map (either as a string which can be\n`JSON.parse`'d, or an object). According to the spec, source maps have the\nfollowing attributes:\n\n* `version`: Which version of the source map spec this map is following.\n\n* `sources`: An array of URLs to the original source files.\n\n* `names`: An array of identifiers which can be referrenced by individual\n mappings.\n\n* `sourceRoot`: Optional. The URL root from which all sources are relative.\n\n* `sourcesContent`: Optional. An array of contents of the original source files.\n\n* `mappings`: A string of base64 VLQs which contain the actual mappings.\n\n* `file`: The generated filename this source map is associated with.\n\n#### SourceMapConsumer.prototype.originalPositionFor(generatedPosition)\n\nReturns the original source, line, and column information for the generated\nsource's line and column positions provided. The only argument is an object with\nthe following properties:\n\n* `line`: The line number in the generated source.\n\n* `column`: The column number in the generated source.\n\nand an object is returned with the following properties:\n\n* `source`: The original source file, or null if this information is not\n available.\n\n* `line`: The line number in the original source, or null if this information is\n not available.\n\n* `column`: The column number in the original source, or null or null if this\n information is not available.\n\n* `name`: The original identifier, or null if this information is not available.\n\n#### SourceMapConsumer.prototype.generatedPositionFor(originalPosition)\n\nReturns the generated line and column information for the original source,\nline, and column positions provided. The only argument is an object with\nthe following properties:\n\n* `source`: The filename of the original source.\n\n* `line`: The line number in the original source.\n\n* `column`: The column number in the original source.\n\nand an object is returned with the following properties:\n\n* `line`: The line number in the generated source, or null.\n\n* `column`: The column number in the generated source, or null.\n\n#### SourceMapConsumer.prototype.sourceContentFor(source)\n\nReturns the original source content for the source provided. The only\nargument is the URL of the original source file.\n\n#### SourceMapConsumer.prototype.eachMapping(callback, context, order)\n\nIterate over each mapping between an original source/line/column and a\ngenerated line/column in this source map.\n\n* `callback`: The function that is called with each mapping. Mappings have the\n form `{ source, generatedLine, generatedColumn, originalLine, originalColumn,\n name }`\n\n* `context`: Optional. If specified, this object will be the value of `this`\n every time that `callback` is called.\n\n* `order`: Either `SourceMapConsumer.GENERATED_ORDER` or\n `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to iterate over\n the mappings sorted by the generated file's line/column order or the\n original's source/line/column order, respectively. Defaults to\n `SourceMapConsumer.GENERATED_ORDER`.\n\n### SourceMapGenerator\n\nAn instance of the SourceMapGenerator represents a source map which is being\nbuilt incrementally.\n\n#### new SourceMapGenerator(startOfSourceMap)\n\nTo create a new one, you must pass an object with the following properties:\n\n* `file`: The filename of the generated source that this source map is\n associated with.\n\n* `sourceRoot`: An optional root for all relative URLs in this source map.\n\n#### SourceMapGenerator.fromSourceMap(sourceMapConsumer)\n\nCreates a new SourceMapGenerator based on a SourceMapConsumer\n\n* `sourceMapConsumer` The SourceMap.\n\n#### SourceMapGenerator.prototype.addMapping(mapping)\n\nAdd a single mapping from original source line and column to the generated\nsource's line and column for this source map being created. The mapping object\nshould have the following properties:\n\n* `generated`: An object with the generated line and column positions.\n\n* `original`: An object with the original line and column positions.\n\n* `source`: The original source file (relative to the sourceRoot).\n\n* `name`: An optional original token name for this mapping.\n\n#### SourceMapGenerator.prototype.setSourceContent(sourceFile, sourceContent)\n\nSet the source content for an original source file.\n\n* `sourceFile` the URL of the original source file.\n\n* `sourceContent` the content of the source file.\n\n#### SourceMapGenerator.prototype.applySourceMap(sourceMapConsumer[, sourceFile])\n\nApplies a SourceMap for a source file to the SourceMap.\nEach mapping to the supplied source file is rewritten using the\nsupplied SourceMap. Note: The resolution for the resulting mappings\nis the minimium of this map and the supplied map.\n\n* `sourceMapConsumer`: The SourceMap to be applied.\n\n* `sourceFile`: Optional. The filename of the source file.\n If omitted, sourceMapConsumer.file will be used.\n\n#### SourceMapGenerator.prototype.toString()\n\nRenders the source map being generated to a string.\n\n### SourceNode\n\nSourceNodes provide a way to abstract over interpolating and/or concatenating\nsnippets of generated JavaScript source code, while maintaining the line and\ncolumn information associated between those snippets and the original source\ncode. This is useful as the final intermediate representation a compiler might\nuse before outputting the generated JS and source map.\n\n#### new SourceNode(line, column, source[, chunk[, name]])\n\n* `line`: The original line number associated with this source node, or null if\n it isn't associated with an original line.\n\n* `column`: The original column number associated with this source node, or null\n if it isn't associated with an original column.\n\n* `source`: The original source's filename.\n\n* `chunk`: Optional. Is immediately passed to `SourceNode.prototype.add`, see\n below.\n\n* `name`: Optional. The original identifier.\n\n#### SourceNode.fromStringWithSourceMap(code, sourceMapConsumer)\n\nCreates a SourceNode from generated code and a SourceMapConsumer.\n\n* `code`: The generated code\n\n* `sourceMapConsumer` The SourceMap for the generated code\n\n#### SourceNode.prototype.add(chunk)\n\nAdd a chunk of generated JS to this source node.\n\n* `chunk`: A string snippet of generated JS code, another instance of\n `SourceNode`, or an array where each member is one of those things.\n\n#### SourceNode.prototype.prepend(chunk)\n\nPrepend a chunk of generated JS to this source node.\n\n* `chunk`: A string snippet of generated JS code, another instance of\n `SourceNode`, or an array where each member is one of those things.\n\n#### SourceNode.prototype.setSourceContent(sourceFile, sourceContent)\n\nSet the source content for a source file. This will be added to the\n`SourceMap` in the `sourcesContent` field.\n\n* `sourceFile`: The filename of the source file\n\n* `sourceContent`: The content of the source file\n\n#### SourceNode.prototype.walk(fn)\n\nWalk over the tree of JS snippets in this node and its children. The walking\nfunction is called once for each snippet of JS and is passed that snippet and\nthe its original associated source's line/column location.\n\n* `fn`: The traversal function.\n\n#### SourceNode.prototype.walkSourceContents(fn)\n\nWalk over the tree of SourceNodes. The walking function is called for each\nsource file content and is passed the filename and source content.\n\n* `fn`: The traversal function.\n\n#### SourceNode.prototype.join(sep)\n\nLike `Array.prototype.join` except for SourceNodes. Inserts the separator\nbetween each of this source node's children.\n\n* `sep`: The separator.\n\n#### SourceNode.prototype.replaceRight(pattern, replacement)\n\nCall `String.prototype.replace` on the very right-most source snippet. Useful\nfor trimming whitespace from the end of a source node, etc.\n\n* `pattern`: The pattern to replace.\n\n* `replacement`: The thing to replace the pattern with.\n\n#### SourceNode.prototype.toString()\n\nReturn the string representation of this source node. Walks over the tree and\nconcatenates all the various snippets together to one string.\n\n### SourceNode.prototype.toStringWithSourceMap(startOfSourceMap)\n\nReturns the string representation of this tree of source nodes, plus a\nSourceMapGenerator which contains all the mappings between the generated and\noriginal sources.\n\nThe arguments are the same as those to `new SourceMapGenerator`.\n\n## Tests\n\n[![Build Status](https://travis-ci.org/mozilla/source-map.png?branch=master)](https://travis-ci.org/mozilla/source-map)\n\nInstall NodeJS version 0.8.0 or greater, then run `node test/run-tests.js`.\n\nTo add new tests, create a new file named `test/test-.js`\nand export your test functions with names that start with \"test\", for example\n\n exports[\"test doing the foo bar\"] = function (assert, util) {\n ...\n };\n\nThe new test will be located automatically when you run the suite.\n\nThe `util` argument is the test utility module located at `test/source-map/util`.\n\nThe `assert` argument is a cut down version of node's assert module. You have\naccess to the following assertion functions:\n\n* `doesNotThrow`\n\n* `equal`\n\n* `ok`\n\n* `strictEqual`\n\n* `throws`\n\n(The reason for the restricted set of test functions is because we need the\ntests to run inside Firefox's test suite as well and so the assert module is\nshimmed in that environment. See `build/assert-shim.js`.)\n\n[format]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit\n[feature]: https://wiki.mozilla.org/DevTools/Features/SourceMap\n[Dryice]: https://github.com/mozilla/dryice\n", + "readmeFilename": "README.md", + "bugs": { + "url": "https://github.com/mozilla/source-map/issues" + }, + "_id": "source-map@0.1.31", + "_from": "source-map@~0.1.7" +} diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/run-tests.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/run-tests.js new file mode 100755 index 0000000..626c53f --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/run-tests.js @@ -0,0 +1,71 @@ +#!/usr/bin/env node +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +var assert = require('assert'); +var fs = require('fs'); +var path = require('path'); +var util = require('./source-map/util'); + +function run(tests) { + var failures = []; + var total = 0; + var passed = 0; + + for (var i = 0; i < tests.length; i++) { + for (var k in tests[i].testCase) { + if (/^test/.test(k)) { + total++; + try { + tests[i].testCase[k](assert, util); + passed++; + } + catch (e) { + console.log('FAILED ' + tests[i].name + ': ' + k + '!'); + console.log(e.stack); + } + } + } + } + + console.log(""); + console.log(passed + ' / ' + total + ' tests passed.'); + console.log(""); + + failures.forEach(function (f) { + }); + + return failures.length; +} + +var code; + +process.stdout.on('close', function () { + process.exit(code); +}); + +function isTestFile(f) { + var testToRun = process.argv[2]; + return testToRun + ? path.basename(testToRun) === f + : /^test\-.*?\.js/.test(f); +} + +function toModule(f) { + return './source-map/' + f.replace(/\.js$/, ''); +} + +var requires = fs.readdirSync(path.join(__dirname, 'source-map')) + .filter(isTestFile) + .map(toModule); + +code = run(requires.map(require).map(function (mod, i) { + return { + name: requires[i], + testCase: mod + }; +})); +process.exit(code); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-api.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-api.js new file mode 100644 index 0000000..3801233 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-api.js @@ -0,0 +1,26 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2012 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module, require); +} +define(function (require, exports, module) { + + var sourceMap; + try { + sourceMap = require('../../lib/source-map'); + } catch (e) { + sourceMap = {}; + Components.utils.import('resource:///modules/devtools/SourceMap.jsm', sourceMap); + } + + exports['test that the api is properly exposed in the top level'] = function (assert, util) { + assert.equal(typeof sourceMap.SourceMapGenerator, "function"); + assert.equal(typeof sourceMap.SourceMapConsumer, "function"); + assert.equal(typeof sourceMap.SourceNode, "function"); + }; + +}); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-array-set.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-array-set.js new file mode 100644 index 0000000..b5797ed --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-array-set.js @@ -0,0 +1,104 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module, require); +} +define(function (require, exports, module) { + + var ArraySet = require('../../lib/source-map/array-set').ArraySet; + + function makeTestSet() { + var set = new ArraySet(); + for (var i = 0; i < 100; i++) { + set.add(String(i)); + } + return set; + } + + exports['test .has() membership'] = function (assert, util) { + var set = makeTestSet(); + for (var i = 0; i < 100; i++) { + assert.ok(set.has(String(i))); + } + }; + + exports['test .indexOf() elements'] = function (assert, util) { + var set = makeTestSet(); + for (var i = 0; i < 100; i++) { + assert.strictEqual(set.indexOf(String(i)), i); + } + }; + + exports['test .at() indexing'] = function (assert, util) { + var set = makeTestSet(); + for (var i = 0; i < 100; i++) { + assert.strictEqual(set.at(i), String(i)); + } + }; + + exports['test creating from an array'] = function (assert, util) { + var set = ArraySet.fromArray(['foo', 'bar', 'baz', 'quux', 'hasOwnProperty']); + + assert.ok(set.has('foo')); + assert.ok(set.has('bar')); + assert.ok(set.has('baz')); + assert.ok(set.has('quux')); + assert.ok(set.has('hasOwnProperty')); + + assert.strictEqual(set.indexOf('foo'), 0); + assert.strictEqual(set.indexOf('bar'), 1); + assert.strictEqual(set.indexOf('baz'), 2); + assert.strictEqual(set.indexOf('quux'), 3); + + assert.strictEqual(set.at(0), 'foo'); + assert.strictEqual(set.at(1), 'bar'); + assert.strictEqual(set.at(2), 'baz'); + assert.strictEqual(set.at(3), 'quux'); + }; + + exports['test that you can add __proto__; see github issue #30'] = function (assert, util) { + var set = new ArraySet(); + set.add('__proto__'); + assert.ok(set.has('__proto__')); + assert.strictEqual(set.at(0), '__proto__'); + assert.strictEqual(set.indexOf('__proto__'), 0); + }; + + exports['test .fromArray() with duplicates'] = function (assert, util) { + var set = ArraySet.fromArray(['foo', 'foo']); + assert.ok(set.has('foo')); + assert.strictEqual(set.at(0), 'foo'); + assert.strictEqual(set.indexOf('foo'), 0); + assert.strictEqual(set.toArray().length, 1); + + set = ArraySet.fromArray(['foo', 'foo'], true); + assert.ok(set.has('foo')); + assert.strictEqual(set.at(0), 'foo'); + assert.strictEqual(set.at(1), 'foo'); + assert.strictEqual(set.indexOf('foo'), 0); + assert.strictEqual(set.toArray().length, 2); + }; + + exports['test .add() with duplicates'] = function (assert, util) { + var set = new ArraySet(); + set.add('foo'); + + set.add('foo'); + assert.ok(set.has('foo')); + assert.strictEqual(set.at(0), 'foo'); + assert.strictEqual(set.indexOf('foo'), 0); + assert.strictEqual(set.toArray().length, 1); + + set.add('foo', true); + assert.ok(set.has('foo')); + assert.strictEqual(set.at(0), 'foo'); + assert.strictEqual(set.at(1), 'foo'); + assert.strictEqual(set.indexOf('foo'), 0); + assert.strictEqual(set.toArray().length, 2); + }; + +}); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64-vlq.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64-vlq.js new file mode 100644 index 0000000..653a874 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64-vlq.js @@ -0,0 +1,24 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module, require); +} +define(function (require, exports, module) { + + var base64VLQ = require('../../lib/source-map/base64-vlq'); + + exports['test normal encoding and decoding'] = function (assert, util) { + var result; + for (var i = -255; i < 256; i++) { + result = base64VLQ.decode(base64VLQ.encode(i)); + assert.ok(result); + assert.equal(result.value, i); + assert.equal(result.rest, ""); + } + }; + +}); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64.js new file mode 100644 index 0000000..ff3a244 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64.js @@ -0,0 +1,35 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module, require); +} +define(function (require, exports, module) { + + var base64 = require('../../lib/source-map/base64'); + + exports['test out of range encoding'] = function (assert, util) { + assert.throws(function () { + base64.encode(-1); + }); + assert.throws(function () { + base64.encode(64); + }); + }; + + exports['test out of range decoding'] = function (assert, util) { + assert.throws(function () { + base64.decode('='); + }); + }; + + exports['test normal encoding and decoding'] = function (assert, util) { + for (var i = 0; i < 64; i++) { + assert.equal(base64.decode(base64.encode(i)), i); + } + }; + +}); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-binary-search.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-binary-search.js new file mode 100644 index 0000000..ee30683 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-binary-search.js @@ -0,0 +1,54 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module, require); +} +define(function (require, exports, module) { + + var binarySearch = require('../../lib/source-map/binary-search'); + + function numberCompare(a, b) { + return a - b; + } + + exports['test too high'] = function (assert, util) { + var needle = 30; + var haystack = [2,4,6,8,10,12,14,16,18,20]; + + assert.doesNotThrow(function () { + binarySearch.search(needle, haystack, numberCompare); + }); + + assert.equal(binarySearch.search(needle, haystack, numberCompare), 20); + }; + + exports['test too low'] = function (assert, util) { + var needle = 1; + var haystack = [2,4,6,8,10,12,14,16,18,20]; + + assert.doesNotThrow(function () { + binarySearch.search(needle, haystack, numberCompare); + }); + + assert.equal(binarySearch.search(needle, haystack, numberCompare), null); + }; + + exports['test exact search'] = function (assert, util) { + var needle = 4; + var haystack = [2,4,6,8,10,12,14,16,18,20]; + + assert.equal(binarySearch.search(needle, haystack, numberCompare), 4); + }; + + exports['test fuzzy search'] = function (assert, util) { + var needle = 19; + var haystack = [2,4,6,8,10,12,14,16,18,20]; + + assert.equal(binarySearch.search(needle, haystack, numberCompare), 18); + }; + +}); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-dog-fooding.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-dog-fooding.js new file mode 100644 index 0000000..d831b92 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-dog-fooding.js @@ -0,0 +1,72 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module, require); +} +define(function (require, exports, module) { + + var SourceMapConsumer = require('../../lib/source-map/source-map-consumer').SourceMapConsumer; + var SourceMapGenerator = require('../../lib/source-map/source-map-generator').SourceMapGenerator; + + exports['test eating our own dog food'] = function (assert, util) { + var smg = new SourceMapGenerator({ + file: 'testing.js', + sourceRoot: '/wu/tang' + }); + + smg.addMapping({ + source: 'gza.coffee', + original: { line: 1, column: 0 }, + generated: { line: 2, column: 2 } + }); + + smg.addMapping({ + source: 'gza.coffee', + original: { line: 2, column: 0 }, + generated: { line: 3, column: 2 } + }); + + smg.addMapping({ + source: 'gza.coffee', + original: { line: 3, column: 0 }, + generated: { line: 4, column: 2 } + }); + + smg.addMapping({ + source: 'gza.coffee', + original: { line: 4, column: 0 }, + generated: { line: 5, column: 2 } + }); + + var smc = new SourceMapConsumer(smg.toString()); + + // Exact + util.assertMapping(2, 2, '/wu/tang/gza.coffee', 1, 0, null, smc, assert); + util.assertMapping(3, 2, '/wu/tang/gza.coffee', 2, 0, null, smc, assert); + util.assertMapping(4, 2, '/wu/tang/gza.coffee', 3, 0, null, smc, assert); + util.assertMapping(5, 2, '/wu/tang/gza.coffee', 4, 0, null, smc, assert); + + // Fuzzy + + // Original to generated + util.assertMapping(2, 0, null, null, null, null, smc, assert, true); + util.assertMapping(2, 9, '/wu/tang/gza.coffee', 1, 0, null, smc, assert, true); + util.assertMapping(3, 0, '/wu/tang/gza.coffee', 1, 0, null, smc, assert, true); + util.assertMapping(3, 9, '/wu/tang/gza.coffee', 2, 0, null, smc, assert, true); + util.assertMapping(4, 0, '/wu/tang/gza.coffee', 2, 0, null, smc, assert, true); + util.assertMapping(4, 9, '/wu/tang/gza.coffee', 3, 0, null, smc, assert, true); + util.assertMapping(5, 0, '/wu/tang/gza.coffee', 3, 0, null, smc, assert, true); + util.assertMapping(5, 9, '/wu/tang/gza.coffee', 4, 0, null, smc, assert, true); + + // Generated to original + util.assertMapping(2, 2, '/wu/tang/gza.coffee', 1, 1, null, smc, assert, null, true); + util.assertMapping(3, 2, '/wu/tang/gza.coffee', 2, 3, null, smc, assert, null, true); + util.assertMapping(4, 2, '/wu/tang/gza.coffee', 3, 6, null, smc, assert, null, true); + util.assertMapping(5, 2, '/wu/tang/gza.coffee', 4, 9, null, smc, assert, null, true); + }; + +}); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-map-consumer.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-map-consumer.js new file mode 100644 index 0000000..f2c65a7 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-map-consumer.js @@ -0,0 +1,451 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module, require); +} +define(function (require, exports, module) { + + var SourceMapConsumer = require('../../lib/source-map/source-map-consumer').SourceMapConsumer; + var SourceMapGenerator = require('../../lib/source-map/source-map-generator').SourceMapGenerator; + + exports['test that we can instantiate with a string or an objects'] = function (assert, util) { + assert.doesNotThrow(function () { + var map = new SourceMapConsumer(util.testMap); + }); + assert.doesNotThrow(function () { + var map = new SourceMapConsumer(JSON.stringify(util.testMap)); + }); + }; + + exports['test that the `sources` field has the original sources'] = function (assert, util) { + var map = new SourceMapConsumer(util.testMap); + var sources = map.sources; + + assert.equal(sources[0], '/the/root/one.js'); + assert.equal(sources[1], '/the/root/two.js'); + assert.equal(sources.length, 2); + }; + + exports['test that the source root is reflected in a mapping\'s source field'] = function (assert, util) { + var map = new SourceMapConsumer(util.testMap); + var mapping; + + mapping = map.originalPositionFor({ + line: 2, + column: 1 + }); + assert.equal(mapping.source, '/the/root/two.js'); + + mapping = map.originalPositionFor({ + line: 1, + column: 1 + }); + assert.equal(mapping.source, '/the/root/one.js'); + }; + + exports['test mapping tokens back exactly'] = function (assert, util) { + var map = new SourceMapConsumer(util.testMap); + + util.assertMapping(1, 1, '/the/root/one.js', 1, 1, null, map, assert); + util.assertMapping(1, 5, '/the/root/one.js', 1, 5, null, map, assert); + util.assertMapping(1, 9, '/the/root/one.js', 1, 11, null, map, assert); + util.assertMapping(1, 18, '/the/root/one.js', 1, 21, 'bar', map, assert); + util.assertMapping(1, 21, '/the/root/one.js', 2, 3, null, map, assert); + util.assertMapping(1, 28, '/the/root/one.js', 2, 10, 'baz', map, assert); + util.assertMapping(1, 32, '/the/root/one.js', 2, 14, 'bar', map, assert); + + util.assertMapping(2, 1, '/the/root/two.js', 1, 1, null, map, assert); + util.assertMapping(2, 5, '/the/root/two.js', 1, 5, null, map, assert); + util.assertMapping(2, 9, '/the/root/two.js', 1, 11, null, map, assert); + util.assertMapping(2, 18, '/the/root/two.js', 1, 21, 'n', map, assert); + util.assertMapping(2, 21, '/the/root/two.js', 2, 3, null, map, assert); + util.assertMapping(2, 28, '/the/root/two.js', 2, 10, 'n', map, assert); + }; + + exports['test mapping tokens fuzzy'] = function (assert, util) { + var map = new SourceMapConsumer(util.testMap); + + // Finding original positions + util.assertMapping(1, 20, '/the/root/one.js', 1, 21, 'bar', map, assert, true); + util.assertMapping(1, 30, '/the/root/one.js', 2, 10, 'baz', map, assert, true); + util.assertMapping(2, 12, '/the/root/two.js', 1, 11, null, map, assert, true); + + // Finding generated positions + util.assertMapping(1, 18, '/the/root/one.js', 1, 22, 'bar', map, assert, null, true); + util.assertMapping(1, 28, '/the/root/one.js', 2, 13, 'baz', map, assert, null, true); + util.assertMapping(2, 9, '/the/root/two.js', 1, 16, null, map, assert, null, true); + }; + + exports['test creating source map consumers with )]}\' prefix'] = function (assert, util) { + assert.doesNotThrow(function () { + var map = new SourceMapConsumer(")]}'" + JSON.stringify(util.testMap)); + }); + }; + + exports['test eachMapping'] = function (assert, util) { + var map = new SourceMapConsumer(util.testMap); + var previousLine = -Infinity; + var previousColumn = -Infinity; + map.eachMapping(function (mapping) { + assert.ok(mapping.generatedLine >= previousLine); + + if (mapping.source) { + assert.equal(mapping.source.indexOf(util.testMap.sourceRoot), 0); + } + + if (mapping.generatedLine === previousLine) { + assert.ok(mapping.generatedColumn >= previousColumn); + previousColumn = mapping.generatedColumn; + } + else { + previousLine = mapping.generatedLine; + previousColumn = -Infinity; + } + }); + }; + + exports['test iterating over mappings in a different order'] = function (assert, util) { + var map = new SourceMapConsumer(util.testMap); + var previousLine = -Infinity; + var previousColumn = -Infinity; + var previousSource = ""; + map.eachMapping(function (mapping) { + assert.ok(mapping.source >= previousSource); + + if (mapping.source === previousSource) { + assert.ok(mapping.originalLine >= previousLine); + + if (mapping.originalLine === previousLine) { + assert.ok(mapping.originalColumn >= previousColumn); + previousColumn = mapping.originalColumn; + } + else { + previousLine = mapping.originalLine; + previousColumn = -Infinity; + } + } + else { + previousSource = mapping.source; + previousLine = -Infinity; + previousColumn = -Infinity; + } + }, null, SourceMapConsumer.ORIGINAL_ORDER); + }; + + exports['test that we can set the context for `this` in eachMapping'] = function (assert, util) { + var map = new SourceMapConsumer(util.testMap); + var context = {}; + map.eachMapping(function () { + assert.equal(this, context); + }, context); + }; + + exports['test that the `sourcesContent` field has the original sources'] = function (assert, util) { + var map = new SourceMapConsumer(util.testMapWithSourcesContent); + var sourcesContent = map.sourcesContent; + + assert.equal(sourcesContent[0], ' ONE.foo = function (bar) {\n return baz(bar);\n };'); + assert.equal(sourcesContent[1], ' TWO.inc = function (n) {\n return n + 1;\n };'); + assert.equal(sourcesContent.length, 2); + }; + + exports['test that we can get the original sources for the sources'] = function (assert, util) { + var map = new SourceMapConsumer(util.testMapWithSourcesContent); + var sources = map.sources; + + assert.equal(map.sourceContentFor(sources[0]), ' ONE.foo = function (bar) {\n return baz(bar);\n };'); + assert.equal(map.sourceContentFor(sources[1]), ' TWO.inc = function (n) {\n return n + 1;\n };'); + assert.equal(map.sourceContentFor("one.js"), ' ONE.foo = function (bar) {\n return baz(bar);\n };'); + assert.equal(map.sourceContentFor("two.js"), ' TWO.inc = function (n) {\n return n + 1;\n };'); + assert.throws(function () { + map.sourceContentFor(""); + }, Error); + assert.throws(function () { + map.sourceContentFor("/the/root/three.js"); + }, Error); + assert.throws(function () { + map.sourceContentFor("three.js"); + }, Error); + }; + + exports['test sourceRoot + generatedPositionFor'] = function (assert, util) { + var map = new SourceMapGenerator({ + sourceRoot: 'foo/bar', + file: 'baz.js' + }); + map.addMapping({ + original: { line: 1, column: 1 }, + generated: { line: 2, column: 2 }, + source: 'bang.coffee' + }); + map.addMapping({ + original: { line: 5, column: 5 }, + generated: { line: 6, column: 6 }, + source: 'bang.coffee' + }); + map = new SourceMapConsumer(map.toString()); + + // Should handle without sourceRoot. + var pos = map.generatedPositionFor({ + line: 1, + column: 1, + source: 'bang.coffee' + }); + + assert.equal(pos.line, 2); + assert.equal(pos.column, 2); + + // Should handle with sourceRoot. + var pos = map.generatedPositionFor({ + line: 1, + column: 1, + source: 'foo/bar/bang.coffee' + }); + + assert.equal(pos.line, 2); + assert.equal(pos.column, 2); + }; + + exports['test sourceRoot + originalPositionFor'] = function (assert, util) { + var map = new SourceMapGenerator({ + sourceRoot: 'foo/bar', + file: 'baz.js' + }); + map.addMapping({ + original: { line: 1, column: 1 }, + generated: { line: 2, column: 2 }, + source: 'bang.coffee' + }); + map = new SourceMapConsumer(map.toString()); + + var pos = map.originalPositionFor({ + line: 2, + column: 2, + }); + + // Should always have the prepended source root + assert.equal(pos.source, 'foo/bar/bang.coffee'); + assert.equal(pos.line, 1); + assert.equal(pos.column, 1); + }; + + exports['test github issue #56'] = function (assert, util) { + var map = new SourceMapGenerator({ + sourceRoot: 'http://', + file: 'www.example.com/foo.js' + }); + map.addMapping({ + original: { line: 1, column: 1 }, + generated: { line: 2, column: 2 }, + source: 'www.example.com/original.js' + }); + map = new SourceMapConsumer(map.toString()); + + var sources = map.sources; + assert.equal(sources.length, 1); + assert.equal(sources[0], 'http://www.example.com/original.js'); + }; + + exports['test github issue #43'] = function (assert, util) { + var map = new SourceMapGenerator({ + sourceRoot: 'http://example.com', + file: 'foo.js' + }); + map.addMapping({ + original: { line: 1, column: 1 }, + generated: { line: 2, column: 2 }, + source: 'http://cdn.example.com/original.js' + }); + map = new SourceMapConsumer(map.toString()); + + var sources = map.sources; + assert.equal(sources.length, 1, + 'Should only be one source.'); + assert.equal(sources[0], 'http://cdn.example.com/original.js', + 'Should not be joined with the sourceRoot.'); + }; + + exports['test absolute path, but same host sources'] = function (assert, util) { + var map = new SourceMapGenerator({ + sourceRoot: 'http://example.com/foo/bar', + file: 'foo.js' + }); + map.addMapping({ + original: { line: 1, column: 1 }, + generated: { line: 2, column: 2 }, + source: '/original.js' + }); + map = new SourceMapConsumer(map.toString()); + + var sources = map.sources; + assert.equal(sources.length, 1, + 'Should only be one source.'); + assert.equal(sources[0], 'http://example.com/original.js', + 'Source should be relative the host of the source root.'); + }; + + exports['test github issue #64'] = function (assert, util) { + var map = new SourceMapConsumer({ + "version": 3, + "file": "foo.js", + "sourceRoot": "http://example.com/", + "sources": ["/a"], + "names": [], + "mappings": "AACA", + "sourcesContent": ["foo"] + }); + + assert.equal(map.sourceContentFor("a"), "foo"); + assert.equal(map.sourceContentFor("/a"), "foo"); + }; + + exports['test bug 885597'] = function (assert, util) { + var map = new SourceMapConsumer({ + "version": 3, + "file": "foo.js", + "sourceRoot": "file:///Users/AlGore/Invented/The/Internet/", + "sources": ["/a"], + "names": [], + "mappings": "AACA", + "sourcesContent": ["foo"] + }); + + var s = map.sources[0]; + assert.equal(map.sourceContentFor(s), "foo"); + }; + + exports['test github issue #72, duplicate sources'] = function (assert, util) { + var map = new SourceMapConsumer({ + "version": 3, + "file": "foo.js", + "sources": ["source1.js", "source1.js", "source3.js"], + "names": [], + "mappings": ";EAAC;;IAEE;;MEEE", + "sourceRoot": "http://example.com" + }); + + var pos = map.originalPositionFor({ + line: 2, + column: 2 + }); + assert.equal(pos.source, 'http://example.com/source1.js'); + assert.equal(pos.line, 1); + assert.equal(pos.column, 1); + + var pos = map.originalPositionFor({ + line: 4, + column: 4 + }); + assert.equal(pos.source, 'http://example.com/source1.js'); + assert.equal(pos.line, 3); + assert.equal(pos.column, 3); + + var pos = map.originalPositionFor({ + line: 6, + column: 6 + }); + assert.equal(pos.source, 'http://example.com/source3.js'); + assert.equal(pos.line, 5); + assert.equal(pos.column, 5); + }; + + exports['test github issue #72, duplicate names'] = function (assert, util) { + var map = new SourceMapConsumer({ + "version": 3, + "file": "foo.js", + "sources": ["source.js"], + "names": ["name1", "name1", "name3"], + "mappings": ";EAACA;;IAEEA;;MAEEE", + "sourceRoot": "http://example.com" + }); + + var pos = map.originalPositionFor({ + line: 2, + column: 2 + }); + assert.equal(pos.name, 'name1'); + assert.equal(pos.line, 1); + assert.equal(pos.column, 1); + + var pos = map.originalPositionFor({ + line: 4, + column: 4 + }); + assert.equal(pos.name, 'name1'); + assert.equal(pos.line, 3); + assert.equal(pos.column, 3); + + var pos = map.originalPositionFor({ + line: 6, + column: 6 + }); + assert.equal(pos.name, 'name3'); + assert.equal(pos.line, 5); + assert.equal(pos.column, 5); + }; + + exports['test SourceMapConsumer.fromSourceMap'] = function (assert, util) { + var smg = new SourceMapGenerator({ + sourceRoot: 'http://example.com/', + file: 'foo.js' + }); + smg.addMapping({ + original: { line: 1, column: 1 }, + generated: { line: 2, column: 2 }, + source: 'bar.js' + }); + smg.addMapping({ + original: { line: 2, column: 2 }, + generated: { line: 4, column: 4 }, + source: 'baz.js', + name: 'dirtMcGirt' + }); + smg.setSourceContent('baz.js', 'baz.js content'); + + var smc = SourceMapConsumer.fromSourceMap(smg); + assert.equal(smc.file, 'foo.js'); + assert.equal(smc.sourceRoot, 'http://example.com/'); + assert.equal(smc.sources.length, 2); + assert.equal(smc.sources[0], 'http://example.com/bar.js'); + assert.equal(smc.sources[1], 'http://example.com/baz.js'); + assert.equal(smc.sourceContentFor('baz.js'), 'baz.js content'); + + var pos = smc.originalPositionFor({ + line: 2, + column: 2 + }); + assert.equal(pos.line, 1); + assert.equal(pos.column, 1); + assert.equal(pos.source, 'http://example.com/bar.js'); + assert.equal(pos.name, null); + + pos = smc.generatedPositionFor({ + line: 1, + column: 1, + source: 'http://example.com/bar.js' + }); + assert.equal(pos.line, 2); + assert.equal(pos.column, 2); + + pos = smc.originalPositionFor({ + line: 4, + column: 4 + }); + assert.equal(pos.line, 2); + assert.equal(pos.column, 2); + assert.equal(pos.source, 'http://example.com/baz.js'); + assert.equal(pos.name, 'dirtMcGirt'); + + pos = smc.generatedPositionFor({ + line: 2, + column: 2, + source: 'http://example.com/baz.js' + }); + assert.equal(pos.line, 4); + assert.equal(pos.column, 4); + }; +}); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-map-generator.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-map-generator.js new file mode 100644 index 0000000..ba292f5 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-map-generator.js @@ -0,0 +1,417 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module, require); +} +define(function (require, exports, module) { + + var SourceMapGenerator = require('../../lib/source-map/source-map-generator').SourceMapGenerator; + var SourceMapConsumer = require('../../lib/source-map/source-map-consumer').SourceMapConsumer; + var SourceNode = require('../../lib/source-map/source-node').SourceNode; + var util = require('./util'); + + exports['test some simple stuff'] = function (assert, util) { + var map = new SourceMapGenerator({ + file: 'foo.js', + sourceRoot: '.' + }); + assert.ok(true); + }; + + exports['test JSON serialization'] = function (assert, util) { + var map = new SourceMapGenerator({ + file: 'foo.js', + sourceRoot: '.' + }); + assert.equal(map.toString(), JSON.stringify(map)); + }; + + exports['test adding mappings (case 1)'] = function (assert, util) { + var map = new SourceMapGenerator({ + file: 'generated-foo.js', + sourceRoot: '.' + }); + + assert.doesNotThrow(function () { + map.addMapping({ + generated: { line: 1, column: 1 } + }); + }); + }; + + exports['test adding mappings (case 2)'] = function (assert, util) { + var map = new SourceMapGenerator({ + file: 'generated-foo.js', + sourceRoot: '.' + }); + + assert.doesNotThrow(function () { + map.addMapping({ + generated: { line: 1, column: 1 }, + source: 'bar.js', + original: { line: 1, column: 1 } + }); + }); + }; + + exports['test adding mappings (case 3)'] = function (assert, util) { + var map = new SourceMapGenerator({ + file: 'generated-foo.js', + sourceRoot: '.' + }); + + assert.doesNotThrow(function () { + map.addMapping({ + generated: { line: 1, column: 1 }, + source: 'bar.js', + original: { line: 1, column: 1 }, + name: 'someToken' + }); + }); + }; + + exports['test adding mappings (invalid)'] = function (assert, util) { + var map = new SourceMapGenerator({ + file: 'generated-foo.js', + sourceRoot: '.' + }); + + // Not enough info. + assert.throws(function () { + map.addMapping({}); + }); + + // Original file position, but no source. + assert.throws(function () { + map.addMapping({ + generated: { line: 1, column: 1 }, + original: { line: 1, column: 1 } + }); + }); + }; + + exports['test that the correct mappings are being generated'] = function (assert, util) { + var map = new SourceMapGenerator({ + file: 'min.js', + sourceRoot: '/the/root' + }); + + map.addMapping({ + generated: { line: 1, column: 1 }, + original: { line: 1, column: 1 }, + source: 'one.js' + }); + map.addMapping({ + generated: { line: 1, column: 5 }, + original: { line: 1, column: 5 }, + source: 'one.js' + }); + map.addMapping({ + generated: { line: 1, column: 9 }, + original: { line: 1, column: 11 }, + source: 'one.js' + }); + map.addMapping({ + generated: { line: 1, column: 18 }, + original: { line: 1, column: 21 }, + source: 'one.js', + name: 'bar' + }); + map.addMapping({ + generated: { line: 1, column: 21 }, + original: { line: 2, column: 3 }, + source: 'one.js' + }); + map.addMapping({ + generated: { line: 1, column: 28 }, + original: { line: 2, column: 10 }, + source: 'one.js', + name: 'baz' + }); + map.addMapping({ + generated: { line: 1, column: 32 }, + original: { line: 2, column: 14 }, + source: 'one.js', + name: 'bar' + }); + + map.addMapping({ + generated: { line: 2, column: 1 }, + original: { line: 1, column: 1 }, + source: 'two.js' + }); + map.addMapping({ + generated: { line: 2, column: 5 }, + original: { line: 1, column: 5 }, + source: 'two.js' + }); + map.addMapping({ + generated: { line: 2, column: 9 }, + original: { line: 1, column: 11 }, + source: 'two.js' + }); + map.addMapping({ + generated: { line: 2, column: 18 }, + original: { line: 1, column: 21 }, + source: 'two.js', + name: 'n' + }); + map.addMapping({ + generated: { line: 2, column: 21 }, + original: { line: 2, column: 3 }, + source: 'two.js' + }); + map.addMapping({ + generated: { line: 2, column: 28 }, + original: { line: 2, column: 10 }, + source: 'two.js', + name: 'n' + }); + + map = JSON.parse(map.toString()); + + util.assertEqualMaps(assert, map, util.testMap); + }; + + exports['test that source content can be set'] = function (assert, util) { + var map = new SourceMapGenerator({ + file: 'min.js', + sourceRoot: '/the/root' + }); + map.addMapping({ + generated: { line: 1, column: 1 }, + original: { line: 1, column: 1 }, + source: 'one.js' + }); + map.addMapping({ + generated: { line: 2, column: 1 }, + original: { line: 1, column: 1 }, + source: 'two.js' + }); + map.setSourceContent('one.js', 'one file content'); + + map = JSON.parse(map.toString()); + assert.equal(map.sources[0], 'one.js'); + assert.equal(map.sources[1], 'two.js'); + assert.equal(map.sourcesContent[0], 'one file content'); + assert.equal(map.sourcesContent[1], null); + }; + + exports['test .fromSourceMap'] = function (assert, util) { + var map = SourceMapGenerator.fromSourceMap(new SourceMapConsumer(util.testMap)); + util.assertEqualMaps(assert, map.toJSON(), util.testMap); + }; + + exports['test .fromSourceMap with sourcesContent'] = function (assert, util) { + var map = SourceMapGenerator.fromSourceMap( + new SourceMapConsumer(util.testMapWithSourcesContent)); + util.assertEqualMaps(assert, map.toJSON(), util.testMapWithSourcesContent); + }; + + exports['test applySourceMap'] = function (assert, util) { + var node = new SourceNode(null, null, null, [ + new SourceNode(2, 0, 'fileX', 'lineX2\n'), + 'genA1\n', + new SourceNode(2, 0, 'fileY', 'lineY2\n'), + 'genA2\n', + new SourceNode(1, 0, 'fileX', 'lineX1\n'), + 'genA3\n', + new SourceNode(1, 0, 'fileY', 'lineY1\n') + ]); + var mapStep1 = node.toStringWithSourceMap({ + file: 'fileA' + }).map; + mapStep1.setSourceContent('fileX', 'lineX1\nlineX2\n'); + mapStep1 = mapStep1.toJSON(); + + node = new SourceNode(null, null, null, [ + 'gen1\n', + new SourceNode(1, 0, 'fileA', 'lineA1\n'), + new SourceNode(2, 0, 'fileA', 'lineA2\n'), + new SourceNode(3, 0, 'fileA', 'lineA3\n'), + new SourceNode(4, 0, 'fileA', 'lineA4\n'), + new SourceNode(1, 0, 'fileB', 'lineB1\n'), + new SourceNode(2, 0, 'fileB', 'lineB2\n'), + 'gen2\n' + ]); + var mapStep2 = node.toStringWithSourceMap({ + file: 'fileGen' + }).map; + mapStep2.setSourceContent('fileB', 'lineB1\nlineB2\n'); + mapStep2 = mapStep2.toJSON(); + + node = new SourceNode(null, null, null, [ + 'gen1\n', + new SourceNode(2, 0, 'fileX', 'lineA1\n'), + new SourceNode(2, 0, 'fileA', 'lineA2\n'), + new SourceNode(2, 0, 'fileY', 'lineA3\n'), + new SourceNode(4, 0, 'fileA', 'lineA4\n'), + new SourceNode(1, 0, 'fileB', 'lineB1\n'), + new SourceNode(2, 0, 'fileB', 'lineB2\n'), + 'gen2\n' + ]); + var expectedMap = node.toStringWithSourceMap({ + file: 'fileGen' + }).map; + expectedMap.setSourceContent('fileX', 'lineX1\nlineX2\n'); + expectedMap.setSourceContent('fileB', 'lineB1\nlineB2\n'); + expectedMap = expectedMap.toJSON(); + + // apply source map "mapStep1" to "mapStep2" + var generator = SourceMapGenerator.fromSourceMap(new SourceMapConsumer(mapStep2)); + generator.applySourceMap(new SourceMapConsumer(mapStep1)); + var actualMap = generator.toJSON(); + + util.assertEqualMaps(assert, actualMap, expectedMap); + }; + + exports['test sorting with duplicate generated mappings'] = function (assert, util) { + var map = new SourceMapGenerator({ + file: 'test.js' + }); + map.addMapping({ + generated: { line: 3, column: 0 }, + original: { line: 2, column: 0 }, + source: 'a.js' + }); + map.addMapping({ + generated: { line: 2, column: 0 } + }); + map.addMapping({ + generated: { line: 2, column: 0 } + }); + map.addMapping({ + generated: { line: 1, column: 0 }, + original: { line: 1, column: 0 }, + source: 'a.js' + }); + + util.assertEqualMaps(assert, map.toJSON(), { + version: 3, + file: 'test.js', + sources: ['a.js'], + names: [], + mappings: 'AAAA;A;AACA' + }); + }; + + exports['test ignore duplicate mappings.'] = function (assert, util) { + var init = { file: 'min.js', sourceRoot: '/the/root' }; + var map1, map2; + + // null original source location + var nullMapping1 = { + generated: { line: 1, column: 0 } + }; + var nullMapping2 = { + generated: { line: 2, column: 2 } + }; + + map1 = new SourceMapGenerator(init); + map2 = new SourceMapGenerator(init); + + map1.addMapping(nullMapping1); + map1.addMapping(nullMapping1); + + map2.addMapping(nullMapping1); + + util.assertEqualMaps(assert, map1.toJSON(), map2.toJSON()); + + map1.addMapping(nullMapping2); + map1.addMapping(nullMapping1); + + map2.addMapping(nullMapping2); + + util.assertEqualMaps(assert, map1.toJSON(), map2.toJSON()); + + // original source location + var srcMapping1 = { + generated: { line: 1, column: 0 }, + original: { line: 11, column: 0 }, + source: 'srcMapping1.js' + }; + var srcMapping2 = { + generated: { line: 2, column: 2 }, + original: { line: 11, column: 0 }, + source: 'srcMapping2.js' + }; + + map1 = new SourceMapGenerator(init); + map2 = new SourceMapGenerator(init); + + map1.addMapping(srcMapping1); + map1.addMapping(srcMapping1); + + map2.addMapping(srcMapping1); + + util.assertEqualMaps(assert, map1.toJSON(), map2.toJSON()); + + map1.addMapping(srcMapping2); + map1.addMapping(srcMapping1); + + map2.addMapping(srcMapping2); + + util.assertEqualMaps(assert, map1.toJSON(), map2.toJSON()); + + // full original source and name information + var fullMapping1 = { + generated: { line: 1, column: 0 }, + original: { line: 11, column: 0 }, + source: 'fullMapping1.js', + name: 'fullMapping1' + }; + var fullMapping2 = { + generated: { line: 2, column: 2 }, + original: { line: 11, column: 0 }, + source: 'fullMapping2.js', + name: 'fullMapping2' + }; + + map1 = new SourceMapGenerator(init); + map2 = new SourceMapGenerator(init); + + map1.addMapping(fullMapping1); + map1.addMapping(fullMapping1); + + map2.addMapping(fullMapping1); + + util.assertEqualMaps(assert, map1.toJSON(), map2.toJSON()); + + map1.addMapping(fullMapping2); + map1.addMapping(fullMapping1); + + map2.addMapping(fullMapping2); + + util.assertEqualMaps(assert, map1.toJSON(), map2.toJSON()); + }; + + exports['test github issue #72, check for duplicate names or sources'] = function (assert, util) { + var map = new SourceMapGenerator({ + file: 'test.js' + }); + map.addMapping({ + generated: { line: 1, column: 1 }, + original: { line: 2, column: 2 }, + source: 'a.js', + name: 'foo' + }); + map.addMapping({ + generated: { line: 3, column: 3 }, + original: { line: 4, column: 4 }, + source: 'a.js', + name: 'foo' + }); + util.assertEqualMaps(assert, map.toJSON(), { + version: 3, + file: 'test.js', + sources: ['a.js'], + names: ['foo'], + mappings: 'CACEA;;GAEEA' + }); + }; + +}); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-node.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-node.js new file mode 100644 index 0000000..6e0eca8 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-node.js @@ -0,0 +1,365 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module, require); +} +define(function (require, exports, module) { + + var SourceMapGenerator = require('../../lib/source-map/source-map-generator').SourceMapGenerator; + var SourceMapConsumer = require('../../lib/source-map/source-map-consumer').SourceMapConsumer; + var SourceNode = require('../../lib/source-map/source-node').SourceNode; + + exports['test .add()'] = function (assert, util) { + var node = new SourceNode(null, null, null); + + // Adding a string works. + node.add('function noop() {}'); + + // Adding another source node works. + node.add(new SourceNode(null, null, null)); + + // Adding an array works. + node.add(['function foo() {', + new SourceNode(null, null, null, + 'return 10;'), + '}']); + + // Adding other stuff doesn't. + assert.throws(function () { + node.add({}); + }); + assert.throws(function () { + node.add(function () {}); + }); + }; + + exports['test .prepend()'] = function (assert, util) { + var node = new SourceNode(null, null, null); + + // Prepending a string works. + node.prepend('function noop() {}'); + assert.equal(node.children[0], 'function noop() {}'); + assert.equal(node.children.length, 1); + + // Prepending another source node works. + node.prepend(new SourceNode(null, null, null)); + assert.equal(node.children[0], ''); + assert.equal(node.children[1], 'function noop() {}'); + assert.equal(node.children.length, 2); + + // Prepending an array works. + node.prepend(['function foo() {', + new SourceNode(null, null, null, + 'return 10;'), + '}']); + assert.equal(node.children[0], 'function foo() {'); + assert.equal(node.children[1], 'return 10;'); + assert.equal(node.children[2], '}'); + assert.equal(node.children[3], ''); + assert.equal(node.children[4], 'function noop() {}'); + assert.equal(node.children.length, 5); + + // Prepending other stuff doesn't. + assert.throws(function () { + node.prepend({}); + }); + assert.throws(function () { + node.prepend(function () {}); + }); + }; + + exports['test .toString()'] = function (assert, util) { + assert.equal((new SourceNode(null, null, null, + ['function foo() {', + new SourceNode(null, null, null, 'return 10;'), + '}'])).toString(), + 'function foo() {return 10;}'); + }; + + exports['test .join()'] = function (assert, util) { + assert.equal((new SourceNode(null, null, null, + ['a', 'b', 'c', 'd'])).join(', ').toString(), + 'a, b, c, d'); + }; + + exports['test .walk()'] = function (assert, util) { + var node = new SourceNode(null, null, null, + ['(function () {\n', + ' ', new SourceNode(1, 0, 'a.js', ['someCall()']), ';\n', + ' ', new SourceNode(2, 0, 'b.js', ['if (foo) bar()']), ';\n', + '}());']); + var expected = [ + { str: '(function () {\n', source: null, line: null, column: null }, + { str: ' ', source: null, line: null, column: null }, + { str: 'someCall()', source: 'a.js', line: 1, column: 0 }, + { str: ';\n', source: null, line: null, column: null }, + { str: ' ', source: null, line: null, column: null }, + { str: 'if (foo) bar()', source: 'b.js', line: 2, column: 0 }, + { str: ';\n', source: null, line: null, column: null }, + { str: '}());', source: null, line: null, column: null }, + ]; + var i = 0; + node.walk(function (chunk, loc) { + assert.equal(expected[i].str, chunk); + assert.equal(expected[i].source, loc.source); + assert.equal(expected[i].line, loc.line); + assert.equal(expected[i].column, loc.column); + i++; + }); + }; + + exports['test .replaceRight'] = function (assert, util) { + var node; + + // Not nested + node = new SourceNode(null, null, null, 'hello world'); + node.replaceRight(/world/, 'universe'); + assert.equal(node.toString(), 'hello universe'); + + // Nested + node = new SourceNode(null, null, null, + [new SourceNode(null, null, null, 'hey sexy mama, '), + new SourceNode(null, null, null, 'want to kill all humans?')]); + node.replaceRight(/kill all humans/, 'watch Futurama'); + assert.equal(node.toString(), 'hey sexy mama, want to watch Futurama?'); + }; + + exports['test .toStringWithSourceMap()'] = function (assert, util) { + var node = new SourceNode(null, null, null, + ['(function () {\n', + ' ', + new SourceNode(1, 0, 'a.js', 'someCall', 'originalCall'), + new SourceNode(1, 8, 'a.js', '()'), + ';\n', + ' ', new SourceNode(2, 0, 'b.js', ['if (foo) bar()']), ';\n', + '}());']); + var map = node.toStringWithSourceMap({ + file: 'foo.js' + }).map; + + assert.ok(map instanceof SourceMapGenerator, 'map instanceof SourceMapGenerator'); + map = new SourceMapConsumer(map.toString()); + + var actual; + + actual = map.originalPositionFor({ + line: 1, + column: 4 + }); + assert.equal(actual.source, null); + assert.equal(actual.line, null); + assert.equal(actual.column, null); + + actual = map.originalPositionFor({ + line: 2, + column: 2 + }); + assert.equal(actual.source, 'a.js'); + assert.equal(actual.line, 1); + assert.equal(actual.column, 0); + assert.equal(actual.name, 'originalCall'); + + actual = map.originalPositionFor({ + line: 3, + column: 2 + }); + assert.equal(actual.source, 'b.js'); + assert.equal(actual.line, 2); + assert.equal(actual.column, 0); + + actual = map.originalPositionFor({ + line: 3, + column: 16 + }); + assert.equal(actual.source, null); + assert.equal(actual.line, null); + assert.equal(actual.column, null); + + actual = map.originalPositionFor({ + line: 4, + column: 2 + }); + assert.equal(actual.source, null); + assert.equal(actual.line, null); + assert.equal(actual.column, null); + }; + + exports['test .fromStringWithSourceMap()'] = function (assert, util) { + var node = SourceNode.fromStringWithSourceMap( + util.testGeneratedCode, + new SourceMapConsumer(util.testMap)); + + var result = node.toStringWithSourceMap({ + file: 'min.js' + }); + var map = result.map; + var code = result.code; + + assert.equal(code, util.testGeneratedCode); + assert.ok(map instanceof SourceMapGenerator, 'map instanceof SourceMapGenerator'); + map = map.toJSON(); + assert.equal(map.version, util.testMap.version); + assert.equal(map.file, util.testMap.file); + assert.equal(map.mappings, util.testMap.mappings); + }; + + exports['test .fromStringWithSourceMap() empty map'] = function (assert, util) { + var node = SourceNode.fromStringWithSourceMap( + util.testGeneratedCode, + new SourceMapConsumer(util.emptyMap)); + var result = node.toStringWithSourceMap({ + file: 'min.js' + }); + var map = result.map; + var code = result.code; + + assert.equal(code, util.testGeneratedCode); + assert.ok(map instanceof SourceMapGenerator, 'map instanceof SourceMapGenerator'); + map = map.toJSON(); + assert.equal(map.version, util.emptyMap.version); + assert.equal(map.file, util.emptyMap.file); + assert.equal(map.mappings.length, util.emptyMap.mappings.length); + assert.equal(map.mappings, util.emptyMap.mappings); + }; + + exports['test .fromStringWithSourceMap() complex version'] = function (assert, util) { + var input = new SourceNode(null, null, null, [ + "(function() {\n", + " var Test = {};\n", + " ", new SourceNode(1, 0, "a.js", "Test.A = { value: 1234 };\n"), + " ", new SourceNode(2, 0, "a.js", "Test.A.x = 'xyz';"), "\n", + "}());\n", + "/* Generated Source */"]); + input = input.toStringWithSourceMap({ + file: 'foo.js' + }); + + var node = SourceNode.fromStringWithSourceMap( + input.code, + new SourceMapConsumer(input.map.toString())); + + var result = node.toStringWithSourceMap({ + file: 'foo.js' + }); + var map = result.map; + var code = result.code; + + assert.equal(code, input.code); + assert.ok(map instanceof SourceMapGenerator, 'map instanceof SourceMapGenerator'); + map = map.toJSON(); + var inputMap = input.map.toJSON(); + util.assertEqualMaps(assert, map, inputMap); + }; + + exports['test .fromStringWithSourceMap() merging duplicate mappings'] = function (assert, util) { + var input = new SourceNode(null, null, null, [ + new SourceNode(1, 0, "a.js", "(function"), + new SourceNode(1, 0, "a.js", "() {\n"), + " ", + new SourceNode(1, 0, "a.js", "var Test = "), + new SourceNode(1, 0, "b.js", "{};\n"), + new SourceNode(2, 0, "b.js", "Test"), + new SourceNode(2, 0, "b.js", ".A", "A"), + new SourceNode(2, 20, "b.js", " = { value: 1234 };\n", "A"), + "}());\n", + "/* Generated Source */" + ]); + input = input.toStringWithSourceMap({ + file: 'foo.js' + }); + + var correctMap = new SourceMapGenerator({ + file: 'foo.js' + }); + correctMap.addMapping({ + generated: { line: 1, column: 0 }, + source: 'a.js', + original: { line: 1, column: 0 } + }); + correctMap.addMapping({ + generated: { line: 2, column: 0 } + }); + correctMap.addMapping({ + generated: { line: 2, column: 2 }, + source: 'a.js', + original: { line: 1, column: 0 } + }); + correctMap.addMapping({ + generated: { line: 2, column: 13 }, + source: 'b.js', + original: { line: 1, column: 0 } + }); + correctMap.addMapping({ + generated: { line: 3, column: 0 }, + source: 'b.js', + original: { line: 2, column: 0 } + }); + correctMap.addMapping({ + generated: { line: 3, column: 4 }, + source: 'b.js', + name: 'A', + original: { line: 2, column: 0 } + }); + correctMap.addMapping({ + generated: { line: 3, column: 6 }, + source: 'b.js', + name: 'A', + original: { line: 2, column: 20 } + }); + correctMap.addMapping({ + generated: { line: 4, column: 0 } + }); + + var inputMap = input.map.toJSON(); + correctMap = correctMap.toJSON(); + util.assertEqualMaps(assert, correctMap, inputMap); + }; + + exports['test setSourceContent with toStringWithSourceMap'] = function (assert, util) { + var aNode = new SourceNode(1, 1, 'a.js', 'a'); + aNode.setSourceContent('a.js', 'someContent'); + var node = new SourceNode(null, null, null, + ['(function () {\n', + ' ', aNode, + ' ', new SourceNode(1, 1, 'b.js', 'b'), + '}());']); + node.setSourceContent('b.js', 'otherContent'); + var map = node.toStringWithSourceMap({ + file: 'foo.js' + }).map; + + assert.ok(map instanceof SourceMapGenerator, 'map instanceof SourceMapGenerator'); + map = new SourceMapConsumer(map.toString()); + + assert.equal(map.sources.length, 2); + assert.equal(map.sources[0], 'a.js'); + assert.equal(map.sources[1], 'b.js'); + assert.equal(map.sourcesContent.length, 2); + assert.equal(map.sourcesContent[0], 'someContent'); + assert.equal(map.sourcesContent[1], 'otherContent'); + }; + + exports['test walkSourceContents'] = function (assert, util) { + var aNode = new SourceNode(1, 1, 'a.js', 'a'); + aNode.setSourceContent('a.js', 'someContent'); + var node = new SourceNode(null, null, null, + ['(function () {\n', + ' ', aNode, + ' ', new SourceNode(1, 1, 'b.js', 'b'), + '}());']); + node.setSourceContent('b.js', 'otherContent'); + var results = []; + node.walkSourceContents(function (sourceFile, sourceContent) { + results.push([sourceFile, sourceContent]); + }); + assert.equal(results.length, 2); + assert.equal(results[0][0], 'a.js'); + assert.equal(results[0][1], 'someContent'); + assert.equal(results[1][0], 'b.js'); + assert.equal(results[1][1], 'otherContent'); + }; +}); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/util.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/util.js new file mode 100644 index 0000000..288046b --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/util.js @@ -0,0 +1,161 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module, require); +} +define(function (require, exports, module) { + + var util = require('../../lib/source-map/util'); + + // This is a test mapping which maps functions from two different files + // (one.js and two.js) to a minified generated source. + // + // Here is one.js: + // + // ONE.foo = function (bar) { + // return baz(bar); + // }; + // + // Here is two.js: + // + // TWO.inc = function (n) { + // return n + 1; + // }; + // + // And here is the generated code (min.js): + // + // ONE.foo=function(a){return baz(a);}; + // TWO.inc=function(a){return a+1;}; + exports.testGeneratedCode = " ONE.foo=function(a){return baz(a);};\n"+ + " TWO.inc=function(a){return a+1;};"; + exports.testMap = { + version: 3, + file: 'min.js', + names: ['bar', 'baz', 'n'], + sources: ['one.js', 'two.js'], + sourceRoot: '/the/root', + mappings: 'CAAC,IAAI,IAAM,SAAUA,GAClB,OAAOC,IAAID;CCDb,IAAI,IAAM,SAAUE,GAClB,OAAOA' + }; + exports.testMapWithSourcesContent = { + version: 3, + file: 'min.js', + names: ['bar', 'baz', 'n'], + sources: ['one.js', 'two.js'], + sourcesContent: [ + ' ONE.foo = function (bar) {\n' + + ' return baz(bar);\n' + + ' };', + ' TWO.inc = function (n) {\n' + + ' return n + 1;\n' + + ' };' + ], + sourceRoot: '/the/root', + mappings: 'CAAC,IAAI,IAAM,SAAUA,GAClB,OAAOC,IAAID;CCDb,IAAI,IAAM,SAAUE,GAClB,OAAOA' + }; + exports.emptyMap = { + version: 3, + file: 'min.js', + names: [], + sources: [], + mappings: '' + }; + + + function assertMapping(generatedLine, generatedColumn, originalSource, + originalLine, originalColumn, name, map, assert, + dontTestGenerated, dontTestOriginal) { + if (!dontTestOriginal) { + var origMapping = map.originalPositionFor({ + line: generatedLine, + column: generatedColumn + }); + assert.equal(origMapping.name, name, + 'Incorrect name, expected ' + JSON.stringify(name) + + ', got ' + JSON.stringify(origMapping.name)); + assert.equal(origMapping.line, originalLine, + 'Incorrect line, expected ' + JSON.stringify(originalLine) + + ', got ' + JSON.stringify(origMapping.line)); + assert.equal(origMapping.column, originalColumn, + 'Incorrect column, expected ' + JSON.stringify(originalColumn) + + ', got ' + JSON.stringify(origMapping.column)); + + var expectedSource; + + if (originalSource && map.sourceRoot && originalSource.indexOf(map.sourceRoot) === 0) { + expectedSource = originalSource; + } else if (originalSource) { + expectedSource = map.sourceRoot + ? util.join(map.sourceRoot, originalSource) + : originalSource; + } else { + expectedSource = null; + } + + assert.equal(origMapping.source, expectedSource, + 'Incorrect source, expected ' + JSON.stringify(expectedSource) + + ', got ' + JSON.stringify(origMapping.source)); + } + + if (!dontTestGenerated) { + var genMapping = map.generatedPositionFor({ + source: originalSource, + line: originalLine, + column: originalColumn + }); + assert.equal(genMapping.line, generatedLine, + 'Incorrect line, expected ' + JSON.stringify(generatedLine) + + ', got ' + JSON.stringify(genMapping.line)); + assert.equal(genMapping.column, generatedColumn, + 'Incorrect column, expected ' + JSON.stringify(generatedColumn) + + ', got ' + JSON.stringify(genMapping.column)); + } + } + exports.assertMapping = assertMapping; + + function assertEqualMaps(assert, actualMap, expectedMap) { + assert.equal(actualMap.version, expectedMap.version, "version mismatch"); + assert.equal(actualMap.file, expectedMap.file, "file mismatch"); + assert.equal(actualMap.names.length, + expectedMap.names.length, + "names length mismatch: " + + actualMap.names.join(", ") + " != " + expectedMap.names.join(", ")); + for (var i = 0; i < actualMap.names.length; i++) { + assert.equal(actualMap.names[i], + expectedMap.names[i], + "names[" + i + "] mismatch: " + + actualMap.names.join(", ") + " != " + expectedMap.names.join(", ")); + } + assert.equal(actualMap.sources.length, + expectedMap.sources.length, + "sources length mismatch: " + + actualMap.sources.join(", ") + " != " + expectedMap.sources.join(", ")); + for (var i = 0; i < actualMap.sources.length; i++) { + assert.equal(actualMap.sources[i], + expectedMap.sources[i], + "sources[" + i + "] length mismatch: " + + actualMap.sources.join(", ") + " != " + expectedMap.sources.join(", ")); + } + assert.equal(actualMap.sourceRoot, + expectedMap.sourceRoot, + "sourceRoot mismatch: " + + actualMap.sourceRoot + " != " + expectedMap.sourceRoot); + assert.equal(actualMap.mappings, expectedMap.mappings, + "mappings mismatch:\nActual: " + actualMap.mappings + "\nExpected: " + expectedMap.mappings); + if (actualMap.sourcesContent) { + assert.equal(actualMap.sourcesContent.length, + expectedMap.sourcesContent.length, + "sourcesContent length mismatch"); + for (var i = 0; i < actualMap.sourcesContent.length; i++) { + assert.equal(actualMap.sourcesContent[i], + expectedMap.sourcesContent[i], + "sourcesContent[" + i + "] mismatch"); + } + } + } + exports.assertEqualMaps = assertEqualMaps; + +}); diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/package.json b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/package.json new file mode 100644 index 0000000..4037228 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/package.json @@ -0,0 +1,39 @@ +{ + "name": "uglify-js", + "description": "JavaScript parser, mangler/compressor and beautifier toolkit", + "homepage": "http://lisperator.net/uglifyjs", + "main": "tools/node.js", + "version": "2.3.6", + "engines": { + "node": ">=0.4.0" + }, + "maintainers": [ + { + "name": "Mihai Bazon", + "email": "mihai.bazon@gmail.com", + "url": "http://lisperator.net/" + } + ], + "repository": { + "type": "git", + "url": "https://github.com/mishoo/UglifyJS2.git" + }, + "dependencies": { + "async": "~0.2.6", + "source-map": "~0.1.7", + "optimist": "~0.3.5" + }, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "scripts": { + "test": "node test/run-tests.js" + }, + "readme": "UglifyJS 2\n==========\n[![Build Status](https://travis-ci.org/mishoo/UglifyJS2.png)](https://travis-ci.org/mishoo/UglifyJS2)\n\nUglifyJS is a JavaScript parser, minifier, compressor or beautifier toolkit.\n\nThis page documents the command line utility. For\n[API and internals documentation see my website](http://lisperator.net/uglifyjs/).\nThere's also an\n[in-browser online demo](http://lisperator.net/uglifyjs/#demo) (for Firefox,\nChrome and probably Safari).\n\nInstall\n-------\n\nFirst make sure you have installed the latest version of [node.js](http://nodejs.org/)\n(You may need to restart your computer after this step).\n\nFrom NPM for use as a command line app:\n\n npm install uglify-js -g\n\nFrom NPM for programmatic use:\n\n npm install uglify-js\n\nFrom Git:\n\n git clone git://github.com/mishoo/UglifyJS2.git\n cd UglifyJS2\n npm link .\n\nUsage\n-----\n\n uglifyjs [input files] [options]\n\nUglifyJS2 can take multiple input files. It's recommended that you pass the\ninput files first, then pass the options. UglifyJS will parse input files\nin sequence and apply any compression options. The files are parsed in the\nsame global scope, that is, a reference from a file to some\nvariable/function declared in another file will be matched properly.\n\nIf you want to read from STDIN instead, pass a single dash instead of input\nfiles.\n\nThe available options are:\n\n --source-map Specify an output file where to generate source map.\n [string]\n --source-map-root The path to the original source to be included in the\n source map. [string]\n --source-map-url The path to the source map to be added in //@\n sourceMappingURL. Defaults to the value passed with\n --source-map. [string]\n --in-source-map Input source map, useful if you're compressing JS that was\n generated from some other original code.\n --screw-ie8 Pass this flag if you don't care about full compliance with\n Internet Explorer 6-8 quirks (by default UglifyJS will try\n to be IE-proof).\n -p, --prefix Skip prefix for original filenames that appear in source\n maps. For example -p 3 will drop 3 directories from file\n names and ensure they are relative paths.\n -o, --output Output file (default STDOUT).\n -b, --beautify Beautify output/specify output options. [string]\n -m, --mangle Mangle names/pass mangler options. [string]\n -r, --reserved Reserved names to exclude from mangling.\n -c, --compress Enable compressor/pass compressor options. Pass options\n like -c hoist_vars=false,if_return=false. Use -c with no\n argument to use the default compression options. [string]\n -d, --define Global definitions [string]\n --comments Preserve copyright comments in the output. By default this\n works like Google Closure, keeping JSDoc-style comments\n that contain \"@license\" or \"@preserve\". You can optionally\n pass one of the following arguments to this flag:\n - \"all\" to keep all comments\n - a valid JS regexp (needs to start with a slash) to keep\n only comments that match.\n Note that currently not *all* comments can be kept when\n compression is on, because of dead code removal or\n cascading statements into sequences. [string]\n --stats Display operations run time on STDERR. [boolean]\n --acorn Use Acorn for parsing. [boolean]\n --spidermonkey Assume input files are SpiderMonkey AST format (as JSON).\n [boolean]\n --self Build itself (UglifyJS2) as a library (implies\n --wrap=UglifyJS --export-all) [boolean]\n --wrap Embed everything in a big function, making the “exports”\n and “global” variables available. You need to pass an\n argument to this option to specify the name that your\n module will take when included in, say, a browser.\n [string]\n --export-all Only used when --wrap, this tells UglifyJS to add code to\n automatically export all globals. [boolean]\n --lint Display some scope warnings [boolean]\n -v, --verbose Verbose [boolean]\n -V, --version Print version number and exit. [boolean]\n\nSpecify `--output` (`-o`) to declare the output file. Otherwise the output\ngoes to STDOUT.\n\n## Source map options\n\nUglifyJS2 can generate a source map file, which is highly useful for\ndebugging your compressed JavaScript. To get a source map, pass\n`--source-map output.js.map` (full path to the file where you want the\nsource map dumped).\n\nAdditionally you might need `--source-map-root` to pass the URL where the\noriginal files can be found. In case you are passing full paths to input\nfiles to UglifyJS, you can use `--prefix` (`-p`) to specify the number of\ndirectories to drop from the path prefix when declaring files in the source\nmap.\n\nFor example:\n\n uglifyjs /home/doe/work/foo/src/js/file1.js \\\n /home/doe/work/foo/src/js/file2.js \\\n -o foo.min.js \\\n --source-map foo.min.js.map \\\n --source-map-root http://foo.com/src \\\n -p 5 -c -m\n\nThe above will compress and mangle `file1.js` and `file2.js`, will drop the\noutput in `foo.min.js` and the source map in `foo.min.js.map`. The source\nmapping will refer to `http://foo.com/src/js/file1.js` and\n`http://foo.com/src/js/file2.js` (in fact it will list `http://foo.com/src`\nas the source map root, and the original files as `js/file1.js` and\n`js/file2.js`).\n\n### Composed source map\n\nWhen you're compressing JS code that was output by a compiler such as\nCoffeeScript, mapping to the JS code won't be too helpful. Instead, you'd\nlike to map back to the original code (i.e. CoffeeScript). UglifyJS has an\noption to take an input source map. Assuming you have a mapping from\nCoffeeScript → compiled JS, UglifyJS can generate a map from CoffeeScript →\ncompressed JS by mapping every token in the compiled JS to its original\nlocation.\n\nTo use this feature you need to pass `--in-source-map\n/path/to/input/source.map`. Normally the input source map should also point\nto the file containing the generated JS, so if that's correct you can omit\ninput files from the command line.\n\n## Mangler options\n\nTo enable the mangler you need to pass `--mangle` (`-m`). The following\n(comma-separated) options are supported:\n\n- `sort` — to assign shorter names to most frequently used variables. This\n saves a few hundred bytes on jQuery before gzip, but the output is\n _bigger_ after gzip (and seems to happen for other libraries I tried it\n on) therefore it's not enabled by default.\n\n- `toplevel` — mangle names declared in the toplevel scope (disabled by\n default).\n\n- `eval` — mangle names visible in scopes where `eval` or `when` are used\n (disabled by default).\n\nWhen mangling is enabled but you want to prevent certain names from being\nmangled, you can declare those names with `--reserved` (`-r`) — pass a\ncomma-separated list of names. For example:\n\n uglifyjs ... -m -r '$,require,exports'\n\nto prevent the `require`, `exports` and `$` names from being changed.\n\n## Compressor options\n\nYou need to pass `--compress` (`-c`) to enable the compressor. Optionally\nyou can pass a comma-separated list of options. Options are in the form\n`foo=bar`, or just `foo` (the latter implies a boolean option that you want\nto set `true`; it's effectively a shortcut for `foo=true`).\n\n- `sequences` -- join consecutive simple statements using the comma operator\n- `properties` -- rewrite property access using the dot notation, for\n example `foo[\"bar\"] → foo.bar`\n- `dead_code` -- remove unreachable code\n- `drop_debugger` -- remove `debugger;` statements\n- `unsafe` (default: false) -- apply \"unsafe\" transformations (discussion below)\n- `conditionals` -- apply optimizations for `if`-s and conditional\n expressions\n- `comparisons` -- apply certain optimizations to binary nodes, for example:\n `!(a <= b) → a > b` (only when `unsafe`), attempts to negate binary nodes,\n e.g. `a = !b && !c && !d && !e → a=!(b||c||d||e)` etc.\n- `evaluate` -- attempt to evaluate constant expressions\n- `booleans` -- various optimizations for boolean context, for example `!!a\n ? b : c → a ? b : c`\n- `loops` -- optimizations for `do`, `while` and `for` loops when we can\n statically determine the condition\n- `unused` -- drop unreferenced functions and variables\n- `hoist_funs` -- hoist function declarations\n- `hoist_vars` (default: false) -- hoist `var` declarations (this is `false`\n by default because it seems to increase the size of the output in general)\n- `if_return` -- optimizations for if/return and if/continue\n- `join_vars` -- join consecutive `var` statements\n- `cascade` -- small optimization for sequences, transform `x, x` into `x`\n and `x = something(), x` into `x = something()`\n- `warnings` -- display warnings when dropping unreachable code or unused\n declarations etc.\n\n### The `unsafe` option\n\nIt enables some transformations that *might* break code logic in certain\ncontrived cases, but should be fine for most code. You might want to try it\non your own code, it should reduce the minified size. Here's what happens\nwhen this flag is on:\n\n- `new Array(1, 2, 3)` or `Array(1, 2, 3)` → `[1, 2, 3 ]`\n- `new Object()` → `{}`\n- `String(exp)` or `exp.toString()` → `\"\" + exp`\n- `new Object/RegExp/Function/Error/Array (...)` → we discard the `new`\n- `typeof foo == \"undefined\"` → `foo === void 0`\n- `void 0` → `\"undefined\"` (if there is a variable named \"undefined\" in\n scope; we do it because the variable name will be mangled, typically\n reduced to a single character).\n\n### Conditional compilation\n\nYou can use the `--define` (`-d`) switch in order to declare global\nvariables that UglifyJS will assume to be constants (unless defined in\nscope). For example if you pass `--define DEBUG=false` then, coupled with\ndead code removal UglifyJS will discard the following from the output:\n```javascript\nif (DEBUG) {\n\tconsole.log(\"debug stuff\");\n}\n```\n\nUglifyJS will warn about the condition being always false and about dropping\nunreachable code; for now there is no option to turn off only this specific\nwarning, you can pass `warnings=false` to turn off *all* warnings.\n\nAnother way of doing that is to declare your globals as constants in a\nseparate file and include it into the build. For example you can have a\n`build/defines.js` file with the following:\n```javascript\nconst DEBUG = false;\nconst PRODUCTION = true;\n// etc.\n```\n\nand build your code like this:\n\n uglifyjs build/defines.js js/foo.js js/bar.js... -c\n\nUglifyJS will notice the constants and, since they cannot be altered, it\nwill evaluate references to them to the value itself and drop unreachable\ncode as usual. The possible downside of this approach is that the build\nwill contain the `const` declarations.\n\n\n## Beautifier options\n\nThe code generator tries to output shortest code possible by default. In\ncase you want beautified output, pass `--beautify` (`-b`). Optionally you\ncan pass additional arguments that control the code output:\n\n- `beautify` (default `true`) -- whether to actually beautify the output.\n Passing `-b` will set this to true, but you might need to pass `-b` even\n when you want to generate minified code, in order to specify additional\n arguments, so you can use `-b beautify=false` to override it.\n- `indent-level` (default 4)\n- `indent-start` (default 0) -- prefix all lines by that many spaces\n- `quote-keys` (default `false`) -- pass `true` to quote all keys in literal\n objects\n- `space-colon` (default `true`) -- insert a space after the colon signs\n- `ascii-only` (default `false`) -- escape Unicode characters in strings and\n regexps\n- `inline-script` (default `false`) -- escape the slash in occurrences of\n `= (x = f(…)) + * + * For example, let the equation be: + * (a = parseInt('100')) <= a + * + * If a was an integer and has the value of 99, + * (a = parseInt('100')) <= a → 100 <= 100 → true + * + * When transformed incorrectly: + * a >= (a = parseInt('100')) → 99 >= 100 → false + */ + +tranformation_sort_order_equal: { + options = { + comparisons: true, + }; + + input: { (a = parseInt('100')) == a } + expect: { (a = parseInt('100')) == a } +} + +tranformation_sort_order_unequal: { + options = { + comparisons: true, + }; + + input: { (a = parseInt('100')) != a } + expect: { (a = parseInt('100')) != a } +} + +tranformation_sort_order_lesser_or_equal: { + options = { + comparisons: true, + }; + + input: { (a = parseInt('100')) <= a } + expect: { (a = parseInt('100')) <= a } +} +tranformation_sort_order_greater_or_equal: { + options = { + comparisons: true, + }; + + input: { (a = parseInt('100')) >= a } + expect: { (a = parseInt('100')) >= a } +} \ No newline at end of file diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/issue-22.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/issue-22.js new file mode 100644 index 0000000..a8b7bc6 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/issue-22.js @@ -0,0 +1,17 @@ +return_with_no_value_in_if_body: { + options = { conditionals: true }; + input: { + function foo(bar) { + if (bar) { + return; + } else { + return 1; + } + } + } + expect: { + function foo (bar) { + return bar ? void 0 : 1; + } + } +} diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/issue-44.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/issue-44.js new file mode 100644 index 0000000..7a972f9 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/issue-44.js @@ -0,0 +1,31 @@ +issue_44_valid_ast_1: { + options = { unused: true }; + input: { + function a(b) { + for (var i = 0, e = b.qoo(); ; i++) {} + } + } + expect: { + function a(b) { + var i = 0; + for (b.qoo(); ; i++); + } + } +} + +issue_44_valid_ast_2: { + options = { unused: true }; + input: { + function a(b) { + if (foo) for (var i = 0, e = b.qoo(); ; i++) {} + } + } + expect: { + function a(b) { + if (foo) { + var i = 0; + for (b.qoo(); ; i++); + } + } + } +} diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/issue-59.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/issue-59.js new file mode 100644 index 0000000..82b3880 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/issue-59.js @@ -0,0 +1,30 @@ +keep_continue: { + options = { + dead_code: true, + evaluate: true + }; + input: { + while (a) { + if (b) { + switch (true) { + case c(): + d(); + } + continue; + } + f(); + } + } + expect: { + while (a) { + if (b) { + switch (true) { + case c(): + d(); + } + continue; + } + f(); + } + } +} diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/labels.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/labels.js new file mode 100644 index 0000000..044b7a7 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/labels.js @@ -0,0 +1,163 @@ +labels_1: { + options = { if_return: true, conditionals: true, dead_code: true }; + input: { + out: { + if (foo) break out; + console.log("bar"); + } + }; + expect: { + foo || console.log("bar"); + } +} + +labels_2: { + options = { if_return: true, conditionals: true, dead_code: true }; + input: { + out: { + if (foo) print("stuff"); + else break out; + console.log("here"); + } + }; + expect: { + if (foo) { + print("stuff"); + console.log("here"); + } + } +} + +labels_3: { + options = { if_return: true, conditionals: true, dead_code: true }; + input: { + for (var i = 0; i < 5; ++i) { + if (i < 3) continue; + console.log(i); + } + }; + expect: { + for (var i = 0; i < 5; ++i) + i < 3 || console.log(i); + } +} + +labels_4: { + options = { if_return: true, conditionals: true, dead_code: true }; + input: { + out: for (var i = 0; i < 5; ++i) { + if (i < 3) continue out; + console.log(i); + } + }; + expect: { + for (var i = 0; i < 5; ++i) + i < 3 || console.log(i); + } +} + +labels_5: { + options = { if_return: true, conditionals: true, dead_code: true }; + // should keep the break-s in the following + input: { + while (foo) { + if (bar) break; + console.log("foo"); + } + out: while (foo) { + if (bar) break out; + console.log("foo"); + } + }; + expect: { + while (foo) { + if (bar) break; + console.log("foo"); + } + out: while (foo) { + if (bar) break out; + console.log("foo"); + } + } +} + +labels_6: { + input: { + out: break out; + }; + expect: {} +} + +labels_7: { + options = { if_return: true, conditionals: true, dead_code: true }; + input: { + while (foo) { + x(); + y(); + continue; + } + }; + expect: { + while (foo) { + x(); + y(); + } + } +} + +labels_8: { + options = { if_return: true, conditionals: true, dead_code: true }; + input: { + while (foo) { + x(); + y(); + break; + } + }; + expect: { + while (foo) { + x(); + y(); + break; + } + } +} + +labels_9: { + options = { if_return: true, conditionals: true, dead_code: true }; + input: { + out: while (foo) { + x(); + y(); + continue out; + z(); + k(); + } + }; + expect: { + while (foo) { + x(); + y(); + } + } +} + +labels_10: { + options = { if_return: true, conditionals: true, dead_code: true }; + input: { + out: while (foo) { + x(); + y(); + break out; + z(); + k(); + } + }; + expect: { + out: while (foo) { + x(); + y(); + break out; + } + } +} diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/loops.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/loops.js new file mode 100644 index 0000000..cdf1f04 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/loops.js @@ -0,0 +1,123 @@ +while_becomes_for: { + options = { loops: true }; + input: { + while (foo()) bar(); + } + expect: { + for (; foo(); ) bar(); + } +} + +drop_if_break_1: { + options = { loops: true }; + input: { + for (;;) + if (foo()) break; + } + expect: { + for (; !foo();); + } +} + +drop_if_break_2: { + options = { loops: true }; + input: { + for (;bar();) + if (foo()) break; + } + expect: { + for (; bar() && !foo();); + } +} + +drop_if_break_3: { + options = { loops: true }; + input: { + for (;bar();) { + if (foo()) break; + stuff1(); + stuff2(); + } + } + expect: { + for (; bar() && !foo();) { + stuff1(); + stuff2(); + } + } +} + +drop_if_break_4: { + options = { loops: true, sequences: true }; + input: { + for (;bar();) { + x(); + y(); + if (foo()) break; + z(); + k(); + } + } + expect: { + for (; bar() && (x(), y(), !foo());) z(), k(); + } +} + +drop_if_else_break_1: { + options = { loops: true }; + input: { + for (;;) if (foo()) bar(); else break; + } + expect: { + for (; foo(); ) bar(); + } +} + +drop_if_else_break_2: { + options = { loops: true }; + input: { + for (;bar();) { + if (foo()) baz(); + else break; + } + } + expect: { + for (; bar() && foo();) baz(); + } +} + +drop_if_else_break_3: { + options = { loops: true }; + input: { + for (;bar();) { + if (foo()) baz(); + else break; + stuff1(); + stuff2(); + } + } + expect: { + for (; bar() && foo();) { + baz(); + stuff1(); + stuff2(); + } + } +} + +drop_if_else_break_4: { + options = { loops: true, sequences: true }; + input: { + for (;bar();) { + x(); + y(); + if (foo()) baz(); + else break; + z(); + k(); + } + } + expect: { + for (; bar() && (x(), y(), foo());) baz(), z(), k(); + } +} diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/properties.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/properties.js new file mode 100644 index 0000000..8504596 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/properties.js @@ -0,0 +1,54 @@ +keep_properties: { + options = { + properties: false + }; + input: { + a["foo"] = "bar"; + } + expect: { + a["foo"] = "bar"; + } +} + +dot_properties: { + options = { + properties: true + }; + input: { + a["foo"] = "bar"; + a["if"] = "if"; + a["*"] = "asterisk"; + a["\u0EB3"] = "unicode"; + a[""] = "whitespace"; + a["1_1"] = "foo"; + } + expect: { + a.foo = "bar"; + a["if"] = "if"; + a["*"] = "asterisk"; + a.\u0EB3 = "unicode"; + a[""] = "whitespace"; + a["1_1"] = "foo"; + } +} + +dot_properties_es5: { + options = { + properties: true, + screw_ie8: true + }; + input: { + a["foo"] = "bar"; + a["if"] = "if"; + a["*"] = "asterisk"; + a["\u0EB3"] = "unicode"; + a[""] = "whitespace"; + } + expect: { + a.foo = "bar"; + a.if = "if"; + a["*"] = "asterisk"; + a.\u0EB3 = "unicode"; + a[""] = "whitespace"; + } +} diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/sequences.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/sequences.js new file mode 100644 index 0000000..6f63ace --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/sequences.js @@ -0,0 +1,161 @@ +make_sequences_1: { + options = { + sequences: true + }; + input: { + foo(); + bar(); + baz(); + } + expect: { + foo(),bar(),baz(); + } +} + +make_sequences_2: { + options = { + sequences: true + }; + input: { + if (boo) { + foo(); + bar(); + baz(); + } else { + x(); + y(); + z(); + } + } + expect: { + if (boo) foo(),bar(),baz(); + else x(),y(),z(); + } +} + +make_sequences_3: { + options = { + sequences: true + }; + input: { + function f() { + foo(); + bar(); + return baz(); + } + function g() { + foo(); + bar(); + throw new Error(); + } + } + expect: { + function f() { + return foo(), bar(), baz(); + } + function g() { + throw foo(), bar(), new Error(); + } + } +} + +make_sequences_4: { + options = { + sequences: true + }; + input: { + x = 5; + if (y) z(); + + x = 5; + for (i = 0; i < 5; i++) console.log(i); + + x = 5; + for (; i < 5; i++) console.log(i); + + x = 5; + switch (y) {} + + x = 5; + with (obj) {} + } + expect: { + if (x = 5, y) z(); + for (x = 5, i = 0; i < 5; i++) console.log(i); + for (x = 5; i < 5; i++) console.log(i); + switch (x = 5, y) {} + with (x = 5, obj); + } +} + +lift_sequences_1: { + options = { sequences: true }; + input: { + foo = !(x(), y(), bar()); + } + expect: { + x(), y(), foo = !bar(); + } +} + +lift_sequences_2: { + options = { sequences: true, evaluate: true }; + input: { + q = 1 + (foo(), bar(), 5) + 7 * (5 / (3 - (a(), (QW=ER), c(), 2))) - (x(), y(), 5); + } + expect: { + foo(), bar(), a(), QW = ER, c(), x(), y(), q = 36 + } +} + +lift_sequences_3: { + options = { sequences: true, conditionals: true }; + input: { + x = (foo(), bar(), baz()) ? 10 : 20; + } + expect: { + foo(), bar(), x = baz() ? 10 : 20; + } +} + +lift_sequences_4: { + options = { side_effects: true }; + input: { + x = (foo, bar, baz); + } + expect: { + x = baz; + } +} + +for_sequences: { + options = { sequences: true }; + input: { + // 1 + foo(); + bar(); + for (; false;); + // 2 + foo(); + bar(); + for (x = 5; false;); + // 3 + x = (foo in bar); + for (; false;); + // 4 + x = (foo in bar); + for (y = 5; false;); + } + expect: { + // 1 + for (foo(), bar(); false;); + // 2 + for (foo(), bar(), x = 5; false;); + // 3 + x = (foo in bar); + for (; false;); + // 4 + x = (foo in bar); + for (y = 5; false;); + } +} diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/switch.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/switch.js new file mode 100644 index 0000000..62e39cf --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/switch.js @@ -0,0 +1,260 @@ +constant_switch_1: { + options = { dead_code: true, evaluate: true }; + input: { + switch (1+1) { + case 1: foo(); break; + case 1+1: bar(); break; + case 1+1+1: baz(); break; + } + } + expect: { + bar(); + } +} + +constant_switch_2: { + options = { dead_code: true, evaluate: true }; + input: { + switch (1) { + case 1: foo(); + case 1+1: bar(); break; + case 1+1+1: baz(); + } + } + expect: { + foo(); + bar(); + } +} + +constant_switch_3: { + options = { dead_code: true, evaluate: true }; + input: { + switch (10) { + case 1: foo(); + case 1+1: bar(); break; + case 1+1+1: baz(); + default: + def(); + } + } + expect: { + def(); + } +} + +constant_switch_4: { + options = { dead_code: true, evaluate: true }; + input: { + switch (2) { + case 1: + x(); + if (foo) break; + y(); + break; + case 1+1: + bar(); + default: + def(); + } + } + expect: { + bar(); + def(); + } +} + +constant_switch_5: { + options = { dead_code: true, evaluate: true }; + input: { + switch (1) { + case 1: + x(); + if (foo) break; + y(); + break; + case 1+1: + bar(); + default: + def(); + } + } + expect: { + // the break inside the if ruins our job + // we can still get rid of irrelevant cases. + switch (1) { + case 1: + x(); + if (foo) break; + y(); + } + // XXX: we could optimize this better by inventing an outer + // labeled block, but that's kinda tricky. + } +} + +constant_switch_6: { + options = { dead_code: true, evaluate: true }; + input: { + OUT: { + foo(); + switch (1) { + case 1: + x(); + if (foo) break OUT; + y(); + case 1+1: + bar(); + break; + default: + def(); + } + } + } + expect: { + OUT: { + foo(); + x(); + if (foo) break OUT; + y(); + bar(); + } + } +} + +constant_switch_7: { + options = { dead_code: true, evaluate: true }; + input: { + OUT: { + foo(); + switch (1) { + case 1: + x(); + if (foo) break OUT; + for (var x = 0; x < 10; x++) { + if (x > 5) break; // this break refers to the for, not to the switch; thus it + // shouldn't ruin our optimization + console.log(x); + } + y(); + case 1+1: + bar(); + break; + default: + def(); + } + } + } + expect: { + OUT: { + foo(); + x(); + if (foo) break OUT; + for (var x = 0; x < 10; x++) { + if (x > 5) break; + console.log(x); + } + y(); + bar(); + } + } +} + +constant_switch_8: { + options = { dead_code: true, evaluate: true }; + input: { + OUT: switch (1) { + case 1: + x(); + for (;;) break OUT; + y(); + break; + case 1+1: + bar(); + default: + def(); + } + } + expect: { + OUT: { + x(); + for (;;) break OUT; + y(); + } + } +} + +constant_switch_9: { + options = { dead_code: true, evaluate: true }; + input: { + OUT: switch (1) { + case 1: + x(); + for (;;) if (foo) break OUT; + y(); + case 1+1: + bar(); + default: + def(); + } + } + expect: { + OUT: { + x(); + for (;;) if (foo) break OUT; + y(); + bar(); + def(); + } + } +} + +drop_default_1: { + options = { dead_code: true }; + input: { + switch (foo) { + case 'bar': baz(); + default: + } + } + expect: { + switch (foo) { + case 'bar': baz(); + } + } +} + +drop_default_2: { + options = { dead_code: true }; + input: { + switch (foo) { + case 'bar': baz(); break; + default: + break; + } + } + expect: { + switch (foo) { + case 'bar': baz(); + } + } +} + +keep_default: { + options = { dead_code: true }; + input: { + switch (foo) { + case 'bar': baz(); + default: + something(); + break; + } + } + expect: { + switch (foo) { + case 'bar': baz(); + default: + something(); + } + } +} diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/typeof.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/typeof.js new file mode 100644 index 0000000..cefdd43 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/compress/typeof.js @@ -0,0 +1,25 @@ +typeof_evaluation: { + options = { + evaluate: true + }; + input: { + a = typeof 1; + b = typeof 'test'; + c = typeof []; + d = typeof {}; + e = typeof /./; + f = typeof false; + g = typeof function(){}; + h = typeof undefined; + } + expect: { + a='number'; + b='string'; + c=typeof[]; + d=typeof{}; + e=typeof/./; + f='boolean'; + g='function'; + h='undefined'; + } +} diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/run-tests.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/run-tests.js new file mode 100755 index 0000000..0568c6a --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/test/run-tests.js @@ -0,0 +1,170 @@ +#! /usr/bin/env node + +var U = require("../tools/node"); +var path = require("path"); +var fs = require("fs"); +var assert = require("assert"); +var sys = require("util"); + +var tests_dir = path.dirname(module.filename); + +run_compress_tests(); + +/* -----[ utils ]----- */ + +function tmpl() { + return U.string_template.apply(this, arguments); +} + +function log() { + var txt = tmpl.apply(this, arguments); + sys.puts(txt); +} + +function log_directory(dir) { + log("*** Entering [{dir}]", { dir: dir }); +} + +function log_start_file(file) { + log("--- {file}", { file: file }); +} + +function log_test(name) { + log(" Running test [{name}]", { name: name }); +} + +function find_test_files(dir) { + var files = fs.readdirSync(dir).filter(function(name){ + return /\.js$/i.test(name); + }); + if (process.argv.length > 2) { + var x = process.argv.slice(2); + files = files.filter(function(f){ + return x.indexOf(f) >= 0; + }); + } + return files; +} + +function test_directory(dir) { + return path.resolve(tests_dir, dir); +} + +function as_toplevel(input) { + if (input instanceof U.AST_BlockStatement) input = input.body; + else if (input instanceof U.AST_Statement) input = [ input ]; + else throw new Error("Unsupported input syntax"); + var toplevel = new U.AST_Toplevel({ body: input }); + toplevel.figure_out_scope(); + return toplevel; +} + +function run_compress_tests() { + var dir = test_directory("compress"); + log_directory("compress"); + var files = find_test_files(dir); + function test_file(file) { + log_start_file(file); + function test_case(test) { + log_test(test.name); + var options = U.defaults(test.options, { + warnings: false + }); + var cmp = new U.Compressor(options, true); + var expect = make_code(as_toplevel(test.expect), false); + var input = as_toplevel(test.input); + var input_code = make_code(test.input); + var output = input.transform(cmp); + output.figure_out_scope(); + output = make_code(output, false); + if (expect != output) { + log("!!! failed\n---INPUT---\n{input}\n---OUTPUT---\n{output}\n---EXPECTED---\n{expected}\n\n", { + input: input_code, + output: output, + expected: expect + }); + } + } + var tests = parse_test(path.resolve(dir, file)); + for (var i in tests) if (tests.hasOwnProperty(i)) { + test_case(tests[i]); + } + } + files.forEach(function(file){ + test_file(file); + }); +} + +function parse_test(file) { + var script = fs.readFileSync(file, "utf8"); + var ast = U.parse(script, { + filename: file + }); + var tests = {}; + var tw = new U.TreeWalker(function(node, descend){ + if (node instanceof U.AST_LabeledStatement + && tw.parent() instanceof U.AST_Toplevel) { + var name = node.label.name; + tests[name] = get_one_test(name, node.body); + return true; + } + if (!(node instanceof U.AST_Toplevel)) croak(node); + }); + ast.walk(tw); + return tests; + + function croak(node) { + throw new Error(tmpl("Can't understand test file {file} [{line},{col}]\n{code}", { + file: file, + line: node.start.line, + col: node.start.col, + code: make_code(node, false) + })); + } + + function get_one_test(name, block) { + var test = { name: name, options: {} }; + var tw = new U.TreeWalker(function(node, descend){ + if (node instanceof U.AST_Assign) { + if (!(node.left instanceof U.AST_SymbolRef)) { + croak(node); + } + var name = node.left.name; + test[name] = evaluate(node.right); + return true; + } + if (node instanceof U.AST_LabeledStatement) { + assert.ok( + node.label.name == "input" || node.label.name == "expect", + tmpl("Unsupported label {name} [{line},{col}]", { + name: node.label.name, + line: node.label.start.line, + col: node.label.start.col + }) + ); + var stat = node.body; + if (stat instanceof U.AST_BlockStatement) { + if (stat.body.length == 1) stat = stat.body[0]; + else if (stat.body.length == 0) stat = new U.AST_EmptyStatement(); + } + test[node.label.name] = stat; + return true; + } + }); + block.walk(tw); + return test; + }; +} + +function make_code(ast, beautify) { + if (arguments.length == 1) beautify = true; + var stream = U.OutputStream({ beautify: beautify }); + ast.print(stream); + return stream.get(); +} + +function evaluate(code) { + if (code instanceof U.AST_Node) + code = make_code(code); + return new Function("return(" + code + ")")(); +} diff --git a/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/tools/node.js b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/tools/node.js new file mode 100644 index 0000000..c0dd3db --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/node_modules/uglify-js/tools/node.js @@ -0,0 +1,165 @@ +var path = require("path"); +var fs = require("fs"); +var vm = require("vm"); +var sys = require("util"); + +var UglifyJS = vm.createContext({ + sys : sys, + console : console, + MOZ_SourceMap : require("source-map") +}); + +function load_global(file) { + file = path.resolve(path.dirname(module.filename), file); + try { + var code = fs.readFileSync(file, "utf8"); + return vm.runInContext(code, UglifyJS, file); + } catch(ex) { + // XXX: in case of a syntax error, the message is kinda + // useless. (no location information). + sys.debug("ERROR in file: " + file + " / " + ex); + process.exit(1); + } +}; + +var FILES = exports.FILES = [ + "../lib/utils.js", + "../lib/ast.js", + "../lib/parse.js", + "../lib/transform.js", + "../lib/scope.js", + "../lib/output.js", + "../lib/compress.js", + "../lib/sourcemap.js", + "../lib/mozilla-ast.js" +].map(function(file){ + return path.join(path.dirname(fs.realpathSync(__filename)), file); +}); + +FILES.forEach(load_global); + +UglifyJS.AST_Node.warn_function = function(txt) { + sys.error("WARN: " + txt); +}; + +// XXX: perhaps we shouldn't export everything but heck, I'm lazy. +for (var i in UglifyJS) { + if (UglifyJS.hasOwnProperty(i)) { + exports[i] = UglifyJS[i]; + } +} + +exports.minify = function(files, options) { + options = UglifyJS.defaults(options, { + outSourceMap : null, + sourceRoot : null, + inSourceMap : null, + fromString : false, + warnings : false, + mangle : {}, + output : null, + compress : {} + }); + if (typeof files == "string") + files = [ files ]; + + // 1. parse + var toplevel = null; + files.forEach(function(file){ + var code = options.fromString + ? file + : fs.readFileSync(file, "utf8"); + toplevel = UglifyJS.parse(code, { + filename: options.fromString ? "?" : file, + toplevel: toplevel + }); + }); + + // 2. compress + if (options.compress) { + var compress = { warnings: options.warnings }; + UglifyJS.merge(compress, options.compress); + toplevel.figure_out_scope(); + var sq = UglifyJS.Compressor(compress); + toplevel = toplevel.transform(sq); + } + + // 3. mangle + if (options.mangle) { + toplevel.figure_out_scope(); + toplevel.compute_char_frequency(); + toplevel.mangle_names(options.mangle); + } + + // 4. output + var inMap = options.inSourceMap; + var output = {}; + if (typeof options.inSourceMap == "string") { + inMap = fs.readFileSync(options.inSourceMap, "utf8"); + } + if (options.outSourceMap) { + output.source_map = UglifyJS.SourceMap({ + file: options.outSourceMap, + orig: inMap, + root: options.sourceRoot + }); + } + if (options.output) { + UglifyJS.merge(output, options.output); + } + var stream = UglifyJS.OutputStream(output); + toplevel.print(stream); + return { + code : stream + "", + map : output.source_map + "" + }; +}; + +// exports.describe_ast = function() { +// function doitem(ctor) { +// var sub = {}; +// ctor.SUBCLASSES.forEach(function(ctor){ +// sub[ctor.TYPE] = doitem(ctor); +// }); +// var ret = {}; +// if (ctor.SELF_PROPS.length > 0) ret.props = ctor.SELF_PROPS; +// if (ctor.SUBCLASSES.length > 0) ret.sub = sub; +// return ret; +// } +// return doitem(UglifyJS.AST_Node).sub; +// } + +exports.describe_ast = function() { + var out = UglifyJS.OutputStream({ beautify: true }); + function doitem(ctor) { + out.print("AST_" + ctor.TYPE); + var props = ctor.SELF_PROPS.filter(function(prop){ + return !/^\$/.test(prop); + }); + if (props.length > 0) { + out.space(); + out.with_parens(function(){ + props.forEach(function(prop, i){ + if (i) out.space(); + out.print(prop); + }); + }); + } + if (ctor.documentation) { + out.space(); + out.print_string(ctor.documentation); + } + if (ctor.SUBCLASSES.length > 0) { + out.space(); + out.with_block(function(){ + ctor.SUBCLASSES.forEach(function(ctor, i){ + out.indent(); + doitem(ctor); + out.newline(); + }); + }); + } + }; + doitem(UglifyJS.AST_Node); + return out + ""; +}; diff --git a/handlebars-node-precompiled/node_modules/handlebars/package.json b/handlebars-node-precompiled/node_modules/handlebars/package.json new file mode 100644 index 0000000..b38b7e7 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/package.json @@ -0,0 +1,74 @@ +{ + "name": "handlebars", + "barename": "handlebars", + "version": "1.3.0", + "description": "Handlebars provides the power necessary to let you build semantic templates effectively with no frustration", + "homepage": "http://www.handlebarsjs.com/", + "keywords": [ + "handlebars", + "mustache", + "template", + "html" + ], + "repository": { + "type": "git", + "url": "https://github.com/wycats/handlebars.js.git" + }, + "author": { + "name": "Yehuda Katz" + }, + "license": "MIT", + "readmeFilename": "README.markdown", + "engines": { + "node": ">=0.4.7" + }, + "dependencies": { + "optimist": "~0.3", + "uglify-js": "~2.3" + }, + "optionalDependencies": { + "uglify-js": "~2.3" + }, + "devDependencies": { + "async": "~0.2.9", + "aws-sdk": "~1.5.0", + "benchmark": "~1.0", + "dustjs-linkedin": "~2.0.2", + "eco": "~1.1.0-rc-3", + "grunt": "~0.4.1", + "grunt-cli": "~0.1.10", + "grunt-contrib-clean": "~0.4.1", + "grunt-contrib-concat": "~0.3.0", + "grunt-contrib-connect": "~0.5.0", + "grunt-contrib-copy": "~0.4.1", + "grunt-contrib-jshint": "0.x", + "grunt-contrib-requirejs": "~0.4.1", + "grunt-contrib-uglify": "~0.2.2", + "grunt-contrib-watch": "~0.5.3", + "grunt-saucelabs": "~4.1.2", + "es6-module-packager": "0.x", + "jison": "~0.3.0", + "keen.io": "0.0.3", + "mocha": "*", + "mustache": "~0.7.2", + "semver": "~2.1.0", + "underscore": "~1.5.1" + }, + "main": "lib/index.js", + "bin": { + "handlebars": "bin/handlebars" + }, + "scripts": { + "test": "grunt" + }, + "readme": "[![Travis Build Status](https://travis-ci.org/wycats/handlebars.js.png?branch=master)](https://travis-ci.org/wycats/handlebars.js)\n[![Selenium Test Status](https://saucelabs.com/buildstatus/handlebars)](https://saucelabs.com/u/handlebars)\n\nHandlebars.js\n=============\n\nHandlebars.js is an extension to the [Mustache templating\nlanguage](http://mustache.github.com/) created by Chris Wanstrath.\nHandlebars.js and Mustache are both logicless templating languages that\nkeep the view and the code separated like we all know they should be.\n\nCheckout the official Handlebars docs site at\n[http://www.handlebarsjs.com](http://www.handlebarsjs.com).\n\nInstalling\n----------\nInstalling Handlebars is easy. Simply download the package [from the official site](http://handlebarsjs.com/) or the [bower repository][bower-repo] and add it to your web pages (you should usually use the most recent version).\n\nAlternatively, if you prefer having the latest version of handlebars from\nthe 'master' branch, passing builds of the 'master' branch are automatically\npublished to S3. You may download the latest passing master build by grabbing\na `handlebars-latest.js` file from the [builds page][builds-page]. When the\nbuild is published, it is also available as a `handlebars-gitSHA.js` file on\nthe builds page if you need a version to refer to others.\n`handlebars-runtime.js` builds are also available.\n\n**Note**: The S3 builds page is provided as a convenience for the community,\nbut you should not use it for hosting Handlebars in production.\n\nUsage\n-----\nIn general, the syntax of Handlebars.js templates is a superset\nof Mustache templates. For basic syntax, check out the [Mustache\nmanpage](http://mustache.github.com/mustache.5.html).\n\nOnce you have a template, use the `Handlebars.compile` method to compile\nthe template into a function. The generated function takes a context\nargument, which will be used to render the template.\n\n```js\nvar source = \"

    Hello, my name is {{name}}. I am from {{hometown}}. I have \" +\n \"{{kids.length}} kids:

    \" +\n \"
      {{#kids}}
    • {{name}} is {{age}}
    • {{/kids}}
    \";\nvar template = Handlebars.compile(source);\n\nvar data = { \"name\": \"Alan\", \"hometown\": \"Somewhere, TX\",\n \"kids\": [{\"name\": \"Jimmy\", \"age\": \"12\"}, {\"name\": \"Sally\", \"age\": \"4\"}]};\nvar result = template(data);\n\n// Would render:\n//

    Hello, my name is Alan. I am from Somewhere, TX. I have 2 kids:

    \n//
      \n//
    • Jimmy is 12
    • \n//
    • Sally is 4
    • \n//
    \n```\n\n\nRegistering Helpers\n-------------------\n\nYou can register helpers that Handlebars will use when evaluating your\ntemplate. Here's an example, which assumes that your objects have a URL\nembedded in them, as well as the text for a link:\n\n```js\nHandlebars.registerHelper('link_to', function() {\n return \"\" + this.body + \"\";\n});\n\nvar context = { posts: [{url: \"/hello-world\", body: \"Hello World!\"}] };\nvar source = \"
      {{#posts}}
    • {{{link_to}}}
    • {{/posts}}
    \"\n\nvar template = Handlebars.compile(source);\ntemplate(context);\n\n// Would render:\n//\n// \n```\n\nHelpers take precedence over fields defined on the context. To access a field\nthat is masked by a helper, a path reference may be used. In the example above\na field named `link_to` on the `context` object would be referenced using:\n\n```\n{{./link_to}}\n```\n\nEscaping\n--------\n\nBy default, the `{{expression}}` syntax will escape its contents. This\nhelps to protect you against accidental XSS problems caused by malicious\ndata passed from the server as JSON.\n\nTo explicitly *not* escape the contents, use the triple-mustache\n(`{{{}}}`). You have seen this used in the above example.\n\n\nDifferences Between Handlebars.js and Mustache\n----------------------------------------------\nHandlebars.js adds a couple of additional features to make writing\ntemplates easier and also changes a tiny detail of how partials work.\n\n### Paths\n\nHandlebars.js supports an extended expression syntax that we call paths.\nPaths are made up of typical expressions and . characters. Expressions\nallow you to not only display data from the current context, but to\ndisplay data from contexts that are descendants and ancestors of the\ncurrent context.\n\nTo display data from descendant contexts, use the `.` character. So, for\nexample, if your data were structured like:\n\n```js\nvar data = {\"person\": { \"name\": \"Alan\" }, \"company\": {\"name\": \"Rad, Inc.\" } };\n```\n\nYou could display the person's name from the top-level context with the\nfollowing expression:\n\n```\n{{person.name}}\n```\n\nYou can backtrack using `../`. For example, if you've already traversed\ninto the person object you could still display the company's name with\nan expression like `{{../company.name}}`, so:\n\n```\n{{#person}}{{name}} - {{../company.name}}{{/person}}\n```\n\nwould render:\n\n```\nAlan - Rad, Inc.\n```\n\n### Strings\n\nWhen calling a helper, you can pass paths or Strings as parameters. For\ninstance:\n\n```js\nHandlebars.registerHelper('link_to', function(title, options) {\n return \"\" + title + \"!\"\n});\n\nvar context = { posts: [{url: \"/hello-world\", body: \"Hello World!\"}] };\nvar source = '
      {{#posts}}
    • {{{link_to \"Post\"}}}
    • {{/posts}}
    '\n\nvar template = Handlebars.compile(source);\ntemplate(context);\n\n// Would render:\n//\n// \n```\n\nWhen you pass a String as a parameter to a helper, the literal String\ngets passed to the helper function.\n\n\n### Block Helpers\n\nHandlebars.js also adds the ability to define block helpers. Block\nhelpers are functions that can be called from anywhere in the template.\nHere's an example:\n\n```js\nvar source = \"
      {{#people}}
    • {{#link}}{{name}}{{/link}}
    • {{/people}}
    \";\nHandlebars.registerHelper('link', function(options) {\n return '' + options.fn(this) + '';\n});\nvar template = Handlebars.compile(source);\n\nvar data = { \"people\": [\n { \"name\": \"Alan\", \"id\": 1 },\n { \"name\": \"Yehuda\", \"id\": 2 }\n ]};\ntemplate(data);\n\n// Should render:\n// \n```\n\nWhenever the block helper is called it is given one or more parameters,\nany arguments that are passed in the helper in the call and an `options`\nobject containing the `fn` function which executes the block's child.\nThe block's current context may be accessed through `this`.\n\nBlock helpers have the same syntax as mustache sections but should not be\nconfused with one another. Sections are akin to an implicit `each` or\n`with` statement depending on the input data and helpers are explicit\npieces of code that are free to implement whatever behavior they like.\nThe [mustache spec](http://mustache.github.io/mustache.5.html)\ndefines the exact behavior of sections. In the case of name conflicts,\nhelpers are given priority.\n\n### Partials\n\nYou can register additional templates as partials, which will be used by\nHandlebars when it encounters a partial (`{{> partialName}}`). Partials\ncan either be String templates or compiled template functions. Here's an\nexample:\n\n```js\nvar source = \"
      {{#people}}
    • {{> link}}
    • {{/people}}
    \";\n\nHandlebars.registerPartial('link', '{{name}}')\nvar template = Handlebars.compile(source);\n\nvar data = { \"people\": [\n { \"name\": \"Alan\", \"id\": 1 },\n { \"name\": \"Yehuda\", \"id\": 2 }\n ]};\n\ntemplate(data);\n\n// Should render:\n// \n```\n\n### Comments\n\nYou can add comments to your templates with the following syntax:\n\n```js\n{{! This is a comment }}\n```\n\nYou can also use real html comments if you want them to end up in the output.\n\n```html\n
    \n {{! This comment will not end up in the output }}\n \n
    \n```\n\n\nPrecompiling Templates\n----------------------\n\nHandlebars allows templates to be precompiled and included as javascript\ncode rather than the handlebars template allowing for faster startup time.\n\n### Installation\nThe precompiler script may be installed via npm using the `npm install -g handlebars`\ncommand.\n\n### Usage\n\n
    \nPrecompile handlebar templates.\nUsage: handlebars template...\n\nOptions:\n  -a, --amd            Create an AMD format function (allows loading with RequireJS)          [boolean]\n  -f, --output         Output File                                                            [string]\n  -k, --known          Known helpers                                                          [string]\n  -o, --knownOnly      Known helpers only                                                     [boolean]\n  -m, --min            Minimize output                                                        [boolean]\n  -s, --simple         Output template function only.                                         [boolean]\n  -r, --root           Template root. Base value that will be stripped from template names.   [string]\n  -c, --commonjs       Exports CommonJS style, path to Handlebars module                      [string]\n  -h, --handlebarPath  Path to handlebar.js (only valid for amd-style)                        [string]\n  -n, --namespace      Template namespace                                                     [string]\n  -p, --partial        Compiling a partial template                                           [boolean]\n  -d, --data           Include data when compiling                                            [boolean]\n  -e, --extension      Template extension.                                                    [string]\n  -b, --bom            Removes the BOM (Byte Order Mark) from the beginning of the templates. [boolean]\n
    \n\nIf using the precompiler's normal mode, the resulting templates will be\nstored to the `Handlebars.templates` object using the relative template\nname sans the extension. These templates may be executed in the same\nmanner as templates.\n\nIf using the simple mode the precompiler will generate a single\njavascript method. To execute this method it must be passed to the using\nthe `Handlebars.template` method and the resulting object may be as\nnormal.\n\n### Optimizations\n\n- Rather than using the full _handlebars.js_ library, implementations that\n do not need to compile templates at runtime may include _handlebars.runtime.js_\n whose min+gzip size is approximately 1k.\n- If a helper is known to exist in the target environment they may be defined\n using the `--known name` argument may be used to optimize accesses to these\n helpers for size and speed.\n- When all helpers are known in advance the `--knownOnly` argument may be used\n to optimize all block helper references.\n- Implementations that do not use `@data` variables can improve performance of\n iteration centric templates by specifying `{data: false}` in the compiler options.\n\nSupported Environments\n----------------------\n\nHandlebars has been designed to work in any ECMAScript 3 environment. This includes\n\n- Node.js\n- Chrome\n- Firefox\n- Safari 5+\n- Opera 11+\n- IE 6+\n\nOlder versions and other runtimes are likely to work but have not been formally\ntested.\n\n[![Selenium Test Status](https://saucelabs.com/browser-matrix/handlebars.svg)](https://saucelabs.com/u/handlebars)\n\nPerformance\n-----------\n\nIn a rough performance test, precompiled Handlebars.js templates (in\nthe original version of Handlebars.js) rendered in about half the\ntime of Mustache templates. It would be a shame if it were any other\nway, since they were precompiled, but the difference in architecture\ndoes have some big performance advantages. Justin Marney, a.k.a.\n[gotascii](http://github.com/gotascii), confirmed that with an\n[independent test](http://sorescode.com/2010/09/12/benchmarks.html). The\nrewritten Handlebars (current version) is faster than the old version,\nand we will have some benchmarks in the near future.\n\n\nBuilding\n--------\n\nTo build handlebars, just run `grunt build`, and the build will output to the `dist` directory.\n\n\nUpgrading\n---------\n\nSee [release-notes.md](https://github.com/wycats/handlebars.js/blob/master/release-notes.md) for upgrade notes.\n\nKnown Issues\n------------\n* Handlebars.js can be cryptic when there's an error while rendering.\n* Using a variable, helper, or partial named `class` causes errors in IE browsers. (Instead, use `className`)\n\nHandlebars in the Wild\n----------------------\n\n* [Assemble](http://assemble.io), by [@jonschlinkert](https://github.com/jonschlinkert)\n and [@doowb](https://github.com/doowb), is a static site generator that uses Handlebars.js\n as its template engine.\n* [CoSchedule](http://coschedule.com) An editorial calendar for WordPress that uses Handlebars.js\n* [Ember.js](http://www.emberjs.com) makes Handlebars.js the primary way to\n structure your views, also with automatic data binding support.\n* [Ghost](https://ghost.org/) Just a blogging platform.\n* [handlebars_assets](http://github.com/leshill/handlebars_assets): A Rails Asset Pipeline gem\n from Les Hill (@leshill).\n* [handlebars-helpers](https://github.com/assemble/handlebars-helpers) is an extensive library\n with 100+ handlebars helpers.\n* [hbs](http://github.com/donpark/hbs): An Express.js view engine adapter for Handlebars.js,\n from Don Park.\n* [jblotus](http://github.com/jblotus) created [http://tryhandlebarsjs.com](http://tryhandlebarsjs.com)\n for anyone who would like to try out Handlebars.js in their browser.\n* [jQuery plugin](http://71104.github.io/jquery-handlebars/): allows you to use\n Handlebars.js with [jQuery](http://jquery.com/).\n* [Lumbar](http://walmartlabs.github.io/lumbar) provides easy module-based template management for\n handlebars projects.\n* [sammy.js](http://github.com/quirkey/sammy) by Aaron Quint, a.k.a. quirkey,\n supports Handlebars.js as one of its template plugins.\n* [SproutCore](http://www.sproutcore.com) uses Handlebars.js as its main\n templating engine, extending it with automatic data binding support.\n* [YUI](http://yuilibrary.com/yui/docs/handlebars/) implements a port of handlebars\n* [Swag](https://github.com/elving/swag) by [@elving](https://github.com/elving) is a growing collection of helpers for handlebars.js. Give your handlebars.js templates some swag son!\n* [DOMBars](https://github.com/blakeembrey/dombars) is a DOM-based templating engine built on the Handlebars parser and runtime\n\nExternal Resources\n------------------\n\n* [Gist about Synchronous and asynchronous loading of external handlebars templates](https://gist.github.com/2287070)\n\nHave a project using Handlebars? Send us a [pull request][pull-request]!\n\nHelping Out\n-----------\n\nTo build Handlebars.js you'll need a few things installed.\n\n* Node.js\n* [Grunt](http://gruntjs.com/getting-started)\n\nProject dependencies may be installed via `npm install`.\n\nTo build Handlebars.js from scratch, you'll want to run `grunt`\nin the root of the project. That will build Handlebars and output the\nresults to the dist/ folder. To re-run tests, run `grunt test` or `npm test`.\nYou can also run our set of benchmarks with `grunt bench`.\n\nThe `grunt dev` implements watching for tests and allows for in browser testing at `http://localhost:9999/spec/`.\n\nIf you notice any problems, please report them to the GitHub issue tracker at\n[http://github.com/wycats/handlebars.js/issues](http://github.com/wycats/handlebars.js/issues).\nFeel free to contact commondream or wycats through GitHub with any other\nquestions or feature requests. To submit changes fork the project and\nsend a pull request.\n\n### Ember testing\n\nThe current ember distribution should be tested as part of the handlebars release process. This requires building the `handlebars-source` gem locally and then executing the ember test script.\n\n```sh\ngrunt build release\nexport HANDLEBARS_PATH=`pwd`\n\ncd $emberRepoDir\nbundle exec rake clean\nbundle exec rake test\n```\n\n### Releasing\n\nHandlebars utilizes the [release yeoman generator][generator-release] to perform most release tasks.\n\nA full release may be completed with the following:\n\n```\nyo release:notes patch\nyo release:release patch\nnpm publish\nyo release:publish cdnjs handlebars.js dist/cdnjs/\nyo release:publish components handlebars.js dist/components/\n\ncd dist/components/\ngem build handlebars-source.gemspec\ngem push handlebars-source-*.gem\n```\n\nAfter this point the handlebars site needs to be updated to point to the new version numbers.\n\nLicense\n-------\nHandlebars.js is released under the MIT license.\n\n[bower-repo]: https://github.com/components/handlebars.js\n[builds-page]: http://builds.handlebarsjs.com.s3.amazonaws.com/bucket-listing.html?sort=lastmod&sortdir=desc\n[generator-release]: https://github.com/walmartlabs/generator-release\n[pull-request]: https://github.com/wycats/handlebars.js/pull/new/master\n", + "bugs": { + "url": "https://github.com/wycats/handlebars.js/issues" + }, + "_id": "handlebars@1.3.0", + "dist": { + "shasum": "80e2bb7a7c0b76e75a254daf09882bfb2b3b597f" + }, + "_from": "handlebars@x.x.x", + "_resolved": "https://registry.npmjs.org/handlebars/-/handlebars-1.3.0.tgz" +} diff --git a/handlebars-node-precompiled/node_modules/handlebars/release-notes.md b/handlebars-node-precompiled/node_modules/handlebars/release-notes.md new file mode 100644 index 0000000..3f0fac9 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/release-notes.md @@ -0,0 +1,193 @@ +# Release Notes + +## Development + +[Commits](https://github.com/wycats/handlebars.js/compare/v1.3.0...master) + +## v1.3.0 - January 1st, 2014 +- [#690](https://github.com/wycats/handlebars.js/pull/690) - Added support for subexpressions ([@machty](https://api.github.com/users/machty)) +- [#696](https://github.com/wycats/handlebars.js/pull/696) - Fix for reserved keyword "default" ([@nateirwin](https://api.github.com/users/nateirwin)) +- [#692](https://github.com/wycats/handlebars.js/pull/692) - add line numbers to nodes when parsing ([@fivetanley](https://api.github.com/users/fivetanley)) +- [#695](https://github.com/wycats/handlebars.js/pull/695) - Pull options out from param setup to allow easier extension ([@blakeembrey](https://api.github.com/users/blakeembrey)) +- [#694](https://github.com/wycats/handlebars.js/pull/694) - Make the environment reusable ([@blakeembrey](https://api.github.com/users/blakeembrey)) +- [#636](https://github.com/wycats/handlebars.js/issues/636) - Print line and column of errors ([@sgronblo](https://api.github.com/users/sgronblo)) +- Use literal for data lookup - c1a93d3 +- Add stack handling sanity checks - cd885bf +- Fix stack id "leak" on replaceStack - ddfe457 +- Fix incorrect stack pop when replacing literals - f4d337d + +[Commits](https://github.com/wycats/handlebars.js/compare/v1.2.1...v1.3.0) + +## v1.2.1 - December 26th, 2013 +- [#684](https://github.com/wycats/handlebars.js/pull/684) - Allow any number of trailing characters for valid JavaScript variable ([@blakeembrey](https://api.github.com/users/blakeembrey)) +- [#686](https://github.com/wycats/handlebars.js/pull/686) - Falsy AMD module names in version 1.2.0 ([@kpdecker](https://api.github.com/users/kpdecker)) + +[Commits](https://github.com/wycats/handlebars.js/compare/v1.2.0...v1.2.1) + +## v1.2.0 - December 23rd, 2013 +- [#675](https://github.com/wycats/handlebars.js/issues/675) - Cannot compile empty template for partial ([@erwinw](https://api.github.com/users/erwinw)) +- [#677](https://github.com/wycats/handlebars.js/issues/677) - Triple brace statements fail under IE ([@hamzaCM](https://api.github.com/users/hamzaCM)) +- [#655](https://github.com/wycats/handlebars.js/issues/655) - Loading Handlebars using bower ([@niki4810](https://api.github.com/users/niki4810)) +- [#657](https://github.com/wycats/handlebars.js/pull/657) - Fixes issue where cli compiles non handlebars templates ([@chrishoage](https://api.github.com/users/chrishoage)) +- [#681](https://github.com/wycats/handlebars.js/pull/681) - Adds in-browser testing and Saucelabs CI ([@kpdecker](https://api.github.com/users/kpdecker)) +- [#661](https://github.com/wycats/handlebars.js/pull/661) - Add @first and @index to #each object iteration ([@cgp](https://api.github.com/users/cgp)) +- [#650](https://github.com/wycats/handlebars.js/pull/650) - Handlebars is MIT-licensed ([@thomasboyt](https://api.github.com/users/thomasboyt)) +- [#641](https://github.com/wycats/handlebars.js/pull/641) - Document ember testing process ([@kpdecker](https://api.github.com/users/kpdecker)) +- [#662](https://github.com/wycats/handlebars.js/issues/662) - handlebars-source 1.1.2 is missing from RubyGems. +- [#656](https://github.com/wycats/handlebars.js/issues/656) - Expose COMPILER_REVISION checks as a hook ([@machty](https://api.github.com/users/machty)) +- [#668](https://github.com/wycats/handlebars.js/issues/668) - Consider publishing handlebars-runtime as a separate module on npm ([@dlmanning](https://api.github.com/users/dlmanning)) +- [#679](https://github.com/wycats/handlebars.js/issues/679) - Unable to override invokePartial ([@mattbrailsford](https://api.github.com/users/mattbrailsford)) +- [#646](https://github.com/wycats/handlebars.js/pull/646) - Fix "\\{{" immediately following "\{{" ([@dmarcotte](https://api.github.com/users/dmarcotte)) +- Allow extend to work with non-prototyped objects - eb53f2e +- Add JavascriptCompiler public API tests - 1a751b2 +- Add AST test coverage for more complex paths - ddea5be +- Fix handling of boolean escape in MustacheNode - b4968bb + +Compatibility notes: +- `@index` and `@first` are now supported for `each` iteration on objects +- `Handlebars.VM.checkRevision` and `Handlebars.JavaScriptCompiler.prototype.compilerInfo` now available to modify the version checking behavior. +- Browserify users may link to the runtime library via `require('handlebars/runtime')` + +[Commits](https://github.com/wycats/handlebars.js/compare/v1.1.2...v1.2.0) + +## v1.1.2 - November 5th, 2013 + +- [#645](https://github.com/wycats/handlebars.js/issues/645) - 1.1.1 fails under IE8 ([@kpdecker](https://api.github.com/users/kpdecker)) +- [#644](https://github.com/wycats/handlebars.js/issues/644) - Using precompiled templates (AMD mode) with handlebars.runtime 1.1.1 ([@fddima](https://api.github.com/users/fddima)) + +- Add simple binary utility tests - 96a45a4 +- Fix empty string compilation - eea708a + +[Commits](https://github.com/wycats/handlebars.js/compare/v1.1.1...v1.1.2) + +## v1.1.1 - November 4th, 2013 + +- [#642](https://github.com/wycats/handlebars.js/issues/642) - handlebars 1.1.0 are broken with nodejs + +- Fix release notes link - 17ba258 + +[Commits](https://github.com/wycats/handlebars.js/compare/v1.1.0...v1.1.1) + +## v1.1.0 - November 3rd, 2013 + +- [#628](https://github.com/wycats/handlebars.js/pull/628) - Convert code to ES6 modules ([@kpdecker](https://api.github.com/users/kpdecker)) +- [#336](https://github.com/wycats/handlebars.js/pull/336) - Add whitespace control syntax ([@kpdecker](https://api.github.com/users/kpdecker)) +- [#535](https://github.com/wycats/handlebars.js/pull/535) - Fix for probable JIT error under Safari ([@sorentwo](https://api.github.com/users/sorentwo)) +- [#483](https://github.com/wycats/handlebars.js/issues/483) - Add first and last @ vars to each helper ([@denniskuczynski](https://api.github.com/users/denniskuczynski)) +- [#557](https://github.com/wycats/handlebars.js/pull/557) - `\\{{foo}}` escaping only works in some situations ([@dmarcotte](https://api.github.com/users/dmarcotte)) +- [#552](https://github.com/wycats/handlebars.js/pull/552) - Added BOM removal flag. ([@blessenm](https://api.github.com/users/blessenm)) +- [#543](https://github.com/wycats/handlebars.js/pull/543) - publish passing master builds to s3 ([@fivetanley](https://api.github.com/users/fivetanley)) + +- [#608](https://github.com/wycats/handlebars.js/issues/608) - Add `includeZero` flag to `if` conditional +- [#498](https://github.com/wycats/handlebars.js/issues/498) - `Handlebars.compile` fails on empty string although a single blank works fine +- [#599](https://github.com/wycats/handlebars.js/issues/599) - lambda helpers only receive options if used with arguments +- [#592](https://github.com/wycats/handlebars.js/issues/592) - Optimize array and subprogram performance +- [#571](https://github.com/wycats/handlebars.js/issues/571) - uglify upgrade breaks compatibility with older versions of node +- [#587](https://github.com/wycats/handlebars.js/issues/587) - Partial inside partial breaks? + + +Compatibility notes: +- The project now includes separate artifacts for AMD, CommonJS, and global objects. + - AMD: Users may load the bundled `handlebars.amd.js` or `handlebars.runtime.amd.js` files or load individual modules directly. AMD users should also note that the handlebars object is exposed via the `default` field on the imported object. This [gist](https://gist.github.com/wycats/7417be0dc361a69d5916) provides some discussion of possible compatibility shims. + - CommonJS/Node: Node loading occurs as normal via `require` + - Globals: The `handlebars.js` and `handlebars.runtime.js` files should behave in the same manner as the v1.0.12 / 1.0.0 release. +- Build artifacts have been removed from the repository. [npm][npm], [components/handlebars.js][components], [cdnjs][cdnjs], or the [builds page][builds-page] should now be used as the source of built artifacts. +- Context-stored helpers are now always passed the `options` hash. Previously no-argument helpers did not have this argument. + + +[Commits](https://github.com/wycats/handlebars.js/compare/v1.0.12...v1.1.0) + +## v1.0.12 / 1.0.0 - May 31 2013 + +- [#515](https://github.com/wycats/handlebars.js/issues/515) - Add node require extensions support ([@jjclark1982](https://github.com/jjclark1982)) +- [#517](https://github.com/wycats/handlebars.js/issues/517) - Fix amd precompiler output with directories ([@blessenm](https://github.com/blessenm)) +- [#433](https://github.com/wycats/handlebars.js/issues/433) - Add support for unicode ids +- [#469](https://github.com/wycats/handlebars.js/issues/469) - Add support for `?` in ids +- [#534](https://github.com/wycats/handlebars.js/issues/534) - Protect from object prototype modifications +- [#519](https://github.com/wycats/handlebars.js/issues/519) - Fix partials with . name ([@jamesgorrie](https://github.com/jamesgorrie)) +- [#519](https://github.com/wycats/handlebars.js/issues/519) - Allow ID or strings in partial names +- [#437](https://github.com/wycats/handlebars.js/issues/437) - Require matching brace counts in escaped expressions +- Merge passed partials and helpers with global namespace values +- Add support for complex ids in @data references +- Docs updates + +Compatibility notes: +- The parser is now stricter on `{{{`, requiring that the end token be `}}}`. Templates that do not + follow this convention should add the additional brace value. +- Code that relies on global the namespace being muted when custom helpers or partials are passed will need to explicitly pass an `undefined` value for any helpers that should not be available. +- The compiler version has changed. Precompiled templates with 1.0.12 or higher must use the 1.0.0 or higher runtime. + +[Commits](https://github.com/wycats/handlebars.js/compare/v1.0.11...v1.0.12) + +## v1.0.11 / 1.0.0-rc4 - May 13 2013 + +- [#458](https://github.com/wycats/handlebars.js/issues/458) - Fix `./foo` syntax ([@jpfiset](https://github.com/jpfiset)) +- [#460](https://github.com/wycats/handlebars.js/issues/460) - Allow `:` in unescaped identifers ([@jpfiset](https://github.com/jpfiset)) +- [#471](https://github.com/wycats/handlebars.js/issues/471) - Create release notes (These!) +- [#456](https://github.com/wycats/handlebars.js/issues/456) - Allow escaping of `\\` +- [#211](https://github.com/wycats/handlebars.js/issues/211) - Fix exception in `escapeExpression` +- [#375](https://github.com/wycats/handlebars.js/issues/375) - Escape unicode newlines +- [#461](https://github.com/wycats/handlebars.js/issues/461) - Do not fail when compiling `""` +- [#302](https://github.com/wycats/handlebars.js/issues/302) - Fix sanity check in knownHelpersOnly mode +- [#369](https://github.com/wycats/handlebars.js/issues/369) - Allow registration of multiple helpers and partial by passing definition object +- Add bower package declaration ([@DevinClark](https://github.com/DevinClark)) +- Add NuSpec package declaration ([@MikeMayer](https://github.com/MikeMayer)) +- Handle empty context in `with` ([@thejohnfreeman](https://github.com/thejohnfreeman)) +- Support custom template extensions in CLI ([@matteoagosti](https://github.com/matteoagosti)) +- Fix Rhino support ([@broady](https://github.com/broady)) +- Include contexts in string mode ([@leshill](https://github.com/leshill)) +- Return precompiled scripts when compiling to AMD ([@JamesMaroney](https://github.com/JamesMaroney)) +- Docs updates ([@iangreenleaf](https://github.com/iangreenleaf), [@gilesbowkett](https://github.com/gilesbowkett), [@utkarsh2012](https://github.com/utkarsh2012)) +- Fix `toString` handling under IE and browserify ([@tommydudebreaux](https://github.com/tommydudebreaux)) +- Add program metadata + +[Commits](https://github.com/wycats/handlebars.js/compare/v1.0.10...v1.0.11) + +## v1.0.10 - Node - Feb 27 2013 + +- [#428](https://github.com/wycats/handlebars.js/issues/428) - Fix incorrect rendering of nested programs +- Fix exception message ([@tricknotes](https://github.com/tricknotes)) +- Added negative number literal support +- Concert library to single IIFE +- Add handlebars-source gemspec ([@machty](https://github.com/machty)) + +[Commits](https://github.com/wycats/handlebars.js/compare/v1.0.9...v1.0.10) + +## v1.0.9 - Node - Feb 15 2013 + +- Added `Handlebars.create` API in node module for sandboxed instances ([@tommydudebreaux](https://github.com/tommydudebreaux)) + +[Commits](https://github.com/wycats/handlebars.js/compare/1.0.0-rc.3...v1.0.9) + +## 1.0.0-rc3 - Browser - Feb 14 2013 + +- Prevent use of `this` or `..` in illogical place ([@leshill](https://github.com/leshill)) +- Allow AST passing for `parse`/`compile`/`precompile` ([@machty](https://github.com/machty)) +- Optimize generated output by inlining statements where possible +- Check compiler version when evaluating templates +- Package browser dist in npm package + +[Commits](https://github.com/wycats/handlebars.js/compare/v1.0.8...1.0.0-rc.3) + +## Prior Versions + +When upgrading from the Handlebars 0.9 series, be aware that the +signature for passing custom helpers or partials to templates has +changed. + +Instead of: + +```js +template(context, helpers, partials, [data]) +``` + +Use: + +```js +template(context, {helpers: helpers, partials: partials, data: data}) +``` + +[builds-page]: http://builds.handlebarsjs.com.s3.amazonaws.com/index.html +[cdnjs]: http://cdnjs.com/libraries/handlebars.js/ +[components]: https://github.com/components/handlebars.js +[npm]: https://npmjs.org/package/handlebars diff --git a/handlebars-node-precompiled/node_modules/handlebars/runtime.js b/handlebars-node-precompiled/node_modules/handlebars/runtime.js new file mode 100644 index 0000000..b7a7b12 --- /dev/null +++ b/handlebars-node-precompiled/node_modules/handlebars/runtime.js @@ -0,0 +1,3 @@ +// Create a simple path alias to allow browserify to resolve +// the runtime on a supported path. +module.exports = require('./dist/cjs/handlebars.runtime'); diff --git a/handlebars-node-precompiled/package.json b/handlebars-node-precompiled/package.json new file mode 100644 index 0000000..c900ba7 --- /dev/null +++ b/handlebars-node-precompiled/package.json @@ -0,0 +1,6 @@ +{ + "name": "mustacheTest", + "dependencies": { + "handlebars": "x.x.x" + } +} diff --git a/handlebars-node-precompiled/test1.js b/handlebars-node-precompiled/test1.js new file mode 100644 index 0000000..7558d99 --- /dev/null +++ b/handlebars-node-precompiled/test1.js @@ -0,0 +1,12 @@ +var handlebars = require('handlebars'); + +var template = handlebars.compile('
    {{ body }}
    '), + startTime = new Date(), + vars = {}; +for ( n=0; n <= 100000; ++n ) { + vars.id = "divid"; + vars.body = 'my div\'s body'; + html = template(vars); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +console.log(html); diff --git a/handlebars-node-precompiled/test1b-incid.js b/handlebars-node-precompiled/test1b-incid.js new file mode 100644 index 0000000..c40e408 --- /dev/null +++ b/handlebars-node-precompiled/test1b-incid.js @@ -0,0 +1,12 @@ +var handlebars = require('handlebars'); + +var template = handlebars.compile('
    {{ body }}
    '), + startTime = new Date(), + vars = {}; +for ( n=0; n <= 100000; ++n ) { + vars.id = "divid" + n; + vars.body = 'my div\'s body'; + html = template(vars); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +console.log(html); diff --git a/handlebars-node-precompiled/test2-loop-lambda.js b/handlebars-node-precompiled/test2-loop-lambda.js new file mode 100644 index 0000000..11ff2d0 --- /dev/null +++ b/handlebars-node-precompiled/test2-loop-lambda.js @@ -0,0 +1,36 @@ +var handlebars = require('handlebars'); + +function mt_rand () { + //[0..1] * PHP mt_getrandmax() + return Math.floor(Math.random() * 2147483647); +} + +function array_rand (arr) { + var i = Math.floor( Math.random() * arr.length ); + return arr[i]; +} + +var vars = {}, + items = {}; + +for ( var n=0; n <= 1000; ++n ) { + items['a' + mt_rand()] = new Date().getTime(); +} + +var template = handlebars.compile('
    {{# items }}
    {{# getvalues }}{{ . }}{{/ getvalues }}
    {{/ items }}
    '), + startTime = new Date(); + +vars.items = Object.keys(items); +vars.getvalues = function() { + var index = mustache.render(this); + return items[index]; +}; +for ( n=0; n <= 1000; ++n ) { + var key = array_rand(vars.items); + items[key] = 'b' + mt_rand(); + vars.id = "divid"; + vars.body = 'my div\'s body'; + html = template(vars); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +//console.log(html); diff --git a/handlebars-node-precompiled/test2-loop.js b/handlebars-node-precompiled/test2-loop.js new file mode 100644 index 0000000..188e162 --- /dev/null +++ b/handlebars-node-precompiled/test2-loop.js @@ -0,0 +1,37 @@ +var handlebars = require('handlebars'); + +function mt_rand () { + //[0..1] * PHP mt_getrandmax() + return Math.floor(Math.random() * 2147483647); +} + +function array_rand (arr) { + var i = Math.floor( Math.random() * arr.length ); + return arr[i]; +} + +var vars = {}, + items = {}; + +for ( var n=0; n <= 1000; ++n ) { + items['a' + mt_rand()] = new Date().getTime(); +} + +var template = handlebars.compile('
    {{# m_items }}
    {{ val }}
    {{/ m_items }}
    '), + startTime = new Date(); + +for ( n=0; n <= 1000; ++n ) { + var key = array_rand(Object.keys(items)); + items[key] = 'b' + mt_rand(); + vars.id = "divid"; + vars.body = 'my div\'s body'; + var m_items = []; + for(key in items) { + var val = items[key]; + m_items.push({ key: key, val: val }); + } + vars.m_items = m_items; + html = template(vars); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +//console.log(html); diff --git a/handlebars-node-precompiled/test3-itterator.js b/handlebars-node-precompiled/test3-itterator.js new file mode 100644 index 0000000..49eca8f --- /dev/null +++ b/handlebars-node-precompiled/test3-itterator.js @@ -0,0 +1,31 @@ +var handlebars = require('handlebars'); + +function mt_rand () { + //[0..1] * PHP mt_getrandmax() + return Math.floor(Math.random() * 2147483647); +} + +function array_rand (arr) { + var i = Math.floor( Math.random() * arr.length ); + return arr[i]; +} + +var vars = {}, + items = []; + +for ( var n=0; n <= 1000; ++n ) { + items[n] = "value:" + mt_rand(); +} + +var template = handlebars.compile('
    {{# items }}

    {{ . }}

    {{/ items }}
    '), + startTime = new Date(); + +for ( n=0; n <= 1000; ++n ) { + var key = Math.floor( Math.random() * items.length ); + items[key] = 'b:' + mt_rand(); + vars.items = items; + vars.body = 'my div\'s body'; + html = template(vars); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +//console.log(html); diff --git a/knockoff-node-precompiled/node_modules/knockoff/.jshintrc b/knockoff-node-precompiled/node_modules/knockoff/.jshintrc new file mode 100644 index 0000000..e1ed177 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/.jshintrc @@ -0,0 +1,33 @@ +{ + "predef": [ + "ve", + + "setImmediate", + + "QUnit" + ], + + "bitwise": true, + "laxbreak": true, + "curly": true, + "eqeqeq": true, + "immed": true, + "latedef": true, + "newcap": true, + "noarg": true, + "noempty": true, + "nonew": true, + "regexp": false, + "undef": true, + "strict": true, + "trailing": true, + + "smarttabs": true, + "multistr": true, + + "node": true, + + "nomen": false, + "loopfunc": true + //"onevar": true +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/DOMCompiler.js b/knockoff-node-precompiled/node_modules/knockoff/DOMCompiler.js new file mode 100644 index 0000000..731311b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/DOMCompiler.js @@ -0,0 +1,194 @@ +/** + * Stand-alone XMLSerializer for DOM3 documents + */ +"use strict"; + +var htmlns = 'http://www.w3.org/1999/xhtml', + // nodeType constants + ELEMENT_NODE = 1, + ATTRIBUTE_NODE = 2, + TEXT_NODE = 3, + CDATA_SECTION_NODE = 4, + ENTITY_REFERENCE_NODE = 5, + ENTITY_NODE = 6, + PROCESSING_INSTRUCTION_NODE = 7, + COMMENT_NODE = 8, + DOCUMENT_NODE = 9, + DOCUMENT_TYPE_NODE = 10, + DOCUMENT_FRAGMENT_NODE = 11, + NOTATION_NODE = 12; + +/** + * HTML5 void elements + */ +var emptyElements = { + area: true, + base: true, + basefont: true, + bgsound: true, + br: true, + col: true, + command: true, + embed: true, + frame: true, + hr: true, + img: true, + input: true, + keygen: true, + link: true, + meta: true, + param: true, + source: true, + track: true, + wbr: true +}; + +/** + * HTML5 elements with raw (unescaped) content + */ +var hasRawContent = { + style: true, + script: true, + xmp: true, + iframe: true, + noembed: true, + noframes: true, + plaintext: true, + noscript: true +}; + +/** + * Use only very few entities, encode everything else as numeric entity + */ +function _xmlEncoder(c){ + switch(c) { + case '<': return '<'; + case '>': return '>'; + case '&': return '&'; + case '"': return '"'; + default: return '&#' + c.charCodeAt() + ';'; + } +} + +function serializeToString(node, options, cb){ + var child, content; + switch(node.nodeType){ + case ELEMENT_NODE: + var handler = options.handlers.element, + attrs = node.attributes, + ret; + child = node.firstChild; + if (handler) { + // Call the handler for elements + ret = handler(node, cb, options); + } + var len = attrs.length; + var nodeName = node.tagName.toLowerCase(), + localName = node.localName; + if (!ret.stripWrapper) { + cb('<' + localName); + for(var i=0;i + (attr.value.match(/'/g) || []).length) + { + // use single quotes + cb(' ' + attr.name + "='" + + attr.value.replace(/[<&']/g, _xmlEncoder) + "'"); + } else { + // use double quotes + cb(' ' + attr.name + '="' + + attr.value.replace(/[<&"]/g, _xmlEncoder) + '"'); + } + } + if (ret.attr) { + cb(ret.attr); + } + } + if(child || ret.content || !emptyElements[nodeName]) { + if (!ret.stripWrapper) { cb('>'); } + if (ret.content) { + cb(ret.content); + } else if(hasRawContent[nodeName]) { + // if is cdata child node + // TODO: perform context-sensitive escaping? + // Currently this content is not normally part of our DOM, so + // no problem. If it was, we'd probably have to do some + // tag-specific escaping. Examples: + // * < to \u003c in tag, then the paused flag + // may have been set to tell us to stop tokenizing while + // the script is loading + if (paused > 0) { + return; + } + + + switch(typeof tokenizer.lookahead) { + case 'undefined': + codepoint = chars.charCodeAt(nextchar++); + if (scanner_skip_newline) { + scanner_skip_newline = false; + if (codepoint === 0x000A) { + nextchar++; + continue; + } + } + switch(codepoint) { + case 0x000D: + // CR always turns into LF, but if the next character + // is LF, then that second LF is skipped. + if (nextchar < numchars) { + if (chars.charCodeAt(nextchar) === 0x000A) + nextchar++; + } + else { + // We don't know the next char right now, so we + // can't check if it is a LF. So set a flag + scanner_skip_newline = true; + } + + // In either case, emit a LF + tokenizer(0x000A); + + break; + case 0xFFFF: + if (input_complete && nextchar === numchars) { + tokenizer(EOF); // codepoint will be 0xFFFF here + break; + } + /* falls through */ + default: + tokenizer(codepoint); + break; + } + break; + + case 'number': + codepoint = chars.charCodeAt(nextchar); + + // The only tokenizer states that require fixed lookahead + // only consume alphanum characters, so we don't have + // to worry about CR and LF in this case + + // tokenizer wants n chars of lookahead + var n = tokenizer.lookahead; + + if (n < numchars - nextchar) { + // If we can look ahead that far + s = chars.substring(nextchar, nextchar+n); + eof = false; + } + else { // if we don't have that many characters + if (input_complete) { // If no more are coming + // Just return what we have + s = chars.substring(nextchar, numchars); + eof = true; + if (codepoint === 0xFFFF && nextchar === numchars-1) + codepoint = EOF; + } + else { + // Return now and wait for more chars later + return; + } + } + tokenizer(codepoint, s, eof); + break; + case 'string': + codepoint = chars.charCodeAt(nextchar); + + // tokenizer wants characters up to a matching string + pattern = tokenizer.lookahead; + var pos = chars.indexOf(pattern, nextchar); + if (pos !== -1) { + s = chars.substring(nextchar, pos + pattern.length); + eof = false; + } + else { // No match + // If more characters coming, wait for them + if (!input_complete) return; + + // Otherwise, we've got to return what we've got + s = chars.substring(nextchar, numchars); + if (codepoint === 0xFFFF && nextchar === numchars-1) + codepoint = EOF; + eof = true; + } + + // The tokenizer states that require this kind of + // lookahead have to be careful to handle CR characters + // correctly + tokenizer(codepoint, s, eof); + break; + case 'object': + case 'function': + codepoint = chars.charCodeAt(nextchar); + + // tokenizer wants characters that match a regexp + // The only tokenizer states that use regexp lookahead + // are for character entities, and the patterns never + // match CR or LF, so we don't need to worry about that + // here. + + // XXX + // Ideally, I'd use the non-standard y modifier on + // these regexps and set pattern.lastIndex to nextchar. + // But v8 and Node don't support /y, so I have to do + // the substring below + pattern = tokenizer.lookahead; + matched = chars.substring(nextchar).match(pattern); + if (matched) { + // Found a match. + // lastIndex now points to the first char after it + s = matched[0]; + eof = false; + } + else { + // No match. If we're not at the end of input, then + // wait for more chars + if (!input_complete) return; + + // Otherwise, pass an empty string. This is + // different than the string-based lookahead + // above. Regexp-based lookahead is only used + // for character references, and a partial one + // will not parse. Also, a char ref + // terminated with EOF will parse in the if + // branch above, so here we're dealing with + // things that really aren't char refs + s = ""; + eof = true; + } + + tokenizer(codepoint, s, eof); + break; + } + } + } + + + /*** + * Tokenizer utility functions + */ + function addAttribute(name,value) { + // Make sure there isn't already an attribute with this name + // If there is, ignore this one. + for(var i = 0; i < attributes.length; i++) { + if (attributes[i][0] === name) return; + } + + if (value !== undefined) { + attributes.push([name, value]); + } + else { + attributes.push([name]); + } + } + + // Shortcut for simple attributes + function handleSimpleAttribute() { + SIMPLEATTR.lastIndex = nextchar-1; + var matched = SIMPLEATTR.exec(chars); + if (!matched) throw new Error("should never happen"); + var name = matched[1]; + if (!name) return false; + var value = matched[2]; + var len = value.length; + switch(value[0]) { + case '"': + case "'": + value = value.substring(1, len-1); + nextchar += (matched[0].length-1); + tokenizer = after_attribute_value_quoted_state; + break; + default: + tokenizer = before_attribute_name_state; + nextchar += (matched[0].length-1); + value = value.substring(0, len-1); + break; + } + + // Make sure there isn't already an attribute with this name + // If there is, ignore this one. + for(var i = 0; i < attributes.length; i++) { + if (attributes[i][0] === name) return true; + } + + attributes.push([name, value]); + return true; + } + + + function pushState() { savedTokenizerStates.push(tokenizer); } + function popState() { tokenizer = savedTokenizerStates.pop(); } + function beginTagName() { + is_end_tag = false; + tagnamebuf = ""; + attributes.length = 0; + } + function beginEndTagName() { + is_end_tag = true; + tagnamebuf = ""; + attributes.length = 0; + } + + function beginTempBuf() { tempbuf.length = 0; } + function beginAttrName() { attrnamebuf = ""; } + function beginAttrValue() { attrvaluebuf = ""; } + function beginComment() { commentbuf.length = 0; } + function beginDoctype() { + doctypenamebuf.length = 0; + doctypepublicbuf = null; + doctypesystembuf = null; + } + function beginDoctypePublicId() { doctypepublicbuf = []; } + function beginDoctypeSystemId() { doctypesystembuf = []; } + function forcequirks() { force_quirks = true; } + function cdataAllowed() { + return stack.top && + stack.top.namespaceURI !== "http://www.w3.org/1999/xhtml"; + } + + // Return true if the codepoints in the specified buffer match the + // characters of lasttagname + function appropriateEndTag(buf) { + return lasttagname === buf; + } + + function flushText() { + if (textrun.length > 0) { + var s = buf2str(textrun); + textrun.length = 0; + + if (ignore_linefeed) { + ignore_linefeed = false; + if (s[0] === "\n") s = s.substring(1); + if (s.length === 0) return; + } + + insertToken(TEXT, s); + textIncludesNUL = false; + } + ignore_linefeed = false; + } + + // Consume chars matched by the pattern and return them as a string. Starts + // matching at the current position, so users should drop the current char + // otherwise. + function getMatchingChars(pattern) { + pattern.lastIndex = nextchar - 1; + var match = pattern.exec(chars); + if (match && match.index === nextchar - 1) { + match = match[0]; + nextchar += match.length - 1; + return match; + } else { + throw new Error("should never happen"); + } + } + + // emit a string of chars that match a regexp + // Returns false if no chars matched. + function emitCharsWhile(pattern) { + pattern.lastIndex = nextchar-1; + var match = pattern.exec(chars)[0]; + if (!match) return false; + emitCharString(match); + nextchar += match.length - 1; + return true; + } + + // This is used by CDATA sections + function emitCharString(s) { + if (textrun.length > 0) flushText(); + + if (ignore_linefeed) { + ignore_linefeed = false; + if (s[0] === "\n") s = s.substring(1); + if (s.length === 0) return; + } + + insertToken(TEXT, s); + } + + function emitTag() { + if (is_end_tag) insertToken(ENDTAG, tagnamebuf); + else { + // Remember the last open tag we emitted + var tagname = tagnamebuf; + tagnamebuf = ""; + lasttagname = tagname; + insertToken(TAG, tagname, attributes); + } + } + + + // A shortcut: look ahead and if this is a open or close tag + // in lowercase with no spaces and no attributes, just emit it now. + function emitSimpleTag() { + SIMPLETAG.lastIndex = nextchar; + var matched = SIMPLETAG.exec(chars); + if (!matched) throw new Error("should never happen"); + var tagname = matched[2]; + if (!tagname) return false; + var endtag = matched[1]; + if (endtag) { + nextchar += (tagname.length+2); + insertToken(ENDTAG, tagname); + } + else { + nextchar += (tagname.length+1); + lasttagname = tagname; + insertToken(TAG, tagname, NOATTRS); + } + return true; + } + + function emitSelfClosingTag() { + if (is_end_tag) insertToken(ENDTAG, tagnamebuf, null, true); + else { + insertToken(TAG, tagnamebuf, attributes, true); + } + } + + function emitDoctype() { + insertToken(DOCTYPE, + buf2str(doctypenamebuf), + doctypepublicbuf ? buf2str(doctypepublicbuf) : undefined, + doctypesystembuf ? buf2str(doctypesystembuf) : undefined); + } + + function emitEOF() { + flushText(); + parser(EOF); // EOF never goes to insertForeignContent() + doc.modclock = 1; // Start tracking modifications + } + + // Insert a token, either using the current parser insertion mode + // (for HTML stuff) or using the insertForeignToken() method. + function insertToken(t, value, arg3, arg4) { + flushText(); + var current = stack.top; + + if (!current || current.namespaceURI === NAMESPACE.HTML) { + // This is the common case + parser(t, value, arg3, arg4); + } + else { + // Otherwise we may need to insert this token as foreign content + if (t !== TAG && t !== TEXT) { + insertForeignToken(t, value, arg3, arg4); + } + else { + // But in some cases we treat it as regular content + if ((isMathmlTextIntegrationPoint(current) && + (t === TEXT || + (t === TAG && + value !== "mglyph" && value !== "malignmark"))) || + (t === TAG && + value === "svg" && + current.namespaceURI === NAMESPACE.MATHML && + current.localName === "annotation-xml") || + isHTMLIntegrationPoint(current)) { + + // XXX: the text_integration_mode stuff is an + // attempted bug workaround of mine + text_integration_mode = true; + parser(t, value, arg3, arg4); + text_integration_mode = false; + } + // Otherwise it is foreign content + else { + insertForeignToken(t, value, arg3, arg4); + } + } + } + } + + + /*** + * Tree building utility functions + */ + function insertComment(data) { + stack.top._appendChild(doc.createComment(data)); + } + + function insertText(s) { + if (foster_parent_mode && isA(stack.top, tablesectionrowSet)) { + fosterParent(doc.createTextNode(s)); + } + else { + var lastChild = stack.top.lastChild; + if (lastChild && lastChild.nodeType === Node.TEXT_NODE) { + lastChild.appendData(s); + } + else { + stack.top._appendChild(doc.createTextNode(s)); + } + } + } + + function createHTMLElt(name, attrs) { + // Create the element this way, rather than with + // doc.createElement because createElement() does error + // checking on the element name that we need to avoid here. + var elt = html.createElement(doc, name, null); + + if (attrs) { + for(var i = 0, n = attrs.length; i < n; i++) { + // Use the _ version to avoid testing the validity + // of the attribute name + elt._setAttribute(attrs[i][0], attrs[i][1]); + } + } + // XXX + // If the element is a resettable form element, + // run its reset algorithm now + return elt; + } + + // The in_table insertion mode turns on this flag, and that makes + // insertHTMLElement use the foster parenting algorithm for elements + // tags inside a table + var foster_parent_mode = false; + + function insertHTMLElement(name, attrs) { + var elt = createHTMLElt(name, attrs); + insertElement(elt); + + // XXX + // If this is a form element, set its form attribute property here + if (isA(elt, formassociatedSet)) { + elt._form = form_element_pointer; + } + + return elt; + } + + // Insert the element into the open element or foster parent it + function insertElement(elt) { + if (foster_parent_mode && isA(stack.top, tablesectionrowSet)) { + fosterParent(elt); + } + else { + stack.top._appendChild(elt); + } + + stack.push(elt); + } + + function insertForeignElement(name, attrs, ns) { + var elt = doc.createElementNS(ns, name); + if (attrs) { + for(var i = 0, n = attrs.length; i < n; i++) { + var attr = attrs[i]; + if (attr.length == 2) + elt._setAttribute(attr[0], attr[1]); + else { + elt._setAttributeNS(attr[2], attr[0], attr[1]); + } + } + } + + insertElement(elt); + } + + function fosterParent(elt) { + var parent, before; + + for(var i = stack.elements.length-1; i >= 0; i--) { + if (stack.elements[i] instanceof impl.HTMLTableElement) { + parent = stack.elements[i].parentElement; + if (parent) + before = stack.elements[i]; + else + parent = stack.elements[i-1]; + + break; + } + } + if (!parent) parent = stack.elements[0]; + + if (elt.nodeType === Node.TEXT_NODE) { + var prev; + if (before) prev = before.previousSibling; + else prev = parent.lastChild; + if (prev && prev.nodeType === Node.TEXT_NODE) { + prev.appendData(elt.data); + return; + } + } + if (before) + parent.insertBefore(elt, before); + else + parent._appendChild(elt); + } + + + function resetInsertionMode() { + var last = false; + for(var i = stack.elements.length-1; i >= 0; i--) { + var node = stack.elements[i]; + if (i === 0) { + last = true; + node = fragmentContext; + } + if (node.namespaceURI === NAMESPACE.HTML) { + var tag = node.localName; + switch(tag) { + case "select": + parser = in_select_mode; + return; + case "tr": + parser = in_row_mode; + return; + case "tbody": + case "tfoot": + case "thead": + parser = in_table_body_mode; + return; + case "caption": + parser = in_caption_mode; + return; + case "colgroup": + parser = in_column_group_mode; + return; + case "table": + parser = in_table_mode; + return; + case "head": // Not in_head_mode! + case "body": + parser = in_body_mode; + return; + case "frameset": + parser = in_frameset_mode; + return; + case "html": + parser = before_head_mode; + return; + default: + if (!last && (tag === "td" || tag === "th")) { + parser = in_cell_mode; + return; + } + } + } + if (last) { + parser = in_body_mode; + return; + } + } + } + + + function parseRawText(name, attrs) { + insertHTMLElement(name, attrs); + tokenizer = rawtext_state; + originalInsertionMode = parser; + parser = text_mode; + } + + function parseRCDATA(name, attrs) { + insertHTMLElement(name, attrs); + tokenizer = rcdata_state; + originalInsertionMode = parser; + parser = text_mode; + } + + // Make a copy of element i on the list of active formatting + // elements, using its original attributes, not current + // attributes (which may have been modified by a script) + function afeclone(i) { + return createHTMLElt(afe.list[i].localName, afe.attrs[i]); + } + + + function afereconstruct() { + if (afe.list.length === 0) return; + var entry = afe.list[afe.list.length-1]; + // If the last is a marker , do nothing + if (entry === afe.MARKER) return; + // Or if it is an open element, do nothing + if (stack.elements.lastIndexOf(entry) !== -1) return; + + // Loop backward through the list until we find a marker or an + // open element, and then move forward one from there. + for(var i = afe.list.length-2; i >= 0; i--) { + entry = afe.list[i]; + if (entry === afe.MARKER) break; + if (stack.elements.lastIndexOf(entry) !== -1) break; + } + + // Now loop forward, starting from the element after the current + // one, recreating formatting elements and pushing them back onto + // the list of open elements + for(i = i+1; i < afe.list.length; i++) { + var newelt = afeclone(i); + insertElement(newelt); + afe.list[i] = newelt; + } + } + + // Used by the adoptionAgency() function + var BOOKMARK = {localName:"BM"}; + + function adoptionAgency(tag) { + // Let outer loop counter be zero. + var outer = 0; + + // Outer loop: If outer loop counter is greater than or + // equal to eight, then abort these steps. + while(outer < 8) { + // Increment outer loop counter by one. + outer++; + + // Let the formatting element be the last element in the list + // of active formatting elements that: is between the end of + // the list and the last scope marker in the list, if any, or + // the start of the list otherwise, and has the same tag name + // as the token. + var fmtelt = afe.findElementByTag(tag); + + // If there is no such node, then abort these steps and instead + // act as described in the "any other end tag" entry below. + if (!fmtelt) { + return false; // false means handle by the default case + } + + // Otherwise, if there is such a node, but that node is not in + // the stack of open elements, then this is a parse error; + // remove the element from the list, and abort these steps. + var index = stack.elements.lastIndexOf(fmtelt); + if (index === -1) { + afe.remove(fmtelt); + return true; // true means no more handling required + } + + // Otherwise, if there is such a node, and that node is also in + // the stack of open elements, but the element is not in scope, + // then this is a parse error; ignore the token, and abort + // these steps. + if (!stack.elementInScope(fmtelt)) { + return true; + } + + // Let the furthest block be the topmost node in the stack of + // open elements that is lower in the stack than the formatting + // element, and is an element in the special category. There + // might not be one. + var furthestblock = null, furthestblockindex; + for(var i = index+1; i < stack.elements.length; i++) { + if (isA(stack.elements[i], specialSet)) { + furthestblock = stack.elements[i]; + furthestblockindex = i; + break; + } + } + + // If there is no furthest block, then the UA must skip the + // subsequent steps and instead just pop all the nodes from the + // bottom of the stack of open elements, from the current node + // up to and including the formatting element, and remove the + // formatting element from the list of active formatting + // elements. + if (!furthestblock) { + stack.popElement(fmtelt); + afe.remove(fmtelt); + return true; + } + else { + // Let the common ancestor be the element immediately above + // the formatting element in the stack of open elements. + var ancestor = stack.elements[index-1]; + + // Let a bookmark note the position of the formatting + // element in the list of active formatting elements + // relative to the elements on either side of it in the + // list. + afe.insertAfter(fmtelt, BOOKMARK); + + // Let node and last node be the furthest block. + var node = furthestblock; + var lastnode = furthestblock; + var nodeindex = furthestblockindex; + var nodeafeindex; + + // Let inner loop counter be zero. + var inner = 0; + + // Inner loop: If inner loop counter is greater than + // or equal to three, then abort these steps. + while(inner < 3) { + + // Increment inner loop counter by one. + inner++; + + // Let node be the element immediately above node in + // the stack of open elements, or if node is no longer + // in the stack of open elements (e.g. because it got + // removed by the next step), the element that was + // immediately above node in the stack of open elements + // before node was removed. + node = stack.elements[--nodeindex]; + + // If node is not in the list of active formatting + // elements, then remove node from the stack of open + // elements and then go back to the step labeled inner + // loop. + nodeafeindex = afe.indexOf(node); + if (nodeafeindex === -1) { + stack.removeElement(node); + continue; + } + + // Otherwise, if node is the formatting element, then go + // to the next step in the overall algorithm. + if (node === fmtelt) break; + + // Create an element for the token for which the + // element node was created, replace the entry for node + // in the list of active formatting elements with an + // entry for the new element, replace the entry for + // node in the stack of open elements with an entry for + // the new element, and let node be the new element. + var newelt = afeclone(nodeafeindex); + afe.replace(node, newelt); + stack.elements[nodeindex] = newelt; + node = newelt; + + // If last node is the furthest block, then move the + // aforementioned bookmark to be immediately after the + // new node in the list of active formatting elements. + if (lastnode === furthestblock) { + afe.remove(BOOKMARK); + afe.insertAfter(newelt, BOOKMARK); + } + + // Insert last node into node, first removing it from + // its previous parent node if any. + node._appendChild(lastnode); + + // Let last node be node. + lastnode = node; + } + + // If the common ancestor node is a table, tbody, tfoot, + // thead, or tr element, then, foster parent whatever last + // node ended up being in the previous step, first removing + // it from its previous parent node if any. + if (isA(ancestor, tablesectionrowSet)) { + fosterParent(lastnode); + } + // Otherwise, append whatever last node ended up being in + // the previous step to the common ancestor node, first + // removing it from its previous parent node if any. + else { + ancestor._appendChild(lastnode); + } + + // Create an element for the token for which the + // formatting element was created. + var newelt2 = afeclone(afe.indexOf(fmtelt)); + + // Take all of the child nodes of the furthest block and + // append them to the element created in the last step. + while(furthestblock.hasChildNodes()) { + newelt2._appendChild(furthestblock.firstChild); + } + + // Append that new element to the furthest block. + furthestblock._appendChild(newelt2); + + // Remove the formatting element from the list of active + // formatting elements, and insert the new element into the + // list of active formatting elements at the position of + // the aforementioned bookmark. + afe.remove(fmtelt); + afe.replace(BOOKMARK, newelt2); + + // Remove the formatting element from the stack of open + // elements, and insert the new element into the stack of + // open elements immediately below the position of the + // furthest block in that stack. + stack.removeElement(fmtelt); + var pos = stack.elements.lastIndexOf(furthestblock); + stack.elements.splice(pos+1, 0, newelt2); + } + } + + return true; + } + + // We do this when we get /script in in_text_mode + function handleScriptEnd() { + // XXX: + // This is just a stub implementation right now and doesn't run scripts. + // Getting this method right involves the event loop, URL resolution + // script fetching etc. For now I just want to be able to parse + // documents and test the parser. + + var script = stack.top; + stack.pop(); + parser = originalInsertionMode; + //script._prepare(); + return; + + // XXX: here is what this method is supposed to do + + // Provide a stable state. + + // Let script be the current node (which will be a script + // element). + + // Pop the current node off the stack of open elements. + + // Switch the insertion mode to the original insertion mode. + + // Let the old insertion point have the same value as the current + // insertion point. Let the insertion point be just before the + // next input character. + + // Increment the parser's script nesting level by one. + + // Prepare the script. This might cause some script to execute, + // which might cause new characters to be inserted into the + // tokenizer, and might cause the tokenizer to output more tokens, + // resulting in a reentrant invocation of the parser. + + // Decrement the parser's script nesting level by one. If the + // parser's script nesting level is zero, then set the parser + // pause flag to false. + + // Let the insertion point have the value of the old insertion + // point. (In other words, restore the insertion point to its + // previous value. This value might be the "undefined" value.) + + // At this stage, if there is a pending parsing-blocking script, + // then: + + // If the script nesting level is not zero: + + // Set the parser pause flag to true, and abort the processing + // of any nested invocations of the tokenizer, yielding + // control back to the caller. (Tokenization will resume when + // the caller returns to the "outer" tree construction stage.) + + // The tree construction stage of this particular parser is + // being called reentrantly, say from a call to + // document.write(). + + // Otherwise: + + // Run these steps: + + // Let the script be the pending parsing-blocking + // script. There is no longer a pending + // parsing-blocking script. + + // Block the tokenizer for this instance of the HTML + // parser, such that the event loop will not run tasks + // that invoke the tokenizer. + + // If the parser's Document has a style sheet that is + // blocking scripts or the script's "ready to be + // parser-executed" flag is not set: spin the event + // loop until the parser's Document has no style sheet + // that is blocking scripts and the script's "ready to + // be parser-executed" flag is set. + + // Unblock the tokenizer for this instance of the HTML + // parser, such that tasks that invoke the tokenizer + // can again be run. + + // Let the insertion point be just before the next + // input character. + + // Increment the parser's script nesting level by one + // (it should be zero before this step, so this sets + // it to one). + + // Execute the script. + + // Decrement the parser's script nesting level by + // one. If the parser's script nesting level is zero + // (which it always should be at this point), then set + // the parser pause flag to false. + + // Let the insertion point be undefined again. + + // If there is once again a pending parsing-blocking + // script, then repeat these steps from step 1. + + + } + + function stopParsing() { + // XXX This is just a temporary implementation to get the parser working. + // A full implementation involves scripts and events and the event loop. + + // Remove the link from document to parser. + // This is instead of "set the insertion point to undefined". + // It means that document.write() can't write into the doc anymore. + delete doc._parser; + + stack.elements.length = 0; // pop everything off + + // If there is a window object associated with the document + // then trigger an load event on it + if (doc.defaultView) { + doc.defaultView.dispatchEvent(new impl.Event("load",{})); + } + + } + + /**** + * Tokenizer states + */ + + /** + * This file was partially mechanically generated from + * http://www.whatwg.org/specs/web-apps/current-work/multipage/tokenization.html + * + * After mechanical conversion, it was further converted from + * prose to JS by hand, but the intent is that it is a very + * faithful rendering of the HTML tokenization spec in + * JavaScript. + * + * It is not a goal of this tokenizer to detect or report + * parse errors. + * + * XXX The tokenizer is supposed to work with straight UTF32 + * codepoints. But I don't think it has any dependencies on + * any character outside of the BMP so I think it is safe to + * pass it UTF16 characters. I don't think it will ever change + * state in the middle of a surrogate pair. + */ + + /* + * Each state is represented by a function. For most states, the + * scanner simply passes the next character (as an integer + * codepoint) to the current state function and automatically + * consumes the character. If the state function can't process + * the character it can call pushback() to push it back to the + * scanner. + * + * Some states require lookahead, though. If a state function has + * a lookahead property, then it is invoked differently. In this + * case, the scanner invokes the function with 3 arguments: 1) the + * next codepoint 2) a string of lookahead text 3) a boolean that + * is true if the lookahead goes all the way to the EOF. (XXX + * actually maybe this third is not necessary... the lookahead + * could just include \uFFFF?) + * + * If the lookahead property of a state function is an integer, it + * specifies the number of characters required. If it is a string, + * then the scanner will scan for that string and return all + * characters up to and including that sequence, or up to EOF. If + * the lookahead property is a regexp, then the scanner will match + * the regexp at the current point and return the matching string. + * + * States that require lookahead are responsible for explicitly + * consuming the characters they process. They do this by + * incrementing nextchar by the number of processed characters. + */ + + function data_state(c) { + switch(c) { + case 0x0026: // AMPERSAND + tokenizer = character_reference_in_data_state; + break; + case 0x003C: // LESS-THAN SIGN + if (emitSimpleTag()) // Shortcut for

    ,

    ,
    etc. + break; + tokenizer = tag_open_state; + break; + case 0x0000: // NULL + // Usually null characters emitted by the tokenizer will be + // ignored by the tree builder, but sometimes they'll be + // converted to \uFFFD. I don't want to have the search every + // string emitted to replace NULs, so I'll set a flag + // if I've emitted a NUL. + textrun.push(c); + textIncludesNUL = true; + break; + case -1: // EOF + emitEOF(); + break; + default: + // Instead of just pushing a single character and then + // coming back to the very same place, lookahead and + // emit everything we can at once. + emitCharsWhile(DATATEXT) || textrun.push(c); + break; + } + } + + function character_reference_in_data_state(c, lookahead, eof) { + var char = parseCharRef(lookahead, false); + if (char !== null) { + if (typeof char === "number") textrun.push(char); + else pushAll(textrun, char); // An array of characters + } + else + textrun.push(0x0026); // AMPERSAND; + + tokenizer = data_state; + } + character_reference_in_data_state.lookahead = CHARREF; + + function rcdata_state(c) { + // Save the open tag so we can find a matching close tag + switch(c) { + case 0x0026: // AMPERSAND + tokenizer = character_reference_in_rcdata_state; + break; + case 0x003C: // LESS-THAN SIGN + tokenizer = rcdata_less_than_sign_state; + break; + case 0x0000: // NULL + textrun.push(0xFFFD); // REPLACEMENT CHARACTER + textIncludesNUL = true; + break; + case -1: // EOF + emitEOF(); + break; + default: + textrun.push(c); + break; + } + } + + function character_reference_in_rcdata_state(c, lookahead, eof) { + var char = parseCharRef(lookahead, false); + if (char !== null) { + if (typeof char === "number") textrun.push(char); + else pushAll(textrun, char); // An array of characters + } + else + textrun.push(0x0026); // AMPERSAND; + + tokenizer = rcdata_state; + } + character_reference_in_rcdata_state.lookahead = CHARREF; + + function rawtext_state(c) { + switch(c) { + case 0x003C: // LESS-THAN SIGN + tokenizer = rawtext_less_than_sign_state; + break; + case 0x0000: // NULL + textrun.push(0xFFFD); // REPLACEMENT CHARACTER + break; + case -1: // EOF + emitEOF(); + break; + default: + emitCharsWhile(RAWTEXT) || textrun.push(c); + break; + } + } + + function script_data_state(c) { + switch(c) { + case 0x003C: // LESS-THAN SIGN + tokenizer = script_data_less_than_sign_state; + break; + case 0x0000: // NULL + textrun.push(0xFFFD); // REPLACEMENT CHARACTER + break; + case -1: // EOF + emitEOF(); + break; + default: + emitCharsWhile(RAWTEXT) || textrun.push(c); + break; + } + } + + function plaintext_state(c) { + switch(c) { + case 0x0000: // NULL + textrun.push(0xFFFD); // REPLACEMENT CHARACTER + break; + case -1: // EOF + emitEOF(); + break; + default: + emitCharsWhile(PLAINTEXT) || textrun.push(c); + break; + } + } + + function tag_open_state(c) { + switch(c) { + case 0x0021: // EXCLAMATION MARK + tokenizer = markup_declaration_open_state; + break; + case 0x002F: // SOLIDUS + tokenizer = end_tag_open_state; + break; + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + beginTagName(); + tagnamebuf += String.fromCharCode(c + 0x0020 /* to lowercase */); + tokenizer = tag_name_state; + break; + case 0x0061: // [a-z] + case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: + case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: + case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: + case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: + case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: + beginTagName(); + tagnamebuf += getMatchingChars(TAGNAME); + tokenizer = tag_name_state; + break; + case 0x003F: // QUESTION MARK + nextchar--; // pushback + tokenizer = bogus_comment_state; + break; + default: + textrun.push(0x003C); // LESS-THAN SIGN + nextchar--; // pushback + tokenizer = data_state; + break; + } + } + + function end_tag_open_state(c) { + switch(c) { + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + beginEndTagName(); + tagnamebuf += String.fromCharCode(c + 0x0020 /* to lowercase */); + tokenizer = tag_name_state; + break; + case 0x0061: // [a-z] + case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: + case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: + case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: + case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: + case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: + beginEndTagName(); + tagnamebuf += getMatchingChars(TAGNAME); + tokenizer = tag_name_state; + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + break; + case -1: // EOF + textrun.push(0x003C); // LESS-THAN SIGN + textrun.push(0x002F); // SOLIDUS + nextchar--; // pushback + tokenizer = data_state; + break; + default: + nextchar--; // pushback + tokenizer = bogus_comment_state; + break; + } + } + + function tag_name_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + tokenizer = before_attribute_name_state; + break; + case 0x002F: // SOLIDUS + tokenizer = self_closing_start_tag_state; + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + emitTag(); + break; + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + tagnamebuf += String.fromCharCode(c + 0x0020); + break; + case 0x0000: // NULL + tagnamebuf += String.fromCharCode(0xFFFD /* REPLACEMENT CHARACTER */); + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + default: + tagnamebuf += getMatchingChars(TAGNAME); + break; + } + } + + function rcdata_less_than_sign_state(c) { + /* identical to the RAWTEXT less-than sign state, except s/RAWTEXT/RCDATA/g */ + if (c === 0x002F) { // SOLIDUS + beginTempBuf(); + tokenizer = rcdata_end_tag_open_state; + } + else { + textrun.push(0x003C); // LESS-THAN SIGN + nextchar--; // pushback + tokenizer = rcdata_state; + } + } + + function rcdata_end_tag_open_state(c) { + /* identical to the RAWTEXT (and Script data) end tag open state, except s/RAWTEXT/RCDATA/g */ + switch(c) { + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + beginEndTagName(); + tagnamebuf += String.fromCharCode(c + 0x0020); + tempbuf.push(c); + tokenizer = rcdata_end_tag_name_state; + break; + case 0x0061: // [a-z] + case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: + case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: + case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: + case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: + case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: + beginEndTagName(); + tagnamebuf += String.fromCharCode(c); + tempbuf.push(c); + tokenizer = rcdata_end_tag_name_state; + break; + default: + textrun.push(0x003C); // LESS-THAN SIGN + textrun.push(0x002F); // SOLIDUS + nextchar--; // pushback + tokenizer = rcdata_state; + break; + } + } + + function rcdata_end_tag_name_state(c) { + /* identical to the RAWTEXT (and Script data) end tag name state, except s/RAWTEXT/RCDATA/g */ + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + if (appropriateEndTag(tagnamebuf)) { + tokenizer = before_attribute_name_state; + return; + } + break; + case 0x002F: // SOLIDUS + if (appropriateEndTag(tagnamebuf)) { + tokenizer = self_closing_start_tag_state; + return; + } + break; + case 0x003E: // GREATER-THAN SIGN + if (appropriateEndTag(tagnamebuf)) { + tokenizer = data_state; + emitTag(); + return; + } + break; + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + + tagnamebuf += String.fromCharCode(c + 0x0020); + tempbuf.push(c); + return; + case 0x0061: // [a-z] + case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: + case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: + case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: + case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: + case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: + + tagnamebuf += String.fromCharCode(c); + tempbuf.push(c); + return; + default: + break; + } + + // If we don't return in one of the cases above, then this was not + // an appropriately matching close tag, so back out by emitting all + // the characters as text + textrun.push(0x003C); // LESS-THAN SIGN + textrun.push(0x002F); // SOLIDUS + pushAll(textrun, tempbuf); + nextchar--; // pushback + tokenizer = rcdata_state; + } + + function rawtext_less_than_sign_state(c) { + /* identical to the RCDATA less-than sign state, except s/RCDATA/RAWTEXT/g + */ + if (c === 0x002F) { // SOLIDUS + beginTempBuf(); + tokenizer = rawtext_end_tag_open_state; + } + else { + textrun.push(0x003C); // LESS-THAN SIGN + nextchar--; // pushback + tokenizer = rawtext_state; + } + } + + function rawtext_end_tag_open_state(c) { + /* identical to the RCDATA (and Script data) end tag open state, except s/RCDATA/RAWTEXT/g */ + switch(c) { + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + beginEndTagName(); + tagnamebuf += String.fromCharCode(c + 0x0020); + tempbuf.push(c); + tokenizer = rawtext_end_tag_name_state; + break; + case 0x0061: // [a-z] + case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: + case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: + case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: + case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: + case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: + beginEndTagName(); + tagnamebuf += String.fromCharCode(c); + tempbuf.push(c); + tokenizer = rawtext_end_tag_name_state; + break; + default: + textrun.push(0x003C); // LESS-THAN SIGN + textrun.push(0x002F); // SOLIDUS + nextchar--; // pushback + tokenizer = rawtext_state; + break; + } + } + + function rawtext_end_tag_name_state(c) { + /* identical to the RCDATA (and Script data) end tag name state, except s/RCDATA/RAWTEXT/g */ + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + if (appropriateEndTag(tagnamebuf)) { + tokenizer = before_attribute_name_state; + return; + } + break; + case 0x002F: // SOLIDUS + if (appropriateEndTag(tagnamebuf)) { + tokenizer = self_closing_start_tag_state; + return; + } + break; + case 0x003E: // GREATER-THAN SIGN + if (appropriateEndTag(tagnamebuf)) { + tokenizer = data_state; + emitTag(); + return; + } + break; + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + tagnamebuf += String.fromCharCode(c + 0x0020); + tempbuf.push(c); + return; + case 0x0061: // [a-z] + case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: + case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: + case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: + case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: + case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: + tagnamebuf += String.fromCharCode(c); + tempbuf.push(c); + return; + default: + break; + } + + // If we don't return in one of the cases above, then this was not + // an appropriately matching close tag, so back out by emitting all + // the characters as text + textrun.push(0x003C); // LESS-THAN SIGN + textrun.push(0x002F); // SOLIDUS + pushAll(textrun,tempbuf); + nextchar--; // pushback + tokenizer = rawtext_state; + } + + function script_data_less_than_sign_state(c) { + switch(c) { + case 0x002F: // SOLIDUS + beginTempBuf(); + tokenizer = script_data_end_tag_open_state; + break; + case 0x0021: // EXCLAMATION MARK + tokenizer = script_data_escape_start_state; + textrun.push(0x003C); // LESS-THAN SIGN + textrun.push(0x0021); // EXCLAMATION MARK + break; + default: + textrun.push(0x003C); // LESS-THAN SIGN + nextchar--; // pushback + tokenizer = script_data_state; + break; + } + } + + function script_data_end_tag_open_state(c) { + /* identical to the RCDATA (and RAWTEXT) end tag open state, except s/RCDATA/Script data/g */ + switch(c) { + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + beginEndTagName(); + tagnamebuf += String.fromCharCode(c + 0x0020); + tempbuf.push(c); + tokenizer = script_data_end_tag_name_state; + break; + case 0x0061: // [a-z] + case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: + case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: + case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: + case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: + case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: + beginEndTagName(); + tagnamebuf += String.fromCharCode(c); + tempbuf.push(c); + tokenizer = script_data_end_tag_name_state; + break; + default: + textrun.push(0x003C); // LESS-THAN SIGN + textrun.push(0x002F); // SOLIDUS + nextchar--; // pushback + tokenizer = script_data_state; + break; + } + } + + function script_data_end_tag_name_state(c) { + /* identical to the RCDATA (and RAWTEXT) end tag name state, except s/RCDATA/Script data/g */ + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + if (appropriateEndTag(tagnamebuf)) { + tokenizer = before_attribute_name_state; + return; + } + break; + case 0x002F: // SOLIDUS + if (appropriateEndTag(tagnamebuf)) { + tokenizer = self_closing_start_tag_state; + return; + } + break; + case 0x003E: // GREATER-THAN SIGN + if (appropriateEndTag(tagnamebuf)) { + tokenizer = data_state; + emitTag(); + return; + } + break; + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + + tagnamebuf += String.fromCharCode(c + 0x0020); + tempbuf.push(c); + return; + case 0x0061: // [a-z] + case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: + case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: + case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: + case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: + case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: + + tagnamebuf += String.fromCharCode(c); + tempbuf.push(c); + return; + default: + break; + } + + // If we don't return in one of the cases above, then this was not + // an appropriately matching close tag, so back out by emitting all + // the characters as text + textrun.push(0x003C); // LESS-THAN SIGN + textrun.push(0x002F); // SOLIDUS + pushAll(textrun,tempbuf); + nextchar--; // pushback + tokenizer = script_data_state; + } + + function script_data_escape_start_state(c) { + if (c === 0x002D) { // HYPHEN-MINUS + tokenizer = script_data_escape_start_dash_state; + textrun.push(0x002D); // HYPHEN-MINUS + } + else { + nextchar--; // pushback + tokenizer = script_data_state; + } + } + + function script_data_escape_start_dash_state(c) { + if (c === 0x002D) { // HYPHEN-MINUS + tokenizer = script_data_escaped_dash_dash_state; + textrun.push(0x002D); // HYPHEN-MINUS + } + else { + nextchar--; // pushback + tokenizer = script_data_state; + } + } + + function script_data_escaped_state(c) { + switch(c) { + case 0x002D: // HYPHEN-MINUS + tokenizer = script_data_escaped_dash_state; + textrun.push(0x002D); // HYPHEN-MINUS + break; + case 0x003C: // LESS-THAN SIGN + tokenizer = script_data_escaped_less_than_sign_state; + break; + case 0x0000: // NULL + textrun.push(0xFFFD); // REPLACEMENT CHARACTER + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + default: + textrun.push(c); + break; + } + } + + function script_data_escaped_dash_state(c) { + switch(c) { + case 0x002D: // HYPHEN-MINUS + tokenizer = script_data_escaped_dash_dash_state; + textrun.push(0x002D); // HYPHEN-MINUS + break; + case 0x003C: // LESS-THAN SIGN + tokenizer = script_data_escaped_less_than_sign_state; + break; + case 0x0000: // NULL + tokenizer = script_data_escaped_state; + textrun.push(0xFFFD); // REPLACEMENT CHARACTER + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + default: + tokenizer = script_data_escaped_state; + textrun.push(c); + break; + } + } + + function script_data_escaped_dash_dash_state(c) { + switch(c) { + case 0x002D: // HYPHEN-MINUS + textrun.push(0x002D); // HYPHEN-MINUS + break; + case 0x003C: // LESS-THAN SIGN + tokenizer = script_data_escaped_less_than_sign_state; + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = script_data_state; + textrun.push(0x003E); // GREATER-THAN SIGN + break; + case 0x0000: // NULL + tokenizer = script_data_escaped_state; + textrun.push(0xFFFD); // REPLACEMENT CHARACTER + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + default: + tokenizer = script_data_escaped_state; + textrun.push(c); + break; + } + } + + function script_data_escaped_less_than_sign_state(c) { + switch(c) { + case 0x002F: // SOLIDUS + beginTempBuf(); + tokenizer = script_data_escaped_end_tag_open_state; + break; + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + beginTempBuf(); + tempbuf.push(c + 0x0020); + tokenizer = script_data_double_escape_start_state; + textrun.push(0x003C); // LESS-THAN SIGN + textrun.push(c); + break; + case 0x0061: // [a-z] + case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: + case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: + case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: + case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: + case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: + beginTempBuf(); + tempbuf.push(c); + tokenizer = script_data_double_escape_start_state; + textrun.push(0x003C); // LESS-THAN SIGN + textrun.push(c); + break; + default: + textrun.push(0x003C); // LESS-THAN SIGN + nextchar--; // pushback + tokenizer = script_data_escaped_state; + break; + } + } + + function script_data_escaped_end_tag_open_state(c) { + switch(c) { + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + beginEndTagName(); + tagnamebuf += String.fromCharCode(c + 0x0020); + tempbuf.push(c); + tokenizer = script_data_escaped_end_tag_name_state; + break; + case 0x0061: // [a-z] + case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: + case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: + case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: + case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: + case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: + beginEndTagName(); + tagnamebuf += String.fromCharCode(c); + tempbuf.push(c); + tokenizer = script_data_escaped_end_tag_name_state; + break; + default: + textrun.push(0x003C); // LESS-THAN SIGN + textrun.push(0x002F); // SOLIDUS + nextchar--; // pushback + tokenizer = script_data_escaped_state; + break; + } + } + + function script_data_escaped_end_tag_name_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + if (appropriateEndTag(tagnamebuf)) { + tokenizer = before_attribute_name_state; + return; + } + break; + case 0x002F: // SOLIDUS + if (appropriateEndTag(tagnamebuf)) { + tokenizer = self_closing_start_tag_state; + return; + } + break; + case 0x003E: // GREATER-THAN SIGN + if (appropriateEndTag(tagnamebuf)) { + tokenizer = data_state; + emitTag(); + return; + } + break; + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + tagnamebuf += String.fromCharCode(c + 0x0020); + tempbuf.push(c); + return; + case 0x0061: // [a-z] + case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: + case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: + case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: + case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: + case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: + tagnamebuf += String.fromCharCode(c); + tempbuf.push(c); + return; + default: + break; + } + + // We get here in the default case, and if the closing tagname + // is not an appropriate tagname. + textrun.push(0x003C); // LESS-THAN SIGN + textrun.push(0x002F); // SOLIDUS + pushAll(textrun,tempbuf); + nextchar--; // pushback + tokenizer = script_data_escaped_state; + } + + function script_data_double_escape_start_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + case 0x002F: // SOLIDUS + case 0x003E: // GREATER-THAN SIGN + if (buf2str(tempbuf) === "script") { + tokenizer = script_data_double_escaped_state; + } + else { + tokenizer = script_data_escaped_state; + } + textrun.push(c); + break; + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + tempbuf.push(c + 0x0020); + textrun.push(c); + break; + case 0x0061: // [a-z] + case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: + case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: + case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: + case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: + case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: + tempbuf.push(c); + textrun.push(c); + break; + default: + nextchar--; // pushback + tokenizer = script_data_escaped_state; + break; + } + } + + function script_data_double_escaped_state(c) { + switch(c) { + case 0x002D: // HYPHEN-MINUS + tokenizer = script_data_double_escaped_dash_state; + textrun.push(0x002D); // HYPHEN-MINUS + break; + case 0x003C: // LESS-THAN SIGN + tokenizer = script_data_double_escaped_less_than_sign_state; + textrun.push(0x003C); // LESS-THAN SIGN + break; + case 0x0000: // NULL + textrun.push(0xFFFD); // REPLACEMENT CHARACTER + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + default: + textrun.push(c); + break; + } + } + + function script_data_double_escaped_dash_state(c) { + switch(c) { + case 0x002D: // HYPHEN-MINUS + tokenizer = script_data_double_escaped_dash_dash_state; + textrun.push(0x002D); // HYPHEN-MINUS + break; + case 0x003C: // LESS-THAN SIGN + tokenizer = script_data_double_escaped_less_than_sign_state; + textrun.push(0x003C); // LESS-THAN SIGN + break; + case 0x0000: // NULL + tokenizer = script_data_double_escaped_state; + textrun.push(0xFFFD); // REPLACEMENT CHARACTER + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + default: + tokenizer = script_data_double_escaped_state; + textrun.push(c); + break; + } + } + + function script_data_double_escaped_dash_dash_state(c) { + switch(c) { + case 0x002D: // HYPHEN-MINUS + textrun.push(0x002D); // HYPHEN-MINUS + break; + case 0x003C: // LESS-THAN SIGN + tokenizer = script_data_double_escaped_less_than_sign_state; + textrun.push(0x003C); // LESS-THAN SIGN + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = script_data_state; + textrun.push(0x003E); // GREATER-THAN SIGN + break; + case 0x0000: // NULL + tokenizer = script_data_double_escaped_state; + textrun.push(0xFFFD); // REPLACEMENT CHARACTER + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + default: + tokenizer = script_data_double_escaped_state; + textrun.push(c); + break; + } + } + + function script_data_double_escaped_less_than_sign_state(c) { + if (c === 0x002F) { // SOLIDUS + beginTempBuf(); + tokenizer = script_data_double_escape_end_state; + textrun.push(0x002F); // SOLIDUS + } + else { + nextchar--; // pushback + tokenizer = script_data_double_escaped_state; + } + } + + function script_data_double_escape_end_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + case 0x002F: // SOLIDUS + case 0x003E: // GREATER-THAN SIGN + if (buf2str(tempbuf) === "script") { + tokenizer = script_data_escaped_state; + } + else { + tokenizer = script_data_double_escaped_state; + } + textrun.push(c); + break; + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + tempbuf.push(c + 0x0020); + textrun.push(c); + break; + case 0x0061: // [a-z] + case 0x0062:case 0x0063:case 0x0064:case 0x0065:case 0x0066: + case 0x0067:case 0x0068:case 0x0069:case 0x006A:case 0x006B: + case 0x006C:case 0x006D:case 0x006E:case 0x006F:case 0x0070: + case 0x0071:case 0x0072:case 0x0073:case 0x0074:case 0x0075: + case 0x0076:case 0x0077:case 0x0078:case 0x0079:case 0x007A: + tempbuf.push(c); + textrun.push(c); + break; + default: + nextchar--; // pushback + tokenizer = script_data_double_escaped_state; + break; + } + } + + function before_attribute_name_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + /* Ignore the character. */ + break; + case 0x002F: // SOLIDUS + tokenizer = self_closing_start_tag_state; + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + emitTag(); + break; + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + beginAttrName(); + attrnamebuf += String.fromCharCode(c + 0x0020); + tokenizer = attribute_name_state; + break; + case 0x0000: // NULL + beginAttrName(); + attrnamebuf += String.fromCharCode(0xFFFD); + tokenizer = attribute_name_state; + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + case 0x0022: // QUOTATION MARK + case 0x0027: // APOSTROPHE + case 0x003C: // LESS-THAN SIGN + case 0x003D: // EQUALS SIGN + /* falls through */ + default: + if (handleSimpleAttribute()) break; + beginAttrName(); + if (c === 0x003D) { + attrnamebuf += '='; // not valid elsewhere in attribute_name_state! + } else { + attrnamebuf += getMatchingChars(ATTRNAME); + } + tokenizer = attribute_name_state; + break; + } + } + + function attribute_name_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + tokenizer = after_attribute_name_state; + break; + case 0x002F: // SOLIDUS + addAttribute(attrnamebuf); + tokenizer = self_closing_start_tag_state; + break; + case 0x003D: // EQUALS SIGN + beginAttrValue(); + tokenizer = before_attribute_value_state; + break; + case 0x003E: // GREATER-THAN SIGN + addAttribute(attrnamebuf); + tokenizer = data_state; + emitTag(); + break; + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + attrnamebuf += String.fromCharCode(c + 0x0020); + break; + case 0x0000: // NULL + attrnamebuf += String.fromCharCode(0xFFFD /* REPLACEMENT CHARACTER */); + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + case 0x0022: // QUOTATION MARK + case 0x0027: // APOSTROPHE + case 0x003C: // LESS-THAN SIGN + /* falls through */ + default: + attrnamebuf += getMatchingChars(ATTRNAME); + break; + } + } + + function after_attribute_name_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + /* Ignore the character. */ + break; + case 0x002F: // SOLIDUS + addAttribute(attrnamebuf); + tokenizer = self_closing_start_tag_state; + break; + case 0x003D: // EQUALS SIGN + beginAttrValue(); + tokenizer = before_attribute_value_state; + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + addAttribute(attrnamebuf); + emitTag(); + break; + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + addAttribute(attrnamebuf); + beginAttrName(); + attrnamebuf += String.fromCharCode(c + 0x0020); + tokenizer = attribute_name_state; + break; + case 0x0000: // NULL + addAttribute(attrnamebuf); + beginAttrName(); + attrnamebuf += String.fromCharCode(0xFFFD); + tokenizer = attribute_name_state; + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + case 0x0022: // QUOTATION MARK + case 0x0027: // APOSTROPHE + case 0x003C: // LESS-THAN SIGN + /* falls through */ + default: + addAttribute(attrnamebuf); + beginAttrName(); + attrnamebuf += getMatchingChars(ATTRNAME); + tokenizer = attribute_name_state; + break; + } + } + + function before_attribute_value_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + /* Ignore the character. */ + break; + case 0x0022: // QUOTATION MARK + tokenizer = attribute_value_double_quoted_state; + break; + case 0x0026: // AMPERSAND + nextchar--; // pushback + tokenizer = attribute_value_unquoted_state; + break; + case 0x0027: // APOSTROPHE + tokenizer = attribute_value_single_quoted_state; + break; + case 0x0000: // NULL + attrvaluebuf += String.fromCharCode(0xFFFD /* REPLACEMENT CHARACTER */); + tokenizer = attribute_value_unquoted_state; + break; + case 0x003E: // GREATER-THAN SIGN + addAttribute(attrnamebuf); + emitTag(); + tokenizer = data_state; + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + case 0x003C: // LESS-THAN SIGN + case 0x003D: // EQUALS SIGN + case 0x0060: // GRAVE ACCENT + /* falls through */ + default: + attrvaluebuf += getMatchingChars(UNQUOTEDATTRVAL); + tokenizer = attribute_value_unquoted_state; + break; + } + } + + function attribute_value_double_quoted_state(c) { + switch(c) { + case 0x0022: // QUOTATION MARK + addAttribute(attrnamebuf, attrvaluebuf); + tokenizer = after_attribute_value_quoted_state; + break; + case 0x0026: // AMPERSAND + pushState(); + tokenizer = character_reference_in_attribute_value_state; + break; + case 0x0000: // NULL + attrvaluebuf += String.fromCharCode(0xFFFD /* REPLACEMENT CHARACTER */); + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + case 0x000A: // LF + // this could be a converted \r, so don't use getMatchingChars + attrvaluebuf += String.fromCharCode(c); + break; + default: + attrvaluebuf += getMatchingChars(DBLQUOTEATTRVAL); + break; + } + } + + function attribute_value_single_quoted_state(c) { + switch(c) { + case 0x0027: // APOSTROPHE + addAttribute(attrnamebuf, attrvaluebuf); + tokenizer = after_attribute_value_quoted_state; + break; + case 0x0026: // AMPERSAND + pushState(); + tokenizer = character_reference_in_attribute_value_state; + break; + case 0x0000: // NULL + attrvaluebuf += String.fromCharCode(0xFFFD /* REPLACEMENT CHARACTER */); + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + case 0x000A: // LF + // this could be a converted \r, so don't use getMatchingChars + attrvaluebuf += String.fromCharCode(c); + break; + default: + attrvaluebuf += getMatchingChars(SINGLEQUOTEATTRVAL); + break; + } + } + + function attribute_value_unquoted_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + addAttribute(attrnamebuf, attrvaluebuf); + tokenizer = before_attribute_name_state; + break; + case 0x0026: // AMPERSAND + pushState(); + tokenizer = character_reference_in_attribute_value_state; + break; + case 0x003E: // GREATER-THAN SIGN + addAttribute(attrnamebuf, attrvaluebuf); + tokenizer = data_state; + emitTag(); + break; + case 0x0000: // NULL + attrvaluebuf += String.fromCharCode(0xFFFD /* REPLACEMENT CHARACTER */); + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + case 0x0022: // QUOTATION MARK + case 0x0027: // APOSTROPHE + case 0x003C: // LESS-THAN SIGN + case 0x003D: // EQUALS SIGN + case 0x0060: // GRAVE ACCENT + /* falls through */ + default: + attrvaluebuf += getMatchingChars(UNQUOTEDATTRVAL); + break; + } + } + + function character_reference_in_attribute_value_state(c, lookahead, eof) { + var char = parseCharRef(lookahead, true); + if (char !== null) { + if (typeof char === "number") + attrvaluebuf += String.fromCharCode(char); + else { + // An array of numbers + attrvaluebuf += String.fromCharCode.apply(String, char); + } + } + else { + attrvaluebuf += '&'; // AMPERSAND; + } + + popState(); + } + character_reference_in_attribute_value_state.lookahead = ATTRCHARREF; + + function after_attribute_value_quoted_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + tokenizer = before_attribute_name_state; + break; + case 0x002F: // SOLIDUS + tokenizer = self_closing_start_tag_state; + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + emitTag(); + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + default: + nextchar--; // pushback + tokenizer = before_attribute_name_state; + break; + } + } + + function self_closing_start_tag_state(c) { + switch(c) { + case 0x003E: // GREATER-THAN SIGN + // Set the self-closing flag of the current tag token. + tokenizer = data_state; + emitSelfClosingTag(true); + break; + case -1: // EOF + nextchar--; // pushback + tokenizer = data_state; + break; + default: + nextchar--; // pushback + tokenizer = before_attribute_name_state; + break; + } + } + + function bogus_comment_state(c, lookahead, eof) { + var len = lookahead.length; + + if (eof) { + nextchar += len-1; // don't consume the eof + } + else { + nextchar += len; + } + + var comment = lookahead.substring(0, len-1); + + comment = comment.replace(/\u0000/g,"\uFFFD"); + comment = comment.replace(/\u000D\u000A/g,"\u000A"); + comment = comment.replace(/\u000D/g,"\u000A"); + + insertToken(COMMENT, comment); + tokenizer = data_state; + } + bogus_comment_state.lookahead = ">"; + + function markup_declaration_open_state(c, lookahead, eof) { + if (lookahead[0] === "-" && lookahead[1] === "-") { + nextchar += 2; + beginComment(); + tokenizer = comment_start_state; + return; + } + + if (lookahead.toUpperCase() === "DOCTYPE") { + nextchar += 7; + tokenizer = doctype_state; + } + else if (lookahead === "[CDATA[" && cdataAllowed()) { + nextchar += 7; + tokenizer = cdata_section_state; + } + else { + tokenizer = bogus_comment_state; + } + } + markup_declaration_open_state.lookahead = 7; + + function comment_start_state(c) { + beginComment(); + switch(c) { + case 0x002D: // HYPHEN-MINUS + tokenizer = comment_start_dash_state; + break; + case 0x0000: // NULL + commentbuf.push(0xFFFD /* REPLACEMENT CHARACTER */); + tokenizer = comment_state; + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + insertToken(COMMENT, buf2str(commentbuf)); + break; /* see comment in comment end state */ + case -1: // EOF + insertToken(COMMENT, buf2str(commentbuf)); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + commentbuf.push(c); + tokenizer = comment_state; + break; + } + } + + function comment_start_dash_state(c) { + switch(c) { + case 0x002D: // HYPHEN-MINUS + tokenizer = comment_end_state; + break; + case 0x0000: // NULL + commentbuf.push(0x002D /* HYPHEN-MINUS */); + commentbuf.push(0xFFFD); + tokenizer = comment_state; + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + insertToken(COMMENT, buf2str(commentbuf)); + break; + case -1: // EOF + insertToken(COMMENT, buf2str(commentbuf)); + nextchar--; // pushback + tokenizer = data_state; + break; /* see comment in comment end state */ + default: + commentbuf.push(0x002D /* HYPHEN-MINUS */); + commentbuf.push(c); + tokenizer = comment_state; + break; + } + } + + function comment_state(c) { + switch(c) { + case 0x002D: // HYPHEN-MINUS + tokenizer = comment_end_dash_state; + break; + case 0x0000: // NULL + commentbuf.push(0xFFFD /* REPLACEMENT CHARACTER */); + break; + case -1: // EOF + insertToken(COMMENT, buf2str(commentbuf)); + nextchar--; // pushback + tokenizer = data_state; + break; /* see comment in comment end state */ + default: + commentbuf.push(c); + break; + } + } + + function comment_end_dash_state(c) { + switch(c) { + case 0x002D: // HYPHEN-MINUS + tokenizer = comment_end_state; + break; + case 0x0000: // NULL + commentbuf.push(0x002D /* HYPHEN-MINUS */); + commentbuf.push(0xFFFD); + tokenizer = comment_state; + break; + case -1: // EOF + insertToken(COMMENT, buf2str(commentbuf)); + nextchar--; // pushback + tokenizer = data_state; + break; /* see comment in comment end state */ + default: + commentbuf.push(0x002D /* HYPHEN-MINUS */); + commentbuf.push(c); + tokenizer = comment_state; + break; + } + } + + function comment_end_state(c) { + switch(c) { + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + insertToken(COMMENT, buf2str(commentbuf)); + break; + case 0x0000: // NULL + commentbuf.push(0x002D); + commentbuf.push(0x002D); + commentbuf.push(0xFFFD); + tokenizer = comment_state; + break; + case 0x0021: // EXCLAMATION MARK + tokenizer = comment_end_bang_state; + break; + case 0x002D: // HYPHEN-MINUS + commentbuf.push(0x002D); + break; + case -1: // EOF + insertToken(COMMENT, buf2str(commentbuf)); + nextchar--; // pushback + tokenizer = data_state; + break; /* For security reasons: otherwise, hostile user could put a script in a comment e.g. in a blog comment and then DOS the server so that the end tag isn't read, and then the commented script tag would be treated as live code */ + default: + commentbuf.push(0x002D); + commentbuf.push(0x002D); + commentbuf.push(c); + tokenizer = comment_state; + break; + } + } + + function comment_end_bang_state(c) { + switch(c) { + case 0x002D: // HYPHEN-MINUS + commentbuf.push(0x002D); + commentbuf.push(0x002D); + commentbuf.push(0x0021); + tokenizer = comment_end_dash_state; + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + insertToken(COMMENT, buf2str(commentbuf)); + break; + case 0x0000: // NULL + commentbuf.push(0x002D); + commentbuf.push(0x002D); + commentbuf.push(0x0021); + commentbuf.push(0xFFFD); + tokenizer = comment_state; + break; + case -1: // EOF + insertToken(COMMENT, buf2str(commentbuf)); + nextchar--; // pushback + tokenizer = data_state; + break; /* see comment in comment end state */ + default: + commentbuf.push(0x002D); + commentbuf.push(0x002D); + commentbuf.push(0x0021); + commentbuf.push(c); + tokenizer = comment_state; + break; + } + } + + function doctype_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + tokenizer = before_doctype_name_state; + break; + case -1: // EOF + beginDoctype(); + forcequirks(); + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + nextchar--; // pushback + tokenizer = before_doctype_name_state; + break; + } + } + + function before_doctype_name_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + /* Ignore the character. */ + break; + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + beginDoctype(); + doctypenamebuf.push(c + 0x0020); + tokenizer = doctype_name_state; + break; + case 0x0000: // NULL + beginDoctype(); + doctypenamebuf.push(0xFFFD); + tokenizer = doctype_name_state; + break; + case 0x003E: // GREATER-THAN SIGN + beginDoctype(); + tokenizer = data_state; + forcequirks(); + emitDoctype(); + break; + case -1: // EOF + beginDoctype(); + forcequirks(); + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + beginDoctype(); + doctypenamebuf.push(c); + tokenizer = doctype_name_state; + break; + } + } + + function doctype_name_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + tokenizer = after_doctype_name_state; + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + emitDoctype(); + break; + case 0x0041: // [A-Z] + case 0x0042:case 0x0043:case 0x0044:case 0x0045:case 0x0046: + case 0x0047:case 0x0048:case 0x0049:case 0x004A:case 0x004B: + case 0x004C:case 0x004D:case 0x004E:case 0x004F:case 0x0050: + case 0x0051:case 0x0052:case 0x0053:case 0x0054:case 0x0055: + case 0x0056:case 0x0057:case 0x0058:case 0x0059:case 0x005A: + doctypenamebuf.push(c + 0x0020); + break; + case 0x0000: // NULL + doctypenamebuf.push(0xFFFD /* REPLACEMENT CHARACTER */); + break; + case -1: // EOF + forcequirks(); + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + doctypenamebuf.push(c); + break; + } + } + + function after_doctype_name_state(c, lookahead, eof) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + /* Ignore the character. */ + nextchar += 1; + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + nextchar += 1; + emitDoctype(); + break; + case -1: // EOF + forcequirks(); + emitDoctype(); + tokenizer = data_state; + break; + default: + lookahead = lookahead.toUpperCase(); + if (lookahead === "PUBLIC") { + nextchar += 6; + tokenizer = after_doctype_public_keyword_state; + } + else if (lookahead === "SYSTEM") { + nextchar += 6; + tokenizer = after_doctype_system_keyword_state; + } + else { + forcequirks(); + tokenizer = bogus_doctype_state; + } + break; + } + } + after_doctype_name_state.lookahead = 6; + + function after_doctype_public_keyword_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + tokenizer = before_doctype_public_identifier_state; + break; + case 0x0022: // QUOTATION MARK + beginDoctypePublicId(); + tokenizer = doctype_public_identifier_double_quoted_state; + break; + case 0x0027: // APOSTROPHE + beginDoctypePublicId(); + tokenizer = doctype_public_identifier_single_quoted_state; + break; + case 0x003E: // GREATER-THAN SIGN + forcequirks(); + tokenizer = data_state; + emitDoctype(); + break; + case -1: // EOF + forcequirks(); + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + forcequirks(); + tokenizer = bogus_doctype_state; + break; + } + } + + function before_doctype_public_identifier_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + /* Ignore the character. */ + break; + case 0x0022: // QUOTATION MARK + beginDoctypePublicId(); + tokenizer = doctype_public_identifier_double_quoted_state; + break; + case 0x0027: // APOSTROPHE + beginDoctypePublicId(); + tokenizer = doctype_public_identifier_single_quoted_state; + break; + case 0x003E: // GREATER-THAN SIGN + forcequirks(); + tokenizer = data_state; + emitDoctype(); + break; + case -1: // EOF + forcequirks(); + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + forcequirks(); + tokenizer = bogus_doctype_state; + break; + } + } + + function doctype_public_identifier_double_quoted_state(c) { + switch(c) { + case 0x0022: // QUOTATION MARK + tokenizer = after_doctype_public_identifier_state; + break; + case 0x0000: // NULL + doctypepublicbuf.push(0xFFFD /* REPLACEMENT CHARACTER */); + break; + case 0x003E: // GREATER-THAN SIGN + forcequirks(); + tokenizer = data_state; + emitDoctype(); + break; + case -1: // EOF + forcequirks(); + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + doctypepublicbuf.push(c); + break; + } + } + + function doctype_public_identifier_single_quoted_state(c) { + switch(c) { + case 0x0027: // APOSTROPHE + tokenizer = after_doctype_public_identifier_state; + break; + case 0x0000: // NULL + doctypepublicbuf.push(0xFFFD /* REPLACEMENT CHARACTER */); + break; + case 0x003E: // GREATER-THAN SIGN + forcequirks(); + tokenizer = data_state; + emitDoctype(); + break; + case -1: // EOF + forcequirks(); + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + doctypepublicbuf.push(c); + break; + } + } + + function after_doctype_public_identifier_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + tokenizer = between_doctype_public_and_system_identifiers_state; + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + emitDoctype(); + break; + case 0x0022: // QUOTATION MARK + beginDoctypeSystemId(); + tokenizer = doctype_system_identifier_double_quoted_state; + break; + case 0x0027: // APOSTROPHE + beginDoctypeSystemId(); + tokenizer = doctype_system_identifier_single_quoted_state; + break; + case -1: // EOF + forcequirks(); + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + forcequirks(); + tokenizer = bogus_doctype_state; + break; + } + } + + function between_doctype_public_and_system_identifiers_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE Ignore the character. + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + emitDoctype(); + break; + case 0x0022: // QUOTATION MARK + beginDoctypeSystemId(); + tokenizer = doctype_system_identifier_double_quoted_state; + break; + case 0x0027: // APOSTROPHE + beginDoctypeSystemId(); + tokenizer = doctype_system_identifier_single_quoted_state; + break; + case -1: // EOF + forcequirks(); + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + forcequirks(); + tokenizer = bogus_doctype_state; + break; + } + } + + function after_doctype_system_keyword_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + tokenizer = before_doctype_system_identifier_state; + break; + case 0x0022: // QUOTATION MARK + beginDoctypeSystemId(); + tokenizer = doctype_system_identifier_double_quoted_state; + break; + case 0x0027: // APOSTROPHE + beginDoctypeSystemId(); + tokenizer = doctype_system_identifier_single_quoted_state; + break; + case 0x003E: // GREATER-THAN SIGN + forcequirks(); + tokenizer = data_state; + emitDoctype(); + break; + case -1: // EOF + forcequirks(); + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + forcequirks(); + tokenizer = bogus_doctype_state; + break; + } + } + + function before_doctype_system_identifier_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE Ignore the character. + break; + case 0x0022: // QUOTATION MARK + beginDoctypeSystemId(); + tokenizer = doctype_system_identifier_double_quoted_state; + break; + case 0x0027: // APOSTROPHE + beginDoctypeSystemId(); + tokenizer = doctype_system_identifier_single_quoted_state; + break; + case 0x003E: // GREATER-THAN SIGN + forcequirks(); + tokenizer = data_state; + emitDoctype(); + break; + case -1: // EOF + forcequirks(); + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + forcequirks(); + tokenizer = bogus_doctype_state; + break; + } + } + + function doctype_system_identifier_double_quoted_state(c) { + switch(c) { + case 0x0022: // QUOTATION MARK + tokenizer = after_doctype_system_identifier_state; + break; + case 0x0000: // NULL + doctypesystembuf.push(0xFFFD /* REPLACEMENT CHARACTER */); + break; + case 0x003E: // GREATER-THAN SIGN + forcequirks(); + tokenizer = data_state; + emitDoctype(); + break; + case -1: // EOF + forcequirks(); + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + doctypesystembuf.push(c); + break; + } + } + + function doctype_system_identifier_single_quoted_state(c) { + switch(c) { + case 0x0027: // APOSTROPHE + tokenizer = after_doctype_system_identifier_state; + break; + case 0x0000: // NULL + doctypesystembuf.push(0xFFFD /* REPLACEMENT CHARACTER */); + break; + case 0x003E: // GREATER-THAN SIGN + forcequirks(); + tokenizer = data_state; + emitDoctype(); + break; + case -1: // EOF + forcequirks(); + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + doctypesystembuf.push(c); + break; + } + } + + function after_doctype_system_identifier_state(c) { + switch(c) { + case 0x0009: // CHARACTER TABULATION (tab) + case 0x000A: // LINE FEED (LF) + case 0x000C: // FORM FEED (FF) + case 0x0020: // SPACE + /* Ignore the character. */ + break; + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + emitDoctype(); + break; + case -1: // EOF + forcequirks(); + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + tokenizer = bogus_doctype_state; + /* This does *not* set the DOCTYPE token's force-quirks flag. */ + break; + } + } + + function bogus_doctype_state(c) { + switch(c) { + case 0x003E: // GREATER-THAN SIGN + tokenizer = data_state; + emitDoctype(); + break; + case -1: // EOF + emitDoctype(); + nextchar--; // pushback + tokenizer = data_state; + break; + default: + /* Ignore the character. */ + break; + } + } + + function cdata_section_state(c, lookahead, eof) { + var len = lookahead.length; + var output; + if (eof) { + nextchar += len-1; // leave the EOF in the scanner + output = lookahead.substring(0, len-1); // don't include the EOF + } + else { + nextchar += len; + output = lookahead.substring(0,len-3); // don't emit the ]]> + } + + if (output.length > 0) { + if (output.indexOf("\u0000") !== -1) + textIncludesNUL = true; + + // XXX Have to deal with CR and CRLF here? + if (output.indexOf("\r") !== -1) { + output = output.replace(/\r\n/, "\n").replace(/\r/, "\n"); + } + + emitCharString(output); + } + + tokenizer = data_state; + } + cdata_section_state.lookahead = "]]>"; + + + /*** + * The tree builder insertion modes + */ + + // 11.2.5.4.1 The "initial" insertion mode + function initial_mode(t, value, arg3, arg4) { + switch(t) { + case 1: // TEXT + value = value.replace(LEADINGWS, ""); // Ignore spaces + if (value.length === 0) return; // Are we done? + break; // Handle anything non-space text below + case 4: // COMMENT + doc._appendChild(doc.createComment(value)); + return; + case 5: // DOCTYPE + var name = value; + var publicid = arg3; + var systemid = arg4; + // Use the constructor directly instead of + // implementation.createDocumentType because the create + // function throws errors on invalid characters, and + // we don't want the parser to throw them. + doc.appendChild(new DocumentType(name,publicid, systemid)); + + // Note that there is no public API for setting quirks mode We can + // do this here because we have access to implementation details + if (force_quirks || + name.toLowerCase() !== "html" || + quirkyPublicIds.test(publicid) || + (systemid && systemid.toLowerCase() === quirkySystemId) || + (systemid === undefined && + conditionallyQuirkyPublicIds.test(publicid))) + doc._quirks = true; + else if (limitedQuirkyPublicIds.test(publicid) || + (systemid !== undefined && + conditionallyQuirkyPublicIds.test(publicid))) + doc._limitedQuirks = true; + parser = before_html_mode; + return; + } + + // tags or non-whitespace text + doc._quirks = true; + parser = before_html_mode; + parser(t,value,arg3,arg4); + } + + // 11.2.5.4.2 The "before html" insertion mode + function before_html_mode(t,value,arg3,arg4) { + var elt; + switch(t) { + case 1: // TEXT + value = value.replace(LEADINGWS, ""); // Ignore spaces + if (value.length === 0) return; // Are we done? + break; // Handle anything non-space text below + case 5: // DOCTYPE + /* ignore the token */ + return; + case 4: // COMMENT + doc._appendChild(doc.createComment(value)); + return; + case 2: // TAG + if (value === "html") { + elt = createHTMLElt(value, arg3); + stack.push(elt); + doc.appendChild(elt); + // XXX: handle application cache here + parser = before_head_mode; + return; + } + break; + case 3: // ENDTAG + switch(value) { + case "html": + case "head": + case "body": + case "br": + break; // fall through on these + default: + return; // ignore most end tags + } + } + + // Anything that didn't get handled above is handled like this: + elt = createHTMLElt("html", null); + stack.push(elt); + doc.appendChild(elt); + // XXX: handle application cache here + parser = before_head_mode; + parser(t,value,arg3,arg4); + } + + // 11.2.5.4.3 The "before head" insertion mode + function before_head_mode(t,value,arg3,arg4) { + switch(t) { + case 1: // TEXT + value = value.replace(LEADINGWS, ""); // Ignore spaces + if (value.length === 0) return; // Are we done? + break; // Handle anything non-space text below + case 5: // DOCTYPE + /* ignore the token */ + return; + case 4: // COMMENT + insertComment(value); + return; + case 2: // TAG + switch(value) { + case "html": + in_body_mode(t,value,arg3,arg4); + return; + case "head": + var elt = insertHTMLElement(value, arg3); + head_element_pointer = elt; + parser = in_head_mode; + return; + } + break; + case 3: // ENDTAG + switch(value) { + case "html": + case "head": + case "body": + case "br": + break; + default: + return; // ignore most end tags + } + } + + // If not handled explicitly above + before_head_mode(TAG, "head", null); // create a head tag + parser(t, value, arg3, arg4); // then try again with this token + } + + function in_head_mode(t, value, arg3, arg4) { + switch(t) { + case 1: // TEXT + var ws = value.match(LEADINGWS); + if (ws) { + insertText(ws[0]); + value = value.substring(ws[0].length); + } + if (value.length === 0) return; + break; // Handle non-whitespace below + case 4: // COMMENT + insertComment(value); + return; + case 5: // DOCTYPE + return; + case 2: // TAG + switch(value) { + case "html": + in_body_mode(t, value, arg3, arg4); + return; + case "meta": + // XXX: + // May need to change the encoding based on this tag + /* falls through */ + case "base": + case "basefont": + case "bgsound": + case "command": + case "link": + insertHTMLElement(value, arg3); + stack.pop(); + return; + case "title": + parseRCDATA(value, arg3); + return; + case "noscript": + if (!scripting_enabled) { + insertHTMLElement(value, arg3); + parser = in_head_noscript_mode; + return; + } + // Otherwise, if scripting is enabled... + /* falls through */ + case "noframes": + case "style": + parseRawText(value,arg3); + return; + case "script": + var elt = createHTMLElt(value, arg3); + elt._parser_inserted = true; + elt._force_async = false; + if (fragment) elt._already_started = true; + flushText(); + stack.top._appendChild(elt); + stack.push(elt); + tokenizer = script_data_state; + originalInsertionMode = parser; + parser = text_mode; + return; + case "head": + return; // ignore it + } + break; + case 3: // ENDTAG + switch(value) { + case "head": + stack.pop(); + parser = after_head_mode; + return; + case "body": + case "html": + case "br": + break; // handle these at the bottom of the function + default: + // ignore any other end tag + return; + } + break; + } + + // If not handled above + in_head_mode(ENDTAG, "head", null); // synthetic + parser(t, value, arg3, arg4); // Then redo this one + } + + // 13.2.5.4.5 The "in head noscript" insertion mode + function in_head_noscript_mode(t, value, arg3, arg4) { + switch(t) { + case 5: // DOCTYPE + return; + case 4: // COMMENT + in_head_mode(t, value); + return; + case 1: // TEXT + var ws = value.match(LEADINGWS); + if (ws) { + in_head_mode(t, ws[0]); + value = value.substring(ws[0].length); + } + if (value.length === 0) return; // no more text + break; // Handle non-whitespace below + case 2: // TAG + switch(value) { + case "html": + in_body_mode(t, value, arg3, arg4); + return; + case "basefont": + case "bgsound": + case "link": + case "meta": + case "noframes": + case "style": + in_head_mode(t, value, arg3); + return; + case "head": + case "noscript": + return; + } + break; + case 3: // ENDTAG + switch(value) { + case "noscript": + stack.pop(); + parser = in_head_mode; + return; + case "br": + break; // goes to the outer default + default: + return; // ignore other end tags + } + break; + } + + // If not handled above + in_head_noscript_mode(ENDTAG, "noscript", null); + parser(t, value, arg3, arg4); + } + + function after_head_mode(t, value, arg3, arg4) { + switch(t) { + case 1: // TEXT + var ws = value.match(LEADINGWS); + if (ws) { + insertText(ws[0]); + value = value.substring(ws[0].length); + } + if (value.length === 0) return; + break; // Handle non-whitespace below + case 4: // COMMENT + insertComment(value); + return; + case 5: // DOCTYPE + return; + case 2: // TAG + switch(value) { + case "html": + in_body_mode(t, value, arg3, arg4); + return; + case "body": + insertHTMLElement(value, arg3); + frameset_ok = false; + parser = in_body_mode; + return; + case "frameset": + insertHTMLElement(value, arg3); + parser = in_frameset_mode; + return; + case "base": + case "basefont": + case "bgsound": + case "link": + case "meta": + case "noframes": + case "script": + case "style": + case "title": + stack.push(head_element_pointer); + in_head_mode(TAG, value, arg3); + stack.removeElement(head_element_pointer); + return; + case "head": + return; + } + break; + case 3: // ENDTAG + switch(value) { + case "body": + case "html": + case "br": + break; + default: + return; // ignore any other end tag + } + break; + } + + after_head_mode(TAG, "body", null); + frameset_ok = true; + parser(t, value, arg3, arg4); + } + + // 13.2.5.4.7 The "in body" insertion mode + function in_body_mode(t,value,arg3,arg4) { + var body, i, node; + switch(t) { + case 1: // TEXT + if (textIncludesNUL) { + value = value.replace(NULCHARS, ""); + if (value.length === 0) return; + } + // If any non-space characters + if (frameset_ok && NONWS.test(value)) + frameset_ok = false; + afereconstruct(); + insertText(value); + return; + case 5: // DOCTYPE + return; + case 4: // COMMENT + insertComment(value); + return; + case -1: // EOF + stopParsing(); + return; + case 2: // TAG + switch(value) { + case "html": + transferAttributes(arg3, stack.elements[0]); + return; + case "base": + case "basefont": + case "bgsound": + case "command": + case "link": + case "meta": + case "noframes": + case "script": + case "style": + case "title": + in_head_mode(TAG, value, arg3); + return; + case "body": + body = stack.elements[1]; + if (!body || !(body instanceof impl.HTMLBodyElement)) + return; + frameset_ok = false; + transferAttributes(arg3, body); + return; + case "frameset": + if (!frameset_ok) return; + body = stack.elements[1]; + if (!body || !(body instanceof impl.HTMLBodyElement)) + return; + if (body.parentNode) body.parentNode.removeChild(body); + while(!(stack.top instanceof impl.HTMLHtmlElement)) + stack.pop(); + insertHTMLElement(value, arg3); + parser = in_frameset_mode; + return; + + case "address": + case "article": + case "aside": + case "blockquote": + case "center": + case "details": + case "dir": + case "div": + case "dl": + case "fieldset": + case "figcaption": + case "figure": + case "footer": + case "header": + case "hgroup": + case "menu": + case "nav": + case "ol": + case "p": + case "section": + case "summary": + case "ul": + if (stack.inButtonScope("p")) in_body_mode(ENDTAG, "p"); + insertHTMLElement(value, arg3); + return; + + case "h1": + case "h2": + case "h3": + case "h4": + case "h5": + case "h6": + if (stack.inButtonScope("p")) in_body_mode(ENDTAG, "p"); + if (stack.top instanceof impl.HTMLHeadingElement) + stack.pop(); + insertHTMLElement(value, arg3); + return; + + case "pre": + case "listing": + if (stack.inButtonScope("p")) in_body_mode(ENDTAG, "p"); + insertHTMLElement(value, arg3); + ignore_linefeed = true; + frameset_ok = false; + return; + + case "form": + if (form_element_pointer) return; + if (stack.inButtonScope("p")) in_body_mode(ENDTAG, "p"); + form_element_pointer = insertHTMLElement(value, arg3); + return; + + case "li": + frameset_ok = false; + for(i = stack.elements.length-1; i >= 0; i--) { + node = stack.elements[i]; + if (node instanceof impl.HTMLLIElement) { + in_body_mode(ENDTAG, "li"); + break; + } + if (isA(node, specialSet) && !isA(node, addressdivpSet)) + break; + } + if (stack.inButtonScope("p")) in_body_mode(ENDTAG, "p"); + insertHTMLElement(value, arg3); + return; + + case "dd": + case "dt": + frameset_ok = false; + for(i = stack.elements.length-1; i >= 0; i--) { + node = stack.elements[i]; + if (isA(node, dddtSet)) { + in_body_mode(ENDTAG, node.localName); + break; + } + if (isA(node, specialSet) && !isA(node, addressdivpSet)) + break; + } + if (stack.inButtonScope("p")) in_body_mode(ENDTAG, "p"); + insertHTMLElement(value, arg3); + return; + + case "plaintext": + if (stack.inButtonScope("p")) in_body_mode(ENDTAG, "p"); + insertHTMLElement(value, arg3); + tokenizer = plaintext_state; + return; + + case "button": + if (stack.inScope("button")) { + in_body_mode(ENDTAG, "button"); + parser(t, value, arg3, arg4); + } + else { + afereconstruct(); + insertHTMLElement(value, arg3); + frameset_ok = false; + } + return; + + case "a": + var activeElement = afe.findElementByTag("a"); + if (activeElement) { + in_body_mode(ENDTAG, value); + afe.remove(activeElement); + stack.removeElement(activeElement); + } + /* falls through */ + + case "b": + case "big": + case "code": + case "em": + case "font": + case "i": + case "s": + case "small": + case "strike": + case "strong": + case "tt": + case "u": + afereconstruct(); + afe.push(insertHTMLElement(value,arg3), arg3); + return; + + case "nobr": + afereconstruct(); + + if (stack.inScope(value)) { + in_body_mode(ENDTAG, value); + afereconstruct(); + } + afe.push(insertHTMLElement(value,arg3), arg3); + return; + + case "applet": + case "marquee": + case "object": + afereconstruct(); + insertHTMLElement(value,arg3); + afe.insertMarker(); + frameset_ok = false; + return; + + case "table": + if (!doc._quirks && stack.inButtonScope("p")) { + in_body_mode(ENDTAG, "p"); + } + insertHTMLElement(value,arg3); + frameset_ok = false; + parser = in_table_mode; + return; + + case "area": + case "br": + case "embed": + case "img": + case "keygen": + case "wbr": + afereconstruct(); + insertHTMLElement(value,arg3); + stack.pop(); + frameset_ok = false; + return; + + case "input": + afereconstruct(); + var elt = insertHTMLElement(value,arg3); + stack.pop(); + var type = elt.getAttribute("type"); + if (!type || type.toLowerCase() !== "hidden") + frameset_ok = false; + return; + + case "param": + case "source": + case "track": + insertHTMLElement(value,arg3); + stack.pop(); + return; + + case "hr": + if (stack.inButtonScope("p")) in_body_mode(ENDTAG, "p"); + insertHTMLElement(value,arg3); + stack.pop(); + frameset_ok = false; + return; + + case "image": + in_body_mode(TAG, "img", arg3, arg4); + return; + + case "isindex": + if (form_element_pointer) return; + (function handleIsIndexTag(attrs) { + var prompt = null; + var formattrs = []; + var newattrs = [["name", "isindex"]]; + for(var i = 0; i < attrs.length; i++) { + var a = attrs[i]; + if (a[0] === "action") { + formattrs.push(a); + } + else if (a[0] === "prompt") { + prompt = a[1]; + } + else if (a[0] !== "name") { + newattrs.push(a); + } + } + + // This default prompt presumably needs localization. + // The space after the colon in this prompt is required + // by the html5lib test cases + if (!prompt) + prompt = "This is a searchable index. " + + "Enter search keywords: "; + + parser(TAG, "form", formattrs); + parser(TAG, "hr", null); + parser(TAG, "label", null); + parser(TEXT, prompt); + parser(TAG, "input", newattrs); + parser(ENDTAG, "label"); + parser(TAG, "hr", null); + parser(ENDTAG, "form"); + }(arg3)); + return; + + case "textarea": + insertHTMLElement(value,arg3); + ignore_linefeed = true; + frameset_ok = false; + tokenizer = rcdata_state; + originalInsertionMode = parser; + parser = text_mode; + return; + + case "xmp": + if (stack.inButtonScope("p")) in_body_mode(ENDTAG, "p"); + afereconstruct(); + frameset_ok = false; + parseRawText(value, arg3); + return; + + case "iframe": + frameset_ok = false; + parseRawText(value, arg3); + return; + + case "noembed": + parseRawText(value,arg3); + return; + + case "noscript": + if (scripting_enabled) { + parseRawText(value,arg3); + return; + } + break; // XXX Otherwise treat it as any other open tag? + + case "select": + afereconstruct(); + insertHTMLElement(value,arg3); + frameset_ok = false; + if (parser === in_table_mode || + parser === in_caption_mode || + parser === in_table_body_mode || + parser === in_row_mode || + parser === in_cell_mode) + parser = in_select_in_table_mode; + else + parser = in_select_mode; + return; + + case "optgroup": + case "option": + if (stack.top instanceof impl.HTMLOptionElement) { + in_body_mode(ENDTAG, "option"); + } + afereconstruct(); + insertHTMLElement(value,arg3); + return; + + case "rp": + case "rt": + if (stack.inScope("ruby")) { + stack.generateImpliedEndTags(); + } + insertHTMLElement(value,arg3); + return; + + case "math": + afereconstruct(); + adjustMathMLAttributes(arg3); + adjustForeignAttributes(arg3); + insertForeignElement(value, arg3, NAMESPACE.MATHML); + if (arg4) // self-closing flag + stack.pop(); + return; + + case "svg": + afereconstruct(); + adjustSVGAttributes(arg3); + adjustForeignAttributes(arg3); + insertForeignElement(value, arg3, NAMESPACE.SVG); + if (arg4) // self-closing flag + stack.pop(); + return; + + case "caption": + case "col": + case "colgroup": + case "frame": + case "head": + case "tbody": + case "td": + case "tfoot": + case "th": + case "thead": + case "tr": + // Ignore table tags if we're not in_table mode + return; + } + + // Handle any other start tag here + // (and also noscript tags when scripting is disabled) + afereconstruct(); + insertHTMLElement(value,arg3); + return; + + case 3: // ENDTAG + switch(value) { + case "body": + if (!stack.inScope("body")) return; + parser = after_body_mode; + return; + case "html": + if (!stack.inScope("body")) return; + parser = after_body_mode; + parser(t, value, arg3); + return; + + case "address": + case "article": + case "aside": + case "blockquote": + case "button": + case "center": + case "details": + case "dir": + case "div": + case "dl": + case "fieldset": + case "figcaption": + case "figure": + case "footer": + case "header": + case "hgroup": + case "listing": + case "menu": + case "nav": + case "ol": + case "pre": + case "section": + case "summary": + case "ul": + // Ignore if there is not a matching open tag + if (!stack.inScope(value)) return; + stack.generateImpliedEndTags(); + stack.popTag(value); + return; + + case "form": + var openform = form_element_pointer; + form_element_pointer = null; + if (!openform || !stack.elementInScope(openform)) return; + stack.generateImpliedEndTags(); + stack.removeElement(openform); + return; + + case "p": + if (!stack.inButtonScope(value)) { + in_body_mode(TAG, value, null); + parser(t, value, arg3, arg4); + } + else { + stack.generateImpliedEndTags(value); + stack.popTag(value); + } + return; + + case "li": + if (!stack.inListItemScope(value)) return; + stack.generateImpliedEndTags(value); + stack.popTag(value); + return; + + case "dd": + case "dt": + if (!stack.inScope(value)) return; + stack.generateImpliedEndTags(value); + stack.popTag(value); + return; + + case "h1": + case "h2": + case "h3": + case "h4": + case "h5": + case "h6": + if (!stack.elementTypeInScope(impl.HTMLHeadingElement)) return; + stack.generateImpliedEndTags(); + stack.popElementType(impl.HTMLHeadingElement); + return; + + case "a": + case "b": + case "big": + case "code": + case "em": + case "font": + case "i": + case "nobr": + case "s": + case "small": + case "strike": + case "strong": + case "tt": + case "u": + var result = adoptionAgency(value); + if (result) return; // If we did something we're done + break; // Go to the "any other end tag" case + + case "applet": + case "marquee": + case "object": + if (!stack.inScope(value)) return; + stack.generateImpliedEndTags(); + stack.popTag(value); + afe.clearToMarker(); + return; + + case "br": + in_body_mode(TAG, value, null); // Turn
    into
    + return; + } + + // Any other end tag goes here + for(i = stack.elements.length-1; i >= 0; i--) { + node = stack.elements[i]; + if (node.localName === value) { + stack.generateImpliedEndTags(value); + stack.popElement(node); + break; + } + else if (isA(node, specialSet)) { + return; + } + } + + return; + } + } + + function text_mode(t, value, arg3, arg4) { + switch(t) { + case 1: // TEXT + insertText(value); + return; + case -1: // EOF + if (stack.top instanceof impl.HTMLScriptElement) + stack.top._already_started = true; + stack.pop(); + parser = originalInsertionMode; + parser(t); + return; + case 3: // ENDTAG + if (value === "script") { + handleScriptEnd(); + } + else { + stack.pop(); + parser = originalInsertionMode; + } + return; + default: + // We should never get any other token types + return; + } + } + + function in_table_mode(t, value, arg3, arg4) { + function getTypeAttr(attrs) { + for(var i = 0, n = attrs.length; i < n; i++) { + if (attrs[i][0] === "type") + return attrs[i][1].toLowerCase(); + } + return null; + } + + switch(t) { + case 1: // TEXT + // XXX the text_integration_mode stuff is + // just a hack I made up + if (text_integration_mode) { + in_body_mode(t, value, arg3, arg4); + } + else { + pending_table_text = []; + originalInsertionMode = parser; + parser = in_table_text_mode; + parser(t, value, arg3, arg4); + } + return; + case 4: // COMMENT + insertComment(value); + return; + case 5: // DOCTYPE + return; + case 2: // TAG + switch(value) { + case "caption": + stack.clearToContext(impl.HTMLTableElement); + afe.insertMarker(); + insertHTMLElement(value,arg3); + parser = in_caption_mode; + return; + case "colgroup": + stack.clearToContext(impl.HTMLTableElement); + insertHTMLElement(value,arg3); + parser = in_column_group_mode; + return; + case "col": + in_table_mode(TAG, "colgroup", null); + parser(t, value, arg3, arg4); + return; + case "tbody": + case "tfoot": + case "thead": + stack.clearToContext(impl.HTMLTableElement); + insertHTMLElement(value,arg3); + parser = in_table_body_mode; + return; + case "td": + case "th": + case "tr": + in_table_mode(TAG, "tbody", null); + parser(t, value, arg3, arg4); + return; + + case "table": + var repro = stack.inTableScope(value); + in_table_mode(ENDTAG, value); + if (repro) parser(t, value, arg3, arg4); + return; + + case "style": + case "script": + in_head_mode(t, value, arg3, arg4); + return; + + case "input": + var type = getTypeAttr(arg3); + if (type !== "hidden") break; // to the anything else case + insertHTMLElement(value,arg3); + stack.pop(); + return; + + case "form": + if (form_element_pointer) return; + form_element_pointer = insertHTMLElement(value, arg3); + stack.pop(); + return; + } + break; + case 3: // ENDTAG + switch(value) { + case "table": + if (!stack.inTableScope(value)) return; + stack.popTag(value); + resetInsertionMode(); + return; + case "body": + case "caption": + case "col": + case "colgroup": + case "html": + case "tbody": + case "td": + case "tfoot": + case "th": + case "thead": + case "tr": + return; + } + + break; + case -1: // EOF + stopParsing(); + return; + } + + // This is the anything else case + foster_parent_mode = true; + in_body_mode(t, value, arg3, arg4); + foster_parent_mode = false; + } + + function in_table_text_mode(t, value, arg3, arg4) { + if (t === TEXT) { + if (textIncludesNUL) { + value = value.replace(NULCHARS, ""); + if (value.length === 0) return; + } + pending_table_text.push(value); + } + else { + var s = pending_table_text.join(""); + pending_table_text.length = 0; + if (NONWS.test(s)) { // If any non-whitespace characters + // This must be the same code as the "anything else" + // case of the in_table mode above. + foster_parent_mode = true; + in_body_mode(TEXT, s); + foster_parent_mode = false; + } + else { + insertText(s); + } + parser = originalInsertionMode; + parser(t, value, arg3, arg4); + } + } + + + function in_caption_mode(t, value, arg3, arg4) { + function end_caption() { + if (!stack.inTableScope("caption")) return false; + stack.generateImpliedEndTags(); + stack.popTag("caption"); + afe.clearToMarker(); + parser = in_table_mode; + return true; + } + + switch(t) { + case 2: // TAG + switch(value) { + case "caption": + case "col": + case "colgroup": + case "tbody": + case "td": + case "tfoot": + case "th": + case "thead": + case "tr": + if (end_caption()) parser(t, value, arg3, arg4); + return; + } + break; + case 3: // ENDTAG + switch(value) { + case "caption": + end_caption(); + return; + case "table": + if (end_caption()) parser(t, value, arg3, arg4); + return; + case "body": + case "col": + case "colgroup": + case "html": + case "tbody": + case "td": + case "tfoot": + case "th": + case "thead": + case "tr": + return; + } + break; + } + + // The Anything Else case + in_body_mode(t, value, arg3, arg4); + } + + function in_column_group_mode(t, value, arg3, arg4) { + switch(t) { + case 1: // TEXT + var ws = value.match(LEADINGWS); + if (ws) { + insertText(ws[0]); + value = value.substring(ws[0].length); + } + if (value.length === 0) return; + break; // Handle non-whitespace below + + case 4: // COMMENT + insertComment(value); + return; + case 5: // DOCTYPE + return; + case 2: // TAG + switch(value) { + case "html": + in_body_mode(t, value, arg3, arg4); + return; + case "col": + insertHTMLElement(value, arg3); + stack.pop(); + return; + } + break; + case 3: // ENDTAG + switch(value) { + case "colgroup": + if (stack.top instanceof impl.HTMLHtmlElement) return; + stack.pop(); + parser = in_table_mode; + return; + case "col": + return; + } + break; + case -1: // EOF + if (stack.top instanceof impl.HTMLHtmlElement) { + stopParsing(); + return; + } + break; + } + + // Anything else + if (!(stack.top instanceof impl.HTMLHtmlElement)) { + in_column_group_mode(ENDTAG, "colgroup"); + parser(t, value, arg3, arg4); + } + } + + function in_table_body_mode(t, value, arg3, arg4) { + function endsect() { + if (!stack.inTableScope("tbody") && + !stack.inTableScope("thead") && + !stack.inTableScope("tfoot")) + return; + stack.clearToContext(impl.HTMLTableSectionElement); + in_table_body_mode(ENDTAG, stack.top.localName, null); + parser(t, value, arg3, arg4); + } + + switch(t) { + case 2: // TAG + switch(value) { + case "tr": + stack.clearToContext(impl.HTMLTableSectionElement); + insertHTMLElement(value, arg3); + parser = in_row_mode; + return; + case "th": + case "td": + in_table_body_mode(TAG, "tr", null); + parser(t, value, arg3, arg4); + return; + case "caption": + case "col": + case "colgroup": + case "tbody": + case "tfoot": + case "thead": + endsect(); + return; + } + break; + case 3: // ENDTAG + switch(value) { + case "table": + endsect(); + return; + case "tbody": + case "tfoot": + case "thead": + if (stack.inTableScope(value)) { + stack.clearToContext(impl.HTMLTableSectionElement); + stack.pop(); + parser = in_table_mode; + } + return; + case "body": + case "caption": + case "col": + case "colgroup": + case "html": + case "td": + case "th": + case "tr": + return; + } + break; + } + + // Anything else: + in_table_mode(t, value, arg3, arg4); + } + + function in_row_mode(t, value, arg3, arg4) { + function endrow() { + if (!stack.inTableScope("tr")) return false; + stack.clearToContext(impl.HTMLTableRowElement); + stack.pop(); + parser = in_table_body_mode; + return true; + } + + switch(t) { + case 2: // TAG + switch(value) { + case "th": + case "td": + stack.clearToContext(impl.HTMLTableRowElement); + insertHTMLElement(value, arg3); + parser = in_cell_mode; + afe.insertMarker(); + return; + case "caption": + case "col": + case "colgroup": + case "tbody": + case "tfoot": + case "thead": + case "tr": + if (endrow()) parser(t, value, arg3, arg4); + return; + } + break; + case 3: // ENDTAG + switch(value) { + case "tr": + endrow(); + return; + case "table": + if (endrow()) parser(t, value, arg3, arg4); + return; + case "tbody": + case "tfoot": + case "thead": + if (stack.inTableScope(value)) { + in_row_mode(ENDTAG, "tr"); + parser(t, value, arg3, arg4); + } + return; + case "body": + case "caption": + case "col": + case "colgroup": + case "html": + case "td": + case "th": + return; + } + break; + } + + // anything else + in_table_mode(t, value, arg3, arg4); + } + + function in_cell_mode(t, value, arg3, arg4) { + switch(t) { + case 2: // TAG + switch(value) { + case "caption": + case "col": + case "colgroup": + case "tbody": + case "td": + case "tfoot": + case "th": + case "thead": + case "tr": + if (stack.inTableScope("td")) { + in_cell_mode(ENDTAG, "td"); + parser(t, value, arg3, arg4); + } + else if (stack.inTableScope("th")) { + in_cell_mode(ENDTAG, "th"); + parser(t, value, arg3, arg4); + } + return; + } + break; + case 3: // ENDTAG + switch(value) { + case "td": + case "th": + if (!stack.inTableScope(value)) return; + stack.generateImpliedEndTags(); + stack.popTag(value); + afe.clearToMarker(); + parser = in_row_mode; + return; + + case "body": + case "caption": + case "col": + case "colgroup": + case "html": + return; + + case "table": + case "tbody": + case "tfoot": + case "thead": + case "tr": + if (!stack.inTableScope(value)) return; + in_cell_mode(ENDTAG, stack.inTableScope("td") ? "td" : "th"); + parser(t, value, arg3, arg4); + return; + } + break; + } + + // anything else + in_body_mode(t, value, arg3, arg4); + } + + function in_select_mode(t, value, arg3, arg4) { + switch(t) { + case 1: // TEXT + if (textIncludesNUL) { + value = value.replace(NULCHARS, ""); + if (value.length === 0) return; + } + insertText(value); + return; + case 4: // COMMENT + insertComment(value); + return; + case 5: // DOCTYPE + return; + case -1: // EOF + stopParsing(); + return; + case 2: // TAG + switch(value) { + case "html": + in_body_mode(t, value, arg3, arg4); + return; + case "option": + if (stack.top instanceof impl.HTMLOptionElement) + in_select_mode(ENDTAG, value); + insertHTMLElement(value, arg3); + return; + case "optgroup": + if (stack.top instanceof impl.HTMLOptionElement) + in_select_mode(ENDTAG, "option"); + if (stack.top instanceof impl.HTMLOptGroupElement) + in_select_mode(ENDTAG, value); + insertHTMLElement(value, arg3); + return; + case "select": + in_select_mode(ENDTAG, value); // treat it as a close tag + return; + + case "input": + case "keygen": + case "textarea": + if (!stack.inSelectScope("select")) return; + in_select_mode(ENDTAG, "select"); + parser(t, value, arg3, arg4); + return; + + case "script": + in_head_mode(t, value, arg3, arg4); + return; + } + break; + case 3: // ENDTAG + switch(value) { + case "optgroup": + if (stack.top instanceof impl.HTMLOptionElement && + stack.elements[stack.elements.length-2] instanceof + impl.HTMLOptGroupElement) { + in_select_mode(ENDTAG, "option"); + } + if (stack.top instanceof impl.HTMLOptGroupElement) + stack.pop(); + + return; + + case "option": + if (stack.top instanceof impl.HTMLOptionElement) + stack.pop(); + return; + + case "select": + if (!stack.inSelectScope(value)) return; + stack.popTag(value); + resetInsertionMode(); + return; + } + + break; + } + + // anything else: just ignore the token + } + + function in_select_in_table_mode(t, value, arg3, arg4) { + switch(value) { + case "caption": + case "table": + case "tbody": + case "tfoot": + case "thead": + case "tr": + case "td": + case "th": + switch(t) { + case 2: // TAG + in_select_in_table_mode(ENDTAG, "select"); + parser(t, value, arg3, arg4); + return; + case 3: // ENDTAG + if (stack.inTableScope(value)) { + in_select_in_table_mode(ENDTAG, "select"); + parser(t, value, arg3, arg4); + } + return; + } + } + + // anything else + in_select_mode(t, value, arg3, arg4); + } + + function after_body_mode(t, value, arg3, arg4) { + switch(t) { + case 1: // TEXT + // If any non-space chars, handle below + if (NONWS.test(value)) break; + in_body_mode(t, value); + return; + case 4: // COMMENT + // Append it to the element + stack.elements[0]._appendChild(doc.createComment(value)); + return; + case 5: // DOCTYPE + return; + case -1: // EOF + stopParsing(); + return; + case 2: // TAG + if (value === "html") { + in_body_mode(t, value, arg3, arg4); + return; + } + break; // for any other tags + case 3: // ENDTAG + if (value === "html") { + if (fragment) return; + parser = after_after_body_mode; + return; + } + break; // for any other tags + } + + // anything else + parser = in_body_mode; + parser(t, value, arg3, arg4); + } + + function in_frameset_mode(t, value, arg3, arg4) { + switch(t) { + case 1: // TEXT + // Ignore any non-space characters + value = value.replace(ALLNONWS, ""); + if (value.length > 0) insertText(value); + return; + case 4: // COMMENT + insertComment(value); + return; + case 5: // DOCTYPE + return; + case -1: // EOF + stopParsing(); + return; + case 2: // TAG + switch(value) { + case "html": + in_body_mode(t, value, arg3, arg4); + return; + case "frameset": + insertHTMLElement(value, arg3); + return; + case "frame": + insertHTMLElement(value, arg3); + stack.pop(); + return; + case "noframes": + in_head_mode(t, value, arg3, arg4); + return; + } + break; + case 3: // ENDTAG + if (value === "frameset") { + if (fragment && stack.top instanceof impl.HTMLHtmlElement) + return; + stack.pop(); + if (!fragment && + !(stack.top instanceof impl.HTMLFrameSetElement)) + parser = after_frameset_mode; + return; + } + break; + } + + // ignore anything else + } + + function after_frameset_mode(t, value, arg3, arg4) { + switch(t) { + case 1: // TEXT + // Ignore any non-space characters + value = value.replace(ALLNONWS, ""); + if (value.length > 0) insertText(value); + return; + case 4: // COMMENT + insertComment(value); + return; + case 5: // DOCTYPE + return; + case -1: // EOF + stopParsing(); + return; + case 2: // TAG + switch(value) { + case "html": + in_body_mode(t, value, arg3, arg4); + return; + case "noframes": + in_head_mode(t, value, arg3, arg4); + return; + } + break; + case 3: // ENDTAG + if (value === "html") { + parser = after_after_frameset_mode; + return; + } + break; + } + + // ignore anything else + } + + function after_after_body_mode(t, value, arg3, arg4) { + switch(t) { + case 1: // TEXT + // If any non-space chars, handle below + if (NONWS.test(value)) break; + in_body_mode(t, value, arg3, arg4); + return; + case 4: // COMMENT + doc._appendChild(doc.createComment(value)); + return; + case 5: // DOCTYPE + in_body_mode(t, value, arg3, arg4); + return; + case -1: // EOF + stopParsing(); + return; + case 2: // TAG + if (value === "html") { + in_body_mode(t, value, arg3, arg4); + return; + } + break; + } + + // anything else + parser = in_body_mode; + parser(t, value, arg3, arg4); + } + + function after_after_frameset_mode(t, value, arg3, arg4) { + switch(t) { + case 1: // TEXT + // Ignore any non-space characters + value = value.replace(ALLNONWS, ""); + if (value.length > 0) + in_body_mode(t, value, arg3, arg4); + return; + case 4: // COMMENT + doc._appendChild(doc.createComment(value)); + return; + case 5: // DOCTYPE + in_body_mode(t, value, arg3, arg4); + return; + case -1: // EOF + stopParsing(); + return; + case 2: // TAG + switch(value) { + case "html": + in_body_mode(t, value, arg3, arg4); + return; + case "noframes": + in_head_mode(t, value, arg3, arg4); + return; + } + break; + } + + // ignore anything else + } + + + // 13.2.5.5 The rules for parsing tokens in foreign content + // + // This is like one of the insertion modes above, but is + // invoked somewhat differently when the current token is not HTML. + // See the insertToken() function. + function insertForeignToken(t, value, arg3, arg4) { + // A tag is an HTML font tag if it has a color, font, or size + // attribute. Otherwise we assume it is foreign content + function isHTMLFont(attrs) { + for(var i = 0, n = attrs.length; i < n; i++) { + switch(attrs[i][0]) { + case "color": + case "font": + case "size": + return true; + } + } + return false; + } + + var current; + + switch(t) { + case 1: // TEXT + // If any non-space, non-nul characters + if (frameset_ok && NONWSNONNUL.test(value)) + frameset_ok = false; + if (textIncludesNUL) { + value = value.replace(NULCHARS, "\uFFFD"); + } + insertText(value); + return; + case 4: // COMMENT + insertComment(value); + return; + case 5: // DOCTYPE + // ignore it + return; + case 2: // TAG + switch(value) { + case "font": + if (!isHTMLFont(arg3)) break; + /* falls through */ + case "b": + case "big": + case "blockquote": + case "body": + case "br": + case "center": + case "code": + case "dd": + case "div": + case "dl": + case "dt": + case "em": + case "embed": + case "h1": + case "h2": + case "h3": + case "h4": + case "h5": + case "h6": + case "head": + case "hr": + case "i": + case "img": + case "li": + case "listing": + case "menu": + case "meta": + case "nobr": + case "ol": + case "p": + case "pre": + case "ruby": + case "s": + case "small": + case "span": + case "strong": + case "strike": + case "sub": + case "sup": + case "table": + case "tt": + case "u": + case "ul": + case "var": + do { + stack.pop(); + current = stack.top; + } while(current.namespaceURI !== NAMESPACE.HTML && + !isMathmlTextIntegrationPoint(current) && + !isHTMLIntegrationPoint(current)); + + insertToken(t, value, arg3, arg4); // reprocess + return; + } + + // Any other start tag case goes here + current = stack.top; + if (current.namespaceURI === NAMESPACE.MATHML) { + adjustMathMLAttributes(arg3); + } + else if (current.namespaceURI === NAMESPACE.SVG) { + value = adjustSVGTagName(value); + adjustSVGAttributes(arg3); + } + adjustForeignAttributes(arg3); + + insertForeignElement(value, arg3, current.namespaceURI); + if (arg4) // the self-closing flag + stack.pop(); + return; + + case 3: // ENDTAG + current = stack.top; + if (value === "script" && + current.namespaceURI === NAMESPACE.SVG && + current.localName === "script") { + + stack.pop(); + + // XXX + // Deal with SVG scripts here + } + else { + // The any other end tag case + var i = stack.elements.length-1; + var node = stack.elements[i]; + for(;;) { + if (node.localName.toLowerCase() === value) { + stack.popElement(node); + break; + } + node = stack.elements[--i]; + // If non-html, keep looping + if (node.namespaceURI !== NAMESPACE.HTML) + continue; + // Otherwise process the end tag as html + parser(t, value, arg3, arg4); + break; + } + } + return; + } + } + + + /*** + * parsing code for character references + */ + + // Parse a character reference from s and return a codepoint or an + // array of codepoints or null if there is no valid char ref in s. + function parseCharRef(s, isattr) { + var len = s.length; + var rv; + if (len === 0) return null; // No character reference matched + + if (s[0] === "#") { // Numeric character reference + var codepoint; + + if (s[1] === "x" || s[1] === "X") { + // Hex + codepoint = parseInt(s.substring(2), 16); + } + else { + // Decimal + codepoint = parseInt(s.substring(1), 10); + } + + if (s[len-1] === ";") // If the string ends with a semicolon + nextchar += len; // Consume all the chars + else + nextchar += len-1; // Otherwise, all but the last character + + if (codepoint in numericCharRefReplacements) { + codepoint = numericCharRefReplacements[codepoint]; + } + else if (codepoint > 0x10FFFF || (codepoint >= 0xD800 && codepoint < 0xE000)) { + codepoint = 0xFFFD; + } + + if (codepoint <= 0xFFFF) return codepoint; + + codepoint = codepoint - 0x10000; + return [0xD800 + (codepoint >> 10), + 0xDC00 + (codepoint & 0x03FF)]; + } + else { + // Named character reference + // We have to be able to parse some named char refs even when + // the semicolon is omitted, but have to match the longest one + // possible. So if the lookahead doesn't end with semicolon + // then we have to loop backward looking for longest to shortest + // matches. Fortunately, the names that don't require semis + // are all between 2 and 6 characters long. + + if (s[len-1] === ";") { + rv = namedCharRefs[s]; + if (rv !== undefined) { + nextchar += len; // consume all the characters + return rv; + } + } + + // If it didn't end with a semicolon, see if we can match + // everything but the terminating character + len--; // Ignore whatever the terminating character is + rv = namedCharRefsNoSemi[s.substring(0, len)]; + if (rv !== undefined) { + nextchar += len; + return rv; + } + + // If it still didn't match, and we're not parsing a + // character reference in an attribute value, then try + // matching shorter substrings. + if (!isattr) { + len--; + if (len > 6) len = 6; // Maximum possible match length + while(len >= 2) { + rv = namedCharRefsNoSemi[s.substring(0, len)]; + if (rv !== undefined) { + nextchar += len; + return rv; + } + len--; + } + } + + // Couldn't find any match + return null; + } + } + + + /*** + * Finally, this is the end of the HTMLParser() factory function. + * It returns the htmlparser object with the append() and end() methods. + */ + + // Sneak another method into the htmlparser object to allow us to run + // tokenizer tests. This can be commented out in production code. + // This is a hook for testing the tokenizer. It has to be here + // because the tokenizer details are all hidden away within the closure. + // It should return an array of tokens generated while parsing the + // input string. + htmlparser.testTokenizer = function(input, initialState, lastStartTag, charbychar) { + var tokens = []; + + switch(initialState) { + case "PCDATA state": + tokenizer = data_state; + break; + case "RCDATA state": + tokenizer = rcdata_state; + break; + case "RAWTEXT state": + tokenizer = rawtext_state; + break; + case "PLAINTEXT state": + tokenizer = plaintext_state; + break; + } + + if (lastStartTag) { + lasttagname = lastStartTag; + } + + insertToken = function(t, value, arg3, arg4) { + flushText(); + switch(t) { + case 1: // TEXT + if (tokens.length > 0 && + tokens[tokens.length-1][0] === "Character") { + tokens[tokens.length-1][1] += value; + } + else push(tokens, ["Character", value]); + break; + case 4: // COMMENT + push(tokens,["Comment", value]); + break; + case 5: // DOCTYPE + push(tokens,["DOCTYPE", value, + arg3 === undefined ? null : arg3, + arg4 === undefined ? null : arg4, + !force_quirks]); + break; + case 2: // TAG + var attrs = {}; + for(var i = 0; i < arg3.length; i++) { + // XXX: does attribute order matter? + var a = arg3[i]; + if (a.length === 1) { + attrs[a[0]] = ""; + } + else { + attrs[a[0]] = a[1]; + } + } + var token = ["StartTag", value, attrs]; + if (arg4) token.push(true); + tokens.push(token); + break; + case 3: // ENDTAG + tokens.push(["EndTag", value]); + break; + case -1: // EOF + break; + } + }; + + if (!charbychar) { + this.parse(input, true); + } + else { + for(var i = 0; i < input.length; i++) { + this.parse(input[i]); + } + this.parse("", true); + } + return tokens; + }; + + // Return the parser object from the HTMLParser() factory function + return htmlparser; +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/Leaf.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/Leaf.js new file mode 100644 index 0000000..794d5bc --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/Leaf.js @@ -0,0 +1,24 @@ +module.exports = Leaf; + +var HierarchyRequestError = require('./utils').HierarchyRequestError; +var Node = require('./Node'); +var NodeList = require('./NodeList'); + +// This class defines common functionality for node subtypes that +// can never have children +function Leaf() { +} + +Leaf.prototype = Object.create(Node.prototype, { + hasChildNodes: { value: function() { return false; }}, + firstChild: { value: null }, + lastChild: { value: null }, + insertBefore: { value: HierarchyRequestError }, + replaceChild: { value: HierarchyRequestError }, + removeChild: { value: HierarchyRequestError }, + appendChild: { value: HierarchyRequestError }, + childNodes: { get: function() { + if (!this._childNodes) this._childNodes = []; + return this._childNodes; + }} +}); diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/Location.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/Location.js new file mode 100644 index 0000000..a528705 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/Location.js @@ -0,0 +1,58 @@ +var URL = require('./URL'); +var URLDecompositionAttributes = require('./URLDecompositionAttributes'); + +module.exports = Location; + +function Location(window, href) { + this._window = window; + this._href = href; +} + +Location.prototype = Object.create(URLDecompositionAttributes.prototype, { + constructor: { value: Location }, + // The concrete methods that the superclass needs + getInput: { value: function() { return this.href; }}, + setOutput: { value: function(v) { this.href = v; }}, + + // Special behavior when href is set + href: { + get: function() { return this._href; }, + set: function(v) { this.assign(v); } + }, + + assign: { value: function(url) { + // Resolve the new url against the current one + // XXX: + // This is not actually correct. It should be resolved against + // the URL of the document of the script. For now, though, I only + // support a single window and there is only one base url. + // So this is good enough for now. + var current = new URL(this._href); + var newurl = current.resolve(url); + + // Save the new url + this._href = newurl; + + // Start loading the new document! + // XXX + // This is just something hacked together. + // The real algorithm is: http://www.whatwg.org/specs/web-apps/current-work/multipage/history.html#navigate + }}, + + replace: { value: function(url) { + // XXX + // Since we aren't tracking history yet, replace is the same as assign + this.assign(url); + }}, + + reload: { value: function() { + // XXX: + // Actually, the spec is a lot more complicated than this + this.assign(this.href); + }}, + + toString: { value: function() { + return this.href; + }} + +}); diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/MouseEvent.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/MouseEvent.js new file mode 100644 index 0000000..1c8820f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/MouseEvent.js @@ -0,0 +1,51 @@ +var UIEvent = require('./UIEvent'); + +module.exports = MouseEvent; + +function MouseEvent() { + // Just use the superclass constructor to initialize + UIEvent.call(this); + + this.screenX = this.screenY = this.clientX = this.clientY = 0; + this.ctrlKey = this.altKey = this.shiftKey = this.metaKey = false; + this.button = 0; + this.buttons = 1; + this.relatedTarget = null; +} +MouseEvent.prototype = Object.create(UIEvent.prototype, { + constructor: { value: MouseEvent }, + initMouseEvent: { value: function(type, bubbles, cancelable, + view, detail, + screenX, screenY, clientX, clientY, + ctrlKey, altKey, shiftKey, metaKey, + button, relatedTarget) { + + this.initEvent(type, bubbles, cancelable, view, detail); + this.screenX = screenX; + this.screenY = screenY; + this.clientX = clientX; + this.clientY = clientY; + this.ctrlKey = ctrlKey; + this.altKey = altKey; + this.shiftKey = shiftKey; + this.metaKey = metaKey; + this.button = button; + switch(button) { + case 0: this.buttons = 1; break; + case 1: this.buttons = 4; break; + case 2: this.buttons = 2; break; + default: this.buttons = 0; break; + } + this.relatedTarget = relatedTarget; + }}, + + getModifierState: { value: function(key) { + switch(key) { + case "Alt": return this.altKey; + case "Control": return this.ctrlKey; + case "Shift": return this.shiftKey; + case "Meta": return this.metaKey; + default: return false; + } + }} +}); diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/MutationConstants.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/MutationConstants.js new file mode 100644 index 0000000..315342e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/MutationConstants.js @@ -0,0 +1,8 @@ +module.exports = { + VALUE: 1, // The value of a Text, Comment or PI node changed + ATTR: 2, // A new attribute was added or an attribute value and/or prefix changed + REMOVE_ATTR: 3, // An attribute was removed + REMOVE: 4, // A node was removed + MOVE: 5, // A node was moved + INSERT: 6 // A node (or a subtree of nodes) was inserted +}; \ No newline at end of file diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/Node.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/Node.js new file mode 100644 index 0000000..6b13422 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/Node.js @@ -0,0 +1,647 @@ +module.exports = Node; + +var EventTarget = require('./EventTarget'); +var utils = require('./utils'); +var NAMESPACE = utils.NAMESPACE; + +// All nodes have a nodeType and an ownerDocument. +// Once inserted, they also have a parentNode. +// This is an abstract class; all nodes in a document are instances +// of a subtype, so all the properties are defined by more specific +// constructors. +function Node() { +} + +var ELEMENT_NODE = Node.ELEMENT_NODE = 1; +var ATTRIBUTE_NODE = Node.ATTRIBUTE_NODE = 2; +var TEXT_NODE = Node.TEXT_NODE = 3; +var CDATA_SECTION_NODE = Node.CDATA_SECTION_NODE = 4; +var ENTITY_REFERENCE_NODE = Node.ENTITY_REFERENCE_NODE = 5; +var ENTITY_NODE = Node.ENTITY_NODE = 6; +var PROCESSING_INSTRUCTION_NODE = Node.PROCESSING_INSTRUCTION_NODE = 7; +var COMMENT_NODE = Node.COMMENT_NODE = 8; +var DOCUMENT_NODE = Node.DOCUMENT_NODE = 9; +var DOCUMENT_TYPE_NODE = Node.DOCUMENT_TYPE_NODE = 10; +var DOCUMENT_FRAGMENT_NODE = Node.DOCUMENT_FRAGMENT_NODE = 11; +var NOTATION_NODE = Node.NOTATION_NODE = 12; + +var DOCUMENT_POSITION_DISCONNECTED = Node.DOCUMENT_POSITION_DISCONNECTED = 0x01; +var DOCUMENT_POSITION_PRECEDING = Node.DOCUMENT_POSITION_PRECEDING = 0x02; +var DOCUMENT_POSITION_FOLLOWING = Node.DOCUMENT_POSITION_FOLLOWING = 0x04; +var DOCUMENT_POSITION_CONTAINS = Node.DOCUMENT_POSITION_CONTAINS = 0x08; +var DOCUMENT_POSITION_CONTAINED_BY = Node.DOCUMENT_POSITION_CONTAINED_BY = 0x10; +var DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 0x20; + +var hasRawContent = { + STYLE: true, + SCRIPT: true, + XMP: true, + IFRAME: true, + NOEMBED: true, + NOFRAMES: true, + PLAINTEXT: true, + NOSCRIPT: true +}; + +var emptyElements = { + area: true, + base: true, + basefont: true, + bgsound: true, + br: true, + col: true, + command: true, + embed: true, + frame: true, + hr: true, + img: true, + input: true, + keygen: true, + link: true, + meta: true, + param: true, + source: true, + track: true, + wbr: true +}; + +var extraNewLine = { + pre: true, + textarea: true, + listing: true +}; + +Node.prototype = Object.create(EventTarget.prototype, { + + // Node that are not inserted into the tree inherit a null parent + parentNode: { value: null, writable: true }, + + // XXX: the baseURI attribute is defined by dom core, but + // a correct implementation of it requires HTML features, so + // we'll come back to this later. + baseURI: { get: utils.nyi }, + + parentElement: { get: function() { + return (this.parentNode && this.parentNode.nodeType===ELEMENT_NODE) ? this.parentNode : null; + }}, + + hasChildNodes: { value: function() { // Overridden in leaf.js + return this.childNodes.length > 0; + }}, + + firstChild: { get: function() { + return this.childNodes.length === 0 ? null : this.childNodes[0]; + }}, + + lastChild: { get: function() { + return this.childNodes.length === 0 ? null : this.childNodes[this.childNodes.length-1]; + }}, + + previousSibling: { get: function() { + if (!this.parentNode) return null; + var sibs = this.parentNode.childNodes, i = this.index; + return i === 0 ? null : sibs[i-1]; + }}, + + nextSibling: { get: function() { + if (!this.parentNode) return null; + var sibs = this.parentNode.childNodes, i = this.index; + return i+1 === sibs.length ? null : sibs[i+1]; + }}, + + insertBefore: { value: function insertBefore(child, refChild) { + var parent = this; + if (refChild === null) return this.appendChild(child); + if (refChild.parentNode !== parent) utils.NotFoundError(); + if (child.isAncestor(parent)) utils.HierarchyRequestError(); + if (child.nodeType === DOCUMENT_NODE) utils.HierarchyRequestError(); + parent.ensureSameDoc(child); + child.insert(parent, refChild.index); + return child; + }}, + + + appendChild: { value: function(child) { + var parent = this; + if (child.isAncestor(parent)) { + utils.HierarchyRequestError(); + } + if (child.nodeType === DOCUMENT_NODE) utils.HierarchyRequestError(); + parent.ensureSameDoc(child); + return parent._appendChild(child); + }}, + + _appendChild: { value: function(child) { + child.insert(this, this.childNodes.length); + return child; + }}, + + removeChild: { value: function removeChild(child) { + var parent = this; + if (child.parentNode !== parent) utils.NotFoundError(); + child.remove(); + return child; + }}, + + replaceChild: { value: function replaceChild(newChild, oldChild) { + var parent = this; + if (oldChild.parentNode !== parent) utils.NotFoundError(); + if (newChild.isAncestor(parent)) utils.HierarchyRequestError(); + parent.ensureSameDoc(newChild); + + var refChild = oldChild.nextSibling; + oldChild.remove(); + parent.insertBefore(newChild, refChild); + return oldChild; + }}, + + compareDocumentPosition: { value: function compareDocumentPosition(that){ + // Basic algorithm for finding the relative position of two nodes. + // Make a list the ancestors of each node, starting with the + // document element and proceeding down to the nodes themselves. + // Then, loop through the lists, looking for the first element + // that differs. The order of those two elements give the + // order of their descendant nodes. Or, if one list is a prefix + // of the other one, then that node contains the other. + + if (this === that) return 0; + + // If they're not owned by the same document or if one is rooted + // and one is not, then they're disconnected. + if (this.doc != that.doc || + this.rooted !== that.rooted) + return (DOCUMENT_POSITION_DISCONNECTED + + DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC); + + // Get arrays of ancestors for this and that + var these = [], those = []; + for(var n = this; n !== null; n = n.parentNode) these.push(n); + for(n = that; n !== null; n = n.parentNode) those.push(n); + these.reverse(); // So we start with the outermost + those.reverse(); + + if (these[0] !== those[0]) // No common ancestor + return (DOCUMENT_POSITION_DISCONNECTED + + DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC); + + n = Math.min(these.length, those.length); + for(var i = 1; i < n; i++) { + if (these[i] !== those[i]) { + // We found two different ancestors, so compare + // their positions + if (these[i].index < those[i].index) + return DOCUMENT_POSITION_FOLLOWING; + else + return DOCUMENT_POSITION_PRECEDING; + } + } + + // If we get to here, then one of the nodes (the one with the + // shorter list of ancestors) contains the other one. + if (these.length < those.length) + return (DOCUMENT_POSITION_FOLLOWING + + DOCUMENT_POSITION_CONTAINED_BY); + else + return (DOCUMENT_POSITION_PRECEDING + + DOCUMENT_POSITION_CONTAINS); + }}, + + isSameNode: {value : function isSameNode(node) { + return this === node; + }}, + + + // This method implements the generic parts of node equality testing + // and defers to the (non-recursive) type-specific isEqual() method + // defined by subclasses + isEqualNode: { value: function isEqualNode(node) { + if (!node) return false; + if (node.nodeType !== this.nodeType) return false; + + // Check for same number of children + // Check for children this way because it is more efficient + // for childless leaf nodes. + var n; // number of child nodes + if (!this.firstChild) { + n = 0; + if (node.firstChild) return false; + } + else { + n = this.childNodes.length; + if (node.childNodes.length != n) return false; + } + + // Check type-specific properties for equality + if (!this.isEqual(node)) return false; + + // Now check children for equality + for(var i = 0; i < n; i++) { + var c1 = this.childNodes[i], c2 = node.childNodes[i]; + if (!c1.isEqualNode(c2)) return false; + } + + return true; + }}, + + // This method delegates shallow cloning to a clone() method + // that each concrete subclass must implement + cloneNode: { value: function(deep) { + // Clone this node + var clone = this.clone(); + + // Handle the recursive case if necessary + if (deep && this.firstChild) { + for(var i = 0, n = this.childNodes.length; i < n; i++) { + clone._appendChild(this.childNodes[i].cloneNode(true)); + } + } + + return clone; + }}, + + lookupPrefix: { value: function lookupPrefix(ns) { + var e; + if (ns === '') return null; + switch(this.nodeType) { + case ELEMENT_NODE: + return this.locateNamespacePrefix(ns); + case DOCUMENT_NODE: + e = this.documentElement; + return e ? e.locateNamespacePrefix(ns) : null; + case DOCUMENT_TYPE_NODE: + case DOCUMENT_FRAGMENT_NODE: + return null; + default: + e = this.parentElement; + return e ? e.locateNamespacePrefix(ns) : null; + } + }}, + + + lookupNamespaceURI: {value: function lookupNamespaceURI(prefix) { + var e; + switch(this.nodeType) { + case ELEMENT_NODE: + return this.locateNamespace(prefix); + case DOCUMENT_NODE: + e = this.documentElement; + return e ? e.locateNamespace(prefix) : null; + case DOCUMENT_TYPE_NODE: + case DOCUMENT_FRAGMENT_NODE: + return null; + default: + e = this.parentElement; + return e ? e.locateNamespace(prefix) : null; + } + }}, + + isDefaultNamespace: { value: function isDefaultNamespace(ns) { + var defaultns = this.lookupNamespaceURI(null); + if (defaultns == null) defaultns = ''; + return ns === defaultns; + }}, + + // Utility methods for nodes. Not part of the DOM + + // Return the index of this node in its parent. + // Throw if no parent, or if this node is not a child of its parent + index: { get: function() { + utils.assert(this.parentNode); + var kids = this.parentNode.childNodes; + if (this._index == undefined || kids[this._index] != this) { + this._index = kids.indexOf(this); + utils.assert(this._index != -1); + } + return this._index; + }}, + + // Return true if this node is equal to or is an ancestor of that node + // Note that nodes are considered to be ancestors of themselves + isAncestor: { value: function(that) { + // If they belong to different documents, then they're unrelated. + if (this.doc != that.doc) return false; + // If one is rooted and one isn't then they're not related + if (this.rooted !== that.rooted) return false; + + // Otherwise check by traversing the parentNode chain + for(var e = that; e; e = e.parentNode) { + if (e === this) return true; + } + return false; + }}, + + // DOMINO Changed the behavior to conform with the specs. See: + // https://groups.google.com/d/topic/mozilla.dev.platform/77sIYcpdDmc/discussion + ensureSameDoc: { value: function(that) { + if (that.ownerDocument === null) { + that.ownerDocument = this.doc; + } + else if(that.ownerDocument !== this.doc) { + utils.WrongDocumentError(); + } + }}, + + // Remove this node from its parent + remove: { value: function remove() { + // Send mutation events if necessary + if (this.rooted) this.doc.mutateRemove(this); + + // Remove this node from its parents array of children + this.parentNode.childNodes.splice(this.index, 1); + + // Update the structure id for all ancestors + this.parentNode.modify(); + + // Forget this node's parent + this.parentNode = undefined; + }}, + + // Remove all of this node's children. This is a minor + // optimization that only calls modify() once. + removeChildren: { value: function removeChildren() { + var n = this.childNodes.length; + if (n) { + var root = this.rooted ? this.ownerDocument : null; + for(var i = 0; i < n; i++) { + if (root) root.mutateRemove(this.childNodes[i]); + this.childNodes[i].parentNode = undefined; + } + this.childNodes.length = 0; // Forget all children + this.modify(); // Update last modified type once only + } + }}, + + // Insert this node as a child of parent at the specified index, + // firing mutation events as necessary + insert: { value: function insert(parent, index) { + var child = this, kids = parent.childNodes; + + // If we are already a child of the specified parent, then t + // the index may have to be adjusted. + if (child.parentNode === parent) { + var currentIndex = child.index; + // If we're not moving the node, we're done now + // XXX: or do DOM mutation events still have to be fired? + if (currentIndex === index) return; + + // If the child is before the spot it is to be inserted at, + // then when it is removed, the index of that spot will be + // reduced. + if (currentIndex < index) index--; + } + + // Special case for document fragments + // XXX: it is not at all clear that I'm handling this correctly. + // Scripts should never get to see partially + // inserted fragments, I think. See: + // http://lists.w3.org/Archives/Public/www-dom/2011OctDec/0130.html + if (child.nodeType === DOCUMENT_FRAGMENT_NODE) { + var c; + while((c = child.firstChild)) + c.insert(parent, index++); + return; + } + + // If both the child and the parent are rooted, then we want to + // transplant the child without uprooting and rerooting it. + if (child.rooted && parent.rooted) { + // Remove the child from its current position in the tree + // without calling remove(), since we don't want to uproot it. + var curpar = child.parentNode, curidx = child.index; + child.parentNode.childNodes.splice(child.index, 1); + curpar.modify(); + + // And insert it as a child of its new parent + child.parentNode = parent; + kids.splice(index, 0, child); + child._index = index; // Optimization + parent.modify(); + + // Generate a move mutation event + parent.doc.mutateMove(child); + } + else { + // If the child already has a parent, it needs to be + // removed from that parent, which may also uproot it + if (child.parentNode) child.remove(); + + // Now insert the child into the parent's array of children + child.parentNode = parent; + kids.splice(index, 0, child); + + child._index = index; // Optimization + + // And root the child if necessary + if (parent.rooted) { + parent.modify(); + parent.doc.mutateInsert(child); + } + } + }}, + + + // Return the lastModTime value for this node. (For use as a + // cache invalidation mechanism. If the node does not already + // have one, initialize it from the owner document's modclock + // property. (Note that modclock does not return the actual + // time; it is simply a counter incremented on each document + // modification) + lastModTime: { get: function() { + if (!this._lastModTime) { + this._lastModTime = this.doc.modclock; + } + return this._lastModTime; + }}, + + // Increment the owner document's modclock and use the new + // value to update the lastModTime value for this node and + // all of its ancestors. Nodes that have never had their + // lastModTime value queried do not need to have a + // lastModTime property set on them since there is no + // previously queried value to ever compare the new value + // against, so only update nodes that already have a + // _lastModTime property. + modify: { value: function() { + if (this.doc.modclock) { // Skip while doc.modclock == 0 + var time = ++this.doc.modclock; + for(var n = this; n; n = n.parentElement) { + if (n._lastModTime) { + n._lastModTime = time; + } + } + } + }}, + + // This attribute is not part of the DOM but is quite helpful. + // It returns the document with which a node is associated. Usually + // this is the ownerDocument. But ownerDocument is null for the + // document object itself, so this is a handy way to get the document + // regardless of the node type + doc: { get: function() { + return this.ownerDocument || this; + }}, + + + // If the node has a nid (node id), then it is rooted in a document + rooted: { get: function() { + return !!this._nid; + }}, + + normalize: { value: function() { + for (var i=0; i < this.childNodes.length; i++) { + var child = this.childNodes[i]; + + if (child.normalize) { + child.normalize(); + } + + if (child.nodeValue === "") { + this.removeChild(child); + i--; + continue; + } + + if (i) { + var prevChild = this.childNodes[i-1]; + + if (child.nodeType === Node.TEXT_NODE && + prevChild.nodeType === Node.TEXT_NODE) { + + // remove the child and decrement i + prevChild.appendData(child.nodeValue); + + this.removeChild(child); + i--; + } + } + } + }}, + + // Convert the children of a node to an HTML string. + // This is used by the innerHTML getter + // The serialization spec is at: + // http://www.whatwg.org/specs/web-apps/current-work/multipage/the-end.html#serializing-html-fragments + serialize: { value: function() { + var s = ''; + for(var i = 0, n = this.childNodes.length; i < n; i++) { + var kid = this.childNodes[i]; + switch(kid.nodeType) { + case 1: //ELEMENT_NODE + var ns = kid.namespaceURI; + var html = ns == NAMESPACE.HTML; + var tagname = (html || ns == NAMESPACE.SVG || ns == NAMESPACE.MATHML) ? kid.localName : kid.tagName; + + s += '<' + tagname; + + for(var j = 0, k = kid._numattrs; j < k; j++) { + var a = kid._attr(j); + s += ' ' + attrname(a); + if (a.value !== undefined) s += '="' + escapeAttr(a.value) + '"'; + } + s += '>'; + + if (!(html && emptyElements[tagname])) { + var ss = kid.serialize(); + if (html && extraNewLine[tagname] && ss.charAt(0)==='\n') s += '\n'; + // Serialize children and add end tag for all others + s += ss; + s += ''; + } + break; + case 3: //TEXT_NODE + case 4: //CDATA_SECTION_NODE + var parenttag; + if (this.nodeType === ELEMENT_NODE && + this.namespaceURI === NAMESPACE.HTML) + parenttag = this.tagName; + else + parenttag = ''; + + s += hasRawContent[parenttag] ? kid.data : escape(kid.data); + break; + case 8: //COMMENT_NODE + s += ''; + break; + case 7: //PROCESSING_INSTRUCTION_NODE + s += ''; + break; + case 10: //DOCUMENT_TYPE_NODE + s += ''; + break; + default: + utils.InvalidState(); + } + } + + return s; + }}, + + // mirror node type properties in the prototype, so they are present + // in instances of Node (and subclasses) + ELEMENT_NODE: { value: ELEMENT_NODE }, + ATTRIBUTE_NODE: { value: ATTRIBUTE_NODE }, + TEXT_NODE: { value: TEXT_NODE }, + CDATA_SECTION_NODE: { value: CDATA_SECTION_NODE }, + ENTITY_REFERENCE_NODE: { value: ENTITY_REFERENCE_NODE }, + ENTITY_NODE: { value: ENTITY_NODE }, + PROCESSING_INSTRUCTION_NODE: { value: PROCESSING_INSTRUCTION_NODE }, + COMMENT_NODE: { value: COMMENT_NODE }, + DOCUMENT_NODE: { value: DOCUMENT_NODE }, + DOCUMENT_TYPE_NODE: { value: DOCUMENT_TYPE_NODE }, + DOCUMENT_FRAGMENT_NODE: { value: DOCUMENT_FRAGMENT_NODE }, + NOTATION_NODE: { value: NOTATION_NODE } +}); + +function escape(s) { + return s.replace(/[&<>\u00A0]/g, function(c) { + switch(c) { + case '&': return '&'; + case '<': return '<'; + case '>': return '>'; + case '\u00A0': return ' '; + } + }); +} + +function escapeAttr(s) { + var toEscape = /[&"\u00A0]/g; + if (!toEscape.test(s)) { + // nothing to do, fast path + return s; + } else { + return s.replace(toEscape, function(c) { + switch(c) { + case '&': return '&'; + case '"': return '"'; + case '\u00A0': return ' '; + } + }); + } +} + +function attrname(a) { + var ns = a.namespaceURI; + if (!ns) + return a.localName; + if (ns == NAMESPACE.XML) + return 'xml:' + a.localName; + if (ns == NAMESPACE.XLINK) + return 'xlink:' + a.localName; + + if (ns == NAMESPACE.XMLNS) { + if (a.localName === 'xmlns') return 'xmlns'; + else return 'xmlns:' + a.localName; + } + return a.name; +} + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/NodeFilter.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/NodeFilter.js new file mode 100644 index 0000000..db9697e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/NodeFilter.js @@ -0,0 +1,23 @@ +var NodeFilter = { + // Constants for acceptNode() + FILTER_ACCEPT: 1, + FILTER_REJECT: 2, + FILTER_SKIP: 3, + + // Constants for whatToShow + SHOW_ALL: 0xFFFFFFFF, + SHOW_ELEMENT: 0x1, + SHOW_ATTRIBUTE: 0x2, // historical + SHOW_TEXT: 0x4, + SHOW_CDATA_SECTION: 0x8, // historical + SHOW_ENTITY_REFERENCE: 0x10, // historical + SHOW_ENTITY: 0x20, // historical + SHOW_PROCESSING_INSTRUCTION: 0x40, + SHOW_COMMENT: 0x80, + SHOW_DOCUMENT: 0x100, + SHOW_DOCUMENT_TYPE: 0x200, + SHOW_DOCUMENT_FRAGMENT: 0x400, + SHOW_NOTATION: 0x800 // historical +}; + +module.exports = (NodeFilter.constructor = NodeFilter.prototype = NodeFilter); diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/NodeList.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/NodeList.js new file mode 100644 index 0000000..b67d655 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/NodeList.js @@ -0,0 +1,11 @@ +module.exports = NodeList; + +function item(i) { + return this[i]; +} + +function NodeList(a) { + if (!a) a = []; + a.item = item; + return a; +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/ProcessingInstruction.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/ProcessingInstruction.js new file mode 100644 index 0000000..c18d382 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/ProcessingInstruction.js @@ -0,0 +1,35 @@ +module.exports = ProcessingInstruction; + +var Node = require('./Node'); +var Leaf = require('./Leaf'); + +function ProcessingInstruction(doc, target, data) { + this.nodeType = Node.PROCESSING_INSTRUCTION_NODE; + this.ownerDocument = doc; + this.target = target; + this._data = data; +} + +var nodeValue = { + get: function() { return this._data; }, + set: function(v) { + this._data = v; + if (this.rooted) this.ownerDocument.mutateValue(this); + } +}; + +ProcessingInstruction.prototype = Object.create(Leaf.prototype, { + nodeName: { get: function() { return this.target; }}, + nodeValue: nodeValue, + textContent: nodeValue, + data: nodeValue, + + // Utility methods + clone: { value: function clone() { + return new ProcessingInstruction(this.ownerDocument, this.target, this._data); + }}, + isEqual: { value: function isEqual(n) { + return this.target === n.target && this._data === n._data; + }} + +}); diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/Text.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/Text.js new file mode 100644 index 0000000..be40ff7 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/Text.js @@ -0,0 +1,61 @@ +module.exports = Text; + +var utils = require('./utils'); +var Node = require('./Node'); +var CharacterData = require('./CharacterData'); + +function Text(doc, data) { + this.nodeType = Node.TEXT_NODE; + this.ownerDocument = doc; + this._data = data; + this._index = undefined; +} + +var nodeValue = { + get: function() { return this._data; }, + set: function(v) { + if (v === this._data) return; + this._data = v; + if (this.rooted) + this.ownerDocument.mutateValue(this); + if (this.parentNode && + this.parentNode._textchangehook) + this.parentNode._textchangehook(this); + } +}; + +Text.prototype = Object.create(CharacterData.prototype, { + nodeName: { value: "#text" }, + // These three attributes are all the same. + // The data attribute has a [TreatNullAs=EmptyString] but we'll + // implement that at the interface level + nodeValue: nodeValue, + textContent: nodeValue, + data: nodeValue, + + splitText: { value: function splitText(offset) { + if (offset > this._data.length || offset < 0) utils.IndexSizeError(); + + var newdata = this._data.substring(offset), + newnode = this.ownerDocument.createTextNode(newdata); + this.data = this.data.substring(0, offset); + + var parent = this.parentNode; + if (parent !== null) + parent.insertBefore(newnode, this.nextSibling); + + return newnode; + }}, + + // XXX + // wholeText and replaceWholeText() are not implemented yet because + // the DOMCore specification is considering removing or altering them. + wholeText: {get: utils.nyi }, + replaceWholeText: { value: utils.nyi }, + + // Utility methods + clone: { value: function clone() { + return new Text(this.ownerDocument, this._data); + }}, + +}); diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/TreeWalker.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/TreeWalker.js new file mode 100644 index 0000000..2bfe662 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/TreeWalker.js @@ -0,0 +1,311 @@ +module.exports = TreeWalker; + +var NodeFilter = require('./NodeFilter'); + +var mapChild = { + first: 'firstChild', + last: 'lastChild', + next: 'firstChild', + previous: 'lastChild' +}; + +var mapSibling = { + next: 'nextSibling', + previous: 'previousSibling' +}; + +/* Private methods and helpers */ + +/** + * @spec http://www.w3.org/TR/dom/#concept-traverse-children + * @method + * @access private + * @param {TreeWalker} tw + * @param {string} type One of 'first' or 'last'. + * @return {Node|null} + */ +function traverseChildren(tw, type) { + var child, node, parent, result, sibling; + node = tw.currentNode[mapChild[type]]; + while (node !== null) { + result = tw.filter.acceptNode(node); + if (result === NodeFilter.FILTER_ACCEPT) { + tw.currentNode = node; + return node; + } + if (result === NodeFilter.FILTER_SKIP) { + child = node[mapChild[type]]; + if (child !== null) { + node = child; + continue; + } + } + while (node !== null) { + sibling = node[mapChild[type]]; + if (sibling !== null) { + node = sibling; + break; + } + parent = node.parentNode; + if (parent === null || parent === tw.root || parent === tw.currentNode) { + return null; + } + else { + node = parent; + } + } + } + return null; +}; + +/** + * @spec http://www.w3.org/TR/dom/#concept-traverse-siblings + * @method + * @access private + * @param {TreeWalker} tw + * @param {TreeWalker} type One of 'next' or 'previous'. + * @return {Node|nul} + */ +function traverseSiblings(tw, type) { + var node, result, sibling; + node = tw.currentNode; + if (node === tw.root) { + return null; + } + while (true) { + sibling = node[mapSibling[type]]; + while (sibling !== null) { + node = sibling; + result = tw.filter.acceptNode(node); + if (result === NodeFilter.FILTER_ACCEPT) { + tw.currentNode = node; + return node; + } + sibling = node[mapChild[type]]; + if (result === NodeFilter.FILTER_REJECT) { + sibling = node[mapSibling[type]]; + } + } + node = node.parentNode; + if (node === null || node === tw.root) { + return null; + } + if (tw.filter.acceptNode(node) === NodeFilter.FILTER_ACCEPT) { + return null; + } + } +}; + +/** + * @based on WebKit's NodeTraversal::nextSkippingChildren + * https://trac.webkit.org/browser/trunk/Source/WebCore/dom/NodeTraversal.h?rev=137221#L103 + */ +function nextSkippingChildren(node, stayWithin) { + if (node === stayWithin) { + return null; + } + if (node.nextSibling !== null) { + return node.nextSibling; + } + + /** + * @based on WebKit's NodeTraversal::nextAncestorSibling + * https://trac.webkit.org/browser/trunk/Source/WebCore/dom/NodeTraversal.cpp?rev=137221#L43 + */ + while (node.parentNode !== null) { + node = node.parentNode; + if (node === stayWithin) { + return null; + } + if (node.nextSibling !== null) { + return node.nextSibling; + } + } + return null; +}; + +/* Public API */ + +/** + * Implemented version: http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker + * Latest version: http://www.w3.org/TR/dom/#interface-treewalker + * + * @constructor + * @param {Node} root + * @param {number} whatToShow [optional] + * @param {Function} filter [optional] + * @throws Error + */ +function TreeWalker(root, whatToShow, filter) { + var tw = this, active = false; + + if (!root || !root.nodeType) { + throw new Error('DOMException: NOT_SUPPORTED_ERR'); + } + + tw.root = root; + tw.whatToShow = Number(whatToShow) || 0; + + tw.currentNode = root; + + if (typeof filter == 'function') { + filter = null; + } + + tw.filter = Object.create(NodeFilter.prototype); + + /** + * @method + * @param {Node} node + * @return {Number} Constant NodeFilter.FILTER_ACCEPT, + * NodeFilter.FILTER_REJECT or NodeFilter.FILTER_SKIP. + */ + tw.filter.acceptNode = function (node) { + var result; + if (active) { + throw new Error('DOMException: INVALID_STATE_ERR'); + } + + // Maps nodeType to whatToShow + if (!(((1 << (node.nodeType - 1)) & tw.whatToShow))) { + return NodeFilter.FILTER_SKIP; + } + + if (filter === null) { + return NodeFilter.FILTER_ACCEPT; + } + + active = true; + result = filter(node); + active = false; + + return result; + }; +}; + +TreeWalker.prototype = { + + constructor: TreeWalker, + + /** + * @spec http://www.w3.org/TR/dom/#dom-treewalker-parentnode + * @method + * @return {Node|null} + */ + parentNode: function () { + var node = this.currentNode; + while (node !== null && node !== this.root) { + node = node.parentNode; + if (node !== null && this.filter.acceptNode(node) === NodeFilter.FILTER_ACCEPT) { + this.currentNode = node; + return node; + } + } + return null; + }, + + /** + * @spec http://www.w3.org/TR/dom/#dom-treewalker-firstchild + * @method + * @return {Node|null} + */ + firstChild: function () { + return traverseChildren(this, 'first'); + }, + + /** + * @spec http://www.w3.org/TR/dom/#dom-treewalker-lastchild + * @method + * @return {Node|null} + */ + lastChild: function () { + return traverseChildren(this, 'last'); + }, + + /** + * @spec http://www.w3.org/TR/dom/#dom-treewalker-previoussibling + * @method + * @return {Node|null} + */ + previousSibling: function () { + return traverseSiblings(this, 'previous'); + }, + + /** + * @spec http://www.w3.org/TR/dom/#dom-treewalker-nextsibling + * @method + * @return {Node|null} + */ + nextSibling: function () { + return traverseSiblings(this, 'next'); + }, + + /** + * @spec http://www.w3.org/TR/dom/#dom-treewalker-previousnode + * @method + * @return {Node|null} + */ + previousNode: function () { + var node, result, sibling; + node = this.currentNode; + while (node !== this.root) { + sibling = node.previousSibling; + while (sibling !== null) { + node = sibling; + result = this.filter.acceptNode(node); + while (result !== NodeFilter.FILTER_REJECT && node.lastChild !== null) { + node = node.lastChild; + result = this.filter.acceptNode(node); + } + if (result === NodeFilter.FILTER_ACCEPT) { + this.currentNode = node; + return node; + } + } + if (node === this.root || node.parentNode === null) { + return null; + } + node = node.parentNode; + if (this.filter.acceptNode(node) === NodeFilter.FILTER_ACCEPT) { + this.currentNode = node; + return node; + } + } + return null; + }, + + /** + * @spec http://www.w3.org/TR/dom/#dom-treewalker-nextnode + * @method + * @return {Node|null} + */ + nextNode: function () { + var node, result, following; + node = this.currentNode; + result = NodeFilter.FILTER_ACCEPT; + + while (true) { + while (result !== NodeFilter.FILTER_REJECT && node.firstChild !== null) { + node = node.firstChild; + result = this.filter.acceptNode(node); + if (result === NodeFilter.FILTER_ACCEPT) { + this.currentNode = node; + return node; + } + } + following = nextSkippingChildren(node, this.root); + if (following !== null) { + node = following; + } + else { + return null; + } + result = this.filter.acceptNode(node); + if (result === NodeFilter.FILTER_ACCEPT) { + this.currentNode = node; + return node; + } + } + } +}; + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/UIEvent.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/UIEvent.js new file mode 100644 index 0000000..6cd5e5f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/UIEvent.js @@ -0,0 +1,18 @@ +var Event = require('./Event'); + +module.exports = UIEvent; + +function UIEvent() { + // Just use the superclass constructor to initialize + Event.call(this); + this.view = null; // FF uses the current window + this.detail = 0; +} +UIEvent.prototype = Object.create(Event.prototype, { + constructor: { value: UIEvent }, + initUIEvent: { value: function(type, bubbles, cancelable, view, detail) { + this.initEvent(type, bubbles, cancelable); + this.view = view; + this.detail = detail; + }} +}); diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/URL.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/URL.js new file mode 100644 index 0000000..a0e476c --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/URL.js @@ -0,0 +1,166 @@ +module.exports = URL; + +function URL(url) { + if (!url) return Object.create(URL.prototype); + // Can't use String.trim() since it defines whitespace differently than HTML + this.url = url.replace(/^[ \t\n\r\f]+|[ \t\n\r\f]+$/g, ""); + + // See http://tools.ietf.org/html/rfc3986#appendix-B + var match = URL.pattern.exec(this.url); + if (match) { + if (match[2]) this.scheme = match[2]; + if (match[4]) { + // XXX ignoring userinfo before the hostname + if (match[4].match(URL.portPattern)) { + var pos = match[4].lastIndexOf(':'); + this.host = match[4].substring(0, pos); + this.port = match[4].substring(pos+1); + } + else { + this.host = match[4]; + } + } + if (match[5]) this.path = match[5]; + if (match[6]) this.query = match[7]; + if (match[8]) this.fragment = match[9]; + } +} + +URL.pattern = /^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/; +URL.portPattern = /:\d+$/; +URL.authorityPattern = /^[^:\/?#]+:\/\//; +URL.hierarchyPattern = /^[^:\/?#]+:\//; + +// Return a percentEncoded version of s. +// S should be a single-character string +// XXX: needs to do utf-8 encoding? +URL.percentEncode = function percentEncode(s) { + var c = charCodeAt(s, 0); + if (c < 256) return "%" + c.toString(16); + else throw Error("can't percent-encode codepoints > 255 yet"); +}; + +URL.prototype = { + constructor: URL, + + // XXX: not sure if this is the precise definition of absolute + isAbsolute: function() { return !!this.scheme; }, + isAuthorityBased: function() { + return URL.authorityPattern.test(this.url); + }, + isHierarchical: function() { + return URL.hierarchyPattern.test(this.url); + }, + + toString: function() { + var s = ""; + if (this.scheme !== undefined) s += this.scheme + ":"; + if (this.host !== undefined) s += "//" + this.host; + if (this.port !== undefined) s += ":" + this.port; + if (this.path !== undefined) s += this.path; + if (this.query !== undefined) s += "?" + this.query; + if (this.fragment !== undefined) s += "#" + this.fragment; + return s; + }, + + // See: http://tools.ietf.org/html/rfc3986#section-5.2 + resolve: function(relative) { + var base = this; // The base url we're resolving against + var r = new URL(relative); // The relative reference url to resolve + var t = new URL(); // The absolute target url we will return + + if (r.scheme !== undefined) { + t.scheme = r.scheme; + t.host = r.host; + t.port = r.port; + t.path = remove_dot_segments(r.path); + t.query = r.query; + } + else { + t.scheme = base.scheme; + if (r.host !== undefined) { + t.host = r.host; + t.port = r.port; + t.path = remove_dot_segments(r.path); + t.query = r.query; + } + else { + t.host = base.host; + t.port = base.port; + if (!r.path) { // undefined or empty + t.path = base.path; + if (r.query !== undefined) + t.query = r.query; + else + t.query = base.query; + } + else { + if (r.path.charAt(0) === "/") { + t.path = remove_dot_segments(r.path); + } + else { + t.path = merge(base.path, r.path); + t.path = remove_dot_segments(t.path); + } + t.query = r.query; + } + } + } + t.fragment = r.fragment; + + return t.toString(); + + + function merge(basepath, refpath) { + if (base.host !== undefined && !base.path) + return "/" + refpath; + + var lastslash = basepath.lastIndexOf("/"); + if (lastslash === -1) + return refpath; + else + return basepath.substring(0, lastslash+1) + refpath; + } + + function remove_dot_segments(path) { + if (!path) return path; // For "" or undefined + + var output = ""; + while(path.length > 0) { + if (path === "." || path === "..") { + path = ""; + break; + } + + var twochars = path.substring(0,2); + var threechars = path.substring(0,3); + var fourchars = path.substring(0,4); + if (threechars === "../") { + path = path.substring(3); + } + else if (twochars === "./") { + path = path.substring(2); + } + else if (threechars === "/./") { + path = "/" + path.substring(3); + } + else if (twochars === "/." && path.length === 2) { + path = "/"; + } + else if (fourchars === "/../" || + (threechars === "/.." && path.length === 3)) { + path = "/" + path.substring(4); + + output = output.replace(/\/?[^\/]*$/, ""); + } + else { + var segment = path.match(/(\/?([^\/]*))/)[0]; + output += segment; + path = path.substring(segment.length); + } + } + + return output; + } + }, +}; diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/URLDecompositionAttributes.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/URLDecompositionAttributes.js new file mode 100644 index 0000000..4fa1ced --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/URLDecompositionAttributes.js @@ -0,0 +1,163 @@ +var URL = require('./URL'); + +module.exports = URLDecompositionAttributes; + +// This is an abstract superclass for Location, HTMLAnchorElement and +// other types that have the standard complement of "URL decomposition +// IDL attributes". +// Subclasses must define getInput() and setOutput() methods. +// The getter and setter methods parse and rebuild the URL on each +// invocation; there is no attempt to cache the value and be more efficient +function URLDecompositionAttributes() {} +URLDecompositionAttributes.prototype = { + constructor: URLDecompositionAttributes, + + get protocol() { + var url = new URL(this.getInput()); + if (url.isAbsolute()) return url.scheme + ":"; + else return ""; + }, + + get host() { + var url = new URL(this.getInput()); + if (url.isAbsolute() && url.isAuthorityBased()) + return url.host + (url.port ? (":" + url.port) : ""); + else + return ""; + }, + + get hostname() { + var url = new URL(this.getInput()); + if (url.isAbsolute() && url.isAuthorityBased()) + return url.host; + else + return ""; + }, + + get port() { + var url = new URL(this.getInput()); + if (url.isAbsolute() && url.isAuthorityBased() && url.port!==undefined) + return url.port; + else + return ""; + }, + + get pathname() { + var url = new URL(this.getInput()); + if (url.isAbsolute() && url.isHierarchical()) + return url.path; + else + return ""; + }, + + get search() { + var url = new URL(this.getInput()); + if (url.isAbsolute() && url.isHierarchical() && url.query!==undefined) + return "?" + url.query; + else + return ""; + }, + + get hash() { + var url = new URL(this.getInput()); + if (url.isAbsolute() && url.fragment != undefined) + return "#" + url.fragment; + else + return ""; + }, + + + set protocol(v) { + var output = this.getInput(); + var url = new URL(output); + if (url.isAbsolute()) { + v = v.replace(/:+$/, ""); + v = v.replace(/[^-+\.a-zA-z0-9]/g, URL.percentEncode); + if (v.length > 0) { + url.scheme = v; + output = url.toString(); + } + } + this.setOutput(output); + }, + + set host(v) { + var output = this.getInput(); + var url = new URL(output); + if (url.isAbsolute() && url.isAuthorityBased()) { + v = v.replace(/[^-+\._~!$&'()*,;:=a-zA-z0-9]/g, URL.percentEncode); + if (v.length > 0) { + url.host = v; + delete url.port; + output = url.toString(); + } + } + this.setOutput(output); + }, + + set hostname(v) { + var output = this.getInput(); + var url = new URL(output); + if (url.isAbsolute() && url.isAuthorityBased()) { + v = v.replace(/^\/+/, ""); + v = v.replace(/[^-+\._~!$&'()*,;:=a-zA-z0-9]/g, URL.percentEncode); + if (v.length > 0) { + url.host = v; + output = url.toString(); + } + } + this.setOutput(output); + }, + + set port(v) { + var output = this.getInput(); + var url = new URL(output); + if (url.isAbsolute() && url.isAuthorityBased()) { + v = v.replace(/[^0-9].*$/, ""); + v = v.replace(/^0+/, ""); + if (v.length === 0) v = "0"; + if (parseInt(v, 10) <= 65535) { + url.port = v; + output = url.toString(); + } + } + this.setOutput(output); + }, + + set pathname(v) { + var output = this.getInput(); + var url = new URL(output); + if (url.isAbsolute() && url.isHierarchical()) { + if (v.charAt(0) !== "/") + v = "/" + v; + v = v.replace(/[^-+\._~!$&'()*,;:=@\/a-zA-z0-9]/g, URL.percentEncode); + url.path = v; + output = url.toString(); + } + this.setOutput(output); + }, + + set search(v) { + var output = this.getInput(); + var url = new URL(output); + if (url.isAbsolute() && url.isHierarchical()) { + if (v.charAt(0) !== "?") v = v.substring(1); + v = v.replace(/[^-+\._~!$&'()*,;:=@\/?a-zA-z0-9]/g, URL.percentEncode); + url.query = v; + output = url.toString(); + } + this.setOutput(output); + }, + + set hash(v) { + var output = this.getInput(); + var url = new URL(output); + if (url.isAbsolute()) { + if (v.charAt(0) !== "#") v = v.substring(1); + v = v.replace(/[^-+\._~!$&'()*,;:=@\/?a-zA-z0-9]/g, URL.percentEncode); + url.fragment = v; + output = url.toString(); + } + this.setOutput(output); + } +}; diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/Window.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/Window.js new file mode 100644 index 0000000..a539aa5 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/Window.js @@ -0,0 +1,70 @@ +var DOMImplementation = require('./DOMImplementation'); +var Node = require('./Node'); +var Document = require('./Document'); +var DocumentFragment = require('./DocumentFragment'); +var EventTarget = require('./EventTarget'); +var Location = require('./Location'); +var utils = require('./utils'); + +module.exports = Window; + +function Window(document) { + this.document = document || new DOMImplementation().createHTMLDocument(""); + this.document._scripting_enabled = true; + this.document.defaultView = this; + this.location = new Location(this, "about:blank"); +} + +Window.prototype = Object.create(EventTarget.prototype, { + _run: { value: function(code, file) { + if (file) code += '\n//@ sourceURL=' + file; + with(this) eval(code); + }}, + console: { value: console }, + history: { value: { + back: utils.nyi, + forward: utils.nyi, + go: utils.nyi + }}, + navigator: { value: { + appName: "node", + appVersion: "0.1", + platform: "JavaScript", + userAgent: "dom" + }}, + + // Self-referential properties + window: { get: function() { return this; }}, + self: { get: function() { return this; }}, + frames: { get: function() { return this; }}, + + // Self-referential properties for a top-level window + parent: { get: function() { return this; }}, + top: { get: function() { return this; }}, + + // We don't support any other windows for now + length: { value: 0 }, // no frames + frameElement: { value: null }, // not part of a frame + opener: { value: null }, // not opened by another window + + // The onload event handler. + // XXX: need to support a bunch of other event types, too, + // and have them interoperate with document.body. + + onload: { + get: function() { + return this._getEventHandler("load"); + }, + set: function(v) { + this._setEventHandler("load", v); + } + }, + + // XXX This is a completely broken implementation + getComputedStyle: { value: function getComputedStyle(elt) { + return elt.style; + }} + +}); + +utils.expose(require('./impl'), Window); diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/attributes.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/attributes.js new file mode 100644 index 0000000..ea6af8a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/attributes.js @@ -0,0 +1,112 @@ +exports.property = function(attr) { + if (Array.isArray(attr.type)) { + var valid = {}; + attr.type.forEach(function(val) { + valid[val.value || val] = val.alias || val; + }); + var defaultValue = attr.implied ? '' : valid[0]; + return { + get: function() { + var v = this._getattr(attr.name); + if (v === null) return defaultValue; + + v = valid[v.toLowerCase()]; + if (v !== undefined) return v; + return defaultValue; + }, + set: function(v) { + this._setattr(attr.name, v); + } + }; + } + else if (attr.type == Boolean) { + return { + get: function() { + return this.hasAttribute(attr.name); + }, + set: function(v) { + if (v) { + this._setattr(attr.name, ''); + } + else { + this.removeAttribute(attr.name); + } + } + }; + } + else if (attr.type == Number) { + return numberPropDesc(attr); + } + else if (!attr.type || attr.type == String) { + return { + get: function() { return this._getattr(attr.name) || ''; }, + set: function(v) { this._setattr(attr.name, v); } + }; + } + else if (typeof attr.type == 'function') { + return attr.type(attr.name, attr); + } + throw new Error('Invalid attribute definition'); +}; + +// See http://www.whatwg.org/specs/web-apps/current-work/#reflect +// +// defval is the default value. If it is a function, then that function +// will be invoked as a method of the element to obtain the default. +// If no default is specified for a given attribute, then the default +// depends on the type of the attribute, but since this function handles +// 4 integer cases, you must specify the default value in each call +// +// min and max define a valid range for getting the attribute. +// +// setmin defines a minimum value when setting. If the value is less +// than that, then throw INDEX_SIZE_ERR. +// +// Conveniently, JavaScript's parseInt function appears to be +// compatible with HTML's 'rules for parsing integers' +function numberPropDesc(a) { + var def; + if(typeof a.default == 'function') { + def = a.default; + } + else if(typeof a.default == 'number') { + def = function() { return a.default; }; + } + else { + def = function() { utils.assert(false); }; + } + + return { + get: function() { + var v = this._getattr(a.name); + var n = a.float ? parseFloat(v) : parseInt(v, 10); + if (!isFinite(n) || (a.min !== undefined && n < a.min) || (a.max !== undefined && n > a.max)) { + return def.call(this); + } + return n; + }, + set: function(v) { + if (a.setmin !== undefined && v < a.setmin) { + utils.IndexSizeError(a.name + ' set to ' + v); + } + this._setattr(a.name, String(v)); + } + }; +} + +// This is a utility function for setting up change handler functions +// for attributes like 'id' that require special handling when they change. +exports.registerChangeHandler = function(c, name, handler) { + var p = c.prototype; + + // If p does not already have its own _attributeChangeHandlers + // then create one for it, inheriting from the inherited + // _attributeChangeHandlers. At the top (for the Element class) the + // _attributeChangeHandlers object will be created with a null prototype. + if (!Object.hasOwnProperty(p, '_attributeChangeHandlers')) { + p._attributeChangeHandlers = + Object.create(p._attributeChangeHandlers || null); + } + + p._attributeChangeHandlers[name] = handler; +}; \ No newline at end of file diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/cssparser.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/cssparser.js new file mode 100644 index 0000000..69ad278 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/cssparser.js @@ -0,0 +1,5644 @@ +/*! +Parser-Lib +Copyright (c) 2009-2011 Nicholas C. Zakas. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +*/ +/* Build time: 12-January-2012 01:05:23 */ +var parserlib = {}; +(function(){ + +/** + * A generic base to inherit from for any object + * that needs event handling. + * @class EventTarget + * @constructor + */ +function EventTarget(){ + + /** + * The array of listeners for various events. + * @type Object + * @property _listeners + * @private + */ + this._listeners = {}; +} + +EventTarget.prototype = { + + //restore constructor + constructor: EventTarget, + + /** + * Adds a listener for a given event type. + * @param {String} type The type of event to add a listener for. + * @param {Function} listener The function to call when the event occurs. + * @return {void} + * @method addListener + */ + addListener: function(type, listener){ + if (!this._listeners[type]){ + this._listeners[type] = []; + } + + this._listeners[type].push(listener); + }, + + /** + * Fires an event based on the passed-in object. + * @param {Object|String} event An object with at least a 'type' attribute + * or a string indicating the event name. + * @return {void} + * @method fire + */ + fire: function(event){ + if (typeof event == "string"){ + event = { type: event }; + } + if (typeof event.target != "undefined"){ + event.target = this; + } + + if (typeof event.type == "undefined"){ + throw new Error("Event object missing 'type' property."); + } + + if (this._listeners[event.type]){ + + //create a copy of the array and use that so listeners can't chane + var listeners = this._listeners[event.type].concat(); + for (var i=0, len=listeners.length; i < len; i++){ + listeners[i].call(this, event); + } + } + }, + + /** + * Removes a listener for a given event type. + * @param {String} type The type of event to remove a listener from. + * @param {Function} listener The function to remove from the event. + * @return {void} + * @method removeListener + */ + removeListener: function(type, listener){ + if (this._listeners[type]){ + var listeners = this._listeners[type]; + for (var i=0, len=listeners.length; i < len; i++){ + if (listeners[i] === listener){ + listeners.splice(i, 1); + break; + } + } + + + } + } +}; +/** + * Convenient way to read through strings. + * @namespace parserlib.util + * @class StringReader + * @constructor + * @param {String} text The text to read. + */ +function StringReader(text){ + + /** + * The input text with line endings normalized. + * @property _input + * @type String + * @private + */ + this._input = text.replace(/\n\r?/g, "\n"); + + + /** + * The row for the character to be read next. + * @property _line + * @type int + * @private + */ + this._line = 1; + + + /** + * The column for the character to be read next. + * @property _col + * @type int + * @private + */ + this._col = 1; + + /** + * The index of the character in the input to be read next. + * @property _cursor + * @type int + * @private + */ + this._cursor = 0; +} + +StringReader.prototype = { + + //restore constructor + constructor: StringReader, + + //------------------------------------------------------------------------- + // Position info + //------------------------------------------------------------------------- + + /** + * Returns the column of the character to be read next. + * @return {int} The column of the character to be read next. + * @method getCol + */ + getCol: function(){ + return this._col; + }, + + /** + * Returns the row of the character to be read next. + * @return {int} The row of the character to be read next. + * @method getLine + */ + getLine: function(){ + return this._line ; + }, + + /** + * Determines if you're at the end of the input. + * @return {Boolean} True if there's no more input, false otherwise. + * @method eof + */ + eof: function(){ + return (this._cursor == this._input.length); + }, + + //------------------------------------------------------------------------- + // Basic reading + //------------------------------------------------------------------------- + + /** + * Reads the next character without advancing the cursor. + * @param {int} count How many characters to look ahead (default is 1). + * @return {String} The next character or null if there is no next character. + * @method peek + */ + peek: function(count){ + var c = null; + count = (typeof count == "undefined" ? 1 : count); + + //if we're not at the end of the input... + if (this._cursor < this._input.length){ + + //get character and increment cursor and column + c = this._input.charAt(this._cursor + count - 1); + } + + return c; + }, + + /** + * Reads the next character from the input and adjusts the row and column + * accordingly. + * @return {String} The next character or null if there is no next character. + * @method read + */ + read: function(){ + var c = null; + + //if we're not at the end of the input... + if (this._cursor < this._input.length){ + + //if the last character was a newline, increment row count + //and reset column count + if (this._input.charAt(this._cursor) == "\n"){ + this._line++; + this._col=1; + } else { + this._col++; + } + + //get character and increment cursor and column + c = this._input.charAt(this._cursor++); + } + + return c; + }, + + //------------------------------------------------------------------------- + // Misc + //------------------------------------------------------------------------- + + /** + * Saves the current location so it can be returned to later. + * @method mark + * @return {void} + */ + mark: function(){ + this._bookmark = { + cursor: this._cursor, + line: this._line, + col: this._col + }; + }, + + reset: function(){ + if (this._bookmark){ + this._cursor = this._bookmark.cursor; + this._line = this._bookmark.line; + this._col = this._bookmark.col; + delete this._bookmark; + } + }, + + //------------------------------------------------------------------------- + // Advanced reading + //------------------------------------------------------------------------- + + /** + * Reads up to and including the given string. Throws an error if that + * string is not found. + * @param {String} pattern The string to read. + * @return {String} The string when it is found. + * @throws Error when the string pattern is not found. + * @method readTo + */ + readTo: function(pattern){ + + var buffer = "", + c; + + /* + * First, buffer must be the same length as the pattern. + * Then, buffer must end with the pattern or else reach the + * end of the input. + */ + while (buffer.length < pattern.length || buffer.lastIndexOf(pattern) != buffer.length - pattern.length){ + c = this.read(); + if (c){ + buffer += c; + } else { + throw new Error("Expected \"" + pattern + "\" at line " + this._line + ", col " + this._col + "."); + } + } + + return buffer; + + }, + + /** + * Reads characters while each character causes the given + * filter function to return true. The function is passed + * in each character and either returns true to continue + * reading or false to stop. + * @param {Function} filter The function to read on each character. + * @return {String} The string made up of all characters that passed the + * filter check. + * @method readWhile + */ + readWhile: function(filter){ + + var buffer = "", + c = this.read(); + + while(c !== null && filter(c)){ + buffer += c; + c = this.read(); + } + + return buffer; + + }, + + /** + * Reads characters that match either text or a regular expression and + * returns those characters. If a match is found, the row and column + * are adjusted; if no match is found, the reader's state is unchanged. + * reading or false to stop. + * @param {String|RegExp} matchter If a string, then the literal string + * value is searched for. If a regular expression, then any string + * matching the pattern is search for. + * @return {String} The string made up of all characters that matched or + * null if there was no match. + * @method readMatch + */ + readMatch: function(matcher){ + + var source = this._input.substring(this._cursor), + value = null; + + //if it's a string, just do a straight match + if (typeof matcher == "string"){ + if (source.indexOf(matcher) === 0){ + value = this.readCount(matcher.length); + } + } else if (matcher instanceof RegExp){ + if (matcher.test(source)){ + value = this.readCount(RegExp.lastMatch.length); + } + } + + return value; + }, + + + /** + * Reads a given number of characters. If the end of the input is reached, + * it reads only the remaining characters and does not throw an error. + * @param {int} count The number of characters to read. + * @return {String} The string made up the read characters. + * @method readCount + */ + readCount: function(count){ + var buffer = ""; + + while(count--){ + buffer += this.read(); + } + + return buffer; + } + +}; +/** + * Type to use when a syntax error occurs. + * @class SyntaxError + * @namespace parserlib.util + * @constructor + * @param {String} message The error message. + * @param {int} line The line at which the error occurred. + * @param {int} col The column at which the error occurred. + */ +function SyntaxError(message, line, col){ + + /** + * The column at which the error occurred. + * @type int + * @property col + */ + this.col = col; + + /** + * The line at which the error occurred. + * @type int + * @property line + */ + this.line = line; + + /** + * The text representation of the unit. + * @type String + * @property text + */ + this.message = message; + +} + +//inherit from Error +SyntaxError.prototype = new Error(); +/** + * Base type to represent a single syntactic unit. + * @class SyntaxUnit + * @namespace parserlib.util + * @constructor + * @param {String} text The text of the unit. + * @param {int} line The line of text on which the unit resides. + * @param {int} col The column of text on which the unit resides. + */ +function SyntaxUnit(text, line, col, type){ + + + /** + * The column of text on which the unit resides. + * @type int + * @property col + */ + this.col = col; + + /** + * The line of text on which the unit resides. + * @type int + * @property line + */ + this.line = line; + + /** + * The text representation of the unit. + * @type String + * @property text + */ + this.text = text; + + /** + * The type of syntax unit. + * @type int + * @property type + */ + this.type = type; +} + +/** + * Create a new syntax unit based solely on the given token. + * Convenience method for creating a new syntax unit when + * it represents a single token instead of multiple. + * @param {Object} token The token object to represent. + * @return {parserlib.util.SyntaxUnit} The object representing the token. + * @static + * @method fromToken + */ +SyntaxUnit.fromToken = function(token){ + return new SyntaxUnit(token.value, token.startLine, token.startCol); +}; + +SyntaxUnit.prototype = { + + //restore constructor + constructor: SyntaxUnit, + + /** + * Returns the text representation of the unit. + * @return {String} The text representation of the unit. + * @method valueOf + */ + valueOf: function(){ + return this.toString(); + }, + + /** + * Returns the text representation of the unit. + * @return {String} The text representation of the unit. + * @method toString + */ + toString: function(){ + return this.text; + } + +}; +/** + * Generic TokenStream providing base functionality. + * @class TokenStreamBase + * @namespace parserlib.util + * @constructor + * @param {String|StringReader} input The text to tokenize or a reader from + * which to read the input. + */ +function TokenStreamBase(input, tokenData){ + + /** + * The string reader for easy access to the text. + * @type StringReader + * @property _reader + * @private + */ + //this._reader = (typeof input == "string") ? new StringReader(input) : input; + this._reader = input ? new StringReader(input.toString()) : null; + + /** + * Token object for the last consumed token. + * @type Token + * @property _token + * @private + */ + this._token = null; + + /** + * The array of token information. + * @type Array + * @property _tokenData + * @private + */ + this._tokenData = tokenData; + + /** + * Lookahead token buffer. + * @type Array + * @property _lt + * @private + */ + this._lt = []; + + /** + * Lookahead token buffer index. + * @type int + * @property _ltIndex + * @private + */ + this._ltIndex = 0; + + this._ltIndexCache = []; +} + +/** + * Accepts an array of token information and outputs + * an array of token data containing key-value mappings + * and matching functions that the TokenStream needs. + * @param {Array} tokens An array of token descriptors. + * @return {Array} An array of processed token data. + * @method createTokenData + * @static + */ +TokenStreamBase.createTokenData = function(tokens){ + + var nameMap = [], + typeMap = {}, + tokenData = tokens.concat([]), + i = 0, + len = tokenData.length+1; + + tokenData.UNKNOWN = -1; + tokenData.unshift({name:"EOF"}); + + for (; i < len; i++){ + nameMap.push(tokenData[i].name); + tokenData[tokenData[i].name] = i; + if (tokenData[i].text){ + typeMap[tokenData[i].text] = i; + } + } + + tokenData.name = function(tt){ + return nameMap[tt]; + }; + + tokenData.type = function(c){ + return typeMap[c]; + }; + + return tokenData; +}; + +TokenStreamBase.prototype = { + + //restore constructor + constructor: TokenStreamBase, + + //------------------------------------------------------------------------- + // Matching methods + //------------------------------------------------------------------------- + + /** + * Determines if the next token matches the given token type. + * If so, that token is consumed; if not, the token is placed + * back onto the token stream. You can pass in any number of + * token types and this will return true if any of the token + * types is found. + * @param {int|int[]} tokenTypes Either a single token type or an array of + * token types that the next token might be. If an array is passed, + * it's assumed that the token can be any of these. + * @param {variant} channel (Optional) The channel to read from. If not + * provided, reads from the default (unnamed) channel. + * @return {Boolean} True if the token type matches, false if not. + * @method match + */ + match: function(tokenTypes, channel){ + + //always convert to an array, makes things easier + if (!(tokenTypes instanceof Array)){ + tokenTypes = [tokenTypes]; + } + + var tt = this.get(channel), + i = 0, + len = tokenTypes.length; + + while(i < len){ + if (tt == tokenTypes[i++]){ + return true; + } + } + + //no match found, put the token back + this.unget(); + return false; + }, + + /** + * Determines if the next token matches the given token type. + * If so, that token is consumed; if not, an error is thrown. + * @param {int|int[]} tokenTypes Either a single token type or an array of + * token types that the next token should be. If an array is passed, + * it's assumed that the token must be one of these. + * @param {variant} channel (Optional) The channel to read from. If not + * provided, reads from the default (unnamed) channel. + * @return {void} + * @method mustMatch + */ + mustMatch: function(tokenTypes, channel){ + + var token; + + //always convert to an array, makes things easier + if (!(tokenTypes instanceof Array)){ + tokenTypes = [tokenTypes]; + } + + if (!this.match.apply(this, arguments)){ + token = this.LT(1); + throw new SyntaxError("Expected " + this._tokenData[tokenTypes[0]].name + + " at line " + token.startLine + ", col " + token.startCol + ".", token.startLine, token.startCol); + } + }, + + //------------------------------------------------------------------------- + // Consuming methods + //------------------------------------------------------------------------- + + /** + * Keeps reading from the token stream until either one of the specified + * token types is found or until the end of the input is reached. + * @param {int|int[]} tokenTypes Either a single token type or an array of + * token types that the next token should be. If an array is passed, + * it's assumed that the token must be one of these. + * @param {variant} channel (Optional) The channel to read from. If not + * provided, reads from the default (unnamed) channel. + * @return {void} + * @method advance + */ + advance: function(tokenTypes, channel){ + + while(this.LA(0) != 0 && !this.match(tokenTypes, channel)){ + this.get(); + } + + return this.LA(0); + }, + + /** + * Consumes the next token from the token stream. + * @return {int} The token type of the token that was just consumed. + * @method get + */ + get: function(channel){ + + var tokenInfo = this._tokenData, + reader = this._reader, + value, + i =0, + len = tokenInfo.length, + found = false, + token, + info; + + //check the lookahead buffer first + if (this._lt.length && this._ltIndex >= 0 && this._ltIndex < this._lt.length){ + + i++; + this._token = this._lt[this._ltIndex++]; + info = tokenInfo[this._token.type]; + + //obey channels logic + while((info.channel !== undefined && channel !== info.channel) && + this._ltIndex < this._lt.length){ + this._token = this._lt[this._ltIndex++]; + info = tokenInfo[this._token.type]; + i++; + } + + //here be dragons + if ((info.channel === undefined || channel === info.channel) && + this._ltIndex <= this._lt.length){ + this._ltIndexCache.push(i); + return this._token.type; + } + } + + //call token retriever method + token = this._getToken(); + + //if it should be hidden, don't save a token + if (token.type > -1 && !tokenInfo[token.type].hide){ + + //apply token channel + token.channel = tokenInfo[token.type].channel; + + //save for later + this._token = token; + this._lt.push(token); + + //save space that will be moved (must be done before array is truncated) + this._ltIndexCache.push(this._lt.length - this._ltIndex + i); + + //keep the buffer under 5 items + if (this._lt.length > 5){ + this._lt.shift(); + } + + //also keep the shift buffer under 5 items + if (this._ltIndexCache.length > 5){ + this._ltIndexCache.shift(); + } + + //update lookahead index + this._ltIndex = this._lt.length; + } + + /* + * Skip to the next token if: + * 1. The token type is marked as hidden. + * 2. The token type has a channel specified and it isn't the current channel. + */ + info = tokenInfo[token.type]; + if (info && + (info.hide || + (info.channel !== undefined && channel !== info.channel))){ + return this.get(channel); + } else { + //return just the type + return token.type; + } + }, + + /** + * Looks ahead a certain number of tokens and returns the token type at + * that position. This will throw an error if you lookahead past the + * end of input, past the size of the lookahead buffer, or back past + * the first token in the lookahead buffer. + * @param {int} The index of the token type to retrieve. 0 for the + * current token, 1 for the next, -1 for the previous, etc. + * @return {int} The token type of the token in the given position. + * @method LA + */ + LA: function(index){ + var total = index, + tt; + if (index > 0){ + //TODO: Store 5 somewhere + if (index > 5){ + throw new Error("Too much lookahead."); + } + + //get all those tokens + while(total){ + tt = this.get(); + total--; + } + + //unget all those tokens + while(total < index){ + this.unget(); + total++; + } + } else if (index < 0){ + + if(this._lt[this._ltIndex+index]){ + tt = this._lt[this._ltIndex+index].type; + } else { + throw new Error("Too much lookbehind."); + } + + } else { + tt = this._token.type; + } + + return tt; + + }, + + /** + * Looks ahead a certain number of tokens and returns the token at + * that position. This will throw an error if you lookahead past the + * end of input, past the size of the lookahead buffer, or back past + * the first token in the lookahead buffer. + * @param {int} The index of the token type to retrieve. 0 for the + * current token, 1 for the next, -1 for the previous, etc. + * @return {Object} The token of the token in the given position. + * @method LA + */ + LT: function(index){ + + //lookahead first to prime the token buffer + this.LA(index); + + //now find the token, subtract one because _ltIndex is already at the next index + return this._lt[this._ltIndex+index-1]; + }, + + /** + * Returns the token type for the next token in the stream without + * consuming it. + * @return {int} The token type of the next token in the stream. + * @method peek + */ + peek: function(){ + return this.LA(1); + }, + + /** + * Returns the actual token object for the last consumed token. + * @return {Token} The token object for the last consumed token. + * @method token + */ + token: function(){ + return this._token; + }, + + /** + * Returns the name of the token for the given token type. + * @param {int} tokenType The type of token to get the name of. + * @return {String} The name of the token or "UNKNOWN_TOKEN" for any + * invalid token type. + * @method tokenName + */ + tokenName: function(tokenType){ + if (tokenType < 0 || tokenType > this._tokenData.length){ + return "UNKNOWN_TOKEN"; + } else { + return this._tokenData[tokenType].name; + } + }, + + /** + * Returns the token type value for the given token name. + * @param {String} tokenName The name of the token whose value should be returned. + * @return {int} The token type value for the given token name or -1 + * for an unknown token. + * @method tokenName + */ + tokenType: function(tokenName){ + return this._tokenData[tokenName] || -1; + }, + + /** + * Returns the last consumed token to the token stream. + * @method unget + */ + unget: function(){ + //if (this._ltIndex > -1){ + if (this._ltIndexCache.length){ + this._ltIndex -= this._ltIndexCache.pop();//--; + this._token = this._lt[this._ltIndex - 1]; + } else { + throw new Error("Too much lookahead."); + } + } + +}; + + +parserlib.util = { +StringReader: StringReader, +SyntaxError : SyntaxError, +SyntaxUnit : SyntaxUnit, +EventTarget : EventTarget, +TokenStreamBase : TokenStreamBase +}; +})(); +/* +Parser-Lib +Copyright (c) 2009-2011 Nicholas C. Zakas. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +*/ +/* Build time: 12-January-2012 01:05:23 */ +(function(){ +var EventTarget = parserlib.util.EventTarget, +TokenStreamBase = parserlib.util.TokenStreamBase, +StringReader = parserlib.util.StringReader, +SyntaxError = parserlib.util.SyntaxError, +SyntaxUnit = parserlib.util.SyntaxUnit; + +var Colors = { + aliceblue :"#f0f8ff", + antiquewhite :"#faebd7", + aqua :"#00ffff", + aquamarine :"#7fffd4", + azure :"#f0ffff", + beige :"#f5f5dc", + bisque :"#ffe4c4", + black :"#000000", + blanchedalmond :"#ffebcd", + blue :"#0000ff", + blueviolet :"#8a2be2", + brown :"#a52a2a", + burlywood :"#deb887", + cadetblue :"#5f9ea0", + chartreuse :"#7fff00", + chocolate :"#d2691e", + coral :"#ff7f50", + cornflowerblue :"#6495ed", + cornsilk :"#fff8dc", + crimson :"#dc143c", + cyan :"#00ffff", + darkblue :"#00008b", + darkcyan :"#008b8b", + darkgoldenrod :"#b8860b", + darkgray :"#a9a9a9", + darkgreen :"#006400", + darkkhaki :"#bdb76b", + darkmagenta :"#8b008b", + darkolivegreen :"#556b2f", + darkorange :"#ff8c00", + darkorchid :"#9932cc", + darkred :"#8b0000", + darksalmon :"#e9967a", + darkseagreen :"#8fbc8f", + darkslateblue :"#483d8b", + darkslategray :"#2f4f4f", + darkturquoise :"#00ced1", + darkviolet :"#9400d3", + deeppink :"#ff1493", + deepskyblue :"#00bfff", + dimgray :"#696969", + dodgerblue :"#1e90ff", + firebrick :"#b22222", + floralwhite :"#fffaf0", + forestgreen :"#228b22", + fuchsia :"#ff00ff", + gainsboro :"#dcdcdc", + ghostwhite :"#f8f8ff", + gold :"#ffd700", + goldenrod :"#daa520", + gray :"#808080", + green :"#008000", + greenyellow :"#adff2f", + honeydew :"#f0fff0", + hotpink :"#ff69b4", + indianred :"#cd5c5c", + indigo :"#4b0082", + ivory :"#fffff0", + khaki :"#f0e68c", + lavender :"#e6e6fa", + lavenderblush :"#fff0f5", + lawngreen :"#7cfc00", + lemonchiffon :"#fffacd", + lightblue :"#add8e6", + lightcoral :"#f08080", + lightcyan :"#e0ffff", + lightgoldenrodyellow :"#fafad2", + lightgrey :"#d3d3d3", + lightgreen :"#90ee90", + lightpink :"#ffb6c1", + lightsalmon :"#ffa07a", + lightseagreen :"#20b2aa", + lightskyblue :"#87cefa", + lightslategray :"#778899", + lightsteelblue :"#b0c4de", + lightyellow :"#ffffe0", + lime :"#00ff00", + limegreen :"#32cd32", + linen :"#faf0e6", + magenta :"#ff00ff", + maroon :"#800000", + mediumaquamarine:"#66cdaa", + mediumblue :"#0000cd", + mediumorchid :"#ba55d3", + mediumpurple :"#9370d8", + mediumseagreen :"#3cb371", + mediumslateblue :"#7b68ee", + mediumspringgreen :"#00fa9a", + mediumturquoise :"#48d1cc", + mediumvioletred :"#c71585", + midnightblue :"#191970", + mintcream :"#f5fffa", + mistyrose :"#ffe4e1", + moccasin :"#ffe4b5", + navajowhite :"#ffdead", + navy :"#000080", + oldlace :"#fdf5e6", + olive :"#808000", + olivedrab :"#6b8e23", + orange :"#ffa500", + orangered :"#ff4500", + orchid :"#da70d6", + palegoldenrod :"#eee8aa", + palegreen :"#98fb98", + paleturquoise :"#afeeee", + palevioletred :"#d87093", + papayawhip :"#ffefd5", + peachpuff :"#ffdab9", + peru :"#cd853f", + pink :"#ffc0cb", + plum :"#dda0dd", + powderblue :"#b0e0e6", + purple :"#800080", + red :"#ff0000", + rosybrown :"#bc8f8f", + royalblue :"#4169e1", + saddlebrown :"#8b4513", + salmon :"#fa8072", + sandybrown :"#f4a460", + seagreen :"#2e8b57", + seashell :"#fff5ee", + sienna :"#a0522d", + silver :"#c0c0c0", + skyblue :"#87ceeb", + slateblue :"#6a5acd", + slategray :"#708090", + snow :"#fffafa", + springgreen :"#00ff7f", + steelblue :"#4682b4", + tan :"#d2b48c", + teal :"#008080", + thistle :"#d8bfd8", + tomato :"#ff6347", + turquoise :"#40e0d0", + violet :"#ee82ee", + wheat :"#f5deb3", + white :"#ffffff", + whitesmoke :"#f5f5f5", + yellow :"#ffff00", + yellowgreen :"#9acd32" +}; +/** + * Represents a selector combinator (whitespace, +, >). + * @namespace parserlib.css + * @class Combinator + * @extends parserlib.util.SyntaxUnit + * @constructor + * @param {String} text The text representation of the unit. + * @param {int} line The line of text on which the unit resides. + * @param {int} col The column of text on which the unit resides. + */ +function Combinator(text, line, col){ + + SyntaxUnit.call(this, text, line, col, Parser.COMBINATOR_TYPE); + + /** + * The type of modifier. + * @type String + * @property type + */ + this.type = "unknown"; + + //pretty simple + if (/^\s+$/.test(text)){ + this.type = "descendant"; + } else if (text == ">"){ + this.type = "child"; + } else if (text == "+"){ + this.type = "adjacent-sibling"; + } else if (text == "~"){ + this.type = "sibling"; + } + +} + +Combinator.prototype = new SyntaxUnit(); +Combinator.prototype.constructor = Combinator; + +/** + * Represents a media feature, such as max-width:500. + * @namespace parserlib.css + * @class MediaFeature + * @extends parserlib.util.SyntaxUnit + * @constructor + * @param {SyntaxUnit} name The name of the feature. + * @param {SyntaxUnit} value The value of the feature or null if none. + */ +function MediaFeature(name, value){ + + SyntaxUnit.call(this, "(" + name + (value !== null ? ":" + value : "") + ")", name.startLine, name.startCol, Parser.MEDIA_FEATURE_TYPE); + + /** + * The name of the media feature + * @type String + * @property name + */ + this.name = name; + + /** + * The value for the feature or null if there is none. + * @type SyntaxUnit + * @property value + */ + this.value = value; +} + +MediaFeature.prototype = new SyntaxUnit(); +MediaFeature.prototype.constructor = MediaFeature; + +/** + * Represents an individual media query. + * @namespace parserlib.css + * @class MediaQuery + * @extends parserlib.util.SyntaxUnit + * @constructor + * @param {String} modifier The modifier "not" or "only" (or null). + * @param {String} mediaType The type of media (i.e., "print"). + * @param {Array} parts Array of selectors parts making up this selector. + * @param {int} line The line of text on which the unit resides. + * @param {int} col The column of text on which the unit resides. + */ +function MediaQuery(modifier, mediaType, features, line, col){ + + SyntaxUnit.call(this, (modifier ? modifier + " ": "") + (mediaType ? mediaType + " " : "") + features.join(" and "), line, col, Parser.MEDIA_QUERY_TYPE); + + /** + * The media modifier ("not" or "only") + * @type String + * @property modifier + */ + this.modifier = modifier; + + /** + * The mediaType (i.e., "print") + * @type String + * @property mediaType + */ + this.mediaType = mediaType; + + /** + * The parts that make up the selector. + * @type Array + * @property features + */ + this.features = features; + +} + +MediaQuery.prototype = new SyntaxUnit(); +MediaQuery.prototype.constructor = MediaQuery; + +/** + * A CSS3 parser. + * @namespace parserlib.css + * @class Parser + * @constructor + * @param {Object} options (Optional) Various options for the parser: + * starHack (true|false) to allow IE6 star hack as valid, + * underscoreHack (true|false) to interpret leading underscores + * as IE6-7 targeting for known properties, ieFilters (true|false) + * to indicate that IE < 8 filters should be accepted and not throw + * syntax errors. + */ +function Parser(options){ + + //inherit event functionality + EventTarget.call(this); + + + this.options = options || {}; + + this._tokenStream = null; +} + +//Static constants +Parser.DEFAULT_TYPE = 0; +Parser.COMBINATOR_TYPE = 1; +Parser.MEDIA_FEATURE_TYPE = 2; +Parser.MEDIA_QUERY_TYPE = 3; +Parser.PROPERTY_NAME_TYPE = 4; +Parser.PROPERTY_VALUE_TYPE = 5; +Parser.PROPERTY_VALUE_PART_TYPE = 6; +Parser.SELECTOR_TYPE = 7; +Parser.SELECTOR_PART_TYPE = 8; +Parser.SELECTOR_SUB_PART_TYPE = 9; + +Parser.prototype = function(){ + + var proto = new EventTarget(), //new prototype + prop, + additions = { + + //restore constructor + constructor: Parser, + + //instance constants - yuck + DEFAULT_TYPE : 0, + COMBINATOR_TYPE : 1, + MEDIA_FEATURE_TYPE : 2, + MEDIA_QUERY_TYPE : 3, + PROPERTY_NAME_TYPE : 4, + PROPERTY_VALUE_TYPE : 5, + PROPERTY_VALUE_PART_TYPE : 6, + SELECTOR_TYPE : 7, + SELECTOR_PART_TYPE : 8, + SELECTOR_SUB_PART_TYPE : 9, + + //----------------------------------------------------------------- + // Grammar + //----------------------------------------------------------------- + + _stylesheet: function(){ + + /* + * stylesheet + * : [ CHARSET_SYM S* STRING S* ';' ]? + * [S|CDO|CDC]* [ import [S|CDO|CDC]* ]* + * [ namespace [S|CDO|CDC]* ]* + * [ [ ruleset | media | page | font_face | keyframes ] [S|CDO|CDC]* ]* + * ; + */ + + var tokenStream = this._tokenStream, + charset = null, + token, + tt; + + this.fire("startstylesheet"); + + //try to read character set + this._charset(); + + this._skipCruft(); + + //try to read imports - may be more than one + while (tokenStream.peek() == Tokens.IMPORT_SYM){ + this._import(); + this._skipCruft(); + } + + //try to read namespaces - may be more than one + while (tokenStream.peek() == Tokens.NAMESPACE_SYM){ + this._namespace(); + this._skipCruft(); + } + + //get the next token + tt = tokenStream.peek(); + + //try to read the rest + while(tt > Tokens.EOF){ + + try { + + switch(tt){ + case Tokens.MEDIA_SYM: + this._media(); + this._skipCruft(); + break; + case Tokens.PAGE_SYM: + this._page(); + this._skipCruft(); + break; + case Tokens.FONT_FACE_SYM: + this._font_face(); + this._skipCruft(); + break; + case Tokens.KEYFRAMES_SYM: + this._keyframes(); + this._skipCruft(); + break; + case Tokens.S: + this._readWhitespace(); + break; + default: + if(!this._ruleset()){ + + //error handling for known issues + switch(tt){ + case Tokens.CHARSET_SYM: + token = tokenStream.LT(1); + this._charset(false); + throw new SyntaxError("@charset not allowed here.", token.startLine, token.startCol); + case Tokens.IMPORT_SYM: + token = tokenStream.LT(1); + this._import(false); + throw new SyntaxError("@import not allowed here.", token.startLine, token.startCol); + case Tokens.NAMESPACE_SYM: + token = tokenStream.LT(1); + this._namespace(false); + throw new SyntaxError("@namespace not allowed here.", token.startLine, token.startCol); + default: + tokenStream.get(); //get the last token + this._unexpectedToken(tokenStream.token()); + } + + } + } + } catch(ex) { + if (ex instanceof SyntaxError && !this.options.strict){ + this.fire({ + type: "error", + error: ex, + message: ex.message, + line: ex.line, + col: ex.col + }); + } else { + throw ex; + } + } + + tt = tokenStream.peek(); + } + + if (tt != Tokens.EOF){ + this._unexpectedToken(tokenStream.token()); + } + + this.fire("endstylesheet"); + }, + + _charset: function(emit){ + var tokenStream = this._tokenStream, + charset, + token, + line, + col; + + if (tokenStream.match(Tokens.CHARSET_SYM)){ + line = tokenStream.token().startLine; + col = tokenStream.token().startCol; + + this._readWhitespace(); + tokenStream.mustMatch(Tokens.STRING); + + token = tokenStream.token(); + charset = token.value; + + this._readWhitespace(); + tokenStream.mustMatch(Tokens.SEMICOLON); + + if (emit !== false){ + this.fire({ + type: "charset", + charset:charset, + line: line, + col: col + }); + } + } + }, + + _import: function(emit){ + /* + * import + * : IMPORT_SYM S* + * [STRING|URI] S* media_query_list? ';' S* + */ + + var tokenStream = this._tokenStream, + tt, + uri, + importToken, + mediaList = []; + + //read import symbol + tokenStream.mustMatch(Tokens.IMPORT_SYM); + importToken = tokenStream.token(); + this._readWhitespace(); + + tokenStream.mustMatch([Tokens.STRING, Tokens.URI]); + + //grab the URI value + uri = tokenStream.token().value.replace(/(?:url\()?["']([^"']+)["']\)?/, "$1"); + + this._readWhitespace(); + + mediaList = this._media_query_list(); + + //must end with a semicolon + tokenStream.mustMatch(Tokens.SEMICOLON); + this._readWhitespace(); + + if (emit !== false){ + this.fire({ + type: "import", + uri: uri, + media: mediaList, + line: importToken.startLine, + col: importToken.startCol + }); + } + + }, + + _namespace: function(emit){ + /* + * namespace + * : NAMESPACE_SYM S* [namespace_prefix S*]? [STRING|URI] S* ';' S* + */ + + var tokenStream = this._tokenStream, + line, + col, + prefix, + uri; + + //read import symbol + tokenStream.mustMatch(Tokens.NAMESPACE_SYM); + line = tokenStream.token().startLine; + col = tokenStream.token().startCol; + this._readWhitespace(); + + //it's a namespace prefix - no _namespace_prefix() method because it's just an IDENT + if (tokenStream.match(Tokens.IDENT)){ + prefix = tokenStream.token().value; + this._readWhitespace(); + } + + tokenStream.mustMatch([Tokens.STRING, Tokens.URI]); + /*if (!tokenStream.match(Tokens.STRING)){ + tokenStream.mustMatch(Tokens.URI); + }*/ + + //grab the URI value + uri = tokenStream.token().value.replace(/(?:url\()?["']([^"']+)["']\)?/, "$1"); + + this._readWhitespace(); + + //must end with a semicolon + tokenStream.mustMatch(Tokens.SEMICOLON); + this._readWhitespace(); + + if (emit !== false){ + this.fire({ + type: "namespace", + prefix: prefix, + uri: uri, + line: line, + col: col + }); + } + + }, + + _media: function(){ + /* + * media + * : MEDIA_SYM S* media_query_list S* '{' S* ruleset* '}' S* + * ; + */ + var tokenStream = this._tokenStream, + line, + col, + mediaList;// = []; + + //look for @media + tokenStream.mustMatch(Tokens.MEDIA_SYM); + line = tokenStream.token().startLine; + col = tokenStream.token().startCol; + + this._readWhitespace(); + + mediaList = this._media_query_list(); + + tokenStream.mustMatch(Tokens.LBRACE); + this._readWhitespace(); + + this.fire({ + type: "startmedia", + media: mediaList, + line: line, + col: col + }); + + while(true) { + if (tokenStream.peek() == Tokens.PAGE_SYM){ + this._page(); + } else if (!this._ruleset()){ + break; + } + } + + tokenStream.mustMatch(Tokens.RBRACE); + this._readWhitespace(); + + this.fire({ + type: "endmedia", + media: mediaList, + line: line, + col: col + }); + }, + + + //CSS3 Media Queries + _media_query_list: function(){ + /* + * media_query_list + * : S* [media_query [ ',' S* media_query ]* ]? + * ; + */ + var tokenStream = this._tokenStream, + mediaList = []; + + + this._readWhitespace(); + + if (tokenStream.peek() == Tokens.IDENT || tokenStream.peek() == Tokens.LPAREN){ + mediaList.push(this._media_query()); + } + + while(tokenStream.match(Tokens.COMMA)){ + this._readWhitespace(); + mediaList.push(this._media_query()); + } + + return mediaList; + }, + + /* + * Note: "expression" in the grammar maps to the _media_expression + * method. + + */ + _media_query: function(){ + /* + * media_query + * : [ONLY | NOT]? S* media_type S* [ AND S* expression ]* + * | expression [ AND S* expression ]* + * ; + */ + var tokenStream = this._tokenStream, + type = null, + ident = null, + token = null, + expressions = []; + + if (tokenStream.match(Tokens.IDENT)){ + ident = tokenStream.token().value.toLowerCase(); + + //since there's no custom tokens for these, need to manually check + if (ident != "only" && ident != "not"){ + tokenStream.unget(); + ident = null; + } else { + token = tokenStream.token(); + } + } + + this._readWhitespace(); + + if (tokenStream.peek() == Tokens.IDENT){ + type = this._media_type(); + if (token === null){ + token = tokenStream.token(); + } + } else if (tokenStream.peek() == Tokens.LPAREN){ + if (token === null){ + token = tokenStream.LT(1); + } + expressions.push(this._media_expression()); + } + + if (type === null && expressions.length === 0){ + return null; + } else { + this._readWhitespace(); + while (tokenStream.match(Tokens.IDENT)){ + if (tokenStream.token().value.toLowerCase() != "and"){ + this._unexpectedToken(tokenStream.token()); + } + + this._readWhitespace(); + expressions.push(this._media_expression()); + } + } + + return new MediaQuery(ident, type, expressions, token.startLine, token.startCol); + }, + + //CSS3 Media Queries + _media_type: function(){ + /* + * media_type + * : IDENT + * ; + */ + return this._media_feature(); + }, + + /** + * Note: in CSS3 Media Queries, this is called "expression". + * Renamed here to avoid conflict with CSS3 Selectors + * definition of "expression". Also note that "expr" in the + * grammar now maps to "expression" from CSS3 selectors. + * @method _media_expression + * @private + */ + _media_expression: function(){ + /* + * expression + * : '(' S* media_feature S* [ ':' S* expr ]? ')' S* + * ; + */ + var tokenStream = this._tokenStream, + feature = null, + token, + expression = null; + + tokenStream.mustMatch(Tokens.LPAREN); + + feature = this._media_feature(); + this._readWhitespace(); + + if (tokenStream.match(Tokens.COLON)){ + this._readWhitespace(); + token = tokenStream.LT(1); + expression = this._expression(); + } + + tokenStream.mustMatch(Tokens.RPAREN); + this._readWhitespace(); + + return new MediaFeature(feature, (expression ? new SyntaxUnit(expression, token.startLine, token.startCol) : null)); + }, + + //CSS3 Media Queries + _media_feature: function(){ + /* + * media_feature + * : IDENT + * ; + */ + var tokenStream = this._tokenStream; + + tokenStream.mustMatch(Tokens.IDENT); + + return SyntaxUnit.fromToken(tokenStream.token()); + }, + + //CSS3 Paged Media + _page: function(){ + /* + * page: + * PAGE_SYM S* IDENT? pseudo_page? S* + * '{' S* [ declaration | margin ]? [ ';' S* [ declaration | margin ]? ]* '}' S* + * ; + */ + var tokenStream = this._tokenStream, + line, + col, + identifier = null, + pseudoPage = null; + + //look for @page + tokenStream.mustMatch(Tokens.PAGE_SYM); + line = tokenStream.token().startLine; + col = tokenStream.token().startCol; + + this._readWhitespace(); + + if (tokenStream.match(Tokens.IDENT)){ + identifier = tokenStream.token().value; + + //The value 'auto' may not be used as a page name and MUST be treated as a syntax error. + if (identifier.toLowerCase() === "auto"){ + this._unexpectedToken(tokenStream.token()); + } + } + + //see if there's a colon upcoming + if (tokenStream.peek() == Tokens.COLON){ + pseudoPage = this._pseudo_page(); + } + + this._readWhitespace(); + + this.fire({ + type: "startpage", + id: identifier, + pseudo: pseudoPage, + line: line, + col: col + }); + + this._readDeclarations(true, true); + + this.fire({ + type: "endpage", + id: identifier, + pseudo: pseudoPage, + line: line, + col: col + }); + + }, + + //CSS3 Paged Media + _margin: function(){ + /* + * margin : + * margin_sym S* '{' declaration [ ';' S* declaration? ]* '}' S* + * ; + */ + var tokenStream = this._tokenStream, + line, + col, + marginSym = this._margin_sym(); + + if (marginSym){ + line = tokenStream.token().startLine; + col = tokenStream.token().startCol; + + this.fire({ + type: "startpagemargin", + margin: marginSym, + line: line, + col: col + }); + + this._readDeclarations(true); + + this.fire({ + type: "endpagemargin", + margin: marginSym, + line: line, + col: col + }); + return true; + } else { + return false; + } + }, + + //CSS3 Paged Media + _margin_sym: function(){ + + /* + * margin_sym : + * TOPLEFTCORNER_SYM | + * TOPLEFT_SYM | + * TOPCENTER_SYM | + * TOPRIGHT_SYM | + * TOPRIGHTCORNER_SYM | + * BOTTOMLEFTCORNER_SYM | + * BOTTOMLEFT_SYM | + * BOTTOMCENTER_SYM | + * BOTTOMRIGHT_SYM | + * BOTTOMRIGHTCORNER_SYM | + * LEFTTOP_SYM | + * LEFTMIDDLE_SYM | + * LEFTBOTTOM_SYM | + * RIGHTTOP_SYM | + * RIGHTMIDDLE_SYM | + * RIGHTBOTTOM_SYM + * ; + */ + + var tokenStream = this._tokenStream; + + if(tokenStream.match([Tokens.TOPLEFTCORNER_SYM, Tokens.TOPLEFT_SYM, + Tokens.TOPCENTER_SYM, Tokens.TOPRIGHT_SYM, Tokens.TOPRIGHTCORNER_SYM, + Tokens.BOTTOMLEFTCORNER_SYM, Tokens.BOTTOMLEFT_SYM, + Tokens.BOTTOMCENTER_SYM, Tokens.BOTTOMRIGHT_SYM, + Tokens.BOTTOMRIGHTCORNER_SYM, Tokens.LEFTTOP_SYM, + Tokens.LEFTMIDDLE_SYM, Tokens.LEFTBOTTOM_SYM, Tokens.RIGHTTOP_SYM, + Tokens.RIGHTMIDDLE_SYM, Tokens.RIGHTBOTTOM_SYM])) + { + return SyntaxUnit.fromToken(tokenStream.token()); + } else { + return null; + } + + }, + + _pseudo_page: function(){ + /* + * pseudo_page + * : ':' IDENT + * ; + */ + + var tokenStream = this._tokenStream; + + tokenStream.mustMatch(Tokens.COLON); + tokenStream.mustMatch(Tokens.IDENT); + + //TODO: CSS3 Paged Media says only "left", "center", and "right" are allowed + + return tokenStream.token().value; + }, + + _font_face: function(){ + /* + * font_face + * : FONT_FACE_SYM S* + * '{' S* declaration [ ';' S* declaration ]* '}' S* + * ; + */ + var tokenStream = this._tokenStream, + line, + col; + + //look for @page + tokenStream.mustMatch(Tokens.FONT_FACE_SYM); + line = tokenStream.token().startLine; + col = tokenStream.token().startCol; + + this._readWhitespace(); + + this.fire({ + type: "startfontface", + line: line, + col: col + }); + + this._readDeclarations(true); + + this.fire({ + type: "endfontface", + line: line, + col: col + }); + }, + + _operator: function(){ + + /* + * operator + * : '/' S* | ',' S* | /( empty )/ + * ; + */ + + var tokenStream = this._tokenStream, + token = null; + + if (tokenStream.match([Tokens.SLASH, Tokens.COMMA])){ + token = tokenStream.token(); + this._readWhitespace(); + } + return token ? PropertyValuePart.fromToken(token) : null; + + }, + + _combinator: function(){ + + /* + * combinator + * : PLUS S* | GREATER S* | TILDE S* | S+ + * ; + */ + + var tokenStream = this._tokenStream, + value = null, + token; + + if(tokenStream.match([Tokens.PLUS, Tokens.GREATER, Tokens.TILDE])){ + token = tokenStream.token(); + value = new Combinator(token.value, token.startLine, token.startCol); + this._readWhitespace(); + } + + return value; + }, + + _unary_operator: function(){ + + /* + * unary_operator + * : '-' | '+' + * ; + */ + + var tokenStream = this._tokenStream; + + if (tokenStream.match([Tokens.MINUS, Tokens.PLUS])){ + return tokenStream.token().value; + } else { + return null; + } + }, + + _property: function(){ + + /* + * property + * : IDENT S* + * ; + */ + + var tokenStream = this._tokenStream, + value = null, + hack = null, + tokenValue, + token, + line, + col; + + //check for star hack - throws error if not allowed + if (tokenStream.peek() == Tokens.STAR && this.options.starHack){ + tokenStream.get(); + token = tokenStream.token(); + hack = token.value; + line = token.startLine; + col = token.startCol; + } + + if(tokenStream.match(Tokens.IDENT)){ + token = tokenStream.token(); + tokenValue = token.value; + + //check for underscore hack - no error if not allowed because it's valid CSS syntax + if (tokenValue.charAt(0) == "_" && this.options.underscoreHack){ + hack = "_"; + tokenValue = tokenValue.substring(1); + } + + value = new PropertyName(tokenValue, hack, (line||token.startLine), (col||token.startCol)); + this._readWhitespace(); + } + + return value; + }, + + //Augmented with CSS3 Selectors + _ruleset: function(){ + /* + * ruleset + * : selectors_group + * '{' S* declaration? [ ';' S* declaration? ]* '}' S* + * ; + */ + + var tokenStream = this._tokenStream, + tt, + selectors; + + + /* + * Error Recovery: If even a single selector fails to parse, + * then the entire ruleset should be thrown away. + */ + try { + selectors = this._selectors_group(); + } catch (ex){ + if (ex instanceof SyntaxError && !this.options.strict){ + + //fire error event + this.fire({ + type: "error", + error: ex, + message: ex.message, + line: ex.line, + col: ex.col + }); + + //skip over everything until closing brace + tt = tokenStream.advance([Tokens.RBRACE]); + if (tt == Tokens.RBRACE){ + //if there's a right brace, the rule is finished so don't do anything + } else { + //otherwise, rethrow the error because it wasn't handled properly + throw ex; + } + + } else { + //not a syntax error, rethrow it + throw ex; + } + + //trigger parser to continue + return true; + } + + //if it got here, all selectors parsed + if (selectors){ + + this.fire({ + type: "startrule", + selectors: selectors, + line: selectors[0].line, + col: selectors[0].col + }); + + this._readDeclarations(true); + + this.fire({ + type: "endrule", + selectors: selectors, + line: selectors[0].line, + col: selectors[0].col + }); + + } + + return selectors; + + }, + + //CSS3 Selectors + _selectors_group: function(){ + + /* + * selectors_group + * : selector [ COMMA S* selector ]* + * ; + */ + var tokenStream = this._tokenStream, + selectors = [], + selector; + + selector = this._selector(); + if (selector !== null){ + + selectors.push(selector); + while(tokenStream.match(Tokens.COMMA)){ + this._readWhitespace(); + selector = this._selector(); + if (selector !== null){ + selectors.push(selector); + } else { + this._unexpectedToken(tokenStream.LT(1)); + } + } + } + + return selectors.length ? selectors : null; + }, + + //CSS3 Selectors + _selector: function(){ + /* + * selector + * : simple_selector_sequence [ combinator simple_selector_sequence ]* + * ; + */ + + var tokenStream = this._tokenStream, + selector = [], + nextSelector = null, + combinator = null, + ws = null; + + //if there's no simple selector, then there's no selector + nextSelector = this._simple_selector_sequence(); + if (nextSelector === null){ + return null; + } + + selector.push(nextSelector); + + do { + + //look for a combinator + combinator = this._combinator(); + + if (combinator !== null){ + selector.push(combinator); + nextSelector = this._simple_selector_sequence(); + + //there must be a next selector + if (nextSelector === null){ + this._unexpectedToken(this.LT(1)); + } else { + + //nextSelector is an instance of SelectorPart + selector.push(nextSelector); + } + } else { + + //if there's not whitespace, we're done + if (this._readWhitespace()){ + + //add whitespace separator + ws = new Combinator(tokenStream.token().value, tokenStream.token().startLine, tokenStream.token().startCol); + + //combinator is not required + combinator = this._combinator(); + + //selector is required if there's a combinator + nextSelector = this._simple_selector_sequence(); + if (nextSelector === null){ + if (combinator !== null){ + this._unexpectedToken(tokenStream.LT(1)); + } + } else { + + if (combinator !== null){ + selector.push(combinator); + } else { + selector.push(ws); + } + + selector.push(nextSelector); + } + } else { + break; + } + + } + } while(true); + + return new Selector(selector, selector[0].line, selector[0].col); + }, + + //CSS3 Selectors + _simple_selector_sequence: function(){ + /* + * simple_selector_sequence + * : [ type_selector | universal ] + * [ HASH | class | attrib | pseudo | negation ]* + * | [ HASH | class | attrib | pseudo | negation ]+ + * ; + */ + + var tokenStream = this._tokenStream, + + //parts of a simple selector + elementName = null, + modifiers = [], + + //complete selector text + selectorText= "", + + //the different parts after the element name to search for + components = [ + //HASH + function(){ + return tokenStream.match(Tokens.HASH) ? + new SelectorSubPart(tokenStream.token().value, "id", tokenStream.token().startLine, tokenStream.token().startCol) : + null; + }, + this._class, + this._attrib, + this._pseudo, + this._negation + ], + i = 0, + len = components.length, + component = null, + found = false, + line, + col; + + + //get starting line and column for the selector + line = tokenStream.LT(1).startLine; + col = tokenStream.LT(1).startCol; + + elementName = this._type_selector(); + if (!elementName){ + elementName = this._universal(); + } + + if (elementName !== null){ + selectorText += elementName; + } + + while(true){ + + //whitespace means we're done + if (tokenStream.peek() === Tokens.S){ + break; + } + + //check for each component + while(i < len && component === null){ + component = components[i++].call(this); + } + + if (component === null){ + + //we don't have a selector + if (selectorText === ""){ + return null; + } else { + break; + } + } else { + i = 0; + modifiers.push(component); + selectorText += component.toString(); + component = null; + } + } + + + return selectorText !== "" ? + new SelectorPart(elementName, modifiers, selectorText, line, col) : + null; + }, + + //CSS3 Selectors + _type_selector: function(){ + /* + * type_selector + * : [ namespace_prefix ]? element_name + * ; + */ + + var tokenStream = this._tokenStream, + ns = this._namespace_prefix(), + elementName = this._element_name(); + + if (!elementName){ + /* + * Need to back out the namespace that was read due to both + * type_selector and universal reading namespace_prefix + * first. Kind of hacky, but only way I can figure out + * right now how to not change the grammar. + */ + if (ns){ + tokenStream.unget(); + if (ns.length > 1){ + tokenStream.unget(); + } + } + + return null; + } else { + if (ns){ + elementName.text = ns + elementName.text; + elementName.col -= ns.length; + } + return elementName; + } + }, + + //CSS3 Selectors + _class: function(){ + /* + * class + * : '.' IDENT + * ; + */ + + var tokenStream = this._tokenStream, + token; + + if (tokenStream.match(Tokens.DOT)){ + tokenStream.mustMatch(Tokens.IDENT); + token = tokenStream.token(); + return new SelectorSubPart("." + token.value, "class", token.startLine, token.startCol - 1); + } else { + return null; + } + + }, + + //CSS3 Selectors + _element_name: function(){ + /* + * element_name + * : IDENT + * ; + */ + + var tokenStream = this._tokenStream, + token; + + if (tokenStream.match(Tokens.IDENT)){ + token = tokenStream.token(); + return new SelectorSubPart(token.value, "elementName", token.startLine, token.startCol); + + } else { + return null; + } + }, + + //CSS3 Selectors + _namespace_prefix: function(){ + /* + * namespace_prefix + * : [ IDENT | '*' ]? '|' + * ; + */ + var tokenStream = this._tokenStream, + value = ""; + + //verify that this is a namespace prefix + if (tokenStream.LA(1) === Tokens.PIPE || tokenStream.LA(2) === Tokens.PIPE){ + + if(tokenStream.match([Tokens.IDENT, Tokens.STAR])){ + value += tokenStream.token().value; + } + + tokenStream.mustMatch(Tokens.PIPE); + value += "|"; + + } + + return value.length ? value : null; + }, + + //CSS3 Selectors + _universal: function(){ + /* + * universal + * : [ namespace_prefix ]? '*' + * ; + */ + var tokenStream = this._tokenStream, + value = "", + ns; + + ns = this._namespace_prefix(); + if(ns){ + value += ns; + } + + if(tokenStream.match(Tokens.STAR)){ + value += "*"; + } + + return value.length ? value : null; + + }, + + //CSS3 Selectors + _attrib: function(){ + /* + * attrib + * : '[' S* [ namespace_prefix ]? IDENT S* + * [ [ PREFIXMATCH | + * SUFFIXMATCH | + * SUBSTRINGMATCH | + * '=' | + * INCLUDES | + * DASHMATCH ] S* [ IDENT | STRING ] S* + * ]? ']' + * ; + */ + + var tokenStream = this._tokenStream, + value = null, + ns, + token; + + if (tokenStream.match(Tokens.LBRACKET)){ + token = tokenStream.token(); + value = token.value; + value += this._readWhitespace(); + + ns = this._namespace_prefix(); + + if (ns){ + value += ns; + } + + tokenStream.mustMatch(Tokens.IDENT); + value += tokenStream.token().value; + value += this._readWhitespace(); + + if(tokenStream.match([Tokens.PREFIXMATCH, Tokens.SUFFIXMATCH, Tokens.SUBSTRINGMATCH, + Tokens.EQUALS, Tokens.INCLUDES, Tokens.DASHMATCH])){ + + value += tokenStream.token().value; + value += this._readWhitespace(); + + tokenStream.mustMatch([Tokens.IDENT, Tokens.STRING]); + value += tokenStream.token().value; + value += this._readWhitespace(); + } + + tokenStream.mustMatch(Tokens.RBRACKET); + + return new SelectorSubPart(value + "]", "attribute", token.startLine, token.startCol); + } else { + return null; + } + }, + + //CSS3 Selectors + _pseudo: function(){ + + /* + * pseudo + * : ':' ':'? [ IDENT | functional_pseudo ] + * ; + */ + + var tokenStream = this._tokenStream, + pseudo = null, + colons = ":", + line, + col; + + if (tokenStream.match(Tokens.COLON)){ + + if (tokenStream.match(Tokens.COLON)){ + colons += ":"; + } + + if (tokenStream.match(Tokens.IDENT)){ + pseudo = tokenStream.token().value; + line = tokenStream.token().startLine; + col = tokenStream.token().startCol - colons.length; + } else if (tokenStream.peek() == Tokens.FUNCTION){ + line = tokenStream.LT(1).startLine; + col = tokenStream.LT(1).startCol - colons.length; + pseudo = this._functional_pseudo(); + } + + if (pseudo){ + pseudo = new SelectorSubPart(colons + pseudo, "pseudo", line, col); + } + } + + return pseudo; + }, + + //CSS3 Selectors + _functional_pseudo: function(){ + /* + * functional_pseudo + * : FUNCTION S* expression ')' + * ; + */ + + var tokenStream = this._tokenStream, + value = null; + + if(tokenStream.match(Tokens.FUNCTION)){ + value = tokenStream.token().value; + value += this._readWhitespace(); + value += this._expression(); + tokenStream.mustMatch(Tokens.RPAREN); + value += ")"; + } + + return value; + }, + + //CSS3 Selectors + _expression: function(){ + /* + * expression + * : [ [ PLUS | '-' | DIMENSION | NUMBER | STRING | IDENT ] S* ]+ + * ; + */ + + var tokenStream = this._tokenStream, + value = ""; + + while(tokenStream.match([Tokens.PLUS, Tokens.MINUS, Tokens.DIMENSION, + Tokens.NUMBER, Tokens.STRING, Tokens.IDENT, Tokens.LENGTH, + Tokens.FREQ, Tokens.ANGLE, Tokens.TIME, + Tokens.RESOLUTION])){ + + value += tokenStream.token().value; + value += this._readWhitespace(); + } + + return value.length ? value : null; + + }, + + //CSS3 Selectors + _negation: function(){ + /* + * negation + * : NOT S* negation_arg S* ')' + * ; + */ + + var tokenStream = this._tokenStream, + line, + col, + value = "", + arg, + subpart = null; + + if (tokenStream.match(Tokens.NOT)){ + value = tokenStream.token().value; + line = tokenStream.token().startLine; + col = tokenStream.token().startCol; + value += this._readWhitespace(); + arg = this._negation_arg(); + value += arg; + value += this._readWhitespace(); + tokenStream.match(Tokens.RPAREN); + value += tokenStream.token().value; + + subpart = new SelectorSubPart(value, "not", line, col); + subpart.args.push(arg); + } + + return subpart; + }, + + //CSS3 Selectors + _negation_arg: function(){ + /* + * negation_arg + * : type_selector | universal | HASH | class | attrib | pseudo + * ; + */ + + var tokenStream = this._tokenStream, + args = [ + this._type_selector, + this._universal, + function(){ + return tokenStream.match(Tokens.HASH) ? + new SelectorSubPart(tokenStream.token().value, "id", tokenStream.token().startLine, tokenStream.token().startCol) : + null; + }, + this._class, + this._attrib, + this._pseudo + ], + arg = null, + i = 0, + len = args.length, + elementName, + line, + col, + part; + + line = tokenStream.LT(1).startLine; + col = tokenStream.LT(1).startCol; + + while(i < len && arg === null){ + + arg = args[i].call(this); + i++; + } + + //must be a negation arg + if (arg === null){ + this._unexpectedToken(tokenStream.LT(1)); + } + + //it's an element name + if (arg.type == "elementName"){ + part = new SelectorPart(arg, [], arg.toString(), line, col); + } else { + part = new SelectorPart(null, [arg], arg.toString(), line, col); + } + + return part; + }, + + _declaration: function(){ + + /* + * declaration + * : property ':' S* expr prio? + * | /( empty )/ + * ; + */ + + var tokenStream = this._tokenStream, + property = null, + expr = null, + prio = null, + error = null, + invalid = null; + + property = this._property(); + if (property !== null){ + + tokenStream.mustMatch(Tokens.COLON); + this._readWhitespace(); + + expr = this._expr(); + + //if there's no parts for the value, it's an error + if (!expr || expr.length === 0){ + this._unexpectedToken(tokenStream.LT(1)); + } + + prio = this._prio(); + + try { + this._validateProperty(property, expr); + } catch (ex) { + invalid = ex; + } + + this.fire({ + type: "property", + property: property, + value: expr, + important: prio, + line: property.line, + col: property.col, + invalid: invalid + }); + + return true; + } else { + return false; + } + }, + + _prio: function(){ + /* + * prio + * : IMPORTANT_SYM S* + * ; + */ + + var tokenStream = this._tokenStream, + result = tokenStream.match(Tokens.IMPORTANT_SYM); + + this._readWhitespace(); + return result; + }, + + _expr: function(){ + /* + * expr + * : term [ operator term ]* + * ; + */ + + var tokenStream = this._tokenStream, + values = [], + //valueParts = [], + value = null, + operator = null; + + value = this._term(); + if (value !== null){ + + values.push(value); + + do { + operator = this._operator(); + + //if there's an operator, keep building up the value parts + if (operator){ + values.push(operator); + } /*else { + //if there's not an operator, you have a full value + values.push(new PropertyValue(valueParts, valueParts[0].line, valueParts[0].col)); + valueParts = []; + }*/ + + value = this._term(); + + if (value === null){ + break; + } else { + values.push(value); + } + } while(true); + } + + //cleanup + /*if (valueParts.length){ + values.push(new PropertyValue(valueParts, valueParts[0].line, valueParts[0].col)); + }*/ + + return values.length > 0 ? new PropertyValue(values, values[0].startLine, values[0].startCol) : null; + }, + + _term: function(){ + + /* + * term + * : unary_operator? + * [ NUMBER S* | PERCENTAGE S* | LENGTH S* | ANGLE S* | + * TIME S* | FREQ S* | function | ie_function ] + * | STRING S* | IDENT S* | URI S* | UNICODERANGE S* | hexcolor + * ; + */ + + var tokenStream = this._tokenStream, + unary = null, + value = null, + line, + col; + + //returns the operator or null + unary = this._unary_operator(); + if (unary !== null){ + line = tokenStream.token().startLine; + col = tokenStream.token().startCol; + } + + //exception for IE filters + if (tokenStream.peek() == Tokens.IE_FUNCTION && this.options.ieFilters){ + + value = this._ie_function(); + if (unary === null){ + line = tokenStream.token().startLine; + col = tokenStream.token().startCol; + } + + //see if there's a simple match + } else if (tokenStream.match([Tokens.NUMBER, Tokens.PERCENTAGE, Tokens.LENGTH, + Tokens.ANGLE, Tokens.TIME, + Tokens.FREQ, Tokens.STRING, Tokens.IDENT, Tokens.URI, Tokens.UNICODE_RANGE])){ + + value = tokenStream.token().value; + if (unary === null){ + line = tokenStream.token().startLine; + col = tokenStream.token().startCol; + } + this._readWhitespace(); + } else { + + //see if it's a color + value = this._hexcolor(); + if (value === null){ + + //if there's no unary, get the start of the next token for line/col info + if (unary === null){ + line = tokenStream.LT(1).startLine; + col = tokenStream.LT(1).startCol; + } + + //has to be a function + if (value === null){ + + /* + * This checks for alpha(opacity=0) style of IE + * functions. IE_FUNCTION only presents progid: style. + */ + if (tokenStream.LA(3) == Tokens.EQUALS && this.options.ieFilters){ + value = this._ie_function(); + } else { + value = this._function(); + } + } + + /*if (value === null){ + return null; + //throw new Error("Expected identifier at line " + tokenStream.token().startLine + ", character " + tokenStream.token().startCol + "."); + }*/ + + } else { + if (unary === null){ + line = tokenStream.token().startLine; + col = tokenStream.token().startCol; + } + } + + } + + return value !== null ? + new PropertyValuePart(unary !== null ? unary + value : value, line, col) : + null; + + }, + + _function: function(){ + + /* + * function + * : FUNCTION S* expr ')' S* + * ; + */ + + var tokenStream = this._tokenStream, + functionText = null, + expr = null, + lt; + + if (tokenStream.match(Tokens.FUNCTION)){ + functionText = tokenStream.token().value; + this._readWhitespace(); + expr = this._expr(); + functionText += expr; + + //START: Horrible hack in case it's an IE filter + if (this.options.ieFilters && tokenStream.peek() == Tokens.EQUALS){ + do { + + if (this._readWhitespace()){ + functionText += tokenStream.token().value; + } + + //might be second time in the loop + if (tokenStream.LA(0) == Tokens.COMMA){ + functionText += tokenStream.token().value; + } + + tokenStream.match(Tokens.IDENT); + functionText += tokenStream.token().value; + + tokenStream.match(Tokens.EQUALS); + functionText += tokenStream.token().value; + + //functionText += this._term(); + lt = tokenStream.peek(); + while(lt != Tokens.COMMA && lt != Tokens.S && lt != Tokens.RPAREN){ + tokenStream.get(); + functionText += tokenStream.token().value; + lt = tokenStream.peek(); + } + } while(tokenStream.match([Tokens.COMMA, Tokens.S])); + } + + //END: Horrible Hack + + tokenStream.match(Tokens.RPAREN); + functionText += ")"; + this._readWhitespace(); + } + + return functionText; + }, + + _ie_function: function(){ + + /* (My own extension) + * ie_function + * : IE_FUNCTION S* IDENT '=' term [S* ','? IDENT '=' term]+ ')' S* + * ; + */ + + var tokenStream = this._tokenStream, + functionText = null, + expr = null, + lt; + + //IE function can begin like a regular function, too + if (tokenStream.match([Tokens.IE_FUNCTION, Tokens.FUNCTION])){ + functionText = tokenStream.token().value; + + do { + + if (this._readWhitespace()){ + functionText += tokenStream.token().value; + } + + //might be second time in the loop + if (tokenStream.LA(0) == Tokens.COMMA){ + functionText += tokenStream.token().value; + } + + tokenStream.match(Tokens.IDENT); + functionText += tokenStream.token().value; + + tokenStream.match(Tokens.EQUALS); + functionText += tokenStream.token().value; + + //functionText += this._term(); + lt = tokenStream.peek(); + while(lt != Tokens.COMMA && lt != Tokens.S && lt != Tokens.RPAREN){ + tokenStream.get(); + functionText += tokenStream.token().value; + lt = tokenStream.peek(); + } + } while(tokenStream.match([Tokens.COMMA, Tokens.S])); + + tokenStream.match(Tokens.RPAREN); + functionText += ")"; + this._readWhitespace(); + } + + return functionText; + }, + + _hexcolor: function(){ + /* + * There is a constraint on the color that it must + * have either 3 or 6 hex-digits (i.e., [0-9a-fA-F]) + * after the "#"; e.g., "#000" is OK, but "#abcd" is not. + * + * hexcolor + * : HASH S* + * ; + */ + + var tokenStream = this._tokenStream, + token, + color = null; + + if(tokenStream.match(Tokens.HASH)){ + + //need to do some validation here + + token = tokenStream.token(); + color = token.value; + if (!/#[a-f0-9]{3,6}/i.test(color)){ + throw new SyntaxError("Expected a hex color but found '" + color + "' at line " + token.startLine + ", col " + token.startCol + ".", token.startLine, token.startCol); + } + this._readWhitespace(); + } + + return color; + }, + + //----------------------------------------------------------------- + // Animations methods + //----------------------------------------------------------------- + + _keyframes: function(){ + + /* + * keyframes: + * : KEYFRAMES_SYM S* keyframe_name S* '{' S* keyframe_rule* '}' { + * ; + */ + var tokenStream = this._tokenStream, + token, + tt, + name; + + tokenStream.mustMatch(Tokens.KEYFRAMES_SYM); + this._readWhitespace(); + name = this._keyframe_name(); + + this._readWhitespace(); + tokenStream.mustMatch(Tokens.LBRACE); + + this.fire({ + type: "startkeyframes", + name: name, + line: name.line, + col: name.col + }); + + this._readWhitespace(); + tt = tokenStream.peek(); + + //check for key + while(tt == Tokens.IDENT || tt == Tokens.PERCENTAGE) { + this._keyframe_rule(); + this._readWhitespace(); + tt = tokenStream.peek(); + } + + this.fire({ + type: "endkeyframes", + name: name, + line: name.line, + col: name.col + }); + + this._readWhitespace(); + tokenStream.mustMatch(Tokens.RBRACE); + + }, + + _keyframe_name: function(){ + + /* + * keyframe_name: + * : IDENT + * | STRING + * ; + */ + var tokenStream = this._tokenStream, + token; + + tokenStream.mustMatch([Tokens.IDENT, Tokens.STRING]); + return SyntaxUnit.fromToken(tokenStream.token()); + }, + + _keyframe_rule: function(){ + + /* + * keyframe_rule: + * : key_list S* + * '{' S* declaration [ ';' S* declaration ]* '}' S* + * ; + */ + var tokenStream = this._tokenStream, + token, + keyList = this._key_list(); + + this.fire({ + type: "startkeyframerule", + keys: keyList, + line: keyList[0].line, + col: keyList[0].col + }); + + this._readDeclarations(true); + + this.fire({ + type: "endkeyframerule", + keys: keyList, + line: keyList[0].line, + col: keyList[0].col + }); + + }, + + _key_list: function(){ + + /* + * key_list: + * : key [ S* ',' S* key]* + * ; + */ + var tokenStream = this._tokenStream, + token, + key, + keyList = []; + + //must be least one key + keyList.push(this._key()); + + this._readWhitespace(); + + while(tokenStream.match(Tokens.COMMA)){ + this._readWhitespace(); + keyList.push(this._key()); + this._readWhitespace(); + } + + return keyList; + }, + + _key: function(){ + /* + * There is a restriction that IDENT can be only "from" or "to". + * + * key + * : PERCENTAGE + * | IDENT + * ; + */ + + var tokenStream = this._tokenStream, + token; + + if (tokenStream.match(Tokens.PERCENTAGE)){ + return SyntaxUnit.fromToken(tokenStream.token()); + } else if (tokenStream.match(Tokens.IDENT)){ + token = tokenStream.token(); + + if (/from|to/i.test(token.value)){ + return SyntaxUnit.fromToken(token); + } + + tokenStream.unget(); + } + + //if it gets here, there wasn't a valid token, so time to explode + this._unexpectedToken(tokenStream.LT(1)); + }, + + //----------------------------------------------------------------- + // Helper methods + //----------------------------------------------------------------- + + /** + * Not part of CSS grammar, but useful for skipping over + * combination of white space and HTML-style comments. + * @return {void} + * @method _skipCruft + * @private + */ + _skipCruft: function(){ + while(this._tokenStream.match([Tokens.S, Tokens.CDO, Tokens.CDC])){ + //noop + } + }, + + /** + * Not part of CSS grammar, but this pattern occurs frequently + * in the official CSS grammar. Split out here to eliminate + * duplicate code. + * @param {Boolean} checkStart Indicates if the rule should check + * for the left brace at the beginning. + * @param {Boolean} readMargins Indicates if the rule should check + * for margin patterns. + * @return {void} + * @method _readDeclarations + * @private + */ + _readDeclarations: function(checkStart, readMargins){ + /* + * Reads the pattern + * S* '{' S* declaration [ ';' S* declaration ]* '}' S* + * or + * S* '{' S* [ declaration | margin ]? [ ';' S* [ declaration | margin ]? ]* '}' S* + * Note that this is how it is described in CSS3 Paged Media, but is actually incorrect. + * A semicolon is only necessary following a delcaration is there's another declaration + * or margin afterwards. + */ + var tokenStream = this._tokenStream, + tt; + + + this._readWhitespace(); + + if (checkStart){ + tokenStream.mustMatch(Tokens.LBRACE); + } + + this._readWhitespace(); + + try { + + while(true){ + + if (readMargins && this._margin()){ + //noop + } else if (this._declaration()){ + if (!tokenStream.match(Tokens.SEMICOLON)){ + break; + } + } else { + break; + } + + //if ((!this._margin() && !this._declaration()) || !tokenStream.match(Tokens.SEMICOLON)){ + // break; + //} + this._readWhitespace(); + } + + tokenStream.mustMatch(Tokens.RBRACE); + this._readWhitespace(); + + } catch (ex) { + if (ex instanceof SyntaxError && !this.options.strict){ + + //fire error event + this.fire({ + type: "error", + error: ex, + message: ex.message, + line: ex.line, + col: ex.col + }); + + //see if there's another declaration + tt = tokenStream.advance([Tokens.SEMICOLON, Tokens.RBRACE]); + if (tt == Tokens.SEMICOLON){ + //if there's a semicolon, then there might be another declaration + this._readDeclarations(false, readMargins); + } else if (tt == Tokens.RBRACE){ + //if there's a right brace, the rule is finished so don't do anything + } else { + //otherwise, rethrow the error because it wasn't handled properly + throw ex; + } + + } else { + //not a syntax error, rethrow it + throw ex; + } + } + + }, + + /** + * In some cases, you can end up with two white space tokens in a + * row. Instead of making a change in every function that looks for + * white space, this function is used to match as much white space + * as necessary. + * @method _readWhitespace + * @return {String} The white space if found, empty string if not. + * @private + */ + _readWhitespace: function(){ + + var tokenStream = this._tokenStream, + ws = ""; + + while(tokenStream.match(Tokens.S)){ + ws += tokenStream.token().value; + } + + return ws; + }, + + + /** + * Throws an error when an unexpected token is found. + * @param {Object} token The token that was found. + * @method _unexpectedToken + * @return {void} + * @private + */ + _unexpectedToken: function(token){ + throw new SyntaxError("Unexpected token '" + token.value + "' at line " + token.startLine + ", col " + token.startCol + ".", token.startLine, token.startCol); + }, + + /** + * Helper method used for parsing subparts of a style sheet. + * @return {void} + * @method _verifyEnd + * @private + */ + _verifyEnd: function(){ + if (this._tokenStream.LA(1) != Tokens.EOF){ + this._unexpectedToken(this._tokenStream.LT(1)); + } + }, + + //----------------------------------------------------------------- + // Validation methods + //----------------------------------------------------------------- + _validateProperty: function(property, value){ + var name = property.text.toLowerCase(), + validation, + i, len; + + if (Properties[name]){ + + if (typeof Properties[name] == "function"){ + Properties[name](value); + } + + //otherwise, no validation available yet + } else if (name.indexOf("-") !== 0){ //vendor prefixed are ok + throw new ValidationError("Unknown property '" + property + "'.", property.line, property.col); + } + }, + + //----------------------------------------------------------------- + // Parsing methods + //----------------------------------------------------------------- + + parse: function(input){ + this._tokenStream = new TokenStream(input, Tokens); + this._stylesheet(); + }, + + parseStyleSheet: function(input){ + //just passthrough + return this.parse(input); + }, + + parseMediaQuery: function(input){ + this._tokenStream = new TokenStream(input, Tokens); + var result = this._media_query(); + + //if there's anything more, then it's an invalid selector + this._verifyEnd(); + + //otherwise return result + return result; + }, + + /** + * Parses a property value (everything after the semicolon). + * @return {parserlib.css.PropertyValue} The property value. + * @throws parserlib.util.SyntaxError If an unexpected token is found. + * @method parserPropertyValue + */ + parsePropertyValue: function(input){ + + this._tokenStream = new TokenStream(input, Tokens); + this._readWhitespace(); + + var result = this._expr(); + + //okay to have a trailing white space + this._readWhitespace(); + + //if there's anything more, then it's an invalid selector + this._verifyEnd(); + + //otherwise return result + return result; + }, + + /** + * Parses a complete CSS rule, including selectors and + * properties. + * @param {String} input The text to parser. + * @return {Boolean} True if the parse completed successfully, false if not. + * @method parseRule + */ + parseRule: function(input){ + this._tokenStream = new TokenStream(input, Tokens); + + //skip any leading white space + this._readWhitespace(); + + var result = this._ruleset(); + + //skip any trailing white space + this._readWhitespace(); + + //if there's anything more, then it's an invalid selector + this._verifyEnd(); + + //otherwise return result + return result; + }, + + /** + * Parses a single CSS selector (no comma) + * @param {String} input The text to parse as a CSS selector. + * @return {Selector} An object representing the selector. + * @throws parserlib.util.SyntaxError If an unexpected token is found. + * @method parseSelector + */ + parseSelector: function(input){ + + this._tokenStream = new TokenStream(input, Tokens); + + //skip any leading white space + this._readWhitespace(); + + var result = this._selector(); + + //skip any trailing white space + this._readWhitespace(); + + //if there's anything more, then it's an invalid selector + this._verifyEnd(); + + //otherwise return result + return result; + }, + + /** + * Parses an HTML style attribute: a set of CSS declarations + * separated by semicolons. + * @param {String} input The text to parse as a style attribute + * @return {void} + * @method parseStyleAttribute + */ + parseStyleAttribute: function(input){ + input += "}"; // for error recovery in _readDeclarations() + this._tokenStream = new TokenStream(input, Tokens); + this._readDeclarations(); + } + }; + + //copy over onto prototype + for (prop in additions){ + proto[prop] = additions[prop]; + } + + return proto; +}(); + + +/* +nth + : S* [ ['-'|'+']? INTEGER? {N} [ S* ['-'|'+'] S* INTEGER ]? | + ['-'|'+']? INTEGER | {O}{D}{D} | {E}{V}{E}{N} ] S* + ; +*/ +//This file will likely change a lot! Very experimental! + +var ValidationType = { + + "absolute-size": function(part){ + return this.identifier(part, "xx-small | x-small | small | medium | large | x-large | xx-large"); + }, + + "attachment": function(part){ + return this.identifier(part, "scroll | fixed | local"); + }, + + "box": function(part){ + return this.identifier(part, "padding-box | border-box | content-box"); + }, + + "relative-size": function(part){ + return this.identifier(part, "smaller | larger"); + }, + + "identifier": function(part, options){ + var text = part.text.toString().toLowerCase(), + args = options.split(" | "), + i, len, found = false; + + + for (i=0,len=args.length; i < len && !found; i++){ + if (text == args[i]){ + found = true; + } + } + + return found; + }, + + "length": function(part){ + return part.type == "length" || part.type == "number" || part.type == "integer" || part == "0"; + }, + + "color": function(part){ + return part.type == "color" || part == "transparent"; + }, + + "number": function(part){ + return part.type == "number" || this.integer(part); + }, + + "integer": function(part){ + return part.type == "integer"; + }, + + "angle": function(part){ + return part.type == "angle"; + }, + + "uri": function(part){ + return part.type == "uri"; + }, + + "image": function(part){ + return this.uri(part); + }, + + "bg-image": function(part){ + return this.image(part) || part == "none"; + }, + + "percentage": function(part){ + return part.type == "percentage" || part == "0"; + }, + + "border-width": function(part){ + return this.length(part) || this.identifier(part, "thin | medium | thick"); + }, + + "border-style": function(part){ + return this.identifier(part, "none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset"); + }, + + "margin-width": function(part){ + return this.length(part) || this.percentage(part) || this.identifier(part, "auto"); + }, + + "padding-width": function(part){ + return this.length(part) || this.percentage(part); + } +}; + + + + + + + +var Properties = { + + //A + "alignment-adjust": 1, + "alignment-baseline": 1, + "animation": 1, + "animation-delay": 1, + "animation-direction": { multi: [ "normal | alternate" ], separator: "," }, + "animation-duration": 1, + "animation-fill-mode": 1, + "animation-iteration-count": { multi: [ "number", "infinite"], separator: "," }, + "animation-name": 1, + "animation-play-state": { multi: [ "running | paused" ], separator: "," }, + "animation-timing-function": 1, + "appearance": 1, + "azimuth": 1, + + //B + "backface-visibility": 1, + "background": 1, + "background-attachment": { multi: [ "attachment" ], separator: "," }, + "background-break": 1, + "background-clip": { multi: [ "box" ], separator: "," }, + "background-color": [ "color", "inherit" ], + "background-image": { multi: [ "bg-image" ], separator: "," }, + "background-origin": { multi: [ "box" ], separator: "," }, + "background-position": 1, + "background-repeat": [ "repeat | repeat-x | repeat-y | no-repeat | inherit" ], + "background-size": 1, + "baseline-shift": 1, + "binding": 1, + "bleed": 1, + "bookmark-label": 1, + "bookmark-level": 1, + "bookmark-state": 1, + "bookmark-target": 1, + "border": 1, + "border-bottom": 1, + "border-bottom-color": 1, + "border-bottom-left-radius": 1, + "border-bottom-right-radius": 1, + "border-bottom-style": [ "border-style" ], + "border-bottom-width": [ "border-width" ], + "border-collapse": [ "collapse | separate | inherit" ], + "border-color": { multi: [ "color", "inherit" ], max: 4 }, + "border-image": 1, + "border-image-outset": { multi: [ "length", "number" ], max: 4 }, + "border-image-repeat": { multi: [ "stretch | repeat | round" ], max: 2 }, + "border-image-slice": 1, + "border-image-source": [ "image", "none" ], + "border-image-width": { multi: [ "length", "percentage", "number", "auto" ], max: 4 }, + "border-left": 1, + "border-left-color": [ "color", "inherit" ], + "border-left-style": [ "border-style" ], + "border-left-width": [ "border-width" ], + "border-radius": 1, + "border-right": 1, + "border-right-color": [ "color", "inherit" ], + "border-right-style": [ "border-style" ], + "border-right-width": [ "border-width" ], + "border-spacing": 1, + "border-style": { multi: [ "border-style" ], max: 4 }, + "border-top": 1, + "border-top-color": [ "color", "inherit" ], + "border-top-left-radius": 1, + "border-top-right-radius": 1, + "border-top-style": [ "border-style" ], + "border-top-width": [ "border-width" ], + "border-width": { multi: [ "border-width" ], max: 4 }, + "bottom": [ "margin-width", "inherit" ], + "box-align": [ "start | end | center | baseline | stretch" ], //http://www.w3.org/TR/2009/WD-css3-flexbox-20090723/ + "box-decoration-break": [ "slice |clone" ], + "box-direction": [ "normal | reverse | inherit" ], + "box-flex": [ "number" ], + "box-flex-group": [ "integer" ], + "box-lines": [ "single | multiple" ], + "box-ordinal-group": [ "integer" ], + "box-orient": [ "horizontal | vertical | inline-axis | block-axis | inherit" ], + "box-pack": [ "start | end | center | justify" ], + "box-shadow": 1, + "box-sizing": [ "content-box | border-box | inherit" ], + "break-after": [ "auto | always | avoid | left | right | page | column | avoid-page | avoid-column" ], + "break-before": [ "auto | always | avoid | left | right | page | column | avoid-page | avoid-column" ], + "break-inside": [ "auto | avoid | avoid-page | avoid-column" ], + + //C + "caption-side": [ "top | bottom | inherit" ], + "clear": [ "none | right | left | both | inherit" ], + "clip": 1, + "color": [ "color", "inherit" ], + "color-profile": 1, + "column-count": [ "integer", "auto" ], //http://www.w3.org/TR/css3-multicol/ + "column-fill": [ "auto | balance" ], + "column-gap": [ "length", "normal" ], + "column-rule": 1, + "column-rule-color": [ "color" ], + "column-rule-style": [ "border-style" ], + "column-rule-width": [ "border-width" ], + "column-span": [ "none | all" ], + "column-width": [ "length", "auto" ], + "columns": 1, + "content": 1, + "counter-increment": 1, + "counter-reset": 1, + "crop": 1, + "cue": [ "cue-after | cue-before | inherit" ], + "cue-after": 1, + "cue-before": 1, + "cursor": 1, + + //D + "direction": [ "ltr | rtl | inherit" ], + "display": [ "inline | block | list-item | inline-block | table | inline-table | table-row-group | table-header-group | table-footer-group | table-row | table-column-group | table-column | table-cell | table-caption | box | inline-box | grid | inline-grid", "none | inherit" ], + "dominant-baseline": 1, + "drop-initial-after-adjust": 1, + "drop-initial-after-align": 1, + "drop-initial-before-adjust": 1, + "drop-initial-before-align": 1, + "drop-initial-size": 1, + "drop-initial-value": 1, + + //E + "elevation": 1, + "empty-cells": [ "show | hide | inherit" ], + + //F + "filter": 1, + "fit": [ "fill | hidden | meet | slice" ], + "fit-position": 1, + "float": [ "left | right | none | inherit" ], + "float-offset": 1, + "font": 1, + "font-family": 1, + "font-size": [ "absolute-size", "relative-size", "length", "percentage", "inherit" ], + "font-size-adjust": 1, + "font-stretch": 1, + "font-style": [ "normal | italic | oblique | inherit" ], + "font-variant": [ "normal | small-caps | inherit" ], + "font-weight": [ "normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | inherit" ], + + //G + "grid-cell-stacking": [ "columns | rows | layer" ], + "grid-column": 1, + "grid-columns": 1, + "grid-column-align": [ "start | end | center | stretch" ], + "grid-column-sizing": 1, + "grid-column-span": [ "integer" ], + "grid-flow": [ "none | rows | columns" ], + "grid-layer": [ "integer" ], + "grid-row": 1, + "grid-rows": 1, + "grid-row-align": [ "start | end | center | stretch" ], + "grid-row-span": [ "integer" ], + "grid-row-sizing": 1, + + //H + "hanging-punctuation": 1, + "height": [ "margin-width", "inherit" ], + "hyphenate-after": 1, + "hyphenate-before": 1, + "hyphenate-character": [ "string", "auto" ], + "hyphenate-lines": 1, + "hyphenate-resource": 1, + "hyphens": [ "none | manual | auto" ], + + //I + "icon": 1, + "image-orientation": [ "angle", "auto" ], + "image-rendering": 1, + "image-resolution": 1, + "inline-box-align": 1, + + //L + "left": [ "margin-width", "inherit" ], + "letter-spacing": [ "length", "normal | inherit" ], + "line-height": [ "number", "length", "percentage", "normal | inherit"], + "line-break": [ "auto | loose | normal | strict" ], + "line-stacking": 1, + "line-stacking-ruby": 1, + "line-stacking-shift": 1, + "line-stacking-strategy": 1, + "list-style": 1, + "list-style-image": [ "uri", "none | inherit" ], + "list-style-position": [ "inside | outside | inherit" ], + "list-style-type": [ "disc | circle | square | decimal | decimal-leading-zero | lower-roman | upper-roman | lower-greek | lower-latin | upper-latin | armenian | georgian | lower-alpha | upper-alpha | none | inherit" ], + + //M + "margin": { multi: [ "margin-width", "inherit" ], max: 4 }, + "margin-bottom": [ "margin-width", "inherit" ], + "margin-left": [ "margin-width", "inherit" ], + "margin-right": [ "margin-width", "inherit" ], + "margin-top": [ "margin-width", "inherit" ], + "mark": 1, + "mark-after": 1, + "mark-before": 1, + "marks": 1, + "marquee-direction": 1, + "marquee-play-count": 1, + "marquee-speed": 1, + "marquee-style": 1, + "max-height": [ "length", "percentage", "none | inherit" ], + "max-width": [ "length", "percentage", "none | inherit" ], + "min-height": [ "length", "percentage", "inherit" ], + "min-width": [ "length", "percentage", "inherit" ], + "move-to": 1, + + //N + "nav-down": 1, + "nav-index": 1, + "nav-left": 1, + "nav-right": 1, + "nav-up": 1, + + //O + "opacity": [ "number", "inherit" ], + "orphans": [ "integer", "inherit" ], + "outline": 1, + "outline-color": [ "color", "invert | inherit" ], + "outline-offset": 1, + "outline-style": [ "border-style", "inherit" ], + "outline-width": [ "border-width", "inherit" ], + "overflow": [ "visible | hidden | scroll | auto | inherit" ], + "overflow-style": 1, + "overflow-x": 1, + "overflow-y": 1, + + //P + "padding": { multi: [ "padding-width", "inherit" ], max: 4 }, + "padding-bottom": [ "padding-width", "inherit" ], + "padding-left": [ "padding-width", "inherit" ], + "padding-right": [ "padding-width", "inherit" ], + "padding-top": [ "padding-width", "inherit" ], + "page": 1, + "page-break-after": [ "auto | always | avoid | left | right | inherit" ], + "page-break-before": [ "auto | always | avoid | left | right | inherit" ], + "page-break-inside": [ "auto | avoid | inherit" ], + "page-policy": 1, + "pause": 1, + "pause-after": 1, + "pause-before": 1, + "perspective": 1, + "perspective-origin": 1, + "phonemes": 1, + "pitch": 1, + "pitch-range": 1, + "play-during": 1, + "position": [ "static | relative | absolute | fixed | inherit" ], + "presentation-level": 1, + "punctuation-trim": 1, + + //Q + "quotes": 1, + + //R + "rendering-intent": 1, + "resize": 1, + "rest": 1, + "rest-after": 1, + "rest-before": 1, + "richness": 1, + "right": [ "margin-width", "inherit" ], + "rotation": 1, + "rotation-point": 1, + "ruby-align": 1, + "ruby-overhang": 1, + "ruby-position": 1, + "ruby-span": 1, + + //S + "size": 1, + "speak": [ "normal | none | spell-out | inherit" ], + "speak-header": [ "once | always | inherit" ], + "speak-numeral": [ "digits | continuous | inherit" ], + "speak-punctuation": [ "code | none | inherit" ], + "speech-rate": 1, + "src" : 1, + "stress": 1, + "string-set": 1, + + "table-layout": [ "auto | fixed | inherit" ], + "tab-size": [ "integer", "length" ], + "target": 1, + "target-name": 1, + "target-new": 1, + "target-position": 1, + "text-align": [ "left | right | center | justify | inherit" ], + "text-align-last": 1, + "text-decoration": 1, + "text-emphasis": 1, + "text-height": 1, + "text-indent": [ "length", "percentage", "inherit" ], + "text-justify": [ "auto | none | inter-word | inter-ideograph | inter-cluster | distribute | kashida" ], + "text-outline": 1, + "text-overflow": 1, + "text-shadow": 1, + "text-transform": [ "capitalize | uppercase | lowercase | none | inherit" ], + "text-wrap": [ "normal | none | avoid" ], + "top": [ "margin-width", "inherit" ], + "transform": 1, + "transform-origin": 1, + "transform-style": 1, + "transition": 1, + "transition-delay": 1, + "transition-duration": 1, + "transition-property": 1, + "transition-timing-function": 1, + + //U + "unicode-bidi": [ "normal | embed | bidi-override | inherit" ], + "user-modify": [ "read-only | read-write | write-only | inherit" ], + "user-select": [ "none | text | toggle | element | elements | all | inherit" ], + + //V + "vertical-align": [ "percentage", "length", "baseline | sub | super | top | text-top | middle | bottom | text-bottom | inherit" ], + "visibility": [ "visible | hidden | collapse | inherit" ], + "voice-balance": 1, + "voice-duration": 1, + "voice-family": 1, + "voice-pitch": 1, + "voice-pitch-range": 1, + "voice-rate": 1, + "voice-stress": 1, + "voice-volume": 1, + "volume": 1, + + //W + "white-space": [ "normal | pre | nowrap | pre-wrap | pre-line | inherit" ], + "white-space-collapse": 1, + "widows": [ "integer", "inherit" ], + "width": [ "length", "percentage", "auto", "inherit" ], + "word-break": [ "normal | keep-all | break-all" ], + "word-spacing": [ "length", "normal | inherit" ], + "word-wrap": 1, + + //Z + "z-index": [ "integer", "auto | inherit" ], + "zoom": [ "number", "percentage", "normal" ] +}; + +//Create validation functions for strings +(function(){ + var prop; + for (prop in Properties){ + if (Properties.hasOwnProperty(prop)){ + if (Properties[prop] instanceof Array){ + Properties[prop] = (function(values){ + return function(value){ + var valid = false, + msg = [], + part = value.parts[0]; + + if (value.parts.length != 1){ + throw new ValidationError("Expected 1 value but found " + value.parts.length + ".", value.line, value.col); + } + + for (var i=0, len=values.length; i < len && !valid; i++){ + if (typeof ValidationType[values[i]] == "undefined"){ + valid = valid || ValidationType.identifier(part, values[i]); + msg.push("one of (" + values[i] + ")"); + } else { + valid = valid || ValidationType[values[i]](part); + msg.push(values[i]); + } + } + + if (!valid){ + throw new ValidationError("Expected " + msg.join(" or ") + " but found '" + value + "'.", value.line, value.col); + } + }; + })(Properties[prop]); + } else if (typeof Properties[prop] == "object"){ + Properties[prop] = (function(spec){ + return function(value){ + var valid, + i, len, j, count, + msg, + values, + last, + parts = value.parts; + + //if there's a maximum set, use it (max can't be 0) + if (spec.max) { + if (parts.length > spec.max){ + throw new ValidationError("Expected a max of " + spec.max + " property values but found " + parts.length + ".", value.line, value.col); + } + } + + if (spec.multi){ + values = spec.multi; + } + + for (i=0, len=parts.length; i < len; i++){ + msg = []; + valid = false; + + if (spec.separator && parts[i].type == "operator"){ + + //two operators in a row - not allowed? + if ((last && last.type == "operator")){ + msg = msg.concat(values); + } else if (i == len-1){ + msg = msg.concat("end of line"); + } else if (parts[i] != spec.separator){ + msg.push("'" + spec.separator + "'"); + } else { + valid = true; + } + } else { + + for (j=0, count=values.length; j < count; j++){ + if (typeof ValidationType[values[j]] == "undefined"){ + if(ValidationType.identifier(parts[i], values[j])){ + valid = true; + break; + } + msg.push("one of (" + values[j] + ")"); + } else { + if (ValidationType[values[j]](parts[i])){ + valid = true; + break; + } + msg.push(values[j]); + } + } + } + + + if (!valid) { + throw new ValidationError("Expected " + msg.join(" or ") + " but found '" + parts[i] + "'.", value.line, value.col); + } + + + last = parts[i]; + } + + }; + })(Properties[prop]); + } + } + } +})(); +/** + * Represents a selector combinator (whitespace, +, >). + * @namespace parserlib.css + * @class PropertyName + * @extends parserlib.util.SyntaxUnit + * @constructor + * @param {String} text The text representation of the unit. + * @param {String} hack The type of IE hack applied ("*", "_", or null). + * @param {int} line The line of text on which the unit resides. + * @param {int} col The column of text on which the unit resides. + */ +function PropertyName(text, hack, line, col){ + + SyntaxUnit.call(this, text, line, col, Parser.PROPERTY_NAME_TYPE); + + /** + * The type of IE hack applied ("*", "_", or null). + * @type String + * @property hack + */ + this.hack = hack; + +} + +PropertyName.prototype = new SyntaxUnit(); +PropertyName.prototype.constructor = PropertyName; +PropertyName.prototype.toString = function(){ + return (this.hack ? this.hack : "") + this.text; +}; +/** + * Represents a single part of a CSS property value, meaning that it represents + * just everything single part between ":" and ";". If there are multiple values + * separated by commas, this type represents just one of the values. + * @param {String[]} parts An array of value parts making up this value. + * @param {int} line The line of text on which the unit resides. + * @param {int} col The column of text on which the unit resides. + * @namespace parserlib.css + * @class PropertyValue + * @extends parserlib.util.SyntaxUnit + * @constructor + */ +function PropertyValue(parts, line, col){ + + SyntaxUnit.call(this, parts.join(" "), line, col, Parser.PROPERTY_VALUE_TYPE); + + /** + * The parts that make up the selector. + * @type Array + * @property parts + */ + this.parts = parts; + +} + +PropertyValue.prototype = new SyntaxUnit(); +PropertyValue.prototype.constructor = PropertyValue; + +/** + * Represents a single part of a CSS property value, meaning that it represents + * just one part of the data between ":" and ";". + * @param {String} text The text representation of the unit. + * @param {int} line The line of text on which the unit resides. + * @param {int} col The column of text on which the unit resides. + * @namespace parserlib.css + * @class PropertyValuePart + * @extends parserlib.util.SyntaxUnit + * @constructor + */ +function PropertyValuePart(text, line, col){ + + SyntaxUnit.call(this, text, line, col, Parser.PROPERTY_VALUE_PART_TYPE); + + /** + * Indicates the type of value unit. + * @type String + * @property type + */ + this.type = "unknown"; + + //figure out what type of data it is + + var temp; + + //it is a measurement? + if (/^([+\-]?[\d\.]+)([a-z]+)$/i.test(text)){ //dimension + this.type = "dimension"; + this.value = +RegExp.$1; + this.units = RegExp.$2; + + //try to narrow down + switch(this.units.toLowerCase()){ + + case "em": + case "rem": + case "ex": + case "px": + case "cm": + case "mm": + case "in": + case "pt": + case "pc": + this.type = "length"; + break; + + case "deg": + case "rad": + case "grad": + this.type = "angle"; + break; + + case "ms": + case "s": + this.type = "time"; + break; + + case "hz": + case "khz": + this.type = "frequency"; + break; + + case "dpi": + case "dpcm": + this.type = "resolution"; + break; + + //default + + } + + } else if (/^([+\-]?[\d\.]+)%$/i.test(text)){ //percentage + this.type = "percentage"; + this.value = +RegExp.$1; + } else if (/^([+\-]?[\d\.]+)%$/i.test(text)){ //percentage + this.type = "percentage"; + this.value = +RegExp.$1; + } else if (/^([+\-]?\d+)$/i.test(text)){ //integer + this.type = "integer"; + this.value = +RegExp.$1; + } else if (/^([+\-]?[\d\.]+)$/i.test(text)){ //number + this.type = "number"; + this.value = +RegExp.$1; + + } else if (/^#([a-f0-9]{3,6})/i.test(text)){ //hexcolor + this.type = "color"; + temp = RegExp.$1; + if (temp.length == 3){ + this.red = parseInt(temp.charAt(0)+temp.charAt(0),16); + this.green = parseInt(temp.charAt(1)+temp.charAt(1),16); + this.blue = parseInt(temp.charAt(2)+temp.charAt(2),16); + } else { + this.red = parseInt(temp.substring(0,2),16); + this.green = parseInt(temp.substring(2,4),16); + this.blue = parseInt(temp.substring(4,6),16); + } + } else if (/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/i.test(text)){ //rgb() color with absolute numbers + this.type = "color"; + this.red = +RegExp.$1; + this.green = +RegExp.$2; + this.blue = +RegExp.$3; + } else if (/^rgb\(\s*(\d+)%\s*,\s*(\d+)%\s*,\s*(\d+)%\s*\)/i.test(text)){ //rgb() color with percentages + this.type = "color"; + this.red = +RegExp.$1 * 255 / 100; + this.green = +RegExp.$2 * 255 / 100; + this.blue = +RegExp.$3 * 255 / 100; + } else if (/^rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([\d\.]+)\s*\)/i.test(text)){ //rgba() color with absolute numbers + this.type = "color"; + this.red = +RegExp.$1; + this.green = +RegExp.$2; + this.blue = +RegExp.$3; + this.alpha = +RegExp.$4; + } else if (/^rgba\(\s*(\d+)%\s*,\s*(\d+)%\s*,\s*(\d+)%\s*,\s*([\d\.]+)\s*\)/i.test(text)){ //rgba() color with percentages + this.type = "color"; + this.red = +RegExp.$1 * 255 / 100; + this.green = +RegExp.$2 * 255 / 100; + this.blue = +RegExp.$3 * 255 / 100; + this.alpha = +RegExp.$4; + } else if (/^hsl\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*\)/i.test(text)){ //hsl() + this.type = "color"; + this.hue = +RegExp.$1; + this.saturation = +RegExp.$2 / 100; + this.lightness = +RegExp.$3 / 100; + } else if (/^hsla\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*,\s*([\d\.]+)\s*\)/i.test(text)){ //hsla() color with percentages + this.type = "color"; + this.hue = +RegExp.$1; + this.saturation = +RegExp.$2 / 100; + this.lightness = +RegExp.$3 / 100; + this.alpha = +RegExp.$4; + } else if (/^url\(["']?([^\)"']+)["']?\)/i.test(text)){ //URI + this.type = "uri"; + this.uri = RegExp.$1; + } else if (/^["'][^"']*["']/.test(text)){ //string + this.type = "string"; + this.value = eval(text); + } else if (Colors[text.toLowerCase()]){ //named color + this.type = "color"; + temp = Colors[text.toLowerCase()].substring(1); + this.red = parseInt(temp.substring(0,2),16); + this.green = parseInt(temp.substring(2,4),16); + this.blue = parseInt(temp.substring(4,6),16); + } else if (/^[\,\/]$/.test(text)){ + this.type = "operator"; + this.value = text; + } else if (/^[a-z\-\u0080-\uFFFF][a-z0-9\-\u0080-\uFFFF]*$/i.test(text)){ + this.type = "identifier"; + this.value = text; + } + +} + +PropertyValuePart.prototype = new SyntaxUnit(); +PropertyValuePart.prototype.constructor = PropertyValue; + +/** + * Create a new syntax unit based solely on the given token. + * Convenience method for creating a new syntax unit when + * it represents a single token instead of multiple. + * @param {Object} token The token object to represent. + * @return {parserlib.css.PropertyValuePart} The object representing the token. + * @static + * @method fromToken + */ +PropertyValuePart.fromToken = function(token){ + return new PropertyValuePart(token.value, token.startLine, token.startCol); +}; +var Pseudos = { + ":first-letter": 1, + ":first-line": 1, + ":before": 1, + ":after": 1 +}; + +Pseudos.ELEMENT = 1; +Pseudos.CLASS = 2; + +Pseudos.isElement = function(pseudo){ + return pseudo.indexOf("::") === 0 || Pseudos[pseudo.toLowerCase()] == Pseudos.ELEMENT; +}; +/** + * Represents an entire single selector, including all parts but not + * including multiple selectors (those separated by commas). + * @namespace parserlib.css + * @class Selector + * @extends parserlib.util.SyntaxUnit + * @constructor + * @param {Array} parts Array of selectors parts making up this selector. + * @param {int} line The line of text on which the unit resides. + * @param {int} col The column of text on which the unit resides. + */ +function Selector(parts, line, col){ + + SyntaxUnit.call(this, parts.join(" "), line, col, Parser.SELECTOR_TYPE); + + /** + * The parts that make up the selector. + * @type Array + * @property parts + */ + this.parts = parts; + + /** + * The specificity of the selector. + * @type parserlib.css.Specificity + * @property specificity + */ + this.specificity = Specificity.calculate(this); + +} + +Selector.prototype = new SyntaxUnit(); +Selector.prototype.constructor = Selector; + +/** + * Represents a single part of a selector string, meaning a single set of + * element name and modifiers. This does not include combinators such as + * spaces, +, >, etc. + * @namespace parserlib.css + * @class SelectorPart + * @extends parserlib.util.SyntaxUnit + * @constructor + * @param {String} elementName The element name in the selector or null + * if there is no element name. + * @param {Array} modifiers Array of individual modifiers for the element. + * May be empty if there are none. + * @param {String} text The text representation of the unit. + * @param {int} line The line of text on which the unit resides. + * @param {int} col The column of text on which the unit resides. + */ +function SelectorPart(elementName, modifiers, text, line, col){ + + SyntaxUnit.call(this, text, line, col, Parser.SELECTOR_PART_TYPE); + + /** + * The tag name of the element to which this part + * of the selector affects. + * @type String + * @property elementName + */ + this.elementName = elementName; + + /** + * The parts that come after the element name, such as class names, IDs, + * pseudo classes/elements, etc. + * @type Array + * @property modifiers + */ + this.modifiers = modifiers; + +} + +SelectorPart.prototype = new SyntaxUnit(); +SelectorPart.prototype.constructor = SelectorPart; + +/** + * Represents a selector modifier string, meaning a class name, element name, + * element ID, pseudo rule, etc. + * @namespace parserlib.css + * @class SelectorSubPart + * @extends parserlib.util.SyntaxUnit + * @constructor + * @param {String} text The text representation of the unit. + * @param {String} type The type of selector modifier. + * @param {int} line The line of text on which the unit resides. + * @param {int} col The column of text on which the unit resides. + */ +function SelectorSubPart(text, type, line, col){ + + SyntaxUnit.call(this, text, line, col, Parser.SELECTOR_SUB_PART_TYPE); + + /** + * The type of modifier. + * @type String + * @property type + */ + this.type = type; + + /** + * Some subparts have arguments, this represents them. + * @type Array + * @property args + */ + this.args = []; + +} + +SelectorSubPart.prototype = new SyntaxUnit(); +SelectorSubPart.prototype.constructor = SelectorSubPart; + +/** + * Represents a selector's specificity. + * @namespace parserlib.css + * @class Specificity + * @constructor + * @param {int} a Should be 1 for inline styles, zero for stylesheet styles + * @param {int} b Number of ID selectors + * @param {int} c Number of classes and pseudo classes + * @param {int} d Number of element names and pseudo elements + */ +function Specificity(a, b, c, d){ + this.a = a; + this.b = b; + this.c = c; + this.d = d; +} + +Specificity.prototype = { + constructor: Specificity, + + /** + * Compare this specificity to another. + * @param {Specificity} other The other specificity to compare to. + * @return {int} -1 if the other specificity is larger, 1 if smaller, 0 if equal. + * @method compare + */ + compare: function(other){ + var comps = ["a", "b", "c", "d"], + i, len; + + for (i=0, len=comps.length; i < len; i++){ + if (this[comps[i]] < other[comps[i]]){ + return -1; + } else if (this[comps[i]] > other[comps[i]]){ + return 1; + } + } + + return 0; + }, + + /** + * Creates a numeric value for the specificity. + * @return {int} The numeric value for the specificity. + * @method valueOf + */ + valueOf: function(){ + return (this.a * 1000) + (this.b * 100) + (this.c * 10) + this.d; + }, + + /** + * Returns a string representation for specificity. + * @return {String} The string representation of specificity. + * @method toString + */ + toString: function(){ + return this.a + "," + this.b + "," + this.c + "," + this.d; + } + +}; + +/** + * Calculates the specificity of the given selector. + * @param {parserlib.css.Selector} The selector to calculate specificity for. + * @return {parserlib.css.Specificity} The specificity of the selector. + * @static + * @method calculate + */ +Specificity.calculate = function(selector){ + + var i, len, + b=0, c=0, d=0; + + function updateValues(part){ + + var i, j, len, num, + modifier; + + if (part.elementName && part.text.charAt(part.text.length-1) != "*") { + d++; + } + + for (i=0, len=part.modifiers.length; i < len; i++){ + modifier = part.modifiers[i]; + switch(modifier.type){ + case "class": + case "attribute": + c++; + break; + + case "id": + b++; + break; + + case "pseudo": + if (Pseudos.isElement(modifier.text)){ + d++; + } else { + c++; + } + break; + + case "not": + for (j=0, num=modifier.args.length; j < num; j++){ + updateValues(modifier.args[j]); + } + } + } + } + + for (i=0, len=selector.parts.length; i < len; i++){ + part = selector.parts[i]; + + if (part instanceof SelectorPart){ + updateValues(part); + } + } + + return new Specificity(0, b, c, d); +}; + + +var h = /^[0-9a-fA-F]$/, + nonascii = /^[\u0080-\uFFFF]$/, + nl = /\n|\r\n|\r|\f/; + +//----------------------------------------------------------------------------- +// Helper functions +//----------------------------------------------------------------------------- + + +function isHexDigit(c){ + return c != null && h.test(c); +} + +function isDigit(c){ + return c != null && /\d/.test(c); +} + +function isWhitespace(c){ + return c != null && /\s/.test(c); +} + +function isNewLine(c){ + return c != null && nl.test(c); +} + +function isNameStart(c){ + return c != null && (/[a-z_\u0080-\uFFFF\\]/i.test(c)); +} + +function isNameChar(c){ + return c != null && (isNameStart(c) || /[0-9\-\\]/.test(c)); +} + +function isIdentStart(c){ + return c != null && (isNameStart(c) || /\-\\/.test(c)); +} + +function mix(receiver, supplier){ + for (var prop in supplier){ + if (supplier.hasOwnProperty(prop)){ + receiver[prop] = supplier[prop]; + } + } + return receiver; +} + +//----------------------------------------------------------------------------- +// CSS Token Stream +//----------------------------------------------------------------------------- + + +/** + * A token stream that produces CSS tokens. + * @param {String|Reader} input The source of text to tokenize. + * @constructor + * @class TokenStream + * @namespace parserlib.css + */ +function TokenStream(input){ + TokenStreamBase.call(this, input, Tokens); +} + +TokenStream.prototype = mix(new TokenStreamBase(), { + + /** + * Overrides the TokenStreamBase method of the same name + * to produce CSS tokens. + * @param {variant} channel The name of the channel to use + * for the next token. + * @return {Object} A token object representing the next token. + * @method _getToken + * @private + */ + _getToken: function(channel){ + + var c, + reader = this._reader, + token = null, + startLine = reader.getLine(), + startCol = reader.getCol(); + + c = reader.read(); + + + while(c){ + switch(c){ + + /* + * Potential tokens: + * - COMMENT + * - SLASH + * - CHAR + */ + case "/": + + if(reader.peek() == "*"){ + token = this.commentToken(c, startLine, startCol); + } else { + token = this.charToken(c, startLine, startCol); + } + break; + + /* + * Potential tokens: + * - DASHMATCH + * - INCLUDES + * - PREFIXMATCH + * - SUFFIXMATCH + * - SUBSTRINGMATCH + * - CHAR + */ + case "|": + case "~": + case "^": + case "$": + case "*": + if(reader.peek() == "="){ + token = this.comparisonToken(c, startLine, startCol); + } else { + token = this.charToken(c, startLine, startCol); + } + break; + + /* + * Potential tokens: + * - STRING + * - INVALID + */ + case "\"": + case "'": + token = this.stringToken(c, startLine, startCol); + break; + + /* + * Potential tokens: + * - HASH + * - CHAR + */ + case "#": + if (isNameChar(reader.peek())){ + token = this.hashToken(c, startLine, startCol); + } else { + token = this.charToken(c, startLine, startCol); + } + break; + + /* + * Potential tokens: + * - DOT + * - NUMBER + * - DIMENSION + * - PERCENTAGE + */ + case ".": + if (isDigit(reader.peek())){ + token = this.numberToken(c, startLine, startCol); + } else { + token = this.charToken(c, startLine, startCol); + } + break; + + /* + * Potential tokens: + * - CDC + * - MINUS + * - NUMBER + * - DIMENSION + * - PERCENTAGE + */ + case "-": + if (reader.peek() == "-"){ //could be closing HTML-style comment + token = this.htmlCommentEndToken(c, startLine, startCol); + } else if (isNameStart(reader.peek())){ + token = this.identOrFunctionToken(c, startLine, startCol); + } else { + token = this.charToken(c, startLine, startCol); + } + break; + + /* + * Potential tokens: + * - IMPORTANT_SYM + * - CHAR + */ + case "!": + token = this.importantToken(c, startLine, startCol); + break; + + /* + * Any at-keyword or CHAR + */ + case "@": + token = this.atRuleToken(c, startLine, startCol); + break; + + /* + * Potential tokens: + * - NOT + * - CHAR + */ + case ":": + token = this.notToken(c, startLine, startCol); + break; + + /* + * Potential tokens: + * - CDO + * - CHAR + */ + case "<": + token = this.htmlCommentStartToken(c, startLine, startCol); + break; + + /* + * Potential tokens: + * - UNICODE_RANGE + * - URL + * - CHAR + */ + case "U": + case "u": + if (reader.peek() == "+"){ + token = this.unicodeRangeToken(c, startLine, startCol); + break; + } + /*falls through*/ + + default: + + /* + * Potential tokens: + * - NUMBER + * - DIMENSION + * - LENGTH + * - FREQ + * - TIME + * - EMS + * - EXS + * - ANGLE + */ + if (isDigit(c)){ + token = this.numberToken(c, startLine, startCol); + } else + + /* + * Potential tokens: + * - S + */ + if (isWhitespace(c)){ + token = this.whitespaceToken(c, startLine, startCol); + } else + + /* + * Potential tokens: + * - IDENT + */ + if (isIdentStart(c)){ + token = this.identOrFunctionToken(c, startLine, startCol); + } else + + /* + * Potential tokens: + * - CHAR + * - PLUS + */ + { + token = this.charToken(c, startLine, startCol); + } + + + + + + + } + + //make sure this token is wanted + //TODO: check channel + break; + + c = reader.read(); + } + + if (!token && c == null){ + token = this.createToken(Tokens.EOF,null,startLine,startCol); + } + + return token; + }, + + //------------------------------------------------------------------------- + // Methods to create tokens + //------------------------------------------------------------------------- + + /** + * Produces a token based on available data and the current + * reader position information. This method is called by other + * private methods to create tokens and is never called directly. + * @param {int} tt The token type. + * @param {String} value The text value of the token. + * @param {int} startLine The beginning line for the character. + * @param {int} startCol The beginning column for the character. + * @param {Object} options (Optional) Specifies a channel property + * to indicate that a different channel should be scanned + * and/or a hide property indicating that the token should + * be hidden. + * @return {Object} A token object. + * @method createToken + */ + createToken: function(tt, value, startLine, startCol, options){ + var reader = this._reader; + options = options || {}; + + return { + value: value, + type: tt, + channel: options.channel, + hide: options.hide || false, + startLine: startLine, + startCol: startCol, + endLine: reader.getLine(), + endCol: reader.getCol() + }; + }, + + //------------------------------------------------------------------------- + // Methods to create specific tokens + //------------------------------------------------------------------------- + + /** + * Produces a token for any at-rule. If the at-rule is unknown, then + * the token is for a single "@" character. + * @param {String} first The first character for the token. + * @param {int} startLine The beginning line for the character. + * @param {int} startCol The beginning column for the character. + * @return {Object} A token object. + * @method atRuleToken + */ + atRuleToken: function(first, startLine, startCol){ + var rule = first, + reader = this._reader, + tt = Tokens.CHAR, + valid = false, + ident, + c; + + /* + * First, mark where we are. There are only four @ rules, + * so anything else is really just an invalid token. + * Basically, if this doesn't match one of the known @ + * rules, just return '@' as an unknown token and allow + * parsing to continue after that point. + */ + reader.mark(); + + //try to find the at-keyword + ident = this.readName(); + rule = first + ident; + tt = Tokens.type(rule.toLowerCase()); + + //if it's not valid, use the first character only and reset the reader + if (tt == Tokens.CHAR || tt == Tokens.UNKNOWN){ + tt = Tokens.CHAR; + rule = first; + reader.reset(); + } + + return this.createToken(tt, rule, startLine, startCol); + }, + + /** + * Produces a character token based on the given character + * and location in the stream. If there's a special (non-standard) + * token name, this is used; otherwise CHAR is used. + * @param {String} c The character for the token. + * @param {int} startLine The beginning line for the character. + * @param {int} startCol The beginning column for the character. + * @return {Object} A token object. + * @method charToken + */ + charToken: function(c, startLine, startCol){ + var tt = Tokens.type(c); + + if (tt == -1){ + tt = Tokens.CHAR; + } + + return this.createToken(tt, c, startLine, startCol); + }, + + /** + * Produces a character token based on the given character + * and location in the stream. If there's a special (non-standard) + * token name, this is used; otherwise CHAR is used. + * @param {String} first The first character for the token. + * @param {int} startLine The beginning line for the character. + * @param {int} startCol The beginning column for the character. + * @return {Object} A token object. + * @method commentToken + */ + commentToken: function(first, startLine, startCol){ + var reader = this._reader, + comment = this.readComment(first); + + return this.createToken(Tokens.COMMENT, comment, startLine, startCol); + }, + + /** + * Produces a comparison token based on the given character + * and location in the stream. The next character must be + * read and is already known to be an equals sign. + * @param {String} c The character for the token. + * @param {int} startLine The beginning line for the character. + * @param {int} startCol The beginning column for the character. + * @return {Object} A token object. + * @method comparisonToken + */ + comparisonToken: function(c, startLine, startCol){ + var reader = this._reader, + comparison = c + reader.read(), + tt = Tokens.type(comparison) || Tokens.CHAR; + + return this.createToken(tt, comparison, startLine, startCol); + }, + + /** + * Produces a hash token based on the specified information. The + * first character provided is the pound sign (#) and then this + * method reads a name afterward. + * @param {String} first The first character (#) in the hash name. + * @param {int} startLine The beginning line for the character. + * @param {int} startCol The beginning column for the character. + * @return {Object} A token object. + * @method hashToken + */ + hashToken: function(first, startLine, startCol){ + var reader = this._reader, + name = this.readName(first); + + return this.createToken(Tokens.HASH, name, startLine, startCol); + }, + + /** + * Produces a CDO or CHAR token based on the specified information. The + * first character is provided and the rest is read by the function to determine + * the correct token to create. + * @param {String} first The first character in the token. + * @param {int} startLine The beginning line for the character. + * @param {int} startCol The beginning column for the character. + * @return {Object} A token object. + * @method htmlCommentStartToken + */ + htmlCommentStartToken: function(first, startLine, startCol){ + var reader = this._reader, + text = first; + + reader.mark(); + text += reader.readCount(3); + + if (text == ""){ + return this.createToken(Tokens.CDC, text, startLine, startCol); + } else { + reader.reset(); + return this.charToken(first, startLine, startCol); + } + }, + + /** + * Produces an IDENT or FUNCTION token based on the specified information. The + * first character is provided and the rest is read by the function to determine + * the correct token to create. + * @param {String} first The first character in the identifier. + * @param {int} startLine The beginning line for the character. + * @param {int} startCol The beginning column for the character. + * @return {Object} A token object. + * @method identOrFunctionToken + */ + identOrFunctionToken: function(first, startLine, startCol){ + var reader = this._reader, + ident = this.readName(first), + tt = Tokens.IDENT; + + //if there's a left paren immediately after, it's a URI or function + if (reader.peek() == "("){ + ident += reader.read(); + if (ident.toLowerCase() == "url("){ + tt = Tokens.URI; + ident = this.readURI(ident); + + //didn't find a valid URL or there's no closing paren + if (ident.toLowerCase() == "url("){ + tt = Tokens.FUNCTION; + } + } else { + tt = Tokens.FUNCTION; + } + } else if (reader.peek() == ":"){ //might be an IE function + + //IE-specific functions always being with progid: + if (ident.toLowerCase() == "progid"){ + ident += reader.readTo("("); + tt = Tokens.IE_FUNCTION; + } + } + + return this.createToken(tt, ident, startLine, startCol); + }, + + /** + * Produces an IMPORTANT_SYM or CHAR token based on the specified information. The + * first character is provided and the rest is read by the function to determine + * the correct token to create. + * @param {String} first The first character in the token. + * @param {int} startLine The beginning line for the character. + * @param {int} startCol The beginning column for the character. + * @return {Object} A token object. + * @method importantToken + */ + importantToken: function(first, startLine, startCol){ + var reader = this._reader, + important = first, + tt = Tokens.CHAR, + temp, + c; + + reader.mark(); + c = reader.read(); + + while(c){ + + //there can be a comment in here + if (c == "/"){ + + //if the next character isn't a star, then this isn't a valid !important token + if (reader.peek() != "*"){ + break; + } else { + temp = this.readComment(c); + if (temp == ""){ //broken! + break; + } + } + } else if (isWhitespace(c)){ + important += c + this.readWhitespace(); + } else if (/i/i.test(c)){ + temp = reader.readCount(8); + if (/mportant/i.test(temp)){ + important += c + temp; + tt = Tokens.IMPORTANT_SYM; + + } + break; //we're done + } else { + break; + } + + c = reader.read(); + } + + if (tt == Tokens.CHAR){ + reader.reset(); + return this.charToken(first, startLine, startCol); + } else { + return this.createToken(tt, important, startLine, startCol); + } + + + }, + + /** + * Produces a NOT or CHAR token based on the specified information. The + * first character is provided and the rest is read by the function to determine + * the correct token to create. + * @param {String} first The first character in the token. + * @param {int} startLine The beginning line for the character. + * @param {int} startCol The beginning column for the character. + * @return {Object} A token object. + * @method notToken + */ + notToken: function(first, startLine, startCol){ + var reader = this._reader, + text = first; + + reader.mark(); + text += reader.readCount(4); + + if (text.toLowerCase() == ":not("){ + return this.createToken(Tokens.NOT, text, startLine, startCol); + } else { + reader.reset(); + return this.charToken(first, startLine, startCol); + } + }, + + /** + * Produces a number token based on the given character + * and location in the stream. This may return a token of + * NUMBER, EMS, EXS, LENGTH, ANGLE, TIME, FREQ, DIMENSION, + * or PERCENTAGE. + * @param {String} first The first character for the token. + * @param {int} startLine The beginning line for the character. + * @param {int} startCol The beginning column for the character. + * @return {Object} A token object. + * @method numberToken + */ + numberToken: function(first, startLine, startCol){ + var reader = this._reader, + value = this.readNumber(first), + ident, + tt = Tokens.NUMBER, + c = reader.peek(); + + if (isIdentStart(c)){ + ident = this.readName(reader.read()); + value += ident; + + if (/^em$|^ex$|^px$|^gd$|^rem$|^vw$|^vh$|^vm$|^ch$|^cm$|^mm$|^in$|^pt$|^pc$/i.test(ident)){ + tt = Tokens.LENGTH; + } else if (/^deg|^rad$|^grad$/i.test(ident)){ + tt = Tokens.ANGLE; + } else if (/^ms$|^s$/i.test(ident)){ + tt = Tokens.TIME; + } else if (/^hz$|^khz$/i.test(ident)){ + tt = Tokens.FREQ; + } else if (/^dpi$|^dpcm$/i.test(ident)){ + tt = Tokens.RESOLUTION; + } else { + tt = Tokens.DIMENSION; + } + + } else if (c == "%"){ + value += reader.read(); + tt = Tokens.PERCENTAGE; + } + + return this.createToken(tt, value, startLine, startCol); + }, + + /** + * Produces a string token based on the given character + * and location in the stream. Since strings may be indicated + * by single or double quotes, a failure to match starting + * and ending quotes results in an INVALID token being generated. + * The first character in the string is passed in and then + * the rest are read up to and including the final quotation mark. + * @param {String} first The first character in the string. + * @param {int} startLine The beginning line for the character. + * @param {int} startCol The beginning column for the character. + * @return {Object} A token object. + * @method stringToken + */ + stringToken: function(first, startLine, startCol){ + var delim = first, + string = first, + reader = this._reader, + prev = first, + tt = Tokens.STRING, + c = reader.read(); + + while(c){ + string += c; + + //if the delimiter is found with an escapement, we're done. + if (c == delim && prev != "\\"){ + break; + } + + //if there's a newline without an escapement, it's an invalid string + if (isNewLine(reader.peek()) && c != "\\"){ + tt = Tokens.INVALID; + break; + } + + //save previous and get next + prev = c; + c = reader.read(); + } + + //if c is null, that means we're out of input and the string was never closed + if (c == null){ + tt = Tokens.INVALID; + } + + return this.createToken(tt, string, startLine, startCol); + }, + + unicodeRangeToken: function(first, startLine, startCol){ + var reader = this._reader, + value = first, + temp, + tt = Tokens.CHAR; + + //then it should be a unicode range + if (reader.peek() == "+"){ + reader.mark(); + value += reader.read(); + value += this.readUnicodeRangePart(true); + + //ensure there's an actual unicode range here + if (value.length == 2){ + reader.reset(); + } else { + + tt = Tokens.UNICODE_RANGE; + + //if there's a ? in the first part, there can't be a second part + if (value.indexOf("?") == -1){ + + if (reader.peek() == "-"){ + reader.mark(); + temp = reader.read(); + temp += this.readUnicodeRangePart(false); + + //if there's not another value, back up and just take the first + if (temp.length == 1){ + reader.reset(); + } else { + value += temp; + } + } + + } + } + } + + return this.createToken(tt, value, startLine, startCol); + }, + + /** + * Produces a S token based on the specified information. Since whitespace + * may have multiple characters, this consumes all whitespace characters + * into a single token. + * @param {String} first The first character in the token. + * @param {int} startLine The beginning line for the character. + * @param {int} startCol The beginning column for the character. + * @return {Object} A token object. + * @method whitespaceToken + */ + whitespaceToken: function(first, startLine, startCol){ + var reader = this._reader, + value = first + this.readWhitespace(); + return this.createToken(Tokens.S, value, startLine, startCol); + }, + + + + + //------------------------------------------------------------------------- + // Methods to read values from the string stream + //------------------------------------------------------------------------- + + readUnicodeRangePart: function(allowQuestionMark){ + var reader = this._reader, + part = "", + c = reader.peek(); + + //first read hex digits + while(isHexDigit(c) && part.length < 6){ + reader.read(); + part += c; + c = reader.peek(); + } + + //then read question marks if allowed + if (allowQuestionMark){ + while(c == "?" && part.length < 6){ + reader.read(); + part += c; + c = reader.peek(); + } + } + + //there can't be any other characters after this point + + return part; + }, + + readWhitespace: function(){ + var reader = this._reader, + whitespace = "", + c = reader.peek(); + + while(isWhitespace(c)){ + reader.read(); + whitespace += c; + c = reader.peek(); + } + + return whitespace; + }, + readNumber: function(first){ + var reader = this._reader, + number = first, + hasDot = (first == "."), + c = reader.peek(); + + + while(c){ + if (isDigit(c)){ + number += reader.read(); + } else if (c == "."){ + if (hasDot){ + break; + } else { + hasDot = true; + number += reader.read(); + } + } else { + break; + } + + c = reader.peek(); + } + + return number; + }, + readString: function(){ + var reader = this._reader, + delim = reader.read(), + string = delim, + prev = delim, + c = reader.peek(); + + while(c){ + c = reader.read(); + string += c; + + //if the delimiter is found with an escapement, we're done. + if (c == delim && prev != "\\"){ + break; + } + + //if there's a newline without an escapement, it's an invalid string + if (isNewLine(reader.peek()) && c != "\\"){ + string = ""; + break; + } + + //save previous and get next + prev = c; + c = reader.peek(); + } + + //if c is null, that means we're out of input and the string was never closed + if (c == null){ + string = ""; + } + + return string; + }, + readURI: function(first){ + var reader = this._reader, + uri = first, + inner = "", + c = reader.peek(); + + reader.mark(); + + //skip whitespace before + while(c && isWhitespace(c)){ + reader.read(); + c = reader.peek(); + } + + //it's a string + if (c == "'" || c == "\""){ + inner = this.readString(); + } else { + inner = this.readURL(); + } + + c = reader.peek(); + + //skip whitespace after + while(c && isWhitespace(c)){ + reader.read(); + c = reader.peek(); + } + + //if there was no inner value or the next character isn't closing paren, it's not a URI + if (inner == "" || c != ")"){ + uri = first; + reader.reset(); + } else { + uri += inner + reader.read(); + } + + return uri; + }, + readURL: function(){ + var reader = this._reader, + url = "", + c = reader.peek(); + + //TODO: Check for escape and nonascii + while (/^[!#$%&\\*-~]$/.test(c)){ + url += reader.read(); + c = reader.peek(); + } + + return url; + + }, + readName: function(first){ + var reader = this._reader, + ident = first || "", + c = reader.peek(); + + while(true){ + if (c == "\\"){ + ident += this.readEscape(reader.read()); + c = reader.peek(); + } else if(c && isNameChar(c)){ + ident += reader.read(); + c = reader.peek(); + } else { + break; + } + } + + return ident; + }, + + readEscape: function(first){ + var reader = this._reader, + cssEscape = first || "", + i = 0, + c = reader.peek(); + + if (isHexDigit(c)){ + do { + cssEscape += reader.read(); + c = reader.peek(); + } while(c && isHexDigit(c) && ++i < 6); + } + + if (cssEscape.length == 3 && /\s/.test(c) || + cssEscape.length == 7 || cssEscape.length == 1){ + reader.read(); + } else { + c = ""; + } + + return cssEscape + c; + }, + + readComment: function(first){ + var reader = this._reader, + comment = first || "", + c = reader.read(); + + if (c == "*"){ + while(c){ + comment += c; + + //look for end of comment + if (comment.length > 2 && c == "*" && reader.peek() == "/"){ + comment += reader.read(); + break; + } + + c = reader.read(); + } + + return comment; + } else { + return ""; + } + + } +}); + +var Tokens = [ + + /* + * The following token names are defined in CSS3 Grammar: http://www.w3.org/TR/css3-syntax/#lexical + */ + + //HTML-style comments + { name: "CDO"}, + { name: "CDC"}, + + //ignorables + { name: "S", whitespace: true/*, channel: "ws"*/}, + { name: "COMMENT", comment: true, hide: true, channel: "comment" }, + + //attribute equality + { name: "INCLUDES", text: "~="}, + { name: "DASHMATCH", text: "|="}, + { name: "PREFIXMATCH", text: "^="}, + { name: "SUFFIXMATCH", text: "$="}, + { name: "SUBSTRINGMATCH", text: "*="}, + + //identifier types + { name: "STRING"}, + { name: "IDENT"}, + { name: "HASH"}, + + //at-keywords + { name: "IMPORT_SYM", text: "@import"}, + { name: "PAGE_SYM", text: "@page"}, + { name: "MEDIA_SYM", text: "@media"}, + { name: "FONT_FACE_SYM", text: "@font-face"}, + { name: "CHARSET_SYM", text: "@charset"}, + { name: "NAMESPACE_SYM", text: "@namespace"}, + //{ name: "ATKEYWORD"}, + + //CSS3 animations + { name: "KEYFRAMES_SYM", text: [ "@keyframes", "@-webkit-keyframes", "@-moz-keyframes" ] }, + + //important symbol + { name: "IMPORTANT_SYM"}, + + //measurements + { name: "LENGTH"}, + { name: "ANGLE"}, + { name: "TIME"}, + { name: "FREQ"}, + { name: "DIMENSION"}, + { name: "PERCENTAGE"}, + { name: "NUMBER"}, + + //functions + { name: "URI"}, + { name: "FUNCTION"}, + + //Unicode ranges + { name: "UNICODE_RANGE"}, + + /* + * The following token names are defined in CSS3 Selectors: http://www.w3.org/TR/css3-selectors/#selector-syntax + */ + + //invalid string + { name: "INVALID"}, + + //combinators + { name: "PLUS", text: "+" }, + { name: "GREATER", text: ">"}, + { name: "COMMA", text: ","}, + { name: "TILDE", text: "~"}, + + //modifier + { name: "NOT"}, + + /* + * Defined in CSS3 Paged Media + */ + { name: "TOPLEFTCORNER_SYM", text: "@top-left-corner"}, + { name: "TOPLEFT_SYM", text: "@top-left"}, + { name: "TOPCENTER_SYM", text: "@top-center"}, + { name: "TOPRIGHT_SYM", text: "@top-right"}, + { name: "TOPRIGHTCORNER_SYM", text: "@top-right-corner"}, + { name: "BOTTOMLEFTCORNER_SYM", text: "@bottom-left-corner"}, + { name: "BOTTOMLEFT_SYM", text: "@bottom-left"}, + { name: "BOTTOMCENTER_SYM", text: "@bottom-center"}, + { name: "BOTTOMRIGHT_SYM", text: "@bottom-right"}, + { name: "BOTTOMRIGHTCORNER_SYM", text: "@bottom-right-corner"}, + { name: "LEFTTOP_SYM", text: "@left-top"}, + { name: "LEFTMIDDLE_SYM", text: "@left-middle"}, + { name: "LEFTBOTTOM_SYM", text: "@left-bottom"}, + { name: "RIGHTTOP_SYM", text: "@right-top"}, + { name: "RIGHTMIDDLE_SYM", text: "@right-middle"}, + { name: "RIGHTBOTTOM_SYM", text: "@right-bottom"}, + + /* + * The following token names are defined in CSS3 Media Queries: http://www.w3.org/TR/css3-mediaqueries/#syntax + */ + /*{ name: "MEDIA_ONLY", state: "media"}, + { name: "MEDIA_NOT", state: "media"}, + { name: "MEDIA_AND", state: "media"},*/ + { name: "RESOLUTION", state: "media"}, + + /* + * The following token names are not defined in any CSS specification but are used by the lexer. + */ + + //not a real token, but useful for stupid IE filters + { name: "IE_FUNCTION" }, + + //part of CSS3 grammar but not the Flex code + { name: "CHAR" }, + + //TODO: Needed? + //Not defined as tokens, but might as well be + { + name: "PIPE", + text: "|" + }, + { + name: "SLASH", + text: "/" + }, + { + name: "MINUS", + text: "-" + }, + { + name: "STAR", + text: "*" + }, + + { + name: "LBRACE", + text: "{" + }, + { + name: "RBRACE", + text: "}" + }, + { + name: "LBRACKET", + text: "[" + }, + { + name: "RBRACKET", + text: "]" + }, + { + name: "EQUALS", + text: "=" + }, + { + name: "COLON", + text: ":" + }, + { + name: "SEMICOLON", + text: ";" + }, + + { + name: "LPAREN", + text: "(" + }, + { + name: "RPAREN", + text: ")" + }, + { + name: "DOT", + text: "." + } +]; + +(function(){ + + var nameMap = [], + typeMap = {}; + + Tokens.UNKNOWN = -1; + Tokens.unshift({name:"EOF"}); + for (var i=0, len = Tokens.length; i < len; i++){ + nameMap.push(Tokens[i].name); + Tokens[Tokens[i].name] = i; + if (Tokens[i].text){ + if (Tokens[i].text instanceof Array){ + for (var j=0; j < Tokens[i].text.length; j++){ + typeMap[Tokens[i].text[j]] = i; + } + } else { + typeMap[Tokens[i].text] = i; + } + } + } + + Tokens.name = function(tt){ + return nameMap[tt]; + }; + + Tokens.type = function(c){ + return typeMap[c] || -1; + }; + +})(); + + + +/** + * Type to use when a validation error occurs. + * @class ValidationError + * @namespace parserlib.util + * @constructor + * @param {String} message The error message. + * @param {int} line The line at which the error occurred. + * @param {int} col The column at which the error occurred. + */ +function ValidationError(message, line, col){ + + /** + * The column at which the error occurred. + * @type int + * @property col + */ + this.col = col; + + /** + * The line at which the error occurred. + * @type int + * @property line + */ + this.line = line; + + /** + * The text representation of the unit. + * @type String + * @property text + */ + this.message = message; + +} + +//inherit from Error +ValidationError.prototype = new Error(); + +parserlib.css = { +Colors :Colors, +Combinator :Combinator, +Parser :Parser, +PropertyName :PropertyName, +PropertyValue :PropertyValue, +PropertyValuePart :PropertyValuePart, +MediaFeature :MediaFeature, +MediaQuery :MediaQuery, +Selector :Selector, +SelectorPart :SelectorPart, +SelectorSubPart :SelectorSubPart, +Specificity :Specificity, +TokenStream :TokenStream, +Tokens :Tokens, +ValidationError :ValidationError +}; +})(); + +(function(){ +for(var prop in parserlib){ +exports[prop] = parserlib[prop]; +} +})(); diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/events.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/events.js new file mode 100644 index 0000000..2431a51 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/events.js @@ -0,0 +1,6 @@ +module.exports = { + Event: require('./Event'), + UIEvent: require('./UIEvent'), + MouseEvent: require('./MouseEvent'), + CustomEvent: require('./CustomEvent') +}; diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/htmlelts.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/htmlelts.js new file mode 100644 index 0000000..58d6f15 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/htmlelts.js @@ -0,0 +1,1109 @@ +var Node = require('./Node'); +var Element = require('./Element'); +var CSSStyleDeclaration = require('./CSSStyleDeclaration'); +var NAMESPACE = require('./utils').NAMESPACE; +var attributes = require('./attributes'); +var utils = require('./utils'); + +var impl = exports.elements = {}; +var tagNameToImpl = {}; + +exports.createElement = function(doc, localName, prefix) { + var impl = tagNameToImpl[localName] || HTMLUnknownElement; + return new impl(doc, localName, prefix); +}; + +function define(spec) { + var c = spec.ctor; + if (c) { + var props = spec.props || {}; + if (spec.attributes) { + for (var n in spec.attributes) { + var attr = spec.attributes[n]; + if (typeof attr != 'object' || Array.isArray(attr)) attr = {type: attr}; + if (!attr.name) attr.name = n.toLowerCase(); + props[n] = attributes.property(attr); + } + } + props.constructor = { value : c }; + c.prototype = Object.create((spec.superclass || HTMLElement).prototype, props); + if (spec.events) { + addEventHandlers(c, spec.events); + } + impl[c.name] = c; + } + else { + c = HTMLElement; + } + (spec.tags || spec.tag && [spec.tag] || []).forEach(function(tag) { + tagNameToImpl[tag] = c; + }); + return c; +} + +function EventHandlerBuilder(body, document, form, element) { + this.body = body; + this.document = document; + this.form = form; + this.element = element; +} + +EventHandlerBuilder.prototype.build = function build() { + try { + with(this.document.defaultView || {}) + with(this.document) + with(this.form) + with(this.element) + return eval("(function(event){" + this.body + "})"); + } + catch (err) { + return function() { throw err } + } +}; + +function EventHandlerChangeHandler(elt, name, oldval, newval) { + var doc = elt.ownerDocument || {}; + var form = elt.form || {}; + elt[name] = new EventHandlerBuilder(newval, doc, form, elt).build(); +} + +function addEventHandlers(c, eventHandlerTypes) { + var p = c.prototype; + eventHandlerTypes.forEach(function(type) { + // Define the event handler registration IDL attribute for this type + Object.defineProperty(p, "on" + type, { + get: function() { + return this._getEventHandler(type); + }, + set: function(v) { + this._setEventHandler(type, v); + }, + }); + + // Define special behavior for the content attribute as well + attributes.registerChangeHandler(c, "on" + type, EventHandlerChangeHandler); + }); +} + +function URL(attr) { + return { + get: function() { + var v = this._getattr(attr); + return this.doc._resolve(v); + }, + set: function(value) { + this._setattr(attr, value); + } + }; +} + +// XXX: the default value for tabIndex should be 0 if the element is +// focusable and -1 if it is not. But the full definition of focusable +// is actually hard to compute, so for now, I'll follow Firefox and +// just base the default value on the type of the element. +var focusableElements = { + "A":true, "LINK":true, "BUTTON":true, "INPUT":true, + "SELECT":true, "TEXTAREA":true, "COMMAND":true +}; + +var HTMLElement = exports.HTMLElement = define({ + superclass: Element, + ctor: function HTMLElement(doc, localName, prefix) { + Element.call(this, doc, localName, NAMESPACE.HTML, prefix); + }, + props: { + innerHTML: { + get: function() { + return this.serialize(); + }, + set: function(v) { + var parser = this.ownerDocument.implementation.mozHTMLParser( + this.ownerDocument._address, + this); + parser.parse(v, true); + var tmpdoc = parser.document(); + var root = tmpdoc.firstChild; + + // Remove any existing children of this node + while(this.hasChildNodes()) + this.removeChild(this.firstChild); + + // Now copy newly parsed children from the root to this node + this.doc.adoptNode(root); + while(root.hasChildNodes()) { + this.appendChild(root.firstChild); + } + } + }, + style: { get: function() { + if (!this._style) + this._style = new CSSStyleDeclaration(this); + return this._style; + }}, + + click: { value: function() { + if (this._click_in_progress) return; + this._click_in_progress = true; + try { + if (this._pre_click_activation_steps) + this._pre_click_activation_steps(); + + var event = this.ownerDocument.createEvent("MouseEvent"); + event.initMouseEvent("click", true, true, + this.ownerDocument.defaultView, 1, + 0, 0, 0, 0, + // These 4 should be initialized with + // the actually current keyboard state + // somehow... + false, false, false, false, + 0, null + ); + + // Dispatch this as an untrusted event since it is synthetic + var success = this.dispatchEvent(event); + + if (success) { + if (this._post_click_activation_steps) + this._post_click_activation_steps(event); + } + else { + if (this._cancelled_activation_steps) + this._cancelled_activation_steps(); + } + } + finally { + this._click_in_progress = false; + } + }} + }, + attributes: { + title: String, + lang: String, + dir: {type: ["ltr", "rtl", "auto"], implied: true}, + accessKey: String, + hidden: Boolean, + tabIndex: {type: Number, default: function() { + if (this.tagName in focusableElements || + this.contentEditable) + return 0; + else + return -1; + }} + }, + events: [ + "abort", "canplay", "canplaythrough", "change", "click", "contextmenu", + "cuechange", "dblclick", "drag", "dragend", "dragenter", "dragleave", + "dragover", "dragstart", "drop", "durationchange", "emptied", "ended", + "input", "invalid", "keydown", "keypress", "keyup", "loadeddata", + "loadedmetadata", "loadstart", "mousedown", "mousemove", "mouseout", + "mouseover", "mouseup", "mousewheel", "pause", "play", "playing", + "progress", "ratechange", "readystatechange", "reset", "seeked", + "seeking", "select", "show", "stalled", "submit", "suspend", + "timeupdate", "volumechange", "waiting", + + // These last 5 event types will be overriden by HTMLBodyElement + "blur", "error", "focus", "load", "scroll" + ] +}); + + +// XXX: reflect contextmenu as contextMenu, with element type + + +// style: the spec doesn't call this a reflected attribute. +// may want to handle it manually. + +// contentEditable: enumerated, not clear if it is actually +// reflected or requires custom getter/setter. Not listed as +// "limited to known values". Raises syntax_err on bad setting, +// so I think this is custom. + +// contextmenu: content is element id, idl type is an element +// draggable: boolean, but not a reflected attribute +// dropzone: reflected SettableTokenList, experimental, so don't +// implement it right away. + +// data-* attributes: need special handling in setAttribute? +// Or maybe that isn't necessary. Can I just scan the attribute list +// when building the dataset? Liveness and caching issues? + +// microdata attributes: many are simple reflected attributes, but +// I'm not going to implement this now. + + +var HTMLUnknownElement = define({ + ctor: function HTMLUnknownElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + + +var formAssociatedProps = { + // See http://www.w3.org/TR/html5/association-of-controls-and-forms.html#form-owner + form: { get: function() { + return this._form; + }} +}; + +define({ + tag: 'a', + ctor: function HTMLAnchorElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: { + _post_click_activation_steps: { value: function(e) { + if (this.href) { + // Follow the link + // XXX: this is just a quick hack + // XXX: the HTML spec probably requires more than this + this.ownerDocument.defaultView.location = this.href; + } + }}, + blur: { value: function() {}}, + focus: { value: function() {}} + }, + attributes: { + href: URL, + ping: String, + download: String, + target: String, + rel: String, + media: String, + hreflang: String, + type: String + } +}); + +define({ + tag: 'area', + ctor: function HTMLAreaElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + alt: String, + target: String, + download: String, + rel: String, + media: String, + href: URL, + hreflang: String, + type: String, + shape: String, + coords: String + // XXX: also reflect relList + } +}); + +define({ + tag: 'br', + ctor: function HTMLBRElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + tag: 'base', + ctor: function HTMLBaseElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + "target": String + } +}); + + +define({ + tag: 'body', + ctor: function HTMLBodyElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + // Certain event handler attributes on a tag actually set + // handlers for the window rather than just that element. Define + // getters and setters for those here. Note that some of these override + // properties on HTMLElement.prototype. + // XXX: If I add support for , these have to go there, too + // XXX + // When the Window object is implemented, these attribute will have + // to work with the same-named attributes on the Window. + events: [ + "afterprint", "beforeprint", "beforeunload", "blur", "error", + "focus","hashchange", "load", "message", "offline", "online", + "pagehide", "pageshow","popstate","resize","scroll","storage","unload", + ] +}); + +define({ + tag: 'button', + ctor: function HTMLButtonElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: formAssociatedProps, + attributes: { + name: String, + value: String, + disabled: Boolean, + autofocus: Boolean, + type: ["submit", "reset", "button"], + formTarget: String, + formNoValidate: Boolean, + formMethod: ["get", "post"], + formEnctype: [ + "application/x-www-form-urlencoded", "multipart/form-data", "text/plain" + ] + } +}); + +define({ + tag: 'command', + ctor: function HTMLCommandElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + type: ["command", "checkbox", "radio"], + label: String, + disabled: Boolean, + checked: Boolean, + radiogroup: String, + icon: String + } +}); + +define({ + tag: 'dl', + ctor: function HTMLDListElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + tag: 'datalist', + ctor: function HTMLDataListElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + tag: 'details', + ctor: function HTMLDetailsElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + "open": Boolean + } +}); + +define({ + tag: 'div', + ctor: function HTMLDivElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + tag: 'embed', + ctor: function HTMLEmbedElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + src: URL, + type: String, + width: String, + height: String + } +}); + +define({ + tag: 'fieldset', + ctor: function HTMLFieldSetElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: formAssociatedProps, + attributes: { + disabled: Boolean, + name: String + } +}); + +define({ + tag: 'form', + ctor: function HTMLFormElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + action: String, + autocomplete: ['on', 'off'], + name: String, + acceptCharset: {name: "accept-charset"}, + target: String, + noValidate: Boolean, + method: ["get", "post"], + // Both enctype and encoding reflect the enctype content attribute + enctype: ["application/x-www-form-urlencoded", "multipart/form-data", "text/plain"], + encoding: {name: 'enctype', type: ["application/x-www-form-urlencoded", "multipart/form-data", "text/plain"]} + } +}); + +define({ + tag: 'hr', + ctor: function HTMLHRElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + tag: 'head', + ctor: function HTMLHeadElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + tags: ['h1','h2','h3','h4','h5','h6'], + ctor: function HTMLHeadingElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + tag: 'html', + ctor: function HTMLHtmlElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + tag: 'iframe', + ctor: function HTMLIFrameElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + src: URL, + srcdoc: String, + name: String, + width: String, + height: String, + // XXX: sandbox is a reflected settable token list + seamless: Boolean + } +}); + +define({ + tag: 'img', + ctor: function HTMLImageElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + src: URL, + alt: String, + crossOrigin: String, + useMap: String, + isMap: Boolean, + height: { type: Number, default: 0 }, + width: { type: Number, default: 0 } + } +}); + +define({ + tag: 'input', + ctor: function HTMLInputElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: { + form: formAssociatedProps.form, + _post_click_activation_steps: { value: function(e) { + if (this.type == 'checkbox') { + this.checked = !this.checked; + } + else if (this.type == 'radio') { + var group = this.form.getElementsByName(this.name); + for (var i=group.length-1; i >= 0; i--) { + var el = group[i]; + el.checked = el == this; + } + } + }}, + }, + attributes: { + name: String, + disabled: Boolean, + autofocus: Boolean, + accept: String, + alt: String, + max: String, + min: String, + pattern: String, + placeholder: String, + step: String, + dirName: String, + defaultValue: {name: 'value'}, + multiple: Boolean, + required: Boolean, + readOnly: Boolean, + checked: Boolean, + value: String, + src: URL, + defaultChecked: {name: 'checked', type: Boolean}, + size: {type: Number, default: 20, min: 1, setmin: 1}, + maxLength: {min: 0, setmin: 0}, + autocomplete: ["on", "off"], + type: ["text", "hidden", "search", "tel", "url", "email", "password", + "datetime", "date", "month", "week", "time", "datetime-local", + "number", "range", "color", "checkbox", "radio", "file", "submit", + "image", "reset", "button" + ], + formTarget: String, + formNoValidate: Boolean, + formMethod: ["get", "post"], + formEnctype: ["application/x-www-form-urlencoded", "multipart/form-data", "text/plain"] + } +}); + +define({ + tag: 'keygen', + ctor: function HTMLKeygenElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: formAssociatedProps, + attributes: { + name: String, + disabled: Boolean, + autofocus: Boolean, + challenge: String, + keytype: ["rsa"] + } +}); + +define({ + tag: 'li', + ctor: function HTMLLIElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + value: {type: Number, default: 0}, + } +}); + +define({ + tag: 'label', + ctor: function HTMLLabelElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: formAssociatedProps, + attributes: { + htmlFor: {name: 'for'} + } +}); + +define({ + tag: 'legend', + ctor: function HTMLLegendElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + tag: 'link', + ctor: function HTMLLinkElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + // XXX Reflect DOMSettableTokenList sizes also DOMTokenList relList + href: URL, + rel: String, + media: String, + hreflang: String, + type: String + } +}); + +define({ + tag: 'map', + ctor: function HTMLMapElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + name: String + } +}); + +define({ + tag: 'menu', + ctor: function HTMLMenuElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + type: String, + label: String + } +}); + +define({ + tag: 'meta', + ctor: function HTMLMetaElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + name: String, + content: String, + scheme: String, + httpEquiv: {name: 'http-equiv', type: String} + } +}); + +define({ + tag: 'meter', + ctor: function HTMLMeterElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: formAssociatedProps +}); + +define({ + tags: ['ins', 'del'], + ctor: function HTMLModElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + cite: String, + dateTime: String + } +}); + +define({ + tag: 'ol', + ctor: function HTMLOListElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: { + // Utility function (see the start attribute default value). Returns + // the number of
  • children of this element + _numitems: { get: function() { + var items = 0; + this.childNodes.forEach(function(n) { + if (n.nodeType === ELEMENT_NODE && n.tagName === "LI") + items++; + }); + return items; + }} + }, + attributes: { + type: String, + reversed: Boolean, + start: { + type: Number, + default: function() { + // The default value of the start attribute is 1 unless the list is + // reversed. Then it is the # of li children + if (this.reversed) + return this._numitems; + else + return 1; + } + } + } +}); + +define({ + tag: 'object', + ctor: function HTMLObjectElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: formAssociatedProps, + attributes: { + data: String, + type: String, + name: String, + useMap: String, + typeMustMatch: Boolean, + width: String, + height: String + } +}); + +define({ + tag: 'optgroup', + ctor: function HTMLOptGroupElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + disabled: Boolean, + label: String + } +}); + +define({ + tag: 'option', + ctor: function HTMLOptionElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: { + form: { get: function() { + var p = this.parentNode; + while (p && p.nodeType == Node.ELEMENT_NODE) { + if (p.localName == 'select') return p.form; + p = p.parentNode; + } + }} + }, + attributes: { + disabled: Boolean, + defaultSelected: {name: 'selected', type: Boolean}, + label: String + } +}); + +define({ + tag: 'output', + ctor: function HTMLOutputElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: formAssociatedProps, + attributes: { + // XXX Reflect for/htmlFor as a settable token list + name: String + } +}); + +define({ + tag: 'p', + ctor: function HTMLParagraphElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + tag: 'param', + ctor: function HTMLParamElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + name: String, + value: String + } +}); + +define({ + tag: 'pre', + ctor: function HTMLPreElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + tag: 'progress', + ctor: function HTMLProgressElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: formAssociatedProps, + attributes: { + max: {type: Number, float: true, default: 1.0, min: 0} + } +}); + +define({ + tags: ['q', 'blockquote'], + ctor: function HTMLQuoteElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + cite: URL + } +}); + +define({ + tag: 'script', + ctor: function HTMLScriptElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: { + text: { + get: function() { + var s = ""; + for(var i = 0, n = this.childNodes.length; i < n; i++) { + var child = this.childNodes[i]; + if (child.nodeType === Node.TEXT_NODE) + s += child._data; + } + return s; + }, + set: function(value) { + this.removeChildren(); + if (value !== null && value !== "") { + this.appendChild(this.ownerDocument.createTextNode(value)); + } + } + } + }, + attributes: { + src: URL, + type: String, + charset: String, + defer: Boolean, + async: Boolean + } +}); + +define({ + tag: 'select', + ctor: function HTMLSelectElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: { + form: formAssociatedProps.form, + options: { get: function() { + return this.getElementsByTagName('option'); + }} + }, + attributes: { + name: String, + disabled: Boolean, + autofocus: Boolean, + multiple: Boolean, + required: Boolean, + size: {type: Number, default: 0} + } +}); + +define({ + tag: 'source', + ctor: function HTMLSourceElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + src: URL, + type: String, + media: String + } +}); + +define({ + tag: 'span', + ctor: function HTMLSpanElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + tag: 'style', + ctor: function HTMLStyleElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + media: String, + type: String, + scoped: Boolean + } +}); + +define({ + tag: 'caption', + ctor: function HTMLTableCaptionElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + + +define({ + ctor: function HTMLTableCellElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + colSpan: {type: Number, default: 1, min: 1, setmin: 1}, + rowSpan: {type: Number, default: 1} + //XXX Also reflect settable token list headers + } +}); + +define({ + tags: ['col', 'colgroup'], + ctor: function HTMLTableColElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + span: {type: Number, default: 1, min: 1, setmin: 1} + } +}); + +define({ + tag: 'table', + ctor: function HTMLTableElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: { + rows: { get: function() { + return this.getElementsByTagName('tr'); + }} + }, + attributes: { + border: String + } +}); + +define({ + tag: 'tr', + ctor: function HTMLTableRowElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: { + cells: { get: function() { + return this.querySelectorAll('td,th'); + }} + } +}); + +define({ + tags: ['thead', 'tfoot', 'tbody'], + ctor: function HTMLTableSectionElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: { + rows: { get: function() { + return this.getElementsByTagName('tr'); + }} + } +}); + +define({ + tag: 'textarea', + ctor: function HTMLTextAreaElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: formAssociatedProps, + attributes: { + name: String, + disabled: Boolean, + autofocus: Boolean, + placeholder: String, + wrap: String, + dirName: String, + required: Boolean, + readOnly: Boolean, + rows: {type: Number, default: 2, min: 1, setmin: 1}, + cols: {type: Number, default: 20, min: 1, setmin: 1}, + maxLength: {type: Number, min: 0, setmin: 0} + } +}); + +define({ + tag: 'time', + ctor: function HTMLTimeElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + dateTime: String, + pubDate: Boolean + } +}); + +define({ + tag: 'title', + ctor: function HTMLTitleElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + props: { + text: { get: function() { + return this.textContent; + }} + } +}); + +define({ + tag: 'track', + ctor: function HTMLTrackElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + src: URL, + srclang: String, + label: String, + default: Boolean, + kind: ["subtitles", "captions", "descriptions", "chapters", "metadata"] + } +}); + +define({ + tag: 'ul', + ctor: function HTMLUListElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + ctor: function HTMLMediaElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + }, + attributes: { + src: URL, + crossOrigin: String, + preload: ["metadata", "none", "auto", {value: "", alias: "auto"}], + loop: Boolean, + autoplay: Boolean, + mediaGroup: String, + controls: Boolean, + defaultMuted: {name: "muted", type: Boolean} + } +}); + +define({ + tag: 'audio', + superclass: impl.HTMLMediaElement, + ctor: function HTMLAudioElement(doc, localName, prefix) { + impl.HTMLMediaElement.call(this, doc, localName, prefix); + } +}); + +define({ + tag: 'video', + superclass: impl.HTMLMediaElement, + ctor: function HTMLVideoElement(doc, localName, prefix) { + impl.HTMLMediaElement.call(this, doc, localName, prefix); + }, + attributes: { + poster: String, + width: {type: Number, min: 0, setmin: 0}, + height: {type: Number, min: 0, setmin: 0} + } +}); + +define({ + tag: 'td', + superclass: impl.HTMLTableCellElement, + ctor: function HTMLTableDataCellElement(doc, localName, prefix) { + impl.HTMLTableCellElement.call(this, doc, localName, prefix); + } +}); + +define({ + tag: 'th', + superclass: impl.HTMLTableCellElement, + ctor: function HTMLTableHeaderCellElement(doc, localName, prefix) { + impl.HTMLTableCellElement.call(this, doc, localName, prefix); + }, + attributes: { + scope: ["", "row", "col", "rowgroup", "colgroup"] + } +}); + +define({ + tag: 'frameset', + ctor: function HTMLFrameSetElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + tag: 'frame', + ctor: function HTMLFrameElement(doc, localName, prefix) { + HTMLElement.call(this, doc, localName, prefix); + } +}); + +define({ + tags: [ + "abbr", "address", "article", "aside", "b", "bdi", "bdo", "canvas", + "cite", "code", "dd", "dfn", "dt", "em", "figcaption", "figure", + "footer", "header", "hgroup", "i", "kbd", "mark", "nav", "noscript", + "rp", "rt", "ruby", "s", "samp", "section", "small", "strong", "sub", + "summary", "sup", "u", "var", "wbr" + ] +}); diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/impl.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/impl.js new file mode 100644 index 0000000..2fcdeb5 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/impl.js @@ -0,0 +1,23 @@ +var utils = require('./utils'); + +exports = module.exports = { + CSSStyleDeclaration: require('./CSSStyleDeclaration'), + CharacterData: require('./CharacterData'), + Comment: require('./Comment'), + DOMException: require('./DOMException'), + DOMImplementation: require('./DOMImplementation'), + DOMTokenList: require('./DOMTokenList'), + Document: require('./Document'), + DocumentFragment: require('./DocumentFragment'), + DocumentType: require('./DocumentType'), + Element: require('./Element'), + Node: require('./Node'), + NodeList: require('./NodeList'), + NodeFilter: require('./NodeFilter'), + ProcessingInstruction: require('./ProcessingInstruction'), + Text: require('./Text'), + Window: require('./Window') +}; + +utils.merge(exports, require('./events')); +utils.merge(exports, require('./htmlelts').elements); diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/index.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/index.js new file mode 100644 index 0000000..cc06de9 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/index.js @@ -0,0 +1,23 @@ +var DOMImplementation = require('./DOMImplementation'); +var HTMLParser = require('./HTMLParser'); +var Window = require('./Window'); + +exports.createDOMImplementation = function() { + return new DOMImplementation(); +}; + +exports.createDocument = function(html) { + if (html) { + var parser = new HTMLParser(); + parser.parse(html, true); + return parser.document(); + } + return new DOMImplementation().createHTMLDocument(""); +}; + +exports.createWindow = function(html) { + var document = exports.createDocument(html); + return new Window(document); +}; + +exports.impl = require('./impl'); diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/select.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/select.js new file mode 100644 index 0000000..6059cea --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/select.js @@ -0,0 +1,842 @@ +/** + * Zest (https://github.com/chjj/zest) + * A css selector engine. + * Copyright (c) 2011-2012, Christopher Jeffrey. (MIT Licensed) + */ + +/** + * Helpers + */ + +var compareDocumentPosition = function(a, b) { + return a.compareDocumentPosition(b); +}; + +var order = function(a, b) { + return compareDocumentPosition(a, b) & 2 ? 1 : -1; +}; + +var next = function(el) { + while ((el = el.nextSibling) + && el.nodeType !== 1); + return el; +}; + +var prev = function(el) { + while ((el = el.previousSibling) + && el.nodeType !== 1); + return el; +}; + +var child = function(el) { + if (el = el.firstChild) { + while (el.nodeType !== 1 + && (el = el.nextSibling)); + } + return el; +}; + +var lastChild = function(el) { + if (el = el.lastChild) { + while (el.nodeType !== 1 + && (el = el.previousSibling)); + } + return el; +}; + +var unquote = function(str) { + if (!str) return str; + var ch = str[0]; + return ch === '"' || ch === '\'' + ? str.slice(1, -1) + : str; +}; + +var indexOf = (function() { + if (Array.prototype.indexOf) { + return Array.prototype.indexOf; + } + return function(obj, item) { + var i = this.length; + while (i--) { + if (this[i] === item) return i; + } + return -1; + }; +})(); + +var makeInside = function(start, end) { + var regex = rules.inside.source + .replace(//g, end); + + return new RegExp(regex); +}; + +var replace = function(regex, name, val) { + regex = regex.source; + regex = regex.replace(name, val.source || val); + return new RegExp(regex); +}; + +var truncateUrl = function(url, num) { + return url + .replace(/^(?:\w+:\/\/|\/+)/, '') + .replace(/(?:\/+|\/*#.*?)$/, '') + .split('/', num) + .join('/'); +}; + +/** + * Handle `nth` Selectors + */ + +var parseNth = function(param, test) { + var param = param.replace(/\s+/g, '') + , cap; + + if (param === 'even') { + param = '2n+0'; + } else if (param === 'odd') { + param = '2n+1'; + } else if (!~param.indexOf('n')) { + param = '0n' + param; + } + + cap = /^([+-])?(\d+)?n([+-])?(\d+)?$/.exec(param); + + return { + group: cap[1] === '-' + ? -(cap[2] || 1) + : +(cap[2] || 1), + offset: cap[4] + ? (cap[3] === '-' ? -cap[4] : +cap[4]) + : 0 + }; +}; + +var nth = function(param, test, last) { + var param = parseNth(param) + , group = param.group + , offset = param.offset + , find = !last ? child : lastChild + , advance = !last ? next : prev; + + return function(el) { + if (el.parentNode.nodeType !== 1) return; + + var rel = find(el.parentNode) + , pos = 0; + + while (rel) { + if (test(rel, el)) pos++; + if (rel === el) { + pos -= offset; + return group && pos + ? !(pos % group) && (pos < 0 === group < 0) + : !pos; + } + rel = advance(rel); + } + }; +}; + +/** + * Simple Selectors + */ + +var selectors = { + '*': (function() { + if (false/*function() { + var el = document.createElement('div'); + el.appendChild(document.createComment('')); + return !!el.getElementsByTagName('*')[0]; + }()*/) { + return function(el) { + if (el.nodeType === 1) return true; + }; + } + return function() { + return true; + }; + })(), + 'type': function(type) { + type = type.toLowerCase(); + return function(el) { + return el.nodeName.toLowerCase() === type; + }; + }, + 'attr': function(key, op, val, i) { + op = operators[op]; + return function(el) { + var attr; + switch (key) { + case 'for': + attr = el.htmlFor; + break; + case 'class': + // className is '' when non-existent + // getAttribute('class') is null + attr = el.className; + if (attr === '' && el.getAttribute('class') == null) { + attr = null; + } + break; + case 'href': + attr = el.getAttribute('href', 2); + break; + case 'title': + // getAttribute('title') can be '' when non-existent sometimes? + attr = el.getAttribute('title') || null; + break; + // careful with attributes with special getter functions + case 'id': + case 'lang': + case 'dir': + case 'accessKey': + case 'hidden': + case 'tabIndex': + if (el.getAttribute) { + attr = el.getAttribute(key); + break; + } + default: + if (el.hasAttribute && !el.hasAttribute(key)) { + break; + } + attr = el[key] != null + ? el[key] + : el.getAttribute && el.getAttribute(key); + break; + } + if (attr == null) return; + attr = attr + ''; + if (i) { + attr = attr.toLowerCase(); + val = val.toLowerCase(); + } + return op(attr, val); + }; + }, + ':first-child': function(el) { + return !prev(el) && el.parentNode.nodeType === 1; + }, + ':last-child': function(el) { + return !next(el) && el.parentNode.nodeType === 1; + }, + ':only-child': function(el) { + return !prev(el) && !next(el) + && el.parentNode.nodeType === 1; + }, + ':nth-child': function(param, last) { + return nth(param, function() { + return true; + }, last); + }, + ':nth-last-child': function(param) { + return selectors[':nth-child'](param, true); + }, + ':root': function(el) { + return el.ownerDocument.documentElement === el; + }, + ':empty': function(el) { + return !el.firstChild; + }, + ':not': function(sel) { + var test = compileGroup(sel); + return function(el) { + return !test(el); + }; + }, + ':first-of-type': function(el) { + if (el.parentNode.nodeType !== 1) return; + var type = el.nodeName; + while (el = prev(el)) { + if (el.nodeName === type) return; + } + return true; + }, + ':last-of-type': function(el) { + if (el.parentNode.nodeType !== 1) return; + var type = el.nodeName; + while (el = next(el)) { + if (el.nodeName === type) return; + } + return true; + }, + ':only-of-type': function(el) { + return selectors[':first-of-type'](el) + && selectors[':last-of-type'](el); + }, + ':nth-of-type': function(param, last) { + return nth(param, function(rel, el) { + return rel.nodeName === el.nodeName; + }, last); + }, + ':nth-last-of-type': function(param) { + return selectors[':nth-of-type'](param, true); + }, + ':checked': function(el) { + return !!(el.checked || el.selected); + }, + ':indeterminate': function(el) { + return !selectors[':checked'](el); + }, + ':enabled': function(el) { + return !el.disabled && el.type !== 'hidden'; + }, + ':disabled': function(el) { + return !!el.disabled; + }, + ':target': function(el) { + return el.id === window.location.hash.substring(1); + }, + ':focus': function(el) { + return el === el.ownerDocument.activeElement; + }, + ':matches': function(sel) { + return compileGroup(sel); + }, + ':nth-match': function(param, last) { + var args = param.split(/\s*,\s*/) + , arg = args.shift() + , test = compileGroup(args.join(',')); + + return nth(arg, test, last); + }, + ':nth-last-match': function(param) { + return selectors[':nth-match'](param, true); + }, + ':links-here': function(el) { + return el + '' === window.location + ''; + }, + ':lang': function(param) { + return function(el) { + while (el) { + if (el.lang) return el.lang.indexOf(param) === 0; + el = el.parentNode; + } + }; + }, + ':dir': function(param) { + return function(el) { + while (el) { + if (el.dir) return el.dir === param; + el = el.parentNode; + } + }; + }, + ':scope': function(el, con) { + var context = con || el.ownerDocument; + if (context.nodeType === 9) { + return el === context.documentElement; + } + return el === context; + }, + ':any-link': function(el) { + return typeof el.href === 'string'; + }, + ':local-link': function(el) { + if (el.nodeName) { + return el.href && el.host === window.location.host; + } + var param = +el + 1; + return function(el) { + if (!el.href) return; + + var url = window.location + '' + , href = el + ''; + + return truncateUrl(url, param) === truncateUrl(href, param); + }; + }, + ':default': function(el) { + return !!el.defaultSelected; + }, + ':valid': function(el) { + return el.willValidate || (el.validity && el.validity.valid); + }, + ':invalid': function(el) { + return !selectors[':valid'](el); + }, + ':in-range': function(el) { + return el.value > el.min && el.value <= el.max; + }, + ':out-of-range': function(el) { + return !selectors[':in-range'](el); + }, + ':required': function(el) { + return !!el.required; + }, + ':optional': function(el) { + return !el.required; + }, + ':read-only': function(el) { + if (el.readOnly) return true; + + var attr = el.getAttribute('contenteditable') + , prop = el.contentEditable + , name = el.nodeName.toLowerCase(); + + name = name !== 'input' && name !== 'textarea'; + + return (name || el.disabled) && attr == null && prop !== 'true'; + }, + ':read-write': function(el) { + return !selectors[':read-only'](el); + }, + ':hover': function() { + throw new Error(':hover is not supported.'); + }, + ':active': function() { + throw new Error(':active is not supported.'); + }, + ':link': function() { + throw new Error(':link is not supported.'); + }, + ':visited': function() { + throw new Error(':visited is not supported.'); + }, + ':column': function() { + throw new Error(':column is not supported.'); + }, + ':nth-column': function() { + throw new Error(':nth-column is not supported.'); + }, + ':nth-last-column': function() { + throw new Error(':nth-last-column is not supported.'); + }, + ':current': function() { + throw new Error(':current is not supported.'); + }, + ':past': function() { + throw new Error(':past is not supported.'); + }, + ':future': function() { + throw new Error(':future is not supported.'); + }, + // Non-standard, for compatibility purposes. + ':contains': function(param) { + return function(el) { + var text = el.innerText || el.textContent || el.value || ''; + return !!~text.indexOf(param); + }; + }, + ':has': function(param) { + return function(el) { + return zest(param, el).length > 0; + }; + } + // Potentially add more pseudo selectors for + // compatibility with sizzle and most other + // selector engines (?). +}; + +/** + * Attribute Operators + */ + +var operators = { + '-': function() { + return true; + }, + '=': function(attr, val) { + return attr === val; + }, + '*=': function(attr, val) { + return attr.indexOf(val) !== -1; + }, + '~=': function(attr, val) { + var i = attr.indexOf(val) + , f + , l; + + if (i === -1) return; + f = attr[i - 1]; + l = attr[i + val.length]; + + return (!f || f === ' ') && (!l || l === ' '); + }, + '|=': function(attr, val) { + var i = attr.indexOf(val) + , l; + + if (i !== 0) return; + l = attr[i + val.length]; + + return l === '-' || !l; + }, + '^=': function(attr, val) { + return attr.indexOf(val) === 0; + }, + '$=': function(attr, val) { + return attr.indexOf(val) + val.length === attr.length; + }, + // non-standard + '!=': function(attr, val) { + return attr !== val; + } +}; + +/** + * Combinator Logic + */ + +var combinators = { + ' ': function(test) { + return function(el) { + while (el = el.parentNode) { + if (test(el)) return el; + } + }; + }, + '>': function(test) { + return function(el) { + if (el = el.parentNode) { + return test(el) && el; + } + }; + }, + '+': function(test) { + return function(el) { + if (el = prev(el)) { + return test(el) && el; + } + }; + }, + '~': function(test) { + return function(el) { + while (el = prev(el)) { + if (test(el)) return el; + } + }; + }, + 'noop': function(test) { + return function(el) { + return test(el) && el; + }; + }, + 'ref': function(test, name) { + var node; + + function ref(el) { + var doc = el.ownerDocument + , nodes = doc.getElementsByTagName('*') + , i = nodes.length; + + while (i--) { + node = nodes[i]; + if (ref.test(el)) { + node = null; + return true; + } + } + + node = null; + } + + ref.combinator = function(el) { + if (!node || !node.getAttribute) return; + + var attr = node.getAttribute(name) || ''; + if (attr[0] === '#') attr = attr.substring(1); + + if (attr === el.id && test(node)) { + return node; + } + }; + + return ref; + } +}; + +/** + * Grammar + */ + +var rules = { + qname: /^ *([\w\-]+|\*)/, + simple: /^(?:([.#][\w\-]+)|pseudo|attr)/, + ref: /^ *\/([\w\-]+)\/ */, + combinator: /^(?: +([^ \w*]) +|( )+|([^ \w*]))(?! *$)/, + attr: /^\[([\w\-]+)(?:([^\w]?=)(inside))?\]/, + pseudo: /^(:[\w\-]+)(?:\((inside)\))?/, + inside: /(?:"(?:\\"|[^"])*"|'(?:\\'|[^'])*'|<[^"'>]*>|\\["'>]|[^"'>])*/ +}; + +rules.inside = replace(rules.inside, '[^"\'>]*', rules.inside); +rules.attr = replace(rules.attr, 'inside', makeInside('\\[', '\\]')); +rules.pseudo = replace(rules.pseudo, 'inside', makeInside('\\(', '\\)')); +rules.simple = replace(rules.simple, 'pseudo', rules.pseudo); +rules.simple = replace(rules.simple, 'attr', rules.attr); + +/** + * Compiling + */ + +var compile = function(sel) { + var sel = sel.replace(/^\s+|\s+$/g, '') + , test + , filter = [] + , buff = [] + , subject + , qname + , cap + , op + , ref; + + while (sel) { + if (cap = rules.qname.exec(sel)) { + sel = sel.substring(cap[0].length); + qname = cap[1]; + buff.push(tok(qname, true)); + } else if (cap = rules.simple.exec(sel)) { + sel = sel.substring(cap[0].length); + qname = '*'; + buff.push(tok(qname, true)); + buff.push(tok(cap)); + } else { + throw new Error('Invalid selector.'); + } + + while (cap = rules.simple.exec(sel)) { + sel = sel.substring(cap[0].length); + buff.push(tok(cap)); + } + + if (sel[0] === '!') { + sel = sel.substring(1); + subject = makeSubject(); + subject.qname = qname; + buff.push(subject.simple); + } + + if (cap = rules.ref.exec(sel)) { + sel = sel.substring(cap[0].length); + ref = combinators.ref(makeSimple(buff), cap[1]); + filter.push(ref.combinator); + buff = []; + continue; + } + + if (cap = rules.combinator.exec(sel)) { + sel = sel.substring(cap[0].length); + op = cap[1] || cap[2] || cap[3]; + if (op === ',') { + filter.push(combinators.noop(makeSimple(buff))); + break; + } + } else { + op = 'noop'; + } + + filter.push(combinators[op](makeSimple(buff))); + buff = []; + } + + test = makeTest(filter); + test.qname = qname; + test.sel = sel; + + if (subject) { + subject.lname = test.qname; + + subject.test = test; + subject.qname = subject.qname; + subject.sel = test.sel; + test = subject; + } + + if (ref) { + ref.test = test; + ref.qname = test.qname; + ref.sel = test.sel; + test = ref; + } + + return test; +}; + +var tok = function(cap, qname) { + // qname + if (qname) { + return cap === '*' + ? selectors['*'] + : selectors.type(cap); + } + + // class/id + if (cap[1]) { + return cap[1][0] === '.' + ? selectors.attr('class', '~=', cap[1].substring(1)) + : selectors.attr('id', '=', cap[1].substring(1)); + } + + // pseudo-name + // inside-pseudo + if (cap[2]) { + return cap[3] + ? selectors[cap[2]](unquote(cap[3])) + : selectors[cap[2]]; + } + + // attr name + // attr op + // attr value + if (cap[4]) { + var i; + if (cap[6]) { + i = cap[6].length; + cap[6] = cap[6].replace(/ +i$/, ''); + i = i > cap[6].length; + } + return selectors.attr(cap[4], cap[5] || '-', unquote(cap[6]), i); + } + + throw new Error('Unknown Selector.'); +}; + +var makeSimple = function(func) { + var l = func.length + , i; + + // Potentially make sure + // `el` is truthy. + if (l < 2) return func[0]; + + return function(el) { + if (!el) return; + for (i = 0; i < l; i++) { + if (!func[i](el)) return; + } + return true; + }; +}; + +var makeTest = function(func) { + if (func.length < 2) { + return function(el) { + return !!func[0](el); + }; + } + return function(el) { + var i = func.length; + while (i--) { + if (!(el = func[i](el))) return; + } + return true; + }; +}; + +var makeSubject = function() { + var target; + + function subject(el) { + var node = el.ownerDocument + , scope = node.getElementsByTagName(subject.lname) + , i = scope.length; + + while (i--) { + if (subject.test(scope[i]) && target === el) { + target = null; + return true; + } + } + + target = null; + } + + subject.simple = function(el) { + target = el; + return true; + }; + + return subject; +}; + +var compileGroup = function(sel) { + var test = compile(sel) + , tests = [ test ]; + + while (test.sel) { + test = compile(test.sel); + tests.push(test); + } + + if (tests.length < 2) return test; + + return function(el) { + var l = tests.length + , i = 0; + + for (; i < l; i++) { + if (tests[i](el)) return true; + } + }; +}; + +/** + * Selection + */ + +var find = function(sel, node) { + var results = [] + , test = compile(sel) + , scope = node.getElementsByTagName(test.qname) + , i = 0 + , el; + + while (el = scope[i++]) { + if (test(el)) results.push(el); + } + + if (test.sel) { + while (test.sel) { + test = compile(test.sel); + scope = node.getElementsByTagName(test.qname); + i = 0; + while (el = scope[i++]) { + if (test(el) && !~indexOf.call(results, el)) { + results.push(el); + } + } + } + results.sort(order); + } + + return results; +}; + +/** + * Expose + */ + +module.exports = exports = function(sel, context) { + /* when context isn't a DocumentFragment and the selector is simple: */ + if (context.nodeType !== 11 && !~sel.indexOf(' ')) { + if (sel[0] === '#' && context.rooted && /^#\w+$/.test(sel)) { + return [context.doc.getElementById(sel.substring(1))]; + } + if (sel[0] === '.' && /^\.\w+$/.test(sel)) { + return context.getElementsByClassName(sel.substring(1)); + } + if (/^\w+$/.test(sel)) { + return context.getElementsByTagName(sel); + } + } + /* do things the hard/slow way */ + return find(sel, context); +}; + +exports.selectors = selectors; +exports.operators = operators; +exports.combinators = combinators; + +exports.matches = function(el, sel) { + var test = { sel: sel }; + do { + test = compile(test.sel); + if (test(el)) { return true; } + } while (test.sel); + return false; +}; diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/utils.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/utils.js new file mode 100644 index 0000000..78257cc --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/utils.js @@ -0,0 +1,66 @@ +var DOMException = require('./DOMException'); +var ERR = DOMException; + +exports.NAMESPACE = { + HTML: 'http://www.w3.org/1999/xhtml', + XML: 'http://www.w3.org/XML/1998/namespace', + XMLNS: 'http://www.w3.org/2000/xmlns/', + MATHML: 'http://www.w3.org/1998/Math/MathML', + SVG: 'http://www.w3.org/2000/svg', + XLINK: 'http://www.w3.org/1999/xlink' +}; + +// +// Shortcut functions for throwing errors of various types. +// +exports.IndexSizeError = function() { throw new DOMException(ERR.INDEX_SIZE_ERR); } +exports.HierarchyRequestError = function() { throw new DOMException(ERR.HIERARCHY_REQUEST_ERR); } +exports.WrongDocumentError = function() { throw new DOMException(ERR.WRONG_DOCUMENT_ERR); } +exports.InvalidCharacterError = function() { throw new DOMException(ERR.INVALID_CHARACTER_ERR); } +exports.NoModificationAllowedError = function() { throw new DOMException(ERR.NO_MODIFICATION_ALLOWED_ERR); } +exports.NotFoundError = function() { throw new DOMException(ERR.NOT_FOUND_ERR); } +exports.NotSupportedError = function() { throw new DOMException(ERR.NOT_SUPPORTED_ERR); } +exports.InvalidStateError = function() { throw new DOMException(ERR.INVALID_STATE_ERR); } +exports.SyntaxError = function() { throw new DOMException(ERR.SYNTAX_ERR); } +exports.InvalidModificationError = function() { throw new DOMException(ERR.INVALID_MODIFICATION_ERR); } +exports.NamespaceError = function() { throw new DOMException(ERR.NAMESPACE_ERR); } +exports.InvalidAccessError = function() { throw new DOMException(ERR.INVALID_ACCESS_ERR); } +exports.TypeMismatchError = function() { throw new DOMException(ERR.TYPE_MISMATCH_ERR); } +exports.SecurityError = function() { throw new DOMException(ERR.SECURITY_ERR); } +exports.NetworkError = function() { throw new DOMException(ERR.NETWORK_ERR); } +exports.AbortError = function() { throw new DOMException(ERR.ABORT_ERR); } +exports.UrlMismatchError = function() { throw new DOMException(ERR.URL_MISMATCH_ERR); } +exports.QuotaExceededError = function() { throw new DOMException(ERR.QUOTA_EXCEEDED_ERR); } +exports.TimeoutError = function() { throw new DOMException(ERR.TIMEOUT_ERR); } +exports.InvalidNodeTypeError = function() { throw new DOMException(ERR.INVALID_NODE_TYPE_ERR); } +exports.DataCloneError = function() { throw new DOMException(ERR.DATA_CLONE_ERR); } + +exports.nyi = function() { + throw new Error("NotYetImplemented"); +} + +exports.assert = function(expr, msg) { + if (!expr) { + throw new Error("Assertion failed: " + (msg || "") + "\n" + new Error().stack); + } +}; + +exports.expose = function(src, c) { + for (var n in src) { + Object.defineProperty(c.prototype, n, {value: src[n] }); + } +}; + +exports.merge = function(a, b) { + for (var n in b) { + a[n] = b[n] + } +}; + +// Compare two nodes based on their document order. This function is intended +// to be passed to sort(). Assumes that the array being sorted does not +// contain duplicates. And that all nodes are connected and comparable. +// Clever code by ppk via jeresig. +exports.documentOrder = function(n,m) { + return 3 - (n.compareDocumentPosition(m) & 6); +}; diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/xmlnames.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/xmlnames.js new file mode 100644 index 0000000..4edb8ab --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/lib/xmlnames.js @@ -0,0 +1,90 @@ +// This grammar is from the XML and XML Namespace specs. It specifies whether +// a string (such as an element or attribute name) is a valid Name or QName. +// +// Name ::= NameStartChar (NameChar)* +// NameStartChar ::= ":" | [A-Z] | "_" | [a-z] | +// [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | +// [#x370-#x37D] | [#x37F-#x1FFF] | +// [#x200C-#x200D] | [#x2070-#x218F] | +// [#x2C00-#x2FEF] | [#x3001-#xD7FF] | +// [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | +// [#x10000-#xEFFFF] +// +// NameChar ::= NameStartChar | "-" | "." | [0-9] | +// #xB7 | [#x0300-#x036F] | [#x203F-#x2040] +// +// QName ::= PrefixedName| UnprefixedName +// PrefixedName ::= Prefix ':' LocalPart +// UnprefixedName ::= LocalPart +// Prefix ::= NCName +// LocalPart ::= NCName +// NCName ::= Name - (Char* ':' Char*) +// # An XML Name, minus the ":" +// + +exports.isValidName = isValidName; +exports.isValidQName = isValidQName; + +// Most names will be ASCII only. Try matching against simple regexps first +var simplename = /^[_:A-Za-z][-.:\w]+$/; +var simpleqname = /^([_A-Za-z][-.\w]+|[_A-Za-z][-.\w]+:[_A-Za-z][-.\w]+)$/ + +// If the regular expressions above fail, try more complex ones that work +// for any identifiers using codepoints from the Unicode BMP +var ncnamestartchars = "_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02ff\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD"; +var ncnamechars = "-._A-Za-z0-9\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02ff\u0300-\u037D\u037F-\u1FFF\u200C\u200D\u203f\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD"; + +var ncname = "[" + ncnamestartchars + "][" + ncnamechars + "]*"; +var namestartchars = ncnamestartchars + ":"; +var namechars = ncnamechars + ":"; +var name = new RegExp("^[" + namestartchars + "]" + "[" + namechars + "]*$"); +var qname = new RegExp("^(" + ncname + "|" + ncname + ":" + ncname + ")$"); + +// XML says that these characters are also legal: +// [#x10000-#xEFFFF]. So if the patterns above fail, and the +// target string includes surrogates, then try the following +// patterns that allow surrogates and then run an extra validation +// step to make sure that the surrogates are in valid pairs and in +// the right range. Note that since the characters \uf0000 to \u1f0000 +// are not allowed, it means that the high surrogate can only go up to +// \uDB7f instead of \uDBFF. +var hassurrogates = /[\uD800-\uDB7F\uDC00-\uDFFF]/; +var surrogatechars = /[\uD800-\uDB7F\uDC00-\uDFFF]/g; +var surrogatepairs = /[\uD800-\uDB7F][\uDC00-\uDFFF]/g; + +// Modify the variables above to allow surrogates +ncnamestartchars += "\uD800-\uDB7F\uDC00-\uDFFF"; +ncnamechars += "\uD800-\uDB7F\uDC00-\uDFFF"; +ncname = "[" + ncnamestartchars + "][" + ncnamechars + "]*"; +namestartchars = ncnamestartchars + ":"; +namechars = ncnamechars + ":"; + +// Build another set of regexps that include surrogates +var surrogatename = new RegExp("^[" + namestartchars + "]" + "[" + namechars + "]*$"); +var surrogateqname = new RegExp("^(" + ncname + "|" + ncname + ":" + ncname + ")$"); + +function isValidName(s) { + if (simplename.test(s)) return true; // Plain ASCII + if (name.test(s)) return true; // Unicode BMP + + // Maybe the tests above failed because s includes surrogate pairs + // Most likely, though, they failed for some more basic syntax problem + if (!hassurrogates.test(s)) return false; + + // Is the string a valid name if we allow surrogates? + if (!surrogatename.test(s)) return false; + + // Finally, are the surrogates all correctly paired up? + var chars = s.match(surrogatechars), pairs = s.match(surrogatepairs); + return pairs != null && 2*pairs.length === chars.length; +} + +function isValidQName(s) { + if (simpleqname.test(s)) return true; // Plain ASCII + if (qname.test(s)) return true; // Unicode BMP + + if (!hassurrogates.test(s)) return false; + if (!surrogateqname.test(s)) return false; + var chars = s.match(surrogatechars), pairs = s.match(surrogatepairs); + return pairs != null && 2*pairs.length === chars.length; +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/package.json b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/package.json new file mode 100644 index 0000000..4f7a9ef --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/package.json @@ -0,0 +1,32 @@ +{ + "name": "domino", + "version": "1.0.17", + "author": { + "name": "Felix Gnass", + "email": "fgnass@gmail.com" + }, + "description": "Server-side DOM implementation based on Mozilla's dom.js", + "homepage": "https://github.com/fgnass/domino", + "main": "./lib", + "repository": { + "type": "git", + "url": "https://github.com/fgnass/domino.git" + }, + "scripts": { + "test": "mocha", + "test-spec": "mocha -R spec" + }, + "devDependencies": { + "mocha": "~1.18.2", + "should": "~3.3.1" + }, + "readme": "# Server-side DOM implementation based on Mozilla's dom.js\n\n[![Build Status][1]][2] [![dependency status][3]][4] [![dev dependency status][5]][6]\n\nAs the name might suggest, domino's goal is to provide a DOM in Node.\n\nIn contrast to the original [dom.js](https://github.com/andreasgal/dom.js) project, domino was not designed to run untrusted code. Hence it doesn't have to hide its internals behind a proxy facade which makes the code not only simpler, but also [more performant](https://github.com/fgnass/dombench).\n\nDomino currently doesn't use any harmony features like proxies or WeakMaps and therefore also runs in older Node versions.\n\n## Speed over Compliance\n\nDomino is intended for _building_ pages rather than scraping them. Hence Domino doesn't execute scripts nor does it download external resources.\n\nAlso Domino doesn't implement any properties which have been deprecated in HTML5.\n\nDomino sticks to the [DOM level 4](http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#interface-attr) working draft, which means that Attributes do not inherit the Node interface. Also [Element.attributes](http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-element-attributes) returns a read-only array instead of a NamedNodeMap.\n\nNote that because domino does not use proxies,\n`Element.attributes` is not a true JavaScript array; it is an object\nwith a `length` property and an `item(n)` accessor method. See\n[github issue #27](https://github.com/fgnass/domino/issues/27) for\nfurther discussion.\n\n## CSS Selector Support\n\nDomino provides support for `querySelector()`, `querySelectorAll()`, and `matches()` backed by the [Zest](https://github.com/chjj/zest) selector engine.\n\n## Usage\n\n```javascript\nvar domino = require('domino');\n\nvar window = domino.createWindow('

    Hello world

    ');\nvar document = window.document;\n\nvar h1 = document.querySelector('h1');\nconsole.log(h1.innerHTML);\n```\n\n## Tests\n\nDomino includes test from the [W3C DOM Conformance Suites](http://www.w3.org/DOM/Test/)\nas well as tests from [HTML Working Group](http://www.w3.org/html/wg/wiki/Testing).\n\nThe tests can be run via `npm test` or directly though the [Mocha](http://visionmedia.github.com/mocha/) command line:\n\n![Screenshot](http://fgnass.github.com/images/domino.png)\n\n## License and Credits\n\nThe majority of the code was written by [Andreas Gal](https://github.com/andreasgal/) and [David Flanagan](https://github.com/davidflanagan) as part of the [dom.js](https://github.com/andreasgal/dom.js) project. Please refer to the included LICENSE file for the original copyright notice and disclaimer.\n\n[1]: https://travis-ci.org/fgnass/domino.png\n[2]: https://travis-ci.org/fgnass/domino\n[3]: https://david-dm.org/fgnass/domino.png\n[4]: https://david-dm.org/fgnass/domino\n[5]: https://david-dm.org/fgnass/domino/dev-status.png\n[6]: https://david-dm.org/fgnass/domino#info=devDependencies\n", + "readmeFilename": "README.md", + "bugs": { + "url": "https://github.com/fgnass/domino/issues" + }, + "_id": "domino@1.0.17", + "_shasum": "59bea71fa864ff5c02e3baf1f65fc13fbeb31848", + "_from": "domino@1.x.x", + "_resolved": "https://registry.npmjs.org/domino/-/domino-1.0.17.tgz" +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/domino.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/domino.js new file mode 100644 index 0000000..ebf203a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/domino.js @@ -0,0 +1,348 @@ +var domino = require('../lib'); +var fs = require('fs'); +var html = fs.readFileSync(__dirname + '/fixture/doc.html', 'utf8'); + +exports = exports.domino = {}; + +exports.matches = function() { + // see https://developer.mozilla.org/en-US/docs/Web/API/Element.matches + var d = domino.createWindow(html).document; + var h1 = d.getElementById('lorem'); + h1.matches('h1').should.equal(true); + h1.matches('body > h1').should.equal(true); // not rooted + h1.matches('h1 > p').should.equal(false); + h1.matches('h1,h2').should.equal(true); + h1.matches('h2,h1').should.equal(true); +}; + +exports.querySelectorAll = function() { + var window = domino.createWindow(html); + var d = window.document; + var nodeList = d.querySelectorAll('p'); + nodeList.should.have.property('item'); + nodeList.should.have.length(2); + nodeList = d.querySelectorAll('p:not(.foo)'); + nodeList.should.have.length(1); + nodeList = d.querySelectorAll('tt.foo'); + nodeList.should.have.length(2); + nodeList = d.querySelectorAll('tt:not(.bar)'); + nodeList.should.have.length(1); +} + +exports.qsaOrder = function() { + var window = domino.createDocument('

    '); + window.querySelectorAll('h2, h3').map(function(el) { + return el.tagName; + }) + .should.eql(['H2', 'H3', 'H3', 'H2', 'H3']); +} + +exports.orphanQSA = function() { + var document = domino.createDocument('

    foo

    '); + var p = document.createElement('p'); + p.querySelectorAll('p').should.have.length(0); + p.querySelectorAll('p').should.have.length(0); +}; + +exports.gh20 = function() { + var window = domino.createWindow(''); + var frag = window.document.createDocumentFragment(); + frag.querySelectorAll('p').should.have.length(0); + + frag.appendChild(window.document.createElement('p')); + frag.querySelectorAll('p').should.have.length(1); + + frag.appendChild(window.document.createElement('p')); + frag.querySelectorAll('p').should.have.length(2); +}; + +exports.gh22 = function() { + var d=domino.createDocument("

    Hello world

    Hi

    "); + d.querySelectorAll('div').should.have.length(1); + d.body.querySelectorAll('div').should.have.length(1); + d.body.querySelectorAll('h1').should.have.length(1); + d.body.querySelectorAll('p').should.have.length(1); + + var w=domino.createWindow("

    Hello world

    Hi

    "); + d=w.document; + d.querySelectorAll('div').should.have.length(1); + d.body.querySelectorAll('div').should.have.length(1); + d.body.querySelectorAll('h1').should.have.length(1); + d.body.querySelectorAll('p').should.have.length(1); +}; + +exports.gh31 = function() { + var document, heading1, heading2; + + document = domino.createDocument("

    First

    Second

    "); + document.querySelectorAll('h1').should.have.length(2); + heading1 = document.body.querySelector('h1'); + heading1.getElementsByTagName('h1').should.have.length(0); + heading1.querySelectorAll('h1').should.have.length(0); + heading2 = document.body.querySelector('h1 + h1'); + heading2.querySelectorAll('h1').should.have.length(0); +}; + +exports.gh38 = function() { + var d = domino.createDocument('
    Header cellData cell
    '); + var r = d.querySelector('tr'); + r.should.have.property('cells'); + r.cells.should.have.length(2); +}; + +exports.evilHandler = function() { + var window = domino.createDocument(''); +}; + +exports.title = function() { + var d = domino.createDocument(html); + if (d.head) { d.documentElement.removeChild(d.head); } + d.should.have.property('head', null); + d.should.have.property('title', ''); + d.querySelectorAll('head > title').should.have.length(0); + + // per the spec, if there is no , then setting Document.title should + // be a no-op. + d.title = "Lorem!"; + d.title.should.equal(''); + d.querySelectorAll('head > title').should.have.length(0); + + // but if there is a , then setting Document.title should create the + // element if necessary. + d.documentElement.insertBefore(d.createElement('head'), d.body); + d.head.should.not.equal(null); + d.title.should.equal(''); + d.title = "Lorem!"; + d.title.should.equal("Lorem!"); + d.querySelectorAll('head > title').should.have.length(1); + + // verify that setting <title> works if there's already a title + d.title = "ipsum"; + d.title.should.equal("ipsum"); + d.querySelectorAll('head > title').should.have.length(1); // still only 1! +}; + +exports.children = function() { + var d = domino.createDocument(html); + var c = d.body.children; + c.should.have.length(4); + c.should.have.property('0'); + var a = Array.prototype.slice.call(c); + a.should.be.an.instanceof(Array); + a.should.have.length(4); + d.body.appendChild(d.createElement('p')); + a = Array.prototype.slice.call(c); + a.should.have.length(5); +} + + +exports.attributes1 = function() { + var d = domino.createDocument(); + var el = d.createElement('div'); + el.setAttribute('foo', 'foo'); + el.setAttribute('bar', 'bar'); + el.attributes.should.have.length(2); + el.attributes.item(0).value.should.equal('foo'); + el.removeAttribute('foo'); + el.attributes.should.have.length(1); + el.attributes.item(0).name.should.equal('bar'); + el.setAttribute('baz', 'baz'); + el.attributes.should.have.length(2); + el.attributes.item(1).value.should.equal('baz'); +} + +exports.classList = function() { + var d = domino.createDocument(); + var el = d.body; + el.className = 'foo bar boo'; + + var cl = el.classList; + cl.should.have.length(3); + cl[0].should.equal('foo'); + cl.contains('bar').should.be.ok; + cl.contains('baz').should.not.be.ok; + cl.add('baz'); + cl.contains('baz').should.be.ok; + cl.should.have.length(4); + el.className.should.match(/baz/); + cl.remove('foo'); + cl.should.have.length(3); + el.className.should.not.match(/foo/); + cl[0].should.not.equal('foo'); +} + +exports.attributes2 = function() { + var d = domino.createDocument(); + var div = d.createElement('div'); + div.setAttribute('onclick', 't'); + div.attributes.should.have.property('onclick'); + div.attributes.onclick.should.have.property('value', 't'); + div.removeAttribute('onclick'); + (div.attributes.onclick === undefined).should.be.true; +} + +exports.jquery = function() { + var window = domino.createWindow(html); + var f = __dirname + '/fixture/jquery-1.9.1.js'; + window._run(fs.readFileSync(f, 'utf8'), f); + window.$.should.be.ok; + window.$('.foo').should.have.length(3); +} + +exports.treeWalker = function() { + var window = domino.createWindow(html); + var d = window.document; + var root = d.getElementById('tw'); + var tw = d.createTreeWalker(root, window.NodeFilter.SHOW_TEXT); + tw.root.should.equal(root); + tw.currentNode.should.equal(root); + tw.whatToShow.should.equal(0x4); + tw.filter.constructor.should.equal(window.NodeFilter.constructor); + + var actual = []; + while (tw.nextNode() !== null) { + actual.push(tw.currentNode); + } + + actual.should.eql([ + root.firstChild.firstChild, + root.firstChild.lastChild.firstChild, + root.lastChild.firstChild, + root.lastChild.lastChild.firstChild + ]); +} + +exports.innerHTML = function() { + var d = domino.createDocument(); + ['pre','textarea','listing'].forEach(function(elementName) { + var div = d.createElement('div') + var el = d.createElement(elementName); + el.innerHTML = "a"; + div.appendChild(el); + // no extraneous newline after element tag in this case + div.innerHTML.should.equal('<'+elementName+'>a</'+elementName+'>'); + el.innerHTML = "\nb"; + // first newline after element is swallowed. needs two. + div.innerHTML.should.equal('<'+elementName+'>\n\nb</'+elementName+'>'); + }); +} + +exports.outerHTML = function() { + var tests = [ + '<body><pre>\n\na\n</pre></body>', + '<body bgcolor="white"><h1 style="color: red">\nOne\n2 & 3</h1></body>', + '<body data-test="<>&"\'"></body>' + ]; + tests.forEach(function(html) { + var d = domino.createDocument(html); + d.body.outerHTML.should.equal(html); + }); +} + +exports.largeAttribute = function() { + var size = 400000; + // work around a performance regression in node 0.4.x - 0.6.x + if (/^v0\.[0-6]\./.test(process.version)) { size = 50000; } + var html = '<body><span data-large="'; + for (var i=0; i<size; i++) { + html += '&'; + } + html += '"></span></body>'; + // this should not crash with a stack overflow! + domino.createDocument(html); +}; + +exports.createTextNodeWithNonString = function() { + var document = domino.createDocument('<html></html>'); + var tests = [ + [false, 'false'], + [NaN, 'NaN'], + [123, '123'], + [{}, '[object Object]'], + [[], ''], + [null, 'null'], + [undefined, 'undefined'], + ]; + for(var i=0; i<tests.length; i++) { + var element = document.createElement('div'); + var textNode = document.createTextNode(tests[i][0]); + element.appendChild(textNode); + element.innerHTML.should.equal(tests[i][1]); + } +}; + +exports.adoption = function() { + // See https://github.com/fgnass/domino/pull/36 + var html = "<b>X<b>Y</b>Z</b>"; + var doc = domino.createDocument(html); + doc.body.innerHTML.should.equal(html); +}; + +exports.attributeSelector = function() { + var html = '<h1>foo</h1><h2 id="x" title="y" lang="en" dir="ltr" ' + + 'accessKey="z" hidden tabIndex="2">bar</h2>'; + var doc = domino.createDocument(html); + var h1 = doc.querySelector('h1'); + h1.matches('*[id]').should.equal(false); + h1.matches('*[title]').should.equal(false); + h1.matches('*[lang]').should.equal(false); + h1.matches('*[dir]').should.equal(false); + h1.matches('*[accessKey]').should.equal(false); + h1.matches('*[hidden]').should.equal(false); + h1.matches('*[tabIndex]').should.equal(false); + + var h2 = doc.querySelector('h2'); + h2.matches('*[id]').should.equal(true); + h2.matches('*[title]').should.equal(true); + h2.matches('*[lang]').should.equal(true); + h2.matches('*[dir]').should.equal(true); + h2.matches('*[accessKey]').should.equal(true); + h2.matches('*[hidden]').should.equal(true); + h2.matches('*[tabIndex]').should.equal(true); + + h1.matches('*[matches]').should.equal(false); + h1.matches('*[querySelector]').should.equal(false); + + h1.matches('*[isHTML]').should.equal(false); +}; + +exports.crHandling = function() { + var html = '<div\rid=a data-test=1\rfoo="\r"\rbar=\'\r\'\rbat=\r>\r</div\r>'; + var doc = domino.createDocument(html); + var div = doc.querySelector('#a'); + (div != null).should.be.true; + // all \r should be converted to \n + div.outerHTML.should.equal('<div id="a" data-test="1" foo="\n" bar="\n" bat="">\n</div>'); +}; + +exports.eqAttr = function() { + var html = "<div id=a ==x><a=B></A=b></div>"; + var doc = domino.createDocument(html); + var div = doc.querySelector('#a'); + (div != null).should.be.true; + div.attributes.length.should.equal(2); + div.attributes.item(1).name.should.equal('='); + div.children.length.should.equal(1); + div.children[0].tagName.should.equal('A=B'); +}; + +exports.tagNameCase = function() { + // See https://github.com/fgnass/domino/pull/41 + var impl = domino.createDOMImplementation(); + var namespace = 'http://schemas.xmlsoap.org/soap/envelope/'; + var qualifiedName = 'Envelope'; + var doc = impl.createDocument(namespace, qualifiedName, null); + doc.documentElement.tagName.should.equal(qualifiedName); +}; + +exports.fastAttributes = function() { + // test the SIMPLETAG/SIMPLEATTR path in HTMLParser + var html = "<div id=a b=\"x "y\" c='a \rb'><\np></div>"; + var doc = domino.createDocument(html); + var div = doc.querySelector('#a'); + (div != null).should.be.true; + div.attributes.length.should.equal(3); + div.attributes.item(1).value.should.equal('x "y'); + div.attributes.item(2).value.should.equal('a \nb'); + div.children.length.should.equal(0); +}; diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/fixture/doc.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/fixture/doc.html new file mode 100644 index 0000000..1174528 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/fixture/doc.html @@ -0,0 +1,13 @@ +<!DOCTYPE html> +<html> +<body> + <h1 id="lorem">Lore Ipsum</h1> + <p> + Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam quis risus eget urna mollis ornare vel eu leo. Donec <a href="https://github.com">git</a> ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue. + </p> + <p class="foo"> + Cras mattis <tt class="foo">consectetur</tt> purus sit amet fermentum. Donec ullamcorper nulla non metus auctor fringilla. Etiam porta sem malesuada magna mollis euismod. Duis mollis, est non commodo luctus, nisi erat porttitor <tt class="foo bar baz">ligula</tt>, eget lacinia odio sem nec elit. Donec ullamcorper nulla non metus auctor fringilla. Donec ullamcorper nulla non metus auctor fringilla. + </p> + <div id="tw"><div id="hello">Hello <em id="world" title="World: The Title">World</em></div><div id="foo" title="Foo: The Title">Foo, <strong id="bar">bar</strong></div></div> +</body> +</html> diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/fixture/jquery-1.9.1.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/fixture/jquery-1.9.1.js new file mode 100644 index 0000000..6362d0f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/fixture/jquery-1.9.1.js @@ -0,0 +1,9597 @@ +/*! + * jQuery JavaScript Library v1.9.1 + * http://jquery.com/ + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * + * Copyright 2005, 2012 jQuery Foundation, Inc. and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2013-2-4 + */ +(function( window, undefined ) { + +// Can't do this because several apps including ASP.NET trace +// the stack via arguments.caller.callee and Firefox dies if +// you try to trace through "use strict" call chains. (#13335) +// Support: Firefox 18+ +//"use strict"; +var + // The deferred used on DOM ready + readyList, + + // A central reference to the root jQuery(document) + rootjQuery, + + // Support: IE<9 + // For `typeof node.method` instead of `node.method !== undefined` + core_strundefined = typeof undefined, + + // Use the correct document accordingly with window argument (sandbox) + document = window.document, + location = window.location, + + // Map over jQuery in case of overwrite + _jQuery = window.jQuery, + + // Map over the $ in case of overwrite + _$ = window.$, + + // [[Class]] -> type pairs + class2type = {}, + + // List of deleted data cache ids, so we can reuse them + core_deletedIds = [], + + core_version = "1.9.1", + + // Save a reference to some core methods + core_concat = core_deletedIds.concat, + core_push = core_deletedIds.push, + core_slice = core_deletedIds.slice, + core_indexOf = core_deletedIds.indexOf, + core_toString = class2type.toString, + core_hasOwn = class2type.hasOwnProperty, + core_trim = core_version.trim, + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + // The jQuery object is actually just the init constructor 'enhanced' + return new jQuery.fn.init( selector, context, rootjQuery ); + }, + + // Used for matching numbers + core_pnum = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, + + // Used for splitting on whitespace + core_rnotwhite = /\S+/g, + + // Make sure we trim BOM and NBSP (here's looking at you, Safari 5.0 and IE) + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, + + // A simple way to check for HTML strings + // Prioritize #id over <tag> to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + rquickExpr = /^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/, + + // Match a standalone tag + rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, + + // JSON RegExp + rvalidchars = /^[\],:{}\s]*$/, + rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g, + rvalidescape = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g, + rvalidtokens = /"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g, + + // Matches dashed string for camelizing + rmsPrefix = /^-ms-/, + rdashAlpha = /-([\da-z])/gi, + + // Used by jQuery.camelCase as callback to replace() + fcamelCase = function( all, letter ) { + return letter.toUpperCase(); + }, + + // The ready event handler + completed = function( event ) { + + // readyState === "complete" is good enough for us to call the dom ready in oldIE + if ( document.addEventListener || event.type === "load" || document.readyState === "complete" ) { + detach(); + jQuery.ready(); + } + }, + // Clean-up method for dom ready events + detach = function() { + if ( document.addEventListener ) { + document.removeEventListener( "DOMContentLoaded", completed, false ); + window.removeEventListener( "load", completed, false ); + + } else { + document.detachEvent( "onreadystatechange", completed ); + window.detachEvent( "onload", completed ); + } + }; + +jQuery.fn = jQuery.prototype = { + // The current version of jQuery being used + jquery: core_version, + + constructor: jQuery, + init: function( selector, context, rootjQuery ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) { + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && (match[1] || !context) ) { + + // HANDLE: $(html) -> $(array) + if ( match[1] ) { + context = context instanceof jQuery ? context[0] : context; + + // scripts is true for back-compat + jQuery.merge( this, jQuery.parseHTML( + match[1], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + // Properties of context are called as methods if possible + if ( jQuery.isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[2] ); + + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE and Opera return items + // by name instead of ID + if ( elem.id !== match[2] ) { + return rootjQuery.find( selector ); + } + + // Otherwise, we inject the element directly into the jQuery object + this.length = 1; + this[0] = elem; + } + + this.context = document; + this.selector = selector; + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || rootjQuery ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this.context = this[0] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return rootjQuery.ready( selector ); + } + + if ( selector.selector !== undefined ) { + this.selector = selector.selector; + this.context = selector.context; + } + + return jQuery.makeArray( selector, this ); + }, + + // Start with an empty selector + selector: "", + + // The default length of a jQuery object is 0 + length: 0, + + // The number of elements contained in the matched element set + size: function() { + return this.length; + }, + + toArray: function() { + return core_slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + return num == null ? + + // Return a 'clean' array + this.toArray() : + + // Return just the object + ( num < 0 ? this[ this.length + num ] : this[ num ] ); + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + ret.context = this.context; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + // (You can seed the arguments with an array of args, but this is + // only used internally.) + each: function( callback, args ) { + return jQuery.each( this, callback, args ); + }, + + ready: function( fn ) { + // Add the callback + jQuery.ready.promise().done( fn ); + + return this; + }, + + slice: function() { + return this.pushStack( core_slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map(this, function( elem, i ) { + return callback.call( elem, i, elem ); + })); + }, + + end: function() { + return this.prevObject || this.constructor(null); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: core_push, + sort: [].sort, + splice: [].splice +}; + +// Give the init function the jQuery prototype for later instantiation +jQuery.fn.init.prototype = jQuery.fn; + +jQuery.extend = jQuery.fn.extend = function() { + var src, copyIsArray, copy, name, options, clone, + target = arguments[0] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + target = arguments[1] || {}; + // skip the boolean and the target + i = 2; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction(target) ) { + target = {}; + } + + // extend jQuery itself if only one argument is passed + if ( length === i ) { + target = this; + --i; + } + + for ( ; i < length; i++ ) { + // Only deal with non-null/undefined values + if ( (options = arguments[ i ]) != null ) { + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { + if ( copyIsArray ) { + copyIsArray = false; + clone = src && jQuery.isArray(src) ? src : []; + + } else { + clone = src && jQuery.isPlainObject(src) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend({ + noConflict: function( deep ) { + if ( window.$ === jQuery ) { + window.$ = _$; + } + + if ( deep && window.jQuery === jQuery ) { + window.jQuery = _jQuery; + } + + return jQuery; + }, + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Hold (or release) the ready event + holdReady: function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } + }, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). + if ( !document.body ) { + return setTimeout( jQuery.ready ); + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + + // Trigger any bound ready events + if ( jQuery.fn.trigger ) { + jQuery( document ).trigger("ready").off("ready"); + } + }, + + // See test/unit/core.js for details concerning isFunction. + // Since version 1.3, DOM methods and functions like alert + // aren't supported. They return false on IE (#2968). + isFunction: function( obj ) { + return jQuery.type(obj) === "function"; + }, + + isArray: Array.isArray || function( obj ) { + return jQuery.type(obj) === "array"; + }, + + isWindow: function( obj ) { + return obj != null && obj == obj.window; + }, + + isNumeric: function( obj ) { + return !isNaN( parseFloat(obj) ) && isFinite( obj ); + }, + + type: function( obj ) { + if ( obj == null ) { + return String( obj ); + } + return typeof obj === "object" || typeof obj === "function" ? + class2type[ core_toString.call(obj) ] || "object" : + typeof obj; + }, + + isPlainObject: function( obj ) { + // Must be an Object. + // Because of IE, we also have to check the presence of the constructor property. + // Make sure that DOM nodes and window objects don't pass through, as well + if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { + return false; + } + + try { + // Not own constructor property must be Object + if ( obj.constructor && + !core_hasOwn.call(obj, "constructor") && + !core_hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { + return false; + } + } catch ( e ) { + // IE8,9 Will throw exceptions on certain host objects #9897 + return false; + } + + // Own properties are enumerated firstly, so to speed up, + // if last one is own, then all properties are own. + + var key; + for ( key in obj ) {} + + return key === undefined || core_hasOwn.call( obj, key ); + }, + + isEmptyObject: function( obj ) { + var name; + for ( name in obj ) { + return false; + } + return true; + }, + + error: function( msg ) { + throw new Error( msg ); + }, + + // data: string of html + // context (optional): If specified, the fragment will be created in this context, defaults to document + // keepScripts (optional): If true, will include scripts passed in the html string + parseHTML: function( data, context, keepScripts ) { + if ( !data || typeof data !== "string" ) { + return null; + } + if ( typeof context === "boolean" ) { + keepScripts = context; + context = false; + } + context = context || document; + + var parsed = rsingleTag.exec( data ), + scripts = !keepScripts && []; + + // Single tag + if ( parsed ) { + return [ context.createElement( parsed[1] ) ]; + } + + parsed = jQuery.buildFragment( [ data ], context, scripts ); + if ( scripts ) { + jQuery( scripts ).remove(); + } + return jQuery.merge( [], parsed.childNodes ); + }, + + parseJSON: function( data ) { + // Attempt to parse using the native JSON parser first + if ( window.JSON && window.JSON.parse ) { + return window.JSON.parse( data ); + } + + if ( data === null ) { + return data; + } + + if ( typeof data === "string" ) { + + // Make sure leading/trailing whitespace is removed (IE can't handle it) + data = jQuery.trim( data ); + + if ( data ) { + // Make sure the incoming data is actual JSON + // Logic borrowed from http://json.org/json2.js + if ( rvalidchars.test( data.replace( rvalidescape, "@" ) + .replace( rvalidtokens, "]" ) + .replace( rvalidbraces, "")) ) { + + return ( new Function( "return " + data ) )(); + } + } + } + + jQuery.error( "Invalid JSON: " + data ); + }, + + // Cross-browser xml parsing + parseXML: function( data ) { + var xml, tmp; + if ( !data || typeof data !== "string" ) { + return null; + } + try { + if ( window.DOMParser ) { // Standard + tmp = new DOMParser(); + xml = tmp.parseFromString( data , "text/xml" ); + } else { // IE + xml = new ActiveXObject( "Microsoft.XMLDOM" ); + xml.async = "false"; + xml.loadXML( data ); + } + } catch( e ) { + xml = undefined; + } + if ( !xml || !xml.documentElement || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; + }, + + noop: function() {}, + + // Evaluates a script in a global context + // Workarounds based on findings by Jim Driscoll + // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context + globalEval: function( data ) { + if ( data && jQuery.trim( data ) ) { + // We use execScript on Internet Explorer + // We use an anonymous function so that context is window + // rather than jQuery in Firefox + ( window.execScript || function( data ) { + window[ "eval" ].call( window, data ); + } )( data ); + } + }, + + // Convert dashed to camelCase; used by the css and data modules + // Microsoft forgot to hump their vendor prefix (#9572) + camelCase: function( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + }, + + // args is for internal usage only + each: function( obj, callback, args ) { + var value, + i = 0, + length = obj.length, + isArray = isArraylike( obj ); + + if ( args ) { + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback.apply( obj[ i ], args ); + + if ( value === false ) { + break; + } + } + } else { + for ( i in obj ) { + value = callback.apply( obj[ i ], args ); + + if ( value === false ) { + break; + } + } + } + + // A special, fast, case for the most common use of each + } else { + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback.call( obj[ i ], i, obj[ i ] ); + + if ( value === false ) { + break; + } + } + } else { + for ( i in obj ) { + value = callback.call( obj[ i ], i, obj[ i ] ); + + if ( value === false ) { + break; + } + } + } + } + + return obj; + }, + + // Use native String.trim function wherever possible + trim: core_trim && !core_trim.call("\uFEFF\xA0") ? + function( text ) { + return text == null ? + "" : + core_trim.call( text ); + } : + + // Otherwise use our own trimming functionality + function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArraylike( Object(arr) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + core_push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + var len; + + if ( arr ) { + if ( core_indexOf ) { + return core_indexOf.call( arr, elem, i ); + } + + len = arr.length; + i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0; + + for ( ; i < len; i++ ) { + // Skip accessing in sparse arrays + if ( i in arr && arr[ i ] === elem ) { + return i; + } + } + } + + return -1; + }, + + merge: function( first, second ) { + var l = second.length, + i = first.length, + j = 0; + + if ( typeof l === "number" ) { + for ( ; j < l; j++ ) { + first[ i++ ] = second[ j ]; + } + } else { + while ( second[j] !== undefined ) { + first[ i++ ] = second[ j++ ]; + } + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, inv ) { + var retVal, + ret = [], + i = 0, + length = elems.length; + inv = !!inv; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + retVal = !!callback( elems[ i ], i ); + if ( inv !== retVal ) { + ret.push( elems[ i ] ); + } + } + + return ret; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var value, + i = 0, + length = elems.length, + isArray = isArraylike( elems ), + ret = []; + + // Go through the array, translating each of the items to their + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret[ ret.length ] = value; + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret[ ret.length ] = value; + } + } + } + + // Flatten any nested arrays + return core_concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // Bind a function to a context, optionally partially applying any + // arguments. + proxy: function( fn, context ) { + var args, proxy, tmp; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !jQuery.isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = core_slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( core_slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; + }, + + // Multifunctional method to get and set values of a collection + // The value/s can optionally be executed if it's a function + access: function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + length = elems.length, + bulk = key == null; + + // Sets many values + if ( jQuery.type( key ) === "object" ) { + chainable = true; + for ( i in key ) { + jQuery.access( elems, fn, i, key[i], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !jQuery.isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < length; i++ ) { + fn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) ); + } + } + } + + return chainable ? + elems : + + // Gets + bulk ? + fn.call( elems ) : + length ? fn( elems[0], key ) : emptyGet; + }, + + now: function() { + return ( new Date() ).getTime(); + } +}); + +jQuery.ready.promise = function( obj ) { + if ( !readyList ) { + + readyList = jQuery.Deferred(); + + // Catch cases where $(document).ready() is called after the browser event has already occurred. + // we once tried to use readyState "interactive" here, but it caused issues like the one + // discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15 + if ( document.readyState === "complete" ) { + // Handle it asynchronously to allow scripts the opportunity to delay ready + setTimeout( jQuery.ready ); + + // Standards-based browsers support DOMContentLoaded + } else if ( document.addEventListener ) { + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed, false ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed, false ); + + // If IE event model is used + } else { + // Ensure firing before onload, maybe late but safe also for iframes + document.attachEvent( "onreadystatechange", completed ); + + // A fallback to window.onload, that will always work + window.attachEvent( "onload", completed ); + + // If IE and not a frame + // continually check to see if the document is ready + var top = false; + + try { + top = window.frameElement == null && document.documentElement; + } catch(e) {} + + if ( top && top.doScroll ) { + (function doScrollCheck() { + if ( !jQuery.isReady ) { + + try { + // Use the trick by Diego Perini + // http://javascript.nwbox.com/IEContentLoaded/ + top.doScroll("left"); + } catch(e) { + return setTimeout( doScrollCheck, 50 ); + } + + // detach all dom ready events + detach(); + + // and execute any waiting functions + jQuery.ready(); + } + })(); + } + } + } + return readyList.promise( obj ); +}; + +// Populate the class2type map +jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +}); + +function isArraylike( obj ) { + var length = obj.length, + type = jQuery.type( obj ); + + if ( jQuery.isWindow( obj ) ) { + return false; + } + + if ( obj.nodeType === 1 && length ) { + return true; + } + + return type === "array" || type !== "function" && + ( length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj ); +} + +// All jQuery objects should point back to these +rootjQuery = jQuery(document); +// String to Object options format cache +var optionsCache = {}; + +// Convert String-formatted options into Object-formatted ones and store in cache +function createOptions( options ) { + var object = optionsCache[ options ] = {}; + jQuery.each( options.match( core_rnotwhite ) || [], function( _, flag ) { + object[ flag ] = true; + }); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + ( optionsCache[ options ] || createOptions( options ) ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + // Last fire value (for non-forgettable lists) + memory, + // Flag to know if list was already fired + fired, + // End of the loop when firing + firingLength, + // Index of currently firing callback (modified by remove if needed) + firingIndex, + // First callback to fire (used internally by add and fireWith) + firingStart, + // Actual callback list + list = [], + // Stack of fire calls for repeatable lists + stack = !options.once && [], + // Fire callbacks + fire = function( data ) { + memory = options.memory && data; + fired = true; + firingIndex = firingStart || 0; + firingStart = 0; + firingLength = list.length; + firing = true; + for ( ; list && firingIndex < firingLength; firingIndex++ ) { + if ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) { + memory = false; // To prevent further calls using add + break; + } + } + firing = false; + if ( list ) { + if ( stack ) { + if ( stack.length ) { + fire( stack.shift() ); + } + } else if ( memory ) { + list = []; + } else { + self.disable(); + } + } + }, + // Actual Callbacks object + self = { + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + // First, we save the current length + var start = list.length; + (function add( args ) { + jQuery.each( args, function( _, arg ) { + var type = jQuery.type( arg ); + if ( type === "function" ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && type !== "string" ) { + // Inspect recursively + add( arg ); + } + }); + })( arguments ); + // Do we need to add the callbacks to the + // current firing batch? + if ( firing ) { + firingLength = list.length; + // With memory, if we're not firing then + // we should call right away + } else if ( memory ) { + firingStart = start; + fire( memory ); + } + } + return this; + }, + // Remove a callback from the list + remove: function() { + if ( list ) { + jQuery.each( arguments, function( _, arg ) { + var index; + while( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + // Handle firing indexes + if ( firing ) { + if ( index <= firingLength ) { + firingLength--; + } + if ( index <= firingIndex ) { + firingIndex--; + } + } + } + }); + } + return this; + }, + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? jQuery.inArray( fn, list ) > -1 : !!( list && list.length ); + }, + // Remove all callbacks from the list + empty: function() { + list = []; + return this; + }, + // Have the list do nothing anymore + disable: function() { + list = stack = memory = undefined; + return this; + }, + // Is it disabled? + disabled: function() { + return !list; + }, + // Lock the list in its current state + lock: function() { + stack = undefined; + if ( !memory ) { + self.disable(); + } + return this; + }, + // Is it locked? + locked: function() { + return !stack; + }, + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + if ( list && ( !fired || stack ) ) { + if ( firing ) { + stack.push( args ); + } else { + fire( args ); + } + } + return this; + }, + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; +jQuery.extend({ + + Deferred: function( func ) { + var tuples = [ + // action, add listener, listener list, final state + [ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ], + [ "reject", "fail", jQuery.Callbacks("once memory"), "rejected" ], + [ "notify", "progress", jQuery.Callbacks("memory") ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + then: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + return jQuery.Deferred(function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + var action = tuple[ 0 ], + fn = jQuery.isFunction( fns[ i ] ) && fns[ i ]; + // deferred[ done | fail | progress ] for forwarding actions to newDefer + deferred[ tuple[1] ](function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && jQuery.isFunction( returned.promise ) ) { + returned.promise() + .done( newDefer.resolve ) + .fail( newDefer.reject ) + .progress( newDefer.notify ); + } else { + newDefer[ action + "With" ]( this === promise ? newDefer.promise() : this, fn ? [ returned ] : arguments ); + } + }); + }); + fns = null; + }).promise(); + }, + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Keep pipe for back-compat + promise.pipe = promise.then; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 3 ]; + + // promise[ done | fail | progress ] = list.add + promise[ tuple[1] ] = list.add; + + // Handle state + if ( stateString ) { + list.add(function() { + // state = [ resolved | rejected ] + state = stateString; + + // [ reject_list | resolve_list ].disable; progress_list.lock + }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock ); + } + + // deferred[ resolve | reject | notify ] + deferred[ tuple[0] ] = function() { + deferred[ tuple[0] + "With" ]( this === deferred ? promise : this, arguments ); + return this; + }; + deferred[ tuple[0] + "With" ] = list.fireWith; + }); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( subordinate /* , ..., subordinateN */ ) { + var i = 0, + resolveValues = core_slice.call( arguments ), + length = resolveValues.length, + + // the count of uncompleted subordinates + remaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0, + + // the master Deferred. If resolveValues consist of only a single Deferred, just use that. + deferred = remaining === 1 ? subordinate : jQuery.Deferred(), + + // Update function for both resolve and progress values + updateFunc = function( i, contexts, values ) { + return function( value ) { + contexts[ i ] = this; + values[ i ] = arguments.length > 1 ? core_slice.call( arguments ) : value; + if( values === progressValues ) { + deferred.notifyWith( contexts, values ); + } else if ( !( --remaining ) ) { + deferred.resolveWith( contexts, values ); + } + }; + }, + + progressValues, progressContexts, resolveContexts; + + // add listeners to Deferred subordinates; treat others as resolved + if ( length > 1 ) { + progressValues = new Array( length ); + progressContexts = new Array( length ); + resolveContexts = new Array( length ); + for ( ; i < length; i++ ) { + if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) { + resolveValues[ i ].promise() + .done( updateFunc( i, resolveContexts, resolveValues ) ) + .fail( deferred.reject ) + .progress( updateFunc( i, progressContexts, progressValues ) ); + } else { + --remaining; + } + } + } + + // if we're not waiting on anything, resolve the master + if ( !remaining ) { + deferred.resolveWith( resolveContexts, resolveValues ); + } + + return deferred.promise(); + } +}); +jQuery.support = (function() { + + var support, all, a, + input, select, fragment, + opt, eventName, isSupported, i, + div = document.createElement("div"); + + // Setup + div.setAttribute( "className", "t" ); + div.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>"; + + // Support tests won't run in some limited or non-browser environments + all = div.getElementsByTagName("*"); + a = div.getElementsByTagName("a")[ 0 ]; + if ( !all || !a || !all.length ) { + return {}; + } + + // First batch of tests + select = document.createElement("select"); + opt = select.appendChild( document.createElement("option") ); + input = div.getElementsByTagName("input")[ 0 ]; + + a.style.cssText = "top:1px;float:left;opacity:.5"; + support = { + // Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7) + getSetAttribute: div.className !== "t", + + // IE strips leading whitespace when .innerHTML is used + leadingWhitespace: div.firstChild.nodeType === 3, + + // Make sure that tbody elements aren't automatically inserted + // IE will insert them into empty tables + tbody: !div.getElementsByTagName("tbody").length, + + // Make sure that link elements get serialized correctly by innerHTML + // This requires a wrapper element in IE + htmlSerialize: !!div.getElementsByTagName("link").length, + + // Get the style information from getAttribute + // (IE uses .cssText instead) + style: /top/.test( a.getAttribute("style") ), + + // Make sure that URLs aren't manipulated + // (IE normalizes it by default) + hrefNormalized: a.getAttribute("href") === "/a", + + // Make sure that element opacity exists + // (IE uses filter instead) + // Use a regex to work around a WebKit issue. See #5145 + opacity: /^0.5/.test( a.style.opacity ), + + // Verify style float existence + // (IE uses styleFloat instead of cssFloat) + cssFloat: !!a.style.cssFloat, + + // Check the default checkbox/radio value ("" on WebKit; "on" elsewhere) + checkOn: !!input.value, + + // Make sure that a selected-by-default option has a working selected property. + // (WebKit defaults to false instead of true, IE too, if it's in an optgroup) + optSelected: opt.selected, + + // Tests for enctype support on a form (#6743) + enctype: !!document.createElement("form").enctype, + + // Makes sure cloning an html5 element does not cause problems + // Where outerHTML is undefined, this still works + html5Clone: document.createElement("nav").cloneNode( true ).outerHTML !== "<:nav></:nav>", + + // jQuery.support.boxModel DEPRECATED in 1.8 since we don't support Quirks Mode + boxModel: document.compatMode === "CSS1Compat", + + // Will be defined later + deleteExpando: true, + noCloneEvent: true, + inlineBlockNeedsLayout: false, + shrinkWrapBlocks: false, + reliableMarginRight: true, + boxSizingReliable: true, + pixelPosition: false + }; + + // Make sure checked status is properly cloned + input.checked = true; + support.noCloneChecked = input.cloneNode( true ).checked; + + // Make sure that the options inside disabled selects aren't marked as disabled + // (WebKit marks them as disabled) + select.disabled = true; + support.optDisabled = !opt.disabled; + + // Support: IE<9 + try { + delete div.test; + } catch( e ) { + support.deleteExpando = false; + } + + // Check if we can trust getAttribute("value") + input = document.createElement("input"); + input.setAttribute( "value", "" ); + support.input = input.getAttribute( "value" ) === ""; + + // Check if an input maintains its value after becoming a radio + input.value = "t"; + input.setAttribute( "type", "radio" ); + support.radioValue = input.value === "t"; + + // #11217 - WebKit loses check when the name is after the checked attribute + input.setAttribute( "checked", "t" ); + input.setAttribute( "name", "t" ); + + fragment = document.createDocumentFragment(); + fragment.appendChild( input ); + + // Check if a disconnected checkbox will retain its checked + // value of true after appended to the DOM (IE6/7) + support.appendChecked = input.checked; + + // WebKit doesn't clone checked state correctly in fragments + support.checkClone = fragment.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE<9 + // Opera does not clone events (and typeof div.attachEvent === undefined). + // IE9-10 clones events bound via attachEvent, but they don't trigger with .click() + if ( div.attachEvent ) { + div.attachEvent( "onclick", function() { + support.noCloneEvent = false; + }); + + div.cloneNode( true ).click(); + } + + // Support: IE<9 (lack submit/change bubble), Firefox 17+ (lack focusin event) + // Beware of CSP restrictions (https://developer.mozilla.org/en/Security/CSP), test/csp.php + for ( i in { submit: true, change: true, focusin: true }) { + div.setAttribute( eventName = "on" + i, "t" ); + + support[ i + "Bubbles" ] = eventName in window || div.attributes[ eventName ].expando === false; + } + + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + // Run tests that need a body at doc ready + jQuery(function() { + var container, marginDiv, tds, + divReset = "padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;", + body = document.getElementsByTagName("body")[0]; + + if ( !body ) { + // Return for frameset docs that don't have a body + return; + } + + container = document.createElement("div"); + container.style.cssText = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px"; + + body.appendChild( container ).appendChild( div ); + + // Support: IE8 + // Check if table cells still have offsetWidth/Height when they are set + // to display:none and there are still other visible table cells in a + // table row; if so, offsetWidth/Height are not reliable for use when + // determining if an element has been hidden directly using + // display:none (it is still safe to use offsets if a parent element is + // hidden; don safety goggles and see bug #4512 for more information). + div.innerHTML = "<table><tr><td></td><td>t</td></tr></table>"; + tds = div.getElementsByTagName("td"); + tds[ 0 ].style.cssText = "padding:0;margin:0;border:0;display:none"; + isSupported = ( tds[ 0 ].offsetHeight === 0 ); + + tds[ 0 ].style.display = ""; + tds[ 1 ].style.display = "none"; + + // Support: IE8 + // Check if empty table cells still have offsetWidth/Height + support.reliableHiddenOffsets = isSupported && ( tds[ 0 ].offsetHeight === 0 ); + + // Check box-sizing and margin behavior + div.innerHTML = ""; + div.style.cssText = "box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;"; + support.boxSizing = ( div.offsetWidth === 4 ); + support.doesNotIncludeMarginInBodyOffset = ( body.offsetTop !== 1 ); + + // Use window.getComputedStyle because jsdom on node.js will break without it. + if ( window.getComputedStyle ) { + support.pixelPosition = ( window.getComputedStyle( div, null ) || {} ).top !== "1%"; + support.boxSizingReliable = ( window.getComputedStyle( div, null ) || { width: "4px" } ).width === "4px"; + + // Check if div with explicit width and no margin-right incorrectly + // gets computed margin-right based on width of container. (#3333) + // Fails in WebKit before Feb 2011 nightlies + // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right + marginDiv = div.appendChild( document.createElement("div") ); + marginDiv.style.cssText = div.style.cssText = divReset; + marginDiv.style.marginRight = marginDiv.style.width = "0"; + div.style.width = "1px"; + + support.reliableMarginRight = + !parseFloat( ( window.getComputedStyle( marginDiv, null ) || {} ).marginRight ); + } + + if ( typeof div.style.zoom !== core_strundefined ) { + // Support: IE<8 + // Check if natively block-level elements act like inline-block + // elements when setting their display to 'inline' and giving + // them layout + div.innerHTML = ""; + div.style.cssText = divReset + "width:1px;padding:1px;display:inline;zoom:1"; + support.inlineBlockNeedsLayout = ( div.offsetWidth === 3 ); + + // Support: IE6 + // Check if elements with layout shrink-wrap their children + div.style.display = "block"; + div.innerHTML = "<div></div>"; + div.firstChild.style.width = "5px"; + support.shrinkWrapBlocks = ( div.offsetWidth !== 3 ); + + if ( support.inlineBlockNeedsLayout ) { + // Prevent IE 6 from affecting layout for positioned elements #11048 + // Prevent IE from shrinking the body in IE 7 mode #12869 + // Support: IE<8 + body.style.zoom = 1; + } + } + + body.removeChild( container ); + + // Null elements to avoid leaks in IE + container = div = tds = marginDiv = null; + }); + + // Null elements to avoid leaks in IE + all = select = fragment = opt = a = input = null; + + return support; +})(); + +var rbrace = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/, + rmultiDash = /([A-Z])/g; + +function internalData( elem, name, data, pvt /* Internal Use Only */ ){ + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var thisCache, ret, + internalKey = jQuery.expando, + getByName = typeof name === "string", + + // We have to handle DOM nodes and JS objects differently because IE6-7 + // can't GC object references properly across the DOM-JS boundary + isNode = elem.nodeType, + + // Only DOM nodes need the global jQuery cache; JS object data is + // attached directly to the object so GC can occur automatically + cache = isNode ? jQuery.cache : elem, + + // Only defining an ID for JS objects if its cache already exists allows + // the code to shortcut on the same path as a DOM node with no cache + id = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey; + + // Avoid doing any more work than we need to when trying to get data on an + // object that has no data at all + if ( (!id || !cache[id] || (!pvt && !cache[id].data)) && getByName && data === undefined ) { + return; + } + + if ( !id ) { + // Only DOM nodes need a new unique ID for each element since their data + // ends up in the global cache + if ( isNode ) { + elem[ internalKey ] = id = core_deletedIds.pop() || jQuery.guid++; + } else { + id = internalKey; + } + } + + if ( !cache[ id ] ) { + cache[ id ] = {}; + + // Avoids exposing jQuery metadata on plain JS objects when the object + // is serialized using JSON.stringify + if ( !isNode ) { + cache[ id ].toJSON = jQuery.noop; + } + } + + // An object can be passed to jQuery.data instead of a key/value pair; this gets + // shallow copied over onto the existing cache + if ( typeof name === "object" || typeof name === "function" ) { + if ( pvt ) { + cache[ id ] = jQuery.extend( cache[ id ], name ); + } else { + cache[ id ].data = jQuery.extend( cache[ id ].data, name ); + } + } + + thisCache = cache[ id ]; + + // jQuery data() is stored in a separate object inside the object's internal data + // cache in order to avoid key collisions between internal data and user-defined + // data. + if ( !pvt ) { + if ( !thisCache.data ) { + thisCache.data = {}; + } + + thisCache = thisCache.data; + } + + if ( data !== undefined ) { + thisCache[ jQuery.camelCase( name ) ] = data; + } + + // Check for both converted-to-camel and non-converted data property names + // If a data property was specified + if ( getByName ) { + + // First Try to find as-is property data + ret = thisCache[ name ]; + + // Test for null|undefined property data + if ( ret == null ) { + + // Try to find the camelCased property + ret = thisCache[ jQuery.camelCase( name ) ]; + } + } else { + ret = thisCache; + } + + return ret; +} + +function internalRemoveData( elem, name, pvt ) { + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var i, l, thisCache, + isNode = elem.nodeType, + + // See jQuery.data for more information + cache = isNode ? jQuery.cache : elem, + id = isNode ? elem[ jQuery.expando ] : jQuery.expando; + + // If there is already no cache entry for this object, there is no + // purpose in continuing + if ( !cache[ id ] ) { + return; + } + + if ( name ) { + + thisCache = pvt ? cache[ id ] : cache[ id ].data; + + if ( thisCache ) { + + // Support array or space separated string names for data keys + if ( !jQuery.isArray( name ) ) { + + // try the string as a key before any manipulation + if ( name in thisCache ) { + name = [ name ]; + } else { + + // split the camel cased version by spaces unless a key with the spaces exists + name = jQuery.camelCase( name ); + if ( name in thisCache ) { + name = [ name ]; + } else { + name = name.split(" "); + } + } + } else { + // If "name" is an array of keys... + // When data is initially created, via ("key", "val") signature, + // keys will be converted to camelCase. + // Since there is no way to tell _how_ a key was added, remove + // both plain key and camelCase key. #12786 + // This will only penalize the array argument path. + name = name.concat( jQuery.map( name, jQuery.camelCase ) ); + } + + for ( i = 0, l = name.length; i < l; i++ ) { + delete thisCache[ name[i] ]; + } + + // If there is no data left in the cache, we want to continue + // and let the cache object itself get destroyed + if ( !( pvt ? isEmptyDataObject : jQuery.isEmptyObject )( thisCache ) ) { + return; + } + } + } + + // See jQuery.data for more information + if ( !pvt ) { + delete cache[ id ].data; + + // Don't destroy the parent cache unless the internal data object + // had been the only thing left in it + if ( !isEmptyDataObject( cache[ id ] ) ) { + return; + } + } + + // Destroy the cache + if ( isNode ) { + jQuery.cleanData( [ elem ], true ); + + // Use delete when supported for expandos or `cache` is not a window per isWindow (#10080) + } else if ( jQuery.support.deleteExpando || cache != cache.window ) { + delete cache[ id ]; + + // When all else fails, null + } else { + cache[ id ] = null; + } +} + +jQuery.extend({ + cache: {}, + + // Unique for each copy of jQuery on the page + // Non-digits removed to match rinlinejQuery + expando: "jQuery" + ( core_version + Math.random() ).replace( /\D/g, "" ), + + // The following elements throw uncatchable exceptions if you + // attempt to add expando properties to them. + noData: { + "embed": true, + // Ban all objects except for Flash (which handle expandos) + "object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", + "applet": true + }, + + hasData: function( elem ) { + elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ]; + return !!elem && !isEmptyDataObject( elem ); + }, + + data: function( elem, name, data ) { + return internalData( elem, name, data ); + }, + + removeData: function( elem, name ) { + return internalRemoveData( elem, name ); + }, + + // For internal use only. + _data: function( elem, name, data ) { + return internalData( elem, name, data, true ); + }, + + _removeData: function( elem, name ) { + return internalRemoveData( elem, name, true ); + }, + + // A method for determining if a DOM node can handle the data expando + acceptData: function( elem ) { + // Do not set data on non-element because it will not be cleared (#8335). + if ( elem.nodeType && elem.nodeType !== 1 && elem.nodeType !== 9 ) { + return false; + } + + var noData = elem.nodeName && jQuery.noData[ elem.nodeName.toLowerCase() ]; + + // nodes accept data unless otherwise specified; rejection can be conditional + return !noData || noData !== true && elem.getAttribute("classid") === noData; + } +}); + +jQuery.fn.extend({ + data: function( key, value ) { + var attrs, name, + elem = this[0], + i = 0, + data = null; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = jQuery.data( elem ); + + if ( elem.nodeType === 1 && !jQuery._data( elem, "parsedAttrs" ) ) { + attrs = elem.attributes; + for ( ; i < attrs.length; i++ ) { + name = attrs[i].name; + + if ( !name.indexOf( "data-" ) ) { + name = jQuery.camelCase( name.slice(5) ); + + dataAttr( elem, name, data[ name ] ); + } + } + jQuery._data( elem, "parsedAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each(function() { + jQuery.data( this, key ); + }); + } + + return jQuery.access( this, function( value ) { + + if ( value === undefined ) { + // Try to fetch any internally stored data first + return elem ? dataAttr( elem, key, jQuery.data( elem, key ) ) : null; + } + + this.each(function() { + jQuery.data( this, key, value ); + }); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each(function() { + jQuery.removeData( this, key ); + }); + } +}); + +function dataAttr( elem, key, data ) { + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + + var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase(); + + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = data === "true" ? true : + data === "false" ? false : + data === "null" ? null : + // Only convert to a number if it doesn't change the string + +data + "" === data ? +data : + rbrace.test( data ) ? jQuery.parseJSON( data ) : + data; + } catch( e ) {} + + // Make sure we set the data so it isn't changed later + jQuery.data( elem, key, data ); + + } else { + data = undefined; + } + } + + return data; +} + +// checks a cache object for emptiness +function isEmptyDataObject( obj ) { + var name; + for ( name in obj ) { + + // if the public data object is empty, the private is still empty + if ( name === "data" && jQuery.isEmptyObject( obj[name] ) ) { + continue; + } + if ( name !== "toJSON" ) { + return false; + } + } + + return true; +} +jQuery.extend({ + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = jQuery._data( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || jQuery.isArray(data) ) { + queue = jQuery._data( elem, type, jQuery.makeArray(data) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + hooks.cur = fn; + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // not intended for public consumption - generates a queueHooks object, or returns the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return jQuery._data( elem, key ) || jQuery._data( elem, key, { + empty: jQuery.Callbacks("once memory").add(function() { + jQuery._removeData( elem, type + "queue" ); + jQuery._removeData( elem, key ); + }) + }); + } +}); + +jQuery.fn.extend({ + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[0], type ); + } + + return data === undefined ? + this : + this.each(function() { + var queue = jQuery.queue( this, type, data ); + + // ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[0] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + }); + }, + dequeue: function( type ) { + return this.each(function() { + jQuery.dequeue( this, type ); + }); + }, + // Based off of the plugin by Clint Helfers, with permission. + // http://blindsignals.com/index.php/2009/07/jquery-delay/ + delay: function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = setTimeout( next, time ); + hooks.stop = function() { + clearTimeout( timeout ); + }; + }); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while( i-- ) { + tmp = jQuery._data( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +}); +var nodeHook, boolHook, + rclass = /[\t\r\n]/g, + rreturn = /\r/g, + rfocusable = /^(?:input|select|textarea|button|object)$/i, + rclickable = /^(?:a|area)$/i, + rboolean = /^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i, + ruseDefault = /^(?:checked|selected)$/i, + getSetAttribute = jQuery.support.getSetAttribute, + getSetInput = jQuery.support.input; + +jQuery.fn.extend({ + attr: function( name, value ) { + return jQuery.access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each(function() { + jQuery.removeAttr( this, name ); + }); + }, + + prop: function( name, value ) { + return jQuery.access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + name = jQuery.propFix[ name ] || name; + return this.each(function() { + // try/catch handles cases where IE balks (such as removing a property on window) + try { + this[ name ] = undefined; + delete this[ name ]; + } catch( e ) {} + }); + }, + + addClass: function( value ) { + var classes, elem, cur, clazz, j, + i = 0, + len = this.length, + proceed = typeof value === "string" && value; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( j ) { + jQuery( this ).addClass( value.call( this, j, this.className ) ); + }); + } + + if ( proceed ) { + // The disjunction here is for better compressibility (see removeClass) + classes = ( value || "" ).match( core_rnotwhite ) || []; + + for ( ; i < len; i++ ) { + elem = this[ i ]; + cur = elem.nodeType === 1 && ( elem.className ? + ( " " + elem.className + " " ).replace( rclass, " " ) : + " " + ); + + if ( cur ) { + j = 0; + while ( (clazz = classes[j++]) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + elem.className = jQuery.trim( cur ); + + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, clazz, j, + i = 0, + len = this.length, + proceed = arguments.length === 0 || typeof value === "string" && value; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( j ) { + jQuery( this ).removeClass( value.call( this, j, this.className ) ); + }); + } + if ( proceed ) { + classes = ( value || "" ).match( core_rnotwhite ) || []; + + for ( ; i < len; i++ ) { + elem = this[ i ]; + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( elem.className ? + ( " " + elem.className + " " ).replace( rclass, " " ) : + "" + ); + + if ( cur ) { + j = 0; + while ( (clazz = classes[j++]) ) { + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) >= 0 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + elem.className = value ? jQuery.trim( cur ) : ""; + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isBool = typeof stateVal === "boolean"; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( i ) { + jQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal ); + }); + } + + return this.each(function() { + if ( type === "string" ) { + // toggle individual class names + var className, + i = 0, + self = jQuery( this ), + state = stateVal, + classNames = value.match( core_rnotwhite ) || []; + + while ( (className = classNames[ i++ ]) ) { + // check each className given, space separated list + state = isBool ? state : !self.hasClass( className ); + self[ state ? "addClass" : "removeClass" ]( className ); + } + + // Toggle whole class name + } else if ( type === core_strundefined || type === "boolean" ) { + if ( this.className ) { + // store className if set + jQuery._data( this, "__className__", this.className ); + } + + // If the element has a class name or if we're passed "false", + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || ""; + } + }); + }, + + hasClass: function( selector ) { + var className = " " + selector + " ", + i = 0, + l = this.length; + for ( ; i < l; i++ ) { + if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) >= 0 ) { + return true; + } + } + + return false; + }, + + val: function( value ) { + var ret, hooks, isFunction, + elem = this[0]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) { + return ret; + } + + ret = elem.value; + + return typeof ret === "string" ? + // handle most common string cases + ret.replace(rreturn, "") : + // handle cases where value is null/undef or number + ret == null ? "" : ret; + } + + return; + } + + isFunction = jQuery.isFunction( value ); + + return this.each(function( i ) { + var val, + self = jQuery(this); + + if ( this.nodeType !== 1 ) { + return; + } + + if ( isFunction ) { + val = value.call( this, i, self.val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + } else if ( typeof val === "number" ) { + val += ""; + } else if ( jQuery.isArray( val ) ) { + val = jQuery.map(val, function ( value ) { + return value == null ? "" : value + ""; + }); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + }); + } +}); + +jQuery.extend({ + valHooks: { + option: { + get: function( elem ) { + // attributes.value is undefined in Blackberry 4.7 but + // uses .value. See #6932 + var val = elem.attributes.value; + return !val || val.specified ? elem.value : elem.text; + } + }, + select: { + get: function( elem ) { + var value, option, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one" || index < 0, + values = one ? null : [], + max = one ? index + 1 : options.length, + i = index < 0 ? + max : + one ? index : 0; + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // oldIE doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + // Don't return options that are disabled or in a disabled optgroup + ( jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null ) && + ( !option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var values = jQuery.makeArray( value ); + + jQuery(elem).find("option").each(function() { + this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0; + }); + + if ( !values.length ) { + elem.selectedIndex = -1; + } + return values; + } + } + }, + + attr: function( elem, name, value ) { + var hooks, notxml, ret, + nType = elem.nodeType; + + // don't get/set attributes on text, comment and attribute nodes + if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === core_strundefined ) { + return jQuery.prop( elem, name, value ); + } + + notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); + + // All attributes are lowercase + // Grab necessary hook if one is defined + if ( notxml ) { + name = name.toLowerCase(); + hooks = jQuery.attrHooks[ name ] || ( rboolean.test( name ) ? boolHook : nodeHook ); + } + + if ( value !== undefined ) { + + if ( value === null ) { + jQuery.removeAttr( elem, name ); + + } else if ( hooks && notxml && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) { + return ret; + + } else { + elem.setAttribute( name, value + "" ); + return value; + } + + } else if ( hooks && notxml && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) { + return ret; + + } else { + + // In IE9+, Flash objects don't have .getAttribute (#12945) + // Support: IE9+ + if ( typeof elem.getAttribute !== core_strundefined ) { + ret = elem.getAttribute( name ); + } + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? + undefined : + ret; + } + }, + + removeAttr: function( elem, value ) { + var name, propName, + i = 0, + attrNames = value && value.match( core_rnotwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( (name = attrNames[i++]) ) { + propName = jQuery.propFix[ name ] || name; + + // Boolean attributes get special treatment (#10870) + if ( rboolean.test( name ) ) { + // Set corresponding property to false for boolean attributes + // Also clear defaultChecked/defaultSelected (if appropriate) for IE<8 + if ( !getSetAttribute && ruseDefault.test( name ) ) { + elem[ jQuery.camelCase( "default-" + name ) ] = + elem[ propName ] = false; + } else { + elem[ propName ] = false; + } + + // See #9699 for explanation of this approach (setting first, then removal) + } else { + jQuery.attr( elem, name, "" ); + } + + elem.removeAttribute( getSetAttribute ? name : propName ); + } + } + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !jQuery.support.radioValue && value === "radio" && jQuery.nodeName(elem, "input") ) { + // Setting the type on a radio button after the value resets the value in IE6-9 + // Reset value to default in case type is set after value during creation + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + propFix: { + tabindex: "tabIndex", + readonly: "readOnly", + "for": "htmlFor", + "class": "className", + maxlength: "maxLength", + cellspacing: "cellSpacing", + cellpadding: "cellPadding", + rowspan: "rowSpan", + colspan: "colSpan", + usemap: "useMap", + frameborder: "frameBorder", + contenteditable: "contentEditable" + }, + + prop: function( elem, name, value ) { + var ret, hooks, notxml, + nType = elem.nodeType; + + // don't get/set properties on text, comment and attribute nodes + if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); + + if ( notxml ) { + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) { + return ret; + + } else { + return ( elem[ name ] = value ); + } + + } else { + if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) { + return ret; + + } else { + return elem[ name ]; + } + } + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set + // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + var attributeNode = elem.getAttributeNode("tabindex"); + + return attributeNode && attributeNode.specified ? + parseInt( attributeNode.value, 10 ) : + rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ? + 0 : + undefined; + } + } + } +}); + +// Hook for boolean attributes +boolHook = { + get: function( elem, name ) { + var + // Use .prop to determine if this attribute is understood as boolean + prop = jQuery.prop( elem, name ), + + // Fetch it accordingly + attr = typeof prop === "boolean" && elem.getAttribute( name ), + detail = typeof prop === "boolean" ? + + getSetInput && getSetAttribute ? + attr != null : + // oldIE fabricates an empty string for missing boolean attributes + // and conflates checked/selected into attroperties + ruseDefault.test( name ) ? + elem[ jQuery.camelCase( "default-" + name ) ] : + !!attr : + + // fetch an attribute node for properties not recognized as boolean + elem.getAttributeNode( name ); + + return detail && detail.value !== false ? + name.toLowerCase() : + undefined; + }, + set: function( elem, value, name ) { + if ( value === false ) { + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else if ( getSetInput && getSetAttribute || !ruseDefault.test( name ) ) { + // IE<8 needs the *property* name + elem.setAttribute( !getSetAttribute && jQuery.propFix[ name ] || name, name ); + + // Use defaultChecked and defaultSelected for oldIE + } else { + elem[ jQuery.camelCase( "default-" + name ) ] = elem[ name ] = true; + } + + return name; + } +}; + +// fix oldIE value attroperty +if ( !getSetInput || !getSetAttribute ) { + jQuery.attrHooks.value = { + get: function( elem, name ) { + var ret = elem.getAttributeNode( name ); + return jQuery.nodeName( elem, "input" ) ? + + // Ignore the value *property* by using defaultValue + elem.defaultValue : + + ret && ret.specified ? ret.value : undefined; + }, + set: function( elem, value, name ) { + if ( jQuery.nodeName( elem, "input" ) ) { + // Does not return so that setAttribute is also used + elem.defaultValue = value; + } else { + // Use nodeHook if defined (#1954); otherwise setAttribute is fine + return nodeHook && nodeHook.set( elem, value, name ); + } + } + }; +} + +// IE6/7 do not support getting/setting some attributes with get/setAttribute +if ( !getSetAttribute ) { + + // Use this for any attribute in IE6/7 + // This fixes almost every IE6/7 issue + nodeHook = jQuery.valHooks.button = { + get: function( elem, name ) { + var ret = elem.getAttributeNode( name ); + return ret && ( name === "id" || name === "name" || name === "coords" ? ret.value !== "" : ret.specified ) ? + ret.value : + undefined; + }, + set: function( elem, value, name ) { + // Set the existing or create a new attribute node + var ret = elem.getAttributeNode( name ); + if ( !ret ) { + elem.setAttributeNode( + (ret = elem.ownerDocument.createAttribute( name )) + ); + } + + ret.value = value += ""; + + // Break association with cloned elements by also using setAttribute (#9646) + return name === "value" || value === elem.getAttribute( name ) ? + value : + undefined; + } + }; + + // Set contenteditable to false on removals(#10429) + // Setting to empty string throws an error as an invalid value + jQuery.attrHooks.contenteditable = { + get: nodeHook.get, + set: function( elem, value, name ) { + nodeHook.set( elem, value === "" ? false : value, name ); + } + }; + + // Set width and height to auto instead of 0 on empty string( Bug #8150 ) + // This is for removals + jQuery.each([ "width", "height" ], function( i, name ) { + jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], { + set: function( elem, value ) { + if ( value === "" ) { + elem.setAttribute( name, "auto" ); + return value; + } + } + }); + }); +} + + +// Some attributes require a special call on IE +// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !jQuery.support.hrefNormalized ) { + jQuery.each([ "href", "src", "width", "height" ], function( i, name ) { + jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], { + get: function( elem ) { + var ret = elem.getAttribute( name, 2 ); + return ret == null ? undefined : ret; + } + }); + }); + + // href/src property should get the full normalized URL (#10299/#12915) + jQuery.each([ "href", "src" ], function( i, name ) { + jQuery.propHooks[ name ] = { + get: function( elem ) { + return elem.getAttribute( name, 4 ); + } + }; + }); +} + +if ( !jQuery.support.style ) { + jQuery.attrHooks.style = { + get: function( elem ) { + // Return undefined in the case of empty string + // Note: IE uppercases css property names, but if we were to .toLowerCase() + // .cssText, that would destroy case senstitivity in URL's, like in "background" + return elem.style.cssText || undefined; + }, + set: function( elem, value ) { + return ( elem.style.cssText = value + "" ); + } + }; +} + +// Safari mis-reports the default selected property of an option +// Accessing the parent's selectedIndex property fixes it +if ( !jQuery.support.optSelected ) { + jQuery.propHooks.selected = jQuery.extend( jQuery.propHooks.selected, { + get: function( elem ) { + var parent = elem.parentNode; + + if ( parent ) { + parent.selectedIndex; + + // Make sure that it also works with optgroups, see #5701 + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + return null; + } + }); +} + +// IE6/7 call enctype encoding +if ( !jQuery.support.enctype ) { + jQuery.propFix.enctype = "encoding"; +} + +// Radios and checkboxes getter/setter +if ( !jQuery.support.checkOn ) { + jQuery.each([ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + get: function( elem ) { + // Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified + return elem.getAttribute("value") === null ? "on" : elem.value; + } + }; + }); +} +jQuery.each([ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = jQuery.extend( jQuery.valHooks[ this ], { + set: function( elem, value ) { + if ( jQuery.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0 ); + } + } + }); +}); +var rformElems = /^(?:input|select|textarea)$/i, + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|contextmenu)|click/, + rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)$/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + var tmp, events, t, handleObjIn, + special, eventHandle, handleObj, + handlers, type, namespaces, origType, + elemData = jQuery._data( elem ); + + // Don't attach events to noData or text/comment nodes (but allow plain objects) + if ( !elemData ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !(events = elemData.events) ) { + events = elemData.events = {}; + } + if ( !(eventHandle = elemData.handle) ) { + eventHandle = elemData.handle = function( e ) { + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== core_strundefined && (!e || jQuery.event.triggered !== e.type) ? + jQuery.event.dispatch.apply( eventHandle.elem, arguments ) : + undefined; + }; + // Add elem as a property of the handle fn to prevent a memory leak with IE non-native events + eventHandle.elem = elem; + } + + // Handle multiple events separated by a space + // jQuery(...).bind("mouseover mouseout", fn); + types = ( types || "" ).match( core_rnotwhite ) || [""]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[t] ) || []; + type = origType = tmp[1]; + namespaces = ( tmp[2] || "" ).split( "." ).sort(); + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend({ + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join(".") + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !(handlers = events[ type ]) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener/attachEvent if the special events handler returns false + if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + // Bind the global event handler to the element + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle, false ); + + } else if ( elem.attachEvent ) { + elem.attachEvent( "on" + type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + // Nullify elem to prevent memory leaks in IE + elem = null; + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + var j, handleObj, tmp, + origCount, t, events, + special, handlers, type, + namespaces, origType, + elemData = jQuery.hasData( elem ) && jQuery._data( elem ); + + if ( !elemData || !(events = elemData.events) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( core_rnotwhite ) || [""]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[t] ) || []; + type = origType = tmp[1]; + namespaces = ( tmp[2] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[2] && new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + delete elemData.handle; + + // removeData also checks for emptiness and clears the expando if empty + // so use it instead of delete + jQuery._removeData( elem, "events" ); + } + }, + + trigger: function( event, data, elem, onlyHandlers ) { + var handle, ontype, cur, + bubbleType, special, tmp, i, + eventPath = [ elem || document ], + type = core_hasOwn.call( event, "type" ) ? event.type : event, + namespaces = core_hasOwn.call( event, "namespace" ) ? event.namespace.split(".") : []; + + cur = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf(".") >= 0 ) { + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split("."); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf(":") < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + event.isTrigger = true; + event.namespace = namespaces.join("."); + event.namespace_re = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === (elem.ownerDocument || document) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( (cur = eventPath[i++]) && !event.isPropagationStopped() ) { + + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( jQuery._data( cur, "events" ) || {} )[ event.type ] && jQuery._data( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && jQuery.acceptData( cur ) && handle.apply && handle.apply( cur, data ) === false ) { + event.preventDefault(); + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( (!special._default || special._default.apply( elem.ownerDocument, data ) === false) && + !(type === "click" && jQuery.nodeName( elem, "a" )) && jQuery.acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name name as the event. + // Can't use an .isFunction() check here because IE6/7 fails that test. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && elem[ type ] && !jQuery.isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + try { + elem[ type ](); + } catch ( e ) { + // IE<9 dies on focus/blur to hidden element (#1486,#12518) + // only reproducible on winXP IE8 native, not IE9 in IE8 mode + } + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + dispatch: function( event ) { + + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( event ); + + var i, ret, handleObj, matched, j, + handlerQueue = [], + args = core_slice.call( arguments ), + handlers = ( jQuery._data( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[0] = event; + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( (matched = handlerQueue[ i++ ]) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( (handleObj = matched.handlers[ j++ ]) && !event.isImmediatePropagationStopped() ) { + + // Triggered event must either 1) have no namespace, or + // 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace). + if ( !event.namespace_re || event.namespace_re.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler ) + .apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( (event.result = ret) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var sel, handleObj, matches, i, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + // Black-hole SVG <use> instance trees (#13180) + // Avoid non-left-click bubbling in Firefox (#3861) + if ( delegateCount && cur.nodeType && (!event.button || event.type !== "click") ) { + + for ( ; cur != this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && (cur.disabled !== true || event.type !== "click") ) { + matches = []; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matches[ sel ] === undefined ) { + matches[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) >= 0 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matches[ sel ] ) { + matches.push( handleObj ); + } + } + if ( matches.length ) { + handlerQueue.push({ elem: cur, handlers: matches }); + } + } + } + } + + // Add the remaining (directly-bound) handlers + if ( delegateCount < handlers.length ) { + handlerQueue.push({ elem: this, handlers: handlers.slice( delegateCount ) }); + } + + return handlerQueue; + }, + + fix: function( event ) { + if ( event[ jQuery.expando ] ) { + return event; + } + + // Create a writable copy of the event object and normalize some properties + var i, prop, copy, + type = event.type, + originalEvent = event, + fixHook = this.fixHooks[ type ]; + + if ( !fixHook ) { + this.fixHooks[ type ] = fixHook = + rmouseEvent.test( type ) ? this.mouseHooks : + rkeyEvent.test( type ) ? this.keyHooks : + {}; + } + copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props; + + event = new jQuery.Event( originalEvent ); + + i = copy.length; + while ( i-- ) { + prop = copy[ i ]; + event[ prop ] = originalEvent[ prop ]; + } + + // Support: IE<9 + // Fix target property (#1925) + if ( !event.target ) { + event.target = originalEvent.srcElement || document; + } + + // Support: Chrome 23+, Safari? + // Target should not be a text node (#504, #13143) + if ( event.target.nodeType === 3 ) { + event.target = event.target.parentNode; + } + + // Support: IE<9 + // For mouse/key events, metaKey==false if it's undefined (#3368, #11328) + event.metaKey = !!event.metaKey; + + return fixHook.filter ? fixHook.filter( event, originalEvent ) : event; + }, + + // Includes some event props shared by KeyEvent and MouseEvent + props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), + + fixHooks: {}, + + keyHooks: { + props: "char charCode key keyCode".split(" "), + filter: function( event, original ) { + + // Add which for key events + if ( event.which == null ) { + event.which = original.charCode != null ? original.charCode : original.keyCode; + } + + return event; + } + }, + + mouseHooks: { + props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), + filter: function( event, original ) { + var body, eventDoc, doc, + button = original.button, + fromElement = original.fromElement; + + // Calculate pageX/Y if missing and clientX/Y available + if ( event.pageX == null && original.clientX != null ) { + eventDoc = event.target.ownerDocument || document; + doc = eventDoc.documentElement; + body = eventDoc.body; + + event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 ); + event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 ); + } + + // Add relatedTarget, if necessary + if ( !event.relatedTarget && fromElement ) { + event.relatedTarget = fromElement === event.target ? original.toElement : fromElement; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + // Note: button is not normalized, so don't use it + if ( !event.which && button !== undefined ) { + event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); + } + + return event; + } + }, + + special: { + load: { + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + click: { + // For checkbox, fire native event so checked state will be right + trigger: function() { + if ( jQuery.nodeName( this, "input" ) && this.type === "checkbox" && this.click ) { + this.click(); + return false; + } + } + }, + focus: { + // Fire native event if possible so blur/focus sequence is correct + trigger: function() { + if ( this !== document.activeElement && this.focus ) { + try { + this.focus(); + return false; + } catch ( e ) { + // Support: IE<9 + // If we error on focus to hidden element (#1486, #12518), + // let .trigger() run the handlers + } + } + }, + delegateType: "focusin" + }, + blur: { + trigger: function() { + if ( this === document.activeElement && this.blur ) { + this.blur(); + return false; + } + }, + delegateType: "focusout" + }, + + beforeunload: { + postDispatch: function( event ) { + + // Even when returnValue equals to undefined Firefox will still show alert + if ( event.result !== undefined ) { + event.originalEvent.returnValue = event.result; + } + } + } + }, + + simulate: function( type, elem, event, bubble ) { + // Piggyback on a donor event to simulate a different one. + // Fake originalEvent to avoid donor's stopPropagation, but if the + // simulated event prevents default then we do the same on the donor. + var e = jQuery.extend( + new jQuery.Event(), + event, + { type: type, + isSimulated: true, + originalEvent: {} + } + ); + if ( bubble ) { + jQuery.event.trigger( e, null, elem ); + } else { + jQuery.event.dispatch.call( elem, e ); + } + if ( e.isDefaultPrevented() ) { + event.preventDefault(); + } + } +}; + +jQuery.removeEvent = document.removeEventListener ? + function( elem, type, handle ) { + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle, false ); + } + } : + function( elem, type, handle ) { + var name = "on" + type; + + if ( elem.detachEvent ) { + + // #8545, #7054, preventing memory leaks for custom events in IE6-8 + // detachEvent needed property on element, by name of that event, to properly expose it to GC + if ( typeof elem[ name ] === core_strundefined ) { + elem[ name ] = null; + } + + elem.detachEvent( name, handle ); + } + }; + +jQuery.Event = function( src, props ) { + // Allow instantiation without the 'new' keyword + if ( !(this instanceof jQuery.Event) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = ( src.defaultPrevented || src.returnValue === false || + src.getPreventDefault && src.getPreventDefault() ) ? returnTrue : returnFalse; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + if ( !e ) { + return; + } + + // If preventDefault exists, run it on the original event + if ( e.preventDefault ) { + e.preventDefault(); + + // Support: IE + // Otherwise set the returnValue property of the original event to false + } else { + e.returnValue = false; + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + if ( !e ) { + return; + } + // If stopPropagation exists, run it on the original event + if ( e.stopPropagation ) { + e.stopPropagation(); + } + + // Support: IE + // Set the cancelBubble property of the original event to true + e.cancelBubble = true; + }, + stopImmediatePropagation: function() { + this.isImmediatePropagationStopped = returnTrue; + this.stopPropagation(); + } +}; + +// Create mouseenter/leave events using mouseover/out and event-time checks +jQuery.each({ + mouseenter: "mouseover", + mouseleave: "mouseout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mousenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || (related !== target && !jQuery.contains( target, related )) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +}); + +// IE submit delegation +if ( !jQuery.support.submitBubbles ) { + + jQuery.event.special.submit = { + setup: function() { + // Only need this for delegated form submit events + if ( jQuery.nodeName( this, "form" ) ) { + return false; + } + + // Lazy-add a submit handler when a descendant form may potentially be submitted + jQuery.event.add( this, "click._submit keypress._submit", function( e ) { + // Node name check avoids a VML-related crash in IE (#9807) + var elem = e.target, + form = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.form : undefined; + if ( form && !jQuery._data( form, "submitBubbles" ) ) { + jQuery.event.add( form, "submit._submit", function( event ) { + event._submit_bubble = true; + }); + jQuery._data( form, "submitBubbles", true ); + } + }); + // return undefined since we don't need an event listener + }, + + postDispatch: function( event ) { + // If form was submitted by the user, bubble the event up the tree + if ( event._submit_bubble ) { + delete event._submit_bubble; + if ( this.parentNode && !event.isTrigger ) { + jQuery.event.simulate( "submit", this.parentNode, event, true ); + } + } + }, + + teardown: function() { + // Only need this for delegated form submit events + if ( jQuery.nodeName( this, "form" ) ) { + return false; + } + + // Remove delegated handlers; cleanData eventually reaps submit handlers attached above + jQuery.event.remove( this, "._submit" ); + } + }; +} + +// IE change delegation and checkbox/radio fix +if ( !jQuery.support.changeBubbles ) { + + jQuery.event.special.change = { + + setup: function() { + + if ( rformElems.test( this.nodeName ) ) { + // IE doesn't fire change on a check/radio until blur; trigger it on click + // after a propertychange. Eat the blur-change in special.change.handle. + // This still fires onchange a second time for check/radio after blur. + if ( this.type === "checkbox" || this.type === "radio" ) { + jQuery.event.add( this, "propertychange._change", function( event ) { + if ( event.originalEvent.propertyName === "checked" ) { + this._just_changed = true; + } + }); + jQuery.event.add( this, "click._change", function( event ) { + if ( this._just_changed && !event.isTrigger ) { + this._just_changed = false; + } + // Allow triggered, simulated change events (#11500) + jQuery.event.simulate( "change", this, event, true ); + }); + } + return false; + } + // Delegated event; lazy-add a change handler on descendant inputs + jQuery.event.add( this, "beforeactivate._change", function( e ) { + var elem = e.target; + + if ( rformElems.test( elem.nodeName ) && !jQuery._data( elem, "changeBubbles" ) ) { + jQuery.event.add( elem, "change._change", function( event ) { + if ( this.parentNode && !event.isSimulated && !event.isTrigger ) { + jQuery.event.simulate( "change", this.parentNode, event, true ); + } + }); + jQuery._data( elem, "changeBubbles", true ); + } + }); + }, + + handle: function( event ) { + var elem = event.target; + + // Swallow native change events from checkbox/radio, we already triggered them above + if ( this !== elem || event.isSimulated || event.isTrigger || (elem.type !== "radio" && elem.type !== "checkbox") ) { + return event.handleObj.handler.apply( this, arguments ); + } + }, + + teardown: function() { + jQuery.event.remove( this, "._change" ); + + return !rformElems.test( this.nodeName ); + } + }; +} + +// Create "bubbling" focus and blur events +if ( !jQuery.support.focusinBubbles ) { + jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler while someone wants focusin/focusout + var attaches = 0, + handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + if ( attaches++ === 0 ) { + document.addEventListener( orig, handler, true ); + } + }, + teardown: function() { + if ( --attaches === 0 ) { + document.removeEventListener( orig, handler, true ); + } + } + }; + }); +} + +jQuery.fn.extend({ + + on: function( types, selector, data, fn, /*INTERNAL*/ one ) { + var type, origFn; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + this.on( type, selector, data, types[ type ], one ); + } + return this; + } + + if ( data == null && fn == null ) { + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return this; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return this.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + }); + }, + one: function( types, selector, data, fn ) { + return this.on( types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each(function() { + jQuery.event.remove( this, types, fn, selector ); + }); + }, + + bind: function( types, data, fn ) { + return this.on( types, null, data, fn ); + }, + unbind: function( types, fn ) { + return this.off( types, null, fn ); + }, + + delegate: function( selector, types, data, fn ) { + return this.on( types, selector, data, fn ); + }, + undelegate: function( selector, types, fn ) { + // ( namespace ) or ( selector, types [, fn] ) + return arguments.length === 1 ? this.off( selector, "**" ) : this.off( types, selector || "**", fn ); + }, + + trigger: function( type, data ) { + return this.each(function() { + jQuery.event.trigger( type, data, this ); + }); + }, + triggerHandler: function( type, data ) { + var elem = this[0]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +}); +/*! + * Sizzle CSS Selector Engine + * Copyright 2012 jQuery Foundation and other contributors + * Released under the MIT license + * http://sizzlejs.com/ + */ +(function( window, undefined ) { + +var i, + cachedruns, + Expr, + getText, + isXML, + compile, + hasDuplicate, + outermostContext, + + // Local document vars + setDocument, + document, + docElem, + documentIsXML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + sortOrder, + + // Instance-specific data + expando = "sizzle" + -(new Date()), + preferredDoc = window.document, + support = {}, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + + // General-purpose constants + strundefined = typeof undefined, + MAX_NEGATIVE = 1 << 31, + + // Array methods + arr = [], + pop = arr.pop, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf if we can't use a native one + indexOf = arr.indexOf || function( elem ) { + var i = 0, + len = this.length; + for ( ; i < len; i++ ) { + if ( this[i] === elem ) { + return i; + } + } + return -1; + }, + + + // Regular expressions + + // Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + // http://www.w3.org/TR/css3-syntax/#characters + characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", + + // Loosely modeled on CSS identifier characters + // An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors + // Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = characterEncoding.replace( "w", "w#" ), + + // Acceptable operators http://www.w3.org/TR/selectors/#attribute-selectors + operators = "([*^$|!~]?=)", + attributes = "\\[" + whitespace + "*(" + characterEncoding + ")" + whitespace + + "*(?:" + operators + whitespace + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + identifier + ")|)|)" + whitespace + "*\\]", + + // Prefer arguments quoted, + // then not containing pseudos/brackets, + // then attribute selectors/non-parenthetical expressions, + // then anything else + // These preferences are here to reduce the number of selectors + // needing tokenize in the PSEUDO preFilter + pseudos = ":(" + characterEncoding + ")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|" + attributes.replace( 3, 8 ) + ")*)|.*)\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([\\x20\\t\\r\\n\\f>+~])" + whitespace + "*" ), + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + characterEncoding + ")" ), + "CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ), + "NAME": new RegExp( "^\\[name=['\"]?(" + characterEncoding + ")['\"]?\\]" ), + "TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*" ) + ")" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rsibling = /[\x20\t\r\n\f]*[+~]/, + + rnative = /^[^{]+\{\s*\[native code/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rescape = /'|\\/g, + rattributeQuotes = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g, + + // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = /\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g, + funescape = function( _, escaped ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + return high !== high ? + escaped : + // BMP codepoint + high < 0 ? + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }; + +// Use a stripped-down slice if we can't use a native one +try { + slice.call( preferredDoc.documentElement.childNodes, 0 )[0].nodeType; +} catch ( e ) { + slice = function( i ) { + var elem, + results = []; + while ( (elem = this[i++]) ) { + results.push( elem ); + } + return results; + }; +} + +/** + * For feature detection + * @param {Function} fn The function to test for native support + */ +function isNative( fn ) { + return rnative.test( fn + "" ); +} + +/** + * Create key-value caches of limited size + * @returns {Function(string, Object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var cache, + keys = []; + + return (cache = function( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key += " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key ] = value); + }); +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created div and expects a boolean result + */ +function assert( fn ) { + var div = document.createElement("div"); + + try { + return fn( div ); + } catch (e) { + return false; + } finally { + // release memory in IE + div = null; + } +} + +function Sizzle( selector, context, results, seed ) { + var match, elem, m, nodeType, + // QSA vars + i, groups, old, nid, newContext, newSelector; + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + + context = context || document; + results = results || []; + + if ( !selector || typeof selector !== "string" ) { + return results; + } + + if ( (nodeType = context.nodeType) !== 1 && nodeType !== 9 ) { + return []; + } + + if ( !documentIsXML && !seed ) { + + // Shortcuts + if ( (match = rquickExpr.exec( selector )) ) { + // Speed-up: Sizzle("#ID") + if ( (m = match[1]) ) { + if ( nodeType === 9 ) { + elem = context.getElementById( m ); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE, Opera, and Webkit return items + // by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + } else { + // Context is not a document + if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) && + contains( context, elem ) && elem.id === m ) { + results.push( elem ); + return results; + } + } + + // Speed-up: Sizzle("TAG") + } else if ( match[2] ) { + push.apply( results, slice.call(context.getElementsByTagName( selector ), 0) ); + return results; + + // Speed-up: Sizzle(".CLASS") + } else if ( (m = match[3]) && support.getByClassName && context.getElementsByClassName ) { + push.apply( results, slice.call(context.getElementsByClassName( m ), 0) ); + return results; + } + } + + // QSA path + if ( support.qsa && !rbuggyQSA.test(selector) ) { + old = true; + nid = expando; + newContext = context; + newSelector = nodeType === 9 && selector; + + // qSA works strangely on Element-rooted queries + // We can work around this by specifying an extra ID on the root + // and working up from there (Thanks to Andrew Dupont for the technique) + // IE 8 doesn't work on object elements + if ( nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { + groups = tokenize( selector ); + + if ( (old = context.getAttribute("id")) ) { + nid = old.replace( rescape, "\\$&" ); + } else { + context.setAttribute( "id", nid ); + } + nid = "[id='" + nid + "'] "; + + i = groups.length; + while ( i-- ) { + groups[i] = nid + toSelector( groups[i] ); + } + newContext = rsibling.test( selector ) && context.parentNode || context; + newSelector = groups.join(","); + } + + if ( newSelector ) { + try { + push.apply( results, slice.call( newContext.querySelectorAll( + newSelector + ), 0 ) ); + return results; + } catch(qsaError) { + } finally { + if ( !old ) { + context.removeAttribute("id"); + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Detect xml + * @param {Element|Object} elem An element or a document + */ +isXML = Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = elem && (elem.ownerDocument || elem).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var doc = node ? node.ownerDocument || node : preferredDoc; + + // If no document and documentElement is available, return + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Set our document + document = doc; + docElem = doc.documentElement; + + // Support tests + documentIsXML = isXML( doc ); + + // Check if getElementsByTagName("*") returns only elements + support.tagNameNoComments = assert(function( div ) { + div.appendChild( doc.createComment("") ); + return !div.getElementsByTagName("*").length; + }); + + // Check if attributes should be retrieved by attribute nodes + support.attributes = assert(function( div ) { + div.innerHTML = "<select></select>"; + var type = typeof div.lastChild.getAttribute("multiple"); + // IE8 returns a string for some attributes even when not present + return type !== "boolean" && type !== "string"; + }); + + // Check if getElementsByClassName can be trusted + support.getByClassName = assert(function( div ) { + // Opera can't find a second classname (in 9.6) + div.innerHTML = "<div class='hidden e'></div><div class='hidden'></div>"; + if ( !div.getElementsByClassName || !div.getElementsByClassName("e").length ) { + return false; + } + + // Safari 3.2 caches class attributes and doesn't catch changes + div.lastChild.className = "e"; + return div.getElementsByClassName("e").length === 2; + }); + + // Check if getElementById returns elements by name + // Check if getElementsByName privileges form controls or returns elements by ID + support.getByName = assert(function( div ) { + // Inject content + div.id = expando + 0; + div.innerHTML = "<a name='" + expando + "'></a><div name='" + expando + "'></div>"; + docElem.insertBefore( div, docElem.firstChild ); + + // Test + var pass = doc.getElementsByName && + // buggy browsers will return fewer than the correct 2 + doc.getElementsByName( expando ).length === 2 + + // buggy browsers will return more than the correct 0 + doc.getElementsByName( expando + 0 ).length; + support.getIdNotName = !doc.getElementById( expando ); + + // Cleanup + docElem.removeChild( div ); + + return pass; + }); + + // IE6/7 return modified attributes + Expr.attrHandle = assert(function( div ) { + div.innerHTML = "<a href='#'></a>"; + return div.firstChild && typeof div.firstChild.getAttribute !== strundefined && + div.firstChild.getAttribute("href") === "#"; + }) ? + {} : + { + "href": function( elem ) { + return elem.getAttribute( "href", 2 ); + }, + "type": function( elem ) { + return elem.getAttribute("type"); + } + }; + + // ID find and filter + if ( support.getIdNotName ) { + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== strundefined && !documentIsXML ) { + var m = context.getElementById( id ); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + return m && m.parentNode ? [m] : []; + } + }; + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + } else { + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== strundefined && !documentIsXML ) { + var m = context.getElementById( id ); + + return m ? + m.id === id || typeof m.getAttributeNode !== strundefined && m.getAttributeNode("id").value === id ? + [m] : + undefined : + []; + } + }; + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== strundefined && elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + } + + // Tag + Expr.find["TAG"] = support.tagNameNoComments ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== strundefined ) { + return context.getElementsByTagName( tag ); + } + } : + function( tag, context ) { + var elem, + tmp = [], + i = 0, + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Name + Expr.find["NAME"] = support.getByName && function( tag, context ) { + if ( typeof context.getElementsByName !== strundefined ) { + return context.getElementsByName( name ); + } + }; + + // Class + Expr.find["CLASS"] = support.getByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== strundefined && !documentIsXML ) { + return context.getElementsByClassName( className ); + } + }; + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21), + // no need to also add to buggyMatches since matches checks buggyQSA + // A support test would require too much code (would include document ready) + rbuggyQSA = [ ":focus" ]; + + if ( (support.qsa = isNative(doc.querySelectorAll)) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( div ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explictly + // setting a boolean content attribute, + // since its presence should be enough + // http://bugs.jquery.com/ticket/12359 + div.innerHTML = "<select><option selected=''></option></select>"; + + // IE8 - Some boolean attributes are not treated correctly + if ( !div.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:checked|disabled|ismap|multiple|readonly|selected|value)" ); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !div.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + }); + + assert(function( div ) { + + // Opera 10-12/IE8 - ^= $= *= and empty values + // Should not select anything + div.innerHTML = "<input type='hidden' i=''/>"; + if ( div.querySelectorAll("[i^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:\"\"|'')" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( !div.querySelectorAll(":enabled").length ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + div.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = isNative( (matches = docElem.matchesSelector || + docElem.mozMatchesSelector || + docElem.webkitMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( div ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( div, "div" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( div, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = new RegExp( rbuggyMatches.join("|") ); + + // Element contains another + // Purposefully does not implement inclusive descendent + // As in, an element does not contain itself + contains = isNative(docElem.contains) || docElem.compareDocumentPosition ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + // Document order sorting + sortOrder = docElem.compareDocumentPosition ? + function( a, b ) { + var compare; + + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + if ( (compare = b.compareDocumentPosition && a.compareDocumentPosition && a.compareDocumentPosition( b )) ) { + if ( compare & 1 || a.parentNode && a.parentNode.nodeType === 11 ) { + if ( a === doc || contains( preferredDoc, a ) ) { + return -1; + } + if ( b === doc || contains( preferredDoc, b ) ) { + return 1; + } + return 0; + } + return compare & 4 ? -1 : 1; + } + + return a.compareDocumentPosition ? -1 : 1; + } : + function( a, b ) { + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + + // Parentless nodes are either documents or disconnected + } else if ( !aup || !bup ) { + return a === doc ? -1 : + b === doc ? 1 : + aup ? -1 : + bup ? 1 : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + // Always assume the presence of duplicates if sort doesn't + // pass them to our comparison function (as in Google Chrome). + hasDuplicate = false; + [0, 0].sort( sortOrder ); + support.detectDuplicates = hasDuplicate; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + // Make sure that attribute selectors are quoted + expr = expr.replace( rattributeQuotes, "='$1']" ); + + // rbuggyQSA always contains :focus, so no need for an existence check + if ( support.matchesSelector && !documentIsXML && (!rbuggyMatches || !rbuggyMatches.test(expr)) && !rbuggyQSA.test(expr) ) { + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch(e) {} + } + + return Sizzle( expr, document, null, [elem] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + var val; + + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + if ( !documentIsXML ) { + name = name.toLowerCase(); + } + if ( (val = Expr.attrHandle[ name ]) ) { + return val( elem ); + } + if ( documentIsXML || support.attributes ) { + return elem.getAttribute( name ); + } + return ( (val = elem.getAttributeNode( name )) || elem.getAttribute( name ) ) && elem[ name ] === true ? + name : + val && val.specified ? val.value : null; +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +// Document sorting and removing duplicates +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + i = 1, + j = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + results.sort( sortOrder ); + + if ( hasDuplicate ) { + for ( ; (elem = results[i]); i++ ) { + if ( elem === results[ i - 1 ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + return results; +}; + +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && ( ~b.sourceIndex || MAX_NEGATIVE ) - ( ~a.sourceIndex || MAX_NEGATIVE ); + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +// Returns a function to use in pseudos for input types +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +// Returns a function to use in pseudos for buttons +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +// Returns a function to use in pseudos for positionals +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + for ( ; (node = elem[i]); i++ ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (see #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[5] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[4] ) { + match[2] = match[4]; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeName ) { + if ( nodeName === "*" ) { + return function() { return true; }; + } + + nodeName = nodeName.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( elem.className || (typeof elem.getAttribute !== strundefined && elem.getAttribute("class")) || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, outerCache, node, diff, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) { + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + // Seek `elem` from a previously-cached index + outerCache = parent[ expando ] || (parent[ expando ] = {}); + cache = outerCache[ type ] || []; + nodeIndex = cache[0] === dirruns && cache[1]; + diff = cache[0] === dirruns && cache[2]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + outerCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + // Use previously-cached element index if available + } else if ( useCache && (cache = (elem[ expando ] || (elem[ expando ] = {}))[ type ]) && cache[0] === dirruns ) { + diff = cache[1]; + + // xml :nth-child(...) or :nth-last-child(...) or :nth(-last)?-of-type(...) + } else { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) && ++diff ) { + // Cache the index of each encountered element + if ( useCache ) { + (node[ expando ] || (node[ expando ] = {}))[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf.call( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + return function( elem ) { + return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifider + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsXML ? + elem.getAttribute("xml:lang") || elem.getAttribute("lang") : + elem.lang) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": function( elem ) { + return elem.disabled === false; + }, + + "disabled": function( elem ) { + return elem.disabled === true; + }, + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is only affected by element nodes and content nodes(including text(3), cdata(4)), + // not comment, processing instructions, or others + // Thanks to Diego Perini for the nodeName shortcut + // Greater than "@" means alpha characters (specifically not starting with "#" or "?") + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeName > "@" || elem.nodeType === 3 || elem.nodeType === 4 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + // IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc) + // use getAttribute instead to test this case + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === elem.type ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +function tokenize( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( tokens = [] ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push( { + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + } ); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push( { + value: matched, + type: type, + matches: match + } ); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +} + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + checkNonElements = base && dir === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var data, cache, outerCache, + dirkey = dirruns + " " + doneName; + + // We can't set arbitrary data on XML nodes, so they don't benefit from dir caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + if ( (cache = outerCache[ dir ]) && cache[0] === dirkey ) { + if ( (data = cache[1]) === true || data === cachedruns ) { + return data === true; + } + } else { + cache = outerCache[ dir ] = [ dirkey ]; + cache[1] = matcher( elem, context, xml ) || cachedruns; + if ( cache[1] === true ) { + return true; + } + } + } + } + } + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf.call( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf.call( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + return ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( tokens.slice( 0, i - 1 ) ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + // A counter to specify which element is currently being matched + var matcherCachedRuns = 0, + bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, expandContext ) { + var elem, j, matcher, + setMatched = [], + matchedCount = 0, + i = "0", + unmatched = seed && [], + outermost = expandContext != null, + contextBackup = outermostContext, + // We must always have either seed elements or context + elems = seed || byElement && Expr.find["TAG"]( "*", expandContext && context.parentNode || context ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1); + + if ( outermost ) { + outermostContext = context !== document && context; + cachedruns = matcherCachedRuns; + } + + // Add elements passing elementMatchers directly to results + // Keep `i` a string if there are no elements so `matchedCount` will be "00" below + for ( ; (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context, xml ) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + cachedruns = ++matcherCachedRuns; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // Apply set filters to unmatched elements + matchedCount += i; + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !group ) { + group = tokenize( selector ); + } + i = group.length; + while ( i-- ) { + cached = matcherFromTokens( group[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + } + return cached; +}; + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function select( selector, context, results, seed ) { + var i, tokens, token, type, find, + match = tokenize( selector ); + + if ( !seed ) { + // Try to minimize operations if there is only one group + if ( match.length === 1 ) { + + // Take a shortcut and set the context if the root selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + context.nodeType === 9 && !documentIsXML && + Expr.relative[ tokens[1].type ] ) { + + context = Expr.find["ID"]( token.matches[0].replace( runescape, funescape ), context )[0]; + if ( !context ) { + return results; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && context.parentNode || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, slice.call( seed, 0 ) ); + return results; + } + + break; + } + } + } + } + } + + // Compile and execute a filtering function + // Provide `match` to avoid retokenization if we modified the selector above + compile( selector, match )( + seed, + context, + documentIsXML, + results, + rsibling.test( selector ) + ); + return results; +} + +// Deprecated +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Easy API for creating new setFilters +function setFilters() {} +Expr.filters = setFilters.prototype = Expr.pseudos; +Expr.setFilters = new setFilters(); + +// Initialize with the default document +setDocument(); + +// Override sizzle attribute retrieval +Sizzle.attr = jQuery.attr; +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; +jQuery.expr[":"] = jQuery.expr.pseudos; +jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; + + +})( window ); +var runtil = /Until$/, + rparentsprev = /^(?:parents|prev(?:Until|All))/, + isSimple = /^.[^:#\[\.,]*$/, + rneedsContext = jQuery.expr.match.needsContext, + // methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend({ + find: function( selector ) { + var i, ret, self, + len = this.length; + + if ( typeof selector !== "string" ) { + self = this; + return this.pushStack( jQuery( selector ).filter(function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + }) ); + } + + ret = []; + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, this[ i ], ret ); + } + + // Needed because $( selector, context ) becomes $( context ).find( selector ) + ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret ); + ret.selector = ( this.selector ? this.selector + " " : "" ) + selector; + return ret; + }, + + has: function( target ) { + var i, + targets = jQuery( target, this ), + len = targets.length; + + return this.filter(function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( this, targets[i] ) ) { + return true; + } + } + }); + }, + + not: function( selector ) { + return this.pushStack( winnow(this, selector, false) ); + }, + + filter: function( selector ) { + return this.pushStack( winnow(this, selector, true) ); + }, + + is: function( selector ) { + return !!selector && ( + typeof selector === "string" ? + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + rneedsContext.test( selector ) ? + jQuery( selector, this.context ).index( this[0] ) >= 0 : + jQuery.filter( selector, this ).length > 0 : + this.filter( selector ).length > 0 ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + ret = [], + pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ? + jQuery( selectors, context || this.context ) : + 0; + + for ( ; i < l; i++ ) { + cur = this[i]; + + while ( cur && cur.ownerDocument && cur !== context && cur.nodeType !== 11 ) { + if ( pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors) ) { + ret.push( cur ); + break; + } + cur = cur.parentNode; + } + } + + return this.pushStack( ret.length > 1 ? jQuery.unique( ret ) : ret ); + }, + + // Determine the position of an element within + // the matched set of elements + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[0] && this[0].parentNode ) ? this.first().prevAll().length : -1; + } + + // index in selector + if ( typeof elem === "string" ) { + return jQuery.inArray( this[0], jQuery( elem ) ); + } + + // Locate the position of the desired element + return jQuery.inArray( + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[0] : elem, this ); + }, + + add: function( selector, context ) { + var set = typeof selector === "string" ? + jQuery( selector, context ) : + jQuery.makeArray( selector && selector.nodeType ? [ selector ] : selector ), + all = jQuery.merge( this.get(), set ); + + return this.pushStack( jQuery.unique(all) ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter(selector) + ); + } +}); + +jQuery.fn.andSelf = jQuery.fn.addBack; + +function sibling( cur, dir ) { + do { + cur = cur[ dir ]; + } while ( cur && cur.nodeType !== 1 ); + + return cur; +} + +jQuery.each({ + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return jQuery.dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return jQuery.dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return jQuery.dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return jQuery.dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return jQuery.dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return jQuery.dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return jQuery.sibling( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return jQuery.sibling( elem.firstChild ); + }, + contents: function( elem ) { + return jQuery.nodeName( elem, "iframe" ) ? + elem.contentDocument || elem.contentWindow.document : + jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var ret = jQuery.map( this, fn, until ); + + if ( !runtil.test( name ) ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + ret = jQuery.filter( selector, ret ); + } + + ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; + + if ( this.length > 1 && rparentsprev.test( name ) ) { + ret = ret.reverse(); + } + + return this.pushStack( ret ); + }; +}); + +jQuery.extend({ + filter: function( expr, elems, not ) { + if ( not ) { + expr = ":not(" + expr + ")"; + } + + return elems.length === 1 ? + jQuery.find.matchesSelector(elems[0], expr) ? [ elems[0] ] : [] : + jQuery.find.matches(expr, elems); + }, + + dir: function( elem, dir, until ) { + var matched = [], + cur = elem[ dir ]; + + while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) { + if ( cur.nodeType === 1 ) { + matched.push( cur ); + } + cur = cur[dir]; + } + return matched; + }, + + sibling: function( n, elem ) { + var r = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + r.push( n ); + } + } + + return r; + } +}); + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, keep ) { + + // Can't pass null or undefined to indexOf in Firefox 4 + // Set to 0 to skip string check + qualifier = qualifier || 0; + + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep(elements, function( elem, i ) { + var retVal = !!qualifier.call( elem, i, elem ); + return retVal === keep; + }); + + } else if ( qualifier.nodeType ) { + return jQuery.grep(elements, function( elem ) { + return ( elem === qualifier ) === keep; + }); + + } else if ( typeof qualifier === "string" ) { + var filtered = jQuery.grep(elements, function( elem ) { + return elem.nodeType === 1; + }); + + if ( isSimple.test( qualifier ) ) { + return jQuery.filter(qualifier, filtered, !keep); + } else { + qualifier = jQuery.filter( qualifier, filtered ); + } + } + + return jQuery.grep(elements, function( elem ) { + return ( jQuery.inArray( elem, qualifier ) >= 0 ) === keep; + }); +} +function createSafeFragment( document ) { + var list = nodeNames.split( "|" ), + safeFrag = document.createDocumentFragment(); + + if ( safeFrag.createElement ) { + while ( list.length ) { + safeFrag.createElement( + list.pop() + ); + } + } + return safeFrag; +} + +var nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|" + + "header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", + rinlinejQuery = / jQuery\d+="(?:null|\d+)"/g, + rnoshimcache = new RegExp("<(?:" + nodeNames + ")[\\s/>]", "i"), + rleadingWhitespace = /^\s+/, + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, + rtagName = /<([\w:]+)/, + rtbody = /<tbody/i, + rhtml = /<|&#?\w+;/, + rnoInnerhtml = /<(?:script|style|link)/i, + manipulation_rcheckableType = /^(?:checkbox|radio)$/i, + // checked="checked" or checked + rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, + rscriptType = /^$|\/(?:java|ecma)script/i, + rscriptTypeMasked = /^true\/(.*)/, + rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g, + + // We have to close these tags to support XHTML (#13200) + wrapMap = { + option: [ 1, "<select multiple='multiple'>", "</select>" ], + legend: [ 1, "<fieldset>", "</fieldset>" ], + area: [ 1, "<map>", "</map>" ], + param: [ 1, "<object>", "</object>" ], + thead: [ 1, "<table>", "</table>" ], + tr: [ 2, "<table><tbody>", "</tbody></table>" ], + col: [ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ], + td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ], + + // IE6-8 can't serialize link, script, style, or any html5 (NoScope) tags, + // unless wrapped in a div with non-breaking characters in front of it. + _default: jQuery.support.htmlSerialize ? [ 0, "", "" ] : [ 1, "X<div>", "</div>" ] + }, + safeFragment = createSafeFragment( document ), + fragmentDiv = safeFragment.appendChild( document.createElement("div") ); + +wrapMap.optgroup = wrapMap.option; +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +jQuery.fn.extend({ + text: function( value ) { + return jQuery.access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().append( ( this[0] && this[0].ownerDocument || document ).createTextNode( value ) ); + }, null, value, arguments.length ); + }, + + wrapAll: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each(function(i) { + jQuery(this).wrapAll( html.call(this, i) ); + }); + } + + if ( this[0] ) { + // The elements to wrap the target around + var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true); + + if ( this[0].parentNode ) { + wrap.insertBefore( this[0] ); + } + + wrap.map(function() { + var elem = this; + + while ( elem.firstChild && elem.firstChild.nodeType === 1 ) { + elem = elem.firstChild; + } + + return elem; + }).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each(function(i) { + jQuery(this).wrapInner( html.call(this, i) ); + }); + } + + return this.each(function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + }); + }, + + wrap: function( html ) { + var isFunction = jQuery.isFunction( html ); + + return this.each(function(i) { + jQuery( this ).wrapAll( isFunction ? html.call(this, i) : html ); + }); + }, + + unwrap: function() { + return this.parent().each(function() { + if ( !jQuery.nodeName( this, "body" ) ) { + jQuery( this ).replaceWith( this.childNodes ); + } + }).end(); + }, + + append: function() { + return this.domManip(arguments, true, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.appendChild( elem ); + } + }); + }, + + prepend: function() { + return this.domManip(arguments, true, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.insertBefore( elem, this.firstChild ); + } + }); + }, + + before: function() { + return this.domManip( arguments, false, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + }); + }, + + after: function() { + return this.domManip( arguments, false, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + }); + }, + + // keepData is for internal use only--do not document + remove: function( selector, keepData ) { + var elem, + i = 0; + + for ( ; (elem = this[i]) != null; i++ ) { + if ( !selector || jQuery.filter( selector, [ elem ] ).length > 0 ) { + if ( !keepData && elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem ) ); + } + + if ( elem.parentNode ) { + if ( keepData && jQuery.contains( elem.ownerDocument, elem ) ) { + setGlobalEval( getAll( elem, "script" ) ); + } + elem.parentNode.removeChild( elem ); + } + } + } + + return this; + }, + + empty: function() { + var elem, + i = 0; + + for ( ; (elem = this[i]) != null; i++ ) { + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + } + + // Remove any remaining nodes + while ( elem.firstChild ) { + elem.removeChild( elem.firstChild ); + } + + // If this is a select, ensure that it displays empty (#12336) + // Support: IE<9 + if ( elem.options && jQuery.nodeName( elem, "select" ) ) { + elem.options.length = 0; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function () { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + }); + }, + + html: function( value ) { + return jQuery.access( this, function( value ) { + var elem = this[0] || {}, + i = 0, + l = this.length; + + if ( value === undefined ) { + return elem.nodeType === 1 ? + elem.innerHTML.replace( rinlinejQuery, "" ) : + undefined; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + ( jQuery.support.htmlSerialize || !rnoshimcache.test( value ) ) && + ( jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value ) ) && + !wrapMap[ ( rtagName.exec( value ) || ["", ""] )[1].toLowerCase() ] ) { + + value = value.replace( rxhtmlTag, "<$1></$2>" ); + + try { + for (; i < l; i++ ) { + // Remove element nodes and prevent memory leaks + elem = this[i] || {}; + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch(e) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function( value ) { + var isFunc = jQuery.isFunction( value ); + + // Make sure that the elements are removed from the DOM before they are inserted + // this can help fix replacing a parent with child elements + if ( !isFunc && typeof value !== "string" ) { + value = jQuery( value ).not( this ).detach(); + } + + return this.domManip( [ value ], true, function( elem ) { + var next = this.nextSibling, + parent = this.parentNode; + + if ( parent ) { + jQuery( this ).remove(); + parent.insertBefore( elem, next ); + } + }); + }, + + detach: function( selector ) { + return this.remove( selector, true ); + }, + + domManip: function( args, table, callback ) { + + // Flatten any nested arrays + args = core_concat.apply( [], args ); + + var first, node, hasScripts, + scripts, doc, fragment, + i = 0, + l = this.length, + set = this, + iNoClone = l - 1, + value = args[0], + isFunction = jQuery.isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( isFunction || !( l <= 1 || typeof value !== "string" || jQuery.support.checkClone || !rchecked.test( value ) ) ) { + return this.each(function( index ) { + var self = set.eq( index ); + if ( isFunction ) { + args[0] = value.call( this, index, table ? self.html() : undefined ); + } + self.domManip( args, table, callback ); + }); + } + + if ( l ) { + fragment = jQuery.buildFragment( args, this[ 0 ].ownerDocument, false, this ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + if ( first ) { + table = table && jQuery.nodeName( first, "tr" ); + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( + table && jQuery.nodeName( this[i], "table" ) ? + findOrAppend( this[i], "tbody" ) : + this[i], + node, + i + ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !jQuery._data( node, "globalEval" ) && jQuery.contains( doc, node ) ) { + + if ( node.src ) { + // Hope ajax is available... + jQuery.ajax({ + url: node.src, + type: "GET", + dataType: "script", + async: false, + global: false, + "throws": true + }); + } else { + jQuery.globalEval( ( node.text || node.textContent || node.innerHTML || "" ).replace( rcleanScript, "" ) ); + } + } + } + } + + // Fix #11809: Avoid leaking memory + fragment = first = null; + } + } + + return this; + } +}); + +function findOrAppend( elem, tag ) { + return elem.getElementsByTagName( tag )[0] || elem.appendChild( elem.ownerDocument.createElement( tag ) ); +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + var attr = elem.getAttributeNode("type"); + elem.type = ( attr && attr.specified ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + var match = rscriptTypeMasked.exec( elem.type ); + if ( match ) { + elem.type = match[1]; + } else { + elem.removeAttribute("type"); + } + return elem; +} + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var elem, + i = 0; + for ( ; (elem = elems[i]) != null; i++ ) { + jQuery._data( elem, "globalEval", !refElements || jQuery._data( refElements[i], "globalEval" ) ); + } +} + +function cloneCopyEvent( src, dest ) { + + if ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) { + return; + } + + var type, i, l, + oldData = jQuery._data( src ), + curData = jQuery._data( dest, oldData ), + events = oldData.events; + + if ( events ) { + delete curData.handle; + curData.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + + // make the cloned public data object a copy from the original + if ( curData.data ) { + curData.data = jQuery.extend( {}, curData.data ); + } +} + +function fixCloneNodeIssues( src, dest ) { + var nodeName, e, data; + + // We do not need to do anything for non-Elements + if ( dest.nodeType !== 1 ) { + return; + } + + nodeName = dest.nodeName.toLowerCase(); + + // IE6-8 copies events bound via attachEvent when using cloneNode. + if ( !jQuery.support.noCloneEvent && dest[ jQuery.expando ] ) { + data = jQuery._data( dest ); + + for ( e in data.events ) { + jQuery.removeEvent( dest, e, data.handle ); + } + + // Event data gets referenced instead of copied if the expando gets copied too + dest.removeAttribute( jQuery.expando ); + } + + // IE blanks contents when cloning scripts, and tries to evaluate newly-set text + if ( nodeName === "script" && dest.text !== src.text ) { + disableScript( dest ).text = src.text; + restoreScript( dest ); + + // IE6-10 improperly clones children of object elements using classid. + // IE10 throws NoModificationAllowedError if parent is null, #12132. + } else if ( nodeName === "object" ) { + if ( dest.parentNode ) { + dest.outerHTML = src.outerHTML; + } + + // This path appears unavoidable for IE9. When cloning an object + // element in IE9, the outerHTML strategy above is not sufficient. + // If the src has innerHTML and the destination does not, + // copy the src.innerHTML into the dest.innerHTML. #10324 + if ( jQuery.support.html5Clone && ( src.innerHTML && !jQuery.trim(dest.innerHTML) ) ) { + dest.innerHTML = src.innerHTML; + } + + } else if ( nodeName === "input" && manipulation_rcheckableType.test( src.type ) ) { + // IE6-8 fails to persist the checked state of a cloned checkbox + // or radio button. Worse, IE6-7 fail to give the cloned element + // a checked appearance if the defaultChecked value isn't also set + + dest.defaultChecked = dest.checked = src.checked; + + // IE6-7 get confused and end up setting the value of a cloned + // checkbox/radio button to an empty string instead of "on" + if ( dest.value !== src.value ) { + dest.value = src.value; + } + + // IE6-8 fails to return the selected option to the default selected + // state when cloning options + } else if ( nodeName === "option" ) { + dest.defaultSelected = dest.selected = src.defaultSelected; + + // IE6-8 fails to set the defaultValue to the correct value when + // cloning other types of input fields + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +jQuery.each({ + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + i = 0, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone(true); + jQuery( insert[i] )[ original ]( elems ); + + // Modern browsers can apply jQuery collections as arrays, but oldIE needs a .get() + core_push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +}); + +function getAll( context, tag ) { + var elems, elem, + i = 0, + found = typeof context.getElementsByTagName !== core_strundefined ? context.getElementsByTagName( tag || "*" ) : + typeof context.querySelectorAll !== core_strundefined ? context.querySelectorAll( tag || "*" ) : + undefined; + + if ( !found ) { + for ( found = [], elems = context.childNodes || context; (elem = elems[i]) != null; i++ ) { + if ( !tag || jQuery.nodeName( elem, tag ) ) { + found.push( elem ); + } else { + jQuery.merge( found, getAll( elem, tag ) ); + } + } + } + + return tag === undefined || tag && jQuery.nodeName( context, tag ) ? + jQuery.merge( [ context ], found ) : + found; +} + +// Used in buildFragment, fixes the defaultChecked property +function fixDefaultChecked( elem ) { + if ( manipulation_rcheckableType.test( elem.type ) ) { + elem.defaultChecked = elem.checked; + } +} + +jQuery.extend({ + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var destElements, node, clone, i, srcElements, + inPage = jQuery.contains( elem.ownerDocument, elem ); + + if ( jQuery.support.html5Clone || jQuery.isXMLDoc(elem) || !rnoshimcache.test( "<" + elem.nodeName + ">" ) ) { + clone = elem.cloneNode( true ); + + // IE<=8 does not properly clone detached, unknown element nodes + } else { + fragmentDiv.innerHTML = elem.outerHTML; + fragmentDiv.removeChild( clone = fragmentDiv.firstChild ); + } + + if ( (!jQuery.support.noCloneEvent || !jQuery.support.noCloneChecked) && + (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) { + + // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + // Fix all IE cloning issues + for ( i = 0; (node = srcElements[i]) != null; ++i ) { + // Ensure that the destination node is not null; Fixes #9587 + if ( destElements[i] ) { + fixCloneNodeIssues( node, destElements[i] ); + } + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0; (node = srcElements[i]) != null; i++ ) { + cloneCopyEvent( node, destElements[i] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + destElements = srcElements = node = null; + + // Return the cloned set + return clone; + }, + + buildFragment: function( elems, context, scripts, selection ) { + var j, elem, contains, + tmp, tag, tbody, wrap, + l = elems.length, + + // Ensure a safe fragment + safe = createSafeFragment( context ), + + nodes = [], + i = 0; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( jQuery.type( elem ) === "object" ) { + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || safe.appendChild( context.createElement("div") ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || ["", ""] )[1].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + + tmp.innerHTML = wrap[1] + elem.replace( rxhtmlTag, "<$1></$2>" ) + wrap[2]; + + // Descend through wrappers to the right content + j = wrap[0]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Manually add leading whitespace removed by IE + if ( !jQuery.support.leadingWhitespace && rleadingWhitespace.test( elem ) ) { + nodes.push( context.createTextNode( rleadingWhitespace.exec( elem )[0] ) ); + } + + // Remove IE's autoinserted <tbody> from table fragments + if ( !jQuery.support.tbody ) { + + // String was a <table>, *may* have spurious <tbody> + elem = tag === "table" && !rtbody.test( elem ) ? + tmp.firstChild : + + // String was a bare <thead> or <tfoot> + wrap[1] === "<table>" && !rtbody.test( elem ) ? + tmp : + 0; + + j = elem && elem.childNodes.length; + while ( j-- ) { + if ( jQuery.nodeName( (tbody = elem.childNodes[j]), "tbody" ) && !tbody.childNodes.length ) { + elem.removeChild( tbody ); + } + } + } + + jQuery.merge( nodes, tmp.childNodes ); + + // Fix #12392 for WebKit and IE > 9 + tmp.textContent = ""; + + // Fix #12392 for oldIE + while ( tmp.firstChild ) { + tmp.removeChild( tmp.firstChild ); + } + + // Remember the top-level container for proper cleanup + tmp = safe.lastChild; + } + } + } + + // Fix #11356: Clear elements from fragment + if ( tmp ) { + safe.removeChild( tmp ); + } + + // Reset defaultChecked for any radios and checkboxes + // about to be appended to the DOM in IE 6/7 (#8060) + if ( !jQuery.support.appendChecked ) { + jQuery.grep( getAll( nodes, "input" ), fixDefaultChecked ); + } + + i = 0; + while ( (elem = nodes[ i++ ]) ) { + + // #4087 - If origin and destination elements are the same, and this is + // that element, do not do anything + if ( selection && jQuery.inArray( elem, selection ) !== -1 ) { + continue; + } + + contains = jQuery.contains( elem.ownerDocument, elem ); + + // Append to fragment + tmp = getAll( safe.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( contains ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( (elem = tmp[ j++ ]) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + tmp = null; + + return safe; + }, + + cleanData: function( elems, /* internal */ acceptData ) { + var elem, type, id, data, + i = 0, + internalKey = jQuery.expando, + cache = jQuery.cache, + deleteExpando = jQuery.support.deleteExpando, + special = jQuery.event.special; + + for ( ; (elem = elems[i]) != null; i++ ) { + + if ( acceptData || jQuery.acceptData( elem ) ) { + + id = elem[ internalKey ]; + data = id && cache[ id ]; + + if ( data ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Remove cache only if it was not already removed by jQuery.event.remove + if ( cache[ id ] ) { + + delete cache[ id ]; + + // IE does not allow us to delete expando properties from nodes, + // nor does it have a removeAttribute function on Document nodes; + // we must handle all of these cases + if ( deleteExpando ) { + delete elem[ internalKey ]; + + } else if ( typeof elem.removeAttribute !== core_strundefined ) { + elem.removeAttribute( internalKey ); + + } else { + elem[ internalKey ] = null; + } + + core_deletedIds.push( id ); + } + } + } + } + } +}); +var iframe, getStyles, curCSS, + ralpha = /alpha\([^)]*\)/i, + ropacity = /opacity\s*=\s*([^)]*)/, + rposition = /^(top|right|bottom|left)$/, + // swappable if display is none or starts with table except "table", "table-cell", or "table-caption" + // see here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rmargin = /^margin/, + rnumsplit = new RegExp( "^(" + core_pnum + ")(.*)$", "i" ), + rnumnonpx = new RegExp( "^(" + core_pnum + ")(?!px)[a-z%]+$", "i" ), + rrelNum = new RegExp( "^([+-])=(" + core_pnum + ")", "i" ), + elemdisplay = { BODY: "block" }, + + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: 0, + fontWeight: 400 + }, + + cssExpand = [ "Top", "Right", "Bottom", "Left" ], + cssPrefixes = [ "Webkit", "O", "Moz", "ms" ]; + +// return a css property mapped to a potentially vendor prefixed property +function vendorPropName( style, name ) { + + // shortcut for names that are not vendor prefixed + if ( name in style ) { + return name; + } + + // check for vendor prefixed names + var capName = name.charAt(0).toUpperCase() + name.slice(1), + origName = name, + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in style ) { + return name; + } + } + + return origName; +} + +function isHidden( elem, el ) { + // isHidden might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem ); +} + +function showHide( elements, show ) { + var display, elem, hidden, + values = [], + index = 0, + length = elements.length; + + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + values[ index ] = jQuery._data( elem, "olddisplay" ); + display = elem.style.display; + if ( show ) { + // Reset the inline display of this element to learn if it is + // being hidden by cascaded rules or not + if ( !values[ index ] && display === "none" ) { + elem.style.display = ""; + } + + // Set elements which have been overridden with display: none + // in a stylesheet to whatever the default browser style is + // for such an element + if ( elem.style.display === "" && isHidden( elem ) ) { + values[ index ] = jQuery._data( elem, "olddisplay", css_defaultDisplay(elem.nodeName) ); + } + } else { + + if ( !values[ index ] ) { + hidden = isHidden( elem ); + + if ( display && display !== "none" || !hidden ) { + jQuery._data( elem, "olddisplay", hidden ? display : jQuery.css( elem, "display" ) ); + } + } + } + } + + // Set the display of most of the elements in a second loop + // to avoid the constant reflow + for ( index = 0; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + if ( !show || elem.style.display === "none" || elem.style.display === "" ) { + elem.style.display = show ? values[ index ] || "" : "none"; + } + } + + return elements; +} + +jQuery.fn.extend({ + css: function( name, value ) { + return jQuery.access( this, function( elem, name, value ) { + var len, styles, + map = {}, + i = 0; + + if ( jQuery.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + }, + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + var bool = typeof state === "boolean"; + + return this.each(function() { + if ( bool ? state : isHidden( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + }); + } +}); + +jQuery.extend({ + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Exclude the following css properties to add px + cssNumber: { + "columnCount": true, + "fillOpacity": true, + "fontWeight": true, + "lineHeight": true, + "opacity": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: { + // normalize float css property + "float": jQuery.support.cssFloat ? "cssFloat" : "styleFloat" + }, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = jQuery.camelCase( name ), + style = elem.style; + + name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( style, origName ) ); + + // gets hook for the prefixed version + // followed by the unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // convert relative number strings (+= or -=) to relative numbers. #7345 + if ( type === "string" && (ret = rrelNum.exec( value )) ) { + value = ( ret[1] + 1 ) * ret[2] + parseFloat( jQuery.css( elem, name ) ); + // Fixes bug #9237 + type = "number"; + } + + // Make sure that NaN and null values aren't set. See: #7116 + if ( value == null || type === "number" && isNaN( value ) ) { + return; + } + + // If a number was passed in, add 'px' to the (except for certain CSS properties) + if ( type === "number" && !jQuery.cssNumber[ origName ] ) { + value += "px"; + } + + // Fixes #8908, it can be done more correctly by specifing setters in cssHooks, + // but it would mean to define eight (for every problematic property) identical functions + if ( !jQuery.support.clearCloneStyle && value === "" && name.indexOf("background") === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value, extra )) !== undefined ) { + + // Wrapped to prevent IE from throwing errors when 'invalid' values are provided + // Fixes bug #5509 + try { + style[ name ] = value; + } catch(e) {} + } + + } else { + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) { + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var num, val, hooks, + origName = jQuery.camelCase( name ); + + // Make sure that we're working with the right name + name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( elem.style, origName ) ); + + // gets hook for the prefixed version + // followed by the unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + //convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Return, converting to number if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || jQuery.isNumeric( num ) ? num || 0 : val; + } + return val; + }, + + // A method for quickly swapping in/out CSS properties to get correct calculations + swap: function( elem, options, callback, args ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.apply( elem, args || [] ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; + } +}); + +// NOTE: we've included the "window" in window.getComputedStyle +// because jsdom on node.js will break without it. +if ( window.getComputedStyle ) { + getStyles = function( elem ) { + return window.getComputedStyle( elem, null ); + }; + + curCSS = function( elem, name, _computed ) { + var width, minWidth, maxWidth, + computed = _computed || getStyles( elem ), + + // getPropertyValue is only needed for .css('filter') in IE9, see #12537 + ret = computed ? computed.getPropertyValue( name ) || computed[ name ] : undefined, + style = elem.style; + + if ( computed ) { + + if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Chrome < 17 and Safari 5.0 uses "computed value" instead of "used value" for margin-right + // Safari 5.1.7 (at least) returns percentage for a larger set of values, but width seems to be reliably pixels + // this is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values + if ( rnumnonpx.test( ret ) && rmargin.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret; + }; +} else if ( document.documentElement.currentStyle ) { + getStyles = function( elem ) { + return elem.currentStyle; + }; + + curCSS = function( elem, name, _computed ) { + var left, rs, rsLeft, + computed = _computed || getStyles( elem ), + ret = computed ? computed[ name ] : undefined, + style = elem.style; + + // Avoid setting ret to empty string here + // so we don't default to auto + if ( ret == null && style && style[ name ] ) { + ret = style[ name ]; + } + + // From the awesome hack by Dean Edwards + // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291 + + // If we're not dealing with a regular pixel number + // but a number that has a weird ending, we need to convert it to pixels + // but not position css attributes, as those are proportional to the parent element instead + // and we can't measure the parent instead because it might trigger a "stacking dolls" problem + if ( rnumnonpx.test( ret ) && !rposition.test( name ) ) { + + // Remember the original values + left = style.left; + rs = elem.runtimeStyle; + rsLeft = rs && rs.left; + + // Put in the new values to get a computed value out + if ( rsLeft ) { + rs.left = elem.currentStyle.left; + } + style.left = name === "fontSize" ? "1em" : ret; + ret = style.pixelLeft + "px"; + + // Revert the changed values + style.left = left; + if ( rsLeft ) { + rs.left = rsLeft; + } + } + + return ret === "" ? "auto" : ret; + }; +} + +function setPositiveNumber( elem, value, subtract ) { + var matches = rnumsplit.exec( value ); + return matches ? + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 1 ] - ( subtract || 0 ) ) + ( matches[ 2 ] || "px" ) : + value; +} + +function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) { + var i = extra === ( isBorderBox ? "border" : "content" ) ? + // If we already have the right measurement, avoid augmentation + 4 : + // Otherwise initialize for horizontal or vertical properties + name === "width" ? 1 : 0, + + val = 0; + + for ( ; i < 4; i += 2 ) { + // both box models exclude margin, so add it if we want it + if ( extra === "margin" ) { + val += jQuery.css( elem, extra + cssExpand[ i ], true, styles ); + } + + if ( isBorderBox ) { + // border-box includes padding, so remove it if we want content + if ( extra === "content" ) { + val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // at this point, extra isn't border nor margin, so remove border + if ( extra !== "margin" ) { + val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } else { + // at this point, extra isn't content, so add padding + val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // at this point, extra isn't content nor padding, so add border + if ( extra !== "padding" ) { + val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + return val; +} + +function getWidthOrHeight( elem, name, extra ) { + + // Start with offset property, which is equivalent to the border-box value + var valueIsBorderBox = true, + val = name === "width" ? elem.offsetWidth : elem.offsetHeight, + styles = getStyles( elem ), + isBorderBox = jQuery.support.boxSizing && jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // some non-html elements return undefined for offsetWidth, so check for null/undefined + // svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285 + // MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668 + if ( val <= 0 || val == null ) { + // Fall back to computed then uncomputed css if necessary + val = curCSS( elem, name, styles ); + if ( val < 0 || val == null ) { + val = elem.style[ name ]; + } + + // Computed unit is not pixels. Stop here and return. + if ( rnumnonpx.test(val) ) { + return val; + } + + // we need the check for style in case a browser which returns unreliable values + // for getComputedStyle silently falls back to the reliable elem.style + valueIsBorderBox = isBorderBox && ( jQuery.support.boxSizingReliable || val === elem.style[ name ] ); + + // Normalize "", auto, and prepare for extra + val = parseFloat( val ) || 0; + } + + // use the active box-sizing model to add/subtract irrelevant styles + return ( val + + augmentWidthOrHeight( + elem, + name, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles + ) + ) + "px"; +} + +// Try to determine the default display value of an element +function css_defaultDisplay( nodeName ) { + var doc = document, + display = elemdisplay[ nodeName ]; + + if ( !display ) { + display = actualDisplay( nodeName, doc ); + + // If the simple way fails, read from inside an iframe + if ( display === "none" || !display ) { + // Use the already-created iframe if possible + iframe = ( iframe || + jQuery("<iframe frameborder='0' width='0' height='0'/>") + .css( "cssText", "display:block !important" ) + ).appendTo( doc.documentElement ); + + // Always write a new HTML skeleton so Webkit and Firefox don't choke on reuse + doc = ( iframe[0].contentWindow || iframe[0].contentDocument ).document; + doc.write("<!doctype html><html><body>"); + doc.close(); + + display = actualDisplay( nodeName, doc ); + iframe.detach(); + } + + // Store the correct default display + elemdisplay[ nodeName ] = display; + } + + return display; +} + +// Called ONLY from within css_defaultDisplay +function actualDisplay( name, doc ) { + var elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ), + display = jQuery.css( elem[0], "display" ); + elem.remove(); + return display; +} + +jQuery.each([ "height", "width" ], function( i, name ) { + jQuery.cssHooks[ name ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + // certain elements can have dimension info if we invisibly show them + // however, it must have a current display style that would benefit from this + return elem.offsetWidth === 0 && rdisplayswap.test( jQuery.css( elem, "display" ) ) ? + jQuery.swap( elem, cssShow, function() { + return getWidthOrHeight( elem, name, extra ); + }) : + getWidthOrHeight( elem, name, extra ); + } + }, + + set: function( elem, value, extra ) { + var styles = extra && getStyles( elem ); + return setPositiveNumber( elem, value, extra ? + augmentWidthOrHeight( + elem, + name, + extra, + jQuery.support.boxSizing && jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + styles + ) : 0 + ); + } + }; +}); + +if ( !jQuery.support.opacity ) { + jQuery.cssHooks.opacity = { + get: function( elem, computed ) { + // IE uses filters for opacity + return ropacity.test( (computed && elem.currentStyle ? elem.currentStyle.filter : elem.style.filter) || "" ) ? + ( 0.01 * parseFloat( RegExp.$1 ) ) + "" : + computed ? "1" : ""; + }, + + set: function( elem, value ) { + var style = elem.style, + currentStyle = elem.currentStyle, + opacity = jQuery.isNumeric( value ) ? "alpha(opacity=" + value * 100 + ")" : "", + filter = currentStyle && currentStyle.filter || style.filter || ""; + + // IE has trouble with opacity if it does not have layout + // Force it by setting the zoom level + style.zoom = 1; + + // if setting opacity to 1, and no other filters exist - attempt to remove filter attribute #6652 + // if value === "", then remove inline opacity #12685 + if ( ( value >= 1 || value === "" ) && + jQuery.trim( filter.replace( ralpha, "" ) ) === "" && + style.removeAttribute ) { + + // Setting style.filter to null, "" & " " still leave "filter:" in the cssText + // if "filter:" is present at all, clearType is disabled, we want to avoid this + // style.removeAttribute is IE Only, but so apparently is this code path... + style.removeAttribute( "filter" ); + + // if there is no filter style applied in a css rule or unset inline opacity, we are done + if ( value === "" || currentStyle && !currentStyle.filter ) { + return; + } + } + + // otherwise, set new filter values + style.filter = ralpha.test( filter ) ? + filter.replace( ralpha, opacity ) : + filter + " " + opacity; + } + }; +} + +// These hooks cannot be added until DOM ready because the support test +// for it is not run until after DOM ready +jQuery(function() { + if ( !jQuery.support.reliableMarginRight ) { + jQuery.cssHooks.marginRight = { + get: function( elem, computed ) { + if ( computed ) { + // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right + // Work around by temporarily setting element display to inline-block + return jQuery.swap( elem, { "display": "inline-block" }, + curCSS, [ elem, "marginRight" ] ); + } + } + }; + } + + // Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084 + // getComputedStyle returns percent when specified for top/left/bottom/right + // rather than make the css module depend on the offset module, we just check for it here + if ( !jQuery.support.pixelPosition && jQuery.fn.position ) { + jQuery.each( [ "top", "left" ], function( i, prop ) { + jQuery.cssHooks[ prop ] = { + get: function( elem, computed ) { + if ( computed ) { + computed = curCSS( elem, prop ); + // if curCSS returns percentage, fallback to offset + return rnumnonpx.test( computed ) ? + jQuery( elem ).position()[ prop ] + "px" : + computed; + } + } + }; + }); + } + +}); + +if ( jQuery.expr && jQuery.expr.filters ) { + jQuery.expr.filters.hidden = function( elem ) { + // Support: Opera <= 12.12 + // Opera reports offsetWidths and offsetHeights less than zero on some elements + return elem.offsetWidth <= 0 && elem.offsetHeight <= 0 || + (!jQuery.support.reliableHiddenOffsets && ((elem.style && elem.style.display) || jQuery.css( elem, "display" )) === "none"); + }; + + jQuery.expr.filters.visible = function( elem ) { + return !jQuery.expr.filters.hidden( elem ); + }; +} + +// These hooks are used by animate to expand properties +jQuery.each({ + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // assumes a single number if not a string + parts = typeof value === "string" ? value.split(" ") : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( !rmargin.test( prefix ) ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +}); +var r20 = /%20/g, + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +jQuery.fn.extend({ + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map(function(){ + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + }) + .filter(function(){ + var type = this.type; + // Use .is(":disabled") so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !manipulation_rcheckableType.test( type ) ); + }) + .map(function( i, elem ){ + var val = jQuery( this ).val(); + + return val == null ? + null : + jQuery.isArray( val ) ? + jQuery.map( val, function( val ){ + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + }) : + { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + }).get(); + } +}); + +//Serialize an array of form elements or a set of +//key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, value ) { + // If value is a function, invoke it and return its value + value = jQuery.isFunction( value ) ? value() : ( value == null ? "" : value ); + s[ s.length ] = encodeURIComponent( key ) + "=" + encodeURIComponent( value ); + }; + + // Set traditional to true for jQuery <= 1.3.2 behavior. + if ( traditional === undefined ) { + traditional = jQuery.ajaxSettings && jQuery.ajaxSettings.traditional; + } + + // If an array was passed in, assume that it is an array of form elements. + if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + }); + + } else { + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ).replace( r20, "+" ); +}; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( jQuery.isArray( obj ) ) { + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + // Item is non-scalar (array or object), encode its numeric index. + buildParams( prefix + "[" + ( typeof v === "object" ? i : "" ) + "]", v, traditional, add ); + } + }); + + } else if ( !traditional && jQuery.type( obj ) === "object" ) { + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + // Serialize scalar item. + add( prefix, obj ); + } +} +jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " + + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + + "change select submit keydown keypress keyup error contextmenu").split(" "), function( i, name ) { + + // Handle event binding + jQuery.fn[ name ] = function( data, fn ) { + return arguments.length > 0 ? + this.on( name, null, data, fn ) : + this.trigger( name ); + }; +}); + +jQuery.fn.hover = function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); +}; +var + // Document location + ajaxLocParts, + ajaxLocation, + ajax_nonce = jQuery.now(), + + ajax_rquery = /\?/, + rhash = /#.*$/, + rts = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg, // IE leaves an \r character at EOL + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + rurl = /^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/, + + // Keep a copy of the old load method + _load = jQuery.fn.load, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat("*"); + +// #8138, IE may throw an exception when accessing +// a field from window.location if document.domain has been set +try { + ajaxLocation = location.href; +} catch( e ) { + // Use the href attribute of an A element + // since IE will modify it given document.location + ajaxLocation = document.createElement( "a" ); + ajaxLocation.href = ""; + ajaxLocation = ajaxLocation.href; +} + +// Segment location into parts +ajaxLocParts = rurl.exec( ajaxLocation.toLowerCase() ) || []; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( core_rnotwhite ) || []; + + if ( jQuery.isFunction( func ) ) { + // For each dataType in the dataTypeExpression + while ( (dataType = dataTypes[i++]) ) { + // Prepend if requested + if ( dataType[0] === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + (structure[ dataType ] = structure[ dataType ] || []).unshift( func ); + + // Otherwise append + } else { + (structure[ dataType ] = structure[ dataType ] || []).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if( typeof dataTypeOrTransport === "string" && !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + }); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var deep, key, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || (deep = {}) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +jQuery.fn.load = function( url, params, callback ) { + if ( typeof url !== "string" && _load ) { + return _load.apply( this, arguments ); + } + + var selector, response, type, + self = this, + off = url.indexOf(" "); + + if ( off >= 0 ) { + selector = url.slice( off, url.length ); + url = url.slice( 0, off ); + } + + // If it's a function + if ( jQuery.isFunction( params ) ) { + + // We assume that it's the callback + callback = params; + params = undefined; + + // Otherwise, build a param string + } else if ( params && typeof params === "object" ) { + type = "POST"; + } + + // If we have elements to modify, make the request + if ( self.length > 0 ) { + jQuery.ajax({ + url: url, + + // if "type" variable is undefined, then "GET" method will be used + type: type, + dataType: "html", + data: params + }).done(function( responseText ) { + + // Save response for use in complete callback + response = arguments; + + self.html( selector ? + + // If a selector was specified, locate the right elements in a dummy div + // Exclude scripts to avoid IE 'Permission Denied' errors + jQuery("<div>").append( jQuery.parseHTML( responseText ) ).find( selector ) : + + // Otherwise use the full result + responseText ); + + }).complete( callback && function( jqXHR, status ) { + self.each( callback, response || [ jqXHR.responseText, status, jqXHR ] ); + }); + } + + return this; +}; + +// Attach a bunch of functions for handling common AJAX events +jQuery.each( [ "ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend" ], function( i, type ){ + jQuery.fn[ type ] = function( fn ){ + return this.on( type, fn ); + }; +}); + +jQuery.each( [ "get", "post" ], function( i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + // shift arguments if data argument was omitted + if ( jQuery.isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + return jQuery.ajax({ + url: url, + type: method, + dataType: type, + data: data, + success: callback + }); + }; +}); + +jQuery.extend({ + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: ajaxLocation, + type: "GET", + isLocal: rlocalProtocol.test( ajaxLocParts[ 1 ] ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + + contents: { + xml: /xml/, + html: /html/, + json: /json/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": window.String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": jQuery.parseJSON, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var // Cross-domain detection vars + parts, + // Loop variable + i, + // URL without anti-cache param + cacheURL, + // Response headers as string + responseHeadersString, + // timeout handle + timeoutTimer, + + // To know if global events are to be dispatched + fireGlobals, + + transport, + // Response headers + responseHeaders, + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + // Callbacks context + callbackContext = s.context || s, + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks("once memory"), + // Status-dependent callbacks + statusCode = s.statusCode || {}, + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + // The jqXHR state + state = 0, + // Default abort message + strAbort = "canceled", + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( state === 2 ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( (match = rheaders.exec( responseHeadersString )) ) { + responseHeaders[ match[1].toLowerCase() ] = match[ 2 ]; + } + } + match = responseHeaders[ key.toLowerCase() ]; + } + return match == null ? null : match; + }, + + // Raw string + getAllResponseHeaders: function() { + return state === 2 ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + var lname = name.toLowerCase(); + if ( !state ) { + name = requestHeadersNames[ lname ] = requestHeadersNames[ lname ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( !state ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( state < 2 ) { + for ( code in map ) { + // Lazy-add the new callback in a way that preserves old ones + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } else { + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ).complete = completeDeferred.add; + jqXHR.success = jqXHR.done; + jqXHR.error = jqXHR.fail; + + // Remove hash character (#7531: and string promotion) + // Add protocol if not provided (#5866: IE7 issue with protocol-less urls) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || ajaxLocation ) + "" ).replace( rhash, "" ).replace( rprotocol, ajaxLocParts[ 1 ] + "//" ); + + // Alias method option to type as per ticket #12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = jQuery.trim( s.dataType || "*" ).toLowerCase().match( core_rnotwhite ) || [""]; + + // A cross-domain request is in order when we have a protocol:host:port mismatch + if ( s.crossDomain == null ) { + parts = rurl.exec( s.url.toLowerCase() ); + s.crossDomain = !!( parts && + ( parts[ 1 ] !== ajaxLocParts[ 1 ] || parts[ 2 ] !== ajaxLocParts[ 2 ] || + ( parts[ 3 ] || ( parts[ 1 ] === "http:" ? 80 : 443 ) ) != + ( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === "http:" ? 80 : 443 ) ) ) + ); + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( state === 2 ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + fireGlobals = s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger("ajaxStart"); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + cacheURL = s.url; + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // If data is available, append data to url + if ( s.data ) { + cacheURL = ( s.url += ( ajax_rquery.test( cacheURL ) ? "&" : "?" ) + s.data ); + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add anti-cache in url if needed + if ( s.cache === false ) { + s.url = rts.test( cacheURL ) ? + + // If there is already a '_' parameter, set its value + cacheURL.replace( rts, "$1_=" + ajax_nonce++ ) : + + // Otherwise add one to the end + cacheURL + ( ajax_rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ajax_nonce++; + } + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[0] ] ? + s.accepts[ s.dataTypes[0] ] + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || state === 2 ) ) { + // Abort if not done already and return + return jqXHR.abort(); + } + + // aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + for ( i in { success: 1, error: 1, complete: 1 } ) { + jqXHR[ i ]( s[ i ] ); + } + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = setTimeout(function() { + jqXHR.abort("timeout"); + }, s.timeout ); + } + + try { + state = 1; + transport.send( requestHeaders, done ); + } catch ( e ) { + // Propagate exception as error if not done + if ( state < 2 ) { + done( -1, e ); + // Simply rethrow otherwise + } else { + throw e; + } + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Called once + if ( state === 2 ) { + return; + } + + // State is "done" now + state = 2; + + // Clear timeout if it exists + if ( timeoutTimer ) { + clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // If successful, handle type chaining + if ( status >= 200 && status < 300 || status === 304 ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader("Last-Modified"); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader("etag"); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 ) { + isSuccess = true; + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + isSuccess = true; + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + isSuccess = ajaxConvert( s, response ); + statusText = isSuccess.state; + success = isSuccess.data; + error = isSuccess.error; + isSuccess = !error; + } + } else { + // We extract error from statusText + // then normalize statusText and status for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger("ajaxStop"); + } + } + } + + return jqXHR; + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + } +}); + +/* Handles responses to an ajax request: + * - sets all responseXXX fields accordingly + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + var firstDataType, ct, finalDataType, type, + contents = s.contents, + dataTypes = s.dataTypes, + responseFields = s.responseFields; + + // Fill responseXXX fields + for ( type in responseFields ) { + if ( type in responses ) { + jqXHR[ responseFields[type] ] = responses[ type ]; + } + } + + // Remove auto dataType and get content-type in the process + while( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader("Content-Type"); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[0] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +// Chain conversions given the request and the original response +function ajaxConvert( s, response ) { + var conv2, current, conv, tmp, + converters = {}, + i = 0, + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(), + prev = dataTypes[ 0 ]; + + // Apply the dataFilter if provided + if ( s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + // Convert to each sequential dataType, tolerating list modification + for ( ; (current = dataTypes[++i]); ) { + + // There's only work to do if current dataType is non-auto + if ( current !== "*" ) { + + // Convert response if prev dataType is non-auto and differs from current + if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split(" "); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.splice( i--, 0, current ); + } + + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s["throws"] ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { state: "parsererror", error: conv ? e : "No conversion from " + prev + " to " + current }; + } + } + } + } + + // Update prev for next iteration + prev = current; + } + } + + return { state: "success", data: response }; +} +// Install script dataType +jQuery.ajaxSetup({ + accepts: { + script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /(?:java|ecma)script/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +}); + +// Handle cache's special case and global +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + s.global = false; + } +}); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function(s) { + + // This transport only deals with cross domain requests + if ( s.crossDomain ) { + + var script, + head = document.head || jQuery("head")[0] || document.documentElement; + + return { + + send: function( _, callback ) { + + script = document.createElement("script"); + + script.async = true; + + if ( s.scriptCharset ) { + script.charset = s.scriptCharset; + } + + script.src = s.url; + + // Attach handlers for all browsers + script.onload = script.onreadystatechange = function( _, isAbort ) { + + if ( isAbort || !script.readyState || /loaded|complete/.test( script.readyState ) ) { + + // Handle memory leak in IE + script.onload = script.onreadystatechange = null; + + // Remove the script + if ( script.parentNode ) { + script.parentNode.removeChild( script ); + } + + // Dereference the script + script = null; + + // Callback if not abort + if ( !isAbort ) { + callback( 200, "success" ); + } + } + }; + + // Circumvent IE6 bugs with base elements (#2709 and #4378) by prepending + // Use native DOM manipulation to avoid our domManip AJAX trickery + head.insertBefore( script, head.firstChild ); + }, + + abort: function() { + if ( script ) { + script.onload( undefined, true ); + } + } + }; + } +}); +var oldCallbacks = [], + rjsonp = /(=)\?(?=&|$)|\?\?/; + +// Default jsonp settings +jQuery.ajaxSetup({ + jsonp: "callback", + jsonpCallback: function() { + var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( ajax_nonce++ ) ); + this[ callback ] = true; + return callback; + } +}); + +// Detect, normalize options and install callbacks for jsonp requests +jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { + + var callbackName, overwritten, responseContainer, + jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ? + "url" : + typeof s.data === "string" && !( s.contentType || "" ).indexOf("application/x-www-form-urlencoded") && rjsonp.test( s.data ) && "data" + ); + + // Handle iff the expected data type is "jsonp" or we have a parameter to set + if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) { + + // Get callback name, remembering preexisting value associated with it + callbackName = s.jsonpCallback = jQuery.isFunction( s.jsonpCallback ) ? + s.jsonpCallback() : + s.jsonpCallback; + + // Insert callback into url or form data + if ( jsonProp ) { + s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName ); + } else if ( s.jsonp !== false ) { + s.url += ( ajax_rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName; + } + + // Use data converter to retrieve json after script execution + s.converters["script json"] = function() { + if ( !responseContainer ) { + jQuery.error( callbackName + " was not called" ); + } + return responseContainer[ 0 ]; + }; + + // force json dataType + s.dataTypes[ 0 ] = "json"; + + // Install callback + overwritten = window[ callbackName ]; + window[ callbackName ] = function() { + responseContainer = arguments; + }; + + // Clean-up function (fires after converters) + jqXHR.always(function() { + // Restore preexisting value + window[ callbackName ] = overwritten; + + // Save back as free + if ( s[ callbackName ] ) { + // make sure that re-using the options doesn't screw things around + s.jsonpCallback = originalSettings.jsonpCallback; + + // save the callback name for future use + oldCallbacks.push( callbackName ); + } + + // Call if it was a function and we have a response + if ( responseContainer && jQuery.isFunction( overwritten ) ) { + overwritten( responseContainer[ 0 ] ); + } + + responseContainer = overwritten = undefined; + }); + + // Delegate to script + return "script"; + } +}); +var xhrCallbacks, xhrSupported, + xhrId = 0, + // #5280: Internet Explorer will keep connections alive if we don't abort on unload + xhrOnUnloadAbort = window.ActiveXObject && function() { + // Abort all pending requests + var key; + for ( key in xhrCallbacks ) { + xhrCallbacks[ key ]( undefined, true ); + } + }; + +// Functions to create xhrs +function createStandardXHR() { + try { + return new window.XMLHttpRequest(); + } catch( e ) {} +} + +function createActiveXHR() { + try { + return new window.ActiveXObject("Microsoft.XMLHTTP"); + } catch( e ) {} +} + +// Create the request object +// (This is still attached to ajaxSettings for backward compatibility) +jQuery.ajaxSettings.xhr = window.ActiveXObject ? + /* Microsoft failed to properly + * implement the XMLHttpRequest in IE7 (can't request local files), + * so we use the ActiveXObject when it is available + * Additionally XMLHttpRequest can be disabled in IE7/IE8 so + * we need a fallback. + */ + function() { + return !this.isLocal && createStandardXHR() || createActiveXHR(); + } : + // For all other browsers, use the standard XMLHttpRequest object + createStandardXHR; + +// Determine support properties +xhrSupported = jQuery.ajaxSettings.xhr(); +jQuery.support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +xhrSupported = jQuery.support.ajax = !!xhrSupported; + +// Create transport if the browser can provide an xhr +if ( xhrSupported ) { + + jQuery.ajaxTransport(function( s ) { + // Cross domain only allowed if supported through XMLHttpRequest + if ( !s.crossDomain || jQuery.support.cors ) { + + var callback; + + return { + send: function( headers, complete ) { + + // Get a new xhr + var handle, i, + xhr = s.xhr(); + + // Open the socket + // Passing null username, generates a login popup on Opera (#2865) + if ( s.username ) { + xhr.open( s.type, s.url, s.async, s.username, s.password ); + } else { + xhr.open( s.type, s.url, s.async ); + } + + // Apply custom fields if provided + if ( s.xhrFields ) { + for ( i in s.xhrFields ) { + xhr[ i ] = s.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( s.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( s.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !s.crossDomain && !headers["X-Requested-With"] ) { + headers["X-Requested-With"] = "XMLHttpRequest"; + } + + // Need an extra try/catch for cross domain requests in Firefox 3 + try { + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + } catch( err ) {} + + // Do send the request + // This may raise an exception which is actually + // handled in jQuery.ajax (so no try/catch here) + xhr.send( ( s.hasContent && s.data ) || null ); + + // Listener + callback = function( _, isAbort ) { + var status, responseHeaders, statusText, responses; + + // Firefox throws exceptions when accessing properties + // of an xhr when a network error occurred + // http://helpful.knobs-dials.com/index.php/Component_returned_failure_code:_0x80040111_(NS_ERROR_NOT_AVAILABLE) + try { + + // Was never called and is aborted or complete + if ( callback && ( isAbort || xhr.readyState === 4 ) ) { + + // Only called once + callback = undefined; + + // Do not keep as active anymore + if ( handle ) { + xhr.onreadystatechange = jQuery.noop; + if ( xhrOnUnloadAbort ) { + delete xhrCallbacks[ handle ]; + } + } + + // If it's an abort + if ( isAbort ) { + // Abort it manually if needed + if ( xhr.readyState !== 4 ) { + xhr.abort(); + } + } else { + responses = {}; + status = xhr.status; + responseHeaders = xhr.getAllResponseHeaders(); + + // When requesting binary data, IE6-9 will throw an exception + // on any attempt to access responseText (#11426) + if ( typeof xhr.responseText === "string" ) { + responses.text = xhr.responseText; + } + + // Firefox throws an exception when accessing + // statusText for faulty cross-domain requests + try { + statusText = xhr.statusText; + } catch( e ) { + // We normalize with Webkit giving an empty statusText + statusText = ""; + } + + // Filter status for non standard behaviors + + // If the request is local and we have data: assume a success + // (success with no data won't get notified, that's the best we + // can do given current implementations) + if ( !status && s.isLocal && !s.crossDomain ) { + status = responses.text ? 200 : 404; + // IE - #1450: sometimes returns 1223 when it should be 204 + } else if ( status === 1223 ) { + status = 204; + } + } + } + } catch( firefoxAccessException ) { + if ( !isAbort ) { + complete( -1, firefoxAccessException ); + } + } + + // Call complete if needed + if ( responses ) { + complete( status, statusText, responses, responseHeaders ); + } + }; + + if ( !s.async ) { + // if we're in sync mode we fire the callback + callback(); + } else if ( xhr.readyState === 4 ) { + // (IE6 & IE7) if it's in cache and has been + // retrieved directly we need to fire the callback + setTimeout( callback ); + } else { + handle = ++xhrId; + if ( xhrOnUnloadAbort ) { + // Create the active xhrs callbacks list if needed + // and attach the unload handler + if ( !xhrCallbacks ) { + xhrCallbacks = {}; + jQuery( window ).unload( xhrOnUnloadAbort ); + } + // Add to list of active xhrs callbacks + xhrCallbacks[ handle ] = callback; + } + xhr.onreadystatechange = callback; + } + }, + + abort: function() { + if ( callback ) { + callback( undefined, true ); + } + } + }; + } + }); +} +var fxNow, timerId, + rfxtypes = /^(?:toggle|show|hide)$/, + rfxnum = new RegExp( "^(?:([+-])=|)(" + core_pnum + ")([a-z%]*)$", "i" ), + rrun = /queueHooks$/, + animationPrefilters = [ defaultPrefilter ], + tweeners = { + "*": [function( prop, value ) { + var end, unit, + tween = this.createTween( prop, value ), + parts = rfxnum.exec( value ), + target = tween.cur(), + start = +target || 0, + scale = 1, + maxIterations = 20; + + if ( parts ) { + end = +parts[2]; + unit = parts[3] || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + + // We need to compute starting value + if ( unit !== "px" && start ) { + // Iteratively approximate from a nonzero starting point + // Prefer the current property, because this process will be trivial if it uses the same units + // Fallback to end or a simple constant + start = jQuery.css( tween.elem, prop, true ) || end || 1; + + do { + // If previous iteration zeroed out, double until we get *something* + // Use a string for doubling factor so we don't accidentally see scale as unchanged below + scale = scale || ".5"; + + // Adjust and apply + start = start / scale; + jQuery.style( tween.elem, prop, start + unit ); + + // Update scale, tolerating zero or NaN from tween.cur() + // And breaking the loop if scale is unchanged or perfect, or if we've just had enough + } while ( scale !== (scale = tween.cur() / target) && scale !== 1 && --maxIterations ); + } + + tween.unit = unit; + tween.start = start; + // If a +=/-= token was provided, we're doing a relative animation + tween.end = parts[1] ? start + ( parts[1] + 1 ) * end : end; + } + return tween; + }] + }; + +// Animations created synchronously will run synchronously +function createFxNow() { + setTimeout(function() { + fxNow = undefined; + }); + return ( fxNow = jQuery.now() ); +} + +function createTweens( animation, props ) { + jQuery.each( props, function( prop, value ) { + var collection = ( tweeners[ prop ] || [] ).concat( tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( collection[ index ].call( animation, prop, value ) ) { + + // we're done with this property + return; + } + } + }); +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = animationPrefilters.length, + deferred = jQuery.Deferred().always( function() { + // don't match elem in the :animated selector + delete tick.elem; + }), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + // archaic crash bug won't allow us to use 1 - ( 0.5 || 0 ) (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length ; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ]); + + if ( percent < 1 && length ) { + return remaining; + } else { + deferred.resolveWith( elem, [ animation ] ); + return false; + } + }, + animation = deferred.promise({ + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { specialEasing: {} }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + // if we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length ; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // resolve when we played the last frame + // otherwise, reject + if ( gotoEnd ) { + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + }), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length ; index++ ) { + result = animationPrefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + return result; + } + } + + createTweens( animation, props ); + + if ( jQuery.isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + }) + ); + + // attach callbacks from options + return animation.progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); +} + +function propFilter( props, specialEasing ) { + var value, name, index, easing, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = jQuery.camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( jQuery.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // not quite $.extend, this wont overwrite keys already present. + // also - reusing 'index' from above because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweener: function( props, callback ) { + if ( jQuery.isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.split(" "); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length ; index++ ) { + prop = props[ index ]; + tweeners[ prop ] = tweeners[ prop ] || []; + tweeners[ prop ].unshift( callback ); + } + }, + + prefilter: function( callback, prepend ) { + if ( prepend ) { + animationPrefilters.unshift( callback ); + } else { + animationPrefilters.push( callback ); + } + } +}); + +function defaultPrefilter( elem, props, opts ) { + /*jshint validthis:true */ + var prop, index, length, + value, dataShow, toggle, + tween, hooks, oldfire, + anim = this, + style = elem.style, + orig = {}, + handled = [], + hidden = elem.nodeType && isHidden( elem ); + + // handle queue: false promises + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always(function() { + // doing this makes sure that the complete handler will be called + // before this completes + anim.always(function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + }); + }); + } + + // height/width overflow pass + if ( elem.nodeType === 1 && ( "height" in props || "width" in props ) ) { + // Make sure that nothing sneaks out + // Record all 3 overflow attributes because IE does not + // change the overflow attribute when overflowX and + // overflowY are set to the same value + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Set display property to inline-block for height/width + // animations on inline elements that are having width/height animated + if ( jQuery.css( elem, "display" ) === "inline" && + jQuery.css( elem, "float" ) === "none" ) { + + // inline-level elements accept inline-block; + // block-level elements need to be inline with layout + if ( !jQuery.support.inlineBlockNeedsLayout || css_defaultDisplay( elem.nodeName ) === "inline" ) { + style.display = "inline-block"; + + } else { + style.zoom = 1; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + if ( !jQuery.support.shrinkWrapBlocks ) { + anim.always(function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + }); + } + } + + + // show/hide pass + for ( index in props ) { + value = props[ index ]; + if ( rfxtypes.exec( value ) ) { + delete props[ index ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + continue; + } + handled.push( index ); + } + } + + length = handled.length; + if ( length ) { + dataShow = jQuery._data( elem, "fxshow" ) || jQuery._data( elem, "fxshow", {} ); + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + + // store state if its toggle - enables .stop().toggle() to "reverse" + if ( toggle ) { + dataShow.hidden = !hidden; + } + if ( hidden ) { + jQuery( elem ).show(); + } else { + anim.done(function() { + jQuery( elem ).hide(); + }); + } + anim.done(function() { + var prop; + jQuery._removeData( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + }); + for ( index = 0 ; index < length ; index++ ) { + prop = handled[ index ]; + tween = anim.createTween( prop, hidden ? dataShow[ prop ] : 0 ); + orig[ prop ] = dataShow[ prop ] || jQuery.style( elem, prop ); + + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = tween.start; + if ( hidden ) { + tween.end = tween.start; + tween.start = prop === "width" || prop === "height" ? 1 : 0; + } + } + } + } +} + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || "swing"; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + if ( tween.elem[ tween.prop ] != null && + (!tween.elem.style || tween.elem.style[ tween.prop ] == null) ) { + return tween.elem[ tween.prop ]; + } + + // passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails + // so, simple values such as "10px" are parsed to Float. + // complex values such as "rotate(1rad)" are returned as is. + result = jQuery.css( tween.elem, tween.prop, "" ); + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + // use step hook for back compat - use cssHook if its there - use .style if its + // available and use plain properties where available + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.style && ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || jQuery.cssHooks[ tween.prop ] ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Remove in 2.0 - this supports IE8's panic based approach +// to setting things on disconnected nodes + +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.each([ "toggle", "show", "hide" ], function( i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +}); + +jQuery.fn.extend({ + fadeTo: function( speed, to, easing, callback ) { + + // show any hidden elements after setting opacity to 0 + return this.filter( isHidden ).css( "opacity", 0 ).show() + + // animate to the value specified + .end().animate({ opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + doAnimation.finish = function() { + anim.stop( true ); + }; + // Empty animations, or finishing resolves immediately + if ( empty || jQuery._data( this, "finish" ) ) { + anim.stop( true ); + } + }; + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue && type !== false ) { + this.queue( type || "fx", [] ); + } + + return this.each(function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = jQuery._data( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && (type == null || timers[ index ].queue === type) ) { + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // start the next in the queue if the last step wasn't forced + // timers currently will call their complete callbacks, which will dequeue + // but only if they were gotoEnd + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + }); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each(function() { + var index, + data = jQuery._data( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // enable finishing flag on private data + data.finish = true; + + // empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.cur && hooks.cur.finish ) { + hooks.cur.finish.call( this ); + } + + // look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // turn off finishing flag + delete data.finish; + }); + } +}); + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + attrs = { height: type }, + i = 0; + + // if we include width, step value is 1 to do all cssExpand values, + // if we don't include width, step value is 2 to skip over Left and Right + includeWidth = includeWidth? 1 : 0; + for( ; i < 4 ; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +// Generate shortcuts for custom animations +jQuery.each({ + slideDown: genFx("show"), + slideUp: genFx("hide"), + slideToggle: genFx("toggle"), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +}); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + jQuery.isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing + }; + + opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration : + opt.duration in jQuery.fx.speeds ? jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default; + + // normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( jQuery.isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p*Math.PI ) / 2; + } +}; + +jQuery.timers = []; +jQuery.fx = Tween.prototype.init; +jQuery.fx.tick = function() { + var timer, + timers = jQuery.timers, + i = 0; + + fxNow = jQuery.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + // Checks the timer has not already been removed + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + if ( timer() && jQuery.timers.push( timer ) ) { + jQuery.fx.start(); + } +}; + +jQuery.fx.interval = 13; + +jQuery.fx.start = function() { + if ( !timerId ) { + timerId = setInterval( jQuery.fx.tick, jQuery.fx.interval ); + } +}; + +jQuery.fx.stop = function() { + clearInterval( timerId ); + timerId = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + // Default speed + _default: 400 +}; + +// Back Compat <1.8 extension point +jQuery.fx.step = {}; + +if ( jQuery.expr && jQuery.expr.filters ) { + jQuery.expr.filters.animated = function( elem ) { + return jQuery.grep(jQuery.timers, function( fn ) { + return elem === fn.elem; + }).length; + }; +} +jQuery.fn.offset = function( options ) { + if ( arguments.length ) { + return options === undefined ? + this : + this.each(function( i ) { + jQuery.offset.setOffset( this, options, i ); + }); + } + + var docElem, win, + box = { top: 0, left: 0 }, + elem = this[ 0 ], + doc = elem && elem.ownerDocument; + + if ( !doc ) { + return; + } + + docElem = doc.documentElement; + + // Make sure it's not a disconnected DOM node + if ( !jQuery.contains( docElem, elem ) ) { + return box; + } + + // If we don't have gBCR, just use 0,0 rather than error + // BlackBerry 5, iOS 3 (original iPhone) + if ( typeof elem.getBoundingClientRect !== core_strundefined ) { + box = elem.getBoundingClientRect(); + } + win = getWindow( doc ); + return { + top: box.top + ( win.pageYOffset || docElem.scrollTop ) - ( docElem.clientTop || 0 ), + left: box.left + ( win.pageXOffset || docElem.scrollLeft ) - ( docElem.clientLeft || 0 ) + }; +}; + +jQuery.offset = { + + setOffset: function( elem, options, i ) { + var position = jQuery.css( elem, "position" ); + + // set position first, in-case top/left are set even on static elem + if ( position === "static" ) { + elem.style.position = "relative"; + } + + var curElem = jQuery( elem ), + curOffset = curElem.offset(), + curCSSTop = jQuery.css( elem, "top" ), + curCSSLeft = jQuery.css( elem, "left" ), + calculatePosition = ( position === "absolute" || position === "fixed" ) && jQuery.inArray("auto", [curCSSTop, curCSSLeft]) > -1, + props = {}, curPosition = {}, curTop, curLeft; + + // need to be able to calculate position if either top or left is auto and position is either absolute or fixed + if ( calculatePosition ) { + curPosition = curElem.position(); + curTop = curPosition.top; + curLeft = curPosition.left; + } else { + curTop = parseFloat( curCSSTop ) || 0; + curLeft = parseFloat( curCSSLeft ) || 0; + } + + if ( jQuery.isFunction( options ) ) { + options = options.call( elem, i, curOffset ); + } + + if ( options.top != null ) { + props.top = ( options.top - curOffset.top ) + curTop; + } + if ( options.left != null ) { + props.left = ( options.left - curOffset.left ) + curLeft; + } + + if ( "using" in options ) { + options.using.call( elem, props ); + } else { + curElem.css( props ); + } + } +}; + + +jQuery.fn.extend({ + + position: function() { + if ( !this[ 0 ] ) { + return; + } + + var offsetParent, offset, + parentOffset = { top: 0, left: 0 }, + elem = this[ 0 ]; + + // fixed elements are offset from window (parentOffset = {top:0, left: 0}, because it is it's only offset parent + if ( jQuery.css( elem, "position" ) === "fixed" ) { + // we assume that getBoundingClientRect is available when computed position is fixed + offset = elem.getBoundingClientRect(); + } else { + // Get *real* offsetParent + offsetParent = this.offsetParent(); + + // Get correct offsets + offset = this.offset(); + if ( !jQuery.nodeName( offsetParent[ 0 ], "html" ) ) { + parentOffset = offsetParent.offset(); + } + + // Add offsetParent borders + parentOffset.top += jQuery.css( offsetParent[ 0 ], "borderTopWidth", true ); + parentOffset.left += jQuery.css( offsetParent[ 0 ], "borderLeftWidth", true ); + } + + // Subtract parent offsets and element margins + // note: when an element has margin: auto the offsetLeft and marginLeft + // are the same in Safari causing offset.left to incorrectly be 0 + return { + top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ), + left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true) + }; + }, + + offsetParent: function() { + return this.map(function() { + var offsetParent = this.offsetParent || document.documentElement; + while ( offsetParent && ( !jQuery.nodeName( offsetParent, "html" ) && jQuery.css( offsetParent, "position") === "static" ) ) { + offsetParent = offsetParent.offsetParent; + } + return offsetParent || document.documentElement; + }); + } +}); + + +// Create scrollLeft and scrollTop methods +jQuery.each( {scrollLeft: "pageXOffset", scrollTop: "pageYOffset"}, function( method, prop ) { + var top = /Y/.test( prop ); + + jQuery.fn[ method ] = function( val ) { + return jQuery.access( this, function( elem, method, val ) { + var win = getWindow( elem ); + + if ( val === undefined ) { + return win ? (prop in win) ? win[ prop ] : + win.document.documentElement[ method ] : + elem[ method ]; + } + + if ( win ) { + win.scrollTo( + !top ? val : jQuery( win ).scrollLeft(), + top ? val : jQuery( win ).scrollTop() + ); + + } else { + elem[ method ] = val; + } + }, method, val, arguments.length, null ); + }; +}); + +function getWindow( elem ) { + return jQuery.isWindow( elem ) ? + elem : + elem.nodeType === 9 ? + elem.defaultView || elem.parentWindow : + false; +} +// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods +jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { + jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name }, function( defaultExtra, funcName ) { + // margin is only for outerHeight, outerWidth + jQuery.fn[ funcName ] = function( margin, value ) { + var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ), + extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" ); + + return jQuery.access( this, function( elem, type, value ) { + var doc; + + if ( jQuery.isWindow( elem ) ) { + // As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there + // isn't a whole lot we can do. See pull request at this URL for discussion: + // https://github.com/jquery/jquery/pull/764 + return elem.document.documentElement[ "client" + name ]; + } + + // Get document width or height + if ( elem.nodeType === 9 ) { + doc = elem.documentElement; + + // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], whichever is greatest + // unfortunately, this causes bug #3838 in IE6/8 only, but there is currently no good, small way to fix it. + return Math.max( + elem.body[ "scroll" + name ], doc[ "scroll" + name ], + elem.body[ "offset" + name ], doc[ "offset" + name ], + doc[ "client" + name ] + ); + } + + return value === undefined ? + // Get width or height on the element, requesting but not forcing parseFloat + jQuery.css( elem, type, extra ) : + + // Set width or height on the element + jQuery.style( elem, type, value, extra ); + }, type, chainable ? margin : undefined, chainable, null ); + }; + }); +}); +// Limit scope pollution from any deprecated API +// (function() { + +// })(); +// Expose jQuery to the global object +window.jQuery = window.$ = jQuery; + +// Expose jQuery as an AMD module, but only for AMD loaders that +// understand the issues with loading multiple versions of jQuery +// in a page that all might call define(). The loader will indicate +// they have special allowances for multiple jQuery versions by +// specifying define.amd.jQuery = true. Register as a named module, +// since jQuery can be concatenated with other files that may use define, +// but not use a proper concatenation script that understands anonymous +// AMD modules. A named AMD is safest and most robust way to register. +// Lowercase jquery is used because AMD module names are derived from +// file names, and jQuery is normally delivered in a lowercase file name. +// Do this after creating the global so that if an AMD module wants to call +// noConflict to hide this version of jQuery, it will work. +if ( typeof define === "function" && define.amd && define.amd.jQuery ) { + define( "jquery", [], function () { return jQuery; } ); +} + +})( window ); diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/README.md b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/README.md new file mode 100644 index 0000000..a384f97 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/README.md @@ -0,0 +1,3 @@ +# Tests from the HTML Working Group + +See: http://www.w3.org/html/wg/wiki/Testing \ No newline at end of file diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/harness/index.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/harness/index.js new file mode 100644 index 0000000..59750bc --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/harness/index.js @@ -0,0 +1,45 @@ +var fs = require('fs'); +var assert = require('assert'); +var Path = require('path'); +var domino = require('../../../lib'); + +function read(file) { + return fs.readFileSync(Path.resolve(__dirname, '..', file), 'utf8'); +} + +var testharness = read(__dirname + '/testharness.js'); + +function list(dir, fn) { + var result = {}; + dir = Path.resolve(__dirname, '..', dir); + fs.readdirSync(dir).forEach(function(file) { + var path = Path.join(dir, file); + var stat = fs.statSync(path); + if (stat.isDirectory()) { + result[file] = list(path, fn); + } + else if (file.match(/\.x?html$/)) { + var test = fn(path); + if (test) result[file] = test; + } + }); + return result; +} + +module.exports = function(path) { + return list(path, function(file) { + var html = read(file); + var window = domino.createWindow(html); + window._run(testharness); + var scripts = window.document.getElementsByTagName('script'); + if (scripts.length) { + var script = scripts[scripts.length-1]; + var code = script.textContent; + if (/assert/.test(code)) { + return function() { + window._run(code); + }; + } + } + }); +}; diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/harness/testharness.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/harness/testharness.js new file mode 100644 index 0000000..49cd5e8 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/harness/testharness.js @@ -0,0 +1,1739 @@ +/* +Distributed under both the W3C Test Suite License [1] and the W3C +3-clause BSD License [2]. To contribute to a W3C Test Suite, see the +policies and contribution forms [3]. + +[1] http://www.w3.org/Consortium/Legal/2008/04-testsuite-license +[2] http://www.w3.org/Consortium/Legal/2008/03-bsd-license +[3] http://www.w3.org/2004/10/27-testcases +*/ + +/* + * == Introduction == + * + * This file provides a framework for writing testcases. It is intended to + * provide a convenient API for making common assertions, and to work both + * for testing synchronous and asynchronous DOM features in a way that + * promotes clear, robust, tests. + * + * == Basic Usage == + * + * To use this file, import the script and the testharnessreport script into + * the test document: + * <script src="/resources/testharness.js"></script> + * <script src="/resources/testharnessreport.js"></script> + * + * Within each file one may define one or more tests. Each test is atomic + * in the sense that a single test has a single result (pass/fail/timeout). + * Within each test one may have a number of asserts. The test fails at the + * first failing assert, and the remainder of the test is (typically) not run. + * + * If the file containing the tests is a HTML file with an element of id "log" + * this will be populated with a table containing the test results after all + * the tests have run. + * + * NOTE: By default tests must be created before the load event fires. For ways + * to create tests after the load event, see "Determining when all tests are + * complete", below + * + * == Synchronous Tests == + * + * To create a synchronous test use the test() function: + * + * test(test_function, name, properties) + * + * test_function is a function that contains the code to test. For example a + * trivial passing test would be: + * + * test(function() {assert_true(true)}, "assert_true with true") + * + * The function passed in is run in the test() call. + * + * properties is an object that overrides default test properties. The recognised properties + * are: + * timeout - the test timeout in ms + * + * e.g. + * test(test_function, "Sample test", {timeout:1000}) + * + * would run test_function with a timeout of 1s. + * + * == Asynchronous Tests == + * + * Testing asynchronous features is somewhat more complex since the result of + * a test may depend on one or more events or other callbacks. The API provided + * for testing these features is indended to be rather low-level but hopefully + * applicable to many situations. + * + * To create a test, one starts by getting a Test object using async_test: + * + * async_test(name, properties) + * + * e.g. + * var t = async_test("Simple async test") + * + * Assertions can be added to the test by calling the step method of the test + * object with a function containing the test assertions: + * + * t.step(function() {assert_true(true)}); + * + * When all the steps are complete, the done() method must be called: + * + * t.done(); + * + * The properties argument is identical to that for test(). + * + * In many cases it is convenient to run a step in response to an event or a + * callback. A convenient method of doing this is through the step_func method + * which returns a function that, when called runs a test step. For example + * + * object.some_event = t.step_func(function(e) {assert_true(e.a)}); + * + * == Making assertions == + * + * Functions for making assertions start assert_ + * The best way to get a list is to look in this file for functions names + * matching that pattern. The general signature is + * + * assert_something(actual, expected, description) + * + * although not all assertions precisely match this pattern e.g. assert_true + * only takes actual and description as arguments. + * + * The description parameter is used to present more useful error messages when + * a test fails + * + * NOTE: All asserts must be located in a test() or a step of an async_test(). + * asserts outside these places won't be detected correctly by the harness + * and may cause a file to stop testing. + * + * == Setup == + * + * Sometimes tests require non-trivial setup that may fail. For this purpose + * there is a setup() function, that may be called with one or two arguments. + * The two argument version is: + * + * setup(func, properties) + * + * The one argument versions may omit either argument. + * func is a function to be run synchronously. setup() becomes a no-op once + * any tests have returned results. Properties are global properties of the test + * harness. Currently recognised properties are: + * + * timeout - The time in ms after which the harness should stop waiting for + * tests to complete (this is different to the per-test timeout + * because async tests do not start their timer until .step is called) + * + * explicit_done - Wait for an explicit call to done() before declaring all tests + * complete (see below) + * + * output_document - The document to which results should be logged. By default this is + * the current document but could be an ancestor document in some cases + * e.g. a SVG test loaded in an HTML wrapper + * + * == Determining when all tests are complete == + * + * By default the test harness will assume there are no more results to come + * when: + * 1) There are no Test objects that have been created but not completed + * 2) The load event on the document has fired + * + * This behaviour can be overridden by setting the explicit_done property to true + * in a call to setup(). If explicit_done is true, the test harness will not assume + * it is done until the global done() function is called. Once done() is called, the + * two conditions above apply like normal. + * + * == Generating tests == + * + * NOTE: this functionality may be removed + * + * There are scenarios in which is is desirable to create a large number of + * (synchronous) tests that are internally similar but vary in the parameters + * used. To make this easier, the generate_tests function allows a single + * function to be called with each set of parameters in a list: + * + * generate_tests(test_function, parameter_lists) + * + * For example: + * + * generate_tests(assert_equals, [ + * ["Sum one and one", 1+1, 2], + * ["Sum one and zero", 1+0, 1] + * ]) + * + * Is equivalent to: + * + * test(function() {assert_equals(1+1, 2)}, "Sum one and one") + * test(function() {assert_equals(1+0, 1)}, "Sum one and zero") + * + * Note that the first item in each parameter list corresponds to the name of + * the test. + * + * == Callback API == + * + * The framework provides callbacks corresponding to 3 events: + * + * start - happens when the first Test is created + * result - happens when a test result is recieved + * complete - happens when all results are recieved + * + * The page defining the tests may add callbacks for these events by calling + * the following methods: + * + * add_start_callback(callback) - callback called with no arguments + * add_result_callback(callback) - callback called with a test argument + * add_completion_callback(callback) - callback called with an array of tests + * and an status object + * + * tests have the following properties: + * status: A status code. This can be compared to the PASS, FAIL, TIMEOUT and + * NOTRUN properties on the test object + * message: A message indicating the reason for failure. In the future this + * will always be a string + * + * The status object gives the overall status of the harness. It has the + * following properties: + * status: Can be compared to the OK, ERROR and TIMEOUT properties + * message: An error message set when the status is ERROR + * + * == External API == + * + * In order to collect the results of multiple pages containing tests, the test + * harness will, when loaded in a nested browsing context, attempt to call + * certain functions in each ancestor browsing context: + * + * start - start_callback + * result - result_callback + * complete - completion_callback + * + * These are given the same arguments as the corresponding internal callbacks + * described above. + * + * == List of assertions == + * + * assert_true(actual, description) + * asserts that /actual/ is strictly true + * + * assert_false(actual, description) + * asserts that /actual/ is strictly false + * + * assert_equals(actual, expected, description) + * asserts that /actual/ is the same value as /expected/ + * + * assert_not_equals(actual, expected, description) + * asserts that /actual/ is a different value to /expected/. Yes, this means + * that "expected" is a misnomer + * + * assert_array_equals(actual, expected, description) + * asserts that /actual/ and /expected/ have the same length and the value of + * each indexed property in /actual/ is the strictly equal to the corresponding + * property value in /expected/ + * + * assert_approx_equals(actual, expected, epsilon, description) + * asserts that /actual/ is a number within +/- /epsilon/ of /expected/ + * + * assert_regexp_match(actual, expected, description) + * asserts that /actual/ matches the regexp /expected/ + * + * assert_own_property(object, property_name, description) + * assert that object has own property property_name + * + * assert_inherits(object, property_name, description) + * assert that object does not have an own property named property_name + * but that property_name is present in the prototype chain for object + * + * assert_idl_attribute(object, attribute_name, description) + * assert that an object that is an instance of some interface has the + * attribute attribute_name following the conditions specified by WebIDL + * + * assert_readonly(object, property_name, description) + * assert that property property_name on object is readonly + * + * assert_throws(code, func, description) + * code - a DOMException/RangeException code as a string, e.g. "HIERARCHY_REQUEST_ERR" + * func - a function that should throw + * + * assert that func throws a DOMException or RangeException (as appropriate) + * with the given code. If an object is passed for code instead of a string, + * checks that the thrown exception has a property called "name" that matches + * the property of code called "name". Note, this function will probably be + * rewritten sometime to make more sense. + * + * assert_unreached(description) + * asserts if called. Used to ensure that some codepath is *not* taken e.g. + * an event does not fire. + * + * assert_exists(object, property_name, description) + * *** deprecated *** + * asserts that object has an own property property_name + * + * assert_not_exists(object, property_name, description) + * *** deprecated *** + * assert that object does not have own property property_name + */ + +(function () +{ + var debug = false; + // default timeout is 5 seconds, test can override if needed + var settings = { + output:true, + timeout:5000, + test_timeout:2000 + }; + + var xhtml_ns = "http://www.w3.org/1999/xhtml"; + + // script_prefix is used by Output.prototype.show_results() to figure out + // where to get testharness.css from. It's enclosed in an extra closure to + // not pollute the library's namespace with variables like "src". + var script_prefix = null; + (function () + { + var scripts = document.getElementsByTagName("script"); + for (var i = 0; i < scripts.length; i++) + { + if (scripts[i].src) + { + var src = scripts[i].src; + } + else if (scripts[i].href) + { + //SVG case + var src = scripts[i].href.baseVal; + } + if (src && src.slice(src.length - "testharness.js".length) === "testharness.js") + { + script_prefix = src.slice(0, src.length - "testharness.js".length); + break; + } + } + })(); + + /* + * API functions + */ + + var name_counter = 0; + function next_default_name() + { + //Don't use document.title to work around an Opera bug in XHTML documents + var prefix = document.title || "Untitled"; + var suffix = name_counter > 0 ? " " + name_counter : ""; + name_counter++; + return prefix + suffix; + } + + function test(func, name, properties) + { + var test_name = name ? name : next_default_name(); + properties = properties ? properties : {}; + var test_obj = new Test(test_name, properties); + test_obj.step(func); + if (test_obj.status === test_obj.NOTRUN) { + test_obj.done(); + } + } + + function async_test(name, properties) + { + var test_name = name ? name : next_default_name(); + properties = properties ? properties : {}; + var test_obj = new Test(test_name, properties); + return test_obj; + } + + function setup(func_or_properties, maybe_properties) + { + var func = null; + var properties = {}; + if (arguments.length === 2) { + func = func_or_properties; + properties = maybe_properties; + } else if (func_or_properties instanceof Function){ + func = func_or_properties; + } else { + properties = func_or_properties; + } + tests.setup(func, properties); + output.setup(properties); + } + + function done() { + tests.end_wait(); + } + + function generate_tests(func, args) { + forEach(args, function(x) + { + var name = x[0]; + test(function() + { + func.apply(this, x.slice(1)); + }, name); + }); + } + + function on_event(object, event, callback) + { + object.addEventListener(event, callback, false); + } + + expose(test, 'test'); + expose(async_test, 'async_test'); + expose(generate_tests, 'generate_tests'); + expose(setup, 'setup'); + expose(done, 'done'); + expose(on_event, 'on_event'); + + /* + * Return a string truncated to the given length, with ... added at the end + * if it was longer. + */ + function truncate(s, len) + { + if (s.length > len) { + return s.substring(0, len - 3) + "..."; + } + return s; + } + + /* + * Convert a value to a nice, human-readable string + */ + function format_value(val) + { + switch (typeof val) + { + case "string": + for (var i = 0; i < 32; i++) + { + var replace = "\\"; + switch (i) { + case 0: replace += "0"; break; + case 1: replace += "x01"; break; + case 2: replace += "x02"; break; + case 3: replace += "x03"; break; + case 4: replace += "x04"; break; + case 5: replace += "x05"; break; + case 6: replace += "x06"; break; + case 7: replace += "x07"; break; + case 8: replace += "b"; break; + case 9: replace += "t"; break; + case 10: replace += "n"; break; + case 11: replace += "v"; break; + case 12: replace += "f"; break; + case 13: replace += "r"; break; + case 14: replace += "x0e"; break; + case 15: replace += "x0f"; break; + case 16: replace += "x10"; break; + case 17: replace += "x11"; break; + case 18: replace += "x12"; break; + case 19: replace += "x13"; break; + case 20: replace += "x14"; break; + case 21: replace += "x15"; break; + case 22: replace += "x16"; break; + case 23: replace += "x17"; break; + case 24: replace += "x18"; break; + case 25: replace += "x19"; break; + case 26: replace += "x1a"; break; + case 27: replace += "x1b"; break; + case 28: replace += "x1c"; break; + case 29: replace += "x1d"; break; + case 30: replace += "x1e"; break; + case 31: replace += "x1f"; break; + } + val = val.replace(RegExp(String.fromCharCode(i), "g"), replace); + } + return '"' + val.replace(/"/g, '\\"') + '"'; + case "boolean": + case "undefined": + return String(val); + case "number": + // In JavaScript, -0 === 0 and String(-0) == "0", so we have to + // special-case. + if (val === -0 && 1/val === -Infinity) + { + return "-0"; + } + return String(val); + case "object": + if (val === null) + { + return "null"; + } + + // Special-case Node objects, since those come up a lot in my tests. I + // ignore namespaces. I use duck-typing instead of instanceof, because + // instanceof doesn't work if the node is from another window (like an + // iframe's contentWindow): + // http://www.w3.org/Bugs/Public/show_bug.cgi?id=12295 + if ("nodeType" in val + && "nodeName" in val + && "nodeValue" in val + && "childNodes" in val) + { + switch (val.nodeType) + { + case Node.ELEMENT_NODE: + var ret = "<" + val.tagName.toLowerCase(); + for (var i = 0; i < val.attributes.length; i++) + { + ret += " " + val.attributes[i].name + '="' + val.attributes[i].value + '"'; + } + ret += ">" + val.innerHTML + "</" + val.tagName.toLowerCase() + ">"; + return "Element node " + truncate(ret, 60); + case Node.TEXT_NODE: + return 'Text node "' + truncate(val.data, 60) + '"'; + case Node.PROCESSING_INSTRUCTION_NODE: + return "ProcessingInstruction node with target " + format_value(truncate(val.target, 60)) + " and data " + format_value(truncate(val.data, 60)); + case Node.COMMENT_NODE: + return "Comment node <!--" + truncate(val.data, 60) + "-->"; + case Node.DOCUMENT_NODE: + return "Document node with " + val.childNodes.length + (val.childNodes.length == 1 ? " child" : " children"); + case Node.DOCUMENT_TYPE_NODE: + return "DocumentType node"; + case Node.DOCUMENT_FRAGMENT_NODE: + return "DocumentFragment node with " + val.childNodes.length + (val.childNodes.length == 1 ? " child" : " children"); + default: + return "Node object of unknown type"; + } + } + + // Fall through to default + default: + return typeof val + ' "' + truncate(String(val), 60) + '"'; + } + } + expose(format_value, "format_value"); + + /* + * Assertions + */ + + function assert_true(actual, description) + { + assert(actual === true, "assert_true", description, + "expected true got ${actual}", {actual:actual}); + }; + expose(assert_true, "assert_true"); + + function assert_false(actual, description) + { + assert(actual === false, "assert_false", description, + "expected false got ${actual}", {actual:actual}); + }; + expose(assert_false, "assert_false"); + + function same_value(x, y) { + if (y !== y) + { + //NaN case + return x !== x; + } + else if (x === 0 && y === 0) { + //Distinguish +0 and -0 + return 1/x === 1/y; + } + else + { + //typical case + return x === y; + } + } + + function assert_equals(actual, expected, description) + { + /* + * Test if two primitives are equal or two objects + * are the same object + */ + assert(same_value(actual, expected), "assert_equals", description, + "expected ${expected} but got ${actual}", + {expected:expected, actual:actual}); + }; + expose(assert_equals, "assert_equals"); + + function assert_not_equals(actual, expected, description) + { + /* + * Test if two primitives are unequal or two objects + * are different objects + */ + assert(!same_value(actual, expected), "assert_not_equals", description, + "got disallowed value ${actual}", + {actual:actual}); + }; + expose(assert_not_equals, "assert_not_equals"); + + function assert_object_equals(actual, expected, description) + { + //This needs to be improved a great deal + function check_equal(expected, actual, stack) + { + stack.push(actual); + + var p; + for (p in actual) + { + assert(expected.hasOwnProperty(p), "assert_object_equals", description, + "unexpected property ${p}", {p:p}); + + if (typeof actual[p] === "object" && actual[p] !== null) + { + if (stack.indexOf(actual[p]) === -1) + { + check_equal(actual[p], expected[p], stack); + } + } + else + { + assert(actual[p] === expected[p], "assert_object_equals", description, + "property ${p} expected ${expected} got ${actual}", + {p:p, expected:expected, actual:actual}); + } + } + for (p in expected) + { + assert(actual.hasOwnProperty(p), + "assert_object_equals", description, + "expected property ${p} missing", {p:p}); + } + stack.pop(); + } + check_equal(actual, expected, []); + }; + expose(assert_object_equals, "assert_object_equals"); + + function assert_array_equals(actual, expected, description) + { + assert(actual.length === expected.length, + "assert_array_equals", description, + "lengths differ, expected ${expected} got ${actual}", + {expected:expected.length, actual:actual.length}); + + for (var i=0; i < actual.length; i++) + { + assert(actual.hasOwnProperty(i) === expected.hasOwnProperty(i), + "assert_array_equals", description, + "property ${i}, property expected to be $expected but was $actual", + {i:i, expected:expected.hasOwnProperty(i) ? "present" : "missing", + actual:actual.hasOwnProperty(i) ? "present" : "missing"}); + assert(expected[i] === actual[i], + "assert_array_equals", description, + "property ${i}, expected ${expected} but got ${actual}", + {i:i, expected:expected[i], actual:actual[i]}); + } + } + expose(assert_array_equals, "assert_array_equals"); + + function assert_approx_equals(actual, expected, epsilon, description) + { + /* + * Test if two primitive numbers are equal withing +/- epsilon + */ + assert(typeof actual === "number", + "assert_approx_equals", description, + "expected a number but got a ${type_actual}", + {type_actual:typeof actual}); + + assert(Math.abs(actual - expected) < epsilon, + "assert_approx_equals", description, + "expected ${expected} +/- ${epsilon} but got ${actual}", + {expected:expected, actual:actual, epsilon:epsilon}); + }; + expose(assert_approx_equals, "assert_approx_equals"); + + function assert_regexp_match(actual, expected, description) { + /* + * Test if a string (actual) matches a regexp (expected) + */ + assert(expected.test(actual), + "assert_regexp_match", description, + "expected ${expected} but got ${actual}", + {expected:expected, actual:actual}); + } + expose(assert_regexp_match, "assert_regexp_match"); + + + function _assert_own_property(name) { + return function(object, property_name, description) + { + assert(object.hasOwnProperty(property_name), + name, description, + "expected property ${p} missing", {p:property_name}); + }; + } + expose(_assert_own_property("assert_exists"), "assert_exists"); + expose(_assert_own_property("assert_own_property"), "assert_own_property"); + + function assert_not_exists(object, property_name, description) + { + assert(!object.hasOwnProperty(property_name), + "assert_not_exists", description, + "unexpected property ${p} found", {p:property_name}); + }; + expose(assert_not_exists, "assert_not_exists"); + + function _assert_inherits(name) { + return function (object, property_name, description) + { + assert(typeof object === "object", + name, description, + "provided value is not an object"); + + assert("hasOwnProperty" in object, + name, description, + "provided value is an object but has no hasOwnProperty method"); + + assert(!object.hasOwnProperty(property_name), + name, description, + "property ${p} found on object expected in prototype chain", + {p:property_name}); + + assert(property_name in object, + name, description, + "property ${p} not found in prototype chain", + {p:property_name}); + }; + } + expose(_assert_inherits("assert_inherits"), "assert_inherits"); + expose(_assert_inherits("assert_idl_attribute"), "assert_idl_attribute"); + + function assert_readonly(object, property_name, description) + { + var initial_value = object[property_name]; + try { + //Note that this can have side effects in the case where + //the property has PutForwards + object[property_name] = initial_value + "a"; //XXX use some other value here? + assert(object[property_name] === initial_value, + "assert_readonly", description, + "changing property ${p} succeeded", + {p:property_name}); + } + finally + { + object[property_name] = initial_value; + } + }; + expose(assert_readonly, "assert_readonly"); + + function assert_throws(code, func, description) + { + try + { + func.call(this); + assert(false, "assert_throws", description, + "${func} did not throw", {func:func}); + } + catch(e) + { + if (e instanceof AssertionError) { + throw(e); + } + if (typeof code === "object") + { + assert(typeof e == "object" && "name" in e && e.name == code.name, + "assert_throws", description, + "${func} threw ${actual} (${actual_name}) expected ${expected} (${expected_name})", + {func:func, actual:e, actual_name:e.name, + expected:code, + expected_name:code.name}); + return; + } + var required_props = {}; + required_props.code = { + INDEX_SIZE_ERR: 1, + HIERARCHY_REQUEST_ERR: 3, + WRONG_DOCUMENT_ERR: 4, + INVALID_CHARACTER_ERR: 5, + NO_MODIFICATION_ALLOWED_ERR: 7, + NOT_FOUND_ERR: 8, + NOT_SUPPORTED_ERR: 9, + INVALID_STATE_ERR: 11, + SYNTAX_ERR: 12, + INVALID_MODIFICATION_ERR: 13, + NAMESPACE_ERR: 14, + INVALID_ACCESS_ERR: 15, + TYPE_MISMATCH_ERR: 17, + SECURITY_ERR: 18, + NETWORK_ERR: 19, + ABORT_ERR: 20, + URL_MISMATCH_ERR: 21, + QUOTA_EXCEEDED_ERR: 22, + TIMEOUT_ERR: 23, + INVALID_NODE_TYPE_ERR: 24, + DATA_CLONE_ERR: 25, + }[code]; + if (required_props.code === undefined) + { + throw new AssertionError('Test bug: unrecognized DOMException code "' + code + '" passed to assert_throws()'); + } + required_props[code] = required_props.code; + //Uncomment this when the latest version of every browser + //actually implements the spec; otherwise it just creates + //zillions of failures. Also do required_props.type. + //required_props.name = code; + // + //We'd like to test that e instanceof the appropriate interface, + //but we can't, because we don't know what window it was created + //in. It might be an instanceof the appropriate interface on some + //unknown other window. TODO: Work around this somehow? + + assert(typeof e == "object", + "assert_throws", description, + "${func} threw ${e} with type ${type}, not an object", + {func:func, e:e, type:typeof e}); + + for (var prop in required_props) + { + assert(typeof e == "object" && prop in e && e[prop] == required_props[prop], + "assert_throws", description, + "${func} threw ${e} that is not a DOMException " + code + ": property ${prop} is equal to ${actual}, expected ${expected}", + {func:func, e:e, prop:prop, actual:e[prop], expected:required_props[prop]}); + } + } + } + expose(assert_throws, "assert_throws"); + + function assert_unreached(description) { + assert(false, "assert_unreached", description, + "Reached unreachable code"); + } + expose(assert_unreached, "assert_unreached"); + + function Test(name, properties) + { + this.name = name; + this.status = this.NOTRUN; + this.timeout_id = null; + this.is_done = false; + + this.timeout_length = properties.timeout ? properties.timeout : settings.test_timeout; + + this.message = null; + + var this_obj = this; + this.steps = []; + + tests.push(this); + } + + Test.prototype = { + PASS:0, + FAIL:1, + TIMEOUT:2, + NOTRUN:3 + }; + + + Test.prototype.step = function(func, this_obj) + { + //In case the test has already failed + if (this.status !== this.NOTRUN) + { + return; + } + + tests.started = true; + + if (this.timeout_id === null) { + this.set_timeout(); + } + + this.steps.push(func); + + if (arguments.length === 1) + { + this_obj = this; + } + + try + { + func.apply(this_obj, Array.prototype.slice.call(arguments, 2)); + } + catch(e) + { + //This can happen if something called synchronously invoked another + //step + if (this.status !== this.NOTRUN) + { + return; + } + this.status = this.FAIL; + this.message = e.message; + if (typeof e.stack != "undefined" && typeof e.message == "string") { + //Try to make it more informative for some exceptions, at least + //in Gecko and WebKit. This results in a stack dump instead of + //just errors like "Cannot read property 'parentNode' of null" + //or "root is null". Makes it a lot longer, of course. + this.message += "(stack: " + e.stack + ")"; + } + this.done(); + if (debug && e.constructor !== AssertionError) { + throw e; + } + } + }; + + Test.prototype.step_func = function(func, this_obj) + { + var test_this = this; + + if (arguments.length === 1) + { + this_obj = test_this; + } + + return function() + { + test_this.step.apply(test_this, [func, this_obj].concat( + Array.prototype.slice.call(arguments))); + }; + }; + + Test.prototype.set_timeout = function() + { + var this_obj = this; + this.timeout_id = setTimeout(function() + { + this_obj.timeout(); + }, this.timeout_length); + }; + + Test.prototype.timeout = function() + { + this.status = this.TIMEOUT; + this.timeout_id = null; + this.message = "Test timed out"; + this.done(); + }; + + Test.prototype.done = function() + { + if (this.is_done) { + return; + } + clearTimeout(this.timeout_id); + if (this.status === this.NOTRUN) + { + this.status = this.PASS; + } + this.is_done = true; + tests.result(this); + }; + + + /* + * Harness + */ + + function TestsStatus() + { + this.status = null; + this.message = null; + } + TestsStatus.prototype = { + OK:0, + ERROR:1, + TIMEOUT:2 + }; + + function Tests() + { + this.tests = []; + this.num_pending = 0; + + this.phases = { + INITIAL:0, + SETUP:1, + HAVE_TESTS:2, + HAVE_RESULTS:3, + COMPLETE:4 + }; + this.phase = this.phases.INITIAL; + + //All tests can't be done until the load event fires + this.all_loaded = false; + this.wait_for_finish = false; + this.processing_callbacks = false; + + this.timeout_length = settings.timeout; + this.timeout_id = null; + this.set_timeout(); + + this.start_callbacks = []; + this.test_done_callbacks = []; + this.all_done_callbacks = []; + + this.status = new TestsStatus(); + + var this_obj = this; + + on_event(window, "load", + function() + { + this_obj.all_loaded = true; + if (this_obj.all_done()) + { + this_obj.complete(); + } + }); + this.properties = {}; + } + + Tests.prototype.setup = function(func, properties) + { + if (this.phase >= this.phases.HAVE_RESULTS) + { + return; + } + if (this.phase < this.phases.SETUP) + { + this.phase = this.phases.SETUP; + } + + for (var p in properties) + { + if (properties.hasOwnProperty(p)) + { + this.properties[p] = properties[p]; + } + } + + if (properties.timeout) + { + this.timeout_length = properties.timeout; + this.set_timeout(); + } + if (properties.explicit_done) + { + this.wait_for_finish = true; + } + + if (func) + { + try + { + func(); + } catch(e) + { + this.status.status = this.status.ERROR; + this.status.message = e; + }; + } + }; + + Tests.prototype.set_timeout = function() + { + var this_obj = this; + clearTimeout(this.timeout_id); + this.timeout_id = setTimeout(function() { + this_obj.timeout(); + }, this.timeout_length); + }; + + Tests.prototype.timeout = function() { + this.status.status = this.status.TIMEOUT; + this.complete(); + }; + + Tests.prototype.end_wait = function() + { + this.wait_for_finish = false; + if (this.all_done()) { + this.complete(); + } + }; + + Tests.prototype.push = function(test) + { + if (this.phase < this.phases.HAVE_TESTS) { + this.notify_start(); + } + this.num_pending++; + this.tests.push(test); + }; + + Tests.prototype.all_done = function() { + return (this.all_loaded && this.num_pending === 0 && + !this.wait_for_finish && !this.processing_callbacks); + }; + + Tests.prototype.start = function() { + this.phase = this.phases.HAVE_TESTS; + this.notify_start(); + }; + + Tests.prototype.notify_start = function() { + var this_obj = this; + forEach (this.start_callbacks, + function(callback) + { + callback(this_obj.properties); + }); + forEach(ancestor_windows(), + function(w) + { + if(w.start_callback) + { + try + { + w.start_callback(this_obj.properties); + } + catch(e) + { + if (debug) + { + throw(e); + } + } + } + }); + }; + + Tests.prototype.result = function(test) + { + if (this.phase > this.phases.HAVE_RESULTS) + { + return; + } + this.phase = this.phases.HAVE_RESULTS; + this.num_pending--; + this.notify_result(test); + }; + + Tests.prototype.notify_result = function(test) { + var this_obj = this; + this.processing_callbacks = true; + forEach(this.test_done_callbacks, + function(callback) + { + callback(test, this_obj); + }); + + forEach(ancestor_windows(), + function(w) + { + if(w.result_callback) + { + try + { + w.result_callback(test); + } + catch(e) + { + if(debug) { + throw e; + } + } + } + }); + this.processing_callbacks = false; + if (this_obj.all_done()) + { + this_obj.complete(); + } + }; + + Tests.prototype.complete = function() { + if (this.phase === this.phases.COMPLETE) { + return; + } + this.phase = this.phases.COMPLETE; + this.notify_complete(); + }; + + Tests.prototype.notify_complete = function() + { + clearTimeout(this.timeout_id); + var this_obj = this; + if (this.status.status === null) + { + this.status.status = this.status.OK; + } + + forEach (this.all_done_callbacks, + function(callback) + { + callback(this_obj.tests, this_obj.status); + }); + + forEach(ancestor_windows(), + function(w) + { + if(w.completion_callback) + { + try + { + w.completion_callback(this_obj.tests, this_obj.status); + } + catch(e) + { + if (debug) + { + throw e; + } + } + } + }); + }; + + var tests = new Tests(); + + function add_start_callback(callback) { + tests.start_callbacks.push(callback); + } + + function add_result_callback(callback) + { + tests.test_done_callbacks.push(callback); + } + + function add_completion_callback(callback) + { + tests.all_done_callbacks.push(callback); + } + + expose(add_start_callback, 'add_start_callback'); + expose(add_result_callback, 'add_result_callback'); + expose(add_completion_callback, 'add_completion_callback'); + + /* + * Output listener + */ + + function Output() { + this.output_document = null; + this.output_node = null; + this.done_count = 0; + this.enabled = settings.output; + this.phase = this.INITIAL; + } + + Output.prototype.INITIAL = 0; + Output.prototype.STARTED = 1; + Output.prototype.HAVE_RESULTS = 2; + Output.prototype.COMPLETE = 3; + + Output.prototype.setup = function(properties) { + if (this.phase > this.INITIAL) { + return; + } + + //If output is disabled in testharnessreport.js the test shouldn't be + //able to override that + this.enabled = this.enabled && (properties.hasOwnProperty("output") ? + properties.output : settings.output); + }; + + Output.prototype.init = function(properties) + { + if (this.phase >= this.STARTED) { + return; + } + if (properties.output_document) { + this.output_document = properties.output_document; + } else { + this.output_document = document; + } + this.phase = this.STARTED; + }; + + Output.prototype.resolve_log = function() + { + if (!this.output_document) { + return; + } + var node = this.output_document.getElementById("log"); + if (node) { + this.output_node = node; + } + }; + + Output.prototype.show_status = function(test) + { + if (this.phase < this.STARTED) + { + this.init(); + } + if (!this.enabled) + { + return; + } + if (this.phase < this.HAVE_RESULTS) + { + this.resolve_log(); + this.phase = this.HAVE_RESULTS; + } + this.done_count++; + if (this.output_node) + { + if (this.done_count < 100 + || (this.done_count < 1000 && this.done_count % 100 == 0) + || this.done_count % 1000 == 0) { + this.output_node.textContent = "Running, " + + this.done_count + " complete, " + + tests.num_pending + " remain"; + } + } + }; + + Output.prototype.show_results = function (tests, harness_status) + { + if (this.phase >= this.COMPLETE) { + return; + } + if (!this.enabled) + { + return; + } + if (!this.output_node) { + this.resolve_log(); + } + this.phase = this.COMPLETE; + + var log = this.output_node; + if (!log) + { + return; + } + var output_document = this.output_document; + + while (log.lastChild) + { + log.removeChild(log.lastChild); + } + + if (script_prefix != null) { + var stylesheet = output_document.createElementNS(xhtml_ns, "link"); + stylesheet.setAttribute("rel", "stylesheet"); + stylesheet.setAttribute("href", script_prefix + "testharness.css"); + var heads = output_document.getElementsByTagName("head"); + if (heads.length) { + heads[0].appendChild(stylesheet); + } + } + + var status_text = {}; + status_text[Test.prototype.PASS] = "Pass"; + status_text[Test.prototype.FAIL] = "Fail"; + status_text[Test.prototype.TIMEOUT] = "Timeout"; + status_text[Test.prototype.NOTRUN] = "Not Run"; + + var status_number = {}; + forEach(tests, function(test) { + var status = status_text[test.status]; + if (status_number.hasOwnProperty(status)) + { + status_number[status] += 1; + } else { + status_number[status] = 1; + } + }); + + function status_class(status) + { + return status.replace(/\s/g, '').toLowerCase(); + } + + var summary_template = ["section", {"id":"summary"}, + ["h2", {}, "Summary"], + ["p", {}, "Found ${num_tests} tests"], + function(vars) { + var rv = [["div", {}]]; + var i=0; + while (status_text.hasOwnProperty(i)) { + if (status_number.hasOwnProperty(status_text[i])) { + var status = status_text[i]; + rv[0].push(["div", {"class":status_class(status)}, + ["label", {}, + ["input", {type:"checkbox", checked:"checked"}], + status_number[status] + " " + status]]); + } + i++; + } + return rv; + }]; + + log.appendChild(render(summary_template, {num_tests:tests.length}, output_document)); + + forEach(output_document.querySelectorAll("section#summary label"), + function(element) + { + on_event(element, "click", + function(e) + { + if (output_document.getElementById("results") === null) + { + e.preventDefault(); + return; + } + var result_class = element.parentNode.getAttribute("class"); + var style_element = output_document.querySelector("style#hide-" + result_class); + var input_element = element.querySelector("input"); + if (!style_element && !input_element.checked) { + style_element = output_document.createElementNS(xhtml_ns, "style"); + style_element.id = "hide-" + result_class; + style_element.innerHTML = "table#results > tbody > tr."+result_class+"{display:none}"; + output_document.body.appendChild(style_element); + } else if (style_element && input_element.checked) { + style_element.parentNode.removeChild(style_element); + } + }); + }); + + // This use of innerHTML plus manual escaping is not recommended in + // general, but is necessary here for performance. Using textContent + // on each individual <td> adds tens of seconds of execution time for + // large test suites (tens of thousands of tests). + function escape_html(s) + { + return s.replace(/\&/g, "&") + .replace(/</g, "<") + .replace(/"/g, """) + .replace(/'/g, "'"); + } + + log.appendChild(document.createElement("section")); + var html = "<h2>Details</h2><table id='results'>" + + "<thead><tr><th>Result</th><th>Test Name</th><th>Message</th></tr></thead>" + + "<tbody>"; + for (var i = 0; i < tests.length; i++) { + html += '<tr class="' + + escape_html(status_class(status_text[tests[i].status])) + + '"><td>' + + escape_html(status_text[tests[i].status]) + + "</td><td>" + + escape_html(tests[i].name) + + "</td><td>" + + escape_html(tests[i].message ? tests[i].message : " ") + + "</td></tr>"; + } + log.lastChild.innerHTML = html + "</tbody></table>"; + }; + + var output = new Output(); + add_start_callback(function (properties) {output.init(properties);}); + add_result_callback(function (test) {output.show_status(tests);}); + add_completion_callback(function (tests, harness_status) {output.show_results(tests, harness_status);}); + + /* + * Template code + * + * A template is just a javascript structure. An element is represented as: + * + * [tag_name, {attr_name:attr_value}, child1, child2] + * + * the children can either be strings (which act like text nodes), other templates or + * functions (see below) + * + * A text node is represented as + * + * ["{text}", value] + * + * String values have a simple substitution syntax; ${foo} represents a variable foo. + * + * It is possible to embed logic in templates by using a function in a place where a + * node would usually go. The function must either return part of a template or null. + * + * In cases where a set of nodes are required as output rather than a single node + * with children it is possible to just use a list + * [node1, node2, node3] + * + * Usage: + * + * render(template, substitutions) - take a template and an object mapping + * variable names to parameters and return either a DOM node or a list of DOM nodes + * + * substitute(template, substitutions) - take a template and variable mapping object, + * make the variable substitutions and return the substituted template + * + */ + + function is_single_node(template) + { + return typeof template[0] === "string"; + } + + function substitute(template, substitutions) + { + if (typeof template === "function") { + var replacement = template(substitutions); + if (replacement) + { + var rv = substitute(replacement, substitutions); + return rv; + } + else + { + return null; + } + } + else if (is_single_node(template)) + { + return substitute_single(template, substitutions); + } + else + { + return filter(map(template, function(x) { + return substitute(x, substitutions); + }), function(x) {return x !== null;}); + } + } + + function substitute_single(template, substitutions) + { + var substitution_re = /\${([^ }]*)}/g; + + function do_substitution(input) { + var components = input.split(substitution_re); + var rv = []; + for (var i=0; i<components.length; i+=2) + { + rv.push(components[i]); + if (components[i+1]) + { + rv.push(String(substitutions[components[i+1]])); + } + } + return rv; + } + + var rv = []; + rv.push(do_substitution(String(template[0])).join("")); + + if (template[0] === "{text}") { + substitute_children(template.slice(1), rv); + } else { + substitute_attrs(template[1], rv); + substitute_children(template.slice(2), rv); + } + + function substitute_attrs(attrs, rv) + { + rv[1] = {}; + for (var name in template[1]) + { + if (attrs.hasOwnProperty(name)) + { + var new_name = do_substitution(name).join(""); + var new_value = do_substitution(attrs[name]).join(""); + rv[1][new_name] = new_value; + }; + } + } + + function substitute_children(children, rv) + { + for (var i=0; i<children.length; i++) + { + if (children[i] instanceof Object) { + var replacement = substitute(children[i], substitutions); + if (replacement !== null) + { + if (is_single_node(replacement)) + { + rv.push(replacement); + } + else + { + extend(rv, replacement); + } + } + } + else + { + extend(rv, do_substitution(String(children[i]))); + } + } + return rv; + } + + return rv; + } + + function make_dom_single(template, doc) + { + var output_document = doc || document; + if (template[0] === "{text}") + { + var element = output_document.createTextNode(""); + for (var i=1; i<template.length; i++) + { + element.data += template[i]; + } + } + else + { + var element = output_document.createElementNS(xhtml_ns, template[0]); + for (var name in template[1]) { + if (template[1].hasOwnProperty(name)) + { + element.setAttribute(name, template[1][name]); + } + } + for (var i=2; i<template.length; i++) + { + if (template[i] instanceof Object) + { + var sub_element = make_dom(template[i]); + element.appendChild(sub_element); + } + else + { + var text_node = output_document.createTextNode(template[i]); + element.appendChild(text_node); + } + } + } + + return element; + } + + + + function make_dom(template, substitutions, output_document) + { + if (is_single_node(template)) + { + return make_dom_single(template, output_document); + } + else + { + return map(template, function(x) { + return make_dom_single(x, output_document); + }); + } + } + + function render(template, substitutions, output_document) + { + return make_dom(substitute(template, substitutions), output_document); + } + + /* + * Utility funcions + */ + function assert(expected_true, function_name, description, error, substitutions) + { + if (expected_true !== true) + { + throw new AssertionError(make_message(function_name, description, + error, substitutions)); + } + } + + function AssertionError(message) + { + this.message = message; + } + + function make_message(function_name, description, error, substitutions) + { + for (var p in substitutions) { + if (substitutions.hasOwnProperty(p)) { + substitutions[p] = format_value(substitutions[p]); + } + } + var node_form = substitute(["{text}", "${function_name}: ${description}" + error], + merge({function_name:function_name, + description:(description?description + " ":"")}, + substitutions)); + return node_form.slice(1).join(""); + } + + function filter(array, callable, thisObj) { + var rv = []; + for (var i=0; i<array.length; i++) + { + if (array.hasOwnProperty(i)) + { + var pass = callable.call(thisObj, array[i], i, array); + if (pass) { + rv.push(array[i]); + } + } + } + return rv; + } + + function map(array, callable, thisObj) + { + var rv = []; + rv.length = array.length; + for (var i=0; i<array.length; i++) + { + if (array.hasOwnProperty(i)) + { + rv[i] = callable.call(thisObj, array[i], i, array); + } + } + return rv; + } + + function extend(array, items) + { + Array.prototype.push.apply(array, items); + } + + function forEach (array, callback, thisObj) + { + for (var i=0; i<array.length; i++) + { + if (array.hasOwnProperty(i)) + { + callback.call(thisObj, array[i], i, array); + } + } + } + + function merge(a,b) + { + var rv = {}; + var p; + for (p in a) + { + rv[p] = a[p]; + } + for (p in b) { + rv[p] = b[p]; + } + return rv; + } + + function expose(object, name) + { + var components = name.split("."); + var target = window; + for (var i=0; i<components.length - 1; i++) + { + if (!(components[i] in target)) + { + target[components[i]] = {}; + } + target = target[components[i]]; + } + target[components[components.length - 1]] = object; + } + + function ancestor_windows() { + //Get the windows [self ... top] as an array + if ("result_cache" in ancestor_windows) + { + return ancestor_windows.result_cache; + } + var rv = [self]; + var w = self; + while (w != w.parent) + { + w = w.parent; + rv.push(w); + } + ancestor_windows.result_cache = rv; + return rv; + } + +})(); +// vim: set expandtab shiftwidth=4 tabstop=4: diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/index.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/index.js new file mode 100644 index 0000000..26c5390 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/index.js @@ -0,0 +1,2 @@ +var harness = require('./harness'); +module.exports = harness('submission'); diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-01.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-01.html new file mode 100644 index 0000000..fb9e16b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-01.html @@ -0,0 +1,144 @@ +<!DOCTYPE html> +<title>document.getElementsByTagName and foreign parser-inserted +elements + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-02.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-02.html new file mode 100644 index 0000000..d03e63e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Document.getElementsByTagName-foreign-02.html @@ -0,0 +1,25 @@ + +getElementsByTagName and font + + + + + + +
    +
    + + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-01.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-01.html new file mode 100644 index 0000000..4b265c0 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-01.html @@ -0,0 +1,26 @@ + +getElementsByTagName and font + + + + + + +
    +
    + + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-02.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-02.html new file mode 100644 index 0000000..351d4d6 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/apis-in-html-documents/Element.getElementsByTagName-foreign-02.html @@ -0,0 +1,30 @@ + +getElementsByTagName and font + + + + + + +
    +
    + + + + + + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/browsing-the-web/load-text-plain.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/browsing-the-web/load-text-plain.html new file mode 100644 index 0000000..5a6e403 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/browsing-the-web/load-text-plain.html @@ -0,0 +1,30 @@ + +Page load processing model for text files + + + + + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Document.getElementsByClassName-null-undef.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Document.getElementsByClassName-null-undef.html new file mode 100644 index 0000000..8cd3a22 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Document.getElementsByClassName-null-undef.html @@ -0,0 +1,31 @@ + +getElementsByClassName and null/undefined + + + + + +
    +
    +

    +

    +

    +

    +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Element.getElementsByClassName-null-undef.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Element.getElementsByClassName-null-undef.html new file mode 100644 index 0000000..96c58fa --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/Element.getElementsByClassName-null-undef.html @@ -0,0 +1,31 @@ + +getElementsByClassName and null/undefined + + + + + +
    +
    +

    +

    +

    +

    +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-foreign-frameset.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-foreign-frameset.html new file mode 100644 index 0000000..14692ab --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-foreign-frameset.html @@ -0,0 +1,17 @@ + +document.body and a frameset in a foreign namespace + + + + + + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-frameset-and-body.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-frameset-and-body.html new file mode 100644 index 0000000..7a0d51d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-getter-frameset-and-body.html @@ -0,0 +1,18 @@ + +document.body and framesets + + + + + + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-setter-01.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-setter-01.html new file mode 100644 index 0000000..8c53e76 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.body-setter-01.html @@ -0,0 +1,17 @@ + +Setting document.body to incorrect values + + + + + + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.embeds-document.plugins-01.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.embeds-document.plugins-01.html new file mode 100644 index 0000000..df937fd --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.embeds-document.plugins-01.html @@ -0,0 +1,24 @@ + +document.embeds and document.plugins + + + + + + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByClassName-same.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByClassName-same.html new file mode 100644 index 0000000..03bdbea --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByClassName-same.html @@ -0,0 +1,18 @@ + +Calling getElementsByClassName with the same argument + + + + + +
    +
    +
    +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.html new file mode 100644 index 0000000..4f967cb --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.html @@ -0,0 +1,17 @@ + +getElementsByName and case + + + + + +
    +
    +
    +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.xhtml b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.xhtml new file mode 100644 index 0000000..66ac58c --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.xhtml @@ -0,0 +1,22 @@ + + +getElementsByName and case + + + + + + + +
    +
    +
    +
    + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.html new file mode 100644 index 0000000..2a89c30 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.html @@ -0,0 +1,16 @@ + +getElementsByName and ids + + + + + +
    +
    +
    +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.xhtml b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.xhtml new file mode 100644 index 0000000..5925b40 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.xhtml @@ -0,0 +1,21 @@ + + +getElementsByName and ids + + + + + + + +
    +
    +
    +
    + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.html new file mode 100644 index 0000000..0193c23 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.html @@ -0,0 +1,28 @@ + +getElementsByName and foreign namespaces + + + + + +
    +
    +

    +a ++ +b + +

    + + +

    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.xhtml b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.xhtml new file mode 100644 index 0000000..98b94f7 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.xhtml @@ -0,0 +1,33 @@ + + +getElementsByName and foreign namespaces + + + + + + + +
    +
    +

    +a ++ +b +

    +

    + +

    +
    + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.html new file mode 100644 index 0000000..09461e3 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.html @@ -0,0 +1,122 @@ + +getElementsByName and newly introduced HTML elements + + + + + +
    +
    +
    +
    + +
    +
    +
    + + +
    + + + + + + + + + + +
    + + + + + + + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.xhtml b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.xhtml new file mode 100644 index 0000000..f03c354 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.xhtml @@ -0,0 +1,127 @@ + + +getElementsByName and newly introduced HTML elements + + + + + + + +
    +
    +
    +
    + +
    +
    +
    + + +
    + + + + + + + + + + +
    + + + + + + + +
    + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.html new file mode 100644 index 0000000..a8130b4 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.html @@ -0,0 +1,23 @@ + +Calling getElementsByName with null and undefined + + + + + + + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.xhtml b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.xhtml new file mode 100644 index 0000000..fbef6be --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.xhtml @@ -0,0 +1,29 @@ + + +Calling getElementsByName with null and undefined + + + + + + + + + +
    + + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.html new file mode 100644 index 0000000..983a5ea --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.html @@ -0,0 +1,24 @@ + +getElementsByName and the param element + + + + + +
    +
    + + + + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.xhtml b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.xhtml new file mode 100644 index 0000000..3a9c452 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.xhtml @@ -0,0 +1,29 @@ + + +getElementsByName and the param element + + + + + + + +
    +
    + + + + +
    + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-same.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-same.html new file mode 100644 index 0000000..455f842 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.getElementsByName/document.getElementsByName-same.html @@ -0,0 +1,18 @@ + +Calling getElementsByName with the same argument + + + + + +
    +
    +
    +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-01.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-01.html new file mode 100644 index 0000000..9ea949a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-01.html @@ -0,0 +1,23 @@ + +document.head + + + + + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-02.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-02.html new file mode 100644 index 0000000..7b17ca1 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.head-02.html @@ -0,0 +1,21 @@ + +document.head + + + + + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-01.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-01.html new file mode 100644 index 0000000..da11061 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-01.html @@ -0,0 +1,33 @@ + +document.title with head blown away + + + + + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-02.xhtml b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-02.xhtml new file mode 100644 index 0000000..c197ca7 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-02.xhtml @@ -0,0 +1,38 @@ + + +document.title with head blown away + + + + + + + +
    + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-03.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-03.html new file mode 100644 index 0000000..d4d59bc --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-03.html @@ -0,0 +1,44 @@ + + document.title and space normalization + + + + + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-04.xhtml b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-04.xhtml new file mode 100644 index 0000000..fa7f57a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-04.xhtml @@ -0,0 +1,49 @@ + + + document.title and space normalization + + + + + + + +
    + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-05.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-05.html new file mode 100644 index 0000000..b7f76ef --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-05.html @@ -0,0 +1,41 @@ + +document.title and White_Space characters + + + + + + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-06.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-06.html new file mode 100644 index 0000000..809ede0 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-06.html @@ -0,0 +1,24 @@ + +document.title and the empty string + + + + + + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-07.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-07.html new file mode 100644 index 0000000..d5d6bac --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-07.html @@ -0,0 +1,21 @@ + +Document.title and DOMImplementation.createHTMLDocument + + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/nameditem-01.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/nameditem-01.html new file mode 100644 index 0000000..dcb5a0b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/nameditem-01.html @@ -0,0 +1,19 @@ + +Named items: img id & name + + + + + +
    +
    + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.close-01.xhtml b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.close-01.xhtml new file mode 100644 index 0000000..7ba4624 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.close-01.xhtml @@ -0,0 +1,19 @@ + + +document.close in XHTML + + + + + + +
    + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-01.xhtml b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-01.xhtml new file mode 100644 index 0000000..47b92a9 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-01.xhtml @@ -0,0 +1,19 @@ + + +document.open in XHTML + + + + + + +
    + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-02.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-02.html new file mode 100644 index 0000000..cea89a9 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.open-02.html @@ -0,0 +1,17 @@ + +document.open with three arguments + + + + +
    + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-01.xhtml b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-01.xhtml new file mode 100644 index 0000000..254d786 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-01.xhtml @@ -0,0 +1,19 @@ + + +document.write in XHTML + + + + + + +
    + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-02.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-02.html new file mode 100644 index 0000000..dd2e8be --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.write-02.html @@ -0,0 +1,27 @@ + +document.write and null/undefined + + + + + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-01.xhtml b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-01.xhtml new file mode 100644 index 0000000..b43b33e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-01.xhtml @@ -0,0 +1,19 @@ + + +document.writeln in XHTML + + + + + + +
    + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-02.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-02.html new file mode 100644 index 0000000..586cca1 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/dynamic-markup-insertion/document.writeln-02.html @@ -0,0 +1,27 @@ + +document.writeln and null/undefined + + + + + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/elements-in-the-dom/unknown-element.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/elements-in-the-dom/unknown-element.html new file mode 100644 index 0000000..d1dc969 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/elements-in-the-dom/unknown-element.html @@ -0,0 +1,16 @@ + +HTMLUnknownElement + + + + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/events/event-handler-spec-example.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/events/event-handler-spec-example.html new file mode 100644 index 0000000..f6ef11d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/events/event-handler-spec-example.html @@ -0,0 +1,31 @@ + +Event handler invocation order + + +
    + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/general/interfaces.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/general/interfaces.html new file mode 100644 index 0000000..d36d3bc --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/general/interfaces.html @@ -0,0 +1,163 @@ + +Test of interfaces + + + + + + + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/classlist-nonstring.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/classlist-nonstring.html new file mode 100644 index 0000000..a85641d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/classlist-nonstring.html @@ -0,0 +1,44 @@ + +classList: non-string contains + + + + + + + +
    +
    +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/dataset.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/dataset.html new file mode 100644 index 0000000..fe3e032 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/dataset.html @@ -0,0 +1,28 @@ + +dataset: should return 'undefined' for non-existent properties + + + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/document-dir.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/document-dir.html new file mode 100644 index 0000000..734f922 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/document-dir.html @@ -0,0 +1,25 @@ + + +document.dir + + + + + + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/id-name.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/id-name.html new file mode 100644 index 0000000..080fd80 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/id-name.html @@ -0,0 +1,18 @@ + +id and name attributes and getElementById + + + + + +
    +
    +
    +

    +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01-ref.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01-ref.html new file mode 100644 index 0000000..d2120ad --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01-ref.html @@ -0,0 +1,20 @@ + +Languages + + + + + + +

    All lines below should have a green background.

    +
    +

    {}{lang}{en}

    +

    {}{xml:lang}{en}

    +

    Parent: {}{lang}{en}

    +

    Parent: {}{xml:lang}{en}

    +

    {xml}{lang}{en}

    +

    {xml}{lang}{en} - {lang}{de}

    +

    {xml}{lang}{de} - {lang}{en}

    +
    diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01.html new file mode 100644 index 0000000..6f2a2ae --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xmllang-01.html @@ -0,0 +1,57 @@ + +Languages + + + + + + +

    All lines below should have a green background.

    +
    +

    {}{lang}{en}

    +

    {}{xml:lang}{en}

    +

    Parent: {}{lang}{en}

    +

    Parent: {}{xml:lang}{en}

    +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy-ref.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy-ref.html new file mode 100644 index 0000000..b203718 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy-ref.html @@ -0,0 +1,9 @@ + +Invalid languages + + + + +
    +

    ABC

    +
    diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy.html new file mode 100644 index 0000000..6b87581 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/lang-xyzzy.html @@ -0,0 +1,11 @@ + +Invalid languages + + + + + + +
    +

    ABC

    +
    diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01-ref.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01-ref.html new file mode 100644 index 0000000..74f1384 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01-ref.html @@ -0,0 +1,24 @@ + +The style attribute + + + + + + +
    +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01.html new file mode 100644 index 0000000..8412050 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/style-01.html @@ -0,0 +1,25 @@ + +The style attribute + + + + + + +
    +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    This line should have a green background. +

    diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-01.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-01.html new file mode 100644 index 0000000..9ddcebd --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-01.html @@ -0,0 +1,18 @@ + +document: fg/bg/link/vlink/alink-color + + + + + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-02.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-02.html new file mode 100644 index 0000000..a4eae1d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-02.html @@ -0,0 +1,47 @@ + +document: fg/bg/link/vlink/alink-color + + + + + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-03.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-03.html new file mode 100644 index 0000000..ced3988 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-03.html @@ -0,0 +1,47 @@ + +document: fg/bg/link/vlink/alink-color + + + + + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-04.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-04.html new file mode 100644 index 0000000..a67fecd --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document-color-04.html @@ -0,0 +1,47 @@ + +document: fg/bg/link/vlink/alink-color + + + + + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-01.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-01.html new file mode 100644 index 0000000..735cb0f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-01.html @@ -0,0 +1,22 @@ + +document.all: willfull violations + + + + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-02.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-02.html new file mode 100644 index 0000000..4721e1f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-02.html @@ -0,0 +1,13 @@ + +document.all: length + + + + + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-03.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-03.html new file mode 100644 index 0000000..f78e89b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-03.html @@ -0,0 +1,13 @@ + +document.all: index getter + + + + + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-04.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-04.html new file mode 100644 index 0000000..cf16ba5 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-04.html @@ -0,0 +1,19 @@ + +document.all: img@name + + + + + +
    + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-05.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-05.html new file mode 100644 index 0000000..a568a1e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/document.all-05.html @@ -0,0 +1,23 @@ + +document.all: willfull violations + + + + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/heading-obsolete-attributes-01.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/heading-obsolete-attributes-01.html new file mode 100644 index 0000000..5bed010 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/heading-obsolete-attributes-01.html @@ -0,0 +1,16 @@ + +HTMLHeadingElement: obsolete attribute reflecting + + + + + + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/script-IDL-event-htmlfor.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/script-IDL-event-htmlfor.html new file mode 100644 index 0000000..04871d7 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/obsolete-features/requirements-for-implementations/other-elements-attributes-and-apis/script-IDL-event-htmlfor.html @@ -0,0 +1,57 @@ + +event and htmlFor IDL attributes of HTMLScriptElement + + + + + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/parsing/comment.dat b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/parsing/comment.dat new file mode 100644 index 0000000..acfcd2e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/parsing/comment.dat @@ -0,0 +1,10 @@ +#data +Comment before head +#errors +#document +| +| +| +| +| "Comment before head" +| <body> diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-01.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-01.html new file mode 100644 index 0000000..84037b6 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-01.html @@ -0,0 +1,13 @@ +<!DOCTYPE html> +<title>document.compatMode: Standards + + + +
    + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-02.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-02.html new file mode 100644 index 0000000..ea4b43c --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-02.html @@ -0,0 +1,14 @@ + +document.compatMode: Almost standards + + + +
    + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-03.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-03.html new file mode 100644 index 0000000..b8fddb6 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-03.html @@ -0,0 +1,12 @@ +document.compatMode: Quirks + + + +
    + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-04.xhtml b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-04.xhtml new file mode 100644 index 0000000..5834aa3 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-04.xhtml @@ -0,0 +1,18 @@ + + + +document.compatMode: Standards + + + + +
    + + + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-05.xhtml b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-05.xhtml new file mode 100644 index 0000000..1f038b2 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-05.xhtml @@ -0,0 +1,19 @@ + + + +document.compatMode: Standards + + + + +
    + + + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-06.xhtml b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-06.xhtml new file mode 100644 index 0000000..e78a8af --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/resource-metadata-management/document-compatmode-06.xhtml @@ -0,0 +1,17 @@ + + +document.compatMode: Standards + + + + +
    + + + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/200-textplain.cgi b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/200-textplain.cgi new file mode 100755 index 0000000..f74d295 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/200-textplain.cgi @@ -0,0 +1,5 @@ +#!/usr/bin/env python + +print 'Content-Type: text/plain\r\n', +print +print 'html { color: red; }' diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/404-textcss.cgi b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/404-textcss.cgi new file mode 100755 index 0000000..c0b449f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/support/css/404-textcss.cgi @@ -0,0 +1,6 @@ +#!/usr/bin/env python + +print 'Content-Type: text/css\r\n', +print 'Status: 404 Not Found\r\n', +print +print 'html { color: red; }' diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/support/text/200-textplain.cgi b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/support/text/200-textplain.cgi new file mode 100755 index 0000000..616707e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/support/text/200-textplain.cgi @@ -0,0 +1,5 @@ +#!/usr/bin/env python + +print 'Content-Type: text/plain\r\n', +print +print 'Text' diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-rellist.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-rellist.html new file mode 100644 index 0000000..448231d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-rellist.html @@ -0,0 +1,23 @@ + +link.relList: non-string contains + + + + + + + + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-style-error-01.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-style-error-01.html new file mode 100644 index 0000000..dce6a8f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-link-element/link-style-error-01.html @@ -0,0 +1,32 @@ + +link: error events + + + + +
    +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-style-element/style-error-01.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-style-element/style-error-01.html new file mode 100644 index 0000000..7c68c27 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-style-element/style-error-01.html @@ -0,0 +1,32 @@ + +style: error events + + + + +
    +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-01.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-01.html new file mode 100644 index 0000000..0d2e120 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-01.html @@ -0,0 +1,25 @@ + +title.text with comment and element children. + + + + +
    + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-02.xhtml b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-02.xhtml new file mode 100644 index 0000000..4d2385c --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-02.xhtml @@ -0,0 +1,30 @@ + + +title.text with comment and element children. + + + + + + +
    + + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-03.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-03.html new file mode 100644 index 0000000..2a56433 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-03.html @@ -0,0 +1,95 @@ + + title.text and space normalization + + + + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-04.xhtml b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-04.xhtml new file mode 100644 index 0000000..d57ee57 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/document-metadata/the-title-element/title.text-04.xhtml @@ -0,0 +1,100 @@ + + + title.text and space normalization + + + + + + +
    + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/embedded-content/the-video-element/video-tabindex.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/embedded-content/the-video-element/video-tabindex.html new file mode 100644 index 0000000..70af7e9 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/embedded-content/the-video-element/video-tabindex.html @@ -0,0 +1,18 @@ + +tabindex on video elements + + + + +
    +
    + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-interfaces-01.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-interfaces-01.html new file mode 100644 index 0000000..cc61bdf --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-interfaces-01.html @@ -0,0 +1,20 @@ + +form.elements: interfaces + + + + + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-matches.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-matches.html new file mode 100644 index 0000000..149dd09 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-matches.html @@ -0,0 +1,28 @@ + +form.elements: matches + + + + +
    +
    +
    + +
    +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-01.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-01.html new file mode 100644 index 0000000..779361d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-01.html @@ -0,0 +1,43 @@ + +form.elements: namedItem + + + + +
    +
    +
    + + +
    +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-02.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-02.html new file mode 100644 index 0000000..5a74617 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-form-element/form-elements-nameditem-02.html @@ -0,0 +1,28 @@ + +form.elements: parsing + + + + + +
    +
    +
    + + + + + + +
    +
    +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-input-element/input-textselection-01.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-input-element/input-textselection-01.html new file mode 100644 index 0000000..3e1e79b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-input-element/input-textselection-01.html @@ -0,0 +1,42 @@ + +The selection interface members + + + + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/textarea-type.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/textarea-type.html new file mode 100644 index 0000000..40f3882 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/textarea-type.html @@ -0,0 +1,16 @@ + +The type IDL attribute + + + + +
    + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1-ref.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1-ref.html new file mode 100644 index 0000000..3b68fca --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1-ref.html @@ -0,0 +1,5 @@ + +Dynamic manipulation of textarea.wrap + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1a.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1a.html new file mode 100644 index 0000000..f056934 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1a.html @@ -0,0 +1,8 @@ + +Dynamic manipulation of textarea.wrap + + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1b.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1b.html new file mode 100644 index 0000000..13c4251 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/forms/the-textarea-element/wrap-reflect-1b.html @@ -0,0 +1,8 @@ + +Dynamic manipulation of textarea.wrap + + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-language-type.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-language-type.html new file mode 100644 index 0000000..1126c50 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-language-type.html @@ -0,0 +1,18 @@ + +Script: combinations of @type and @language + + + + +
    + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-01.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-01.html new file mode 100644 index 0000000..42cac65 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-01.html @@ -0,0 +1,24 @@ + +Script @type: unknown parameters + + + + +
    +
    + + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-02.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-02.html new file mode 100644 index 0000000..71c0aa9 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-languages-02.html @@ -0,0 +1,65 @@ + +Script @type: JavaScript types + + + + +
    +
    + + + + + + + + + + + + + + + + + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-noembed-noframes-iframe.xhtml b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-noembed-noframes-iframe.xhtml new file mode 100644 index 0000000..8dd9ceb --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/scripting/the-script-element/script-noembed-noframes-iframe.xhtml @@ -0,0 +1,36 @@ + + +Script inside noembed, noframes and iframe + + + + + +
    + +
    + +<script> +run.push("noembed"); +</script> + + +<script> +run.push("noframes"); +</script> + + +
    + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-01.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-01.html new file mode 100644 index 0000000..e21b052 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-01.html @@ -0,0 +1,24 @@ + +insertRow(): INDEX_SIZE_ERR + + + + +
    +
    + + +
    +
    +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-02.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-02.html new file mode 100644 index 0000000..7620099 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/tabular-data/the-table-element/insertRow-method-02.html @@ -0,0 +1,34 @@ + +insertRow(): Empty table + + + + +
    +
    +
    +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-getter-01.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-getter-01.html new file mode 100644 index 0000000..35ddf68 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-getter-01.html @@ -0,0 +1,33 @@ + +HTMLAnchorElement.text getting + + + + +
    +
    +a b c +a b c +a b c +a c + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-setter-01.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-setter-01.html new file mode 100644 index 0000000..d042424 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-elements-of-html/text-level-semantics/the-a-element/a.text-setter-01.html @@ -0,0 +1,41 @@ + +HTMLAnchorElement.text setting + + + + +
    +
    +a b c +a c +a b c + +
    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1-ref.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1-ref.html new file mode 100644 index 0000000..6056912 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1-ref.html @@ -0,0 +1,5 @@ + +The hidden attribute + + +

    This line should be visible. diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1a.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1a.html new file mode 100644 index 0000000..edcbf3a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1a.html @@ -0,0 +1,6 @@ + +The hidden attribute + + +

    This line should be visible. +

    This line should not be visible. + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1d.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1d.html new file mode 100644 index 0000000..94d3a7b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-1d.html @@ -0,0 +1,10 @@ + +The hidden attribute + + +

    This line should not be visible. + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2-ref.svg b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2-ref.svg new file mode 100644 index 0000000..8aacdc8 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2-ref.svg @@ -0,0 +1,9 @@ + + + + + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2.svg b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2.svg new file mode 100644 index 0000000..9a0db1e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/htmlwg/submission/Ms2ger/the-hidden-attribute/hidden-2.svg @@ -0,0 +1,9 @@ + + + + + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/index.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/index.js new file mode 100644 index 0000000..857dedb --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/index.js @@ -0,0 +1,3 @@ +exports.htmlwg = require('./htmlwg'); +exports.w3c = require('./w3c'); + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/mocha.opts b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/mocha.opts new file mode 100644 index 0000000..eee6dac --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/mocha.opts @@ -0,0 +1,6 @@ +--ui exports +--reporter dot +--require should +--slow 20 +--growl + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/README.md b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/README.md new file mode 100644 index 0000000..4791699 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/README.md @@ -0,0 +1,13 @@ +# Document Object Model (DOM) Conformance Test Suites + +http://www.w3.org/DOM/Test/ + +Since domino doesn't implement deprecated DOM features some tests are no longer relevant. These tests have been moved to the `obsolete` directory so that they are excluded from the suite. + +## Attributes vs. Nodes + +The majority of the excluded level1/core tests expect Attributes to inherit from the Node interface which is no longer required in DOM level 4. Also `Element.attributes` no longer returns a NamedNodeMap but a read-only array. + +## Obsolete Attributes + +Another big hunk of excluded tests checks the support of reflected attributes that have become obsolete in HTML 5. diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/harness/DomTestCase.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/harness/DomTestCase.js new file mode 100644 index 0000000..c20e2d2 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/harness/DomTestCase.js @@ -0,0 +1,438 @@ +/* +Copyright (c) 2001-2005 World Wide Web Consortium, +(Massachusetts Institute of Technology, Institut National de +Recherche en Informatique et en Automatique, Keio University). All +Rights Reserved. This program is distributed under the W3C's Software +Intellectual Property License. This program is distributed in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +PURPOSE. +See W3C License http://www.w3.org/Consortium/Legal/ for more details. +*/ + +function assertSize(descr, expected, actual) { + var actualSize; + assertNotNull(descr, actual); + actualSize = actual.length; + assertEquals(descr, expected, actualSize); +} + +function assertEqualsAutoCase(context, descr, expected, actual) { + if (builder.contentType == "text/html") { + if(context == "attribute") { + assertEquals(descr, expected.toLowerCase(), actual.toLowerCase()); + } + else { + assertEquals(descr, expected.toUpperCase(), actual); + } + } + else { + assertEquals(descr, expected, actual); + } +} + + + function assertEqualsCollectionAutoCase(context, descr, expected, actual) { + // + // if they aren't the same size, they aren't equal + assertEquals(descr, expected.length, actual.length); + + // + // if there length is the same, then every entry in the expected list + // must appear once and only once in the actual list + var expectedLen = expected.length; + var expectedValue; + var actualLen = actual.length; + var i; + var j; + var matches; + for(i = 0; i < expectedLen; i++) { + matches = 0; + expectedValue = expected[i]; + for(j = 0; j < actualLen; j++) { + if (builder.contentType == "text/html") { + if (context == "attribute") { + if (expectedValue.toLowerCase() == actual[j].toLowerCase()) { + matches++; + } + } + else { + if (expectedValue.toUpperCase() == actual[j]) { + matches++; + } + } + } + else { + if(expectedValue == actual[j]) { + matches++; + } + } + } + if(matches == 0) { + assert(descr + ": No match found for " + expectedValue,false); + } + if(matches > 1) { + assert(descr + ": Multiple matches found for " + expectedValue, false); + } + } +} + +function assertEqualsCollection(descr, expected, actual) { + // + // if they aren't the same size, they aren't equal + assertEquals(descr, expected.length, actual.length); + // + // if there length is the same, then every entry in the expected list + // must appear once and only once in the actual list + var expectedLen = expected.length; + var expectedValue; + var actualLen = actual.length; + var i; + var j; + var matches; + for(i = 0; i < expectedLen; i++) { + matches = 0; + expectedValue = expected[i]; + for(j = 0; j < actualLen; j++) { + if(expectedValue == actual[j]) { + matches++; + } + } + if(matches == 0) { + assert(descr + ": No match found for " + expectedValue,false); + } + if(matches > 1) { + assert(descr + ": Multiple matches found for " + expectedValue, false); + } + } +} + + +function assertEqualsListAutoCase(context, descr, expected, actual) { + var minLength = expected.length; + if (actual.length < minLength) { + minLength = actual.length; + } + // + for(var i = 0; i < minLength; i++) { + assertEqualsAutoCase(context, descr, expected[i], actual[i]); + } + // + // if they aren't the same size, they aren't equal + assertEquals(descr, expected.length, actual.length); +} + +function assertEqualsList(descr, expected, actual) { + var minLength = expected.length; + if (actual.length < minLength) { + minLength = actual.length; + } + // + for(var i = 0; i < minLength; i++) { + if(expected[i] != actual[i]) { + assertEquals(descr, expected[i], actual[i]); + } + } + // + // if they aren't the same size, they aren't equal + assertEquals(descr, expected.length, actual.length); +} + +function assertInstanceOf(descr, type, obj) { + if(type == "Attr") { + assertEquals(descr,2,obj.nodeType); + var specd = obj.specified; + } +} + +function assertSame(descr, expected, actual) { + if(expected != actual) { + assertEquals(descr, expected.nodeType, actual.nodeType); + assertEquals(descr, expected.nodeValue, actual.nodeValue); + } +} + +function assertURIEquals(assertID, scheme, path, host, file, name, query, fragment, isAbsolute, actual) { + // + // URI must be non-null + assertNotNull(assertID, actual); + + var uri = actual; + + var lastPound = actual.lastIndexOf("#"); + var actualFragment = ""; + if(lastPound != -1) { + // + // substring before pound + // + uri = actual.substring(0,lastPound); + actualFragment = actual.substring(lastPound+1); + } + if(fragment != null) assertEquals(assertID,fragment, actualFragment); + + var lastQuestion = uri.lastIndexOf("?"); + var actualQuery = ""; + if(lastQuestion != -1) { + // + // substring before pound + // + uri = actual.substring(0,lastQuestion); + actualQuery = actual.substring(lastQuestion+1); + } + if(query != null) assertEquals(assertID, query, actualQuery); + + var firstColon = uri.indexOf(":"); + var firstSlash = uri.indexOf("/"); + var actualPath = uri; + var actualScheme = ""; + if(firstColon != -1 && firstColon < firstSlash) { + actualScheme = uri.substring(0,firstColon); + actualPath = uri.substring(firstColon + 1); + } + + if(scheme != null) { + assertEquals(assertID, scheme, actualScheme); + } + + if(path != null) { + assertEquals(assertID, path, actualPath); + } + + if(host != null) { + var actualHost = ""; + if(actualPath.substring(0,2) == "//") { + var termSlash = actualPath.substring(2).indexOf("/") + 2; + actualHost = actualPath.substring(0,termSlash); + } + assertEquals(assertID, host, actualHost); + } + + if(file != null || name != null) { + var actualFile = actualPath; + var finalSlash = actualPath.lastIndexOf("/"); + if(finalSlash != -1) { + actualFile = actualPath.substring(finalSlash+1); + } + if (file != null) { + assertEquals(assertID, file, actualFile); + } + if (name != null) { + var actualName = actualFile; + var finalDot = actualFile.lastIndexOf("."); + if (finalDot != -1) { + actualName = actualName.substring(0, finalDot); + } + assertEquals(assertID, name, actualName); + } + } + + if(isAbsolute != null) { + assertEquals(assertID + ' ' + actualPath, isAbsolute, actualPath.substring(0,1) == "/"); + } +} + + +// size() used by assertSize element +function size(collection) { + return collection.length; +} + +function same(expected, actual) { + return expected === actual; +} + +function getSuffix(contentType) { + switch(contentType) { + case "text/html": + return ".html"; + + case "text/xml": + return ".xml"; + + case "application/xhtml+xml": + return ".xhtml"; + + case "image/svg+xml": + return ".svg"; + + case "text/mathml": + return ".mml"; + } + return ".html"; +} + +function equalsAutoCase(context, expected, actual) { + if (builder.contentType == "text/html") { + if (context == "attribute") { + return expected.toLowerCase() == actual; + } + return expected.toUpperCase() == actual; + } + return expected == actual; +} + +function catchInitializationError(blder, ex) { + if (blder == null) { + alert(ex); + } + else { + blder.initializationError = ex; + blder.initializationFatalError = ex; + } +} + +function checkInitialization(blder, testname) { + if (blder.initializationError != null) { + if (blder.skipIncompatibleTests) { + info(testname + " not run:" + blder.initializationError); + return blder.initializationError; + } + else { + // + // if an exception was thrown + // rethrow it and do not run the test + if (blder.initializationFatalError != null) { + throw blder.initializationFatalError; + } else { + // + // might be recoverable, warn but continue the test + warn(testname + ": " + blder.initializationError); + } + } + } + return null; +} + +function createTempURI(scheme) { + if (scheme == "http") { + return "http://localhost:8080/webdav/tmp" + Math.floor(Math.random() * 100000) + ".xml"; + } + return "file:///tmp/domts" + Math.floor(Math.random() * 100000) + ".xml"; +} + + +function EventMonitor() { + this.atEvents = new Array(); + this.bubbledEvents = new Array(); + this.capturedEvents = new Array(); + this.allEvents = new Array(); +} + +EventMonitor.prototype.handleEvent = function(evt) { + switch(evt.eventPhase) { + case 1: + monitor.capturedEvents[monitor.capturedEvents.length] = evt; + break; + + case 2: + monitor.atEvents[monitor.atEvents.length] = evt; + break; + + case 3: + monitor.bubbledEvents[monitor.bubbledEvents.length] = evt; + break; + } + monitor.allEvents[monitor.allEvents.length] = evt; +} + +function DOMErrorImpl(err) { + this.severity = err.severity; + this.message = err.message; + this.type = err.type; + this.relatedException = err.relatedException; + this.relatedData = err.relatedData; + this.location = err.location; +} + + + +function DOMErrorMonitor() { + this.allErrors = new Array(); +} + +DOMErrorMonitor.prototype.handleError = function(err) { + errorMonitor.allErrors[errorMonitor.allErrors.length] = new DOMErrorImpl(err); +} + +DOMErrorMonitor.prototype.assertLowerSeverity = function(id, severity) { + var i; + for (i = 0; i < errorMonitor.allErrors.length; i++) { + if (errorMonitor.allErrors[i].severity >= severity) { + assertEquals(id, severity - 1, errorMonitor.allErrors[i].severity); + } + } +} + +function UserDataNotification(operation, key, data, src, dst) { + this.operation = operation; + this.key = key; + this.data = data; + this.src = src; + this.dst = dst; +} + +function UserDataMonitor() { + this.allNotifications = new Array(); +} + +UserDataMonitor.prototype.handle = function(operation, key, data, src, dst) { + userDataMonitor.allNotifications[this.allNotifications.length] = + new UserDataNotification(operation, key, data, src, dst); +} + + + + +function checkFeature(feature, version) +{ + if (!builder.hasFeature(feature, version)) + { + // + // don't throw exception so that users can select to ignore the precondition + // + builder.initializationError = "builder does not support feature " + feature + " version " + version; + } +} + +function preload(frame, varname, url) { + return builder.preload(frame, varname, url); +} + +function load(frame, varname, url) { + return builder.load(frame, varname, url); +} + +function getImplementationAttribute(attr) { + return builder.getImplementationAttribute(attr); +} + + +function setImplementationAttribute(attribute, value) { + builder.setImplementationAttribute(attribute, value); +} + +function setAsynchronous(value) { + if (builder.supportsAsyncChange) { + builder.async = value; + } else { + update(); + } +} + + +function toLowerArray(src) { + var newArray = new Array(); + var i; + for (i = 0; i < src.length; i++) { + newArray[i] = src[i].toLowerCase(); + } + return newArray; +} + +function getImplementation() { + return builder.getImplementation(); +} + +function warn(msg) { + //console.log(msg); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/harness/index.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/harness/index.js new file mode 100644 index 0000000..2b99432 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/harness/index.js @@ -0,0 +1,86 @@ +var fs = require('fs'); +var vm = require('vm'); +var assert = require('assert'); +var util = require('util'); +var Path = require('path'); +var domino = require('../../../lib'); +var impl = domino.createDOMImplementation(); + +var globals = { + assertEquals: function(message, expected, actual) { + assert.equal(actual, expected, message + ': expected ' + + util.inspect(expected, false, 0) + ' got ' + + util.inspect(actual, false, 0) + ); + }, + assertTrue: function(message, actual) { + globals.assertEquals(message, true, actual); + }, + assertFalse: function(message, actual) { + assert.ok(!actual, message); + }, + assertNull: function(message, actual) { + globals.assertEquals(message, null, actual); + }, + assertNotNull: function(message, actual) { + assert.notEqual(actual, null, message); + }, + console: console +}; + +function list(dir, re, fn) { + dir = Path.resolve(__dirname, '..', dir); + fs.readdirSync(dir).forEach(function(file) { + var path = Path.join(dir, file); + var m = re.exec(path); + if (m) fn.apply(null, m); + }); +} + +module.exports = function(path) { + + function run(file) { + vm.runInContext(fs.readFileSync(file, 'utf8'), ctx, file); + return ctx; + } + + var ctx = vm.createContext(); // create new independent context + Object.keys(globals).forEach(function(k) { + ctx[k] = globals[k]; // shallow clone + }); + + ctx.createConfiguredBuilder = function() { + return { + contentType: 'text/html', + hasFeature: function(feature, version) { + return impl.hasFeature(feature, version); + }, + getImplementation: function() { + return impl; + }, + setImplementationAttribute: function(attr, value) { + // Ignore + }, + preload: function(docRef, name, href) { + return 1; + }, + load: function(docRef, name, href) { + var doc = Path.resolve(__dirname, '..', path, 'files', href) + '.html'; + var html = fs.readFileSync(doc, 'utf8'); + return domino.createDocument(html); + } + }; + }; + + run(__dirname + '/DomTestCase.js'); + + var tests = {}; + list(path, /(.*?)\.js$/, function(file, basename) { + tests[basename] = function() { + run(file); + ctx.setUpPage(); + ctx.runTest(); + }; + }); + return tests; +}; diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/index.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/index.js new file mode 100644 index 0000000..c093a4c --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/index.js @@ -0,0 +1,12 @@ +var suite = require('./harness'); + +exports.level1 = { + core: suite('level1/core/'), + html: suite('level1/html/') +}; +/* +exports.level2 = { + core: suite('level2/core/'), + html: suite('level2/html/') +}; +*/ \ No newline at end of file diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/documentgetdoctypenodtd.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/documentgetdoctypenodtd.js new file mode 100644 index 0000000..7d475f9 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/documentgetdoctypenodtd.js @@ -0,0 +1,110 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/documentgetdoctypenodtd"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + setImplementationAttribute("validating", false); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_nodtdstaff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getDoctype()" method returns null for XML documents + without a document type declaration. + Retrieve the XML document without a DTD and invoke the + "getDoctype()" method. It should return null. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A31 +*/ +function documentgetdoctypenodtd() { + var success; + if(checkInitialization(builder, "documentgetdoctypenodtd") != null) return; + var doc; + var docType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_nodtdstaff"); + docType = doc.doctype; + + assertNull("documentGetDocTypeNoDTDAssert",docType); + +} + + + + +function runTest() { + documentgetdoctypenodtd(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi.js new file mode 100644 index 0000000..3216c53 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi.js @@ -0,0 +1,143 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/documentinvalidcharacterexceptioncreatepi"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + checkFeature("XML", null); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "createProcessingInstruction(target,data) method + raises an INVALID_CHARACTER_ERR DOMException if the + specified tagName contains an invalid character. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-135944439 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-135944439')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function documentinvalidcharacterexceptioncreatepi() { + var success; + if(checkInitialization(builder, "documentinvalidcharacterexceptioncreatepi") != null) return; + var doc; + var badPI; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + + if( + + (builder.contentType == "text/html") + + ) { + + { + success = false; + try { + badPI = doc.createProcessingInstruction("foo","data"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 9); + } + assertTrue("throw_NOT_SUPPORTED_ERR",success); + } + + } + + else { + + { + success = false; + try { + badPI = doc.createProcessingInstruction("invalid^Name","data"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 5); + } + assertTrue("throw_INVALID_CHARACTER_ERR",success); + } + + } + +} + + + + +function runTest() { + documentinvalidcharacterexceptioncreatepi(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi1.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi1.js new file mode 100644 index 0000000..fb6104d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/documentinvalidcharacterexceptioncreatepi1.js @@ -0,0 +1,140 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/documentinvalidcharacterexceptioncreatepi1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + checkFeature("XML", null); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Creating a processing instruction with an empty target should cause an INVALID_CHARACTER_ERR. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-135944439 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-135944439')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=525 +*/ +function documentinvalidcharacterexceptioncreatepi1() { + var success; + if(checkInitialization(builder, "documentinvalidcharacterexceptioncreatepi1") != null) return; + var doc; + var badPI; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + + if( + + (builder.contentType == "text/html") + + ) { + + { + success = false; + try { + badPI = doc.createProcessingInstruction("foo","data"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 9); + } + assertTrue("throw_NOT_SUPPORTED_ERR",success); + } + + } + + else { + + { + success = false; + try { + badPI = doc.createProcessingInstruction("","data"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 5); + } + assertTrue("throw_INVALID_CHARACTER_ERR",success); + } + + } + +} + + + + +function runTest() { + documentinvalidcharacterexceptioncreatepi1(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/files/.cvsignore b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/files/.cvsignore new file mode 100644 index 0000000..e69de29 diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/files/hc_nodtdstaff.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/files/hc_nodtdstaff.html new file mode 100644 index 0000000..f98d0be --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/files/hc_nodtdstaff.html @@ -0,0 +1,10 @@ +hc_nodtdstaff +

    + EMP0001 + Margaret Martin + Accountant + 56,000 + Female + 1230 North Ave. Dallas, Texas 98551 +

    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/files/hc_staff.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/files/hc_staff.html new file mode 100644 index 0000000..9acf750 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/files/hc_staff.html @@ -0,0 +1,48 @@ + + +hc_staff +

    + EMP0001 + Margaret Martin + Accountant + 56,000 + Female + 1230 North Ave. Dallas, Texas 98551 +

    +

    + EMP0002 + Martha RaynoldsThis is a CDATASection with EntityReference number 2 &ent2; +This is an adjacent CDATASection with a reference to a tab &tab; + Secretary + 35,000 + Female + β Dallas, γ + 98554 +

    +

    + EMP0003 + Roger + Jones + Department Manager + 100,000 + δ + PO Box 27 Irving, texas 98553 +

    +

    + EMP0004 + Jeny Oconnor + Personnel Director + 95,000 + Female + 27 South Road. Dallas, Texas 98556 +

    +

    + EMP0005 + Robert Myers + Computer Specialist + 90,000 + male + 1821 Nordic. Road, Irving Texas 98558 +

    + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/files/staff.dtd b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/files/staff.dtd new file mode 100644 index 0000000..02a994d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/files/staff.dtd @@ -0,0 +1,17 @@ + + + + + + + + + + + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddata.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddata.js new file mode 100644 index 0000000..a479174 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddata.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataappenddata"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "appendData(arg)" method appends a string to the end + of the character data of the node. + + Retrieve the character data from the second child + of the first employee. The appendData(arg) method is + called with arg=", Esquire". The method should append + the specified data to the already existing character + data. The new value return by the "getLength()" method + should be 24. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-32791A2F +*/ +function hc_characterdataappenddata() { + var success; + if(checkInitialization(builder, "hc_characterdataappenddata") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childValue; + var childLength; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.appendData(", Esquire"); + childValue = child.data; + + childLength = childValue.length; + assertEquals("characterdataAppendDataAssert",24,childLength); + +} + + + + +function runTest() { + hc_characterdataappenddata(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddatagetdata.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddatagetdata.js new file mode 100644 index 0000000..4aed0ce --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataappenddatagetdata.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataappenddatagetdata"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + On successful invocation of the "appendData(arg)" + method the "getData()" method provides access to the + concatentation of data and the specified string. + + Retrieve the character data from the second child + of the first employee. The appendData(arg) method is + called with arg=", Esquire". The method should append + the specified data to the already existing character + data. The new value return by the "getData()" method + should be "Margaret Martin, Esquire". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-32791A2F +*/ +function hc_characterdataappenddatagetdata() { + var success; + if(checkInitialization(builder, "hc_characterdataappenddatagetdata") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.appendData(", Esquire"); + childData = child.data; + + assertEquals("characterdataAppendDataGetDataAssert","Margaret Martin, Esquire",childData); + +} + + + + +function runTest() { + hc_characterdataappenddatagetdata(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatabegining.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatabegining.js new file mode 100644 index 0000000..8fc32ed --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatabegining.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatadeletedatabegining"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "deleteData(offset,count)" method removes a range of +characters from the node. Delete data at the beginning +of the character data. + +Retrieve the character data from the last child of the +first employee. The "deleteData(offset,count)" +method is then called with offset=0 and count=16. +The method should delete the characters from position +0 thru position 16. The new value of the character data +should be "Dallas, Texas 98551". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 +*/ +function hc_characterdatadeletedatabegining() { + var success; + if(checkInitialization(builder, "hc_characterdatadeletedatabegining") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.deleteData(0,16); + childData = child.data; + + assertEquals("data","Dallas, Texas 98551",childData); + +} + + + + +function runTest() { + hc_characterdatadeletedatabegining(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataend.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataend.js new file mode 100644 index 0000000..8d567d0 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataend.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatadeletedataend"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "deleteData(offset,count)" method removes a range of + characters from the node. Delete data at the end + of the character data. + + Retrieve the character data from the last child of the + first employee. The "deleteData(offset,count)" + method is then called with offset=30 and count=5. + The method should delete the characters from position + 30 thru position 35. The new value of the character data + should be "1230 North Ave. Dallas, Texas". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 +*/ +function hc_characterdatadeletedataend() { + var success; + if(checkInitialization(builder, "hc_characterdatadeletedataend") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.deleteData(30,5); + childData = child.data; + + assertEquals("characterdataDeleteDataEndAssert","1230 North Ave. Dallas, Texas ",childData); + +} + + + + +function runTest() { + hc_characterdatadeletedataend(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataexceedslength.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataexceedslength.js new file mode 100644 index 0000000..4dccc5e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedataexceedslength.js @@ -0,0 +1,125 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatadeletedataexceedslength"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If the sum of the offset and count used in the + "deleteData(offset,count) method is greater than the + length of the character data then all the characters + from the offset to the end of the data are deleted. + + Retrieve the character data from the last child of the + first employee. The "deleteData(offset,count)" + method is then called with offset=4 and count=50. + The method should delete the characters from position 4 + to the end of the data since the offset+count(50+4) + is greater than the length of the character data(35). + The new value of the character data should be "1230". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 +*/ +function hc_characterdatadeletedataexceedslength() { + var success; + if(checkInitialization(builder, "hc_characterdatadeletedataexceedslength") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.deleteData(4,50); + childData = child.data; + + assertEquals("characterdataDeleteDataExceedsLengthAssert","1230",childData); + +} + + + + +function runTest() { + hc_characterdatadeletedataexceedslength(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatagetlengthanddata.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatagetlengthanddata.js new file mode 100644 index 0000000..b3784f3 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatagetlengthanddata.js @@ -0,0 +1,132 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatadeletedatagetlengthanddata"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + On successful invocation of the "deleteData(offset,count)" + method, the "getData()" and "getLength()" methods reflect + the changes. + + Retrieve the character data from the last child of the + first employee. The "deleteData(offset,count)" + method is then called with offset=30 and count=5. + The method should delete the characters from position + 30 thru position 35. The new value of the character data + should be "1230 North Ave. Dallas, Texas" which is + returned by the "getData()" method and "getLength()" + method should return 30". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7D61178C +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 +*/ +function hc_characterdatadeletedatagetlengthanddata() { + var success; + if(checkInitialization(builder, "hc_characterdatadeletedatagetlengthanddata") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + var childLength; + var result = new Array(); + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.deleteData(30,5); + childData = child.data; + + assertEquals("data","1230 North Ave. Dallas, Texas ",childData); + childLength = child.length; + + assertEquals("length",30,childLength); + +} + + + + +function runTest() { + hc_characterdatadeletedatagetlengthanddata(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatamiddle.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatamiddle.js new file mode 100644 index 0000000..9afa810 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatadeletedatamiddle.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatadeletedatamiddle"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "deleteData(offset,count)" method removes a range of + characters from the node. Delete data in the middle + of the character data. + + Retrieve the character data from the last child of the + first employee. The "deleteData(offset,count)" + method is then called with offset=16 and count=8. + The method should delete the characters from position + 16 thru position 24. The new value of the character data + should be "1230 North Ave. Texas 98551". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 +*/ +function hc_characterdatadeletedatamiddle() { + var success; + if(checkInitialization(builder, "hc_characterdatadeletedatamiddle") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.deleteData(16,8); + childData = child.data; + + assertEquals("characterdataDeleteDataMiddleAssert","1230 North Ave. Texas 98551",childData); + +} + + + + +function runTest() { + hc_characterdatadeletedatamiddle(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatagetdata.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatagetdata.js new file mode 100644 index 0000000..ef16bb0 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatagetdata.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatagetdata"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + + The "getData()" method retrieves the character data + + currently stored in the node. + + Retrieve the character data from the second child + + of the first employee and invoke the "getData()" + + method. The method returns the character data + + string. + + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +*/ +function hc_characterdatagetdata() { + var success; + if(checkInitialization(builder, "hc_characterdatagetdata") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + childData = child.data; + + assertEquals("characterdataGetDataAssert","Margaret Martin",childData); + +} + + + + +function runTest() { + hc_characterdatagetdata(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatagetlength.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatagetlength.js new file mode 100644 index 0000000..214b14c --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatagetlength.js @@ -0,0 +1,119 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatagetlength"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getLength()" method returns the number of characters + stored in this nodes data. + Retrieve the character data from the second + child of the first employee and examine the + value returned by the getLength() method. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7D61178C +*/ +function hc_characterdatagetlength() { + var success; + if(checkInitialization(builder, "hc_characterdatagetlength") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childValue; + var childLength; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + childValue = child.data; + + childLength = childValue.length; + assertEquals("characterdataGetLengthAssert",15,childLength); + +} + + + + +function runTest() { + hc_characterdatagetlength(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative.js new file mode 100644 index 0000000..9d03881 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative.js @@ -0,0 +1,130 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + setImplementationAttribute("signed", true); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "deleteData(offset,count)" method raises an + INDEX_SIZE_ERR DOMException if the specified count + is negative. + + Retrieve the character data of the last child of the + first employee and invoke its "deleteData(offset,count)" + method with offset=10 and count=-3. It should raise the + desired exception since the count is negative. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6531BCCF +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-6531BCCF')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) +*/ +function hc_characterdataindexsizeerrdeletedatacountnegative() { + var success; + if(checkInitialization(builder, "hc_characterdataindexsizeerrdeletedatacountnegative") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childSubstring; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + + { + success = false; + try { + childSubstring = child.substringData(10,-3); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 1); + } + assertTrue("throws_INDEX_SIZE_ERR",success); + } + +} + + + + +function runTest() { + hc_characterdataindexsizeerrdeletedatacountnegative(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetgreater.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetgreater.js new file mode 100644 index 0000000..a66a6c1 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetgreater.js @@ -0,0 +1,131 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrdeletedataoffsetgreater"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "deleteData(offset,count)" method raises an + INDEX_SIZE_ERR DOMException if the specified offset + is greater that the number of characters in the string. + + Retrieve the character data of the last child of the + first employee and invoke its "deleteData(offset,count)" + method with offset=40 and count=3. It should raise the + desired exception since the offset is greater than the + number of characters in the string. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-7C603781')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_characterdataindexsizeerrdeletedataoffsetgreater() { + var success; + if(checkInitialization(builder, "hc_characterdataindexsizeerrdeletedataoffsetgreater") != null) return; + var doc; + var elementList; + var nameNode; + var child; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + + { + success = false; + try { + child.deleteData(40,3); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 1); + } + assertTrue("throw_INDEX_SIZE_ERR",success); + } + +} + + + + +function runTest() { + hc_characterdataindexsizeerrdeletedataoffsetgreater(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetnegative.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetnegative.js new file mode 100644 index 0000000..ca26f7d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrdeletedataoffsetnegative.js @@ -0,0 +1,130 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrdeletedataoffsetnegative"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + setImplementationAttribute("signed", true); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "deleteData(offset,count)" method raises an + INDEX_SIZE_ERR DOMException if the specified offset + is negative. + + Retrieve the character data of the last child of the + first employee and invoke its "deleteData(offset,count)" + method with offset=-5 and count=3. It should raise the + desired exception since the offset is negative. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-7C603781')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 +*/ +function hc_characterdataindexsizeerrdeletedataoffsetnegative() { + var success; + if(checkInitialization(builder, "hc_characterdataindexsizeerrdeletedataoffsetnegative") != null) return; + var doc; + var elementList; + var nameNode; + var child; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + + { + success = false; + try { + child.deleteData(-5,3); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 1); + } + assertTrue("throws_INDEX_SIZE_ERR",success); + } + +} + + + + +function runTest() { + hc_characterdataindexsizeerrdeletedataoffsetnegative(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetgreater.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetgreater.js new file mode 100644 index 0000000..0abfe7e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetgreater.js @@ -0,0 +1,130 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrinsertdataoffsetgreater"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "insertData(offset,arg)" method raises an + INDEX_SIZE_ERR DOMException if the specified offset + is greater than the number of characters in the string. + + Retrieve the character data of the last child of the + first employee and invoke its insertData"(offset,arg)" + method with offset=40 and arg="ABC". It should raise + the desired exception since the offset is greater than + the number of characters in the string. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-7C603781')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_characterdataindexsizeerrinsertdataoffsetgreater() { + var success; + if(checkInitialization(builder, "hc_characterdataindexsizeerrinsertdataoffsetgreater") != null) return; + var doc; + var elementList; + var nameNode; + var child; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + + { + success = false; + try { + child.deleteData(40,3); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 1); + } + assertTrue("throw_INDEX_SIZE_ERR",success); + } + +} + + + + +function runTest() { + hc_characterdataindexsizeerrinsertdataoffsetgreater(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetnegative.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetnegative.js new file mode 100644 index 0000000..4712b94 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrinsertdataoffsetnegative.js @@ -0,0 +1,129 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrinsertdataoffsetnegative"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + setImplementationAttribute("signed", true); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "insertData(offset,arg)" method raises an + INDEX_SIZE_ERR DOMException if the specified offset + is negative. + + Retrieve the character data of the last child of the + first employee and invoke its insertData"(offset,arg)" + method with offset=-5 and arg="ABC". It should raise + the desired exception since the offset is negative. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-E5CBA7FB')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) +*/ +function hc_characterdataindexsizeerrinsertdataoffsetnegative() { + var success; + if(checkInitialization(builder, "hc_characterdataindexsizeerrinsertdataoffsetnegative") != null) return; + var doc; + var elementList; + var nameNode; + var child; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + + { + success = false; + try { + child.replaceData(-5,3,"ABC"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 1); + } + assertTrue("throws_INDEX_SIZE_ERR",success); + } + +} + + + + +function runTest() { + hc_characterdataindexsizeerrinsertdataoffsetnegative(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedatacountnegative.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedatacountnegative.js new file mode 100644 index 0000000..7a2b7d2 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedatacountnegative.js @@ -0,0 +1,131 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrreplacedatacountnegative"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + setImplementationAttribute("signed", true); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "replaceData(offset,count,arg)" method raises an + INDEX_SIZE_ERR DOMException if the specified count + is negative. + + Retrieve the character data of the last child of the + first employee and invoke its + "replaceData(offset,count,arg) method with offset=10 + and count=-3 and arg="ABC". It should raise the + desired exception since the count is negative. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6531BCCF +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-6531BCCF')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) +*/ +function hc_characterdataindexsizeerrreplacedatacountnegative() { + var success; + if(checkInitialization(builder, "hc_characterdataindexsizeerrreplacedatacountnegative") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var badString; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + + { + success = false; + try { + badString = child.substringData(10,-3); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 1); + } + assertTrue("throws_INDEX_SIZE_ERR",success); + } + +} + + + + +function runTest() { + hc_characterdataindexsizeerrreplacedatacountnegative(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetgreater.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetgreater.js new file mode 100644 index 0000000..dc62aa7 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetgreater.js @@ -0,0 +1,131 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrreplacedataoffsetgreater"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "replaceData(offset,count,arg)" method raises an + INDEX_SIZE_ERR DOMException if the specified offset + is greater than the length of the string. + + Retrieve the character data of the last child of the + first employee and invoke its + "replaceData(offset,count,arg) method with offset=40 + and count=3 and arg="ABC". It should raise the + desired exception since the offset is greater than the + length of the string. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-7C603781')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=242 +*/ +function hc_characterdataindexsizeerrreplacedataoffsetgreater() { + var success; + if(checkInitialization(builder, "hc_characterdataindexsizeerrreplacedataoffsetgreater") != null) return; + var doc; + var elementList; + var nameNode; + var child; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + + { + success = false; + try { + child.deleteData(40,3); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 1); + } + assertTrue("throw_INDEX_SIZE_ERR",success); + } + +} + + + + +function runTest() { + hc_characterdataindexsizeerrreplacedataoffsetgreater(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetnegative.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetnegative.js new file mode 100644 index 0000000..af267df --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrreplacedataoffsetnegative.js @@ -0,0 +1,131 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrreplacedataoffsetnegative"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + setImplementationAttribute("signed", true); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "replaceData(offset,count,arg)" method raises an + INDEX_SIZE_ERR DOMException if the specified offset + is negative. + + Retrieve the character data of the last child of the + first employee and invoke its + "replaceData(offset,count,arg) method with offset=-5 + and count=3 and arg="ABC". It should raise the + desired exception since the offset is negative. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-E5CBA7FB')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB +*/ +function hc_characterdataindexsizeerrreplacedataoffsetnegative() { + var success; + if(checkInitialization(builder, "hc_characterdataindexsizeerrreplacedataoffsetnegative") != null) return; + var doc; + var elementList; + var nameNode; + var child; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + + { + success = false; + try { + child.replaceData(-5,3,"ABC"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 1); + } + assertTrue("throws_INDEX_SIZE_ERR",success); + } + +} + + + + +function runTest() { + hc_characterdataindexsizeerrreplacedataoffsetnegative(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringcountnegative.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringcountnegative.js new file mode 100644 index 0000000..2e96dbe --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringcountnegative.js @@ -0,0 +1,130 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrsubstringcountnegative"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + setImplementationAttribute("signed", true); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "substringData(offset,count)" method raises an + INDEX_SIZE_ERR DOMException if the specified count + is negative. + + Retrieve the character data of the last child of the + first employee and invoke its "substringData(offset,count) + method with offset=10 and count=-3. It should raise the + desired exception since the count is negative. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6531BCCF +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-6531BCCF')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) +*/ +function hc_characterdataindexsizeerrsubstringcountnegative() { + var success; + if(checkInitialization(builder, "hc_characterdataindexsizeerrsubstringcountnegative") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var badSubstring; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + + { + success = false; + try { + badSubstring = child.substringData(10,-3); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 1); + } + assertTrue("throws_INDEX_SIZE_ERR",success); + } + +} + + + + +function runTest() { + hc_characterdataindexsizeerrsubstringcountnegative(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringnegativeoffset.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringnegativeoffset.js new file mode 100644 index 0000000..bc2fbf1 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringnegativeoffset.js @@ -0,0 +1,130 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrsubstringnegativeoffset"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + setImplementationAttribute("signed", true); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "substringData(offset,count)" method raises an + INDEX_SIZE_ERR DOMException if the specified offset + is negative. + + Retrieve the character data of the last child of the + first employee and invoke its "substringData(offset,count) + method with offset=-5 and count=3. It should raise the + desired exception since the offset is negative. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6531BCCF +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-6531BCCF')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) +*/ +function hc_characterdataindexsizeerrsubstringnegativeoffset() { + var success; + if(checkInitialization(builder, "hc_characterdataindexsizeerrsubstringnegativeoffset") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var badString; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + + { + success = false; + try { + badString = child.substringData(-5,3); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 1); + } + assertTrue("throws_INDEX_SIZE_ERR",success); + } + +} + + + + +function runTest() { + hc_characterdataindexsizeerrsubstringnegativeoffset(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringoffsetgreater.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringoffsetgreater.js new file mode 100644 index 0000000..65325c7 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdataindexsizeerrsubstringoffsetgreater.js @@ -0,0 +1,131 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdataindexsizeerrsubstringoffsetgreater"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "substringData(offset,count)" method raises an + INDEX_SIZE_ERR DOMException if the specified offset + is greater than the number of characters in the string. + + Retrieve the character data of the last child of the + first employee and invoke its "substringData(offset,count) + method with offset=40 and count=3. It should raise the + desired exception since the offsets value is greater + than the length. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6531BCCF +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-6531BCCF')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_characterdataindexsizeerrsubstringoffsetgreater() { + var success; + if(checkInitialization(builder, "hc_characterdataindexsizeerrsubstringoffsetgreater") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var badString; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + + { + success = false; + try { + badString = child.substringData(40,3); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 1); + } + assertTrue("throw_INDEX_SIZE_ERR",success); + } + +} + + + + +function runTest() { + hc_characterdataindexsizeerrsubstringoffsetgreater(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatabeginning.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatabeginning.js new file mode 100644 index 0000000..576e855 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatabeginning.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatainsertdatabeginning"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "insertData(offset,arg)" method will insert a string +at the specified character offset. Insert the data at +the beginning of the character data. + +Retrieve the character data from the second child of +the first employee. The "insertData(offset,arg)" +method is then called with offset=0 and arg="Mss.". +The method should insert the string "Mss." at position 0. +The new value of the character data should be +"Mss. Margaret Martin". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3EDB695F +*/ +function hc_characterdatainsertdatabeginning() { + var success; + if(checkInitialization(builder, "hc_characterdatainsertdatabeginning") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.insertData(0,"Mss. "); + childData = child.data; + + assertEquals("characterdataInsertDataBeginningAssert","Mss. Margaret Martin",childData); + +} + + + + +function runTest() { + hc_characterdatainsertdatabeginning(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdataend.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdataend.js new file mode 100644 index 0000000..424f776 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdataend.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatainsertdataend"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "insertData(offset,arg)" method will insert a string + at the specified character offset. Insert the data at + the end of the character data. + + Retrieve the character data from the second child of + the first employee. The "insertData(offset,arg)" + method is then called with offset=15 and arg=", Esquire". + The method should insert the string ", Esquire" at + position 15. The new value of the character data should + be "Margaret Martin, Esquire". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3EDB695F +*/ +function hc_characterdatainsertdataend() { + var success; + if(checkInitialization(builder, "hc_characterdatainsertdataend") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.insertData(15,", Esquire"); + childData = child.data; + + assertEquals("characterdataInsertDataEndAssert","Margaret Martin, Esquire",childData); + +} + + + + +function runTest() { + hc_characterdatainsertdataend(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatamiddle.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatamiddle.js new file mode 100644 index 0000000..081714c --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatainsertdatamiddle.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatainsertdatamiddle"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "insertData(offset,arg)" method will insert a string + at the specified character offset. Insert the data in + the middle of the character data. + + Retrieve the character data from the second child of + the first employee. The "insertData(offset,arg)" + method is then called with offset=9 and arg="Ann". + The method should insert the string "Ann" at position 9. + The new value of the character data should be + "Margaret Ann Martin". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3EDB695F +*/ +function hc_characterdatainsertdatamiddle() { + var success; + if(checkInitialization(builder, "hc_characterdatainsertdatamiddle") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.insertData(9,"Ann "); + childData = child.data; + + assertEquals("characterdataInsertDataMiddleAssert","Margaret Ann Martin",childData); + +} + + + + +function runTest() { + hc_characterdatainsertdatamiddle(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatabegining.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatabegining.js new file mode 100644 index 0000000..2f5820d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatabegining.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatareplacedatabegining"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "replaceData(offset,count,arg)" method replaces the +characters starting at the specified offset with the +specified string. Test for replacement in the +middle of the data. + +Retrieve the character data from the last child of the +first employee. The "replaceData(offset,count,arg)" +method is then called with offset=5 and count=5 and +arg="South". The method should replace characters five +thru 9 of the character data with "South". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB +*/ +function hc_characterdatareplacedatabegining() { + var success; + if(checkInitialization(builder, "hc_characterdatareplacedatabegining") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.replaceData(0,4,"2500"); + childData = child.data; + + assertEquals("characterdataReplaceDataBeginingAssert","2500 North Ave. Dallas, Texas 98551",childData); + +} + + + + +function runTest() { + hc_characterdatareplacedatabegining(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataend.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataend.js new file mode 100644 index 0000000..8c01d58 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataend.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatareplacedataend"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "replaceData(offset,count,arg)" method replaces the + characters starting at the specified offset with the + specified string. Test for replacement at the + end of the data. + + Retrieve the character data from the last child of the + first employee. The "replaceData(offset,count,arg)" + method is then called with offset=30 and count=5 and + arg="98665". The method should replace characters 30 + thru 34 of the character data with "98665". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB +*/ +function hc_characterdatareplacedataend() { + var success; + if(checkInitialization(builder, "hc_characterdatareplacedataend") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.replaceData(30,5,"98665"); + childData = child.data; + + assertEquals("characterdataReplaceDataEndAssert","1230 North Ave. Dallas, Texas 98665",childData); + +} + + + + +function runTest() { + hc_characterdatareplacedataend(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofarg.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofarg.js new file mode 100644 index 0000000..a9cf8e2 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofarg.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatareplacedataexceedslengthofarg"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "replaceData(offset,count,arg)" method replaces the + characters starting at the specified offset with the + specified string. Test the situation where the length + of the arg string is greater than the specified offset. + + Retrieve the character data from the last child of the + first employee. The "replaceData(offset,count,arg)" + method is then called with offset=0 and count=4 and + arg="260030". The method should replace characters one + thru four with "260030". Note that the length of the + specified string is greater that the specified offset. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB +*/ +function hc_characterdatareplacedataexceedslengthofarg() { + var success; + if(checkInitialization(builder, "hc_characterdatareplacedataexceedslengthofarg") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.replaceData(0,4,"260030"); + childData = child.data; + + assertEquals("characterdataReplaceDataExceedsLengthOfArgAssert","260030 North Ave. Dallas, Texas 98551",childData); + +} + + + + +function runTest() { + hc_characterdatareplacedataexceedslengthofarg(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofdata.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofdata.js new file mode 100644 index 0000000..b2b4205 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedataexceedslengthofdata.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatareplacedataexceedslengthofdata"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If the sum of the offset and count exceeds the length then + all the characters to the end of the data are replaced. + + Retrieve the character data from the last child of the + first employee. The "replaceData(offset,count,arg)" + method is then called with offset=0 and count=50 and + arg="2600". The method should replace all the characters + with "2600". This is because the sum of the offset and + count exceeds the length of the character data. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB +*/ +function hc_characterdatareplacedataexceedslengthofdata() { + var success; + if(checkInitialization(builder, "hc_characterdatareplacedataexceedslengthofdata") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.replaceData(0,50,"2600"); + childData = child.data; + + assertEquals("characterdataReplaceDataExceedsLengthOfDataAssert","2600",childData); + +} + + + + +function runTest() { + hc_characterdatareplacedataexceedslengthofdata(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatamiddle.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatamiddle.js new file mode 100644 index 0000000..6558cde --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatareplacedatamiddle.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatareplacedatamiddle"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "replaceData(offset,count,arg)" method replaces the + characters starting at the specified offset with the + specified string. Test for replacement in the + middle of the data. + + Retrieve the character data from the last child of the + first employee. The "replaceData(offset,count,arg)" + method is then called with offset=5 and count=5 and + arg="South". The method should replace characters five + thru 9 of the character data with "South". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB +*/ +function hc_characterdatareplacedatamiddle() { + var success; + if(checkInitialization(builder, "hc_characterdatareplacedatamiddle") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.replaceData(5,5,"South"); + childData = child.data; + + assertEquals("characterdataReplaceDataMiddleAssert","1230 South Ave. Dallas, Texas 98551",childData); + +} + + + + +function runTest() { + hc_characterdatareplacedatamiddle(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatasetnodevalue.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatasetnodevalue.js new file mode 100644 index 0000000..e56ce72 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatasetnodevalue.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatasetnodevalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "setNodeValue()" method changes the character data + currently stored in the node. + Retrieve the character data from the second child + of the first employee and invoke the "setNodeValue()" + method, call "getData()" and compare. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359 +*/ +function hc_characterdatasetnodevalue() { + var success; + if(checkInitialization(builder, "hc_characterdatasetnodevalue") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var childData; + var childValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + child.nodeValue = "Marilyn Martin"; + + childData = child.data; + + assertEquals("data","Marilyn Martin",childData); + childValue = child.nodeValue; + + assertEquals("value","Marilyn Martin",childValue); + +} + + + + +function runTest() { + hc_characterdatasetnodevalue(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringexceedsvalue.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringexceedsvalue.js new file mode 100644 index 0000000..043dac2 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringexceedsvalue.js @@ -0,0 +1,120 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatasubstringexceedsvalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If the sum of the "offset" and "count" exceeds the + "length" then the "substringData(offset,count)" method + returns all the characters to the end of the data. + + Retrieve the character data from the second child + of the first employee and access part of the data + by using the substringData(offset,count) method + with offset=9 and count=10. The method should return + the substring "Martin" since offset+count > length + (19 > 15). + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6531BCCF +*/ +function hc_characterdatasubstringexceedsvalue() { + var success; + if(checkInitialization(builder, "hc_characterdatasubstringexceedsvalue") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var substring; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + substring = child.substringData(9,10); + assertEquals("characterdataSubStringExceedsValueAssert","Martin",substring); + +} + + + + +function runTest() { + hc_characterdatasubstringexceedsvalue(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringvalue.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringvalue.js new file mode 100644 index 0000000..379e3b0 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_characterdatasubstringvalue.js @@ -0,0 +1,119 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatasubstringvalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "substringData(offset,count)" method returns the + specified string. + + Retrieve the character data from the second child + of the first employee and access part of the data + by using the substringData(offset,count) method. The + method should return the specified substring starting + at position "offset" and extract "count" characters. + The method should return the string "Margaret". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6531BCCF +*/ +function hc_characterdatasubstringvalue() { + var success; + if(checkInitialization(builder, "hc_characterdatasubstringvalue") != null) return; + var doc; + var elementList; + var nameNode; + var child; + var substring; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(0); + child = nameNode.firstChild; + + substring = child.substringData(0,8); + assertEquals("characterdataSubStringValueAssert","Margaret",substring); + +} + + + + +function runTest() { + hc_characterdatasubstringvalue(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_commentgetcomment.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_commentgetcomment.js new file mode 100644 index 0000000..b7c76b4 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_commentgetcomment.js @@ -0,0 +1,144 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_commentgetcomment"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + A comment is all the characters between the starting + '' + Retrieve the nodes of the DOM document. Search for a + comment node and the content is its value. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1334481328 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=509 +*/ +function hc_commentgetcomment() { + var success; + if(checkInitialization(builder, "hc_commentgetcomment") != null) return; + var doc; + var elementList; + var child; + var childName; + var childValue; + var commentCount = 0; + var childType; + var attributes; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.childNodes; + + for(var indexN1005E = 0;indexN1005E < elementList.length; indexN1005E++) { + child = elementList.item(indexN1005E); + childType = child.nodeType; + + + if( + (8 == childType) + ) { + childName = child.nodeName; + + assertEquals("nodeName","#comment",childName); + childValue = child.nodeValue; + + assertEquals("nodeValue"," This is comment number 1.",childValue); + attributes = child.attributes; + + assertNull("attributes",attributes); + commentCount += 1; + + } + + } + assertTrue("atMostOneComment", + + (commentCount < 2) +); + +} + + + + +function runTest() { + hc_commentgetcomment(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentcreatecomment.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentcreatecomment.js new file mode 100644 index 0000000..fdd69a8 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentcreatecomment.js @@ -0,0 +1,120 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentcreatecomment"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "createComment(data)" method creates a new Comment + node given the specified string. + Retrieve the entire DOM document and invoke its + "createComment(data)" method. It should create a new + Comment node whose "data" is the specified string. + The content, name and type are retrieved and output. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1334481328 +*/ +function hc_documentcreatecomment() { + var success; + if(checkInitialization(builder, "hc_documentcreatecomment") != null) return; + var doc; + var newCommentNode; + var newCommentValue; + var newCommentName; + var newCommentType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newCommentNode = doc.createComment("This is a new Comment node"); + newCommentValue = newCommentNode.nodeValue; + + assertEquals("value","This is a new Comment node",newCommentValue); + newCommentName = newCommentNode.nodeName; + + assertEquals("strong","#comment",newCommentName); + newCommentType = newCommentNode.nodeType; + + assertEquals("type",8,newCommentType); + +} + + + + +function runTest() { + hc_documentcreatecomment(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentcreatedocumentfragment.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentcreatedocumentfragment.js new file mode 100644 index 0000000..40240c5 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentcreatedocumentfragment.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentcreatedocumentfragment"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "createDocumentFragment()" method creates an empty + DocumentFragment object. + Retrieve the entire DOM document and invoke its + "createDocumentFragment()" method. The content, name, + type and value of the newly created object are output. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-35CB04B5 +*/ +function hc_documentcreatedocumentfragment() { + var success; + if(checkInitialization(builder, "hc_documentcreatedocumentfragment") != null) return; + var doc; + var newDocFragment; + var children; + var length; + var newDocFragmentName; + var newDocFragmentType; + var newDocFragmentValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newDocFragment = doc.createDocumentFragment(); + children = newDocFragment.childNodes; + + length = children.length; + + assertEquals("length",0,length); + newDocFragmentName = newDocFragment.nodeName; + + assertEquals("strong","#document-fragment",newDocFragmentName); + newDocFragmentType = newDocFragment.nodeType; + + assertEquals("type",11,newDocFragmentType); + newDocFragmentValue = newDocFragment.nodeValue; + + assertNull("value",newDocFragmentValue); + +} + + + + +function runTest() { + hc_documentcreatedocumentfragment(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentcreateelement.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentcreateelement.js new file mode 100644 index 0000000..fbba09a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentcreateelement.js @@ -0,0 +1,121 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentcreateelement"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "createElement(tagName)" method creates an Element + of the type specified. + Retrieve the entire DOM document and invoke its + "createElement(tagName)" method with tagName="acronym". + The method should create an instance of an Element node + whose tagName is "acronym". The NodeName, NodeType + and NodeValue are returned. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-2141741547 +*/ +function hc_documentcreateelement() { + var success; + if(checkInitialization(builder, "hc_documentcreateelement") != null) return; + var doc; + var newElement; + var newElementName; + var newElementType; + var newElementValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newElement = doc.createElement("acronym"); + newElementName = newElement.nodeName; + + assertEqualsAutoCase("element", "strong","acronym",newElementName); + newElementType = newElement.nodeType; + + assertEquals("type",1,newElementType); + newElementValue = newElement.nodeValue; + + assertNull("valueInitiallyNull",newElementValue); + +} + + + + +function runTest() { + hc_documentcreateelement(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentcreateelementcasesensitive.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentcreateelementcasesensitive.js new file mode 100644 index 0000000..a22069f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentcreateelementcasesensitive.js @@ -0,0 +1,132 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentcreateelementcasesensitive"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The tagName parameter in the "createElement(tagName)" + method is case-sensitive for XML documents. + Retrieve the entire DOM document and invoke its + "createElement(tagName)" method twice. Once for tagName + equal to "acronym" and once for tagName equal to "ACRONYM" + Each call should create a distinct Element node. The + newly created Elements are then assigned attributes + that are retrieved. + + Modified on 27 June 2003 to avoid setting an invalid style + values and checked the node names to see if they matched expectations. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-2141741547 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 +*/ +function hc_documentcreateelementcasesensitive() { + var success; + if(checkInitialization(builder, "hc_documentcreateelementcasesensitive") != null) return; + var doc; + var newElement1; + var newElement2; + var attribute1; + var attribute2; + var nodeName1; + var nodeName2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newElement1 = doc.createElement("ACRONYM"); + newElement2 = doc.createElement("acronym"); + newElement1.setAttribute("lang","EN"); + newElement2.setAttribute("title","Dallas"); + attribute1 = newElement1.getAttribute("lang"); + attribute2 = newElement2.getAttribute("title"); + assertEquals("attrib1","EN",attribute1); + assertEquals("attrib2","Dallas",attribute2); + nodeName1 = newElement1.nodeName; + + nodeName2 = newElement2.nodeName; + + assertEqualsAutoCase("element", "nodeName1","ACRONYM",nodeName1); + assertEqualsAutoCase("element", "nodeName2","acronym",nodeName2); + +} + + + + +function runTest() { + hc_documentcreateelementcasesensitive(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentcreatetextnode.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentcreatetextnode.js new file mode 100644 index 0000000..8b04106 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentcreatetextnode.js @@ -0,0 +1,120 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentcreatetextnode"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "createTextNode(data)" method creates a Text node + given the specfied string. + Retrieve the entire DOM document and invoke its + "createTextNode(data)" method. It should create a + new Text node whose "data" is the specified string. + The NodeName and NodeType are also checked. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1975348127 +*/ +function hc_documentcreatetextnode() { + var success; + if(checkInitialization(builder, "hc_documentcreatetextnode") != null) return; + var doc; + var newTextNode; + var newTextName; + var newTextValue; + var newTextType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newTextNode = doc.createTextNode("This is a new Text node"); + newTextValue = newTextNode.nodeValue; + + assertEquals("value","This is a new Text node",newTextValue); + newTextName = newTextNode.nodeName; + + assertEquals("strong","#text",newTextName); + newTextType = newTextNode.nodeType; + + assertEquals("type",3,newTextType); + +} + + + + +function runTest() { + hc_documentcreatetextnode(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentgetdoctype.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentgetdoctype.js new file mode 100644 index 0000000..c3aa3c5 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentgetdoctype.js @@ -0,0 +1,149 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentgetdoctype"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Access Document.doctype for hc_staff, if not text/html should return DocumentType node. +HTML implementations may return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A31 +*/ +function hc_documentgetdoctype() { + var success; + if(checkInitialization(builder, "hc_documentgetdoctype") != null) return; + var doc; + var docType; + var docTypeName; + var nodeValue; + var attributes; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + docType = doc.doctype; + + + if( + + !( + (builder.contentType == "text/html") +) + + ) { + assertNotNull("docTypeNotNull",docType); + + } + + if( + + (docType != null) + + ) { + docTypeName = docType.name; + + + if( + + (builder.contentType == "image/svg+xml") + + ) { + assertEquals("nodeNameSVG","svg",docTypeName); + + } + + else { + assertEquals("nodeName","html",docTypeName); + + } + nodeValue = docType.nodeValue; + + assertNull("nodeValue",nodeValue); + attributes = docType.attributes; + + assertNull("attributes",attributes); + + } + +} + + + + +function runTest() { + hc_documentgetdoctype(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamelength.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamelength.js new file mode 100644 index 0000000..1eb3e39 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamelength.js @@ -0,0 +1,110 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentgetelementsbytagnamelength"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getElementsByTagName(tagName)" method returns a + NodeList of all the Elements with a given tagName. + + Retrieve the entire DOM document and invoke its + "getElementsByTagName(tagName)" method with tagName + equal to "strong". The method should return a NodeList + that contains 5 elements. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-A6C9094 +*/ +function hc_documentgetelementsbytagnamelength() { + var success; + if(checkInitialization(builder, "hc_documentgetelementsbytagnamelength") != null) return; + var doc; + var nameList; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + nameList = doc.getElementsByTagName("strong"); + assertSize("documentGetElementsByTagNameLengthAssert",5,nameList); + +} + + + + +function runTest() { + hc_documentgetelementsbytagnamelength(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnametotallength.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnametotallength.js new file mode 100644 index 0000000..00fa119 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnametotallength.js @@ -0,0 +1,221 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentgetelementsbytagnametotallength"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the entire DOM document and invoke its + "getElementsByTagName(tagName)" method with tagName + equal to "*". The method should return a NodeList + that contains all the elements of the document. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-A6C9094 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=251 +*/ +function hc_documentgetelementsbytagnametotallength() { + var success; + if(checkInitialization(builder, "hc_documentgetelementsbytagnametotallength") != null) return; + var doc; + var nameList; + expectedNames = new Array(); + expectedNames[0] = "html"; + expectedNames[1] = "head"; + expectedNames[2] = "meta"; + expectedNames[3] = "title"; + expectedNames[4] = "script"; + expectedNames[5] = "script"; + expectedNames[6] = "script"; + expectedNames[7] = "body"; + expectedNames[8] = "p"; + expectedNames[9] = "em"; + expectedNames[10] = "strong"; + expectedNames[11] = "code"; + expectedNames[12] = "sup"; + expectedNames[13] = "var"; + expectedNames[14] = "acronym"; + expectedNames[15] = "p"; + expectedNames[16] = "em"; + expectedNames[17] = "strong"; + expectedNames[18] = "code"; + expectedNames[19] = "sup"; + expectedNames[20] = "var"; + expectedNames[21] = "acronym"; + expectedNames[22] = "p"; + expectedNames[23] = "em"; + expectedNames[24] = "strong"; + expectedNames[25] = "code"; + expectedNames[26] = "sup"; + expectedNames[27] = "var"; + expectedNames[28] = "acronym"; + expectedNames[29] = "p"; + expectedNames[30] = "em"; + expectedNames[31] = "strong"; + expectedNames[32] = "code"; + expectedNames[33] = "sup"; + expectedNames[34] = "var"; + expectedNames[35] = "acronym"; + expectedNames[36] = "p"; + expectedNames[37] = "em"; + expectedNames[38] = "strong"; + expectedNames[39] = "code"; + expectedNames[40] = "sup"; + expectedNames[41] = "var"; + expectedNames[42] = "acronym"; + + svgExpectedNames = new Array(); + svgExpectedNames[0] = "svg"; + svgExpectedNames[1] = "rect"; + svgExpectedNames[2] = "script"; + svgExpectedNames[3] = "head"; + svgExpectedNames[4] = "meta"; + svgExpectedNames[5] = "title"; + svgExpectedNames[6] = "body"; + svgExpectedNames[7] = "p"; + svgExpectedNames[8] = "em"; + svgExpectedNames[9] = "strong"; + svgExpectedNames[10] = "code"; + svgExpectedNames[11] = "sup"; + svgExpectedNames[12] = "var"; + svgExpectedNames[13] = "acronym"; + svgExpectedNames[14] = "p"; + svgExpectedNames[15] = "em"; + svgExpectedNames[16] = "strong"; + svgExpectedNames[17] = "code"; + svgExpectedNames[18] = "sup"; + svgExpectedNames[19] = "var"; + svgExpectedNames[20] = "acronym"; + svgExpectedNames[21] = "p"; + svgExpectedNames[22] = "em"; + svgExpectedNames[23] = "strong"; + svgExpectedNames[24] = "code"; + svgExpectedNames[25] = "sup"; + svgExpectedNames[26] = "var"; + svgExpectedNames[27] = "acronym"; + svgExpectedNames[28] = "p"; + svgExpectedNames[29] = "em"; + svgExpectedNames[30] = "strong"; + svgExpectedNames[31] = "code"; + svgExpectedNames[32] = "sup"; + svgExpectedNames[33] = "var"; + svgExpectedNames[34] = "acronym"; + svgExpectedNames[35] = "p"; + svgExpectedNames[36] = "em"; + svgExpectedNames[37] = "strong"; + svgExpectedNames[38] = "code"; + svgExpectedNames[39] = "sup"; + svgExpectedNames[40] = "var"; + svgExpectedNames[41] = "acronym"; + + var actualNames = new Array(); + + var thisElement; + var thisTag; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + nameList = doc.getElementsByTagName("*"); + for(var indexN10148 = 0;indexN10148 < nameList.length; indexN10148++) { + thisElement = nameList.item(indexN10148); + thisTag = thisElement.tagName; + + actualNames[actualNames.length] = thisTag; + + } + + if( + + (builder.contentType == "image/svg+xml") + + ) { + assertEqualsListAutoCase("element", "svgTagNames",svgExpectedNames,actualNames); + + } + + else { + assertEqualsListAutoCase("element", "tagNames",expectedNames,actualNames); + + } + +} + + + + +function runTest() { + hc_documentgetelementsbytagnametotallength(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamevalue.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamevalue.js new file mode 100644 index 0000000..e9d39ed --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentgetelementsbytagnamevalue.js @@ -0,0 +1,120 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentgetelementsbytagnamevalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getElementsByTagName(tagName)" method returns a + NodeList of all the Elements with a given tagName + in a pre-order traversal of the tree. + + Retrieve the entire DOM document and invoke its + "getElementsByTagName(tagName)" method with tagName + equal to "strong". The method should return a NodeList + that contains 5 elements. The FOURTH item in the + list is retrieved and output. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-A6C9094 +*/ +function hc_documentgetelementsbytagnamevalue() { + var success; + if(checkInitialization(builder, "hc_documentgetelementsbytagnamevalue") != null) return; + var doc; + var nameList; + var nameNode; + var firstChild; + var childValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + nameList = doc.getElementsByTagName("strong"); + nameNode = nameList.item(3); + firstChild = nameNode.firstChild; + + childValue = firstChild.nodeValue; + + assertEquals("documentGetElementsByTagNameValueAssert","Jeny Oconnor",childValue); + +} + + + + +function runTest() { + hc_documentgetelementsbytagnamevalue(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentgetimplementation.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentgetimplementation.js new file mode 100644 index 0000000..5bb3f3b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentgetimplementation.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentgetimplementation"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the entire DOM document and invoke its + "getImplementation()" method. If contentType="text/html", + DOMImplementation.hasFeature("HTML","1.0") should be true. + Otherwise, DOMImplementation.hasFeature("XML", "1.0") + should be true. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1B793EBA +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=245 +*/ +function hc_documentgetimplementation() { + var success; + if(checkInitialization(builder, "hc_documentgetimplementation") != null) return; + var doc; + var docImpl; + var xmlstate; + var htmlstate; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + docImpl = doc.implementation; +xmlstate = docImpl.hasFeature("XML","1.0"); +htmlstate = docImpl.hasFeature("HTML","1.0"); + + if( + + (builder.contentType == "text/html") + + ) { + assertTrue("supports_HTML_1.0",htmlstate); + + } + + else { + assertTrue("supports_XML_1.0",xmlstate); + + } + +} + + + + +function runTest() { + hc_documentgetimplementation(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentgetrootnode.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentgetrootnode.js new file mode 100644 index 0000000..e221ff1 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentgetrootnode.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentgetrootnode"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Load a document and invoke its + "getDocumentElement()" method. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-87CD092 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=251 +*/ +function hc_documentgetrootnode() { + var success; + if(checkInitialization(builder, "hc_documentgetrootnode") != null) return; + var doc; + var root; + var rootName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + root = doc.documentElement; + + rootName = root.nodeName; + + + if( + + (builder.contentType == "image/svg+xml") + + ) { + assertEquals("svgTagName","svg",rootName); + + } + + else { + assertEqualsAutoCase("element", "docElemName","html",rootName); + + } + +} + + + + +function runTest() { + hc_documentgetrootnode(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement.js new file mode 100644 index 0000000..624a46a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentinvalidcharacterexceptioncreateelement"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "createElement(tagName)" method raises an + INVALID_CHARACTER_ERR DOMException if the specified + tagName contains an invalid character. + + Retrieve the entire DOM document and invoke its + "createElement(tagName)" method with the tagName equal + to the string "invalid^Name". Due to the invalid + character the desired EXCEPTION should be raised. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-2141741547 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-2141741547')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-2141741547 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_documentinvalidcharacterexceptioncreateelement() { + var success; + if(checkInitialization(builder, "hc_documentinvalidcharacterexceptioncreateelement") != null) return; + var doc; + var badElement; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + + { + success = false; + try { + badElement = doc.createElement("invalid^Name"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 5); + } + assertTrue("throw_INVALID_CHARACTER_ERR",success); + } + +} + + + + +function runTest() { + hc_documentinvalidcharacterexceptioncreateelement(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement1.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement1.js new file mode 100644 index 0000000..cbf69fe --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_documentinvalidcharacterexceptioncreateelement1.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentinvalidcharacterexceptioncreateelement1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Creating an element with an empty name should cause an INVALID_CHARACTER_ERR. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-2141741547 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-2141741547')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-2141741547 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=525 +*/ +function hc_documentinvalidcharacterexceptioncreateelement1() { + var success; + if(checkInitialization(builder, "hc_documentinvalidcharacterexceptioncreateelement1") != null) return; + var doc; + var badElement; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + + { + success = false; + try { + badElement = doc.createElement(""); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 5); + } + assertTrue("throw_INVALID_CHARACTER_ERR",success); + } + +} + + + + +function runTest() { + hc_documentinvalidcharacterexceptioncreateelement1(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenoversion.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenoversion.js new file mode 100644 index 0000000..f723ce5 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenoversion.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_domimplementationfeaturenoversion"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Load a document and invoke its + "getImplementation()" method. This should create a + DOMImplementation object whose "hasFeature(feature, + version)" method is invoked with version equal to "". + If the version is not specified, supporting any version + feature will cause the method to return "true". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-5CED94D7 +* @see http://www.w3.org/2000/11/DOM-Level-2-errata#core-14 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=245 +*/ +function hc_domimplementationfeaturenoversion() { + var success; + if(checkInitialization(builder, "hc_domimplementationfeaturenoversion") != null) return; + var doc; + var domImpl; + var state; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + domImpl = doc.implementation; + + if( + + (builder.contentType == "text/html") + + ) { + state = domImpl.hasFeature("HTML",""); + + } + + else { + state = domImpl.hasFeature("XML",""); + + } + assertTrue("hasFeatureBlank",state); + +} + + + + +function runTest() { + hc_domimplementationfeaturenoversion(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenull.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenull.js new file mode 100644 index 0000000..bfa69f3 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturenull.js @@ -0,0 +1,129 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_domimplementationfeaturenull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + setImplementationAttribute("hasNullString", true); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Load a document and invoke its + "getImplementation()" method. This should create a + DOMImplementation object whose "hasFeature(feature, + version)" method is invoked with version equal to null. + If the version is not specified, supporting any version + feature will cause the method to return "true". + +* @author Curt Arnold +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-5CED94D7 +* @see http://www.w3.org/2000/11/DOM-Level-2-errata#core-14 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=245 +*/ +function hc_domimplementationfeaturenull() { + var success; + if(checkInitialization(builder, "hc_domimplementationfeaturenull") != null) return; + var doc; + var domImpl; + var state; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + domImpl = doc.implementation; + + if( + + (builder.contentType == "text/html") + + ) { + state = domImpl.hasFeature("HTML",null); +assertTrue("supports_HTML_null",state); + + } + + else { + state = domImpl.hasFeature("XML",null); +assertTrue("supports_XML_null",state); + + } + +} + + + + +function runTest() { + hc_domimplementationfeaturenull(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturexml.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturexml.js new file mode 100644 index 0000000..acd4d37 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_domimplementationfeaturexml.js @@ -0,0 +1,125 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_domimplementationfeaturexml"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the entire DOM document and invoke its + "getImplementation()" method. This should create a + DOMImplementation object whose "hasFeature(feature, + version)" method is invoked with "feature" equal to "html" or "xml". + The method should return a boolean "true". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-5CED94D7 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=245 +*/ +function hc_domimplementationfeaturexml() { + var success; + if(checkInitialization(builder, "hc_domimplementationfeaturexml") != null) return; + var doc; + var domImpl; + var state; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + domImpl = doc.implementation; + + if( + + (builder.contentType == "text/html") + + ) { + state = domImpl.hasFeature("html","1.0"); +assertTrue("supports_html_1.0",state); + + } + + else { + state = domImpl.hasFeature("xml","1.0"); +assertTrue("supports_xml_1.0",state); + + } + +} + + + + +function runTest() { + hc_domimplementationfeaturexml(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementaddnewattribute.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementaddnewattribute.js new file mode 100644 index 0000000..90d483b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementaddnewattribute.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementaddnewattribute"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "setAttribute(name,value)" method adds a new attribute + to the Element + + Retrieve the last child of the last employee, then + add an attribute to it by invoking the + "setAttribute(name,value)" method. It should create + a "strong" attribute with an assigned value equal to + "value". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68F082 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 +*/ +function hc_elementaddnewattribute() { + var success; + if(checkInitialization(builder, "hc_elementaddnewattribute") != null) return; + var doc; + var elementList; + var testEmployee; + var attrValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(4); + testEmployee.setAttribute("lang","EN-us"); + attrValue = testEmployee.getAttribute("lang"); + assertEquals("attrValue","EN-us",attrValue); + +} + + + + +function runTest() { + hc_elementaddnewattribute(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementchangeattributevalue.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementchangeattributevalue.js new file mode 100644 index 0000000..2777f22 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementchangeattributevalue.js @@ -0,0 +1,119 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementchangeattributevalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "setAttribute(name,value)" method adds a new attribute + to the Element. If the "strong" is already present, then + its value should be changed to the new one that is in + the "value" parameter. + + Retrieve the last child of the fourth employee, then add + an attribute to it by invoking the + "setAttribute(name,value)" method. Since the name of the + used attribute("class") is already present in this + element, then its value should be changed to the new one + of the "value" parameter. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68F082 +*/ +function hc_elementchangeattributevalue() { + var success; + if(checkInitialization(builder, "hc_elementchangeattributevalue") != null) return; + var doc; + var elementList; + var testEmployee; + var attrValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(3); + testEmployee.setAttribute("class","Neither"); + attrValue = testEmployee.getAttribute("class"); + assertEquals("elementChangeAttributeValueAssert","Neither",attrValue); + +} + + + + +function runTest() { + hc_elementchangeattributevalue(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagname.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagname.js new file mode 100644 index 0000000..bed6cfe --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagname.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementgetelementsbytagname"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "getElementsByTagName(name)" method returns a list +of all descendant Elements with the given tag name. +Test for an empty list. + +Create a NodeList of all the descendant elements +using the string "noMatch" as the tagName. +The method should return a NodeList whose length is +"0" since there are not any descendant elements +that match the given tag name. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1938918D +*/ +function hc_elementgetelementsbytagname() { + var success; + if(checkInitialization(builder, "hc_elementgetelementsbytagname") != null) return; + var doc; + var elementList; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + assertSize("elementGetElementsByTagNameAssert",5,elementList); + +} + + + + +function runTest() { + hc_elementgetelementsbytagname(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnameaccessnodelist.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnameaccessnodelist.js new file mode 100644 index 0000000..cd53408 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnameaccessnodelist.js @@ -0,0 +1,144 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementgetelementsbytagnameaccessnodelist"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "getElementsByTagName(name)" method returns a list +of all descendant Elements in the order the children +were encountered in a pre order traversal of the element +tree. + +Create a NodeList of all the descendant elements +using the string "p" as the tagName. +The method should return a NodeList whose length is +"5" in the order the children were encountered. +Access the FOURTH element in the NodeList. The FOURTH +element, the first or second should be an "em" node with +the content "EMP0004". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1938918D +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_elementgetelementsbytagnameaccessnodelist() { + var success; + if(checkInitialization(builder, "hc_elementgetelementsbytagnameaccessnodelist") != null) return; + var doc; + var elementList; + var testEmployee; + var firstC; + var childName; + var nodeType; + var employeeIDNode; + var employeeID; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + testEmployee = elementList.item(3); + firstC = testEmployee.firstChild; + + nodeType = firstC.nodeType; + + + while( + (3 == nodeType) + ) { + firstC = firstC.nextSibling; + + nodeType = firstC.nodeType; + + + } +childName = firstC.nodeName; + + assertEqualsAutoCase("element", "childName","em",childName); + employeeIDNode = firstC.firstChild; + + employeeID = employeeIDNode.nodeValue; + + assertEquals("employeeID","EMP0004",employeeID); + +} + + + + +function runTest() { + hc_elementgetelementsbytagnameaccessnodelist(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamenomatch.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamenomatch.js new file mode 100644 index 0000000..941fd4a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamenomatch.js @@ -0,0 +1,110 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementgetelementsbytagnamenomatch"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "getElementsByTagName(name)" method returns a list +of all descendant Elements with the given tag name. + +Create a NodeList of all the descendant elements +using the string "employee" as the tagName. +The method should return a NodeList whose length is +"5". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1938918D +*/ +function hc_elementgetelementsbytagnamenomatch() { + var success; + if(checkInitialization(builder, "hc_elementgetelementsbytagnamenomatch") != null) return; + var doc; + var elementList; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("noMatch"); + assertSize("elementGetElementsByTagNameNoMatchNoMatchAssert",0,elementList); + +} + + + + +function runTest() { + hc_elementgetelementsbytagnamenomatch(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamespecialvalue.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamespecialvalue.js new file mode 100644 index 0000000..3b8c10d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementgetelementsbytagnamespecialvalue.js @@ -0,0 +1,134 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementgetelementsbytagnamespecialvalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "getElementsByTagName(name)" method may use the +special value "*" to match all tags in the element +tree. + +Create a NodeList of all the descendant elements +of the last employee by using the special value "*". +The method should return all the descendant children(6) +in the order the children were encountered. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1938918D +*/ +function hc_elementgetelementsbytagnamespecialvalue() { + var success; + if(checkInitialization(builder, "hc_elementgetelementsbytagnamespecialvalue") != null) return; + var doc; + var elementList; + var lastEmployee; + var lastempList; + var child; + var childName; + var result = new Array(); + + expectedResult = new Array(); + expectedResult[0] = "em"; + expectedResult[1] = "strong"; + expectedResult[2] = "code"; + expectedResult[3] = "sup"; + expectedResult[4] = "var"; + expectedResult[5] = "acronym"; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + lastEmployee = elementList.item(4); + lastempList = lastEmployee.getElementsByTagName("*"); + for(var indexN10067 = 0;indexN10067 < lastempList.length; indexN10067++) { + child = lastempList.item(indexN10067); + childName = child.nodeName; + + result[result.length] = childName; + + } + assertEqualsListAutoCase("element", "tagNames",expectedResult,result); + +} + + + + +function runTest() { + hc_elementgetelementsbytagnamespecialvalue(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementgettagname.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementgettagname.js new file mode 100644 index 0000000..567d234 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementgettagname.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementgettagname"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Invoke the "getTagName()" method one the + root node. The value returned should be "html" or "svg". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-104682815 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=251 +*/ +function hc_elementgettagname() { + var success; + if(checkInitialization(builder, "hc_elementgettagname") != null) return; + var doc; + var root; + var tagname; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + root = doc.documentElement; + + tagname = root.tagName; + + + if( + + (builder.contentType == "image/svg+xml") + + ) { + assertEquals("svgTagname","svg",tagname); + + } + + else { + assertEqualsAutoCase("element", "tagname","html",tagname); + + } + +} + + + + +function runTest() { + hc_elementgettagname(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception.js new file mode 100644 index 0000000..4d581a3 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception.js @@ -0,0 +1,125 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementinvalidcharacterexception"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "setAttribute(name,value)" method raises an + "INVALID_CHARACTER_ERR DOMException if the specified + name contains an invalid character. + + Retrieve the last child of the first employee and + call its "setAttribute(name,value)" method with + "strong" containing an invalid character. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68F082 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-F68F082')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_elementinvalidcharacterexception() { + var success; + if(checkInitialization(builder, "hc_elementinvalidcharacterexception") != null) return; + var doc; + var elementList; + var testAddress; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddress = elementList.item(0); + + { + success = false; + try { + testAddress.setAttribute("invalid^Name","value"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 5); + } + assertTrue("throw_INVALID_CHARACTER_ERR",success); + } + +} + + + + +function runTest() { + hc_elementinvalidcharacterexception(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception1.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception1.js new file mode 100644 index 0000000..5376968 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementinvalidcharacterexception1.js @@ -0,0 +1,119 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementinvalidcharacterexception1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Calling Element.setAttribute with an empty name will cause an INVALID_CHARACTER_ERR. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68F082 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-F68F082')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=525 +*/ +function hc_elementinvalidcharacterexception1() { + var success; + if(checkInitialization(builder, "hc_elementinvalidcharacterexception1") != null) return; + var doc; + var elementList; + var testAddress; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddress = elementList.item(0); + + { + success = false; + try { + testAddress.setAttribute("","value"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 5); + } + assertTrue("throw_INVALID_CHARACTER_ERR",success); + } + +} + + + + +function runTest() { + hc_elementinvalidcharacterexception1(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementnormalize.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementnormalize.js new file mode 100644 index 0000000..c00a5bc --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementnormalize.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementnormalize"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Append a couple of text nodes to the first sup element, normalize the +document element and check that the element has been normalized. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-162CF083 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=546 +*/ +function hc_elementnormalize() { + var success; + if(checkInitialization(builder, "hc_elementnormalize") != null) return; + var doc; + var root; + var elementList; + var testName; + var firstChild; + var childValue; + var textNode; + var retNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("sup"); + testName = elementList.item(0); + textNode = doc.createTextNode(""); + retNode = testName.appendChild(textNode); + textNode = doc.createTextNode(",000"); + retNode = testName.appendChild(textNode); + root = doc.documentElement; + + root.normalize(); + elementList = doc.getElementsByTagName("sup"); + testName = elementList.item(0); + firstChild = testName.firstChild; + + childValue = firstChild.nodeValue; + + assertEquals("elementNormalizeAssert","56,000,000",childValue); + +} + + + + +function runTest() { + hc_elementnormalize(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementremoveattribute.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementremoveattribute.js new file mode 100644 index 0000000..136b4a1 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementremoveattribute.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementremoveattribute"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "removeAttribute(name)" removes an attribute by name. + If the attribute has a default value, it is immediately + replaced. However, there is no default values in the HTML + compatible tests, so its value is "". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6D6AC0F9 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2002Mar/0002.html +*/ +function hc_elementremoveattribute() { + var success; + if(checkInitialization(builder, "hc_elementremoveattribute") != null) return; + var doc; + var elementList; + var testEmployee; + var attrValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(3); + testEmployee.removeAttribute("class"); + attrValue = testEmployee.getAttribute("class"); + assertEquals("attrValue",null,attrValue); //XXX Domino returns null as WebKit and FF do + +} + + + + +function runTest() { + hc_elementremoveattribute(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementretrieveallattributes.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementretrieveallattributes.js new file mode 100644 index 0000000..585b2ce --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementretrieveallattributes.js @@ -0,0 +1,144 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementretrieveallattributes"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Create a list of all the attributes of the last child + of the first "p" element by using the "getAttributes()" + method. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2002Mar/0002.html +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=184 +*/ +function hc_elementretrieveallattributes() { + var success; + if(checkInitialization(builder, "hc_elementretrieveallattributes") != null) return; + var doc; + var addressList; + var testAddress; + var attributes; + var attribute; + var attributeName; + var actual = new Array(); + + htmlExpected = new Array(); + htmlExpected[0] = "title"; + + expected = new Array(); + expected[0] = "title"; + expected[1] = "dir"; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + addressList = doc.getElementsByTagName("acronym"); + testAddress = addressList.item(0); + attributes = testAddress.attributes; + + for(var indexN1006B = 0;indexN1006B < attributes.length; indexN1006B++) { + attribute = attributes.item(indexN1006B); + attributeName = attribute.name; + + actual[actual.length] = attributeName; + + } + + if( + + (builder.contentType == "text/html") + + ) { + assertEqualsCollection("htmlAttributeNames",toLowerArray(htmlExpected),toLowerArray(actual)); + + } + + else { + assertEqualsCollection("attributeNames",toLowerArray(expected),toLowerArray(actual)); + + } + +} + + + + +function runTest() { + hc_elementretrieveallattributes(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementretrieveattrvalue.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementretrieveattrvalue.js new file mode 100644 index 0000000..288afcd --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementretrieveattrvalue.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementretrieveattrvalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getAttribute(name)" method returns an attribute + value by name. + + Retrieve the second address element, then + invoke the 'getAttribute("class")' method. This should + return the value of the attribute("No"). + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-666EE0F9 +*/ +function hc_elementretrieveattrvalue() { + var success; + if(checkInitialization(builder, "hc_elementretrieveattrvalue") != null) return; + var doc; + var elementList; + var testAddress; + var attrValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddress = elementList.item(2); + attrValue = testAddress.getAttribute("class"); + assertEquals("attrValue","No",attrValue); + +} + + + + +function runTest() { + hc_elementretrieveattrvalue(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementretrievetagname.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementretrievetagname.js new file mode 100644 index 0000000..9208b54 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_elementretrievetagname.js @@ -0,0 +1,118 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementretrievetagname"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getElementsByTagName()" method returns a NodeList + of all descendant elements with a given tagName. + + Invoke the "getElementsByTagName()" method and create + a NodeList of "code" elements. Retrieve the second + "code" element in the list and return the NodeName. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-104682815 +*/ +function hc_elementretrievetagname() { + var success; + if(checkInitialization(builder, "hc_elementretrievetagname") != null) return; + var doc; + var elementList; + var testEmployee; + var strong; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("code"); + testEmployee = elementList.item(1); + strong = testEmployee.nodeName; + + assertEqualsAutoCase("element", "nodename","code",strong); + strong = testEmployee.tagName; + + assertEqualsAutoCase("element", "tagname","code",strong); + +} + + + + +function runTest() { + hc_elementretrievetagname(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_entitiesremovenameditem1.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_entitiesremovenameditem1.js new file mode 100644 index 0000000..54ca9ff --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_entitiesremovenameditem1.js @@ -0,0 +1,133 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_entitiesremovenameditem1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + checkFeature("XML", null); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +An attempt to add remove an entity should result in a NO_MODIFICATION_ERR. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1788794630 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D58B193 +*/ +function hc_entitiesremovenameditem1() { + var success; + if(checkInitialization(builder, "hc_entitiesremovenameditem1") != null) return; + var doc; + var entities; + var docType; + var retval; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + docType = doc.doctype; + + + if( + + !( + (builder.contentType == "text/html") +) + + ) { + assertNotNull("docTypeNotNull",docType); +entities = docType.entities; + + assertNotNull("entitiesNotNull",entities); + + { + success = false; + try { + retval = entities.removeNamedItem("alpha"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 7); + } + assertTrue("throw_NO_MODIFICATION_ALLOWED_ERR",success); + } + + } + +} + + + + +function runTest() { + hc_entitiesremovenameditem1(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_entitiessetnameditem1.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_entitiessetnameditem1.js new file mode 100644 index 0000000..17876c0 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_entitiessetnameditem1.js @@ -0,0 +1,144 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_entitiessetnameditem1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + checkFeature("XML", null); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +An attempt to add an element to the named node map returned by entities should +result in a NO_MODIFICATION_ERR or HIERARCHY_REQUEST_ERR. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1788794630 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788 +*/ +function hc_entitiessetnameditem1() { + var success; + if(checkInitialization(builder, "hc_entitiessetnameditem1") != null) return; + var doc; + var entities; + var docType; + var retval; + var elem; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + docType = doc.doctype; + + + if( + + !( + (builder.contentType == "text/html") +) + + ) { + assertNotNull("docTypeNotNull",docType); +entities = docType.entities; + + assertNotNull("entitiesNotNull",entities); +elem = doc.createElement("br"); + + try { + retval = entities.setNamedItem(elem); + fail("throw_HIER_OR_NO_MOD_ERR"); + + } catch (ex) { + if (typeof(ex.code) != 'undefined') { + switch(ex.code) { + case /* HIERARCHY_REQUEST_ERR */ 3 : + break; + case /* NO_MODIFICATION_ALLOWED_ERR */ 7 : + break; + default: + throw ex; + } + } else { + throw ex; + } + } + + } + +} + + + + +function runTest() { + hc_entitiessetnameditem1(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_namednodemapchildnoderange.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_namednodemapchildnoderange.js new file mode 100644 index 0000000..d70da8d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_namednodemapchildnoderange.js @@ -0,0 +1,141 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapchildnoderange"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Create a NamedNodeMap object from the attributes of the + last child of the third "p" element and traverse the + list from index 0 thru length -1. All indices should + be valid. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6D0FB19E +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=250 +*/ +function hc_namednodemapchildnoderange() { + var success; + if(checkInitialization(builder, "hc_namednodemapchildnoderange") != null) return; + var doc; + var elementList; + var testEmployee; + var attributes; + var child; + var strong; + var length; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(2); + attributes = testEmployee.attributes; + + length = attributes.length; + + + if( + + (builder.contentType == "text/html") + + ) { + assertEquals("htmlLength",2,length); + + } + + else { + assertEquals("length",3,length); + child = attributes.item(2); + assertNotNull("attr2",child); + + } + child = attributes.item(0); + assertNotNull("attr0",child); +child = attributes.item(1); + assertNotNull("attr1",child); +child = attributes.item(3); + assertNull("attr3",child); + +} + + + + +function runTest() { + hc_namednodemapchildnoderange(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_namednodemapnumberofnodes.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_namednodemapnumberofnodes.js new file mode 100644 index 0000000..b703b21 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_namednodemapnumberofnodes.js @@ -0,0 +1,127 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapnumberofnodes"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the second "p" element and evaluate Node.attributes.length. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6D0FB19E +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=250 +*/ +function hc_namednodemapnumberofnodes() { + var success; + if(checkInitialization(builder, "hc_namednodemapnumberofnodes") != null) return; + var doc; + var elementList; + var testEmployee; + var attributes; + var length; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(2); + attributes = testEmployee.attributes; + + length = attributes.length; + + + if( + + (builder.contentType == "text/html") + + ) { + assertEquals("htmlLength",2,length); + + } + + else { + assertEquals("length",3,length); + + } + +} + + + + +function runTest() { + hc_namednodemapnumberofnodes(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeappendchild.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeappendchild.js new file mode 100644 index 0000000..0da5325 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeappendchild.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeappendchild"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the second "p" and append a "br" Element + node to the list of children. The last node in the list + is then retrieved and its NodeName examined. The + "getNodeName()" method should return "br". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_nodeappendchild() { + var success; + if(checkInitialization(builder, "hc_nodeappendchild") != null) return; + var doc; + var elementList; + var employeeNode; + var childList; + var createdNode; + var lchild; + var childName; + var appendedChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.childNodes; + + createdNode = doc.createElement("br"); + appendedChild = employeeNode.appendChild(createdNode); + lchild = employeeNode.lastChild; + + childName = lchild.nodeName; + + assertEqualsAutoCase("element", "nodeName","br",childName); + +} + + + + +function runTest() { + hc_nodeappendchild(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildchildexists.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildchildexists.js new file mode 100644 index 0000000..2c95d9f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildchildexists.js @@ -0,0 +1,160 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeappendchildchildexists"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If the "newChild" is already in the tree, it is first + removed before the new one is appended. + + Retrieve the "em" second employee and + append the first child to the end of the list. After + the "appendChild(newChild)" method is invoked the first + child should be the one that was second and the last + child should be the one that was first. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodeappendchildchildexists() { + var success; + if(checkInitialization(builder, "hc_nodeappendchildchildexists") != null) return; + var doc; + var elementList; + var childList; + var childNode; + var newChild; + var memberNode; + var memberName; + var refreshedActual = new Array(); + + var actual = new Array(); + + var nodeType; + expected = new Array(); + expected[0] = "strong"; + expected[1] = "code"; + expected[2] = "sup"; + expected[3] = "var"; + expected[4] = "acronym"; + expected[5] = "em"; + + var appendedChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + childNode = elementList.item(1); + childList = childNode.getElementsByTagName("*"); + newChild = childList.item(0); + appendedChild = childNode.appendChild(newChild); + for(var indexN10085 = 0;indexN10085 < childList.length; indexN10085++) { + memberNode = childList.item(indexN10085); + memberName = memberNode.nodeName; + + actual[actual.length] = memberName; + + } + assertEqualsListAutoCase("element", "liveByTagName",expected,actual); + childList = childNode.childNodes; + + for(var indexN1009C = 0;indexN1009C < childList.length; indexN1009C++) { + memberNode = childList.item(indexN1009C); + nodeType = memberNode.nodeType; + + + if( + (1 == nodeType) + ) { + memberName = memberNode.nodeName; + + refreshedActual[refreshedActual.length] = memberName; + + } + + } + assertEqualsListAutoCase("element", "refreshedChildNodes",expected,refreshedActual); + +} + + + + +function runTest() { + hc_nodeappendchildchildexists(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeappendchilddocfragment.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeappendchilddocfragment.js new file mode 100644 index 0000000..f1b95ea --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeappendchilddocfragment.js @@ -0,0 +1,158 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeappendchilddocfragment"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If the "newChild" is a DocumentFragment object then + all its content is added to the child list of this node. + + Create and populate a new DocumentFragment object and + append it to the second employee. After the + "appendChild(newChild)" method is invoked retrieve the + new nodes at the end of the list, they should be the + two Element nodes from the DocumentFragment. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_nodeappendchilddocfragment() { + var success; + if(checkInitialization(builder, "hc_nodeappendchilddocfragment") != null) return; + var doc; + var elementList; + var employeeNode; + var childList; + var newdocFragment; + var newChild1; + var newChild2; + var child; + var childName; + var result = new Array(); + + var appendedChild; + var nodeType; + expected = new Array(); + expected[0] = "em"; + expected[1] = "strong"; + expected[2] = "code"; + expected[3] = "sup"; + expected[4] = "var"; + expected[5] = "acronym"; + expected[6] = "br"; + expected[7] = "b"; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.childNodes; + + newdocFragment = doc.createDocumentFragment(); + newChild1 = doc.createElement("br"); + newChild2 = doc.createElement("b"); + appendedChild = newdocFragment.appendChild(newChild1); + appendedChild = newdocFragment.appendChild(newChild2); + appendedChild = employeeNode.appendChild(newdocFragment); + for(var indexN100A2 = 0;indexN100A2 < childList.length; indexN100A2++) { + child = childList.item(indexN100A2); + nodeType = child.nodeType; + + + if( + (1 == nodeType) + ) { + childName = child.nodeName; + + result[result.length] = childName; + + } + + } + assertEqualsListAutoCase("element", "nodeNames",expected,result); + +} + + + + +function runTest() { + hc_nodeappendchilddocfragment(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildgetnodename.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildgetnodename.js new file mode 100644 index 0000000..f7499c5 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildgetnodename.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeappendchildgetnodename"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "appendChild(newChild)" method returns the node + added. + + Append a newly created node to the child list of the + second employee and check the NodeName returned. The + "getNodeName()" method should return "br". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_nodeappendchildgetnodename() { + var success; + if(checkInitialization(builder, "hc_nodeappendchildgetnodename") != null) return; + var doc; + var elementList; + var employeeNode; + var childList; + var newChild; + var appendNode; + var childName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.childNodes; + + newChild = doc.createElement("br"); + appendNode = employeeNode.appendChild(newChild); + childName = appendNode.nodeName; + + assertEqualsAutoCase("element", "nodeName","br",childName); + +} + + + + +function runTest() { + hc_nodeappendchildgetnodename(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnewchilddiffdocument.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnewchilddiffdocument.js new file mode 100644 index 0000000..1be650b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnewchilddiffdocument.js @@ -0,0 +1,144 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeappendchildnewchilddiffdocument"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var doc1Ref = null; + if (typeof(this.doc1) != 'undefined') { + doc1Ref = this.doc1; + } + docsLoaded += preload(doc1Ref, "doc1", "hc_staff"); + + var doc2Ref = null; + if (typeof(this.doc2) != 'undefined') { + doc2Ref = this.doc2; + } + docsLoaded += preload(doc2Ref, "doc2", "hc_staff"); + + if (docsLoaded == 2) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 2) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "appendChild(newChild)" method raises a + WRONG_DOCUMENT_ERR DOMException if the "newChild" was + created from a different document than the one that + created this node. + + Retrieve the second employee and attempt to append + a node created from a different document. An attempt + to make such a replacement should raise the desired + exception. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NOT_FOUND_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-184E7107')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NOT_FOUND_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_nodeappendchildnewchilddiffdocument() { + var success; + if(checkInitialization(builder, "hc_nodeappendchildnewchilddiffdocument") != null) return; + var doc1; + var doc2; + var newChild; + var elementList; + var elementNode; + var appendedChild; + + var doc1Ref = null; + if (typeof(this.doc1) != 'undefined') { + doc1Ref = this.doc1; + } + doc1 = load(doc1Ref, "doc1", "hc_staff"); + + var doc2Ref = null; + if (typeof(this.doc2) != 'undefined') { + doc2Ref = this.doc2; + } + doc2 = load(doc2Ref, "doc2", "hc_staff"); + newChild = doc1.createElement("br"); + elementList = doc2.getElementsByTagName("p"); + elementNode = elementList.item(1); + + { + success = false; + try { + appendedChild = elementNode.appendChild(newChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 4); + } + assertTrue("throw_WRONG_DOCUMENT_ERR",success); + } + +} + + + + +function runTest() { + hc_nodeappendchildnewchilddiffdocument(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnodeancestor.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnodeancestor.js new file mode 100644 index 0000000..a8ba817 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeappendchildnodeancestor.js @@ -0,0 +1,132 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeappendchildnodeancestor"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "appendChild(newChild)" method raises a + HIERARCHY_REQUEST_ERR DOMException if the node to + append is one of this node's ancestors. + + Retrieve the second employee and attempt to append + an ancestor node(root node) to it. + An attempt to make such an addition should raise the + desired exception. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='HIERARCHY_REQUEST_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-184E7107')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='HIERARCHY_REQUEST_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +*/ +function hc_nodeappendchildnodeancestor() { + var success; + if(checkInitialization(builder, "hc_nodeappendchildnodeancestor") != null) return; + var doc; + var newChild; + var elementList; + var employeeNode; + var childList; + var oldChild; + var appendedChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newChild = doc.documentElement; + + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + + { + success = false; + try { + appendedChild = employeeNode.appendChild(newChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 3); + } + assertTrue("throw_HIERARCHY_REQUEST_ERR",success); + } + +} + + + + +function runTest() { + hc_nodeappendchildnodeancestor(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeattributenodeattribute.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeattributenodeattribute.js new file mode 100644 index 0000000..e8443db --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeattributenodeattribute.js @@ -0,0 +1,120 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeattributenodeattribute"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "getAttributes()" method invoked on an Attribute +Node returns null. + +Retrieve the first attribute from the last child of the +first employee and invoke the "getAttributes()" method +on the Attribute Node. It should return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +*/ +function hc_nodeattributenodeattribute() { + var success; + if(checkInitialization(builder, "hc_nodeattributenodeattribute") != null) return; + var doc; + var elementList; + var testAddr; + var addrAttr; + var attrNode; + var attrList; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddr = elementList.item(0); + addrAttr = testAddr.attributes; + + attrNode = addrAttr.item(0); + attrList = attrNode.attributes; + + assertNull("nodeAttributeNodeAttributeAssert1",attrList); + +} + + + + +function runTest() { + hc_nodeattributenodeattribute(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodechildnodes.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodechildnodes.js new file mode 100644 index 0000000..855ec35 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodechildnodes.js @@ -0,0 +1,149 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodechildnodes"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + + The "getChildNodes()" method returns a NodeList + that contains all children of this node. + + Retrieve the second employee and check the NodeList + returned by the "getChildNodes()" method. The + length of the list should be 13. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1451460987 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodechildnodes() { + var success; + if(checkInitialization(builder, "hc_nodechildnodes") != null) return; + var doc; + var elementList; + var employeeNode; + var childNode; + var childNodes; + var nodeType; + var childName; + var actual = new Array(); + + expected = new Array(); + expected[0] = "em"; + expected[1] = "strong"; + expected[2] = "code"; + expected[3] = "sup"; + expected[4] = "var"; + expected[5] = "acronym"; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childNodes = employeeNode.childNodes; + + for(var indexN1006C = 0;indexN1006C < childNodes.length; indexN1006C++) { + childNode = childNodes.item(indexN1006C); + nodeType = childNode.nodeType; + + childName = childNode.nodeName; + + + if( + (1 == nodeType) + ) { + actual[actual.length] = childName; + + } + + else { + assertEquals("textNodeType",3,nodeType); + + } + + } + assertEqualsListAutoCase("element", "elementNames",expected,actual); + +} + + + + +function runTest() { + hc_nodechildnodes(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesappendchild.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesappendchild.js new file mode 100644 index 0000000..a262e24 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesappendchild.js @@ -0,0 +1,159 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodechildnodesappendchild"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The NodeList returned by the "getChildNodes()" method + is live. Changes on the node's children are immediately + reflected on the nodes returned in the NodeList. + + Create a NodeList of the children of the second employee + and then add a newly created element that was created + by the "createElement()" method(Document Interface) to + the second employee by using the "appendChild()" method. + The length of the NodeList should reflect this new + addition to the child list. It should return the value 14. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1451460987 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_nodechildnodesappendchild() { + var success; + if(checkInitialization(builder, "hc_nodechildnodesappendchild") != null) return; + var doc; + var elementList; + var employeeNode; + var childList; + var createdNode; + var childNode; + var childName; + var childType; + var textNode; + var actual = new Array(); + + expected = new Array(); + expected[0] = "em"; + expected[1] = "strong"; + expected[2] = "code"; + expected[3] = "sup"; + expected[4] = "var"; + expected[5] = "acronym"; + expected[6] = "br"; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.childNodes; + + createdNode = doc.createElement("br"); + employeeNode = employeeNode.appendChild(createdNode); + for(var indexN10087 = 0;indexN10087 < childList.length; indexN10087++) { + childNode = childList.item(indexN10087); + childName = childNode.nodeName; + + childType = childNode.nodeType; + + + if( + (1 == childType) + ) { + actual[actual.length] = childName; + + } + + else { + assertEquals("textNodeType",3,childType); + + } + + } + assertEqualsListAutoCase("element", "childElements",expected,actual); + +} + + + + +function runTest() { + hc_nodechildnodesappendchild(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesempty.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesempty.js new file mode 100644 index 0000000..612307c --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodechildnodesempty.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodechildnodesempty"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getChildNodes()" method returns a NodeList + that contains all children of this node. If there + are not any children, this is a NodeList that does not + contain any nodes. + + Retrieve the character data of the second "em" node and + invoke the "getChildNodes()" method. The + NodeList returned should not have any nodes. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1451460987 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodechildnodesempty() { + var success; + if(checkInitialization(builder, "hc_nodechildnodesempty") != null) return; + var doc; + var elementList; + var childList; + var employeeNode; + var textNode; + var length; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("em"); + employeeNode = elementList.item(1); + textNode = employeeNode.firstChild; + + childList = textNode.childNodes; + + length = childList.length; + + assertEquals("length_zero",0,length); + +} + + + + +function runTest() { + hc_nodechildnodesempty(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodecloneattributescopied.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodecloneattributescopied.js new file mode 100644 index 0000000..86f04da --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodecloneattributescopied.js @@ -0,0 +1,149 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodecloneattributescopied"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the second acronym element and invoke + the cloneNode method. The + duplicate node returned by the method should copy the + attributes associated with this node. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=184 +*/ +function hc_nodecloneattributescopied() { + var success; + if(checkInitialization(builder, "hc_nodecloneattributescopied") != null) return; + var doc; + var elementList; + var addressNode; + var clonedNode; + var attributes; + var attributeNode; + var attributeName; + var result = new Array(); + + htmlExpected = new Array(); + htmlExpected[0] = "class"; + htmlExpected[1] = "title"; + + expected = new Array(); + expected[0] = "class"; + expected[1] = "title"; + expected[2] = "dir"; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + addressNode = elementList.item(1); + clonedNode = addressNode.cloneNode(false); + attributes = clonedNode.attributes; + + for(var indexN10076 = 0;indexN10076 < attributes.length; indexN10076++) { + attributeNode = attributes.item(indexN10076); + attributeName = attributeNode.name; + + result[result.length] = attributeName; + + } + + if( + + (builder.contentType == "text/html") + + ) { + assertEqualsCollection("nodeNames_html",toLowerArray(htmlExpected),toLowerArray(result)); + + } + + else { + assertEqualsCollection("nodeNames",expected,result); + + } + +} + + + + +function runTest() { + hc_nodecloneattributescopied(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeclonefalsenocopytext.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeclonefalsenocopytext.js new file mode 100644 index 0000000..8d41464 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeclonefalsenocopytext.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeclonefalsenocopytext"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "cloneNode(deep)" method does not copy text unless it + is deep cloned.(Test for deep=false) + + Retrieve the fourth child of the second employee and + the "cloneNode(deep)" method with deep=false. The + duplicate node returned by the method should not copy + any text data contained in this node. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3A0ED0A4 +*/ +function hc_nodeclonefalsenocopytext() { + var success; + if(checkInitialization(builder, "hc_nodeclonefalsenocopytext") != null) return; + var doc; + var elementList; + var employeeNode; + var childList; + var childNode; + var clonedNode; + var lastChildNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.childNodes; + + childNode = childList.item(3); + clonedNode = childNode.cloneNode(false); + lastChildNode = clonedNode.lastChild; + + assertNull("nodeCloneFalseNoCopyTextAssert1",lastChildNode); + +} + + + + +function runTest() { + hc_nodeclonefalsenocopytext(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeclonegetparentnull.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeclonegetparentnull.js new file mode 100644 index 0000000..ab52c8a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeclonegetparentnull.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeclonegetparentnull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The duplicate node returned by the "cloneNode(deep)" + method does not have a ParentNode. + + Retrieve the second employee and invoke the + "cloneNode(deep)" method with deep=false. The + duplicate node returned should return null when the + "getParentNode()" is invoked. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3A0ED0A4 +*/ +function hc_nodeclonegetparentnull() { + var success; + if(checkInitialization(builder, "hc_nodeclonegetparentnull") != null) return; + var doc; + var elementList; + var employeeNode; + var clonedNode; + var parentNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + clonedNode = employeeNode.cloneNode(false); + parentNode = clonedNode.parentNode; + + assertNull("nodeCloneGetParentNullAssert1",parentNode); + +} + + + + +function runTest() { + hc_nodeclonegetparentnull(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodefalse.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodefalse.js new file mode 100644 index 0000000..7d48edf --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodefalse.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeclonenodefalse"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "cloneNode(deep)" method returns a copy of the node + only if deep=false. + + Retrieve the second employee and invoke the + "cloneNode(deep)" method with deep=false. The + method should only clone this node. The NodeName and + length of the NodeList are checked. The "getNodeName()" + method should return "employee" and the "getLength()" + method should return 0. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3A0ED0A4 +*/ +function hc_nodeclonenodefalse() { + var success; + if(checkInitialization(builder, "hc_nodeclonenodefalse") != null) return; + var doc; + var elementList; + var employeeNode; + var clonedNode; + var cloneName; + var cloneChildren; + var length; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + clonedNode = employeeNode.cloneNode(false); + cloneName = clonedNode.nodeName; + + assertEqualsAutoCase("element", "strong","p",cloneName); + cloneChildren = clonedNode.childNodes; + + length = cloneChildren.length; + + assertEquals("length",0,length); + +} + + + + +function runTest() { + hc_nodeclonenodefalse(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodetrue.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodetrue.js new file mode 100644 index 0000000..5eba8cd --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeclonenodetrue.js @@ -0,0 +1,145 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeclonenodetrue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "cloneNode(deep)" method returns a copy of the node + and the subtree under it if deep=true. + + Retrieve the second employee and invoke the + "cloneNode(deep)" method with deep=true. The + method should clone this node and the subtree under it. + The NodeName of each child in the returned node is + checked to insure the entire subtree under the second + employee was cloned. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3A0ED0A4 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodeclonenodetrue() { + var success; + if(checkInitialization(builder, "hc_nodeclonenodetrue") != null) return; + var doc; + var elementList; + var employeeNode; + var clonedNode; + var clonedList; + var clonedChild; + var clonedChildName; + var origList; + var origChild; + var origChildName; + var result = new Array(); + + var expected = new Array(); + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + origList = employeeNode.childNodes; + + for(var indexN10065 = 0;indexN10065 < origList.length; indexN10065++) { + origChild = origList.item(indexN10065); + origChildName = origChild.nodeName; + + expected[expected.length] = origChildName; + + } + clonedNode = employeeNode.cloneNode(true); + clonedList = clonedNode.childNodes; + + for(var indexN1007B = 0;indexN1007B < clonedList.length; indexN1007B++) { + clonedChild = clonedList.item(indexN1007B); + clonedChildName = clonedChild.nodeName; + + result[result.length] = clonedChildName; + + } + assertEqualsList("clone",expected,result); + +} + + + + +function runTest() { + hc_nodeclonenodetrue(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeclonetruecopytext.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeclonetruecopytext.js new file mode 100644 index 0000000..c12370b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeclonetruecopytext.js @@ -0,0 +1,121 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeclonetruecopytext"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "cloneNode(deep)" method does not copy text unless it + is deep cloned.(Test for deep=true) + + Retrieve the eighth child of the second employee and + the "cloneNode(deep)" method with deep=true. The + duplicate node returned by the method should copy + any text data contained in this node. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3A0ED0A4 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodeclonetruecopytext() { + var success; + if(checkInitialization(builder, "hc_nodeclonetruecopytext") != null) return; + var doc; + var elementList; + var childNode; + var clonedNode; + var lastChildNode; + var childValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("sup"); + childNode = elementList.item(1); + clonedNode = childNode.cloneNode(true); + lastChildNode = clonedNode.lastChild; + + childValue = lastChildNode.nodeValue; + + assertEquals("cloneContainsText","35,000",childValue); + +} + + + + +function runTest() { + hc_nodeclonetruecopytext(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodeattributes.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodeattributes.js new file mode 100644 index 0000000..7e3e2e9 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodeattributes.js @@ -0,0 +1,135 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodecommentnodeattributes"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getAttributes()" method invoked on a Comment + Node returns null. + + Find any comment that is an immediate child of the root + and assert that Node.attributes is null. Then create + a new comment node (in case they had been omitted) and + make the assertion. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1728279322 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=248 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=263 +*/ +function hc_nodecommentnodeattributes() { + var success; + if(checkInitialization(builder, "hc_nodecommentnodeattributes") != null) return; + var doc; + var commentNode; + var nodeList; + var attrList; + var nodeType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + nodeList = doc.childNodes; + + for(var indexN10043 = 0;indexN10043 < nodeList.length; indexN10043++) { + commentNode = nodeList.item(indexN10043); + nodeType = commentNode.nodeType; + + + if( + (8 == nodeType) + ) { + attrList = commentNode.attributes; + + assertNull("existingCommentAttributesNull",attrList); + + } + + } + commentNode = doc.createComment("This is a comment"); + attrList = commentNode.attributes; + + assertNull("createdCommentAttributesNull",attrList); + +} + + + + +function runTest() { + hc_nodecommentnodeattributes(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodename.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodename.js new file mode 100644 index 0000000..de7013a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodename.js @@ -0,0 +1,134 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodecommentnodename"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The string returned by the "getNodeName()" method for a + Comment Node is "#comment". + + Retrieve the Comment node in the XML file + and check the string returned by the "getNodeName()" + method. It should be equal to "#comment". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1728279322 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=248 +*/ +function hc_nodecommentnodename() { + var success; + if(checkInitialization(builder, "hc_nodecommentnodename") != null) return; + var doc; + var elementList; + var commentNode; + var nodeType; + var commentName; + var commentNodeName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.childNodes; + + for(var indexN10044 = 0;indexN10044 < elementList.length; indexN10044++) { + commentNode = elementList.item(indexN10044); + nodeType = commentNode.nodeType; + + + if( + (8 == nodeType) + ) { + commentNodeName = commentNode.nodeName; + + assertEquals("existingNodeName","#comment",commentNodeName); + + } + + } + commentNode = doc.createComment("This is a comment"); + commentNodeName = commentNode.nodeName; + + assertEquals("createdNodeName","#comment",commentNodeName); + +} + + + + +function runTest() { + hc_nodecommentnodename(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodetype.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodetype.js new file mode 100644 index 0000000..168b918 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodetype.js @@ -0,0 +1,133 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodecommentnodetype"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getNodeType()" method for a Comment Node + returns the constant value 8. + + Retrieve the nodes from the document and check for + a comment node and invoke the "getNodeType()" method. This should + return 8. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1728279322 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=248 +*/ +function hc_nodecommentnodetype() { + var success; + if(checkInitialization(builder, "hc_nodecommentnodetype") != null) return; + var doc; + var testList; + var commentNode; + var commentNodeName; + var nodeType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + testList = doc.childNodes; + + for(var indexN10040 = 0;indexN10040 < testList.length; indexN10040++) { + commentNode = testList.item(indexN10040); + commentNodeName = commentNode.nodeName; + + + if( + ("#comment" == commentNodeName) + ) { + nodeType = commentNode.nodeType; + + assertEquals("existingCommentNodeType",8,nodeType); + + } + + } + commentNode = doc.createComment("This is a comment"); + nodeType = commentNode.nodeType; + + assertEquals("createdCommentNodeType",8,nodeType); + +} + + + + +function runTest() { + hc_nodecommentnodetype(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodevalue.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodevalue.js new file mode 100644 index 0000000..64e35b2 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodecommentnodevalue.js @@ -0,0 +1,133 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodecommentnodevalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The string returned by the "getNodeValue()" method for a + Comment Node is the content of the comment. + + Retrieve the comment in the XML file and + check the string returned by the "getNodeValue()" method. + It should be equal to "This is comment number 1". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1728279322 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=248 +*/ +function hc_nodecommentnodevalue() { + var success; + if(checkInitialization(builder, "hc_nodecommentnodevalue") != null) return; + var doc; + var elementList; + var commentNode; + var commentName; + var commentValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.childNodes; + + for(var indexN10040 = 0;indexN10040 < elementList.length; indexN10040++) { + commentNode = elementList.item(indexN10040); + commentName = commentNode.nodeName; + + + if( + ("#comment" == commentName) + ) { + commentValue = commentNode.nodeValue; + + assertEquals("value"," This is comment number 1.",commentValue); + + } + + } + commentNode = doc.createComment(" This is a comment"); + commentValue = commentNode.nodeValue; + + assertEquals("createdCommentNodeValue"," This is a comment",commentValue); + +} + + + + +function runTest() { + hc_nodecommentnodevalue(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodename.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodename.js new file mode 100644 index 0000000..4c3b8f2 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodename.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodedocumentfragmentnodename"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The string returned by the "getNodeName()" method for a + DocumentFragment Node is "#document-frament". + + Retrieve the DOM document and invoke the + "createDocumentFragment()" method and check the string + returned by the "getNodeName()" method. It should be + equal to "#document-fragment". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A3 +*/ +function hc_nodedocumentfragmentnodename() { + var success; + if(checkInitialization(builder, "hc_nodedocumentfragmentnodename") != null) return; + var doc; + var docFragment; + var documentFragmentName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + docFragment = doc.createDocumentFragment(); + documentFragmentName = docFragment.nodeName; + + assertEquals("nodeDocumentFragmentNodeNameAssert1","#document-fragment",documentFragmentName); + +} + + + + +function runTest() { + hc_nodedocumentfragmentnodename(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodetype.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodetype.js new file mode 100644 index 0000000..404dcd4 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodetype.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodedocumentfragmentnodetype"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getNodeType()" method for a DocumentFragment Node + returns the constant value 11. + + Invoke the "createDocumentFragment()" method and + examine the NodeType of the document fragment + returned by the "getNodeType()" method. The method + should return 11. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A3 +*/ +function hc_nodedocumentfragmentnodetype() { + var success; + if(checkInitialization(builder, "hc_nodedocumentfragmentnodetype") != null) return; + var doc; + var documentFragmentNode; + var nodeType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + documentFragmentNode = doc.createDocumentFragment(); + nodeType = documentFragmentNode.nodeType; + + assertEquals("nodeDocumentFragmentNodeTypeAssert1",11,nodeType); + +} + + + + +function runTest() { + hc_nodedocumentfragmentnodetype(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodevalue.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodevalue.js new file mode 100644 index 0000000..3817faf --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodedocumentfragmentnodevalue.js @@ -0,0 +1,120 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodedocumentfragmentnodevalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The string returned by the "getNodeValue()" method for a + DocumentFragment Node is null. + + Retrieve the DOM document and invoke the + "createDocumentFragment()" method and check the string + returned by the "getNodeValue()" method. It should be + equal to null. + +* @author Curt Arnold +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A3 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 +*/ +function hc_nodedocumentfragmentnodevalue() { + var success; + if(checkInitialization(builder, "hc_nodedocumentfragmentnodevalue") != null) return; + var doc; + var docFragment; + var attrList; + var value; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + docFragment = doc.createDocumentFragment(); + attrList = docFragment.attributes; + + assertNull("attributesNull",attrList); + value = docFragment.nodeValue; + + assertNull("initiallyNull",value); + +} + + + + +function runTest() { + hc_nodedocumentfragmentnodevalue(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodeattribute.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodeattribute.js new file mode 100644 index 0000000..0509317 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodeattribute.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodedocumentnodeattribute"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "getAttributes()" method invoked on a Document +Node returns null. + +Retrieve the DOM Document and invoke the +"getAttributes()" method on the Document Node. +It should return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#i-Document +*/ +function hc_nodedocumentnodeattribute() { + var success; + if(checkInitialization(builder, "hc_nodedocumentnodeattribute") != null) return; + var doc; + var attrList; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + attrList = doc.attributes; + + assertNull("doc_attributes_is_null",attrList); + +} + + + + +function runTest() { + hc_nodedocumentnodeattribute(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodename.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodename.js new file mode 100644 index 0000000..7cdef03 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodename.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodedocumentnodename"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The string returned by the "getNodeName()" method for a + Document Node is "#document". + + Retrieve the DOM document and check the string returned + by the "getNodeName()" method. It should be equal to + "#document". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#i-Document +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 +*/ +function hc_nodedocumentnodename() { + var success; + if(checkInitialization(builder, "hc_nodedocumentnodename") != null) return; + var doc; + var documentName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + documentName = doc.nodeName; + + assertEquals("documentNodeName","#document",documentName); + +} + + + + +function runTest() { + hc_nodedocumentnodename(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodetype.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodetype.js new file mode 100644 index 0000000..12ac065 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodetype.js @@ -0,0 +1,110 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodedocumentnodetype"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "getNodeType()" method for a Document Node +returns the constant value 9. + +Retrieve the document and invoke the "getNodeType()" +method. The method should return 9. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#i-Document +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558 +*/ +function hc_nodedocumentnodetype() { + var success; + if(checkInitialization(builder, "hc_nodedocumentnodetype") != null) return; + var doc; + var nodeType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + nodeType = doc.nodeType; + + assertEquals("nodeDocumentNodeTypeAssert1",9,nodeType); + +} + + + + +function runTest() { + hc_nodedocumentnodetype(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodevalue.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodevalue.js new file mode 100644 index 0000000..6cd8934 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodedocumentnodevalue.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodedocumentnodevalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The string returned by the "getNodeValue()" method for a + Document Node is null. + + Retrieve the DOM Document and check the string returned + by the "getNodeValue()" method. It should be equal to + null. + + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#i-Document +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +*/ +function hc_nodedocumentnodevalue() { + var success; + if(checkInitialization(builder, "hc_nodedocumentnodevalue") != null) return; + var doc; + var documentValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + documentValue = doc.nodeValue; + + assertNull("documentNodeValue",documentValue); + +} + + + + +function runTest() { + hc_nodedocumentnodevalue(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodeattributes.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodeattributes.js new file mode 100644 index 0000000..a3bfcd3 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodeattributes.js @@ -0,0 +1,145 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeelementnodeattributes"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the third "acronym" element and evaluate Node.attributes. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=184 +*/ +function hc_nodeelementnodeattributes() { + var success; + if(checkInitialization(builder, "hc_nodeelementnodeattributes") != null) return; + var doc; + var elementList; + var testAddr; + var addrAttr; + var attrNode; + var attrName; + var attrList = new Array(); + + htmlExpected = new Array(); + htmlExpected[0] = "title"; + htmlExpected[1] = "class"; + + expected = new Array(); + expected[0] = "title"; + expected[1] = "class"; + expected[2] = "dir"; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddr = elementList.item(2); + addrAttr = testAddr.attributes; + + for(var indexN10070 = 0;indexN10070 < addrAttr.length; indexN10070++) { + attrNode = addrAttr.item(indexN10070); + attrName = attrNode.name; + + attrList[attrList.length] = attrName; + + } + + if( + + (builder.contentType == "text/html") + + ) { + assertEqualsCollection("attrNames_html",toLowerArray(htmlExpected),toLowerArray(attrList)); + + } + + else { + assertEqualsCollection("attrNames",expected,attrList); + + } + +} + + + + +function runTest() { + hc_nodeelementnodeattributes(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodename.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodename.js new file mode 100644 index 0000000..693d23e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodename.js @@ -0,0 +1,125 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeelementnodename"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the first Element Node(Root Node) of the + DOM object and check the string returned by the + "getNodeName()" method. It should be equal to its + tagName. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=251 +*/ +function hc_nodeelementnodename() { + var success; + if(checkInitialization(builder, "hc_nodeelementnodename") != null) return; + var doc; + var elementNode; + var elementName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementNode = doc.documentElement; + + elementName = elementNode.nodeName; + + + if( + + (builder.contentType == "image/svg+xml") + + ) { + assertEquals("svgNodeName","svg",elementName); + + } + + else { + assertEqualsAutoCase("element", "nodeName","html",elementName); + + } + +} + + + + +function runTest() { + hc_nodeelementnodename(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodetype.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodetype.js new file mode 100644 index 0000000..56dd936 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodetype.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeelementnodetype"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getNodeType()" method for an Element Node + returns the constant value 1. + + Retrieve the root node and invoke the "getNodeType()" + method. The method should return 1. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558 +*/ +function hc_nodeelementnodetype() { + var success; + if(checkInitialization(builder, "hc_nodeelementnodetype") != null) return; + var doc; + var rootNode; + var nodeType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + rootNode = doc.documentElement; + + nodeType = rootNode.nodeType; + + assertEquals("nodeElementNodeTypeAssert1",1,nodeType); + +} + + + + +function runTest() { + hc_nodeelementnodetype(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodevalue.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodevalue.js new file mode 100644 index 0000000..29124cf --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeelementnodevalue.js @@ -0,0 +1,109 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeelementnodevalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The string returned by the "getNodeValue()" method for an + Element Node is null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +*/ +function hc_nodeelementnodevalue() { + var success; + if(checkInitialization(builder, "hc_nodeelementnodevalue") != null) return; + var doc; + var elementNode; + var elementValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementNode = doc.documentElement; + + elementValue = elementNode.nodeValue; + + assertNull("elementNodeValue",elementValue); + +} + + + + +function runTest() { + hc_nodeelementnodevalue(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchild.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchild.js new file mode 100644 index 0000000..a4681f0 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchild.js @@ -0,0 +1,130 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodegetfirstchild"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getFirstChild()" method returns the first child + of this node. + + Retrieve the second employee and invoke the + "getFirstChild()" method. The NodeName returned + should be "#text" or "EM". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-169727388 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodegetfirstchild() { + var success; + if(checkInitialization(builder, "hc_nodegetfirstchild") != null) return; + var doc; + var elementList; + var employeeNode; + var fchildNode; + var childName; + var nodeType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + fchildNode = employeeNode.firstChild; + + childName = fchildNode.nodeName; + + + if( + ("#text" == childName) + ) { + assertEquals("firstChild_w_whitespace","#text",childName); + + } + + else { + assertEqualsAutoCase("element", "firstChild_wo_whitespace","em",childName); + + } + +} + + + + +function runTest() { + hc_nodegetfirstchild(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchildnull.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchildnull.js new file mode 100644 index 0000000..dec151f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetfirstchildnull.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodegetfirstchildnull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If there is not a first child then the "getFirstChild()" + method returns null. + + Retrieve the text of the first "em" element and invoke the "getFirstChild()" method. It + should return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-169727388 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodegetfirstchildnull() { + var success; + if(checkInitialization(builder, "hc_nodegetfirstchildnull") != null) return; + var doc; + var emList; + var emNode; + var emText; + var nullChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + emList = doc.getElementsByTagName("em"); + emNode = emList.item(0); + emText = emNode.firstChild; + + nullChild = emText.firstChild; + + assertNull("nullChild",nullChild); + +} + + + + +function runTest() { + hc_nodegetfirstchildnull(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchild.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchild.js new file mode 100644 index 0000000..712c5ef --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchild.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodegetlastchild"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getLastChild()" method returns the last child + of this node. + + Retrieve the second employee and invoke the + "getLastChild()" method. The NodeName returned + should be "#text". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-61AD09FB +*/ +function hc_nodegetlastchild() { + var success; + if(checkInitialization(builder, "hc_nodegetlastchild") != null) return; + var doc; + var elementList; + var employeeNode; + var lchildNode; + var childName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + lchildNode = employeeNode.lastChild; + + childName = lchildNode.nodeName; + + assertEquals("whitespace","#text",childName); + +} + + + + +function runTest() { + hc_nodegetlastchild(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchildnull.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchildnull.js new file mode 100644 index 0000000..9e5a6ad --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetlastchildnull.js @@ -0,0 +1,118 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodegetlastchildnull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + + If there is not a last child then the "getLastChild()" + method returns null. + + Retrieve the text of the first "em" element and invoke the "getFirstChild()" method. It + should return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-61AD09FB +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodegetlastchildnull() { + var success; + if(checkInitialization(builder, "hc_nodegetlastchildnull") != null) return; + var doc; + var emList; + var emNode; + var emText; + var nullChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + emList = doc.getElementsByTagName("em"); + emNode = emList.item(0); + emText = emNode.firstChild; + + nullChild = emText.lastChild; + + assertNull("nullChild",nullChild); + +} + + + + +function runTest() { + hc_nodegetlastchildnull(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsibling.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsibling.js new file mode 100644 index 0000000..3daca44 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsibling.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodegetnextsibling"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getNextSibling()" method returns the node immediately + following this node. + + Retrieve the first child of the second employee and + invoke the "getNextSibling()" method. It should return + a node with the NodeName of "#text". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6AC54C2F +*/ +function hc_nodegetnextsibling() { + var success; + if(checkInitialization(builder, "hc_nodegetnextsibling") != null) return; + var doc; + var elementList; + var emNode; + var nsNode; + var nsName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("em"); + emNode = elementList.item(1); + nsNode = emNode.nextSibling; + + nsName = nsNode.nodeName; + + assertEquals("whitespace","#text",nsName); + +} + + + + +function runTest() { + hc_nodegetnextsibling(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsiblingnull.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsiblingnull.js new file mode 100644 index 0000000..0f9cb7b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetnextsiblingnull.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodegetnextsiblingnull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + + If there is not a node immediately following this node the + + "getNextSibling()" method returns null. + + + + Retrieve the first child of the second employee and + + invoke the "getNextSibling()" method. It should + + be set to null. + + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6AC54C2F +*/ +function hc_nodegetnextsiblingnull() { + var success; + if(checkInitialization(builder, "hc_nodegetnextsiblingnull") != null) return; + var doc; + var elementList; + var employeeNode; + var lcNode; + var nsNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + lcNode = employeeNode.lastChild; + + nsNode = lcNode.nextSibling; + + assertNull("nodeGetNextSiblingNullAssert1",nsNode); + +} + + + + +function runTest() { + hc_nodegetnextsiblingnull(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocument.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocument.js new file mode 100644 index 0000000..85853b8 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocument.js @@ -0,0 +1,129 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodegetownerdocument"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Evaluate Node.ownerDocument on the second "p" element. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#node-ownerDoc +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=251 +*/ +function hc_nodegetownerdocument() { + var success; + if(checkInitialization(builder, "hc_nodegetownerdocument") != null) return; + var doc; + var elementList; + var docNode; + var ownerDocument; + var docElement; + var elementName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + docNode = elementList.item(1); + ownerDocument = docNode.ownerDocument; + + docElement = ownerDocument.documentElement; + + elementName = docElement.nodeName; + + + if( + + (builder.contentType == "image/svg+xml") + + ) { + assertEquals("svgNodeName","svg",elementName); + + } + + else { + assertEqualsAutoCase("element", "ownerDocElemTagName","html",elementName); + + } + +} + + + + +function runTest() { + hc_nodegetownerdocument(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocumentnull.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocumentnull.js new file mode 100644 index 0000000..67bfd87 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetownerdocumentnull.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodegetownerdocumentnull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + + The "getOwnerDocument()" method returns null if the target + + node itself is a document. + + + + Invoke the "getOwnerDocument()" method on the master + + document. The Document returned should be null. + + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#node-ownerDoc +*/ +function hc_nodegetownerdocumentnull() { + var success; + if(checkInitialization(builder, "hc_nodegetownerdocumentnull") != null) return; + var doc; + var ownerDocument; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + ownerDocument = doc.ownerDocument; + + assertNull("nodeGetOwnerDocumentNullAssert1",ownerDocument); + +} + + + + +function runTest() { + hc_nodegetownerdocumentnull(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussibling.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussibling.js new file mode 100644 index 0000000..5434f05 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussibling.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodegetprevioussibling"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getPreviousSibling()" method returns the node + immediately preceding this node. + + Retrieve the second child of the second employee and + invoke the "getPreviousSibling()" method. It should + return a node with a NodeName of "#text". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-640FB3C8 +*/ +function hc_nodegetprevioussibling() { + var success; + if(checkInitialization(builder, "hc_nodegetprevioussibling") != null) return; + var doc; + var elementList; + var nameNode; + var psNode; + var psName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(1); + psNode = nameNode.previousSibling; + + psName = psNode.nodeName; + + assertEquals("whitespace","#text",psName); + +} + + + + +function runTest() { + hc_nodegetprevioussibling(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussiblingnull.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussiblingnull.js new file mode 100644 index 0000000..b1dc787 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodegetprevioussiblingnull.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodegetprevioussiblingnull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + + If there is not a node immediately preceding this node the + + "getPreviousSibling()" method returns null. + + + + Retrieve the first child of the second employee and + + invoke the "getPreviousSibling()" method. It should + + be set to null. + + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-640FB3C8 +*/ +function hc_nodegetprevioussiblingnull() { + var success; + if(checkInitialization(builder, "hc_nodegetprevioussiblingnull") != null) return; + var doc; + var elementList; + var employeeNode; + var fcNode; + var psNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(2); + fcNode = employeeNode.firstChild; + + psNode = fcNode.previousSibling; + + assertNull("nodeGetPreviousSiblingNullAssert1",psNode); + +} + + + + +function runTest() { + hc_nodegetprevioussiblingnull(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodes.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodes.js new file mode 100644 index 0000000..1ff38a9 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodes.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodehaschildnodes"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "hasChildNodes()" method returns true if the node + has children. + + Retrieve the root node("staff") and invoke the + "hasChildNodes()" method. It should return the boolean + value "true". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-810594187 +*/ +function hc_nodehaschildnodes() { + var success; + if(checkInitialization(builder, "hc_nodehaschildnodes") != null) return; + var doc; + var elementList; + var employeeNode; + var state; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + state = employeeNode.hasChildNodes(); + assertTrue("nodeHasChildAssert1",state); + +} + + + + +function runTest() { + hc_nodehaschildnodes(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodesfalse.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodesfalse.js new file mode 100644 index 0000000..f966eba --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodehaschildnodesfalse.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodehaschildnodesfalse"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "hasChildNodes()" method returns false if the node + does not have any children. + + Retrieve the text of the first "em" element and invoke the "hasChildNodes()" method. It + should return false. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1451460987 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-810594187 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodehaschildnodesfalse() { + var success; + if(checkInitialization(builder, "hc_nodehaschildnodesfalse") != null) return; + var doc; + var emList; + var emNode; + var emText; + var hasChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + emList = doc.getElementsByTagName("em"); + emNode = emList.item(0); + emText = emNode.firstChild; + + hasChild = emText.hasChildNodes(); + assertFalse("hasChild",hasChild); + +} + + + + +function runTest() { + hc_nodehaschildnodesfalse(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbefore.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbefore.js new file mode 100644 index 0000000..f73bd6d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbefore.js @@ -0,0 +1,153 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeinsertbefore"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "insertBefore(newChild,refChild)" method inserts the + node "newChild" before the node "refChild". + + Insert a newly created Element node before the second + sup element in the document and check the "newChild" + and "refChild" after insertion for correct placement. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=261 +*/ +function hc_nodeinsertbefore() { + var success; + if(checkInitialization(builder, "hc_nodeinsertbefore") != null) return; + var doc; + var elementList; + var employeeNode; + var childList; + var refChild; + var newChild; + var child; + var childName; + var insertedNode; + var actual = new Array(); + + expected = new Array(); + expected[0] = "em"; + expected[1] = "strong"; + expected[2] = "code"; + expected[3] = "br"; + expected[4] = "sup"; + expected[5] = "var"; + expected[6] = "acronym"; + + var nodeType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("sup"); + refChild = elementList.item(2); + employeeNode = refChild.parentNode; + + childList = employeeNode.childNodes; + + newChild = doc.createElement("br"); + insertedNode = employeeNode.insertBefore(newChild,refChild); + for(var indexN10091 = 0;indexN10091 < childList.length; indexN10091++) { + child = childList.item(indexN10091); + nodeType = child.nodeType; + + + if( + (1 == nodeType) + ) { + childName = child.nodeName; + + actual[actual.length] = childName; + + } + + } + assertEqualsListAutoCase("element", "nodeNames",expected,actual); + +} + + + + +function runTest() { + hc_nodeinsertbefore(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforedocfragment.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforedocfragment.js new file mode 100644 index 0000000..1e132c9 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforedocfragment.js @@ -0,0 +1,141 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeinsertbeforedocfragment"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If the "newChild" is a DocumentFragment object then all + its children are inserted in the same order before the + the "refChild". + + Create a DocumentFragment object and populate it with + two Element nodes. Retrieve the second employee and + insert the newly created DocumentFragment before its + fourth child. The second employee should now have two + extra children("newChild1" and "newChild2") at + positions fourth and fifth respectively. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_nodeinsertbeforedocfragment() { + var success; + if(checkInitialization(builder, "hc_nodeinsertbeforedocfragment") != null) return; + var doc; + var elementList; + var employeeNode; + var childList; + var refChild; + var newdocFragment; + var newChild1; + var newChild2; + var child; + var childName; + var appendedChild; + var insertedNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.childNodes; + + refChild = childList.item(3); + newdocFragment = doc.createDocumentFragment(); + newChild1 = doc.createElement("br"); + newChild2 = doc.createElement("b"); + appendedChild = newdocFragment.appendChild(newChild1); + appendedChild = newdocFragment.appendChild(newChild2); + insertedNode = employeeNode.insertBefore(newdocFragment,refChild); + child = childList.item(3); + childName = child.nodeName; + + assertEqualsAutoCase("element", "childName3","br",childName); + child = childList.item(4); + childName = child.nodeName; + + assertEqualsAutoCase("element", "childName4","b",childName); + +} + + + + +function runTest() { + hc_nodeinsertbeforedocfragment(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchilddiffdocument.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchilddiffdocument.js new file mode 100644 index 0000000..915104f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchilddiffdocument.js @@ -0,0 +1,147 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeinsertbeforenewchilddiffdocument"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var doc1Ref = null; + if (typeof(this.doc1) != 'undefined') { + doc1Ref = this.doc1; + } + docsLoaded += preload(doc1Ref, "doc1", "hc_staff"); + + var doc2Ref = null; + if (typeof(this.doc2) != 'undefined') { + doc2Ref = this.doc2; + } + docsLoaded += preload(doc2Ref, "doc2", "hc_staff"); + + if (docsLoaded == 2) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 2) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "insertBefore(newChild,refChild)" method raises a + WRONG_DOCUMENT_ERR DOMException if the "newChild" was + created from a different document than the one that + created this node. + + Retrieve the second employee and attempt to insert a new + child that was created from a different document than the + one that created the second employee. An attempt to + insert such a child should raise the desired exception. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='WRONG_DOCUMENT_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-952280727')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='WRONG_DOCUMENT_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_nodeinsertbeforenewchilddiffdocument() { + var success; + if(checkInitialization(builder, "hc_nodeinsertbeforenewchilddiffdocument") != null) return; + var doc1; + var doc2; + var refChild; + var newChild; + var elementList; + var elementNode; + var insertedNode; + + var doc1Ref = null; + if (typeof(this.doc1) != 'undefined') { + doc1Ref = this.doc1; + } + doc1 = load(doc1Ref, "doc1", "hc_staff"); + + var doc2Ref = null; + if (typeof(this.doc2) != 'undefined') { + doc2Ref = this.doc2; + } + doc2 = load(doc2Ref, "doc2", "hc_staff"); + newChild = doc1.createElement("br"); + elementList = doc2.getElementsByTagName("p"); + elementNode = elementList.item(1); + refChild = elementNode.firstChild; + + + { + success = false; + try { + insertedNode = elementNode.insertBefore(newChild,refChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 4); + } + assertTrue("throw_WRONG_DOCUMENT_ERR",success); + } + +} + + + + +function runTest() { + hc_nodeinsertbeforenewchilddiffdocument(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchildexists.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchildexists.js new file mode 100644 index 0000000..f7adaff --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenewchildexists.js @@ -0,0 +1,151 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeinsertbeforenewchildexists"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If the "newChild" is already in the tree, the + "insertBefore(newChild,refChild)" method must first + remove it before the insertion takes place. + + Insert a node Element ("em") that is already + present in the tree. The existing node should be + removed first and the new one inserted. The node is + inserted at a different position in the tree to assure + that it was indeed inserted. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodeinsertbeforenewchildexists() { + var success; + if(checkInitialization(builder, "hc_nodeinsertbeforenewchildexists") != null) return; + var doc; + var elementList; + var employeeNode; + var childList; + var refChild; + var newChild; + var child; + var childName; + var insertedNode; + expected = new Array(); + expected[0] = "strong"; + expected[1] = "code"; + expected[2] = "sup"; + expected[3] = "var"; + expected[4] = "em"; + expected[5] = "acronym"; + + var result = new Array(); + + var nodeType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.getElementsByTagName("*"); + refChild = childList.item(5); + newChild = childList.item(0); + insertedNode = employeeNode.insertBefore(newChild,refChild); + for(var indexN1008C = 0;indexN1008C < childList.length; indexN1008C++) { + child = childList.item(indexN1008C); + nodeType = child.nodeType; + + + if( + (1 == nodeType) + ) { + childName = child.nodeName; + + result[result.length] = childName; + + } + + } + assertEqualsListAutoCase("element", "childNames",expected,result); + +} + + + + +function runTest() { + hc_nodeinsertbeforenewchildexists(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodeancestor.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodeancestor.js new file mode 100644 index 0000000..cd7c956 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodeancestor.js @@ -0,0 +1,135 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeinsertbeforenodeancestor"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "insertBefore(newChild,refChild)" method raises a + HIERARCHY_REQUEST_ERR DOMException if the node to be + inserted is one of this nodes ancestors. + + Retrieve the second employee and attempt to insert a + node that is one of its ancestors(root node). An + attempt to insert such a node should raise the + desired exception. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='HIERARCHY_REQUEST_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-952280727')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='HIERARCHY_REQUEST_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +*/ +function hc_nodeinsertbeforenodeancestor() { + var success; + if(checkInitialization(builder, "hc_nodeinsertbeforenodeancestor") != null) return; + var doc; + var newChild; + var elementList; + var employeeNode; + var childList; + var refChild; + var insertedNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newChild = doc.documentElement; + + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.childNodes; + + refChild = childList.item(0); + + { + success = false; + try { + insertedNode = employeeNode.insertBefore(newChild,refChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 3); + } + assertTrue("throw_HIERARCHY_REQUEST_ERR",success); + } + +} + + + + +function runTest() { + hc_nodeinsertbeforenodeancestor(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodename.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodename.js new file mode 100644 index 0000000..eeb61c8 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforenodename.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeinsertbeforenodename"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "insertBefore(newChild,refchild)" method returns + the node being inserted. + + Insert an Element node before the fourth + child of the second employee and check the node + returned from the "insertBefore(newChild,refChild)" + method. The node returned should be "newChild". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_nodeinsertbeforenodename() { + var success; + if(checkInitialization(builder, "hc_nodeinsertbeforenodename") != null) return; + var doc; + var elementList; + var employeeNode; + var childList; + var refChild; + var newChild; + var insertedNode; + var childName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.childNodes; + + refChild = childList.item(3); + newChild = doc.createElement("br"); + insertedNode = employeeNode.insertBefore(newChild,refChild); + childName = insertedNode.nodeName; + + assertEqualsAutoCase("element", "nodeName","br",childName); + +} + + + + +function runTest() { + hc_nodeinsertbeforenodename(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnonexistent.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnonexistent.js new file mode 100644 index 0000000..d4c8f3e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnonexistent.js @@ -0,0 +1,133 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeinsertbeforerefchildnonexistent"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "insertBefore(newChild,refChild)" method raises a + NOT_FOUND_ERR DOMException if the reference child is + not a child of this node. + + Retrieve the second employee and attempt to insert a + new node before a reference node that is not a child + of this node. An attempt to insert before a non child + node should raise the desired exception. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NOT_FOUND_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-952280727')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NOT_FOUND_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_nodeinsertbeforerefchildnonexistent() { + var success; + if(checkInitialization(builder, "hc_nodeinsertbeforerefchildnonexistent") != null) return; + var doc; + var refChild; + var newChild; + var elementList; + var elementNode; + var insertedNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newChild = doc.createElement("br"); + refChild = doc.createElement("b"); + elementList = doc.getElementsByTagName("p"); + elementNode = elementList.item(1); + + { + success = false; + try { + insertedNode = elementNode.insertBefore(newChild,refChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 8); + } + assertTrue("throw_NOT_FOUND_ERR",success); + } + +} + + + + +function runTest() { + hc_nodeinsertbeforerefchildnonexistent(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnull.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnull.js new file mode 100644 index 0000000..a0bf5e4 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeinsertbeforerefchildnull.js @@ -0,0 +1,131 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeinsertbeforerefchildnull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If the "refChild" is null then the + "insertBefore(newChild,refChild)" method inserts the + node "newChild" at the end of the list of children. + + Retrieve the second employee and invoke the + "insertBefore(newChild,refChild)" method with + refChild=null. Since "refChild" is null the "newChild" + should be added to the end of the list. The last item + in the list is checked after insertion. The last Element + node of the list should be "newChild". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_nodeinsertbeforerefchildnull() { + var success; + if(checkInitialization(builder, "hc_nodeinsertbeforerefchildnull") != null) return; + var doc; + var elementList; + var employeeNode; + var childList; + var refChild = null; + + var newChild; + var child; + var childName; + var insertedNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.childNodes; + + newChild = doc.createElement("br"); + insertedNode = employeeNode.insertBefore(newChild,refChild); + child = employeeNode.lastChild; + + childName = child.nodeName; + + assertEqualsAutoCase("element", "nodeName","br",childName); + +} + + + + +function runTest() { + hc_nodeinsertbeforerefchildnull(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodelistindexequalzero.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodelistindexequalzero.js new file mode 100644 index 0000000..eff64d9 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodelistindexequalzero.js @@ -0,0 +1,135 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodelistindexequalzero"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Create a list of all the children elements of the third + employee and access its first child by using an index + of 0. This should result in the whitspace before "em" being + selected (em when ignoring whitespace). + Further we evaluate its content(by using + the "getNodeName()" method) to ensure the proper + element was accessed. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-844377136 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodelistindexequalzero() { + var success; + if(checkInitialization(builder, "hc_nodelistindexequalzero") != null) return; + var doc; + var elementList; + var employeeNode; + var employeeList; + var child; + var childName; + var length; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(2); + employeeList = employeeNode.childNodes; + + length = employeeList.length; + + child = employeeList.item(0); + childName = child.nodeName; + + + if( + (13 == length) + ) { + assertEquals("childName_w_whitespace","#text",childName); + + } + + else { + assertEqualsAutoCase("element", "childName_wo_whitespace","em",childName); + + } + +} + + + + +function runTest() { + hc_nodelistindexequalzero(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlength.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlength.js new file mode 100644 index 0000000..d169a62 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlength.js @@ -0,0 +1,129 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodelistindexgetlength"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getLength()" method returns the number of nodes + in the list. + + Create a list of all the children elements of the third + employee and invoke the "getLength()" method. + It should contain the value 13. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-203510337 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodelistindexgetlength() { + var success; + if(checkInitialization(builder, "hc_nodelistindexgetlength") != null) return; + var doc; + var elementList; + var employeeNode; + var employeeList; + var length; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(2); + employeeList = employeeNode.childNodes; + + length = employeeList.length; + + + if( + (6 == length) + ) { + assertEquals("length_wo_space",6,length); + + } + + else { + assertEquals("length_w_space",13,length); + + } + +} + + + + +function runTest() { + hc_nodelistindexgetlength(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlengthofemptylist.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlengthofemptylist.js new file mode 100644 index 0000000..9ae4969 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodelistindexgetlengthofemptylist.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodelistindexgetlengthofemptylist"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getLength()" method returns the number of nodes + in the list.(Test for EMPTY list) + + Create a list of all the children of the Text node + inside the first child of the third employee and + invoke the "getLength()" method. It should contain + the value 0. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-203510337 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodelistindexgetlengthofemptylist() { + var success; + if(checkInitialization(builder, "hc_nodelistindexgetlengthofemptylist") != null) return; + var doc; + var emList; + var emNode; + var textNode; + var textList; + var length; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + emList = doc.getElementsByTagName("em"); + emNode = emList.item(2); + textNode = emNode.firstChild; + + textList = textNode.childNodes; + + length = textList.length; + + assertEquals("length",0,length); + +} + + + + +function runTest() { + hc_nodelistindexgetlengthofemptylist(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodelistindexnotzero.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodelistindexnotzero.js new file mode 100644 index 0000000..8976e02 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodelistindexnotzero.js @@ -0,0 +1,133 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodelistindexnotzero"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The items in the list are accessible via an integral + index starting from zero. + (Index not equal 0) + + Create a list of all the children elements of the third + employee and access its fourth child by using an index + of 3 and calling getNodeName() which should return + "strong" (no whitespace) or "#text" (with whitespace). + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-844377136 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodelistindexnotzero() { + var success; + if(checkInitialization(builder, "hc_nodelistindexnotzero") != null) return; + var doc; + var elementList; + var employeeNode; + var employeeList; + var child; + var childName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(2); + employeeList = employeeNode.childNodes; + + child = employeeList.item(3); + childName = child.nodeName; + + + if( + ("#text" == childName) + ) { + assertEquals("childName_space","#text",childName); + + } + + else { + assertEqualsAutoCase("element", "childName_strong","strong",childName); + + } + +} + + + + +function runTest() { + hc_nodelistindexnotzero(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnfirstitem.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnfirstitem.js new file mode 100644 index 0000000..117be61 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnfirstitem.js @@ -0,0 +1,129 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodelistreturnfirstitem"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Create a list of all the children elements of the third + employee and access its first child by invoking the + "item(index)" method with an index=0. This should + result in node with a nodeName of "#text" or "em". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-844377136 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodelistreturnfirstitem() { + var success; + if(checkInitialization(builder, "hc_nodelistreturnfirstitem") != null) return; + var doc; + var elementList; + var employeeNode; + var employeeList; + var child; + var childName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(2); + employeeList = employeeNode.childNodes; + + child = employeeList.item(0); + childName = child.nodeName; + + + if( + ("#text" == childName) + ) { + assertEquals("nodeName_w_space","#text",childName); + + } + + else { + assertEqualsAutoCase("element", "nodeName_wo_space","em",childName); + + } + +} + + + + +function runTest() { + hc_nodelistreturnfirstitem(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnlastitem.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnlastitem.js new file mode 100644 index 0000000..b6652fe --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodelistreturnlastitem.js @@ -0,0 +1,133 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodelistreturnlastitem"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Create a list of all the children elements of the third + employee and access its last child by invoking the + "item(index)" method with an index=length-1. This should + result in node with nodeName="#text" or acronym. +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-844377136 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodelistreturnlastitem() { + var success; + if(checkInitialization(builder, "hc_nodelistreturnlastitem") != null) return; + var doc; + var elementList; + var employeeNode; + var employeeList; + var child; + var childName; + var index; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(2); + employeeList = employeeNode.childNodes; + + index = employeeList.length; + + index -= 1; +child = employeeList.item(index); + childName = child.nodeName; + + + if( + (12 == index) + ) { + assertEquals("lastNodeName_w_whitespace","#text",childName); + + } + + else { + assertEqualsAutoCase("element", "lastNodeName","acronym",childName); + assertEquals("index",5,index); + + } + +} + + + + +function runTest() { + hc_nodelistreturnlastitem(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodelisttraverselist.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodelisttraverselist.js new file mode 100644 index 0000000..dc6862b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodelisttraverselist.js @@ -0,0 +1,149 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodelisttraverselist"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The range of valid child node indices is 0 thru length -1 + + Create a list of all the children elements of the third + employee and traverse the list from index=0 thru + length -1. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-203510337 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-844377136 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodelisttraverselist() { + var success; + if(checkInitialization(builder, "hc_nodelisttraverselist") != null) return; + var doc; + var elementList; + var employeeNode; + var employeeList; + var child; + var childName; + var nodeType; + var result = new Array(); + + expected = new Array(); + expected[0] = "em"; + expected[1] = "strong"; + expected[2] = "code"; + expected[3] = "sup"; + expected[4] = "var"; + expected[5] = "acronym"; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(2); + employeeList = employeeNode.childNodes; + + for(var indexN10073 = 0;indexN10073 < employeeList.length; indexN10073++) { + child = employeeList.item(indexN10073); + nodeType = child.nodeType; + + childName = child.nodeName; + + + if( + (1 == nodeType) + ) { + result[result.length] = childName; + + } + + else { + assertEquals("textNodeType",3,nodeType); + assertEquals("textNodeName","#text",childName); + + } + + } + assertEqualsListAutoCase("element", "nodeNames",expected,result); + +} + + + + +function runTest() { + hc_nodelisttraverselist(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeparentnode.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeparentnode.js new file mode 100644 index 0000000..e3408f6 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeparentnode.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeparentnode"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getParentNode()" method returns the parent + of this node. + + Retrieve the second employee and invoke the + "getParentNode()" method on this node. It should + be set to "body". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1060184317 +*/ +function hc_nodeparentnode() { + var success; + if(checkInitialization(builder, "hc_nodeparentnode") != null) return; + var doc; + var elementList; + var employeeNode; + var parentNode; + var parentName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + parentNode = employeeNode.parentNode; + + parentName = parentNode.nodeName; + + assertEqualsAutoCase("element", "parentNodeName","body",parentName); + +} + + + + +function runTest() { + hc_nodeparentnode(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeparentnodenull.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeparentnodenull.js new file mode 100644 index 0000000..9c80de3 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodeparentnodenull.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeparentnodenull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getParentNode()" method invoked on a node that has + just been created and not yet added to the tree is null. + + Create a new "employee" Element node using the + "createElement(name)" method from the Document interface. + Since this new node has not yet been added to the tree, + the "getParentNode()" method will return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1060184317 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_nodeparentnodenull() { + var success; + if(checkInitialization(builder, "hc_nodeparentnodenull") != null) return; + var doc; + var createdNode; + var parentNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + createdNode = doc.createElement("br"); + parentNode = createdNode.parentNode; + + assertNull("parentNode",parentNode); + +} + + + + +function runTest() { + hc_nodeparentnodenull(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_noderemovechild.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_noderemovechild.js new file mode 100644 index 0000000..35e04b2 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_noderemovechild.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_noderemovechild"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "removeChild(oldChild)" method removes the child node + indicated by "oldChild" from the list of children and + returns it. + + Remove the first employee by invoking the + "removeChild(oldChild)" method an checking the + node returned by the "getParentNode()" method. It + should be set to null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_noderemovechild() { + var success; + if(checkInitialization(builder, "hc_noderemovechild") != null) return; + var doc; + var rootNode; + var childList; + var childToRemove; + var removedChild; + var parentNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + rootNode = doc.documentElement; + + childList = rootNode.childNodes; + + childToRemove = childList.item(1); + removedChild = rootNode.removeChild(childToRemove); + parentNode = removedChild.parentNode; + + assertNull("parentNodeNull",parentNode); + +} + + + + +function runTest() { + hc_noderemovechild(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_noderemovechildgetnodename.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_noderemovechildgetnodename.js new file mode 100644 index 0000000..d81a2a9 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_noderemovechildgetnodename.js @@ -0,0 +1,128 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_noderemovechildgetnodename"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "removeChild(oldChild)" method returns + the node being removed. + + Remove the first child of the second employee + and check the NodeName returned by the + "removeChild(oldChild)" method. The returned node + should have a NodeName equal to "#text". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_noderemovechildgetnodename() { + var success; + if(checkInitialization(builder, "hc_noderemovechildgetnodename") != null) return; + var doc; + var elementList; + var employeeNode; + var childList; + var oldChild; + var removedChild; + var childName; + var oldName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.childNodes; + + oldChild = childList.item(0); + oldName = oldChild.nodeName; + + removedChild = employeeNode.removeChild(oldChild); + assertNotNull("notnull",removedChild); +childName = removedChild.nodeName; + + assertEquals("nodeName",oldName,childName); + +} + + + + +function runTest() { + hc_noderemovechildgetnodename(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_noderemovechildnode.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_noderemovechildnode.js new file mode 100644 index 0000000..b6cef22 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_noderemovechildnode.js @@ -0,0 +1,160 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_noderemovechildnode"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "removeChild(oldChild)" method removes the node + indicated by "oldChild". + + Retrieve the second p element and remove its first child. + After the removal, the second p element should have 5 element + children and the first child should now be the child + that used to be at the second position in the list. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_noderemovechildnode() { + var success; + if(checkInitialization(builder, "hc_noderemovechildnode") != null) return; + var doc; + var elementList; + var emList; + var employeeNode; + var childList; + var oldChild; + var child; + var childName; + var length; + var removedChild; + var removedName; + var nodeType; + expected = new Array(); + expected[0] = "strong"; + expected[1] = "code"; + expected[2] = "sup"; + expected[3] = "var"; + expected[4] = "acronym"; + + var actual = new Array(); + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.childNodes; + + emList = employeeNode.getElementsByTagName("em"); + oldChild = emList.item(0); + removedChild = employeeNode.removeChild(oldChild); + removedName = removedChild.nodeName; + + assertEqualsAutoCase("element", "removedName","em",removedName); + for(var indexN10098 = 0;indexN10098 < childList.length; indexN10098++) { + child = childList.item(indexN10098); + nodeType = child.nodeType; + + childName = child.nodeName; + + + if( + (1 == nodeType) + ) { + actual[actual.length] = childName; + + } + + else { + assertEquals("textNodeType",3,nodeType); + assertEquals("textNodeName","#text",childName); + + } + + } + assertEqualsListAutoCase("element", "childNames",expected,actual); + +} + + + + +function runTest() { + hc_noderemovechildnode(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_noderemovechildoldchildnonexistent.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_noderemovechildoldchildnonexistent.js new file mode 100644 index 0000000..7f68dbd --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_noderemovechildoldchildnonexistent.js @@ -0,0 +1,129 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_noderemovechildoldchildnonexistent"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "removeChild(oldChild)" method raises a + NOT_FOUND_ERR DOMException if the old child is + not a child of this node. + + Retrieve the second employee and attempt to remove a + node that is not one of its children. An attempt to + remove such a node should raise the desired exception. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NOT_FOUND_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-1734834066')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NOT_FOUND_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_noderemovechildoldchildnonexistent() { + var success; + if(checkInitialization(builder, "hc_noderemovechildoldchildnonexistent") != null) return; + var doc; + var oldChild; + var elementList; + var elementNode; + var removedChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + oldChild = doc.createElement("br"); + elementList = doc.getElementsByTagName("p"); + elementNode = elementList.item(1); + + { + success = false; + try { + removedChild = elementNode.removeChild(oldChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 8); + } + assertTrue("throw_NOT_FOUND_ERR",success); + } + +} + + + + +function runTest() { + hc_noderemovechildoldchildnonexistent(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodereplacechild.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodereplacechild.js new file mode 100644 index 0000000..db4ba3b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodereplacechild.js @@ -0,0 +1,127 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodereplacechild"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "replaceChild(newChild,oldChild)" method replaces + the node "oldChild" with the node "newChild". + + Replace the first element of the second employee with + a newly created Element node. Check the first position + after the replacement operation is completed. The new + Element should be "newChild". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_nodereplacechild() { + var success; + if(checkInitialization(builder, "hc_nodereplacechild") != null) return; + var doc; + var elementList; + var employeeNode; + var childList; + var oldChild; + var newChild; + var child; + var childName; + var replacedNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.childNodes; + + oldChild = childList.item(0); + newChild = doc.createElement("br"); + replacedNode = employeeNode.replaceChild(newChild,oldChild); + child = childList.item(0); + childName = child.nodeName; + + assertEqualsAutoCase("element", "nodeName","br",childName); + +} + + + + +function runTest() { + hc_nodereplacechild(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchilddiffdocument.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchilddiffdocument.js new file mode 100644 index 0000000..23af319 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchilddiffdocument.js @@ -0,0 +1,147 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodereplacechildnewchilddiffdocument"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var doc1Ref = null; + if (typeof(this.doc1) != 'undefined') { + doc1Ref = this.doc1; + } + docsLoaded += preload(doc1Ref, "doc1", "hc_staff"); + + var doc2Ref = null; + if (typeof(this.doc2) != 'undefined') { + doc2Ref = this.doc2; + } + docsLoaded += preload(doc2Ref, "doc2", "hc_staff"); + + if (docsLoaded == 2) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 2) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "replaceChild(newChild,oldChild)" method raises a + WRONG_DOCUMENT_ERR DOMException if the "newChild" was + created from a different document than the one that + created this node. + + Retrieve the second employee and attempt to replace one + of its children with a node created from a different + document. An attempt to make such a replacement + should raise the desired exception. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NOT_FOUND_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-785887307')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NOT_FOUND_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_nodereplacechildnewchilddiffdocument() { + var success; + if(checkInitialization(builder, "hc_nodereplacechildnewchilddiffdocument") != null) return; + var doc1; + var doc2; + var oldChild; + var newChild; + var elementList; + var elementNode; + var replacedChild; + + var doc1Ref = null; + if (typeof(this.doc1) != 'undefined') { + doc1Ref = this.doc1; + } + doc1 = load(doc1Ref, "doc1", "hc_staff"); + + var doc2Ref = null; + if (typeof(this.doc2) != 'undefined') { + doc2Ref = this.doc2; + } + doc2 = load(doc2Ref, "doc2", "hc_staff"); + newChild = doc1.createElement("br"); + elementList = doc2.getElementsByTagName("p"); + elementNode = elementList.item(1); + oldChild = elementNode.firstChild; + + + { + success = false; + try { + replacedChild = elementNode.replaceChild(newChild,oldChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 4); + } + assertTrue("throw_WRONG_DOCUMENT_ERR",success); + } + +} + + + + +function runTest() { + hc_nodereplacechildnewchilddiffdocument(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchildexists.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchildexists.js new file mode 100644 index 0000000..06be50b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnewchildexists.js @@ -0,0 +1,155 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodereplacechildnewchildexists"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If the "newChild" is already in the tree, it is first + removed before the new one is added. + + Retrieve the second "p" and replace "acronym" with its "em". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 +*/ +function hc_nodereplacechildnewchildexists() { + var success; + if(checkInitialization(builder, "hc_nodereplacechildnewchildexists") != null) return; + var doc; + var elementList; + var employeeNode; + var childList; + var oldChild = null; + + var newChild = null; + + var child; + var childName; + var childNode; + var actual = new Array(); + + expected = new Array(); + expected[0] = "strong"; + expected[1] = "code"; + expected[2] = "sup"; + expected[3] = "var"; + expected[4] = "em"; + + var replacedChild; + var nodeType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.getElementsByTagName("*"); + newChild = childList.item(0); + oldChild = childList.item(5); + replacedChild = employeeNode.replaceChild(newChild,oldChild); + assertSame("return_value_same",oldChild,replacedChild); +for(var indexN10094 = 0;indexN10094 < childList.length; indexN10094++) { + childNode = childList.item(indexN10094); + childName = childNode.nodeName; + + nodeType = childNode.nodeType; + + + if( + (1 == nodeType) + ) { + actual[actual.length] = childName; + + } + + else { + assertEquals("textNodeType",3,nodeType); + assertEquals("textNodeName","#text",childName); + + } + + } + assertEqualsListAutoCase("element", "childNames",expected,actual); + +} + + + + +function runTest() { + hc_nodereplacechildnewchildexists(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodeancestor.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodeancestor.js new file mode 100644 index 0000000..5e7b044 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodeancestor.js @@ -0,0 +1,135 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodereplacechildnodeancestor"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "replaceChild(newChild,oldChild)" method raises a + HIERARCHY_REQUEST_ERR DOMException if the node to put + in is one of this node's ancestors. + + Retrieve the second employee and attempt to replace + one of its children with an ancestor node(root node). + An attempt to make such a replacement should raise the + desired exception. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='HIERARCHY_REQUEST_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-785887307')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='HIERARCHY_REQUEST_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 +*/ +function hc_nodereplacechildnodeancestor() { + var success; + if(checkInitialization(builder, "hc_nodereplacechildnodeancestor") != null) return; + var doc; + var newChild; + var elementList; + var employeeNode; + var childList; + var oldChild; + var replacedNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newChild = doc.documentElement; + + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.childNodes; + + oldChild = childList.item(0); + + { + success = false; + try { + replacedNode = employeeNode.replaceChild(newChild,oldChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 3); + } + assertTrue("throw_HIERARCHY_REQUEST_ERR",success); + } + +} + + + + +function runTest() { + hc_nodereplacechildnodeancestor(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodename.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodename.js new file mode 100644 index 0000000..baeab8a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildnodename.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodereplacechildnodename"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "replaceChild(newChild,oldChild)" method returns + the node being replaced. + + Replace the second Element of the second employee with + a newly created node Element and check the NodeName + returned by the "replaceChild(newChild,oldChild)" + method. The returned node should have a NodeName equal + to "em". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_nodereplacechildnodename() { + var success; + if(checkInitialization(builder, "hc_nodereplacechildnodename") != null) return; + var doc; + var elementList; + var employeeNode; + var childList; + var oldChild; + var newChild; + var replacedNode; + var childName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("p"); + employeeNode = elementList.item(1); + childList = employeeNode.getElementsByTagName("em"); + oldChild = childList.item(0); + newChild = doc.createElement("br"); + replacedNode = employeeNode.replaceChild(newChild,oldChild); + childName = replacedNode.nodeName; + + assertEqualsAutoCase("element", "replacedNodeName","em",childName); + +} + + + + +function runTest() { + hc_nodereplacechildnodename(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildoldchildnonexistent.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildoldchildnonexistent.js new file mode 100644 index 0000000..74ef15c --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodereplacechildoldchildnonexistent.js @@ -0,0 +1,131 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodereplacechildoldchildnonexistent"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "replaceChild(newChild,oldChild)" method raises a + NOT_FOUND_ERR DOMException if the old child is + not a child of this node. + + Retrieve the second employee and attempt to replace a + node that is not one of its children. An attempt to + replace such a node should raise the desired exception. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NOT_FOUND_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-785887307')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NOT_FOUND_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +*/ +function hc_nodereplacechildoldchildnonexistent() { + var success; + if(checkInitialization(builder, "hc_nodereplacechildoldchildnonexistent") != null) return; + var doc; + var oldChild; + var newChild; + var elementList; + var elementNode; + var replacedNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newChild = doc.createElement("br"); + oldChild = doc.createElement("b"); + elementList = doc.getElementsByTagName("p"); + elementNode = elementList.item(1); + + { + success = false; + try { + replacedNode = elementNode.replaceChild(newChild,oldChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 8); + } + assertTrue("throw_NOT_FOUND_ERR",success); + } + +} + + + + +function runTest() { + hc_nodereplacechildoldchildnonexistent(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodetextnodeattribute.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodetextnodeattribute.js new file mode 100644 index 0000000..fd1f751 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodetextnodeattribute.js @@ -0,0 +1,118 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodetextnodeattribute"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "getAttributes()" method invoked on a Text +Node returns null. + +Retrieve the Text node from the last child of the +first employee and invoke the "getAttributes()" method +on the Text Node. It should return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1312295772 +*/ +function hc_nodetextnodeattribute() { + var success; + if(checkInitialization(builder, "hc_nodetextnodeattribute") != null) return; + var doc; + var elementList; + var testAddr; + var textNode; + var attrList; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddr = elementList.item(0); + textNode = testAddr.firstChild; + + attrList = textNode.attributes; + + assertNull("text_attributes_is_null",attrList); + +} + + + + +function runTest() { + hc_nodetextnodeattribute(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodetextnodename.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodetextnodename.js new file mode 100644 index 0000000..bad6607 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodetextnodename.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodetextnodename"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The string returned by the "getNodeName()" method for a + Text Node is "#text". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 +*/ +function hc_nodetextnodename() { + var success; + if(checkInitialization(builder, "hc_nodetextnodename") != null) return; + var doc; + var elementList; + var testAddr; + var textNode; + var textName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddr = elementList.item(0); + textNode = testAddr.firstChild; + + textName = textNode.nodeName; + + assertEquals("textNodeName","#text",textName); + +} + + + + +function runTest() { + hc_nodetextnodename(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodetextnodetype.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodetextnodetype.js new file mode 100644 index 0000000..43c358d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodetextnodetype.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodetextnodetype"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + + The "getNodeType()" method for a Text Node + + returns the constant value 3. + + + + Retrieve the Text node from the last child of + + the first employee and invoke the "getNodeType()" + + method. The method should return 3. + + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558 +*/ +function hc_nodetextnodetype() { + var success; + if(checkInitialization(builder, "hc_nodetextnodetype") != null) return; + var doc; + var elementList; + var testAddr; + var textNode; + var nodeType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddr = elementList.item(0); + textNode = testAddr.firstChild; + + nodeType = textNode.nodeType; + + assertEquals("nodeTextNodeTypeAssert1",3,nodeType); + +} + + + + +function runTest() { + hc_nodetextnodetype(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodetextnodevalue.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodetextnodevalue.js new file mode 100644 index 0000000..1a1ec4b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodetextnodevalue.js @@ -0,0 +1,118 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodetextnodevalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The string returned by the "getNodeValue()" method for a + Text Node is the content of the Text node. + + Retrieve the Text node from the last child of the first + employee and check the string returned by the + "getNodeValue()" method. It should be equal to + "1230 North Ave. Dallas, Texas 98551". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +*/ +function hc_nodetextnodevalue() { + var success; + if(checkInitialization(builder, "hc_nodetextnodevalue") != null) return; + var doc; + var elementList; + var testAddr; + var textNode; + var textValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddr = elementList.item(0); + textNode = testAddr.firstChild; + + textValue = textNode.nodeValue; + + assertEquals("textNodeValue","1230 North Ave. Dallas, Texas 98551",textValue); + +} + + + + +function runTest() { + hc_nodetextnodevalue(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodevalue01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodevalue01.js new file mode 100644 index 0000000..c632b22 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodevalue01.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodevalue01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +An element is created, setNodeValue is called with a non-null argument, but getNodeValue +should still return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#i-Document +*/ +function hc_nodevalue01() { + var success; + if(checkInitialization(builder, "hc_nodevalue01") != null) return; + var doc; + var newNode; + var newValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newNode = doc.createElement("acronym"); + newValue = newNode.nodeValue; + + assertNull("initiallyNull",newValue); + newNode.nodeValue = "This should have no effect"; + + newValue = newNode.nodeValue; + + assertNull("nullAfterAttemptedChange",newValue); + +} + + + + +function runTest() { + hc_nodevalue01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodevalue02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodevalue02.js new file mode 100644 index 0000000..80682b9 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodevalue02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodevalue02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +An comment is created, setNodeValue is called with a non-null argument, but getNodeValue +should still return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1728279322 +*/ +function hc_nodevalue02() { + var success; + if(checkInitialization(builder, "hc_nodevalue02") != null) return; + var doc; + var newNode; + var newValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newNode = doc.createComment("This is a new Comment node"); + newValue = newNode.nodeValue; + + assertEquals("initial","This is a new Comment node",newValue); + newNode.nodeValue = "This should have an effect"; + + newValue = newNode.nodeValue; + + assertEquals("afterChange","This should have an effect",newValue); + +} + + + + +function runTest() { + hc_nodevalue02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodevalue04.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodevalue04.js new file mode 100644 index 0000000..40ceb64 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodevalue04.js @@ -0,0 +1,132 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodevalue04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +An document type accessed, setNodeValue is called with a non-null argument, but getNodeValue +should still return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A31 +*/ +function hc_nodevalue04() { + var success; + if(checkInitialization(builder, "hc_nodevalue04") != null) return; + var doc; + var newNode; + var newValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newNode = doc.doctype; + + assertTrue("docTypeNotNullOrDocIsHTML", + + ( + (newNode != null) + || + (builder.contentType == "text/html") +) +); + + if( + + (newNode != null) + + ) { + assertNotNull("docTypeNotNull",newNode); +newValue = newNode.nodeValue; + + assertNull("initiallyNull",newValue); + newNode.nodeValue = "This should have no effect"; + + newValue = newNode.nodeValue; + + assertNull("nullAfterAttemptedChange",newValue); + + } + +} + + + + +function runTest() { + hc_nodevalue04(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodevalue05.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodevalue05.js new file mode 100644 index 0000000..34e2e33 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodevalue05.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodevalue05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +A document fragment is created, setNodeValue is called with a non-null argument, but getNodeValue +should still return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A3 +*/ +function hc_nodevalue05() { + var success; + if(checkInitialization(builder, "hc_nodevalue05") != null) return; + var doc; + var newNode; + var newValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newNode = doc.createDocumentFragment(); + newValue = newNode.nodeValue; + + assertNull("initiallyNull",newValue); + newNode.nodeValue = "This should have no effect"; + + newValue = newNode.nodeValue; + + assertNull("nullAfterAttemptedChange",newValue); + +} + + + + +function runTest() { + hc_nodevalue05(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodevalue06.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodevalue06.js new file mode 100644 index 0000000..6cb9ac7 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodevalue06.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodevalue06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var newNodeRef = null; + if (typeof(this.newNode) != 'undefined') { + newNodeRef = this.newNode; + } + docsLoaded += preload(newNodeRef, "newNode", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +An document is accessed, setNodeValue is called with a non-null argument, but getNodeValue +should still return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#i-Document +*/ +function hc_nodevalue06() { + var success; + if(checkInitialization(builder, "hc_nodevalue06") != null) return; + var newNode; + var newValue; + + var newNodeRef = null; + if (typeof(this.newNode) != 'undefined') { + newNodeRef = this.newNode; + } + newNode = load(newNodeRef, "newNode", "hc_staff"); + newValue = newNode.nodeValue; + + assertNull("initiallyNull",newValue); + newNode.nodeValue = "This should have no effect"; + + newValue = newNode.nodeValue; + + assertNull("nullAfterAttemptedChange",newValue); + +} + + + + +function runTest() { + hc_nodevalue06(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodevalue07.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodevalue07.js new file mode 100644 index 0000000..867a682 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodevalue07.js @@ -0,0 +1,134 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodevalue07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + checkFeature("XML", null); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +An Entity is accessed, setNodeValue is called with a non-null argument, but getNodeValue +should still return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-527DCFF2 +*/ +function hc_nodevalue07() { + var success; + if(checkInitialization(builder, "hc_nodevalue07") != null) return; + var doc; + var newNode; + var newValue; + var nodeMap; + var docType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + docType = doc.doctype; + + + if( + + !( + (builder.contentType == "text/html") +) + + ) { + assertNotNull("docTypeNotNull",docType); +nodeMap = docType.entities; + + assertNotNull("entitiesNotNull",nodeMap); +newNode = nodeMap.getNamedItem("alpha"); + assertNotNull("entityNotNull",newNode); +newValue = newNode.nodeValue; + + assertNull("initiallyNull",newValue); + newNode.nodeValue = "This should have no effect"; + + newValue = newNode.nodeValue; + + assertNull("nullAfterAttemptedChange",newValue); + + } + +} + + + + +function runTest() { + hc_nodevalue07(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodevalue08.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodevalue08.js new file mode 100644 index 0000000..6bbab84 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_nodevalue08.js @@ -0,0 +1,134 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodevalue08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + checkFeature("XML", null); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +An notation is accessed, setNodeValue is called with a non-null argument, but getNodeValue +should still return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-5431D1B9 +*/ +function hc_nodevalue08() { + var success; + if(checkInitialization(builder, "hc_nodevalue08") != null) return; + var doc; + var docType; + var newNode; + var newValue; + var nodeMap; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + docType = doc.doctype; + + + if( + + !( + (builder.contentType == "text/html") +) + + ) { + assertNotNull("docTypeNotNull",docType); +nodeMap = docType.notations; + + assertNotNull("notationsNotNull",nodeMap); +newNode = nodeMap.getNamedItem("notation1"); + assertNotNull("notationNotNull",newNode); +newValue = newNode.nodeValue; + + assertNull("initiallyNull",newValue); + newNode.nodeValue = "This should have no effect"; + + newValue = newNode.nodeValue; + + assertNull("nullAfterAttemptedChange",newValue); + + } + +} + + + + +function runTest() { + hc_nodevalue08(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_notationsremovenameditem1.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_notationsremovenameditem1.js new file mode 100644 index 0000000..28d3cc6 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_notationsremovenameditem1.js @@ -0,0 +1,133 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_notationsremovenameditem1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + checkFeature("XML", null); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +An attempt to add remove an notation should result in a NO_MODIFICATION_ERR. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D46829EF +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D58B193 +*/ +function hc_notationsremovenameditem1() { + var success; + if(checkInitialization(builder, "hc_notationsremovenameditem1") != null) return; + var doc; + var notations; + var docType; + var retval; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + docType = doc.doctype; + + + if( + + !( + (builder.contentType == "text/html") +) + + ) { + assertNotNull("docTypeNotNull",docType); +notations = docType.notations; + + assertNotNull("notationsNotNull",notations); + + { + success = false; + try { + retval = notations.removeNamedItem("notation1"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 7); + } + assertTrue("throw_NO_MODIFICATION_ALLOWED_ERR",success); + } + + } + +} + + + + +function runTest() { + hc_notationsremovenameditem1(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_notationssetnameditem1.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_notationssetnameditem1.js new file mode 100644 index 0000000..0ae1333 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_notationssetnameditem1.js @@ -0,0 +1,144 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_notationssetnameditem1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + checkFeature("XML", null); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +An attempt to add an element to the named node map returned by notations should +result in a NO_MODIFICATION_ERR or HIERARCHY_REQUEST_ERR. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D46829EF +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788 +*/ +function hc_notationssetnameditem1() { + var success; + if(checkInitialization(builder, "hc_notationssetnameditem1") != null) return; + var doc; + var notations; + var docType; + var retval; + var elem; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + docType = doc.doctype; + + + if( + + !( + (builder.contentType == "text/html") +) + + ) { + assertNotNull("docTypeNotNull",docType); +notations = docType.notations; + + assertNotNull("notationsNotNull",notations); +elem = doc.createElement("br"); + + try { + retval = notations.setNamedItem(elem); + fail("throw_HIER_OR_NO_MOD_ERR"); + + } catch (ex) { + if (typeof(ex.code) != 'undefined') { + switch(ex.code) { + case /* HIERARCHY_REQUEST_ERR */ 3 : + break; + case /* NO_MODIFICATION_ALLOWED_ERR */ 7 : + break; + default: + throw ex; + } + } else { + throw ex; + } + } + + } + +} + + + + +function runTest() { + hc_notationssetnameditem1(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerrnegativeoffset.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerrnegativeoffset.js new file mode 100644 index 0000000..965648b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerrnegativeoffset.js @@ -0,0 +1,130 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_textindexsizeerrnegativeoffset"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + setImplementationAttribute("signed", true); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "splitText(offset)" method raises an + INDEX_SIZE_ERR DOMException if the specified offset is + negative. + + Retrieve the textual data from the second child of the + third employee and invoke the "splitText(offset)" method. + The desired exception should be raised since the offset + is a negative number. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-38853C1D +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-38853C1D')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) +*/ +function hc_textindexsizeerrnegativeoffset() { + var success; + if(checkInitialization(builder, "hc_textindexsizeerrnegativeoffset") != null) return; + var doc; + var elementList; + var nameNode; + var textNode; + var splitNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(2); + textNode = nameNode.firstChild; + + + { + success = false; + try { + splitNode = textNode.splitText(-69); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 1); + } + assertTrue("throws_INDEX_SIZE_ERR",success); + } + +} + + + + +function runTest() { + hc_textindexsizeerrnegativeoffset(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerroffsetoutofbounds.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerroffsetoutofbounds.js new file mode 100644 index 0000000..170d435 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textindexsizeerroffsetoutofbounds.js @@ -0,0 +1,131 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_textindexsizeerroffsetoutofbounds"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "splitText(offset)" method raises an + INDEX_SIZE_ERR DOMException if the specified offset is + greater than the number of characters in the Text node. + + Retrieve the textual data from the second child of the + third employee and invoke the "splitText(offset)" method. + The desired exception should be raised since the offset + is a greater than the number of characters in the Text + node. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-38853C1D +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-38853C1D')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_textindexsizeerroffsetoutofbounds() { + var success; + if(checkInitialization(builder, "hc_textindexsizeerroffsetoutofbounds") != null) return; + var doc; + var elementList; + var nameNode; + var textNode; + var splitNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(2); + textNode = nameNode.firstChild; + + + { + success = false; + try { + splitNode = textNode.splitText(300); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 1); + } + assertTrue("throw_INDEX_SIZE_ERR",success); + } + +} + + + + +function runTest() { + hc_textindexsizeerroffsetoutofbounds(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textparseintolistofelements.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textparseintolistofelements.js new file mode 100644 index 0000000..71d362f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textparseintolistofelements.js @@ -0,0 +1,169 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_textparseintolistofelements"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the textual data from the last child of the + second employee. That node is composed of two + EntityReference nodes and two Text nodes. After + the content node is parsed, the "acronym" Element + should contain four children with each one of the + EntityReferences containing one child. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1451460987 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-11C98490 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-745549614 +*/ +function hc_textparseintolistofelements() { + var success; + if(checkInitialization(builder, "hc_textparseintolistofelements") != null) return; + var doc; + var elementList; + var addressNode; + var childList; + var child; + var value; + var grandChild; + var length; + var result = new Array(); + + expectedNormal = new Array(); + expectedNormal[0] = "β"; + expectedNormal[1] = " Dallas, "; + expectedNormal[2] = "γ"; + expectedNormal[3] = "\n 98554"; + + expectedExpanded = new Array(); + expectedExpanded[0] = "β Dallas, γ\n 98554"; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + addressNode = elementList.item(1); + childList = addressNode.childNodes; + + length = childList.length; + + for(var indexN1007C = 0;indexN1007C < childList.length; indexN1007C++) { + child = childList.item(indexN1007C); + value = child.nodeValue; + + + if( + + (value == null) + + ) { + grandChild = child.firstChild; + + assertNotNull("grandChildNotNull",grandChild); +value = grandChild.nodeValue; + + result[result.length] = value; + + } + + else { + result[result.length] = value; + + } + + } + + if( + (1 == length) + ) { + assertEqualsList("assertEqCoalescing",expectedExpanded,result); + + } + + else { + assertEqualsList("assertEqNormal",expectedNormal,result); + + } + +} + + + + +function runTest() { + hc_textparseintolistofelements(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textsplittextfour.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textsplittextfour.js new file mode 100644 index 0000000..ece64c2 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textsplittextfour.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_textsplittextfour"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "splitText(offset)" method returns the new Text node. + + Retrieve the textual data from the last child of the + first employee and invoke the "splitText(offset)" method. + The method should return the new Text node. The offset + value used for this test is 30. The "getNodeValue()" + method is called to check that the new node now contains + the characters at and after position 30. + (Starting count at 0) + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-38853C1D +*/ +function hc_textsplittextfour() { + var success; + if(checkInitialization(builder, "hc_textsplittextfour") != null) return; + var doc; + var elementList; + var addressNode; + var textNode; + var splitNode; + var value; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + addressNode = elementList.item(0); + textNode = addressNode.firstChild; + + splitNode = textNode.splitText(30); + value = splitNode.nodeValue; + + assertEquals("textSplitTextFourAssert","98551",value); + +} + + + + +function runTest() { + hc_textsplittextfour(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textsplittextone.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textsplittextone.js new file mode 100644 index 0000000..2e089c5 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textsplittextone.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_textsplittextone"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "splitText(offset)" method breaks the Text node into + two Text nodes at the specified offset keeping each node + as siblings in the tree. + + Retrieve the textual data from the second child of the + third employee and invoke the "splitText(offset)" method. + The method splits the Text node into two new sibling + Text nodes keeping both of them in the tree. This test + checks the "nextSibling()" method of the original node + to ensure that the two nodes are indeed siblings. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-38853C1D +*/ +function hc_textsplittextone() { + var success; + if(checkInitialization(builder, "hc_textsplittextone") != null) return; + var doc; + var elementList; + var nameNode; + var textNode; + var splitNode; + var secondPart; + var value; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(2); + textNode = nameNode.firstChild; + + splitNode = textNode.splitText(7); + secondPart = textNode.nextSibling; + + value = secondPart.nodeValue; + + assertEquals("textSplitTextOneAssert","Jones",value); + +} + + + + +function runTest() { + hc_textsplittextone(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textsplittextthree.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textsplittextthree.js new file mode 100644 index 0000000..6992628 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textsplittextthree.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_textsplittextthree"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + After the "splitText(offset)" method breaks the Text node + into two Text nodes, the new Text node contains all the + content at and after the offset point. + + Retrieve the textual data from the second child of the + third employee and invoke the "splitText(offset)" method. + The new Text node should contain all the content + at and after the offset point. The "getNodeValue()" + method is called to check that the new node now contains + the characters at and after position seven. + (Starting count at 0) + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-38853C1D +*/ +function hc_textsplittextthree() { + var success; + if(checkInitialization(builder, "hc_textsplittextthree") != null) return; + var doc; + var elementList; + var nameNode; + var textNode; + var splitNode; + var value; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(2); + textNode = nameNode.firstChild; + + splitNode = textNode.splitText(6); + value = splitNode.nodeValue; + + assertEquals("textSplitTextThreeAssert"," Jones",value); + +} + + + + +function runTest() { + hc_textsplittextthree(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textsplittexttwo.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textsplittexttwo.js new file mode 100644 index 0000000..8778694 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textsplittexttwo.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_textsplittexttwo"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + After the "splitText(offset)" method breaks the Text node + into two Text nodes, the original node contains all the + content up to the offset point. + + Retrieve the textual data from the second child of the + third employee and invoke the "splitText(offset)" method. + The original Text node should contain all the content + up to the offset point. The "getNodeValue()" method + is called to check that the original node now contains + the first five characters. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-38853C1D +*/ +function hc_textsplittexttwo() { + var success; + if(checkInitialization(builder, "hc_textsplittexttwo") != null) return; + var doc; + var elementList; + var nameNode; + var textNode; + var splitNode; + var value; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(2); + textNode = nameNode.firstChild; + + splitNode = textNode.splitText(5); + value = textNode.nodeValue; + + assertEquals("textSplitTextTwoAssert","Roger",value); + +} + + + + +function runTest() { + hc_textsplittexttwo(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textwithnomarkup.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textwithnomarkup.js new file mode 100644 index 0000000..2b3bae9 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/hc_textwithnomarkup.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_textwithnomarkup"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If there is not any markup inside an Element or Attr node + content, then the text is contained in a single object + implementing the Text interface that is the only child + of the element. + + Retrieve the textual data from the second child of the + third employee. That Text node contains a block of + multiple text lines without markup, so they should be + treated as a single Text node. The "getNodeValue()" + method should contain the combination of the two lines. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1312295772 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +*/ +function hc_textwithnomarkup() { + var success; + if(checkInitialization(builder, "hc_textwithnomarkup") != null) return; + var doc; + var elementList; + var nameNode; + var nodeV; + var value; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("strong"); + nameNode = elementList.item(2); + nodeV = nameNode.firstChild; + + value = nodeV.nodeValue; + + assertEquals("textWithNoMarkupAssert","Roger\n Jones",value); + +} + + + + +function runTest() { + hc_textwithnomarkup(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref.js new file mode 100644 index 0000000..ce7e127 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref.js @@ -0,0 +1,143 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/documentinvalidcharacterexceptioncreateentref"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + checkFeature("XML", null); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "createEntityReference(tagName)" method raises an + INVALID_CHARACTER_ERR DOMException if the specified + tagName contains an invalid character. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-392B75AE +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-392B75AE')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function documentinvalidcharacterexceptioncreateentref() { + var success; + if(checkInitialization(builder, "documentinvalidcharacterexceptioncreateentref") != null) return; + var doc; + var badEntityRef; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + + if( + + (builder.contentType == "text/html") + + ) { + + { + success = false; + try { + badEntityRef = doc.createEntityReference("foo"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 9); + } + assertTrue("throw_NOT_SUPPORTED_ERR",success); + } + + } + + else { + + { + success = false; + try { + badEntityRef = doc.createEntityReference("invalid^Name"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 5); + } + assertTrue("throw_INVALID_CHARACTER_ERR",success); + } + + } + +} + + + + +function runTest() { + documentinvalidcharacterexceptioncreateentref(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref1.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref1.js new file mode 100644 index 0000000..b4d1ec9 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/documentinvalidcharacterexceptioncreateentref1.js @@ -0,0 +1,140 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/documentinvalidcharacterexceptioncreateentref1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + checkFeature("XML", null); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Creating an entity reference with an empty name should cause an INVALID_CHARACTER_ERR. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-392B75AE +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-392B75AE')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=525 +*/ +function documentinvalidcharacterexceptioncreateentref1() { + var success; + if(checkInitialization(builder, "documentinvalidcharacterexceptioncreateentref1") != null) return; + var doc; + var badEntityRef; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + + if( + + (builder.contentType == "text/html") + + ) { + + { + success = false; + try { + badEntityRef = doc.createEntityReference("foo"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 9); + } + assertTrue("throw_NOT_SUPPORTED_ERR",success); + } + + } + + else { + + { + success = false; + try { + badEntityRef = doc.createEntityReference(""); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 5); + } + assertTrue("throw_INVALID_CHARACTER_ERR",success); + } + + } + +} + + + + +function runTest() { + documentinvalidcharacterexceptioncreateentref1(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild1.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild1.js new file mode 100644 index 0000000..0bb0ad9 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild1.js @@ -0,0 +1,132 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrappendchild1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Appends a text node to an attribute and checks if the value of +the attribute is changed. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +*/ +function hc_attrappendchild1() { + var success; + if(checkInitialization(builder, "hc_attrappendchild1") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var lastChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + textNode = doc.createTextNode("terday"); + retval = titleAttr.appendChild(textNode); + value = titleAttr.value; + + assertEquals("attrValue","Yesterday",value); + value = titleAttr.nodeValue; + + assertEquals("attrNodeValue","Yesterday",value); + value = retval.nodeValue; + + assertEquals("retvalValue","terday",value); + lastChild = titleAttr.lastChild; + + value = lastChild.nodeValue; + + assertEquals("lastChildValue","terday",value); + +} + + + + +function runTest() { + hc_attrappendchild1(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild2.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild2.js new file mode 100644 index 0000000..ac53896 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild2.js @@ -0,0 +1,127 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrappendchild2"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Attempts to append an element to the child nodes of an attribute. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +*/ +function hc_attrappendchild2() { + var success; + if(checkInitialization(builder, "hc_attrappendchild2") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var newChild; + var retval; + var lastChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + newChild = doc.createElement("terday"); + + { + success = false; + try { + retval = titleAttr.appendChild(newChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 3); + } + assertTrue("throw_HIERARCHY_REQUEST_ERR",success); + } + +} + + + + +function runTest() { + hc_attrappendchild2(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild3.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild3.js new file mode 100644 index 0000000..66adc3d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild3.js @@ -0,0 +1,138 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrappendchild3"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Appends a document fragment to an attribute and checks if the value of +the attribute is changed. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +*/ +function hc_attrappendchild3() { + var success; + if(checkInitialization(builder, "hc_attrappendchild3") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var terNode; + var dayNode; + var retval; + var lastChild; + var docFrag; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + terNode = doc.createTextNode("ter"); + dayNode = doc.createTextNode("day"); + docFrag = doc.createDocumentFragment(); + retval = docFrag.appendChild(terNode); + retval = docFrag.appendChild(dayNode); + retval = titleAttr.appendChild(docFrag); + value = titleAttr.value; + + assertEquals("attrValue","Yesterday",value); + value = titleAttr.nodeValue; + + assertEquals("attrNodeValue","Yesterday",value); + value = retval.nodeValue; + + assertNull("retvalValue",value); + lastChild = titleAttr.lastChild; + + value = lastChild.nodeValue; + + assertEquals("lastChildValue","day",value); + +} + + + + +function runTest() { + hc_attrappendchild3(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild4.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild4.js new file mode 100644 index 0000000..dc70102 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild4.js @@ -0,0 +1,152 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrappendchild4"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + checkFeature("XML", null); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Attempt to append a CDATASection to an attribute which should result +in a HIERARCHY_REQUEST_ERR. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +*/ +function hc_attrappendchild4() { + var success; + if(checkInitialization(builder, "hc_attrappendchild4") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var lastChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + + if( + + (builder.contentType == "text/html") + + ) { + + { + success = false; + try { + textNode = doc.createCDATASection("terday"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 9); + } + assertTrue("throw_NOT_SUPPORTED_ERR",success); + } + + } + + else { + textNode = doc.createCDATASection("terday"); + + { + success = false; + try { + retval = titleAttr.appendChild(textNode); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 3); + } + assertTrue("throw_HIERARCHY_REQUEST_ERR",success); + } + + } + +} + + + + +function runTest() { + hc_attrappendchild4(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild5.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild5.js new file mode 100644 index 0000000..c9e8855 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild5.js @@ -0,0 +1,141 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrappendchild5"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + var otherDocRef = null; + if (typeof(this.otherDoc) != 'undefined') { + otherDocRef = this.otherDoc; + } + docsLoaded += preload(otherDocRef, "otherDoc", "hc_staff"); + + if (docsLoaded == 2) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 2) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Attempt to append a node from another document to an attribute which should result +in a WRONG_DOCUMENT_ERR. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +*/ +function hc_attrappendchild5() { + var success; + if(checkInitialization(builder, "hc_attrappendchild5") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var lastChild; + var otherDoc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + + var otherDocRef = null; + if (typeof(this.otherDoc) != 'undefined') { + otherDocRef = this.otherDoc; + } + otherDoc = load(otherDocRef, "otherDoc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + textNode = otherDoc.createTextNode("terday"); + + { + success = false; + try { + retval = titleAttr.appendChild(textNode); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 4); + } + assertTrue("throw_WRONG_DOCUMENT_ERR",success); + } + +} + + + + +function runTest() { + hc_attrappendchild5(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild6.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild6.js new file mode 100644 index 0000000..01b3d80 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrappendchild6.js @@ -0,0 +1,127 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrappendchild6"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Creates an new attribute node and appends a text node. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +*/ +function hc_attrappendchild6() { + var success; + if(checkInitialization(builder, "hc_attrappendchild6") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var lastChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + titleAttr = doc.createAttribute("title"); + textNode = doc.createTextNode("Yesterday"); + retval = titleAttr.appendChild(textNode); + value = titleAttr.value; + + assertEquals("attrValue","Yesterday",value); + value = titleAttr.nodeValue; + + assertEquals("attrNodeValue","Yesterday",value); + value = retval.nodeValue; + + assertEquals("retvalValue","Yesterday",value); + lastChild = titleAttr.lastChild; + + value = lastChild.nodeValue; + + assertEquals("lastChildValue","Yesterday",value); + +} + + + + +function runTest() { + hc_attrappendchild6(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes1.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes1.js new file mode 100644 index 0000000..ac088f4 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes1.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrchildnodes1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Checks that Node.childNodes for an attribute node contains +the expected text node. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1451460987 +*/ +function hc_attrchildnodes1() { + var success; + if(checkInitialization(builder, "hc_attrchildnodes1") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var childNodes; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + childNodes = titleAttr.childNodes; + + assertSize("childNodesSize",1,childNodes); +textNode = childNodes.item(0); + value = textNode.nodeValue; + + assertEquals("child1IsYes","Yes",value); + textNode = childNodes.item(1); + assertNull("secondItemIsNull",textNode); + +} + + + + +function runTest() { + hc_attrchildnodes1(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes2.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes2.js new file mode 100644 index 0000000..c6c6cd5 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrchildnodes2.js @@ -0,0 +1,130 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrchildnodes2"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Checks Node.childNodes for an attribute with multiple child nodes. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1451460987 +*/ +function hc_attrchildnodes2() { + var success; + if(checkInitialization(builder, "hc_attrchildnodes2") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var childNodes; + var retval; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + childNodes = titleAttr.childNodes; + + textNode = doc.createTextNode("terday"); + retval = titleAttr.appendChild(textNode); + assertSize("childNodesSize",2,childNodes); +textNode = childNodes.item(0); + value = textNode.nodeValue; + + assertEquals("child1IsYes","Yes",value); + textNode = childNodes.item(1); + value = textNode.nodeValue; + + assertEquals("child2IsTerday","terday",value); + textNode = childNodes.item(2); + assertNull("thirdItemIsNull",textNode); + +} + + + + +function runTest() { + hc_attrchildnodes2(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrclonenode1.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrclonenode1.js new file mode 100644 index 0000000..7667e85 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrclonenode1.js @@ -0,0 +1,132 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrclonenode1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Appends a text node to an attribute and clones the node. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3A0ED0A4 +*/ +function hc_attrclonenode1() { + var success; + if(checkInitialization(builder, "hc_attrclonenode1") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var lastChild; + var clonedTitle; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + textNode = doc.createTextNode("terday"); + retval = titleAttr.appendChild(textNode); + clonedTitle = titleAttr.cloneNode(false); + textNode.nodeValue = "text_node_not_cloned"; + + value = clonedTitle.value; + + assertEquals("attrValue","Yesterday",value); + value = clonedTitle.nodeValue; + + assertEquals("attrNodeValue","Yesterday",value); + lastChild = clonedTitle.lastChild; + + value = lastChild.nodeValue; + + assertEquals("lastChildValue","terday",value); + +} + + + + +function runTest() { + hc_attrclonenode1(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatedocumentfragment.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatedocumentfragment.js new file mode 100644 index 0000000..b35e00f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatedocumentfragment.js @@ -0,0 +1,138 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrcreatedocumentfragment"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Create a new DocumentFragment and add a newly created Element node(with one attribute). + Once the element is added, its attribute should be available as an attribute associated + with an Element within a DocumentFragment. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-35CB04B5 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68F082 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A3 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=184 +*/ +function hc_attrcreatedocumentfragment() { + var success; + if(checkInitialization(builder, "hc_attrcreatedocumentfragment") != null) return; + var doc; + var docFragment; + var newOne; + var domesticNode; + var attributes; + var attribute; + var attrName; + var appendedChild; + var langAttrCount = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + docFragment = doc.createDocumentFragment(); + newOne = doc.createElement("html"); + newOne.setAttribute("lang","EN"); + appendedChild = docFragment.appendChild(newOne); + domesticNode = docFragment.firstChild; + + attributes = domesticNode.attributes; + + for(var indexN10078 = 0;indexN10078 < attributes.length; indexN10078++) { + attribute = attributes.item(indexN10078); + attrName = attribute.nodeName; + + + if( + equalsAutoCase("attribute", "lang", attrName) + ) { + langAttrCount += 1; + + } + + } + assertEquals("hasLangAttr",1,langAttrCount); + +} + + + + +function runTest() { + hc_attrcreatedocumentfragment(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode.js new file mode 100644 index 0000000..0298426 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode.js @@ -0,0 +1,127 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrcreatetextnode"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "setValue()" method for an attribute creates a + Text node with the unparsed content of the string. + Retrieve the attribute named "class" from the last + child of of the fourth employee and assign the "Y&ent1;" + string to its value attribute. This value is not yet + parsed and therefore should still be the same upon + retrieval. This test uses the "getNamedItem(name)" method + from the NamedNodeMap interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-221662474 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2002Apr/0057.html +*/ +function hc_attrcreatetextnode() { + var success; + if(checkInitialization(builder, "hc_attrcreatetextnode") != null) return; + var doc; + var addressList; + var testNode; + var attributes; + var streetAttr; + var value; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + addressList = doc.getElementsByTagName("acronym"); + testNode = addressList.item(3); + attributes = testNode.attributes; + + streetAttr = attributes.getNamedItem("class"); + streetAttr.value = "Y&ent1;"; + + value = streetAttr.value; + + assertEquals("value","Y&ent1;",value); + value = streetAttr.nodeValue; + + assertEquals("nodeValue","Y&ent1;",value); + +} + + + + +function runTest() { + hc_attrcreatetextnode(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode2.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode2.js new file mode 100644 index 0000000..bfa0d05 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrcreatetextnode2.js @@ -0,0 +1,127 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrcreatetextnode2"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "setNodeValue()" method for an attribute creates a + Text node with the unparsed content of the string. + Retrieve the attribute named "class" from the last + child of of the fourth employee and assign the "Y&ent1;" + string to its value attribute. This value is not yet + parsed and therefore should still be the same upon + retrieval. This test uses the "getNamedItem(name)" method + from the NamedNodeMap interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2002Apr/0057.html +*/ +function hc_attrcreatetextnode2() { + var success; + if(checkInitialization(builder, "hc_attrcreatetextnode2") != null) return; + var doc; + var addressList; + var testNode; + var attributes; + var streetAttr; + var value; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + addressList = doc.getElementsByTagName("acronym"); + testNode = addressList.item(3); + attributes = testNode.attributes; + + streetAttr = attributes.getNamedItem("class"); + streetAttr.nodeValue = "Y&ent1;"; + + value = streetAttr.value; + + assertEquals("value","Y&ent1;",value); + value = streetAttr.nodeValue; + + assertEquals("nodeValue","Y&ent1;",value); + +} + + + + +function runTest() { + hc_attrcreatetextnode2(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attreffectivevalue.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attreffectivevalue.js new file mode 100644 index 0000000..89a41c0 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attreffectivevalue.js @@ -0,0 +1,118 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attreffectivevalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If an Attr is explicitly assigned any value, then that value is the attributes effective value. + Retrieve the attribute named "domestic" from the last child of of the first employee + and examine its nodeValue attribute. This test uses the "getNamedItem(name)" method + from the NamedNodeMap interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1074577549 +*/ +function hc_attreffectivevalue() { + var success; + if(checkInitialization(builder, "hc_attreffectivevalue") != null) return; + var doc; + var addressList; + var testNode; + var attributes; + var domesticAttr; + var value; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + addressList = doc.getElementsByTagName("acronym"); + testNode = addressList.item(0); + attributes = testNode.attributes; + + domesticAttr = attributes.getNamedItem("title"); + value = domesticAttr.nodeValue; + + assertEquals("attrEffectiveValueAssert","Yes",value); + +} + + + + +function runTest() { + hc_attreffectivevalue(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrfirstchild.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrfirstchild.js new file mode 100644 index 0000000..68f8b52 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrfirstchild.js @@ -0,0 +1,127 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrfirstchild"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Checks that Node.firstChild for an attribute node contains +the expected text node. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-169727388 +*/ +function hc_attrfirstchild() { + var success; + if(checkInitialization(builder, "hc_attrfirstchild") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var otherChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + textNode = titleAttr.firstChild; + + assertNotNull("textNodeNotNull",textNode); +value = textNode.nodeValue; + + assertEquals("child1IsYes","Yes",value); + otherChild = textNode.nextSibling; + + assertNull("nextSiblingIsNull",otherChild); + otherChild = textNode.previousSibling; + + assertNull("previousSiblingIsNull",otherChild); + +} + + + + +function runTest() { + hc_attrfirstchild(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue1.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue1.js new file mode 100644 index 0000000..9ee328c --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue1.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrgetvalue1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Checks the value of an attribute that contains entity references. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-221662474 +*/ +function hc_attrgetvalue1() { + var success; + if(checkInitialization(builder, "hc_attrgetvalue1") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var lastChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("class"); + value = titleAttr.value; + + assertEquals("attrValue1","Yα",value); + +} + + + + +function runTest() { + hc_attrgetvalue1(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue2.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue2.js new file mode 100644 index 0000000..94cc2ae --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrgetvalue2.js @@ -0,0 +1,146 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrgetvalue2"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + checkFeature("XML", null); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Checks the value of an attribute that contains entity references. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-221662474 +*/ +function hc_attrgetvalue2() { + var success; + if(checkInitialization(builder, "hc_attrgetvalue2") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var firstChild; + var alphaRef; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("class"); + + if( + + (builder.contentType == "text/html") + + ) { + + { + success = false; + try { + alphaRef = doc.createEntityReference("alpha"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 9); + } + assertTrue("throw_NOT_SUPPORTED_ERR",success); + } + + } + + else { + alphaRef = doc.createEntityReference("alpha"); + firstChild = titleAttr.firstChild; + + retval = titleAttr.insertBefore(alphaRef,firstChild); + value = titleAttr.value; + + assertEquals("attrValue1","αYα",value); + + } + +} + + + + +function runTest() { + hc_attrgetvalue2(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrhaschildnodes.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrhaschildnodes.js new file mode 100644 index 0000000..71487c3 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrhaschildnodes.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrhaschildnodes"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Checks that Node.hasChildNodes() is true for an attribute with content. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-810594187 +*/ +function hc_attrhaschildnodes() { + var success; + if(checkInitialization(builder, "hc_attrhaschildnodes") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var hasChildNodes; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + hasChildNodes = titleAttr.hasChildNodes(); + assertTrue("hasChildrenIsTrue",hasChildNodes); + +} + + + + +function runTest() { + hc_attrhaschildnodes(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore1.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore1.js new file mode 100644 index 0000000..89aa99e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore1.js @@ -0,0 +1,140 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrinsertbefore1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Appends a text node to an attribute and checks if the value of +the attribute is changed. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +*/ +function hc_attrinsertbefore1() { + var success; + if(checkInitialization(builder, "hc_attrinsertbefore1") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var firstChild; + var lastChild; + var refChild = null; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + textNode = doc.createTextNode("terday"); + retval = titleAttr.insertBefore(textNode,refChild); + value = titleAttr.value; + + assertEquals("attrValue","Yesterday",value); + value = titleAttr.nodeValue; + + assertEquals("attrNodeValue","Yesterday",value); + value = retval.nodeValue; + + assertEquals("retvalValue","terday",value); + firstChild = titleAttr.firstChild; + + value = firstChild.nodeValue; + + assertEquals("firstChildValue","Yes",value); + lastChild = titleAttr.lastChild; + + value = lastChild.nodeValue; + + assertEquals("lastChildValue","terday",value); + +} + + + + +function runTest() { + hc_attrinsertbefore1(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore2.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore2.js new file mode 100644 index 0000000..cc4f50e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore2.js @@ -0,0 +1,141 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrinsertbefore2"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Prepends a text node to an attribute and checks if the value of +the attribute is changed. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +*/ +function hc_attrinsertbefore2() { + var success; + if(checkInitialization(builder, "hc_attrinsertbefore2") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var lastChild; + var firstChild; + var refChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + textNode = doc.createTextNode("terday"); + refChild = titleAttr.firstChild; + + retval = titleAttr.insertBefore(textNode,refChild); + value = titleAttr.value; + + assertEquals("attrValue","terdayYes",value); + value = titleAttr.nodeValue; + + assertEquals("attrNodeValue","terdayYes",value); + value = retval.nodeValue; + + assertEquals("retvalValue","terday",value); + firstChild = titleAttr.firstChild; + + value = firstChild.nodeValue; + + assertEquals("firstChildValue","terday",value); + lastChild = titleAttr.lastChild; + + value = lastChild.nodeValue; + + assertEquals("lastChildValue","Yes",value); + +} + + + + +function runTest() { + hc_attrinsertbefore2(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore3.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore3.js new file mode 100644 index 0000000..3cb24cd --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore3.js @@ -0,0 +1,146 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrinsertbefore3"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Appends a document fragment to an attribute and checks if the value of +the attribute is changed. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +*/ +function hc_attrinsertbefore3() { + var success; + if(checkInitialization(builder, "hc_attrinsertbefore3") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var terNode; + var dayNode; + var docFrag; + var retval; + var firstChild; + var lastChild; + var refChild = null; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + terNode = doc.createTextNode("ter"); + dayNode = doc.createTextNode("day"); + docFrag = doc.createDocumentFragment(); + retval = docFrag.appendChild(terNode); + retval = docFrag.appendChild(dayNode); + retval = titleAttr.insertBefore(docFrag,refChild); + value = titleAttr.value; + + assertEquals("attrValue","Yesterday",value); + value = titleAttr.nodeValue; + + assertEquals("attrNodeValue","Yesterday",value); + value = retval.nodeValue; + + assertNull("retvalValue",value); + firstChild = titleAttr.firstChild; + + value = firstChild.nodeValue; + + assertEquals("firstChildValue","Yes",value); + lastChild = titleAttr.lastChild; + + value = lastChild.nodeValue; + + assertEquals("lastChildValue","day",value); + +} + + + + +function runTest() { + hc_attrinsertbefore3(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore4.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore4.js new file mode 100644 index 0000000..700e61d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore4.js @@ -0,0 +1,147 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrinsertbefore4"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Prepends a document fragment to an attribute and checks if the value of +the attribute is changed. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +*/ +function hc_attrinsertbefore4() { + var success; + if(checkInitialization(builder, "hc_attrinsertbefore4") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var terNode; + var dayNode; + var docFrag; + var retval; + var firstChild; + var lastChild; + var refChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + terNode = doc.createTextNode("ter"); + dayNode = doc.createTextNode("day"); + docFrag = doc.createDocumentFragment(); + retval = docFrag.appendChild(terNode); + retval = docFrag.appendChild(dayNode); + refChild = titleAttr.firstChild; + + retval = titleAttr.insertBefore(docFrag,refChild); + value = titleAttr.value; + + assertEquals("attrValue","terdayYes",value); + value = titleAttr.nodeValue; + + assertEquals("attrNodeValue","terdayYes",value); + value = retval.nodeValue; + + assertNull("retvalValue",value); + firstChild = titleAttr.firstChild; + + value = firstChild.nodeValue; + + assertEquals("firstChildValue","ter",value); + lastChild = titleAttr.lastChild; + + value = lastChild.nodeValue; + + assertEquals("lastChildValue","Yes",value); + +} + + + + +function runTest() { + hc_attrinsertbefore4(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore5.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore5.js new file mode 100644 index 0000000..a9737ed --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore5.js @@ -0,0 +1,153 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrinsertbefore5"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + checkFeature("XML", null); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Attempt to append a CDATASection to an attribute which should result +in a HIERARCHY_REQUEST_ERR. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +*/ +function hc_attrinsertbefore5() { + var success; + if(checkInitialization(builder, "hc_attrinsertbefore5") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var refChild = null; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + + if( + + (builder.contentType == "text/html") + + ) { + + { + success = false; + try { + textNode = doc.createCDATASection("terday"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 9); + } + assertTrue("throw_NOT_SUPPORTED_ERR",success); + } + + } + + else { + textNode = doc.createCDATASection("terday"); + + { + success = false; + try { + retval = titleAttr.insertBefore(textNode,refChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 3); + } + assertTrue("throw_HIERARCHY_REQUEST_ERR",success); + } + + } + +} + + + + +function runTest() { + hc_attrinsertbefore5(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore6.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore6.js new file mode 100644 index 0000000..dc04f62 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore6.js @@ -0,0 +1,142 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrinsertbefore6"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + var otherDocRef = null; + if (typeof(this.otherDoc) != 'undefined') { + otherDocRef = this.otherDoc; + } + docsLoaded += preload(otherDocRef, "otherDoc", "hc_staff"); + + if (docsLoaded == 2) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 2) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Attempt to append a text node from another document to an attribute which should result +in a WRONG_DOCUMENT_ERR. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +*/ +function hc_attrinsertbefore6() { + var success; + if(checkInitialization(builder, "hc_attrinsertbefore6") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var refChild = null; + + var otherDoc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + + var otherDocRef = null; + if (typeof(this.otherDoc) != 'undefined') { + otherDocRef = this.otherDoc; + } + otherDoc = load(otherDocRef, "otherDoc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + textNode = otherDoc.createTextNode("terday"); + + { + success = false; + try { + retval = titleAttr.insertBefore(textNode,refChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 4); + } + assertTrue("throw_WRONG_DOCUMENT_ERR",success); + } + +} + + + + +function runTest() { + hc_attrinsertbefore6(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore7.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore7.js new file mode 100644 index 0000000..f014502 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrinsertbefore7.js @@ -0,0 +1,160 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrinsertbefore7"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + checkFeature("XML", null); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Appends a document fragment containing a CDATASection to an attribute. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +*/ +function hc_attrinsertbefore7() { + var success; + if(checkInitialization(builder, "hc_attrinsertbefore7") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var terNode; + var dayNode; + var docFrag; + var retval; + var firstChild; + var lastChild; + var refChild = null; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + terNode = doc.createTextNode("ter"); + + if( + + (builder.contentType == "text/html") + + ) { + + { + success = false; + try { + dayNode = doc.createCDATASection("day"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 9); + } + assertTrue("throw_NOT_SUPPORTED_ERR",success); + } + + } + + else { + dayNode = doc.createCDATASection("day"); + docFrag = doc.createDocumentFragment(); + retval = docFrag.appendChild(terNode); + retval = docFrag.appendChild(dayNode); + + { + success = false; + try { + retval = titleAttr.insertBefore(docFrag,refChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 3); + } + assertTrue("throw_HIERARCHY_REQUEST_ERR",success); + } + + } + +} + + + + +function runTest() { + hc_attrinsertbefore7(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrlastchild.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrlastchild.js new file mode 100644 index 0000000..1df7342 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrlastchild.js @@ -0,0 +1,127 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrlastchild"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Checks that Node.lastChild for an attribute node contains +the expected text node. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-61AD09FB +*/ +function hc_attrlastchild() { + var success; + if(checkInitialization(builder, "hc_attrlastchild") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var otherChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + textNode = titleAttr.firstChild; + + assertNotNull("textNodeNotNull",textNode); +value = textNode.nodeValue; + + assertEquals("child1IsYes","Yes",value); + otherChild = textNode.nextSibling; + + assertNull("nextSiblingIsNull",otherChild); + otherChild = textNode.previousSibling; + + assertNull("previousSiblingIsNull",otherChild); + +} + + + + +function runTest() { + hc_attrlastchild(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrname.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrname.js new file mode 100644 index 0000000..890fae1 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrname.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrname"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the attribute named class from the last + child of of the second "p" element and examine its + NodeName. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1112119403 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html +*/ +function hc_attrname() { + var success; + if(checkInitialization(builder, "hc_attrname") != null) return; + var doc; + var addressList; + var testNode; + var attributes; + var streetAttr; + var strong1; + var strong2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + addressList = doc.getElementsByTagName("acronym"); + testNode = addressList.item(1); + attributes = testNode.attributes; + + streetAttr = attributes.getNamedItem("class"); + strong1 = streetAttr.nodeName; + + strong2 = streetAttr.name; + + assertEqualsAutoCase("attribute", "nodeName","class",strong1); + assertEqualsAutoCase("attribute", "name","class",strong2); + +} + + + + +function runTest() { + hc_attrname(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnextsiblingnull.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnextsiblingnull.js new file mode 100644 index 0000000..12fc9f9 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnextsiblingnull.js @@ -0,0 +1,118 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrnextsiblingnull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "getNextSibling()" method for an Attr node should return null. +Retrieve the attribute named "domestic" from the last child of of the +first employee and examine its NextSibling node. This test uses the +"getNamedItem(name)" method from the NamedNodeMap interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6AC54C2F +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +*/ +function hc_attrnextsiblingnull() { + var success; + if(checkInitialization(builder, "hc_attrnextsiblingnull") != null) return; + var doc; + var addressList; + var testNode; + var attributes; + var domesticAttr; + var s; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + addressList = doc.getElementsByTagName("acronym"); + testNode = addressList.item(0); + attributes = testNode.attributes; + + domesticAttr = attributes.getNamedItem("title"); + s = domesticAttr.nextSibling; + + assertNull("attrNextSiblingNullAssert",s); + +} + + + + +function runTest() { + hc_attrnextsiblingnull(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnormalize.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnormalize.js new file mode 100644 index 0000000..d9f5e29 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrnormalize.js @@ -0,0 +1,133 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrnormalize"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Appends a text node to an attribute, normalizes the attribute +and checks for a single child node. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-162CF083 +*/ +function hc_attrnormalize() { + var success; + if(checkInitialization(builder, "hc_attrnormalize") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var firstChild; + var secondChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + textNode = doc.createTextNode("terday"); + retval = titleAttr.appendChild(textNode); + textNode = doc.createTextNode(""); + retval = titleAttr.appendChild(textNode); + testNode.normalize(); + value = titleAttr.nodeValue; + + assertEquals("attrNodeValue","Yesterday",value); + firstChild = titleAttr.firstChild; + + value = firstChild.nodeValue; + + assertEquals("firstChildValue","Yesterday",value); + secondChild = firstChild.nextSibling; + + assertNull("secondChildIsNull",secondChild); + +} + + + + +function runTest() { + hc_attrnormalize(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrparentnodenull.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrparentnodenull.js new file mode 100644 index 0000000..3c6a403 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrparentnodenull.js @@ -0,0 +1,118 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrparentnodenull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "getParentNode()" method for an Attr node should return null. Retrieve +the attribute named "domestic" from the last child of the first employee +and examine its parentNode attribute. This test also uses the "getNamedItem(name)" +method from the NamedNodeMap interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1060184317 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +*/ +function hc_attrparentnodenull() { + var success; + if(checkInitialization(builder, "hc_attrparentnodenull") != null) return; + var doc; + var addressList; + var testNode; + var attributes; + var domesticAttr; + var s; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + addressList = doc.getElementsByTagName("acronym"); + testNode = addressList.item(0); + attributes = testNode.attributes; + + domesticAttr = attributes.getNamedItem("title"); + s = domesticAttr.parentNode; + + assertNull("attrParentNodeNullAssert",s); + +} + + + + +function runTest() { + hc_attrparentnodenull(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrprevioussiblingnull.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrprevioussiblingnull.js new file mode 100644 index 0000000..2773718 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrprevioussiblingnull.js @@ -0,0 +1,118 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrprevioussiblingnull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "getPreviousSibling()" method for an Attr node should return null. +Retrieve the attribute named "domestic" from the last child of of the +first employee and examine its PreviousSibling node. This test uses the +"getNamedItem(name)" method from the NamedNodeMap interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-640FB3C8 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +*/ +function hc_attrprevioussiblingnull() { + var success; + if(checkInitialization(builder, "hc_attrprevioussiblingnull") != null) return; + var doc; + var addressList; + var testNode; + var attributes; + var domesticAttr; + var s; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + addressList = doc.getElementsByTagName("acronym"); + testNode = addressList.item(0); + attributes = testNode.attributes; + + domesticAttr = attributes.getNamedItem("title"); + s = domesticAttr.previousSibling; + + assertNull("attrPreviousSiblingNullAssert",s); + +} + + + + +function runTest() { + hc_attrprevioussiblingnull(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild1.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild1.js new file mode 100644 index 0000000..5f98746 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild1.js @@ -0,0 +1,131 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrremovechild1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Removes the child node of an attribute and checks that the value is empty. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066 +*/ +function hc_attrremovechild1() { + var success; + if(checkInitialization(builder, "hc_attrremovechild1") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var firstChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + textNode = titleAttr.firstChild; + + assertNotNull("attrChildNotNull",textNode); +retval = titleAttr.removeChild(textNode); + value = titleAttr.value; + + assertEquals("attrValue","",value); + value = titleAttr.nodeValue; + + assertEquals("attrNodeValue","",value); + value = retval.nodeValue; + + assertEquals("retvalValue","Yes",value); + firstChild = titleAttr.firstChild; + + assertNull("firstChildNull",firstChild); + +} + + + + +function runTest() { + hc_attrremovechild1(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild2.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild2.js new file mode 100644 index 0000000..3e19f4e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrremovechild2.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrremovechild2"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Attempts to remove a freshly created text node which should result in a NOT_FOUND_ERR exception. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066 +*/ +function hc_attrremovechild2() { + var success; + if(checkInitialization(builder, "hc_attrremovechild2") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + textNode = doc.createTextNode("Yesterday"); + + { + success = false; + try { + retval = titleAttr.removeChild(textNode); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 8); + } + assertTrue("throw_NOT_FOUND_ERR",success); + } + +} + + + + +function runTest() { + hc_attrremovechild2(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild1.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild1.js new file mode 100644 index 0000000..ff499e5 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild1.js @@ -0,0 +1,135 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrreplacechild1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Replaces a text node of an attribute and checks if the value of +the attribute is changed. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 +*/ +function hc_attrreplacechild1() { + var success; + if(checkInitialization(builder, "hc_attrreplacechild1") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var firstChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + textNode = doc.createTextNode("terday"); + firstChild = titleAttr.firstChild; + + assertNotNull("attrChildNotNull",firstChild); +retval = titleAttr.replaceChild(textNode,firstChild); + value = titleAttr.value; + + assertEquals("attrValue","terday",value); + value = titleAttr.nodeValue; + + assertEquals("attrNodeValue","terday",value); + value = retval.nodeValue; + + assertEquals("retvalValue","Yes",value); + firstChild = titleAttr.firstChild; + + value = firstChild.nodeValue; + + assertEquals("firstChildValue","terday",value); + +} + + + + +function runTest() { + hc_attrreplacechild1(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild2.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild2.js new file mode 100644 index 0000000..c26d316 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrreplacechild2.js @@ -0,0 +1,141 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrreplacechild2"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Replaces a text node of an attribute with a document fragment and checks if the value of +the attribute is changed. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 +*/ +function hc_attrreplacechild2() { + var success; + if(checkInitialization(builder, "hc_attrreplacechild2") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var terNode; + var dayNode; + var docFrag; + var retval; + var firstChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + terNode = doc.createTextNode("ter"); + dayNode = doc.createTextNode("day"); + docFrag = doc.createDocumentFragment(); + retval = docFrag.appendChild(terNode); + retval = docFrag.appendChild(dayNode); + firstChild = titleAttr.firstChild; + + assertNotNull("attrChildNotNull",firstChild); +retval = titleAttr.replaceChild(docFrag,firstChild); + value = titleAttr.value; + + assertEquals("attrValue","terday",value); + value = titleAttr.nodeValue; + + assertEquals("attrNodeValue","terday",value); + value = retval.nodeValue; + + assertEquals("retvalValue","Yes",value); + firstChild = titleAttr.firstChild; + + value = firstChild.nodeValue; + + assertEquals("firstChildValue","ter",value); + +} + + + + +function runTest() { + hc_attrreplacechild2(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue1.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue1.js new file mode 100644 index 0000000..457f7b6 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue1.js @@ -0,0 +1,135 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrsetvalue1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Sets Attr.value on an attribute that only has a simple value. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-221662474 +*/ +function hc_attrsetvalue1() { + var success; + if(checkInitialization(builder, "hc_attrsetvalue1") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var retval; + var firstChild; + var otherChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + firstChild = titleAttr.firstChild; + + assertNotNull("attrChildNotNull",firstChild); +titleAttr.value = "Tomorrow"; + + firstChild.nodeValue = "impl reused node"; + + value = titleAttr.value; + + assertEquals("attrValue","Tomorrow",value); + value = titleAttr.nodeValue; + + assertEquals("attrNodeValue","Tomorrow",value); + firstChild = titleAttr.lastChild; + + value = firstChild.nodeValue; + + assertEquals("firstChildValue","Tomorrow",value); + otherChild = firstChild.nextSibling; + + assertNull("nextSiblingIsNull",otherChild); + +} + + + + +function runTest() { + hc_attrsetvalue1(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue2.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue2.js new file mode 100644 index 0000000..029d7d5 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrsetvalue2.js @@ -0,0 +1,138 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrsetvalue2"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Sets Attr.value on an attribute that should contain multiple child nodes. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-221662474 +*/ +function hc_attrsetvalue2() { + var success; + if(checkInitialization(builder, "hc_attrsetvalue2") != null) return; + var doc; + var acronymList; + var testNode; + var attributes; + var titleAttr; + var value; + var textNode; + var retval; + var firstChild; + var otherChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + acronymList = doc.getElementsByTagName("acronym"); + testNode = acronymList.item(3); + attributes = testNode.attributes; + + titleAttr = attributes.getNamedItem("title"); + textNode = doc.createTextNode("terday"); + retval = titleAttr.appendChild(textNode); + firstChild = titleAttr.firstChild; + + assertNotNull("attrChildNotNull",firstChild); +titleAttr.value = "Tomorrow"; + + firstChild.nodeValue = "impl reused node"; + + value = titleAttr.value; + + assertEquals("attrValue","Tomorrow",value); + value = titleAttr.nodeValue; + + assertEquals("attrNodeValue","Tomorrow",value); + firstChild = titleAttr.lastChild; + + value = firstChild.nodeValue; + + assertEquals("firstChildValue","Tomorrow",value); + otherChild = firstChild.nextSibling; + + assertNull("nextSiblingIsNull",otherChild); + +} + + + + +function runTest() { + hc_attrsetvalue2(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvalue.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvalue.js new file mode 100644 index 0000000..deb504d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvalue.js @@ -0,0 +1,121 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrspecifiedvalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getSpecified()" method for an Attr node should + be set to true if the attribute was explicitly given + a value. + Retrieve the attribute named "domestic" from the last + child of of the first employee and examine the value + returned by the "getSpecified()" method. This test uses + the "getNamedItem(name)" method from the NamedNodeMap + interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-862529273 +*/ +function hc_attrspecifiedvalue() { + var success; + if(checkInitialization(builder, "hc_attrspecifiedvalue") != null) return; + var doc; + var addressList; + var testNode; + var attributes; + var domesticAttr; + var state; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + addressList = doc.getElementsByTagName("acronym"); + testNode = addressList.item(0); + attributes = testNode.attributes; + + domesticAttr = attributes.getNamedItem("title"); + state = domesticAttr.specified; + + assertTrue("acronymTitleSpecified",state); + +} + + + + +function runTest() { + hc_attrspecifiedvalue(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvaluechanged.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvaluechanged.js new file mode 100644 index 0000000..fd65931 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_attrspecifiedvaluechanged.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrspecifiedvaluechanged"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getSpecified()" method for an Attr node should return true if the + value of the attribute is changed. + Retrieve the attribute named "class" from the last + child of of the THIRD employee and change its + value to "Yes"(which is the default DTD value). This + should cause the "getSpecified()" method to be true. + This test uses the "setAttribute(name,value)" method + from the Element interface and the "getNamedItem(name)" + method from the NamedNodeMap interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-862529273 +*/ +function hc_attrspecifiedvaluechanged() { + var success; + if(checkInitialization(builder, "hc_attrspecifiedvaluechanged") != null) return; + var doc; + var addressList; + var testNode; + var attributes; + var streetAttr; + var state; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + addressList = doc.getElementsByTagName("acronym"); + testNode = addressList.item(2); + testNode.setAttribute("class","Yα"); + attributes = testNode.attributes; + + streetAttr = attributes.getNamedItem("class"); + state = streetAttr.specified; + + assertTrue("acronymClassSpecified",state); + +} + + + + +function runTest() { + hc_attrspecifiedvaluechanged(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentcreateattribute.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentcreateattribute.js new file mode 100644 index 0000000..31284f3 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentcreateattribute.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentcreateattribute"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the entire DOM document and invoke its + "createAttribute(name)" method. It should create a + new Attribute node with the given name. The name, value + and type of the newly created object are retrieved and + output. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1084891198 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 +*/ +function hc_documentcreateattribute() { + var success; + if(checkInitialization(builder, "hc_documentcreateattribute") != null) return; + var doc; + var newAttrNode; + var attrValue; + var attrName; + var attrType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newAttrNode = doc.createAttribute("title"); + attrValue = newAttrNode.nodeValue; + + assertEquals("value","",attrValue); + attrName = newAttrNode.nodeName; + + assertEqualsAutoCase("attribute", "name","title",attrName); + attrType = newAttrNode.nodeType; + + assertEquals("type",2,attrType); + +} + + + + +function runTest() { + hc_documentcreateattribute(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute.js new file mode 100644 index 0000000..9038f2e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentinvalidcharacterexceptioncreateattribute"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "createAttribute(tagName)" method raises an + INVALID_CHARACTER_ERR DOMException if the specified + tagName contains an invalid character. + + Retrieve the entire DOM document and invoke its + "createAttribute(tagName)" method with the tagName equal + to the string "invalid^Name". Due to the invalid + character the desired EXCEPTION should be raised. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1084891198 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-1084891198')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1084891198 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_documentinvalidcharacterexceptioncreateattribute() { + var success; + if(checkInitialization(builder, "hc_documentinvalidcharacterexceptioncreateattribute") != null) return; + var doc; + var createdAttr; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + + { + success = false; + try { + createdAttr = doc.createAttribute("invalid^Name"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 5); + } + assertTrue("throw_INVALID_CHARACTER_ERR",success); + } + +} + + + + +function runTest() { + hc_documentinvalidcharacterexceptioncreateattribute(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute1.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute1.js new file mode 100644 index 0000000..4f9933d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_documentinvalidcharacterexceptioncreateattribute1.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_documentinvalidcharacterexceptioncreateattribute1"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Creating an attribute with an empty name should cause an INVALID_CHARACTER_ERR. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1084891198 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-1084891198')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1084891198 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=525 +*/ +function hc_documentinvalidcharacterexceptioncreateattribute1() { + var success; + if(checkInitialization(builder, "hc_documentinvalidcharacterexceptioncreateattribute1") != null) return; + var doc; + var createdAttr; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + + { + success = false; + try { + createdAttr = doc.createAttribute(""); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 5); + } + assertTrue("throw_INVALID_CHARACTER_ERR",success); + } + +} + + + + +function runTest() { + hc_documentinvalidcharacterexceptioncreateattribute1(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementassociatedattribute.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementassociatedattribute.js new file mode 100644 index 0000000..c3642a9 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementassociatedattribute.js @@ -0,0 +1,119 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementassociatedattribute"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the first attribute from the last child of + the first employee and invoke the "getSpecified()" + method. This test is only intended to show that + Elements can actually have attributes. This test uses + the "getNamedItem(name)" method from the NamedNodeMap + interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 +*/ +function hc_elementassociatedattribute() { + var success; + if(checkInitialization(builder, "hc_elementassociatedattribute") != null) return; + var doc; + var elementList; + var testEmployee; + var attributes; + var domesticAttr; + var specified; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(0); + attributes = testEmployee.attributes; + + domesticAttr = attributes.getNamedItem("title"); + specified = domesticAttr.specified; + + assertTrue("acronymTitleSpecified",specified); + +} + + + + +function runTest() { + hc_elementassociatedattribute(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementcreatenewattribute.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementcreatenewattribute.js new file mode 100644 index 0000000..aad9aa1 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementcreatenewattribute.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementcreatenewattribute"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "setAttributeNode(newAttr)" method adds a new + attribute to the Element. + + Retrieve first address element and add + a new attribute node to it by invoking its + "setAttributeNode(newAttr)" method. This test makes use + of the "createAttribute(name)" method from the Document + interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 +*/ +function hc_elementcreatenewattribute() { + var success; + if(checkInitialization(builder, "hc_elementcreatenewattribute") != null) return; + var doc; + var elementList; + var testAddress; + var newAttribute; + var oldAttr; + var districtAttr; + var attrVal; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddress = elementList.item(0); + newAttribute = doc.createAttribute("lang"); + oldAttr = testAddress.setAttributeNode(newAttribute); + assertNull("old_attr_doesnt_exist",oldAttr); + districtAttr = testAddress.getAttributeNode("lang"); + assertNotNull("new_district_accessible",districtAttr); +attrVal = testAddress.getAttribute("lang"); + assertEquals("attr_value","",attrVal); + +} + + + + +function runTest() { + hc_elementcreatenewattribute(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenode.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenode.js new file mode 100644 index 0000000..17b0106 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenode.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementgetattributenode"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the attribute "title" from the last child + of the first "p" element and check its node name. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-217A91B8 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html +*/ +function hc_elementgetattributenode() { + var success; + if(checkInitialization(builder, "hc_elementgetattributenode") != null) return; + var doc; + var elementList; + var testEmployee; + var domesticAttr; + var nodeName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(0); + domesticAttr = testEmployee.getAttributeNode("title"); + nodeName = domesticAttr.nodeName; + + assertEqualsAutoCase("attribute", "nodeName","title",nodeName); + +} + + + + +function runTest() { + hc_elementgetattributenode(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenodenull.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenodenull.js new file mode 100644 index 0000000..2c9a905 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetattributenodenull.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementgetattributenodenull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getAttributeNode(name)" method retrieves an + attribute node by name. It should return null if the + "strong" attribute does not exist. + + Retrieve the last child of the first employee and attempt + to retrieve a non-existing attribute. The method should + return "null". The non-existing attribute to be used + is "invalidAttribute". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-217A91B8 +*/ +function hc_elementgetattributenodenull() { + var success; + if(checkInitialization(builder, "hc_elementgetattributenodenull") != null) return; + var doc; + var elementList; + var testEmployee; + var domesticAttr; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(0); + domesticAttr = testEmployee.getAttributeNode("invalidAttribute"); + assertNull("elementGetAttributeNodeNullAssert",domesticAttr); + +} + + + + +function runTest() { + hc_elementgetattributenodenull(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetelementempty.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetelementempty.js new file mode 100644 index 0000000..b4ddf55 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementgetelementempty.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementgetelementempty"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getAttribute(name)" method returns an empty + string if no value was assigned to an attribute and + no default value was given in the DTD file. + + Retrieve the last child of the last employee, then + invoke "getAttribute(name)" method, where "strong" is an + attribute without a specified or DTD default value. + The "getAttribute(name)" method should return the empty + string. This method makes use of the + "createAttribute(newAttr)" method from the Document + interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-666EE0F9 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 +*/ +function hc_elementgetelementempty() { + var success; + if(checkInitialization(builder, "hc_elementgetelementempty") != null) return; + var doc; + var newAttribute; + var elementList; + var testEmployee; + var domesticAttr; + var attrValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newAttribute = doc.createAttribute("lang"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(3); + domesticAttr = testEmployee.setAttributeNode(newAttribute); + attrValue = testEmployee.getAttribute("lang"); + assertEquals("elementGetElementEmptyAssert","",attrValue); + +} + + + + +function runTest() { + hc_elementgetelementempty(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementinuseattributeerr.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementinuseattributeerr.js new file mode 100644 index 0000000..fa2fd0a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementinuseattributeerr.js @@ -0,0 +1,131 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementinuseattributeerr"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "setAttributeNode(newAttr)" method raises an + "INUSE_ATTRIBUTE_ERR DOMException if the "newAttr" + is already an attribute of another element. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INUSE_ATTRIBUTE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-887236154')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INUSE_ATTRIBUTE_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=244 +*/ +function hc_elementinuseattributeerr() { + var success; + if(checkInitialization(builder, "hc_elementinuseattributeerr") != null) return; + var doc; + var newAttribute; + var addressElementList; + var testAddress; + var newElement; + var attrAddress; + var appendedChild; + var setAttr1; + var setAttr2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + addressElementList = doc.getElementsByTagName("body"); + testAddress = addressElementList.item(0); + newElement = doc.createElement("p"); + appendedChild = testAddress.appendChild(newElement); + newAttribute = doc.createAttribute("title"); + setAttr1 = newElement.setAttributeNode(newAttribute); + + { + success = false; + try { + setAttr2 = testAddress.setAttributeNode(newAttribute); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 10); + } + assertTrue("throw_INUSE_ATTRIBUTE_ERR",success); + } + +} + + + + +function runTest() { + hc_elementinuseattributeerr(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnormalize2.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnormalize2.js new file mode 100644 index 0000000..b2197ed --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnormalize2.js @@ -0,0 +1,129 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementnormalize2"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Add an empty text node to an existing attribute node, normalize the containing element +and check that the attribute node has eliminated the empty text. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-162CF083 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=482 +*/ +function hc_elementnormalize2() { + var success; + if(checkInitialization(builder, "hc_elementnormalize2") != null) return; + var doc; + var root; + var elementList; + var element; + var firstChild; + var secondChild; + var childValue; + var emptyText; + var attrNode; + var retval; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + root = doc.documentElement; + + emptyText = doc.createTextNode(""); + elementList = root.getElementsByTagName("acronym"); + element = elementList.item(0); + attrNode = element.getAttributeNode("title"); + retval = attrNode.appendChild(emptyText); + element.normalize(); + attrNode = element.getAttributeNode("title"); + firstChild = attrNode.firstChild; + + childValue = firstChild.nodeValue; + + assertEquals("firstChild","Yes",childValue); + secondChild = firstChild.nextSibling; + + assertNull("secondChildNull",secondChild); + +} + + + + +function runTest() { + hc_elementnormalize2(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnotfounderr.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnotfounderr.js new file mode 100644 index 0000000..ad15587 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementnotfounderr.js @@ -0,0 +1,130 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementnotfounderr"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "removeAttributeNode(oldAttr)" method raises a + NOT_FOUND_ERR DOMException if the "oldAttr" attribute + is not an attribute of the element. + + Retrieve the last employee and attempt to remove + a non existing attribute node. This should cause the + intended exception to be raised. This test makes use + of the "createAttribute(name)" method from the Document + interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INUSE_ATTRIBUTE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D589198 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-D589198')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INUSE_ATTRIBUTE_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_elementnotfounderr() { + var success; + if(checkInitialization(builder, "hc_elementnotfounderr") != null) return; + var doc; + var oldAttribute; + var addressElementList; + var testAddress; + var attrAddress; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + addressElementList = doc.getElementsByTagName("acronym"); + testAddress = addressElementList.item(4); + oldAttribute = doc.createAttribute("title"); + + { + success = false; + try { + attrAddress = testAddress.removeAttributeNode(oldAttribute); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 8); + } + assertTrue("throw_NOT_FOUND_ERR",success); + } + +} + + + + +function runTest() { + hc_elementnotfounderr(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributeaftercreate.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributeaftercreate.js new file mode 100644 index 0000000..724a3e8 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributeaftercreate.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementremoveattributeaftercreate"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "removeAttributeNode(oldAttr)" method removes the + specified attribute. + + Retrieve the last child of the third employee, add a + new "lang" attribute to it and then try to remove it. + To verify that the node was removed use the + "getNamedItem(name)" method from the NamedNodeMap + interface. It also uses the "getAttributes()" method + from the Node interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D589198 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 +*/ +function hc_elementremoveattributeaftercreate() { + var success; + if(checkInitialization(builder, "hc_elementremoveattributeaftercreate") != null) return; + var doc; + var elementList; + var testEmployee; + var newAttribute; + var attributes; + var districtAttr; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(2); + newAttribute = doc.createAttribute("lang"); + districtAttr = testEmployee.setAttributeNode(newAttribute); + districtAttr = testEmployee.removeAttributeNode(newAttribute); + attributes = testEmployee.attributes; + + districtAttr = attributes.getNamedItem("lang"); + assertNull("removed_item_null",districtAttr); + +} + + + + +function runTest() { + hc_elementremoveattributeaftercreate(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributenode.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributenode.js new file mode 100644 index 0000000..58bf730 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementremoveattributenode.js @@ -0,0 +1,119 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementremoveattributenode"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "removeAttributeNode(oldAttr)" method returns the + node that was removed. + + Retrieve the last child of the third employee and + remove its "class" Attr node. The method should + return the old attribute node. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D589198 +*/ +function hc_elementremoveattributenode() { + var success; + if(checkInitialization(builder, "hc_elementremoveattributenode") != null) return; + var doc; + var elementList; + var testEmployee; + var streetAttr; + var removedAttr; + var removedValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(2); + streetAttr = testEmployee.getAttributeNode("class"); + removedAttr = testEmployee.removeAttributeNode(streetAttr); + assertNotNull("removedAttrNotNull",removedAttr); +removedValue = removedAttr.value; + + assertEquals("elementRemoveAttributeNodeAssert","No",removedValue); + +} + + + + +function runTest() { + hc_elementremoveattributenode(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceattributewithself.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceattributewithself.js new file mode 100644 index 0000000..14b1f7d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceattributewithself.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementreplaceattributewithself"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +This test calls setAttributeNode to replace an attribute with itself. +Since the node is not an attribute of another Element, it would +be inappropriate to throw an INUSE_ATTRIBUTE_ERR. + +This test was derived from elementinuserattributeerr which +inadvertanly made this test. + +* @author Curt Arnold +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154 +*/ +function hc_elementreplaceattributewithself() { + var success; + if(checkInitialization(builder, "hc_elementreplaceattributewithself") != null) return; + var doc; + var elementList; + var testEmployee; + var streetAttr; + var replacedAttr; + var value; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(2); + streetAttr = testEmployee.getAttributeNode("class"); + replacedAttr = testEmployee.setAttributeNode(streetAttr); + assertSame("replacedAttr",streetAttr,replacedAttr); + +} + + + + +function runTest() { + hc_elementreplaceattributewithself(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattribute.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattribute.js new file mode 100644 index 0000000..949ac3b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattribute.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementreplaceexistingattribute"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "setAttributeNode(newAttr)" method adds a new + attribute to the Element. If the "newAttr" Attr node is + already present in this element, it should replace the + existing one. + + Retrieve the last child of the third employee and add a + new attribute node by invoking the "setAttributeNode(new + Attr)" method. The new attribute node to be added is + "class", which is already present in this element. The + method should replace the existing Attr node with the + new one. This test uses the "createAttribute(name)" + method from the Document interface. + +* @author Curt Arnold +*/ +function hc_elementreplaceexistingattribute() { + var success; + if(checkInitialization(builder, "hc_elementreplaceexistingattribute") != null) return; + var doc; + var elementList; + var testEmployee; + var newAttribute; + var strong; + var setAttr; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(2); + newAttribute = doc.createAttribute("class"); + setAttr = testEmployee.setAttributeNode(newAttribute); + strong = testEmployee.getAttribute("class"); + assertEquals("replacedValue","",strong); + +} + + + + +function runTest() { + hc_elementreplaceexistingattribute(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattributegevalue.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattributegevalue.js new file mode 100644 index 0000000..0318918 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementreplaceexistingattributegevalue.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementreplaceexistingattributegevalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +If the "setAttributeNode(newAttr)" method replaces an +existing Attr node with the same name, then it should +return the previously existing Attr node. + +Retrieve the last child of the third employee and add a +new attribute node. The new attribute node is "class", +which is already present in this Element. The method +should return the existing Attr node(old "class" Attr). +This test uses the "createAttribute(name)" method +from the Document interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154 +*/ +function hc_elementreplaceexistingattributegevalue() { + var success; + if(checkInitialization(builder, "hc_elementreplaceexistingattributegevalue") != null) return; + var doc; + var elementList; + var testEmployee; + var newAttribute; + var streetAttr; + var value; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(2); + newAttribute = doc.createAttribute("class"); + streetAttr = testEmployee.setAttributeNode(newAttribute); + assertNotNull("previousAttrNotNull",streetAttr); +value = streetAttr.value; + + assertEquals("previousAttrValue","No",value); + +} + + + + +function runTest() { + hc_elementreplaceexistingattributegevalue(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementsetattributenodenull.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementsetattributenodenull.js new file mode 100644 index 0000000..65db9d7 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementsetattributenodenull.js @@ -0,0 +1,120 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementsetattributenodenull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "setAttributeNode(newAttr)" method returns the + null value if no previously existing Attr node with the + same name was replaced. + + Retrieve the last child of the third employee and add a + new attribute to it. The new attribute node added is + "lang", which is not part of this Element. The + method should return the null value. + This test uses the "createAttribute(name)" + method from the Document interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 +*/ +function hc_elementsetattributenodenull() { + var success; + if(checkInitialization(builder, "hc_elementsetattributenodenull") != null) return; + var doc; + var elementList; + var testEmployee; + var newAttribute; + var districtAttr; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(2); + newAttribute = doc.createAttribute("lang"); + districtAttr = testEmployee.setAttributeNode(newAttribute); + assertNull("elementSetAttributeNodeNullAssert",districtAttr); + +} + + + + +function runTest() { + hc_elementsetattributenodenull(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementwrongdocumenterr.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementwrongdocumenterr.js new file mode 100644 index 0000000..e17340c --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_elementwrongdocumenterr.js @@ -0,0 +1,147 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_elementwrongdocumenterr"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var doc1Ref = null; + if (typeof(this.doc1) != 'undefined') { + doc1Ref = this.doc1; + } + docsLoaded += preload(doc1Ref, "doc1", "hc_staff"); + + var doc2Ref = null; + if (typeof(this.doc2) != 'undefined') { + doc2Ref = this.doc2; + } + docsLoaded += preload(doc2Ref, "doc2", "hc_staff"); + + if (docsLoaded == 2) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 2) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "setAttributeNode(newAttr)" method raises an + "WRONG_DOCUMENT_ERR DOMException if the "newAttr" + was created from a different document than the one that + created this document. + + Retrieve the last employee and attempt to set a new + attribute node for its "employee" element. The new + attribute was created from a document other than the + one that created this element, therefore a + WRONG_DOCUMENT_ERR DOMException should be raised. + + This test uses the "createAttribute(newAttr)" method + from the Document interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='WRONG_DOCUMENT_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-887236154')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='WRONG_DOCUMENT_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_elementwrongdocumenterr() { + var success; + if(checkInitialization(builder, "hc_elementwrongdocumenterr") != null) return; + var doc1; + var doc2; + var newAttribute; + var addressElementList; + var testAddress; + var attrAddress; + + var doc1Ref = null; + if (typeof(this.doc1) != 'undefined') { + doc1Ref = this.doc1; + } + doc1 = load(doc1Ref, "doc1", "hc_staff"); + + var doc2Ref = null; + if (typeof(this.doc2) != 'undefined') { + doc2Ref = this.doc2; + } + doc2 = load(doc2Ref, "doc2", "hc_staff"); + newAttribute = doc2.createAttribute("newAttribute"); + addressElementList = doc1.getElementsByTagName("acronym"); + testAddress = addressElementList.item(4); + + { + success = false; + try { + attrAddress = testAddress.setAttributeNode(newAttribute); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 4); + } + assertTrue("throw_WRONG_DOCUMENT_ERR",success); + } + +} + + + + +function runTest() { + hc_elementwrongdocumenterr(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapgetnameditem.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapgetnameditem.js new file mode 100644 index 0000000..f8f9478 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapgetnameditem.js @@ -0,0 +1,121 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapgetnameditem"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the second "p" element and create a NamedNodeMap + listing of the attributes of the last child. Once the + list is created an invocation of the "getNamedItem(name)" + method is done with name="title". This should result + in the title Attr node being returned. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1074577549 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html +*/ +function hc_namednodemapgetnameditem() { + var success; + if(checkInitialization(builder, "hc_namednodemapgetnameditem") != null) return; + var doc; + var elementList; + var testEmployee; + var attributes; + var domesticAttr; + var attrName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(1); + attributes = testEmployee.attributes; + + domesticAttr = attributes.getNamedItem("title"); + attrName = domesticAttr.name; + + assertEqualsAutoCase("attribute", "nodeName","title",attrName); + +} + + + + +function runTest() { + hc_namednodemapgetnameditem(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapinuseattributeerr.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapinuseattributeerr.js new file mode 100644 index 0000000..fdf0c15 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapinuseattributeerr.js @@ -0,0 +1,139 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapinuseattributeerr"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The "setNamedItem(arg)" method raises a +INUSE_ATTRIBUTE_ERR DOMException if "arg" is an +Attr that is already in an attribute of another Element. + +Create a NamedNodeMap object from the attributes of the +last child of the third employee and attempt to add +an attribute that is already being used by the first +employee. This should raise the desired exception. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INUSE_ATTRIBUTE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-1025163788')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INUSE_ATTRIBUTE_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_namednodemapinuseattributeerr() { + var success; + if(checkInitialization(builder, "hc_namednodemapinuseattributeerr") != null) return; + var doc; + var elementList; + var firstNode; + var testNode; + var attributes; + var domesticAttr; + var setAttr; + var setNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + firstNode = elementList.item(0); + domesticAttr = doc.createAttribute("title"); + domesticAttr.value = "Yα"; + + setAttr = firstNode.setAttributeNode(domesticAttr); + elementList = doc.getElementsByTagName("acronym"); + testNode = elementList.item(2); + attributes = testNode.attributes; + + + { + success = false; + try { + setNode = attributes.setNamedItem(domesticAttr); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 10); + } + assertTrue("throw_INUSE_ATTRIBUTE_ERR",success); + } + +} + + + + +function runTest() { + hc_namednodemapinuseattributeerr(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapnotfounderr.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapnotfounderr.js new file mode 100644 index 0000000..67467c3 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapnotfounderr.js @@ -0,0 +1,131 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapnotfounderr"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "removeNamedItem(name)" method raises a + NOT_FOUND_ERR DOMException if there is not a node + named "strong" in the map. + + Create a NamedNodeMap object from the attributes of the + last child of the third employee and attempt to remove + the "lang" attribute. There is not a node named + "lang" in the list and therefore the desired + exception should be raised. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INUSE_ATTRIBUTE_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D58B193 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-D58B193')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INUSE_ATTRIBUTE_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 +*/ +function hc_namednodemapnotfounderr() { + var success; + if(checkInitialization(builder, "hc_namednodemapnotfounderr") != null) return; + var doc; + var elementList; + var testEmployee; + var attributes; + var removedNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(2); + attributes = testEmployee.attributes; + + + { + success = false; + try { + removedNode = attributes.removeNamedItem("lang"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 8); + } + assertTrue("throw_NOT_FOUND_ERR",success); + } + +} + + + + +function runTest() { + hc_namednodemapnotfounderr(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapremovenameditem.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapremovenameditem.js new file mode 100644 index 0000000..1370fa9 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapremovenameditem.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapremovenameditem"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "removeNamedItem(name)" method removes a node + specified by name. + + Retrieve the third employee and create a NamedNodeMap + object of the attributes of the last child. Once the + list is created invoke the "removeNamedItem(name)" + method with name="class". This should result + in the removal of the specified attribute. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D58B193 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2002Mar/0002.html +*/ +function hc_namednodemapremovenameditem() { + var success; + if(checkInitialization(builder, "hc_namednodemapremovenameditem") != null) return; + var doc; + var elementList; + var newAttribute; + var testAddress; + var attributes; + var streetAttr; + var specified; + var removedNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddress = elementList.item(2); + attributes = testAddress.attributes; + + removedNode = attributes.removeNamedItem("class"); + streetAttr = attributes.getNamedItem("class"); + assertNull("isnull",streetAttr); + +} + + + + +function runTest() { + hc_namednodemapremovenameditem(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnattrnode.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnattrnode.js new file mode 100644 index 0000000..bfb396b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnattrnode.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapreturnattrnode"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the second p element and create a NamedNodeMap + listing of the attributes of the last child. Once the + list is created an invocation of the "getNamedItem(name)" + method is done with name="class". This should result + in the method returning an Attr node. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1074577549 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1112119403 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 +*/ +function hc_namednodemapreturnattrnode() { + var success; + if(checkInitialization(builder, "hc_namednodemapreturnattrnode") != null) return; + var doc; + var elementList; + var testEmployee; + var attributes; + var streetAttr; + var attrName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(1); + attributes = testEmployee.attributes; + + streetAttr = attributes.getNamedItem("class"); + assertInstanceOf("typeAssert","Attr",streetAttr); +attrName = streetAttr.nodeName; + + assertEqualsAutoCase("attribute", "nodeName","class",attrName); + attrName = streetAttr.name; + + assertEqualsAutoCase("attribute", "name","class",attrName); + +} + + + + +function runTest() { + hc_namednodemapreturnattrnode(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnfirstitem.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnfirstitem.js new file mode 100644 index 0000000..9b17c3f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnfirstitem.js @@ -0,0 +1,150 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapreturnfirstitem"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "item(index)" method returns the indexth item in + the map(test for first item). + + Retrieve the second "acronym" get the NamedNodeMap of the attributes. Since the + DOM does not specify an order of these nodes the contents + of the FIRST node can contain either "title", "class" or "dir". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=184 +*/ +function hc_namednodemapreturnfirstitem() { + var success; + if(checkInitialization(builder, "hc_namednodemapreturnfirstitem") != null) return; + var doc; + var elementList; + var testAddress; + var attributes; + var child; + var nodeName; + htmlExpected = new Array(); + htmlExpected[0] = "title"; + htmlExpected[1] = "class"; + + expected = new Array(); + expected[0] = "title"; + expected[1] = "class"; + expected[2] = "dir"; + + var actual = new Array(); + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddress = elementList.item(1); + attributes = testAddress.attributes; + + for(var indexN10070 = 0;indexN10070 < attributes.length; indexN10070++) { + child = attributes.item(indexN10070); + nodeName = child.nodeName; + + actual[actual.length] = nodeName; + + } + + if( + + (builder.contentType == "text/html") + + ) { + assertEqualsCollection("attrName_html",toLowerArray(htmlExpected),toLowerArray(actual)); + + } + + else { + assertEqualsCollection("attrName",expected,actual); + + } + +} + + + + +function runTest() { + hc_namednodemapreturnfirstitem(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnlastitem.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnlastitem.js new file mode 100644 index 0000000..90422c8 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnlastitem.js @@ -0,0 +1,152 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapreturnlastitem"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "item(index)" method returns the indexth item in + the map(test for last item). + + Retrieve the second "acronym" and get the attribute name. Since the + DOM does not specify an order of these nodes the contents + of the LAST node can contain either "title" or "class". + The test should return "true" if the LAST node is either + of these values. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=184 +*/ +function hc_namednodemapreturnlastitem() { + var success; + if(checkInitialization(builder, "hc_namednodemapreturnlastitem") != null) return; + var doc; + var elementList; + var testEmployee; + var attributes; + var child; + var nodeName; + htmlExpected = new Array(); + htmlExpected[0] = "title"; + htmlExpected[1] = "class"; + + expected = new Array(); + expected[0] = "title"; + expected[1] = "class"; + expected[2] = "dir"; + + var actual = new Array(); + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(1); + attributes = testEmployee.attributes; + + for(var indexN10070 = 0;indexN10070 < attributes.length; indexN10070++) { + child = attributes.item(indexN10070); + nodeName = child.nodeName; + + actual[actual.length] = nodeName; + + } + + if( + + (builder.contentType == "text/html") + + ) { + assertEqualsCollection("attrName_html",toLowerArray(htmlExpected),toLowerArray(actual)); + + } + + else { + assertEqualsCollection("attrName",expected,actual); + + } + +} + + + + +function runTest() { + hc_namednodemapreturnlastitem(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnnull.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnnull.js new file mode 100644 index 0000000..04cb17e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapreturnnull.js @@ -0,0 +1,121 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapreturnnull"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "getNamedItem(name)" method returns null of the + specified name did not identify any node in the map. + + Retrieve the second employee and create a NamedNodeMap + listing of the attributes of the last child. Once the + list is created an invocation of the "getNamedItem(name)" + method is done with name="lang". This name does not + match any names in the list therefore the method should + return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1074577549 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_namednodemapreturnnull() { + var success; + if(checkInitialization(builder, "hc_namednodemapreturnnull") != null) return; + var doc; + var elementList; + var testEmployee; + var attributes; + var districtNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testEmployee = elementList.item(1); + attributes = testEmployee.attributes; + + districtNode = attributes.getNamedItem("lang"); + assertNull("langAttrNull",districtNode); + +} + + + + +function runTest() { + hc_namednodemapreturnnull(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditem.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditem.js new file mode 100644 index 0000000..ffba08a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditem.js @@ -0,0 +1,131 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapsetnameditem"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the second "p" element and create a NamedNodeMap + object from the attributes of the last child by + invoking the "getAttributes()" method. Once the + list is created an invocation of the "setNamedItem(arg)" + method is done with arg=newAttr, where newAttr is a + new Attr Node previously created. The "setNamedItem(arg)" + method should add then new node to the NamedNodeItem + object by using its "nodeName" attribute("lang'). + This node is then retrieved using the "getNamedItem(name)" + method. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 +*/ +function hc_namednodemapsetnameditem() { + var success; + if(checkInitialization(builder, "hc_namednodemapsetnameditem") != null) return; + var doc; + var elementList; + var newAttribute; + var testAddress; + var attributes; + var districtNode; + var attrName; + var setNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddress = elementList.item(1); + newAttribute = doc.createAttribute("lang"); + attributes = testAddress.attributes; + + setNode = attributes.setNamedItem(newAttribute); + districtNode = attributes.getNamedItem("lang"); + attrName = districtNode.nodeName; + + assertEqualsAutoCase("attribute", "nodeName","lang",attrName); + +} + + + + +function runTest() { + hc_namednodemapsetnameditem(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemreturnvalue.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemreturnvalue.js new file mode 100644 index 0000000..0d82c40 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemreturnvalue.js @@ -0,0 +1,132 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapsetnameditemreturnvalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If the "setNamedItem(arg)" method replaces an already + existing node with the same name then the already + existing node is returned. + + Retrieve the third employee and create a NamedNodeMap + object from the attributes of the last child by + invoking the "getAttributes()" method. Once the + list is created an invocation of the "setNamedItem(arg)" + method is done with arg=newAttr, where newAttr is a + new Attr Node previously created and whose node name + already exists in the map. The "setNamedItem(arg)" + method should replace the already existing node with + the new one and return the existing node. + This test uses the "createAttribute(name)" method from + the document interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9 +*/ +function hc_namednodemapsetnameditemreturnvalue() { + var success; + if(checkInitialization(builder, "hc_namednodemapsetnameditemreturnvalue") != null) return; + var doc; + var elementList; + var newAttribute; + var testAddress; + var attributes; + var newNode; + var attrValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddress = elementList.item(2); + newAttribute = doc.createAttribute("class"); + attributes = testAddress.attributes; + + newNode = attributes.setNamedItem(newAttribute); + assertNotNull("previousAttrNotNull",newNode); +attrValue = newNode.nodeValue; + + assertEquals("previousAttrValue","No",attrValue); + +} + + + + +function runTest() { + hc_namednodemapsetnameditemreturnvalue(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemthatexists.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemthatexists.js new file mode 100644 index 0000000..7ba88c4 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemthatexists.js @@ -0,0 +1,134 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapsetnameditemthatexists"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If the node to be added by the "setNamedItem(arg)" method + already exists in the NamedNodeMap, it is replaced by + the new one. + + Retrieve the second employee and create a NamedNodeMap + object from the attributes of the last child by + invoking the "getAttributes()" method. Once the + list is created an invocation of the "setNamedItem(arg)" + method is done with arg=newAttr, where newAttr is a + new Attr Node previously created and whose node name + already exists in the map. The "setNamedItem(arg)" + method should replace the already existing node with + the new one. + This node is then retrieved using the "getNamedItem(name)" + method. This test uses the "createAttribute(name)" + method from the document interface + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9 +*/ +function hc_namednodemapsetnameditemthatexists() { + var success; + if(checkInitialization(builder, "hc_namednodemapsetnameditemthatexists") != null) return; + var doc; + var elementList; + var newAttribute; + var testAddress; + var attributes; + var districtNode; + var attrValue; + var setNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddress = elementList.item(1); + newAttribute = doc.createAttribute("class"); + attributes = testAddress.attributes; + + setNode = attributes.setNamedItem(newAttribute); + districtNode = attributes.getNamedItem("class"); + attrValue = districtNode.nodeValue; + + assertEquals("namednodemapSetNamedItemThatExistsAssert","",attrValue); + +} + + + + +function runTest() { + hc_namednodemapsetnameditemthatexists(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemwithnewvalue.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemwithnewvalue.js new file mode 100644 index 0000000..0ecee32 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapsetnameditemwithnewvalue.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapsetnameditemwithnewvalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + If the "setNamedItem(arg)" method does not replace an + existing node with the same name then it returns null. + + Retrieve the third employee and create a NamedNodeMap + object from the attributes of the last child. + Once the list is created the "setNamedItem(arg)" method + is invoked with arg=newAttr, where newAttr is a + newly created Attr Node and whose node name + already exists in the map. The "setNamedItem(arg)" + method should add the new node and return null. + This test uses the "createAttribute(name)" method from + the document interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243 +*/ +function hc_namednodemapsetnameditemwithnewvalue() { + var success; + if(checkInitialization(builder, "hc_namednodemapsetnameditemwithnewvalue") != null) return; + var doc; + var elementList; + var newAttribute; + var testAddress; + var attributes; + var newNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddress = elementList.item(2); + newAttribute = doc.createAttribute("lang"); + attributes = testAddress.attributes; + + newNode = attributes.setNamedItem(newAttribute); + assertNull("prevValueNull",newNode); + +} + + + + +function runTest() { + hc_namednodemapsetnameditemwithnewvalue(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapwrongdocumenterr.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapwrongdocumenterr.js new file mode 100644 index 0000000..bde21e4 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_namednodemapwrongdocumenterr.js @@ -0,0 +1,149 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_namednodemapwrongdocumenterr"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var doc1Ref = null; + if (typeof(this.doc1) != 'undefined') { + doc1Ref = this.doc1; + } + docsLoaded += preload(doc1Ref, "doc1", "hc_staff"); + + var doc2Ref = null; + if (typeof(this.doc2) != 'undefined') { + doc2Ref = this.doc2; + } + docsLoaded += preload(doc2Ref, "doc2", "hc_staff"); + + if (docsLoaded == 2) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 2) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "setNamedItem(arg)" method raises a + WRONG_DOCUMENT_ERR DOMException if "arg" was created + from a different document than the one that created + the NamedNodeMap. + + Create a NamedNodeMap object from the attributes of the + last child of the third employee and attempt to add + another Attr node to it that was created from a + different DOM document. This should raise the desired + exception. This method uses the "createAttribute(name)" + method from the Document interface. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='WRONG_DOCUMENT_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-1025163788')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='WRONG_DOCUMENT_ERR']) +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_namednodemapwrongdocumenterr() { + var success; + if(checkInitialization(builder, "hc_namednodemapwrongdocumenterr") != null) return; + var doc1; + var doc2; + var elementList; + var testAddress; + var attributes; + var newAttribute; + var strong; + var setNode; + + var doc1Ref = null; + if (typeof(this.doc1) != 'undefined') { + doc1Ref = this.doc1; + } + doc1 = load(doc1Ref, "doc1", "hc_staff"); + + var doc2Ref = null; + if (typeof(this.doc2) != 'undefined') { + doc2Ref = this.doc2; + } + doc2 = load(doc2Ref, "doc2", "hc_staff"); + elementList = doc1.getElementsByTagName("acronym"); + testAddress = elementList.item(2); + newAttribute = doc2.createAttribute("newAttribute"); + attributes = testAddress.attributes; + + + { + success = false; + try { + setNode = attributes.setNamedItem(newAttribute); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 4); + } + assertTrue("throw_WRONG_DOCUMENT_ERR",success); + } + +} + + + + +function runTest() { + hc_namednodemapwrongdocumenterr(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeappendchildinvalidnodetype.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeappendchildinvalidnodetype.js new file mode 100644 index 0000000..854d1c3 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeappendchildinvalidnodetype.js @@ -0,0 +1,130 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeappendchildinvalidnodetype"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "appendChild(newChild)" method raises a + HIERARCHY_REQUEST_ERR DOMException if this node is of + a type that does not allow children of the type "newChild" + to be inserted. + + Retrieve the root node and attempt to append a newly + created Attr node. An Element node cannot have children + of the "Attr" type, therefore the desired exception + should be raised. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='HIERARCHY_REQUEST_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-184E7107')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='HIERARCHY_REQUEST_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +*/ +function hc_nodeappendchildinvalidnodetype() { + var success; + if(checkInitialization(builder, "hc_nodeappendchildinvalidnodetype") != null) return; + var doc; + var rootNode; + var newChild; + var appendedChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + rootNode = doc.documentElement; + + newChild = doc.createAttribute("newAttribute"); + + { + success = false; + try { + appendedChild = rootNode.appendChild(newChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 3); + } + assertTrue("throw_HIERARCHY_REQUEST_ERR",success); + } + +} + + + + +function runTest() { + hc_nodeappendchildinvalidnodetype(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodename.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodename.js new file mode 100644 index 0000000..20b8e71 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodename.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeattributenodename"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Retrieve the Attribute named "title" from the last + child of the first p element and check the string returned + by the "getNodeName()" method. It should be equal to + "title". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=236 +*/ +function hc_nodeattributenodename() { + var success; + if(checkInitialization(builder, "hc_nodeattributenodename") != null) return; + var doc; + var elementList; + var testAddr; + var addrAttr; + var attrName; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddr = elementList.item(0); + addrAttr = testAddr.getAttributeNode("title"); + attrName = addrAttr.nodeName; + + assertEqualsAutoCase("attribute", "nodeName","title",attrName); + +} + + + + +function runTest() { + hc_nodeattributenodename(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodetype.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodetype.js new file mode 100644 index 0000000..41d7f10 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodetype.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeattributenodetype"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + + The "getNodeType()" method for an Attribute Node + + returns the constant value 2. + + + + Retrieve the first attribute from the last child of + + the first employee and invoke the "getNodeType()" + + method. The method should return 2. + + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558 +*/ +function hc_nodeattributenodetype() { + var success; + if(checkInitialization(builder, "hc_nodeattributenodetype") != null) return; + var doc; + var elementList; + var testAddr; + var addrAttr; + var nodeType; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddr = elementList.item(0); + addrAttr = testAddr.getAttributeNode("title"); + nodeType = addrAttr.nodeType; + + assertEquals("nodeAttrNodeTypeAssert1",2,nodeType); + +} + + + + +function runTest() { + hc_nodeattributenodetype(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodevalue.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodevalue.js new file mode 100644 index 0000000..679a9dd --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeattributenodevalue.js @@ -0,0 +1,118 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeattributenodevalue"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + + The string returned by the "getNodeValue()" method for an + Attribute Node is the value of the Attribute. + + Retrieve the Attribute named "title" from the last + child of the first "p" and check the string returned + by the "getNodeValue()" method. It should be equal to + "Yes". + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +*/ +function hc_nodeattributenodevalue() { + var success; + if(checkInitialization(builder, "hc_nodeattributenodevalue") != null) return; + var doc; + var elementList; + var testAddr; + var addrAttr; + var attrValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + elementList = doc.getElementsByTagName("acronym"); + testAddr = elementList.item(0); + addrAttr = testAddr.getAttributeNode("title"); + attrValue = addrAttr.nodeValue; + + assertEquals("nodeValue","Yes",attrValue); + +} + + + + +function runTest() { + hc_nodeattributenodevalue(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeinsertbeforeinvalidnodetype.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeinsertbeforeinvalidnodetype.js new file mode 100644 index 0000000..e467f33 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodeinsertbeforeinvalidnodetype.js @@ -0,0 +1,136 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodeinsertbeforeinvalidnodetype"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "insertBefore(newChild,refChild)" method raises a + HIERARCHY_REQUEST_ERR DOMException if this node is of + a type that does not allow children of the type "newChild" + to be inserted. + + Retrieve the root node and attempt to insert a newly + created Attr node. An Element node cannot have children + of the "Attr" type, therefore the desired exception + should be raised. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='HIERARCHY_REQUEST_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-952280727')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='HIERARCHY_REQUEST_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=406 +*/ +function hc_nodeinsertbeforeinvalidnodetype() { + var success; + if(checkInitialization(builder, "hc_nodeinsertbeforeinvalidnodetype") != null) return; + var doc; + var rootNode; + var newChild; + var elementList; + var refChild; + var insertedNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newChild = doc.createAttribute("title"); + elementList = doc.getElementsByTagName("p"); + refChild = elementList.item(1); + rootNode = refChild.parentNode; + + + { + success = false; + try { + insertedNode = rootNode.insertBefore(newChild,refChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 3); + } + assertTrue("throw_HIERARCHY_REQUEST_ERR",success); + } + +} + + + + +function runTest() { + hc_nodeinsertbeforeinvalidnodetype(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodereplacechildinvalidnodetype.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodereplacechildinvalidnodetype.js new file mode 100644 index 0000000..789f5cf --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodereplacechildinvalidnodetype.js @@ -0,0 +1,136 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodereplacechildinvalidnodetype"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The "replaceChild(newChild,oldChild)" method raises a + HIERARCHY_REQUEST_ERR DOMException if this node is of + a type that does not allow children of the type "newChild" + to be inserted. + + Retrieve the root node and attempt to replace + one of its children with a newly created Attr node. + An Element node cannot have children of the "Attr" + type, therefore the desired exception should be raised. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='HIERARCHY_REQUEST_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-785887307')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='HIERARCHY_REQUEST_ERR']) +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=247 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=406 +*/ +function hc_nodereplacechildinvalidnodetype() { + var success; + if(checkInitialization(builder, "hc_nodereplacechildinvalidnodetype") != null) return; + var doc; + var rootNode; + var newChild; + var elementList; + var oldChild; + var replacedChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + newChild = doc.createAttribute("lang"); + elementList = doc.getElementsByTagName("p"); + oldChild = elementList.item(1); + rootNode = oldChild.parentNode; + + + { + success = false; + try { + replacedChild = rootNode.replaceChild(newChild,oldChild); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 3); + } + assertTrue("throw_HIERARCHY_REQUEST_ERR",success); + } + +} + + + + +function runTest() { + hc_nodereplacechildinvalidnodetype(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodevalue03.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodevalue03.js new file mode 100644 index 0000000..e61671a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/core/obsolete/hc_nodevalue03.js @@ -0,0 +1,138 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodevalue03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hc_staff"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +An entity reference is created, setNodeValue is called with a non-null argument, but getNodeValue +should still return null. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-11C98490 +*/ +function hc_nodevalue03() { + var success; + if(checkInitialization(builder, "hc_nodevalue03") != null) return; + var doc; + var newNode; + var newValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hc_staff"); + + if( + + (builder.contentType == "text/html") + + ) { + + { + success = false; + try { + newNode = doc.createEntityReference("ent1"); + } + catch(ex) { + success = (typeof(ex.code) != 'undefined' && ex.code == 9); + } + assertTrue("throw_NOT_SUPPORTED_ERR",success); + } + + } + + else { + newNode = doc.createEntityReference("ent1"); + assertNotNull("createdEntRefNotNull",newNode); +newValue = newNode.nodeValue; + + assertNull("initiallyNull",newValue); + newNode.nodeValue = "This should have no effect"; + + newValue = newNode.nodeValue; + + assertNull("nullAfterAttemptedChange",newValue); + + } + +} + + + + +function runTest() { + hc_nodevalue03(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement01.js new file mode 100644 index 0000000..a9265cc --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement01.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The accessKey attribute is a single character access key to give + access to the form control. + + Retrieve the accessKey attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-89647724 +*/ +function HTMLAnchorElement01() { + var success; + if(checkInitialization(builder, "HTMLAnchorElement01") != null) return; + var nodeList; + var testNode; + var vaccesskey; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vaccesskey = testNode.accessKey; + + assertEquals("accessKeyLink","g",vaccesskey); + +} + + + + +function runTest() { + HTMLAnchorElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement04.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement04.js new file mode 100644 index 0000000..01e2e2d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement04.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The href attribute contains the URL of the linked resource. + + Retrieve the href attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88517319 +*/ +function HTMLAnchorElement04() { + var success; + if(checkInitialization(builder, "HTMLAnchorElement04") != null) return; + var nodeList; + var testNode; + var vhref; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vhref = testNode.href; + + assertURIEquals("hrefLink",null,null,null,"submit.gif",null,null,null,null,vhref); + +} + + + + +function runTest() { + HTMLAnchorElement04(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement05.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement05.js new file mode 100644 index 0000000..61ef509 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement05.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The hreflang attribute contains the language code of the linked resource. + + Retrieve the hreflang attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87358513 +*/ +function HTMLAnchorElement05() { + var success; + if(checkInitialization(builder, "HTMLAnchorElement05") != null) return; + var nodeList; + var testNode; + var vhreflink; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vhreflink = testNode.hreflang; + + assertEquals("hreflangLink","en",vhreflink); + +} + + + + +function runTest() { + HTMLAnchorElement05(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement07.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement07.js new file mode 100644 index 0000000..996450d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement07.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The rel attribute contains the forward link type. + + Retrieve the rel attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-3815891 +*/ +function HTMLAnchorElement07() { + var success; + if(checkInitialization(builder, "HTMLAnchorElement07") != null) return; + var nodeList; + var testNode; + var vrel; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vrel = testNode.rel; + + assertEquals("relLink","GLOSSARY",vrel); + +} + + + + +function runTest() { + HTMLAnchorElement07(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement10.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement10.js new file mode 100644 index 0000000..a64af76 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement10.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The tabIndex attribute contains an index that represents the elements + position in the tabbing order. + + Retrieve the tabIndex attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-41586466 +*/ +function HTMLAnchorElement10() { + var success; + if(checkInitialization(builder, "HTMLAnchorElement10") != null) return; + var nodeList; + var testNode; + var vtabindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtabindex = testNode.tabIndex; + + assertEquals("tabIndexLink",22,vtabindex); + +} + + + + +function runTest() { + HTMLAnchorElement10(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement11.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement11.js new file mode 100644 index 0000000..2c82789 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement11.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor2"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The target attribute specifies the frame to render the source in. + + Retrieve the target attribute and examine it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6414197 +*/ +function HTMLAnchorElement11() { + var success; + if(checkInitialization(builder, "HTMLAnchorElement11") != null) return; + var nodeList; + var testNode; + var vtarget; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor2"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtarget = testNode.target; + + assertEquals("targetLink","dynamic",vtarget); + +} + + + + +function runTest() { + HTMLAnchorElement11(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement12.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement12.js new file mode 100644 index 0000000..604cbcb --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement12.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The type attribute contains the advisory content model. + + Retrieve the type attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63938221 +*/ +function HTMLAnchorElement12() { + var success; + if(checkInitialization(builder, "HTMLAnchorElement12") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","image/gif",vtype); + +} + + + + +function runTest() { + HTMLAnchorElement12(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement13.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement13.js new file mode 100644 index 0000000..81f1ee6 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement13.js @@ -0,0 +1,107 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement13"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +HTMLAnchorElement.blur should surrender input focus. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-65068939 +*/ +function HTMLAnchorElement13() { + var success; + if(checkInitialization(builder, "HTMLAnchorElement13") != null) return; + var nodeList; + var testNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + testNode.blur(); + +} + + + + +function runTest() { + HTMLAnchorElement13(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement14.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement14.js new file mode 100644 index 0000000..f45f091 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAnchorElement14.js @@ -0,0 +1,107 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement14"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +HTMLAnchorElement.focus should capture input focus. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-47150313 +*/ +function HTMLAnchorElement14() { + var success; + if(checkInitialization(builder, "HTMLAnchorElement14") != null) return; + var nodeList; + var testNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + testNode.focus(); + +} + + + + +function runTest() { + HTMLAnchorElement14(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement01.js new file mode 100644 index 0000000..ef529b4 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement01.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAreaElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "area"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The accessKey attribute specifies a single character access key to + give access to the control form. + + Retrieve the accessKey attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-57944457 +*/ +function HTMLAreaElement01() { + var success; + if(checkInitialization(builder, "HTMLAreaElement01") != null) return; + var nodeList; + var testNode; + var vaccesskey; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "area"); + nodeList = doc.getElementsByTagName("area"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vaccesskey = testNode.accessKey; + + assertEquals("alignLink","a",vaccesskey); + +} + + + + +function runTest() { + HTMLAreaElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement02.js new file mode 100644 index 0000000..95cca4d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAreaElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "area"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The alt attribute specifies an alternate text for user agents not + rendering the normal content of this element. + + Retrieve the alt attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39775416 +*/ +function HTMLAreaElement02() { + var success; + if(checkInitialization(builder, "HTMLAreaElement02") != null) return; + var nodeList; + var testNode; + var valt; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "area"); + nodeList = doc.getElementsByTagName("area"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valt = testNode.alt; + + assertEquals("altLink","Domain",valt); + +} + + + + +function runTest() { + HTMLAreaElement02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement03.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement03.js new file mode 100644 index 0000000..0f2e564 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement03.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAreaElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "area"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The coords attribute specifies a comma-seperated list of lengths, + defining an active region geometry. + + Retrieve the coords attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-66021476 +*/ +function HTMLAreaElement03() { + var success; + if(checkInitialization(builder, "HTMLAreaElement03") != null) return; + var nodeList; + var testNode; + var vcoords; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "area"); + nodeList = doc.getElementsByTagName("area"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcoords = testNode.coords; + + assertEquals("coordsLink","0,2,45,45",vcoords); + +} + + + + +function runTest() { + HTMLAreaElement03(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement04.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement04.js new file mode 100644 index 0000000..2c1cd85 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement04.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAreaElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "area"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The href attribute specifies the URI of the linked resource. + + Retrieve the href attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-34672936 +*/ +function HTMLAreaElement04() { + var success; + if(checkInitialization(builder, "HTMLAreaElement04") != null) return; + var nodeList; + var testNode; + var vhref; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "area"); + nodeList = doc.getElementsByTagName("area"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vhref = testNode.href; + + assertURIEquals("hrefLink",null,null,null,"dletter.html",null,null,null,null,vhref); + +} + + + + +function runTest() { + HTMLAreaElement04(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement05.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement05.js new file mode 100644 index 0000000..d7e8c3a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement05.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAreaElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "area"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The noHref attribute specifies that this area is inactive. + + Retrieve the noHref attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-61826871 +*/ +function HTMLAreaElement05() { + var success; + if(checkInitialization(builder, "HTMLAreaElement05") != null) return; + var nodeList; + var testNode; + var vnohref; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "area"); + nodeList = doc.getElementsByTagName("area"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vnohref = testNode.noHref; + + assertFalse("noHrefLink",vnohref); + +} + + + + +function runTest() { + HTMLAreaElement05(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement06.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement06.js new file mode 100644 index 0000000..04e39eb --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement06.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAreaElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "area"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The shape attribute specifies the shape of the active area. + + Retrieve the shape attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-85683271 +*/ +function HTMLAreaElement06() { + var success; + if(checkInitialization(builder, "HTMLAreaElement06") != null) return; + var nodeList; + var testNode; + var vshape; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "area"); + nodeList = doc.getElementsByTagName("area"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vshape = testNode.shape; + + assertEquals("shapeLink","rect".toLowerCase(),vshape.toLowerCase()); + +} + + + + +function runTest() { + HTMLAreaElement06(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement07.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement07.js new file mode 100644 index 0000000..0324425 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement07.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAreaElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "area"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The tabIndex attribute specifies an index that represents the element's + position in the tabbing order. + + Retrieve the tabIndex attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-8722121 +*/ +function HTMLAreaElement07() { + var success; + if(checkInitialization(builder, "HTMLAreaElement07") != null) return; + var nodeList; + var testNode; + var vtabindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "area"); + nodeList = doc.getElementsByTagName("area"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtabindex = testNode.tabIndex; + + assertEquals("tabIndexLink",10,vtabindex); + +} + + + + +function runTest() { + HTMLAreaElement07(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement08.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement08.js new file mode 100644 index 0000000..6ae1dde --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLAreaElement08.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAreaElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "area2"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The target specifies the frame to render the resource in. + + Retrieve the target attribute and examine it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-46054682 +*/ +function HTMLAreaElement08() { + var success; + if(checkInitialization(builder, "HTMLAreaElement08") != null) return; + var nodeList; + var testNode; + var vtarget; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "area2"); + nodeList = doc.getElementsByTagName("area"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtarget = testNode.target; + + assertEquals("targetLink","dynamic",vtarget); + +} + + + + +function runTest() { + HTMLAreaElement08(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement01.js new file mode 100644 index 0000000..b78f113 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement01.js @@ -0,0 +1,116 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLButtonElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns the FORM element containing this control. + + Retrieve the form attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71254493 +*/ +function HTMLButtonElement01() { + var success; + if(checkInitialization(builder, "HTMLButtonElement01") != null) return; + var nodeList; + var testNode; + var fNode; + var vform; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + fNode = testNode.form; + + vform = fNode.id; + + assertEquals("formLink","form2",vform); + +} + + + + +function runTest() { + HTMLButtonElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement02.js new file mode 100644 index 0000000..d603116 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLButtonElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns null if control in not within the context of + form. + + Retrieve the form attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71254493 +*/ +function HTMLButtonElement02() { + var success; + if(checkInitialization(builder, "HTMLButtonElement02") != null) return; + var nodeList; + var testNode; + var vform; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vform = testNode.form; + + assertNull("formNullLink",vform); + +} + + + + +function runTest() { + HTMLButtonElement02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement03.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement03.js new file mode 100644 index 0000000..80f2a82 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement03.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLButtonElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The accessKey attribute returns a single character access key to + give access to the form control. + + Retrieve the accessKey attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-73169431 +*/ +function HTMLButtonElement03() { + var success; + if(checkInitialization(builder, "HTMLButtonElement03") != null) return; + var nodeList; + var testNode; + var vaccesskey; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vaccesskey = testNode.accessKey; + + assertEquals("accessKeyLink","f",vaccesskey); + +} + + + + +function runTest() { + HTMLButtonElement03(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement04.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement04.js new file mode 100644 index 0000000..f21d7a5 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement04.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLButtonElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The disabled attribute specifies whether the control is unavailable + in this context. + + Retrieve the disabled attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-92757155 +*/ +function HTMLButtonElement04() { + var success; + if(checkInitialization(builder, "HTMLButtonElement04") != null) return; + var nodeList; + var testNode; + var vdisabled; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vdisabled = testNode.disabled; + + assertTrue("disabledLink",vdisabled); + +} + + + + +function runTest() { + HTMLButtonElement04(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement05.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement05.js new file mode 100644 index 0000000..753b536 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement05.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLButtonElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The name attribute is the form control or object name when submitted + with a form. + + Retrieve the name attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-11029910 +*/ +function HTMLButtonElement05() { + var success; + if(checkInitialization(builder, "HTMLButtonElement05") != null) return; + var nodeList; + var testNode; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vname = testNode.name; + + assertEquals("nameLink","disabledButton",vname); + +} + + + + +function runTest() { + HTMLButtonElement05(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement06.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement06.js new file mode 100644 index 0000000..9ece4a2 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement06.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLButtonElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The tabIndex attribute specifies an index that represents the element's + position in the tabbing order. + + Retrieve the tabIndex attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39190908 +*/ +function HTMLButtonElement06() { + var success; + if(checkInitialization(builder, "HTMLButtonElement06") != null) return; + var nodeList; + var testNode; + var vtabindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vtabindex = testNode.tabIndex; + + assertEquals("tabIndexLink",20,vtabindex); + +} + + + + +function runTest() { + HTMLButtonElement06(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement07.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement07.js new file mode 100644 index 0000000..94e674e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement07.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLButtonElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The type attribute specifies the type of button. + + Retrieve the type attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-27430092 +*/ +function HTMLButtonElement07() { + var success; + if(checkInitialization(builder, "HTMLButtonElement07") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","reset",vtype); + +} + + + + +function runTest() { + HTMLButtonElement07(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement08.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement08.js new file mode 100644 index 0000000..316bf15 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLButtonElement08.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLButtonElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The value attribute specifies the current control value. + + Retrieve the value attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-72856782 +*/ +function HTMLButtonElement08() { + var success; + if(checkInitialization(builder, "HTMLButtonElement08") != null) return; + var nodeList; + var testNode; + var vvalue; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vvalue = testNode.value; + + assertEquals("valueLink","Reset Disabled Button",vvalue); + +} + + + + +function runTest() { + HTMLButtonElement08(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument01.js new file mode 100644 index 0000000..57ce0ab --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument01.js @@ -0,0 +1,109 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute is the specified title as a string. + + Retrieve the title attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-18446827 +*/ +function HTMLDocument01() { + var success; + if(checkInitialization(builder, "HTMLDocument01") != null) return; + var nodeList; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + vtitle = doc.title; + + assertEquals("titleLink","NIST DOM HTML Test - DOCUMENT",vtitle); + +} + + + + +function runTest() { + HTMLDocument01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument05.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument05.js new file mode 100644 index 0000000..cbbd213 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument05.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The body attribute is the element that contains the content for the + document. + + Retrieve the body attribute and examine its value for the id attribute. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-56360201 +*/ +function HTMLDocument05() { + var success; + if(checkInitialization(builder, "HTMLDocument05") != null) return; + var nodeList; + var testNode; + var vbody; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + vbody = doc.body; + + vid = vbody.id; + + assertEquals("idLink","TEST-BODY",vid); + +} + + + + +function runTest() { + HTMLDocument05(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument15.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument15.js new file mode 100644 index 0000000..f60d2b7 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument15.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument15"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The getElementById method returns the Element whose id is given by + elementId. If no such element exists, returns null. + + Retrieve the element whose id is "mapid". + Check the value of the element. + + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-36113835 +* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-26809268 +* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-getElBId +*/ +function HTMLDocument15() { + var success; + if(checkInitialization(builder, "HTMLDocument15") != null) return; + var elementNode; + var elementValue; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + elementNode = doc.getElementById("mapid"); + elementValue = elementNode.nodeName; + + assertEqualsAutoCase("element", "elementId","map",elementValue); + +} + + + + +function runTest() { + HTMLDocument15(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument16.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument16.js new file mode 100644 index 0000000..a6c0543 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument16.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument16"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The getElementById method returns the Element whose id is given by + elementId. If no such element exists, returns null. + + Retrieve the element whose id is "noid". + The value returned should be null since there are not any elements with + an id of "noid". + + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-36113835 +* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-26809268 +* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-getElBId +*/ +function HTMLDocument16() { + var success; + if(checkInitialization(builder, "HTMLDocument16") != null) return; + var elementNode; + var elementValue; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + elementNode = doc.getElementById("noid"); + assertNull("elementId",elementNode); + +} + + + + +function runTest() { + HTMLDocument16(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument17.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument17.js new file mode 100644 index 0000000..e9226e1 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument17.js @@ -0,0 +1,119 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument17"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Clears the current document using HTMLDocument.open immediately followed by close. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-72161170 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98948567 +*/ +function HTMLDocument17() { + var success; + if(checkInitialization(builder, "HTMLDocument17") != null) return; + var doc; + var bodyElem; + var bodyChild; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + doc.open(); + doc.close(); + bodyElem = doc.body; + + + if( + + (bodyElem != null) + + ) { + bodyChild = bodyElem.firstChild; + + assertNull("bodyContainsChildren",bodyChild); + + } + +} + + + + +function runTest() { + HTMLDocument17(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument18.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument18.js new file mode 100644 index 0000000..254593e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument18.js @@ -0,0 +1,102 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument18"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Calls HTMLDocument.close on a document that has not been opened for modification. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98948567 +*/ +function HTMLDocument18() { + var success; + if(checkInitialization(builder, "HTMLDocument18") != null) return; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + doc.close(); + +} + + + + +function runTest() { + HTMLDocument18(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument19.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument19.js new file mode 100644 index 0000000..7137836 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument19.js @@ -0,0 +1,129 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument19"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Replaces the current document with a valid HTML document using HTMLDocument.open, write and close. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-72161170 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98948567 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75233634 +*/ +function HTMLDocument19() { + var success; + if(checkInitialization(builder, "HTMLDocument19") != null) return; + var doc; + var docElem; + var title; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + doc.open(); + + if( + + (builder.contentType == "text/html") + + ) { + doc.write(""); + + } + + else { + doc.write(""); + + } + doc.write(""); + doc.write("Replacement"); + doc.write(""); + doc.write("

    "); + doc.write("Hello, World."); + doc.write("

    "); + doc.write(""); + doc.write(""); + doc.close(); + +} + + + + +function runTest() { + HTMLDocument19(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument20.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument20.js new file mode 100644 index 0000000..38bb598 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument20.js @@ -0,0 +1,129 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument20"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Replaces the current document with a valid HTML document using HTMLDocument.open, writeln and close. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-72161170 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98948567 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-35318390 +*/ +function HTMLDocument20() { + var success; + if(checkInitialization(builder, "HTMLDocument20") != null) return; + var doc; + var docElem; + var title; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + doc.open(); + + if( + + (builder.contentType == "text/html") + + ) { + doc.writeln(""); + + } + + else { + doc.writeln(""); + + } + doc.writeln(""); + doc.writeln("Replacement"); + doc.writeln(""); + doc.writeln("

    "); + doc.writeln("Hello, World."); + doc.writeln("

    "); + doc.writeln(""); + doc.writeln(""); + doc.close(); + +} + + + + +function runTest() { + HTMLDocument20(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument21.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument21.js new file mode 100644 index 0000000..52f94df --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLDocument21.js @@ -0,0 +1,138 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument21"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Replaces the current document checks that writeln adds a new line. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-72161170 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98948567 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75233634 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-35318390 +*/ +function HTMLDocument21() { + var success; + if(checkInitialization(builder, "HTMLDocument21") != null) return; + var doc; + var docElem; + var preElems; + var preElem; + var preText; + var preValue; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + doc.open(); + + if( + + (builder.contentType == "text/html") + + ) { + doc.writeln(""); + + } + + else { + doc.writeln(""); + + } + doc.writeln(""); + doc.writeln("Replacement"); + doc.writeln(""); + doc.write("
    ");
    +      doc.writeln("Hello, World.");
    +      doc.writeln("Hello, World.");
    +      doc.writeln("
    "); + doc.write("
    ");
    +      doc.write("Hello, World.");
    +      doc.write("Hello, World.");
    +      doc.writeln("
    "); + doc.writeln(""); + doc.writeln(""); + doc.close(); + +} + + + + +function runTest() { + HTMLDocument21(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement01.js new file mode 100644 index 0000000..e9c3c43 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the HEAD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement01() { + var success; + if(checkInitialization(builder, "HTMLElement01") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("head"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-HEAD",vid); + +} + + + + +function runTest() { + HTMLElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement02.js new file mode 100644 index 0000000..8af6509 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement02.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the SUB element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement02() { + var success; + if(checkInitialization(builder, "HTMLElement02") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("sub"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-SUB",vid); + +} + + + + +function runTest() { + HTMLElement02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement03.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement03.js new file mode 100644 index 0000000..c9a9da2 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement03.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the SUP element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement03() { + var success; + if(checkInitialization(builder, "HTMLElement03") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("sup"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-SUP",vid); + +} + + + + +function runTest() { + HTMLElement03(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement04.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement04.js new file mode 100644 index 0000000..bb6af3a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement04.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the SPAN element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement04() { + var success; + if(checkInitialization(builder, "HTMLElement04") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("span"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-SPAN",vid); + +} + + + + +function runTest() { + HTMLElement04(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement05.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement05.js new file mode 100644 index 0000000..056d122 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement05.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the BDO element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement05() { + var success; + if(checkInitialization(builder, "HTMLElement05") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("bdo"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-BDO",vid); + +} + + + + +function runTest() { + HTMLElement05(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement06.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement06.js new file mode 100644 index 0000000..80434d0 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement06.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the TT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement06() { + var success; + if(checkInitialization(builder, "HTMLElement06") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("tt"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-TT",vid); + +} + + + + +function runTest() { + HTMLElement06(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement07.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement07.js new file mode 100644 index 0000000..c18742c --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement07.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the I element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement07() { + var success; + if(checkInitialization(builder, "HTMLElement07") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("i"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-I",vid); + +} + + + + +function runTest() { + HTMLElement07(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement08.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement08.js new file mode 100644 index 0000000..0772de1 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement08.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the B element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement08() { + var success; + if(checkInitialization(builder, "HTMLElement08") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("b"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-B",vid); + +} + + + + +function runTest() { + HTMLElement08(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement09.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement09.js new file mode 100644 index 0000000..fab7c70 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement09.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the U element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement09() { + var success; + if(checkInitialization(builder, "HTMLElement09") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("u"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-U",vid); + +} + + + + +function runTest() { + HTMLElement09(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement10.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement10.js new file mode 100644 index 0000000..4c7cf44 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement10.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the S element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement10() { + var success; + if(checkInitialization(builder, "HTMLElement10") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("s"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-S",vid); + +} + + + + +function runTest() { + HTMLElement10(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement100.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement100.js new file mode 100644 index 0000000..cb483aa --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement100.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement100"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the SMALL element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement100() { + var success; + if(checkInitialization(builder, "HTMLElement100") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("small"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement100(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement101.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement101.js new file mode 100644 index 0000000..544027c --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement101.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement101"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the EM element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement101() { + var success; + if(checkInitialization(builder, "HTMLElement101") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("em"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement101(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement102.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement102.js new file mode 100644 index 0000000..674d54e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement102.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement102"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the STRONG element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement102() { + var success; + if(checkInitialization(builder, "HTMLElement102") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("strong"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement102(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement103.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement103.js new file mode 100644 index 0000000..5d1e1b7 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement103.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement103"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the DFN element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement103() { + var success; + if(checkInitialization(builder, "HTMLElement103") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dfn"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement103(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement104.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement104.js new file mode 100644 index 0000000..9007dd7 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement104.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement104"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the CODE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement104() { + var success; + if(checkInitialization(builder, "HTMLElement104") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("code"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement104(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement105.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement105.js new file mode 100644 index 0000000..228ebf0 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement105.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement105"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the SAMP element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement105() { + var success; + if(checkInitialization(builder, "HTMLElement105") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("samp"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement105(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement106.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement106.js new file mode 100644 index 0000000..03c7706 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement106.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement106"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the KBD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement106() { + var success; + if(checkInitialization(builder, "HTMLElement106") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("kbd"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement106(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement107.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement107.js new file mode 100644 index 0000000..459db0a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement107.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement107"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the VAR element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement107() { + var success; + if(checkInitialization(builder, "HTMLElement107") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("var"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement107(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement108.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement108.js new file mode 100644 index 0000000..6a7bfd7 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement108.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement108"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the CITE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement108() { + var success; + if(checkInitialization(builder, "HTMLElement108") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("cite"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement108(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement109.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement109.js new file mode 100644 index 0000000..f4237b7 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement109.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement109"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the ACRONYM element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement109() { + var success; + if(checkInitialization(builder, "HTMLElement109") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("acronym"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement109(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement11.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement11.js new file mode 100644 index 0000000..6ba22ad --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement11.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the STRIKE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement11() { + var success; + if(checkInitialization(builder, "HTMLElement11") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("strike"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-STRIKE",vid); + +} + + + + +function runTest() { + HTMLElement11(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement110.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement110.js new file mode 100644 index 0000000..2a16af3 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement110.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement110"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the ABBR element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement110() { + var success; + if(checkInitialization(builder, "HTMLElement110") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("abbr"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement110(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement111.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement111.js new file mode 100644 index 0000000..4a0a562 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement111.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement111"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the DD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement111() { + var success; + if(checkInitialization(builder, "HTMLElement111") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dd"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement111(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement112.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement112.js new file mode 100644 index 0000000..c8c4f41 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement112.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement112"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the DT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement112() { + var success; + if(checkInitialization(builder, "HTMLElement112") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dt"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement112(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement113.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement113.js new file mode 100644 index 0000000..e7dde6f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement113.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement113"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the NOFRAMES element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement113() { + var success; + if(checkInitialization(builder, "HTMLElement113") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("noframes"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement113(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement114.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement114.js new file mode 100644 index 0000000..c51bd98 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement114.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement114"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the NOSCRIPT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement114() { + var success; + if(checkInitialization(builder, "HTMLElement114") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("noscript"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement114(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement115.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement115.js new file mode 100644 index 0000000..fdd9ba4 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement115.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement115"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the ADDRESS element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement115() { + var success; + if(checkInitialization(builder, "HTMLElement115") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("address"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement115(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement116.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement116.js new file mode 100644 index 0000000..9008915 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement116.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement116"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the CENTER element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement116() { + var success; + if(checkInitialization(builder, "HTMLElement116") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("center"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement116(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement117.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement117.js new file mode 100644 index 0000000..0ee8c6e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement117.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement117"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the HEAD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement117() { + var success; + if(checkInitialization(builder, "HTMLElement117") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("head"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","HEAD-class",vclassname); + +} + + + + +function runTest() { + HTMLElement117(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement118.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement118.js new file mode 100644 index 0000000..818a97d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement118.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement118"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the SUB element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement118() { + var success; + if(checkInitialization(builder, "HTMLElement118") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("sub"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","SUB-class",vclassname); + +} + + + + +function runTest() { + HTMLElement118(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement119.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement119.js new file mode 100644 index 0000000..58898f3 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement119.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement119"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the SUP element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement119() { + var success; + if(checkInitialization(builder, "HTMLElement119") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("sup"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","SUP-class",vclassname); + +} + + + + +function runTest() { + HTMLElement119(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement12.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement12.js new file mode 100644 index 0000000..59393fa --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement12.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the BIG element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement12() { + var success; + if(checkInitialization(builder, "HTMLElement12") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("big"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-BIG",vid); + +} + + + + +function runTest() { + HTMLElement12(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement120.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement120.js new file mode 100644 index 0000000..3298278 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement120.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement120"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the SPAN element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement120() { + var success; + if(checkInitialization(builder, "HTMLElement120") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("span"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","SPAN-class",vclassname); + +} + + + + +function runTest() { + HTMLElement120(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement121.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement121.js new file mode 100644 index 0000000..ef69745 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement121.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement121"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the BDO element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement121() { + var success; + if(checkInitialization(builder, "HTMLElement121") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("bdo"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","BDO-class",vclassname); + +} + + + + +function runTest() { + HTMLElement121(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement122.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement122.js new file mode 100644 index 0000000..4285f67 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement122.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement122"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the TT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement122() { + var success; + if(checkInitialization(builder, "HTMLElement122") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("tt"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","TT-class",vclassname); + +} + + + + +function runTest() { + HTMLElement122(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement123.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement123.js new file mode 100644 index 0000000..5381e18 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement123.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement123"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the I element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement123() { + var success; + if(checkInitialization(builder, "HTMLElement123") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("i"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","I-class",vclassname); + +} + + + + +function runTest() { + HTMLElement123(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement124.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement124.js new file mode 100644 index 0000000..15097e0 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement124.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement124"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the B element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement124() { + var success; + if(checkInitialization(builder, "HTMLElement124") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("b"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","B-class",vclassname); + +} + + + + +function runTest() { + HTMLElement124(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement125.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement125.js new file mode 100644 index 0000000..22af864 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement125.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement125"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the U element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement125() { + var success; + if(checkInitialization(builder, "HTMLElement125") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("u"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","U-class",vclassname); + +} + + + + +function runTest() { + HTMLElement125(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement126.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement126.js new file mode 100644 index 0000000..4026e7e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement126.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement126"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the S element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement126() { + var success; + if(checkInitialization(builder, "HTMLElement126") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("s"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","S-class",vclassname); + +} + + + + +function runTest() { + HTMLElement126(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement127.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement127.js new file mode 100644 index 0000000..b302bcf --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement127.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement127"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the STRIKE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement127() { + var success; + if(checkInitialization(builder, "HTMLElement127") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("strike"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","STRIKE-class",vclassname); + +} + + + + +function runTest() { + HTMLElement127(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement128.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement128.js new file mode 100644 index 0000000..490a3ea --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement128.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement128"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the BIG element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement128() { + var success; + if(checkInitialization(builder, "HTMLElement128") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("big"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","BIG-class",vclassname); + +} + + + + +function runTest() { + HTMLElement128(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement129.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement129.js new file mode 100644 index 0000000..0a46d87 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement129.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement129"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the SMALL element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement129() { + var success; + if(checkInitialization(builder, "HTMLElement129") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("small"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","SMALL-class",vclassname); + +} + + + + +function runTest() { + HTMLElement129(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement13.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement13.js new file mode 100644 index 0000000..6ff3486 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement13.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement13"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the SMALL element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement13() { + var success; + if(checkInitialization(builder, "HTMLElement13") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("small"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-SMALL",vid); + +} + + + + +function runTest() { + HTMLElement13(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement130.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement130.js new file mode 100644 index 0000000..f5a10fe --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement130.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement130"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the EM element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement130() { + var success; + if(checkInitialization(builder, "HTMLElement130") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("em"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","EM-class",vclassname); + +} + + + + +function runTest() { + HTMLElement130(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement131.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement131.js new file mode 100644 index 0000000..fff3d81 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement131.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement131"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the STRONG element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement131() { + var success; + if(checkInitialization(builder, "HTMLElement131") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("strong"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","STRONG-class",vclassname); + +} + + + + +function runTest() { + HTMLElement131(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement132.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement132.js new file mode 100644 index 0000000..6f617cd --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement132.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement132"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the DFN element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement132() { + var success; + if(checkInitialization(builder, "HTMLElement132") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dfn"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","DFN-class",vclassname); + +} + + + + +function runTest() { + HTMLElement132(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement133.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement133.js new file mode 100644 index 0000000..10ffd29 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement133.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement133"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the CODE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement133() { + var success; + if(checkInitialization(builder, "HTMLElement133") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("code"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","CODE-class",vclassname); + +} + + + + +function runTest() { + HTMLElement133(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement134.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement134.js new file mode 100644 index 0000000..2c452d2 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement134.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement134"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the SAMP element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement134() { + var success; + if(checkInitialization(builder, "HTMLElement134") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("samp"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","SAMP-class",vclassname); + +} + + + + +function runTest() { + HTMLElement134(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement135.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement135.js new file mode 100644 index 0000000..b726eb2 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement135.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement135"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the KBD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement135() { + var success; + if(checkInitialization(builder, "HTMLElement135") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("kbd"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","KBD-class",vclassname); + +} + + + + +function runTest() { + HTMLElement135(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement136.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement136.js new file mode 100644 index 0000000..b790ea0 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement136.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement136"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the VAR element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement136() { + var success; + if(checkInitialization(builder, "HTMLElement136") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("var"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","VAR-class",vclassname); + +} + + + + +function runTest() { + HTMLElement136(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement137.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement137.js new file mode 100644 index 0000000..44cc553 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement137.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement137"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the CITE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement137() { + var success; + if(checkInitialization(builder, "HTMLElement137") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("cite"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","CITE-class",vclassname); + +} + + + + +function runTest() { + HTMLElement137(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement138.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement138.js new file mode 100644 index 0000000..2a2df22 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement138.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement138"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the ACRONYM element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement138() { + var success; + if(checkInitialization(builder, "HTMLElement138") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("acronym"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","ACRONYM-class",vclassname); + +} + + + + +function runTest() { + HTMLElement138(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement139.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement139.js new file mode 100644 index 0000000..1ecef9a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement139.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement139"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the ABBR element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement139() { + var success; + if(checkInitialization(builder, "HTMLElement139") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("abbr"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","ABBR-class",vclassname); + +} + + + + +function runTest() { + HTMLElement139(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement14.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement14.js new file mode 100644 index 0000000..24c045b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement14.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement14"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the EM element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement14() { + var success; + if(checkInitialization(builder, "HTMLElement14") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("em"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-EM",vid); + +} + + + + +function runTest() { + HTMLElement14(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement140.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement140.js new file mode 100644 index 0000000..d9522c1 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement140.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement140"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the DD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement140() { + var success; + if(checkInitialization(builder, "HTMLElement140") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dd"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","DD-class",vclassname); + +} + + + + +function runTest() { + HTMLElement140(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement141.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement141.js new file mode 100644 index 0000000..ccd7acf --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement141.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement141"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the DT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement141() { + var success; + if(checkInitialization(builder, "HTMLElement141") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dt"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","DT-class",vclassname); + +} + + + + +function runTest() { + HTMLElement141(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement142.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement142.js new file mode 100644 index 0000000..9ba56ba --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement142.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement142"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the NOFRAMES element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement142() { + var success; + if(checkInitialization(builder, "HTMLElement142") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("noframes"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","NOFRAMES-class",vclassname); + +} + + + + +function runTest() { + HTMLElement142(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement143.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement143.js new file mode 100644 index 0000000..6fa2949 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement143.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement143"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the NOSCRIPT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement143() { + var success; + if(checkInitialization(builder, "HTMLElement143") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("noscript"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","NOSCRIPT-class",vclassname); + +} + + + + +function runTest() { + HTMLElement143(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement144.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement144.js new file mode 100644 index 0000000..0005aac --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement144.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement144"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the ADDRESS element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement144() { + var success; + if(checkInitialization(builder, "HTMLElement144") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("address"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","ADDRESS-class",vclassname); + +} + + + + +function runTest() { + HTMLElement144(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement145.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement145.js new file mode 100644 index 0000000..360b7f5 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement145.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement145"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The className attribute specifies the class attribute of the element. + + Retrieve the class attribute of the CENTER element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176 +*/ +function HTMLElement145() { + var success; + if(checkInitialization(builder, "HTMLElement145") != null) return; + var nodeList; + var testNode; + var vclassname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("center"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vclassname = testNode.className; + + assertEquals("classNameLink","CENTER-class",vclassname); + +} + + + + +function runTest() { + HTMLElement145(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement15.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement15.js new file mode 100644 index 0000000..d1a7937 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement15.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement15"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the STRONG element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement15() { + var success; + if(checkInitialization(builder, "HTMLElement15") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("strong"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-STRONG",vid); + +} + + + + +function runTest() { + HTMLElement15(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement16.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement16.js new file mode 100644 index 0000000..f4af647 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement16.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement16"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the DFN element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement16() { + var success; + if(checkInitialization(builder, "HTMLElement16") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dfn"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-DFN",vid); + +} + + + + +function runTest() { + HTMLElement16(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement17.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement17.js new file mode 100644 index 0000000..ac7623c --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement17.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement17"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the CODE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement17() { + var success; + if(checkInitialization(builder, "HTMLElement17") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("code"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-CODE",vid); + +} + + + + +function runTest() { + HTMLElement17(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement18.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement18.js new file mode 100644 index 0000000..4b35a26 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement18.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement18"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the SAMP element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement18() { + var success; + if(checkInitialization(builder, "HTMLElement18") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("samp"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-SAMP",vid); + +} + + + + +function runTest() { + HTMLElement18(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement19.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement19.js new file mode 100644 index 0000000..5482f26 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement19.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement19"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the KBD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement19() { + var success; + if(checkInitialization(builder, "HTMLElement19") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("kbd"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-KBD",vid); + +} + + + + +function runTest() { + HTMLElement19(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement20.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement20.js new file mode 100644 index 0000000..d50a352 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement20.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement20"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the VAR element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement20() { + var success; + if(checkInitialization(builder, "HTMLElement20") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("var"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-VAR",vid); + +} + + + + +function runTest() { + HTMLElement20(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement21.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement21.js new file mode 100644 index 0000000..a33c682 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement21.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement21"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the CITE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement21() { + var success; + if(checkInitialization(builder, "HTMLElement21") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("cite"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-CITE",vid); + +} + + + + +function runTest() { + HTMLElement21(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement22.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement22.js new file mode 100644 index 0000000..2c94717 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement22.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement22"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the ACRONYM element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement22() { + var success; + if(checkInitialization(builder, "HTMLElement22") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("acronym"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-ACRONYM",vid); + +} + + + + +function runTest() { + HTMLElement22(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement23.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement23.js new file mode 100644 index 0000000..9897a08 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement23.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement23"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the ABBR element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement23() { + var success; + if(checkInitialization(builder, "HTMLElement23") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("abbr"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-ABBR",vid); + +} + + + + +function runTest() { + HTMLElement23(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement24.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement24.js new file mode 100644 index 0000000..e7d45ef --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement24.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement24"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the DD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement24() { + var success; + if(checkInitialization(builder, "HTMLElement24") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dd"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-DD",vid); + +} + + + + +function runTest() { + HTMLElement24(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement25.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement25.js new file mode 100644 index 0000000..3129f44 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement25.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement25"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the DT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement25() { + var success; + if(checkInitialization(builder, "HTMLElement25") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dt"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-DT",vid); + +} + + + + +function runTest() { + HTMLElement25(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement26.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement26.js new file mode 100644 index 0000000..5eb2657 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement26.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement26"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the NOFRAMES element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement26() { + var success; + if(checkInitialization(builder, "HTMLElement26") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("noframes"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-NOFRAMES",vid); + +} + + + + +function runTest() { + HTMLElement26(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement27.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement27.js new file mode 100644 index 0000000..180cbc7 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement27.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement27"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the NOSCRIPT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement27() { + var success; + if(checkInitialization(builder, "HTMLElement27") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("noscript"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-NOSCRIPT",vid); + +} + + + + +function runTest() { + HTMLElement27(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement28.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement28.js new file mode 100644 index 0000000..d851c15 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement28.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement28"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the ADDRESS element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement28() { + var success; + if(checkInitialization(builder, "HTMLElement28") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("address"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-ADDRESS",vid); + +} + + + + +function runTest() { + HTMLElement28(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement29.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement29.js new file mode 100644 index 0000000..7612c4c --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement29.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement29"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id specifies the elements identifier. + + Retrieve the id attribute of the CENTER element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function HTMLElement29() { + var success; + if(checkInitialization(builder, "HTMLElement29") != null) return; + var nodeList; + var testNode; + var vid; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("center"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vid = testNode.id; + + assertEquals("idLink","Test-CENTER",vid); + +} + + + + +function runTest() { + HTMLElement29(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement30.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement30.js new file mode 100644 index 0000000..4eaa63b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement30.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement30"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the HEAD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement30() { + var success; + if(checkInitialization(builder, "HTMLElement30") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("head"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","HEAD Element",vtitle); + +} + + + + +function runTest() { + HTMLElement30(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement31.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement31.js new file mode 100644 index 0000000..b7fdc98 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement31.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement31"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the SUB element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement31() { + var success; + if(checkInitialization(builder, "HTMLElement31") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("sub"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","SUB Element",vtitle); + +} + + + + +function runTest() { + HTMLElement31(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement32.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement32.js new file mode 100644 index 0000000..b48c310 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement32.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement32"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the SUP element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement32() { + var success; + if(checkInitialization(builder, "HTMLElement32") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("sup"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","SUP Element",vtitle); + +} + + + + +function runTest() { + HTMLElement32(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement33.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement33.js new file mode 100644 index 0000000..4b6824f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement33.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement33"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the SPAN element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement33() { + var success; + if(checkInitialization(builder, "HTMLElement33") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("span"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","SPAN Element",vtitle); + +} + + + + +function runTest() { + HTMLElement33(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement34.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement34.js new file mode 100644 index 0000000..1340f7b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement34.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement34"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the BDO element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement34() { + var success; + if(checkInitialization(builder, "HTMLElement34") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("bdo"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","BDO Element",vtitle); + +} + + + + +function runTest() { + HTMLElement34(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement35.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement35.js new file mode 100644 index 0000000..4264639 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement35.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement35"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the TT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement35() { + var success; + if(checkInitialization(builder, "HTMLElement35") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("tt"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","TT Element",vtitle); + +} + + + + +function runTest() { + HTMLElement35(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement36.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement36.js new file mode 100644 index 0000000..5c10480 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement36.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement36"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the I element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement36() { + var success; + if(checkInitialization(builder, "HTMLElement36") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("i"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","I Element",vtitle); + +} + + + + +function runTest() { + HTMLElement36(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement37.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement37.js new file mode 100644 index 0000000..68dcf12 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement37.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement37"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the B element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement37() { + var success; + if(checkInitialization(builder, "HTMLElement37") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("b"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","B Element",vtitle); + +} + + + + +function runTest() { + HTMLElement37(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement38.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement38.js new file mode 100644 index 0000000..607ba1c --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement38.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement38"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the U element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement38() { + var success; + if(checkInitialization(builder, "HTMLElement38") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("u"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","U Element",vtitle); + +} + + + + +function runTest() { + HTMLElement38(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement39.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement39.js new file mode 100644 index 0000000..c85be70 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement39.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement39"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the S element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement39() { + var success; + if(checkInitialization(builder, "HTMLElement39") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("s"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","S Element",vtitle); + +} + + + + +function runTest() { + HTMLElement39(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement40.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement40.js new file mode 100644 index 0000000..0bd9f65 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement40.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement40"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the STRIKE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement40() { + var success; + if(checkInitialization(builder, "HTMLElement40") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("strike"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","STRIKE Element",vtitle); + +} + + + + +function runTest() { + HTMLElement40(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement41.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement41.js new file mode 100644 index 0000000..792e1f4 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement41.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement41"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the BIG element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement41() { + var success; + if(checkInitialization(builder, "HTMLElement41") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("big"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","BIG Element",vtitle); + +} + + + + +function runTest() { + HTMLElement41(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement42.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement42.js new file mode 100644 index 0000000..2dfb6b2 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement42.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement42"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the SMALL element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement42() { + var success; + if(checkInitialization(builder, "HTMLElement42") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("small"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","SMALL Element",vtitle); + +} + + + + +function runTest() { + HTMLElement42(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement43.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement43.js new file mode 100644 index 0000000..afa4cad --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement43.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement43"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the EM element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement43() { + var success; + if(checkInitialization(builder, "HTMLElement43") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("em"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","EM Element",vtitle); + +} + + + + +function runTest() { + HTMLElement43(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement44.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement44.js new file mode 100644 index 0000000..d327e32 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement44.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement44"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the STRONG element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement44() { + var success; + if(checkInitialization(builder, "HTMLElement44") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("strong"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","STRONG Element",vtitle); + +} + + + + +function runTest() { + HTMLElement44(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement45.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement45.js new file mode 100644 index 0000000..fbac213 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement45.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement45"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the DFN element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement45() { + var success; + if(checkInitialization(builder, "HTMLElement45") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dfn"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","DFN Element",vtitle); + +} + + + + +function runTest() { + HTMLElement45(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement46.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement46.js new file mode 100644 index 0000000..825fb8f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement46.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement46"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the CODE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement46() { + var success; + if(checkInitialization(builder, "HTMLElement46") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("code"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","CODE Element",vtitle); + +} + + + + +function runTest() { + HTMLElement46(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement47.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement47.js new file mode 100644 index 0000000..d5a3383 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement47.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement47"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the SAMP element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement47() { + var success; + if(checkInitialization(builder, "HTMLElement47") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("samp"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","SAMP Element",vtitle); + +} + + + + +function runTest() { + HTMLElement47(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement48.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement48.js new file mode 100644 index 0000000..4245e28 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement48.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement48"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the KBD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement48() { + var success; + if(checkInitialization(builder, "HTMLElement48") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("kbd"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","KBD Element",vtitle); + +} + + + + +function runTest() { + HTMLElement48(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement49.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement49.js new file mode 100644 index 0000000..0b4099b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement49.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement49"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the VAR element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement49() { + var success; + if(checkInitialization(builder, "HTMLElement49") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("var"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","VAR Element",vtitle); + +} + + + + +function runTest() { + HTMLElement49(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement50.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement50.js new file mode 100644 index 0000000..d1ebdf7 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement50.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement50"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the CITE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement50() { + var success; + if(checkInitialization(builder, "HTMLElement50") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("cite"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","CITE Element",vtitle); + +} + + + + +function runTest() { + HTMLElement50(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement51.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement51.js new file mode 100644 index 0000000..f512269 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement51.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement51"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the ACRONYM element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement51() { + var success; + if(checkInitialization(builder, "HTMLElement51") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("acronym"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","ACRONYM Element",vtitle); + +} + + + + +function runTest() { + HTMLElement51(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement52.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement52.js new file mode 100644 index 0000000..97ed7ce --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement52.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement52"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the ABBR element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement52() { + var success; + if(checkInitialization(builder, "HTMLElement52") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("abbr"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","ABBR Element",vtitle); + +} + + + + +function runTest() { + HTMLElement52(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement53.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement53.js new file mode 100644 index 0000000..c725643 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement53.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement53"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the DD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement53() { + var success; + if(checkInitialization(builder, "HTMLElement53") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dd"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","DD Element",vtitle); + +} + + + + +function runTest() { + HTMLElement53(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement54.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement54.js new file mode 100644 index 0000000..64859fe --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement54.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement54"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the DT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement54() { + var success; + if(checkInitialization(builder, "HTMLElement54") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dt"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","DT Element",vtitle); + +} + + + + +function runTest() { + HTMLElement54(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement55.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement55.js new file mode 100644 index 0000000..c5d6dfe --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement55.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement55"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the NOFRAMES element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement55() { + var success; + if(checkInitialization(builder, "HTMLElement55") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("noframes"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","NOFRAMES Element",vtitle); + +} + + + + +function runTest() { + HTMLElement55(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement56.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement56.js new file mode 100644 index 0000000..7f83399 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement56.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement56"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the NOSCRIPT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement56() { + var success; + if(checkInitialization(builder, "HTMLElement56") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("noscript"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","NOSCRIPT Element",vtitle); + +} + + + + +function runTest() { + HTMLElement56(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement57.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement57.js new file mode 100644 index 0000000..d9a2697 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement57.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement57"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the ADDRESS element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement57() { + var success; + if(checkInitialization(builder, "HTMLElement57") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("address"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","ADDRESS Element",vtitle); + +} + + + + +function runTest() { + HTMLElement57(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement58.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement58.js new file mode 100644 index 0000000..3716161 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement58.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement58"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The title attribute specifies the elements advisory title. + + Retrieve the title attribute of the CENTER element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800 +*/ +function HTMLElement58() { + var success; + if(checkInitialization(builder, "HTMLElement58") != null) return; + var nodeList; + var testNode; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("center"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vtitle = testNode.title; + + assertEquals("titleLink","CENTER Element",vtitle); + +} + + + + +function runTest() { + HTMLElement58(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement59.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement59.js new file mode 100644 index 0000000..9361262 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement59.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement59"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the HEAD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement59() { + var success; + if(checkInitialization(builder, "HTMLElement59") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("head"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement59(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement60.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement60.js new file mode 100644 index 0000000..c5de5ce --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement60.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement60"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the SUB element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement60() { + var success; + if(checkInitialization(builder, "HTMLElement60") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("sub"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement60(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement61.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement61.js new file mode 100644 index 0000000..acc368b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement61.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement61"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the SUP element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement61() { + var success; + if(checkInitialization(builder, "HTMLElement61") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("sup"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement61(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement62.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement62.js new file mode 100644 index 0000000..7c61525 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement62.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement62"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the SPAN element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement62() { + var success; + if(checkInitialization(builder, "HTMLElement62") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("span"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement62(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement63.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement63.js new file mode 100644 index 0000000..6b7d3d2 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement63.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement63"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the BDO element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement63() { + var success; + if(checkInitialization(builder, "HTMLElement63") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("bdo"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement63(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement64.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement64.js new file mode 100644 index 0000000..a9efc97 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement64.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement64"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the TT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement64() { + var success; + if(checkInitialization(builder, "HTMLElement64") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("tt"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement64(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement65.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement65.js new file mode 100644 index 0000000..9ad20a3 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement65.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement65"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the I element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement65() { + var success; + if(checkInitialization(builder, "HTMLElement65") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("i"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement65(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement66.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement66.js new file mode 100644 index 0000000..aa8539e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement66.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement66"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the B element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement66() { + var success; + if(checkInitialization(builder, "HTMLElement66") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("b"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement66(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement67.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement67.js new file mode 100644 index 0000000..5591270 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement67.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement67"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the U element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement67() { + var success; + if(checkInitialization(builder, "HTMLElement67") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("u"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement67(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement68.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement68.js new file mode 100644 index 0000000..3cecb74 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement68.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement68"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the S element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement68() { + var success; + if(checkInitialization(builder, "HTMLElement68") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("s"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement68(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement69.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement69.js new file mode 100644 index 0000000..f872bbc --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement69.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement69"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the STRIKE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement69() { + var success; + if(checkInitialization(builder, "HTMLElement69") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("strike"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement69(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement70.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement70.js new file mode 100644 index 0000000..25765c8 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement70.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement70"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the BIG element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement70() { + var success; + if(checkInitialization(builder, "HTMLElement70") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("big"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement70(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement71.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement71.js new file mode 100644 index 0000000..374a076 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement71.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement71"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the SMALL element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement71() { + var success; + if(checkInitialization(builder, "HTMLElement71") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("small"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement71(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement72.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement72.js new file mode 100644 index 0000000..2a4d6bf --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement72.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement72"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the EM element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement72() { + var success; + if(checkInitialization(builder, "HTMLElement72") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("em"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement72(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement73.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement73.js new file mode 100644 index 0000000..bb8d09d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement73.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement73"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the STRONG element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement73() { + var success; + if(checkInitialization(builder, "HTMLElement73") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("strong"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement73(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement74.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement74.js new file mode 100644 index 0000000..1a8355e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement74.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement74"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the DFN element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement74() { + var success; + if(checkInitialization(builder, "HTMLElement74") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dfn"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement74(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement75.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement75.js new file mode 100644 index 0000000..383cc45 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement75.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement75"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the CODE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement75() { + var success; + if(checkInitialization(builder, "HTMLElement75") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("code"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement75(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement76.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement76.js new file mode 100644 index 0000000..c6ae96c --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement76.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement76"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the SAMP element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement76() { + var success; + if(checkInitialization(builder, "HTMLElement76") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("samp"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement76(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement77.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement77.js new file mode 100644 index 0000000..e81fd64 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement77.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement77"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the KBD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement77() { + var success; + if(checkInitialization(builder, "HTMLElement77") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("kbd"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement77(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement78.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement78.js new file mode 100644 index 0000000..57379e9 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement78.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement78"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the VAR element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement78() { + var success; + if(checkInitialization(builder, "HTMLElement78") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("var"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement78(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement79.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement79.js new file mode 100644 index 0000000..950cd88 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement79.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement79"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the CITE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement79() { + var success; + if(checkInitialization(builder, "HTMLElement79") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("cite"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement79(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement80.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement80.js new file mode 100644 index 0000000..a8d8f7e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement80.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement80"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the ACRONYM element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement80() { + var success; + if(checkInitialization(builder, "HTMLElement80") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("acronym"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement80(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement81.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement81.js new file mode 100644 index 0000000..b32bd02 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement81.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement81"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the ABBR element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement81() { + var success; + if(checkInitialization(builder, "HTMLElement81") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("abbr"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement81(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement82.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement82.js new file mode 100644 index 0000000..95bc905 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement82.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement82"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the DD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement82() { + var success; + if(checkInitialization(builder, "HTMLElement82") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dd"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement82(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement83.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement83.js new file mode 100644 index 0000000..978178e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement83.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement83"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the DT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement83() { + var success; + if(checkInitialization(builder, "HTMLElement83") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("dt"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement83(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement84.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement84.js new file mode 100644 index 0000000..82424d2 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement84.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement84"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the NOFRAMES element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement84() { + var success; + if(checkInitialization(builder, "HTMLElement84") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("noframes"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement84(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement85.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement85.js new file mode 100644 index 0000000..4345c91 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement85.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement85"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the NOSCRIPT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement85() { + var success; + if(checkInitialization(builder, "HTMLElement85") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("noscript"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement85(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement86.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement86.js new file mode 100644 index 0000000..e451df9 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement86.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement86"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the ADDRESS element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement86() { + var success; + if(checkInitialization(builder, "HTMLElement86") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("address"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement86(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement87.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement87.js new file mode 100644 index 0000000..1ee2256 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement87.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement87"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The lang attribute specifies the language code defined in RFC 1766. + + Retrieve the lang attribute of the CENTER element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807 +*/ +function HTMLElement87() { + var success; + if(checkInitialization(builder, "HTMLElement87") != null) return; + var nodeList; + var testNode; + var vlang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("center"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vlang = testNode.lang; + + assertEquals("langLink","en",vlang); + +} + + + + +function runTest() { + HTMLElement87(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement88.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement88.js new file mode 100644 index 0000000..9d5851a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement88.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement88"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the HEAD element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement88() { + var success; + if(checkInitialization(builder, "HTMLElement88") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("head"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement88(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement89.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement89.js new file mode 100644 index 0000000..20b337d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement89.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement89"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the SUB element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement89() { + var success; + if(checkInitialization(builder, "HTMLElement89") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("sub"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement89(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement90.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement90.js new file mode 100644 index 0000000..bf60dd9 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement90.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement90"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the SUP element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement90() { + var success; + if(checkInitialization(builder, "HTMLElement90") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("sup"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement90(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement91.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement91.js new file mode 100644 index 0000000..5fd73af --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement91.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement91"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the SPAN element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement91() { + var success; + if(checkInitialization(builder, "HTMLElement91") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("span"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement91(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement92.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement92.js new file mode 100644 index 0000000..36be79b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement92.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement92"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the BDO element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement92() { + var success; + if(checkInitialization(builder, "HTMLElement92") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("bdo"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement92(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement93.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement93.js new file mode 100644 index 0000000..eab5171 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement93.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement93"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the TT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement93() { + var success; + if(checkInitialization(builder, "HTMLElement93") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("tt"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement93(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement94.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement94.js new file mode 100644 index 0000000..00ee75d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement94.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement94"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the I element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement94() { + var success; + if(checkInitialization(builder, "HTMLElement94") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("i"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement94(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement95.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement95.js new file mode 100644 index 0000000..5c89e6b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement95.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement95"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the B element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement95() { + var success; + if(checkInitialization(builder, "HTMLElement95") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("b"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement95(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement96.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement96.js new file mode 100644 index 0000000..eecad7b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement96.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement96"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the U element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement96() { + var success; + if(checkInitialization(builder, "HTMLElement96") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("u"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement96(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement97.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement97.js new file mode 100644 index 0000000..b383f5a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement97.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement97"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the S element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement97() { + var success; + if(checkInitialization(builder, "HTMLElement97") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("s"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement97(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement98.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement98.js new file mode 100644 index 0000000..19a60b0 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement98.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement98"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the STRIKE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement98() { + var success; + if(checkInitialization(builder, "HTMLElement98") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("strike"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement98(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement99.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement99.js new file mode 100644 index 0000000..8ea7258 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLElement99.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLElement99"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "element"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dir attribute specifies the base direction of directionally neutral text and the directionality of tables. + + Retrieve the dir attribute of the BIG element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740 +*/ +function HTMLElement99() { + var success; + if(checkInitialization(builder, "HTMLElement99") != null) return; + var nodeList; + var testNode; + var vdir; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "element"); + nodeList = doc.getElementsByTagName("big"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdir = testNode.dir; + + assertEquals("dirLink","ltr",vdir); + +} + + + + +function runTest() { + HTMLElement99(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement01.js new file mode 100644 index 0000000..c308420 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement01.js @@ -0,0 +1,116 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFieldSetElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "fieldset"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns the FORM element containing this control. + + Retrieve the form attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75392630 +*/ +function HTMLFieldSetElement01() { + var success; + if(checkInitialization(builder, "HTMLFieldSetElement01") != null) return; + var nodeList; + var testNode; + var vform; + var fNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "fieldset"); + nodeList = doc.getElementsByTagName("fieldset"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + fNode = testNode.form; + + vform = fNode.id; + + assertEquals("formLink","form2",vform); + +} + + + + +function runTest() { + HTMLFieldSetElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement02.js new file mode 100644 index 0000000..c63c92c --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFieldSetElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFieldSetElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "fieldset"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns null if control in not within the context of + form. + + Retrieve the form attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75392630 +*/ +function HTMLFieldSetElement02() { + var success; + if(checkInitialization(builder, "HTMLFieldSetElement02") != null) return; + var nodeList; + var testNode; + var vform; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "fieldset"); + nodeList = doc.getElementsByTagName("fieldset"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vform = testNode.form; + + assertNull("formNullLink",vform); + +} + + + + +function runTest() { + HTMLFieldSetElement02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFormElement03.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFormElement03.js new file mode 100644 index 0000000..a4b79bb --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFormElement03.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFormElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "form"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The id(name) attribute specifies the name of the form. + + Retrieve the id attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-22051454 +*/ +function HTMLFormElement03() { + var success; + if(checkInitialization(builder, "HTMLFormElement03") != null) return; + var nodeList; + var testNode; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "form"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vname = testNode.id; + + assertEquals("nameLink","form1",vname); + +} + + + + +function runTest() { + HTMLFormElement03(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFormElement04.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFormElement04.js new file mode 100644 index 0000000..1343e02 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFormElement04.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFormElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "form"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The acceptCharset attribute specifies the list of character sets + supported by the server. + + Retrieve the acceptCharset attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-19661795 +*/ +function HTMLFormElement04() { + var success; + if(checkInitialization(builder, "HTMLFormElement04") != null) return; + var nodeList; + var testNode; + var vacceptcharset; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "form"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vacceptcharset = testNode.acceptCharset; + + assertEquals("acceptCharsetLink","US-ASCII",vacceptcharset); + +} + + + + +function runTest() { + HTMLFormElement04(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFormElement05.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFormElement05.js new file mode 100644 index 0000000..ac05c42 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFormElement05.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFormElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "form"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The action attribute specifies the server-side form handler. + + Retrieve the action attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-74049184 +*/ +function HTMLFormElement05() { + var success; + if(checkInitialization(builder, "HTMLFormElement05") != null) return; + var nodeList; + var testNode; + var vaction; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "form"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vaction = testNode.action; + + assertURIEquals("actionLink",null,null,null,"getData.pl",null,null,null,null,vaction); + +} + + + + +function runTest() { + HTMLFormElement05(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFormElement06.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFormElement06.js new file mode 100644 index 0000000..d61fb0c --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFormElement06.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFormElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "form"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The enctype attribute specifies the content of the submitted form. + + Retrieve the enctype attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-84227810 +*/ +function HTMLFormElement06() { + var success; + if(checkInitialization(builder, "HTMLFormElement06") != null) return; + var nodeList; + var testNode; + var venctype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "form"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + venctype = testNode.enctype; + + assertEquals("enctypeLink","application/x-www-form-urlencoded",venctype); + +} + + + + +function runTest() { + HTMLFormElement06(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFormElement07.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFormElement07.js new file mode 100644 index 0000000..3516b4e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFormElement07.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFormElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "form"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The method attribute specifies the HTTP method used to submit the form. + + Retrieve the method attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-82545539 +*/ +function HTMLFormElement07() { + var success; + if(checkInitialization(builder, "HTMLFormElement07") != null) return; + var nodeList; + var testNode; + var vmethod; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "form"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vmethod = testNode.method; + + assertEquals("methodLink","post",vmethod); + +} + + + + +function runTest() { + HTMLFormElement07(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFormElement08.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFormElement08.js new file mode 100644 index 0000000..93655ba --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLFormElement08.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFormElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "form2"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The target attribute specifies the frame to render the resource in. + + Retrieve the target attribute and examine it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6512890 +*/ +function HTMLFormElement08() { + var success; + if(checkInitialization(builder, "HTMLFormElement08") != null) return; + var nodeList; + var testNode; + var vtarget; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "form2"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtarget = testNode.target; + + assertEquals("targetLink","dynamic",vtarget); + +} + + + + +function runTest() { + HTMLFormElement08(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement03.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement03.js new file mode 100644 index 0000000..7c3cf5d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement03.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIFrameElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "iframe"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The height attribute specifies the frame height. + + Retrieve the height attribute of the first IFRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-1678118 +*/ +function HTMLIFrameElement03() { + var success; + if(checkInitialization(builder, "HTMLIFrameElement03") != null) return; + var nodeList; + var testNode; + var vheight; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "iframe"); + nodeList = doc.getElementsByTagName("iframe"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vheight = testNode.height; + + assertEquals("heightLink","50",vheight); + +} + + + + +function runTest() { + HTMLIFrameElement03(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement07.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement07.js new file mode 100644 index 0000000..8eda1d9 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement07.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIFrameElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "iframe"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The name attribute specifies the frame name(object of the target + attribute). + + Retrieve the name attribute of the first IFRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96819659 +*/ +function HTMLIFrameElement07() { + var success; + if(checkInitialization(builder, "HTMLIFrameElement07") != null) return; + var nodeList; + var testNode; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "iframe"); + nodeList = doc.getElementsByTagName("iframe"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vname = testNode.name; + + assertEquals("nameLink","Iframe1",vname); + +} + + + + +function runTest() { + HTMLIFrameElement07(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement09.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement09.js new file mode 100644 index 0000000..05f227d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement09.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIFrameElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "iframe"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The src attribute specifies a URI designating the initial frame contents. + + Retrieve the src attribute of the first FRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-43933957 +*/ +function HTMLIFrameElement09() { + var success; + if(checkInitialization(builder, "HTMLIFrameElement09") != null) return; + var nodeList; + var testNode; + var vsrc; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "iframe"); + nodeList = doc.getElementsByTagName("iframe"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vsrc = testNode.src; + + assertURIEquals("srcLink",null,null,null,null,"right",null,null,null,vsrc); + +} + + + + +function runTest() { + HTMLIFrameElement09(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement10.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement10.js new file mode 100644 index 0000000..87df1f5 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLIFrameElement10.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIFrameElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "iframe"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The width attribute specifies the frame width. + + Retrieve the width attribute of the first IFRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-67133005 +*/ +function HTMLIFrameElement10() { + var success; + if(checkInitialization(builder, "HTMLIFrameElement10") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "iframe"); + nodeList = doc.getElementsByTagName("iframe"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vwidth = testNode.width; + + assertEquals("widthLink","60",vwidth); + +} + + + + +function runTest() { + HTMLIFrameElement10(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLImageElement05.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLImageElement05.js new file mode 100644 index 0000000..b11671f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLImageElement05.js @@ -0,0 +1,125 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "img"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The height attribute overrides the natural "height" of the image. Retrieve the height attribute and examine its value. + + This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-91561496 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 +*/ +function HTMLImageElement05() { + var success; + if(checkInitialization(builder, "HTMLImageElement05") != null) return; + var nodeList; + var testNode; + var vheight; + var doc; + var domImpl; + var hasHTML2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "img"); + domImpl = doc.implementation; +hasHTML2 = domImpl.hasFeature("HTML","2.0"); + + if( + + !hasHTML2 + ) { + nodeList = doc.getElementsByTagName("img"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vheight = testNode.height; + + assertEquals("heightLink","47",vheight); + + } + +} + + + + +function runTest() { + HTMLImageElement05(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLImageElement06.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLImageElement06.js new file mode 100644 index 0000000..babd977 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLImageElement06.js @@ -0,0 +1,128 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "img"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The hspace attribute specifies the horizontal space to the left and + right of this image. + + Retrieve the hspace attribute and examine its value. + + This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-53675471 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 +*/ +function HTMLImageElement06() { + var success; + if(checkInitialization(builder, "HTMLImageElement06") != null) return; + var nodeList; + var testNode; + var vhspace; + var doc; + var domImpl; + var hasHTML2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "img"); + domImpl = doc.implementation; +hasHTML2 = domImpl.hasFeature("HTML","2.0"); + + if( + + !hasHTML2 + ) { + nodeList = doc.getElementsByTagName("img"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vhspace = testNode.hspace; + + assertEquals("hspaceLink","4",vhspace); + + } + +} + + + + +function runTest() { + HTMLImageElement06(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLImageElement07.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLImageElement07.js new file mode 100644 index 0000000..0e7cd06 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLImageElement07.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "img"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The isMap attribute indicates the use of server-side image map. + + Retrieve the isMap attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-58983880 +*/ +function HTMLImageElement07() { + var success; + if(checkInitialization(builder, "HTMLImageElement07") != null) return; + var nodeList; + var testNode; + var vismap; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "img"); + nodeList = doc.getElementsByTagName("img"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vismap = testNode.isMap; + + assertFalse("isMapLink",vismap); + +} + + + + +function runTest() { + HTMLImageElement07(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLImageElement09.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLImageElement09.js new file mode 100644 index 0000000..c362b82 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLImageElement09.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "img"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The src attribute contains an URI designating the source of this image. + + Retrieve the src attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87762984 +*/ +function HTMLImageElement09() { + var success; + if(checkInitialization(builder, "HTMLImageElement09") != null) return; + var nodeList; + var testNode; + var vsrc; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "img"); + nodeList = doc.getElementsByTagName("img"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vsrc = testNode.src; + + assertURIEquals("srcLink",null,null,null,"dts.gif",null,null,null,null,vsrc); + +} + + + + +function runTest() { + HTMLImageElement09(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLImageElement11.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLImageElement11.js new file mode 100644 index 0000000..b21b839 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLImageElement11.js @@ -0,0 +1,128 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "img"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The vspace attribute specifies the vertical space above and below this + image. + + Retrieve the vspace attribute and examine its value. + + This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-85374897 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 +*/ +function HTMLImageElement11() { + var success; + if(checkInitialization(builder, "HTMLImageElement11") != null) return; + var nodeList; + var testNode; + var vvspace; + var doc; + var domImpl; + var hasHTML2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "img"); + domImpl = doc.implementation; +hasHTML2 = domImpl.hasFeature("HTML","2.0"); + + if( + + !hasHTML2 + ) { + nodeList = doc.getElementsByTagName("img"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vvspace = testNode.vspace; + + assertEquals("vspaceLink","10",vvspace); + + } + +} + + + + +function runTest() { + HTMLImageElement11(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLImageElement12.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLImageElement12.js new file mode 100644 index 0000000..ef8d61b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLImageElement12.js @@ -0,0 +1,127 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "img"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The width attribute overrides the natural "width" of the image. + + Retrieve the width attribute and examine its value. + + This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-13839076 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 +*/ +function HTMLImageElement12() { + var success; + if(checkInitialization(builder, "HTMLImageElement12") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + var domImpl; + var hasHTML2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "img"); + domImpl = doc.implementation; +hasHTML2 = domImpl.hasFeature("HTML","2.0"); + + if( + + !hasHTML2 + ) { + nodeList = doc.getElementsByTagName("img"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vwidth = testNode.width; + + assertEquals("widthLink","115",vwidth); + + } + +} + + + + +function runTest() { + HTMLImageElement12(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement01.js new file mode 100644 index 0000000..9dd8135 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement01.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The defaultValue attribute represents the HTML value of the attribute + when the type attribute has the value of "Text", "File" or "Password". + + Retrieve the defaultValue attribute of the 1st INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-26091157 +*/ +function HTMLInputElement01() { + var success; + if(checkInitialization(builder, "HTMLInputElement01") != null) return; + var nodeList; + var testNode; + var vdefaultvalue; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(0); + vdefaultvalue = testNode.defaultValue; + + assertEquals("defaultValueLink","Password",vdefaultvalue); + +} + + + + +function runTest() { + HTMLInputElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement02.js new file mode 100644 index 0000000..80257f5 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement02.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The defaultChecked attribute represents the HTML checked attribute of + the element when the type attribute has the value checkbox or radio. + + Retrieve the defaultValue attribute of the 4th INPUT element and + examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-20509171 +*/ +function HTMLInputElement02() { + var success; + if(checkInitialization(builder, "HTMLInputElement02") != null) return; + var nodeList; + var testNode; + var vdefaultchecked; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(3); + vdefaultchecked = testNode.defaultChecked; + + assertTrue("defaultCheckedLink",vdefaultchecked); + +} + + + + +function runTest() { + HTMLInputElement02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement03.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement03.js new file mode 100644 index 0000000..27a48c2 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement03.js @@ -0,0 +1,116 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns the FORM element containing this control. + + Retrieve the form attribute of the 1st INPUT element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63239895 +*/ +function HTMLInputElement03() { + var success; + if(checkInitialization(builder, "HTMLInputElement03") != null) return; + var nodeList; + var testNode; + var vform; + var fNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(0); + fNode = testNode.form; + + vform = fNode.id; + + assertEquals("formLink","form1",vform); + +} + + + + +function runTest() { + HTMLInputElement03(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement04.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement04.js new file mode 100644 index 0000000..3d32ebd --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement04.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The accept attribute is a comma-seperated list of content types that + a server processing this form will handle correctly. + + Retrieve the accept attribute of the 9th INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-15328520 +*/ +function HTMLInputElement04() { + var success; + if(checkInitialization(builder, "HTMLInputElement04") != null) return; + var nodeList; + var testNode; + var vaccept; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(8); + vaccept = testNode.accept; + + assertEquals("acceptLink","GIF,JPEG",vaccept); + +} + + + + +function runTest() { + HTMLInputElement04(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement05.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement05.js new file mode 100644 index 0000000..a9acc28 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement05.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The accessKey attribute is a single character access key to give access + to the form control. + + Retrieve the accessKey attribute of the 2nd INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59914154 +*/ +function HTMLInputElement05() { + var success; + if(checkInitialization(builder, "HTMLInputElement05") != null) return; + var nodeList; + var testNode; + var vaccesskey; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(1); + vaccesskey = testNode.accessKey; + + assertEquals("accesskeyLink","c",vaccesskey); + +} + + + + +function runTest() { + HTMLInputElement05(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement07.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement07.js new file mode 100644 index 0000000..27b046d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement07.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The alt attribute alternates text for user agents not rendering the + normal content of this element. + + Retrieve the alt attribute of the 1st INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-92701314 +*/ +function HTMLInputElement07() { + var success; + if(checkInitialization(builder, "HTMLInputElement07") != null) return; + var nodeList; + var testNode; + var valt; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(0); + valt = testNode.alt; + + assertEquals("altLink","Password entry",valt); + +} + + + + +function runTest() { + HTMLInputElement07(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement08.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement08.js new file mode 100644 index 0000000..f4aad49 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement08.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The checked attribute represents the current state of the corresponding + form control when type has the value Radio or Checkbox. + + Retrieve the accept attribute of the 3rd INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-30233917 +*/ +function HTMLInputElement08() { + var success; + if(checkInitialization(builder, "HTMLInputElement08") != null) return; + var nodeList; + var testNode; + var vchecked; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(2); + vchecked = testNode.checked; + + assertTrue("checkedLink",vchecked); + +} + + + + +function runTest() { + HTMLInputElement08(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement09.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement09.js new file mode 100644 index 0000000..5ec9a0e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement09.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The disabled attribute has a TRUE value if it is explicitly set. + + Retrieve the disabled attribute of the 7th INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-50886781 +*/ +function HTMLInputElement09() { + var success; + if(checkInitialization(builder, "HTMLInputElement09") != null) return; + var nodeList; + var testNode; + var vdisabled; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(6); + vdisabled = testNode.disabled; + + assertTrue("disabledLink",vdisabled); + +} + + + + +function runTest() { + HTMLInputElement09(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement10.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement10.js new file mode 100644 index 0000000..10564f6 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement10.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The maxLength attribute is the maximum number of text characters for text + fields, when type has the value of Text or Password. + + Retrieve the maxLenght attribute of the 1st INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-54719353 +*/ +function HTMLInputElement10() { + var success; + if(checkInitialization(builder, "HTMLInputElement10") != null) return; + var nodeList; + var testNode; + var vmaxlength; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(0); + vmaxlength = testNode.maxLength; + + assertEquals("maxlengthLink",5,vmaxlength); + +} + + + + +function runTest() { + HTMLInputElement10(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement11.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement11.js new file mode 100644 index 0000000..ff44902 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement11.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The name attribute is the form control or object name when submitted with + a form. + + Retrieve the name attribute of the 1st INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-89658498 +*/ +function HTMLInputElement11() { + var success; + if(checkInitialization(builder, "HTMLInputElement11") != null) return; + var nodeList; + var testNode; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(0); + vname = testNode.name; + + assertEquals("nameLink","Password",vname); + +} + + + + +function runTest() { + HTMLInputElement11(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement12.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement12.js new file mode 100644 index 0000000..30dac7e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement12.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The readOnly attribute indicates that this control is read-only when + type has a value of text or password only. + + Retrieve the readOnly attribute of the 1st INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88461592 +*/ +function HTMLInputElement12() { + var success; + if(checkInitialization(builder, "HTMLInputElement12") != null) return; + var nodeList; + var testNode; + var vreadonly; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(0); + vreadonly = testNode.readOnly; + + assertTrue("readonlyLink",vreadonly); + +} + + + + +function runTest() { + HTMLInputElement12(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement13.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement13.js new file mode 100644 index 0000000..2e82ba7 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement13.js @@ -0,0 +1,130 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement13"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The size attribute contains the size information. Its precise meaning + is specific to each type of field. + + Retrieve the size attribute of the 1st INPUT element and examine + its value. + + This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. + + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-79659438 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 +*/ +function HTMLInputElement13() { + var success; + if(checkInitialization(builder, "HTMLInputElement13") != null) return; + var nodeList; + var testNode; + var vsize; + var doc; + var domImpl; + var hasHTML2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + domImpl = doc.implementation; +hasHTML2 = domImpl.hasFeature("HTML","2.0"); + + if( + + !hasHTML2 + ) { + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(0); + vsize = testNode.size; + + assertEquals("sizeLink","25",vsize); + + } + +} + + + + +function runTest() { + HTMLInputElement13(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement14.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement14.js new file mode 100644 index 0000000..112fe07 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement14.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement14"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The src attribute specifies the location of the image to decorate the + graphical submit button when the type has the value Image. + + Retrieve the src attribute of the 8th INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-97320704 +*/ +function HTMLInputElement14() { + var success; + if(checkInitialization(builder, "HTMLInputElement14") != null) return; + var nodeList; + var testNode; + var vsrc; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(7); + vsrc = testNode.src; + + assertURIEquals("srcLink",null,null,null,"submit.gif",null,null,null,null,vsrc); + +} + + + + +function runTest() { + HTMLInputElement14(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement15.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement15.js new file mode 100644 index 0000000..2fd0c1d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement15.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement15"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The tabIndex attribute is an index that represents the elements position + in the tabbing order. + + Retrieve the tabIndex attribute of the 3rd INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-62176355 +*/ +function HTMLInputElement15() { + var success; + if(checkInitialization(builder, "HTMLInputElement15") != null) return; + var nodeList; + var testNode; + var vtabindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(2); + vtabindex = testNode.tabIndex; + + assertEquals("tabindexLink",9,vtabindex); + +} + + + + +function runTest() { + HTMLInputElement15(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement16.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement16.js new file mode 100644 index 0000000..335cf12 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement16.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement16"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The type attribute is the type of control created. + + Retrieve the type attribute of the 1st INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-62883744 +*/ +function HTMLInputElement16() { + var success; + if(checkInitialization(builder, "HTMLInputElement16") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","password",vtype); + +} + + + + +function runTest() { + HTMLInputElement16(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement18.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement18.js new file mode 100644 index 0000000..9d34ac1 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement18.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement18"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The value attribute is the current content of the corresponding form + control when the type attribute has the value Text, File or Password. + + Retrieve the value attribute of the 2nd INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-49531485 +*/ +function HTMLInputElement18() { + var success; + if(checkInitialization(builder, "HTMLInputElement18") != null) return; + var nodeList; + var testNode; + var vvalue; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(1); + vvalue = testNode.value; + + assertEquals("valueLink","ReHire",vvalue); + +} + + + + +function runTest() { + HTMLInputElement18(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement21.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement21.js new file mode 100644 index 0000000..cb7f7f4 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLInputElement21.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement21"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +HTMLInputElement.click should change the state of checked on a radio button. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-2651361 +*/ +function HTMLInputElement21() { + var success; + if(checkInitialization(builder, "HTMLInputElement21") != null) return; + var nodeList; + var testNode; + var doc; + var checked; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(1); + checked = testNode.checked; + + assertFalse("notCheckedBeforeClick",checked); +testNode.click(); + checked = testNode.checked; + + assertTrue("checkedAfterClick",checked); + +} + + + + +function runTest() { + HTMLInputElement21(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLIElement02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLIElement02.js new file mode 100644 index 0000000..bdaff41 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLIElement02.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLIElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "li"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The value attribute is a reset sequence number when used in OL. + + Retrieve the value attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-45496263 +*/ +function HTMLLIElement02() { + var success; + if(checkInitialization(builder, "HTMLLIElement02") != null) return; + var nodeList; + var testNode; + var vvalue; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "li"); + nodeList = doc.getElementsByTagName("li"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vvalue = testNode.value; + + assertEquals("valueLink",2,vvalue); + +} + + + + +function runTest() { + HTMLLIElement02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLabelElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLabelElement01.js new file mode 100644 index 0000000..927b3aa --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLabelElement01.js @@ -0,0 +1,116 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLabelElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "label"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns the FORM element containing this control. + + Retrieve the form attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-32480901 +*/ +function HTMLLabelElement01() { + var success; + if(checkInitialization(builder, "HTMLLabelElement01") != null) return; + var nodeList; + var testNode; + var vform; + var fNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "label"); + nodeList = doc.getElementsByTagName("label"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + fNode = testNode.form; + + vform = fNode.id; + + assertEquals("formLink","form1",vform); + +} + + + + +function runTest() { + HTMLLabelElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLabelElement02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLabelElement02.js new file mode 100644 index 0000000..f7c908b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLabelElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLabelElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "label"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns null if control in not within the context of + form. + + Retrieve the form attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-32480901 +*/ +function HTMLLabelElement02() { + var success; + if(checkInitialization(builder, "HTMLLabelElement02") != null) return; + var nodeList; + var testNode; + var vform; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "label"); + nodeList = doc.getElementsByTagName("label"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vform = testNode.form; + + assertNull("formNullLink",vform); + +} + + + + +function runTest() { + HTMLLabelElement02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLabelElement03.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLabelElement03.js new file mode 100644 index 0000000..380802d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLabelElement03.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLabelElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "label"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The accessKey attribute is a single character access key to give access + to the form control. + + Retrieve the accessKey attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-43589892 +*/ +function HTMLLabelElement03() { + var success; + if(checkInitialization(builder, "HTMLLabelElement03") != null) return; + var nodeList; + var testNode; + var vaccesskey; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "label"); + nodeList = doc.getElementsByTagName("label"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vaccesskey = testNode.accessKey; + + assertEquals("accesskeyLink","b",vaccesskey); + +} + + + + +function runTest() { + HTMLLabelElement03(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLabelElement04.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLabelElement04.js new file mode 100644 index 0000000..1a5681d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLabelElement04.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLabelElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "label"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The htmlFor attribute links this label with another form control by + id attribute. + + Retrieve the htmlFor attribute of the first LABEL element + and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96509813 +*/ +function HTMLLabelElement04() { + var success; + if(checkInitialization(builder, "HTMLLabelElement04") != null) return; + var nodeList; + var testNode; + var vhtmlfor; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "label"); + nodeList = doc.getElementsByTagName("label"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vhtmlfor = testNode.htmlFor; + + assertEquals("htmlForLink","input1",vhtmlfor); + +} + + + + +function runTest() { + HTMLLabelElement04(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLinkElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLinkElement01.js new file mode 100644 index 0000000..cf0bb6a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLinkElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLinkElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "link"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The disabled attribute enables/disables the link. + + Retrieve the disabled attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87355129 +*/ +function HTMLLinkElement01() { + var success; + if(checkInitialization(builder, "HTMLLinkElement01") != null) return; + var nodeList; + var testNode; + var vdisabled; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "link"); + nodeList = doc.getElementsByTagName("link"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vdisabled = testNode.disabled; + + assertFalse("disabled",vdisabled); + +} + + + + +function runTest() { + HTMLLinkElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLinkElement03.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLinkElement03.js new file mode 100644 index 0000000..d8856f9 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLinkElement03.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLinkElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "link"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The href attribute specifies the URI of the linked resource. + + Retrieve the href attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33532588 +*/ +function HTMLLinkElement03() { + var success; + if(checkInitialization(builder, "HTMLLinkElement03") != null) return; + var nodeList; + var testNode; + var vhref; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "link"); + nodeList = doc.getElementsByTagName("link"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vhref = testNode.href; + + assertURIEquals("hrefLink",null,null,null,"glossary.html",null,null,null,null,vhref); + +} + + + + +function runTest() { + HTMLLinkElement03(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLinkElement04.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLinkElement04.js new file mode 100644 index 0000000..e3012bd --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLinkElement04.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLinkElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "link"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The hreflang attribute specifies the language code of the linked resource. + + Retrieve the hreflang attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-85145682 +*/ +function HTMLLinkElement04() { + var success; + if(checkInitialization(builder, "HTMLLinkElement04") != null) return; + var nodeList; + var testNode; + var vhreflang; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "link"); + nodeList = doc.getElementsByTagName("link"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vhreflang = testNode.hreflang; + + assertEquals("hreflangLink","en",vhreflang); + +} + + + + +function runTest() { + HTMLLinkElement04(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLinkElement05.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLinkElement05.js new file mode 100644 index 0000000..35b59ca --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLinkElement05.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLinkElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "link"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The media attribute specifies the targeted media. + + Retrieve the media attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75813125 +*/ +function HTMLLinkElement05() { + var success; + if(checkInitialization(builder, "HTMLLinkElement05") != null) return; + var nodeList; + var testNode; + var vmedia; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "link"); + nodeList = doc.getElementsByTagName("link"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vmedia = testNode.media; + + assertEquals("mediaLink","screen",vmedia); + +} + + + + +function runTest() { + HTMLLinkElement05(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLinkElement06.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLinkElement06.js new file mode 100644 index 0000000..d9004b9 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLinkElement06.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLinkElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "link"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The rel attribute specifies the forward link type. + + Retrieve the rel attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-41369587 +*/ +function HTMLLinkElement06() { + var success; + if(checkInitialization(builder, "HTMLLinkElement06") != null) return; + var nodeList; + var testNode; + var vrel; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "link"); + nodeList = doc.getElementsByTagName("link"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vrel = testNode.rel; + + assertEquals("relLink","Glossary",vrel); + +} + + + + +function runTest() { + HTMLLinkElement06(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLinkElement08.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLinkElement08.js new file mode 100644 index 0000000..001e995 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLLinkElement08.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLinkElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "link"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The type attribute specifies the advisory content type. + + Retrieve the type attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-32498296 +*/ +function HTMLLinkElement08() { + var success; + if(checkInitialization(builder, "HTMLLinkElement08") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "link"); + nodeList = doc.getElementsByTagName("link"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","text/html",vtype); + +} + + + + +function runTest() { + HTMLLinkElement08(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLMapElement02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLMapElement02.js new file mode 100644 index 0000000..5ba184f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLMapElement02.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLMapElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "map"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The name attribute names the map(for use with usemap). + + Retrieve the name attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52696514 +*/ +function HTMLMapElement02() { + var success; + if(checkInitialization(builder, "HTMLMapElement02") != null) return; + var nodeList; + var testNode; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "map"); + nodeList = doc.getElementsByTagName("map"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vname = testNode.name; + + assertEquals("mapLink","mapid",vname); + +} + + + + +function runTest() { + HTMLMapElement02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLMetaElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLMetaElement01.js new file mode 100644 index 0000000..e344809 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLMetaElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLMetaElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "meta"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The content attribute specifies associated information. + + Retrieve the content attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87670826 +*/ +function HTMLMetaElement01() { + var success; + if(checkInitialization(builder, "HTMLMetaElement01") != null) return; + var nodeList; + var testNode; + var vcontent; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "meta"); + nodeList = doc.getElementsByTagName("meta"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcontent = testNode.content; + + assertEquals("contentLink","text/html; CHARSET=utf-8",vcontent); + +} + + + + +function runTest() { + HTMLMetaElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLMetaElement02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLMetaElement02.js new file mode 100644 index 0000000..3da9693 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLMetaElement02.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLMetaElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "meta"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The httpEquiv attribute specifies an HTTP respnse header name. + + Retrieve the httpEquiv attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-77289449 +*/ +function HTMLMetaElement02() { + var success; + if(checkInitialization(builder, "HTMLMetaElement02") != null) return; + var nodeList; + var testNode; + var vhttpequiv; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "meta"); + nodeList = doc.getElementsByTagName("meta"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vhttpequiv = testNode.httpEquiv; + + assertEquals("httpEquivLink","Content-Type",vhttpequiv); + +} + + + + +function runTest() { + HTMLMetaElement02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLMetaElement03.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLMetaElement03.js new file mode 100644 index 0000000..3554091 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLMetaElement03.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLMetaElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "meta"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The name attribute specifies the meta information name. + + Retrieve the name attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-31037081 +*/ +function HTMLMetaElement03() { + var success; + if(checkInitialization(builder, "HTMLMetaElement03") != null) return; + var nodeList; + var testNode; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "meta"); + nodeList = doc.getElementsByTagName("meta"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vname = testNode.name; + + assertEquals("nameLink","Meta-Name",vname); + +} + + + + +function runTest() { + HTMLMetaElement03(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLMetaElement04.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLMetaElement04.js new file mode 100644 index 0000000..2ba7efd --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLMetaElement04.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLMetaElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "meta"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The scheme attribute specifies a select form of content. + + Retrieve the scheme attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-35993789 +*/ +function HTMLMetaElement04() { + var success; + if(checkInitialization(builder, "HTMLMetaElement04") != null) return; + var nodeList; + var testNode; + var vscheme; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "meta"); + nodeList = doc.getElementsByTagName("meta"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vscheme = testNode.scheme; + + assertEquals("schemeLink","NIST",vscheme); + +} + + + + +function runTest() { + HTMLMetaElement04(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLModElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLModElement01.js new file mode 100644 index 0000000..9840f14 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLModElement01.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLModElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "mod"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The cite attribute specifies an URI designating a document that describes + the reason for the change. + + Retrieve the cite attribute of the INS element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75101708 +*/ +function HTMLModElement01() { + var success; + if(checkInitialization(builder, "HTMLModElement01") != null) return; + var nodeList; + var testNode; + var vcite; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "mod"); + nodeList = doc.getElementsByTagName("ins"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcite = testNode.cite; + + assertURIEquals("citeLink",null,null,null,"ins-reasons.html",null,null,null,null,vcite); + +} + + + + +function runTest() { + HTMLModElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLModElement02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLModElement02.js new file mode 100644 index 0000000..fe3fa8e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLModElement02.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLModElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "mod"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dateTime attribute specifies the date and time of the change. + + Retrieve the dateTime attribute of the INS element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88432678 +*/ +function HTMLModElement02() { + var success; + if(checkInitialization(builder, "HTMLModElement02") != null) return; + var nodeList; + var testNode; + var vdatetime; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "mod"); + nodeList = doc.getElementsByTagName("ins"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdatetime = testNode.dateTime; + + assertEquals("dateTimeLink","January 1, 2002",vdatetime); + +} + + + + +function runTest() { + HTMLModElement02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLModElement03.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLModElement03.js new file mode 100644 index 0000000..e796da6 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLModElement03.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLModElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "mod"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The cite attribute specifies an URI designating a document that describes + the reason for the change. + + Retrieve the cite attribute of the DEL element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75101708 +*/ +function HTMLModElement03() { + var success; + if(checkInitialization(builder, "HTMLModElement03") != null) return; + var nodeList; + var testNode; + var vcite; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "mod"); + nodeList = doc.getElementsByTagName("del"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcite = testNode.cite; + + assertURIEquals("citeLink",null,null,null,"del-reasons.html",null,null,null,null,vcite); + +} + + + + +function runTest() { + HTMLModElement03(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLModElement04.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLModElement04.js new file mode 100644 index 0000000..1150082 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLModElement04.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLModElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "mod"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The dateTime attribute specifies the date and time of the change. + + Retrieve the dateTime attribute of the DEL element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88432678 +*/ +function HTMLModElement04() { + var success; + if(checkInitialization(builder, "HTMLModElement04") != null) return; + var nodeList; + var testNode; + var vdatetime; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "mod"); + nodeList = doc.getElementsByTagName("del"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdatetime = testNode.dateTime; + + assertEquals("dateTimeLink","January 2, 2002",vdatetime); + +} + + + + +function runTest() { + HTMLModElement04(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOListElement02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOListElement02.js new file mode 100644 index 0000000..f7a44be --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOListElement02.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOListElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "olist"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The start attribute specifies the starting sequence number. + + Retrieve the start attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14793325 +*/ +function HTMLOListElement02() { + var success; + if(checkInitialization(builder, "HTMLOListElement02") != null) return; + var nodeList; + var testNode; + var vstart; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "olist"); + nodeList = doc.getElementsByTagName("ol"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vstart = testNode.start; + + assertEquals("startLink",1,vstart); + +} + + + + +function runTest() { + HTMLOListElement02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOListElement03.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOListElement03.js new file mode 100644 index 0000000..8731b7c --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOListElement03.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOListElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "olist"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The type attribute specifies the numbering style. + + Retrieve the type attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40971103 +*/ +function HTMLOListElement03() { + var success; + if(checkInitialization(builder, "HTMLOListElement03") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "olist"); + nodeList = doc.getElementsByTagName("ol"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","1",vtype); + +} + + + + +function runTest() { + HTMLOListElement03(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement01.js new file mode 100644 index 0000000..c70af00 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement01.js @@ -0,0 +1,116 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object2"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns the FORM element containing this control. + + Retrieve the form attribute and examine its value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-46094773 +*/ +function HTMLObjectElement01() { + var success; + if(checkInitialization(builder, "HTMLObjectElement01") != null) return; + var nodeList; + var testNode; + var fNode; + var vform; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object2"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + fNode = testNode.form; + + vform = fNode.id; + + assertEquals("idLink","object2",vform); + +} + + + + +function runTest() { + HTMLObjectElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement08.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement08.js new file mode 100644 index 0000000..9bab5c1 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement08.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The data attribute specifies the URI of the location of the objects data. + + Retrieve the data attribute of the first OBJECT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-81766986 +*/ +function HTMLObjectElement08() { + var success; + if(checkInitialization(builder, "HTMLObjectElement08") != null) return; + var nodeList; + var testNode; + var vdata; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vdata = testNode.data; + + assertURIEquals("dataLink",null,null,null,"logo.gif",null,null,null,null,vdata); + +} + + + + +function runTest() { + HTMLObjectElement08(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement10.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement10.js new file mode 100644 index 0000000..17cb218 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement10.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The height attribute overrides the value of the actual height of the + object. + + Retrieve the height attribute of the first OBJECT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88925838 +*/ +function HTMLObjectElement10() { + var success; + if(checkInitialization(builder, "HTMLObjectElement10") != null) return; + var nodeList; + var testNode; + var vheight; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vheight = testNode.height; + + assertEquals("heightLink","60",vheight); + +} + + + + +function runTest() { + HTMLObjectElement10(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement11.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement11.js new file mode 100644 index 0000000..8915326 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement11.js @@ -0,0 +1,129 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The hspace attribute specifies the horizontal space to the left and right + of this image, applet or object. + + Retrieve the hspace attribute of the first OBJECT element and examine + its value. + + This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-17085376 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 +*/ +function HTMLObjectElement11() { + var success; + if(checkInitialization(builder, "HTMLObjectElement11") != null) return; + var nodeList; + var testNode; + var vhspace; + var doc; + var domImpl; + var hasHTML2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + domImpl = doc.implementation; +hasHTML2 = domImpl.hasFeature("HTML","2.0"); + + if( + + !hasHTML2 + ) { + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vhspace = testNode.hspace; + + assertEquals("hspaceLink","0",vhspace); + + } + +} + + + + +function runTest() { + HTMLObjectElement11(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement13.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement13.js new file mode 100644 index 0000000..af2e44b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement13.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement13"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The tabIndex attribute specifies the elements position in the tabbing + order. + + Retrieve the tabIndex attribute of the first OBJECT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-27083787 +*/ +function HTMLObjectElement13() { + var success; + if(checkInitialization(builder, "HTMLObjectElement13") != null) return; + var nodeList; + var testNode; + var vtabindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vtabindex = testNode.tabIndex; + + assertEquals("tabIndexLink",0,vtabindex); + +} + + + + +function runTest() { + HTMLObjectElement13(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement14.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement14.js new file mode 100644 index 0000000..b52c2b6 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement14.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement14"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The type attribute specifies the content type for data downloaded via + the data attribute. + + Retrieve the type attribute of the first OBJECT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-91665621 +*/ +function HTMLObjectElement14() { + var success; + if(checkInitialization(builder, "HTMLObjectElement14") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","image/gif",vtype); + +} + + + + +function runTest() { + HTMLObjectElement14(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement15.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement15.js new file mode 100644 index 0000000..2a497b1 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement15.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement15"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The useMap attribute specifies the used client-side image map. + + Retrieve the useMap attribute of the first OBJECT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6649772 +*/ +function HTMLObjectElement15() { + var success; + if(checkInitialization(builder, "HTMLObjectElement15") != null) return; + var nodeList; + var testNode; + var vusemap; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vusemap = testNode.useMap; + + assertEquals("useMapLink","#DivLogo-map",vusemap); + +} + + + + +function runTest() { + HTMLObjectElement15(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement16.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement16.js new file mode 100644 index 0000000..85adf7d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement16.js @@ -0,0 +1,129 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement16"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The vspace attribute specifies the vertical space above or below this + image, applet or object. + + Retrieve the vspace attribute of the first OBJECT element and examine + its value. + + This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-8682483 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 +*/ +function HTMLObjectElement16() { + var success; + if(checkInitialization(builder, "HTMLObjectElement16") != null) return; + var nodeList; + var testNode; + var vvspace; + var doc; + var domImpl; + var hasHTML2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + domImpl = doc.implementation; +hasHTML2 = domImpl.hasFeature("HTML","2.0"); + + if( + + !hasHTML2 + ) { + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vvspace = testNode.vspace; + + assertEquals("vspaceLink","0",vvspace); + + } + +} + + + + +function runTest() { + HTMLObjectElement16(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement17.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement17.js new file mode 100644 index 0000000..e76e4d8 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement17.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement17"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The width attribute overrides the original width value. + + Retrieve the width attribute of the first OBJECT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-38538620 +*/ +function HTMLObjectElement17() { + var success; + if(checkInitialization(builder, "HTMLObjectElement17") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vwidth = testNode.width; + + assertEquals("widthLink","550",vwidth); + +} + + + + +function runTest() { + HTMLObjectElement17(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement18.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement18.js new file mode 100644 index 0000000..f299c61 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement18.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement18"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The name attribute specifies form control or object name when submitted + with a form. + + Retrieve the name attribute of the second OBJECT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-20110362 +*/ +function HTMLObjectElement18() { + var success; + if(checkInitialization(builder, "HTMLObjectElement18") != null) return; + var nodeList; + var testNode; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vname = testNode.name; + + assertEquals("vspaceLink","OBJECT2",vname); + +} + + + + +function runTest() { + HTMLObjectElement18(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement19.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement19.js new file mode 100644 index 0000000..a1157ff --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLObjectElement19.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement19"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object2"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns null if control in not within the context of + form. + + Retrieve the form attribute and examine its value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-46094773 +*/ +function HTMLObjectElement19() { + var success; + if(checkInitialization(builder, "HTMLObjectElement19") != null) return; + var nodeList; + var testNode; + var vform; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object2"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vform = testNode.form; + + assertNull("formNullLink",vform); + +} + + + + +function runTest() { + HTMLObjectElement19(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement01.js new file mode 100644 index 0000000..088c526 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement01.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptGroupElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "optgroup"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The disabled attribute indicates that the control is unavailable in + this context. + + Retrieve the disabled attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-15518803 +*/ +function HTMLOptGroupElement01() { + var success; + if(checkInitialization(builder, "HTMLOptGroupElement01") != null) return; + var nodeList; + var testNode; + var vdisabled; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "optgroup"); + nodeList = doc.getElementsByTagName("optgroup"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vdisabled = testNode.disabled; + + assertTrue("disabledLink",vdisabled); + +} + + + + +function runTest() { + HTMLOptGroupElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement02.js new file mode 100644 index 0000000..4c5f323 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptGroupElement02.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptGroupElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "optgroup"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The label attribute specifies the label assigned to this option group. + + Retrieve the label attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95806054 +*/ +function HTMLOptGroupElement02() { + var success; + if(checkInitialization(builder, "HTMLOptGroupElement02") != null) return; + var nodeList; + var testNode; + var vlabel; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "optgroup"); + nodeList = doc.getElementsByTagName("optgroup"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vlabel = testNode.label; + + assertEquals("labelLink","Regular Employees",vlabel); + +} + + + + +function runTest() { + HTMLOptGroupElement02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptionElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptionElement01.js new file mode 100644 index 0000000..9cea72a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptionElement01.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptionElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "option"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns the FORM element containing this control. + + Retrieve the form attribute from the first SELECT element + and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-17116503 +*/ +function HTMLOptionElement01() { + var success; + if(checkInitialization(builder, "HTMLOptionElement01") != null) return; + var nodeList; + var testNode; + var vform; + var fNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "option"); + nodeList = doc.getElementsByTagName("option"); + assertSize("Asize",10,nodeList); +testNode = nodeList.item(0); + fNode = testNode.form; + + vform = fNode.id; + + assertEquals("formLink","form1",vform); + +} + + + + +function runTest() { + HTMLOptionElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptionElement02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptionElement02.js new file mode 100644 index 0000000..4914f41 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptionElement02.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptionElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "option"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns null if control in not within the context of + a form. + + Retrieve the first OPTION attribute from the second select element and + examine its form element. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-17116503 +*/ +function HTMLOptionElement02() { + var success; + if(checkInitialization(builder, "HTMLOptionElement02") != null) return; + var nodeList; + var testNode; + var vform; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "option"); + nodeList = doc.getElementsByTagName("option"); + assertSize("Asize",10,nodeList); +testNode = nodeList.item(6); + vform = testNode.form; + + assertNull("formNullLink",vform); + +} + + + + +function runTest() { + HTMLOptionElement02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptionElement03.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptionElement03.js new file mode 100644 index 0000000..d9e340b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptionElement03.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptionElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "option"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The defaultSelected attribute contains the value of the selected + attribute. + + Retrieve the defaultSelected attribute from the first OPTION element + and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-37770574 +*/ +function HTMLOptionElement03() { + var success; + if(checkInitialization(builder, "HTMLOptionElement03") != null) return; + var nodeList; + var testNode; + var vdefaultselected; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "option"); + nodeList = doc.getElementsByTagName("option"); + assertSize("Asize",10,nodeList); +testNode = nodeList.item(0); + vdefaultselected = testNode.defaultSelected; + + assertTrue("defaultSelectedLink",vdefaultselected); + +} + + + + +function runTest() { + HTMLOptionElement03(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptionElement06.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptionElement06.js new file mode 100644 index 0000000..18638e5 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptionElement06.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptionElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "option"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The disabled attribute indicates that this control is not available + within this context. + + Retrieve the disabled attribute from the last OPTION element + and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-23482473 +*/ +function HTMLOptionElement06() { + var success; + if(checkInitialization(builder, "HTMLOptionElement06") != null) return; + var nodeList; + var testNode; + var vdisabled; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "option"); + nodeList = doc.getElementsByTagName("option"); + assertSize("Asize",10,nodeList); +testNode = nodeList.item(9); + vdisabled = testNode.disabled; + + assertTrue("disabledLink",vdisabled); + +} + + + + +function runTest() { + HTMLOptionElement06(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptionElement07.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptionElement07.js new file mode 100644 index 0000000..9cc670f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptionElement07.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptionElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "option"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The label attribute is used in hierarchical menus. It specifies + a shorter label for an option that the content of the OPTION element. + + Retrieve the label attribute from the second OPTION element + and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40736115 +*/ +function HTMLOptionElement07() { + var success; + if(checkInitialization(builder, "HTMLOptionElement07") != null) return; + var nodeList; + var testNode; + var vlabel; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "option"); + nodeList = doc.getElementsByTagName("option"); + assertSize("Asize",10,nodeList); +testNode = nodeList.item(1); + vlabel = testNode.label; + + assertEquals("labelLink","l1",vlabel); + +} + + + + +function runTest() { + HTMLOptionElement07(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptionElement08.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptionElement08.js new file mode 100644 index 0000000..d6e4b22 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLOptionElement08.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptionElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "option"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The selected attribute indicates the current state of the corresponding + form control in an interactive user-agent. + + Retrieve the selected attribute from the first OPTION element + and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-70874476 +*/ +function HTMLOptionElement08() { + var success; + if(checkInitialization(builder, "HTMLOptionElement08") != null) return; + var nodeList; + var testNode; + var vselected; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "option"); + nodeList = doc.getElementsByTagName("option"); + assertSize("Asize",10,nodeList); +testNode = nodeList.item(0); + vselected = testNode.defaultSelected; + + assertTrue("selectedLink",vselected); + +} + + + + +function runTest() { + HTMLOptionElement08(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLParamElement02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLParamElement02.js new file mode 100644 index 0000000..338cbfe --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLParamElement02.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLParamElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "param"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The value attribute specifies the value of the run-time parameter. + + Retrieve the value attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-77971357 +*/ +function HTMLParamElement02() { + var success; + if(checkInitialization(builder, "HTMLParamElement02") != null) return; + var nodeList; + var testNode; + var vvalue; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "param"); + nodeList = doc.getElementsByTagName("param"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vvalue = testNode.value; + + assertURIEquals("valueLink",null,null,null,"file.gif",null,null,null,null,vvalue); + +} + + + + +function runTest() { + HTMLParamElement02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement01.js new file mode 100644 index 0000000..d46c2aa --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement01.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLQuoteElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "quote"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The cite attribute specifies a URI designating a source document + or message. + + Retrieve the cite attribute from the Q element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-53895598 +*/ +function HTMLQuoteElement01() { + var success; + if(checkInitialization(builder, "HTMLQuoteElement01") != null) return; + var nodeList; + var testNode; + var vcite; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "quote"); + nodeList = doc.getElementsByTagName("q"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcite = testNode.cite; + + assertURIEquals("citeLink",null,null,null,"Q.html",null,null,null,null,vcite); + +} + + + + +function runTest() { + HTMLQuoteElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement02.js new file mode 100644 index 0000000..f0b002b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLQuoteElement02.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLQuoteElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "quote"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The cite attribute specifies a URI designating a source document + or message. + + Retrieve the cite attribute from the BLOCKQUOTE element and + examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-53895598 +*/ +function HTMLQuoteElement02() { + var success; + if(checkInitialization(builder, "HTMLQuoteElement02") != null) return; + var nodeList; + var testNode; + var vcite; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "quote"); + nodeList = doc.getElementsByTagName("blockquote"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcite = testNode.cite; + + assertURIEquals("citeLink",null,null,null,"BLOCKQUOTE.html",null,null,null,null,vcite); + +} + + + + +function runTest() { + HTMLQuoteElement02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLScriptElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLScriptElement01.js new file mode 100644 index 0000000..95f6b58 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLScriptElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLScriptElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "script"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The text attribute specifies the script content of the element. + + Retrieve the text attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-46872999 +*/ +function HTMLScriptElement01() { + var success; + if(checkInitialization(builder, "HTMLScriptElement01") != null) return; + var nodeList; + var testNode; + var vtext; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "script"); + nodeList = doc.getElementsByTagName("script"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtext = testNode.text; + + assertEquals("textLink","var a=2;",vtext); + +} + + + + +function runTest() { + HTMLScriptElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLScriptElement02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLScriptElement02.js new file mode 100644 index 0000000..a85f04f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLScriptElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLScriptElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "script"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The charset attribute specifies the character encoding of the linked + resource. + + Retrieve the charset attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-35305677 +*/ +function HTMLScriptElement02() { + var success; + if(checkInitialization(builder, "HTMLScriptElement02") != null) return; + var nodeList; + var testNode; + var vcharset; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "script"); + nodeList = doc.getElementsByTagName("script"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcharset = testNode.charset; + + assertEquals("charsetLink","US-ASCII",vcharset); + +} + + + + +function runTest() { + HTMLScriptElement02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLScriptElement03.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLScriptElement03.js new file mode 100644 index 0000000..cd60d5d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLScriptElement03.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLScriptElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "script"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The defer attribute specifies the user agent can defer processing of + the script. + + Retrieve the defer attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93788534 +*/ +function HTMLScriptElement03() { + var success; + if(checkInitialization(builder, "HTMLScriptElement03") != null) return; + var nodeList; + var testNode; + var vdefer; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "script"); + nodeList = doc.getElementsByTagName("script"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdefer = testNode.defer; + + assertTrue("deferLink",vdefer); + +} + + + + +function runTest() { + HTMLScriptElement03(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLScriptElement04.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLScriptElement04.js new file mode 100644 index 0000000..fe417e3 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLScriptElement04.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLScriptElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "script"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The src attribute specifies a URI designating an external script. + + Retrieve the src attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75147231 +*/ +function HTMLScriptElement04() { + var success; + if(checkInitialization(builder, "HTMLScriptElement04") != null) return; + var nodeList; + var testNode; + var vsrc; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "script"); + nodeList = doc.getElementsByTagName("script"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vsrc = testNode.src; + + assertURIEquals("srcLink",null,null,null,"script1.js",null,null,null,null,vsrc); + +} + + + + +function runTest() { + HTMLScriptElement04(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLScriptElement05.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLScriptElement05.js new file mode 100644 index 0000000..96a717b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLScriptElement05.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLScriptElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "script"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The type attribute specifies the content of the script language. + + Retrieve the type attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-30534818 +*/ +function HTMLScriptElement05() { + var success; + if(checkInitialization(builder, "HTMLScriptElement05") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "script"); + nodeList = doc.getElementsByTagName("script"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","text/javaScript",vtype); + +} + + + + +function runTest() { + HTMLScriptElement05(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLScriptElement06.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLScriptElement06.js new file mode 100644 index 0000000..a1275eb --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLScriptElement06.js @@ -0,0 +1,109 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLScriptElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "script"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +htmlFor is described as for future use. Test accesses the value, but makes no assertions about its value. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-66979266 +*/ +function HTMLScriptElement06() { + var success; + if(checkInitialization(builder, "HTMLScriptElement06") != null) return; + var nodeList; + var testNode; + var htmlFor; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "script"); + nodeList = doc.getElementsByTagName("script"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + htmlFor = testNode.htmlFor; + + +} + + + + +function runTest() { + HTMLScriptElement06(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLScriptElement07.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLScriptElement07.js new file mode 100644 index 0000000..a3c1976 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLScriptElement07.js @@ -0,0 +1,109 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLScriptElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "script"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +event is described as for future use. Test accesses the value, but makes no assertions about its value. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-56700403 +*/ +function HTMLScriptElement07() { + var success; + if(checkInitialization(builder, "HTMLScriptElement07") != null) return; + var nodeList; + var testNode; + var event; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "script"); + nodeList = doc.getElementsByTagName("script"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + event = testNode.event; + + +} + + + + +function runTest() { + HTMLScriptElement07(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement03.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement03.js new file mode 100644 index 0000000..a7dda0c --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement03.js @@ -0,0 +1,118 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The selectedIndex attribute specifies the ordinal index of the selected + option. If no element is selected -1 is returned. + + Retrieve the selectedIndex attribute from the second SELECT element and + examine its value. + + Per http://www.w3.org/TR/html401/interact/forms.html#h-17.6.1, + without an explicit selected attribute, user agent behavior is + undefined. There is no way to coerce no option to be selected. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-85676760 +*/ +function HTMLSelectElement03() { + var success; + if(checkInitialization(builder, "HTMLSelectElement03") != null) return; + var nodeList; + var testNode; + var vselectedindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vselectedindex = testNode.selectedIndex; + + +} + + + + +function runTest() { + HTMLSelectElement03(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement06.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement06.js new file mode 100644 index 0000000..14f8f6a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement06.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns the FORM element containing this control. + + Retrieve the form attribute from the first SELECT element + and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-20489458 +*/ +function HTMLSelectElement06() { + var success; + if(checkInitialization(builder, "HTMLSelectElement06") != null) return; + var nodeList; + var testNode; + var vform; + var fNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + fNode = testNode.form; + + vform = fNode.id; + + assertEquals("formLink","form1",vform); + +} + + + + +function runTest() { + HTMLSelectElement06(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement07.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement07.js new file mode 100644 index 0000000..047585c --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement07.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns null if control in not within the context of + a form. + + Retrieve the second SELECT element and + examine its form element. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-20489458 +*/ +function HTMLSelectElement07() { + var success; + if(checkInitialization(builder, "HTMLSelectElement07") != null) return; + var nodeList; + var testNode; + var vform; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vform = testNode.form; + + assertNull("formNullLink",vform); + +} + + + + +function runTest() { + HTMLSelectElement07(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement08.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement08.js new file mode 100644 index 0000000..5617296 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement08.js @@ -0,0 +1,134 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The options attribute returns a collection of OPTION elements contained + by this element. + + Retrieve the options attribute from the first SELECT element and + examine the items of the returned collection. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-30606413 +*/ +function HTMLSelectElement08() { + var success; + if(checkInitialization(builder, "HTMLSelectElement08") != null) return; + var nodeList; + var optionsnodeList; + var testNode; + var vareas; + var doc; + var optionName; + var voption; + var result = new Array(); + + expectedOptions = new Array(); + expectedOptions[0] = "option"; + expectedOptions[1] = "option"; + expectedOptions[2] = "option"; + expectedOptions[3] = "option"; + expectedOptions[4] = "option"; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + optionsnodeList = testNode.options; + + for(var indexN65648 = 0;indexN65648 < optionsnodeList.length; indexN65648++) { + voption = optionsnodeList.item(indexN65648); + optionName = voption.nodeName; + + result[result.length] = optionName; + + } + assertEqualsListAutoCase("element", "optionsLink",expectedOptions,result); + +} + + + + +function runTest() { + HTMLSelectElement08(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement09.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement09.js new file mode 100644 index 0000000..41a9ca9 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement09.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The disabled attribute indicates that this control is not available + within this context. + + Retrieve the disabled attribute from the third SELECT element + and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-79102918 +*/ +function HTMLSelectElement09() { + var success; + if(checkInitialization(builder, "HTMLSelectElement09") != null) return; + var nodeList; + var testNode; + var vdisabled; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(2); + vdisabled = testNode.disabled; + + assertTrue("disabledLink",vdisabled); + +} + + + + +function runTest() { + HTMLSelectElement09(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement10.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement10.js new file mode 100644 index 0000000..2a05689 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement10.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The multiple attribute(if true) indicates that multiple OPTION elements + may be selected + + Retrieve the multiple attribute from the first SELECT element + and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-13246613 +*/ +function HTMLSelectElement10() { + var success; + if(checkInitialization(builder, "HTMLSelectElement10") != null) return; + var nodeList; + var testNode; + var vmultiple; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vmultiple = testNode.multiple; + + assertTrue("multipleLink",vmultiple); + +} + + + + +function runTest() { + HTMLSelectElement10(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement11.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement11.js new file mode 100644 index 0000000..7fa1223 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement11.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The name attribute specifies the form control or object name when + submitted with a form. + + Retrieve the name attribute from the first SELECT element and + examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-41636323 +*/ +function HTMLSelectElement11() { + var success; + if(checkInitialization(builder, "HTMLSelectElement11") != null) return; + var nodeList; + var testNode; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vname = testNode.name; + + assertEquals("nameLink","select1",vname); + +} + + + + +function runTest() { + HTMLSelectElement11(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement12.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement12.js new file mode 100644 index 0000000..d534194 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement12.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The size attribute specifies the number of visible rows. + + Retrieve the size attribute from the first SELECT element and + examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-18293826 +*/ +function HTMLSelectElement12() { + var success; + if(checkInitialization(builder, "HTMLSelectElement12") != null) return; + var nodeList; + var testNode; + var vsize; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vsize = testNode.size; + + assertEquals("sizeLink",1,vsize); + +} + + + + +function runTest() { + HTMLSelectElement12(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement13.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement13.js new file mode 100644 index 0000000..12e9402 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLSelectElement13.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement13"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The tabIndex attribute specifies an index that represents the elements + position in the tabbing order. + + Retrieve the tabIndex attribute from the first SELECT element and + examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40676705 +*/ +function HTMLSelectElement13() { + var success; + if(checkInitialization(builder, "HTMLSelectElement13") != null) return; + var nodeList; + var testNode; + var vtabindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vtabindex = testNode.tabIndex; + + assertEquals("tabIndexLink",7,vtabindex); + +} + + + + +function runTest() { + HTMLSelectElement13(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLStyleElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLStyleElement01.js new file mode 100644 index 0000000..e63f631 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLStyleElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLStyleElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "style"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The disabled attribute enables/disables the stylesheet. + + Retrieve the disabled attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-51162010 +*/ +function HTMLStyleElement01() { + var success; + if(checkInitialization(builder, "HTMLStyleElement01") != null) return; + var nodeList; + var testNode; + var vdisabled; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "style"); + nodeList = doc.getElementsByTagName("style"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vdisabled = testNode.disabled; + + assertFalse("disabledLink",vdisabled); + +} + + + + +function runTest() { + HTMLStyleElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLStyleElement02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLStyleElement02.js new file mode 100644 index 0000000..c547c7d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLStyleElement02.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLStyleElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "style"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The media attribute identifies the intended medium of the style info. + + Retrieve the media attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76412738 +*/ +function HTMLStyleElement02() { + var success; + if(checkInitialization(builder, "HTMLStyleElement02") != null) return; + var nodeList; + var testNode; + var vmedia; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "style"); + nodeList = doc.getElementsByTagName("style"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vmedia = testNode.media; + + assertEquals("mediaLink","screen",vmedia); + +} + + + + +function runTest() { + HTMLStyleElement02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLStyleElement03.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLStyleElement03.js new file mode 100644 index 0000000..c085c22 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLStyleElement03.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLStyleElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "style"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The type attribute specifies the style sheet language(Internet media type). + + Retrieve the type attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-22472002 +*/ +function HTMLStyleElement03() { + var success; + if(checkInitialization(builder, "HTMLStyleElement03") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "style"); + nodeList = doc.getElementsByTagName("style"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","text/css",vtype); + +} + + + + +function runTest() { + HTMLStyleElement03(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement15.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement15.js new file mode 100644 index 0000000..6d22965 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement15.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement15"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The colSpan attribute specifies the number of columns spanned by a table + header(TH) cell. + + Retrieve the colspan attribute of the second TH element and examine its + value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-84645244 +*/ +function HTMLTableCellElement15() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement15") != null) return; + var nodeList; + var testNode; + var vcolspan; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vcolspan = testNode.colSpan; + + assertEquals("colSpanLink",1,vcolspan); + +} + + + + +function runTest() { + HTMLTableCellElement15(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement16.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement16.js new file mode 100644 index 0000000..d6e385f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement16.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement16"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The colSpan attribute specifies the number of columns spanned by a + table data(TD) cell. + + Retrieve the colSpan attribute of the second TD element and examine its + value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-84645244 +*/ +function HTMLTableCellElement16() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement16") != null) return; + var nodeList; + var testNode; + var vcolspan; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vcolspan = testNode.colSpan; + + assertEquals("colSpanLink",1,vcolspan); + +} + + + + +function runTest() { + HTMLTableCellElement16(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement23.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement23.js new file mode 100644 index 0000000..5375f82 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement23.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement23"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The rowSpan attribute specifies the number of rows spanned by a table + header(TH) cell. + + Retrieve the rowSpan attribute of the second TH element and examine its + value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-48237625 +*/ +function HTMLTableCellElement23() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement23") != null) return; + var nodeList; + var testNode; + var vrowspan; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vrowspan = testNode.rowSpan; + + assertEquals("rowSpanLink",1,vrowspan); + +} + + + + +function runTest() { + HTMLTableCellElement23(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement24.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement24.js new file mode 100644 index 0000000..6120e16 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement24.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement24"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The rowSpan attribute specifies the number of rows spanned by a + table data(TD) cell. + + Retrieve the rowSpan attribute of the second TD element and examine its + value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-48237625 +*/ +function HTMLTableCellElement24() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement24") != null) return; + var nodeList; + var testNode; + var vrowspan; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vrowspan = testNode.rowSpan; + + assertEquals("rowSpanLink",1,vrowspan); + +} + + + + +function runTest() { + HTMLTableCellElement24(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement25.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement25.js new file mode 100644 index 0000000..37c99c4 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableCellElement25.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement25"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The scope attribute specifies the scope covered by header cells. + + Retrieve the scope attribute from the second TH element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-36139952 +*/ +function HTMLTableCellElement25() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement25") != null) return; + var nodeList; + var testNode; + var vscope; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vscope = testNode.scope; + + assertEquals("scopeLink","col",vscope); + +} + + + + +function runTest() { + HTMLTableCellElement25(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableColElement07.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableColElement07.js new file mode 100644 index 0000000..2d09b66 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableColElement07.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The span attribute indicates the number of columns in a group or affected + by a grouping(COL). + + Retrieve the span attribute of the COL element and examine its + value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96511335 +*/ +function HTMLTableColElement07() { + var success; + if(checkInitialization(builder, "HTMLTableColElement07") != null) return; + var nodeList; + var testNode; + var vspan; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("col"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vspan = testNode.span; + + assertEquals("spanLink",1,vspan); + +} + + + + +function runTest() { + HTMLTableColElement07(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableColElement08.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableColElement08.js new file mode 100644 index 0000000..672827f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableColElement08.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The span attribute indicates the number of columns in a group or affected + by a grouping(COLGROUP). + + Retrieve the span attribute of the COLGROUP element and examine its + value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96511335 +*/ +function HTMLTableColElement08() { + var success; + if(checkInitialization(builder, "HTMLTableColElement08") != null) return; + var nodeList; + var testNode; + var vspan; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("colgroup"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vspan = testNode.span; + + assertEquals("spanLink",2,vspan); + +} + + + + +function runTest() { + HTMLTableColElement08(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableElement02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableElement02.js new file mode 100644 index 0000000..116127e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableElement02.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The caption attribute returns the tables CAPTION or void if it does not + exist. + + Retrieve the CAPTION element from within the first TABLE element. + Since one does not exist it should be void. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14594520 +*/ +function HTMLTableElement02() { + var success; + if(checkInitialization(builder, "HTMLTableElement02") != null) return; + var nodeList; + var testNode; + var vcaption; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vcaption = testNode.caption; + + assertNull("captionLink",vcaption); + +} + + + + +function runTest() { + HTMLTableElement02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableElement04.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableElement04.js new file mode 100644 index 0000000..bb664eb --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableElement04.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The tHead attribute returns the tables THEAD or null if it does not + exist. + + Retrieve the THEAD element from within the first TABLE element. + Since one does not exist it should be null. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-9530944 +*/ +function HTMLTableElement04() { + var success; + if(checkInitialization(builder, "HTMLTableElement04") != null) return; + var nodeList; + var testNode; + var vsection; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vsection = testNode.tHead; + + assertNull("sectionLink",vsection); + +} + + + + +function runTest() { + HTMLTableElement04(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableElement06.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableElement06.js new file mode 100644 index 0000000..d61ca57 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableElement06.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The tFoot attribute returns the tables TFOOT or null if it does not + exist. + + Retrieve the TFOOT element from within the first TABLE element. + Since one does not exist it should be null. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097 +*/ +function HTMLTableElement06() { + var success; + if(checkInitialization(builder, "HTMLTableElement06") != null) return; + var nodeList; + var testNode; + var vsection; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vsection = testNode.tFoot; + + assertNull("sectionLink",vsection); + +} + + + + +function runTest() { + HTMLTableElement06(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableElement07.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableElement07.js new file mode 100644 index 0000000..b050fc4 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableElement07.js @@ -0,0 +1,132 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The rows attribute returns a collection of all the rows in the table, + including al in THEAD, TFOOT, all TBODY elements. + + Retrieve the rows attribute from the second TABLE element and + examine the items of the returned collection. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6156016 +*/ +function HTMLTableElement07() { + var success; + if(checkInitialization(builder, "HTMLTableElement07") != null) return; + var nodeList; + var rowsnodeList; + var testNode; + var doc; + var rowName; + var vrow; + var result = new Array(); + + expectedOptions = new Array(); + expectedOptions[0] = "tr"; + expectedOptions[1] = "tr"; + expectedOptions[2] = "tr"; + expectedOptions[3] = "tr"; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + rowsnodeList = testNode.rows; + + for(var indexN65641 = 0;indexN65641 < rowsnodeList.length; indexN65641++) { + vrow = rowsnodeList.item(indexN65641); + rowName = vrow.nodeName; + + result[result.length] = rowName; + + } + assertEqualsListAutoCase("element", "rowsLink",expectedOptions,result); + +} + + + + +function runTest() { + HTMLTableElement07(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableElement12.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableElement12.js new file mode 100644 index 0000000..1ffdd80 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableElement12.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The border attribute specifies the width of the border around the table. + + Retrieve the border attribute of the first TABLE element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-50969400 +*/ +function HTMLTableElement12() { + var success; + if(checkInitialization(builder, "HTMLTableElement12") != null) return; + var nodeList; + var testNode; + var vborder; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vborder = testNode.border; + + assertEquals("borderLink","4",vborder); + +} + + + + +function runTest() { + HTMLTableElement12(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableRowElement05.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableRowElement05.js new file mode 100644 index 0000000..77dd707 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableRowElement05.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The cells attribute specifies the collection of cells in this row. + + Retrieve the fourth TR element and examine the value of + the cells length attribute. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-67349879 +*/ +function HTMLTableRowElement05() { + var success; + if(checkInitialization(builder, "HTMLTableRowElement05") != null) return; + var nodeList; + var cellsnodeList; + var testNode; + var vcells; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(3); + cellsnodeList = testNode.cells; + + vcells = cellsnodeList.length; + + assertEquals("cellsLink",6,vcells); + +} + + + + +function runTest() { + HTMLTableRowElement05(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement13.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement13.js new file mode 100644 index 0000000..5f1c565 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement13.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement13"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The rows attribute specifies the collection of rows in this table section. + + Retrieve the first THEAD element and examine the value of + the rows length attribute. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52092650 +*/ +function HTMLTableSectionElement13() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement13") != null) return; + var nodeList; + var rowsnodeList; + var testNode; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("thead"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink",1,vrows); + +} + + + + +function runTest() { + HTMLTableSectionElement13(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement14.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement14.js new file mode 100644 index 0000000..d27f24b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement14.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement14"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The rows attribute specifies the collection of rows in this table section. + + Retrieve the first TFOOT element and examine the value of + the rows length attribute. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52092650 +*/ +function HTMLTableSectionElement14() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement14") != null) return; + var nodeList; + var rowsnodeList; + var testNode; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tfoot"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink",1,vrows); + +} + + + + +function runTest() { + HTMLTableSectionElement14(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement15.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement15.js new file mode 100644 index 0000000..6937129 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTableSectionElement15.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement15"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The rows attribute specifies the collection of rows in this table section. + + Retrieve the first TBODY element and examine the value of + the rows length attribute. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52092650 +*/ +function HTMLTableSectionElement15() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement15") != null) return; + var nodeList; + var rowsnodeList; + var testNode; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tbody"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink",2,vrows); + +} + + + + +function runTest() { + HTMLTableSectionElement15(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement02.js new file mode 100644 index 0000000..400e39f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement02.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns the FORM element containing this control. + + Retrieve the form attribute from the first TEXTAREA element + and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-18911464 +*/ +function HTMLTextAreaElement02() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement02") != null) return; + var nodeList; + var testNode; + var vform; + var fNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + fNode = testNode.form; + + vform = fNode.id; + + assertEquals("formLink","form1",vform); + +} + + + + +function runTest() { + HTMLTextAreaElement02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement03.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement03.js new file mode 100644 index 0000000..f9eaa66 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement03.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns null if control in not within the context of + a form. + + Retrieve the second TEXTAREA element and + examine its form element. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-18911464 +*/ +function HTMLTextAreaElement03() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement03") != null) return; + var nodeList; + var testNode; + var vform; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vform = testNode.form; + + assertNull("formNullLink",vform); + +} + + + + +function runTest() { + HTMLTextAreaElement03(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement04.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement04.js new file mode 100644 index 0000000..f1ce5ba --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement04.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The accessKey attribute specifies a single character access key to + give access to the form control. + + Retrieve the accessKey attribute of the 1st TEXTAREA element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93102991 +*/ +function HTMLTextAreaElement04() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement04") != null) return; + var nodeList; + var testNode; + var vaccesskey; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vaccesskey = testNode.accessKey; + + assertEquals("accessKeyLink","c",vaccesskey); + +} + + + + +function runTest() { + HTMLTextAreaElement04(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement05.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement05.js new file mode 100644 index 0000000..ffb050a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement05.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The cols attribute specifies the width of control(in characters). + + Retrieve the cols attribute of the 1st TEXTAREA element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-51387225 +*/ +function HTMLTextAreaElement05() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement05") != null) return; + var nodeList; + var testNode; + var vcols; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vcols = testNode.cols; + + assertEquals("colsLink",20,vcols); + +} + + + + +function runTest() { + HTMLTextAreaElement05(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement06.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement06.js new file mode 100644 index 0000000..3e8271a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement06.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The disabled attribute specifies the control is unavailable in this + context. + + Retrieve the disabled attribute from the 2nd TEXTAREA element and + examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98725443 +*/ +function HTMLTextAreaElement06() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement06") != null) return; + var nodeList; + var testNode; + var vdisabled; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vdisabled = testNode.disabled; + + assertTrue("disabledLink",vdisabled); + +} + + + + +function runTest() { + HTMLTextAreaElement06(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement07.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement07.js new file mode 100644 index 0000000..b1e6d71 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement07.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The name attribute specifies the form control or object name when + submitted with a form. + + Retrieve the name attribute of the 1st TEXTAREA element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-70715578 +*/ +function HTMLTextAreaElement07() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement07") != null) return; + var nodeList; + var testNode; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vname = testNode.name; + + assertEquals("nameLink","text1",vname); + +} + + + + +function runTest() { + HTMLTextAreaElement07(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement08.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement08.js new file mode 100644 index 0000000..31714f9 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement08.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The readOnly attribute specifies this control is read-only. + + Retrieve the readOnly attribute from the 3rd TEXTAREA element and + examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39131423 +*/ +function HTMLTextAreaElement08() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement08") != null) return; + var nodeList; + var testNode; + var vreadonly; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(2); + vreadonly = testNode.readOnly; + + assertTrue("readOnlyLink",vreadonly); + +} + + + + +function runTest() { + HTMLTextAreaElement08(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement09.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement09.js new file mode 100644 index 0000000..baef099 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement09.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The rows attribute specifies the number of text rowns. + + Retrieve the rows attribute of the 1st TEXTAREA element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-46975887 +*/ +function HTMLTextAreaElement09() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement09") != null) return; + var nodeList; + var testNode; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vrows = testNode.rows; + + assertEquals("rowsLink",7,vrows); + +} + + + + +function runTest() { + HTMLTextAreaElement09(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement10.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement10.js new file mode 100644 index 0000000..762fef3 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTextAreaElement10.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The tabIndex attribute is an index that represents the element's position + in the tabbing order. + + Retrieve the tabIndex attribute of the 1st TEXTAREA element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-60363303 +*/ +function HTMLTextAreaElement10() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement10") != null) return; + var nodeList; + var testNode; + var vtabindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vtabindex = testNode.tabIndex; + + assertEquals("tabIndexLink",5,vtabindex); + +} + + + + +function runTest() { + HTMLTextAreaElement10(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTitleElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTitleElement01.js new file mode 100644 index 0000000..ba4ad26 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/HTMLTitleElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTitleElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "title"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The text attribute is the specified title as a string. + + Retrieve the text attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-77500413 +*/ +function HTMLTitleElement01() { + var success; + if(checkInitialization(builder, "HTMLTitleElement01") != null) return; + var nodeList; + var testNode; + var vtext; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "title"); + nodeList = doc.getElementsByTagName("title"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtext = testNode.text; + + assertEquals("textLink","NIST DOM HTML Test - TITLE",vtext); + +} + + + + +function runTest() { + HTMLTitleElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/anchor01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/anchor01.js new file mode 100644 index 0000000..f185f5a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/anchor01.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/anchor01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +A single character access key to give access to the form control. +The value of attribute accessKey of the anchor element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-89647724 +*/ +function anchor01() { + var success; + if(checkInitialization(builder, "anchor01") != null) return; + var nodeList; + var testNode; + var vaccesskey; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vaccesskey = testNode.accessKey; + + assertEquals("accessKeyLink","g",vaccesskey); + +} + + + + +function runTest() { + anchor01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/anchor04.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/anchor04.js new file mode 100644 index 0000000..1a578ef --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/anchor04.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/anchor04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The URI of the linked resource. +The value of attribute href of the anchor element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88517319 +*/ +function anchor04() { + var success; + if(checkInitialization(builder, "anchor04") != null) return; + var nodeList; + var testNode; + var vhref; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vhref = testNode.href; + + assertURIEquals("hrefLink",null,null,null,"submit.gif",null,null,null,true,vhref); + +} + + + + +function runTest() { + anchor04(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/anchor05.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/anchor05.js new file mode 100644 index 0000000..5b0103a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/anchor05.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/anchor05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Advisory content type. +The value of attribute type of the anchor element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63938221 +*/ +function anchor05() { + var success; + if(checkInitialization(builder, "anchor05") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","image/gif",vtype); + +} + + + + +function runTest() { + anchor05(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/area01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/area01.js new file mode 100644 index 0000000..8fe9f88 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/area01.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/area01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "area"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-66021476 +*/ +function area01() { + var success; + if(checkInitialization(builder, "area01") != null) return; + var nodeList; + var testNode; + var vcoords; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "area"); + nodeList = doc.getElementsByTagName("area"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcoords = testNode.coords; + + assertEquals("coordsLink","0,2,45,45",vcoords); + +} + + + + +function runTest() { + area01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/area02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/area02.js new file mode 100644 index 0000000..59d16a8 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/area02.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/area02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "area"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-61826871 +*/ +function area02() { + var success; + if(checkInitialization(builder, "area02") != null) return; + var nodeList; + var testNode; + var vnohref; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "area"); + nodeList = doc.getElementsByTagName("area"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vnohref = testNode.noHref; + + assertFalse("noHrefLink",vnohref); + +} + + + + +function runTest() { + area02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/area03.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/area03.js new file mode 100644 index 0000000..b335beb --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/area03.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/area03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "area"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-8722121 +*/ +function area03() { + var success; + if(checkInitialization(builder, "area03") != null) return; + var nodeList; + var testNode; + var vtabindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "area"); + nodeList = doc.getElementsByTagName("area"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtabindex = testNode.tabIndex; + + assertEquals("tabIndexLink",10,vtabindex); + +} + + + + +function runTest() { + area03(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/area04.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/area04.js new file mode 100644 index 0000000..daefea2 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/area04.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/area04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "area"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-57944457 +*/ +function area04() { + var success; + if(checkInitialization(builder, "area04") != null) return; + var nodeList; + var testNode; + var vaccesskey; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "area"); + nodeList = doc.getElementsByTagName("area"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vaccesskey = testNode.accessKey; + + assertEquals("accessKeyLink","a",vaccesskey); + +} + + + + +function runTest() { + area04(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button01.js new file mode 100644 index 0000000..68151af --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button01.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/button01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Returns the FORM element containing this control. Returns null if this control is not within the context of a form. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71254493 +*/ +function button01() { + var success; + if(checkInitialization(builder, "button01") != null) return; + var nodeList; + var testNode; + var vform; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vform = testNode.form; + + assertNull("formLink",vform); + +} + + + + +function runTest() { + button01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button02.js new file mode 100644 index 0000000..e8f45a4 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button02.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/button02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The value of attribute name of the form element which contains this button is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71254493 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901 +*/ +function button02() { + var success; + if(checkInitialization(builder, "button02") != null) return; + var nodeList; + var testNode; + var formNode; + var vfname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + formNode = testNode.form; + + vfname = formNode.id; + + assertEquals("formLink","form2",vfname); + +} + + + + +function runTest() { + button02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button03.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button03.js new file mode 100644 index 0000000..4ae81ac --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button03.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/button03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The value of attribute action of the form element which contains this button is read and checked against the expected value + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71254493 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-74049184 +*/ +function button03() { + var success; + if(checkInitialization(builder, "button03") != null) return; + var nodeList; + var testNode; + var formNode; + var vfaction; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + formNode = testNode.form; + + vfaction = formNode.action; + + assertEquals("formLink","...",vfaction); + +} + + + + +function runTest() { + button03(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button04.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button04.js new file mode 100644 index 0000000..ff7e32b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button04.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/button04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The value of attribute method of the form element which contains this button is read and checked against the expected value + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71254493 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-82545539 +*/ +function button04() { + var success; + if(checkInitialization(builder, "button04") != null) return; + var nodeList; + var testNode; + var formNode; + var vfmethod; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + formNode = testNode.form; + + vfmethod = formNode.method; + + assertEquals("formLink","POST".toLowerCase(),vfmethod.toLowerCase()); + +} + + + + +function runTest() { + button04(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button05.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button05.js new file mode 100644 index 0000000..1bc6767 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button05.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/button05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +A single character access key to give access to the form control. +The value of attribute accessKey of the button element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-73169431 +*/ +function button05() { + var success; + if(checkInitialization(builder, "button05") != null) return; + var nodeList; + var testNode; + var vakey; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vakey = testNode.accessKey; + + assertEquals("accessKeyLink","f".toLowerCase(),vakey.toLowerCase()); + +} + + + + +function runTest() { + button05(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button06.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button06.js new file mode 100644 index 0000000..84f4118 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button06.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/button06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Index that represents the element's position in the tabbing order. +The value of attribute tabIndex of the button element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39190908 +*/ +function button06() { + var success; + if(checkInitialization(builder, "button06") != null) return; + var nodeList; + var testNode; + var vtabIndex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vtabIndex = testNode.tabIndex; + + assertEquals("tabIndexLink",20,vtabIndex); + +} + + + + +function runTest() { + button06(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button07.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button07.js new file mode 100644 index 0000000..e619d04 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button07.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/button07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The type of button +The value of attribute type of the button element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-27430092 +*/ +function button07() { + var success; + if(checkInitialization(builder, "button07") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","reset",vtype); + +} + + + + +function runTest() { + button07(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button08.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button08.js new file mode 100644 index 0000000..24062ed --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button08.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/button08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The control is unavailable in this context. +The boolean value of attribute disabled of the button element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-92757155 +*/ +function button08() { + var success; + if(checkInitialization(builder, "button08") != null) return; + var nodeList; + var testNode; + var vdisabled; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vdisabled = testNode.disabled; + + assertTrue("disabledLink",vdisabled); + +} + + + + +function runTest() { + button08(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button09.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button09.js new file mode 100644 index 0000000..4db3697 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/button09.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/button09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "button"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The current form control value. +The value of attribute value of the button element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-72856782 +*/ +function button09() { + var success; + if(checkInitialization(builder, "button09") != null) return; + var nodeList; + var testNode; + var vvalue; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "button"); + nodeList = doc.getElementsByTagName("button"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vvalue = testNode.value; + + assertEquals("typeLink","Reset Disabled Button",vvalue); + +} + + + + +function runTest() { + button09(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/doc01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/doc01.js new file mode 100644 index 0000000..4565ccf --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/doc01.js @@ -0,0 +1,106 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/doc01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Retrieve the title attribute of HTMLDocument and examine it's value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-18446827 +*/ +function doc01() { + var success; + if(checkInitialization(builder, "doc01") != null) return; + var vtitle; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + vtitle = doc.title; + + assertEquals("titleLink","NIST DOM HTML Test - Anchor",vtitle); + +} + + + + +function runTest() { + doc01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/.cvsignore b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/.cvsignore new file mode 100644 index 0000000..30d6772 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/.cvsignore @@ -0,0 +1,6 @@ +xhtml1-frameset.dtd +xhtml1-strict.dtd +xhtml1-transitional.dtd +xhtml-lat1.ent +xhtml-special.ent +xhtml-symbol.ent diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/HTMLDocument04.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/HTMLDocument04.html new file mode 100644 index 0000000..6e56eac --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/HTMLDocument04.html @@ -0,0 +1,36 @@ + + + + +NIST DOM HTML Test - DOCUMENT + + +
    +

    + + + +

    +
    +

    + +Domain +Domain + +

    +

    +DTS IMAGE LOGO +

    +

    + + + + + + +

    +

    +View Submit Button +

    + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/anchor.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/anchor.html new file mode 100644 index 0000000..952e8d9 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/anchor.html @@ -0,0 +1,12 @@ + + + + +NIST DOM HTML Test - Anchor + + +

    +View Submit Button +

    + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/anchor2.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/anchor2.html new file mode 100644 index 0000000..1b04fb9 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/anchor2.html @@ -0,0 +1,13 @@ + + + + +NIST DOM HTML Test - Anchor + + +

    +View Submit Button +

    + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/applet.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/applet.html new file mode 100644 index 0000000..d721cf1 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/applet.html @@ -0,0 +1,12 @@ + + + + +NIST DOM HTML Test - Applet + + +

    + +

    + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/applet2.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/applet2.html new file mode 100644 index 0000000..0379ed1 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/applet2.html @@ -0,0 +1,12 @@ + + + + +NIST DOM HTML Test - Applet + + +

    + +

    + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/area.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/area.html new file mode 100644 index 0000000..dddff68 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/area.html @@ -0,0 +1,14 @@ + + + + +NIST DOM HTML Test - Area + + +

    + +Domain + +

    + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/area2.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/area2.html new file mode 100644 index 0000000..f1ae081 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/area2.html @@ -0,0 +1,15 @@ + + + + +NIST DOM HTML Test - Area + + +

    + +Domain + +

    + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/base.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/base.html new file mode 100644 index 0000000..53d151d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/base.html @@ -0,0 +1,11 @@ + + + + + +NIST DOM HTML Test - Base + + +

    Some Text

    + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/base2.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/base2.html new file mode 100644 index 0000000..c9e0d1a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/base2.html @@ -0,0 +1,15 @@ + + + + + +NIST DOM HTML Test - Base2 + + + + + + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/basefont.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/basefont.html new file mode 100644 index 0000000..e3753f7 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/basefont.html @@ -0,0 +1,12 @@ + + + + +NIST DOM HTML Test - BaseFont + + +

    + +

    + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/body.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/body.html new file mode 100644 index 0000000..6468cd0 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/body.html @@ -0,0 +1,10 @@ + + + + +NIST DOM HTML Test - Body + + +

    Hello, World

    + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/br.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/br.html new file mode 100644 index 0000000..0a3a3d4 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/br.html @@ -0,0 +1,12 @@ + + + + +NIST DOM HTML Test - BR + + +

    +
    +

    + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/button.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/button.html new file mode 100644 index 0000000..c891ba4 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/button.html @@ -0,0 +1,21 @@ + + + + +NIST DOM HTML Test - Button + + +
    +

    + +

    +
    + + + + +
    + +
    + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/collection.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/collection.html new file mode 100644 index 0000000..885202d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/collection.html @@ -0,0 +1,79 @@ + + + + +NIST DOM HTML Test - SELECT + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table Caption
    Employee IdEmployee NamePositionSalaryGenderAddress
    next page ...next page ...next page ...next page ...next page ...next page ...
    EMP0001Margaret MartinAccountant56,000Female1230 North Ave. Dallas, Texas 98551
    EMP0002Martha RaynoldsSecretary35,000Female1900 Dallas Road Dallas, Texas 98554
    +
    +

    + +

    +
    +

    + +

    +

    + +

    + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/directory.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/directory.html new file mode 100644 index 0000000..0e2f460 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/directory.html @@ -0,0 +1,14 @@ + + + + +NIST DOM HTML Test - Directory + + + +
  • DIR item number 1.
  • +
  • DIR item number 2.
  • +
  • DIR item number 3.
  • +
    + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/div.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/div.html new file mode 100644 index 0000000..6b83646 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/div.html @@ -0,0 +1,10 @@ + + + + +NIST DOM HTML Test - DIV + + +
    The DIV element is a generic block container. This text should be centered.
    + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/dl.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/dl.html new file mode 100644 index 0000000..5dec3af --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/dl.html @@ -0,0 +1,15 @@ + + + + +NIST DOM HTML Test - DL + + +
    +
    Accountant
    +
    56,000
    +
    Female
    +
    1230 North Ave. Dallas, Texas 98551
    +
    + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/document.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/document.html new file mode 100644 index 0000000..9cd9c8a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/document.html @@ -0,0 +1,36 @@ + + + + +NIST DOM HTML Test - DOCUMENT + + +
    +

    + + + +

    +
    +

    + +Domain +Domain + +

    +

    +DTS IMAGE LOGO +

    +

    + + + + + + +

    +

    +View Submit Button +

    + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/element.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/element.html new file mode 100644 index 0000000..a0c198e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/element.html @@ -0,0 +1,81 @@ + + + + +NIST DOM HTML Test - Element + + +
    + +
    +
    +

    Test Lists

    +
    +
    +
      +
    1. EMP0001 +
        +
      • Margaret Martin +
        +
        Accountant
        +
        56,000
        +
        Female
        +
        1230 North Ave. Dallas, Texas 98551
        +
        +
      • +
      +
    2. +
    +
    +Bold +
    +
    +
    DT element
    +
    +
    +Bidirectional algorithm overide + +
    +Italicized +
    + +
    +Teletype +
    +Subscript +
    +SuperScript +
    +Strike Through (S) +
    +Strike Through (STRIKE) +
    +Small +
    +Big +
    +Emphasis +
    +Strong +
    + + 10 Computer Code Fragment 20 Temp = 10 + Temp = 20 + *2 + Temp + Citation + +
    +Temp +
    +NIST +
    +
    Gaithersburg, MD 20899
    +
    +Not +
    + +
    +Underlined + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/fieldset.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/fieldset.html new file mode 100644 index 0000000..312ea44 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/fieldset.html @@ -0,0 +1,23 @@ + + + + +NIST DOM HTML Test - FieldSet + + +
    +
    +All data entered must be valid +
    +
    + + + + +
    +
    +All data entered must be valid +
    +
    + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/font.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/font.html new file mode 100644 index 0000000..894e442 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/font.html @@ -0,0 +1,10 @@ + + + + +NIST DOM HTML Test - Font + + +Test Tables + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/form.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/form.html new file mode 100644 index 0000000..d8bf024 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/form.html @@ -0,0 +1,17 @@ + + + + +NIST DOM HTML Test - FORM + + +
    +

    + + + +

    +
    + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/form2.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/form2.html new file mode 100644 index 0000000..c44b672 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/form2.html @@ -0,0 +1,17 @@ + + + + +NIST DOM HTML Test - FORM + + +
    +

    + + + +

    +
    + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/form3.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/form3.html new file mode 100644 index 0000000..543d09e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/form3.html @@ -0,0 +1,17 @@ + + + + +FORM3 + + +
    +

    + + + +

    +
    + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/frame.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/frame.html new file mode 100644 index 0000000..41182c9 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/frame.html @@ -0,0 +1,14 @@ + + + + +NIST DOM HTML Test - FRAME + + + + + + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/frameset.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/frameset.html new file mode 100644 index 0000000..f208fe0 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/frameset.html @@ -0,0 +1,14 @@ + + + + +NIST DOM HTML Test - FRAMESET + + + + + + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/head.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/head.html new file mode 100644 index 0000000..5bbb8c0 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/head.html @@ -0,0 +1,11 @@ + + + + +NIST DOM HTML Test - HEAD + + +

    Hello, World.

    + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/heading.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/heading.html new file mode 100644 index 0000000..90d388c --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/heading.html @@ -0,0 +1,16 @@ + + + + +NIST DOM HTML Test - HEADING + + +

    Head Element 1

    +

    Head Element 2

    +

    Head Element 3

    +

    Head Element 4

    +
    Head Element 5
    +
    Head Element 6
    + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/hr.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/hr.html new file mode 100644 index 0000000..9c4facc --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/hr.html @@ -0,0 +1,11 @@ + + + + +NIST DOM HTML Test - HR + + +
    + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/html.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/html.html new file mode 100644 index 0000000..2c91731 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/html.html @@ -0,0 +1,12 @@ + + + + +NIST DOM HTML Test - Html + + +

    Hello, World.

    + + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/iframe.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/iframe.html new file mode 100644 index 0000000..0a44fc3 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/iframe.html @@ -0,0 +1,10 @@ + + + + +NIST DOM HTML Test - IFRAME + + + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/img.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/img.html new file mode 100644 index 0000000..b4e8b27 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/img.html @@ -0,0 +1,13 @@ + + + + +NIST DOM HTML Test - IMG + + +

    +DTS IMAGE LOGO +

    + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/input.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/input.html new file mode 100644 index 0000000..c36e87d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/input.html @@ -0,0 +1,60 @@ + + + + +NIST DOM HTML Test - INPUT + + + + + + +
    Under a FORM control +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    +ReHire +
    +NewHire +
    Hours available to work +EarlyMornings +
    +Afternoon +
    +Evenings +
    +Closing +
    +
    + +
    + +
    +
    +
    + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/isindex.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/isindex.html new file mode 100644 index 0000000..0fd50ce --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/isindex.html @@ -0,0 +1,14 @@ + + + + +NIST DOM HTML Test - ISINDEX + + +
    + + + + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/label.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/label.html new file mode 100644 index 0000000..d0abc04 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/label.html @@ -0,0 +1,21 @@ + + + + +NIST DOM HTML Test - LABEL + + +
    +

    + + +

    +
    +

    + + +

    + + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/legend.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/legend.html new file mode 100644 index 0000000..53160ee --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/legend.html @@ -0,0 +1,22 @@ + + + + +NIST DOM HTML Test - LEGEND + + +
    +
    +Enter Password1: + +
    +
    +
    +Enter Password2: + +
    + + + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/li.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/li.html new file mode 100644 index 0000000..0c97b4c --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/li.html @@ -0,0 +1,23 @@ + + + + +NIST DOM HTML Test - LI + + +
      +
    1. EMP0001 +
        +
      • Margaret Martin +
        +
        Accountant
        +
        56,000
        +
        Female
        +
        +
      • +
      +
    2. +
    + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/link.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/link.html new file mode 100644 index 0000000..2d4c082 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/link.html @@ -0,0 +1,15 @@ + + + + +NIST DOM HTML Test - LINK + + + + +

    +
    +

    + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/link2.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/link2.html new file mode 100644 index 0000000..12fac9d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/link2.html @@ -0,0 +1,15 @@ + + + + +NIST DOM HTML Test - LINK + + + + +

    +
    +

    + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/map.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/map.html new file mode 100644 index 0000000..a636fa5 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/map.html @@ -0,0 +1,16 @@ + + + + +NIST DOM HTML Test - MAP + + +

    + +Domain1 +Domain2 +Domain3 + +

    + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/menu.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/menu.html new file mode 100644 index 0000000..e07204f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/menu.html @@ -0,0 +1,15 @@ + + + + +NIST DOM HTML Test - MENU + + + +
  • Interview
  • +
  • Paperwork
  • +
  • Give start date
  • +
    + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/meta.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/meta.html new file mode 100644 index 0000000..e88fe8f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/meta.html @@ -0,0 +1,13 @@ + + + + +NIST DOM HTML Test - META + + +

    +
    +

    + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/mod.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/mod.html new file mode 100644 index 0000000..1ab7969 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/mod.html @@ -0,0 +1,15 @@ + + + + +NIST DOM HTML Test - MOD + + +

    +The INS element is used to indicate that a section of a document had been inserted. +
    +The DEL element is used to indicate that a section of a document had been removed. +

    + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/object.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/object.html new file mode 100644 index 0000000..7960549 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/object.html @@ -0,0 +1,18 @@ + + + + +NIST DOM HTML Test - OBJECT + + +

    + +

    +
    +

    + +

    +
    + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/object2.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/object2.html new file mode 100644 index 0000000..0a39363 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/object2.html @@ -0,0 +1,17 @@ + + + + +NIST DOM HTML Test - OBJECT + + +

    + +

    +
    +

    + +

    +
    + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/olist.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/olist.html new file mode 100644 index 0000000..f69c9de --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/olist.html @@ -0,0 +1,32 @@ + + + + +NIST DOM HTML Test - OLIST + + +
      +
    1. EMP0001 +
        +
      • Margaret Martin +
        +
        Accountant
        +
        56,000
        +
        +
      • +
      +
    2. +
    3. EMP0002 +
        +
      • Martha Raynolds +
        +
        Secretary
        +
        35,000
        +
        +
      • +
      +
    4. +
    + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/optgroup.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/optgroup.html new file mode 100644 index 0000000..a354af8 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/optgroup.html @@ -0,0 +1,25 @@ + + + + +NIST DOM HTML Test - OPTGROUP + + +
    +

    + +

    +
    + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/option.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/option.html new file mode 100644 index 0000000..83707c3 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/option.html @@ -0,0 +1,36 @@ + + + + +NIST DOM HTML Test - OPTION + + +
    +

    + +

    +
    +

    + +

    + + + + + + + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/paragraph.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/paragraph.html new file mode 100644 index 0000000..0da4836 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/paragraph.html @@ -0,0 +1,13 @@ + + + + +NIST DOM HTML Test - PARAGRAPH + + +

    +TEXT +

    + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/param.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/param.html new file mode 100644 index 0000000..290e626 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/param.html @@ -0,0 +1,14 @@ + + + + +NIST DOM HTML Test - PARAM + + +

    + + + +

    + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/pre.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/pre.html new file mode 100644 index 0000000..2a40206 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/pre.html @@ -0,0 +1,17 @@ + + + + +NIST DOM HTML Test - PRE + + +
    The PRE is used to indicate pre-formatted text.  Visual agents may:
    +
    +                leave white space intact.
    +                May render text with a fixed-pitch font.
    +                May disable automatic word wrap.
    +                Must not disable bidirectional processing.
    +
    + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/quote.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/quote.html new file mode 100644 index 0000000..6bad2b8 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/quote.html @@ -0,0 +1,16 @@ + + + + +NIST DOM HTML Test - QUOTE + + +

    +The Q element is intended for short quotations +

    +
    +

    The BLOCKQUOTE element is used for long quotations.

    +
    + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/script.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/script.html new file mode 100644 index 0000000..362860b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/script.html @@ -0,0 +1,11 @@ + + + + +NIST DOM HTML Test - SCRIPT + + + + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/select.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/select.html new file mode 100644 index 0000000..7820624 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/select.html @@ -0,0 +1,44 @@ + + + + +NIST DOM HTML Test - SELECT + + +
    +

    + +

    +
    +

    + +

    +

    + +

    + + + + + + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/style.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/style.html new file mode 100644 index 0000000..c3df424 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/style.html @@ -0,0 +1,12 @@ + + + + + +NIST DOM HTML Test - STYLE + + +

    Hello, World.

    + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/table.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/table.html new file mode 100644 index 0000000..b8f151e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/table.html @@ -0,0 +1,78 @@ + + + + +NIST DOM HTML Test - TABLE + + + + + + + + + +
    IdNamePositionSalary
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table Caption
    Employee IdEmployee NamePositionSalaryGenderAddress
    next page ...next page ...next page ...next page ...next page ...next page ...
    EMP0001Margaret MartinAccountant56,000Female1230 North Ave. Dallas, Texas 98551
    EMP0002Martha RaynoldsSecretary35,000Female1900 Dallas Road Dallas, Texas 98554
    + + + + + + + + + + + + + + + + +
    +
    +
    +
    + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/table1.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/table1.html new file mode 100644 index 0000000..8f5d19b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/table1.html @@ -0,0 +1,12 @@ + + + + +NIST DOM HTML Test - TABLE + + + + +
    HTML can't abide empty table
    + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/tablecaption.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/tablecaption.html new file mode 100644 index 0000000..f9181c7 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/tablecaption.html @@ -0,0 +1,25 @@ + + + + +NIST DOM HTML Test - TABLECAPTION + + + + + + + + + + +
    CAPTION 1
    Employee IdEmployee NamePositionSalary
    + + + + + + + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/tablecell.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/tablecell.html new file mode 100644 index 0000000..c9adef2 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/tablecell.html @@ -0,0 +1,23 @@ + + + + +NIST DOM HTML Test - TABLECELL + + + + + + + + + + + + + + + +
    Employee IdEmployee NamePositionSalary
    EMP0001Margaret MartinAccountant56,000
    + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/tablecol.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/tablecol.html new file mode 100644 index 0000000..c72a948 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/tablecol.html @@ -0,0 +1,35 @@ + + + + +NIST DOM HTML Test - TABLECOL + + + +++ + + + + + + + + + + + + +
    IdNamePositionSalary
    EMP0001MartinAccountant56,000
    + + + + + + + + + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/tablerow.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/tablerow.html new file mode 100644 index 0000000..9e76a4c --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/tablerow.html @@ -0,0 +1,59 @@ + + + + +NIST DOM HTML Test - TABLEROW + + + + + + + + + +
    IdNamePositionSalary
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table Caption
    Employee IdEmployee NamePositionSalaryGenderAddress
    next page ...next page ...next page ...next page ...next page ...next page ...
    EMP0001Margaret MartinAccountant56,000Female1230 North Ave. Dallas, Texas 98551
    EMP0002Martha RaynoldsSecretary35,000Female1900 Dallas Road Dallas, Texas 98554
    + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/tablesection.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/tablesection.html new file mode 100644 index 0000000..0c1a5f7 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/tablesection.html @@ -0,0 +1,62 @@ + + + + +NIST DOM HTML Test - TABLESECTION + + + + + + + + + + + +
    IdNamePositionSalary
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table Caption
    Employee IdEmployee NamePositionSalaryGenderAddress
    next page ...next page ...next page ...next page ...next page ...next page ...
    EMP0001Margaret MartinAccountant56,000Female1230 North Ave. Dallas, Texas 98551
    EMP0002Martha RaynoldsSecretary35,000Female1900 Dallas Road Dallas, Texas 98554
    + + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/textarea.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/textarea.html new file mode 100644 index 0000000..b9aedc4 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/textarea.html @@ -0,0 +1,26 @@ + + + + +NIST DOM HTML Test - TEXTAREA + + +
    +

    + + + +

    +
    +

    + + + + + + +

    + + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/title.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/title.html new file mode 100644 index 0000000..2078ee9 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/title.html @@ -0,0 +1,13 @@ + + + + +NIST DOM HTML Test - TITLE + + +

    +
    +

    + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/ulist.html b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/ulist.html new file mode 100644 index 0000000..75498e2 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/files/ulist.html @@ -0,0 +1,36 @@ + + + + +NIST DOM HTML Test - ULIST + + +
      +
    1. EMP0001 +
        +
      • Margaret Martin +
        +
        Accountant
        +
        56,000
        +
        Female
        +
        1230 North Ave. Dallas, Texas 98551
        +
        +
      • +
      +
    2. +
    3. EMP0002 +
        +
      • Martha Raynolds +
        +
        Secretary
        +
        35,000
        +
        Female
        +
        1900 Dallas Road. Dallas, Texas 98554
        +
        +
      • +
      +
    4. +
    + + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/hasFeature01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/hasFeature01.js new file mode 100644 index 0000000..d717032 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/hasFeature01.js @@ -0,0 +1,96 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/hasFeature01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + if (docsLoaded == 0) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 0) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +hasFeature("hTmL", null) should return true. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-5CED94D7 +*/ +function hasFeature01() { + var success; + if(checkInitialization(builder, "hasFeature01") != null) return; + var doc; + var domImpl; + var version = null; + + var state; + domImpl = getImplementation(); +state = domImpl.hasFeature("hTmL",version); +assertTrue("hasHTMLnull",state); + +} + + + + +function runTest() { + hasFeature01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument02.js new file mode 100644 index 0000000..4d3d8e5 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument02.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The referrer attribute returns the URI of the page that linked to this + page. + + Retrieve the referrer attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95229140 +*/ +function HTMLDocument02() { + var success; + if(checkInitialization(builder, "HTMLDocument02") != null) return; + var nodeList; + var testNode; + var vreferrer; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + vreferrer = doc.referrer; + + assertEquals("referrerLink","",vreferrer); + +} + + + + +function runTest() { + HTMLDocument02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument03.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument03.js new file mode 100644 index 0000000..884dd1a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument03.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The domain attribute specifies the domain name of the server that served + the document, or null if the server cannot be identified by a domain name. + + Retrieve the domain attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-2250147 +*/ +function HTMLDocument03() { + var success; + if(checkInitialization(builder, "HTMLDocument03") != null) return; + var nodeList; + var testNode; + var vdomain; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + vdomain = doc.domain; + + assertEquals("domainLink","",vdomain); + +} + + + + +function runTest() { + HTMLDocument03(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument04.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument04.js new file mode 100644 index 0000000..c8c7669 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument04.js @@ -0,0 +1,110 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "HTMLDocument04"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The URL attribute specifies the absolute URI of the document. + + Retrieve the URL attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-46183437 +*/ +function HTMLDocument04() { + var success; + if(checkInitialization(builder, "HTMLDocument04") != null) return; + var nodeList; + var testNode; + var vurl; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "HTMLDocument04"); + vurl = doc.URL; + + assertURIEquals("URLLink",null,null,null,null,"HTMLDocument04",null,null,true,vurl); + +} + + + + +function runTest() { + HTMLDocument04(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument07.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument07.js new file mode 100644 index 0000000..4223896 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument07.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The images attribute returns a collection of all IMG elements in a document. + + Retrieve the images attribute from the document and examine its value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-90379117 +*/ +function HTMLDocument07() { + var success; + if(checkInitialization(builder, "HTMLDocument07") != null) return; + var nodeList; + var testNode; + var vimages; + var vlength; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + vimages = doc.images; + + vlength = vimages.length; + + assertEquals("lengthLink",1,vlength); + +} + + + + +function runTest() { + HTMLDocument07(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument09.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument09.js new file mode 100644 index 0000000..bea426e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument09.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The links attribute returns a collection of all AREA and A elements + in a document with a value for the href attribute. + + Retrieve the links attribute from the document and examine its value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-7068919 +*/ +function HTMLDocument09() { + var success; + if(checkInitialization(builder, "HTMLDocument09") != null) return; + var nodeList; + var testNode; + var vlinks; + var vlength; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + vlinks = doc.links; + + vlength = vlinks.length; + + assertEquals("lengthLink",3,vlength); + +} + + + + +function runTest() { + HTMLDocument09(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument10.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument10.js new file mode 100644 index 0000000..0595c99 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument10.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The forms attribute returns a collection of all the forms in a document. + + Retrieve the forms attribute from the document and examine its value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-1689064 +*/ +function HTMLDocument10() { + var success; + if(checkInitialization(builder, "HTMLDocument10") != null) return; + var nodeList; + var testNode; + var vforms; + var vlength; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + vforms = doc.forms; + + vlength = vforms.length; + + assertEquals("lengthLink",1,vlength); + +} + + + + +function runTest() { + HTMLDocument10(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument12.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument12.js new file mode 100644 index 0000000..9be7e7b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLDocument12.js @@ -0,0 +1,109 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The cookie attribute returns the cookies associated with this document. + + Retrieve the cookie attribute and examine its value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-8747038 +*/ +function HTMLDocument12() { + var success; + if(checkInitialization(builder, "HTMLDocument12") != null) return; + var nodeList; + var vcookie; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + vcookie = doc.cookie; + + assertEquals("cookieLink","",vcookie); + +} + + + + +function runTest() { + HTMLDocument12(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement01.js new file mode 100644 index 0000000..11aefe8 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement01.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFormElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "form"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The elements attribute specifies a collection of all control element + in the form. + + Retrieve the elements attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76728479 +*/ +function HTMLFormElement01() { + var success; + if(checkInitialization(builder, "HTMLFormElement01") != null) return; + var nodeList; + var elementnodeList; + var testNode; + var velements; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "form"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + elementnodeList = testNode.elements; + + velements = elementnodeList.length; + + assertEquals("elementsLink",3,velements); + +} + + + + +function runTest() { + HTMLFormElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement09.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement09.js new file mode 100644 index 0000000..07c97ae --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement09.js @@ -0,0 +1,107 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFormElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "form2"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +HTMLFormElement.reset restores the forms default values. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76767677 +*/ +function HTMLFormElement09() { + var success; + if(checkInitialization(builder, "HTMLFormElement09") != null) return; + var nodeList; + var testNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "form2"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + testNode.reset(); + +} + + + + +function runTest() { + HTMLFormElement09(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement10.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement10.js new file mode 100644 index 0000000..fd8a2a1 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLFormElement10.js @@ -0,0 +1,107 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFormElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "form3"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +HTMLFormElement.submit submits the form. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76767676 +*/ +function HTMLFormElement10() { + var success; + if(checkInitialization(builder, "HTMLFormElement10") != null) return; + var nodeList; + var testNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "form3"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + testNode.submit(); + +} + + + + +function runTest() { + HTMLFormElement10(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement19.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement19.js new file mode 100644 index 0000000..5141acf --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement19.js @@ -0,0 +1,107 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement19"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +HTMLInputElement.blur should surrender input focus. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-26838235 +*/ +function HTMLInputElement19() { + var success; + if(checkInitialization(builder, "HTMLInputElement19") != null) return; + var nodeList; + var testNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(1); + testNode.blur(); + +} + + + + +function runTest() { + HTMLInputElement19(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement20.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement20.js new file mode 100644 index 0000000..aac64e9 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement20.js @@ -0,0 +1,107 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement20"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +HTMLInputElement.focus should capture input focus. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-65996295 +*/ +function HTMLInputElement20() { + var success; + if(checkInitialization(builder, "HTMLInputElement20") != null) return; + var nodeList; + var testNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(1); + testNode.focus(); + +} + + + + +function runTest() { + HTMLInputElement20(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement22.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement22.js new file mode 100644 index 0000000..a1ce02e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLInputElement22.js @@ -0,0 +1,108 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement22"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +HTMLInputElement.select should select the contents of a text area. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-34677168 +*/ +function HTMLInputElement22() { + var success; + if(checkInitialization(builder, "HTMLInputElement22") != null) return; + var nodeList; + var testNode; + var doc; + var checked; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(0); + testNode.select(); + +} + + + + +function runTest() { + HTMLInputElement22(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement01.js new file mode 100644 index 0000000..925bfca --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement01.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The type attribute is the string "select-multiple" when multiple + attribute is true. + + Retrieve the type attribute from the first SELECT element and + examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-58783172 +*/ +function HTMLSelectElement01() { + var success; + if(checkInitialization(builder, "HTMLSelectElement01") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","select-multiple",vtype); + +} + + + + +function runTest() { + HTMLSelectElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement02.js new file mode 100644 index 0000000..cf4665b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement02.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The selectedIndex attribute specifies the ordinal index of the selected + option. + + Retrieve the selectedIndex attribute from the first SELECT element and + examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-85676760 +*/ +function HTMLSelectElement02() { + var success; + if(checkInitialization(builder, "HTMLSelectElement02") != null) return; + var nodeList; + var testNode; + var vselectedindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vselectedindex = testNode.selectedIndex; + + assertEquals("selectedIndexLink",0,vselectedindex); + +} + + + + +function runTest() { + HTMLSelectElement02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement04.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement04.js new file mode 100644 index 0000000..149ee9c --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement04.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The value attribute specifies the current form control value. + + Retrieve the value attribute from the first SELECT element and + examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59351919 +*/ +function HTMLSelectElement04() { + var success; + if(checkInitialization(builder, "HTMLSelectElement04") != null) return; + var nodeList; + var testNode; + var vvalue; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vvalue = testNode.value; + + assertEquals("valueLink","EMP1",vvalue); + +} + + + + +function runTest() { + HTMLSelectElement04(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement05.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement05.js new file mode 100644 index 0000000..0ad9c9d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement05.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The length attribute specifies the number of options in this select. + + Retrieve the length attribute from the first SELECT element and + examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-5933486 +*/ +function HTMLSelectElement05() { + var success; + if(checkInitialization(builder, "HTMLSelectElement05") != null) return; + var nodeList; + var testNode; + var vlength; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vlength = testNode.length; + + assertEquals("lengthLink",5,vlength); + +} + + + + +function runTest() { + HTMLSelectElement05(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement14.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement14.js new file mode 100644 index 0000000..c41c697 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement14.js @@ -0,0 +1,107 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement14"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +focus should give the select element input focus. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-32130014 +*/ +function HTMLSelectElement14() { + var success; + if(checkInitialization(builder, "HTMLSelectElement14") != null) return; + var nodeList; + var testNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + testNode.focus(); + +} + + + + +function runTest() { + HTMLSelectElement14(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement15.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement15.js new file mode 100644 index 0000000..43bd641 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement15.js @@ -0,0 +1,107 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement15"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +blur should surrender input focus. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-28216144 +*/ +function HTMLSelectElement15() { + var success; + if(checkInitialization(builder, "HTMLSelectElement15") != null) return; + var nodeList; + var testNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + testNode.blur(); + +} + + + + +function runTest() { + HTMLSelectElement15(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement16.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement16.js new file mode 100644 index 0000000..e7175a2 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement16.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement16"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Removes an option using HTMLSelectElement.remove. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33404570 +*/ +function HTMLSelectElement16() { + var success; + if(checkInitialization(builder, "HTMLSelectElement16") != null) return; + var nodeList; + var testNode; + var doc; + var optLength; + var selected; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + testNode.remove(0); + optLength = testNode.length; + + assertEquals("optLength",4,optLength); + selected = testNode.selectedIndex; + + assertEquals("selected",-1,selected); + +} + + + + +function runTest() { + HTMLSelectElement16(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement17.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement17.js new file mode 100644 index 0000000..4f8a99f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement17.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement17"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Removes a non-existant option using HTMLSelectElement.remove. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33404570 +*/ +function HTMLSelectElement17() { + var success; + if(checkInitialization(builder, "HTMLSelectElement17") != null) return; + var nodeList; + var testNode; + var doc; + var optLength; + var selected; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + testNode.remove(6); + optLength = testNode.length; + + assertEquals("optLength",5,optLength); + selected = testNode.selectedIndex; + + assertEquals("selected",0,selected); + +} + + + + +function runTest() { + HTMLSelectElement17(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement18.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement18.js new file mode 100644 index 0000000..74d793c --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement18.js @@ -0,0 +1,133 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement18"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Add a new option at the end of an select using HTMLSelectElement.add. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14493106 +*/ +function HTMLSelectElement18() { + var success; + if(checkInitialization(builder, "HTMLSelectElement18") != null) return; + var nodeList; + var testNode; + var doc; + var optLength; + var selected; + var newOpt; + var newOptText; + var opt; + var optText; + var optValue; + var retNode; + var nullNode = null; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + newOpt = doc.createElement("option"); + newOptText = doc.createTextNode("EMP31415"); + retNode = newOpt.appendChild(newOptText); + testNode.add(newOpt,nullNode); + optLength = testNode.length; + + assertEquals("optLength",6,optLength); + selected = testNode.selectedIndex; + + assertEquals("selected",0,selected); + opt = testNode.lastChild; + + optText = opt.firstChild; + + optValue = optText.nodeValue; + + assertEquals("lastValue","EMP31415",optValue); + +} + + + + +function runTest() { + HTMLSelectElement18(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement19.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement19.js new file mode 100644 index 0000000..8e4dcc1 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLSelectElement19.js @@ -0,0 +1,137 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLSelectElement19"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "select"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Add a new option before the selected node using HTMLSelectElement.add. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14493106 +*/ +function HTMLSelectElement19() { + var success; + if(checkInitialization(builder, "HTMLSelectElement19") != null) return; + var nodeList; + var testNode; + var doc; + var optLength; + var selected; + var newOpt; + var newOptText; + var opt; + var optText; + var optValue; + var retNode; + var options; + var selectedNode; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "select"); + nodeList = doc.getElementsByTagName("select"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + newOpt = doc.createElement("option"); + newOptText = doc.createTextNode("EMP31415"); + retNode = newOpt.appendChild(newOptText); + options = testNode.options; + + selectedNode = options.item(0); + testNode.add(newOpt,selectedNode); + optLength = testNode.length; + + assertEquals("optLength",6,optLength); + selected = testNode.selectedIndex; + + assertEquals("selected",1,selected); + options = testNode.options; + + opt = options.item(0); + optText = opt.firstChild; + + optValue = optText.nodeValue; + + assertEquals("lastValue","EMP31415",optValue); + +} + + + + +function runTest() { + HTMLSelectElement19(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement08.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement08.js new file mode 100644 index 0000000..4105582 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement08.js @@ -0,0 +1,129 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The tBodies attribute returns a collection of all the defined + table bodies. + + Retrieve the tBodies attribute from the second TABLE element and + examine the items of the returned collection. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63206416 +*/ +function HTMLTableElement08() { + var success; + if(checkInitialization(builder, "HTMLTableElement08") != null) return; + var nodeList; + var tbodiesnodeList; + var testNode; + var doc; + var tbodiesName; + var vtbodies; + var result = new Array(); + + expectedOptions = new Array(); + expectedOptions[0] = "tbody"; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + tbodiesnodeList = testNode.tBodies; + + for(var indexN65632 = 0;indexN65632 < tbodiesnodeList.length; indexN65632++) { + vtbodies = tbodiesnodeList.item(indexN65632); + tbodiesName = vtbodies.nodeName; + + result[result.length] = tbodiesName; + + } + assertEqualsListAutoCase("element", "tbodiesLink",expectedOptions,result); + +} + + + + +function runTest() { + HTMLTableElement08(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement09.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement09.js new file mode 100644 index 0000000..83a420a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement09.js @@ -0,0 +1,132 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The tBodies attribute returns a collection of all the defined + table bodies. + + Retrieve the tBodies attribute from the third TABLE element and + examine the items of the returned collection. Tests multiple TBODY + elements. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63206416 +*/ +function HTMLTableElement09() { + var success; + if(checkInitialization(builder, "HTMLTableElement09") != null) return; + var nodeList; + var tbodiesnodeList; + var testNode; + var doc; + var tbodiesName; + var vtbodies; + var result = new Array(); + + expectedOptions = new Array(); + expectedOptions[0] = "tbody"; + expectedOptions[1] = "tbody"; + expectedOptions[2] = "tbody"; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(2); + tbodiesnodeList = testNode.tBodies; + + for(var indexN65638 = 0;indexN65638 < tbodiesnodeList.length; indexN65638++) { + vtbodies = tbodiesnodeList.item(indexN65638); + tbodiesName = vtbodies.nodeName; + + result[result.length] = tbodiesName; + + } + assertEqualsListAutoCase("element", "tbodiesLink",expectedOptions,result); + +} + + + + +function runTest() { + HTMLTableElement09(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement19.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement19.js new file mode 100644 index 0000000..e9d5d98 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement19.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement19"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The createTHead() method creates a table header row or returns + an existing one. + + Create a new THEAD element on the first TABLE element. The first + TABLE element should return null to make sure one doesn't exist. + After creation of the THEAD element the value is once again + checked and should not be null. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-70313345 +*/ +function HTMLTableElement19() { + var success; + if(checkInitialization(builder, "HTMLTableElement19") != null) return; + var nodeList; + var testNode; + var vsection1; + var vsection2; + var newHead; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vsection1 = testNode.tHead; + + assertNull("vsection1Id",vsection1); + newHead = testNode.createTHead(); + vsection2 = testNode.tHead; + + assertNotNull("vsection2Id",vsection2); + +} + + + + +function runTest() { + HTMLTableElement19(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement20.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement20.js new file mode 100644 index 0000000..b2aba77 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement20.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement20"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The createTHead() method creates a table header row or returns + an existing one. + + Try to create a new THEAD element on the second TABLE element. + Since a THEAD element already exists in the TABLE element a new + THEAD element is not created and information from the already + existing THEAD element is returned. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-70313345 +*/ +function HTMLTableElement20() { + var success; + if(checkInitialization(builder, "HTMLTableElement20") != null) return; + var nodeList; + var testNode; + var vsection; + var newHead; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + newHead = testNode.createTHead(); + vsection = testNode.tHead; + + valign = vsection.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLTableElement20(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement21.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement21.js new file mode 100644 index 0000000..2c3145b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement21.js @@ -0,0 +1,139 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement21"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The deleteTHead() method deletes the header from the table. + + The deleteTHead() method will delete the THEAD Element from the + second TABLE element. First make sure that the THEAD element exists + and then count the number of rows. After the THEAD element is + deleted there should be one less row. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-38310198 +*/ +function HTMLTableElement21() { + var success; + if(checkInitialization(builder, "HTMLTableElement21") != null) return; + var nodeList; + var rowsnodeList; + var testNode; + var vsection1; + var vsection2; + var vrows; + var doc; + var result = new Array(); + + expectedResult = new Array(); + expectedResult[0] = 4; + expectedResult[1] = 3; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vsection1 = testNode.tHead; + + assertNotNull("vsection1Id",vsection1); +rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + result[result.length] = vrows; +testNode.deleteTHead(); + vsection2 = testNode.tHead; + + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + result[result.length] = vrows; +assertEqualsList("rowsLink",expectedResult,result); + +} + + + + +function runTest() { + HTMLTableElement21(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement22.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement22.js new file mode 100644 index 0000000..e725f71 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement22.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement22"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The createTFoot() method creates a table footer row or returns + an existing one. + + Create a new TFOOT element on the first TABLE element. The first + TABLE element should return null to make sure one doesn't exist. + After creation of the TFOOT element the value is once again + checked and should not be null. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-8453710 +*/ +function HTMLTableElement22() { + var success; + if(checkInitialization(builder, "HTMLTableElement22") != null) return; + var nodeList; + var testNode; + var vsection1; + var vsection2; + var newFoot; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vsection1 = testNode.tFoot; + + assertNull("vsection1Id",vsection1); + newFoot = testNode.createTFoot(); + vsection2 = testNode.tFoot; + + assertNotNull("vsection2Id",vsection2); + +} + + + + +function runTest() { + HTMLTableElement22(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement23.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement23.js new file mode 100644 index 0000000..1e24500 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement23.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement23"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The createTFoot() method creates a table footer row or returns + an existing one. + + Try to create a new TFOOT element on the second TABLE element. + Since a TFOOT element already exists in the TABLE element a new + TFOOT element is not created and information from the already + existing TFOOT element is returned. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-8453710 +*/ +function HTMLTableElement23() { + var success; + if(checkInitialization(builder, "HTMLTableElement23") != null) return; + var nodeList; + var testNode; + var vsection; + var newFoot; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + newFoot = testNode.createTFoot(); + vsection = testNode.tFoot; + + valign = vsection.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLTableElement23(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement24.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement24.js new file mode 100644 index 0000000..efa614f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement24.js @@ -0,0 +1,139 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement24"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The deleteTFoot() method deletes the footer from the table. + + The deleteTFoot() method will delete the TFOOT Element from the + second TABLE element. First make sure that the TFOOT element exists + and then count the number of rows. After the TFOOT element is + deleted there should be one less row. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78363258 +*/ +function HTMLTableElement24() { + var success; + if(checkInitialization(builder, "HTMLTableElement24") != null) return; + var nodeList; + var rowsnodeList; + var testNode; + var vsection1; + var vsection2; + var vrows; + var doc; + var result = new Array(); + + expectedResult = new Array(); + expectedResult[0] = 4; + expectedResult[1] = 3; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vsection1 = testNode.tFoot; + + assertNotNull("vsection1Id",vsection1); +rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + result[result.length] = vrows; +testNode.deleteTFoot(); + vsection2 = testNode.tFoot; + + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + result[result.length] = vrows; +assertEqualsList("rowsLink",expectedResult,result); + +} + + + + +function runTest() { + HTMLTableElement24(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement25.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement25.js new file mode 100644 index 0000000..aeaa566 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement25.js @@ -0,0 +1,121 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement25"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The createCaption() method creates a new table caption object or returns + an existing one. + + Create a new CAPTION element on the first TABLE element. Since + one does not currently exist the CAPTION element is created. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96920263 +*/ +function HTMLTableElement25() { + var success; + if(checkInitialization(builder, "HTMLTableElement25") != null) return; + var nodeList; + var testNode; + var vsection1; + var vsection2; + var newCaption; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vsection1 = testNode.caption; + + assertNull("vsection1Id",vsection1); + newCaption = testNode.createCaption(); + vsection2 = testNode.caption; + + assertNotNull("vsection2Id",vsection2); + +} + + + + +function runTest() { + HTMLTableElement25(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement26.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement26.js new file mode 100644 index 0000000..358d245 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement26.js @@ -0,0 +1,125 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement26"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The createCaption() method creates a new table caption object or returns + an existing one. + + Create a new CAPTION element on the first TABLE element. Since + one currently exists the CAPTION element is not created and you + can get the align attribute from the CAPTION element that exists. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96920263 +*/ +function HTMLTableElement26() { + var success; + if(checkInitialization(builder, "HTMLTableElement26") != null) return; + var nodeList; + var testNode; + var vsection1; + var vcaption; + var newCaption; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vsection1 = testNode.caption; + + assertNotNull("vsection1Id",vsection1); +newCaption = testNode.createCaption(); + vcaption = testNode.caption; + + valign = vcaption.align; + + assertEquals("alignLink","top",valign); + +} + + + + +function runTest() { + HTMLTableElement26(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement27.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement27.js new file mode 100644 index 0000000..415636a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement27.js @@ -0,0 +1,119 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement27"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The deleteCaption() method deletes the table caption. + + Delete the CAPTION element on the second TABLE element. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-22930071 +*/ +function HTMLTableElement27() { + var success; + if(checkInitialization(builder, "HTMLTableElement27") != null) return; + var nodeList; + var testNode; + var vsection1; + var vsection2; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vsection1 = testNode.caption; + + assertNotNull("vsection1Id",vsection1); +testNode.deleteCaption(); + vsection2 = testNode.caption; + + assertNull("vsection2Id",vsection2); + +} + + + + +function runTest() { + HTMLTableElement27(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement28.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement28.js new file mode 100644 index 0000000..d87b1a9 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement28.js @@ -0,0 +1,133 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement28"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The insertRow() method inserts a new empty table row. + + Retrieve the second TABLE element and invoke the insertRow() method + with an index of 0. Currently the zero indexed row is in the THEAD + section of the TABLE. The number of rows in the THEAD section before + insertion of the new row is one. After the new row is inserted the number + of rows in the THEAD section is two. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39872903 +*/ +function HTMLTableElement28() { + var success; + if(checkInitialization(builder, "HTMLTableElement28") != null) return; + var nodeList; + var testNode; + var newRow; + var rowsnodeList; + var vsection1; + var vsection2; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vsection1 = testNode.tHead; + + rowsnodeList = vsection1.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink1",1,vrows); + newRow = testNode.insertRow(0); + vsection2 = testNode.tHead; + + rowsnodeList = vsection2.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink2",2,vrows); + +} + + + + +function runTest() { + HTMLTableElement28(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement29.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement29.js new file mode 100644 index 0000000..e681547 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement29.js @@ -0,0 +1,137 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement29"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The insertRow() method inserts a new empty table row. + + Retrieve the second TABLE element and invoke the insertRow() method + with an index of two. Currently the 2nd indexed row is in the TBODY + section of the TABLE. The number of rows in the TBODY section before + insertion of the new row is two. After the new row is inserted the number + of rows in the TBODY section is three. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39872903 +*/ +function HTMLTableElement29() { + var success; + if(checkInitialization(builder, "HTMLTableElement29") != null) return; + var nodeList; + var tbodiesnodeList; + var testNode; + var bodyNode; + var newRow; + var rowsnodeList; + var vsection1; + var vsection2; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + tbodiesnodeList = testNode.tBodies; + + bodyNode = tbodiesnodeList.item(0); + rowsnodeList = bodyNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink1",2,vrows); + newRow = testNode.insertRow(2); + tbodiesnodeList = testNode.tBodies; + + bodyNode = tbodiesnodeList.item(0); + rowsnodeList = bodyNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink2",3,vrows); + +} + + + + +function runTest() { + HTMLTableElement29(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement30.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement30.js new file mode 100644 index 0000000..8606249 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement30.js @@ -0,0 +1,144 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement30"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The insertRow() method inserts a new empty table row. + + Retrieve the second TABLE element and invoke the insertRow() method + with an index of four. After the new row is inserted the number of rows + in the table should be five. + Also the number of rows in the TFOOT section before + insertion of the new row is one. After the new row is inserted the number + of rows in the TFOOT section is two. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39872903 +*/ +function HTMLTableElement30() { + var success; + if(checkInitialization(builder, "HTMLTableElement30") != null) return; + var nodeList; + var tbodiesnodeList; + var testNode; + var newRow; + var rowsnodeList; + var vsection1; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink1",4,vrows); + vsection1 = testNode.tFoot; + + rowsnodeList = vsection1.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink",1,vrows); + newRow = testNode.insertRow(4); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink2",5,vrows); + vsection1 = testNode.tFoot; + + rowsnodeList = vsection1.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink3",2,vrows); + +} + + + + +function runTest() { + HTMLTableElement30(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement31.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement31.js new file mode 100644 index 0000000..a8f7a59 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement31.js @@ -0,0 +1,138 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement31"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table1"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The insertRow() method inserts a new empty table row. In addition, when + the table is empty the row is inserted into a TBODY which is created + and inserted into the table. + + Load the table1 file which has a non-empty table element. + Create an empty TABLE element and append to the document. + Check to make sure that the empty TABLE element doesn't + have a TBODY element. Insert a new row into the empty + TABLE element. Check for existence of the a TBODY element + in the table. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39872903 +* @see http://lists.w3.org/Archives/Public/www-dom-ts/2002Aug/0019.html +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=502 +*/ +function HTMLTableElement31() { + var success; + if(checkInitialization(builder, "HTMLTableElement31") != null) return; + var nodeList; + var testNode; + var tableNode; + var tbodiesnodeList; + var newRow; + var doc; + var table; + var tbodiesLength; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table1"); + nodeList = doc.getElementsByTagName("body"); + assertSize("tableSize1",1,nodeList); +testNode = nodeList.item(0); + table = doc.createElement("table"); + tableNode = testNode.appendChild(table); + nodeList = doc.getElementsByTagName("table"); + assertSize("tableSize2",2,nodeList); +tbodiesnodeList = tableNode.tBodies; + + tbodiesLength = tbodiesnodeList.length; + + assertEquals("Asize3",0,tbodiesLength); + newRow = tableNode.insertRow(0); + tbodiesnodeList = tableNode.tBodies; + + tbodiesLength = tbodiesnodeList.length; + + assertEquals("Asize4",1,tbodiesLength); + +} + + + + +function runTest() { + HTMLTableElement31(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement32.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement32.js new file mode 100644 index 0000000..71c45ad --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement32.js @@ -0,0 +1,125 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement32"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The deleteRow() method deletes a table row. + + Retrieve the second TABLE element and invoke the deleteRow() method + with an index of 0(first row). Currently there are four rows in the + table. After the deleteRow() method is called there should be + three rows in the table. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-13114938 +*/ +function HTMLTableElement32() { + var success; + if(checkInitialization(builder, "HTMLTableElement32") != null) return; + var nodeList; + var testNode; + var rowsnodeList; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink1",4,vrows); + testNode.deleteRow(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink2",3,vrows); + +} + + + + +function runTest() { + HTMLTableElement32(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement33.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement33.js new file mode 100644 index 0000000..e839d22 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableElement33.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement33"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The deleteRow() method deletes a table row. + + Retrieve the second TABLE element and invoke the deleteRow() method + with an index of 3(last row). Currently there are four rows in the + table. The deleteRow() method is called and now there should be three. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-13114938 +*/ +function HTMLTableElement33() { + var success; + if(checkInitialization(builder, "HTMLTableElement33") != null) return; + var nodeList; + var testNode; + var rowsnodeList; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink1",4,vrows); + testNode.deleteRow(3); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink2",3,vrows); + +} + + + + +function runTest() { + HTMLTableElement33(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableRowElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableRowElement01.js new file mode 100644 index 0000000..1e0ea89 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTableRowElement01.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The rowIndex attribute specifies the index of the row, relative to the + entire table, starting from 0. This is in document tree order and + not display order. The rowIndex does not take into account sections + (THEAD, TFOOT, or TBODY) within the table. + + Retrieve the third TR element within the document and examine + its rowIndex value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-67347567 +*/ +function HTMLTableRowElement01() { + var success; + if(checkInitialization(builder, "HTMLTableRowElement01") != null) return; + var nodeList; + var testNode; + var vrowindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(3); + vrowindex = testNode.rowIndex; + + assertEquals("rowIndexLink",1,vrowindex); + +} + + + + +function runTest() { + HTMLTableRowElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement13.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement13.js new file mode 100644 index 0000000..ed45bbb --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement13.js @@ -0,0 +1,107 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement13"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Calling HTMLTextAreaElement.blur should surrender input focus. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6750689 +*/ +function HTMLTextAreaElement13() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement13") != null) return; + var nodeList; + var testNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + testNode.blur(); + +} + + + + +function runTest() { + HTMLTextAreaElement13(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement14.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement14.js new file mode 100644 index 0000000..01e6bab --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement14.js @@ -0,0 +1,107 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement14"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Calling HTMLTextAreaElement.focus should capture input focus. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39055426 +*/ +function HTMLTextAreaElement14() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement14") != null) return; + var nodeList; + var testNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + testNode.focus(); + +} + + + + +function runTest() { + HTMLTextAreaElement14(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement15.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement15.js new file mode 100644 index 0000000..d10c2f0 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/nyi/HTMLTextAreaElement15.js @@ -0,0 +1,107 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement15"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Calling HTMLTextAreaElement.select should select the text area. + +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-48880622 +*/ +function HTMLTextAreaElement15() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement15") != null) return; + var nodeList; + var testNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + testNode.select(); + +} + + + + +function runTest() { + HTMLTextAreaElement15(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object01.js new file mode 100644 index 0000000..269c72b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object01.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Returns the FORM element containing this control. Returns null if this control is not within the context of a form. +The value of attribute form of the object element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-46094773 +*/ +function object01() { + var success; + if(checkInitialization(builder, "object01") != null) return; + var nodeList; + var testNode; + var vform; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vform = testNode.form; + + assertNull("formLink",vform); + +} + + + + +function runTest() { + object01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object06.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object06.js new file mode 100644 index 0000000..947ee95 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object06.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +A URI specifying the location of the object's data. +The value of attribute data of the object element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-81766986 +*/ +function object06() { + var success; + if(checkInitialization(builder, "object06") != null) return; + var nodeList; + var testNode; + var vdata; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vdata = testNode.data; + + assertEquals("dataLink","./pix/logo.gif",vdata); + +} + + + + +function runTest() { + object06(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object07.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object07.js new file mode 100644 index 0000000..1f28258 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object07.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The value of attribute height of the object element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88925838 +*/ +function object07() { + var success; + if(checkInitialization(builder, "object07") != null) return; + var nodeList; + var testNode; + var vheight; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vheight = testNode.height; + + assertEquals("heightLink","60",vheight); + +} + + + + +function runTest() { + object07(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object08.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object08.js new file mode 100644 index 0000000..1157c1a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object08.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Horizontal space to the left and right of this image, applet, or object. +The value of attribute hspace of the object element is read and checked against the expected value. + + This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-17085376 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 +*/ +function object08() { + var success; + if(checkInitialization(builder, "object08") != null) return; + var nodeList; + var testNode; + var vhspace; + var doc; + var domImpl; + var hasHTML2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + domImpl = doc.implementation; +hasHTML2 = domImpl.hasFeature("HTML","2.0"); + + if( + + !hasHTML2 + ) { + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vhspace = testNode.hspace; + + assertEquals("hspaceLink","0",vhspace); + + } + +} + + + + +function runTest() { + object08(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object10.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object10.js new file mode 100644 index 0000000..6e930b9 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object10.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Index that represents the element's position in the tabbing order. +The value of attribute tabIndex of the object element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-27083787 +*/ +function object10() { + var success; + if(checkInitialization(builder, "object10") != null) return; + var nodeList; + var testNode; + var vtabindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vtabindex = testNode.tabIndex; + + assertEquals("tabIndexLink",0,vtabindex); + +} + + + + +function runTest() { + object10(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object11.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object11.js new file mode 100644 index 0000000..6b6e67b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object11.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Content type for data downloaded via data attribute. +The value of attribute type of the object element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-91665621 +*/ +function object11() { + var success; + if(checkInitialization(builder, "object11") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","image/gif",vtype); + +} + + + + +function runTest() { + object11(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object12.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object12.js new file mode 100644 index 0000000..fcb6bac --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object12.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The value of attribute usemap of the object element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6649772 +*/ +function object12() { + var success; + if(checkInitialization(builder, "object12") != null) return; + var nodeList; + var testNode; + var vusemap; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vusemap = testNode.useMap; + + assertEquals("useMapLink","#DivLogo-map",vusemap); + +} + + + + +function runTest() { + object12(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object13.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object13.js new file mode 100644 index 0000000..a130490 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object13.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object13"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Vertical space above and below this image, applet, or object. +The value of attribute vspace of the object element is read and checked against the expected value. + + This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-8682483 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 +*/ +function object13() { + var success; + if(checkInitialization(builder, "object13") != null) return; + var nodeList; + var testNode; + var vvspace; + var doc; + var domImpl; + var hasHTML2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + domImpl = doc.implementation; +hasHTML2 = domImpl.hasFeature("HTML","2.0"); + + if( + + !hasHTML2 + ) { + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vvspace = testNode.vspace; + + assertEquals("vspaceLink","0",vvspace); + + } + +} + + + + +function runTest() { + object13(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object14.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object14.js new file mode 100644 index 0000000..3d8df0d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/object14.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object14"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The value of attribute width of the object element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-38538620 +*/ +function object14() { + var success; + if(checkInitialization(builder, "object14") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vwidth = testNode.width; + + assertEquals("widthLink","550",vwidth); + +} + + + + +function runTest() { + object14(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement02.js new file mode 100644 index 0000000..6eeb796 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The charset attribute indicates the character encoding of the linked + resource. + + Retrieve the charset attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-67619266 +*/ +function HTMLAnchorElement02() { + var success; + if(checkInitialization(builder, "HTMLAnchorElement02") != null) return; + var nodeList; + var testNode; + var vcharset; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcharset = testNode.charset; + + assertEquals("charsetLink","US-ASCII",vcharset); + +} + + + + +function runTest() { + HTMLAnchorElement02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement03.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement03.js new file mode 100644 index 0000000..d43eadc --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement03.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The coords attribute is a comma-seperated list of lengths, defining + an active region geometry. + + Retrieve the coords attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-92079539 +*/ +function HTMLAnchorElement03() { + var success; + if(checkInitialization(builder, "HTMLAnchorElement03") != null) return; + var nodeList; + var testNode; + var vcoords; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcoords = testNode.coords; + + assertEquals("coordsLink","0,0,100,100",vcoords); + +} + + + + +function runTest() { + HTMLAnchorElement03(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement06.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement06.js new file mode 100644 index 0000000..003c17a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement06.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The name attribute contains the anchor name. + + Retrieve the name attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-32783304 +*/ +function HTMLAnchorElement06() { + var success; + if(checkInitialization(builder, "HTMLAnchorElement06") != null) return; + var nodeList; + var testNode; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vname = testNode.name; + + assertEquals("nameLink","Anchor",vname); + +} + + + + +function runTest() { + HTMLAnchorElement06(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement08.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement08.js new file mode 100644 index 0000000..4f5746e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement08.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The rev attribute contains the reverse link type + + Retrieve the rev attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-58259771 +*/ +function HTMLAnchorElement08() { + var success; + if(checkInitialization(builder, "HTMLAnchorElement08") != null) return; + var nodeList; + var testNode; + var vrev; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vrev = testNode.rev; + + assertEquals("revLink","STYLESHEET",vrev); + +} + + + + +function runTest() { + HTMLAnchorElement08(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement09.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement09.js new file mode 100644 index 0000000..cb2225d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAnchorElement09.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAnchorElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The shape attribute contains the shape of the active area. + + Retrieve the shape attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-49899808 +*/ +function HTMLAnchorElement09() { + var success; + if(checkInitialization(builder, "HTMLAnchorElement09") != null) return; + var nodeList; + var testNode; + var vshape; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vshape = testNode.shape; + + assertEquals("shapeLink","rect",vshape); + +} + + + + +function runTest() { + HTMLAnchorElement09(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement01.js new file mode 100644 index 0000000..ce480ba --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement01.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "applet"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the alignment of the object(Vertically + or Horizontally) with respect to its surrounding text. + + Retrieve the align attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-8049912 +*/ +function HTMLAppletElement01() { + var success; + if(checkInitialization(builder, "HTMLAppletElement01") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "applet"); + nodeList = doc.getElementsByTagName("applet"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","bottom".toLowerCase(),valign.toLowerCase()); + +} + + + + +function runTest() { + HTMLAppletElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement02.js new file mode 100644 index 0000000..b9c1827 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "applet"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The alt attribute specifies the alternate text for user agents not + rendering the normal context of this element. + + Retrieve the alt attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-58610064 +*/ +function HTMLAppletElement02() { + var success; + if(checkInitialization(builder, "HTMLAppletElement02") != null) return; + var nodeList; + var testNode; + var valt; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "applet"); + nodeList = doc.getElementsByTagName("applet"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valt = testNode.alt; + + assertEquals("altLink","Applet Number 1",valt); + +} + + + + +function runTest() { + HTMLAppletElement02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement03.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement03.js new file mode 100644 index 0000000..d8b68e1 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement03.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "applet"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The archive attribute specifies a comma-seperated archive list. + + Retrieve the archive attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14476360 +*/ +function HTMLAppletElement03() { + var success; + if(checkInitialization(builder, "HTMLAppletElement03") != null) return; + var nodeList; + var testNode; + var varchive; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "applet"); + nodeList = doc.getElementsByTagName("applet"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + varchive = testNode.archive; + + assertEquals("archiveLink","",varchive); + +} + + + + +function runTest() { + HTMLAppletElement03(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement04.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement04.js new file mode 100644 index 0000000..32ff6d8 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement04.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "applet"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The code attribute specifies the applet class file. + + Retrieve the code attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-61509645 +*/ +function HTMLAppletElement04() { + var success; + if(checkInitialization(builder, "HTMLAppletElement04") != null) return; + var nodeList; + var testNode; + var vcode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "applet"); + nodeList = doc.getElementsByTagName("applet"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcode = testNode.code; + + assertEquals("codeLink","org/w3c/domts/DOMTSApplet.class",vcode); + +} + + + + +function runTest() { + HTMLAppletElement04(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement05.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement05.js new file mode 100644 index 0000000..a6a3c4b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement05.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "applet"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The codeBase attribute specifies an optional base URI for the applet. + + Retrieve the codeBase attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6581160 +*/ +function HTMLAppletElement05() { + var success; + if(checkInitialization(builder, "HTMLAppletElement05") != null) return; + var nodeList; + var testNode; + var vcodebase; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "applet"); + nodeList = doc.getElementsByTagName("applet"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcodebase = testNode.codeBase; + + assertEquals("codebase","applets",vcodebase); + +} + + + + +function runTest() { + HTMLAppletElement05(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement06.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement06.js new file mode 100644 index 0000000..1b0bab9 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement06.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "applet"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The height attribute overrides the height. + + Retrieve the height attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-90184867 +*/ +function HTMLAppletElement06() { + var success; + if(checkInitialization(builder, "HTMLAppletElement06") != null) return; + var nodeList; + var testNode; + var vheight; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "applet"); + nodeList = doc.getElementsByTagName("applet"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vheight = testNode.height; + + assertEquals("heightLink","306",vheight); + +} + + + + +function runTest() { + HTMLAppletElement06(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement07.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement07.js new file mode 100644 index 0000000..505cf2d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement07.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "applet"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The hspace attribute specifies the horizontal space to the left + and right of this image, applet, or object. Retrieve the hspace attribute and examine its value. + + This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-1567197 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 +*/ +function HTMLAppletElement07() { + var success; + if(checkInitialization(builder, "HTMLAppletElement07") != null) return; + var nodeList; + var testNode; + var vhspace; + var doc; + var domImpl; + var hasHTML2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "applet"); + domImpl = doc.implementation; +hasHTML2 = domImpl.hasFeature("HTML","2.0"); + + if( + + !hasHTML2 + ) { + nodeList = doc.getElementsByTagName("applet"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vhspace = testNode.hspace; + + assertEquals("hspaceLink","0",vhspace); + + } + +} + + + + +function runTest() { + HTMLAppletElement07(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement08.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement08.js new file mode 100644 index 0000000..1ed0b30 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement08.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "applet"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The name attribute specifies the name of the applet. + + Retrieve the name attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39843695 +*/ +function HTMLAppletElement08() { + var success; + if(checkInitialization(builder, "HTMLAppletElement08") != null) return; + var nodeList; + var testNode; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "applet"); + nodeList = doc.getElementsByTagName("applet"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vname = testNode.name; + + assertEquals("nameLink","applet1",vname); + +} + + + + +function runTest() { + HTMLAppletElement08(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement09.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement09.js new file mode 100644 index 0000000..2f0f765 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement09.js @@ -0,0 +1,127 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "applet"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The vspace attribute specifies the vertical space above and below + this image, applet or object. Retrieve the vspace attribute and examine its value. + + This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. + + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-22637173 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 +*/ +function HTMLAppletElement09() { + var success; + if(checkInitialization(builder, "HTMLAppletElement09") != null) return; + var nodeList; + var testNode; + var vvspace; + var doc; + var domImpl; + var hasHTML2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "applet"); + domImpl = doc.implementation; +hasHTML2 = domImpl.hasFeature("HTML","2.0"); + + if( + + !hasHTML2 + ) { + nodeList = doc.getElementsByTagName("applet"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vvspace = testNode.vspace; + + assertEquals("vspaceLink","0",vvspace); + + } + +} + + + + +function runTest() { + HTMLAppletElement09(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement10.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement10.js new file mode 100644 index 0000000..3578b0b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement10.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "applet"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The width attribute overrides the regular width. + + Retrieve the width attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-16526327 +*/ +function HTMLAppletElement10() { + var success; + if(checkInitialization(builder, "HTMLAppletElement10") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "applet"); + nodeList = doc.getElementsByTagName("applet"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vwidth = testNode.width; + + assertEquals("widthLink","301",vwidth); + +} + + + + +function runTest() { + HTMLAppletElement10(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement11.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement11.js new file mode 100644 index 0000000..3aeee28 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLAppletElement11.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLAppletElement11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "applet2"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The object attribute specifies the serialized applet file. + + Retrieve the object attribute and examine its value. + +* @author NIST +* @author Rick Rivello +* @author Curt Arnold +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93681523 +*/ +function HTMLAppletElement11() { + var success; + if(checkInitialization(builder, "HTMLAppletElement11") != null) return; + var nodeList; + var testNode; + var vobject; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "applet2"); + nodeList = doc.getElementsByTagName("applet"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vobject = testNode.object; + + assertEquals("object","DOMTSApplet.dat",vobject); + +} + + + + +function runTest() { + HTMLAppletElement11(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBRElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBRElement01.js new file mode 100644 index 0000000..0bfafb2 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBRElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLBRElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "br"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The clear attribute specifies control flow of text around floats. + + Retrieve the clear attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-82703081 +*/ +function HTMLBRElement01() { + var success; + if(checkInitialization(builder, "HTMLBRElement01") != null) return; + var nodeList; + var testNode; + var vclear; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "br"); + nodeList = doc.getElementsByTagName("br"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vclear = testNode.clear; + + assertEquals("clearLink","none",vclear); + +} + + + + +function runTest() { + HTMLBRElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement01.js new file mode 100644 index 0000000..c2d252c --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLBaseFontElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "basefont"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The color attribute specifies the base font's color. + + Retrieve the color attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87502302 +*/ +function HTMLBaseFontElement01() { + var success; + if(checkInitialization(builder, "HTMLBaseFontElement01") != null) return; + var nodeList; + var testNode; + var vcolor; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "basefont"); + nodeList = doc.getElementsByTagName("basefont"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcolor = testNode.color; + + assertEquals("colorLink","#000000",vcolor); + +} + + + + +function runTest() { + HTMLBaseFontElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement02.js new file mode 100644 index 0000000..9da696e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement02.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLBaseFontElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "basefont"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The face attribute specifies the base font's face identifier. + + Retrieve the face attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88128969 +*/ +function HTMLBaseFontElement02() { + var success; + if(checkInitialization(builder, "HTMLBaseFontElement02") != null) return; + var nodeList; + var testNode; + var vface; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "basefont"); + nodeList = doc.getElementsByTagName("basefont"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vface = testNode.face; + + assertEquals("faceLink","arial,helvitica",vface); + +} + + + + +function runTest() { + HTMLBaseFontElement02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement03.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement03.js new file mode 100644 index 0000000..3c1d788 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBaseFontElement03.js @@ -0,0 +1,125 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLBaseFontElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "basefont"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The size attribute specifies the base font's size. Retrieve the size attribute and examine its value. + + This test is incompatible with L2 HTML implementations due to a change in the type of the attribute. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-38930424 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=504 +*/ +function HTMLBaseFontElement03() { + var success; + if(checkInitialization(builder, "HTMLBaseFontElement03") != null) return; + var nodeList; + var testNode; + var vsize; + var doc; + var domImpl; + var hasHTML2; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "basefont"); + domImpl = doc.implementation; +hasHTML2 = domImpl.hasFeature("HTML","2.0"); + + if( + + !hasHTML2 + ) { + nodeList = doc.getElementsByTagName("basefont"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vsize = testNode.size; + + assertEquals("sizeLink","4",vsize); + + } + +} + + + + +function runTest() { + HTMLBaseFontElement03(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement01.js new file mode 100644 index 0000000..2496d66 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLBodyElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "body"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The aLink attribute specifies the color of active links. + + Retrieve the aLink attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59424581 +*/ +function HTMLBodyElement01() { + var success; + if(checkInitialization(builder, "HTMLBodyElement01") != null) return; + var nodeList; + var testNode; + var valink; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "body"); + nodeList = doc.getElementsByTagName("body"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valink = testNode.aLink; + + assertEquals("aLinkLink","#0000ff",valink); + +} + + + + +function runTest() { + HTMLBodyElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement02.js new file mode 100644 index 0000000..5b92d5a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLBodyElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "body"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The background attribute specifies the URI fo the background texture + tile image. + + Retrieve the background attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-37574810 +*/ +function HTMLBodyElement02() { + var success; + if(checkInitialization(builder, "HTMLBodyElement02") != null) return; + var nodeList; + var testNode; + var vbackground; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "body"); + nodeList = doc.getElementsByTagName("body"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vbackground = testNode.background; + + assertEquals("backgroundLink","./pix/back1.gif",vbackground); + +} + + + + +function runTest() { + HTMLBodyElement02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement03.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement03.js new file mode 100644 index 0000000..1814654 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement03.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLBodyElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "body"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The bgColor attribute specifies the document background color. + + Retrieve the bgColor attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-24940084 +*/ +function HTMLBodyElement03() { + var success; + if(checkInitialization(builder, "HTMLBodyElement03") != null) return; + var nodeList; + var testNode; + var vbgcolor; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "body"); + nodeList = doc.getElementsByTagName("body"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vbgcolor = testNode.bgColor; + + assertEquals("bgColorLink","#ffff00",vbgcolor); + +} + + + + +function runTest() { + HTMLBodyElement03(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement04.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement04.js new file mode 100644 index 0000000..5f1d65d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement04.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLBodyElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "body"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The link attribute specifies the color of links that are not active + and unvisited. + + Retrieve the link attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-7662206 +*/ +function HTMLBodyElement04() { + var success; + if(checkInitialization(builder, "HTMLBodyElement04") != null) return; + var nodeList; + var testNode; + var vlink; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "body"); + nodeList = doc.getElementsByTagName("body"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlink = testNode.link; + + assertEquals("linkLink","#ff0000",vlink); + +} + + + + +function runTest() { + HTMLBodyElement04(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement05.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement05.js new file mode 100644 index 0000000..d3bde6c --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement05.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLBodyElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "body"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The text attribute specifies the document text color. + + Retrieve the text attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-73714763 +*/ +function HTMLBodyElement05() { + var success; + if(checkInitialization(builder, "HTMLBodyElement05") != null) return; + var nodeList; + var testNode; + var vtext; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "body"); + nodeList = doc.getElementsByTagName("body"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtext = testNode.text; + + assertEquals("textLink","#000000",vtext); + +} + + + + +function runTest() { + HTMLBodyElement05(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement06.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement06.js new file mode 100644 index 0000000..16cae78 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLBodyElement06.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLBodyElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "body"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The vLink attribute specifies the color of links that have been + visited by the user. + + Retrieve the vLink attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83224305 +*/ +function HTMLBodyElement06() { + var success; + if(checkInitialization(builder, "HTMLBodyElement06") != null) return; + var nodeList; + var testNode; + var vvlink; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "body"); + nodeList = doc.getElementsByTagName("body"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vvlink = testNode.vLink; + + assertEquals("vLinkLink","#00ffff",vvlink); + +} + + + + +function runTest() { + HTMLBodyElement06(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection01.js new file mode 100644 index 0000000..6c4d68d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection01.js @@ -0,0 +1,121 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "collection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + An individual node may be accessed by either ordinal index, the node's + name or id attributes. (Test ordinal index). + + Retrieve the first TABLE element and create a HTMLCollection by invoking + the "rows" attribute. The item located at ordinal index 0 is further + retrieved and its "rowIndex" attribute is examined. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33262535 +*/ +function HTMLCollection01() { + var success; + if(checkInitialization(builder, "HTMLCollection01") != null) return; + var nodeList; + var testNode; + var rowNode; + var rowsnodeList; + var vrowindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "collection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + rowNode = rowsnodeList.item(0); + vrowindex = rowNode.rowIndex; + + assertEquals("rowIndexLink",0,vrowindex); + +} + + + + +function runTest() { + HTMLCollection01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection02.js new file mode 100644 index 0000000..1a08fe1 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection02.js @@ -0,0 +1,121 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "collection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + An individual node may be accessed by either ordinal index, the node's + name or id attributes. (Test node name). + + Retrieve the first FORM element and create a HTMLCollection by invoking + the elements attribute. The first SELECT element is further retrieved + using the elements name attribute. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76728479 +*/ +function HTMLCollection02() { + var success; + if(checkInitialization(builder, "HTMLCollection02") != null) return; + var nodeList; + var testNode; + var formNode; + var formsnodeList; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "collection"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + formsnodeList = testNode.elements; + + formNode = formsnodeList.namedItem("select1"); + vname = formNode.nodeName; + + assertEqualsAutoCase("element", "nameIndexLink","SELECT",vname); + +} + + + + +function runTest() { + HTMLCollection02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection03.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection03.js new file mode 100644 index 0000000..1c002fd --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection03.js @@ -0,0 +1,121 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "collection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + An individual node may be accessed by either ordinal index, the node's + name or id attributes. (Test id attribute). + + Retrieve the first FORM element and create a HTMLCollection by invoking + the "element" attribute. The first SELECT element is further retrieved + using the elements id. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-21069976 +*/ +function HTMLCollection03() { + var success; + if(checkInitialization(builder, "HTMLCollection03") != null) return; + var nodeList; + var testNode; + var formNode; + var formsnodeList; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "collection"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + formsnodeList = testNode.elements; + + formNode = formsnodeList.namedItem("selectId"); + vname = formNode.nodeName; + + assertEqualsAutoCase("element", "nameIndexLink","select",vname); + +} + + + + +function runTest() { + HTMLCollection03(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection04.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection04.js new file mode 100644 index 0000000..0082417 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection04.js @@ -0,0 +1,133 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "collection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + HTMLCollections are live, they are automatically updated when the + underlying document is changed. + + Create a HTMLCollection object by invoking the rows attribute of the + first TABLE element and examine its length, then add a new row and + re-examine the length. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40057551 +*/ +function HTMLCollection04() { + var success; + if(checkInitialization(builder, "HTMLCollection04") != null) return; + var nodeList; + var testNode; + var rowLength1; + var rowLength2; + var rowsnodeList; + var newRow; + var vrowindex; + var doc; + var result = new Array(); + + expectedResult = new Array(); + expectedResult[0] = 4; + expectedResult[1] = 5; + + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "collection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + rowLength1 = rowsnodeList.length; + + result[result.length] = rowLength1; +newRow = testNode.insertRow(4); + rowLength2 = rowsnodeList.length; + + result[result.length] = rowLength2; +assertEqualsList("rowIndexLink",expectedResult,result); + +} + + + + +function runTest() { + HTMLCollection04(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection05.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection05.js new file mode 100644 index 0000000..efe0226 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection05.js @@ -0,0 +1,118 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "collection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The length attribute specifies the length or size of the list. + + Retrieve the first TABLE element and create a HTMLCollection by invoking + the "rows" attribute. Retrieve the length attribute of the HTMLCollection + object. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40057551 +*/ +function HTMLCollection05() { + var success; + if(checkInitialization(builder, "HTMLCollection05") != null) return; + var nodeList; + var testNode; + var rowsnodeList; + var rowLength; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "collection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + rowLength = rowsnodeList.length; + + assertEquals("rowIndexLink",4,rowLength); + +} + + + + +function runTest() { + HTMLCollection05(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection06.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection06.js new file mode 100644 index 0000000..0c274cc --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection06.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "collection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + An item(index) method retrieves an item specified by ordinal index + (Test for index=0). + + Retrieve the first TABLE element and create a HTMLCollection by invoking + the "rows" attribute. The item located at ordinal index 0 is further + retrieved and its "rowIndex" attribute is examined. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6156016 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33262535 +*/ +function HTMLCollection06() { + var success; + if(checkInitialization(builder, "HTMLCollection06") != null) return; + var nodeList; + var testNode; + var rowNode; + var rowsnodeList; + var vrowindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "collection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + rowNode = rowsnodeList.item(0); + vrowindex = rowNode.rowIndex; + + assertEquals("rowIndexLink",0,vrowindex); + +} + + + + +function runTest() { + HTMLCollection06(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection07.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection07.js new file mode 100644 index 0000000..2b167d8 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection07.js @@ -0,0 +1,121 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "collection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + An item(index) method retrieves an item specified by ordinal index + (Test for index=3). + + Retrieve the first TABLE element and create a HTMLCollection by invoking + the "rows" attribute. The item located at ordinal index 3 is further + retrieved and its "rowIndex" attribute is examined. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33262535 +*/ +function HTMLCollection07() { + var success; + if(checkInitialization(builder, "HTMLCollection07") != null) return; + var nodeList; + var testNode; + var rowNode; + var rowsnodeList; + var vrowindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "collection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + rowNode = rowsnodeList.item(3); + vrowindex = rowNode.rowIndex; + + assertEquals("rowIndexLink",3,vrowindex); + +} + + + + +function runTest() { + HTMLCollection07(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection08.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection08.js new file mode 100644 index 0000000..7069f49 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection08.js @@ -0,0 +1,121 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "collection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + Nodes in a HTMLCollection object are numbered in tree order. + (Depth-first traversal order). + + Retrieve the first TABLE element and create a HTMLCollection by invoking + the "rows" attribute. Access the item in the third ordinal index. The + resulting rowIndex attribute is examined and should be two. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33262535 +*/ +function HTMLCollection08() { + var success; + if(checkInitialization(builder, "HTMLCollection08") != null) return; + var nodeList; + var testNode; + var rowNode; + var rowsnodeList; + var vrowindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "collection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + rowNode = rowsnodeList.item(2); + vrowindex = rowNode.rowIndex; + + assertEquals("rowIndexLink",2,vrowindex); + +} + + + + +function runTest() { + HTMLCollection08(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection09.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection09.js new file mode 100644 index 0000000..6e75f07 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection09.js @@ -0,0 +1,118 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "collection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The item(index) method returns null if the index is out of range. + + Retrieve the first TABLE element and create a HTMLCollection by invoking + the "rows" attribute. Invoke the item(index) method with an index + of 5. This index is out of range and should return null. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33262535 +*/ +function HTMLCollection09() { + var success; + if(checkInitialization(builder, "HTMLCollection09") != null) return; + var nodeList; + var testNode; + var rowNode; + var rowsnodeList; + var vrowindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "collection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + rowNode = rowsnodeList.item(5); + assertNull("rowIndexLink",rowNode); + +} + + + + +function runTest() { + HTMLCollection09(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection10.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection10.js new file mode 100644 index 0000000..9a823d4 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection10.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "collection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The namedItem(name) method retrieves a node using a name. It first + searches for a node with a matching id attribute. If it doesn't find + one, it then searches for a Node with a matching name attribute, but only + on those elements that are allowed a name attribute. + + Retrieve the first FORM element and create a HTMLCollection by invoking + the elements attribute. The first SELECT element is further retrieved + using the elements name attribute since the id attribute doesn't match. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-21069976 +*/ +function HTMLCollection10() { + var success; + if(checkInitialization(builder, "HTMLCollection10") != null) return; + var nodeList; + var testNode; + var formNode; + var formsnodeList; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "collection"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + formsnodeList = testNode.elements; + + formNode = formsnodeList.namedItem("select1"); + vname = formNode.nodeName; + + assertEqualsAutoCase("element", "nameIndexLink","SELECT",vname); + +} + + + + +function runTest() { + HTMLCollection10(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection11.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection11.js new file mode 100644 index 0000000..2874b39 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection11.js @@ -0,0 +1,123 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "collection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The namedItem(name) method retrieves a node using a name. It first + searches for a node with a matching id attribute. If it doesn't find + one, it then searches for a Node with a matching name attribute, but only + on those elements that are allowed a name attribute. + + Retrieve the first FORM element and create a HTMLCollection by invoking + the elements attribute. The first SELECT element is further retrieved + using the elements id attribute. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76728479 +*/ +function HTMLCollection11() { + var success; + if(checkInitialization(builder, "HTMLCollection11") != null) return; + var nodeList; + var testNode; + var formNode; + var formsnodeList; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "collection"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + formsnodeList = testNode.elements; + + formNode = formsnodeList.namedItem("selectId"); + vname = formNode.nodeName; + + assertEqualsAutoCase("element", "nameIndexLink","select",vname); + +} + + + + +function runTest() { + HTMLCollection11(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection12.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection12.js new file mode 100644 index 0000000..7325273 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLCollection12.js @@ -0,0 +1,121 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLCollection12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "collection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The namedItem(name) method retrieves a node using a name. It first + searches for a node with a matching id attribute. If it doesn't find + one, it then searches for a Node with a matching name attribute, but only + on those elements that are allowed a name attribute. If there isn't + a matching node the method returns null. + + Retrieve the first FORM element and create a HTMLCollection by invoking + the elements attribute. The method returns null since there is not a + match of the name or id attribute. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-21069976 +*/ +function HTMLCollection12() { + var success; + if(checkInitialization(builder, "HTMLCollection12") != null) return; + var nodeList; + var testNode; + var formNode; + var formsnodeList; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "collection"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + formsnodeList = testNode.elements; + + formNode = formsnodeList.namedItem("select9"); + assertNull("nameIndexLink",formNode); + +} + + + + +function runTest() { + HTMLCollection12(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDirectoryElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDirectoryElement01.js new file mode 100644 index 0000000..471233a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDirectoryElement01.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDirectoryElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "directory"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The compact attribute specifies a boolean value on whether to display + the list more compactly. + + Retrieve the compact attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75317739 +*/ +function HTMLDirectoryElement01() { + var success; + if(checkInitialization(builder, "HTMLDirectoryElement01") != null) return; + var nodeList; + var testNode; + var vcompact; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "directory"); + nodeList = doc.getElementsByTagName("dir"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcompact = testNode.compact; + + assertTrue("compactLink",vcompact); + +} + + + + +function runTest() { + HTMLDirectoryElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDivElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDivElement01.js new file mode 100644 index 0000000..4557401 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDivElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDivElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "div"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal text alignment. + + Retrieve the align attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-70908791 +*/ +function HTMLDivElement01() { + var success; + if(checkInitialization(builder, "HTMLDivElement01") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "div"); + nodeList = doc.getElementsByTagName("div"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLDivElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDlistElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDlistElement01.js new file mode 100644 index 0000000..1ce061f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDlistElement01.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDlistElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "dl"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The compact attribute specifies a boolean value on whether to display + the list more compactly. + + Retrieve the compact attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-21738539 +*/ +function HTMLDlistElement01() { + var success; + if(checkInitialization(builder, "HTMLDlistElement01") != null) return; + var nodeList; + var testNode; + var vcompact; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "dl"); + nodeList = doc.getElementsByTagName("dl"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcompact = testNode.compact; + + assertTrue("compactLink",vcompact); + +} + + + + +function runTest() { + HTMLDlistElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument08.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument08.js new file mode 100644 index 0000000..3469421 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument08.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The applets attribute returns a collection of all OBJECT elements that + include applets abd APPLET elements in a document. + + Retrieve the applets attribute from the document and examine its value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-85113862 +*/ +function HTMLDocument08() { + var success; + if(checkInitialization(builder, "HTMLDocument08") != null) return; + var nodeList; + var testNode; + var vapplets; + var vlength; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + vapplets = doc.applets; + + vlength = vapplets.length; + + assertEquals("length",4,vlength); + +} + + + + +function runTest() { + HTMLDocument08(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument11.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument11.js new file mode 100644 index 0000000..a05690e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument11.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The anchors attribute returns a collection of all A elements with values + for the name attribute. + + Retrieve the anchors attribute from the document and examine its value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-7577272 +*/ +function HTMLDocument11() { + var success; + if(checkInitialization(builder, "HTMLDocument11") != null) return; + var nodeList; + var testNode; + var vanchors; + var vlength; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + vanchors = doc.anchors; + + vlength = vanchors.length; + + assertEquals("lengthLink",1,vlength); + +} + + + + +function runTest() { + HTMLDocument11(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument13.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument13.js new file mode 100644 index 0000000..af26d5a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument13.js @@ -0,0 +1,109 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument13"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The getElementsByName method returns the (possibly empty) collection + of elements whose name value is given by the elementName. + + Retrieve all the elements whose name attribute is "mapid". + Check the length of the nodelist. It should be 1. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71555259 +*/ +function HTMLDocument13() { + var success; + if(checkInitialization(builder, "HTMLDocument13") != null) return; + var nodeList; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + nodeList = doc.getElementsByName("mapid"); + assertSize("Asize",1,nodeList); + +} + + + + +function runTest() { + HTMLDocument13(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument14.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument14.js new file mode 100644 index 0000000..ebb16dd --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLDocument14.js @@ -0,0 +1,110 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLDocument14"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "document"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The getElementsByName method returns the (possibly empty) collection + of elements whose name value is given by the elementName. + + Retrieve all the elements whose name attribute is "noid". + Check the length of the nodelist. It should be 0 since + the id "noid" does not exist. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71555259 +*/ +function HTMLDocument14() { + var success; + if(checkInitialization(builder, "HTMLDocument14") != null) return; + var nodeList; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "document"); + nodeList = doc.getElementsByName("noid"); + assertSize("Asize",0,nodeList); + +} + + + + +function runTest() { + HTMLDocument14(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement01.js new file mode 100644 index 0000000..a9696c0 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFontElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "font"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The color attribute specifies the font's color. + + Retrieve the color attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-53532975 +*/ +function HTMLFontElement01() { + var success; + if(checkInitialization(builder, "HTMLFontElement01") != null) return; + var nodeList; + var testNode; + var vcolor; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "font"); + nodeList = doc.getElementsByTagName("font"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcolor = testNode.color; + + assertEquals("colorLink","#000000",vcolor); + +} + + + + +function runTest() { + HTMLFontElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement02.js new file mode 100644 index 0000000..1e10269 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFontElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "font"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The face attribute specifies the font's face identifier. + + Retrieve the face attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-55715655 +* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#HTML-HTMLFormElement-length +*/ +function HTMLFontElement02() { + var success; + if(checkInitialization(builder, "HTMLFontElement02") != null) return; + var nodeList; + var testNode; + var vface; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "font"); + nodeList = doc.getElementsByTagName("font"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vface = testNode.face; + + assertEquals("faceLink","arial,helvetica",vface); + +} + + + + +function runTest() { + HTMLFontElement02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement03.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement03.js new file mode 100644 index 0000000..437a36e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFontElement03.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFontElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "font"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The size attribute specifies the font's size. + + Retrieve the size attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-90127284 +*/ +function HTMLFontElement03() { + var success; + if(checkInitialization(builder, "HTMLFontElement03") != null) return; + var nodeList; + var testNode; + var vsize; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "font"); + nodeList = doc.getElementsByTagName("font"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vsize = testNode.size; + + assertEquals("sizeLink","4",vsize); + +} + + + + +function runTest() { + HTMLFontElement03(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFormElement02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFormElement02.js new file mode 100644 index 0000000..40b962b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFormElement02.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFormElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "form"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The length attribute specifies the number of form controls + in the form. + + Retrieve the length attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40002357 +* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#HTML-HTMLFormElement-length +*/ +function HTMLFormElement02() { + var success; + if(checkInitialization(builder, "HTMLFormElement02") != null) return; + var nodeList; + var testNode; + var vlength; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "form"); + nodeList = doc.getElementsByTagName("form"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlength = testNode.length; + + assertEquals("lengthLink",3,vlength); + +} + + + + +function runTest() { + HTMLFormElement02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement01.js new file mode 100644 index 0000000..977208c --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement01.js @@ -0,0 +1,116 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFrameElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "frame"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The frameBorder attribute specifies the request for frame borders. + (frameBorder=1 A border is drawn) + (FrameBorder=0 A border is not drawn) + + Retrieve the frameBorder attribute of the first FRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-11858633 +*/ +function HTMLFrameElement01() { + var success; + if(checkInitialization(builder, "HTMLFrameElement01") != null) return; + var nodeList; + var testNode; + var vframeborder; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "frame"); + nodeList = doc.getElementsByTagName("frame"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vframeborder = testNode.frameBorder; + + assertEquals("frameborderLink","1",vframeborder); + +} + + + + +function runTest() { + HTMLFrameElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement02.js new file mode 100644 index 0000000..31ba4dc --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement02.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFrameElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "frame"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The longDesc attribute specifies a URI designating a long description + of this image or frame. + + Retrieve the longDesc attribute of the first FRAME element and examine + its value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-7836998 +*/ +function HTMLFrameElement02() { + var success; + if(checkInitialization(builder, "HTMLFrameElement02") != null) return; + var nodeList; + var testNode; + var vlongdesc; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "frame"); + nodeList = doc.getElementsByTagName("frame"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vlongdesc = testNode.longDesc; + + assertEquals("longdescLink","about:blank",vlongdesc); + +} + + + + +function runTest() { + HTMLFrameElement02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement03.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement03.js new file mode 100644 index 0000000..7820c3a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement03.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFrameElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "frame"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The marginHeight attribute specifies the frame margin height, in pixels. + + Retrieve the marginHeight attribute of the first FRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-55569778 +*/ +function HTMLFrameElement03() { + var success; + if(checkInitialization(builder, "HTMLFrameElement03") != null) return; + var nodeList; + var testNode; + var vmarginheight; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "frame"); + nodeList = doc.getElementsByTagName("frame"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vmarginheight = testNode.marginHeight; + + assertEquals("marginheightLink","10",vmarginheight); + +} + + + + +function runTest() { + HTMLFrameElement03(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement04.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement04.js new file mode 100644 index 0000000..702daf4 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement04.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFrameElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "frame"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The marginWidth attribute specifies the frame margin width, in pixels. + + Retrieve the marginWidth attribute of the first FRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-8369969 +*/ +function HTMLFrameElement04() { + var success; + if(checkInitialization(builder, "HTMLFrameElement04") != null) return; + var nodeList; + var testNode; + var vmarginwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "frame"); + nodeList = doc.getElementsByTagName("frame"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vmarginwidth = testNode.marginWidth; + + assertEquals("marginwidthLink","5",vmarginwidth); + +} + + + + +function runTest() { + HTMLFrameElement04(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement05.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement05.js new file mode 100644 index 0000000..6a59d13 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement05.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFrameElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "frame"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The name attribute specifies the frame name(object of the target + attribute). + + Retrieve the name attribute of the first FRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-91128709 +*/ +function HTMLFrameElement05() { + var success; + if(checkInitialization(builder, "HTMLFrameElement05") != null) return; + var nodeList; + var testNode; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "frame"); + nodeList = doc.getElementsByTagName("frame"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vname = testNode.name; + + assertEquals("nameLink","Frame1",vname); + +} + + + + +function runTest() { + HTMLFrameElement05(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement06.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement06.js new file mode 100644 index 0000000..06f7e07 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement06.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFrameElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "frame"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The noResize attribute specifies if the user can resize the frame. When + true, forbid user from resizing frame. + + Retrieve the noResize attribute of the first FRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-80766578 +*/ +function HTMLFrameElement06() { + var success; + if(checkInitialization(builder, "HTMLFrameElement06") != null) return; + var nodeList; + var testNode; + var vnoresize; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "frame"); + nodeList = doc.getElementsByTagName("frame"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vnoresize = testNode.noResize; + + assertTrue("noresizeLink",vnoresize); + +} + + + + +function runTest() { + HTMLFrameElement06(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement07.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement07.js new file mode 100644 index 0000000..878a942 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement07.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFrameElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "frame"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The scrolling attribute specifies whether or not the frame should have + scrollbars. + + Retrieve the scrolling attribute of the first FRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-45411424 +*/ +function HTMLFrameElement07() { + var success; + if(checkInitialization(builder, "HTMLFrameElement07") != null) return; + var nodeList; + var testNode; + var vscrolling; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "frame"); + nodeList = doc.getElementsByTagName("frame"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vscrolling = testNode.scrolling; + + assertEquals("scrollingLink","yes",vscrolling); + +} + + + + +function runTest() { + HTMLFrameElement07(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement08.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement08.js new file mode 100644 index 0000000..541b5f4 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameElement08.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFrameElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "frame"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The src attribute specifies a URI designating the initial frame contents. + + Retrieve the src attribute of the first FRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78799535 +*/ +function HTMLFrameElement08() { + var success; + if(checkInitialization(builder, "HTMLFrameElement08") != null) return; + var nodeList; + var testNode; + var vsrc; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "frame"); + nodeList = doc.getElementsByTagName("frame"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vsrc = testNode.src; + + assertURIEquals("srcLink",null,null,null,null,"right",null,null,null,vsrc); + +} + + + + +function runTest() { + HTMLFrameElement08(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement01.js new file mode 100644 index 0000000..a8ed24f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement01.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFrameSetElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "frameset"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The cols attribute specifies the number of columns of frames in the + frameset. + + Retrieve the cols attribute of the first FRAMESET element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98869594 +*/ +function HTMLFrameSetElement01() { + var success; + if(checkInitialization(builder, "HTMLFrameSetElement01") != null) return; + var nodeList; + var testNode; + var vcols; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "frameset"); + nodeList = doc.getElementsByTagName("frameset"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vcols = testNode.cols; + + assertEquals("colsLink","20, 80",vcols); + +} + + + + +function runTest() { + HTMLFrameSetElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement02.js new file mode 100644 index 0000000..e7bc555 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLFrameSetElement02.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLFrameSetElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "frameset"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The rows attribute specifies the number of rows of frames in the + frameset. + + Retrieve the rows attribute of the second FRAMESET element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-19739247 +*/ +function HTMLFrameSetElement02() { + var success; + if(checkInitialization(builder, "HTMLFrameSetElement02") != null) return; + var nodeList; + var testNode; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "frameset"); + nodeList = doc.getElementsByTagName("frameset"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vrows = testNode.rows; + + assertEquals("rowsLink","100, 200",vrows); + +} + + + + +function runTest() { + HTMLFrameSetElement02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement01.js new file mode 100644 index 0000000..31599c0 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHRElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hr"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the rule alignment on the page. + + Retrieve the align attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-15235012 +*/ +function HTMLHRElement01() { + var success; + if(checkInitialization(builder, "HTMLHRElement01") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hr"); + nodeList = doc.getElementsByTagName("hr"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLHRElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement02.js new file mode 100644 index 0000000..215b4c6 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHRElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hr"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The noShade attribute specifies that the rule should be drawn as + a solid color. + + Retrieve the noShade attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-79813978 +*/ +function HTMLHRElement02() { + var success; + if(checkInitialization(builder, "HTMLHRElement02") != null) return; + var nodeList; + var testNode; + var vnoshade; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hr"); + nodeList = doc.getElementsByTagName("hr"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vnoshade = testNode.noShade; + + assertTrue("noShadeLink",vnoshade); + +} + + + + +function runTest() { + HTMLHRElement02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement03.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement03.js new file mode 100644 index 0000000..405472f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement03.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHRElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hr"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The size attribute specifies the height of the rule. + + Retrieve the size attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-77612587 +*/ +function HTMLHRElement03() { + var success; + if(checkInitialization(builder, "HTMLHRElement03") != null) return; + var nodeList; + var testNode; + var vsize; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hr"); + nodeList = doc.getElementsByTagName("hr"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vsize = testNode.size; + + assertEquals("sizeLink","5",vsize); + +} + + + + +function runTest() { + HTMLHRElement03(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement04.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement04.js new file mode 100644 index 0000000..0ffdfa0 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHRElement04.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHRElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "hr"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The width attribute specifies the width of the rule. + + Retrieve the width attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87744198 +*/ +function HTMLHRElement04() { + var success; + if(checkInitialization(builder, "HTMLHRElement04") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "hr"); + nodeList = doc.getElementsByTagName("hr"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vwidth = testNode.width; + + assertEquals("widthLink","400",vwidth); + +} + + + + +function runTest() { + HTMLHRElement04(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadElement01.js new file mode 100644 index 0000000..cea3273 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHeadElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "head"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The profile attribute specifies a URI designating a metadata profile. + + Retrieve the profile attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96921909 +*/ +function HTMLHeadElement01() { + var success; + if(checkInitialization(builder, "HTMLHeadElement01") != null) return; + var nodeList; + var testNode; + var vprofile; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "head"); + nodeList = doc.getElementsByTagName("head"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vprofile = testNode.profile; + + assertURIEquals("profileLink",null,null,null,"profile",null,null,null,null,vprofile); + +} + + + + +function runTest() { + HTMLHeadElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement01.js new file mode 100644 index 0000000..46395cc --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHeadingElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "heading"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal text alignment(H1). + + Retrieve the align attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6796462 +*/ +function HTMLHeadingElement01() { + var success; + if(checkInitialization(builder, "HTMLHeadingElement01") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "heading"); + nodeList = doc.getElementsByTagName("h1"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLHeadingElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement02.js new file mode 100644 index 0000000..9e38da7 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement02.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHeadingElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "heading"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal text alignment(H2). + + Retrieve the align attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6796462 +*/ +function HTMLHeadingElement02() { + var success; + if(checkInitialization(builder, "HTMLHeadingElement02") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "heading"); + nodeList = doc.getElementsByTagName("h2"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","left",valign); + +} + + + + +function runTest() { + HTMLHeadingElement02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement03.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement03.js new file mode 100644 index 0000000..f0400e4 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement03.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHeadingElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "heading"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal text alignment(H3). + + Retrieve the align attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6796462 +*/ +function HTMLHeadingElement03() { + var success; + if(checkInitialization(builder, "HTMLHeadingElement03") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "heading"); + nodeList = doc.getElementsByTagName("h3"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","right",valign); + +} + + + + +function runTest() { + HTMLHeadingElement03(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement04.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement04.js new file mode 100644 index 0000000..0a48815 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement04.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHeadingElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "heading"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal text alignment(H4). + + Retrieve the align attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6796462 +*/ +function HTMLHeadingElement04() { + var success; + if(checkInitialization(builder, "HTMLHeadingElement04") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "heading"); + nodeList = doc.getElementsByTagName("h4"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","justify",valign); + +} + + + + +function runTest() { + HTMLHeadingElement04(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement05.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement05.js new file mode 100644 index 0000000..67de088 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement05.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHeadingElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "heading"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal text alignment(H5). + + Retrieve the align attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6796462 +*/ +function HTMLHeadingElement05() { + var success; + if(checkInitialization(builder, "HTMLHeadingElement05") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "heading"); + nodeList = doc.getElementsByTagName("h5"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLHeadingElement05(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement06.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement06.js new file mode 100644 index 0000000..97218f9 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHeadingElement06.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHeadingElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "heading"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal text alignment(H6). + + Retrieve the align attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6796462 +*/ +function HTMLHeadingElement06() { + var success; + if(checkInitialization(builder, "HTMLHeadingElement06") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "heading"); + nodeList = doc.getElementsByTagName("h6"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","left",valign); + +} + + + + +function runTest() { + HTMLHeadingElement06(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHtmlElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHtmlElement01.js new file mode 100644 index 0000000..5e62cdb --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLHtmlElement01.js @@ -0,0 +1,124 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLHtmlElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "html"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The version attribute specifies version information about the document's + DTD. + + Retrieve the version attribute and examine its value. + + Test is only applicable to HTML, version attribute is not supported in XHTML. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-9383775 +*/ +function HTMLHtmlElement01() { + var success; + if(checkInitialization(builder, "HTMLHtmlElement01") != null) return; + var nodeList; + var testNode; + var vversion; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "html"); + nodeList = doc.getElementsByTagName("html"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vversion = testNode.version; + + + if( + + (builder.contentType == "text/html") + + ) { + assertEquals("versionLink","-//W3C//DTD HTML 4.01 Transitional//EN",vversion); + + } + +} + + + + +function runTest() { + HTMLHtmlElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement01.js new file mode 100644 index 0000000..591f57e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement01.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIFrameElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "iframe"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute aligns this object(vertically or horizontally with + respect to its surrounding text. + + Retrieve the align attribute of the first IFRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-11309947 +*/ +function HTMLIFrameElement01() { + var success; + if(checkInitialization(builder, "HTMLIFrameElement01") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "iframe"); + nodeList = doc.getElementsByTagName("iframe"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","top",valign); + +} + + + + +function runTest() { + HTMLIFrameElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement02.js new file mode 100644 index 0000000..28326df --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement02.js @@ -0,0 +1,116 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIFrameElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "iframe"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The frameBorder attribute specifies the request for frame borders. + (frameBorder=1 A border is drawn) + (FrameBorder=0 A border is not drawn) + + Retrieve the frameBorder attribute of the first IFRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-22463410 +*/ +function HTMLIFrameElement02() { + var success; + if(checkInitialization(builder, "HTMLIFrameElement02") != null) return; + var nodeList; + var testNode; + var vframeborder; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "iframe"); + nodeList = doc.getElementsByTagName("iframe"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vframeborder = testNode.frameBorder; + + assertEquals("frameborderLink","1",vframeborder); + +} + + + + +function runTest() { + HTMLIFrameElement02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement04.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement04.js new file mode 100644 index 0000000..cc3bd41 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement04.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIFrameElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "iframe"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The longDesc attribute specifies a URI designating a long description + of this image or frame. + + Retrieve the longDesc attribute of the first IFRAME element and examine + its value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-70472105 +*/ +function HTMLIFrameElement04() { + var success; + if(checkInitialization(builder, "HTMLIFrameElement04") != null) return; + var nodeList; + var testNode; + var vlongdesc; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "iframe"); + nodeList = doc.getElementsByTagName("iframe"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlongdesc = testNode.longDesc; + + assertEquals("longdescLink","about:blank",vlongdesc); + +} + + + + +function runTest() { + HTMLIFrameElement04(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement05.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement05.js new file mode 100644 index 0000000..1f03bea --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement05.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIFrameElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "iframe"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The marginWidth attribute specifies the frame margin width, in pixels. + + Retrieve the marginWidth attribute of the first FRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-66486595 +*/ +function HTMLIFrameElement05() { + var success; + if(checkInitialization(builder, "HTMLIFrameElement05") != null) return; + var nodeList; + var testNode; + var vmarginwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "iframe"); + nodeList = doc.getElementsByTagName("iframe"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vmarginwidth = testNode.marginWidth; + + assertEquals("marginwidthLink","5",vmarginwidth); + +} + + + + +function runTest() { + HTMLIFrameElement05(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement06.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement06.js new file mode 100644 index 0000000..9081c4c --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement06.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIFrameElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "iframe"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The marginHeight attribute specifies the frame margin height, in pixels. + + Retrieve the marginHeight attribute of the first IFRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-91371294 +*/ +function HTMLIFrameElement06() { + var success; + if(checkInitialization(builder, "HTMLIFrameElement06") != null) return; + var nodeList; + var testNode; + var vmarginheight; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "iframe"); + nodeList = doc.getElementsByTagName("iframe"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vmarginheight = testNode.marginHeight; + + assertEquals("marginheightLink","10",vmarginheight); + +} + + + + +function runTest() { + HTMLIFrameElement06(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement08.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement08.js new file mode 100644 index 0000000..2c1a4a8 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIFrameElement08.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIFrameElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "iframe"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The scrolling attribute specifies whether or not the frame should have + scrollbars. + + Retrieve the scrolling attribute of the first FRAME element and examine + it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-36369822 +*/ +function HTMLIFrameElement08() { + var success; + if(checkInitialization(builder, "HTMLIFrameElement08") != null) return; + var nodeList; + var testNode; + var vscrolling; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "iframe"); + nodeList = doc.getElementsByTagName("iframe"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vscrolling = testNode.scrolling; + + assertEquals("scrollingLink","yes",vscrolling); + +} + + + + +function runTest() { + HTMLIFrameElement08(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement01.js new file mode 100644 index 0000000..48a4806 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "img"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The name attribute specifies the name of the element. + + Retrieve the name attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-47534097 +*/ +function HTMLImageElement01() { + var success; + if(checkInitialization(builder, "HTMLImageElement01") != null) return; + var nodeList; + var testNode; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "img"); + nodeList = doc.getElementsByTagName("img"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vname = testNode.name; + + assertEquals("nameLink","IMAGE-1",vname); + +} + + + + +function runTest() { + HTMLImageElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement02.js new file mode 100644 index 0000000..549b1e7 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "img"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute aligns this object with respect to its surrounding + text. + + Retrieve the align attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-3211094 +*/ +function HTMLImageElement02() { + var success; + if(checkInitialization(builder, "HTMLImageElement02") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "img"); + nodeList = doc.getElementsByTagName("img"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","middle",valign); + +} + + + + +function runTest() { + HTMLImageElement02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement03.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement03.js new file mode 100644 index 0000000..1dcf05e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement03.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "img"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The alt attribute specifies an alternative text for user agenst not + rendering the normal content of this element. + + Retrieve the alt attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95636861 +*/ +function HTMLImageElement03() { + var success; + if(checkInitialization(builder, "HTMLImageElement03") != null) return; + var nodeList; + var testNode; + var valt; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "img"); + nodeList = doc.getElementsByTagName("img"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valt = testNode.alt; + + assertEquals("altLink","DTS IMAGE LOGO",valt); + +} + + + + +function runTest() { + HTMLImageElement03(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement04.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement04.js new file mode 100644 index 0000000..9015271 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement04.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "img"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The border attribute specifies the width of the border around the image. + + Retrieve the border attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-136671 +*/ +function HTMLImageElement04() { + var success; + if(checkInitialization(builder, "HTMLImageElement04") != null) return; + var nodeList; + var testNode; + var vborder; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "img"); + nodeList = doc.getElementsByTagName("img"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vborder = testNode.border; + + assertEquals("borderLink","0",vborder); + +} + + + + +function runTest() { + HTMLImageElement04(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement08.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement08.js new file mode 100644 index 0000000..1a63d60 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement08.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "img"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The longDesc attribute contains an URI designating a long description + of this image or frame. + + Retrieve the longDesc attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-77376969 +*/ +function HTMLImageElement08() { + var success; + if(checkInitialization(builder, "HTMLImageElement08") != null) return; + var nodeList; + var testNode; + var vlongdesc; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "img"); + nodeList = doc.getElementsByTagName("img"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlongdesc = testNode.longDesc; + + assertURIEquals("longDescLink",null,null,null,"desc.html",null,null,null,null,vlongdesc); + +} + + + + +function runTest() { + HTMLImageElement08(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement10.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement10.js new file mode 100644 index 0000000..52012c9 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement10.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "img"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The useMap attribute specifies to use the client-side image map. + + Retrieve the useMap attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-35981181 +*/ +function HTMLImageElement10() { + var success; + if(checkInitialization(builder, "HTMLImageElement10") != null) return; + var nodeList; + var testNode; + var vusemap; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "img"); + nodeList = doc.getElementsByTagName("img"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vusemap = testNode.useMap; + + assertEquals("useMapLink","#DTS-MAP",vusemap); + +} + + + + +function runTest() { + HTMLImageElement10(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement14.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement14.js new file mode 100644 index 0000000..65212eb --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLImageElement14.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLImageElement14"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "img"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The lowSrc attribute specifies an URI designating a long description of +this image or frame. + +Retrieve the lowSrc attribute of the first IMG element and examine +its value. Should be "" since lowSrc is not a valid attribute for IMG. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-91256910 +*/ +function HTMLImageElement14() { + var success; + if(checkInitialization(builder, "HTMLImageElement14") != null) return; + var nodeList; + var testNode; + var vlow; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "img"); + nodeList = doc.getElementsByTagName("img"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vlow = testNode.lowSrc; + + assertEquals("lowLink","",vlow); + +} + + + + +function runTest() { + HTMLImageElement14(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement06.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement06.js new file mode 100644 index 0000000..52d1b31 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement06.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute aligns this object(vertically or horizontally) + with respect to the surrounding text. + + Retrieve the align attribute of the 4th INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96991182 +*/ +function HTMLInputElement06() { + var success; + if(checkInitialization(builder, "HTMLInputElement06") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(3); + valign = testNode.align; + + assertEquals("alignLink","bottom".toLowerCase(),valign.toLowerCase()); + +} + + + + +function runTest() { + HTMLInputElement06(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement17.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement17.js new file mode 100644 index 0000000..c0ebbf5 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLInputElement17.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLInputElement17"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "input"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The useMap attribute specifies the use of the client-side image map. + + Retrieve the useMap attribute of the 8th INPUT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-32463706 +*/ +function HTMLInputElement17() { + var success; + if(checkInitialization(builder, "HTMLInputElement17") != null) return; + var nodeList; + var testNode; + var vusemap; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "input"); + nodeList = doc.getElementsByTagName("input"); + assertSize("Asize",9,nodeList); +testNode = nodeList.item(7); + vusemap = testNode.useMap; + + assertEquals("usemapLink","#submit-map",vusemap); + +} + + + + +function runTest() { + HTMLInputElement17(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement01.js new file mode 100644 index 0000000..d125608 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement01.js @@ -0,0 +1,122 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIsIndexElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "isindex"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns the FORM element containing this control. + + Retrieve the form attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87069980 +*/ +function HTMLIsIndexElement01() { + var success; + if(checkInitialization(builder, "HTMLIsIndexElement01") != null) return; + var nodeList; + var testNode; + var vform; + var fNode; + var doc; + var prompt; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "isindex"); + nodeList = doc.getElementsByTagName("isindex"); + testNode = nodeList.item(0); + assertNotNull("notnull",testNode); +prompt = testNode.prompt; + + assertEquals("IsIndex.Prompt","New Employee: ",prompt); + fNode = testNode.form; + + assertNotNull("formNotNull",fNode); +vform = fNode.id; + + assertEquals("formLink","form1",vform); + assertSize("Asize",2,nodeList); + +} + + + + +function runTest() { + HTMLIsIndexElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement02.js new file mode 100644 index 0000000..76bbf9c --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement02.js @@ -0,0 +1,119 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIsIndexElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "isindex"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns null if control in not within the context of + form. + + Retrieve the form attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87069980 +*/ +function HTMLIsIndexElement02() { + var success; + if(checkInitialization(builder, "HTMLIsIndexElement02") != null) return; + var nodeList; + var testNode; + var vform; + var doc; + var prompt; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "isindex"); + nodeList = doc.getElementsByTagName("isindex"); + testNode = nodeList.item(1); + assertNotNull("notnull",testNode); +prompt = testNode.prompt; + + assertEquals("IsIndex.Prompt","Old Employee: ",prompt); + vform = testNode.form; + + assertNull("formNullLink",vform); + assertSize("Asize",2,nodeList); + +} + + + + +function runTest() { + HTMLIsIndexElement02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement03.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement03.js new file mode 100644 index 0000000..86d0c13 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLIsIndexElement03.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLIsIndexElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "isindex"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The prompt attribute specifies the prompt message. + + Retrieve the prompt attribute of the 1st isindex element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33589862 +*/ +function HTMLIsIndexElement03() { + var success; + if(checkInitialization(builder, "HTMLIsIndexElement03") != null) return; + var nodeList; + var testNode; + var vprompt; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "isindex"); + nodeList = doc.getElementsByTagName("isindex"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vprompt = testNode.prompt; + + assertEquals("promptLink","New Employee: ",vprompt); + +} + + + + +function runTest() { + HTMLIsIndexElement03(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLIElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLIElement01.js new file mode 100644 index 0000000..1a95bb2 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLIElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLIElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "li"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The type attribute is a list item bullet style. + + Retrieve the type attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52387668 +*/ +function HTMLLIElement01() { + var success; + if(checkInitialization(builder, "HTMLLIElement01") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "li"); + nodeList = doc.getElementsByTagName("li"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","square",vtype); + +} + + + + +function runTest() { + HTMLLIElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement01.js new file mode 100644 index 0000000..cd03965 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement01.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLegendElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "legend"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns the FORM element containing this control. + + Retrieve the form attribute from the first LEGEND element + and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-29594519 +*/ +function HTMLLegendElement01() { + var success; + if(checkInitialization(builder, "HTMLLegendElement01") != null) return; + var nodeList; + var testNode; + var vform; + var fNode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "legend"); + nodeList = doc.getElementsByTagName("legend"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + fNode = testNode.form; + + vform = fNode.id; + + assertEquals("formLink","form1",vform); + +} + + + + +function runTest() { + HTMLLegendElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement02.js new file mode 100644 index 0000000..b8395cc --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLegendElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "legend"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The form attribute returns null if control in not within the context of + form. + + Retrieve the second ELEMENT and examine its form element. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-29594519 +*/ +function HTMLLegendElement02() { + var success; + if(checkInitialization(builder, "HTMLLegendElement02") != null) return; + var nodeList; + var testNode; + var vform; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "legend"); + nodeList = doc.getElementsByTagName("legend"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vform = testNode.form; + + assertNull("formNullLink",vform); + +} + + + + +function runTest() { + HTMLLegendElement02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement03.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement03.js new file mode 100644 index 0000000..33fabad --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement03.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLegendElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "legend"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The accessKey attribute is a single character access key to give access + to the form control. + + Retrieve the accessKey attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-11297832 +*/ +function HTMLLegendElement03() { + var success; + if(checkInitialization(builder, "HTMLLegendElement03") != null) return; + var nodeList; + var testNode; + var vaccesskey; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "legend"); + nodeList = doc.getElementsByTagName("legend"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vaccesskey = testNode.accessKey; + + assertEquals("accesskeyLink","b",vaccesskey); + +} + + + + +function runTest() { + HTMLLegendElement03(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement04.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement04.js new file mode 100644 index 0000000..510d114 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLegendElement04.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLegendElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "legend"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the text alignment relative to FIELDSET. + + Retrieve the align attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-79538067 +*/ +function HTMLLegendElement04() { + var success; + if(checkInitialization(builder, "HTMLLegendElement04") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "legend"); + nodeList = doc.getElementsByTagName("legend"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","top",valign); + +} + + + + +function runTest() { + HTMLLegendElement04(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement02.js new file mode 100644 index 0000000..7768bee --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLinkElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "link"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The charset attribute indicates the character encoding of the linked + resource. + + Retrieve the charset attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63954491 +*/ +function HTMLLinkElement02() { + var success; + if(checkInitialization(builder, "HTMLLinkElement02") != null) return; + var nodeList; + var testNode; + var vcharset; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "link"); + nodeList = doc.getElementsByTagName("link"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vcharset = testNode.charset; + + assertEquals("charsetLink","Latin-1",vcharset); + +} + + + + +function runTest() { + HTMLLinkElement02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement07.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement07.js new file mode 100644 index 0000000..c5597f8 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement07.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLinkElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "link"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The rev attribute specifies the reverse link type. + + Retrieve the rev attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40715461 +*/ +function HTMLLinkElement07() { + var success; + if(checkInitialization(builder, "HTMLLinkElement07") != null) return; + var nodeList; + var testNode; + var vrev; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "link"); + nodeList = doc.getElementsByTagName("link"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vrev = testNode.rev; + + assertEquals("revLink","stylesheet",vrev); + +} + + + + +function runTest() { + HTMLLinkElement07(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement09.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement09.js new file mode 100644 index 0000000..050f9b8 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLLinkElement09.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLLinkElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "link2"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The target attribute specifies the frame to render the resource in. + + Retrieve the target attribute and examine it's value. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-84183095 +*/ +function HTMLLinkElement09() { + var success; + if(checkInitialization(builder, "HTMLLinkElement09") != null) return; + var nodeList; + var testNode; + var vtarget; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "link2"); + nodeList = doc.getElementsByTagName("link"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vtarget = testNode.target; + + assertEquals("targetLink","dynamic",vtarget); + +} + + + + +function runTest() { + HTMLLinkElement09(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMapElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMapElement01.js new file mode 100644 index 0000000..ab2b9c4 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMapElement01.js @@ -0,0 +1,116 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLMapElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "map"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The areas attribute is a list of areas defined for the image map. + + Retrieve the areas attribute and find the number of areas defined. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71838730 +*/ +function HTMLMapElement01() { + var success; + if(checkInitialization(builder, "HTMLMapElement01") != null) return; + var nodeList; + var areasnodeList; + var testNode; + var vareas; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "map"); + nodeList = doc.getElementsByTagName("map"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + areasnodeList = testNode.areas; + + vareas = areasnodeList.length; + + assertEquals("areasLink",3,vareas); + +} + + + + +function runTest() { + HTMLMapElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMenuElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMenuElement01.js new file mode 100644 index 0000000..c2ff01d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLMenuElement01.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLMenuElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "menu"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The compact attribute specifies a boolean value on whether to display + the list more compactly. + + Retrieve the compact attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-68436464 +*/ +function HTMLMenuElement01() { + var success; + if(checkInitialization(builder, "HTMLMenuElement01") != null) return; + var nodeList; + var testNode; + var vcompact; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "menu"); + nodeList = doc.getElementsByTagName("menu"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcompact = testNode.compact; + + assertTrue("compactLink",vcompact); + +} + + + + +function runTest() { + HTMLMenuElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOListElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOListElement01.js new file mode 100644 index 0000000..05aa1e6 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOListElement01.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOListElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "olist"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The compact attribute specifies a boolean value on whether to display + the list more compactly. + + Retrieve the compact attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76448506 +*/ +function HTMLOListElement01() { + var success; + if(checkInitialization(builder, "HTMLOListElement01") != null) return; + var nodeList; + var testNode; + var vcompact; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "olist"); + nodeList = doc.getElementsByTagName("ol"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcompact = testNode.compact; + + assertTrue("compactLink",vcompact); + +} + + + + +function runTest() { + HTMLOListElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement02.js new file mode 100644 index 0000000..1cbaaa3 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The code attribute specifies an Applet class file. + +Retrieve the code attribute of the second OBJECT element and examine +its value. Should be "" since CODE is not a valid attribute for OBJECT. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75241146 +*/ +function HTMLObjectElement02() { + var success; + if(checkInitialization(builder, "HTMLObjectElement02") != null) return; + var nodeList; + var testNode; + var vcode; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vcode = testNode.code; + + assertEquals("codeLink","",vcode); + +} + + + + +function runTest() { + HTMLObjectElement02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement03.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement03.js new file mode 100644 index 0000000..0e37e00 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement03.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the alignment of this object with respect + to its surrounding text. + + Retrieve the align attribute of the first OBJECT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-16962097 +*/ +function HTMLObjectElement03() { + var success; + if(checkInitialization(builder, "HTMLObjectElement03") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","middle",valign); + +} + + + + +function runTest() { + HTMLObjectElement03(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement04.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement04.js new file mode 100644 index 0000000..8200dd1 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement04.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The archive attribute specifies a space-separated list of archives. + + Retrieve the archive attribute of the first OBJECT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-47783837 +*/ +function HTMLObjectElement04() { + var success; + if(checkInitialization(builder, "HTMLObjectElement04") != null) return; + var nodeList; + var testNode; + var varchive; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + varchive = testNode.archive; + + assertEquals("archiveLink","",varchive); + +} + + + + +function runTest() { + HTMLObjectElement04(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement05.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement05.js new file mode 100644 index 0000000..699a281 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement05.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The border attribute specifies the widht of the border around the object. + + Retrieve the border attribute of the first OBJECT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-82818419 +*/ +function HTMLObjectElement05() { + var success; + if(checkInitialization(builder, "HTMLObjectElement05") != null) return; + var nodeList; + var testNode; + var vborder; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vborder = testNode.border; + + assertEquals("borderLink","0",vborder); + +} + + + + +function runTest() { + HTMLObjectElement05(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement06.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement06.js new file mode 100644 index 0000000..fbc1b94 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement06.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The codeBase attribute specifies the base URI for the classid, data and + archive attributes. + + Retrieve the codeBase attribute of the first OBJECT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-25709136 +*/ +function HTMLObjectElement06() { + var success; + if(checkInitialization(builder, "HTMLObjectElement06") != null) return; + var nodeList; + var testNode; + var vcodebase; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vcodebase = testNode.codeBase; + + assertURIEquals("codebaseLink",null,"//xw2k.sdct.itl.nist.gov/brady/dom/",null,null,null,null,null,null,vcodebase); + +} + + + + +function runTest() { + HTMLObjectElement06(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement07.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement07.js new file mode 100644 index 0000000..e893e0f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement07.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The codeType attribute specifies the data downloaded via the classid + attribute. + + Retrieve the codeType attribute of the second OBJECT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-19945008 +*/ +function HTMLObjectElement07() { + var success; + if(checkInitialization(builder, "HTMLObjectElement07") != null) return; + var nodeList; + var testNode; + var vcodetype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vcodetype = testNode.codeType; + + assertEquals("codetypeLink","image/gif",vcodetype); + +} + + + + +function runTest() { + HTMLObjectElement07(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement09.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement09.js new file mode 100644 index 0000000..3309870 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement09.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The declare attribute specifies this object should be declared only and + no instance of it should be created. + + Retrieve the declare attribute of the second OBJECT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-942770 +*/ +function HTMLObjectElement09() { + var success; + if(checkInitialization(builder, "HTMLObjectElement09") != null) return; + var nodeList; + var testNode; + var vdeclare; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vdeclare = testNode.declare; + + assertTrue("declareLink",vdeclare); + +} + + + + +function runTest() { + HTMLObjectElement09(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement12.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement12.js new file mode 100644 index 0000000..ac365bb --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLObjectElement12.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLObjectElement12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The standby attribute specifies a message to render while loading the + object. + + Retrieve the standby attribute of the first OBJECT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-25039673 +*/ +function HTMLObjectElement12() { + var success; + if(checkInitialization(builder, "HTMLObjectElement12") != null) return; + var nodeList; + var testNode; + var vstandby; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vstandby = testNode.standby; + + assertEquals("alignLink","Loading Image ...",vstandby); + +} + + + + +function runTest() { + HTMLObjectElement12(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement04.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement04.js new file mode 100644 index 0000000..838554c --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement04.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptionElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "option"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The text attribute contains the text contained within the option element. + + Retrieve the text attribute from the second OPTION element + and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-48154426 +*/ +function HTMLOptionElement04() { + var success; + if(checkInitialization(builder, "HTMLOptionElement04") != null) return; + var nodeList; + var testNode; + var vtext; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "option"); + nodeList = doc.getElementsByTagName("option"); + assertSize("Asize",10,nodeList); +testNode = nodeList.item(1); + vtext = testNode.text; + + assertEquals("textLink","EMP10002",vtext); + +} + + + + +function runTest() { + HTMLOptionElement04(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement05.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement05.js new file mode 100644 index 0000000..c3965f9 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement05.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptionElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "option"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The index attribute indicates th index of this OPTION in ints parent + SELECT. + + Retrieve the index attribute from the seventh OPTION element + and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14038413 +*/ +function HTMLOptionElement05() { + var success; + if(checkInitialization(builder, "HTMLOptionElement05") != null) return; + var nodeList; + var testNode; + var vindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "option"); + nodeList = doc.getElementsByTagName("option"); + assertSize("Asize",10,nodeList); +testNode = nodeList.item(6); + vindex = testNode.index; + + assertEquals("indexLink",1,vindex); + +} + + + + +function runTest() { + HTMLOptionElement05(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement09.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement09.js new file mode 100644 index 0000000..c10ea1c --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLOptionElement09.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLOptionElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "option"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The value attribute contains the current form control value. + + Retrieve the value attribute from the first OPTION element + and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6185554 +*/ +function HTMLOptionElement09() { + var success; + if(checkInitialization(builder, "HTMLOptionElement09") != null) return; + var nodeList; + var testNode; + var vvalue; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "option"); + nodeList = doc.getElementsByTagName("option"); + assertSize("Asize",10,nodeList); +testNode = nodeList.item(0); + vvalue = testNode.value; + + assertEquals("valueLink","10001",vvalue); + +} + + + + +function runTest() { + HTMLOptionElement09(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParagraphElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParagraphElement01.js new file mode 100644 index 0000000..64a86e0 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParagraphElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLParagraphElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "paragraph"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal text alignment. + + Retrieve the align attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-53465507 +*/ +function HTMLParagraphElement01() { + var success; + if(checkInitialization(builder, "HTMLParagraphElement01") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "paragraph"); + nodeList = doc.getElementsByTagName("p"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLParagraphElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement01.js new file mode 100644 index 0000000..c3d6c44 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLParamElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "param"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The name attribute specifies the name of the run-time parameter. + + Retrieve the name attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59871447 +*/ +function HTMLParamElement01() { + var success; + if(checkInitialization(builder, "HTMLParamElement01") != null) return; + var nodeList; + var testNode; + var vname; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "param"); + nodeList = doc.getElementsByTagName("param"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vname = testNode.name; + + assertEquals("nameLink","image3",vname); + +} + + + + +function runTest() { + HTMLParamElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement03.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement03.js new file mode 100644 index 0000000..48efd58 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement03.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLParamElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "param"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The valueType attribute specifies information about the meaning of the + value specified by the value attribute. + + Retrieve the valueType attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-23931872 +*/ +function HTMLParamElement03() { + var success; + if(checkInitialization(builder, "HTMLParamElement03") != null) return; + var nodeList; + var testNode; + var vvaluetype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "param"); + nodeList = doc.getElementsByTagName("param"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vvaluetype = testNode.valueType; + + assertEquals("valueTypeLink","ref",vvaluetype); + +} + + + + +function runTest() { + HTMLParamElement03(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement04.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement04.js new file mode 100644 index 0000000..c6523e3 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLParamElement04.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLParamElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "param"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The type attribute specifies the content type for the value attribute + when valuetype has the value ref. + + Retrieve the type attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-18179888 +*/ +function HTMLParamElement04() { + var success; + if(checkInitialization(builder, "HTMLParamElement04") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "param"); + nodeList = doc.getElementsByTagName("param"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","image/gif",vtype); + +} + + + + +function runTest() { + HTMLParamElement04(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLPreElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLPreElement01.js new file mode 100644 index 0000000..b2c16f3 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLPreElement01.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLPreElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "pre"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The width attribute specifies the fixed width for content. + + Retrieve the width attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-13894083 +*/ +function HTMLPreElement01() { + var success; + if(checkInitialization(builder, "HTMLPreElement01") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "pre"); + nodeList = doc.getElementsByTagName("pre"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vwidth = testNode.width; + + assertEquals("widthLink",277,vwidth); + +} + + + + +function runTest() { + HTMLPreElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCaptionElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCaptionElement01.js new file mode 100644 index 0000000..e5947a8 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCaptionElement01.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCaptionElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecaption"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the caption alignment with respect to + the table. + + Retrieve the align attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-79875068 +*/ +function HTMLTableCaptionElement01() { + var success; + if(checkInitialization(builder, "HTMLTableCaptionElement01") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecaption"); + nodeList = doc.getElementsByTagName("caption"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","top",valign); + +} + + + + +function runTest() { + HTMLTableCaptionElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement01.js new file mode 100644 index 0000000..dcc8a80 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement01.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The cellIndex attribute specifies the index of this cell in the row(TH). + + Retrieve the cellIndex attribute of the first TH element and examine its + value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-80748363 +*/ +function HTMLTableCellElement01() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement01") != null) return; + var nodeList; + var testNode; + var vcellindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(0); + vcellindex = testNode.cellIndex; + + assertEquals("cellIndexLink",0,vcellindex); + +} + + + + +function runTest() { + HTMLTableCellElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement02.js new file mode 100644 index 0000000..049c770 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement02.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The cellIndex attribute specifies the index of this cell in the row(TD). + + Retrieve the cellIndex attribute of the first TD element and examine its + value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-80748363 +*/ +function HTMLTableCellElement02() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement02") != null) return; + var nodeList; + var testNode; + var vcellindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(0); + vcellindex = testNode.cellIndex; + + assertEquals("cellIndexLink",0,vcellindex); + +} + + + + +function runTest() { + HTMLTableCellElement02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement03.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement03.js new file mode 100644 index 0000000..72ffe5f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement03.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The abbr attribute specifies the abbreviation for table header cells(TH). + + Retrieve the abbr attribute from the second TH element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-74444037 +*/ +function HTMLTableCellElement03() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement03") != null) return; + var nodeList; + var testNode; + var vabbr; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vabbr = testNode.abbr; + + assertEquals("abbrLink","hd1",vabbr); + +} + + + + +function runTest() { + HTMLTableCellElement03(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement04.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement04.js new file mode 100644 index 0000000..2d41fe9 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement04.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The abbr attribute specifies the abbreviation for table data cells(TD). + + Retrieve the abbr attribute from the second TD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-74444037 +*/ +function HTMLTableCellElement04() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement04") != null) return; + var nodeList; + var testNode; + var vabbr; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vabbr = testNode.abbr; + + assertEquals("abbrLink","hd2",vabbr); + +} + + + + +function runTest() { + HTMLTableCellElement04(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement05.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement05.js new file mode 100644 index 0000000..90da834 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement05.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal alignment for table + header cells(TH). + + Retrieve the align attribute from the second TH element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98433879 +*/ +function HTMLTableCellElement05() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement05") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLTableCellElement05(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement06.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement06.js new file mode 100644 index 0000000..99ab7a0 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement06.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal alignment for table + data cells(TD). + + Retrieve the align attribute from the second TD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98433879 +*/ +function HTMLTableCellElement06() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement06") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLTableCellElement06(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement07.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement07.js new file mode 100644 index 0000000..b0e9c20 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement07.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The axis attribute specifies the names group of related headers for table + header cells(TH). + + Retrieve the align attribute from the second TH element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76554418 +*/ +function HTMLTableCellElement07() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement07") != null) return; + var nodeList; + var testNode; + var vaxis; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vaxis = testNode.axis; + + assertEquals("axisLink","center",vaxis); + +} + + + + +function runTest() { + HTMLTableCellElement07(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement08.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement08.js new file mode 100644 index 0000000..c051a8f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement08.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The axis attribute specifies the names group of related headers for table + data cells(TD). + + Retrieve the axis attribute from the second TD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76554418 +*/ +function HTMLTableCellElement08() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement08") != null) return; + var nodeList; + var testNode; + var vaxis; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vaxis = testNode.axis; + + assertEquals("axisLink","center",vaxis); + +} + + + + +function runTest() { + HTMLTableCellElement08(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement09.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement09.js new file mode 100644 index 0000000..05d1444 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement09.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The bgColor attribute specifies the cells background color for + table header cells(TH). + + Retrieve the bgColor attribute from the second TH element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88135431 +*/ +function HTMLTableCellElement09() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement09") != null) return; + var nodeList; + var testNode; + var vbgcolor; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vbgcolor = testNode.bgColor; + + assertEquals("bgColorLink","#00FFFF".toLowerCase(),vbgcolor.toLowerCase()); + +} + + + + +function runTest() { + HTMLTableCellElement09(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement10.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement10.js new file mode 100644 index 0000000..798f16f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement10.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The bgColor attribute specifies the cells background color for table + data cells(TD). + + Retrieve the bgColor attribute from the second TD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88135431 +*/ +function HTMLTableCellElement10() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement10") != null) return; + var nodeList; + var testNode; + var vbgcolor; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vbgcolor = testNode.bgColor; + + assertEquals("bgColorLink","#FF0000".toLowerCase(),vbgcolor.toLowerCase()); + +} + + + + +function runTest() { + HTMLTableCellElement10(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement11.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement11.js new file mode 100644 index 0000000..452831c --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement11.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The char attribute specifies the alignment character for cells in a column + of table header cells(TH). + + Retrieve the char attribute from the second TH element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-30914780 +*/ +function HTMLTableCellElement11() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement11") != null) return; + var nodeList; + var testNode; + var vch; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vch = testNode.ch; + + assertEquals("chLink",":",vch); + +} + + + + +function runTest() { + HTMLTableCellElement11(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement12.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement12.js new file mode 100644 index 0000000..d27b212 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement12.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The char attribute specifies the alignment character for cells in a column + of table data cells(TD). + + Retrieve the char attribute from the second TD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-30914780 +*/ +function HTMLTableCellElement12() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement12") != null) return; + var nodeList; + var testNode; + var vch; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vch = testNode.ch; + + assertEquals("chLink",":",vch); + +} + + + + +function runTest() { + HTMLTableCellElement12(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement13.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement13.js new file mode 100644 index 0000000..5604e67 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement13.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement13"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The charoff attribute specifies the offset of alignment characacter + of table header cells(TH). + + Retrieve the charoff attribute from the second TH element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-20144310 +*/ +function HTMLTableCellElement13() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement13") != null) return; + var nodeList; + var testNode; + var vcharoff; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vcharoff = testNode.chOff; + + assertEquals("chOffLink","1",vcharoff); + +} + + + + +function runTest() { + HTMLTableCellElement13(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement14.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement14.js new file mode 100644 index 0000000..ae6b77c --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement14.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement14"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The charoff attribute specifies the offset of alignment character + of table data cells(TD). + + Retrieve the charoff attribute from the second TD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-20144310 +*/ +function HTMLTableCellElement14() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement14") != null) return; + var nodeList; + var testNode; + var vcharoff; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vcharoff = testNode.chOff; + + assertEquals("chOffLink","1",vcharoff); + +} + + + + +function runTest() { + HTMLTableCellElement14(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement17.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement17.js new file mode 100644 index 0000000..abd17f1 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement17.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement17"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The headers attribute specifies a list of id attribute values for + table header cells(TH). + + Retrieve the headers attribute from the second TH element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-89104817 +*/ +function HTMLTableCellElement17() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement17") != null) return; + var nodeList; + var testNode; + var vheaders; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vheaders = testNode.headers; + + assertEquals("headersLink","header-1",vheaders); + +} + + + + +function runTest() { + HTMLTableCellElement17(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement18.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement18.js new file mode 100644 index 0000000..fec2282 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement18.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement18"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The headers attribute specifies a list of id attribute values for + table data cells(TD). + + Retrieve the headers attribute from the second TD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-89104817 +*/ +function HTMLTableCellElement18() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement18") != null) return; + var nodeList; + var testNode; + var vheaders; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vheaders = testNode.headers; + + assertEquals("headersLink","header-3",vheaders); + +} + + + + +function runTest() { + HTMLTableCellElement18(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement19.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement19.js new file mode 100644 index 0000000..73ab423 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement19.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement19"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The height attribute specifies the cell height. + + Retrieve the height attribute from the second TH element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83679212 +*/ +function HTMLTableCellElement19() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement19") != null) return; + var nodeList; + var testNode; + var vheight; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vheight = testNode.height; + + assertEquals("heightLink","50",vheight); + +} + + + + +function runTest() { + HTMLTableCellElement19(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement20.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement20.js new file mode 100644 index 0000000..cf122ff --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement20.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement20"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The height attribute specifies the cell height. + + Retrieve the height attribute from the second TD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83679212 +*/ +function HTMLTableCellElement20() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement20") != null) return; + var nodeList; + var testNode; + var vheight; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vheight = testNode.height; + + assertEquals("heightLink","50",vheight); + +} + + + + +function runTest() { + HTMLTableCellElement20(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement21.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement21.js new file mode 100644 index 0000000..68edd32 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement21.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement21"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The noWrap attribute supresses word wrapping. + + Retrieve the noWrap attribute of the second TH Element and + examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-62922045 +*/ +function HTMLTableCellElement21() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement21") != null) return; + var nodeList; + var testNode; + var vnowrap; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vnowrap = testNode.noWrap; + + assertTrue("noWrapLink",vnowrap); + +} + + + + +function runTest() { + HTMLTableCellElement21(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement22.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement22.js new file mode 100644 index 0000000..441ee84 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement22.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement22"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The noWrap attribute supresses word wrapping. + + Retrieve the noWrap attribute of the second TD Element and + examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-62922045 +*/ +function HTMLTableCellElement22() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement22") != null) return; + var nodeList; + var testNode; + var vnowrap; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vnowrap = testNode.noWrap; + + assertTrue("noWrapLink",vnowrap); + +} + + + + +function runTest() { + HTMLTableCellElement22(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement26.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement26.js new file mode 100644 index 0000000..36813b2 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement26.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement26"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The scope attribute specifies the scope covered by data cells. + + Retrieve the scope attribute from the second TD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-36139952 +*/ +function HTMLTableCellElement26() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement26") != null) return; + var nodeList; + var testNode; + var vscope; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vscope = testNode.scope; + + assertEquals("scopeLink","col",vscope); + +} + + + + +function runTest() { + HTMLTableCellElement26(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement27.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement27.js new file mode 100644 index 0000000..a861962 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement27.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement27"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The vAlign attribute specifies the vertical alignment of data in cell. + + Retrieve the vAlign attribute from the second TH element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-58284221 +*/ +function HTMLTableCellElement27() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement27") != null) return; + var nodeList; + var testNode; + var vvalign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vvalign = testNode.vAlign; + + assertEquals("vAlignLink","middle",vvalign); + +} + + + + +function runTest() { + HTMLTableCellElement27(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement28.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement28.js new file mode 100644 index 0000000..00c1c9f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement28.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement28"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The vAlign attribute specifies the vertical alignment of data in cell. + + Retrieve the vAlign attribute from the second TD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-58284221 +*/ +function HTMLTableCellElement28() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement28") != null) return; + var nodeList; + var testNode; + var vvalign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vvalign = testNode.vAlign; + + assertEquals("vAlignLink","middle",vvalign); + +} + + + + +function runTest() { + HTMLTableCellElement28(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement29.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement29.js new file mode 100644 index 0000000..1655b67 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement29.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement29"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The width attribute specifies the cells width. + + Retrieve the width attribute from the second TH element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-27480795 +*/ +function HTMLTableCellElement29() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement29") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("th"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vwidth = testNode.width; + + assertEquals("widthLink","170",vwidth); + +} + + + + +function runTest() { + HTMLTableCellElement29(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement30.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement30.js new file mode 100644 index 0000000..6f54987 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableCellElement30.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableCellElement30"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The width attribute specifies the cells width. + + Retrieve the width attribute from the second TD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-27480795 +*/ +function HTMLTableCellElement30() { + var success; + if(checkInitialization(builder, "HTMLTableCellElement30") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vwidth = testNode.width; + + assertEquals("widthLink","175",vwidth); + +} + + + + +function runTest() { + HTMLTableCellElement30(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement01.js new file mode 100644 index 0000000..7b58a8e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement01.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal alignment of cell data + in column(COL). + + Retrieve the align attribute from the COL element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-31128447 +*/ +function HTMLTableColElement01() { + var success; + if(checkInitialization(builder, "HTMLTableColElement01") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("col"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLTableColElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement02.js new file mode 100644 index 0000000..637aa7a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement02.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal alignment of cell data + in column(COLGROUP). + + Retrieve the align attribute from the COLGROUP element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-31128447 +*/ +function HTMLTableColElement02() { + var success; + if(checkInitialization(builder, "HTMLTableColElement02") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("colgroup"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLTableColElement02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement03.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement03.js new file mode 100644 index 0000000..754b82e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement03.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The char attribute specifies the alignment character for cells + in a column(COL). + + Retrieve the char attribute from the COL element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-9447412 +*/ +function HTMLTableColElement03() { + var success; + if(checkInitialization(builder, "HTMLTableColElement03") != null) return; + var nodeList; + var testNode; + var vch; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("col"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vch = testNode.ch; + + assertEquals("chLink","*",vch); + +} + + + + +function runTest() { + HTMLTableColElement03(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement04.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement04.js new file mode 100644 index 0000000..89c959f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement04.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The char attribute specifies the alignment character for cells + in a column(COLGROUP). + + Retrieve the char attribute from the COLGROUP element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-9447412 +*/ +function HTMLTableColElement04() { + var success; + if(checkInitialization(builder, "HTMLTableColElement04") != null) return; + var nodeList; + var testNode; + var vch; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("colgroup"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vch = testNode.ch; + + assertEquals("chLink","$",vch); + +} + + + + +function runTest() { + HTMLTableColElement04(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement05.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement05.js new file mode 100644 index 0000000..b959a5f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement05.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The charoff attribute specifies offset of alignment character(COL). + + Retrieve the charoff attribute from the COL element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-57779225 +*/ +function HTMLTableColElement05() { + var success; + if(checkInitialization(builder, "HTMLTableColElement05") != null) return; + var nodeList; + var testNode; + var vchoff; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("col"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vchoff = testNode.chOff; + + assertEquals("chLink","20",vchoff); + +} + + + + +function runTest() { + HTMLTableColElement05(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement06.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement06.js new file mode 100644 index 0000000..5c7275c --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement06.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The charoff attribute specifies offset of alignment character(COLGROUP). + + Retrieve the charoff attribute from the COLGROUP element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-57779225 +*/ +function HTMLTableColElement06() { + var success; + if(checkInitialization(builder, "HTMLTableColElement06") != null) return; + var nodeList; + var testNode; + var vchoff; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("colgroup"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vchoff = testNode.chOff; + + assertEquals("chLink","15",vchoff); + +} + + + + +function runTest() { + HTMLTableColElement06(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement09.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement09.js new file mode 100644 index 0000000..8b49c29 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement09.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The vAlign attribute specifies the vertical alignment of cell data + in column(COL). + + Retrieve the vAlign attribute from the COL element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83291710 +*/ +function HTMLTableColElement09() { + var success; + if(checkInitialization(builder, "HTMLTableColElement09") != null) return; + var nodeList; + var testNode; + var vvalign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("col"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vvalign = testNode.vAlign; + + assertEquals("vAlignLink","middle",vvalign); + +} + + + + +function runTest() { + HTMLTableColElement09(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement10.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement10.js new file mode 100644 index 0000000..a18ec5c --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement10.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The vAlign attribute specifies the vertical alignment of cell data + in column(COLGROUP). + + Retrieve the vAlign attribute from the COLGROUP element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83291710 +*/ +function HTMLTableColElement10() { + var success; + if(checkInitialization(builder, "HTMLTableColElement10") != null) return; + var nodeList; + var testNode; + var vvalign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("colgroup"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vvalign = testNode.vAlign; + + assertEquals("vAlignLink","middle",vvalign); + +} + + + + +function runTest() { + HTMLTableColElement10(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement11.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement11.js new file mode 100644 index 0000000..690c21f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement11.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The width attribute specifies the default column width(COL). + + Retrieve the width attribute from the COL element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-25196799 +*/ +function HTMLTableColElement11() { + var success; + if(checkInitialization(builder, "HTMLTableColElement11") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("col"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vwidth = testNode.width; + + assertEquals("widthLink","20",vwidth); + +} + + + + +function runTest() { + HTMLTableColElement11(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement12.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement12.js new file mode 100644 index 0000000..00a0106 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableColElement12.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableColElement12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The width attribute specifies the default column width(COLGORUP). + + Retrieve the width attribute from the COLGROUP element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-25196799 +*/ +function HTMLTableColElement12() { + var success; + if(checkInitialization(builder, "HTMLTableColElement12") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("colgroup"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vwidth = testNode.width; + + assertEquals("widthLink","20",vwidth); + +} + + + + +function runTest() { + HTMLTableColElement12(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement01.js new file mode 100644 index 0000000..e293873 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement01.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The caption attribute returns the tables CAPTION. + + Retrieve the align attribute of the CAPTION element from the second + TABLE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14594520 +*/ +function HTMLTableElement01() { + var success; + if(checkInitialization(builder, "HTMLTableElement01") != null) return; + var nodeList; + var testNode; + var vcaption; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vcaption = testNode.caption; + + valign = vcaption.align; + + assertEquals("alignLink","top",valign); + +} + + + + +function runTest() { + HTMLTableElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement03.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement03.js new file mode 100644 index 0000000..15a53ff --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement03.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The tHead attribute returns the tables THEAD. + + Retrieve the align attribute of the THEAD element from the second + TABLE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-9530944 +*/ +function HTMLTableElement03() { + var success; + if(checkInitialization(builder, "HTMLTableElement03") != null) return; + var nodeList; + var testNode; + var vsection; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vsection = testNode.tHead; + + valign = vsection.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLTableElement03(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement05.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement05.js new file mode 100644 index 0000000..e3ca76a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement05.js @@ -0,0 +1,117 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The tFoot attribute returns the tables TFOOT. + + Retrieve the align attribute of the TFOOT element from the second + TABLE element and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097 +*/ +function HTMLTableElement05() { + var success; + if(checkInitialization(builder, "HTMLTableElement05") != null) return; + var nodeList; + var testNode; + var vsection; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vsection = testNode.tFoot; + + valign = vsection.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLTableElement05(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement10.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement10.js new file mode 100644 index 0000000..bbd3801 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement10.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the table's position with respect to the + rest of the document. + + Retrieve the align attribute of the first TABLE element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-23180977 +*/ +function HTMLTableElement10() { + var success; + if(checkInitialization(builder, "HTMLTableElement10") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLTableElement10(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement11.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement11.js new file mode 100644 index 0000000..f8172e4 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement11.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The bgColor attribute specifies cell background color. + + Retrieve the bgColor attribute of the first TABLE element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83532985 +*/ +function HTMLTableElement11() { + var success; + if(checkInitialization(builder, "HTMLTableElement11") != null) return; + var nodeList; + var testNode; + var vbgcolor; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vbgcolor = testNode.bgColor; + + assertEquals("bgColorLink","#ff0000",vbgcolor); + +} + + + + +function runTest() { + HTMLTableElement11(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement13.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement13.js new file mode 100644 index 0000000..4f2ba8f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement13.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement13"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The cellpadding attribute specifies the horizontal and vertical space + between cell content and cell borders. + + Retrieve the cellpadding attribute of the first TABLE element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59162158 +*/ +function HTMLTableElement13() { + var success; + if(checkInitialization(builder, "HTMLTableElement13") != null) return; + var nodeList; + var testNode; + var vcellpadding; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vcellpadding = testNode.cellPadding; + + assertEquals("cellPaddingLink","2",vcellpadding); + +} + + + + +function runTest() { + HTMLTableElement13(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement14.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement14.js new file mode 100644 index 0000000..d2ff13f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement14.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement14"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The cellSpacing attribute specifies the horizontal and vertical separation + between cells. + + Retrieve the cellSpacing attribute of the first TABLE element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-68907883 +*/ +function HTMLTableElement14() { + var success; + if(checkInitialization(builder, "HTMLTableElement14") != null) return; + var nodeList; + var testNode; + var cellSpacing; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + cellSpacing = testNode.cellSpacing; + + assertEquals("cellSpacingLink","2",cellSpacing); + +} + + + + +function runTest() { + HTMLTableElement14(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement15.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement15.js new file mode 100644 index 0000000..5f5f8da --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement15.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement15"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The frame attribute specifies which external table borders to render. + + Retrieve the frame attribute of the first TABLE element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64808476 +*/ +function HTMLTableElement15() { + var success; + if(checkInitialization(builder, "HTMLTableElement15") != null) return; + var nodeList; + var testNode; + var vframe; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vframe = testNode.frame; + + assertEquals("frameLink","border",vframe); + +} + + + + +function runTest() { + HTMLTableElement15(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement16.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement16.js new file mode 100644 index 0000000..54cdbe0 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement16.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement16"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The rules attribute specifies which internal table borders to render. + + Retrieve the rules attribute of the first TABLE element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-26347553 +*/ +function HTMLTableElement16() { + var success; + if(checkInitialization(builder, "HTMLTableElement16") != null) return; + var nodeList; + var testNode; + var vrules; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vrules = testNode.rules; + + assertEquals("rulesLink","all",vrules); + +} + + + + +function runTest() { + HTMLTableElement16(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement17.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement17.js new file mode 100644 index 0000000..361a908 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement17.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement17"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The summary attribute is a description about the purpose or structure + of a table. + + Retrieve the summary attribute of the first TABLE element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-44998528 +*/ +function HTMLTableElement17() { + var success; + if(checkInitialization(builder, "HTMLTableElement17") != null) return; + var nodeList; + var testNode; + var vsummary; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vsummary = testNode.summary; + + assertEquals("summaryLink","HTML Control Table",vsummary); + +} + + + + +function runTest() { + HTMLTableElement17(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement18.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement18.js new file mode 100644 index 0000000..ca51828 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableElement18.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableElement18"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The width attribute specifies the desired table width. + + Retrieve the width attribute of the first TABLE element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-77447361 +*/ +function HTMLTableElement18() { + var success; + if(checkInitialization(builder, "HTMLTableElement18") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vwidth = testNode.width; + + assertEquals("widthLink","680",vwidth); + +} + + + + +function runTest() { + HTMLTableElement18(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement02.js new file mode 100644 index 0000000..63d0e5e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement02.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The sectionRowIndex attribute specifies the index of this row, relative + to the current section(THEAD, TFOOT, or TBODY),starting from 0. + + Retrieve the second TR(1st In THEAD) element within the document and + examine its sectionRowIndex value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-79105901 +*/ +function HTMLTableRowElement02() { + var success; + if(checkInitialization(builder, "HTMLTableRowElement02") != null) return; + var nodeList; + var testNode; + var vsectionrowindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(1); + vsectionrowindex = testNode.sectionRowIndex; + + assertEquals("sectionRowIndexLink",0,vsectionrowindex); + +} + + + + +function runTest() { + HTMLTableRowElement02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement03.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement03.js new file mode 100644 index 0000000..6c2f8aa --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement03.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The sectionRowIndex attribute specifies the index of this row, relative + to the current section(THEAD, TFOOT, or TBODY),starting from 0. + + Retrieve the third TR(1st In TFOOT) element within the document and + examine its sectionRowIndex value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-79105901 +*/ +function HTMLTableRowElement03() { + var success; + if(checkInitialization(builder, "HTMLTableRowElement03") != null) return; + var nodeList; + var testNode; + var vsectionrowindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(2); + vsectionrowindex = testNode.sectionRowIndex; + + assertEquals("sectionRowIndexLink",0,vsectionrowindex); + +} + + + + +function runTest() { + HTMLTableRowElement03(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement04.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement04.js new file mode 100644 index 0000000..bea897c --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement04.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The sectionRowIndex attribute specifies the index of this row, relative + to the current section(THEAD, TFOOT, or TBODY),starting from 0. + + Retrieve the fifth TR(2nd In TBODY) element within the document and + examine its sectionRowIndex value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-79105901 +*/ +function HTMLTableRowElement04() { + var success; + if(checkInitialization(builder, "HTMLTableRowElement04") != null) return; + var nodeList; + var testNode; + var vsectionrowindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(4); + vsectionrowindex = testNode.sectionRowIndex; + + assertEquals("sectionRowIndexLink",1,vsectionrowindex); + +} + + + + +function runTest() { + HTMLTableRowElement04(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement06.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement06.js new file mode 100644 index 0000000..4251d3d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement06.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal alignment of data within + cells of this row. + + Retrieve the align attribute of the second TR element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-74098257 +*/ +function HTMLTableRowElement06() { + var success; + if(checkInitialization(builder, "HTMLTableRowElement06") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(1); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLTableRowElement06(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement07.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement07.js new file mode 100644 index 0000000..0c2c25a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement07.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The bgColor attribute specifies the background color of rows. + + Retrieve the bgColor attribute of the second TR element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-18161327 +*/ +function HTMLTableRowElement07() { + var success; + if(checkInitialization(builder, "HTMLTableRowElement07") != null) return; + var nodeList; + var testNode; + var vbgcolor; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(1); + vbgcolor = testNode.bgColor; + + assertEquals("bgColorLink","#00FFFF".toLowerCase(),vbgcolor.toLowerCase()); + +} + + + + +function runTest() { + HTMLTableRowElement07(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement08.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement08.js new file mode 100644 index 0000000..a46b6d7 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement08.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The ch attribute specifies the alignment character for cells in a column. + + Retrieve the char attribute of the second TR element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-16230502 +*/ +function HTMLTableRowElement08() { + var success; + if(checkInitialization(builder, "HTMLTableRowElement08") != null) return; + var nodeList; + var testNode; + var vch; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(1); + vch = testNode.ch; + + assertEquals("chLink","*",vch); + +} + + + + +function runTest() { + HTMLTableRowElement08(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement09.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement09.js new file mode 100644 index 0000000..5857a65 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement09.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The chOff attribute specifies the offset of alignment character. + + Retrieve the charoff attribute of the second TR element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-68207461 +*/ +function HTMLTableRowElement09() { + var success; + if(checkInitialization(builder, "HTMLTableRowElement09") != null) return; + var nodeList; + var testNode; + var vchoff; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(1); + vchoff = testNode.chOff; + + assertEquals("charOffLink","1",vchoff); + +} + + + + +function runTest() { + HTMLTableRowElement09(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement10.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement10.js new file mode 100644 index 0000000..2025f05 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement10.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The vAlign attribute specifies the vertical alignment of data within + cells of this row. + + Retrieve the vAlign attribute of the second TR element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-90000058 +*/ +function HTMLTableRowElement10() { + var success; + if(checkInitialization(builder, "HTMLTableRowElement10") != null) return; + var nodeList; + var testNode; + var vvalign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(1); + vvalign = testNode.vAlign; + + assertEquals("vAlignLink","middle",vvalign); + +} + + + + +function runTest() { + HTMLTableRowElement10(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement11.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement11.js new file mode 100644 index 0000000..8ab3b31 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement11.js @@ -0,0 +1,144 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The insertCell() method inserts an empty TD cell into this row. + + + Retrieve the fourth TR element and examine the value of + the cells length attribute which should be set to six. + Check the value of the first TD element. Invoke the + insertCell() which will create an empty TD cell at the + zero index position. Check the value of the newly created + cell and make sure it is null and also the numbers of cells + should now be seven. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-68927016 +*/ +function HTMLTableRowElement11() { + var success; + if(checkInitialization(builder, "HTMLTableRowElement11") != null) return; + var nodeList; + var cellsnodeList; + var testNode; + var trNode; + var cellNode; + var value; + var newCell; + var vcells; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(3); + cellsnodeList = testNode.cells; + + vcells = cellsnodeList.length; + + assertEquals("cellsLink1",6,vcells); + trNode = cellsnodeList.item(0); + cellNode = trNode.firstChild; + + value = cellNode.nodeValue; + + assertEquals("value1Link","EMP0001",value); + newCell = testNode.insertCell(0); + testNode = nodeList.item(3); + cellsnodeList = testNode.cells; + + vcells = cellsnodeList.length; + + assertEquals("cellsLink2",7,vcells); + trNode = cellsnodeList.item(0); + cellNode = trNode.firstChild; + + assertNull("value2Link",cellNode); + +} + + + + +function runTest() { + HTMLTableRowElement11(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement12.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement12.js new file mode 100644 index 0000000..f0b1490 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement12.js @@ -0,0 +1,143 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The insertCell() method inserts an empty TD cell into this row. + + + Retrieve the fourth TR element and examine the value of + the cells length attribute which should be set to six. + Check the value of the last TD element. Invoke the + insertCell() which will append the empty cell to the end of the list. + Check the value of the newly created cell and make sure it is null + and also the numbers of cells should now be seven. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-68927016 +*/ +function HTMLTableRowElement12() { + var success; + if(checkInitialization(builder, "HTMLTableRowElement12") != null) return; + var nodeList; + var cellsnodeList; + var testNode; + var trNode; + var cellNode; + var value; + var newCell; + var vcells; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(3); + cellsnodeList = testNode.cells; + + vcells = cellsnodeList.length; + + assertEquals("cellsLink1",6,vcells); + trNode = cellsnodeList.item(5); + cellNode = trNode.firstChild; + + value = cellNode.nodeValue; + + assertEquals("value1Link","1230 North Ave. Dallas, Texas 98551",value); + newCell = testNode.insertCell(6); + testNode = nodeList.item(3); + cellsnodeList = testNode.cells; + + vcells = cellsnodeList.length; + + assertEquals("cellsLink2",7,vcells); + trNode = cellsnodeList.item(6); + cellNode = trNode.firstChild; + + assertNull("value2Link",cellNode); + +} + + + + +function runTest() { + HTMLTableRowElement12(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement13.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement13.js new file mode 100644 index 0000000..4f249d0 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement13.js @@ -0,0 +1,144 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement13"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The deleteCell() method deletes a cell from the current row. + + + Retrieve the fourth TR element and examine the value of + the cells length attribute which should be set to six. + Check the value of the first TD element. Invoke the + deleteCell() method which will delete a cell from the current row. + Check the value of the cell at the zero index and also check + the number of cells which should now be five. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-11738598 +*/ +function HTMLTableRowElement13() { + var success; + if(checkInitialization(builder, "HTMLTableRowElement13") != null) return; + var nodeList; + var cellsnodeList; + var testNode; + var trNode; + var cellNode; + var value; + var vcells; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(3); + cellsnodeList = testNode.cells; + + vcells = cellsnodeList.length; + + assertEquals("cellsLink1",6,vcells); + trNode = cellsnodeList.item(0); + cellNode = trNode.firstChild; + + value = cellNode.nodeValue; + + assertEquals("value1Link","EMP0001",value); + testNode.deleteCell(0); + testNode = nodeList.item(3); + cellsnodeList = testNode.cells; + + vcells = cellsnodeList.length; + + assertEquals("cellsLink2",5,vcells); + trNode = cellsnodeList.item(0); + cellNode = trNode.firstChild; + + value = cellNode.nodeValue; + + assertEquals("value2Link","Margaret Martin",value); + +} + + + + +function runTest() { + HTMLTableRowElement13(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement14.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement14.js new file mode 100644 index 0000000..e9cef6e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableRowElement14.js @@ -0,0 +1,144 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableRowElement14"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The deleteCell() method deletes a cell from the current row. + + + Retrieve the fourth TR element and examine the value of + the cells length attribute which should be set to six. + Check the value of the third(index 2) TD element. Invoke the + deleteCell() method which will delete a cell from the current row. + Check the value of the third cell(index 2) and also check + the number of cells which should now be five. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-11738598 +*/ +function HTMLTableRowElement14() { + var success; + if(checkInitialization(builder, "HTMLTableRowElement14") != null) return; + var nodeList; + var cellsnodeList; + var testNode; + var trNode; + var cellNode; + var value; + var vcells; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(3); + cellsnodeList = testNode.cells; + + vcells = cellsnodeList.length; + + assertEquals("cellsLink1",6,vcells); + trNode = cellsnodeList.item(2); + cellNode = trNode.firstChild; + + value = cellNode.nodeValue; + + assertEquals("value1Link","Accountant",value); + testNode.deleteCell(2); + testNode = nodeList.item(3); + cellsnodeList = testNode.cells; + + vcells = cellsnodeList.length; + + assertEquals("cellsLink2",5,vcells); + trNode = cellsnodeList.item(2); + cellNode = trNode.firstChild; + + value = cellNode.nodeValue; + + assertEquals("value2Link","56,000",value); + +} + + + + +function runTest() { + HTMLTableRowElement14(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement01.js new file mode 100644 index 0000000..306d52e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement01.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal alignment of data within + cells. + + Retrieve the align attribute of the first THEAD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40530119 +*/ +function HTMLTableSectionElement01() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement01") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("thead"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLTableSectionElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement02.js new file mode 100644 index 0000000..a2aee27 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement02.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal alignment of data within + cells. + + Retrieve the align attribute of the first TFOOT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40530119 +*/ +function HTMLTableSectionElement02() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement02") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tfoot"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLTableSectionElement02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement03.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement03.js new file mode 100644 index 0000000..9f106d7 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement03.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The align attribute specifies the horizontal alignment of data within + cells. + + Retrieve the align attribute of the first TBODY element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40530119 +*/ +function HTMLTableSectionElement03() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement03") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tbody"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + HTMLTableSectionElement03(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement04.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement04.js new file mode 100644 index 0000000..0013a9a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement04.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The ch attribute specifies the alignment character for cells in a + column. + + Retrieve the char attribute of the first THEAD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83470012 +*/ +function HTMLTableSectionElement04() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement04") != null) return; + var nodeList; + var testNode; + var vch; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("thead"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vch = testNode.ch; + + assertEquals("chLink","*",vch); + +} + + + + +function runTest() { + HTMLTableSectionElement04(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement05.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement05.js new file mode 100644 index 0000000..85c8b7d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement05.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The ch attribute specifies the alignment character for cells in a + column. + + Retrieve the char attribute of the first TFOOT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83470012 +*/ +function HTMLTableSectionElement05() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement05") != null) return; + var nodeList; + var testNode; + var vch; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tfoot"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vch = testNode.ch; + + assertEquals("chLink","+",vch); + +} + + + + +function runTest() { + HTMLTableSectionElement05(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement06.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement06.js new file mode 100644 index 0000000..4e58b00 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement06.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The ch attribute specifies the alignment character for cells in a + column. + + Retrieve the char attribute of the first TBODY element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83470012 +*/ +function HTMLTableSectionElement06() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement06") != null) return; + var nodeList; + var testNode; + var vch; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tbody"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vch = testNode.ch; + + assertEquals("chLink","$",vch); + +} + + + + +function runTest() { + HTMLTableSectionElement06(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement07.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement07.js new file mode 100644 index 0000000..97ee9de --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement07.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The chOff attribute specifies the offset of alignment character. + + Retrieve the charoff attribute of the first THEAD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-53459732 +*/ +function HTMLTableSectionElement07() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement07") != null) return; + var nodeList; + var testNode; + var vcharoff; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("thead"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcharoff = testNode.chOff; + + assertEquals("chOffLink","1",vcharoff); + +} + + + + +function runTest() { + HTMLTableSectionElement07(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement08.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement08.js new file mode 100644 index 0000000..bbec905 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement08.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The chOff attribute specifies the offset of alignment character. + + Retrieve the charoff attribute of the first TFOOT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-53459732 +*/ +function HTMLTableSectionElement08() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement08") != null) return; + var nodeList; + var testNode; + var vcharoff; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tfoot"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcharoff = testNode.chOff; + + assertEquals("chOffLink","2",vcharoff); + +} + + + + +function runTest() { + HTMLTableSectionElement08(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement09.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement09.js new file mode 100644 index 0000000..b3c67c8 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement09.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The chOff attribute specifies the offset of alignment character. + + Retrieve the charoff attribute of the first TBODY element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-53459732 +*/ +function HTMLTableSectionElement09() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement09") != null) return; + var nodeList; + var testNode; + var vcharoff; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tbody"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vcharoff = testNode.chOff; + + assertEquals("chOffLink","3",vcharoff); + +} + + + + +function runTest() { + HTMLTableSectionElement09(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement10.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement10.js new file mode 100644 index 0000000..71cacac --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement10.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The vAlign attribute specifies the vertical alignment of cell data in + column. + + Retrieve the vAlign attribute of the first THEAD element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-4379116 +*/ +function HTMLTableSectionElement10() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement10") != null) return; + var nodeList; + var testNode; + var vvalign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("thead"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vvalign = testNode.vAlign; + + assertEquals("vAlignLink","middle",vvalign); + +} + + + + +function runTest() { + HTMLTableSectionElement10(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement11.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement11.js new file mode 100644 index 0000000..7b6b25b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement11.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The vAlign attribute specifies the vertical alignment of cell data in + column. + + Retrieve the vAlign attribute of the first TFOOT element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-4379116 +*/ +function HTMLTableSectionElement11() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement11") != null) return; + var nodeList; + var testNode; + var vvalign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tfoot"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vvalign = testNode.vAlign; + + assertEquals("vAlignLink","middle",vvalign); + +} + + + + +function runTest() { + HTMLTableSectionElement11(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement12.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement12.js new file mode 100644 index 0000000..9652f0b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement12.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The vAlign attribute specifies the vertical alignment of cell data in + column. + + Retrieve the vAlign attribute of the first TBODY element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-4379116 +*/ +function HTMLTableSectionElement12() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement12") != null) return; + var nodeList; + var testNode; + var vvalign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tbody"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vvalign = testNode.vAlign; + + assertEquals("vAlignLink","middle",vvalign); + +} + + + + +function runTest() { + HTMLTableSectionElement12(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement16.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement16.js new file mode 100644 index 0000000..91df5f1 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement16.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement16"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The insertRow() method inserts a new empty table row. + + Retrieve the first THEAD element and invoke the insertRow() method + with an index of 0. The nuber of rows in the THEAD section before + insertion of the new row is one. After the new row is inserted the number + of rows in the THEAD section is two. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93995626 +*/ +function HTMLTableSectionElement16() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement16") != null) return; + var nodeList; + var testNode; + var newRow; + var rowsnodeList; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("thead"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink1",1,vrows); + newRow = testNode.insertRow(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink2",2,vrows); + +} + + + + +function runTest() { + HTMLTableSectionElement16(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement17.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement17.js new file mode 100644 index 0000000..9ee6ced --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement17.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement17"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The insertRow() method inserts a new empty table row. + + Retrieve the first TFOOT element and invoke the insertRow() method + with an index of 0. The nuber of rows in the TFOOT section before + insertion of the new row is one. After the new row is inserted the number + of rows in the TFOOT section is two. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93995626 +*/ +function HTMLTableSectionElement17() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement17") != null) return; + var nodeList; + var testNode; + var newRow; + var rowsnodeList; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tfoot"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink1",1,vrows); + newRow = testNode.insertRow(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink2",2,vrows); + +} + + + + +function runTest() { + HTMLTableSectionElement17(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement18.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement18.js new file mode 100644 index 0000000..e7d06d2 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement18.js @@ -0,0 +1,126 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement18"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The insertRow() method inserts a new empty table row. + + Retrieve the first TBODY element and invoke the insertRow() method + with an index of 0. The nuber of rows in the TBODY section before + insertion of the new row is two. After the new row is inserted the number + of rows in the TBODY section is three. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93995626 +*/ +function HTMLTableSectionElement18() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement18") != null) return; + var nodeList; + var testNode; + var newRow; + var rowsnodeList; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tbody"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink1",2,vrows); + newRow = testNode.insertRow(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink2",3,vrows); + +} + + + + +function runTest() { + HTMLTableSectionElement18(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement19.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement19.js new file mode 100644 index 0000000..2324e7e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement19.js @@ -0,0 +1,127 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement19"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The insertRow() method inserts a new empty table row. + + Retrieve the first THEAD element and invoke the insertRow() method + with an index of 1. The nuber of rows in the THEAD section before + insertion of the new row is one therefore the new row is appended. + After the new row is inserted the number of rows in the THEAD + section is two. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93995626 +*/ +function HTMLTableSectionElement19() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement19") != null) return; + var nodeList; + var testNode; + var newRow; + var rowsnodeList; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("thead"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink1",1,vrows); + newRow = testNode.insertRow(1); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink2",2,vrows); + +} + + + + +function runTest() { + HTMLTableSectionElement19(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement20.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement20.js new file mode 100644 index 0000000..c0f3ad0 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement20.js @@ -0,0 +1,127 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement20"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The insertRow() method inserts a new empty table row. + + Retrieve the first TFOOT element and invoke the insertRow() method + with an index of one. The nuber of rows in the TFOOT section before + insertion of the new row is one therefore the new row is appended. + After the new row is inserted the number of rows in the TFOOT section + is two. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93995626 +*/ +function HTMLTableSectionElement20() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement20") != null) return; + var nodeList; + var testNode; + var newRow; + var rowsnodeList; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tfoot"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink1",1,vrows); + newRow = testNode.insertRow(1); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink2",2,vrows); + +} + + + + +function runTest() { + HTMLTableSectionElement20(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement21.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement21.js new file mode 100644 index 0000000..24a8ada --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement21.js @@ -0,0 +1,128 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement21"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The insertRow() method inserts a new empty table row. + + Retrieve the first TBODY element and invoke the insertRow() method + with an index of two. The number of rows in the TBODY section before + insertion of the new row is two therefore the row is appended. + After the new row is inserted the number of rows in the TBODY section is + three. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93995626 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=502 +*/ +function HTMLTableSectionElement21() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement21") != null) return; + var nodeList; + var testNode; + var newRow; + var rowsnodeList; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tbody"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink1",2,vrows); + newRow = testNode.insertRow(2); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink2",3,vrows); + +} + + + + +function runTest() { + HTMLTableSectionElement21(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement22.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement22.js new file mode 100644 index 0000000..2df6822 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement22.js @@ -0,0 +1,125 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement22"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The deleteRow() method deletes a row from this section. + + Retrieve the first THEAD element and invoke the deleteRow() method + with an index of 0. The nuber of rows in the THEAD section before + the deletion of the row is one. After the row is deleted the number + of rows in the THEAD section is zero. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-5625626 +*/ +function HTMLTableSectionElement22() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement22") != null) return; + var nodeList; + var testNode; + var rowsnodeList; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("thead"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink1",1,vrows); + testNode.deleteRow(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink2",0,vrows); + +} + + + + +function runTest() { + HTMLTableSectionElement22(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement23.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement23.js new file mode 100644 index 0000000..c22f00c --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement23.js @@ -0,0 +1,125 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement23"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The deleteRow() method deletes a row from this section. + + Retrieve the first TFOOT element and invoke the deleteRow() method + with an index of 0. The nuber of rows in the TFOOT section before + the deletion of the row is one. After the row is deleted the number + of rows in the TFOOT section is zero. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-5625626 +*/ +function HTMLTableSectionElement23() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement23") != null) return; + var nodeList; + var testNode; + var rowsnodeList; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tfoot"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink1",1,vrows); + testNode.deleteRow(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink2",0,vrows); + +} + + + + +function runTest() { + HTMLTableSectionElement23(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement24.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement24.js new file mode 100644 index 0000000..4624ff6 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTableSectionElement24.js @@ -0,0 +1,125 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTableSectionElement24"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The deleteRow() method deletes a row from this section. + + Retrieve the first TBODY element and invoke the deleteRow() method + with an index of 0. The nuber of rows in the TBODY section before + the deletion of the row is two. After the row is deleted the number + of rows in the TBODY section is one. + +* @author NIST +* @author Rick Rivello +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-5625626 +*/ +function HTMLTableSectionElement24() { + var success; + if(checkInitialization(builder, "HTMLTableSectionElement24") != null) return; + var nodeList; + var testNode; + var rowsnodeList; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("tbody"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink1",2,vrows); + testNode.deleteRow(0); + rowsnodeList = testNode.rows; + + vrows = rowsnodeList.length; + + assertEquals("rowsLink2",1,vrows); + +} + + + + +function runTest() { + HTMLTableSectionElement24(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement01.js new file mode 100644 index 0000000..0b75781 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement01.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The defaultValue attribute represents the HTML value of the attribute + when the type attribute has the value of "Text", "File" or "Password". + + Retrieve the defaultValue attribute of the 2nd TEXTAREA element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-36152213 +*/ +function HTMLTextAreaElement01() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement01") != null) return; + var nodeList; + var testNode; + var vdefaultvalue; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vdefaultvalue = testNode.defaultValue; + + assertEquals("defaultValueLink","TEXTAREA2",vdefaultvalue); + +} + + + + +function runTest() { + HTMLTextAreaElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement11.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement11.js new file mode 100644 index 0000000..62831fa --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement11.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement11"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The type attribute specifies the type of this form control. + + Retrieve the type attribute of the 1st TEXTAREA element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-24874179 +* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#HTML-HTMLTextAreaElement-type +*/ +function HTMLTextAreaElement11() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement11") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","textarea",vtype); + +} + + + + +function runTest() { + HTMLTextAreaElement11(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement12.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement12.js new file mode 100644 index 0000000..da12ed7 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLTextAreaElement12.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLTextAreaElement12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "textarea"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The value attribute represents the current contents of the corresponding + form control, in an interactive user agent. + + Retrieve the value attribute of the 1st TEXTAREA element and examine + its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-70715579 +*/ +function HTMLTextAreaElement12() { + var success; + if(checkInitialization(builder, "HTMLTextAreaElement12") != null) return; + var nodeList; + var testNode; + var vvalue; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "textarea"); + nodeList = doc.getElementsByTagName("textarea"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(0); + vvalue = testNode.value; + + assertEquals("valueLink","TEXTAREA1",vvalue); + +} + + + + +function runTest() { + HTMLTextAreaElement12(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement01.js new file mode 100644 index 0000000..171a30d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement01.js @@ -0,0 +1,114 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLUListElement01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "ulist"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The compact attribute specifies whether to reduce spacing between list + items. + + Retrieve the compact attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39864178 +*/ +function HTMLUListElement01() { + var success; + if(checkInitialization(builder, "HTMLUListElement01") != null) return; + var nodeList; + var testNode; + var vcompact; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "ulist"); + nodeList = doc.getElementsByTagName("ul"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vcompact = testNode.compact; + + assertTrue("compactLink",vcompact); + +} + + + + +function runTest() { + HTMLUListElement01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement02.js new file mode 100644 index 0000000..98abae2 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/HTMLUListElement02.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/HTMLUListElement02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "ulist"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + The type attribute specifies the bullet style. + + Retrieve the type attribute and examine its value. + +* @author NIST +* @author Mary Brady +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96874670 +*/ +function HTMLUListElement02() { + var success; + if(checkInitialization(builder, "HTMLUListElement02") != null) return; + var nodeList; + var testNode; + var vtype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "ulist"); + nodeList = doc.getElementsByTagName("ul"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vtype = testNode.type; + + assertEquals("typeLink","disc",vtype); + +} + + + + +function runTest() { + HTMLUListElement02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/anchor02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/anchor02.js new file mode 100644 index 0000000..26d3306 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/anchor02.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/anchor02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The character encoding of the linked resource. +The value of attribute charset of the anchor element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-67619266 +*/ +function anchor02() { + var success; + if(checkInitialization(builder, "anchor02") != null) return; + var nodeList; + var testNode; + var vcharset; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcharset = testNode.charset; + + assertEquals("charsetLink","US-ASCII",vcharset); + +} + + + + +function runTest() { + anchor02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/anchor03.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/anchor03.js new file mode 100644 index 0000000..81b3723 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/anchor03.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/anchor03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Comma-separated list of lengths, defining an active region geometry. +The value of attribute coords of the anchor element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-92079539 +*/ +function anchor03() { + var success; + if(checkInitialization(builder, "anchor03") != null) return; + var nodeList; + var testNode; + var vcoords; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcoords = testNode.coords; + + assertEquals("coordsLink","0,0,100,100",vcoords); + +} + + + + +function runTest() { + anchor03(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/anchor06.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/anchor06.js new file mode 100644 index 0000000..3ba7b19 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/anchor06.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/anchor06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "anchor"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The shape of the active area. The coordinates are given by coords +The value of attribute shape of the anchor element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-49899808 +*/ +function anchor06() { + var success; + if(checkInitialization(builder, "anchor06") != null) return; + var nodeList; + var testNode; + var vshape; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "anchor"); + nodeList = doc.getElementsByTagName("a"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vshape = testNode.shape; + + assertEquals("shapeLink","rect",vshape); + +} + + + + +function runTest() { + anchor06(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/basefont01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/basefont01.js new file mode 100644 index 0000000..32d6edd --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/basefont01.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/basefont01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "basefont"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The value of attribute color of the basefont element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87502302 +*/ +function basefont01() { + var success; + if(checkInitialization(builder, "basefont01") != null) return; + var nodeList; + var testNode; + var vcolor; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "basefont"); + nodeList = doc.getElementsByTagName("basefont"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcolor = testNode.color; + + assertEquals("colorLink","#000000",vcolor); + +} + + + + +function runTest() { + basefont01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/body01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/body01.js new file mode 100644 index 0000000..16617e8 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/body01.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/body01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "body"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Color of active links (after mouse-button down, but before mouse-button up). +The value of attribute alink of the body element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59424581 +*/ +function body01() { + var success; + if(checkInitialization(builder, "body01") != null) return; + var nodeList; + var testNode; + var valink; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "body"); + nodeList = doc.getElementsByTagName("body"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valink = testNode.aLink; + + assertEquals("aLinkLink","#0000ff",valink); + +} + + + + +function runTest() { + body01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/dlist01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/dlist01.js new file mode 100644 index 0000000..e85d5ce --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/dlist01.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/dlist01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "dl"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* + + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-21738539 +*/ +function dlist01() { + var success; + if(checkInitialization(builder, "dlist01") != null) return; + var nodeList; + var testNode; + var vcompact; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "dl"); + nodeList = doc.getElementsByTagName("dl"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcompact = testNode.compact; + + assertTrue("compactLink",vcompact); + +} + + + + +function runTest() { + dlist01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/object02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/object02.js new file mode 100644 index 0000000..72bf106 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/object02.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Aligns this object (vertically or horizontally) with respect to its surrounding text. +The value of attribute align of the object element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-16962097 +*/ +function object02() { + var success; + if(checkInitialization(builder, "object02") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","middle",valign); + +} + + + + +function runTest() { + object02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/object03.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/object03.js new file mode 100644 index 0000000..0be0bfe --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/object03.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Space-separated list of archives +The value of attribute archive of the object element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-47783837 +*/ +function object03() { + var success; + if(checkInitialization(builder, "object03") != null) return; + var nodeList; + var testNode; + var varchive; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + varchive = testNode.archive; + + assertEquals("archiveLink","",varchive); + +} + + + + +function runTest() { + object03(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/object04.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/object04.js new file mode 100644 index 0000000..4807d6a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/object04.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Width of border around the object. +The value of attribute border of the object element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-82818419 +*/ +function object04() { + var success; + if(checkInitialization(builder, "object04") != null) return; + var nodeList; + var testNode; + var vborder; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vborder = testNode.border; + + assertEquals("borderLink","0",vborder); + +} + + + + +function runTest() { + object04(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/object05.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/object05.js new file mode 100644 index 0000000..50d0a15 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/object05.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object05"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Base URI for classid, data, and archive attributes. +The value of attribute codebase of the object element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-25709136 +*/ +function object05() { + var success; + if(checkInitialization(builder, "object05") != null) return; + var nodeList; + var testNode; + var vcodebase; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vcodebase = testNode.codeBase; + + assertEquals("codebaseLink","http://xw2k.sdct.itl.nist.gov/brady/dom/",vcodebase); + +} + + + + +function runTest() { + object05(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/object09.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/object09.js new file mode 100644 index 0000000..9e7275e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/object09.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Message to render while loading the object. +The value of attribute standby of the object element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-25039673 +*/ +function object09() { + var success; + if(checkInitialization(builder, "object09") != null) return; + var nodeList; + var testNode; + var vstandby; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(0); + vstandby = testNode.standby; + + assertEquals("standbyLink","Loading Image ...",vstandby); + +} + + + + +function runTest() { + object09(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/object15.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/object15.js new file mode 100644 index 0000000..805240f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/object15.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/object15"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "object"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Content type for data downloaded via classid attribute. +The value of attribute codetype of the object element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-19945008 +*/ +function object15() { + var success; + if(checkInitialization(builder, "object15") != null) return; + var nodeList; + var testNode; + var vcodetype; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "object"); + nodeList = doc.getElementsByTagName("object"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vcodetype = testNode.codeType; + + assertEquals("codeTypeLink","image/gif",vcodetype); + +} + + + + +function runTest() { + object15(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table02.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table02.js new file mode 100644 index 0000000..b64d882 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table02.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table02"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Caption alignment with respect to the table. +The value of attribute align of the tablecaption element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14594520 +*/ +function table02() { + var success; + if(checkInitialization(builder, "table02") != null) return; + var nodeList; + var testNode; + var vcaption; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vcaption = testNode.caption; + + valign = vcaption.align; + + assertEquals("alignLink","top",valign); + +} + + + + +function runTest() { + table02(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table03.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table03.js new file mode 100644 index 0000000..94a91d2 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table03.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table03"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Alignment character for cells in a column. +The value of attribute ch of the tablesection element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-9530944 +*/ +function table03() { + var success; + if(checkInitialization(builder, "table03") != null) return; + var nodeList; + var testNode; + var vsection; + var vch; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vsection = testNode.tHead; + + vch = vsection.ch; + + assertEquals("chLink","*",vch); + +} + + + + +function runTest() { + table03(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table04.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table04.js new file mode 100644 index 0000000..b102221 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table04.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table04"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Horizontal alignment of data in cells. +The value of attribute align of the tablesection element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-9530944 +*/ +function table04() { + var success; + if(checkInitialization(builder, "table04") != null) return; + var nodeList; + var testNode; + var vsection; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vsection = testNode.tHead; + + valign = vsection.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + table04(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table06.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table06.js new file mode 100644 index 0000000..8b56579 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table06.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table06"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Vertical alignment of data in cells. +The value of attribute valign of the tablesection element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097 +*/ +function table06() { + var success; + if(checkInitialization(builder, "table06") != null) return; + var nodeList; + var testNode; + var vsection; + var vvAlign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vsection = testNode.tFoot; + + vvAlign = vsection.vAlign; + + assertEquals("vAlignLink","middle",vvAlign); + +} + + + + +function runTest() { + table06(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table07.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table07.js new file mode 100644 index 0000000..fc052b1 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table07.js @@ -0,0 +1,118 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table07"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The collection of rows in this table section. +The value of attribute rows of the tablesection element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097 +*/ +function table07() { + var success; + if(checkInitialization(builder, "table07") != null) return; + var nodeList; + var testNode; + var vsection; + var vcollection; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vsection = testNode.tFoot; + + vcollection = vsection.rows; + + vrows = vcollection.length; + + assertEquals("vrowsLink",1,vrows); + +} + + + + +function runTest() { + table07(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table08.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table08.js new file mode 100644 index 0000000..b8d998c --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table08.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table08"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Horizontal alignment of data in cells. +The value of attribute align of the tablesection element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097 +*/ +function table08() { + var success; + if(checkInitialization(builder, "table08") != null) return; + var nodeList; + var testNode; + var vsection; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vsection = testNode.tFoot; + + valign = vsection.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + table08(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table09.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table09.js new file mode 100644 index 0000000..e47dec3 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table09.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table09"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Vertical alignment of data in cells. +The value of attribute valign of the table element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-9530944 +*/ +function table09() { + var success; + if(checkInitialization(builder, "table09") != null) return; + var nodeList; + var testNode; + var vsection; + var vvalign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vsection = testNode.tHead; + + vvalign = vsection.vAlign; + + assertEquals("alignLink","middle",vvalign); + +} + + + + +function runTest() { + table09(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table10.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table10.js new file mode 100644 index 0000000..146787d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table10.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table10"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Alignment character for cells in a column. +The value of attribute ch of the tablesection element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097 +*/ +function table10() { + var success; + if(checkInitialization(builder, "table10") != null) return; + var nodeList; + var testNode; + var vsection; + var vch; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vsection = testNode.tFoot; + + vch = vsection.ch; + + assertEquals("chLink","+",vch); + +} + + + + +function runTest() { + table10(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table12.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table12.js new file mode 100644 index 0000000..cf01790 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table12.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table12"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Offset of alignment character. +The value of attribute choff of the tablesection element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097 +*/ +function table12() { + var success; + if(checkInitialization(builder, "table12") != null) return; + var nodeList; + var testNode; + var vsection; + var vchoff; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vsection = testNode.tHead; + + vchoff = vsection.chOff; + + assertEquals("choffLink","1",vchoff); + +} + + + + +function runTest() { + table12(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table15.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table15.js new file mode 100644 index 0000000..909bb10 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table15.js @@ -0,0 +1,118 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table15"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The collection of rows in this table section. +The value of attribute rows of the tablesection element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097 +*/ +function table15() { + var success; + if(checkInitialization(builder, "table15") != null) return; + var nodeList; + var testNode; + var vsection; + var vcollection; + var vrows; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vsection = testNode.tHead; + + vcollection = vsection.rows; + + vrows = vcollection.length; + + assertEquals("vrowsLink",1,vrows); + +} + + + + +function runTest() { + table15(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table17.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table17.js new file mode 100644 index 0000000..c362aa6 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table17.js @@ -0,0 +1,115 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table17"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablesection"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Offset of alignment character. +The value of attribute chOff of the tablesection element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097 +*/ +function table17() { + var success; + if(checkInitialization(builder, "table17") != null) return; + var nodeList; + var testNode; + var vsection; + var vchoff; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablesection"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",2,nodeList); +testNode = nodeList.item(1); + vsection = testNode.tFoot; + + vchoff = vsection.chOff; + + assertEquals("choffLink","2",vchoff); + +} + + + + +function runTest() { + table17(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table18.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table18.js new file mode 100644 index 0000000..6312b86 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table18.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table18"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The index of this cell in the row. +The value of attribute cellIndex of the tablecell element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-80748363 +*/ +function table18() { + var success; + if(checkInitialization(builder, "table18") != null) return; + var nodeList; + var testNode; + var vcindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vcindex = testNode.cellIndex; + + assertEquals("cellIndexLink",1,vcindex); + +} + + + + +function runTest() { + table18(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table19.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table19.js new file mode 100644 index 0000000..b340f60 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table19.js @@ -0,0 +1,113 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table19"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Abbreviation for header cells. +The index of this cell in the row. +The value of attribute abbr of the tablecell element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-74444037 +*/ +function table19() { + var success; + if(checkInitialization(builder, "table19") != null) return; + var nodeList; + var testNode; + var vabbr; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vabbr = testNode.abbr; + + assertEquals("abbrLink","hd2",vabbr); + +} + + + + +function runTest() { + table19(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table20.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table20.js new file mode 100644 index 0000000..15d0f9a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table20.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table20"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Names group of related headers. +The value of attribute axis of the tablecell element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76554418 +*/ +function table20() { + var success; + if(checkInitialization(builder, "table20") != null) return; + var nodeList; + var testNode; + var vaxis; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vaxis = testNode.axis; + + assertEquals("axisLink","center",vaxis); + +} + + + + +function runTest() { + table20(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table21.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table21.js new file mode 100644 index 0000000..26b7227 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table21.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table21"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Horizontal alignment of data in cell. +The value of attribute align of the tablecell element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98433879 +*/ +function table21() { + var success; + if(checkInitialization(builder, "table21") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + table21(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table22.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table22.js new file mode 100644 index 0000000..686ca1f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table22.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table22"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Cell background color. +The value of attribute bgColor of the tablecell element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88135431 +*/ +function table22() { + var success; + if(checkInitialization(builder, "table22") != null) return; + var nodeList; + var testNode; + var vbgcolor; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vbgcolor = testNode.bgColor; + + assertEquals("bgcolorLink","#FF0000".toLowerCase(),vbgcolor.toLowerCase()); + +} + + + + +function runTest() { + table22(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table23.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table23.js new file mode 100644 index 0000000..7ba050c --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table23.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table23"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Alignment character for cells in a column. +The value of attribute char of the tablecell element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-30914780 +*/ +function table23() { + var success; + if(checkInitialization(builder, "table23") != null) return; + var nodeList; + var testNode; + var vch; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vch = testNode.ch; + + assertEquals("chLink",":",vch); + +} + + + + +function runTest() { + table23(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table24.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table24.js new file mode 100644 index 0000000..01828ff --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table24.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table24"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +offset of alignment character. +The value of attribute chOff of the tablecell element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-20144310 +*/ +function table24() { + var success; + if(checkInitialization(builder, "table24") != null) return; + var nodeList; + var testNode; + var vchoff; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vchoff = testNode.chOff; + + assertEquals("chOffLink","1",vchoff); + +} + + + + +function runTest() { + table24(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table26.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table26.js new file mode 100644 index 0000000..c5560be --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table26.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table26"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The value of attribute height of the tablecell element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83679212 +*/ +function table26() { + var success; + if(checkInitialization(builder, "table26") != null) return; + var nodeList; + var testNode; + var vheight; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vheight = testNode.height; + + assertEquals("heightLink","50",vheight); + +} + + + + +function runTest() { + table26(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table27.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table27.js new file mode 100644 index 0000000..f2ceb93 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table27.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table27"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Suppress word wrapping. +The value of attribute nowrap of the tablecell element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-62922045 +*/ +function table27() { + var success; + if(checkInitialization(builder, "table27") != null) return; + var nodeList; + var testNode; + var vnowrap; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vnowrap = testNode.noWrap; + + assertTrue("nowrapLink",vnowrap); + +} + + + + +function runTest() { + table27(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table29.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table29.js new file mode 100644 index 0000000..df78641 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table29.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table29"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Scope covered by header cells. +The value of attribute scope of the tablecell element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-36139952 +*/ +function table29() { + var success; + if(checkInitialization(builder, "table29") != null) return; + var nodeList; + var testNode; + var vscope; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vscope = testNode.scope; + + assertEquals("scopeLink","col",vscope); + +} + + + + +function runTest() { + table29(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table30.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table30.js new file mode 100644 index 0000000..542b61c --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table30.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table30"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +List of id attribute values for header cells. +The value of attribute headers of the tablecell element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-89104817 +*/ +function table30() { + var success; + if(checkInitialization(builder, "table30") != null) return; + var nodeList; + var testNode; + var vheaders; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vheaders = testNode.headers; + + assertEquals("headersLink","header-3",vheaders); + +} + + + + +function runTest() { + table30(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table31.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table31.js new file mode 100644 index 0000000..9d83aae --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table31.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table31"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Vertical alignment of data in cell. +The value of attribute valign of the tablecell element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-58284221 +*/ +function table31() { + var success; + if(checkInitialization(builder, "table31") != null) return; + var nodeList; + var testNode; + var vvalign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vvalign = testNode.vAlign; + + assertEquals("vAlignLink","middle",vvalign); + +} + + + + +function runTest() { + table31(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table32.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table32.js new file mode 100644 index 0000000..bfa2719 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table32.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table32"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +cell width. +The value of attribute width of the table element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-27480795 +*/ +function table32() { + var success; + if(checkInitialization(builder, "table32") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vwidth = testNode.width; + + assertEquals("vwidthLink","175",vwidth); + +} + + + + +function runTest() { + table32(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table33.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table33.js new file mode 100644 index 0000000..0813b82 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table33.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table33"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Specifies the table's position with respect to the rest of the document. +The value of attribute align of the table element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-23180977 +*/ +function table33() { + var success; + if(checkInitialization(builder, "table33") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + table33(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table35.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table35.js new file mode 100644 index 0000000..26e1e43 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table35.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table35"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Cell background color. +The value of attribute bgcolor of the table element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83532985 +*/ +function table35() { + var success; + if(checkInitialization(builder, "table35") != null) return; + var nodeList; + var testNode; + var vbgcolor; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vbgcolor = testNode.bgColor; + + assertEquals("bgcolorLink","#ff0000",vbgcolor); + +} + + + + +function runTest() { + table35(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table36.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table36.js new file mode 100644 index 0000000..dd39fa1 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table36.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table36"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Specifies which external table borders to render. +The value of attribute frame of the table element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64808476 +*/ +function table36() { + var success; + if(checkInitialization(builder, "table36") != null) return; + var nodeList; + var testNode; + var vframe; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vframe = testNode.frame; + + assertEquals("frameLink","border",vframe); + +} + + + + +function runTest() { + table36(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table37.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table37.js new file mode 100644 index 0000000..7e23568 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table37.js @@ -0,0 +1,111 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table37"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Specifies the horizontal and vertical space between cell content and cell borders. The value of attribute cellpadding of the table element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59162158 +*/ +function table37() { + var success; + if(checkInitialization(builder, "table37") != null) return; + var nodeList; + var testNode; + var vcellpadding; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vcellpadding = testNode.cellPadding; + + assertEquals("cellpaddingLink","2",vcellpadding); + +} + + + + +function runTest() { + table37(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table38.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table38.js new file mode 100644 index 0000000..0710edc --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table38.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table38"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Specifies the horizontal and vertical separation between cells. +The value of attribute cellspacing of the table element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-68907883 +*/ +function table38() { + var success; + if(checkInitialization(builder, "table38") != null) return; + var nodeList; + var testNode; + var vcellspacing; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vcellspacing = testNode.cellSpacing; + + assertEquals("cellspacingLink","2",vcellspacing); + +} + + + + +function runTest() { + table38(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table39.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table39.js new file mode 100644 index 0000000..eb4ce79 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table39.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table39"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Supplementary description about the purpose or structure of a table. +The value of attribute summary of the table element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-44998528 +*/ +function table39() { + var success; + if(checkInitialization(builder, "table39") != null) return; + var nodeList; + var testNode; + var vsummary; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vsummary = testNode.summary; + + assertEquals("summaryLink","HTML Control Table",vsummary); + +} + + + + +function runTest() { + table39(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table40.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table40.js new file mode 100644 index 0000000..ab7baa9 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table40.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table40"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Specifies which internal table borders to render. +The value of attribute rules of the table element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-26347553 +*/ +function table40() { + var success; + if(checkInitialization(builder, "table40") != null) return; + var nodeList; + var testNode; + var vrules; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vrules = testNode.rules; + + assertEquals("rulesLink","all",vrules); + +} + + + + +function runTest() { + table40(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table41.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table41.js new file mode 100644 index 0000000..d3f524f --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table41.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table41"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Specifies the desired table width. +The value of attribute width of the table element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-77447361 +*/ +function table41() { + var success; + if(checkInitialization(builder, "table41") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vwidth = testNode.width; + + assertEquals("widthLink","680",vwidth); + +} + + + + +function runTest() { + table41(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table42.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table42.js new file mode 100644 index 0000000..06394b2 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table42.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table42"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Horizontal alignment of data within cells of this row. +The value of attribute align of the tablerow element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-74098257 +*/ +function table42() { + var success; + if(checkInitialization(builder, "table42") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",8,nodeList); +testNode = nodeList.item(1); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + table42(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table43.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table43.js new file mode 100644 index 0000000..2fb11a0 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table43.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table43"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Background color for rows. +The value of attribute bgcolor of the tablerow element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-18161327 +*/ +function table43() { + var success; + if(checkInitialization(builder, "table43") != null) return; + var nodeList; + var testNode; + var vbgcolor; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",8,nodeList); +testNode = nodeList.item(1); + vbgcolor = testNode.bgColor; + + assertEquals("bgcolorLink","#00FFFF".toLowerCase(),vbgcolor.toLowerCase()); + +} + + + + +function runTest() { + table43(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table44.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table44.js new file mode 100644 index 0000000..78c2cdb --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table44.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table44"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Vertical alignment of data within cells of this row. +The value of attribute valign of the tablerow element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-90000058 +*/ +function table44() { + var success; + if(checkInitialization(builder, "table44") != null) return; + var nodeList; + var testNode; + var vvalign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",8,nodeList); +testNode = nodeList.item(1); + vvalign = testNode.vAlign; + + assertEquals("valignLink","middle",vvalign); + +} + + + + +function runTest() { + table44(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table45.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table45.js new file mode 100644 index 0000000..a762d79 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table45.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table45"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Alignment character for cells in a column. +The value of attribute ch of the tablerow element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-16230502 +*/ +function table45() { + var success; + if(checkInitialization(builder, "table45") != null) return; + var nodeList; + var testNode; + var vch; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(1); + vch = testNode.ch; + + assertEquals("vchLink","*",vch); + +} + + + + +function runTest() { + table45(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table46.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table46.js new file mode 100644 index 0000000..76f88ac --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table46.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table46"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Offset of alignment character. +The value of attribute choff of the tablerow element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-68207461 +*/ +function table46() { + var success; + if(checkInitialization(builder, "table46") != null) return; + var nodeList; + var testNode; + var vchoff; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(1); + vchoff = testNode.chOff; + + assertEquals("choffLink","1",vchoff); + +} + + + + +function runTest() { + table46(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table47.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table47.js new file mode 100644 index 0000000..592c778 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table47.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table47"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablerow"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The index of this row, relative to the entire table. +The value of attribute rowIndex of the table element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-67347567 +*/ +function table47() { + var success; + if(checkInitialization(builder, "table47") != null) return; + var nodeList; + var testNode; + var vrindex; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablerow"); + nodeList = doc.getElementsByTagName("tr"); + assertSize("Asize",5,nodeList); +testNode = nodeList.item(4); + vrindex = testNode.rowIndex; + + assertEquals("rowIndexLink",2,vrindex); + +} + + + + +function runTest() { + table47(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table48.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table48.js new file mode 100644 index 0000000..4ec5b61 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table48.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table48"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Horizontal alignment of cell data in column. +The value of attribute align of the tablecol element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-74098257 +*/ +function table48() { + var success; + if(checkInitialization(builder, "table48") != null) return; + var nodeList; + var testNode; + var valign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("col"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + valign = testNode.align; + + assertEquals("alignLink","center",valign); + +} + + + + +function runTest() { + table48(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table49.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table49.js new file mode 100644 index 0000000..e362b47 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table49.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table49"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Alignment character for cells in a column. +The value of attribute ch of the tablecol element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-16230502 +*/ +function table49() { + var success; + if(checkInitialization(builder, "table49") != null) return; + var nodeList; + var testNode; + var vch; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("col"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vch = testNode.ch; + + assertEquals("chLink","*",vch); + +} + + + + +function runTest() { + table49(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table50.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table50.js new file mode 100644 index 0000000..d27f07d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table50.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table50"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Offset of alignment character. +The value of attribute choff of the tablecol element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-68207461 +*/ +function table50() { + var success; + if(checkInitialization(builder, "table50") != null) return; + var nodeList; + var testNode; + var vchoff; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("col"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vchoff = testNode.chOff; + + assertEquals("chOffLink","20",vchoff); + +} + + + + +function runTest() { + table50(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table52.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table52.js new file mode 100644 index 0000000..6b9b274 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table52.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table52"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Vertical alignment of cell data in column. +The value of attribute valign of the tablecol element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83291710 +*/ +function table52() { + var success; + if(checkInitialization(builder, "table52") != null) return; + var nodeList; + var testNode; + var vvalign; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("col"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vvalign = testNode.vAlign; + + assertEquals("vAlignLink","middle",vvalign); + +} + + + + +function runTest() { + table52(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table53.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table53.js new file mode 100644 index 0000000..1a42944 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/obsolete/table53.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table53"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Default column width. +The value of attribute width of the tablecol element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-25196799 +*/ +function table53() { + var success; + if(checkInitialization(builder, "table53") != null) return; + var nodeList; + var testNode; + var vwidth; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("col"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vwidth = testNode.width; + + assertEquals("widthLink","20",vwidth); + +} + + + + +function runTest() { + table53(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/table01.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/table01.js new file mode 100644 index 0000000..b561015 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/table01.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table01"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table1"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Returns the table's CAPTION, or void if none exists. +The value of attribute caption of the table element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14594520 +*/ +function table01() { + var success; + if(checkInitialization(builder, "table01") != null) return; + var nodeList; + var testNode; + var vcaption; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table1"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vcaption = testNode.caption; + + assertNull("captionLink",vcaption); + +} + + + + +function runTest() { + table01(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/table25.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/table25.js new file mode 100644 index 0000000..504eb18 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/table25.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table25"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Number of columns spanned by cell. +The value of attribute colspan of the tablecell element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-84645244 +*/ +function table25() { + var success; + if(checkInitialization(builder, "table25") != null) return; + var nodeList; + var testNode; + var vcolspan; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vcolspan = testNode.colSpan; + + assertEquals("colSpanLink",1,vcolspan); + +} + + + + +function runTest() { + table25(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/table28.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/table28.js new file mode 100644 index 0000000..b3ceab8 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/table28.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table28"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecell"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Number of rows spanned by cell. +The value of attribute rowspan of the tablecell element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-48237625 +*/ +function table28() { + var success; + if(checkInitialization(builder, "table28") != null) return; + var nodeList; + var testNode; + var vrowspan; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecell"); + nodeList = doc.getElementsByTagName("td"); + assertSize("Asize",4,nodeList); +testNode = nodeList.item(1); + vrowspan = testNode.rowSpan; + + assertEquals("rowSpanLink",1,vrowspan); + +} + + + + +function runTest() { + table28(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/table34.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/table34.js new file mode 100644 index 0000000..673fa06 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/table34.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table34"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "table"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +The width of the border around the table. +The value of attribute border of the table element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-50969400 +*/ +function table34() { + var success; + if(checkInitialization(builder, "table34") != null) return; + var nodeList; + var testNode; + var vborder; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "table"); + nodeList = doc.getElementsByTagName("table"); + assertSize("Asize",3,nodeList); +testNode = nodeList.item(1); + vborder = testNode.border; + + assertEquals("borderLink","4",vborder); + +} + + + + +function runTest() { + table34(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/table51.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/table51.js new file mode 100644 index 0000000..b6588b4 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/domino/test/w3c/level1/html/table51.js @@ -0,0 +1,112 @@ + +/* +Copyright © 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All +Rights Reserved. This work is distributed under the W3C® Software License [1] in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +*/ + + + + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ +function getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/html/table51"; + } + +var docsLoaded = -1000000; +var builder = null; + +// +// This function is called by the testing framework before +// running the test suite. +// +// If there are no configuration exceptions, asynchronous +// document loading is started. Otherwise, the status +// is set to complete and the exception is immediately +// raised when entering the body of the test. +// +function setUpPage() { + setUpPageStatus = 'running'; + try { + // + // creates test document builder, may throw exception + // + builder = createConfiguredBuilder(); + + docsLoaded = 0; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + docsLoaded += preload(docRef, "doc", "tablecol"); + + if (docsLoaded == 1) { + setUpPageStatus = 'complete'; + } + } catch(ex) { + catchInitializationError(builder, ex); + setUpPageStatus = 'complete'; + } +} + + + +// +// This method is called on the completion of +// each asychronous load started in setUpTests. +// +// When every synchronous loaded document has completed, +// the page status is changed which allows the +// body of the test to be executed. +function loadComplete() { + if (++docsLoaded == 1) { + setUpPageStatus = 'complete'; + } +} + + +/** +* +Indicates the number of columns in a group or affected by a grouping. +The value of attribute span of the tablecol element is read and checked against the expected value. + +* @author Netscape +* @author Sivakiran Tummala +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96511335 +*/ +function table51() { + var success; + if(checkInitialization(builder, "table51") != null) return; + var nodeList; + var testNode; + var vspan; + var doc; + + var docRef = null; + if (typeof(this.doc) != 'undefined') { + docRef = this.doc; + } + doc = load(docRef, "doc", "tablecol"); + nodeList = doc.getElementsByTagName("col"); + assertSize("Asize",1,nodeList); +testNode = nodeList.item(0); + vspan = testNode.span; + + assertEquals("spanLink",1,vspan); + +} + + + + +function runTest() { + table51(); +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/tassembly/.jshintrc b/knockoff-node-precompiled/node_modules/knockoff/node_modules/tassembly/.jshintrc new file mode 100644 index 0000000..e1ed177 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/tassembly/.jshintrc @@ -0,0 +1,33 @@ +{ + "predef": [ + "ve", + + "setImmediate", + + "QUnit" + ], + + "bitwise": true, + "laxbreak": true, + "curly": true, + "eqeqeq": true, + "immed": true, + "latedef": true, + "newcap": true, + "noarg": true, + "noempty": true, + "nonew": true, + "regexp": false, + "undef": true, + "strict": true, + "trailing": true, + + "smarttabs": true, + "multistr": true, + + "node": true, + + "nomen": false, + "loopfunc": true + //"onevar": true +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/tassembly/.npmignore b/knockoff-node-precompiled/node_modules/knockoff/node_modules/tassembly/.npmignore new file mode 100644 index 0000000..3c3629e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/tassembly/.npmignore @@ -0,0 +1 @@ +node_modules diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/tassembly/AttributeSanitizer.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/tassembly/AttributeSanitizer.js new file mode 100644 index 0000000..bae2094 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/tassembly/AttributeSanitizer.js @@ -0,0 +1,210 @@ +"use strict"; + +var protocolRegex = new RegExp( '^(' + [ + "http://", + "https://", + "ftp://", + "irc://", + "ircs://", + "gopher://", + "telnet://", + "nntp://", + "worldwind://", + "mailto:", + "news:", + "svn://", + "git://", + "mms://", + "//" + ].join('|') + ')', 'i'), + CHAR_REFS_RE = /&([A-Za-z0-9\x80-\xff]+);|&\#([0-9]+);|&\#[xX]([0-9A-Fa-f]+);|(&)/; + +function AttributeSanitizer(options) { + // XXX: make protocol regexp configurable! + this.protocolRegex = protocolRegex; +} + +/** + * Decode any character references, numeric or named entities, + * in the text and return a UTF-8 string. + */ +AttributeSanitizer.prototype.decodeCharReferences = function ( text ) { + var sanitizer = this; + return text.replace(CHAR_REFS_RE, function() { + if (arguments[1]) { + return sanitizer.decodeEntity(arguments[1]); + } else if (arguments[2]) { + return sanitizer.decodeChar(parseInt(arguments[2], 10)); + } else if (arguments[3]) { + return sanitizer.decodeChar(parseInt(arguments[3], 16)); + } else { + return arguments[4]; + } + }); +}; + +var IDN_RE = new RegExp( + "[\t ]|" + // general whitespace + "\u00ad|" + // 00ad SOFT HYPHEN + "\u1806|" + // 1806 MONGOLIAN TODO SOFT HYPHEN + "\u200b|" + // 200b ZERO WIDTH SPACE + "\u2060|" + // 2060 WORD JOINER + "\ufeff|" + // feff ZERO WIDTH NO-BREAK SPACE + "\u034f|" + // 034f COMBINING GRAPHEME JOINER + "\u180b|" + // 180b MONGOLIAN FREE VARIATION SELECTOR ONE + "\u180c|" + // 180c MONGOLIAN FREE VARIATION SELECTOR TWO + "\u180d|" + // 180d MONGOLIAN FREE VARIATION SELECTOR THREE + "\u200c|" + // 200c ZERO WIDTH NON-JOINER + "\u200d|" + // 200d ZERO WIDTH JOINER + "[\ufe00-\ufe0f]", // fe00-fe0f VARIATION SELECTOR-1-16 + 'g' + ); + +function stripIDNs ( host ) { + return host.replace( IDN_RE, '' ); +} + +function codepointToUtf8 (cp) { + try { + return String.fromCharCode(cp); + } catch (e) { + // Return a tofu? + return cp.toString(); + } +} + +AttributeSanitizer.prototype.cssDecodeRE = (function() { + // Decode escape sequences and line continuation + // See the grammar in the CSS 2 spec, appendix D. + // This has to be done AFTER decoding character references. + // This means it isn't possible for this function to return + // unsanitized escape sequences. It is possible to manufacture + // input that contains character references that decode to + // escape sequences that decode to character references, but + // it's OK for the return value to contain character references + // because the caller is supposed to escape those anyway. + var space = '[\\x20\\t\\r\\n\\f]'; + var nl = '(?:\\n|\\r\\n|\\r|\\f)'; + var backslash = '\\\\'; + return new RegExp(backslash + + "(?:" + + "(" + nl + ")|" + // 1. Line continuation + "([0-9A-Fa-f]{1,6})" + space + "?|" + // 2. character number + "(.)|" + // 3. backslash cancelling special meaning + "()$" + // 4. backslash at end of string + ")"); +})(); + +AttributeSanitizer.prototype.sanitizeStyle = function (text) { + function removeMismatchedQuoteChar(str, quoteChar) { + var re1, re2; + if (quoteChar === "'") { + re1 = /'/g; + re2 = /'([^'\n\r\f]*)$/; + } else { + re1 = /"/g; + re2 = /"([^"\n\r\f]*)$/; + } + + var mismatch = ((str.match(re1) || []).length) % 2 === 1; + if (mismatch) { + str = str.replace(re2, function() { + // replace the mismatched quoteChar with a space + return " " + arguments[1]; + }); + } + + return str; + } + + // Decode character references like { + text = this.decodeCharReferences(text); + text = text.replace(this.cssDecodeRE, function() { + var c; + if (arguments[1] !== undefined ) { + // Line continuation + return ''; + } else if (arguments[2] !== undefined ) { + c = codepointToUtf8(parseInt(arguments[2], 16)); + } else if (arguments[3] !== undefined ) { + c = arguments[3]; + } else { + c = '\\'; + } + + if ( c === "\n" || c === '"' || c === "'" || c === '\\' ) { + // These characters need to be escaped in strings + // Clean up the escape sequence to avoid parsing errors by clients + return '\\' + (c.charCodeAt(0)).toString(16) + ' '; + } else { + // Decode unnecessary escape + return c; + } + }); + + // Remove any comments; IE gets token splitting wrong + // This must be done AFTER decoding character references and + // escape sequences, because those steps can introduce comments + // This step cannot introduce character references or escape + // sequences, because it replaces comments with spaces rather + // than removing them completely. + text = text.replace(/\/\*.*\*\//g, ' '); + + // Fix up unmatched double-quote and single-quote chars + // Full CSS syntax here: http://www.w3.org/TR/CSS21/syndata.html#syntax + // + // This can be converted to a function and called once for ' and " + // but we have to construct 4 different REs anyway + text = removeMismatchedQuoteChar(text, "'"); + text = removeMismatchedQuoteChar(text, '"'); + + /* --------- shorter but less efficient alternative to removeMismatchedQuoteChar ------------ + text = text.replace(/("[^"\n\r\f]*")+|('[^'\n\r\f]*')+|([^'"\n\r\f]+)|"([^"\n\r\f]*)$|'([^'\n\r\f]*)$/g, function() { + return arguments[1] || arguments[2] || arguments[3] || arguments[4]|| arguments[5]; + }); + * ----------------------------------- */ + + // Remove anything after a comment-start token, to guard against + // incorrect client implementations. + var commentPos = text.indexOf('/*'); + if (commentPos >= 0) { + text = text.substr( 0, commentPos ); + } + + // SSS FIXME: Looks like the HTML5 library normalizes attributes + // and gets rid of these attribute values -- something that needs + // investigation and fixing. + // + // So, style="/* insecure input */" comes out as style="" + if (/[\000-\010\016-\037\177]/.test(text)) { + return '/* invalid control char */'; + } + if (/expression|filter\s*:|accelerator\s*:|url\s*\(/i.test(text)) { + return '/* insecure input */'; + } + return text; +}; + +AttributeSanitizer.prototype.sanitizeHref = function ( href ) { + // protocol needs to begin with a letter (ie, .// is not a protocol) + var bits = href.match( /^((?:[a-zA-Z][^:\/]*:)?(?:\/\/)?)([^\/]+)(\/?.*)/ ), + proto, host, path; + if ( bits ) { + proto = bits[1]; + host = bits[2]; + path = bits[3]; + if ( ! proto.match(this.protocolRegex)) { + // invalid proto, disallow URL + return null; + } + } else { + proto = ''; + host = ''; + path = href; + } + host = stripIDNs( host ); + + return proto + host + path; +}; + +module.exports = {AttributeSanitizer: AttributeSanitizer}; diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/tassembly/README.md b/knockoff-node-precompiled/node_modules/knockoff/node_modules/tassembly/README.md new file mode 100644 index 0000000..180efc1 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/tassembly/README.md @@ -0,0 +1,199 @@ +TAssembly +========= + +JSON +[IR](https://en.wikipedia.org/wiki/Intermediate_language#Intermediate_representation) +for templating and corresponding runtime implementation + +**"Fast but safe"** + +Security guarantees of DOM-based templating (tag balancing, context-sensitive +href/src/style sanitization etc) with the performance of string-based templating. + +See + [this page for background.](https://www.mediawiki.org/wiki/Requests_for_comment/HTML_templating_library/Knockout_-_Tassembly) + +* The JSON format is compact, can easily be persisted and can be evaluated with +a tiny library. + +* Performance is on par with compiled handlebars templates, the fastest +string-based library in our tests. + +* Compilation target for [Knockoff templates + (KnockoutJS syntax)](https://github.com/gwicke/knockoff) and + [Spacebars](https://github.com/gwicke/TemplatePerf/tree/master/handlebars-htmljs-node/spacebars-qt). + +Usage +===== +```javascript +var ta = require('tassembly'); + +// compile a template +var tplFun = ta.compile(['',['text','m.body'],'
    ']); +// call with a model +var html = tplFun({id: 'some id', body: 'The body text'}); +``` + +TAssembly also supports compilation options. +```javascript +var options = { + globals: { + echo: function(x) { + return x; + } + }, + partials: { + 'user': ['
  • '['text','m.userName','
  • '] + } +}; + +var tpl = ['
      ',['attr',{id:"rc.g.echo(m.id)"}],'>', + ['foreach',{data:'m.users',tpl:'user'}], + '
    '], + // compile the template + tplFun = ta.compile(tpl, options); + +// call with a model +var model = { + id: 'some id', + users: [ + { + userName: 'Paul' + } + ] +}; +var html = tplFun(model); +``` + +Optionally, you can also override options at render time: + +```javascript +var html = tplFun(model, options); +``` + +TAssembly spec +============== +TAssembly examples: + +```javascript +['',['text','m.body'],''] + +['', + ['foreach',{data:'m.items',tpl:['',['text','m.val'],'']}], +''] +``` +* String content is represented as plain strings +* Opcodes are represented as a two-element array of the form [opcode, options] +* Expressions can be used to access the model, parent scopes, globals and so + on. Supported are number & string literals, variable references, function + calls and array dereferences. The compiler used to generate TAssembly is + expected to validate expressions. See the section detailing the model access + options and expression format below for further detail. + +### text +Emit text content. HTML-sensitive chars are escaped. Options is a single +expression: +```javascript +['text','m.textContent'] +``` + +### foreach +Iterate over an array. The view model 'm' in each iteration is each member of the +array. +```javascript +[ + "foreach", + { + "data": "m.items", + "tpl": ["",["text","m.key"],""] + } +] +``` +You can pass in the name of a partial instead of the inline template. + +The iteration counter is available as context variable / expression 'i'. + +### template +Calls a template (inline or name of a partial) with a given model. +```javascript +['template', { + data: 'm.modelExpression', + tpl: ['',['text','m.body'],''] +}] +``` + +### with +Calls a template (inline or name of a partial) with a given model, only if +that model is truish. +```javascript +['with', { + data: 'm.modelExpression', + tpl: ['',['text','m.body'],''] +}] +``` +### if +Calls a template (inline or name of a partial) if a condition is true. +```javascript +['if', { + data: 'm.conditionExpression', + tpl: ['',['text','m.body'],''] +}] +``` +### ifnot +Calls a template (inline or name of a partial) if a condition is false. +```javascript +['if', { + data: 'm.conditionExpression', + tpl: ['',['text','m.body'],''] +}] +``` +### attr +Emit one or more HTML attributes. Automatic context-sensitive escaping is +applied to href, src and style attributes. + +Options is an object of attribute name -> value pairs: +```javascript +{ id: "m.idAttrVal", title: "m.titleAttrVal" } +``` +Attributes whose value is null are skipped. The value can also be an object: +```javascript +{ + "style": { + "v": "m.value", + "app": [ + { + "ifnot": "m.obj", + "v": "display: none !important;" + } + ] + } +} +``` +In this case, the style attribute will have the values "color:red;" or +"color:red;display:none !important" depending on the value of the variable +'obj' in the current view model. + + +Model access and expressions +---------------------------- +* Literals: + * Number "2" or "3.4" + * String "'Some string literal'" (note single quotes); single quotes escaped + with "\'" & backslashes escaped as "\\" + * Object "{foo:'bar',baz:m.someVar}" +* Variable access with dot notation: 'm.foo.bar' +* Array references: "m.users[m.user]" +* Function calls: "rc.g.i18n('username',{foo:m.bar})"; nesting and multiple + parameters supported + +Expressions have access to a handful of variables defined in the current +context: +* m - current view model (Knockout: '$data') +* rm - root (topmost) view model (Knockout: '$root') +* pm - parent view model (Knockout: '$parent') +* pms - array of parent view models (Knockout: '$parents') +* pc - parent context object (Knockout: '$parentContext') +* i - current iteration index in foreach (Knockout: '$index') +* rc - root context object +* rc.g - globals defined at compile time; typically used for helper functions + which should not be part of the model (i18n etc) diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/tassembly/browser/tassembly.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/tassembly/browser/tassembly.js new file mode 100644 index 0000000..163f40e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/tassembly/browser/tassembly.js @@ -0,0 +1,16 @@ +!function(s){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=s();else if("function"==typeof define&&define.amd)define([],s);else{var h;"undefined"!=typeof window?h=window:"undefined"!=typeof global?h=global:"undefined"!=typeof self&&(h=self);h.tassembly=s()}}(function(){return function h(l,r,e){function k(a,b){if(!r[a]){if(!l[a]){var d="function"==typeof require&&require;if(!b&&d)return d(a,!0);if(p)return p(a,!0);throw Error("Cannot find module '"+a+"'");}d=r[a]={exports:{}}; +l[a][0].call(d.exports,function(c){var b=l[a][1][c];return k(b?b:c)},d,d.exports,h,l,r,e)}return r[a].exports}for(var p="function"==typeof require&&require,q=0;q":return">";case "&":return"&";case '"':return"""; +default:return"&#"+a.charCodeAt()+";"}};e.prototype.childContext=function(a,b){return{m:a,pc:b,pm:b.m,pms:[a].concat(b.ps),rm:b.rm,rc:b.rc,cb:b.cb}};e.prototype._assemble=function(a,b){function d(a){e.length&&(c.push("cb("+e.join("+")+");"),e=[]);c.push(a)}var c=[],e=[];c.push("var val;");for(var f=a.length,g=0;g browser/tassembly.orig.js && [ -x /usr/bin/closure-compiler ] && closure-compiler browser/tassembly.orig.js > browser/tassembly.js" + }, + "readme": "TAssembly\n=========\n\nJSON\n[IR](https://en.wikipedia.org/wiki/Intermediate_language#Intermediate_representation)\nfor templating and corresponding runtime implementation\n\n**\"Fast but safe\"**\n\nSecurity guarantees of DOM-based templating (tag balancing, context-sensitive\nhref/src/style sanitization etc) with the performance of string-based templating.\n\nSee\n [this page for background.](https://www.mediawiki.org/wiki/Requests_for_comment/HTML_templating_library/Knockout_-_Tassembly)\n\n* The JSON format is compact, can easily be persisted and can be evaluated with\na tiny library.\n\n* Performance is on par with compiled handlebars templates, the fastest\nstring-based library in our tests.\n\n* Compilation target for [Knockoff templates\n (KnockoutJS syntax)](https://github.com/gwicke/knockoff) and\n [Spacebars](https://github.com/gwicke/TemplatePerf/tree/master/handlebars-htmljs-node/spacebars-qt).\n\nUsage\n=====\n```javascript\nvar ta = require('tassembly');\n\n// compile a template\nvar tplFun = ta.compile(['',['text','m.body'],'']);\n// call with a model\nvar html = tplFun({id: 'some id', body: 'The body text'});\n```\n\nTAssembly also supports compilation options. \n```javascript\nvar options = {\n globals: {\n echo: function(x) {\n return x;\n }\n },\n partials: {\n 'user': ['
  • '['text','m.userName','
  • ']\n }\n};\n\nvar tpl = ['
      ',['attr',{id:\"rc.g.echo(m.id)\"}],'>',\n ['foreach',{data:'m.users',tpl:'user'}],\n '
    '],\n // compile the template\n tplFun = ta.compile(tpl, options);\n\n// call with a model\nvar model = {\n id: 'some id',\n users: [\n {\n userName: 'Paul'\n }\n ]\n};\nvar html = tplFun(model);\n```\n\nOptionally, you can also override options at render time:\n\n```javascript\nvar html = tplFun(model, options);\n```\n\nTAssembly spec\n==============\nTAssembly examples:\n\n```javascript\n['',['text','m.body'],'']\n\n['',\n ['foreach',{data:'m.items',tpl:['',['text','m.val'],'']}],\n'']\n```\n* String content is represented as plain strings\n* Opcodes are represented as a two-element array of the form [opcode, options]\n* Expressions can be used to access the model, parent scopes, globals and so\n on. Supported are number & string literals, variable references, function\n calls and array dereferences. The compiler used to generate TAssembly is\n expected to validate expressions. See the section detailing the model access\n options and expression format below for further detail.\n\n### text\nEmit text content. HTML-sensitive chars are escaped. Options is a single\nexpression:\n```javascript\n['text','m.textContent']\n```\n\n### foreach\nIterate over an array. The view model 'm' in each iteration is each member of the\narray.\n```javascript\n[\n \"foreach\",\n {\n \"data\": \"m.items\",\n \"tpl\": [\"\",[\"text\",\"m.key\"],\"\"]\n }\n]\n```\nYou can pass in the name of a partial instead of the inline template.\n\nThe iteration counter is available as context variable / expression 'i'.\n\n### template\nCalls a template (inline or name of a partial) with a given model.\n```javascript\n['template', { \n data: 'm.modelExpression', \n tpl: ['',['text','m.body'],'']\n}]\n```\n\n### with\nCalls a template (inline or name of a partial) with a given model, only if\nthat model is truish.\n```javascript\n['with', { \n data: 'm.modelExpression', \n tpl: ['',['text','m.body'],'']\n}]\n```\n### if\nCalls a template (inline or name of a partial) if a condition is true.\n```javascript\n['if', { \n data: 'm.conditionExpression', \n tpl: ['',['text','m.body'],'']\n}]\n```\n### ifnot\nCalls a template (inline or name of a partial) if a condition is false.\n```javascript\n['if', { \n data: 'm.conditionExpression', \n tpl: ['',['text','m.body'],'']\n}]\n```\n### attr\nEmit one or more HTML attributes. Automatic context-sensitive escaping is\napplied to href, src and style attributes. \n\nOptions is an object of attribute name -> value pairs:\n```javascript\n{ id: \"m.idAttrVal\", title: \"m.titleAttrVal\" }\n```\nAttributes whose value is null are skipped. The value can also be an object:\n```javascript\n{\n \"style\": {\n \"v\": \"m.value\",\n \"app\": [\n {\n \"ifnot\": \"m.obj\",\n \"v\": \"display: none !important;\"\n }\n ]\n }\n}\n```\nIn this case, the style attribute will have the values \"color:red;\" or\n\"color:red;display:none !important\" depending on the value of the variable\n'obj' in the current view model.\n\n\nModel access and expressions\n----------------------------\n* Literals: \n * Number \"2\" or \"3.4\"\n * String \"'Some string literal'\" (note single quotes); single quotes escaped\n with \"\\'\" & backslashes escaped as \"\\\\\"\n * Object \"{foo:'bar',baz:m.someVar}\"\n* Variable access with dot notation: 'm.foo.bar'\n* Array references: \"m.users[m.user]\"\n* Function calls: \"rc.g.i18n('username',{foo:m.bar})\"; nesting and multiple\n parameters supported\n\nExpressions have access to a handful of variables defined in the current\ncontext:\n* m - current view model (Knockout: '$data')\n* rm - root (topmost) view model (Knockout: '$root')\n* pm - parent view model (Knockout: '$parent')\n* pms - array of parent view models (Knockout: '$parents')\n* pc - parent context object (Knockout: '$parentContext')\n* i - current iteration index in foreach (Knockout: '$index')\n* rc - root context object\n* rc.g - globals defined at compile time; typically used for helper functions\n which should not be part of the model (i18n etc)\n", + "readmeFilename": "README.md", + "description": "TAssembly =========", + "_id": "tassembly@0.1.3", + "dist": { + "shasum": "d88902992c5eb7d808ca820293703cd523e7f569" + }, + "_resolved": "git+https://github.com/gwicke/tassembly.git#f243563c3ec1a2a5f6c9b679ba2dd40d81bac29f", + "_from": "tassembly@git+https://github.com/gwicke/tassembly.git#master" +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/tassembly/tassembly.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/tassembly/tassembly.js new file mode 100644 index 0000000..1711f9b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/tassembly/tassembly.js @@ -0,0 +1,512 @@ +/* + * JSON template IR runtime + * + * Motto: Fast but safe! + * + * A string-based template representation that can be compiled from DOM-based + * templates (knockoutjs syntax for example) and can statically enforce + * balancing and contextual sanitization to prevent XSS, for example in href + * and src attributes. The JSON format is compact, can easily be persisted and + * can be evaluated with a tiny library (this file). + * + * Performance is on par with compiled handlebars templates, the fastest + * string-based library in our tests. + * + * Input examples: + * ['',['text','body'],''] + * ['', + * ['foreach',{data:'m_items',tpl:['',['text','val'],'']}], + * ''] + */ +"use strict"; + +var attrSanitizer = new (require('./AttributeSanitizer.js').AttributeSanitizer)(); + +function TAssembly () { + this.uid = 0; + // Cache for sub-structure parameters. Storing them globally keyed on uid + // makes it possible to reuse compilations. + this.cache = {}; + // Partials: tassembly objects + this.partials = {}; +} + +TAssembly.prototype.attrSanitizer = attrSanitizer; + +TAssembly.prototype._getUID = function() { + this.uid++; + return this.uid; +}; + +var simpleExpression = /^(?:[.][a-zA-Z_$]+)+$/, + complexExpression = new RegExp('^(?:[.][a-zA-Z_$]+' + + '(?:\\[(?:[0-9.]+|["\'][a-zA-Z0-9_$]+["\'])\\])?' + + '(?:\\((?:[0-9a-zA-Z_$.]+|["\'][a-zA-Z0-9_$\\.]+["\'])\\))?' + + ')+$'), + simpleBindingVar = /^(m|p(?:[cm]s?)?|r[mc]|i|c)\.([a-zA-Z_$]+)$/; + +// Rewrite an expression so that it is referencing the context where necessary +function rewriteExpression (expr) { + // Rewrite the expression to be keyed on the context 'c' + // XXX: experiment with some local var definitions and selective + // rewriting for perf + + var res = '', + i = -1, + c = ''; + do { + if (/^$|[\[:(,]/.test(c)) { + res += c; + if (/[pri]/.test(expr[i+1]) + && /(?:p(?:[cm]s?)?|r[mc]|i)(?:[\.\)\]}]|$)/.test(expr.slice(i+1))) { + // Prefix with full context object; only the local view model + // 'm' and the context 'c' is defined locally for now + res += 'c.'; + } + } else if (c === "'") { + // skip over string literal + var literal = expr.slice(i).match(/'(?:[^\\']+|\\')*'/); + if (literal) { + res += literal[0]; + i += literal[0].length - 1; + } + } else { + res += c; + } + i++; + c = expr[i]; + } while (c); + return res; +} + +TAssembly.prototype._evalExpr = function (expression, ctx) { + var func = this.cache['expr' + expression]; + if (!func) { + + var simpleMatch = expression.match(simpleBindingVar); + if (simpleMatch) { + var ctxMember = simpleMatch[1], + key = simpleMatch[2]; + return ctx[ctxMember][key]; + } + + // String literal + if (/^'.*'$/.test(expression)) { + return expression.slice(1,-1).replace(/\\'/g, "'"); + } + + func = new Function('c', 'var m = c.m;' + + 'return ' + rewriteExpression(expression)); + this.cache['expr' + expression] = func; + } + if (func) { + try { + return func(ctx); + } catch (e) { + console.error('Error while evaluating ' + expression); + console.error(e); + return ''; + } + } + + // Don't want to allow full JS expressions for PHP compat & general + // sanity. We could do the heavy sanitization work in the compiler & just + // eval simple JS-compatible expressions here (possibly using 'with', + // although that is deprecated & disabled in strict mode). For now we play + // it safe & don't eval the expression. Can relax this later. + return expression; +}; + +/* + * Optimized _evalExpr stub for the code generator + * + * Directly dereference the ctx for simple expressions (the common case), + * and fall back to the full method otherwise. + */ +function evalExprStub(expr) { + expr = '' + expr; + var newExpr; + if (simpleBindingVar.test(expr)) { + newExpr = rewriteExpression(expr); + return newExpr; + } else if (/^'/.test(expr)) { + // String literal + return JSON.stringify(expr.slice(1,-1).replace(/\\'/g, "'")); + } else if (/^[cm](?:\.[a-zA-Z_$]*)?$/.test(expr)) { + // Simple context or model reference + return expr; + } else { + newExpr = rewriteExpression(expr); + return '(function() { ' + + 'try {' + + 'return ' + newExpr + ';' + + '} catch (e) { console.error("Error in " + ' + JSON.stringify(newExpr) +'+": " + e.toString()); return "";}})()'; + } +} + +TAssembly.prototype._getTemplate = function (tpl, ctx) { + if (Array.isArray(tpl)) { + return tpl; + } else { + // String literal: strip quotes + if (/^'/.test(tpl)) { + tpl = tpl.slice(1,-1).replace(/\\'/g, "'"); + } + return ctx.rc.options.partials[tpl]; + } +}; + +TAssembly.prototype.ctlFn_foreach = function(options, ctx) { + // deal with options + var iterable = this._evalExpr(options.data, ctx); + if (!iterable || !Array.isArray(iterable)) { return; } + // worth compiling the nested template + var tpl = this.compile(this._getTemplate(options.tpl), ctx), + l = iterable.length, + newCtx = this.childContext(null, ctx); + for(var i = 0; i < l; i++) { + // Update the view model for each iteration + newCtx.m = iterable[i]; + newCtx.pms[0] = iterable[i]; + // And set the iteration index + newCtx.i = i; + tpl(newCtx); + } +}; + +TAssembly.prototype.ctlFn_template = function(options, ctx) { + // deal with options + var model = this._evalExpr(options.data, ctx), + newCtx = this.childContext(model, ctx), + tpl = this._getTemplate(options.tpl, ctx); + if (tpl) { + this._render(tpl, newCtx); + } +}; + +TAssembly.prototype.ctlFn_with = function(options, ctx) { + var model = this._evalExpr(options.data, ctx), + tpl = this._getTemplate(options.tpl, ctx); + if (model && tpl) { + var newCtx = this.childContext(model, ctx); + this._render(tpl, newCtx); + } else { + // TODO: hide the parent element similar to visible + } +}; + +TAssembly.prototype.ctlFn_if = function(options, ctx) { + if (this._evalExpr(options.data, ctx)) { + this._render(options.tpl, ctx); + } +}; + +TAssembly.prototype.ctlFn_ifnot = function(options, ctx) { + if (!this._evalExpr(options.data, ctx)) { + this._render(options.tpl, ctx); + } +}; + +TAssembly.prototype.ctlFn_attr = function(options, ctx) { + var self = this, + attVal; + Object.keys(options).forEach(function(name) { + var attValObj = options[name]; + if (typeof attValObj === 'string') { + attVal = self._evalExpr(options[name], ctx); + } else { + // Must be an object + attVal = attValObj.v || ''; + if (attValObj.app && Array.isArray(attValObj.app)) { + attValObj.app.forEach(function(appItem) { + if (appItem['if'] && self._evalExpr(appItem['if'], ctx)) { + attVal += appItem.v || ''; + } + if (appItem.ifnot && ! self._evalExpr(appItem.ifnot, ctx)) { + attVal += appItem.v || ''; + } + }); + } + if (!attVal && attValObj.v === null) { + attVal = null; + } + } + if (attVal) { + if (name === 'href' || name === 'src') { + attVal = this.attrSanitizer.sanitizeHref(attVal); + } else if (name === 'style') { + attVal = this.attrSanitizer.sanitizeStyle(attVal); + } + } + // Omit attributes if they are undefined, null or false + if (attVal || attVal === 0 || attVal === '') { + ctx.cb(' ' + name + '="' + // TODO: context-sensitive sanitization on href / src / style + // (also in compiled version at end) + + attVal.toString().replace(/"/g, '"') + + '"'); + } + }); +}; + +// Actually handled inline for performance +//TAssembly.prototype.ctlFn_text = function(options, ctx) { +// cb(this._evalExpr(options, ctx)); +//}; + +TAssembly.prototype._xmlEncoder = function(c){ + switch(c) { + case '<': return '<'; + case '>': return '>'; + case '&': return '&'; + case '"': return '"'; + default: return '&#' + c.charCodeAt() + ';'; + } +}; + +// Create a child context using plain old objects +TAssembly.prototype.childContext = function (model, parCtx) { + return { + m: model, + pc: parCtx, + pm: parCtx.m, + pms: [model].concat(parCtx.ps), + rm: parCtx.rm, + rc: parCtx.rc, // the root context + cb: parCtx.cb + }; +}; + +TAssembly.prototype._assemble = function(template, options) { + var code = [], + cbExpr = []; + + function pushCode(codeChunk) { + if(cbExpr.length) { + code.push('cb(' + cbExpr.join('+') + ');'); + cbExpr = []; + } + code.push(codeChunk); + } + + code.push('var val;'); + + var self = this, + l = template.length; + for(var i = 0; i < l; i++) { + var bit = template[i], + c = bit.constructor; + if (c === String) { + // static string + cbExpr.push(JSON.stringify(bit)); + } else if (c === Array) { + // control structure + var ctlFn = bit[0], + ctlOpts = bit[1]; + + // Inline text and attr handlers for speed + if (ctlFn === 'text') { + pushCode('val = ' + evalExprStub(ctlOpts) + ';\n' + // convert val to string + + 'val = val || val === 0 ? "" + val : "";\n' + + 'if(/[<&]/.test(val)) { val = val.replace(/[<&]/g,this._xmlEncoder); }\n'); + cbExpr.push('val'); + } else if ( ctlFn === 'attr' ) { + var names = Object.keys(ctlOpts); + for(var j = 0; j < names.length; j++) { + var name = names[j]; + if (typeof ctlOpts[name] === 'string') { + code.push('val = ' + evalExprStub(ctlOpts[name]) + ';'); + } else { + // Must be an object + var attValObj = ctlOpts[name]; + code.push('val=' + JSON.stringify(attValObj.v || '')); + if (attValObj.app && Array.isArray(attValObj.app)) { + attValObj.app.forEach(function(appItem) { + if (appItem['if']) { + code.push('if(' + evalExprStub(appItem['if']) + '){'); + code.push('val += ' + JSON.stringify(appItem.v || '') + ';'); + code.push('}'); + } else if (appItem.ifnot) { + code.push('if(!' + evalExprStub(appItem.ifnot) + '){'); + code.push('val += ' + JSON.stringify(appItem.v || '')); + code.push('}'); + } + }); + } + if (attValObj.v === null) { + code.push('if(!val) { val = null; }'); + } + } + // attribute sanitization + if (name === 'href' || name === 'src') { + code.push("if (val) {" + + "val = this.attrSanitizer.sanitizeHref(val);" + + "}"); + } else if (name === 'style') { + code.push("if (val) {" + + "val = this.attrSanitizer.sanitizeStyle(val);" + + "}"); + } + pushCode("if (val || val === 0 || val === '') { " + // escape the attribute value + // TODO: hook up context-sensitive sanitization for href, + // src, style + + '\nval = val || val === 0 ? "" + val : "";' + + '\nif(/[<&"]/.test(val)) { val = val.replace(/[<&"]/g,this._xmlEncoder); }' + + "\ncb(" + JSON.stringify(' ' + name + '="') + + " + val " + + "+ '\"');}"); + } + } else { + // Generic control function call + + // Store the args in the cache to a) keep the compiled code + // small, and b) share compilations of sub-blocks between + // repeated calls + var uid = this._getUID(); + this.cache[uid] = ctlOpts; + + pushCode('try {'); + // call the method + code.push('this[' + JSON.stringify('ctlFn_' + ctlFn) + // store in cache / unique key rather than here + + '](this.cache["' + uid + '"], c);'); + code.push('} catch(e) {'); + code.push("console.error('Unsupported control function:', " + + JSON.stringify(ctlFn) + ", e.stack);"); + code.push('}'); + } + } else { + console.error('Unsupported type:', bit); + } + } + // Force out the cb + pushCode(""); + return code.join('\n'); +}; + +/** + * Interpreted template expansion entry point + * + * @param {array} template The tassembly template in JSON IR + * @param {object} c the model or context + * @param {function} cb (optional) chunk callback for bits of text (instead of + * return) + * @return {string} Rendered template string + */ +TAssembly.prototype.render = function(template, model, options) { + if (!options) { options = {}; } + + // Create the root context + var ctx = { + rm: model, + m: model, + pms: [model], + rc: null, + g: options.globals, + cb: options.cb, + options: options + }; + ctx.rc = ctx; + + var res = ''; + if (!options.cb) { + ctx.cb = function(bit) { + res += bit; + }; + } + + this._render(template, ctx); + + if (!options.cb) { + return res; + } +}; + +TAssembly.prototype._render = function (template, ctx) { + // Just call a cached compiled version if available + if (template.__cachedFn) { + return template.__cachedFn(ctx); + } + + var self = this, + l = template.length, + cb = ctx.cb; + for(var i = 0; i < l; i++) { + var bit = template[i], + c = bit.constructor, + val; + if (c === String) { + cb(bit); + } else if (c === Array) { + // control structure + var ctlFn = bit[0], + ctlOpts = bit[1]; + if (ctlFn === 'text') { + val = this._evalExpr(ctlOpts, ctx); + if (!val && val !== 0) { + val = ''; + } + cb( ('' + val) // convert to string + .replace(/[<&]/g, this._xmlEncoder)); // and escape + } else { + + try { + self['ctlFn_' + ctlFn](ctlOpts, ctx); + } catch(e) { + console.error('Unsupported control function:', bit, e); + } + } + } else { + console.error('Unsupported type:', bit); + } + } +}; + + +/** + * Compile a template to a function + * + * @param {array} template The tassembly template in JSON IR + * @param {function} cb (optional) chunk callback for bits of text (instead of + * return) + * @return {function} template function(model) + */ +TAssembly.prototype.compile = function(template, options) { + var self = this, opts = options || {}; + if (template.__cachedFn) { + return template.__cachedFn; + } + + var code = ''; + if (!opts.cb) { + // top-level template: set up accumulator + code += 'var res = "", cb = function(bit) { res += bit; };\n'; + // and the top context + code += 'var m = c;\n'; + code += 'c = { rc: null, rm: m, m: m, pms: [m], ' + + 'g: options.globals, options: options, cb: cb }; c.rc = c;\n'; + } else { + code += 'var m = c.m, cb = c.cb;\n'; + } + + code += this._assemble(template, opts); + + if (!opts.cb) { + code += 'return res;'; + } + + //console.error(code); + + var fn = new Function('c', 'options', code), + boundFn = function(ctx, dynamicOpts) { + return fn.call(self, ctx, dynamicOpts || opts); + }; + template.__cachedFn = boundFn; + + return boundFn; +}; + +// TODO: cut down interface further as it's all static now +module.exports = new TAssembly(); diff --git a/knockoff-node-precompiled/node_modules/knockoff/node_modules/tassembly/test1.js b/knockoff-node-precompiled/node_modules/knockoff/node_modules/tassembly/test1.js new file mode 100644 index 0000000..280c0f0 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/node_modules/tassembly/test1.js @@ -0,0 +1,15 @@ +var ta = require('./tassembly.js'); + +var startTime = new Date(), + vars = {}, + template = ta.compile(['',['text','m.body'],'']); + vars.echo = function(e) { + return e; + }; +for ( n=0; n <= 100000; ++n ) { + vars.id = "divid"; + vars.body = 'my div\'s body'; + html = template(vars); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +console.log(html); diff --git a/knockoff-node-precompiled/node_modules/knockoff/package.json b/knockoff-node-precompiled/node_modules/knockoff/package.json new file mode 100644 index 0000000..6455711 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/package.json @@ -0,0 +1,21 @@ +{ + "name": "knockoff", + "version": "0.1.3", + "main": "knockoff.js", + "dependencies": { + "tassembly": "git+https://github.com/gwicke/tassembly.git#master", + "domino": "1.x.x" + }, + "devDependencies": { + "pegjs": "~0.8.0" + }, + "scripts": { + "prepublish": "node makeKnockoutExpressionParser.js", + "test": "node test" + }, + "readme": "KnockOff\n========\n\n[KnockoutJS](http://knockoutjs.com/) to [TAssembly](https://github.com/gwicke/tassembly) compiler.\n\n- Compiles a basic subset of KnockoutJS functionality to TAssembly, a\n simple JSON-based intermediate template representation.\n- Builds a HTML5 DOM internally, ensures proper nesting.\n- TAssembly performs context-sensitive escaping of all user-provided data.\n- The overall solution is the fastest JS templating library [in our\n micro-benchmarks](https://github.com/gwicke/TemplatePerf/blob/master/results.txt),\n but yet provides the security benefits of much more expensive DOM templating\n libraries.\n\n\n## Usage\n\nSimple example:\n```javascript\nvar ko = require('knockoff');\n\nvar template = ko.compile('
    '),\n model = {\n\tid: \"myId\",\n\tbody: \"some text\"\n };\n\nconsole.log( template( model ) );\n```\n\nCompile to [TAssembly](https://github.com/gwicke/tassembly) for later execution:\n```javascript\nvar ko = require('knockoff');\n\nvar tassemblyTemplate = ko.compile(\n\t'
    ',\n\t{ toTAssembly: true }\n );\n// [\"\",[\"text\",\"m.body\"],\"\"]\nconsole.log( JSON.stringify( tassemblyTemplate) );\n```\n\nCompile all the way to a function, and pass in [TAssembly compilation\noptions](https://github.com/gwicke/tassembly/blob/master/README.md#usage):\n```javascript\nvar ko = require('knockoff');\n\nvar options = {\n // Define globals accessible as $.* in any scope\n globals: {\n echo: function(x) {\n return x;\n }\n },\n // Define partial templates.\n // This one uses the global echo function defined above.\n partials: {\n userTpl: ''\n }\n};\n\n// Our simple template using KnockOut syntax, and referencing the partial\nvar templateString = '
    ';\n\n// Now compile the template & options into a function.\n// Uses TAssembly internally, use toTAssembly option for TAssembly output.\nvar templateFn = ko.compile(templateString, options);\n\n// A simple model object\nvar model = {\n user: { name: \"Foo\" }\n};\n\n// Now execute the template with the model.\n// Prints:
    Foo
    \nconsole.log( templateFn( model ) );\n```\n\nPartials are expected to be in KnockOff syntax, and will be compiled to\nTAssembly automatically.\n\n\nKnockOff spec\n=============\n\nKnockOff supports a subset of [KnockOut](http://knockoutjs.com/documentation/introduction.html) functionality. The biggest differences are:\n\n- No reactivity. KnockOff aims for speed and one-shot operation.\n\n- Limited expression syntax. KnockOut supports arbitrary JS, while we restrict\n ourselves to literals (including objects), model access and function calls.\n The usual KnockOut model accessors are supported. In addition, a global\n ```$``` object is defined, which can be populated with the ```globals```\n compile time option.\n\n\n### text\nEmit text content. HTML-sensitive chars are escaped. Options is a single\nexpression:\n```html\n
    \n```\nSee also [the KnockOut docs for ```text```](http://knockoutjs.com/documentation/text-binding.html).\n\n### foreach\nIterate over an array. The view model '$data' in each iteration is each member of the\narray.\n```html\n
      \n
    • \n
    \n```\n\nIf each array element is an object, its members will be directly accessible\nin the loop's view model:\n\n```html\n
      \n
    • \n
    \n```\nYou can pass in the name of a partial instead of the inline template.\n\n```$index```, ```$parent``` and other context properties work just like [in\nKnockOut](http://knockoutjs.com/documentation/foreach-binding.html).\n\nSee also [the KnockOut docs for ```foreach```](http://knockoutjs.com/documentation/foreach-binding.html).\n\n### template\nCalls a template (inline or name of a partial) with a given model.\n```html\n
    \n```\nSee also [the KnockOut docs for ```template```](http://knockoutjs.com/documentation/template-binding.html).\n\n### with\nThe with binding creates a new binding context, so that descendant elements\nare bound in the context of a specified object. It evaluates a nested block\n```iff``` the model object is truish.\n```html\n
    \n \n \n
    \n```\nSee also [the KnockOut docs for ```with```](http://knockoutjs.com/documentation/with-binding.html).\n\n### if\nEvaluates a block or template if an expression is true.\n```html\n
    Here is a message. Astonishing.
    \n```\nSee also [the KnockOut docs for ```if```](http://knockoutjs.com/documentation/if-binding.html).\n\n### ifnot\nEvaluates a block or template if an expression is false.\n```html\n
    No message to display.
    \n```\nSee also [the KnockOut docs for ```ifnot```](http://knockoutjs.com/documentation/ifnot-binding.html).\n\n### attr\nEmit one or more HTML attributes. Automatic context-sensitive escaping is\napplied to href, src and style attributes. \n\n```html\n\n Report\n\n```\nSee also [the KnockOut docs for ```attr```](http://knockoutjs.com/documentation/attr-binding.html).\n\n### visible\nHides a block using CSS if the condition is falsy.\n\n```html\n
    \n You will see this message only when \"shouldShowMessage\" holds a true value.\n
    \n```\n\nCurrently this uses ```display: none !important;``` inline, but we could also\nadd a class instead. Let us know which you prefer.\n\nSee also [the KnockOut docs for ```visible```](http://knockoutjs.com/documentation/visible-binding.html).\n\n### Virtual elements / container-less syntax\nYou can use Knockout's comment syntax to apply *control flow bindings* (`if`,\n`ifnot`, `foreach`, `with`) to arbitrary content outside of elements:\n\n```html\n
      \n
    • This item always appears
    • \n \n
    • I want to make this item present/absent dynamically
    • \n \n
    \n```\nSee also [the KnockOut docs for\n```if```](http://knockoutjs.com/documentation/if-binding.html) and other\ncontrol flow bindings.\n\nModel access and expressions\n----------------------------\nKnockOff supports a restricted set of simple JS expressions. These are a\nsubset of KnockOut's arbitrary JS. A KnockOff expression will normally also be\na valid KnockOut expression.\n\n* Literals: \n * Number ```2``` or ```3.4```\n * Quoted string ```'Some string literal'```\n * Object ```{foo: 'bar', baz: someVar}```\n* Variable access with dot notation: ```foo.bar```\n* Array references: ```users[user]```\n* Function calls: ```$.i18n('username', {foo: bar} )```; nesting and multiple\n parameters supported\n\nExpressions have access to a handful of variables defined in the current\ncontext:\n* ```$data``` - current view model\n* ```$root``` - root (topmost) view model\n* ```$parent``` - parent view model\n* ```$parents``` - array of parent view models\n* ```$parentContext``` - parent context object\n* ```$index``` - current iteration index in foreach\n* ```$``` - globals defined at compile time; typically used for helper functions\n which should not be part of the model (i18n etc). This is an extension over\n KnockOut, which can be replicated there using [expression\n rewriting](http://knockoutjs.com/documentation/binding-preprocessing.html).\n", + "readmeFilename": "README.md", + "description": "KnockOff ========", + "_id": "knockoff@0.1.3", + "_from": "knockoff@x.x.x" +} diff --git a/knockoff-node-precompiled/node_modules/knockoff/test.js b/knockoff-node-precompiled/node_modules/knockoff/test.js new file mode 100644 index 0000000..5dce15d --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/test.js @@ -0,0 +1,33 @@ +"use strict"; + +// Simple test runner using tests.json data + +var tests = require('./tests.json'), + model = tests.model, + ko = require('./knockoff.js'), + ta = require('./node_modules/tassembly/tassembly.js'), + assert = require('assert'), + options = { + globals: { + echo: function(i) { + return i; + }, + echoJSON: function() { + return JSON.stringify(Array.prototype.slice.apply(arguments)); + } + }, + partials: tests.partials.knockout + }; + +tests.tests.forEach(function(test) { + // Test compilation to TAssembly + var tpl = ko.compile(test.knockout, { toTAssembly: true, partials: options.partials }); + assert.equal(JSON.stringify(test.tassembly), JSON.stringify(tpl)); + + // Test evaluation using TAssembly, implicitly testing the TAssembly + // runtime + var res = ta.compile(tpl, options)(model); + assert.equal(JSON.stringify(test.result), JSON.stringify(res)); +}); + +console.log('\nPASSED', tests.tests.length * 2, 'test cases.'); diff --git a/knockoff-node-precompiled/node_modules/knockoff/test1.js b/knockoff-node-precompiled/node_modules/knockoff/test1.js new file mode 100644 index 0000000..bee0f20 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/test1.js @@ -0,0 +1,12 @@ +var ko = require('./knockoff'); + +var startTime = new Date(), + vars = {}, + template = ko.compile('
    '); +for ( n=0; n <= 100000; ++n ) { + vars.id = "divid"; + vars.body = 'my div\'s body'; + html = template(vars); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +console.log(html); diff --git a/knockoff-node-precompiled/node_modules/knockoff/test2-loop-lambda.js b/knockoff-node-precompiled/node_modules/knockoff/test2-loop-lambda.js new file mode 100644 index 0000000..3540d52 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/test2-loop-lambda.js @@ -0,0 +1,35 @@ +var ko = new (require('./knockoff').KnockOff)(); + +function mt_rand () { + //[0..1] * PHP mt_getrandmax() + return Math.floor(Math.random() * 2147483647); +} + +function array_rand (arr) { + var i = Math.floor( Math.random() * arr.length ); + return arr[i]; +} + +var vars = {}, + items = {}; + +for ( var n=0; n <= 1000; ++n ) { + items['a' + mt_rand()] = new Date().getTime(); +} + +var startTime = new Date(); +vars.items = Object.keys(items); +vars.getvalues = function(i) { + return items[i]; +}; + +var template = ko.compile('
    '); +for ( n=0; n <= 1000; ++n ) { + var key = array_rand(vars.items); + items[key] = 'b' + mt_rand(); + vars.id = "divid"; + vars.body = 'my div\'s body'; + html = template(vars); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +//console.log(html); diff --git a/knockoff-node-precompiled/node_modules/knockoff/test2.js b/knockoff-node-precompiled/node_modules/knockoff/test2.js new file mode 100644 index 0000000..d88180a --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/test2.js @@ -0,0 +1,31 @@ +var ko = require('./knockoff'); + +var options = { + // Define globals accessible as $.* in any scope + globals: { + echo: function(x) { + return x; + } + }, + // Define partial templates + partials: { + userTpl: '' + } +}; + +// Our simple template using KnockOut syntax, and referencing the partial +var templateString = '
    '; + +// Now compile the template & options into a function. +// Uses TAssembly internally, use toTAssembly option for TAssembly output. +var templateFn = ko.compile(templateString, options); + +// A simple model object +var model = { + user: { name: "Foo" } +}; + +// Now execute the template with the model. +console.log( templateFn( model ) ); + + diff --git a/knockoff-node-precompiled/node_modules/knockoff/testCaseGenerator.js b/knockoff-node-precompiled/node_modules/knockoff/testCaseGenerator.js new file mode 100644 index 0000000..1cdb188 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/testCaseGenerator.js @@ -0,0 +1,172 @@ +"use strict"; +var ko = require('./knockoff.js'), + c = require('./KnockoutCompiler'); + + +var model = { + arr: [1,2,3,4,5,6,7], + items: [ + { + key: 'key1', + value: 'value1' + }, + { + key: 'key2', + value: 'value2' + } + ], + obj: { + foo: "foo", + bar: "bar" + }, + name: 'Some name', + content: 'Some sample content', + id: 'mw1234', + predTrue: true, + predFalse: false, + nullItem: null, + someItems: [ + { childProp: 'first child' }, + { childProp: 'second child' } + ] + }, + options = { + globals: { + echo: function(i) { + return i; + }, + echoJSON: function() { + return JSON.stringify(Array.prototype.slice.apply(arguments)); + } + }, + partials: { + 'testPartial': '' + } + }; + +var tests = { + partials: { + knockout: { + testPartial: '' + }, + tassembly: { + testPartial: c.compile('') + } + }, + model: model, + tests: [] +}; + +function test(input) { + var tpl = ko.compile(input, options), + testObj = { + knockout: input, + tassembly: c.compile(input), + result: tpl(model) + }; + //console.log('========================='); + //console.log('Knockout template:'); + //console.log(input); + //console.log('TAssembly JSON:'); + //console.log(JSON.stringify(testObj.tassembly, null, 2)); + //console.log('Rendered HTML:'); + //console.log(testObj.result); + tests.tests.push(testObj); +} + +// foreach +test('
    ' + + '
    '); +test("
    "); + +// if / ifnot +test('
    Hello world
    '); +test('
    Hello world
    '); +test('
    Hello world
    '); +test('
    Hello world
    '); + +test('
    Hello world
    '); +test('
    Hello world
    '); +test('
    Hello world
    '); +test('
    Hello world
    '); + +// Expression literals +// constant string +test('
    Hello world
    '); +test('
    Hello world
    '); +test('
    Hello world
    '); +test('
    Hello world
    '); + +test('
    Some number
    '); + +// constant number + +test('
    Hello world
    '); + + +test('hello worldfoo
    ipsum
    '); + +test('hello worldfoo
    hopefully foohopefully bar
    '); + +test('hello world
    '); + +test('
    '); + +test('
    '); + +test('
    '); + +test('
    '); +// complex attr +test('
    '); + +test('
    '); + +test('
    '); +test('
    '); +test('
    '); +test('
    '); +test('
    '); +test('
    '); +test('
    '); + +/** + * KnockoutJS tests + */ + +// attrBehavior.js +test("
    "); +// null value +test(""); +test(""); +test("
    "); + +// foreachBehaviors.js +test("
    "); +test("
    "); +//test("
    "); +test("
    "); +test("
    "); +//test("
    ab
    "); +//test("x-"); +//test("
    "); +test("
    " + + "
    " + + "(Val: , Parents: , Rootval: )" + + "
    " + + "
    "); +test("
    "); +test("
    "); + +// HTML comment syntax +test("
    • "); +test("hi "); + + +/** + * Invalid expressions + */ +// arithmetic expressions are not allowed +test('
      Hello world
      '); + +console.log(JSON.stringify(tests, null, 2)); diff --git a/knockoff-node-precompiled/node_modules/knockoff/testKnockoutExpressionParser.js b/knockoff-node-precompiled/node_modules/knockoff/testKnockoutExpressionParser.js new file mode 100644 index 0000000..082193e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/testKnockoutExpressionParser.js @@ -0,0 +1,4 @@ +var parser = require('./KnockoutExpressionParser.js'); + +console.log(parser.parse('a: {A: 2,\n b: $parentContext.$data.foo[4].bar({\n"fo\'o":\nbar[3]}) .baz }')); + diff --git a/knockoff-node-precompiled/node_modules/knockoff/tests.json b/knockoff-node-precompiled/node_modules/knockoff/tests.json new file mode 100644 index 0000000..6f60115 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/knockoff/tests.json @@ -0,0 +1,911 @@ +{ + "partials": { + "knockout": { + "testPartial": "" + }, + "tassembly": { + "testPartial": [ + "", + [ + "text", + "m.foo" + ], + "", + [ + "text", + "m.bar" + ], + "" + ] + } + }, + "model": { + "arr": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "items": [ + { + "key": "key1", + "value": "value1" + }, + { + "key": "key2", + "value": "value2" + } + ], + "obj": { + "foo": "foo", + "bar": "bar" + }, + "name": "Some name", + "content": "Some sample content", + "id": "mw1234", + "predTrue": true, + "predFalse": false, + "nullItem": null, + "someItems": [ + { + "childProp": "first child" + }, + { + "childProp": "second child" + } + ] + }, + "tests": [ + { + "knockout": "
      ", + "tassembly": [ + "", + [ + "foreach", + { + "data": "m.items", + "tpl": [ + "", + [ + "text", + "m.value" + ], + "" + ] + } + ], + "" + ], + "result": "
      value1value2
      " + }, + { + "knockout": "
      ", + "tassembly": [ + "
      ", + [ + "foreach", + { + "data": "m.myArray", + "tpl": [ + "", + [ + "text", + "m" + ], + "" + ] + } + ], + "
      " + ], + "result": "
      " + }, + { + "knockout": "
      Hello world
      ", + "tassembly": [ + "
      ", + [ + "if", + { + "data": "m.predTrue", + "tpl": [ + "Hello world" + ] + } + ], + "
      " + ], + "result": "
      Hello world
      " + }, + { + "knockout": "
      Hello world
      ", + "tassembly": [ + "
      ", + [ + "if", + { + "data": "m.predFalse", + "tpl": [ + "Hello world" + ] + } + ], + "
      " + ], + "result": "
      " + }, + { + "knockout": "
      Hello world
      ", + "tassembly": [ + "
      ", + [ + "text", + "m.name" + ], + "
      " + ], + "result": "
      Some name
      " + }, + { + "knockout": "
      Hello world
      ", + "tassembly": [ + "
      ", + [ + "text", + "m.name" + ], + "
      " + ], + "result": "
      Some name
      " + }, + { + "knockout": "
      Hello world
      ", + "tassembly": [ + "
      ", + [ + "ifnot", + { + "data": "m.predTrue", + "tpl": [ + "Hello world" + ] + } + ], + "
      " + ], + "result": "
      " + }, + { + "knockout": "
      Hello world
      ", + "tassembly": [ + "
      ", + [ + "ifnot", + { + "data": "m.predFalse", + "tpl": [ + "Hello world" + ] + } + ], + "
      " + ], + "result": "
      Hello world
      " + }, + { + "knockout": "
      Hello world
      ", + "tassembly": [ + "
      ", + [ + "text", + "m.name" + ], + "
      " + ], + "result": "
      Some name
      " + }, + { + "knockout": "
      Hello world
      ", + "tassembly": [ + "
      ", + [ + "text", + "m.name" + ], + "
      " + ], + "result": "
      Some name
      " + }, + { + "knockout": "
      Hello world
      ", + "tassembly": [ + "
      ", + [ + "text", + "'constant stri\\'ng expression'" + ], + "
      " + ], + "result": "
      constant stri'ng expression
      " + }, + { + "knockout": "
      Hello world
      ", + "tassembly": [ + "
      ", + [ + "text", + "'constant \"stri\\'ng expression'" + ], + "
      " + ], + "result": "
      constant \"stri'ng expression
      " + }, + { + "knockout": "
      Hello world
      ", + "tassembly": [ + "
      ", + [ + "text", + "'constant string'" + ], + "
      " + ], + "result": "
      constant string
      " + }, + { + "knockout": "
      Hello world
      ", + "tassembly": [ + "
      ", + [ + "text", + "'constant \"string'" + ], + "
      " + ], + "result": "
      constant \"string
      " + }, + { + "knockout": "
      Some number
      ", + "tassembly": [ + "
      ", + [ + "text", + "12345" + ], + "
      " + ], + "result": "
      12345
      " + }, + { + "knockout": "
      Hello world
      ", + "tassembly": [ + "
      ", + [ + "text", + "2" + ], + "
      " + ], + "result": "
      2
      " + }, + { + "knockout": "hello worldfoo
      ipsum
      ", + "tassembly": [ + "hello worldfoo
      ", + [ + "text", + "m.content" + ], + "
      " + ], + "result": "hello worldfoo
      Some sample content
      " + }, + { + "knockout": "hello worldfoo
      hopefully foohopefully bar
      ", + "tassembly": [ + "hello worldfoo", + [ + "with", + { + "data": "m.obj", + "tpl": [ + "", + [ + "text", + "m.foo" + ], + "", + [ + "text", + "m.bar" + ], + "" + ] + } + ], + "" + ], + "result": "hello worldfoo
      foobar
      " + }, + { + "knockout": "hello world
      ", + "tassembly": [ + "hello world
      ", + [ + "template", + { + "data": "m.obj", + "tpl": "'testPartial'" + } + ], + "
      " + ], + "result": "hello world
      foobar
      " + }, + { + "knockout": "
      ", + "tassembly": [ + "", + [ + "text", + "m.name" + ], + "" + ], + "result": "
      Some name
      " + }, + { + "knockout": "
      ", + "tassembly": [ + "", + [ + "with", + { + "data": "m.predFalse", + "tpl": [ + "", + [ + "text", + "m.name" + ], + "" + ] + } + ], + "" + ], + "result": "
      " + }, + { + "knockout": "
      ", + "tassembly": [ + "", + [ + "with", + { + "data": "m.obj", + "tpl": [ + "", + [ + "text", + "m.foo" + ], + "" + ] + } + ], + "" + ], + "result": "
      foo
      " + }, + { + "knockout": "
      ", + "tassembly": [ + "", + [ + "foreach", + { + "data": "m.items", + "tpl": [ + "", + [ + "text", + "m.value" + ], + "" + ] + } + ], + "" + ], + "result": "
      value1
      value2
      " + }, + { + "knockout": "
      ", + "tassembly": [ + "" + ], + "result": "
      " + }, + { + "knockout": "
      ", + "tassembly": [ + "
      ", + [ + "foreach", + { + "data": "m.arr", + "tpl": [ + "
      ", + [ + "text", + "rc.g.echo(m)" + ], + "
      " + ] + } + ], + "
      " + ], + "result": "
      1
      2
      3
      4
      5
      6
      7
      " + }, + { + "knockout": "
      ", + "tassembly": [ + "
      ", + [ + "text", + "rc.g.echoJSON({id:'id'})" + ], + "
      " + ], + "result": "
      [{\"id\":\"id\"}]
      " + }, + { + "knockout": "
      ", + "tassembly": [ + "
      ", + [ + "text", + "rc.g.echoJSON({id:'a',foo:'foo'})" + ], + "
      " + ], + "result": "
      [{\"id\":\"a\",\"foo\":\"foo\"}]
      " + }, + { + "knockout": "
      ", + "tassembly": [ + "
      ", + [ + "text", + "rc.g.echoJSON(1,2,3,4)" + ], + "
      " + ], + "result": "
      [1,2,3,4]
      " + }, + { + "knockout": "
      ", + "tassembly": [ + "
      ", + [ + "text", + "rc.g.echoJSON(m.items)" + ], + "
      " + ], + "result": "
      [[{\"key\":\"key1\",\"value\":\"value1\"},{\"key\":\"key2\",\"value\":\"value2\"}]]
      " + }, + { + "knockout": "
      ", + "tassembly": [ + "
      ", + [ + "text", + "rc.g.echoJSON(m.items[0])" + ], + "
      " + ], + "result": "
      [{\"key\":\"key1\",\"value\":\"value1\"}]
      " + }, + { + "knockout": "
      ", + "tassembly": [ + "
      ", + [ + "text", + "rc.g.echoJSON(m.items[0].key)" + ], + "
      " + ], + "result": "
      [\"key1\"]
      " + }, + { + "knockout": "
      ", + "tassembly": [ + "
      ", + [ + "text", + "rc.g.echoJSON(m.items[0].key,m.items[1].key)" + ], + "
      " + ], + "result": "
      [\"key1\",\"key2\"]
      " + }, + { + "knockout": "
      ", + "tassembly": [ + "" + ], + "result": "
      " + }, + { + "knockout": "", + "tassembly": [ + "" + ], + "result": "" + }, + { + "knockout": "", + "tassembly": [ + "" + ], + "result": "" + }, + { + "knockout": "
      ", + "tassembly": [ + "" + ], + "result": "
      " + }, + { + "knockout": "
      ", + "tassembly": [ + "
      ", + [ + "foreach", + { + "data": "m.nullItem", + "tpl": [ + "", + [ + "text", + "m.nullItem.nonExistentChildProp" + ], + "" + ] + } + ], + "
      " + ], + "result": "
      " + }, + { + "knockout": "
      ", + "tassembly": [ + "
      ", + [ + "foreach", + { + "data": "m.someItems", + "tpl": [ + "", + [ + "text", + "m.childProp" + ], + "" + ] + } + ], + "
      " + ], + "result": "
      first childsecond child
      " + }, + { + "knockout": "
      ", + "tassembly": [ + "
      ", + [ + "foreach", + { + "data": "m.someItems", + "tpl": [ + "", + [ + "text", + "rc.g.echoJSON(m)" + ], + "" + ] + } + ], + "
      " + ], + "result": "
      [{\"childProp\":\"first child\"}][{\"childProp\":\"second child\"}]
      " + }, + { + "knockout": "
      ", + "tassembly": [ + "
      ", + [ + "foreach", + { + "data": "m.someItems", + "tpl": [ + "", + [ + "text", + "m.childProp" + ], + "" + ] + } + ], + "
      " + ], + "result": "
      first childsecond child
      " + }, + { + "knockout": "
      (Val: , Parents: , Rootval: )
      ", + "tassembly": [ + "
      ", + [ + "foreach", + { + "data": "m.items", + "tpl": [ + "
      ", + [ + "foreach", + { + "data": "m.children", + "tpl": [ + "(Val: ", + [ + "text", + "m" + ], + ", Parents: ", + [ + "text", + "pms.length" + ], + ", Rootval: ", + [ + "text", + "rm.rootVal" + ], + ")" + ] + } + ], + "
      " + ] + } + ], + "
      " + ], + "result": "
      " + }, + { + "knockout": "
      ", + "tassembly": [ + "
      ", + [ + "foreach", + { + "data": "m.arr", + "tpl": [ + "" + ] + } + ], + "
      " + ], + "result": "
      " + }, + { + "knockout": "
      ", + "tassembly": [ + "
      ", + [ + "foreach", + { + "data": "m.arr", + "tpl": [ + "", + [ + "text", + "m" + ], + "" + ] + } + ], + "
      " + ], + "result": "
      1234567
      " + }, + { + "knockout": "
      • ", + "tassembly": [ + "
          ", + [ + "foreach", + { + "data": "m.arr", + "tpl": [ + "
        • ", + [ + "text", + "m" + ], + "
        • " + ] + } + ], + "
        " + ], + "result": "
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        " + }, + { + "knockout": "hi ", + "tassembly": [ + "hi ", + [ + "foreach", + { + "data": "m.someItems", + "tpl": [ + "", + [ + "text", + "m.childProp" + ], + "" + ] + } + ] + ], + "result": "hi first childsecond child" + }, + { + "knockout": "
        Hello world
        ", + "tassembly": [ + "
        Hello world
        " + ], + "result": "
        Hello world
        " + } + ] +} diff --git a/knockoff-node-precompiled/node_modules/tassembly/.jshintrc b/knockoff-node-precompiled/node_modules/tassembly/.jshintrc new file mode 100644 index 0000000..e1ed177 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/tassembly/.jshintrc @@ -0,0 +1,33 @@ +{ + "predef": [ + "ve", + + "setImmediate", + + "QUnit" + ], + + "bitwise": true, + "laxbreak": true, + "curly": true, + "eqeqeq": true, + "immed": true, + "latedef": true, + "newcap": true, + "noarg": true, + "noempty": true, + "nonew": true, + "regexp": false, + "undef": true, + "strict": true, + "trailing": true, + + "smarttabs": true, + "multistr": true, + + "node": true, + + "nomen": false, + "loopfunc": true + //"onevar": true +} diff --git a/knockoff-node-precompiled/node_modules/tassembly/.npmignore b/knockoff-node-precompiled/node_modules/tassembly/.npmignore new file mode 100644 index 0000000..3c3629e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/tassembly/.npmignore @@ -0,0 +1 @@ +node_modules diff --git a/knockoff-node-precompiled/node_modules/tassembly/AttributeSanitizer.js b/knockoff-node-precompiled/node_modules/tassembly/AttributeSanitizer.js new file mode 100644 index 0000000..bae2094 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/tassembly/AttributeSanitizer.js @@ -0,0 +1,210 @@ +"use strict"; + +var protocolRegex = new RegExp( '^(' + [ + "http://", + "https://", + "ftp://", + "irc://", + "ircs://", + "gopher://", + "telnet://", + "nntp://", + "worldwind://", + "mailto:", + "news:", + "svn://", + "git://", + "mms://", + "//" + ].join('|') + ')', 'i'), + CHAR_REFS_RE = /&([A-Za-z0-9\x80-\xff]+);|&\#([0-9]+);|&\#[xX]([0-9A-Fa-f]+);|(&)/; + +function AttributeSanitizer(options) { + // XXX: make protocol regexp configurable! + this.protocolRegex = protocolRegex; +} + +/** + * Decode any character references, numeric or named entities, + * in the text and return a UTF-8 string. + */ +AttributeSanitizer.prototype.decodeCharReferences = function ( text ) { + var sanitizer = this; + return text.replace(CHAR_REFS_RE, function() { + if (arguments[1]) { + return sanitizer.decodeEntity(arguments[1]); + } else if (arguments[2]) { + return sanitizer.decodeChar(parseInt(arguments[2], 10)); + } else if (arguments[3]) { + return sanitizer.decodeChar(parseInt(arguments[3], 16)); + } else { + return arguments[4]; + } + }); +}; + +var IDN_RE = new RegExp( + "[\t ]|" + // general whitespace + "\u00ad|" + // 00ad SOFT HYPHEN + "\u1806|" + // 1806 MONGOLIAN TODO SOFT HYPHEN + "\u200b|" + // 200b ZERO WIDTH SPACE + "\u2060|" + // 2060 WORD JOINER + "\ufeff|" + // feff ZERO WIDTH NO-BREAK SPACE + "\u034f|" + // 034f COMBINING GRAPHEME JOINER + "\u180b|" + // 180b MONGOLIAN FREE VARIATION SELECTOR ONE + "\u180c|" + // 180c MONGOLIAN FREE VARIATION SELECTOR TWO + "\u180d|" + // 180d MONGOLIAN FREE VARIATION SELECTOR THREE + "\u200c|" + // 200c ZERO WIDTH NON-JOINER + "\u200d|" + // 200d ZERO WIDTH JOINER + "[\ufe00-\ufe0f]", // fe00-fe0f VARIATION SELECTOR-1-16 + 'g' + ); + +function stripIDNs ( host ) { + return host.replace( IDN_RE, '' ); +} + +function codepointToUtf8 (cp) { + try { + return String.fromCharCode(cp); + } catch (e) { + // Return a tofu? + return cp.toString(); + } +} + +AttributeSanitizer.prototype.cssDecodeRE = (function() { + // Decode escape sequences and line continuation + // See the grammar in the CSS 2 spec, appendix D. + // This has to be done AFTER decoding character references. + // This means it isn't possible for this function to return + // unsanitized escape sequences. It is possible to manufacture + // input that contains character references that decode to + // escape sequences that decode to character references, but + // it's OK for the return value to contain character references + // because the caller is supposed to escape those anyway. + var space = '[\\x20\\t\\r\\n\\f]'; + var nl = '(?:\\n|\\r\\n|\\r|\\f)'; + var backslash = '\\\\'; + return new RegExp(backslash + + "(?:" + + "(" + nl + ")|" + // 1. Line continuation + "([0-9A-Fa-f]{1,6})" + space + "?|" + // 2. character number + "(.)|" + // 3. backslash cancelling special meaning + "()$" + // 4. backslash at end of string + ")"); +})(); + +AttributeSanitizer.prototype.sanitizeStyle = function (text) { + function removeMismatchedQuoteChar(str, quoteChar) { + var re1, re2; + if (quoteChar === "'") { + re1 = /'/g; + re2 = /'([^'\n\r\f]*)$/; + } else { + re1 = /"/g; + re2 = /"([^"\n\r\f]*)$/; + } + + var mismatch = ((str.match(re1) || []).length) % 2 === 1; + if (mismatch) { + str = str.replace(re2, function() { + // replace the mismatched quoteChar with a space + return " " + arguments[1]; + }); + } + + return str; + } + + // Decode character references like { + text = this.decodeCharReferences(text); + text = text.replace(this.cssDecodeRE, function() { + var c; + if (arguments[1] !== undefined ) { + // Line continuation + return ''; + } else if (arguments[2] !== undefined ) { + c = codepointToUtf8(parseInt(arguments[2], 16)); + } else if (arguments[3] !== undefined ) { + c = arguments[3]; + } else { + c = '\\'; + } + + if ( c === "\n" || c === '"' || c === "'" || c === '\\' ) { + // These characters need to be escaped in strings + // Clean up the escape sequence to avoid parsing errors by clients + return '\\' + (c.charCodeAt(0)).toString(16) + ' '; + } else { + // Decode unnecessary escape + return c; + } + }); + + // Remove any comments; IE gets token splitting wrong + // This must be done AFTER decoding character references and + // escape sequences, because those steps can introduce comments + // This step cannot introduce character references or escape + // sequences, because it replaces comments with spaces rather + // than removing them completely. + text = text.replace(/\/\*.*\*\//g, ' '); + + // Fix up unmatched double-quote and single-quote chars + // Full CSS syntax here: http://www.w3.org/TR/CSS21/syndata.html#syntax + // + // This can be converted to a function and called once for ' and " + // but we have to construct 4 different REs anyway + text = removeMismatchedQuoteChar(text, "'"); + text = removeMismatchedQuoteChar(text, '"'); + + /* --------- shorter but less efficient alternative to removeMismatchedQuoteChar ------------ + text = text.replace(/("[^"\n\r\f]*")+|('[^'\n\r\f]*')+|([^'"\n\r\f]+)|"([^"\n\r\f]*)$|'([^'\n\r\f]*)$/g, function() { + return arguments[1] || arguments[2] || arguments[3] || arguments[4]|| arguments[5]; + }); + * ----------------------------------- */ + + // Remove anything after a comment-start token, to guard against + // incorrect client implementations. + var commentPos = text.indexOf('/*'); + if (commentPos >= 0) { + text = text.substr( 0, commentPos ); + } + + // SSS FIXME: Looks like the HTML5 library normalizes attributes + // and gets rid of these attribute values -- something that needs + // investigation and fixing. + // + // So, style="/* insecure input */" comes out as style="" + if (/[\000-\010\016-\037\177]/.test(text)) { + return '/* invalid control char */'; + } + if (/expression|filter\s*:|accelerator\s*:|url\s*\(/i.test(text)) { + return '/* insecure input */'; + } + return text; +}; + +AttributeSanitizer.prototype.sanitizeHref = function ( href ) { + // protocol needs to begin with a letter (ie, .// is not a protocol) + var bits = href.match( /^((?:[a-zA-Z][^:\/]*:)?(?:\/\/)?)([^\/]+)(\/?.*)/ ), + proto, host, path; + if ( bits ) { + proto = bits[1]; + host = bits[2]; + path = bits[3]; + if ( ! proto.match(this.protocolRegex)) { + // invalid proto, disallow URL + return null; + } + } else { + proto = ''; + host = ''; + path = href; + } + host = stripIDNs( host ); + + return proto + host + path; +}; + +module.exports = {AttributeSanitizer: AttributeSanitizer}; diff --git a/knockoff-node-precompiled/node_modules/tassembly/README.md b/knockoff-node-precompiled/node_modules/tassembly/README.md new file mode 100644 index 0000000..180efc1 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/tassembly/README.md @@ -0,0 +1,199 @@ +TAssembly +========= + +JSON +[IR](https://en.wikipedia.org/wiki/Intermediate_language#Intermediate_representation) +for templating and corresponding runtime implementation + +**"Fast but safe"** + +Security guarantees of DOM-based templating (tag balancing, context-sensitive +href/src/style sanitization etc) with the performance of string-based templating. + +See + [this page for background.](https://www.mediawiki.org/wiki/Requests_for_comment/HTML_templating_library/Knockout_-_Tassembly) + +* The JSON format is compact, can easily be persisted and can be evaluated with +a tiny library. + +* Performance is on par with compiled handlebars templates, the fastest +string-based library in our tests. + +* Compilation target for [Knockoff templates + (KnockoutJS syntax)](https://github.com/gwicke/knockoff) and + [Spacebars](https://github.com/gwicke/TemplatePerf/tree/master/handlebars-htmljs-node/spacebars-qt). + +Usage +===== +```javascript +var ta = require('tassembly'); + +// compile a template +var tplFun = ta.compile(['',['text','m.body'],'']); +// call with a model +var html = tplFun({id: 'some id', body: 'The body text'}); +``` + +TAssembly also supports compilation options. +```javascript +var options = { + globals: { + echo: function(x) { + return x; + } + }, + partials: { + 'user': ['
      • '['text','m.userName','
      • '] + } +}; + +var tpl = ['
          ',['attr',{id:"rc.g.echo(m.id)"}],'>', + ['foreach',{data:'m.users',tpl:'user'}], + '
        '], + // compile the template + tplFun = ta.compile(tpl, options); + +// call with a model +var model = { + id: 'some id', + users: [ + { + userName: 'Paul' + } + ] +}; +var html = tplFun(model); +``` + +Optionally, you can also override options at render time: + +```javascript +var html = tplFun(model, options); +``` + +TAssembly spec +============== +TAssembly examples: + +```javascript +['',['text','m.body'],''] + +['', + ['foreach',{data:'m.items',tpl:['',['text','m.val'],'']}], +''] +``` +* String content is represented as plain strings +* Opcodes are represented as a two-element array of the form [opcode, options] +* Expressions can be used to access the model, parent scopes, globals and so + on. Supported are number & string literals, variable references, function + calls and array dereferences. The compiler used to generate TAssembly is + expected to validate expressions. See the section detailing the model access + options and expression format below for further detail. + +### text +Emit text content. HTML-sensitive chars are escaped. Options is a single +expression: +```javascript +['text','m.textContent'] +``` + +### foreach +Iterate over an array. The view model 'm' in each iteration is each member of the +array. +```javascript +[ + "foreach", + { + "data": "m.items", + "tpl": ["",["text","m.key"],""] + } +] +``` +You can pass in the name of a partial instead of the inline template. + +The iteration counter is available as context variable / expression 'i'. + +### template +Calls a template (inline or name of a partial) with a given model. +```javascript +['template', { + data: 'm.modelExpression', + tpl: ['',['text','m.body'],''] +}] +``` + +### with +Calls a template (inline or name of a partial) with a given model, only if +that model is truish. +```javascript +['with', { + data: 'm.modelExpression', + tpl: ['',['text','m.body'],''] +}] +``` +### if +Calls a template (inline or name of a partial) if a condition is true. +```javascript +['if', { + data: 'm.conditionExpression', + tpl: ['',['text','m.body'],''] +}] +``` +### ifnot +Calls a template (inline or name of a partial) if a condition is false. +```javascript +['if', { + data: 'm.conditionExpression', + tpl: ['',['text','m.body'],''] +}] +``` +### attr +Emit one or more HTML attributes. Automatic context-sensitive escaping is +applied to href, src and style attributes. + +Options is an object of attribute name -> value pairs: +```javascript +{ id: "m.idAttrVal", title: "m.titleAttrVal" } +``` +Attributes whose value is null are skipped. The value can also be an object: +```javascript +{ + "style": { + "v": "m.value", + "app": [ + { + "ifnot": "m.obj", + "v": "display: none !important;" + } + ] + } +} +``` +In this case, the style attribute will have the values "color:red;" or +"color:red;display:none !important" depending on the value of the variable +'obj' in the current view model. + + +Model access and expressions +---------------------------- +* Literals: + * Number "2" or "3.4" + * String "'Some string literal'" (note single quotes); single quotes escaped + with "\'" & backslashes escaped as "\\" + * Object "{foo:'bar',baz:m.someVar}" +* Variable access with dot notation: 'm.foo.bar' +* Array references: "m.users[m.user]" +* Function calls: "rc.g.i18n('username',{foo:m.bar})"; nesting and multiple + parameters supported + +Expressions have access to a handful of variables defined in the current +context: +* m - current view model (Knockout: '$data') +* rm - root (topmost) view model (Knockout: '$root') +* pm - parent view model (Knockout: '$parent') +* pms - array of parent view models (Knockout: '$parents') +* pc - parent context object (Knockout: '$parentContext') +* i - current iteration index in foreach (Knockout: '$index') +* rc - root context object +* rc.g - globals defined at compile time; typically used for helper functions + which should not be part of the model (i18n etc) diff --git a/knockoff-node-precompiled/node_modules/tassembly/browser/tassembly.js b/knockoff-node-precompiled/node_modules/tassembly/browser/tassembly.js new file mode 100644 index 0000000..163f40e --- /dev/null +++ b/knockoff-node-precompiled/node_modules/tassembly/browser/tassembly.js @@ -0,0 +1,16 @@ +!function(s){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=s();else if("function"==typeof define&&define.amd)define([],s);else{var h;"undefined"!=typeof window?h=window:"undefined"!=typeof global?h=global:"undefined"!=typeof self&&(h=self);h.tassembly=s()}}(function(){return function h(l,r,e){function k(a,b){if(!r[a]){if(!l[a]){var d="function"==typeof require&&require;if(!b&&d)return d(a,!0);if(p)return p(a,!0);throw Error("Cannot find module '"+a+"'");}d=r[a]={exports:{}}; +l[a][0].call(d.exports,function(c){var b=l[a][1][c];return k(b?b:c)},d,d.exports,h,l,r,e)}return r[a].exports}for(var p="function"==typeof require&&require,q=0;q":return">";case "&":return"&";case '"':return"""; +default:return"&#"+a.charCodeAt()+";"}};e.prototype.childContext=function(a,b){return{m:a,pc:b,pm:b.m,pms:[a].concat(b.ps),rm:b.rm,rc:b.rc,cb:b.cb}};e.prototype._assemble=function(a,b){function d(a){e.length&&(c.push("cb("+e.join("+")+");"),e=[]);c.push(a)}var c=[],e=[];c.push("var val;");for(var f=a.length,g=0;g browser/tassembly.orig.js && [ -x /usr/bin/closure-compiler ] && closure-compiler browser/tassembly.orig.js > browser/tassembly.js" + }, + "readme": "TAssembly\n=========\n\nJSON\n[IR](https://en.wikipedia.org/wiki/Intermediate_language#Intermediate_representation)\nfor templating and corresponding runtime implementation\n\n**\"Fast but safe\"**\n\nSecurity guarantees of DOM-based templating (tag balancing, context-sensitive\nhref/src/style sanitization etc) with the performance of string-based templating.\n\nSee\n [this page for background.](https://www.mediawiki.org/wiki/Requests_for_comment/HTML_templating_library/Knockout_-_Tassembly)\n\n* The JSON format is compact, can easily be persisted and can be evaluated with\na tiny library.\n\n* Performance is on par with compiled handlebars templates, the fastest\nstring-based library in our tests.\n\n* Compilation target for [Knockoff templates\n (KnockoutJS syntax)](https://github.com/gwicke/knockoff) and\n [Spacebars](https://github.com/gwicke/TemplatePerf/tree/master/handlebars-htmljs-node/spacebars-qt).\n\nUsage\n=====\n```javascript\nvar ta = require('tassembly');\n\n// compile a template\nvar tplFun = ta.compile(['',['text','m.body'],'']);\n// call with a model\nvar html = tplFun({id: 'some id', body: 'The body text'});\n```\n\nTAssembly also supports compilation options. \n```javascript\nvar options = {\n globals: {\n echo: function(x) {\n return x;\n }\n },\n partials: {\n 'user': ['
      • '['text','m.userName','
      • ']\n }\n};\n\nvar tpl = ['
          ',['attr',{id:\"rc.g.echo(m.id)\"}],'>',\n ['foreach',{data:'m.users',tpl:'user'}],\n '
        '],\n // compile the template\n tplFun = ta.compile(tpl, options);\n\n// call with a model\nvar model = {\n id: 'some id',\n users: [\n {\n userName: 'Paul'\n }\n ]\n};\nvar html = tplFun(model);\n```\n\nOptionally, you can also override options at render time:\n\n```javascript\nvar html = tplFun(model, options);\n```\n\nTAssembly spec\n==============\nTAssembly examples:\n\n```javascript\n['',['text','m.body'],'']\n\n['',\n ['foreach',{data:'m.items',tpl:['',['text','m.val'],'']}],\n'']\n```\n* String content is represented as plain strings\n* Opcodes are represented as a two-element array of the form [opcode, options]\n* Expressions can be used to access the model, parent scopes, globals and so\n on. Supported are number & string literals, variable references, function\n calls and array dereferences. The compiler used to generate TAssembly is\n expected to validate expressions. See the section detailing the model access\n options and expression format below for further detail.\n\n### text\nEmit text content. HTML-sensitive chars are escaped. Options is a single\nexpression:\n```javascript\n['text','m.textContent']\n```\n\n### foreach\nIterate over an array. The view model 'm' in each iteration is each member of the\narray.\n```javascript\n[\n \"foreach\",\n {\n \"data\": \"m.items\",\n \"tpl\": [\"\",[\"text\",\"m.key\"],\"\"]\n }\n]\n```\nYou can pass in the name of a partial instead of the inline template.\n\nThe iteration counter is available as context variable / expression 'i'.\n\n### template\nCalls a template (inline or name of a partial) with a given model.\n```javascript\n['template', { \n data: 'm.modelExpression', \n tpl: ['',['text','m.body'],'']\n}]\n```\n\n### with\nCalls a template (inline or name of a partial) with a given model, only if\nthat model is truish.\n```javascript\n['with', { \n data: 'm.modelExpression', \n tpl: ['',['text','m.body'],'']\n}]\n```\n### if\nCalls a template (inline or name of a partial) if a condition is true.\n```javascript\n['if', { \n data: 'm.conditionExpression', \n tpl: ['',['text','m.body'],'']\n}]\n```\n### ifnot\nCalls a template (inline or name of a partial) if a condition is false.\n```javascript\n['if', { \n data: 'm.conditionExpression', \n tpl: ['',['text','m.body'],'']\n}]\n```\n### attr\nEmit one or more HTML attributes. Automatic context-sensitive escaping is\napplied to href, src and style attributes. \n\nOptions is an object of attribute name -> value pairs:\n```javascript\n{ id: \"m.idAttrVal\", title: \"m.titleAttrVal\" }\n```\nAttributes whose value is null are skipped. The value can also be an object:\n```javascript\n{\n \"style\": {\n \"v\": \"m.value\",\n \"app\": [\n {\n \"ifnot\": \"m.obj\",\n \"v\": \"display: none !important;\"\n }\n ]\n }\n}\n```\nIn this case, the style attribute will have the values \"color:red;\" or\n\"color:red;display:none !important\" depending on the value of the variable\n'obj' in the current view model.\n\n\nModel access and expressions\n----------------------------\n* Literals: \n * Number \"2\" or \"3.4\"\n * String \"'Some string literal'\" (note single quotes); single quotes escaped\n with \"\\'\" & backslashes escaped as \"\\\\\"\n * Object \"{foo:'bar',baz:m.someVar}\"\n* Variable access with dot notation: 'm.foo.bar'\n* Array references: \"m.users[m.user]\"\n* Function calls: \"rc.g.i18n('username',{foo:m.bar})\"; nesting and multiple\n parameters supported\n\nExpressions have access to a handful of variables defined in the current\ncontext:\n* m - current view model (Knockout: '$data')\n* rm - root (topmost) view model (Knockout: '$root')\n* pm - parent view model (Knockout: '$parent')\n* pms - array of parent view models (Knockout: '$parents')\n* pc - parent context object (Knockout: '$parentContext')\n* i - current iteration index in foreach (Knockout: '$index')\n* rc - root context object\n* rc.g - globals defined at compile time; typically used for helper functions\n which should not be part of the model (i18n etc)\n", + "readmeFilename": "README.md", + "description": "TAssembly =========", + "_id": "tassembly@0.1.3", + "_from": "tassembly@x.x.x" +} diff --git a/knockoff-node-precompiled/node_modules/tassembly/tassembly.js b/knockoff-node-precompiled/node_modules/tassembly/tassembly.js new file mode 100644 index 0000000..1711f9b --- /dev/null +++ b/knockoff-node-precompiled/node_modules/tassembly/tassembly.js @@ -0,0 +1,512 @@ +/* + * JSON template IR runtime + * + * Motto: Fast but safe! + * + * A string-based template representation that can be compiled from DOM-based + * templates (knockoutjs syntax for example) and can statically enforce + * balancing and contextual sanitization to prevent XSS, for example in href + * and src attributes. The JSON format is compact, can easily be persisted and + * can be evaluated with a tiny library (this file). + * + * Performance is on par with compiled handlebars templates, the fastest + * string-based library in our tests. + * + * Input examples: + * ['',['text','body'],''] + * ['', + * ['foreach',{data:'m_items',tpl:['',['text','val'],'']}], + * ''] + */ +"use strict"; + +var attrSanitizer = new (require('./AttributeSanitizer.js').AttributeSanitizer)(); + +function TAssembly () { + this.uid = 0; + // Cache for sub-structure parameters. Storing them globally keyed on uid + // makes it possible to reuse compilations. + this.cache = {}; + // Partials: tassembly objects + this.partials = {}; +} + +TAssembly.prototype.attrSanitizer = attrSanitizer; + +TAssembly.prototype._getUID = function() { + this.uid++; + return this.uid; +}; + +var simpleExpression = /^(?:[.][a-zA-Z_$]+)+$/, + complexExpression = new RegExp('^(?:[.][a-zA-Z_$]+' + + '(?:\\[(?:[0-9.]+|["\'][a-zA-Z0-9_$]+["\'])\\])?' + + '(?:\\((?:[0-9a-zA-Z_$.]+|["\'][a-zA-Z0-9_$\\.]+["\'])\\))?' + + ')+$'), + simpleBindingVar = /^(m|p(?:[cm]s?)?|r[mc]|i|c)\.([a-zA-Z_$]+)$/; + +// Rewrite an expression so that it is referencing the context where necessary +function rewriteExpression (expr) { + // Rewrite the expression to be keyed on the context 'c' + // XXX: experiment with some local var definitions and selective + // rewriting for perf + + var res = '', + i = -1, + c = ''; + do { + if (/^$|[\[:(,]/.test(c)) { + res += c; + if (/[pri]/.test(expr[i+1]) + && /(?:p(?:[cm]s?)?|r[mc]|i)(?:[\.\)\]}]|$)/.test(expr.slice(i+1))) { + // Prefix with full context object; only the local view model + // 'm' and the context 'c' is defined locally for now + res += 'c.'; + } + } else if (c === "'") { + // skip over string literal + var literal = expr.slice(i).match(/'(?:[^\\']+|\\')*'/); + if (literal) { + res += literal[0]; + i += literal[0].length - 1; + } + } else { + res += c; + } + i++; + c = expr[i]; + } while (c); + return res; +} + +TAssembly.prototype._evalExpr = function (expression, ctx) { + var func = this.cache['expr' + expression]; + if (!func) { + + var simpleMatch = expression.match(simpleBindingVar); + if (simpleMatch) { + var ctxMember = simpleMatch[1], + key = simpleMatch[2]; + return ctx[ctxMember][key]; + } + + // String literal + if (/^'.*'$/.test(expression)) { + return expression.slice(1,-1).replace(/\\'/g, "'"); + } + + func = new Function('c', 'var m = c.m;' + + 'return ' + rewriteExpression(expression)); + this.cache['expr' + expression] = func; + } + if (func) { + try { + return func(ctx); + } catch (e) { + console.error('Error while evaluating ' + expression); + console.error(e); + return ''; + } + } + + // Don't want to allow full JS expressions for PHP compat & general + // sanity. We could do the heavy sanitization work in the compiler & just + // eval simple JS-compatible expressions here (possibly using 'with', + // although that is deprecated & disabled in strict mode). For now we play + // it safe & don't eval the expression. Can relax this later. + return expression; +}; + +/* + * Optimized _evalExpr stub for the code generator + * + * Directly dereference the ctx for simple expressions (the common case), + * and fall back to the full method otherwise. + */ +function evalExprStub(expr) { + expr = '' + expr; + var newExpr; + if (simpleBindingVar.test(expr)) { + newExpr = rewriteExpression(expr); + return newExpr; + } else if (/^'/.test(expr)) { + // String literal + return JSON.stringify(expr.slice(1,-1).replace(/\\'/g, "'")); + } else if (/^[cm](?:\.[a-zA-Z_$]*)?$/.test(expr)) { + // Simple context or model reference + return expr; + } else { + newExpr = rewriteExpression(expr); + return '(function() { ' + + 'try {' + + 'return ' + newExpr + ';' + + '} catch (e) { console.error("Error in " + ' + JSON.stringify(newExpr) +'+": " + e.toString()); return "";}})()'; + } +} + +TAssembly.prototype._getTemplate = function (tpl, ctx) { + if (Array.isArray(tpl)) { + return tpl; + } else { + // String literal: strip quotes + if (/^'/.test(tpl)) { + tpl = tpl.slice(1,-1).replace(/\\'/g, "'"); + } + return ctx.rc.options.partials[tpl]; + } +}; + +TAssembly.prototype.ctlFn_foreach = function(options, ctx) { + // deal with options + var iterable = this._evalExpr(options.data, ctx); + if (!iterable || !Array.isArray(iterable)) { return; } + // worth compiling the nested template + var tpl = this.compile(this._getTemplate(options.tpl), ctx), + l = iterable.length, + newCtx = this.childContext(null, ctx); + for(var i = 0; i < l; i++) { + // Update the view model for each iteration + newCtx.m = iterable[i]; + newCtx.pms[0] = iterable[i]; + // And set the iteration index + newCtx.i = i; + tpl(newCtx); + } +}; + +TAssembly.prototype.ctlFn_template = function(options, ctx) { + // deal with options + var model = this._evalExpr(options.data, ctx), + newCtx = this.childContext(model, ctx), + tpl = this._getTemplate(options.tpl, ctx); + if (tpl) { + this._render(tpl, newCtx); + } +}; + +TAssembly.prototype.ctlFn_with = function(options, ctx) { + var model = this._evalExpr(options.data, ctx), + tpl = this._getTemplate(options.tpl, ctx); + if (model && tpl) { + var newCtx = this.childContext(model, ctx); + this._render(tpl, newCtx); + } else { + // TODO: hide the parent element similar to visible + } +}; + +TAssembly.prototype.ctlFn_if = function(options, ctx) { + if (this._evalExpr(options.data, ctx)) { + this._render(options.tpl, ctx); + } +}; + +TAssembly.prototype.ctlFn_ifnot = function(options, ctx) { + if (!this._evalExpr(options.data, ctx)) { + this._render(options.tpl, ctx); + } +}; + +TAssembly.prototype.ctlFn_attr = function(options, ctx) { + var self = this, + attVal; + Object.keys(options).forEach(function(name) { + var attValObj = options[name]; + if (typeof attValObj === 'string') { + attVal = self._evalExpr(options[name], ctx); + } else { + // Must be an object + attVal = attValObj.v || ''; + if (attValObj.app && Array.isArray(attValObj.app)) { + attValObj.app.forEach(function(appItem) { + if (appItem['if'] && self._evalExpr(appItem['if'], ctx)) { + attVal += appItem.v || ''; + } + if (appItem.ifnot && ! self._evalExpr(appItem.ifnot, ctx)) { + attVal += appItem.v || ''; + } + }); + } + if (!attVal && attValObj.v === null) { + attVal = null; + } + } + if (attVal) { + if (name === 'href' || name === 'src') { + attVal = this.attrSanitizer.sanitizeHref(attVal); + } else if (name === 'style') { + attVal = this.attrSanitizer.sanitizeStyle(attVal); + } + } + // Omit attributes if they are undefined, null or false + if (attVal || attVal === 0 || attVal === '') { + ctx.cb(' ' + name + '="' + // TODO: context-sensitive sanitization on href / src / style + // (also in compiled version at end) + + attVal.toString().replace(/"/g, '"') + + '"'); + } + }); +}; + +// Actually handled inline for performance +//TAssembly.prototype.ctlFn_text = function(options, ctx) { +// cb(this._evalExpr(options, ctx)); +//}; + +TAssembly.prototype._xmlEncoder = function(c){ + switch(c) { + case '<': return '<'; + case '>': return '>'; + case '&': return '&'; + case '"': return '"'; + default: return '&#' + c.charCodeAt() + ';'; + } +}; + +// Create a child context using plain old objects +TAssembly.prototype.childContext = function (model, parCtx) { + return { + m: model, + pc: parCtx, + pm: parCtx.m, + pms: [model].concat(parCtx.ps), + rm: parCtx.rm, + rc: parCtx.rc, // the root context + cb: parCtx.cb + }; +}; + +TAssembly.prototype._assemble = function(template, options) { + var code = [], + cbExpr = []; + + function pushCode(codeChunk) { + if(cbExpr.length) { + code.push('cb(' + cbExpr.join('+') + ');'); + cbExpr = []; + } + code.push(codeChunk); + } + + code.push('var val;'); + + var self = this, + l = template.length; + for(var i = 0; i < l; i++) { + var bit = template[i], + c = bit.constructor; + if (c === String) { + // static string + cbExpr.push(JSON.stringify(bit)); + } else if (c === Array) { + // control structure + var ctlFn = bit[0], + ctlOpts = bit[1]; + + // Inline text and attr handlers for speed + if (ctlFn === 'text') { + pushCode('val = ' + evalExprStub(ctlOpts) + ';\n' + // convert val to string + + 'val = val || val === 0 ? "" + val : "";\n' + + 'if(/[<&]/.test(val)) { val = val.replace(/[<&]/g,this._xmlEncoder); }\n'); + cbExpr.push('val'); + } else if ( ctlFn === 'attr' ) { + var names = Object.keys(ctlOpts); + for(var j = 0; j < names.length; j++) { + var name = names[j]; + if (typeof ctlOpts[name] === 'string') { + code.push('val = ' + evalExprStub(ctlOpts[name]) + ';'); + } else { + // Must be an object + var attValObj = ctlOpts[name]; + code.push('val=' + JSON.stringify(attValObj.v || '')); + if (attValObj.app && Array.isArray(attValObj.app)) { + attValObj.app.forEach(function(appItem) { + if (appItem['if']) { + code.push('if(' + evalExprStub(appItem['if']) + '){'); + code.push('val += ' + JSON.stringify(appItem.v || '') + ';'); + code.push('}'); + } else if (appItem.ifnot) { + code.push('if(!' + evalExprStub(appItem.ifnot) + '){'); + code.push('val += ' + JSON.stringify(appItem.v || '')); + code.push('}'); + } + }); + } + if (attValObj.v === null) { + code.push('if(!val) { val = null; }'); + } + } + // attribute sanitization + if (name === 'href' || name === 'src') { + code.push("if (val) {" + + "val = this.attrSanitizer.sanitizeHref(val);" + + "}"); + } else if (name === 'style') { + code.push("if (val) {" + + "val = this.attrSanitizer.sanitizeStyle(val);" + + "}"); + } + pushCode("if (val || val === 0 || val === '') { " + // escape the attribute value + // TODO: hook up context-sensitive sanitization for href, + // src, style + + '\nval = val || val === 0 ? "" + val : "";' + + '\nif(/[<&"]/.test(val)) { val = val.replace(/[<&"]/g,this._xmlEncoder); }' + + "\ncb(" + JSON.stringify(' ' + name + '="') + + " + val " + + "+ '\"');}"); + } + } else { + // Generic control function call + + // Store the args in the cache to a) keep the compiled code + // small, and b) share compilations of sub-blocks between + // repeated calls + var uid = this._getUID(); + this.cache[uid] = ctlOpts; + + pushCode('try {'); + // call the method + code.push('this[' + JSON.stringify('ctlFn_' + ctlFn) + // store in cache / unique key rather than here + + '](this.cache["' + uid + '"], c);'); + code.push('} catch(e) {'); + code.push("console.error('Unsupported control function:', " + + JSON.stringify(ctlFn) + ", e.stack);"); + code.push('}'); + } + } else { + console.error('Unsupported type:', bit); + } + } + // Force out the cb + pushCode(""); + return code.join('\n'); +}; + +/** + * Interpreted template expansion entry point + * + * @param {array} template The tassembly template in JSON IR + * @param {object} c the model or context + * @param {function} cb (optional) chunk callback for bits of text (instead of + * return) + * @return {string} Rendered template string + */ +TAssembly.prototype.render = function(template, model, options) { + if (!options) { options = {}; } + + // Create the root context + var ctx = { + rm: model, + m: model, + pms: [model], + rc: null, + g: options.globals, + cb: options.cb, + options: options + }; + ctx.rc = ctx; + + var res = ''; + if (!options.cb) { + ctx.cb = function(bit) { + res += bit; + }; + } + + this._render(template, ctx); + + if (!options.cb) { + return res; + } +}; + +TAssembly.prototype._render = function (template, ctx) { + // Just call a cached compiled version if available + if (template.__cachedFn) { + return template.__cachedFn(ctx); + } + + var self = this, + l = template.length, + cb = ctx.cb; + for(var i = 0; i < l; i++) { + var bit = template[i], + c = bit.constructor, + val; + if (c === String) { + cb(bit); + } else if (c === Array) { + // control structure + var ctlFn = bit[0], + ctlOpts = bit[1]; + if (ctlFn === 'text') { + val = this._evalExpr(ctlOpts, ctx); + if (!val && val !== 0) { + val = ''; + } + cb( ('' + val) // convert to string + .replace(/[<&]/g, this._xmlEncoder)); // and escape + } else { + + try { + self['ctlFn_' + ctlFn](ctlOpts, ctx); + } catch(e) { + console.error('Unsupported control function:', bit, e); + } + } + } else { + console.error('Unsupported type:', bit); + } + } +}; + + +/** + * Compile a template to a function + * + * @param {array} template The tassembly template in JSON IR + * @param {function} cb (optional) chunk callback for bits of text (instead of + * return) + * @return {function} template function(model) + */ +TAssembly.prototype.compile = function(template, options) { + var self = this, opts = options || {}; + if (template.__cachedFn) { + return template.__cachedFn; + } + + var code = ''; + if (!opts.cb) { + // top-level template: set up accumulator + code += 'var res = "", cb = function(bit) { res += bit; };\n'; + // and the top context + code += 'var m = c;\n'; + code += 'c = { rc: null, rm: m, m: m, pms: [m], ' + + 'g: options.globals, options: options, cb: cb }; c.rc = c;\n'; + } else { + code += 'var m = c.m, cb = c.cb;\n'; + } + + code += this._assemble(template, opts); + + if (!opts.cb) { + code += 'return res;'; + } + + //console.error(code); + + var fn = new Function('c', 'options', code), + boundFn = function(ctx, dynamicOpts) { + return fn.call(self, ctx, dynamicOpts || opts); + }; + template.__cachedFn = boundFn; + + return boundFn; +}; + +// TODO: cut down interface further as it's all static now +module.exports = new TAssembly(); diff --git a/knockoff-node-precompiled/node_modules/tassembly/test1.js b/knockoff-node-precompiled/node_modules/tassembly/test1.js new file mode 100644 index 0000000..280c0f0 --- /dev/null +++ b/knockoff-node-precompiled/node_modules/tassembly/test1.js @@ -0,0 +1,15 @@ +var ta = require('./tassembly.js'); + +var startTime = new Date(), + vars = {}, + template = ta.compile(['',['text','m.body'],'']); + vars.echo = function(e) { + return e; + }; +for ( n=0; n <= 100000; ++n ) { + vars.id = "divid"; + vars.body = 'my div\'s body'; + html = template(vars); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +console.log(html); diff --git a/knockoff-node-precompiled/package.json b/knockoff-node-precompiled/package.json new file mode 100644 index 0000000..25b2026 --- /dev/null +++ b/knockoff-node-precompiled/package.json @@ -0,0 +1,7 @@ +{ + "name": "knockoffbench", + "dependencies": { + "knockoff": "x.x.x", + "tassembly": "x.x.x" + } +} diff --git a/knockoff-node-precompiled/test1.js b/knockoff-node-precompiled/test1.js new file mode 100644 index 0000000..1733c2d --- /dev/null +++ b/knockoff-node-precompiled/test1.js @@ -0,0 +1,15 @@ +var ko = require('knockoff'); +var ta = require('tassembly'); + +var vars = {}; +var templateTAssembly = ko.compile('
        ', {toTAssembly: true}); +var startTime = new Date(); +var template = ta.compile(templateTAssembly); + +for ( n=0; n <= 100000; ++n ) { + vars.id = "divid"; + vars.body = 'my div\'s body'; + html = template(vars); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +console.log(html); diff --git a/knockoff-node-precompiled/test1b-incid.js b/knockoff-node-precompiled/test1b-incid.js new file mode 100644 index 0000000..c9e9a8c --- /dev/null +++ b/knockoff-node-precompiled/test1b-incid.js @@ -0,0 +1,17 @@ +var ko = require('knockoff'); +var ta = require('tassembly'); + +var vars = {}; +var templateTAssembly = ko.compile( + '
        ', + {toTAssembly: true}); +var startTime = new Date(); +var template = ta.compile(templateTAssembly); + +for ( n=0; n <= 100000; ++n ) { + vars.id = "divid" + n; + vars.body = 'my div\'s body'; + html = template(vars); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +console.log(html); diff --git a/knockoff-node-precompiled/test2-loop-lambda.js b/knockoff-node-precompiled/test2-loop-lambda.js new file mode 100644 index 0000000..b180382 --- /dev/null +++ b/knockoff-node-precompiled/test2-loop-lambda.js @@ -0,0 +1,38 @@ +var ko = require('knockoff'); +var ta = require('tassembly'); + +function mt_rand () { + //[0..1] * PHP mt_getrandmax() + return Math.floor(Math.random() * 2147483647); +} + +function array_rand (arr) { + var i = Math.floor( Math.random() * arr.length ); + return arr[i]; +} + +var vars = {}, + items = {}; + +for ( var n=0; n <= 1000; ++n ) { + items['a' + mt_rand()] = new Date().getTime(); +} + +vars.items = Object.keys(items); +vars.getvalues = function(i) { + return items[i]; +}; + +var templateTAssembly = ko.compile('
        ', + {toTAssembly: true}); +var startTime = new Date(); +var template = ta.compile(templateTAssembly); +for ( n=0; n <= 1000; ++n ) { + var key = array_rand(vars.items); + items[key] = 'b' + mt_rand(); + vars.id = "divid"; + vars.body = 'my div\'s body'; + html = template(vars); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +//console.log(html); diff --git a/knockoff-node-precompiled/test2-loop.js b/knockoff-node-precompiled/test2-loop.js new file mode 100644 index 0000000..1fb842d --- /dev/null +++ b/knockoff-node-precompiled/test2-loop.js @@ -0,0 +1,41 @@ +var ko = require('knockoff'); +var ta = require('tassembly'); + +function mt_rand () { + //[0..1] * PHP mt_getrandmax() + return Math.floor(Math.random() * 2147483647); +} + +function array_rand (arr) { + var i = Math.floor( Math.random() * arr.length ); + return arr[i]; +} + +var vars = {}, + items = {}; + +for ( var n=0; n <= 1000; ++n ) { + items['a' + mt_rand()] = new Date().getTime(); +} + +var templateTAssembly = ko.compile('
        ', + {toTAssembly: true}); +var startTime = new Date(); +var template = ta.compile(templateTAssembly); + +for ( n=0; n <= 1000; ++n ) { + var key = array_rand(Object.keys(items)); + items[key] = 'b' + mt_rand(); + vars.id = "divid"; + vars.body = 'my div\'s body'; + var m_items = []; + for(key in items) { + var val = items[key]; + m_items.push({ key: key, val: val }); + } + vars.m_items = m_items; + html = template(vars); + //console.log(html.length); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +//console.log(html); diff --git a/knockoff-node-precompiled/test3-itterator.js b/knockoff-node-precompiled/test3-itterator.js new file mode 100644 index 0000000..513478d --- /dev/null +++ b/knockoff-node-precompiled/test3-itterator.js @@ -0,0 +1,32 @@ +var ko = require('knockoff'); +var ta = require('tassembly'); + +function mt_rand () { + //[0..1] * PHP mt_getrandmax() + return Math.floor(Math.random() * 2147483647); +} + +function array_rand (arr) { + var i = Math.floor( Math.random() * arr.length ); + return arr[i]; +} + +var vars = {}, + items = []; + +for ( var n=0; n <= 1000; ++n ) { + items[n] = "value:" + mt_rand(); +} + +var templateTAssembly = ko.compile('

        ', + {toTAssembly: true}); +var startTime = new Date(); +var template = ta.compile(templateTAssembly); +for ( n=0; n <= 1000; ++n ) { + var key = Math.floor( Math.random() * items.length ); + items[key] = 'b:' + mt_rand(); + vars.items = items; + html = template(vars); +} +console.log("time: " + ((new Date() - startTime) / 1000)); +//console.log(html); diff --git a/runall.sh b/runall.sh index 46e95ac..47200c8 100755 --- a/runall.sh +++ b/runall.sh @@ -66,6 +66,15 @@ done cd .. } +runTestNode \ + "TAssembly" \ + knockoff-node-precompiled \ + "test1" "test1.js" \ + "test1b" "test1b-incid.js" \ + "test2" "test2-loop.js" \ + "test2 lambda" "test2-loop-lambda.js" \ + "test3" "test3-itterator.js" + runTestNode \ "Knockoff" \ knockoff-node \ From a5e643712e6d3e1cf41277ca35f6463e8807d03d Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Wed, 9 Jul 2014 14:18:46 -0700 Subject: [PATCH 71/72] Add results to README --- README.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/README.md b/README.md index cc03fdb..00fbeb8 100644 --- a/README.md +++ b/README.md @@ -33,3 +33,31 @@ Test: test3 [050] Avg: 0.2920 Min: 0.1870 Max: 0.3680 Each test is repeated 50 times for stable results, so this will take quite a while to finish for all libraries, runtimes & tests. + +## Current results +Also see [the on-wiki version](https://www.mediawiki.org/wiki/Requests_for_comment/HTML_templating_library#Performance). + +Library / runtime | Test 1 (attr/text interpolation) | Test1b (same with random attr) | Test2 (iterate obj array) | Test2 (iterate obj array, lambda) | Test3 (iterate item array) +|TAssembly (node.js) | 0.0420 | 0.0630 | 0.6190 | 0.5010 | 0.1860 +|Knockoff (node.js) | 0.0530 | 0.0750 | 0.6370 | 0.4690 | 0.1970 +|Handlebars (node.js) | 0.1300 | 0.1750 | 0.6060 | 1.1450 | 0.1870 +|Hogan (node.js) | 0.1110 | 0.1370 | 0.6690 | 4.8780 | 0.6770 +|Spacebars/TAssembly (node.js) | 0.0650 | n/a | 0.6430 | n/a | n/a +|Mustache (node.js) | 0.3570 | 0.3900 | 2.5200 | 3.8260 | 0.8830 +|TAssembly (PHP) | 1.7434 | 1.7654 | 18.6634 | 81.8341 | 12.3270 +|TAssembly (HHVM) | 0.5199 | 0.5317 | 3.3146 | 16.7471 | 2.1257 +|Handlebars lightncandy (PHP) | 0.5395 | 0.6025 | 7.0456 | 133.2025 | 3.9837 +|Handlebars lightncandy (HHVM) | 0.1919 | 0.1991 | 0.8164 | 1.3319 | 0.5254 +|Mustache (PHP) | 1.7991 | 1.8606 | 11.3725 | 24.0264 | 3.6850 +|Mustache (HHVM) | 0.4783 | 0.5016 | 1.2869 | 3.9279 | 0.6229 +|MediaWiki Templates (PHP) | 1.6926 | 1.7354 | 17.0633 | n/a | 7.4075 +|MediaWiki Templates (HHVM) | 0.5305 | 0.5147 | 4.0606 | n/a | 1.9745 +|Twig String (No Cache) (PHP) | 1.3954 | 1.4701 | 6.0498 | n/a | 3.6746 +|Twig String (No Cache) (HHVM) | 0.5631 | 0.5137 | 0.9394 | n/a | 0.6560 +|Twig File (No Cache) (PHP) | 1.7074 | 1.7649 | 6.0364 | n/a | 3.6477 +|Twig File (No Cache) (HHVM) | 0.6085 | 0.6324 | 0.9831 | n/a | 0.8150 +|Twig File (Cached) (PHP) | 1.7352 | 1.7783 | 6.0423 | n/a | 3.6068 +|Twig File (Cached) (HHVM) | 0.4170 | 0.4460 | 0.7116 | n/a | 0.4475 +|Handlebars HTMLJS (node.js) | 0.5610 | 0.6540 | 7.1110 | n/a | 2.9330 +|Spacebars/HTMLJS (node.js) | 1.1450 | 1.3080 | 59.0910 | 143.3680 | 42.2020 + From 01d6215c9c1a800f9fd06162c02aac70d9c3263f Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Wed, 9 Jul 2014 14:20:12 -0700 Subject: [PATCH 72/72] Fix formatting --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 00fbeb8..3b16f68 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,7 @@ while to finish for all libraries, runtimes & tests. Also see [the on-wiki version](https://www.mediawiki.org/wiki/Requests_for_comment/HTML_templating_library#Performance). Library / runtime | Test 1 (attr/text interpolation) | Test1b (same with random attr) | Test2 (iterate obj array) | Test2 (iterate obj array, lambda) | Test3 (iterate item array) +|-----|:------|:--------|:-------|:--------|:----------| |TAssembly (node.js) | 0.0420 | 0.0630 | 0.6190 | 0.5010 | 0.1860 |Knockoff (node.js) | 0.0530 | 0.0750 | 0.6370 | 0.4690 | 0.1970 |Handlebars (node.js) | 0.1300 | 0.1750 | 0.6060 | 1.1450 | 0.1870